diff --git a/package-lock.json b/package-lock.json index 634d743e6d2b92..90604333bdbf6e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5,12 +5,12 @@ "requires": true, "dependencies": { "@babel/code-frame": { - "version": "7.0.0-beta.47", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0-beta.47.tgz", - "integrity": "sha512-W7IeG4MoVf4oUvWfHUx9VG9if3E0xSUDf1urrnNYtC2ow1dz2ptvQ6YsJfyVXDuPTFXz66jkHhzMW7a5Eld7TA==", + "version": "7.0.0-beta.49", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0-beta.49.tgz", + "integrity": "sha1-vs2AVIJzREDJ0TfkbXc0DmTX9Rs=", "dev": true, "requires": { - "@babel/highlight": "7.0.0-beta.47" + "@babel/highlight": "7.0.0-beta.49" } }, "@babel/helper-function-name": { @@ -35,9 +35,9 @@ } }, "@babel/highlight": { - "version": "7.0.0-beta.47", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0-beta.47.tgz", - "integrity": "sha512-d505K3Hth1eg0b2swfEF7oFMw3J9M8ceFg0s6dhCSxOOF+07WDvJ0HKT/YbK/Jk9wn8Wyr6HIRAUPKJ9Wfv8Rg==", + "version": "7.0.0-beta.49", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0-beta.49.tgz", + "integrity": "sha1-lr3GtD4TSCASumaRsQGEktOWIsw=", "dev": true, "requires": { "chalk": "^2.0.0", @@ -560,17 +560,26 @@ "pegjs": "^0.10.0" } }, + "@wordpress/npm-package-json-lint-config": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@wordpress/npm-package-json-lint-config/-/npm-package-json-lint-config-1.0.0.tgz", + "integrity": "sha512-6urMrDWGh56VpPVdrsJjOh4Xb3oe/xOj9Ah5nC0UG8zZyrlBNbUbniSwp6dzhRVQ/tSYtQBjEafxq96O3OY47w==", + "dev": true + }, "@wordpress/scripts": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/@wordpress/scripts/-/scripts-1.1.6.tgz", - "integrity": "sha512-DW0Idf7RQOQvgIjCaNfHTdLtRG1TGYxTjJz3BZO4mch7/M+yY22AU5MytJv/3/l2UCU1S3YSNSNrjUj/zPMvUA==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@wordpress/scripts/-/scripts-1.2.0.tgz", + "integrity": "sha512-3o2y5n4XmygXDVHi2hqmQUL589t3q0+H/t+LEqHVVvKt4R9MH/z32uTS9PjFsuxKfwfoOHwVYq+vqI5cO6B1OQ==", "dev": true, "requires": { "@wordpress/babel-preset-default": "^1.3.0", "@wordpress/jest-preset-default": "^1.0.6", + "@wordpress/npm-package-json-lint-config": "^1.0.0", "cross-spawn": "^5.1.0", "jest": "^22.4.0", - "read-pkg-up": "^3.0.0" + "npm-package-json-lint": "^3.0.1", + "read-pkg-up": "^3.0.0", + "resolve-bin": "^0.4.0" }, "dependencies": { "read-pkg-up": { @@ -3916,9 +3925,9 @@ "dev": true }, "cssstyle": { - "version": "0.2.37", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-0.2.37.tgz", - "integrity": "sha1-VBCXI0yyUTyDzu06zdwn/yeYfVQ=", + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-0.3.1.tgz", + "integrity": "sha512-tNvaxM5blOnxanyxI6panOsnfiyLRj3HV4qjqqS45WPNS1usdYWRUQjqTEEELK73lpeP/1KoIGYUwrBn/VcECA==", "dev": true, "requires": { "cssom": "0.3.x" @@ -5409,6 +5418,12 @@ "pkg-dir": "^2.0.0" } }, + "find-parent-dir": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/find-parent-dir/-/find-parent-dir-0.3.0.tgz", + "integrity": "sha1-M8RLQpqysvBkYpnF+fcY83b/jVQ=", + "dev": true + }, "find-up": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", @@ -7023,6 +7038,12 @@ "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=" }, + "irregular-plurals": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/irregular-plurals/-/irregular-plurals-2.0.0.tgz", + "integrity": "sha512-Y75zBYLkh0lJ9qxeHlMjQ7bSbyiSqNW/UOPWDmzC7cXskL1hekSITh1Oc6JV0XCWWZ9DE8VYSB71xocLk3gmGw==", + "dev": true + }, "is-absolute-url": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz", @@ -8619,9 +8640,9 @@ } }, "jsdom": { - "version": "11.10.0", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-11.10.0.tgz", - "integrity": "sha512-x5No5FpJgBg3j5aBwA8ka6eGuS5IxbC8FOkmyccKvObtFT0bDMict/LOxINZsZGZSfGdNomLZ/qRV9Bpq/GIBA==", + "version": "11.11.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-11.11.0.tgz", + "integrity": "sha512-ou1VyfjwsSuWkudGxb03FotDajxAto6USAlmMZjE2lc0jCznt7sBWkhfRBRaWwbnmDqdMSTKTLT5d9sBFkkM7A==", "dev": true, "requires": { "abab": "^1.0.4", @@ -8629,13 +8650,13 @@ "acorn-globals": "^4.1.0", "array-equal": "^1.0.0", "cssom": ">= 0.3.2 < 0.4.0", - "cssstyle": ">= 0.2.37 < 0.3.0", + "cssstyle": ">= 0.3.1 < 0.4.0", "data-urls": "^1.0.0", "domexception": "^1.0.0", "escodegen": "^1.9.0", "html-encoding-sniffer": "^1.0.2", "left-pad": "^1.2.0", - "nwmatcher": "^1.4.3", + "nwsapi": "^2.0.0", "parse5": "4.0.0", "pn": "^1.1.0", "request": "^2.83.0", @@ -8647,7 +8668,7 @@ "webidl-conversions": "^4.0.2", "whatwg-encoding": "^1.0.3", "whatwg-mimetype": "^2.1.0", - "whatwg-url": "^6.4.0", + "whatwg-url": "^6.4.1", "ws": "^4.0.0", "xml-name-validator": "^3.0.0" }, @@ -10200,6 +10221,97 @@ } } }, + "npm-package-json-lint": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/npm-package-json-lint/-/npm-package-json-lint-3.0.1.tgz", + "integrity": "sha1-cMUePLOzaGeFlhJAHy9fTK1b2QQ=", + "dev": true, + "requires": { + "ajv": "^6.4.0", + "chalk": "^2.4.1", + "glob": "^7.1.2", + "is-path-inside": "^2.0.0", + "is-plain-obj": "^1.1.0", + "is-resolvable": "^1.1.0", + "log-symbols": "^2.2.0", + "meow": "^5.0.0", + "plur": "^3.0.1", + "semver": "^5.5.0", + "strip-json-comments": "^2.0.1", + "validator": "^10.1.0" + }, + "dependencies": { + "ajv": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.0.tgz", + "integrity": "sha512-VDUX1oSajablmiyFyED9L1DFndg0P9h7p1F+NO8FkIzei6EPrR6Zu1n18rd5P8PqaSRd/FrWv3G1TVBqpM83gA==", + "dev": true, + "requires": { + "fast-deep-equal": "^2.0.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.3.0", + "uri-js": "^4.2.1" + } + }, + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "dev": true + }, + "fast-deep-equal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", + "dev": true + }, + "is-path-inside": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.0.0.tgz", + "integrity": "sha512-OmUXvSq+P7aI/aRbl1dzwdlyLn8vW7Nr2/11S7y/dcLLgnQ89hgYJp7tfc+A5SRid3rNCLpruOp2CAV68/iOcA==", + "dev": true, + "requires": { + "path-is-inside": "^1.0.2" + } + }, + "meow": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-5.0.0.tgz", + "integrity": "sha512-CbTqYU17ABaLefO8vCU153ZZlprKYWDljcndKKDCFcYQITzWCXZAVk4QMFZPgvzrnUQ3uItnIE/LoUOwrT15Ig==", + "dev": true, + "requires": { + "camelcase-keys": "^4.0.0", + "decamelize-keys": "^1.0.0", + "loud-rejection": "^1.0.0", + "minimist-options": "^3.0.1", + "normalize-package-data": "^2.3.4", + "read-pkg-up": "^3.0.0", + "redent": "^2.0.0", + "trim-newlines": "^2.0.0", + "yargs-parser": "^10.0.0" + } + }, + "read-pkg-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", + "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=", + "dev": true, + "requires": { + "find-up": "^2.0.0", + "read-pkg": "^3.0.0" + } + }, + "yargs-parser": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.0.0.tgz", + "integrity": "sha512-+DHejWujTVYeMHLff8U96rLc4uE4Emncoftvn5AjhB1Jw1pWxLzgBUT/WYbPrHmy6YPEBTZQx5myHhVcuuu64g==", + "dev": true, + "requires": { + "camelcase": "^4.1.0" + } + } + } + }, "npm-run-path": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", @@ -10239,10 +10351,10 @@ "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" }, - "nwmatcher": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/nwmatcher/-/nwmatcher-1.4.4.tgz", - "integrity": "sha512-3iuY4N5dhgMpCUrOVnuAdGrgxVqV2cJpM+XNccjR2DKOB1RUP0aA+wGXEiNziG/UKboFyGBIoKOaNlJxx8bciQ==", + "nwsapi": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.0.1.tgz", + "integrity": "sha512-xOJJb7kAAGy6UOklbaIPA0iu/27VMHfAbMUgYJlXz4qRXytIkPGM2vwfbxa+tbaqcqHNsP6RN4eDZlePelWKpQ==", "dev": true }, "oauth-sign": { @@ -10851,6 +10963,15 @@ "find-up": "^2.1.0" } }, + "plur": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/plur/-/plur-3.0.1.tgz", + "integrity": "sha512-lJl0ojUynAM1BZn58Pas2WT/TXeC1+bS+UqShl0x9+49AtOn7DixRXVzaC8qrDOIxNDmepKnLuMTH7NQmkX0PA==", + "dev": true, + "requires": { + "irregular-plurals": "^2.0.0" + } + }, "pluralize": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-7.0.0.tgz", @@ -13799,6 +13920,15 @@ "path-parse": "^1.0.5" } }, + "resolve-bin": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/resolve-bin/-/resolve-bin-0.4.0.tgz", + "integrity": "sha1-RxMiSYkRAa+xmZH+k3ywpfBy5dk=", + "dev": true, + "requires": { + "find-parent-dir": "~0.3.0" + } + }, "resolve-cwd": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", @@ -15647,6 +15777,12 @@ "spdx-expression-parse": "^3.0.0" } }, + "validator": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/validator/-/validator-10.2.0.tgz", + "integrity": "sha512-gz/uknWtNfZTj1BLUzYHDxOoiQ7A4wZ6xPuuE6RpxswR4cNyT4I5kN9jmU0AQr7IBEap9vfYChI2TpssTN6Itg==", + "dev": true + }, "vendors": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.2.tgz", diff --git a/package.json b/package.json index bf3fddda7da00f..d5819e5eec0aa0 100644 --- a/package.json +++ b/package.json @@ -66,7 +66,7 @@ "@wordpress/browserslist-config": "2.1.4", "@wordpress/custom-templated-path-webpack-plugin": "1.0.2", "@wordpress/jest-preset-default": "1.0.6", - "@wordpress/scripts": "1.1.6", + "@wordpress/scripts": "1.2.0", "autoprefixer": "8.2.0", "babel-core": "6.26.0", "babel-eslint": "8.0.3", @@ -117,36 +117,59 @@ } } }, + "npmPackageJsonLintConfig": { + "extends": "@wordpress/npm-package-json-lint-config", + "rules": { + "require-publishConfig": "error", + "valid-values-author": [ + "error", + [ + "The WordPress Contributors" + ] + ], + "valid-values-publishConfig": [ + "error", + [ + { + "access": "public" + } + ] + ] + } + }, "scripts": { - "prebuild": "check-node-version --package", + "prebuild": "npm run check-engines", "build:packages": "rimraf ./packages/*/build ./packages/*/build-module && node ./bin/packages/build.js", "build": "npm run build:packages && cross-env NODE_ENV=production webpack", - "lint": "eslint .", - "lint:fix": "eslint . --fix", - "lint-php": "docker-compose run --rm composer run-script lint", - "predev": "check-node-version --package", + "check-engines": "check-node-version --package", + "ci": "concurrently \"npm run lint && npm run build\" \"npm run test-unit:coverage-ci\"", + "predev": "npm run check-engines", "dev": "npm run build:packages && concurrently \"cross-env webpack --watch\" \"npm run dev:packages\"", "dev:packages": "node ./bin/packages/watch.js", - "test": "npm run lint && npm run test-unit", - "test-php": "npm run lint-php && npm run test-unit-php", - "ci": "concurrently \"npm run lint && npm run build\" \"npm run test-unit:coverage-ci\"", "fixtures:clean": "rimraf \"core-blocks/test/fixtures/*.+(json|serialized.html)\"", "fixtures:server-registered": "docker-compose run -w /var/www/html/wp-content/plugins/gutenberg --rm wordpress ./bin/get-server-blocks.php > core-blocks/test/server-registered.json", "fixtures:generate": "npm run fixtures:server-registered && cross-env GENERATE_MISSING_FIXTURES=y npm run test-unit", "fixtures:regenerate": "npm run fixtures:clean && npm run fixtures:generate", + "lint": "npm run lint-js && npm run lint-pkg-json", + "lint-js": "eslint .", + "lint-js:fix": "eslint . --fix", + "lint-php": "docker-compose run --rm composer run-script lint", + "lint-pkg-json": "wp-scripts lint-pkg-json ./packages", "package-plugin": "./bin/build-plugin-zip.sh", "postinstall": "lerna bootstrap --hoist && npm run build:packages", "pot-to-php": "./bin/pot-to-php.js", "publish:check": "lerna updated", "publish:dev": "lerna publish --npm-tag next", "publish:prod": "lerna publish", + "test": "npm run lint && npm run test-unit", + "test-e2e": "wp-scripts test-unit-js --config test/e2e/jest.config.json", + "test-e2e:watch": "npm run test-e2e -- --watch", + "test-php": "npm run lint-php && npm run test-unit-php", "test-unit": "wp-scripts test-unit-js --config test/unit/jest.config.json", - "test-unit-php": "docker-compose run --rm wordpress_phpunit phpunit", - "test-unit-php-multisite": "docker-compose run -e WP_MULTISITE=1 --rm wordpress_phpunit phpunit", "test-unit:coverage": "npm run test-unit -- --coverage", "test-unit:coverage-ci": "npm run test-unit -- --coverage --maxWorkers 1 && codecov", "test-unit:watch": "npm run test-unit -- --watch", - "test-e2e": "wp-scripts test-unit-js --config test/e2e/jest.config.json", - "test-e2e:watch": "npm run test-e2e -- --watch" + "test-unit-php": "docker-compose run --rm wordpress_phpunit phpunit", + "test-unit-php-multisite": "docker-compose run -e WP_MULTISITE=1 --rm wordpress_phpunit phpunit" } } diff --git a/packages/blob/package.json b/packages/blob/package.json index 8f049e337d6bd8..02f90e45ac2910 100644 --- a/packages/blob/package.json +++ b/packages/blob/package.json @@ -2,7 +2,7 @@ "name": "@wordpress/blob", "version": "1.0.0-alpha.0", "description": "Blob utils for WordPress", - "author": "WordPress", + "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", "keywords": [ "wordpress", diff --git a/packages/data/package.json b/packages/data/package.json index a30acc9748ebb6..299a82ce5422a9 100644 --- a/packages/data/package.json +++ b/packages/data/package.json @@ -2,7 +2,7 @@ "name": "@wordpress/data", "version": "1.0.0-alpha.0", "description": "Data module for WordPress", - "author": "WordPress", + "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", "keywords": [ "wordpress", diff --git a/packages/date/package.json b/packages/date/package.json index 40ce8b2f673438..84ab1a7295bb17 100644 --- a/packages/date/package.json +++ b/packages/date/package.json @@ -2,7 +2,7 @@ "name": "@wordpress/date", "version": "1.0.0-alpha.0", "description": "Date module for WordPress", - "author": "WordPress", + "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", "keywords": [ "wordpress", diff --git a/packages/deprecated/package.json b/packages/deprecated/package.json index 47af96cc145def..a2768280453b60 100644 --- a/packages/deprecated/package.json +++ b/packages/deprecated/package.json @@ -2,7 +2,7 @@ "name": "@wordpress/deprecated", "version": "1.0.0-alpha.0", "description": "Deprecation utility for WordPress", - "author": "WordPress", + "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", "keywords": [ "wordpress", diff --git a/packages/dom/package.json b/packages/dom/package.json index 58e7f2e99c8e15..ae0deee8320576 100644 --- a/packages/dom/package.json +++ b/packages/dom/package.json @@ -2,7 +2,7 @@ "name": "@wordpress/dom", "version": "1.0.0-alpha.0", "description": "DOM utils module for WordPress", - "author": "WordPress", + "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", "keywords": [ "wordpress", diff --git a/packages/element/package.json b/packages/element/package.json index 7d920da95af859..5dc0374d975f08 100644 --- a/packages/element/package.json +++ b/packages/element/package.json @@ -2,7 +2,7 @@ "name": "@wordpress/element", "version": "1.0.0-alpha.0", "description": "Element React module for WordPress", - "author": "WordPress", + "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", "keywords": [ "wordpress", diff --git a/packages/library-export-default-webpack-plugin/package.json b/packages/library-export-default-webpack-plugin/package.json index fd87036bf46141..545d774aa6a737 100644 --- a/packages/library-export-default-webpack-plugin/package.json +++ b/packages/library-export-default-webpack-plugin/package.json @@ -2,7 +2,7 @@ "name": "@wordpress/library-export-default-webpack-plugin", "version": "1.0.0-alpha.0", "description": "Webpack plugin for exporting default property for selected libraries", - "author": "WordPress", + "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", "keywords": [ "wordpress", diff --git a/packages/postcss-themes/package.json b/packages/postcss-themes/package.json index 6c74ae76a6a681..051edb3ea416bb 100644 --- a/packages/postcss-themes/package.json +++ b/packages/postcss-themes/package.json @@ -2,7 +2,7 @@ "name": "@wordpress/postcss-themes", "version": "1.0.0-alpha.0", "description": "PostCSS plugin to generate theme colors", - "author": "WordPress", + "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", "keywords": [ "wordpress",