drupal / core-vendor-hardening
Hardens the vendor directory for when it's in the docroot.
Installs: 3 087 838
Dependents: 21
Suggesters: 1
Security: 0
Stars: 14
Watchers: 9
Forks: 1
Type:composer-plugin
Requires
- php: >=7.3.0
- composer-plugin-api: ^2
- 11.x-dev
- 11.1.x-dev
- 11.1.0-beta1
- 11.0.x-dev
- 11.0.8
- 11.0.7
- 11.0.6
- 11.0.5
- 11.0.4
- 11.0.3
- 11.0.2
- 11.0.1
- 11.0.0
- 11.0.0-rc1
- 11.0.0-beta1
- 11.0.0-alpha1
- 10.5.x-dev
- 10.4.x-dev
- 10.4.0-beta1
- 10.3.x-dev
- 10.3.9
- 10.3.8
- 10.3.7
- 10.3.6
- 10.3.5
- 10.3.4
- 10.3.3
- 10.3.2
- 10.3.1
- 10.3.0
- 10.3.0-rc1
- 10.3.0-beta1
- 10.2.x-dev
- 10.2.11
- 10.2.10
- 10.2.9
- 10.2.8
- 10.2.7
- 10.2.6
- 10.2.5
- 10.2.4
- 10.2.3
- 10.2.2
- 10.2.1
- 10.2.0
- 10.2.0-rc1
- 10.2.0-beta1
- 10.2.0-alpha1
- 10.1.x-dev
- 10.1.8
- 10.1.7
- 10.1.6
- 10.1.5
- 10.1.4
- 10.1.3
- 10.1.2
- 10.1.1
- 10.1.0
- 10.1.0-rc1
- 10.1.0-alpha1
- 10.0.x-dev
- 10.0.11
- 10.0.10
- 10.0.9
- 10.0.8
- 10.0.7
- 10.0.6
- 10.0.5
- 10.0.4
- 10.0.3
- 10.0.2
- 10.0.1
- 10.0.0
- 10.0.0-rc3
- 10.0.0-rc2
- 10.0.0-rc1
- 10.0.0-beta2
- 10.0.0-beta1
- 10.0.0-alpha7
- 10.0.0-alpha6
- 10.0.0-alpha5
- 10.0.0-alpha4
- 10.0.0-alpha3
- 10.0.0-alpha2
- 10.0.0-alpha1
- 9.5.x-dev
- 9.5.11
- 9.5.10
- 9.5.9
- 9.5.8
- 9.5.7
- 9.5.6
- 9.5.5
- 9.5.4
- 9.5.3
- 9.5.2
- 9.5.1
- 9.5.0
- 9.5.0-rc2
- 9.5.0-rc1
- 9.5.0-beta2
- 9.5.0-beta1
- 9.4.x-dev
- 9.4.15
- 9.4.14
- 9.4.13
- 9.4.12
- 9.4.11
- 9.4.10
- 9.4.9
- 9.4.8
- 9.4.7
- 9.4.6
- 9.4.5
- 9.4.4
- 9.4.3
- 9.4.2
- 9.4.1
- 9.4.0
- 9.4.0-rc2
- 9.4.0-rc1
- 9.4.0-beta1
- 9.4.0-alpha1
- 9.3.x-dev
- 9.3.22
- 9.3.21
- 9.3.20
- 9.3.19
- 9.3.18
- 9.3.17
- 9.3.16
- 9.3.15
- 9.3.14
- 9.3.13
- 9.3.12
- 9.3.11
- 9.3.10
- 9.3.9
- 9.3.8
- 9.3.7
- 9.3.6
- 9.3.5
- 9.3.4
- 9.3.3
- 9.3.2
- 9.3.1
- 9.3.0
- 9.3.0-rc1
- 9.3.0-beta3
- 9.3.0-beta2
- 9.3.0-beta1
- 9.3.0-alpha1
- 9.2.x-dev
- 9.2.21
- 9.2.20
- 9.2.19
- 9.2.18
- 9.2.17
- 9.2.16
- 9.2.15
- 9.2.14
- 9.2.13
- 9.2.12
- 9.2.11
- 9.2.10
- 9.2.9
- 9.2.8
- 9.2.7
- 9.2.6
- 9.2.5
- 9.2.4
- 9.2.3
- 9.2.2
- 9.2.1
- 9.2.0
- 9.2.0-rc1
- 9.2.0-beta3
- 9.2.0-beta2
- 9.2.0-beta1
- 9.2.0-alpha1
- 9.1.x-dev
- 9.1.15
- 9.1.14
- 9.1.13
- 9.1.12
- 9.1.11
- 9.1.10
- 9.1.9
- 9.1.8
- 9.1.7
- 9.1.6
- 9.1.5
- 9.1.4
- 9.1.3
- 9.1.2
- 9.1.1
- 9.1.0
- 9.1.0-rc3
- 9.1.0-rc2
- 9.1.0-rc1
- 9.1.0-beta1
- 9.1.0-alpha1
- 9.0.x-dev
- 9.0.14
- 9.0.13
- 9.0.12
- 9.0.11
- 9.0.10
- 9.0.9
- 9.0.8
- 9.0.7
- 9.0.6
- 9.0.5
- 9.0.4
- 9.0.3
- 9.0.2
- 9.0.1
- 9.0.0
- 9.0.0-rc1
- 9.0.0-beta3
- 9.0.0-beta2
- 9.0.0-beta1
- 9.0.0-alpha2
- 9.0.0-alpha1
- 8.9.x-dev
- 8.9.20
- 8.9.19
- 8.9.18
- 8.9.17
- 8.9.16
- 8.9.15
- 8.9.14
- 8.9.13
- 8.9.12
- 8.9.11
- 8.9.10
- 8.9.9
- 8.9.8
- 8.9.7
- 8.9.6
- 8.9.5
- 8.9.4
- 8.9.3
- 8.9.2
- 8.9.1
- 8.9.0
- 8.9.0-rc1
- 8.9.0-beta3
- 8.9.0-beta2
- 8.9.0-beta1
- 8.8.x-dev
- 8.8.12
- 8.8.11
- 8.8.10
- 8.8.9
- 8.8.8
- 8.8.7
- 8.8.6
- 8.8.5
- 8.8.4
- 8.8.3
- 8.8.2
- 8.8.1
- 8.8.0
- 8.8.0-rc1
- 8.8.0-beta1
- 8.8.0-alpha1
- 8.7.11
This package is auto-updated.
Last update: 2024-11-20 20:50:04 UTC
README
The Drupal Vendor Hardening Composer Plugin =========================================== Thanks for using this Drupal component. You can participate in its development on Drupal.org, through our issue system: https://www.drupal.org/project/issues/drupal You can get the full Drupal repo here: https://www.drupal.org/project/drupal/git-instructions You can browse the full Drupal repo here: https://git.drupalcode.org/project/drupal What does it do? ---------------- This Composer plugin does two things: 1) It removes extraneous directories from the project's vendor directory. They're typically directories which might contain executable files, such as test directories. This sort of processing is required for projects that have a vendor directory inside the HTTP server docroot. This is a common layout for Drupal. By default, the plugin knows how to clean up packages for Drupal core, so you can require drupal/core-vendor-hardening in your project and the rest will happen automatically. The plugin can also be configured to clean up additional packages using the project's composer.json extra field. This plugin can also clean up packages that were installed outside of the vendor directory, using composer/installers. This allows users to configure the plugin to clean up, for instance, Drupal extensions and Drupal core. 2) The plugin also adds .htaccess file to the root of the project's vendor directory. The file will perform due diligence to keep the web server from serving file from within the vendor directory. How do I set it up? ------------------- Require this Composer plugin into your project: composer require drupal/core-vendor-hardening When you install or update, this plugin will look through each package and remove directories it knows about. You can see the list of default package cleanups for this plugin in Config.php. If you discover that this list needs updating, file an issue about it: https://www.drupal.org/project/issues/drupal In addition to the default list of packages, you can configure the plugin using the root package's composer.json extra field, like this: "extra": { "drupal-core-vendor-hardening": { "vendor/package": ["test", "documentation"] } } The above code will tell the plugin to remove the test/ and documentation/ directories from the 'vendor/package' package when it is installed or updated. For packages installed outside of the vendor directory, such as those installed by composer/installers, the paths to remove should be relative to the package base. As an example, a Drupal module package named drupal/module_name might be installed by composer/installers to web/modules/contrib/module_name/. Cleanup paths specified for this package might look like this: "extra": { "drupal-core-vendor-hardening": { "drupal/module_name": ["tests", "src/Tests"] } } This would then cause the plugin to try and remove web/modules/contrib/module_name/tests and web/modules/contrib/module_name/src/Tests.