All Projects → zaporylie → Composer Drupal Optimizations

zaporylie / Composer Drupal Optimizations

Saves memory and CPU cycles when you run `composer update`

Projects that are alternatives of or similar to Composer Drupal Optimizations

Nginxconfig.io
⚙️ NGINX config generator on steroids 💉
Stars: ✭ 14,983 (+10304.86%)
Mutual labels:  hacktoberfest, drupal
Drupal Check
Check Drupal code for deprecations and discover bugs via static analysis
Stars: ✭ 252 (+75%)
Mutual labels:  hacktoberfest, drupal
Phpstan Drupal
Extension for PHPStan to allow analysis of Drupal code.
Stars: ✭ 97 (-32.64%)
Mutual labels:  hacktoberfest, drupal
Webpack Require From
Webpack plugin that allows to configure path or URL for fetching dynamic imports
Stars: ✭ 142 (-1.39%)
Mutual labels:  hacktoberfest
Android Password Store
Android application compatible with ZX2C4's Pass command line application
Stars: ✭ 1,912 (+1227.78%)
Mutual labels:  hacktoberfest
Demo Jenkins Config As Code
Demo of Jenkins Configuration-As-Code with Docker and Groovy Hook Scripts
Stars: ✭ 143 (-0.69%)
Mutual labels:  hacktoberfest
Sponsorblockserver
Skip YouTube video sponsors (server side portion)
Stars: ✭ 143 (-0.69%)
Mutual labels:  hacktoberfest
Tedivms Flask
Flask starter app with celery, bootstrap, and docker environment
Stars: ✭ 142 (-1.39%)
Mutual labels:  hacktoberfest
Msbuild.sdk.sqlproj
An MSBuild SDK that provides similar functionality to SQL Server Data Tools (.sqlproj) projects
Stars: ✭ 142 (-1.39%)
Mutual labels:  hacktoberfest
Core Framework
This repository holds the Open RuneScape Classic game framework
Stars: ✭ 143 (-0.69%)
Mutual labels:  hacktoberfest
Shimmerswift
A swift implementation of Facebooks shimmer effect.
Stars: ✭ 143 (-0.69%)
Mutual labels:  hacktoberfest
Actionsflow
The free Zapier/IFTTT alternative for developers to automate your workflows based on Github actions
Stars: ✭ 2,243 (+1457.64%)
Mutual labels:  hacktoberfest
Terrafx
A framework for developing multimedia-based applications.
Stars: ✭ 141 (-2.08%)
Mutual labels:  hacktoberfest
Magick.net
The .NET library for ImageMagick
Stars: ✭ 2,071 (+1338.19%)
Mutual labels:  hacktoberfest
Openingtree
Consolidated view of all your chess games from chess.com, lichess, grandmaster games or custom pgn.
Stars: ✭ 143 (-0.69%)
Mutual labels:  hacktoberfest
Vue Pure Lightbox
Very simple lightbox plugin (without any dependencies) for Vuejs 🌅
Stars: ✭ 142 (-1.39%)
Mutual labels:  hacktoberfest
Iio Oscilloscope
A GTK+ based oscilloscope application for interfacing with various IIO devices
Stars: ✭ 143 (-0.69%)
Mutual labels:  hacktoberfest
Ultimate Java Resources
Java programming. All in one Java Resource for learning. Updated every day and up to date. All Algorithms and DS along with Development in Java. Beginner to Advanced. Join the Discord link.
Stars: ✭ 143 (-0.69%)
Mutual labels:  hacktoberfest
Vscode Stylelint
Official Visual Studio Code extension to lint CSS/SCSS/Less with stylelint
Stars: ✭ 141 (-2.08%)
Mutual labels:  hacktoberfest
Arepl Vscode
program python in real-time
Stars: ✭ 142 (-1.39%)
Mutual labels:  hacktoberfest

Optimize Composer for Drupal projects

Build Status Packagist

About

This composer-plugin contains a set of improvements that makes running heavy duty composer commands (i.e. composer update or composer require) much faster.

Composer 2

Since Composer 2 is quite fast by default, this plugin is not needed, and will be disabled if Composer 2 is detected. If everyone involved in development of a project is using Composer 2, this plugin becomes redundant and can be removed from the list of project dependencies.

Installation

composer require zaporylie/composer-drupal-optimizations:^1.1 --dev

No configuration required 🎊

Optimizations

  • Reduce memory usage and CPU usage by removing legacy symfony tags

Benchmark

Following numbers are for clean https://github.com/drupal-composer/drupal-project/ without and with this plugin.

Before:

Memory usage: 323.19MB (peak: 1121.09MB), time: 13.68s

After:

Memory usage: 238.66MB (peak: 297.17MB), time: 4.84s

php 7.2, macOS High Sierra, i7, 16GB RAM

Configuration

If no configuration is provided this package will provide sensible defaults based on the drupal/core version constraint in the root composer.json file. Default configuration should cover 99% of the cases. However, in case you want to manually specify the tags that should be filtered out you are welcome to use the extra section:

{
  "extra": {
    "composer-drupal-optimizations": {
      "require": {
        "symfony/symfony": ">3.4"
      }
    }
  }
}

Recommendation note: Use defaults (skip config above) if possible - this package will be maintained throughout the Drupal's lifecycle in order to optimize legacy constraints in parallel with Drupal's requirements.

All you have to do is to make sure your drupal core constraint in the root composer.json is set to drupal/core: ^8.5 or above. If you use a Drupal distribution, be sure to explicitly require drupal/core in your own project as well.

Credits

  • Symfony community - idea and development; Special thanks to @nicolas-grekas
  • Jakub Piasecki - port and maintenance
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].