Same filename in this branch
  1. 10 modules/README.txt
  2. 10 profiles/README.txt
  3. 10 sites/README.txt
  4. 10 themes/README.txt
  5. 10 composer/Metapackage/README.txt
  6. 10 composer/Template/README.txt
  7. 10 core/lib/README.txt
  8. 10 composer/Plugin/VendorHardening/README.txt
  9. 10 core/assets/scaffold/README.txt
  10. 10 core/themes/stable9/README.txt
  11. 10 core/themes/stark/README.txt
  12. 10 core/lib/Drupal/Component/README.txt
  13. 10 core/lib/Drupal/Core/README.txt
  14. 10 core/lib/Drupal/Component/Annotation/README.txt
  15. 10 core/lib/Drupal/Component/Assertion/README.txt
  16. 10 core/lib/Drupal/Component/ClassFinder/README.txt
  17. 10 core/lib/Drupal/Component/Datetime/README.txt
  18. 10 core/lib/Drupal/Component/DependencyInjection/README.txt
  19. 10 core/lib/Drupal/Component/Diff/README.txt
  20. 10 core/lib/Drupal/Component/Discovery/README.txt
  21. 10 core/lib/Drupal/Component/EventDispatcher/README.txt
  22. 10 core/lib/Drupal/Component/FileCache/README.txt
  23. 10 core/lib/Drupal/Component/FileSecurity/README.txt
  24. 10 core/lib/Drupal/Component/FileSystem/README.txt
  25. 10 core/lib/Drupal/Component/FrontMatter/README.txt
  26. 10 core/lib/Drupal/Component/Gettext/README.txt
  27. 10 core/lib/Drupal/Component/Graph/README.txt
  28. 10 core/lib/Drupal/Component/HttpFoundation/README.txt
  29. 10 core/lib/Drupal/Component/PhpStorage/README.txt
  30. 10 core/lib/Drupal/Component/Plugin/README.txt
  31. 10 core/lib/Drupal/Component/ProxyBuilder/README.txt
  32. 10 core/lib/Drupal/Component/Render/README.txt
  33. 10 core/lib/Drupal/Component/Serialization/README.txt
  34. 10 core/lib/Drupal/Component/Transliteration/README.txt
  35. 10 core/lib/Drupal/Component/Utility/README.txt
  36. 10 core/lib/Drupal/Component/Uuid/README.txt
  37. 10 core/lib/Drupal/Component/Version/README.txt
  38. 10 core/profiles/demo_umami/themes/umami/README.txt
  39. 10 core/themes/claro/css/classy/README.txt
  40. 10 core/themes/claro/images/classy/README.txt
  41. 10 core/themes/claro/js/classy/README.txt
  42. 10 core/themes/claro/templates/classy/README.txt
  43. 10 core/modules/system/tests/src/Functional/Update/README.txt
  44. 10 core/modules/system/tests/src/Functional/UpdateSystem/README.txt
  45. 10 core/profiles/demo_umami/themes/umami/css/classy/README.txt
  46. 10 core/profiles/demo_umami/themes/umami/images/classy/README.txt
  47. 10 core/profiles/demo_umami/themes/umami/js/classy/README.txt
  48. 10 core/profiles/demo_umami/themes/umami/templates/classy/README.txt
  49. 10 core/modules/system/tests/modules/plugin_test/src/Plugin/plugin_test/fruit/README.txt
  50. 10 core/modules/sdc/README.txt
Same filename and directory in other branches
  1. 8.9.x composer/Metapackage/README.txt
  2. 9 composer/Metapackage/README.txt
# Drupal Metapackages

A metapackage is a Composer package that contains only a composer.json, and
has no other content. In other words, the purpose of a metapackage is to
provide dependencies, not to provide code or data.


## Metapackages Provided by Drupal Core

Drupal Core provides three metapackages that serve different purposes.

 - drupal/core-recommended: This project pins to the exact version of each
   dependency used in drupal/core. It also requires drupal/core, so
   drupal/core-recommended should be used INSTEAD OF drupal/core. See usage
   diagram below. This relationship makes it easier for Composer to update
   a Drupal project.

 - drupal/core-dev: This project provides the same version constraints as Drupal
   uses for testing. It is useful for projects that either wish to run some of
   the Drupal tests directly, or for projects that may wish to use the same
   components that Drupal does for testing.

 - drupal/core-dev-pinned: This project should be used INSTEAD OF
   drupal/core-dev in instances where a project wishes to pin to the exact
   version of each testing dependency used in Drupal. This in general should not
   be necessary.

Note that a project that uses both drupal/core-recommended and
drupal/core-dev-pinned must update them both at the same time, e.g.:

  composer update drupal/core-recommended drupal/core-dev-pinned --with-dependencies

Composer may have trouble with the update if one of these projects is listed
on the command line without the other. Running composer update without any
parameters should also work, because in this instance every dependency is
updated.


## Metapackage Usage in Template Projects

The relationship between the metapackages drupal/core-recommended and
drupal/core-dev and the project (subtree split) drupal/core, as used in the
drupal/recommended-project is shown below:

+----------------------------+
| drupal/recommended-project |
+----------------------------+
 |
 +--"require":
 |    |
 |    |   +-------------------------+   +-------------+
 |    +-->| drupal/core-recommended |-->| drupal/core |
 |        +-------------------------+   +-------------+
 |
 +--"require-dev":
      |
      |   +-------------------------+
      +-->| drupal/core-dev         |
          +-------------------------+

If a user does not wish to pin their Drupal project's dependencies to the same
versions used in drupal/core, then they should replace drupal/core-recommended
with drupal/core in their "require" section.

If a user does not need the testing dependencies in their Drupal project, then
they may simply remove drupal/core-dev from the "require-dev" section.

File

composer/Metapackage/README.txt
View source
  1. # Drupal Metapackages
  2. A metapackage is a Composer package that contains only a composer.json, and
  3. has no other content. In other words, the purpose of a metapackage is to
  4. provide dependencies, not to provide code or data.
  5. ## Metapackages Provided by Drupal Core
  6. Drupal Core provides three metapackages that serve different purposes.
  7. - drupal/core-recommended: This project pins to the exact version of each
  8. dependency used in drupal/core. It also requires drupal/core, so
  9. drupal/core-recommended should be used INSTEAD OF drupal/core. See usage
  10. diagram below. This relationship makes it easier for Composer to update
  11. a Drupal project.
  12. - drupal/core-dev: This project provides the same version constraints as Drupal
  13. uses for testing. It is useful for projects that either wish to run some of
  14. the Drupal tests directly, or for projects that may wish to use the same
  15. components that Drupal does for testing.
  16. - drupal/core-dev-pinned: This project should be used INSTEAD OF
  17. drupal/core-dev in instances where a project wishes to pin to the exact
  18. version of each testing dependency used in Drupal. This in general should not
  19. be necessary.
  20. Note that a project that uses both drupal/core-recommended and
  21. drupal/core-dev-pinned must update them both at the same time, e.g.:
  22. composer update drupal/core-recommended drupal/core-dev-pinned --with-dependencies
  23. Composer may have trouble with the update if one of these projects is listed
  24. on the command line without the other. Running composer update without any
  25. parameters should also work, because in this instance every dependency is
  26. updated.
  27. ## Metapackage Usage in Template Projects
  28. The relationship between the metapackages drupal/core-recommended and
  29. drupal/core-dev and the project (subtree split) drupal/core, as used in the
  30. drupal/recommended-project is shown below:
  31. +----------------------------+
  32. | drupal/recommended-project |
  33. +----------------------------+
  34. |
  35. +--"require":
  36. | |
  37. | | +-------------------------+ +-------------+
  38. | +-->| drupal/core-recommended |-->| drupal/core |
  39. | +-------------------------+ +-------------+
  40. |
  41. +--"require-dev":
  42. |
  43. | +-------------------------+
  44. +-->| drupal/core-dev |
  45. +-------------------------+
  46. If a user does not wish to pin their Drupal project's dependencies to the same
  47. versions used in drupal/core, then they should replace drupal/core-recommended
  48. with drupal/core in their "require" section.
  49. If a user does not need the testing dependencies in their Drupal project, then
  50. they may simply remove drupal/core-dev from the "require-dev" section.