From a31bd5d43ce90940b32ccea9346552caeec4ede0 Mon Sep 17 00:00:00 2001 From: Grzegorz Ziolkowski Date: Mon, 27 May 2019 11:35:36 +0200 Subject: [PATCH] Build: Add type module commonjs to the corresponding packages --- bin/packages/get-packages.js | 17 ++++++++++++++++- .../babel-plugin-import-jsx-pragma/package.json | 1 + packages/babel-preset-default/package.json | 1 + .../package.json | 1 + packages/browserslist-config/package.json | 4 ++++ .../package.json | 2 ++ .../package.json | 1 + packages/eslint-plugin/package.json | 8 ++++++++ packages/is-shallow-equal/package.json | 2 ++ packages/jest-preset-default/package.json | 2 ++ .../package.json | 2 ++ .../npm-package-json-lint-config/CHANGELOG.md | 6 ++++++ packages/npm-package-json-lint-config/index.js | 1 + .../npm-package-json-lint-config/package.json | 4 ++++ packages/postcss-themes/package.json | 1 + packages/scripts/package.json | 1 + 16 files changed, 53 insertions(+), 1 deletion(-) diff --git a/bin/packages/get-packages.js b/bin/packages/get-packages.js index ed271db0434f23..c68bab20a895dd 100644 --- a/bin/packages/get-packages.js +++ b/bin/packages/get-packages.js @@ -24,6 +24,21 @@ function isDirectory( file ) { return fs.lstatSync( path.resolve( PACKAGES_DIR, file ) ).isDirectory(); } +/** + * Returns true if the given packages has type "module". + * + * @see https://medium.com/@nodejs/announcing-a-new-experimental-modules-1be8d2d6c2ff + * + * @param {string} file Packages directory file. + * + * @return {boolean} Whether file is a directory. + */ +function isModuleType( file ) { + const { type = 'module' } = require( path.resolve( PACKAGES_DIR, file, 'package.json' ) ); + + return type === 'module'; +} + /** * Filter predicate, returning true if the given base file name is to be * included in the build. @@ -32,7 +47,7 @@ function isDirectory( file ) { * * @return {boolean} Whether to include file in build. */ -const filterPackages = overEvery( isDirectory ); +const filterPackages = overEvery( isDirectory, isModuleType ); /** * Returns the absolute path of all WordPress packages diff --git a/packages/babel-plugin-import-jsx-pragma/package.json b/packages/babel-plugin-import-jsx-pragma/package.json index 6f4b029ebb5e64..a3922325acd9e9 100644 --- a/packages/babel-plugin-import-jsx-pragma/package.json +++ b/packages/babel-plugin-import-jsx-pragma/package.json @@ -26,6 +26,7 @@ "files": [ "index.js" ], + "type": "commonjs", "main": "index.js", "peerDependencies": { "@babel/core": "^7.0.0" diff --git a/packages/babel-preset-default/package.json b/packages/babel-preset-default/package.json index 22c29f779e529e..cf7b6d0b3d3ee6 100644 --- a/packages/babel-preset-default/package.json +++ b/packages/babel-preset-default/package.json @@ -25,6 +25,7 @@ "files": [ "index.js" ], + "type": "commonjs", "main": "index.js", "dependencies": { "@babel/core": "^7.4.4", diff --git a/packages/block-serialization-spec-parser/package.json b/packages/block-serialization-spec-parser/package.json index a4faf314c37169..ed7ab0d553dbde 100644 --- a/packages/block-serialization-spec-parser/package.json +++ b/packages/block-serialization-spec-parser/package.json @@ -19,6 +19,7 @@ "bugs": { "url": "https://github.com/WordPress/gutenberg/issues" }, + "type": "commonjs", "main": "parser.js", "dependencies": { "pegjs": "^0.10.0" diff --git a/packages/browserslist-config/package.json b/packages/browserslist-config/package.json index a1480a4a821de0..578ab8e24a7e09 100644 --- a/packages/browserslist-config/package.json +++ b/packages/browserslist-config/package.json @@ -21,6 +21,10 @@ "engines": { "node": ">=8" }, + "files": [ + "index.js" + ], + "type": "commonjs", "main": "index.js", "publishConfig": { "access": "public" diff --git a/packages/custom-templated-path-webpack-plugin/package.json b/packages/custom-templated-path-webpack-plugin/package.json index b861d700441de3..f1fd2c3572b743 100644 --- a/packages/custom-templated-path-webpack-plugin/package.json +++ b/packages/custom-templated-path-webpack-plugin/package.json @@ -24,6 +24,8 @@ "files": [ "index.js" ], + "type": "commonjs", + "main": "index.js", "dependencies": { "escape-string-regexp": "^1.0.5" }, diff --git a/packages/dependency-extraction-webpack-plugin/package.json b/packages/dependency-extraction-webpack-plugin/package.json index 89f7693337577b..0e62625f371d33 100644 --- a/packages/dependency-extraction-webpack-plugin/package.json +++ b/packages/dependency-extraction-webpack-plugin/package.json @@ -22,6 +22,7 @@ "index.js", "util.js" ], + "type": "commonjs", "main": "index.js", "dependencies": { "webpack": "^4.8.3", diff --git a/packages/eslint-plugin/package.json b/packages/eslint-plugin/package.json index 736b49aa1bcccd..efb87ebbc03097 100644 --- a/packages/eslint-plugin/package.json +++ b/packages/eslint-plugin/package.json @@ -17,6 +17,14 @@ "bugs": { "url": "https://github.com/WordPress/gutenberg/issues" }, + "files": [ + "configs", + "docs", + "rules", + "index.js" + ], + "type": "commonjs", + "main": "index.js", "dependencies": { "babel-eslint": "^10.0.1", "eslint-plugin-jsx-a11y": "^6.2.1", diff --git a/packages/is-shallow-equal/package.json b/packages/is-shallow-equal/package.json index af3f44c51a85f3..836b3975bb134b 100644 --- a/packages/is-shallow-equal/package.json +++ b/packages/is-shallow-equal/package.json @@ -21,8 +21,10 @@ }, "files": [ "arrays.js", + "index.js", "objects.js" ], + "type": "commonjs", "main": "index.js", "dependencies": { "@babel/runtime": "^7.4.4" diff --git a/packages/jest-preset-default/package.json b/packages/jest-preset-default/package.json index 9f5eeeaf8117c5..6830d33c4d02ef 100644 --- a/packages/jest-preset-default/package.json +++ b/packages/jest-preset-default/package.json @@ -26,8 +26,10 @@ }, "files": [ "scripts", + "index.js", "jest-preset.json" ], + "type": "commonjs", "main": "index.js", "dependencies": { "@wordpress/jest-console": "file:../jest-console", diff --git a/packages/library-export-default-webpack-plugin/package.json b/packages/library-export-default-webpack-plugin/package.json index d9fc8d12afc763..87a02a6879540f 100644 --- a/packages/library-export-default-webpack-plugin/package.json +++ b/packages/library-export-default-webpack-plugin/package.json @@ -24,6 +24,8 @@ "files": [ "index.js" ], + "type": "commonjs", + "main": "index.js", "dependencies": { "lodash": "^4.17.11", "webpack-sources": "^1.1.0" diff --git a/packages/npm-package-json-lint-config/CHANGELOG.md b/packages/npm-package-json-lint-config/CHANGELOG.md index 11259b591308d6..c21e625fd6d404 100644 --- a/packages/npm-package-json-lint-config/CHANGELOG.md +++ b/packages/npm-package-json-lint-config/CHANGELOG.md @@ -1,3 +1,9 @@ +## Master + +### New Feature + +- Added `type` to the order of preferred properties. + ## 1.2.0 (2019-03-06) ### Internal diff --git a/packages/npm-package-json-lint-config/index.js b/packages/npm-package-json-lint-config/index.js index 5af34472e68b1e..d02e1544752094 100644 --- a/packages/npm-package-json-lint-config/index.js +++ b/packages/npm-package-json-lint-config/index.js @@ -53,6 +53,7 @@ const defaultConfig = { 'engines', 'directories', 'files', + 'type', 'main', 'module', 'bin', diff --git a/packages/npm-package-json-lint-config/package.json b/packages/npm-package-json-lint-config/package.json index 885a8a5b66bba8..f15801d890f1f1 100644 --- a/packages/npm-package-json-lint-config/package.json +++ b/packages/npm-package-json-lint-config/package.json @@ -21,6 +21,10 @@ "engines": { "node": ">=8" }, + "files": [ + "index.js" + ], + "type": "commonjs", "main": "index.js", "peerDependencies": { "npm-package-json-lint": ">=3.6.0" diff --git a/packages/postcss-themes/package.json b/packages/postcss-themes/package.json index 81dece9744c76e..4e8ce95df00b12 100644 --- a/packages/postcss-themes/package.json +++ b/packages/postcss-themes/package.json @@ -27,6 +27,7 @@ "files": [ "index.js" ], + "type": "commonjs", "main": "index.js", "dependencies": { "autoprefixer": "^9.4.5", diff --git a/packages/scripts/package.json b/packages/scripts/package.json index 712b5edde2b3f5..36d924b223969d 100644 --- a/packages/scripts/package.json +++ b/packages/scripts/package.json @@ -28,6 +28,7 @@ "scripts", "utils" ], + "type": "commonjs", "bin": { "wp-scripts": "./bin/wp-scripts.js" },