Skip to content

Latest commit

 

History

History
95 lines (66 loc) · 3.07 KB

File metadata and controls

95 lines (66 loc) · 3.07 KB

Scripts

Collection of JS scripts for WordPress development.

Installation

Install the module

npm install @wordpress/scripts --save-dev

Setup

This is a CLI and exposes a binary called wp-scripts so you can call it directly. However this module is designed to be configured using the scripts section in the package.json file of your project.

Example:

{
	"scripts": {
		"lint:pkg-json": "wp-scripts lint-pkg-json .",
		"test": "wp-scripts test-unit-js"
	}
}

Available Scripts

wp-scripts lint-pkg-json

Helps enforce standards for your package.json file. It uses npm-package-json-lint with the set of default rules provided. You can override them with your own rules as described in npm-package-json-lint wiki.

Example:

{
	"scripts": {
		"lint:pkg-json": "wp-scripts lint-pkg-json ."
	}
}

This is how you execute those scripts using the presented setup:

  • npm run lint:pkg-jsont - lints package.json file in the project's root folder.

wp-scripts test-unit-js

Alias: wp-scripts test-unit-jest

Launches the test runner. It uses Jest behind the scenes and you are able to utilize all of its CLI options. You can also run ./node_modules/.bin/wp-scripts test-unit-js --help or npm run test:help (as presented below) to view all of the available options.

Example:

{
	"scripts": {
		"test": "wp-scripts test-unit-js",
		"test:help": "wp-scripts test-unit-js --help",
		"test:watch": "wp-scripts test-unit-js --watch"
	}
}

This is how you execute those scripts using the presented setup:

  • npm run test or npm test - runs all unit tests.
  • npm run test:help - prints all available options to configure unit tests runner.
  • npm run test:watch - runs all unit tests in the watch mode.

wp-scripts check-licenses

Validates that all dependencies of a project are compatible with the project's own license.

Example:

{
	"scripts": {
		"check-licenses": "wp-scripts check-licenses --prod --gpl2 --ignore=abab",
	}
}

Flags:

  • --prod (or --production): When present, validates only dependencies and not devDependencies
  • --dev (or --development): When present, validates both dependencies and devDependencies
  • --gpl2: Validates against GPLv2 license compatibility
  • --ignore=a,b,c: A comma-separated set of package names to ignore for validation. This is intended to be used primarily in cases where a dependency's license field is malformed. It's assumed that any ignored package argument would be manually vetted for compatibility by the project owner.

Inspiration

This is inspired by react-scripts and kcd-scripts.



Code is Poetry.