Why are some packages installed inside Application, others inside Framework or Library?

Answer

The package install location is determined by the type inside composer.json of the respective package. Currently, the following types are used:

  • typo3-flow-framework - reserved for Flow Framework; installs inside Packages/Framework
  • typo3-flow-site - a Neos site. Installs inside Packages/Sites
  • typo3-flow-package - a Flow package which is not the Flow Framework itself. Neos itself is in this category, as well as many packages you write yourself.
  • typo3-flow-plugin - a plugin inside Neos. No technical distinction from typo3-flow-package.
  • [others] - installed into Libraries - all composer packages which do not depend on the Flow Framework, f.e. make no use of the Dependency Injection.

Almost all of your packages will be of type typo3-flow-package and thus live in Packages/Application.

This has consequences for the project setup; see best practice project structure for further information.

1 Like

Hm. According to the “rules” here question that should go to Stack Overflow. :wink:

You have a point. maybe we neded to change the rules then :wink:

According to the rules this is a subject for meta discussion :stuck_out_tongue:

On topic: typo3-flow-plugin is missing.

Thanks Dmitri, I fixed this :slight_smile: