:musical_note: Provides a composer plugin for normalizing composer.json.

Overview

composer-normalize

Integrate Prune Release Renew Update

Code Coverage Type Coverage

Latest Stable Version Total Downloads

Provides a composer plugin for normalizing composer.json.

Hmm, kinda cool I guess

Why

When it comes to formatting composer.json, you have the following options:

  • you can stop caring
  • you can format it manually (and request changes when contributors format it differently)
  • you can use ergebnis/composer-normalize

ergebnis/composer-normalize normalizes composer.json, so you don't have to.

đź’ˇ If you want to find out more, take a look at the examples and read this blog post.

Installation

Composer

Run

$ composer require --dev ergebnis/composer-normalize

to install ergebnis/composer-normalize as a composer plugin.

Phar

Head over to http://github.com/ergebnis/composer-normalize/releases/latest and download the latest composer-normalize.phar.

Run

$ chmod +x composer-normalize.phar

to make the downloaded composer-normalize.phar executable.

Phive

Run

$ phive install ergebnis/composer-normalize

to install ergebnis/composer-normalize with PHIVE.

Usage

Composer

Run

$ composer normalize

to normalize composer.json in the working directory.

Phar

Run

$ ./composer-normalize.phar

to normalize composer.json in the working directory.

Phive

Run

$ ./tools/composer-normalize

to normalize composer.json in the working directory.

Details

The NormalizeCommand provided by the NormalizePlugin within this package will

  • determine whether a composer.json exists
  • determine whether a composer.lock exists, and if so, whether it is up to date (unless the --no-check-lock option is used)
  • use normalizers to normalize the content of composer.json
  • format the normalized content (either as sniffed, or as specified using the --indent-size and --indent-style options)
  • write the normalized and formatted content of composer.json back to the file
  • update the hash in composer.lock if it exists and if an update is necessary

Arguments

  • file: Path to composer.json file (optional, defaults to composer.json in working directory)

Options

  • --diff: Show the results of normalizing
  • --dry-run: Show the results of normalizing, but do not modify any files
  • --indent-size: Indent size (an integer greater than 0); should be used with the --indent-style option
  • --indent-style: Indent style (one of "space", "tab"); should be used with the --indent-size option
  • --no-check-lock: Do not check if lock file is up to date
  • --no-update-lock: Do not update lock file if it exists

As an alternative to specifying the --indent-size and --indent-style options, you can also use composer extra to configure these options in composer.json:

{
  "extra": {
    "composer-normalize": {
      "indent-size": 2,
      "indent-style": "space",
    }
  }
}

đź’ˇ The configuration provided in composer extra always overrides the configuration provided via command line options.

Continuous Integration

If you want to run this in continuous integration services, use the --dry-run option.

$ composer normalize --dry-run

In case composer.json is not normalized (or composer.lock is not up-to-date), the command will fail with an exit code of 1 and show a diff.

Normalizers

The ComposerJsonNormalizer composes normalizers provided by ergebnis/json-normalizer:

as well as the following normalizers provided by this package:

BinNormalizer

If composer.json contains an array of scripts in the bin section, the BinNormalizer will sort the elements of the bin section by value in ascending order.

đź’ˇ Find out more about the bin section at https://getcomposer.org/doc/04-schema.md#bin.

ConfigHashNormalizer

If composer.json contains any configuration in the

  • config
  • extra
  • scripts-descriptions

sections, the ConfigHashNormalizer will sort the content of these sections by key in ascending order.

đź’ˇ Find out more about the config section at https://getcomposer.org/doc/06-config.md.

PackageHashNormalizer

If composer.json contains any configuration in the

  • conflict
  • provide
  • replace
  • require
  • require-dev
  • suggest

sections, the PackageHashNormalizer will sort the content of these sections.

đź’ˇ This transfers the behaviour from using the --sort-packages or sort-packages configuration flag to other sections. Find out more about the --sort-packages flag and configuration at https://getcomposer.org/doc/06-config.md#sort-packages and https://getcomposer.org/doc/03-cli.md#require.

VersionConstraintNormalizer

If composer.json contains version constraints in the

  • conflict
  • provide
  • replace
  • require
  • require-dev

sections, the VersionConstraintNormalizer will ensure that

  • all constraints are trimmed
  • and constraints are separated by a single space ( ) or a comma (,)
  • or constraints are separated by double-pipe with a single space before and after (||)
  • range constraints are separated by a single space ( )

đź’ˇ Find out more about version constraints at https://getcomposer.org/doc/articles/versions.md.

Examples

pestphp/pest

Running

$ composer normalize

against https://github.com/pestphp/pest/blob/v0.3.19/composer.json yields the following diff:

diff --git a/composer.json b/composer.json
index 1cfbf1e..204f20f 100644
--- a/composer.json
+++ b/composer.json
@@ -25,6 +25,32 @@
         "pestphp/pest-plugin-init": "^0.3",
         "phpunit/phpunit": ">= 9.3.7 <= 9.5.0"
     },
+    "require-dev": {
+        "illuminate/console": "^7.16.1",
+        "illuminate/support": "^7.16.1",
+        "laravel/dusk": "^6.9.1",
+        "mockery/mockery": "^1.4.1",
+        "pestphp/pest-dev-tools": "dev-master"
+    },
+    "config": {
+        "preferred-install": "dist",
+        "sort-packages": true
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-master": "0.3.x-dev"
+        },
+        "laravel": {
+            "providers": [
+                "Pest\\Laravel\\PestServiceProvider"
+            ]
+        },
+        "pest": {
+            "plugins": [
+                "Pest\\Plugins\\Version"
+            ]
+        }
+    },
     "autoload": {
         "psr-4": {
             "Pest\\": "src/"
@@ -42,49 +68,23 @@
             "tests/Autoload.php"
         ]
     },
-    "require-dev": {
-        "illuminate/console": "^7.16.1",
-        "illuminate/support": "^7.16.1",
-        "laravel/dusk": "^6.9.1",
-        "mockery/mockery": "^1.4.1",
-        "pestphp/pest-dev-tools": "dev-master"
-    },
     "minimum-stability": "dev",
     "prefer-stable": true,
-    "config": {
-        "sort-packages": true,
-        "preferred-install": "dist"
-    },
     "bin": [
         "bin/pest"
     ],
     "scripts": {
         "lint": "php-cs-fixer fix -v",
-        "test:lint": "php-cs-fixer fix -v --dry-run",
-        "test:types": "phpstan analyse --ansi --memory-limit=0",
-        "test:unit": "php bin/pest --colors=always --exclude-group=integration",
-        "test:integration": "php bin/pest --colors=always --group=integration",
-        "update:snapshots": "REBUILD_SNAPSHOTS=true php bin/pest --colors=always",
         "test": [
             "@test:lint",
             "@test:types",
             "@test:unit",
             "@test:integration"
-        ]
-    },
-    "extra": {
-        "branch-alias": {
-            "dev-master": "0.3.x-dev"
-        },
-        "pest": {
-            "plugins": [
-                "Pest\\Plugins\\Version"
-            ]
-        },
-        "laravel": {
-            "providers": [
-                "Pest\\Laravel\\PestServiceProvider"
-            ]
-        }
+        ],
+        "test:integration": "php bin/pest --colors=always --group=integration",
+        "test:lint": "php-cs-fixer fix -v --dry-run",
+        "test:types": "phpstan analyse --ansi --memory-limit=0",
+        "test:unit": "php bin/pest --colors=always --exclude-group=integration",
+        "update:snapshots": "REBUILD_SNAPSHOTS=true php bin/pest --colors=always"
     }
 }

phpspec/phpspec

Running

$ composer normalize

against https://github.com/phpspec/phpspec/blob/7.0.1/composer.json yields the following diff:

diff --git a/composer.json b/composer.json
index 90150a37..276a2ecd 100644
--- a/composer.json
+++ b/composer.json
@@ -1,72 +1,73 @@
 {
-    "name":         "phpspec/phpspec",
-    "description":  "Specification-oriented BDD framework for PHP 7.1+",
-    "keywords":     ["BDD", "SpecBDD", "TDD", "spec", "specification", "tests", "testing"],
-    "homepage":     "http://phpspec.net/",
-    "type":         "library",
-    "license":      "MIT",
-    "authors":      [
+    "name": "phpspec/phpspec",
+    "type": "library",
+    "description": "Specification-oriented BDD framework for PHP 7.1+",
+    "keywords": [
+        "BDD",
+        "SpecBDD",
+        "TDD",
+        "spec",
+        "specification",
+        "tests",
+        "testing"
+    ],
+    "homepage": "http://phpspec.net/",
+    "license": "MIT",
+    "authors": [
         {
-            "name":      "Konstantin Kudryashov",
-            "email":     "[email protected]",
-            "homepage":  "http://everzet.com"
+            "name": "Konstantin Kudryashov",
+            "email": "[email protected]",
+            "homepage": "http://everzet.com"
         },
         {
-            "name":      "Marcello Duarte",
-            "homepage":  "http://marcelloduarte.net/"
+            "name": "Marcello Duarte",
+            "homepage": "http://marcelloduarte.net/"
         },
         {
-            "name":      "Ciaran McNulty",
-            "homepage":  "https://ciaranmcnulty.com/"
+            "name": "Ciaran McNulty",
+            "homepage": "https://ciaranmcnulty.com/"
         }
     ],
-
     "require": {
-        "php":                      "^7.3 || 8.0.*",
-        "phpspec/prophecy":         "^1.9",
-        "phpspec/php-diff":         "^1.0.0",
-        "sebastian/exporter":       "^3.0 || ^4.0",
-        "symfony/console":          "^3.4 || ^4.4 || ^5.0",
+        "php": "^7.3 || 8.0.*",
+        "ext-tokenizer": "*",
+        "doctrine/instantiator": "^1.0.5",
+        "phpspec/php-diff": "^1.0.0",
+        "phpspec/prophecy": "^1.9",
+        "sebastian/exporter": "^3.0 || ^4.0",
+        "symfony/console": "^3.4 || ^4.4 || ^5.0",
         "symfony/event-dispatcher": "^3.4 || ^4.4 || ^5.0",
-        "symfony/process":          "^3.4 || ^4.4 || ^5.0",
-        "symfony/finder":           "^3.4 || ^4.4 || ^5.0",
-        "symfony/yaml":             "^3.4 || ^4.4 || ^5.0",
-        "doctrine/instantiator":    "^1.0.5",
-        "ext-tokenizer":            "*"
+        "symfony/finder": "^3.4 || ^4.4 || ^5.0",
+        "symfony/process": "^3.4 || ^4.4 || ^5.0",
+        "symfony/yaml": "^3.4 || ^4.4 || ^5.0"
+    },
+    "conflict": {
+        "sebastian/comparator": "<1.2.4"
     },
-
     "require-dev": {
-        "behat/behat":           "^3.3",
-        "symfony/filesystem":    "^3.4 || ^4.0 || ^5.0",
-        "phpunit/phpunit":       "^8.0 || ^9.0"
+        "behat/behat": "^3.3",
+        "phpunit/phpunit": "^8.0 || ^9.0",
+        "symfony/filesystem": "^3.4 || ^4.0 || ^5.0"
     },
-
     "suggest": {
         "phpspec/nyan-formatters": "Adds Nyan formatters"
     },
-
-    "conflict": {
-        "sebastian/comparator" : "<1.2.4"
+    "extra": {
+        "branch-alias": {
+            "dev-main": "7.0.x-dev"
+        }
     },
-
     "autoload": {
         "psr-0": {
             "PhpSpec": "src/"
         }
     },
-
     "autoload-dev": {
         "psr-0": {
             "spec\\PhpSpec": "."
         }
     },
-
-    "bin": ["bin/phpspec"],
-
-    "extra": {
-        "branch-alias": {
-            "dev-main": "7.0.x-dev"
-        }
-    }
-
+    "bin": [
+        "bin/phpspec"
+    ]
 }

phpunit/phpunit

Running

$ composer normalize

against https://github.com/phpspec/phpspec/blob/7.0.1/composer.json yields the following diff:

diff --git a/composer.json b/composer.json
index fd6461fc3..23c3a3596 100644
--- a/composer.json
+++ b/composer.json
@@ -1,7 +1,7 @@
 {
     "name": "phpunit/phpunit",
-    "description": "The PHP Unit Testing framework.",
     "type": "library",
+    "description": "The PHP Unit Testing framework.",
     "keywords": [
         "phpunit",
         "xunit",
@@ -16,10 +16,6 @@
             "role": "lead"
         }
     ],
-    "support": {
-        "issues": "https://github.com/sebastianbergmann/phpunit/issues"
-    },
-    "prefer-stable": true,
     "require": {
         "php": ">=7.3",
         "ext-dom": "*",
@@ -54,20 +50,22 @@
         "ext-PDO": "*",
         "phpspec/prophecy-phpunit": "^2.0.1"
     },
+    "suggest": {
+        "ext-soap": "*",
+        "ext-xdebug": "*"
+    },
     "config": {
+        "optimize-autoloader": true,
         "platform": {
             "php": "7.3.0"
         },
-        "optimize-autoloader": true,
         "sort-packages": true
     },
-    "suggest": {
-        "ext-soap": "*",
-        "ext-xdebug": "*"
+    "extra": {
+        "branch-alias": {
+            "dev-master": "9.5-dev"
+        }
     },
-    "bin": [
-        "phpunit"
-    ],
     "autoload": {
         "classmap": [
             "src/"
@@ -86,9 +84,11 @@
             "tests/_files/NamespaceCoveredFunction.php"
         ]
     },
-    "extra": {
-        "branch-alias": {
-            "dev-master": "9.5-dev"
-        }
+    "prefer-stable": true,
+    "bin": [
+        "phpunit"
+    ],
+    "support": {
+        "issues": "https://github.com/sebastianbergmann/phpunit/issues"
     }
 }

Changelog

Please have a look at CHANGELOG.md.

Contributing

Please have a look at CONTRIBUTING.md.

Code of Conduct

Please have a look at CODE_OF_CONDUCT.md.

License

This package is licensed using the MIT License.

Please have a look at LICENSE.md.

Credits

The algorithm for sorting packages in the PackageHashNormalizer has been adopted from Composer\Json\JsonManipulator::sortPackages() (originally licensed under MIT by Nils Adermann and Jordi Boggiano), which I initially contributed to composer/composer with composer/composer#3549 and composer/composer#3872.

Curious what I am building?

📬 Subscribe to my list, and I will occasionally send you an email to let you know what I am working on.

Comments
  • Interface 'Localheinz\Json\Normalizer\NormalizerInterface' not found exception

    Interface 'Localheinz\Json\Normalizer\NormalizerInterface' not found exception

    Steps required to reproduce the problem

    1. Go PHP 7.1
    2. composer global require localheinz/composer-normalize
    3. composer update

    Expected Result

    • Normal composer update output

    Actual Result

    • Fatal error: Interface 'Localheinz\Json\Normalizer\NormalizerInterface' not found in /Users/user/.composer/vendor/localheinz/composer-normalize/src/Normalizer/ComposerJsonNormalizer.php on line 20
    bug stale 
    opened by aviator-ua 25
  • Plugin doesn't work when using http proxy

    Plugin doesn't work when using http proxy

    Steps required to reproduce the problem

    1. use proxy for accessing Internet
    2. define env vars for using proxy https://gist.github.com/ozh/9751639
    3. create project using composer, update some vendors - composer works ok
    4. try run composer normalize

    Expected Result

    composer.json was normalized.

    Actual Result

    docker-compose exec app composer normalize -vvv
    Reading ./composer.json
    Loading config file ./composer.json
    Checked CA file /etc/ssl/certs/ca-certificates.crt: valid
    Executing command (/srv/app): git branch --no-color --no-abbrev -v
    Reading /root/.composer/composer.json
    Loading config file /root/.composer/composer.json
    Reading /srv/app/vendor/composer/installed.json
    Reading /root/.composer/vendor/composer/installed.json
    Loading plugin PackageVersions\Installer
    Loading plugin Symfony\Flex\Flex
    Loading plugin Localheinz\Composer\Normalize\NormalizePlugin
    Loading plugin Pyrech\ComposerChangelogs\ChangelogsPlugin
    Running 1.7.2 (2018-08-16 16:57:12) with PHP 7.2.9 on Linux / 4.15.0-29-generic
    Do not run Composer as root/super user! See https://getcomposer.org/root for details
    Reading ./composer.json
    Loading config file ./composer.json
    Executing command (/srv/app): git branch --no-color --no-abbrev -v
    Reading /root/.composer/composer.json
    Loading config file /root/.composer/composer.json
    Reading /srv/app/vendor/composer/installed.json
    Reading /root/.composer/vendor/composer/installed.json
    Loading plugin PackageVersions\Installer_composer_tmp0
    Loading plugin Symfony\Flex\Flex_composer_tmp1
    Loading plugin Localheinz\Composer\Normalize\NormalizePlugin_composer_tmp2
    Loading plugin Pyrech\ComposerChangelogs\ChangelogsPlugin_composer_tmp3
    Reading ./composer.lock
    Reading ./composer.lock
    Schema URI "https://getcomposer.org/schema.json" does not reference a document that could be read.
    

    see for reference how composer handles HTTP_PROXY env var https://github.com/composer/composer/blob/d5a9d86ee4e934d06073521e630556d4f337629c/src/Composer/Util/StreamContextFactory.php#L43

    bug 
    opened by Koc 21
  • Installation fails in fresh project (with no other dependencies)

    Installation fails in fresh project (with no other dependencies)

    Steps required to reproduce the problem

    1. Make a fresh project without any dependencies.
    2. Run composer require ergebnis/composer-normalize and wait for it to finish.
    3. See an error message.

    Expected Result

    Install without errors. Tried on 3 machines and all result in the same issue.

    Actual Result

    ❯ composer require ergebnis/composer-normalize
    Using version ^2.10 for ergebnis/composer-normalize
    ./composer.json has been created
    Running composer update ergebnis/composer-normalize
    Loading composer repositories with package information
    Updating dependencies
    Your requirements could not be resolved to an installable set of packages.
    
      Problem 1
        - Root composer.json requires ergebnis/composer-normalize ^2.10 -> satisfiable by ergebnis/composer-normalize[2.10.0].
        - ergebnis/composer-normalize 2.10.0 requires ergebnis/json-printer ^3.1.1 -> found ergebnis/json-printer[dev-main] but it does not match the constraint.
    
    
    Installation failed, deleting ./composer.json.
    
    bug 
    opened by faustbrian 19
  • Schema URI

    Schema URI "schema-lax.json" could not be resolved

    Steps required to reproduce the problem

    1. composer global update
    2. composer normalize

    Expected Result

    • No error

    Actual Result

    Schema URI "file://.../vendor/ergebnis/composer-normalize/resource/schema-lax.json" could not be resolved.

    opened by odan 18
  • PHP Fatal error:  Uncaught Error: Class 'SebastianBergmann\Diff\Output\UnifiedDiffOutputBuilder' not found

    PHP Fatal error: Uncaught Error: Class 'SebastianBergmann\Diff\Output\UnifiedDiffOutputBuilder' not found

    Steps required to reproduce the problem

    1. install globally via composer global require localheinz/composer-normalize
    2. cd to composer project directory and run composer normalize --dry-run

    Expected Result

    • a diff output of what changes would be applied

    Actual Result

    • PHP Fatal error: Uncaught Error: Class 'SebastianBergmann\Diff\Output\UnifiedDiffOutputBuilder' not found
    PHP Fatal error:  Uncaught Error: Class 'SebastianBergmann\Diff\Output\UnifiedDiffOutputBuilder' not found in /Users/brian.tully/.composer/vendor/localheinz/composer-normalize/src/Command/NormalizeCommand.php:73
    Stack trace:
    #0 /Users/brian.tully/.composer/vendor/localheinz/composer-normalize/src/NormalizePlugin.php(52): Localheinz\Composer\Normalize\Command\NormalizeCommand->__construct(Object(Composer\Factory), Object(Localheinz\Composer\Json\Normalizer\ComposerJsonNormalizer))
    #1 phar:///usr/local/Cellar/composer/1.8.5/bin/composer/src/Composer/Console/Application.php(466): Localheinz\Composer\Normalize\NormalizePlugin->getCommands()
    #2 phar:///usr/local/Cellar/composer/1.8.5/bin/composer/src/Composer/Console/Application.php(156): Composer\Console\Application->getPluginCommands()
    #3 phar:///usr/local/Cellar/composer/1.8.5/bin/composer/vendor/symfony/console/Application.php(117): Composer\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
    #4 p in /Users/brian.tully/.composer/vendor/localheinz/composer-normalize/src/Command/NormalizeCommand.php on line 73
    
    Fatal error: Uncaught Error: Class 'SebastianBergmann\Diff\Output\UnifiedDiffOutputBuilder' not found in /Users/brian.tully/.composer/vendor/localheinz/composer-normalize/src/Command/NormalizeCommand.php:73
    Stack trace:
    #0 /Users/brian.tully/.composer/vendor/localheinz/composer-normalize/src/NormalizePlugin.php(52): Localheinz\Composer\Normalize\Command\NormalizeCommand->__construct(Object(Composer\Factory), Object(Localheinz\Composer\Json\Normalizer\ComposerJsonNormalizer))
    #1 phar:///usr/local/Cellar/composer/1.8.5/bin/composer/src/Composer/Console/Application.php(466): Localheinz\Composer\Normalize\NormalizePlugin->getCommands()
    #2 phar:///usr/local/Cellar/composer/1.8.5/bin/composer/src/Composer/Console/Application.php(156): Composer\Console\Application->getPluginCommands()
    #3 phar:///usr/local/Cellar/composer/1.8.5/bin/composer/vendor/symfony/console/Application.php(117): Composer\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
    #4 p in /Users/brian.tully/.composer/vendor/localheinz/composer-normalize/src/Command/NormalizeCommand.php on line 73
    

    I've tried clearing composer's cache and reinstalling composer-normalize to no avail. Running latest stable composer (1.8.5)

    bug 
    opened by briantully 13
  • Sort order improvement suggestion

    Sort order improvement suggestion

    There are no discussions in this project, so do not judge strictly.

    The screenshot below shows two options for formatting the file: on the left is the format I am trying to adhere to, and on the right is the processed by normalize.

    image

    I prefer to keep the "name" and "description" keys together as they contain a lot of text and separating them with a short "type" string is bad, in my opinion, as it spoils the look.

    Also, I prefer to include the "config" block at the bottom of the file, as it refers to the composer rules, not the application.

    I prefer to place the "support" block above the "require" block.

    Thus, I try to divide all the keys into the following logical blocks:

    - about the project
      - general information
        - name
        - description
    
      - project type
        - type
        - license
    
      - information for search
        - keywords
        - authors
        - support  
    
    - dependencies
      - main dependencies
        - require
        - require-dev
    
      - autoload
        - autoload
        - autoload-dev
    
    - composer config
      - config
      - minimum-stability
      - prefer-stable
    
    - extended data
      - extra
    

    And this project, in this case, offers the following logical scheme:

    - about the project
      - general information
        - name
    
      - project type
        - type
    
      - general information
        - description
    
      - information for search
        - keywords
    
      - project type
        - license
    
      - information for search
        - authors
    
    - dependencies
      - main dependencies
        - require
        - require-dev
    
    - composer config
      - config
    
    - extended data
      - extra
    
    - dependencies
      - autoload
        - autoload
        - autoload-dev
    
    - composer config
      - minimum-stability
      - prefer-stable
    
      - information for search
        - support
    

    Personally, I think this formatting is illogical and makes it difficult to read the file.

    I hope this information will help you.

    enhancement 
    opened by andrey-helldar 12
  • Restore Composer 1 support in the 2.x branch

    Restore Composer 1 support in the 2.x branch

    Hi,

    Today we bumped into an issue because Composer 2 compatibility was suddenly dropped by this plugin and our builds have started to break in those environments where still only Composer 1 is available and we have less control over the installed version.

    More information in the related Composer issue: https://github.com/composer/composer/issues/9474

    Any chance to rollback this PR from the 2.x branch and only drop support of Composer 2 in a new 3.x branch?

    opened by mxr576 11
  • Improve

    Improve "_comment" handling

    I sometimes use the common "_comment" convention convention") to compensate for JSON's lack of support for comments. Since these "comments" typically refer to the line(s) or entire file under them, I don't want composer-normalize to separate them from their context and move them to the bottom of the parent object like it currently does.

    Steps required to reproduce the problem

    1. Add a "_comment" element anywhere in a composer.json.
    2. Run composer normalize it.

    Expected Result

    • The "_comment" element retains its spacial relationship to the code (block) it refers to, or at least--more feasibly--completely ignores it.

    Actual Result

    • The "_comment" is moved to the bottom of the parent object.

    Since it would be impossible to programmatically determine whether a comment was meant to refer to the line(s) beneath it or merely appear at the top of its parent object, for instance, it seems undesirable to try. It would be very acceptable behavior, in my opinion to just ignore it.

    opened by TravisCarden 11
  • Refuses to normalize projects without name/description

    Refuses to normalize projects without name/description

    I'm starting a private project that won't be published so doesn't have a name (nor a description); here's its composer.json (minimal for now):

    {
        "type": "project",
        "license": "proprietary",
        "require": {
            "php": "^7.2"
        }
    }
    

    It is valid for non-public use:

    $ composer validate --no-check-publish
    ./composer.json is valid for simple usage with composer but has
    strict errors that make it unable to be published as a package:
    See https://getcomposer.org/doc/04-schema.md for details on the schema
    name : The property name is required
    description : The property description is required
    $ echo $?
    0
    

    but impossible to normalize as-is:

    $ composer normalize
    Original JSON is not valid according to schema "file:///home/gx/.composer/vendor/ergebnis/composer-normalize/src/../resource/schema.json".
    ./composer.json is valid for simple usage with composer but has
    strict errors that make it unable to be published as a package:
    See https://getcomposer.org/doc/04-schema.md for details on the schema
    $ echo $?
    0
    

    (note: the message doesn't say what the strict errors are, and the command doesn't return an error code despite not being successful).

    To work around, I have to run the sequence:

    1. composer config name a/a (dummy but valid name)
    2. composer config description ""
    3. composer update --lock (if I have a composer.lock)
    4. composer normalize
    5. composer config --unset name
    6. composer config --unset description
    7. composer update --lock (if I have a composer.lock)

    Would it be feasible to mimic --no-check-publish (possibly opt-in)?

    Maybe related to #297

    enhancement 
    opened by guilliamxavier 10
  • Work when no internet available

    Work when no internet available

    Steps required to reproduce the problem

    1. Turn off internet for the device this package is ran on
    2. run composer normalize

    Expected Result

    • Works when no internet connection

    Actual Result

    • Shows the following error message Schema URI "https://getcomposer.org/schema.json" does not reference a document that could be read.
    opened by WyriHaximus 10
  • Add phive support

    Add phive support

    would it make sense to support phive? https://github.com/phar-io/phive

    It seems this might be useful for some cases https://github.com/FriendsOfPHP/PHP-CS-Fixer/pull/4536#issuecomment-526862908

    enhancement 
    opened by staabm 9
  • Add option to allow certain keys to preserve their order / not be normalised

    Add option to allow certain keys to preserve their order / not be normalised

    This pull request adds the ability for users to specify paths to not normalise / sort.

    Related to https://github.com/ergebnis/composer-normalize/pull/985 Fixes https://github.com/ergebnis/composer-normalize/issues/704 Fixes integration test failures in https://github.com/ergebnis/composer-normalize/pull/956

    opened by fredden 1
  • Ensure slashes and UTF-8 characters stay unescaped

    Ensure slashes and UTF-8 characters stay unescaped

    This pull request ensures that slashes and UTF-8 strings are always unescaped in composer.json. The underlying formatting tool correctly detects if the source file already has escaped slashes and/or escaped UTF-8 characters and produces output to match this. However, as seen in #965, this is not always expected behaviour. This pull request applies an opinionated stance to ensure that formatting remains consistent across projects.

    Note that the underlying library that does formatting detection is working correctly.

    Fixes #965

    opened by fredden 1
  • Crows feet abuse (unnecessary escaping of slashes)

    Crows feet abuse (unnecessary escaping of slashes)

    Steps required to reproduce the problem

    1. Run program (composer normal)

    Expected Result

    • Unescaped forward slashes (/) remain unespecaed.

    Actual Result

    • All forward slashes are escaped, e.g. "require": { "foo/bar": "^1" } -> "require": { "foo\/bar": "^1" }.
    bug 
    opened by Bilge 5
  • composer(deps): bump ergebnis/json-normalizer from 2.1.0 to 3.0.0

    composer(deps): bump ergebnis/json-normalizer from 2.1.0 to 3.0.0

    Bumps ergebnis/json-normalizer from 2.1.0 to 3.0.0.

    Release notes

    Sourced from ergebnis/json-normalizer's releases.

    3.0.0

    What's Changed

    ... (truncated)

    Changelog

    Sourced from ergebnis/json-normalizer's changelog.

    [3.0.0][3.0.0]

    For a full diff see [2.2.0...3.0.0][2.2.0...3.0.0].

    Changed

    Fixed

    [2.2.0][2.2.0]

    For a full diff see [2.1.0...2.2.0][2.1.0...2.2.0].

    Changed

    Commits
    • 07b693b Merge pull request #729 from ergebnis/fix/changelog
    • 8ae3c1f Fix: CHANGELOG.md
    • 7fe1169 Merge pull request #705 from ergebnis/dependabot/composer/justinrainbow/json-...
    • 09e6865 Fix: Update CHANGELOG.md
    • 51bb10d composer(deps): bump justinrainbow/json-schema from 5.2.11 to 5.2.12
    • 10cea17 Merge pull request #728 from ergebnis/fix/rename
    • a97448a Fix: Rename variable
    • 1c3be30 Merge pull request #723 from fredden/sort-allow-plugins-preferred-install
    • 1fb20a0 Enhancement: Extract method
    • 7a9fde6 Fix: Update CHANGELOG.md
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependency 
    opened by dependabot[bot] 0
  • Normalizing `composer.json` in other directory inconsistency

    Normalizing `composer.json` in other directory inconsistency

    Steps required to reproduce the problem

    1. Having Composer 2.2 with the new allow-plugins feature
    2. First composer.json, in the root, perfectly fine:
    {
        "require": {
            "ergebnis/composer-normalize": "^2.23.0",
            "phpstan/extension-installer": "^1.1.0"
        },
        "config": {
            "allow-plugins": {
                "ergebnis/composer-normalize": true,
                "phpstan/extension-installer": true
            }
        }
    }
    
    1. Second composer.json, in subdirectory foo with a content (clearly, not normalized):
    {
        "require": {
            "psr/log" : "*",
    
            "psr/container" : "*"
        }
    }
    
    1. We run in the root composer normalize foo/composer.json

    Expected Result

    • composer.json in foo is normalized, with no questions asked

    Actual Result

    Running ergebnis/composer-normalize by Andreas Möller and contributors.
    
    ergebnis/composer-normalize contains a Composer plugin which is currently not in your allow-plugins config. See https://getcomposer.org/allow-plugins
    Do you trust "ergebnis/composer-normalize" to execute code and wish to enable it now? (writes "allow-plugins" to composer.json) [y,n,d,?] n
    phpstan/extension-installer contains a Composer plugin which is currently not in your allow-plugins config. See https://getcomposer.org/allow-plugins
    Do you trust "phpstan/extension-installer" to execute code and wish to enable it now? (writes "allow-plugins" to composer.json) [y,n,d,?] n
    Successfully normalized subdirectory/composer.json.
    

    Composer asks for plugins to be allowed (phpstan/extension-installer is only to show that it asks for all, not only about the currently used plugin), having using plugin denied it still normalizes composer.json.

    I'd expect normalizing composer.json without any interaction, I'd understood not normalizing it after not allowing the plugins, but this behaviour is super weird.

    bug 
    opened by kubawerlos 16
Releases(2.29.0)
  • 2.29.0(Dec 1, 2022)

    What's Changed

    • github-actions(deps): bump shivammathur/setup-php from 2.19.1 to 2.20.1 by @dependabot in https://github.com/ergebnis/composer-normalize/pull/943
    • composer(deps-dev): bump ergebnis/php-cs-fixer-config from 4.4.0 to 4.5.0 by @dependabot in https://github.com/ergebnis/composer-normalize/pull/944
    • composer(deps-dev): bump ergebnis/php-cs-fixer-config from 4.5.0 to 4.5.3 by @dependabot in https://github.com/ergebnis/composer-normalize/pull/945
    • github-actions(deps): bump ergebnis/.github from 1.5.0 to 1.5.1 by @dependabot in https://github.com/ergebnis/composer-normalize/pull/947
    • github-actions(deps): bump actions/stale from 5.0.0 to 5.1.0 by @dependabot in https://github.com/ergebnis/composer-normalize/pull/946
    • composer(deps-dev): bump fakerphp/faker from 1.19.0 to 1.20.0 by @dependabot in https://github.com/ergebnis/composer-normalize/pull/949
    • composer(deps-dev): bump ergebnis/php-cs-fixer-config from 4.5.3 to 4.6.0 by @dependabot in https://github.com/ergebnis/composer-normalize/pull/950
    • github-actions(deps): bump actions/stale from 5.1.0 to 5.1.1 by @dependabot in https://github.com/ergebnis/composer-normalize/pull/951
    • composer(deps-dev): bump symfony/filesystem from 5.4.9 to 5.4.11 by @dependabot in https://github.com/ergebnis/composer-normalize/pull/953
    • composer(deps-dev): bump vimeo/psalm from 4.24.0 to 4.25.0 by @dependabot in https://github.com/ergebnis/composer-normalize/pull/954
    • composer(deps-dev): bump vimeo/psalm from 4.25.0 to 4.26.0 by @dependabot in https://github.com/ergebnis/composer-normalize/pull/955
    • github-actions(deps): bump shivammathur/setup-php from 2.20.1 to 2.21.1 by @dependabot in https://github.com/ergebnis/composer-normalize/pull/952
    • github-actions(deps): bump actions/github-script from 6.1.0 to 6.1.1 by @dependabot in https://github.com/ergebnis/composer-normalize/pull/957
    • Enhancement: Update schema.json by @ergebnis-bot in https://github.com/ergebnis/composer-normalize/pull/959
    • composer(deps-dev): bump ergebnis/php-cs-fixer-config from 4.6.0 to 4.7.0 by @dependabot in https://github.com/ergebnis/composer-normalize/pull/962
    • github-actions(deps): bump shivammathur/setup-php from 2.21.1 to 2.21.2 by @dependabot in https://github.com/ergebnis/composer-normalize/pull/961
    • composer(deps-dev): bump phpunit/phpunit from 9.5.21 to 9.5.23 by @dependabot in https://github.com/ergebnis/composer-normalize/pull/960
    • composer(deps-dev): bump symfony/filesystem from 5.4.11 to 5.4.12 by @dependabot in https://github.com/ergebnis/composer-normalize/pull/963
    • github-actions(deps): bump actions/github-script from 6.1.1 to 6.2.0 by @dependabot in https://github.com/ergebnis/composer-normalize/pull/964
    • composer(deps-dev): bump vimeo/psalm from 4.26.0 to 4.27.0 by @dependabot in https://github.com/ergebnis/composer-normalize/pull/966
    • composer(deps-dev): bump phpunit/phpunit from 9.5.23 to 9.5.24 by @dependabot in https://github.com/ergebnis/composer-normalize/pull/967
    • composer(deps-dev): bump ergebnis/php-cs-fixer-config from 4.7.0 to 4.8.0 by @dependabot in https://github.com/ergebnis/composer-normalize/pull/968
    • github-actions(deps): bump actions/stale from 5.1.1 to 5.2.0 by @dependabot in https://github.com/ergebnis/composer-normalize/pull/969
    • github-actions(deps): bump actions/github-script from 6.2.0 to 6.3.0 by @dependabot in https://github.com/ergebnis/composer-normalize/pull/971
    • github-actions(deps): bump stefanzweifel/git-auto-commit-action from 4.14.1 to 4.15.0 by @dependabot in https://github.com/ergebnis/composer-normalize/pull/970
    • github-actions(deps): bump actions/stale from 5.2.0 to 6.0.0 by @dependabot in https://github.com/ergebnis/composer-normalize/pull/973
    • composer(deps-dev): bump phpunit/phpunit from 9.5.24 to 9.5.25 by @dependabot in https://github.com/ergebnis/composer-normalize/pull/972
    • composer(deps-dev): bump symfony/filesystem from 5.4.12 to 5.4.13 by @dependabot in https://github.com/ergebnis/composer-normalize/pull/976
    • github-actions(deps): bump ergebnis/.github from 1.5.1 to 1.7.0 by @dependabot in https://github.com/ergebnis/composer-normalize/pull/977
    • github-actions(deps): bump actions/github-script from 6.3.0 to 6.3.1 by @dependabot in https://github.com/ergebnis/composer-normalize/pull/978
    • composer(deps-dev): bump ergebnis/license from 1.2.0 to 2.0.0 by @dependabot in https://github.com/ergebnis/composer-normalize/pull/974
    • composer(deps-dev): bump ergebnis/php-cs-fixer-config from 4.8.0 to 4.9.0 by @dependabot in https://github.com/ergebnis/composer-normalize/pull/975
    • github-actions(deps): bump stefanzweifel/git-auto-commit-action from 4.15.0 to 4.15.1 by @dependabot in https://github.com/ergebnis/composer-normalize/pull/979
    • github-actions(deps): bump actions/stale from 6.0.0 to 6.0.1 by @dependabot in https://github.com/ergebnis/composer-normalize/pull/980
    • composer(deps-dev): bump vimeo/psalm from 4.27.0 to 4.28.0 by @dependabot in https://github.com/ergebnis/composer-normalize/pull/981
    • github-actions(deps): bump actions/github-script from 6.3.1 to 6.3.3 by @dependabot in https://github.com/ergebnis/composer-normalize/pull/982
    • composer(deps-dev): bump vimeo/psalm from 4.28.0 to 4.29.0 by @dependabot in https://github.com/ergebnis/composer-normalize/pull/983
    • github-actions(deps): Bump stefanzweifel/git-auto-commit-action from 4.15.1 to 4.15.2 by @dependabot in https://github.com/ergebnis/composer-normalize/pull/987
    • composer(deps-dev): Bump phpunit/phpunit from 9.5.25 to 9.5.26 by @dependabot in https://github.com/ergebnis/composer-normalize/pull/988
    • github-actions(deps): Bump stefanzweifel/git-auto-commit-action from 4.15.2 to 4.15.3 by @dependabot in https://github.com/ergebnis/composer-normalize/pull/989
    • github-actions(deps): Bump shivammathur/setup-php from 2.21.2 to 2.22.0 by @dependabot in https://github.com/ergebnis/composer-normalize/pull/990
    • github-actions(deps): Bump stefanzweifel/git-auto-commit-action from 4.15.3 to 4.15.4 by @dependabot in https://github.com/ergebnis/composer-normalize/pull/991
    • composer(deps-dev): Bump psalm/plugin-phpunit from 0.17.0 to 0.18.3 by @dependabot in https://github.com/ergebnis/composer-normalize/pull/992
    • Fix: Drop support for PHP 7.4 by @localheinz in https://github.com/ergebnis/composer-normalize/pull/998
    • composer(deps): Bump ergebnis/json-printer from 3.2.0 to 3.3.0 by @dependabot in https://github.com/ergebnis/composer-normalize/pull/999
    • composer(deps-dev): Bump vimeo/psalm from 4.30.0 to 5.0.0 by @dependabot in https://github.com/ergebnis/composer-normalize/pull/1001
    • composer(deps-dev): Bump symfony/filesystem from 5.4.13 to 6.0.13 by @dependabot in https://github.com/ergebnis/composer-normalize/pull/1000
    • composer(deps-dev): Bump ergebnis/license from 2.0.0 to 2.1.0 by @dependabot in https://github.com/ergebnis/composer-normalize/pull/1003
    • composer(deps-dev): Bump ergebnis/php-cs-fixer-config from 4.9.0 to 5.0.0 by @dependabot in https://github.com/ergebnis/composer-normalize/pull/1002
    • Enhancement: Update composer/composer by @localheinz in https://github.com/ergebnis/composer-normalize/pull/1004

    Full Changelog: https://github.com/ergebnis/composer-normalize/compare/2.28.3...2.29.0

    Source code(tar.gz)
    Source code(zip)
    composer-normalize.phar(984.97 KB)
    composer-normalize.phar.asc(833 bytes)
  • 2.28.3(Jul 5, 2022)

  • 2.28.2(Jul 3, 2022)

  • 2.28.1(Jun 22, 2022)

    What's Changed

    • github-actions(deps): bump shivammathur/setup-php from 2.19.0 to 2.19.1 by @dependabot in https://github.com/ergebnis/composer-normalize/pull/934
    • Fix: Update CHANGELOG.md by @eliashaeussler in https://github.com/ergebnis/composer-normalize/pull/935
    • composer(deps-dev): bump phpunit/phpunit from 9.5.20 to 9.5.21 by @dependabot in https://github.com/ergebnis/composer-normalize/pull/936
    • composer(deps-dev): bump psalm/plugin-phpunit from 0.16.1 to 0.17.0 by @dependabot in https://github.com/ergebnis/composer-normalize/pull/937
    • Fix: Remove banner by @localheinz in https://github.com/ergebnis/composer-normalize/pull/938

    Full Changelog: https://github.com/ergebnis/composer-normalize/compare/2.28.0...2.28.1

    Source code(tar.gz)
    Source code(zip)
    composer-normalize.phar(943.00 KB)
    composer-normalize.phar.asc(833 bytes)
  • 2.28.0(Jun 2, 2022)

    What's Changed

    • composer(deps-dev): bump symfony/filesystem from 5.4.7 to 5.4.9 by @dependabot in https://github.com/ergebnis/composer-normalize/pull/932
    • github-actions(deps): bump shivammathur/setup-php from 2.18.1 to 2.19.0 by @dependabot in https://github.com/ergebnis/composer-normalize/pull/931
    • Enhancement: Update schema.json by @ergebnis-bot in https://github.com/ergebnis/composer-normalize/pull/933

    Full Changelog: https://github.com/ergebnis/composer-normalize/compare/2.27.0...2.28.0

    Source code(tar.gz)
    Source code(zip)
    composer-normalize.phar(942.98 KB)
    composer-normalize.phar.asc(833 bytes)
  • 2.27.0(May 26, 2022)

    What's Changed

    • Fix link of phpunit/phpunit example by @eliashaeussler in https://github.com/ergebnis/composer-normalize/pull/924
    • composer(deps-dev): bump vimeo/psalm from 4.22.0 to 4.23.0 by @dependabot in https://github.com/ergebnis/composer-normalize/pull/925
    • Fix various links in CHANGELOG.md by @eliashaeussler in https://github.com/ergebnis/composer-normalize/pull/927
    • github-actions(deps): bump actions/github-script from 6.0.0 to 6.1.0 by @dependabot in https://github.com/ergebnis/composer-normalize/pull/928
    • github-actions(deps): bump ergebnis/.github from 1.4.1 to 1.5.0 by @dependabot in https://github.com/ergebnis/composer-normalize/pull/929
    • Enhancement: Update schema.json by @ergebnis-bot in https://github.com/ergebnis/composer-normalize/pull/930

    New Contributors

    • @eliashaeussler made their first contribution in https://github.com/ergebnis/composer-normalize/pull/924

    Full Changelog: https://github.com/ergebnis/composer-normalize/compare/2.26.0...2.27.0

    Source code(tar.gz)
    Source code(zip)
    composer-normalize.phar(942.97 KB)
    composer-normalize.phar.asc(833 bytes)
  • 2.26.0(May 2, 2022)

  • 2.25.2(Apr 20, 2022)

    What's Changed

    • composer(deps-dev): bump phpunit/phpunit from 9.5.19 to 9.5.20 by @dependabot in https://github.com/ergebnis/composer-normalize/pull/918
    • composer(deps-dev): bump symfony/filesystem from 5.4.6 to 5.4.7 by @dependabot in https://github.com/ergebnis/composer-normalize/pull/917
    • github-actions(deps): bump shivammathur/setup-php from 2.18.0 to 2.18.1 by @dependabot in https://github.com/ergebnis/composer-normalize/pull/919
    • github-actions(deps): bump stefanzweifel/git-auto-commit-action from 4.14.0 to 4.14.1 by @dependabot in https://github.com/ergebnis/composer-normalize/pull/921
    • Enhancement: Update schema.json by @ergebnis-bot in https://github.com/ergebnis/composer-normalize/pull/916
    • composer(deps): bump justinrainbow/json-schema from 5.2.11 to 5.2.12 by @dependabot in https://github.com/ergebnis/composer-normalize/pull/920
    • Fix: Update composer/composer by @localheinz in https://github.com/ergebnis/composer-normalize/pull/922

    Full Changelog: https://github.com/ergebnis/composer-normalize/compare/2.25.1...2.25.2

    Source code(tar.gz)
    Source code(zip)
    composer-normalize.phar(942.69 KB)
    composer-normalize.phar.asc(833 bytes)
  • 2.25.1(Mar 30, 2022)

  • 2.25.0(Mar 30, 2022)

    What's Changed

    • composer(deps-dev): bump ergebnis/php-cs-fixer-config from 3.4.0 to 4.4.0 by @dependabot in https://github.com/ergebnis/composer-normalize/pull/906
    • github-actions(deps): bump ergebnis/.github from 1.3.2 to 1.4.0 by @dependabot in https://github.com/ergebnis/composer-normalize/pull/907
    • github-actions(deps): bump actions/stale from 4.1.0 to 5 by @dependabot in https://github.com/ergebnis/composer-normalize/pull/908
    • Enhancement: Reuse composite actions from ergebnis/.github by @localheinz in https://github.com/ergebnis/composer-normalize/pull/909
    • github-actions(deps): bump actions/cache from 2.1.7 to 3 by @dependabot in https://github.com/ergebnis/composer-normalize/pull/910
    • github-actions(deps): bump shivammathur/setup-php from 2.17.1 to 2.18.0 by @dependabot in https://github.com/ergebnis/composer-normalize/pull/911
    • Enhancement: Update schema.json by @ergebnis-bot in https://github.com/ergebnis/composer-normalize/pull/912
    • Enhancement: Update composer/composer by @localheinz in https://github.com/ergebnis/composer-normalize/pull/913

    Full Changelog: https://github.com/ergebnis/composer-normalize/compare/2.24.1...2.25.0

    Source code(tar.gz)
    Source code(zip)
    composer-normalize.phar(941.11 KB)
    composer-normalize.phar.asc(566 bytes)
  • 2.24.1(Mar 19, 2022)

    What's Changed

    • composer(deps-dev): bump phpunit/phpunit from 9.5.17 to 9.5.18 by @dependabot in https://github.com/ergebnis/composer-normalize/pull/901
    • composer(deps-dev): bump phpunit/phpunit from 9.5.18 to 9.5.19 by @dependabot in https://github.com/ergebnis/composer-normalize/pull/902
    • github-actions(deps): bump stefanzweifel/git-auto-commit-action from 4.13.1 to 4.14.0 by @dependabot in https://github.com/ergebnis/composer-normalize/pull/903
    • Fix: Update composer/composer by @localheinz in https://github.com/ergebnis/composer-normalize/pull/904
    • Enhancement: Update humbug/box by @localheinz in https://github.com/ergebnis/composer-normalize/pull/905

    Full Changelog: https://github.com/ergebnis/composer-normalize/compare/2.24.0...2.24.1

    Source code(tar.gz)
    Source code(zip)
    composer-normalize.phar(927.93 KB)
    composer-normalize.phar.asc(566 bytes)
  • 2.24.0(Mar 9, 2022)

    What's Changed

    • composer(deps-dev): bump vimeo/psalm from 4.18.1 to 4.19.0 by @dependabot in https://github.com/ergebnis/composer-normalize/pull/883
    • Fix: Reference to composite action by @localheinz in https://github.com/ergebnis/composer-normalize/pull/884
    • composer(deps-dev): bump vimeo/psalm from 4.19.0 to 4.20.0 by @dependabot in https://github.com/ergebnis/composer-normalize/pull/886
    • composer(deps-dev): bump fakerphp/faker from 1.18.0 to 1.19.0 by @dependabot in https://github.com/ergebnis/composer-normalize/pull/887
    • github-actions(deps): bump shivammathur/setup-php from 2.16.0 to 2.17.0 by @dependabot in https://github.com/ergebnis/composer-normalize/pull/888
    • github-actions(deps): bump actions/github-script from 5 to 6 by @dependabot in https://github.com/ergebnis/composer-normalize/pull/889
    • composer(deps-dev): bump phpunit/phpunit from 9.5.13 to 9.5.14 by @dependabot in https://github.com/ergebnis/composer-normalize/pull/890
    • composer(deps-dev): bump vimeo/psalm from 4.20.0 to 4.21.0 by @dependabot in https://github.com/ergebnis/composer-normalize/pull/891
    • composer(deps-dev): bump vimeo/psalm from 4.21.0 to 4.22.0 by @dependabot in https://github.com/ergebnis/composer-normalize/pull/892
    • composer(deps-dev): bump symfony/filesystem from 5.4.3 to 5.4.5 by @dependabot in https://github.com/ergebnis/composer-normalize/pull/894
    • composer(deps-dev): bump phpunit/phpunit from 9.5.14 to 9.5.16 by @dependabot in https://github.com/ergebnis/composer-normalize/pull/893
    • github-actions(deps): bump actions/checkout from 2.4.0 to 3 by @dependabot in https://github.com/ergebnis/composer-normalize/pull/895
    • github-actions(deps): bump shivammathur/setup-php from 2.17.0 to 2.17.1 by @dependabot in https://github.com/ergebnis/composer-normalize/pull/896
    • composer(deps-dev): bump symfony/filesystem from 5.4.5 to 5.4.6 by @dependabot in https://github.com/ergebnis/composer-normalize/pull/898
    • composer(deps-dev): bump phpunit/phpunit from 9.5.16 to 9.5.17 by @dependabot in https://github.com/ergebnis/composer-normalize/pull/897
    • Enhancement: Stand with Ukraine by @localheinz in https://github.com/ergebnis/composer-normalize/pull/899

    Full Changelog: https://github.com/ergebnis/composer-normalize/compare/2.23.1...2.24.0

    Source code(tar.gz)
    Source code(zip)
    composer-normalize.phar(919.12 KB)
    composer-normalize.phar.asc(566 bytes)
  • 2.23.1(Jan 31, 2022)

    What's Changed

    • composer(deps-dev): bump vimeo/psalm from 4.17.0 to 4.18.1 by @dependabot in https://github.com/ergebnis/composer-normalize/pull/867
    • github-actions(deps): bump stefanzweifel/git-auto-commit-action from 4.12.0 to 4.13.0 by @dependabot in https://github.com/ergebnis/composer-normalize/pull/866
    • github-actions(deps): bump stefanzweifel/git-auto-commit-action from 4.13.0 to 4.13.1 by @dependabot in https://github.com/ergebnis/composer-normalize/pull/869
    • Fix: Run tests with --no-interaction option by @localheinz in https://github.com/ergebnis/composer-normalize/pull/870
    • Fix: Update composer/composer by @localheinz in https://github.com/ergebnis/composer-normalize/pull/871
    • Enhancement: Synchronize with ergebnis/php-package-template by @localheinz in https://github.com/ergebnis/composer-normalize/pull/872
    • Fix: Allow ergebnis/composer-normalize to run as composer plugin by @localheinz in https://github.com/ergebnis/composer-normalize/pull/873
    • Fix: Description by @localheinz in https://github.com/ergebnis/composer-normalize/pull/874
    • Fix: Add missing comma by @localheinz in https://github.com/ergebnis/composer-normalize/pull/878
    • composer(deps-dev): bump phpunit/phpunit from 9.5.11 to 9.5.13 by @dependabot in https://github.com/ergebnis/composer-normalize/pull/879
    • composer(deps-dev): bump fakerphp/faker from 1.17.0 to 1.18.0 by @dependabot in https://github.com/ergebnis/composer-normalize/pull/881
    • github-actions(deps): bump ergebnis/.github from 1.2.1 to 1.3.2 by @dependabot in https://github.com/ergebnis/composer-normalize/pull/880
    • composer(deps-dev): bump symfony/filesystem from 5.4.0 to 5.4.3 by @dependabot in https://github.com/ergebnis/composer-normalize/pull/882
    • Fix: Prevent updates of ergebnis/json-normalizer for now by @localheinz in https://github.com/ergebnis/composer-normalize/pull/875

    Full Changelog: https://github.com/ergebnis/composer-normalize/compare/2.23.0...2.23.1

    Source code(tar.gz)
    Source code(zip)
    composer-normalize.phar(917.76 KB)
    composer-normalize.phar.asc(566 bytes)
  • 2.23.0(Jan 4, 2022)

  • 2.22.0(Dec 29, 2021)

  • 2.21.0(Dec 28, 2021)

  • 2.20.0(Dec 28, 2021)

    • Fix: Drop support for PHP 7.2 (#845), by @localheinz
    • Enhancement: Use Php73 rule set (#846), by @localheinz
    • composer(deps-dev): bump ergebnis/php-cs-fixer-config from 2.14.0 to 3.4.0 (#847), by @dependabot[bot]
    • composer(deps-dev): bump phpunit/phpunit from 8.5.22 to 9.5.11 (#848), by @dependabot[bot]
    • Fix: Migrate configuration for phpunit/phpunit (#849), by @localheinz
    • Fix: Merge configuration files (#850), by @localheinz
    • Fix: Update CHANGELOG.md (#851), by @localheinz
    Source code(tar.gz)
    Source code(zip)
    composer-normalize.phar(911.92 KB)
    composer-normalize.phar.asc(833 bytes)
  • 2.19.0(Dec 28, 2021)

    • composer(deps-dev): bump vimeo/psalm from 4.14.0 to 4.15.0 (#831), by @dependabot[bot]
    • Fix: Allow composer/package-versions-deprecated to run as plugin (#833), by @localheinz
    • Fix: Add note about allow-plugins configuration option for composer/composer (#834), by @localheinz
    • composer(deps-dev): bump vimeo/psalm from 4.15.0 to 4.16.1 (#836), by @dependabot[bot]
    • composer(deps-dev): bump phpunit/phpunit from 8.5.21 to 8.5.22 (#835), by @dependabot[bot]
    • Enhancement: Pull in Helper from ergebnis/test-util (#839), by @localheinz
    • Enhancement: Require fakerphp/faker (#840), by @localheinz
    • Fix: Remove empty auto-review test suite (#842), by @localheinz
    • Enhancement: Remove ergebnis/test-util (#841), by @localheinz
    • Enhancement: Update composer/composer (#843), by @localheinz
    • Fix: Update CHANGELOG.md (#844), by @localheinz
    Source code(tar.gz)
    Source code(zip)
    composer-normalize.phar(911.91 KB)
    composer-normalize.phar.asc(833 bytes)
  • 2.18.0(Dec 8, 2021)

  • 2.17.0(Dec 5, 2021)

    • Fix: Name (#814), by @localheinz
    • composer(deps-dev): bump vimeo/psalm from 4.12.0 to 4.13.0 (#815), by @dependabot[bot]
    • github-actions(deps): bump actions/cache from 2.1.6 to 2.1.7 (#817), by @dependabot[bot]
    • github-actions(deps): bump shivammathur/setup-php from 2.15.0 to 2.16.0 (#818), by @dependabot[bot]
    • composer(deps-dev): bump vimeo/psalm from 4.13.0 to 4.13.1 (#819), by @dependabot[bot]
    • composer(deps-dev): bump symfony/filesystem from 5.3.4 to 5.4.0 (#820), by @dependabot[bot]
    • Enhancement: Use Markdown in title (#821), by @localheinz
    • Fix: Use dashes instead of asterisks for unordered lists (#822), by @localheinz
    • Fix: Use Xdebug instead of pcov for collecting code coverage (#823), by @localheinz
    • Fix: Order (#824), by @localheinz
    • Enhancement: Update schema.json (#816), by @ergebnis-bot
    • Fix: Update composer/composer (#825), by @localheinz
    Source code(tar.gz)
    Source code(zip)
    composer-normalize.phar(897.07 KB)
    composer-normalize.phar.asc(833 bytes)
  • 2.16.0(Nov 22, 2021)

    • composer(deps-dev): bump vimeo/psalm from 4.7.3 to 4.8.1 (#756), by @dependabot[bot]
    • composer(deps-dev): bump phpstan/phpstan from 0.12.89 to 0.12.90 (#757), by @dependabot[bot]
    • composer(deps-dev): bump phpstan/phpstan-phpunit from 0.12.19 to 0.12.20 (#758), by @dependabot[bot]
    • composer(deps-dev): bump psalm/plugin-phpunit from 0.16.0 to 0.16.1 (#759), by @dependabot[bot]
    • composer(deps-dev): bump phpunit/phpunit from 8.5.16 to 8.5.17 (#760), by @dependabot[bot]
    • Enhancement: Restore auto-merge of dependabot pull requests (#776), by @localheinz
    • github-actions(deps): bump shivammathur/setup-php from 2.11.0 to 2.12.0 (#766), by @dependabot[bot]
    • github-actions(deps): bump actions/stale from 3.0.19 to 4 (#765), by @dependabot[bot]
    • github-actions(deps): bump gr2m/create-or-update-pull-request-action from 1.4.0 to 1.4.1 (#772), by @dependabot[bot]
    • composer(deps-dev): bump phpstan/phpstan-strict-rules from 0.12.9 to 0.12.10 (#762), by @dependabot[bot]
    • composer(deps-dev): bump phpstan/phpstan-phpunit from 0.12.20 to 0.12.21 (#768), by @dependabot[bot]
    • composer(deps-dev): bump symfony/filesystem from 5.3.0 to 5.3.4 (#769), by @dependabot[bot]
    • composer(deps-dev): bump phpunit/phpunit from 8.5.17 to 8.5.19 (#774), by @dependabot[bot]
    • composer(deps): bump justinrainbow/json-schema from 5.2.10 to 5.2.11 (#770), by @dependabot[bot]
    • composer(deps-dev): bump vimeo/psalm from 4.8.1 to 4.9.2 (#775), by @dependabot[bot]
    • composer(deps-dev): bump vimeo/psalm from 4.9.2 to 4.9.3 (#778), by @dependabot[bot]
    • composer(deps-dev): bump phpstan/phpstan-phpunit from 0.12.21 to 0.12.22 (#777), by @dependabot[bot]
    • Remove trailing comma from composer.json README.md usage docs (#780), by @ntwb
    • github-actions(deps): bump actions/github-script from 4.0.2 to 4.1 (#782), by @dependabot[bot]
    • github-actions(deps): bump ibiqlik/action-yamllint from 3.0.2 to 3.0.4 (#783), by @dependabot[bot]
    • composer(deps-dev): bump phpstan/phpstan from 0.12.94 to 0.12.96 (#784), by @dependabot[bot]
    • composer(deps-dev): bump phpstan/phpstan-strict-rules from 0.12.10 to 0.12.11 (#785), by @dependabot[bot]
    • composer(deps-dev): bump phpstan/phpstan from 0.12.96 to 0.12.98 (#787), by @dependabot[bot]
    • composer(deps-dev): bump phpunit/phpunit from 8.5.19 to 8.5.20 (#786), by @dependabot[bot]
    • composer(deps-dev): bump vimeo/psalm from 4.9.3 to 4.10.0 (#788), by @dependabot[bot]
    • github-actions(deps): bump stefanzweifel/git-auto-commit-action from 4.11.0 to 4.12.0 (#789), by @dependabot[bot]
    • github-actions(deps): bump shivammathur/setup-php from 2.12.0 to 2.14.0 (#790), by @dependabot[bot]
    • composer(deps-dev): bump phpstan/phpstan from 0.12.98 to 0.12.99 (#791), by @dependabot[bot]
    • composer(deps-dev): bump phpunit/phpunit from 8.5.20 to 8.5.21 (#793), by @dependabot[bot]
    • github-actions(deps): bump actions/github-script from 4.1 to 5 (#792), by @dependabot[bot]
    • Fix: Adjust usage of octokit (#798), by @localheinz
    • github-actions(deps): bump shivammathur/setup-php from 2.14.0 to 2.15.0 (#794), by @dependabot[bot]
    • github-actions(deps): bump actions/checkout from 2.3.4 to 2.3.5 (#797), by @dependabot[bot]
    • github-actions(deps): bump ibiqlik/action-yamllint from 3.0.4 to 3.1 (#795), by @dependabot[bot]
    • github-actions(deps): bump gr2m/create-or-update-pull-request-action from 1.4.1 to 1.5.1 (#800), by @dependabot[bot]
    • Updated README.md - optimize console command's (#803), by @sfritzsche
    • composer(deps-dev): bump vimeo/psalm from 4.10.0 to 4.11.2 (#801), by @dependabot[bot]
    • composer(deps-dev): bump vimeo/psalm from 4.11.2 to 4.12.0 (#806), by @dependabot[bot]
    • github-actions(deps): bump actions/checkout from 2.3.5 to 2.4.0 (#805), by @dependabot[bot]
    • Fix: Drop support for composer/composer:^1.0.0` (#807), by @localheinz
    • Enhancement: Run tests on PHP 8.1 (#808), by @localheinz
    • Fix: Wrapping (#809), by @localheinz
    • Fix: Remove phpstan/phpstan (#810), by @localheinz
    • Fix: Do not cache cache directory for vimeo/psalm (#811), by @localheinz
    • Enhancement: Install humbug/box with phive (#812), by @localheinz
    • Enhancement: Update humbug/box (#813), by @localheinz
    • Enhancement: Update composer/composer (#804), by @localheinz
    Source code(tar.gz)
    Source code(zip)
    composer-normalize.phar(882.87 KB)
    composer-normalize.phar.asc(833 bytes)
  • 2.15.0(Jun 15, 2021)

  • 2.14.0(Jun 2, 2021)

    • composer(deps-dev): bump vimeo/psalm from 4.7.2 to 4.7.3 (#745), by @dependabot[bot]
    • Enhancement: Update schema.json (#744), by @ergebnis-bot
    • github-actions(deps): bump ibiqlik/action-yamllint from 3.0.1 to 3.0.2 (#746), by @dependabot[bot]
    • github-actions(deps): bump actions/cache from 2.1.5 to 2.1.6 (#747), by @dependabot[bot]
    • composer(deps-dev): bump psalm/plugin-phpunit from 0.15.1 to 0.15.2 (#748), by @dependabot[bot]
    • composer(deps-dev): bump symfony/filesystem from 5.2.7 to 5.3.0 (#749), by @dependabot[bot]
    • Fix: Increase dependabot interval length from one day to one week (#751), by @localheinz
    • Fix: Update composer/composer (#750), by @localheinz
    Source code(tar.gz)
    Source code(zip)
    composer-normalize.phar(863.17 KB)
    composer-normalize.phar.asc(833 bytes)
  • 2.13.4(May 19, 2021)

    • Fix: Do not advertise archived action (#708), by @localheinz
    • Fix: Do not advertise external service (#709), by @localheinz
    • composer(deps-dev): bump vimeo/psalm from 4.6.2 to 4.6.4 (#712), by @dependabot[bot]
    • composer(deps-dev): bump phpunit/phpunit from 8.5.14 to 8.5.15 (#713), by @dependabot[bot]
    • composer(deps-dev): bump phpstan/phpstan from 0.12.80 to 0.12.82 (#714), by @dependabot[bot]
    • composer(deps-dev): bump symfony/filesystem from 5.2.4 to 5.2.6 (#715), by @dependabot[bot]
    • composer(deps-dev): bump vimeo/psalm from 4.6.4 to 4.7.0 (#716), by @dependabot[bot]
    • github-actions(deps): bump stefanzweifel/git-auto-commit-action from v4.9.2 to v4.10.0 (#719), by @dependabot[bot]
    • github-actions(deps): bump actions/cache from v2.1.4 to v2.1.5 (#720), by @dependabot[bot]
    • composer(deps-dev): bump ergebnis/test-util from 1.4.0 to 1.5.0 (#717), by @dependabot[bot]
    • composer(deps-dev): bump phpstan/phpstan from 0.12.82 to 0.12.84 (#721), by @dependabot[bot]
    • github-actions(deps): bump actions/github-script from v3.1 to v4.0.2 (#724), by @dependabot[bot]
    • github-actions(deps): bump shivammathur/setup-php from 2.10.0 to 2.11.0 (#726), by @dependabot[bot]
    • composer(deps-dev): bump symfony/filesystem from 5.2.6 to 5.2.7 (#728), by @dependabot[bot]
    • github-actions(deps): bump stefanzweifel/git-auto-commit-action from 4.10.0 to 4.11.0 (#733), by @dependabot[bot]
    • github-actions(deps): bump ibiqlik/action-yamllint from 3 to 3.0.1 (#734), by @dependabot[bot]
    • github-actions(deps): bump actions/stale from 3.0.18 to 3.0.19 (#740), by @dependabot[bot]
    • composer(deps-dev): bump vimeo/psalm from 4.7.0 to 4.7.2 (#729), by @dependabot[bot]
    • composer(deps-dev): bump ergebnis/php-cs-fixer-config from 2.13.0 to 2.14.0 (#731), by @dependabot[bot]
    • composer(deps-dev): bump phpstan/phpstan-phpunit from 0.12.18 to 0.12.19 (#735), by @dependabot[bot]
    • Fix: Rename .php_cs to .php-cs-fixer.php (#741), by @localheinz
    • Fix: Stop using --diff-format option (#742), by @localheinz
    • Fix: Require composer/composer:2.0.13 for composer-normalize.phar (#743), by @localheinz
    Source code(tar.gz)
    Source code(zip)
    composer-normalize.phar(857.55 KB)
    composer-normalize.phar.asc(833 bytes)
  • 2.13.3(Mar 6, 2021)

    • Fix: Update examples (#649), by @localheinz
    • Fix: Formatting (#650), by @localheinz
    • Enhancement: Update README.md (#651), by @localheinz
    • Fix: Use image that does not suggest membership (#652), by @localheinz
    • Enhancement: Synchronize with ergebnis/php-library-template (#653), by @localheinz
    • Enhancement: Update license year (#654), by @localheinz
    • Enhancement: Synchronize with ergebnis/php-library-template (#655), by @localheinz
    • Enhancement: Update ergebnis/composer-normalize (#656), by @localheinz
    • Enhancement: Synchronize with ergebnis/php-library-template (#657), by @localheinz
    • composer(deps-dev): bump phpstan/phpstan from 0.12.64 to 0.12.65 (#658), by @dependabot[bot]
    • composer(deps-dev): bump phpstan/phpstan from 0.12.65 to 0.12.66 (#659), by @dependabot[bot]
    • composer(deps-dev): bump phpstan/phpstan-strict-rules from 0.12.7 to 0.12.8 (#660), by @dependabot[bot]
    • composer(deps-dev): bump phpstan/phpstan-strict-rules from 0.12.8 to 0.12.9 (#661), by @dependabot[bot]
    • composer(deps-dev): bump phpstan/phpstan from 0.12.66 to 0.12.67 (#662), by @dependabot[bot]
    • github-actions(deps): bump gr2m/create-or-update-pull-request-action from 1.3.3 to 1.3.4 (#663), by @dependabot[bot]
    • composer(deps-dev): bump phpunit/phpunit from 8.5.13 to 8.5.14 (#664), by @dependabot[bot]
    • composer(deps-dev): bump phpstan/phpstan from 0.12.67 to 0.12.68 (#666), by @dependabot[bot]
    • composer(deps-dev): bump phpstan/phpstan from 0.12.68 to 0.12.69 (#668), by @dependabot[bot]
    • github-actions(deps): bump actions/stale from 3.0.14 to 3.0.15 (#669), by @dependabot[bot]
    • Enhancement: Update vimeo/psalm and psalm/plugin-phpunit (#675), by @localheinz
    • composer(deps-dev): bump symfony/filesystem from 5.2.1 to 5.2.2 (#671), by @dependabot[bot]
    • composer(deps-dev): bump ergebnis/php-cs-fixer-config from 2.10.0 to 2.13.0 (#674), by @dependabot[bot]
    • composer(deps-dev): bump phpstan/phpstan from 0.12.69 to 0.12.70 (#672), by @dependabot[bot]
    • composer(deps-dev): bump phpstan/phpstan from 0.12.70 to 0.12.71 (#676), by @dependabot[bot]
    • composer(deps-dev): bump symfony/filesystem from 5.2.2 to 5.2.3 (#677), by @dependabot[bot]
    • github-actions(deps): bump actions/cache from 2.1.3 to 2.1.4 (#678), by @dependabot[bot]
    • github-actions(deps): bump actions/stale from 3.0.15 to 3.0.16 (#680), by @dependabot[bot]
    • composer(deps-dev): bump phpstan/phpstan from 0.12.71 to 0.12.73 (#681), by @dependabot[bot]
    • composer(deps-dev): bump phpstan/phpstan from 0.12.73 to 0.12.74 (#682), by @dependabot[bot]
    • github-actions(deps): bump gr2m/create-or-update-pull-request-action from 1.3.4 to 1.3.5 (#683), by @dependabot[bot]
    • composer(deps-dev): bump phpstan/phpstan from 0.12.74 to 0.12.75 (#686), by @dependabot[bot]
    • composer(deps-dev): bump vimeo/psalm from 4.4.1 to 4.5.2 (#687), by @dependabot[bot]
    • composer(deps-dev): bump phpstan/phpstan from 0.12.75 to 0.12.76 (#688), by @dependabot[bot]
    • composer(deps-dev): bump vimeo/psalm from 4.5.2 to 4.6.0 (#689), by @dependabot[bot]
    • composer(deps-dev): bump vimeo/psalm from 4.6.0 to 4.6.1 (#690), by @dependabot[bot]
    • composer(deps-dev): bump phpstan/phpstan from 0.12.76 to 0.12.77 (#691), by @dependabot[bot]
    • github-actions(deps): bump actions/stale from 3.0.16 to 3.0.17 (#692), by @dependabot[bot]
    • github-actions(deps): bump stefanzweifel/git-auto-commit-action from 4.8.0 to 4.9.0 (#693), by @dependabot[bot]
    • composer(deps-dev): bump phpstan/phpstan from 0.12.77 to 0.12.78 (#694), by @dependabot[bot]
    • github-actions(deps): bump stefanzweifel/git-auto-commit-action from 4.9.0 to 4.9.1 (#695), by @dependabot[bot]
    • github-actions(deps): bump shivammathur/setup-php from 2.9.0 to 2.10.0 (#696), by @dependabot[bot]
    • composer(deps-dev): bump phpstan/phpstan from 0.12.78 to 0.12.79 (#697), by @dependabot[bot]
    • composer(deps-dev): bump vimeo/psalm from 4.6.1 to 4.6.2 (#698), by @dependabot[bot]
    • github-actions(deps): bump gr2m/create-or-update-pull-request-action from 1.3.5 to 1.4.0 (#700), by @dependabot[bot]
    • composer(deps-dev): bump phpstan/phpstan from 0.12.79 to 0.12.80 (#701), by @dependabot[bot]
    • github-actions(deps): bump stefanzweifel/git-auto-commit-action from 4.9.1 to 4.9.2 (#702), by @dependabot[bot]
    • composer(deps-dev): bump symfony/filesystem from 5.2.3 to 5.2.4 (#703), by @dependabot[bot]
    • github-actions(deps): bump actions/stale from 3.0.17 to 3.0.18 (#705), by @dependabot[bot]
    • composer(deps-dev): bump phpstan/phpstan-phpunit from 0.12.17 to 0.12.18 (#706), by @dependabot[bot]
    • composer(deps): bump ergebnis/json-normalizer from 1.0.2 to 1.0.3 (#707), by @dependabot[bot]
    Source code(tar.gz)
    Source code(zip)
    composer-normalize.phar(852.02 KB)
    composer-normalize.phar.asc(833 bytes)
  • 2.13.2(Dec 31, 2020)

  • 2.13.1(Dec 31, 2020)

  • 2.13.0(Dec 30, 2020)

  • 2.12.2(Dec 30, 2020)

  • 2.12.1(Dec 29, 2020)

Owner
null
Simple composer script to manage phar files using project composer.json.

tooly-composer-script With tooly composer-script you can version needed PHAR files in your project's composer.json without adding them directly to a V

Tommy MĂĽhle 100 Sep 27, 2022
Simple static Composer repository generator - For a full private Composer repo use Private Packagist

Satis Simple static Composer repository generator. Run from source Satis requires a recent PHP version, it does not run with unsupported PHP versions.

Composer 2.9k Jan 3, 2023
composer parallel install plugin

prestissimo (composer plugin) This is a composer 1.x plugin that downloads packages in parallel to speed up the installation process. Announcement: Co

Hiraku NAKANO 6.3k Dec 25, 2022
A no-frills PsySH-Composer plugin

uma/composer-psysh A no-frills PsySH-Composer plugin. In a nutshell, it provides a composer psy subcommand that spawns a Psy Shell with autoload integ

Marcel Hernandez 18 May 23, 2022
This library provides a way of avoiding usage of constructors when instantiating PHP classes.

Instantiator This library provides a way of avoiding usage of constructors when instantiating PHP classes. Installation The suggested installation met

Doctrine 10.7k Dec 29, 2022
Check your Composer dependencies at runtime.

Composition Composition provides a lightweight and generic API, that you can use to check your environment at runtime, instead of manually go checking

Bilal Amarni 108 May 4, 2021
Patch other composer packages on install or update

patch-installer Patch other composer packages on install or update. experimental feature Usage For a patch type change the install path to vendor dire

Maik Penz 49 Apr 11, 2021
Easily parse your project's Composer configuration, and those of its dependencies, at runtime

Composed This library provides a set of utility functions designed to help you parse your project's Composer configuration, and those of its dependenc

Josh Di Fabio 50 Nov 27, 2022
Satis-go is a web server for hosting and managing your Satis Repository for Composer Packages

Satis-go download latest Satis-go is a web server for hosting and managing your Satis Repository for Composer Packages Some Highlights: Satis-go provi

Ben Schwartz 99 Aug 1, 2022
Json-normalizer: Provides generic and vendor-specific normalizers for normalizing JSON documents

json-normalizer Provides generic and vendor-specific normalizers for normalizing JSON documents. Installation Run $ composer require ergebnis/json-nor

null 64 Dec 31, 2022
JSONFinder - a library that can find json values in a mixed text or html documents, can filter and search the json tree, and converts php objects to json without 'ext-json' extension.

JSONFinder - a library that can find json values in a mixed text or html documents, can filter and search the json tree, and converts php objects to json without 'ext-json' extension.

Eboubaker Eboubaker 2 Jul 31, 2022
A composer plugin, to install differenty types of composer packages in custom directories outside the default composer default installation path which is in the vendor folder.

composer-custom-directory-installer A composer plugin, to install differenty types of composer packages in custom directories outside the default comp

Mina Nabil Sami 136 Dec 30, 2022
Merge one or more additional composer.json files at Composer runtime

Composer Merge Plugin Merge multiple composer.json files at Composer runtime. Composer Merge Plugin is intended to allow easier dependency management

Wikimedia 844 Dec 5, 2022
Simple composer script to manage phar files using project composer.json.

tooly-composer-script With tooly composer-script you can version needed PHAR files in your project's composer.json without adding them directly to a V

Tommy MĂĽhle 100 Sep 27, 2022
Tool to convert from composer.yml to composer.json.

composer-yaml This project allows you to convert a composer.yml file into composer.json format. It will use those exact filenames of your current work

Igor 56 Sep 28, 2022
Dependency graph visualization for composer.json (PHP + Composer)

clue/graph-composer Graph visualization for your project's composer.json and its dependencies: Table of contents Usage graph-composer show graph-compo

Christian LĂĽck 797 Jan 5, 2023
Ied plugin composer - Inspired Plugin Composer: Create, publish and edit plugins from within Textpattern CMS.

ied_plugin_composer Create, publish and edit plugins from within Textpattern CMS. Creates a new page under the Extensions tab where you can edit and e

Stef Dawson 8 Oct 3, 2020
Opinionated version of Wikimedia composer-merge-plugin to work in pair with Bamarni composer-bin-plugin.

Composer Inheritance Plugin Opinionated version of Wikimedia composer-merge-plugin to work in pair with bamarni/composer-bin-plugin. Usage If you are

Théo FIDRY 25 Dec 2, 2022
A simple library to work with JSON Web Token and JSON Web Signature

JWT A simple library to work with JSON Web Token and JSON Web Signature based on the RFC 7519. Installation Package is available on Packagist, you can

LuĂ­s Cobucci 6.8k Jan 3, 2023
Allows generate class files parse from json and map json to php object, including multi-level and complex objects;

nixihz/php-object Allows generate class files parse from json and map json to php object, including multi-level and complex objects; Installation You

zhixin 2 Sep 9, 2022