- The bundled
sass
dependency has been updated from^1.35.2
to^1.50.1
(#67572). - The bundled
sass-loader
dependency has been updated from^12.1.0
to^16.0.3
(#67572). - The bundled
mini-css-extract-plugin
dependency has been updated from^2.5.1
to^2.9.2
(#67572). - The bundled
webpack
dependency has been updated from^5.95.0
to^5.97.0
(#67572). - The bundled
cross-spawn
dependency has been updated from^5.1.0
to^7.0.6
(#67708). - The bundled
jest-dev-server
dependency has been updated from^9.0.1
to^10.1.4
(#67708). - The bundled
puppeteer-core
dependency has been updated from^23.1.0
to^23.10.1
(#67708).
- Make React Fast Refresh in the
start
command work with multiple blocks (64924).
- Revert changes from #61121 that inlined CSS files imported from other CSS files before optimization in the
build
command.
- Make
start
script more resilient for developer errors (#66752).
- Add BlueOak-1.0.0 the GPLv2-compatible licenses recognized by check-licenses (#66139).
- Add an optional
--root-folder
argument to theplugin-zip
command (#61375). By default, the command will use the plugin's name as the root folder of the zip. If the change in the behavior impacted your workflow, you could pass--no-root-folder
to remove the root folder.
- Refactor to extract license related logic to a reusable module (#66179).
- Add new
build-blocks-manifest
command to generate a PHP file containing block metadata from allblock.json
files in a project (#65866).
- Updated
stylelint
dependency to^16.8.2
(#64828). - Switched default config from
@wordpress/stylelint-config/scss
to use@wordpress/stylelint-config/scss-stylistic
to keep stylistic rules (#64828).
- Fixed the issue with having 5 high severity vulnerabilities by upgrading the
puppeteer-core
package to the latest major version^23.1.0
(#64597).
- Inlines CSS files imported from other CSS files before optimization in the
build
command (#61121).
- Added chunk filename in webpack config to avoid reading stale files (#58176).
- Update webpack configuration for the
build
andstart
commands to automatically copy PHP files listed in thevariations
field ofblock.json
files from the source to the build folder (#63098).
Note If you're using @wordpress/scripts for building JS scripts to target WordPress 6.5 or earlier, you should not upgrade to this version and continue using @wordpress/scripts@27.
- Use React's automatic runtime to transform JSX (#61692).
- Variables like
process.env.IS_GUTENBERG_PLUGIN
have been replaced byglobalThis.IS_GUTENBERG_PLUGIN
. Build systems usingprocess.env
should be updated (#61486). - Increase the minimum required Node.js version to v18.12.0 matching long-term support releases (#31270). Learn more about Node.js releases.
- Add RTL support when building CSS styles with
build
andstart
scripts (#61540).
- Add experimental support for
viewScriptModule
field in block.json forbuild
andstart
scripts (#57437).
- Ensure that watched module builds detect block.json changes (#57927).
- Experimental support for
viewModule
field in block.json is deprecated in favor ofviewScriptModule
(#57437).
- Add experimental support for
viewModule
field in block.json forbuild
andstart
scripts (#57461).
- Drop support for Node.js versions < 18.
- Fix CSS imports not minified (#56516).
- The bundled
jest-dev-server
dependency has been updated from^6.0.2
to^9.0.1
(#33287).
- The bundled
@pmmmwh/react-refresh-webpack-plugin
dependency has been updated from requiring^0.5.2
to requiring^0.5.11
(#54657). - The bundled
browserslist
dependency has been updated from requiring^4.21.9
to requiring^4.21.10
(#54657). - The bundled
react-refresh
dependency has been updated from requiring^0.10.0
to requiring^0.14.0
(#54657). - The bundled
webpack
dependency has been updated from requiring^5.47.1
to requiring^5.88.2
(#54657). - The bundled
webpack-bundle-analyzer
dependency has been updated from requiring^4.4.2
to requiring^4.9.1
(#54657). - The bundled
webpack-cli
dependency has been updated from requiring^4.9.1
to requiring^5.1.4
(#54657). - The bundled
webpack-dev-server
dependency has been updated from requiring^4.4.0
to requiring^4.15.1
(#54657).
- Added support for
test-playwright
script (#53108). - The bundled
wp-prettier
dependency has been upgraded from2.8.5
to3.0.3
(#54539).
- Correctly resolve entry points when the directory is symlinked (#54212).
- Updated
npm-package-json-lint
peer dependency to require v6.0.0 #53636. - The bundled
@svgr/webpack
dependency has been updated from requiring ^6.2.1 to requiring ^8.0.1 (#53630). - The bundled
cssnano
dependency has been updated from requiring ^5.07 to requiring ^6.0.1 (#53630).
- Fix prevent watch mode from aborting when encountering a
block.json
file that contains invalid JSON. (#51971)
- The bundled
terser-webpack-plugin
dependency has been updated from requiring^5.1.4
to requiring^5.3.9
(#50994). - Optimize updating render paths when developing blocks with the
start
command (#51162).
- Ensure files listed in
render
field ofblock.json
files are always copied to the build folder when using thestart
command (#50939).
- License check script supports conjunctive (AND) licenses (46801).
- The bundled
wp-prettier
dependency has been upgraded from2.6.2
to2.8.5
(#49258).
- Started using Jest v29 instead of v27 as a dependency. See breaking changes in Jest 28 and in jest 29 (#47388)
- Fix
render.php
isn't copied in Windows OS (#48735).
- The
WP_DEVTOOL
environment variable can now be used to set the Webpack devtool option for sourcemaps in production builds (#46812). Previously, this only worked for development builds. - Update default webpack config and lint-style script to allow PostCSS (
.pcss
extension) file usage (#45352). - Add
--no-watch
option to allow creating the unminified/dev JS without starting the watcher (#44237).
- Updated dependencies to require React 18 (45235)
- Update the default webpack config to allow
webp
image format (#43880). - Update webpack configuration for the
build
andstart
commands to automatically copy PHP files listed in therender
field ofblock.json
files from the source to the build folder (#43917).
- Increase the minimum Node.js version to 14 and minimum npm version to 6.14.4 (#43141).
- The bundled
@wordpress/eslint-plugin
package got updated to the new major version and the default linting for Jest unit tests is now handled in the default config in this package (#43272).
- Packages: Replace
is-plain-obj
withis-plain-object
(#43511).
- Jest Preset: Improve
is-plain-obj
transformation ignore (#43271).
- Jest Preset: Ignore
is-plain-obj
transformation (#43179).
- Fix the incorrect exit error code when status missing in
webpack
call forbuild
andstart
commands (#42396).
- The bundled
wp-prettier
dependency has been upgraded from2.2.1
to2.6.2
(#40542).
- Fix incorrect handling in
plugin-zip
for root-level files and some specific platform conditions (#41439).
- Enable by default code formatting for JSON files in the
format
command (#40994). You can opt-out of this behavior by providing a custom file matcher, example:wp-scripts format src/**/*.js
. - Support tsx files in
viewScript
,script
,editorScript
(#41068).
- Fix: env unit test fails on Windows (#41070)
- Remove
lint-md-js
script that was broken for some time and it's extemely hard to make it work correctly with the recommended ESLint config in Markdown files (#40511). - Remove the previously deprecated and undocumented
format-js
command (#40512). You should use theformat
command instead.
- Add
--dist-tag
flag to thepackages-update
command to allow specifying a custom dist-tag when updating npm packages ([#40514](https://github.com/WordPress/gutenberg/pull/
- Update
markdownlint
andmarkdownlint-cli
to the latest versions (#40479).
- Add
--webpack-src-dir
CLI flag to allow customizing the source code directory (src
by default) (#39618).
- Add
vendor/
to.markdownlintignore
, to matchlint-md-docs
docs (#39724). - Include files with
.jsx
extension in the build process (#39613). - Ensure that the default logic for entry points in the build commands is executed only when used the default config (#39618).
- The bundled
@wordpress/eslint-plugin
package got updated to the new major version, but the breaking changes included don't affect this package (#39244).
- Add
--webpack-copy-php
CLI flag to opt-in to copying php files fromsrc
and its subfolders to the output directory (build
by default) (#39171).
- The bundled
@svgr/webpack
dependency has been updated from requiring^5.5.0
to requiring^6.2.1
(#38866). See official migration guide to v6 for details.
- Automatically copy PHP files located in the
src
folder and its subfolders to the output directory (build
by default) (#38715).
- Entry points are not detected in Windows OS (#38781).
- Return a default entry object in the
build
command when no entry files discovered in the project (#38737).
- The bundled
puppeteer-core
dependency has been updated from requiring^11.0.0
to requiring^13.2.0
(#37078).
- Fix the handling for entry points when running
build
command (#38584).
- Fix the
build
command that does not generate assets on Windows OS (#38348). - Adds fallback to
src/index.js
when no valid scripts discovered in metadata files when running thebuild
command (#38367).
- Ensure that React Fast Refresh is not wired when it isn't explicitly enabled with
--hot
CLI argument when running thestart
command.
- The bundled
eslint
dependency has been updated from requiring^7.17.0
to requiring^8.3.0
(#36283). - The
puppeteer-core
dependency has been updated from requiring^10.1.0
to requiring^11.0.0
(see Breaking Changes, #36040). - Removed support for live reload in the
start
command (#28273). - The bundled
webpack-cli
dependency has been updated to the next major version^4.9.1
(#28273). - The peer
jest
dependency has been updated from requiring>=26
to requiring>=27
(see Breaking Changes, #33287). - The bundled
jest-dev-server
dependency has been updated to the next major version^6.0.0
(#33287). - The bundled
stylelint
dependency has been updated from requiring^13.8.0
to requiring^14.2.0
(#38091).
- Added a new
plugin-zip
command to create a zip file for a WordPress plugin (#37687). - Added optional support for React Fast Refresh in the
start
command. It can be activated with--hot
CLI argument (#28273). For now, it requires that WordPress has theSCRIPT_DEBUG
flag enabled and the Gutenberg plugin installed. - Automatically copy
block.json
files located in thesrc
folder and its subfolders to the output folder (build
by default) (#37612). - Scan the
src
directory forblock.json
files to detect defined scripts to use them as entry points with thestart
andbuild
commands. (#37661).
- Disable
selector-class-pattern
rule when linting styles until we have more flexible handling (#37531).
- Prevent the
CleanWebpackPlugin
plugin from deleting webpack assets during multi-configuration builds #35980. - Remove temporary workaround fixing CommonJS import for
mini-css-extract-plugin
#38027.
- The bundled
read-pkg-up
dependency has been updated from requiring^1.0.1
to requiring^7.0.1
(#37395).
- Added temporary workaround to fix broken CommonJS import of
mini-css-extract-plugin
#38004.
- Add basic support for TypeScript in
build
,start
,test-e2e
andtest-unit-js
commands (#36260).
- The bundled
browserslist
dependency has been updated from requiring^4.16.6
to requiring^4.17.6
(#36244). - Updated the default ESLint config to work correctly with the latest version of
@wordpress/eslint-plugin
(#36244).
- Increase the timeout for e2e tests to 30 seconds (#35983).
- The webpack config was updated to no longer include the polyfill by default when creating the
assets.php
file. If your usage requires thewp-polyfill
, you must explicitly set it as a dependency (#34536].
- Allow customization of the
ARTIFACTS_PATH
in thejest-environment-puppeteer
failed test reporter via theWP_ARTIFACTS_PATH
environment variable (#35371).
- The bundled
jest-dev-server
dependency has been updated to the next major version^5.0.3
(#34560).
- Bring back support for SVG files in CSS (#34394). It wasn't correctly migrated when integrating webpack v5.
- Convert legacy entry point arguments supported in webpack 4 for compatibility with webpack 5 (#34264).
- Increase the minimum Node.js version to v12.13 matching requirements from bundled dependencies (#33818).
- The bundled
webpack
dependency has been updated to the next major version^5.47.1
(see Breaking Changes, #33818). - The bundled
webpack-cli
dependency has been updated to the next major version^4.7.2
(#33818). - The bundled
css-loader
dependency has been updated from requiring^5.1.3
to requiring^6.2.0
(#33818). - The bundled
file-loader
dependency has been removed (#33818). - The bundled
ignore-emit-webpack-plugin
dependency has been removed (#33818). - The bundled
mini-css-extract-plugin
dependency has been updated from requiring^1.3.9
to requiring^2.1.0
(#33818). - The bundled
postcss-loader
dependency has been updated from requiring^4.2.0
to requiring^6.1.1
(#33818). - The bundled
sass-loader
dependency has been updated from requiring^10.1.1
to requiring^12.1.0
(#33818). - The bundled
source-map-loader
dependency has been updated from requiring^0.2.4
to requiring^3.0.0
(#33818). - The bundled
thread-loader
dependency has been removed (#33818). - The bundled
terser-webpack-plugin
dependency has been updated from requiring^3.0.3
to requiring^5.1.4
(#33818). - The bundled
webpack-live-reload-plugin
dependency has been updated from requiring^2.3.0
to requiring^3.0.1
(#33818). - The bundled
webpack-sources
dependency has been removed (#33818).
- The bundled
@svgr/webpack
dependency has been updated from requiring^5.2.0
to requiring^5.5.0
(#33818). - The bundled
webpack-bundle-analyzer
dependency has been updated from requiring^4.2.0
to requiring^4.4.2
(#33818).
- Add missing fallback for target in webpack 5 config (#34112),
- Update
eslint-plugin-markdown
package to2.20.0
(#33432). - Update
sass
package to1.35.2
(#33433). - Update webpack config to minimize also CSS files (#33676).
- The default PostCSS config uses cssnano to minimize CSS output (#33750).
- Upgrade
puppeteer-core
(^9.0.0
) to version^10.1.0
. This version drops support for Node v10.
- Add .markdownlintignore config and reference from lint-md-docs script (#32633).
- The default Babel configuration has changed to respect a local Browserslist configuration.
- Drop support for Internet Explorer 11 (#31110). Learn more at https://make.wordpress.org/core/2021/04/22/ie-11-support-phase-out-plan/.
- Increase the minimum Node.js version to v12 matching Long Term Support releases (#31270). Learn more at https://nodejs.org/en/about/releases/.
- The bundled
puppeteer-core
(^5.5.0
) dependency has been upgraded to version^9.0.0
. Puppeteer uses Chromium v91 instead of Chromium v88. See the full list of breaking changes of 9.0.0 and lower versions (#31138).
- Include a Jest Reporter that formats test results for GitHub Actions annotations (#31041).
- Have the
format
command ignore files listed in a.prettierignore
file, add a fallback.prettierignore
to the package (30844). - The e2e tests are now using
jest-circus
as the test runner. This enable us to capture screenshots at the time the tests failed. The unit tests are also using the same test runner for consistency (#28449, #31178).
- Update
postcss
dependency to the latest patch version. Versions before 8.2.10 are vulnerable to Regular Expression Denial of Service (ReDoS) during source map parsing (#31685).
- Add
postcss
as a dependency to ensure that the correct version gets installed.
- Rename
format-js
script toformat
(#30240). - Include YAML files when formatting files with
format
(#30240). - The bundled
css-loader
dependency has been updated from requiring^3.5.2
to requiring^5.1.3
(#27821). - The bundled
mini-css-extract-plugin
dependency has been updated from requiring^0.9.0
to requiring^1.3.9
(#27821). - The bundled
postcss-loader
dependency has been updated from requiring^3.0.0
to requiring^4.2.0
(#27821). - The bundled
sass-loader
dependency has been updated from requiring^8.0.2
to requiring^10.1.1
(#27821). - The bundled
thread-loader
dependency has been updated from requiring^2.1.3
to requiring^3.0.1
(#27821). - The bundled
url-loader
dependency has been updated from requiring^3.0.0
to requiring^4.1.1
(#27821).
build
andstart
command now bundle files ending with.module.css
as CSS modules and extractsstyle.module.css
(#29182).
- The bundled
webpack
dependency has been updated from requiring4.42.0
to requiring^4.46.0
(#27821).
- The bundled
babel-loader
dependency has been updated from requiring^8.1.0
to requiring^8.2.2
(#30018).
- Lint TypeScript files as part of
lint-js
. #27143
- Default
check-engines
command to theengines
config inpackage.json
file of the current project (#29066).
- Make
check-licenses
command compatible with npm v7 (#28909). - Add
Python 2.0
to non-GPL compatible OSS licenses allowed for development incheck-licenses
command (#29968). - Updated
check-node-version
to version^4.1.0
that no longer processes unrelated engines withcheck-engines
command (#29066). - Replace
jest-puppeteer
with the forked version ofjest-environment-puppeteer
to usepuppeteer-core
directly (#29418).
- Increase the minimum Node.js version to 12 (#27934).
- The bundled
jest
dependency has been updated to the next major version^26.6.3
(see Breaking Changes, #27956). - The bundled
@wordpress/eslint-plugin
dependency has been updated to the next major version^8.0.0
. There are new ESLint rules enabled in the recommended config used bylint-js
command. - The bundled
stylelint-config-wordpress
dependency has been replaced with@wordpress/stylelint-config
(#27810)[#27810]. - The bundled
puppeteer-core
(3.0.0
) dependency has been upgraded to version5.5.0
. Puppeteer uses Chromium v88 instead of Chromium v71. See the full list of breaking changes of 4.0.0 and 5.0.0.
wordpress
subfolder is no longer ignored when detecting files for testing, linting or formatting.- The bundled
eslint
dependency has been updated from requiring^7.1.0
to requiring^7.17.0
(#27965). - Make it possible to transpile
.jsx
files withbuild
andstart
commands (#28002). - Add support for static assets (fonts and images) for
build
andstart
commands (#28043).
- Ensure that
check-engines
uses the same default version of Node.js and npm as this package (#28143). - Prevent translation function names from being mangled to ensure stings are extracted (#28231).
- The bundled
webpack-bundle-analyzer
dependency has been updated from requiring^3.6.1
to requiring^4.2.0
.
- Fix multiple build (
build
command) runtimes conflicting when using globals (#27985).
- Autoformat TypeScript files (
*.ts
and*.tsx
) informat-js
script (#27138)[#27138]. - The bundled
wp-prettier
dependency has been upgraded from2.0.5
to2.2.1
. - The bundled Babel dependency has been upgraded from
7.11
to7.12
.
- The bundled
ignore-emit-webpack-plugin
dependency has been updated from requiring2.0.3
to requiring^2.0.6
.
- Ignore
/vendor
folder when searching for files to lint or format.
- Temporary pin
ignore-emit-webpack-plugin
to the version2.0.3
to fix a known issue with version2.0.4
(GitHub issue).
- Update webpack configuration to preserve translator comments in minified output.
- Allow the CSS, SVG, and Sass loaders to process files from node_modules directory.
- Improve the way licenses are validated with
check-licenses
by falling back to license files verification when the entry inpackage.json
doesn't contain an allowed match (#23550). - Fix
build
script error when importingstyle.css
files (#23710). - Exclude
node_modules
from source map processing instart
script (#23711).
- The bundled
stylelint
dependency has been updated from requiring^9.10.1
to requiring^13.6.0
. - The bundled
stylelint-config-wordpress
dependency has been updated from requiring^13.1.0
to requiring^17.0.0
.
- During rebuilds, all webpack assets that are not used anymore will be removed automatically.
- The
env
family of scripts has been removed. Finally, exceeded in functionality and replaced bywp-env
. - The default Babel configuration has changed to only support stage-4 proposals. This affects the
build
andstart
commands that use the bundled Babel configuration; if a project provides its own, this change doesn't affect it (#22083). - The bundled
wp-prettier
dependency has been upgraded from1.19.1
to2.0.5
. Refer to the Prettier 2.0 "2020" blog post for full details about the major changes included in Prettier 2.0. - The bundled
eslint
dependency has been updated from requiring^6.8.0
to requiring^7.1.0
.
- The PostCSS loader now gives preference to a
postcss.config.js
configuration file if present.
- Update webpack configuration to not run the Sass loader on CSS files. It's now limited to .scss and .sass files.
- Fix broken
style.(sc|sa|c)ss
handling in thebuild
andstart
scripts (#23127).
- New
--webpack-no-externals
flag added tobuild
andstart
scripts. It disables scripts' assets generation, and omits the list of default externals (#22310). - New
--webpack-bundle-analyzer
flag added tobuild
andstart
scripts. It enables visualization for the size of webpack output files with an interactive zoomable treemap (#22310). - New
--webpack--devtool
flag added tostart
script. It controls how source maps are generated. See options at https://webpack.js.org/configuration/devtool/#devtool (#22310). - The
test-e2e
andtest-unit
scripts will now disambiguate custom configurations, preferring ajest-e2e.config.js
,jest-e2e.config.json
,jest-unit.config.js
, orjest-unit.config.json
Jest configuration file if present, falling back tojest.config.js
orjest.config.json
. This allows for configurations which should only apply to one or the other test variant.
- Add new capability to
build
andstart
scripts that automates handling CSS, SASS or SCSS files by importing them from JavaScript code (#21730). You can find more details about CSS assets management in webpack at https://webpack.js.org/guides/asset-management/#loading-css.
- Bundle analysis in
build
script now runs with module concatenation disabled. This represents the size of individual modules more accurately, at the cost of not providing an exact byte-for-byte match to the final size in the production chunk.
env
script was marked as deprecated. We recommend using@wordpress/env
package instead that lets you easily set up a local WordPress environment for building and testing plugins and themes.
- The bundled
puppeteer
(^2.0.0
) dependency has been replaced withpuppeteer-core
in version3.0.0
. Puppeteer uses Chromium v81 instead of Chromium v79. See the full list of changes. It also allowed preventing Chromium installation together with@wordpress/scripts
. It happens now on-demand when runningtest-e2e
script, and it re-triggers only when a new version is required.
- Add support for passing node CLI options to scripts (#21631).
- Add debugging support for
test-unit-js
script (#21631). Tests can be debugged by any inspector client that supports the Chrome DevTools Protocol using the--inspect-brk
option. - Add debugging support for
test-e2e
script (#21861). Tests can be debugged by using the--inspect-brk
option and a new--puppeteer-devtools
option (orPUPPETEER_DEVTOOLS="true"
environment variable).
- The bundled
npm-package-json-lint
dependency has been updated from requiring^4.0.3
to requiring^5.0.0
(#21597). Breaking changes don't break anything in this package. It fixes the abrupt shutdown when"description"
field inpackage.json
is empty. - Update
check-licenses
script to parse JSON dependency tree recursively so sub-dependencies of packages passed in--ignore
flag are ignored as well.
- The bundled
jest
dependency has been updated from requiring^24.9.0
to requiring^25.3.0
(see Breaking Changes, #20766).
- The bundled
eslint
dependency has been updated from requiring^6.1.0
to requiring^6.8.0
(#21424).
- Incompatibility between
@svgr/webpack
in version4.3.3
andurl-loader
in version3.0.0
was fixed by bumping@svgr/webpack
to^5.2.0
. - All webpack dependencies got minor version update if applicable.
- Package depends now on the shared Prettier config exposed in
@wordpress/prettier-config
dependency (#20026).
- Ensure
packages-update
work whendependencies
ordevDependencies
are missing in thepackage.json
file (#20408).
- Ensure the default Prettier config is used in the
lint-js
script when no Prettier config is found in the project (#20071).
- This package requires now
node
v10.0.0 or later, andnpm
v6.9.0 or later (#18048). - The minimum version required for
npm
incheck-engines
script was increased to6.9.0+
(#18048).
- Add SVGR support to compile SVG files to React components using the
@svgr/webpack
plugin (#18243). - Add
format-js
script to format JavaScript source code, it uses thewp-prettier
– Prettier fork adjusted to WordPress coding style guidelines (#18048). - Add
lint-md-js
script to lint JavaScript source code in markdown files, uses theeslint-plugin-markdown
plugin (#19518). - Add
lint-md-docs
script to lint the markup of markdown files, uses themarkdownlint
module (#19855). - Add
packages-update
script to update WordPress packages to the latest version automatically (#19448).
- Fixes and updates valid rc configuration filenames for Babel, ESLint, markdownlint, npmpackagejsonlint, stylelint, and Prettier (#19994).
- Update
jest-preset-default
dependency to fix preset file extension for inclusion in NPM deployments (#19306).
- Added support to collapse or omit successful test results from Travis CI builds (#16744)
- The bundled
npm-package-json-lint
dependency has been updated from requiring^3.6.0
to requiring^4.0.3
(#18054). Please see the migration guide. Note:npmPackageJsonLintConfig
prop in thepackage.json
file needs to be renamed tonpmpackagejsonlint
. - The bundled
puppeteer
dependency has been updated from requiring^1.19.0
to requiring^2.0.0
(#18205). It uses Chromium v79 instead of Chromium v77. See the full list of changes.
- The bundled
webpack
dependency has been updated from requiring4.8.3
to requiring^4.41.0
(#17746).
- Added a temporary workaround for the default config used with
lint-js
command. It uses linting rules for both e2e and unit tests with all files until override files globbing logic is fixed when usingeslint
with--config
(related issue).
- The bundled
@wordpress/dependency-extraction-webpack-plugin
dependency has been updated to the next major version^2.0.0
.start
andbuild
scripts save now the generated asset file for each entry point in the new PHP output format.
- Add the new
env
family of scripts (#17004).
- Add
wordpress
folder to the list of ignored paths in all applicable config files (#17296).
- Test files matching has changed to fix the overlap between two types of tests implemented with
test-e2e
andtest-unit
. Refer to the documentation of the corresponding scripts to learn about new file discovery rules.
- The bundled
puppeteer
dependency has been updated from requiring1.6.1
to requiring^1.19.0
(#16875). It uses Chromium v77 instead of Chromium v69. - The bundled
jest-puppeteer
dependency has been updated from requiring^4.0.0
to requiring^4.3.0
(#16875). - The bundled
eslint
dependency has been updated from requiring^5.16.0
to requiring^6.1.0
. - The bundled
@wordpress/eslint-plugin
dependency has been updated to the next major version^3.0.0
due to new ESLint rules enabled for all test files.
- Use the SCSS shared
stylelint-config-wordpress
config so that both CSS and SCSS rules are used (#17060)
- The
build
andstart
commands supports simplified syntax for multiple entry points:wp-scripts build entry-one.js entry-two.js
(15982).
- Added missing babel-jest dependency (#16259).
- The
lint-js
command lints now JS files in the entire project's directories by default (15890). - The
lint-pkg-json
command lints nowpackage.json
files in the entire project's directories by default (15890). - The
lint-style
command lints now CSS and SCSS files in the entire project's directories by default (15890). - The
lint-js
,lint-pkg-json
andlint-style
commands ignore now files located inbuild
andnode_modules
folders by default (15977).
- Leverage
@wordpress/dependency-extraction-webpack-plugin
plugin to extract WordPress dependencies. - The bundled
eslint
dependency has been updated from requiring^5.12.1
to requiring^5.16.0
.
- The default Webpack configuration uses
thread-loader
to parallelize Babel processing. - The default Webpack configuration now opts-in to the
cacheDirectory
option for its Babel loader. - The
source-map-loader
is excluded from production builds. This serves only as an optimization and should otherwise have no impact on build results.
- The
build
andstart
commands will use a default webpack config if none is provided.
- The bundled
eslint
dependency has been updated from requiring^4.19.1
to requiring^5.12.1
(see Migration Guide). - The bundled
jest
dependency has been updated from requiring^23.6.0
to requiring^24.1.0
(see Breaking Changes, #13922). - The bundled
jest-puppeteer
dependency has been updated from requiring3.2.1
to requiring^4.0.0
(#13922).
- Added support for
build
script (#12837) - Added support for
start
script (#12837) - Updated
npm-package-json-lint
dependency #14200
- Avoid inheriting from ESLint configurations in ancestor directories when using the default configuration (#13483)
- Added support for
check-engines
script (#12721) - Added support for
lint-style
script (#12722) - Added support for
test-e2e
script (#12437) - Update default config provided for
lint-js
script (#12845)
- Added support for
lint-js
script (#10504)
- New flag
--ignore
forcheck-licenses
script - Try deferring to LICENSE file for
license
fields which include filename - Add "BSD-3-Clause-W3C" as GPL-compatible
- Resolves an issue where npm package lint script did not work in Windows environments (#9321
- Updated dependencies:
jest
,npm-package-json-lint
andread-pkg-up
- Updated code to work with Babel 7 (#7832)
- Moved
@WordPress/packages
repository to@WordPress/gutenberg
(#7805)
- Added support for
lint-pkg-json
script (#128)
- Fix: Standardized
package.json
format (#119)