Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Composer Script Names Laravel Package

pds/composer-script-names

Standardizes Composer script naming for PHP packages: lowercase with dashes. Defines canonical script names for common tasks like test, test-coverage, test-*, cs-fix, analyse/analyze, and check, improving consistency across projects.

View on GitHub
Deep Wiki
Context7

pds/composer-script-names

This publication describes a standard suitable for all PHP packages regarding Composer script names.

Please see https://github.com/php-pds/composer-script-names_research for background information.

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this publication are to be interpreted as described in RFC 2119.

Summary

Script names in the composer.json file MUST be lower-case, and MUST use dashes as word separators.

The composer.json file MUST use these script names for these purposes:

If the composer.json file defines a script to ... ... then it MUST be named:
Run tests using a default configuration test
Run tests using a default configuration, with coverage generation test-coverage
Run tests using alternative configurations or approaches test-* (see below)
Run a coding style fixer and/or code linter using a default configuration cs-fix
Run static analysis using a default configuration analyse OR analyze
Run multiple QA scripts or commands in sequence check

Naming Convention

Script names in the composer.json file MUST be lower-case, and MUST use dashes as word separators.

Examples of compliant script names:

  • foo
  • foo-bar
  • foo-bar-baz

Examples of non-compliant script names:

  • Foo
  • foo:bar
  • foo_bar:Baz

Script Names

test

If the composer.json file defines a script to run tests using a default configuration, it MUST be named test.

This publication does not otherwise define the test tooling.

test-coverage

If the composer.json file defines a script to run tests using a default configuration, with coverage generation, it MUST be named test-coverage.

This publication does not otherwise define the test coverage tooling.

test-*

If the composer.json file defines a script to run tests using alternative configurations or approaches, it MUST use the prefix test- with a descriptive suffix.

Examples:

  • test-behavior
  • test-filter
  • test-integation
  • test-system

Aside from test-coverage, this publication does not otherwise define the meaning of any test-* descriptive suffix.

cs-fix

If the composer.json file defines a script to run a coding style fixer and/or code linter using a default configuration, it MUST be named cs-fix.

This publication does not otherwise define the style fixer or code linter tooling.

analyse or analyze

If the composer.json file defines a script to run static analysis using a default configuration, it MUST be named EITHER analyse OR analyze.

N.b.: The naming alternatives reflect differences in typical usage by American and British English speakers.

This publication does not otherwise define the static analysis tooling.

check

If the composer.json file defines a script to run multiple quality-assurance scripts or commands in sequence, it MUST be named check.

This publication does not otherwise define the specific scripts or commands, nor the order in which they are to run.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
davejamesmiller/laravel-breadcrumbs
artisanry/parsedown
christhompsontldr/phpsdk
enqueue/dsn
bunny/bunny
enqueue/test
enqueue/null
enqueue/amqp-tools
milesj/emojibase
bower-asset/punycode
bower-asset/inputmask
bower-asset/jquery
bower-asset/yii2-pjax
laravel/nova
spatie/laravel-mailcoach
spatie/laravel-superseeder
laravel/liferaft
nst/json-test-suite
danielmiessler/sec-lists
jackalope/jackalope-transport