From eb453cce20d524b59b772383f2d181a05ca6602e Mon Sep 17 00:00:00 2001 From: Paul Sealock Date: Wed, 15 Dec 2021 14:14:17 +1300 Subject: [PATCH] Add NX commands for Jetpack Changelogger (#31166) --- package.json | 1 + packages/js/api-core-tests/project.json | 65 ++-- packages/js/api/project.json | 89 +++-- packages/js/e2e-core-tests/project.json | 15 +- packages/js/e2e-environment/project.json | 161 ++++---- packages/js/e2e-utils/project.json | 77 ++-- plugins/woocommerce/project.json | 309 +++++++-------- pnpm-lock.yaml | 417 +++++++++++++++++---- tools/executors/changelogger/executor.json | 9 + tools/executors/changelogger/impl.js | 115 ++++++ tools/executors/changelogger/impl.ts | 96 +++++ tools/executors/changelogger/package.json | 3 + tools/executors/changelogger/schema.json | 13 + 13 files changed, 951 insertions(+), 419 deletions(-) create mode 100644 tools/executors/changelogger/executor.json create mode 100644 tools/executors/changelogger/impl.js create mode 100644 tools/executors/changelogger/impl.ts create mode 100644 tools/executors/changelogger/package.json create mode 100644 tools/executors/changelogger/schema.json diff --git a/package.json b/package.json index 8591d1464ec..ac6dcf1f83f 100644 --- a/package.json +++ b/package.json @@ -20,6 +20,7 @@ "@automattic/nx-composer": "^0.1.0", "@nrwl/cli": "latest", "@nrwl/linter": "^13.1.4", + "@nrwl/devkit": "^13.1.4", "@nrwl/tao": "latest", "@nrwl/web": "^13.1.4", "@nrwl/workspace": "latest", diff --git a/packages/js/api-core-tests/project.json b/packages/js/api-core-tests/project.json index 1b27a1e913d..5b24a0c67b7 100644 --- a/packages/js/api-core-tests/project.json +++ b/packages/js/api-core-tests/project.json @@ -1,31 +1,38 @@ { - "root": "packages/js/api-core-tests/", - "sourceRoot": "packages/js/api-core-tests", - "projectType": "library", - "targets": { - "test": { - "executor": "@nrwl/workspace:run-script", - "options": { - "script": "test" - } - }, - "test-hello": { - "executor": "@nrwl/workspace:run-script", - "options": { - "script": "test:hello" - } - }, - "make-collection": { - "executor": "@nrwl/workspace:run-script", - "options": { - "script": "make:collection" - } - }, - "test-api": { - "executor": "@nrwl/workspace:run-script", - "options": { - "script": "test:api" - } - } - } + "root": "packages/js/api-core-tests/", + "sourceRoot": "packages/js/api-core-tests", + "projectType": "library", + "targets": { + "changelog": { + "executor": "./tools/executors/changelogger:changelog", + "options": { + "action": "add", + "cwd": "packages/js/api-core-tests" + } + }, + "test": { + "executor": "@nrwl/workspace:run-script", + "options": { + "script": "test" + } + }, + "test-hello": { + "executor": "@nrwl/workspace:run-script", + "options": { + "script": "test:hello" + } + }, + "make-collection": { + "executor": "@nrwl/workspace:run-script", + "options": { + "script": "make:collection" + } + }, + "test-api": { + "executor": "@nrwl/workspace:run-script", + "options": { + "script": "test:api" + } + } + } } diff --git a/packages/js/api/project.json b/packages/js/api/project.json index 68d0a0cdbad..e4022469b78 100644 --- a/packages/js/api/project.json +++ b/packages/js/api/project.json @@ -1,43 +1,50 @@ { - "root": "packages/js/api/", - "sourceRoot": "packages/js/api/src", - "projectType": "library", - "targets": { - "build": { - "executor": "@nrwl/workspace:run-script", - "options": { - "script": "build" - } - }, - "clean": { - "executor": "@nrwl/workspace:run-script", - "options": { - "script": "clean" - } - }, - "compile": { - "executor": "@nrwl/workspace:run-script", - "options": { - "script": "compile" - } - }, - "prepare": { - "executor": "@nrwl/workspace:run-script", - "options": { - "script": "prepare" - } - }, - "lint": { - "executor": "@nrwl/workspace:run-script", - "options": { - "script": "lint" - } - }, - "test": { - "executor": "@nrwl/workspace:run-script", - "options": { - "script": "test" - } - } - } + "root": "packages/js/api/", + "sourceRoot": "packages/js/api/src", + "projectType": "library", + "targets": { + "changelog": { + "executor": "./tools/executors/changelogger:changelog", + "options": { + "action": "add", + "cwd": "packages/js/api" + } + }, + "build": { + "executor": "@nrwl/workspace:run-script", + "options": { + "script": "build" + } + }, + "clean": { + "executor": "@nrwl/workspace:run-script", + "options": { + "script": "clean" + } + }, + "compile": { + "executor": "@nrwl/workspace:run-script", + "options": { + "script": "compile" + } + }, + "prepare": { + "executor": "@nrwl/workspace:run-script", + "options": { + "script": "prepare" + } + }, + "lint": { + "executor": "@nrwl/workspace:run-script", + "options": { + "script": "lint" + } + }, + "test": { + "executor": "@nrwl/workspace:run-script", + "options": { + "script": "test" + } + } + } } diff --git a/packages/js/e2e-core-tests/project.json b/packages/js/e2e-core-tests/project.json index 8e7d28cd936..9beb7a7bd5a 100644 --- a/packages/js/e2e-core-tests/project.json +++ b/packages/js/e2e-core-tests/project.json @@ -1,5 +1,14 @@ { - "root": "packages/js/e2e-core-tests/", - "sourceRoot": "packages/js/e2e-core-tests", - "projectType": "library" + "root": "packages/js/e2e-core-tests/", + "sourceRoot": "packages/js/e2e-core-tests", + "projectType": "library", + "targets": { + "changelog": { + "executor": "./tools/executors/changelogger:changelog", + "options": { + "action": "add", + "cwd": "packages/js/e2e-core-tests" + } + } + } } diff --git a/packages/js/e2e-environment/project.json b/packages/js/e2e-environment/project.json index 46f5e0ca784..f7c92c4ef90 100644 --- a/packages/js/e2e-environment/project.json +++ b/packages/js/e2e-environment/project.json @@ -1,79 +1,86 @@ { - "root": "packages/js/e2e-environment/", - "sourceRoot": "packages/js/e2e-environment/src", - "projectType": "library", - "targets": { - "build": { - "executor": "@nrwl/workspace:run-script", - "options": { - "script": "build" - } - }, - "lint": { - "executor": "@nrwl/workspace:run-script", - "options": { - "script": "lint" - } - }, - "clean": { - "executor": "@nrwl/workspace:run-script", - "options": { - "script": "clean" - } - }, - "compile": { - "executor": "@nrwl/workspace:run-script", - "options": { - "script": "compile" - } - }, - "prepare": { - "executor": "@nrwl/workspace:run-script", - "options": { - "script": "prepare" - } - }, - "docker-up": { - "executor": "@nrwl/workspace:run-script", - "options": { - "script": "docker:up" - } - }, - "docker-down": { - "executor": "@nrwl/workspace:run-script", - "options": { - "script": "docker:down" - } - }, - "docker-clear-all": { - "executor": "@nrwl/workspace:run-script", - "options": { - "script": "docker:clear-all" - } - }, - "docker-ssh": { - "executor": "@nrwl/workspace:run-script", - "options": { - "script": "docker:ssh" - } - }, - "test-e2e": { - "executor": "@nrwl/workspace:run-script", - "options": { - "script": "test:e2e" - } - }, - "test-e2e-debug": { - "executor": "@nrwl/workspace:run-script", - "options": { - "script": "test:e2e-debug" - } - }, - "test-e2e-dev": { - "executor": "@nrwl/workspace:run-script", - "options": { - "script": "test:e2e-dev" - } - } - } + "root": "packages/js/e2e-environment/", + "sourceRoot": "packages/js/e2e-environment/src", + "projectType": "library", + "targets": { + "changelog": { + "executor": "./tools/executors/changelogger:changelog", + "options": { + "action": "add", + "cwd": "packages/js/e2e-environment" + } + }, + "build": { + "executor": "@nrwl/workspace:run-script", + "options": { + "script": "build" + } + }, + "lint": { + "executor": "@nrwl/workspace:run-script", + "options": { + "script": "lint" + } + }, + "clean": { + "executor": "@nrwl/workspace:run-script", + "options": { + "script": "clean" + } + }, + "compile": { + "executor": "@nrwl/workspace:run-script", + "options": { + "script": "compile" + } + }, + "prepare": { + "executor": "@nrwl/workspace:run-script", + "options": { + "script": "prepare" + } + }, + "docker-up": { + "executor": "@nrwl/workspace:run-script", + "options": { + "script": "docker:up" + } + }, + "docker-down": { + "executor": "@nrwl/workspace:run-script", + "options": { + "script": "docker:down" + } + }, + "docker-clear-all": { + "executor": "@nrwl/workspace:run-script", + "options": { + "script": "docker:clear-all" + } + }, + "docker-ssh": { + "executor": "@nrwl/workspace:run-script", + "options": { + "script": "docker:ssh" + } + }, + "test-e2e": { + "executor": "@nrwl/workspace:run-script", + "options": { + "script": "test:e2e" + } + }, + "test-e2e-debug": { + "executor": "@nrwl/workspace:run-script", + "options": { + "script": "test:e2e-debug" + } + }, + "test-e2e-dev": { + "executor": "@nrwl/workspace:run-script", + "options": { + "script": "test:e2e-dev" + } + } + } } diff --git a/packages/js/e2e-utils/project.json b/packages/js/e2e-utils/project.json index 7c55a20ade4..cd77a6997cb 100644 --- a/packages/js/e2e-utils/project.json +++ b/packages/js/e2e-utils/project.json @@ -1,37 +1,44 @@ { - "root": "packages/js/e2e-utils/", - "sourceRoot": "packages/js/e2e-utils/src", - "projectType": "library", - "targets": { - "build": { - "executor": "@nrwl/workspace:run-script", - "options": { - "script": "build" - } - }, - "clean": { - "executor": "@nrwl/workspace:run-script", - "options": { - "script": "clean" - } - }, - "compile": { - "executor": "@nrwl/workspace:run-script", - "options": { - "script": "compile" - } - }, - "prepare": { - "executor": "@nrwl/workspace:run-script", - "options": { - "script": "prepare" - } - }, - "lint": { - "executor": "@nrwl/workspace:run-script", - "options": { - "script": "lint" - } - } - } + "root": "packages/js/e2e-utils/", + "sourceRoot": "packages/js/e2e-utils/src", + "projectType": "library", + "targets": { + "changelog": { + "executor": "./tools/executors/changelogger:changelog", + "options": { + "action": "add", + "cwd": "packages/js/e2e-utils" + } + }, + "build": { + "executor": "@nrwl/workspace:run-script", + "options": { + "script": "build" + } + }, + "clean": { + "executor": "@nrwl/workspace:run-script", + "options": { + "script": "clean" + } + }, + "compile": { + "executor": "@nrwl/workspace:run-script", + "options": { + "script": "compile" + } + }, + "prepare": { + "executor": "@nrwl/workspace:run-script", + "options": { + "script": "prepare" + } + }, + "lint": { + "executor": "@nrwl/workspace:run-script", + "options": { + "script": "lint" + } + } + } } diff --git a/plugins/woocommerce/project.json b/plugins/woocommerce/project.json index 03cf6e733cd..b59b43e9d79 100644 --- a/plugins/woocommerce/project.json +++ b/plugins/woocommerce/project.json @@ -1,153 +1,160 @@ { - "root": "plugins/woocommerce/", - "sourceRoot": "plugins/woocommerce", - "projectType": "application", - "implicitDependencies": [ "woocommerce-legacy-assets" ], - "targets": { - "composer-install": { - "executor": "@nrwl/workspace:run-commands", - "options": { - "command": "composer install", - "cwd": "plugins/woocommerce" - } - }, - "composer-install-no-dev": { - "executor": "@nrwl/workspace:run-commands", - "options": { - "command": "composer install --no-dev", - "cwd": "plugins/woocommerce" - } - }, - "composer-dump-autoload": { - "executor": "@nrwl/workspace:run-commands", - "options": { - "command": "composer dump-autoload", - "cwd": "plugins/woocommerce" - } - }, - "build": { - "executor": "@nrwl/workspace:run-script", - "options": { - "script": "build" - } - }, - "build-core": { - "executor": "@nrwl/workspace:run-script", - "options": { - "script": "build:core" - } - }, - "build-zip": { - "executor": "@nrwl/workspace:run-script", - "options": { - "script": "build:zip" - } - }, - "build-watch": { - "executor": "@nrwl/workspace:run-commands", - "options": { - "command": "grunt watch", - "cwd": "plugins/woocommerce/legacy" - } - }, - "build-assets": { - "executor": "@nrwl/workspace:run-commands", - "options": { - "command": "pnpm nx build woocommerce-legacy-assets", - "cwd": "plugins/woocommerce" - } - }, - "lint-js": { - "executor": "@nrwl/workspace:run-script", - "options": { - "script": "lint:js" - } - }, - "docker-up": { - "executor": "@nrwl/workspace:run-script", - "options": { - "script": "docker:up" - } - }, - "docker-down": { - "executor": "@nrwl/workspace:run-script", - "options": { - "script": "docker:down" - } - }, - "docker-ssh": { - "executor": "@nrwl/workspace:run-script", - "options": { - "script": "docker:ssh" - } - }, - "test-api": { - "executor": "@nrwl/workspace:run-script", - "options": { - "script": "test:api" - } - }, - "test-e2e": { - "executor": "@nrwl/workspace:run-script", - "options": { - "script": "test:e2e" - } - }, - "test-e2e-debug": { - "executor": "@nrwl/workspace:run-script", - "options": { - "script": "test:e2e-debug" - } - }, - "test-e2e-dev": { - "executor": "@nrwl/workspace:run-script", - "options": { - "script": "test:e2e-dev" - } - }, - "test-unit": { - "executor": "@nrwl/workspace:run-script", - "options": { - "script": "test:unit" - } - }, - "makepot": { - "executor": "@nrwl/workspace:run-script", - "options": { - "script": "makepot" - } - }, - "packages-fix-text-domain": { - "executor": "@nrwl/workspace:run-script", - "options": { - "script": "packages:fix:textdomain" - } - }, - "git-update-hooks": { - "executor": "@nrwl/workspace:run-script", - "options": { - "script": "git:update-hooks" - } - }, - "make-collection": { - "executor": "@nrwl/workspace:run-script", - "options": { - "script": "make:collection" - } - }, - "install-unit-test-db": { - "executor": "@nrwl/workspace:run-commands", - "options": { - "command": "bash tests/bin/install.sh woo_test root root 127.0.0.1 latest", - "cwd": "plugins/woocommerce" - } - }, - "test-code-coverage": { - "executor": "@nrwl/workspace:run-commands", - "options": { - "command": "RUN_CODE_COVERAGE=1 bash tests/bin/phpunit.sh", - "cwd": "plugins/woocommerce" - } - } - } + "root": "plugins/woocommerce/", + "sourceRoot": "plugins/woocommerce", + "projectType": "application", + "implicitDependencies": [ "woocommerce-legacy-assets" ], + "targets": { + "changelog": { + "executor": "./tools/executors/changelogger:changelog", + "options": { + "action": "add", + "cwd": "plugins/woocommerce" + } + }, + "composer-install": { + "executor": "@nrwl/workspace:run-commands", + "options": { + "command": "composer install", + "cwd": "plugins/woocommerce" + } + }, + "composer-install-no-dev": { + "executor": "@nrwl/workspace:run-commands", + "options": { + "command": "composer install --no-dev", + "cwd": "plugins/woocommerce" + } + }, + "composer-dump-autoload": { + "executor": "@nrwl/workspace:run-commands", + "options": { + "command": "composer dump-autoload", + "cwd": "plugins/woocommerce" + } + }, + "build": { + "executor": "@nrwl/workspace:run-script", + "options": { + "script": "build" + } + }, + "build-core": { + "executor": "@nrwl/workspace:run-script", + "options": { + "script": "build:core" + } + }, + "build-zip": { + "executor": "@nrwl/workspace:run-script", + "options": { + "script": "build:zip" + } + }, + "build-watch": { + "executor": "@nrwl/workspace:run-commands", + "options": { + "command": "grunt watch", + "cwd": "plugins/woocommerce/legacy" + } + }, + "build-assets": { + "executor": "@nrwl/workspace:run-commands", + "options": { + "command": "pnpm nx build woocommerce-legacy-assets", + "cwd": "plugins/woocommerce" + } + }, + "lint-js": { + "executor": "@nrwl/workspace:run-script", + "options": { + "script": "lint:js" + } + }, + "docker-up": { + "executor": "@nrwl/workspace:run-script", + "options": { + "script": "docker:up" + } + }, + "docker-down": { + "executor": "@nrwl/workspace:run-script", + "options": { + "script": "docker:down" + } + }, + "docker-ssh": { + "executor": "@nrwl/workspace:run-script", + "options": { + "script": "docker:ssh" + } + }, + "test-api": { + "executor": "@nrwl/workspace:run-script", + "options": { + "script": "test:api" + } + }, + "test-e2e": { + "executor": "@nrwl/workspace:run-script", + "options": { + "script": "test:e2e" + } + }, + "test-e2e-debug": { + "executor": "@nrwl/workspace:run-script", + "options": { + "script": "test:e2e-debug" + } + }, + "test-e2e-dev": { + "executor": "@nrwl/workspace:run-script", + "options": { + "script": "test:e2e-dev" + } + }, + "test-unit": { + "executor": "@nrwl/workspace:run-script", + "options": { + "script": "test:unit" + } + }, + "makepot": { + "executor": "@nrwl/workspace:run-script", + "options": { + "script": "makepot" + } + }, + "packages-fix-text-domain": { + "executor": "@nrwl/workspace:run-script", + "options": { + "script": "packages:fix:textdomain" + } + }, + "git-update-hooks": { + "executor": "@nrwl/workspace:run-script", + "options": { + "script": "git:update-hooks" + } + }, + "make-collection": { + "executor": "@nrwl/workspace:run-script", + "options": { + "script": "make:collection" + } + }, + "install-unit-test-db": { + "executor": "@nrwl/workspace:run-commands", + "options": { + "command": "bash tests/bin/install.sh woo_test root root 127.0.0.1 latest", + "cwd": "plugins/woocommerce" + } + }, + "test-code-coverage": { + "executor": "@nrwl/workspace:run-commands", + "options": { + "command": "RUN_CODE_COVERAGE=1 bash tests/bin/phpunit.sh", + "cwd": "plugins/woocommerce" + } + } + } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 183937402f8..0a616bd13aa 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -7,6 +7,7 @@ importers: '@automattic/nx-composer': ^0.1.0 '@babel/core': 7.12.9 '@nrwl/cli': latest + '@nrwl/devkit': ^13.1.4 '@nrwl/linter': ^13.1.4 '@nrwl/tao': latest '@nrwl/web': ^13.1.4 @@ -34,11 +35,12 @@ importers: wp-textdomain: 1.0.1 devDependencies: '@automattic/nx-composer': 0.1.0 - '@nrwl/cli': 13.2.3 + '@nrwl/cli': 13.3.4 + '@nrwl/devkit': 13.1.4 '@nrwl/linter': 13.1.4 - '@nrwl/tao': 13.2.3 + '@nrwl/tao': 13.3.4 '@nrwl/web': 13.1.4_42cab1dece2b2240094de84cfd414406 - '@nrwl/workspace': 13.2.3_wp-prettier@2.2.1-beta-1 + '@nrwl/workspace': 13.3.4_42cab1dece2b2240094de84cfd414406 '@types/node': 14.14.33 '@woocommerce/eslint-plugin': 1.3.0 '@wordpress/prettier-config': 1.1.1 @@ -381,7 +383,6 @@ packages: /@babel/compat-data/7.15.0: resolution: {integrity: sha512-0NqAC1IJE0S0+lL1SWFMxMkz1pKCNCjI4tr2Zx4LJSXxCLAdr6KyArnY+sno5m3yH9g737ygOyPABDsnXkpxiA==} engines: {node: '>=6.9.0'} - dev: true /@babel/compat-data/7.16.4: resolution: {integrity: sha512-1o/jo7D+kC9ZjHX5v+EHrdjl3PhxMrLSOTGsOdHJ+KL8HCaEK6ehrVL2RS6oHDZp+L7xLirLrPmQtEng769J/Q==} @@ -431,7 +432,6 @@ packages: source-map: 0.5.7 transitivePeerDependencies: - supports-color - dev: true /@babel/core/7.16.0: resolution: {integrity: sha512-mYZEvshBRHGsIAiyH5PzCFTCfbWfoYbO/jcSdXQSUQu1/pW0xDZAUP7KEc32heqWTAfAHhV9j1vH8Sav7l+JNQ==} @@ -515,7 +515,6 @@ packages: '@babel/helper-validator-option': 7.14.5 browserslist: 4.17.6 semver: 6.3.0 - dev: true /@babel/helper-compilation-targets/7.16.3_@babel+core@7.16.0: resolution: {integrity: sha512-vKsoSQAyBmxS35JUOOt+07cLc6Nk/2ljLIHwmq2/NM6hdioUaqEXq/S+nXvbvXbZkNDlWOymPanJGOc4CBjSJA==} @@ -747,7 +746,6 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.16.0 - dev: true /@babel/helper-module-imports/7.16.0: resolution: {integrity: sha512-kkH7sWzKPq0xt3H1n+ghb4xEMP8k0U7XV3kkB+ZGy69kDk2ySFW1qPi06sjKzFY3t1j6XbJSqr4mF9L7CYVyhg==} @@ -769,7 +767,6 @@ packages: '@babel/types': 7.16.0 transitivePeerDependencies: - supports-color - dev: true /@babel/helper-module-transforms/7.16.0: resolution: {integrity: sha512-My4cr9ATcaBbmaEa8M0dZNA74cfI6gitvUAskgDtAFmAqyFKDSHQo5YstxPbN+lzHl2D9l/YOEFqb2mtUh4gfA==} @@ -852,7 +849,6 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.16.0 - dev: true /@babel/helper-simple-access/7.16.0: resolution: {integrity: sha512-o1rjBT/gppAqKsYfUdfHq5Rk03lMQrkPHG1OWzHWpLgVXRH4HnMM9Et9CVdIqwkCQlobnGHEJMsgWP/jE1zUiw==} @@ -926,7 +922,6 @@ packages: '@babel/types': 7.16.0 transitivePeerDependencies: - supports-color - dev: true /@babel/helpers/7.16.3: resolution: {integrity: sha512-Xn8IhDlBPhvYTvgewPKawhADichOsbkZuzN7qz2BusOM0brChsyXMDJvldWaYMMUNiCQdQzNEioXTp3sC8Nt8w==} @@ -956,7 +951,6 @@ packages: resolution: {integrity: sha512-RUVpT0G2h6rOZwqLDTrKk7ksNv7YpAilTnYe1/Q+eDjxEceRMKVWbCsX7t8h6C1qCFi/1Y8WZjcEPBAFG27GPw==} engines: {node: '>=6.0.0'} hasBin: true - dev: true /@babel/parser/7.16.4: resolution: {integrity: sha512-6V0qdPUaiVHH3RtZeLIsc+6pDhbYzHR8ogA8w+f+Wc77DuXto19g2QUwveINoS34Uw+W8/hQDGJCx+i4n7xcng==} @@ -1529,7 +1523,6 @@ packages: dependencies: '@babel/core': 7.15.8 '@babel/helper-plugin-utils': 7.14.5 - dev: true /@babel/plugin-syntax-async-generators/7.8.4_@babel+core@7.16.0: resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} @@ -1548,6 +1541,14 @@ packages: '@babel/helper-plugin-utils': 7.14.5 dev: false + /@babel/plugin-syntax-bigint/7.8.3_@babel+core@7.15.8: + resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.15.8 + '@babel/helper-plugin-utils': 7.14.5 + /@babel/plugin-syntax-bigint/7.8.3_@babel+core@7.16.0: resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} peerDependencies: @@ -1555,6 +1556,7 @@ packages: dependencies: '@babel/core': 7.16.0 '@babel/helper-plugin-utils': 7.14.5 + dev: true /@babel/plugin-syntax-class-properties/7.12.13_@babel+core@7.12.9: resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} @@ -1571,7 +1573,6 @@ packages: dependencies: '@babel/core': 7.15.8 '@babel/helper-plugin-utils': 7.14.5 - dev: true /@babel/plugin-syntax-class-properties/7.12.13_@babel+core@7.16.0: resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} @@ -1671,6 +1672,14 @@ packages: '@babel/helper-plugin-utils': 7.14.5 dev: false + /@babel/plugin-syntax-import-meta/7.10.4_@babel+core@7.15.8: + resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.15.8 + '@babel/helper-plugin-utils': 7.14.5 + /@babel/plugin-syntax-import-meta/7.10.4_@babel+core@7.16.0: resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} peerDependencies: @@ -1678,6 +1687,7 @@ packages: dependencies: '@babel/core': 7.16.0 '@babel/helper-plugin-utils': 7.14.5 + dev: true /@babel/plugin-syntax-json-strings/7.8.3_@babel+core@7.12.9: resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} @@ -1694,7 +1704,6 @@ packages: dependencies: '@babel/core': 7.15.8 '@babel/helper-plugin-utils': 7.14.5 - dev: true /@babel/plugin-syntax-json-strings/7.8.3_@babel+core@7.16.0: resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} @@ -1739,7 +1748,6 @@ packages: dependencies: '@babel/core': 7.15.8 '@babel/helper-plugin-utils': 7.14.5 - dev: true /@babel/plugin-syntax-logical-assignment-operators/7.10.4_@babel+core@7.16.0: resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} @@ -1764,7 +1772,6 @@ packages: dependencies: '@babel/core': 7.15.8 '@babel/helper-plugin-utils': 7.14.5 - dev: true /@babel/plugin-syntax-nullish-coalescing-operator/7.8.3_@babel+core@7.16.0: resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} @@ -1789,7 +1796,6 @@ packages: dependencies: '@babel/core': 7.15.8 '@babel/helper-plugin-utils': 7.14.5 - dev: true /@babel/plugin-syntax-numeric-separator/7.10.4_@babel+core@7.16.0: resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} @@ -1814,7 +1820,6 @@ packages: dependencies: '@babel/core': 7.15.8 '@babel/helper-plugin-utils': 7.14.5 - dev: true /@babel/plugin-syntax-object-rest-spread/7.8.3_@babel+core@7.16.0: resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} @@ -1839,7 +1844,6 @@ packages: dependencies: '@babel/core': 7.15.8 '@babel/helper-plugin-utils': 7.14.5 - dev: true /@babel/plugin-syntax-optional-catch-binding/7.8.3_@babel+core@7.16.0: resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} @@ -1864,7 +1868,6 @@ packages: dependencies: '@babel/core': 7.15.8 '@babel/helper-plugin-utils': 7.14.5 - dev: true /@babel/plugin-syntax-optional-chaining/7.8.3_@babel+core@7.16.0: resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} @@ -3423,7 +3426,6 @@ packages: globals: 11.12.0 transitivePeerDependencies: - supports-color - dev: true /@babel/traverse/7.16.3: resolution: {integrity: sha512-eolumr1vVMjqevCpwVO99yN/LoGL0EyHiLO5I043aYQvwOJ9eR5UsZSClHVCzfhBduMAsSzgA/6AyqPjNayJag==} @@ -3915,11 +3917,11 @@ packages: exit: 0.1.2 glob: 7.2.0 graceful-fs: 4.2.8 - istanbul-lib-coverage: 3.2.0 + istanbul-lib-coverage: 3.0.1 istanbul-lib-instrument: 4.0.3 istanbul-lib-report: 3.0.0 - istanbul-lib-source-maps: 4.0.1 - istanbul-reports: 3.0.5 + istanbul-lib-source-maps: 4.0.0 + istanbul-reports: 3.0.3 jest-haste-map: 25.5.1 jest-resolve: 25.5.1 jest-util: 25.5.0 @@ -4140,9 +4142,9 @@ packages: resolution: {integrity: sha512-Y8CEoVwXb4QwA6Y/9uDkn0Xfz0finGkieuV0xkdF9UtZGJeLukD5nLkaVrVsODB1ojRWlaoD0AJZpVHCSnJEvg==} engines: {node: '>= 8.3'} dependencies: - '@babel/core': 7.16.0 + '@babel/core': 7.15.8 '@jest/types': 25.5.0 - babel-plugin-istanbul: 6.1.1 + babel-plugin-istanbul: 6.0.0 chalk: 3.0.0 convert-source-map: 1.8.0 fast-json-stable-stringify: 2.1.0 @@ -4271,11 +4273,23 @@ packages: yargs-parser: 20.0.0 dev: true - /@nrwl/cli/13.2.3: - resolution: {integrity: sha512-4hrOYQ9MqhWOdjQTwuQqHTfPu8lYgdFCE39PVWAcePtoi67mUeba54HkyT6nkTHI1TbO7q8Kf+R73dRhhxDlpA==} + /@nrwl/cli/13.2.4: + resolution: {integrity: sha512-2PxQ7iNghvrDk7O7nPt8ySOi4BPUL/oTQajd4tcsytfWonMrsb5f7wMpwoP5UAoKhcpWyiiFENylizOzEQoQdg==} hasBin: true dependencies: - '@nrwl/tao': 13.2.3 + '@nrwl/tao': 13.2.4 + chalk: 4.1.0 + enquirer: 2.3.6 + v8-compile-cache: 2.3.0 + yargs: 15.4.1 + yargs-parser: 20.0.0 + dev: true + + /@nrwl/cli/13.3.4: + resolution: {integrity: sha512-x3IM9X/q5Yv54ZSr+GsIxa07GJt+hG7dOdjvAFBnixMWb3o4utOVrd6GusDrn2t0HhnCuzqLosFnk+gcOrL34w==} + hasBin: true + dependencies: + '@nrwl/tao': 13.3.4 chalk: 4.1.0 enquirer: 2.3.6 v8-compile-cache: 2.3.0 @@ -4342,10 +4356,10 @@ packages: tslib: 2.3.1 dev: true - /@nrwl/devkit/13.2.3: - resolution: {integrity: sha512-/cp8hFclOXSAjj9pwb6bOU8yw593HfelcCBi8o8Jhb0Luhn1RzLCOpmHNsOf2hWzSUPEr0BuI0R55ubCEB+k6A==} + /@nrwl/devkit/13.3.4: + resolution: {integrity: sha512-fmYScbZYJWCdjRsi1kFq+c5HotdJx4k3TofZ7Bm+OdI3CWsFtjdLajhNMDWDPw2vIRLIZPtZUAyVTkwajR7yJw==} dependencies: - '@nrwl/tao': 13.2.3 + '@nrwl/tao': 13.3.4 ejs: 3.1.6 ignore: 5.1.9 rxjs: 6.6.7 @@ -4397,12 +4411,12 @@ packages: - utf-8-validate dev: true - /@nrwl/jest/13.2.3: - resolution: {integrity: sha512-M9/x0uZNSVKkcyNHcA2+Muj23KRo9SDiCsTb7HnkHhtSbhIWMd1knKP45bOr8CjeeiKNPeervx7uiN5516z8JA==} + /@nrwl/jest/13.3.4: + resolution: {integrity: sha512-seeuHHZVRDdugUoEI+JQsHG7q/7BOoJOeb7djR9TIwPRd8Tj5nBVO6dzOq3pMdvsgYmNkiVMFwIqMWXy6rNvaQ==} dependencies: '@jest/reporters': 27.2.2 '@jest/test-result': 27.2.2 - '@nrwl/devkit': 13.2.3 + '@nrwl/devkit': 13.3.4 chalk: 4.1.0 identity-obj-proxy: 3.0.0 jest-config: 27.2.2 @@ -4458,12 +4472,13 @@ packages: - utf-8-validate dev: true - /@nrwl/linter/13.2.3: - resolution: {integrity: sha512-kdzPWYzR96XYghJ5yIaYSybDrtcAcSxgcscwP1UWvME19O2W8DHbhIj3AzBgjSG0X6hBEh6k9kpyQ49jNkUMCw==} + /@nrwl/linter/13.3.4_typescript@4.2.4: + resolution: {integrity: sha512-p3SEL5pDgv1g2Q9OjdoBcYwDIEDnuO7cHUEUS1H7oww+HfDhuzVs4Zx+PtGjOSmT5qi3sLZZvt7U7pRNtIyrHQ==} dependencies: - '@nrwl/devkit': 13.2.3 - '@nrwl/jest': 13.2.3 - eslint: 7.32.0 + '@nrwl/devkit': 13.3.4 + '@nrwl/jest': 13.3.4 + '@phenomnomnominal/tsquery': 4.1.1_typescript@4.2.4 + eslint: 8.2.0 glob: 7.1.4 minimatch: 3.0.4 tmp: 0.2.1 @@ -4474,6 +4489,7 @@ packages: - node-notifier - supports-color - ts-node + - typescript - utf-8-validate dev: true @@ -4511,15 +4527,34 @@ packages: yargs-parser: 20.0.0 dev: true - /@nrwl/tao/13.2.3: - resolution: {integrity: sha512-vn+GqvFVinqAXzvbHznPBtCg9OCfirh3hF68sZgY2C6jZ3m47XwST3mLTRSDTtSDy9QfUrSZ6p4uAk2Iht0yBQ==} + /@nrwl/tao/13.2.4: + resolution: {integrity: sha512-iYzv+JiWMZOLwtunOzHFVMuYW9iiICkjau94mlLHHDqsa6RgMx4qcXoZyVM78N9hlkc2yNvA+XVYFsoFsFWrpg==} hasBin: true dependencies: chalk: 4.1.0 enquirer: 2.3.6 fs-extra: 9.1.0 jsonc-parser: 3.0.0 - nx: 13.2.3 + nx: 13.2.4 + rxjs: 6.6.7 + rxjs-for-await: 0.0.2_rxjs@6.6.7 + semver: 7.3.4 + tmp: 0.2.1 + tslib: 2.3.1 + yargs-parser: 20.0.0 + dev: true + + /@nrwl/tao/13.3.4: + resolution: {integrity: sha512-ujwxGZcR3De8FSj8IjVSGmfZ2CQZfFzeV9QXU8DeiZ9J1ylWPwWpMIS3XVxZIpe7gR++XP4jbvFodKFQP7PzVQ==} + hasBin: true + dependencies: + chalk: 4.1.0 + enquirer: 2.3.6 + fast-glob: 3.2.7 + fs-extra: 9.1.0 + ignore: 5.1.9 + jsonc-parser: 3.0.0 + nx: 13.3.4 rxjs: 6.6.7 rxjs-for-await: 0.0.2_rxjs@6.6.7 semver: 7.3.4 @@ -4685,33 +4720,37 @@ packages: - utf-8-validate dev: true - /@nrwl/workspace/13.2.3_wp-prettier@2.2.1-beta-1: - resolution: {integrity: sha512-dFB6XXDLP4Nmh/Sw8Euwdt7f0tg1O6JxJNvXV2BfWG1rK3dmhTz4Q+8fgxl7AxsrToVrXDAh16mPyfAzpqH4pw==} + /@nrwl/workspace/13.3.4_42cab1dece2b2240094de84cfd414406: + resolution: {integrity: sha512-FIBa705KC2LumlfESTRZ54oAVg+a+CMNtI3QULPQVYOMtEJLrYR+D8MDmz3Qchbwx704YO70+hy7FI7dY1rKFQ==} peerDependencies: prettier: ^2.3.0 peerDependenciesMeta: prettier: optional: true dependencies: - '@nrwl/cli': 13.2.3 - '@nrwl/devkit': 13.2.3 - '@nrwl/jest': 13.2.3 - '@nrwl/linter': 13.2.3 - '@parcel/watcher': 2.0.0-alpha.11 + '@nrwl/cli': 13.3.4 + '@nrwl/devkit': 13.3.4 + '@nrwl/jest': 13.3.4 + '@nrwl/linter': 13.3.4_typescript@4.2.4 + '@parcel/watcher': 2.0.4 chalk: 4.1.0 chokidar: 3.5.2 cosmiconfig: 4.0.0 dotenv: 10.0.0 enquirer: 2.3.6 + figures: 3.2.0 flat: 5.0.2 fs-extra: 9.1.0 glob: 7.1.4 ignore: 5.1.9 + ink: 3.2.0_react@17.0.2 + ink-spinner: 4.0.3_ink@3.2.0+react@17.0.2 minimatch: 3.0.4 npm-run-all: 4.1.5 npm-run-path: 4.0.1 open: 7.4.2 prettier: /wp-prettier/2.2.1-beta-1 + react: 17.0.2 rxjs: 6.6.7 semver: 7.3.4 strip-ansi: 6.0.0 @@ -4720,11 +4759,13 @@ packages: yargs: 15.4.1 yargs-parser: 20.0.0 transitivePeerDependencies: + - '@types/react' - bufferutil - canvas - node-notifier - supports-color - ts-node + - typescript - utf-8-validate dev: true @@ -4737,6 +4778,24 @@ packages: node-gyp-build: 4.3.0 dev: true + /@parcel/watcher/2.0.4: + resolution: {integrity: sha512-cTDi+FUDBIUOBKEtj+nhiJ71AZVlkAsQFuGQTun5tV9mwQBQgZvhCzG+URPQc8myeN32yRVZEfVAPCs1RW+Jvg==} + engines: {node: '>= 10.0.0'} + requiresBuild: true + dependencies: + node-addon-api: 3.2.1 + node-gyp-build: 4.3.0 + dev: true + + /@phenomnomnominal/tsquery/4.1.1_typescript@4.2.4: + resolution: {integrity: sha512-jjMmK1tnZbm1Jq5a7fBliM4gQwjxMU7TFoRNwIyzwlO+eHPRCFv/Nv+H/Gi1jc3WR7QURG8D5d0Tn12YGrUqBQ==} + peerDependencies: + typescript: ^3 || ^4 + dependencies: + esquery: 1.4.0 + typescript: 4.2.4 + dev: true + /@pmmmwh/react-refresh-webpack-plugin/0.5.1_92cb4b81c6b9f71cf92f0bdb85e4210c: resolution: {integrity: sha512-ccap6o7+y5L8cnvkZ9h8UXCGyy2DqtwCD+/N3Yru6lxMvcdkPKtdx13qd7sAC9s5qZktOmWf9lfUjsGOvSdYhg==} engines: {node: '>= 10.13'} @@ -5274,6 +5333,10 @@ packages: '@types/yargs-parser': 20.2.1 dev: true + /@types/yoga-layout/1.9.2: + resolution: {integrity: sha512-S9q47ByT2pPvD65IvrWp7qppVMpk9WGMbVq9wbWZOHg6tnXSD4vyhao6nOSBwwfDdV2p3Kx9evA9vI+XWTfDvw==} + dev: true + /@typescript-eslint/eslint-plugin/3.10.1_aab05197bc2ab2306ca58e96baf5381b: resolution: {integrity: sha512-PQg0emRtzZFWq6PxBcdxRH3QIQiyFO3WCVpRL3fgj5oQS3CDs3AeAKfv4DxNhzn8ITdNJGJ4D3Qw8eAJf3lXeQ==} engines: {node: ^10.12.0 || >=12.0.0} @@ -6877,6 +6940,11 @@ packages: engines: {node: '>= 4.5.0'} hasBin: true + /auto-bind/4.0.0: + resolution: {integrity: sha512-Hdw8qdNiqdJ8LqT0iK0sVzkFbzg6fhnQqqfWhBDxcHZvU75+B+ayzTy8x+k5Ix0Y92XOhOUlx74ps+bA6BeYMQ==} + engines: {node: '>=8'} + dev: true + /autoprefixer/10.4.0_postcss@8.3.0: resolution: {integrity: sha512-7FdJ1ONtwzV1G43GDD0kpVMn/qbiNqyOPMFTX5nRffI+7vgWoFEc6DcXOxHJxrWNDXrZh18eDsZjvZGUljSRGA==} engines: {node: ^10 || ^12 || >=14} @@ -7073,18 +7141,18 @@ packages: - supports-color dev: false - /babel-jest/25.5.1_@babel+core@7.16.0: + /babel-jest/25.5.1_@babel+core@7.15.8: resolution: {integrity: sha512-9dA9+GmMjIzgPnYtkhBg73gOo/RHqPmLruP3BaGL4KEX3Dwz6pI8auSN8G8+iuEG90+GSswyKvslN+JYSaacaQ==} engines: {node: '>= 8.3'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.16.0 + '@babel/core': 7.15.8 '@jest/transform': 25.5.1 '@jest/types': 25.5.0 '@types/babel__core': 7.1.16 babel-plugin-istanbul: 6.1.1 - babel-preset-jest: 25.5.0_@babel+core@7.16.0 + babel-preset-jest: 25.5.0_@babel+core@7.15.8 chalk: 3.0.0 graceful-fs: 4.2.8 slash: 3.0.0 @@ -7161,6 +7229,18 @@ packages: - supports-color dev: false + /babel-plugin-istanbul/6.0.0: + resolution: {integrity: sha512-AF55rZXpe7trmEylbaE1Gv54wn6rwU03aptvRoVIGP8YykoSxqdVLV1TfwflBCE/QtHmqtP8SWlTENqbK8GCSQ==} + engines: {node: '>=8'} + dependencies: + '@babel/helper-plugin-utils': 7.14.5 + '@istanbuljs/load-nyc-config': 1.1.0 + '@istanbuljs/schema': 0.1.3 + istanbul-lib-instrument: 4.0.3 + test-exclude: 6.0.0 + transitivePeerDependencies: + - supports-color + /babel-plugin-istanbul/6.1.1: resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==} engines: {node: '>=8'} @@ -7304,23 +7384,23 @@ packages: '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.12.9 dev: false - /babel-preset-current-node-syntax/0.1.4_@babel+core@7.16.0: + /babel-preset-current-node-syntax/0.1.4_@babel+core@7.15.8: resolution: {integrity: sha512-5/INNCYhUGqw7VbVjT/hb3ucjgkVHKXY7lX3ZjlN4gm565VyFmJUrJ/h+h16ECVB38R/9SF6aACydpKMLZ/c9w==} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.16.0 - '@babel/plugin-syntax-async-generators': 7.8.4_@babel+core@7.16.0 - '@babel/plugin-syntax-bigint': 7.8.3_@babel+core@7.16.0 - '@babel/plugin-syntax-class-properties': 7.12.13_@babel+core@7.16.0 - '@babel/plugin-syntax-import-meta': 7.10.4_@babel+core@7.16.0 - '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.16.0 - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4_@babel+core@7.16.0 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.16.0 - '@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.16.0 - '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.16.0 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.16.0 - '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.16.0 + '@babel/core': 7.15.8 + '@babel/plugin-syntax-async-generators': 7.8.4_@babel+core@7.15.8 + '@babel/plugin-syntax-bigint': 7.8.3_@babel+core@7.15.8 + '@babel/plugin-syntax-class-properties': 7.12.13_@babel+core@7.15.8 + '@babel/plugin-syntax-import-meta': 7.10.4_@babel+core@7.15.8 + '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.15.8 + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4_@babel+core@7.15.8 + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.15.8 + '@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.15.8 + '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.15.8 + '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.15.8 + '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.15.8 /babel-preset-current-node-syntax/1.0.1_@babel+core@7.16.0: resolution: {integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==} @@ -7364,15 +7444,15 @@ packages: babel-preset-current-node-syntax: 0.1.4_@babel+core@7.12.9 dev: false - /babel-preset-jest/25.5.0_@babel+core@7.16.0: + /babel-preset-jest/25.5.0_@babel+core@7.15.8: resolution: {integrity: sha512-8ZczygctQkBU+63DtSOKGh7tFL0CeCuz+1ieud9lJ1WPQ9O6A1a/r+LGn6Y705PA6whHQ3T1XuB/PmpfNYf8Fw==} engines: {node: '>= 8.3'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.16.0 + '@babel/core': 7.15.8 babel-plugin-jest-hoist: 25.5.0 - babel-preset-current-node-syntax: 0.1.4_@babel+core@7.16.0 + babel-preset-current-node-syntax: 0.1.4_@babel+core@7.15.8 /babel-preset-jest/27.2.0_@babel+core@7.16.0: resolution: {integrity: sha512-z7MgQ3peBwN5L5aCqBKnF6iqdlvZvFUQynEhu0J+X9nHLU72jO3iY331lcYrg+AssJ8q7xsv5/3AICzVmJ/wvg==} @@ -7671,7 +7751,6 @@ packages: escalade: 3.1.1 node-releases: 2.0.1 picocolors: 1.0.0 - dev: true /browserslist/4.18.1: resolution: {integrity: sha512-8ScCzdpPwR2wQh8IT82CA2VgDwjHyqMovPBZSNH54+tm4Jk2pCuv90gmAdH6J84OCRWi0b4gMe6O6XPXuJnjgQ==} @@ -7869,7 +7948,6 @@ packages: /caniuse-lite/1.0.30001278: resolution: {integrity: sha512-mpF9KeH8u5cMoEmIic/cr7PNS+F5LWBk0t2ekGT60lFf0Wq+n9LspAj0g3P+o7DQhD3sUdlMln4YFAWhFYn9jg==} - dev: true /caniuse-lite/1.0.30001280: resolution: {integrity: sha512-kFXwYvHe5rix25uwueBxC569o53J6TpnGu0BEEn+6Lhl2vsnAumRFWEBhDft1fwyo6m1r4i+RqA4+163FpeFcA==} @@ -8122,6 +8200,11 @@ packages: engines: {node: '>=0.10.0'} dev: true + /cli-boxes/2.2.1: + resolution: {integrity: sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==} + engines: {node: '>=6'} + dev: true + /cli-cursor/2.1.0: resolution: {integrity: sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=} engines: {node: '>=4'} @@ -8135,6 +8218,11 @@ packages: dependencies: restore-cursor: 3.1.0 + /cli-spinners/2.6.1: + resolution: {integrity: sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==} + engines: {node: '>=6'} + dev: true + /cli-truncate/0.2.1: resolution: {integrity: sha1-nxXPuwcFAFNpIWxiasfQWrkN1XQ=} engines: {node: '>=0.10.0'} @@ -8143,6 +8231,14 @@ packages: string-width: 1.0.2 dev: true + /cli-truncate/2.1.0: + resolution: {integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==} + engines: {node: '>=8'} + dependencies: + slice-ansi: 3.0.0 + string-width: 4.2.3 + dev: true + /cli-width/2.2.1: resolution: {integrity: sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==} dev: true @@ -8204,6 +8300,13 @@ packages: resolution: {integrity: sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=} engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} + /code-excerpt/3.0.0: + resolution: {integrity: sha512-VHNTVhd7KsLGOqfX3SyeO8RyYPMp1GJOg194VITk04WMYCv4plV68YWe6TJZxd9MhobjtpMRnVky01gqZsalaw==} + engines: {node: '>=10'} + dependencies: + convert-to-spaces: 1.0.2 + dev: true + /code-point-at/1.1.0: resolution: {integrity: sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=} engines: {node: '>=0.10.0'} @@ -8405,6 +8508,11 @@ packages: dependencies: safe-buffer: 5.1.2 + /convert-to-spaces/1.0.2: + resolution: {integrity: sha1-fj5Iu+bZl7FBfdyihoIEtNPYVxU=} + engines: {node: '>= 4'} + dev: true + /cookie-signature/1.0.6: resolution: {integrity: sha1-4wOogrNCzD7oylE6eZmXNNqzriw=} dev: true @@ -9331,7 +9439,6 @@ packages: /electron-to-chromium/1.3.889: resolution: {integrity: sha512-suEUoPTD1mExjL9TdmH7cvEiWJVM2oEiAi+Y1p0QKxI2HcRlT44qDTP2c1aZmVwRemIPYOpxmV7CxQCOWcm4XQ==} - dev: true /electron-to-chromium/1.3.899: resolution: {integrity: sha512-w16Dtd2zl7VZ4N4Db+FIa7n36sgPGCKjrKvUUmp5ialsikvcQLjcJR9RWnlYNxIyEHLdHaoIZEqKsPxU9MdyBg==} @@ -12422,6 +12529,57 @@ packages: /ini/1.3.8: resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} + /ink-spinner/4.0.3_ink@3.2.0+react@17.0.2: + resolution: {integrity: sha512-uJ4nbH00MM9fjTJ5xdw0zzvtXMkeGb0WV6dzSWvFv2/+ks6FIhpkt+Ge/eLdh0Ah6Vjw5pLMyNfoHQpRDRVFbQ==} + engines: {node: '>=10'} + peerDependencies: + ink: '>=3.0.5' + react: '>=16.8.2' + dependencies: + cli-spinners: 2.6.1 + ink: 3.2.0_react@17.0.2 + react: 17.0.2 + dev: true + + /ink/3.2.0_react@17.0.2: + resolution: {integrity: sha512-firNp1q3xxTzoItj/eOOSZQnYSlyrWks5llCTVX37nJ59K3eXbQ8PtzCguqo8YI19EELo5QxaKnJd4VxzhU8tg==} + engines: {node: '>=10'} + peerDependencies: + '@types/react': '>=16.8.0' + react: '>=16.8.0' + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + ansi-escapes: 4.3.2 + auto-bind: 4.0.0 + chalk: 4.1.2 + cli-boxes: 2.2.1 + cli-cursor: 3.1.0 + cli-truncate: 2.1.0 + code-excerpt: 3.0.0 + indent-string: 4.0.0 + is-ci: 2.0.0 + lodash: 4.17.21 + patch-console: 1.0.0 + react: 17.0.2 + react-devtools-core: 4.22.0 + react-reconciler: 0.26.2_react@17.0.2 + scheduler: 0.20.2 + signal-exit: 3.0.5 + slice-ansi: 3.0.0 + stack-utils: 2.0.5 + string-width: 4.2.3 + type-fest: 0.12.0 + widest-line: 3.1.0 + wrap-ansi: 6.2.0 + ws: 7.5.5 + yoga-layout-prebuilt: 1.10.0 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + dev: true + /inquirer/6.5.2: resolution: {integrity: sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==} engines: {node: '>=6.0.0'} @@ -13006,6 +13164,10 @@ packages: engines: {node: '>=6'} dev: false + /istanbul-lib-coverage/3.0.1: + resolution: {integrity: sha512-GvCYYTxaCPqwMjobtVcVKvSHtAGe48MNhGjpK8LtVF8K0ISX7hCKl85LgtuaSneWVyQmaGcW3iXVV3GaZSLpmQ==} + engines: {node: '>=8'} + /istanbul-lib-coverage/3.2.0: resolution: {integrity: sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==} engines: {node: '>=8'} @@ -13115,6 +13277,16 @@ packages: - supports-color dev: false + /istanbul-lib-source-maps/4.0.0: + resolution: {integrity: sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg==} + engines: {node: '>=8'} + dependencies: + debug: 4.3.2 + istanbul-lib-coverage: 3.0.1 + source-map: 0.6.1 + transitivePeerDependencies: + - supports-color + /istanbul-lib-source-maps/4.0.1: resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} engines: {node: '>=10'} @@ -13124,6 +13296,7 @@ packages: source-map: 0.6.1 transitivePeerDependencies: - supports-color + dev: true /istanbul-reports/1.5.1: resolution: {integrity: sha512-+cfoZ0UXzWjhAdzosCPP3AN8vvef8XDkWtTfgaN+7L3YTpNYITnCaEkceo5SEYy644VkHka/P1FvkWvrG/rrJw==} @@ -13138,12 +13311,20 @@ packages: html-escaper: 2.0.2 dev: false + /istanbul-reports/3.0.3: + resolution: {integrity: sha512-0i77ZFLsb9U3DHi22WzmIngVzfoyxxbQcZRqlF3KoKmCJGq9nhFHoGi8FqBztN2rE8w6hURnZghetn0xpkVb6A==} + engines: {node: '>=8'} + dependencies: + html-escaper: 2.0.2 + istanbul-lib-report: 3.0.0 + /istanbul-reports/3.0.5: resolution: {integrity: sha512-5+19PlhnGabNWB7kOFnuxT8H3T/iIyQzIbQMxXsURmmvKg86P2sbkrGOT77VnHw0Qr0gc2XzRaRfMZYYbSQCJQ==} engines: {node: '>=8'} dependencies: html-escaper: 2.0.2 istanbul-lib-report: 3.0.0 + dev: true /istanbul/1.0.0-alpha.2: resolution: {integrity: sha1-BglrwI6Yuq10Sq5Gli2N+frGPQg=} @@ -13352,10 +13533,10 @@ packages: resolution: {integrity: sha512-SZwR91SwcdK6bz7Gco8qL7YY2sx8tFJYzvg216DLihTWf+LKY/DoJXpM9nTzYakSyfblbqeU48p/p7Jzy05Atg==} engines: {node: '>= 8.3'} dependencies: - '@babel/core': 7.16.0 + '@babel/core': 7.15.8 '@jest/test-sequencer': 25.5.4 '@jest/types': 25.5.0 - babel-jest: 25.5.1_@babel+core@7.16.0 + babel-jest: 25.5.1_@babel+core@7.15.8 chalk: 3.0.0 deepmerge: 4.2.2 glob: 7.2.0 @@ -13738,7 +13919,7 @@ packages: jest-worker: 25.5.0 micromatch: 4.0.4 sane: 4.1.0 - walker: 1.0.8 + walker: 1.0.7 which: 2.0.2 optionalDependencies: fsevents: 2.3.2 @@ -13791,7 +13972,7 @@ packages: resolution: {integrity: sha512-9acbWEfbmS8UpdcfqnDO+uBUgKa/9hcRh983IHdM+pKmJPL77G0sWAAK0V0kr5LK3a8cSBfkFSoncXwQlRZfkQ==} engines: {node: '>= 8.3'} dependencies: - '@babel/traverse': 7.16.3 + '@babel/traverse': 7.16.0 '@jest/environment': 25.5.0 '@jest/source-map': 25.5.0 '@jest/test-result': 25.5.0 @@ -15344,6 +15525,11 @@ packages: kind-of: 6.0.3 dev: true + /makeerror/1.0.11: + resolution: {integrity: sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=} + dependencies: + tmpl: 1.0.5 + /makeerror/1.0.12: resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==} dependencies: @@ -16167,21 +16353,28 @@ packages: resolution: {integrity: sha512-LpCfZCWsVEtmD2SI1j2KRaw1uIyn4DJ3eRzsjnDYitbq38aORpkvYO+L0zVMZRNDSYSRGTsuj0nHCS3OOxK/Cg==} hasBin: true dependencies: - '@nrwl/cli': 13.2.3 + '@nrwl/cli': 13.2.4 dev: true /nx/13.1.4: resolution: {integrity: sha512-m2j3wymaFlEl/7EoGxlgRzdmgQV1Rsh42df1cM8xFzAzV8ZGtR3Zq19qK7r9SUabpq8jMzp1e6rLQTHewCJWig==} hasBin: true dependencies: - '@nrwl/cli': 13.2.3 + '@nrwl/cli': 13.3.4 dev: true - /nx/13.2.3: - resolution: {integrity: sha512-aNRbPjArROZazOKAiUhG5uZAZmL1uXdsGoA3p5mDt5fCLSj/CX1V/myuRx+Js0qsAV78W6dSf2z6TiQeIgieXg==} + /nx/13.2.4: + resolution: {integrity: sha512-/ZQRSKl1582CvntOT9cqItIu9vqGp1DnKuYgLClxpqkhk7GzIHWE9mtm56qT3o8NvBjZXyf+IZcxBwPgjd49NQ==} hasBin: true dependencies: - '@nrwl/cli': 13.2.3 + '@nrwl/cli': 13.2.4 + dev: true + + /nx/13.3.4: + resolution: {integrity: sha512-prWCa/8jKBWUiCWhAbRD3UftTvaD8MgUo98g557/EpPaC9LHPPWNOhXDyij21sedouyDVdQGhr8TW4pEHt2zeQ==} + hasBin: true + dependencies: + '@nrwl/cli': 13.3.4 dev: true /oauth-1.0a/2.2.6: @@ -16655,6 +16848,11 @@ packages: resolution: {integrity: sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=} engines: {node: '>=0.10.0'} + /patch-console/1.0.0: + resolution: {integrity: sha512-nxl9nrnLQmh64iTzMfyylSlRozL7kAXIaxw1fVcLYdyhNkJCRUzirRZTikXGJsg+hc4fqpneTK6iU2H1Q8THSA==} + engines: {node: '>=10'} + dev: true + /path-browserify/0.0.1: resolution: {integrity: sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==} dev: true @@ -17958,6 +18156,16 @@ packages: strip-json-comments: 2.0.1 dev: true + /react-devtools-core/4.22.0: + resolution: {integrity: sha512-OYY2FO+z+w/N7kVZr2x0rVOD2QCGZoRThbs1diJ2Az0rqtMxyk0JJvsr7FS9+b5CJkWQ2Ro810BCnySygOt2pA==} + dependencies: + shell-quote: 1.7.3 + ws: 7.5.5 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + dev: true + /react-dom/17.0.2_react@17.0.2: resolution: {integrity: sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==} peerDependencies: @@ -17983,6 +18191,18 @@ packages: whatwg-url-without-unicode: 8.0.0-3 dev: false + /react-reconciler/0.26.2_react@17.0.2: + resolution: {integrity: sha512-nK6kgY28HwrMNwDnMui3dvm3rCFjZrcGiuwLc5COUipBK5hWHLOxMJhSnSomirqWwjPBJKV1QcbkI0VJr7Gl1Q==} + engines: {node: '>=0.10.0'} + peerDependencies: + react: ^17.0.2 + dependencies: + loose-envify: 1.4.0 + object-assign: 4.1.1 + react: 17.0.2 + scheduler: 0.20.2 + dev: true + /react-refresh/0.10.0: resolution: {integrity: sha512-PgidR3wST3dDYKr6b4pJoqQFpPGNKDSCDx4cZoshjXipw3LzO7mG1My2pwEzz2JVkF+inx3xRpDeQLFQGH/hsQ==} engines: {node: '>=0.10.0'} @@ -18005,7 +18225,6 @@ packages: dependencies: loose-envify: 1.4.0 object-assign: 4.1.1 - dev: false /read-cache/1.0.0: resolution: {integrity: sha1-5mTvMRYRZsl1HNvo28+GtftY93Q=} @@ -18662,7 +18881,6 @@ packages: dependencies: loose-envify: 1.4.0 object-assign: 4.1.1 - dev: false /schema-utils/1.0.0: resolution: {integrity: sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==} @@ -18927,6 +19145,15 @@ packages: astral-regex: 1.0.0 is-fullwidth-code-point: 2.0.0 + /slice-ansi/3.0.0: + resolution: {integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==} + engines: {node: '>=8'} + dependencies: + ansi-styles: 4.3.0 + astral-regex: 2.0.0 + is-fullwidth-code-point: 3.0.0 + dev: true + /slice-ansi/4.0.0: resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} engines: {node: '>=10'} @@ -20351,6 +20578,11 @@ packages: resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} engines: {node: '>=4'} + /type-fest/0.12.0: + resolution: {integrity: sha512-53RyidyjvkGpnWPMF9bQgFtWp+Sl8O2Rp13VavmJgfAP9WWG6q6TkrKU8iyJdnwnfgHI6k2hTlgqH4aSdjoTbg==} + engines: {node: '>=10'} + dev: true + /type-fest/0.18.1: resolution: {integrity: sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==} engines: {node: '>=10'} @@ -20747,6 +20979,11 @@ packages: - supports-color dev: false + /walker/1.0.7: + resolution: {integrity: sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=} + dependencies: + makeerror: 1.0.11 + /walker/1.0.8: resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} dependencies: @@ -21107,6 +21344,13 @@ packages: string-width: 2.1.1 dev: true + /widest-line/3.1.0: + resolution: {integrity: sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==} + engines: {node: '>=8'} + dependencies: + string-width: 4.2.3 + dev: true + /wildcard/2.0.0: resolution: {integrity: sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==} dev: true @@ -21398,6 +21642,13 @@ packages: engines: {node: '>=10'} dev: true + /yoga-layout-prebuilt/1.10.0: + resolution: {integrity: sha512-YnOmtSbv4MTf7RGJMK0FvZ+KD8OEe/J5BNnR0GHhD8J/XcG/Qvxgszm0Un6FTHWW4uHlTgP0IztiXQnGyIR45g==} + engines: {node: '>=8'} + dependencies: + '@types/yoga-layout': 1.9.2 + dev: true + /zwitch/1.0.5: resolution: {integrity: sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw==} dev: true diff --git a/tools/executors/changelogger/executor.json b/tools/executors/changelogger/executor.json new file mode 100644 index 00000000000..76e6792e4ef --- /dev/null +++ b/tools/executors/changelogger/executor.json @@ -0,0 +1,9 @@ +{ + "executors": { + "changelog": { + "implementation": "./impl", + "schema": "./schema.json", + "description": "Executes Jetpack Changelogger scripts." + } + } +} diff --git a/tools/executors/changelogger/impl.js b/tools/executors/changelogger/impl.js new file mode 100644 index 00000000000..007299b208c --- /dev/null +++ b/tools/executors/changelogger/impl.js @@ -0,0 +1,115 @@ +"use strict"; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +var __generator = (this && this.__generator) || function (thisArg, body) { + var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; + return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; + function verb(n) { return function (v) { return step([n, v]); }; } + function step(op) { + if (f) throw new TypeError("Generator is already executing."); + while (_) try { + if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; + if (y = 0, t) op = [op[0] & 2, t.value]; + switch (op[0]) { + case 0: case 1: t = op; break; + case 4: _.label++; return { value: op[1], done: false }; + case 5: _.label++; y = op[1]; op = [0]; continue; + case 7: op = _.ops.pop(); _.trys.pop(); continue; + default: + if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } + if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } + if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } + if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } + if (t[2]) _.ops.pop(); + _.trys.pop(); continue; + } + op = body.call(thisArg, _); + } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } + if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; + } +}; +var __rest = (this && this.__rest) || function (s, e) { + var t = {}; + for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) + t[p] = s[p]; + if (s != null && typeof Object.getOwnPropertySymbols === "function") + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } + return t; +}; +exports.__esModule = true; +var child_process_1 = require("child_process"); +var path_1 = require("path"); +var fs_1 = require("fs"); +var chalk = require("chalk"); +var changeloggerScriptPath = 'vendor/bin/changelogger'; +function runChangelogger(_a) { + var action = _a.action, cwd = _a.cwd, extraArgs = __rest(_a, ["action", "cwd"]); + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_b) { + return [2 /*return*/, new Promise(function (resolve, reject) { + var args = [action].concat( + // Add any extra arguments supplied. NX camel cases and converts values to Numbers. + // Undo all that so arguments can be passed to Jetpack Changelogger unmodified. + Object.keys(extraArgs).map(function (key) { + return "--" + key.replace(/[A-Z]/g, function (m) { return '-' + m.toLowerCase(); }) + "=" + (Number(extraArgs[key]) && action === 'write' + ? extraArgs[key].toFixed(1) + : extraArgs[key]); + })); + var changeloggerScript = (0, child_process_1.spawn)("./" + changeloggerScriptPath, args, { + stdio: 'inherit' + }); + changeloggerScript.on('close', function (code) { + resolve({ code: code, error: undefined }); + }); + changeloggerScript.on('error', function (error) { + reject({ code: 1, error: error }); + }); + })]; + }); + }); +} +function changelogExecutor(options, context) { + return __awaiter(this, void 0, void 0, function () { + var cwd, projectPath, _a, code, error; + return __generator(this, function (_b) { + switch (_b.label) { + case 0: + cwd = options.cwd; + projectPath = (0, path_1.join)(__dirname, '../../../', cwd); + console.info(chalk.cyan("\nExecuting Changelogger...\n")); + try { + process.chdir(projectPath); + console.log(chalk.yellow('Executing from directory: ' + process.cwd() + '\n')); + } + catch (error) { + console.error(chalk.bgRed('Unable to find project working directory')); + console.error(error); + return [2 /*return*/, { success: false }]; + } + if (!(0, fs_1.existsSync)(changeloggerScriptPath)) { + console.error(chalk.bgRed('Changelogger scripts not found. Did you remember to `composer install` from project directory?')); + return [2 /*return*/, { success: false }]; + } + return [4 /*yield*/, runChangelogger(options)]; + case 1: + _a = _b.sent(), code = _a.code, error = _a.error; + if (error) { + console.error(chalk.bgRed(error)); + return [2 /*return*/, { success: false }]; + } + return [2 /*return*/, { success: code === 0 }]; + } + }); + }); +} +exports["default"] = changelogExecutor; diff --git a/tools/executors/changelogger/impl.ts b/tools/executors/changelogger/impl.ts new file mode 100644 index 00000000000..a7f63e0e437 --- /dev/null +++ b/tools/executors/changelogger/impl.ts @@ -0,0 +1,96 @@ +/** + * External dependencies + */ +import { ExecutorContext } from '@nrwl/devkit'; +import { spawn } from 'child_process'; +import { join } from 'path'; +import { existsSync } from 'fs'; +import * as chalk from 'chalk'; + +export interface ChangelogExecutorOptions { + action: string; + cwd: string; +} + +const changeloggerScriptPath = 'vendor/bin/changelogger'; + +async function runChangelogger( { + action, + cwd, + ...extraArgs +}: ChangelogExecutorOptions ): Promise< { code: number; error: string } > { + return new Promise( ( resolve, reject ) => { + const args = [ action ].concat( + // Add any extra arguments supplied. NX camel cases and converts values to Numbers. + // Undo all that so arguments can be passed to Jetpack Changelogger unmodified. + Object.keys( extraArgs ).map( + ( key ) => + `--${ key.replace( + /[A-Z]/g, + ( m ) => '-' + m.toLowerCase() + ) }=${ + Number( extraArgs[ key ] ) && action === 'write' + ? extraArgs[ key ].toFixed( 1 ) + : extraArgs[ key ] + }` + ) + ); + + const changeloggerScript = spawn( + `./${ changeloggerScriptPath }`, + args, + { + stdio: 'inherit', + } + ); + + changeloggerScript.on( 'close', ( code ) => { + resolve( { code, error: undefined } ); + } ); + + changeloggerScript.on( 'error', ( error ) => { + reject( { code: 1, error } ); + } ); + } ); +} + +export default async function changelogExecutor( + options: ChangelogExecutorOptions, + context: ExecutorContext +) { + const { cwd } = options; + const projectPath = join( __dirname, '../../../', cwd ); + + console.info( chalk.cyan( `\nExecuting Changelogger...\n` ) ); + + try { + process.chdir( projectPath ); + console.log( + chalk.yellow( 'Executing from directory: ' + process.cwd() + '\n' ) + ); + } catch ( error ) { + console.error( + chalk.bgRed( 'Unable to find project working directory' ) + ); + console.error( error ); + return { success: false }; + } + + if ( ! existsSync( changeloggerScriptPath ) ) { + console.error( + chalk.bgRed( + 'Changelogger scripts not found. Did you remember to `composer install` from project directory?' + ) + ); + return { success: false }; + } + + const { code, error } = await runChangelogger( options ); + + if ( error ) { + console.error( chalk.bgRed( error ) ); + return { success: false }; + } + + return { success: code === 0 }; +} diff --git a/tools/executors/changelogger/package.json b/tools/executors/changelogger/package.json new file mode 100644 index 00000000000..52c15505e80 --- /dev/null +++ b/tools/executors/changelogger/package.json @@ -0,0 +1,3 @@ +{ + "executors": "./executor.json" +} diff --git a/tools/executors/changelogger/schema.json b/tools/executors/changelogger/schema.json new file mode 100644 index 00000000000..18118b1d48e --- /dev/null +++ b/tools/executors/changelogger/schema.json @@ -0,0 +1,13 @@ +{ + "cli": "nx", + "id": "Changelogger", + "description": "Executes Jetpack Changelogger scripts.", + "type": "object", + "properties": { + "action": { + "type": "string", + "description": "Action to take" + } + }, + "required": [ "action" ] +}