diff --git a/.distignore b/.distignore index 782c504c34ba..0d5d7887e376 100644 --- a/.distignore +++ b/.distignore @@ -62,6 +62,7 @@ phpunit.xml.dist phpunit-integration.xml.dist phpunit-integration-multisite.xml.dist README.md +rollup.config.js scoper.inc.php SECURITY.md webpack.config.cjs diff --git a/.eslintrc b/.eslintrc index 528d1d77ef8b..0678b49d6005 100644 --- a/.eslintrc +++ b/.eslintrc @@ -230,6 +230,14 @@ "__webpack_public_path__": true }, "settings": { + "import/resolver": { + "@web-stories-wp/eslint-import-resolver": { + "mapping": { + "^@googleforcreators\\/(.*)": "./packages/$1/src/", + "^@web-stories-wp\\/(.*)": "./packages/$1/src/" + } + } + }, "jsdoc": { "mode": "typescript", "preferredTypes": { @@ -438,7 +446,7 @@ "__mocks__/**/*.js", "bin/**/*.js", "babel.config.cjs", - "rollup.config.migrate.cjs", + "rollup.config.js", "jest-puppeteer.config.cjs", "karma-*.config.cjs", "webpack.*.cjs", @@ -450,6 +458,8 @@ "packages/dashboard/src/karma-tests.cjs", "packages/story-editor/src/karma-tests.cjs", "packages/migration/src/**/*.js", + "packages/eslint-import-resolver/**/*.cjs", + "packages/jest-resolver/**/*.cjs", "packages/fonts/**/*.js", "packages/commander/**/*.js", "packages/templates/scripts/cli.js", diff --git a/.github/workflows/build-and-deploy.yml b/.github/workflows/build-and-deploy.yml index 231a54e9275f..3cb3b1dcac94 100644 --- a/.github/workflows/build-and-deploy.yml +++ b/.github/workflows/build-and-deploy.yml @@ -97,6 +97,10 @@ jobs: name: Package ZIP files runs-on: ubuntu-latest timeout-minutes: 10 + if: > + github.event.pull_request.draft == false && + github.event.pull_request.head.repo.fork == false && + github.event.pull_request.user.login != 'dependabot[bot]' steps: - name: Checkout uses: actions/checkout@v2 @@ -115,8 +119,7 @@ jobs: tools: composer - name: Install dependencies - run: | - npm ci + run: npm ci env: PUPPETEER_SKIP_CHROMIUM_DOWNLOAD: true @@ -155,6 +158,32 @@ jobs: name: web-stories-dev path: build/web-stories-dev + bundle: + name: Bundle npm packages + runs-on: ubuntu-latest + timeout-minutes: 30 + if: > + github.event.pull_request.draft == false && + github.event.pull_request.head.repo.fork == false && + github.event.pull_request.user.login != 'dependabot[bot]' + steps: + - name: Checkout + uses: actions/checkout@v2 + + - name: Setup Node + uses: actions/setup-node@v2.5.1 + with: + node-version-file: '.nvmrc' + cache: npm + + - name: Install dependencies + run: npm ci + env: + PUPPETEER_SKIP_CHROMIUM_DOWNLOAD: true + + - name: Bundle packages + run: npm run bundle + upload-artifacts: name: Upload ZIP files to storage runs-on: ubuntu-latest diff --git a/.github/workflows/lint-i18n.yml b/.github/workflows/lint-i18n.yml index ddbf99ab0092..31f94cb2f37c 100644 --- a/.github/workflows/lint-i18n.yml +++ b/.github/workflows/lint-i18n.yml @@ -31,7 +31,7 @@ jobs: lint: name: Lint runs-on: ubuntu-latest - timeout-minutes: 5 + timeout-minutes: 10 steps: - name: Checkout uses: actions/checkout@v2 diff --git a/.github/workflows/tests-unit-js.yml b/.github/workflows/tests-unit-js.yml index 0d1aa60b2455..f6986824ed05 100644 --- a/.github/workflows/tests-unit-js.yml +++ b/.github/workflows/tests-unit-js.yml @@ -60,7 +60,7 @@ jobs: - name: Install dependencies run: | npm ci - npx rollup --config packages/migration/rollup.config.migrate.js + npx rollup --config packages/migration/rollup.config.js env: PUPPETEER_SKIP_CHROMIUM_DOWNLOAD: true diff --git a/.gitignore b/.gitignore index c99754d46eb7..fef70de033bd 100644 --- a/.gitignore +++ b/.gitignore @@ -5,6 +5,8 @@ node_modules /assets /packages/migration/scripts/module.js +/packages/*/dist +/packages/*/dist-module /build /bin/build /bin/local-env/data diff --git a/.npmpackagejsonlintrc.json b/.npmpackagejsonlintrc.json index d523a0e6a018..99a1a1ea6a31 100644 --- a/.npmpackagejsonlintrc.json +++ b/.npmpackagejsonlintrc.json @@ -56,10 +56,13 @@ "exports", "main", "module", - "bin", + "source", + "publishConfig", + "sideEffects", "dependencies", "devDependencies", "peerDependencies", + "bin", "scripts" ] ], diff --git a/.storybook/stories/playground/dashboard/index.js b/.storybook/stories/playground/dashboard/index.js index 548224fd9639..befaa1a22ea9 100644 --- a/.storybook/stories/playground/dashboard/index.js +++ b/.storybook/stories/playground/dashboard/index.js @@ -17,10 +17,10 @@ /** * External dependencies */ -import Dashboard, { InterfaceSkeleton } from '@googleforcreators/dashboard'; import styled from 'styled-components'; import { useRef } from 'react'; import { toId } from '@storybook/csf'; +import { Dashboard, InterfaceSkeleton } from '@googleforcreators/dashboard'; /** * Internal dependencies diff --git a/.storybook/stories/playground/story-editor/header/buttons/preview.js b/.storybook/stories/playground/story-editor/header/buttons/preview.js index 4ce03c364145..e54cc5d81665 100644 --- a/.storybook/stories/playground/story-editor/header/buttons/preview.js +++ b/.storybook/stories/playground/story-editor/header/buttons/preview.js @@ -13,9 +13,11 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + /** * External dependencies */ +import { hrefTo } from '@storybook/addon-links'; import { Tooltip, useStory } from '@googleforcreators/story-editor'; import { Button, @@ -24,7 +26,6 @@ import { BUTTON_VARIANTS, Icons, } from '@googleforcreators/design-system'; -import { hrefTo } from '@storybook/addon-links'; function PreviewButton() { const { isSaving, saveStory } = useStory( diff --git a/.storybook/stories/playground/story-editor/index.js b/.storybook/stories/playground/story-editor/index.js index bce02f365177..fe18d4bc7223 100644 --- a/.storybook/stories/playground/story-editor/index.js +++ b/.storybook/stories/playground/story-editor/index.js @@ -17,10 +17,11 @@ /** * External dependencies */ -import StoryEditor, { +import styled from 'styled-components'; +import { + StoryEditor, InterfaceSkeleton, } from '@googleforcreators/story-editor'; -import styled from 'styled-components'; /** * Internal dependencies diff --git a/package-lock.json b/package-lock.json index 9b3465d1a19b..bff76edb3a0d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -26,6 +26,12 @@ "@jsdevtools/coverage-istanbul-loader": "^3.0.5", "@percy/cli": "^1.0.0-beta.74", "@prettier/plugin-xml": "^1.2.0", + "@rollup/plugin-babel": "^5.3.0", + "@rollup/plugin-commonjs": "^21.0.1", + "@rollup/plugin-dynamic-import-vars": "^1.4.2", + "@rollup/plugin-json": "^4.1.0", + "@rollup/plugin-node-resolve": "^13.1.3", + "@rollup/plugin-url": "^6.1.0", "@storybook/addon-a11y": "^6.4.14", "@storybook/addon-actions": "^6.4.14", "@storybook/addon-backgrounds": "^6.4.14", @@ -39,6 +45,7 @@ "@storybook/csf": "^0.0.1", "@storybook/react": "^6.4.14", "@stylelint/postcss-css-in-js": "^0.37.2", + "@svgr/rollup": "^6.2.0", "@svgr/webpack": "^5.5.0", "@testing-library/dom": "^8.10.1", "@testing-library/jest-dom": "^5.16.1", @@ -46,8 +53,10 @@ "@testing-library/react-hooks": "^7.0.2", "@testing-library/user-event": "^13.5.0", "@web-stories-wp/e2e-tests": "*", + "@web-stories-wp/eslint-import-resolver": "*", "@web-stories-wp/jest-amp": "*", "@web-stories-wp/jest-parallel-sequencer": "*", + "@web-stories-wp/jest-resolver": "*", "@web-stories-wp/karma-failed-tests-reporter": "*", "@web-stories-wp/karma-puppeteer-client": "*", "@web-stories-wp/karma-puppeteer-launcher": "*", @@ -119,6 +128,13 @@ "react": "^17.0.2", "react-dom": "^17.0.2", "react-test-renderer": "^17.0.2", + "rollup": "^2.66.0", + "rollup-plugin-delete": "^2.0.0", + "rollup-plugin-filesize": "^9.1.2", + "rollup-plugin-import-css": "^3.0.2", + "rollup-plugin-license": "^2.6.1", + "rollup-plugin-terser": "^7.0.2", + "rollup-plugin-web-worker-loader": "^1.6.1", "rtlcss-webpack-plugin": "^4.0.6", "source-map-loader": "^1.1.3", "styled-components": "^5.3.3", @@ -135,7 +151,8 @@ "webpack-bundle-analyzer": "^4.5.0", "webpack-cli": "^4.9.2", "webpackbar": "^5.0.2", - "worker-loader": "^3.0.8" + "worker-loader": "^3.0.8", + "workspaces-run": "^1.0.1" }, "engines": { "node": ">= 16", @@ -1715,12 +1732,15 @@ } }, "node_modules/@babel/plugin-transform-react-constant-elements": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.12.13.tgz", - "integrity": "sha512-qmzKVTn46Upvtxv8LQoQ8mTCdUC83AOVQIQm57e9oekLT5cmK9GOMOfcWhe8jMNx4UJXn/UDhVZ/7lGofVNeDQ==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.16.7.tgz", + "integrity": "sha512-lF+cfsyTgwWkcw715J88JhMYJ5GpysYNLhLP1PkvkhTRN7B3e74R/1KsDxFxhRpSn0UUD3IWM4GvdBR2PEbbQQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" @@ -2240,6 +2260,12 @@ "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==" }, + "node_modules/@changesets/types": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@changesets/types/-/types-0.4.0.tgz", + "integrity": "sha512-TclHHKDVYQ8rJGZgVeWiF7c91yWzTTWdPagltgutelGu/Psup5PQlUq6svx7S8suj+jXcaE34yEEsfIvzXXB2Q==", + "dev": true + }, "node_modules/@choojs/findup": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/@choojs/findup/-/findup-0.2.1.tgz", @@ -4563,6 +4589,65 @@ "node": ">=10" } }, + "node_modules/@npmcli/git": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-2.1.0.tgz", + "integrity": "sha512-/hBFX/QG1b+N7PZBFs0bi+evgRZcK9nWBxQKZkGoXUT5hJSwl5c4d7y8/hm+NQZRPhQ67RzFaj5UM9YeyKoryw==", + "dev": true, + "dependencies": { + "@npmcli/promise-spawn": "^1.3.2", + "lru-cache": "^6.0.0", + "mkdirp": "^1.0.4", + "npm-pick-manifest": "^6.1.1", + "promise-inflight": "^1.0.1", + "promise-retry": "^2.0.1", + "semver": "^7.3.5", + "which": "^2.0.2" + } + }, + "node_modules/@npmcli/git/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true, + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@npmcli/git/node_modules/semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@npmcli/installed-package-contents": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-1.0.7.tgz", + "integrity": "sha512-9rufe0wnJusCQoLpV9ZPKIVP55itrM5BxOXs10DmdbRfgWtHy1LDyskbwRnBghuB0PrF7pNPOqREVtpz4HqzKw==", + "dev": true, + "dependencies": { + "npm-bundled": "^1.1.1", + "npm-normalize-package-bin": "^1.0.1" + }, + "bin": { + "installed-package-contents": "index.js" + }, + "engines": { + "node": ">= 10" + } + }, "node_modules/@npmcli/move-file": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.1.tgz", @@ -4588,6 +4673,33 @@ "node": ">=10" } }, + "node_modules/@npmcli/node-gyp": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-1.0.3.tgz", + "integrity": "sha512-fnkhw+fmX65kiLqk6E3BFLXNC26rUhK90zVwe2yncPliVT/Qos3xjhTLE59Df8KnPlcwIERXKVlU1bXoUQ+liA==", + "dev": true + }, + "node_modules/@npmcli/promise-spawn": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-1.3.2.tgz", + "integrity": "sha512-QyAGYo/Fbj4MXeGdJcFzZ+FkDkomfRBrPM+9QYJSg+PxgAUL+LU3FneQk37rKR2/zjqkCV1BLHccX98wRXG3Sg==", + "dev": true, + "dependencies": { + "infer-owner": "^1.0.4" + } + }, + "node_modules/@npmcli/run-script": { + "version": "1.8.6", + "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-1.8.6.tgz", + "integrity": "sha512-e42bVZnC6VluBZBAFEr3YrdqSspG3bgilyg4nSLBJ7TRGNCzxHa92XAHxQBLYg0BmgwO4b2mf3h/l5EkEWRn3g==", + "dev": true, + "dependencies": { + "@npmcli/node-gyp": "^1.0.2", + "@npmcli/promise-spawn": "^1.3.2", + "node-gyp": "^7.1.0", + "read-package-json-fast": "^2.0.1" + } + }, "node_modules/@percy/cli": { "version": "1.0.0-beta.74", "resolved": "https://registry.npmjs.org/@percy/cli/-/cli-1.0.0-beta.74.tgz", @@ -5004,6 +5116,105 @@ "react-dom": "^16.8.0 || ^17.0.0" } }, + "node_modules/@rollup/plugin-babel": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.0.tgz", + "integrity": "sha512-9uIC8HZOnVLrLHxayq/PTzw+uS25E14KPUBh5ktF+18Mjo5yK0ToMMx6epY0uEgkjwJw0aBW4x2horYXh8juWw==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.10.4", + "@rollup/pluginutils": "^3.1.0" + }, + "engines": { + "node": ">= 10.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0", + "@types/babel__core": "^7.1.9", + "rollup": "^1.20.0||^2.0.0" + }, + "peerDependenciesMeta": { + "@types/babel__core": { + "optional": true + } + } + }, + "node_modules/@rollup/plugin-commonjs": { + "version": "21.0.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-21.0.1.tgz", + "integrity": "sha512-EA+g22lbNJ8p5kuZJUYyhhDK7WgJckW5g4pNN7n4mAFUM96VuwUnNT3xr2Db2iCZPI1pJPbGyfT5mS9T1dHfMg==", + "dev": true, + "dependencies": { + "@rollup/pluginutils": "^3.1.0", + "commondir": "^1.0.1", + "estree-walker": "^2.0.1", + "glob": "^7.1.6", + "is-reference": "^1.2.1", + "magic-string": "^0.25.7", + "resolve": "^1.17.0" + }, + "engines": { + "node": ">= 8.0.0" + }, + "peerDependencies": { + "rollup": "^2.38.3" + } + }, + "node_modules/@rollup/plugin-commonjs/node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "dev": true + }, + "node_modules/@rollup/plugin-dynamic-import-vars": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/@rollup/plugin-dynamic-import-vars/-/plugin-dynamic-import-vars-1.4.2.tgz", + "integrity": "sha512-SEaS9Pf0RyaZ/oJ1knLZT+Fu0X6DlyTfUcoE7XKkiKJjNaB+8SLoHmDVRhomo5RpWHPyd+B00G/bE5R5+Q+HEg==", + "dev": true, + "dependencies": { + "@rollup/pluginutils": "^4.1.2", + "estree-walker": "^2.0.1", + "fast-glob": "^3.2.7", + "magic-string": "^0.25.7" + }, + "engines": { + "node": ">= 10.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0" + } + }, + "node_modules/@rollup/plugin-dynamic-import-vars/node_modules/@rollup/pluginutils": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-4.1.2.tgz", + "integrity": "sha512-ROn4qvkxP9SyPeHaf7uQC/GPFY6L/OWy9+bd9AwcjOAWQwxRscoEyAUD8qCY5o5iL4jqQwoLk2kaTKJPb/HwzQ==", + "dev": true, + "dependencies": { + "estree-walker": "^2.0.1", + "picomatch": "^2.2.2" + }, + "engines": { + "node": ">= 8.0.0" + } + }, + "node_modules/@rollup/plugin-dynamic-import-vars/node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "dev": true + }, + "node_modules/@rollup/plugin-json": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@rollup/plugin-json/-/plugin-json-4.1.0.tgz", + "integrity": "sha512-yfLbTdNS6amI/2OpmbiBoW12vngr5NW2jCJVZSBEz+H5KfUJZ2M7sDjk0U6GOOdCWFVScShte29o9NezJ53TPw==", + "dev": true, + "dependencies": { + "@rollup/pluginutils": "^3.0.8" + }, + "peerDependencies": { + "rollup": "^1.20.0 || ^2.0.0" + } + }, "node_modules/@rollup/plugin-node-resolve": { "version": "13.1.3", "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-13.1.3.tgz", @@ -5024,6 +5235,47 @@ "rollup": "^2.42.0" } }, + "node_modules/@rollup/plugin-url": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@rollup/plugin-url/-/plugin-url-6.1.0.tgz", + "integrity": "sha512-FJNWBnBB7nLzbcaGmu1no+U/LlRR67TtgfRFP+VEKSrWlDTE6n9jMns/N4Q/VL6l4x6kTHQX4HQfwTcldaAfHQ==", + "dev": true, + "dependencies": { + "@rollup/pluginutils": "^3.1.0", + "make-dir": "^3.1.0", + "mime": "^2.4.6" + }, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0" + } + }, + "node_modules/@rollup/plugin-url/node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@rollup/plugin-url/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, "node_modules/@rollup/pluginutils": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", @@ -8388,6 +8640,387 @@ "url": "https://github.com/sponsors/gregberge" } }, + "node_modules/@svgr/rollup": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/@svgr/rollup/-/rollup-6.2.1.tgz", + "integrity": "sha512-5X6aMiGL1F5g0TubLY41GJ/Qf0Kz2xtbF37UbRJEHe2Z9CMlGl9Z3fQ8e28vmHrTptmymNRoHssgQ2Ejb1DARQ==", + "dev": true, + "dependencies": { + "@babel/core": "^7.15.5", + "@babel/plugin-transform-react-constant-elements": "^7.14.5", + "@babel/preset-env": "^7.15.6", + "@babel/preset-react": "^7.14.5", + "@babel/preset-typescript": "^7.16.0", + "@svgr/core": "^6.2.1", + "@svgr/plugin-jsx": "^6.2.1", + "@svgr/plugin-svgo": "^6.2.0", + "rollup-pluginutils": "^2.8.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/rollup/node_modules/@svgr/babel-plugin-add-jsx-attribute": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-6.0.0.tgz", + "integrity": "sha512-MdPdhdWLtQsjd29Wa4pABdhWbaRMACdM1h31BY+c6FghTZqNGT7pEYdBoaGeKtdTOBC/XNFQaKVj+r/Ei2ryWA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/rollup/node_modules/@svgr/babel-plugin-remove-jsx-attribute": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-6.0.0.tgz", + "integrity": "sha512-aVdtfx9jlaaxc3unA6l+M9YRnKIZjOhQPthLKqmTXC8UVkBLDRGwPKo+r8n3VZN8B34+yVajzPTZ+ptTSuZZCw==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/rollup/node_modules/@svgr/babel-plugin-remove-jsx-empty-expression": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-6.0.0.tgz", + "integrity": "sha512-Ccj42ApsePD451AZJJf1QzTD1B/BOU392URJTeXFxSK709i0KUsGtbwyiqsKu7vsYxpTM0IA5clAKDyf9RCZyA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/rollup/node_modules/@svgr/babel-plugin-replace-jsx-attribute-value": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-6.0.0.tgz", + "integrity": "sha512-88V26WGyt1Sfd1emBYmBJRWMmgarrExpKNVmI9vVozha4kqs6FzQJ/Kp5+EYli1apgX44518/0+t9+NU36lThQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/rollup/node_modules/@svgr/babel-plugin-svg-dynamic-title": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-6.0.0.tgz", + "integrity": "sha512-F7YXNLfGze+xv0KMQxrl2vkNbI9kzT9oDK55/kUuymh1ACyXkMV+VZWX1zEhSTfEKh7VkHVZGmVtHg8eTZ6PRg==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/rollup/node_modules/@svgr/babel-plugin-svg-em-dimensions": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-6.0.0.tgz", + "integrity": "sha512-+rghFXxdIqJNLQK08kwPBD3Z22/0b2tEZ9lKiL/yTfuyj1wW8HUXu4bo/XkogATIYuXSghVQOOCwURXzHGKyZA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/rollup/node_modules/@svgr/babel-plugin-transform-react-native-svg": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-6.0.0.tgz", + "integrity": "sha512-VaphyHZ+xIKv5v0K0HCzyfAaLhPGJXSk2HkpYfXIOKb7DjLBv0soHDxNv6X0vr2titsxE7klb++u7iOf7TSrFQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/rollup/node_modules/@svgr/babel-plugin-transform-svg-component": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-6.2.0.tgz", + "integrity": "sha512-bhYIpsORb++wpsp91fymbFkf09Z/YEKR0DnFjxvN+8JHeCUD2unnh18jIMKnDJTWtvpTaGYPXELVe4OOzFI0xg==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/rollup/node_modules/@svgr/babel-preset": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-6.2.0.tgz", + "integrity": "sha512-4WQNY0J71JIaL03DRn0vLiz87JXx0b9dYm2aA8XHlQJQoixMl4r/soYHm8dsaJZ3jWtkCiOYy48dp9izvXhDkQ==", + "dev": true, + "dependencies": { + "@svgr/babel-plugin-add-jsx-attribute": "^6.0.0", + "@svgr/babel-plugin-remove-jsx-attribute": "^6.0.0", + "@svgr/babel-plugin-remove-jsx-empty-expression": "^6.0.0", + "@svgr/babel-plugin-replace-jsx-attribute-value": "^6.0.0", + "@svgr/babel-plugin-svg-dynamic-title": "^6.0.0", + "@svgr/babel-plugin-svg-em-dimensions": "^6.0.0", + "@svgr/babel-plugin-transform-react-native-svg": "^6.0.0", + "@svgr/babel-plugin-transform-svg-component": "^6.2.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/rollup/node_modules/@svgr/core": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/@svgr/core/-/core-6.2.1.tgz", + "integrity": "sha512-NWufjGI2WUyrg46mKuySfviEJ6IxHUOm/8a3Ph38VCWSp+83HBraCQrpEM3F3dB6LBs5x8OElS8h3C0oOJaJAA==", + "dev": true, + "dependencies": { + "@svgr/plugin-jsx": "^6.2.1", + "camelcase": "^6.2.0", + "cosmiconfig": "^7.0.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/rollup/node_modules/@svgr/hast-util-to-babel-ast": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-6.2.1.tgz", + "integrity": "sha512-pt7MMkQFDlWJVy9ULJ1h+hZBDGFfSCwlBNW1HkLnVi7jUhyEXUaGYWi1x6bM2IXuAR9l265khBT4Av4lPmaNLQ==", + "dev": true, + "dependencies": { + "@babel/types": "^7.15.6", + "entities": "^3.0.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/rollup/node_modules/@svgr/plugin-jsx": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-6.2.1.tgz", + "integrity": "sha512-u+MpjTsLaKo6r3pHeeSVsh9hmGRag2L7VzApWIaS8imNguqoUwDq/u6U/NDmYs/KAsrmtBjOEaAAPbwNGXXp1g==", + "dev": true, + "dependencies": { + "@babel/core": "^7.15.5", + "@svgr/babel-preset": "^6.2.0", + "@svgr/hast-util-to-babel-ast": "^6.2.1", + "svg-parser": "^2.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@svgr/core": "^6.0.0" + } + }, + "node_modules/@svgr/rollup/node_modules/@svgr/plugin-svgo": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-6.2.0.tgz", + "integrity": "sha512-oDdMQONKOJEbuKwuy4Np6VdV6qoaLLvoY86hjvQEgU82Vx1MSWRyYms6Sl0f+NtqxLI/rDVufATbP/ev996k3Q==", + "dev": true, + "dependencies": { + "cosmiconfig": "^7.0.1", + "deepmerge": "^4.2.2", + "svgo": "^2.5.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@svgr/core": "^6.0.0" + } + }, + "node_modules/@svgr/rollup/node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@svgr/rollup/node_modules/css-select": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.2.1.tgz", + "integrity": "sha512-/aUslKhzkTNCQUB2qTX84lVmfia9NyjP3WpDGtj/WxhwBzWBYUV3DgUpurHTme8UTPcPlAD1DJ+b0nN/t50zDQ==", + "dev": true, + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^5.1.0", + "domhandler": "^4.3.0", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/@svgr/rollup/node_modules/css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "dev": true, + "dependencies": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@svgr/rollup/node_modules/css-what": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-5.1.0.tgz", + "integrity": "sha512-arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw==", + "dev": true, + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/@svgr/rollup/node_modules/domhandler": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.0.tgz", + "integrity": "sha512-fC0aXNQXqKSFTr2wDNZDhsEYjCiYsDWl3D01kwt25hm1YIPyDGHvvi3rw+PLqHAl/m71MaiF7d5zvBr0p5UB2g==", + "dev": true, + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/@svgr/rollup/node_modules/entities": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-3.0.1.tgz", + "integrity": "sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==", + "dev": true, + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/@svgr/rollup/node_modules/mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", + "dev": true + }, + "node_modules/@svgr/rollup/node_modules/nth-check": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.1.tgz", + "integrity": "sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w==", + "dev": true, + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/@svgr/rollup/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@svgr/rollup/node_modules/svgo": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", + "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", + "dev": true, + "dependencies": { + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^4.1.3", + "css-tree": "^1.1.3", + "csso": "^4.2.0", + "picocolors": "^1.0.0", + "stable": "^0.1.8" + }, + "bin": { + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=10.13.0" + } + }, "node_modules/@svgr/webpack": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-5.5.0.tgz", @@ -9512,6 +10145,10 @@ "resolved": "packages/e2e-tests", "link": true }, + "node_modules/@web-stories-wp/eslint-import-resolver": { + "resolved": "packages/eslint-import-resolver", + "link": true + }, "node_modules/@web-stories-wp/glider": { "resolved": "packages/glider", "link": true @@ -9532,6 +10169,10 @@ "resolved": "packages/jest-puppeteer-amp", "link": true }, + "node_modules/@web-stories-wp/jest-resolver": { + "resolved": "packages/jest-resolver", + "link": true + }, "node_modules/@web-stories-wp/karma-failed-tests-reporter": { "resolved": "packages/karma-failed-tests-reporter", "link": true @@ -11316,6 +11957,15 @@ "node": ">=0.10.0" } }, + "node_modules/array-find-index": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", + "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/array-flatten": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", @@ -12768,6 +13418,24 @@ "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", "dev": true }, + "node_modules/brotli-size": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/brotli-size/-/brotli-size-4.0.0.tgz", + "integrity": "sha512-uA9fOtlTRC0iqKfzff1W34DXUA3GyVqbUaeo3Rw3d4gd1eavKVCETXrn3NzO74W+UVkG3UHu8WxUi+XvKI/huA==", + "dev": true, + "dependencies": { + "duplexer": "0.1.1" + }, + "engines": { + "node": ">= 10.16.0" + } + }, + "node_modules/brotli-size/node_modules/duplexer": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz", + "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=", + "dev": true + }, "node_modules/browser-process-hrtime": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", @@ -12975,6 +13643,12 @@ "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", "dev": true }, + "node_modules/builtins": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz", + "integrity": "sha1-y5T662HIaWRR2zZTThQi+U8K7og=", + "dev": true + }, "node_modules/bytes": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.1.tgz", @@ -13438,6 +14112,12 @@ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", "dev": true }, + "node_modules/chunkd": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/chunkd/-/chunkd-2.0.1.tgz", + "integrity": "sha512-7d58XsFmOq0j6el67Ug9mHf9ELUXsQXYJBkyxhH/k+6Ke0qXRnv0kbemx+Twc6fRJ07C49lcbdgm9FL1Ei/6SQ==", + "dev": true + }, "node_modules/ci-info": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", @@ -13933,6 +14613,15 @@ "node": ">= 4.0" } }, + "node_modules/code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/collapse-white-space": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.6.tgz", @@ -14048,6 +14737,12 @@ "node": ">= 12.0.0" } }, + "node_modules/commenting": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/commenting/-/commenting-1.1.0.tgz", + "integrity": "sha512-YeNK4tavZwtH7jEgK1ZINXzLKm6DZdEMfsaaieOsCAN0S8vsY7UeuO3Q7d/M018EFgE+IeUAuBOKkFccBZsUZA==", + "dev": true + }, "node_modules/common-path-prefix": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz", @@ -15496,6 +16191,53 @@ "node": ">=0.10.0" } }, + "node_modules/del": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/del/-/del-5.1.0.tgz", + "integrity": "sha512-wH9xOVHnczo9jN2IW68BabcecVPxacIA3g/7z6vhSU/4stOKQzeCRK0yD0A24WiAAUJmmVpWqrERcTxnLo3AnA==", + "dev": true, + "dependencies": { + "globby": "^10.0.1", + "graceful-fs": "^4.2.2", + "is-glob": "^4.0.1", + "is-path-cwd": "^2.2.0", + "is-path-inside": "^3.0.1", + "p-map": "^3.0.0", + "rimraf": "^3.0.0", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/del/node_modules/globby": { + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.2.tgz", + "integrity": "sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==", + "dev": true, + "dependencies": { + "@types/glob": "^7.1.1", + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.0.3", + "glob": "^7.1.3", + "ignore": "^5.1.1", + "merge2": "^1.2.3", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/del/node_modules/ignore": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", + "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, "node_modules/delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", @@ -15934,6 +16676,39 @@ "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", "dev": true }, + "node_modules/duplexer2": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz", + "integrity": "sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=", + "dev": true, + "dependencies": { + "readable-stream": "~1.1.9" + } + }, + "node_modules/duplexer2/node_modules/isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + }, + "node_modules/duplexer2/node_modules/readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "node_modules/duplexer2/node_modules/string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + }, "node_modules/duplexify": { "version": "3.7.1", "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", @@ -16183,6 +16958,15 @@ "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==", "dev": true }, + "node_modules/env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, "node_modules/envinfo": { "version": "7.8.1", "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz", @@ -16456,7 +17240,6 @@ "version": "0.3.6", "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz", "integrity": "sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==", - "dev": true, "dependencies": { "debug": "^3.2.7", "resolve": "^1.20.0" @@ -16466,7 +17249,6 @@ "version": "3.2.7", "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, "dependencies": { "ms": "^2.1.1" } @@ -18505,6 +19287,15 @@ "dev": true, "optional": true }, + "node_modules/filesize": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/filesize/-/filesize-6.4.0.tgz", + "integrity": "sha512-mjFIpOHC4jbfcTfoh4rkWpI31mF7viw9ikj/JyLoKzqlwG/YsefKfvYlYhdYdg/9mtK2z1AzgN/0LvVQ3zdlSQ==", + "dev": true, + "engines": { + "node": ">= 0.4.0" + } + }, "node_modules/fill-range": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", @@ -19400,6 +20191,282 @@ "node": ">=0.10.0" } }, + "node_modules/get-workspaces": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/get-workspaces/-/get-workspaces-0.5.2.tgz", + "integrity": "sha512-99x72taQ9OUHhCmBS0B2WI/zwOtBOBPoyVNGs9+B0ag2GGhCjl/EaU9VQ8Zorx64TyVj1Am7bO+0J1KwDqo7OA==", + "dev": true, + "dependencies": { + "@changesets/types": "^0.4.0", + "fs-extra": "^7.0.1", + "globby": "^9.2.0" + } + }, + "node_modules/get-workspaces/node_modules/@nodelib/fs.stat": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz", + "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/get-workspaces/node_modules/array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "dev": true, + "dependencies": { + "array-uniq": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/get-workspaces/node_modules/braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "dependencies": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/get-workspaces/node_modules/braces/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/get-workspaces/node_modules/dir-glob": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.2.2.tgz", + "integrity": "sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw==", + "dev": true, + "dependencies": { + "path-type": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/get-workspaces/node_modules/fast-glob": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.7.tgz", + "integrity": "sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==", + "dev": true, + "dependencies": { + "@mrmlnc/readdir-enhanced": "^2.2.1", + "@nodelib/fs.stat": "^1.1.2", + "glob-parent": "^3.1.0", + "is-glob": "^4.0.0", + "merge2": "^1.2.3", + "micromatch": "^3.1.10" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/get-workspaces/node_modules/fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "dependencies": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/get-workspaces/node_modules/fill-range/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/get-workspaces/node_modules/fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/get-workspaces/node_modules/glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "dependencies": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + } + }, + "node_modules/get-workspaces/node_modules/glob-parent/node_modules/is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/get-workspaces/node_modules/globby": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-9.2.0.tgz", + "integrity": "sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg==", + "dev": true, + "dependencies": { + "@types/glob": "^7.1.1", + "array-union": "^1.0.2", + "dir-glob": "^2.2.2", + "fast-glob": "^2.2.6", + "glob": "^7.1.3", + "ignore": "^4.0.3", + "pify": "^4.0.1", + "slash": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/get-workspaces/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/get-workspaces/node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/get-workspaces/node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/get-workspaces/node_modules/micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/get-workspaces/node_modules/path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "dev": true, + "dependencies": { + "pify": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/get-workspaces/node_modules/path-type/node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/get-workspaces/node_modules/slash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/get-workspaces/node_modules/to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "dependencies": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/getpass": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", @@ -19652,6 +20719,21 @@ "node": ">=0.10.0" } }, + "node_modules/gzip-size": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", + "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", + "dev": true, + "dependencies": { + "duplexer": "^0.1.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/handlebars": { "version": "4.7.7", "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz", @@ -20646,6 +21728,15 @@ "node": ">= 4" } }, + "node_modules/ignore-walk": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.4.tgz", + "integrity": "sha512-PY6Ii8o1jMRA1z4F2hRkH/xN59ox43DavKvD3oDpfurRlOJyAHpifIwpbdv1n4jt4ov0jSpw3kQ4GhJnpBL6WQ==", + "dev": true, + "dependencies": { + "minimatch": "^3.0.4" + } + }, "node_modules/image-size": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/image-size/-/image-size-1.0.1.tgz", @@ -21157,6 +22248,24 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-path-cwd": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", + "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/is-plain-obj": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", @@ -21187,6 +22296,15 @@ "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-4.0.0.tgz", "integrity": "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==" }, + "node_modules/is-reference": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.2.1.tgz", + "integrity": "sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==", + "dev": true, + "dependencies": { + "@types/estree": "*" + } + }, "node_modules/is-regex": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", @@ -26018,6 +27136,15 @@ "graceful-fs": "^4.1.6" } }, + "node_modules/jsonparse": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=", + "dev": true, + "engines": [ + "node >= 0.2.0" + ] + }, "node_modules/jsprim": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", @@ -27234,6 +28361,15 @@ "lz-string": "bin/bin.js" } }, + "node_modules/magic-string": { + "version": "0.25.7", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz", + "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==", + "dev": true, + "dependencies": { + "sourcemap-codec": "^1.4.4" + } + }, "node_modules/make-dir": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", @@ -28107,6 +29243,16 @@ "node": ">= 8" } }, + "node_modules/minipass-json-stream": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minipass-json-stream/-/minipass-json-stream-1.0.1.tgz", + "integrity": "sha512-ODqY18UZt/I8k+b7rl2AENgbWE8IDYam+undIJONvigAz8KR5GWblsFTEfQs0WODsjbSXWlm+JHEv8Gr6Tfdbg==", + "dev": true, + "dependencies": { + "jsonparse": "^1.3.1", + "minipass": "^3.0.0" + } + }, "node_modules/minipass-pipeline": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", @@ -28437,6 +29583,145 @@ "node": "4.x || >=6.0.0" } }, + "node_modules/node-gyp": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-7.1.2.tgz", + "integrity": "sha512-CbpcIo7C3eMu3dL1c3d0xw449fHIGALIJsRP4DDPHpyiW8vcriNY7ubh9TE4zEKfSxscY7PjeFnshE7h75ynjQ==", + "dev": true, + "dependencies": { + "env-paths": "^2.2.0", + "glob": "^7.1.4", + "graceful-fs": "^4.2.3", + "nopt": "^5.0.0", + "npmlog": "^4.1.2", + "request": "^2.88.2", + "rimraf": "^3.0.2", + "semver": "^7.3.2", + "tar": "^6.0.2", + "which": "^2.0.2" + }, + "bin": { + "node-gyp": "bin/node-gyp.js" + }, + "engines": { + "node": ">= 10.12.0" + } + }, + "node_modules/node-gyp/node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/node-gyp/node_modules/are-we-there-yet": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz", + "integrity": "sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g==", + "dev": true, + "dependencies": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + } + }, + "node_modules/node-gyp/node_modules/gauge": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "dev": true, + "dependencies": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + } + }, + "node_modules/node-gyp/node_modules/is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "dependencies": { + "number-is-nan": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/node-gyp/node_modules/nopt": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", + "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", + "dev": true, + "dependencies": { + "abbrev": "1" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/node-gyp/node_modules/npmlog": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", + "dev": true, + "dependencies": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, + "node_modules/node-gyp/node_modules/semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/node-gyp/node_modules/string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "dependencies": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/node-gyp/node_modules/strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/node-int64": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", @@ -28568,6 +29853,89 @@ "resolved": "https://registry.npmjs.org/normalize-wheel/-/normalize-wheel-1.0.1.tgz", "integrity": "sha1-rsiGr/2wRQcNhWRH32Ls+GFG7EU=" }, + "node_modules/npm-bundled": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.2.tgz", + "integrity": "sha512-x5DHup0SuyQcmL3s7Rx/YQ8sbw/Hzg0rj48eN0dV7hf5cmQq5PXIeioroH3raV1QC1yh3uTYuMThvEQF3iKgGQ==", + "dev": true, + "dependencies": { + "npm-normalize-package-bin": "^1.0.1" + } + }, + "node_modules/npm-install-checks": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-4.0.0.tgz", + "integrity": "sha512-09OmyDkNLYwqKPOnbI8exiOZU2GVVmQp7tgez2BPi5OZC8M82elDAps7sxC4l//uSUtotWqoEIDwjRvWH4qz8w==", + "dev": true, + "dependencies": { + "semver": "^7.1.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm-install-checks/node_modules/semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm-normalize-package-bin": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz", + "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==", + "dev": true + }, + "node_modules/npm-package-arg": { + "version": "8.1.5", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.5.tgz", + "integrity": "sha512-LhgZrg0n0VgvzVdSm1oiZworPbTxYHUJCgtsJW8mGvlDpxTM1vSJc3m5QZeUkhAHIzbz3VCHd/R4osi1L1Tg/Q==", + "dev": true, + "dependencies": { + "hosted-git-info": "^4.0.1", + "semver": "^7.3.4", + "validate-npm-package-name": "^3.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm-package-arg/node_modules/hosted-git-info": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", + "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm-package-arg/node_modules/semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/npm-package-json-lint": { "version": "5.4.2", "resolved": "https://registry.npmjs.org/npm-package-json-lint/-/npm-package-json-lint-5.4.2.tgz", @@ -28780,6 +30148,68 @@ "node": ">=6" } }, + "node_modules/npm-packlist": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-2.2.2.tgz", + "integrity": "sha512-Jt01acDvJRhJGthnUJVF/w6gumWOZxO7IkpY/lsX9//zqQgnF7OJaxgQXcerd4uQOLu7W5bkb4mChL9mdfm+Zg==", + "dev": true, + "dependencies": { + "glob": "^7.1.6", + "ignore-walk": "^3.0.3", + "npm-bundled": "^1.1.1", + "npm-normalize-package-bin": "^1.0.1" + }, + "bin": { + "npm-packlist": "bin/index.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm-pick-manifest": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-6.1.1.tgz", + "integrity": "sha512-dBsdBtORT84S8V8UTad1WlUyKIY9iMsAmqxHbLdeEeBNMLQDlDWWra3wYUx9EBEIiG/YwAy0XyNHDd2goAsfuA==", + "dev": true, + "dependencies": { + "npm-install-checks": "^4.0.0", + "npm-normalize-package-bin": "^1.0.1", + "npm-package-arg": "^8.1.2", + "semver": "^7.3.4" + } + }, + "node_modules/npm-pick-manifest/node_modules/semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm-registry-fetch": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-11.0.0.tgz", + "integrity": "sha512-jmlgSxoDNuhAtxUIG6pVwwtz840i994dL14FoNVZisrmZW5kWd63IUTNv1m/hyRSGSqWjCUp/YZlS1BJyNp9XA==", + "dev": true, + "dependencies": { + "make-fetch-happen": "^9.0.1", + "minipass": "^3.1.3", + "minipass-fetch": "^1.3.0", + "minipass-json-stream": "^1.0.1", + "minizlib": "^2.0.0", + "npm-package-arg": "^8.0.0" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/npm-run-all": { "version": "4.1.5", "resolved": "https://registry.npmjs.org/npm-run-all/-/npm-run-all-4.1.5.tgz", @@ -28901,6 +30331,15 @@ "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=", "dev": true }, + "node_modules/number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/nwsapi": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz", @@ -29487,6 +30926,72 @@ "node": ">=6" } }, + "node_modules/package-name-regex": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/package-name-regex/-/package-name-regex-2.0.5.tgz", + "integrity": "sha512-F0lX+FBs/Bo7KWY6EuUXj+oarXU0Og1R2Zdg3F/fVcNw3pPQAKFKxUrugno0Ds5NUztlx/gRLnQW9MF+7VTqAw==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/dword-design" + } + }, + "node_modules/pacote": { + "version": "11.3.5", + "resolved": "https://registry.npmjs.org/pacote/-/pacote-11.3.5.tgz", + "integrity": "sha512-fT375Yczn4zi+6Hkk2TBe1x1sP8FgFsEIZ2/iWaXY2r/NkhDJfxbcn5paz1+RTFCyNf+dPnaoBDJoAxXSU8Bkg==", + "dev": true, + "dependencies": { + "@npmcli/git": "^2.1.0", + "@npmcli/installed-package-contents": "^1.0.6", + "@npmcli/promise-spawn": "^1.2.0", + "@npmcli/run-script": "^1.8.2", + "cacache": "^15.0.5", + "chownr": "^2.0.0", + "fs-minipass": "^2.1.0", + "infer-owner": "^1.0.4", + "minipass": "^3.1.3", + "mkdirp": "^1.0.3", + "npm-package-arg": "^8.0.1", + "npm-packlist": "^2.1.4", + "npm-pick-manifest": "^6.0.0", + "npm-registry-fetch": "^11.0.0", + "promise-retry": "^2.0.1", + "read-package-json-fast": "^2.0.1", + "rimraf": "^3.0.2", + "ssri": "^8.0.1", + "tar": "^6.1.0" + }, + "bin": { + "pacote": "lib/bin.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/pacote/node_modules/chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/pacote/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true, + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/pako": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", @@ -29833,6 +31338,12 @@ "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" }, + "node_modules/physical-cpu-count": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/physical-cpu-count/-/physical-cpu-count-2.0.0.tgz", + "integrity": "sha1-GN4vl+S/epVRrXURlCtUlverpmA=", + "dev": true + }, "node_modules/picocolors": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", @@ -32070,6 +33581,19 @@ "lodash": "^4.0.1" } }, + "node_modules/read-package-json-fast": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-2.0.3.tgz", + "integrity": "sha512-W/BKtbL+dUjTuRL2vziuYhp76s5HZ9qQhd/dKfWIZveD0O40453QNyZhC0e63lqZrAQ4jiOapVoeJ7JrszenQQ==", + "dev": true, + "dependencies": { + "json-parse-even-better-errors": "^2.3.0", + "npm-normalize-package-bin": "^1.0.1" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/read-pkg": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", @@ -33064,6 +34588,151 @@ "fsevents": "~2.3.2" } }, + "node_modules/rollup-plugin-delete": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/rollup-plugin-delete/-/rollup-plugin-delete-2.0.0.tgz", + "integrity": "sha512-/VpLMtDy+8wwRlDANuYmDa9ss/knGsAgrDhM+tEwB1npHwNu4DYNmDfUL55csse/GHs9Q+SMT/rw9uiaZ3pnzA==", + "dev": true, + "dependencies": { + "del": "^5.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/rollup-plugin-filesize": { + "version": "9.1.2", + "resolved": "https://registry.npmjs.org/rollup-plugin-filesize/-/rollup-plugin-filesize-9.1.2.tgz", + "integrity": "sha512-m2fE9hFaKgWKisJzyWXctOFKlgMRelo/58HgeC0lXUK/qykxiqkr6bsrotlvo2bvrwPsjgT7scNdQSr6qtl37A==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.13.8", + "boxen": "^5.0.0", + "brotli-size": "4.0.0", + "colors": "1.4.0", + "filesize": "^6.1.0", + "gzip-size": "^6.0.0", + "pacote": "^11.2.7", + "terser": "^5.6.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/rollup-plugin-import-css": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rollup-plugin-import-css/-/rollup-plugin-import-css-3.0.2.tgz", + "integrity": "sha512-4Y/U5EMQHomMlYSF0OBOo/XJSgfou+iHMfBOqneaX5Cp5BCyQn1YrUtXC6KYEPHPxTadC+oXhrTCr9yzRN2DyA==", + "dev": true, + "dependencies": { + "@rollup/pluginutils": "^4.1.1" + }, + "peerDependencies": { + "rollup": "^2.x.x" + } + }, + "node_modules/rollup-plugin-import-css/node_modules/@rollup/pluginutils": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-4.1.2.tgz", + "integrity": "sha512-ROn4qvkxP9SyPeHaf7uQC/GPFY6L/OWy9+bd9AwcjOAWQwxRscoEyAUD8qCY5o5iL4jqQwoLk2kaTKJPb/HwzQ==", + "dev": true, + "dependencies": { + "estree-walker": "^2.0.1", + "picomatch": "^2.2.2" + }, + "engines": { + "node": ">= 8.0.0" + } + }, + "node_modules/rollup-plugin-import-css/node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "dev": true + }, + "node_modules/rollup-plugin-license": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/rollup-plugin-license/-/rollup-plugin-license-2.6.1.tgz", + "integrity": "sha512-JPtlXF0tZKyHztKJsyd3HHmQFSkXei+596Xrb/a/bHIdDhvFuNSKimCKkQpoXyspfeVQk7CNay1MyGpFHAXjvg==", + "dev": true, + "dependencies": { + "commenting": "1.1.0", + "glob": "7.2.0", + "lodash": "4.17.21", + "magic-string": "0.25.7", + "mkdirp": "1.0.4", + "moment": "2.29.1", + "package-name-regex": "2.0.5", + "spdx-expression-validate": "2.0.0", + "spdx-satisfies": "5.0.1" + }, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "rollup": "^1.0.0 || ^2.0.0" + } + }, + "node_modules/rollup-plugin-license/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true, + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/rollup-plugin-terser": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz", + "integrity": "sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.10.4", + "jest-worker": "^26.2.1", + "serialize-javascript": "^4.0.0", + "terser": "^5.0.0" + }, + "peerDependencies": { + "rollup": "^2.0.0" + } + }, + "node_modules/rollup-plugin-terser/node_modules/serialize-javascript": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", + "dev": true, + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/rollup-plugin-web-worker-loader": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/rollup-plugin-web-worker-loader/-/rollup-plugin-web-worker-loader-1.6.1.tgz", + "integrity": "sha512-4QywQSz1NXFHKdyiou16mH3ijpcfLtLGOrAqvAqu1Gx+P8+zj+3gwC2BSL/VW1d+LW4nIHC8F7d7OXhs9UdR2A==", + "dev": true, + "peerDependencies": { + "rollup": "^1.9.2 || ^2.0.0" + } + }, + "node_modules/rollup-pluginutils": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz", + "integrity": "sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==", + "dev": true, + "dependencies": { + "estree-walker": "^0.6.1" + } + }, + "node_modules/rollup-pluginutils/node_modules/estree-walker": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.6.1.tgz", + "integrity": "sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==", + "dev": true + }, "node_modules/rsvp": { "version": "4.8.5", "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz", @@ -34491,6 +36160,12 @@ "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", "dev": true }, + "node_modules/sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", + "dev": true + }, "node_modules/space-separated-tokens": { "version": "1.1.5", "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-1.1.5.tgz", @@ -34511,6 +36186,17 @@ "tree-kill": "^1.2.2" } }, + "node_modules/spdx-compare": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/spdx-compare/-/spdx-compare-1.0.0.tgz", + "integrity": "sha512-C1mDZOX0hnu0ep9dfmuoi03+eOdDoz2yvK79RxbcrVEG1NO1Ph35yW102DHWKN4pk80nwCgeMmSY5L25VE4D9A==", + "dev": true, + "dependencies": { + "array-find-index": "^1.0.2", + "spdx-expression-parse": "^3.0.0", + "spdx-ranges": "^2.0.0" + } + }, "node_modules/spdx-correct": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", @@ -34537,12 +36223,38 @@ "spdx-license-ids": "^3.0.0" } }, + "node_modules/spdx-expression-validate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/spdx-expression-validate/-/spdx-expression-validate-2.0.0.tgz", + "integrity": "sha512-b3wydZLM+Tc6CFvaRDBOF9d76oGIHNCLYFeHbftFXUWjnfZWganmDmvtM5sm1cRwJc/VDBMLyGGrsLFd1vOxbg==", + "dev": true, + "dependencies": { + "spdx-expression-parse": "^3.0.0" + } + }, "node_modules/spdx-license-ids": { "version": "3.0.7", "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz", "integrity": "sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ==", "dev": true }, + "node_modules/spdx-ranges": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/spdx-ranges/-/spdx-ranges-2.1.1.tgz", + "integrity": "sha512-mcdpQFV7UDAgLpXEE/jOMqvK4LBoO0uTQg0uvXUewmEFhpiZx5yJSZITHB8w1ZahKdhfZqP5GPEOKLyEq5p8XA==", + "dev": true + }, + "node_modules/spdx-satisfies": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/spdx-satisfies/-/spdx-satisfies-5.0.1.tgz", + "integrity": "sha512-Nwor6W6gzFp8XX4neaKQ7ChV4wmpSh2sSDemMFSzHxpTw460jxFYeOn+jq4ybnSSw/5sc3pjka9MQPouksQNpw==", + "dev": true, + "dependencies": { + "spdx-compare": "^1.0.0", + "spdx-expression-parse": "^3.0.0", + "spdx-ranges": "^2.0.0" + } + }, "node_modules/specificity": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/specificity/-/specificity-0.4.1.tgz", @@ -34572,6 +36284,67 @@ "node": ">=0.10.0" } }, + "node_modules/split2": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/split2/-/split2-0.1.2.tgz", + "integrity": "sha1-pNVguR8EFo8hzZvdVptveNUWRZM=", + "dev": true, + "dependencies": { + "through2": "~0.4.1" + } + }, + "node_modules/split2/node_modules/isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + }, + "node_modules/split2/node_modules/object-keys": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz", + "integrity": "sha1-KKaq50KN0sOpLz2V8hM13SBOAzY=", + "dev": true + }, + "node_modules/split2/node_modules/readable-stream": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "node_modules/split2/node_modules/string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + }, + "node_modules/split2/node_modules/through2": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-0.4.2.tgz", + "integrity": "sha1-2/WGYDEVHsg1K7bE22SiKSqEC5s=", + "dev": true, + "dependencies": { + "readable-stream": "~1.0.17", + "xtend": "~2.1.1" + } + }, + "node_modules/split2/node_modules/xtend": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz", + "integrity": "sha1-bv7MKk2tjmlixJAbM3znuoe10os=", + "dev": true, + "dependencies": { + "object-keys": "~0.4.0" + }, + "engines": { + "node": ">=0.4" + } + }, "node_modules/sprintf-js": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz", @@ -35750,6 +37523,15 @@ "node": ">=10" } }, + "node_modules/task-graph-runner": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/task-graph-runner/-/task-graph-runner-1.0.3.tgz", + "integrity": "sha512-aC70bepv1j9jXX70nzolNvnHJvD4A3WtU4lQ1HEjgTS8rgnRXoUUq+xl9hZ1hKYXxVwElZXmUUMxpzDC6R0mRg==", + "dev": true, + "dependencies": { + "array-includes": "^3.0.3" + } + }, "node_modules/telejson": { "version": "5.3.3", "resolved": "https://registry.npmjs.org/telejson/-/telejson-5.3.3.tgz", @@ -37111,6 +38893,15 @@ "spdx-expression-parse": "^3.0.0" } }, + "node_modules/validate-npm-package-name": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz", + "integrity": "sha1-X6kS2B630MdK/BQN5zF/DKffQ34=", + "dev": true, + "dependencies": { + "builtins": "^1.0.3" + } + }, "node_modules/vary": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", @@ -37742,21 +39533,6 @@ "node": ">= 10" } }, - "node_modules/webpack-bundle-analyzer/node_modules/gzip-size": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", - "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", - "dev": true, - "dependencies": { - "duplexer": "^0.1.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/webpack-bundle-analyzer/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -38634,6 +40410,173 @@ "microevent.ts": "~0.1.1" } }, + "node_modules/workspaces-run": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/workspaces-run/-/workspaces-run-1.0.1.tgz", + "integrity": "sha512-B7tZj/g4/1JCeNQ7+zVNVBC83hOJBKpOm/yYob3eqw0Aerp1Guecfdf0J6kO/I/EyA2X2uP1oCHWsh2QywXh0A==", + "dev": true, + "dependencies": { + "aggregate-error": "^3.0.1", + "chalk": "^3.0.0", + "chunkd": "^2.0.1", + "cross-spawn": "^7.0.1", + "get-workspaces": "^0.5.2", + "meow": "^6.0.0", + "micromatch": "^4.0.2", + "p-limit": "^2.2.1", + "physical-cpu-count": "^2.0.0", + "redent": "^3.0.0", + "semver": "^7.1.1", + "signal-exit": "^3.0.2", + "task-graph-runner": "^1.0.3", + "trim-newlines": "^3.0.0", + "wrapline": "^2.0.1" + }, + "bin": { + "workspaces-run": "bin.js" + } + }, + "node_modules/workspaces-run/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/workspaces-run/node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/workspaces-run/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/workspaces-run/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/workspaces-run/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/workspaces-run/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/workspaces-run/node_modules/meow": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/meow/-/meow-6.1.1.tgz", + "integrity": "sha512-3YffViIt2QWgTy6Pale5QpopX/IvU3LPL03jOTqp6pGj3VjesdO/U8CuHMKpnQr4shCNCM5fd5XFFvIIl6JBHg==", + "dev": true, + "dependencies": { + "@types/minimist": "^1.2.0", + "camelcase-keys": "^6.2.2", + "decamelize-keys": "^1.1.0", + "hard-rejection": "^2.1.0", + "minimist-options": "^4.0.2", + "normalize-package-data": "^2.5.0", + "read-pkg-up": "^7.0.1", + "redent": "^3.0.0", + "trim-newlines": "^3.0.0", + "type-fest": "^0.13.1", + "yargs-parser": "^18.1.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/workspaces-run/node_modules/semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/workspaces-run/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/workspaces-run/node_modules/type-fest": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz", + "integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/workspaces-run/node_modules/yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "dev": true, + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, + "engines": { + "node": ">=6" + } + }, "node_modules/wrap-ansi": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", @@ -38698,6 +40641,60 @@ "node": ">=8" } }, + "node_modules/wrapline": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/wrapline/-/wrapline-2.0.1.tgz", + "integrity": "sha1-x5kIrBX0HUAdpmB/8lZh1MkUebs=", + "dev": true, + "dependencies": { + "duplexer2": "~0.0.2", + "split2": "^0.1.2", + "through2": "^0.5.1" + } + }, + "node_modules/wrapline/node_modules/isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + }, + "node_modules/wrapline/node_modules/readable-stream": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "node_modules/wrapline/node_modules/string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + }, + "node_modules/wrapline/node_modules/through2": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/through2/-/through2-0.5.1.tgz", + "integrity": "sha1-390BLrnHAOIyP9M084rGIqs3Lac=", + "dev": true, + "dependencies": { + "readable-stream": "~1.0.17", + "xtend": "~3.0.0" + } + }, + "node_modules/wrapline/node_modules/xtend": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-3.0.0.tgz", + "integrity": "sha1-XM50B7r2Qsunvs2laBEcST9ZZlo=", + "dev": true, + "engines": { + "node": ">=0.4" + } + }, "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", @@ -39095,6 +41092,7 @@ "@web-stories-wp/e2e-test-utils": "*", "@web-stories-wp/jest-parallel-sequencer": "*", "@web-stories-wp/jest-puppeteer-amp": "*", + "@web-stories-wp/jest-resolver": "*", "@wordpress/jest-console": "^4.1.1", "@wordpress/jest-puppeteer-axe": "^3.1.1", "babel-jest": "^27.4.6", @@ -39110,6 +41108,17 @@ "puppeteer": "*" } }, + "packages/eslint-import-resolver": { + "name": "@web-stories-wp/eslint-import-resolver", + "license": "Apache-2.0", + "dependencies": { + "eslint-import-resolver-node": "^0.3.6" + }, + "engines": { + "node": ">= 16", + "npm": ">= 7.3" + } + }, "packages/fonts": { "name": "@googleforcreators/fonts", "version": "0.0.1", @@ -39225,6 +41234,14 @@ "npm": ">= 7.3" } }, + "packages/jest-resolver": { + "name": "@web-stories-wp/jest-resolver", + "license": "Apache-2.0", + "engines": { + "node": ">= 16", + "npm": ">= 7.3" + } + }, "packages/karma-cuj-reporter": { "name": "@web-stories-wp/karma-cuj-reporter", "extraneous": true, @@ -40883,12 +42900,12 @@ } }, "@babel/plugin-transform-react-constant-elements": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.12.13.tgz", - "integrity": "sha512-qmzKVTn46Upvtxv8LQoQ8mTCdUC83AOVQIQm57e9oekLT5cmK9GOMOfcWhe8jMNx4UJXn/UDhVZ/7lGofVNeDQ==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.16.7.tgz", + "integrity": "sha512-lF+cfsyTgwWkcw715J88JhMYJ5GpysYNLhLP1PkvkhTRN7B3e74R/1KsDxFxhRpSn0UUD3IWM4GvdBR2PEbbQQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-react-display-name": { @@ -41269,6 +43286,12 @@ "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==" }, + "@changesets/types": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@changesets/types/-/types-0.4.0.tgz", + "integrity": "sha512-TclHHKDVYQ8rJGZgVeWiF7c91yWzTTWdPagltgutelGu/Psup5PQlUq6svx7S8suj+jXcaE34yEEsfIvzXXB2Q==", + "dev": true + }, "@choojs/findup": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/@choojs/findup/-/findup-0.2.1.tgz", @@ -43447,6 +45470,49 @@ } } }, + "@npmcli/git": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-2.1.0.tgz", + "integrity": "sha512-/hBFX/QG1b+N7PZBFs0bi+evgRZcK9nWBxQKZkGoXUT5hJSwl5c4d7y8/hm+NQZRPhQ67RzFaj5UM9YeyKoryw==", + "dev": true, + "requires": { + "@npmcli/promise-spawn": "^1.3.2", + "lru-cache": "^6.0.0", + "mkdirp": "^1.0.4", + "npm-pick-manifest": "^6.1.1", + "promise-inflight": "^1.0.1", + "promise-retry": "^2.0.1", + "semver": "^7.3.5", + "which": "^2.0.2" + }, + "dependencies": { + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true + }, + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + } + } + }, + "@npmcli/installed-package-contents": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-1.0.7.tgz", + "integrity": "sha512-9rufe0wnJusCQoLpV9ZPKIVP55itrM5BxOXs10DmdbRfgWtHy1LDyskbwRnBghuB0PrF7pNPOqREVtpz4HqzKw==", + "dev": true, + "requires": { + "npm-bundled": "^1.1.1", + "npm-normalize-package-bin": "^1.0.1" + } + }, "@npmcli/move-file": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.1.tgz", @@ -43465,6 +45531,33 @@ } } }, + "@npmcli/node-gyp": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-1.0.3.tgz", + "integrity": "sha512-fnkhw+fmX65kiLqk6E3BFLXNC26rUhK90zVwe2yncPliVT/Qos3xjhTLE59Df8KnPlcwIERXKVlU1bXoUQ+liA==", + "dev": true + }, + "@npmcli/promise-spawn": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-1.3.2.tgz", + "integrity": "sha512-QyAGYo/Fbj4MXeGdJcFzZ+FkDkomfRBrPM+9QYJSg+PxgAUL+LU3FneQk37rKR2/zjqkCV1BLHccX98wRXG3Sg==", + "dev": true, + "requires": { + "infer-owner": "^1.0.4" + } + }, + "@npmcli/run-script": { + "version": "1.8.6", + "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-1.8.6.tgz", + "integrity": "sha512-e42bVZnC6VluBZBAFEr3YrdqSspG3bgilyg4nSLBJ7TRGNCzxHa92XAHxQBLYg0BmgwO4b2mf3h/l5EkEWRn3g==", + "dev": true, + "requires": { + "@npmcli/node-gyp": "^1.0.2", + "@npmcli/promise-spawn": "^1.3.2", + "node-gyp": "^7.1.0", + "read-package-json-fast": "^2.0.1" + } + }, "@percy/cli": { "version": "1.0.0-beta.74", "resolved": "https://registry.npmjs.org/@percy/cli/-/cli-1.0.0-beta.74.tgz", @@ -43788,6 +45881,78 @@ "@react-spring/types": "~9.3.0" } }, + "@rollup/plugin-babel": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.0.tgz", + "integrity": "sha512-9uIC8HZOnVLrLHxayq/PTzw+uS25E14KPUBh5ktF+18Mjo5yK0ToMMx6epY0uEgkjwJw0aBW4x2horYXh8juWw==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.10.4", + "@rollup/pluginutils": "^3.1.0" + } + }, + "@rollup/plugin-commonjs": { + "version": "21.0.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-21.0.1.tgz", + "integrity": "sha512-EA+g22lbNJ8p5kuZJUYyhhDK7WgJckW5g4pNN7n4mAFUM96VuwUnNT3xr2Db2iCZPI1pJPbGyfT5mS9T1dHfMg==", + "dev": true, + "requires": { + "@rollup/pluginutils": "^3.1.0", + "commondir": "^1.0.1", + "estree-walker": "^2.0.1", + "glob": "^7.1.6", + "is-reference": "^1.2.1", + "magic-string": "^0.25.7", + "resolve": "^1.17.0" + }, + "dependencies": { + "estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "dev": true + } + } + }, + "@rollup/plugin-dynamic-import-vars": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/@rollup/plugin-dynamic-import-vars/-/plugin-dynamic-import-vars-1.4.2.tgz", + "integrity": "sha512-SEaS9Pf0RyaZ/oJ1knLZT+Fu0X6DlyTfUcoE7XKkiKJjNaB+8SLoHmDVRhomo5RpWHPyd+B00G/bE5R5+Q+HEg==", + "dev": true, + "requires": { + "@rollup/pluginutils": "^4.1.2", + "estree-walker": "^2.0.1", + "fast-glob": "^3.2.7", + "magic-string": "^0.25.7" + }, + "dependencies": { + "@rollup/pluginutils": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-4.1.2.tgz", + "integrity": "sha512-ROn4qvkxP9SyPeHaf7uQC/GPFY6L/OWy9+bd9AwcjOAWQwxRscoEyAUD8qCY5o5iL4jqQwoLk2kaTKJPb/HwzQ==", + "dev": true, + "requires": { + "estree-walker": "^2.0.1", + "picomatch": "^2.2.2" + } + }, + "estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "dev": true + } + } + }, + "@rollup/plugin-json": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@rollup/plugin-json/-/plugin-json-4.1.0.tgz", + "integrity": "sha512-yfLbTdNS6amI/2OpmbiBoW12vngr5NW2jCJVZSBEz+H5KfUJZ2M7sDjk0U6GOOdCWFVScShte29o9NezJ53TPw==", + "dev": true, + "requires": { + "@rollup/pluginutils": "^3.0.8" + } + }, "@rollup/plugin-node-resolve": { "version": "13.1.3", "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-13.1.3.tgz", @@ -43802,6 +45967,34 @@ "resolve": "^1.19.0" } }, + "@rollup/plugin-url": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@rollup/plugin-url/-/plugin-url-6.1.0.tgz", + "integrity": "sha512-FJNWBnBB7nLzbcaGmu1no+U/LlRR67TtgfRFP+VEKSrWlDTE6n9jMns/N4Q/VL6l4x6kTHQX4HQfwTcldaAfHQ==", + "dev": true, + "requires": { + "@rollup/pluginutils": "^3.1.0", + "make-dir": "^3.1.0", + "mime": "^2.4.6" + }, + "dependencies": { + "make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "requires": { + "semver": "^6.0.0" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, "@rollup/pluginutils": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", @@ -46140,6 +48333,227 @@ "svgo": "^1.2.2" } }, + "@svgr/rollup": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/@svgr/rollup/-/rollup-6.2.1.tgz", + "integrity": "sha512-5X6aMiGL1F5g0TubLY41GJ/Qf0Kz2xtbF37UbRJEHe2Z9CMlGl9Z3fQ8e28vmHrTptmymNRoHssgQ2Ejb1DARQ==", + "dev": true, + "requires": { + "@babel/core": "^7.15.5", + "@babel/plugin-transform-react-constant-elements": "^7.14.5", + "@babel/preset-env": "^7.15.6", + "@babel/preset-react": "^7.14.5", + "@babel/preset-typescript": "^7.16.0", + "@svgr/core": "^6.2.1", + "@svgr/plugin-jsx": "^6.2.1", + "@svgr/plugin-svgo": "^6.2.0", + "rollup-pluginutils": "^2.8.2" + }, + "dependencies": { + "@svgr/babel-plugin-add-jsx-attribute": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-6.0.0.tgz", + "integrity": "sha512-MdPdhdWLtQsjd29Wa4pABdhWbaRMACdM1h31BY+c6FghTZqNGT7pEYdBoaGeKtdTOBC/XNFQaKVj+r/Ei2ryWA==", + "dev": true, + "requires": {} + }, + "@svgr/babel-plugin-remove-jsx-attribute": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-6.0.0.tgz", + "integrity": "sha512-aVdtfx9jlaaxc3unA6l+M9YRnKIZjOhQPthLKqmTXC8UVkBLDRGwPKo+r8n3VZN8B34+yVajzPTZ+ptTSuZZCw==", + "dev": true, + "requires": {} + }, + "@svgr/babel-plugin-remove-jsx-empty-expression": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-6.0.0.tgz", + "integrity": "sha512-Ccj42ApsePD451AZJJf1QzTD1B/BOU392URJTeXFxSK709i0KUsGtbwyiqsKu7vsYxpTM0IA5clAKDyf9RCZyA==", + "dev": true, + "requires": {} + }, + "@svgr/babel-plugin-replace-jsx-attribute-value": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-6.0.0.tgz", + "integrity": "sha512-88V26WGyt1Sfd1emBYmBJRWMmgarrExpKNVmI9vVozha4kqs6FzQJ/Kp5+EYli1apgX44518/0+t9+NU36lThQ==", + "dev": true, + "requires": {} + }, + "@svgr/babel-plugin-svg-dynamic-title": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-6.0.0.tgz", + "integrity": "sha512-F7YXNLfGze+xv0KMQxrl2vkNbI9kzT9oDK55/kUuymh1ACyXkMV+VZWX1zEhSTfEKh7VkHVZGmVtHg8eTZ6PRg==", + "dev": true, + "requires": {} + }, + "@svgr/babel-plugin-svg-em-dimensions": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-6.0.0.tgz", + "integrity": "sha512-+rghFXxdIqJNLQK08kwPBD3Z22/0b2tEZ9lKiL/yTfuyj1wW8HUXu4bo/XkogATIYuXSghVQOOCwURXzHGKyZA==", + "dev": true, + "requires": {} + }, + "@svgr/babel-plugin-transform-react-native-svg": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-6.0.0.tgz", + "integrity": "sha512-VaphyHZ+xIKv5v0K0HCzyfAaLhPGJXSk2HkpYfXIOKb7DjLBv0soHDxNv6X0vr2titsxE7klb++u7iOf7TSrFQ==", + "dev": true, + "requires": {} + }, + "@svgr/babel-plugin-transform-svg-component": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-6.2.0.tgz", + "integrity": "sha512-bhYIpsORb++wpsp91fymbFkf09Z/YEKR0DnFjxvN+8JHeCUD2unnh18jIMKnDJTWtvpTaGYPXELVe4OOzFI0xg==", + "dev": true, + "requires": {} + }, + "@svgr/babel-preset": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-6.2.0.tgz", + "integrity": "sha512-4WQNY0J71JIaL03DRn0vLiz87JXx0b9dYm2aA8XHlQJQoixMl4r/soYHm8dsaJZ3jWtkCiOYy48dp9izvXhDkQ==", + "dev": true, + "requires": { + "@svgr/babel-plugin-add-jsx-attribute": "^6.0.0", + "@svgr/babel-plugin-remove-jsx-attribute": "^6.0.0", + "@svgr/babel-plugin-remove-jsx-empty-expression": "^6.0.0", + "@svgr/babel-plugin-replace-jsx-attribute-value": "^6.0.0", + "@svgr/babel-plugin-svg-dynamic-title": "^6.0.0", + "@svgr/babel-plugin-svg-em-dimensions": "^6.0.0", + "@svgr/babel-plugin-transform-react-native-svg": "^6.0.0", + "@svgr/babel-plugin-transform-svg-component": "^6.2.0" + } + }, + "@svgr/core": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/@svgr/core/-/core-6.2.1.tgz", + "integrity": "sha512-NWufjGI2WUyrg46mKuySfviEJ6IxHUOm/8a3Ph38VCWSp+83HBraCQrpEM3F3dB6LBs5x8OElS8h3C0oOJaJAA==", + "dev": true, + "requires": { + "@svgr/plugin-jsx": "^6.2.1", + "camelcase": "^6.2.0", + "cosmiconfig": "^7.0.1" + } + }, + "@svgr/hast-util-to-babel-ast": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-6.2.1.tgz", + "integrity": "sha512-pt7MMkQFDlWJVy9ULJ1h+hZBDGFfSCwlBNW1HkLnVi7jUhyEXUaGYWi1x6bM2IXuAR9l265khBT4Av4lPmaNLQ==", + "dev": true, + "requires": { + "@babel/types": "^7.15.6", + "entities": "^3.0.1" + } + }, + "@svgr/plugin-jsx": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-6.2.1.tgz", + "integrity": "sha512-u+MpjTsLaKo6r3pHeeSVsh9hmGRag2L7VzApWIaS8imNguqoUwDq/u6U/NDmYs/KAsrmtBjOEaAAPbwNGXXp1g==", + "dev": true, + "requires": { + "@babel/core": "^7.15.5", + "@svgr/babel-preset": "^6.2.0", + "@svgr/hast-util-to-babel-ast": "^6.2.1", + "svg-parser": "^2.0.2" + } + }, + "@svgr/plugin-svgo": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-6.2.0.tgz", + "integrity": "sha512-oDdMQONKOJEbuKwuy4Np6VdV6qoaLLvoY86hjvQEgU82Vx1MSWRyYms6Sl0f+NtqxLI/rDVufATbP/ev996k3Q==", + "dev": true, + "requires": { + "cosmiconfig": "^7.0.1", + "deepmerge": "^4.2.2", + "svgo": "^2.5.0" + } + }, + "commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "dev": true + }, + "css-select": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.2.1.tgz", + "integrity": "sha512-/aUslKhzkTNCQUB2qTX84lVmfia9NyjP3WpDGtj/WxhwBzWBYUV3DgUpurHTme8UTPcPlAD1DJ+b0nN/t50zDQ==", + "dev": true, + "requires": { + "boolbase": "^1.0.0", + "css-what": "^5.1.0", + "domhandler": "^4.3.0", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" + } + }, + "css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "dev": true, + "requires": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + } + }, + "css-what": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-5.1.0.tgz", + "integrity": "sha512-arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw==", + "dev": true + }, + "domhandler": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.0.tgz", + "integrity": "sha512-fC0aXNQXqKSFTr2wDNZDhsEYjCiYsDWl3D01kwt25hm1YIPyDGHvvi3rw+PLqHAl/m71MaiF7d5zvBr0p5UB2g==", + "dev": true, + "requires": { + "domelementtype": "^2.2.0" + } + }, + "entities": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-3.0.1.tgz", + "integrity": "sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==", + "dev": true + }, + "mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", + "dev": true + }, + "nth-check": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.1.tgz", + "integrity": "sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w==", + "dev": true, + "requires": { + "boolbase": "^1.0.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "svgo": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", + "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", + "dev": true, + "requires": { + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^4.1.3", + "css-tree": "^1.1.3", + "csso": "^4.2.0", + "picocolors": "^1.0.0", + "stable": "^0.1.8" + } + } + } + }, "@svgr/webpack": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-5.5.0.tgz", @@ -47109,6 +49523,7 @@ "@web-stories-wp/e2e-test-utils": "*", "@web-stories-wp/jest-parallel-sequencer": "*", "@web-stories-wp/jest-puppeteer-amp": "*", + "@web-stories-wp/jest-resolver": "*", "@wordpress/jest-console": "^4.1.1", "@wordpress/jest-puppeteer-axe": "^3.1.1", "babel-jest": "^27.4.6", @@ -47117,6 +49532,12 @@ "jest-puppeteer": "^6.0.3" } }, + "@web-stories-wp/eslint-import-resolver": { + "version": "file:packages/eslint-import-resolver", + "requires": { + "eslint-import-resolver-node": "^0.3.6" + } + }, "@web-stories-wp/glider": { "version": "file:packages/glider", "requires": { @@ -47164,6 +49585,9 @@ "@web-stories-wp/jest-amp": "*" } }, + "@web-stories-wp/jest-resolver": { + "version": "file:packages/jest-resolver" + }, "@web-stories-wp/karma-failed-tests-reporter": { "version": "file:packages/karma-failed-tests-reporter", "requires": {} @@ -48724,6 +51148,12 @@ "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=" }, + "array-find-index": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", + "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", + "dev": true + }, "array-flatten": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", @@ -49874,6 +52304,23 @@ "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", "dev": true }, + "brotli-size": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/brotli-size/-/brotli-size-4.0.0.tgz", + "integrity": "sha512-uA9fOtlTRC0iqKfzff1W34DXUA3GyVqbUaeo3Rw3d4gd1eavKVCETXrn3NzO74W+UVkG3UHu8WxUi+XvKI/huA==", + "dev": true, + "requires": { + "duplexer": "0.1.1" + }, + "dependencies": { + "duplexer": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz", + "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=", + "dev": true + } + } + }, "browser-process-hrtime": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", @@ -50035,6 +52482,12 @@ "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", "dev": true }, + "builtins": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz", + "integrity": "sha1-y5T662HIaWRR2zZTThQi+U8K7og=", + "dev": true + }, "bytes": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.1.tgz", @@ -50379,6 +52832,12 @@ } } }, + "chunkd": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/chunkd/-/chunkd-2.0.1.tgz", + "integrity": "sha512-7d58XsFmOq0j6el67Ug9mHf9ELUXsQXYJBkyxhH/k+6Ke0qXRnv0kbemx+Twc6fRJ07C49lcbdgm9FL1Ei/6SQ==", + "dev": true + }, "ci-info": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", @@ -50762,6 +53221,12 @@ "q": "^1.1.2" } }, + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "dev": true + }, "collapse-white-space": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.6.tgz", @@ -50851,6 +53316,12 @@ "integrity": "sha512-hRpmWIKgzd81vn0ydoWoyPoALEOnF4wt8yKD35Ib1D6XC2siLiYaiqfGkYrunuKdsXGwpBpHU3+9r+RVw2NZfA==", "dev": true }, + "commenting": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/commenting/-/commenting-1.1.0.tgz", + "integrity": "sha512-YeNK4tavZwtH7jEgK1ZINXzLKm6DZdEMfsaaieOsCAN0S8vsY7UeuO3Q7d/M018EFgE+IeUAuBOKkFccBZsUZA==", + "dev": true + }, "common-path-prefix": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz", @@ -52025,6 +54496,46 @@ "isobject": "^3.0.1" } }, + "del": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/del/-/del-5.1.0.tgz", + "integrity": "sha512-wH9xOVHnczo9jN2IW68BabcecVPxacIA3g/7z6vhSU/4stOKQzeCRK0yD0A24WiAAUJmmVpWqrERcTxnLo3AnA==", + "dev": true, + "requires": { + "globby": "^10.0.1", + "graceful-fs": "^4.2.2", + "is-glob": "^4.0.1", + "is-path-cwd": "^2.2.0", + "is-path-inside": "^3.0.1", + "p-map": "^3.0.0", + "rimraf": "^3.0.0", + "slash": "^3.0.0" + }, + "dependencies": { + "globby": { + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.2.tgz", + "integrity": "sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==", + "dev": true, + "requires": { + "@types/glob": "^7.1.1", + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.0.3", + "glob": "^7.1.3", + "ignore": "^5.1.1", + "merge2": "^1.2.3", + "slash": "^3.0.0" + } + }, + "ignore": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", + "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", + "dev": true + } + } + }, "delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", @@ -52373,6 +54884,41 @@ "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", "dev": true }, + "duplexer2": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz", + "integrity": "sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=", + "dev": true, + "requires": { + "readable-stream": "~1.1.9" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + }, + "readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + } + } + }, "duplexify": { "version": "3.7.1", "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", @@ -52582,6 +55128,12 @@ "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==", "dev": true }, + "env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "dev": true + }, "envinfo": { "version": "7.8.1", "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz", @@ -52905,7 +55457,6 @@ "version": "0.3.6", "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz", "integrity": "sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==", - "dev": true, "requires": { "debug": "^3.2.7", "resolve": "^1.20.0" @@ -52915,7 +55466,6 @@ "version": "3.2.7", "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, "requires": { "ms": "^2.1.1" } @@ -54284,6 +56834,12 @@ "dev": true, "optional": true }, + "filesize": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/filesize/-/filesize-6.4.0.tgz", + "integrity": "sha512-mjFIpOHC4jbfcTfoh4rkWpI31mF7viw9ikj/JyLoKzqlwG/YsefKfvYlYhdYdg/9mtK2z1AzgN/0LvVQ3zdlSQ==", + "dev": true + }, "fill-range": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", @@ -54976,6 +57532,237 @@ "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", "dev": true }, + "get-workspaces": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/get-workspaces/-/get-workspaces-0.5.2.tgz", + "integrity": "sha512-99x72taQ9OUHhCmBS0B2WI/zwOtBOBPoyVNGs9+B0ag2GGhCjl/EaU9VQ8Zorx64TyVj1Am7bO+0J1KwDqo7OA==", + "dev": true, + "requires": { + "@changesets/types": "^0.4.0", + "fs-extra": "^7.0.1", + "globby": "^9.2.0" + }, + "dependencies": { + "@nodelib/fs.stat": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz", + "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==", + "dev": true + }, + "array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "dev": true, + "requires": { + "array-uniq": "^1.0.1" + } + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "dir-glob": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.2.2.tgz", + "integrity": "sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw==", + "dev": true, + "requires": { + "path-type": "^3.0.0" + } + }, + "fast-glob": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.7.tgz", + "integrity": "sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==", + "dev": true, + "requires": { + "@mrmlnc/readdir-enhanced": "^2.2.1", + "@nodelib/fs.stat": "^1.1.2", + "glob-parent": "^3.1.0", + "is-glob": "^4.0.0", + "merge2": "^1.2.3", + "micromatch": "^3.1.10" + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "globby": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-9.2.0.tgz", + "integrity": "sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg==", + "dev": true, + "requires": { + "@types/glob": "^7.1.1", + "array-union": "^1.0.2", + "dir-glob": "^2.2.2", + "fast-glob": "^2.2.6", + "glob": "^7.1.3", + "ignore": "^4.0.3", + "pify": "^4.0.1", + "slash": "^2.0.0" + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "dev": true, + "requires": { + "pify": "^3.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + } + } + }, + "slash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", + "dev": true + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + } + } + }, "getpass": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", @@ -55180,6 +57967,15 @@ "resolved": "https://registry.npmjs.org/gradient-parser/-/gradient-parser-0.1.5.tgz", "integrity": "sha1-DH4heVWeXOfY1x9EI6+TcQCyJIw=" }, + "gzip-size": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", + "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", + "dev": true, + "requires": { + "duplexer": "^0.1.2" + } + }, "handlebars": { "version": "4.7.7", "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz", @@ -55913,6 +58709,15 @@ "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", "dev": true }, + "ignore-walk": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.4.tgz", + "integrity": "sha512-PY6Ii8o1jMRA1z4F2hRkH/xN59ox43DavKvD3oDpfurRlOJyAHpifIwpbdv1n4jt4ov0jSpw3kQ4GhJnpBL6WQ==", + "dev": true, + "requires": { + "minimatch": "^3.0.4" + } + }, "image-size": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/image-size/-/image-size-1.0.1.tgz", @@ -56272,6 +59077,18 @@ "integrity": "sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA==", "dev": true }, + "is-path-cwd": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", + "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", + "dev": true + }, + "is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true + }, "is-plain-obj": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", @@ -56296,6 +59113,15 @@ "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-4.0.0.tgz", "integrity": "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==" }, + "is-reference": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.2.1.tgz", + "integrity": "sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==", + "dev": true, + "requires": { + "@types/estree": "*" + } + }, "is-regex": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", @@ -59947,6 +62773,12 @@ "graceful-fs": "^4.1.6" } }, + "jsonparse": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=", + "dev": true + }, "jsprim": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", @@ -60891,6 +63723,15 @@ "integrity": "sha1-wNjq82BZ9wV5bh40SBHPTEmNOiY=", "dev": true }, + "magic-string": { + "version": "0.25.7", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz", + "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==", + "dev": true, + "requires": { + "sourcemap-codec": "^1.4.4" + } + }, "make-dir": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", @@ -61565,6 +64406,16 @@ "minipass": "^3.0.0" } }, + "minipass-json-stream": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minipass-json-stream/-/minipass-json-stream-1.0.1.tgz", + "integrity": "sha512-ODqY18UZt/I8k+b7rl2AENgbWE8IDYam+undIJONvigAz8KR5GWblsFTEfQs0WODsjbSXWlm+JHEv8Gr6Tfdbg==", + "dev": true, + "requires": { + "jsonparse": "^1.3.1", + "minipass": "^3.0.0" + } + }, "minipass-pipeline": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", @@ -61844,6 +64695,117 @@ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==" }, + "node-gyp": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-7.1.2.tgz", + "integrity": "sha512-CbpcIo7C3eMu3dL1c3d0xw449fHIGALIJsRP4DDPHpyiW8vcriNY7ubh9TE4zEKfSxscY7PjeFnshE7h75ynjQ==", + "dev": true, + "requires": { + "env-paths": "^2.2.0", + "glob": "^7.1.4", + "graceful-fs": "^4.2.3", + "nopt": "^5.0.0", + "npmlog": "^4.1.2", + "request": "^2.88.2", + "rimraf": "^3.0.2", + "semver": "^7.3.2", + "tar": "^6.0.2", + "which": "^2.0.2" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "are-we-there-yet": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz", + "integrity": "sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g==", + "dev": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + } + }, + "gauge": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "dev": true, + "requires": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + } + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "nopt": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", + "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", + "dev": true, + "requires": { + "abbrev": "1" + } + }, + "npmlog": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", + "dev": true, + "requires": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + } + } + }, "node-int64": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", @@ -61959,6 +64921,72 @@ "resolved": "https://registry.npmjs.org/normalize-wheel/-/normalize-wheel-1.0.1.tgz", "integrity": "sha1-rsiGr/2wRQcNhWRH32Ls+GFG7EU=" }, + "npm-bundled": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.2.tgz", + "integrity": "sha512-x5DHup0SuyQcmL3s7Rx/YQ8sbw/Hzg0rj48eN0dV7hf5cmQq5PXIeioroH3raV1QC1yh3uTYuMThvEQF3iKgGQ==", + "dev": true, + "requires": { + "npm-normalize-package-bin": "^1.0.1" + } + }, + "npm-install-checks": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-4.0.0.tgz", + "integrity": "sha512-09OmyDkNLYwqKPOnbI8exiOZU2GVVmQp7tgez2BPi5OZC8M82elDAps7sxC4l//uSUtotWqoEIDwjRvWH4qz8w==", + "dev": true, + "requires": { + "semver": "^7.1.1" + }, + "dependencies": { + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + } + } + }, + "npm-normalize-package-bin": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz", + "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==", + "dev": true + }, + "npm-package-arg": { + "version": "8.1.5", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.5.tgz", + "integrity": "sha512-LhgZrg0n0VgvzVdSm1oiZworPbTxYHUJCgtsJW8mGvlDpxTM1vSJc3m5QZeUkhAHIzbz3VCHd/R4osi1L1Tg/Q==", + "dev": true, + "requires": { + "hosted-git-info": "^4.0.1", + "semver": "^7.3.4", + "validate-npm-package-name": "^3.0.0" + }, + "dependencies": { + "hosted-git-info": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", + "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + } + } + }, "npm-package-json-lint": { "version": "5.4.2", "resolved": "https://registry.npmjs.org/npm-package-json-lint/-/npm-package-json-lint-5.4.2.tgz", @@ -62104,6 +65132,55 @@ } } }, + "npm-packlist": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-2.2.2.tgz", + "integrity": "sha512-Jt01acDvJRhJGthnUJVF/w6gumWOZxO7IkpY/lsX9//zqQgnF7OJaxgQXcerd4uQOLu7W5bkb4mChL9mdfm+Zg==", + "dev": true, + "requires": { + "glob": "^7.1.6", + "ignore-walk": "^3.0.3", + "npm-bundled": "^1.1.1", + "npm-normalize-package-bin": "^1.0.1" + } + }, + "npm-pick-manifest": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-6.1.1.tgz", + "integrity": "sha512-dBsdBtORT84S8V8UTad1WlUyKIY9iMsAmqxHbLdeEeBNMLQDlDWWra3wYUx9EBEIiG/YwAy0XyNHDd2goAsfuA==", + "dev": true, + "requires": { + "npm-install-checks": "^4.0.0", + "npm-normalize-package-bin": "^1.0.1", + "npm-package-arg": "^8.1.2", + "semver": "^7.3.4" + }, + "dependencies": { + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + } + } + }, + "npm-registry-fetch": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-11.0.0.tgz", + "integrity": "sha512-jmlgSxoDNuhAtxUIG6pVwwtz840i994dL14FoNVZisrmZW5kWd63IUTNv1m/hyRSGSqWjCUp/YZlS1BJyNp9XA==", + "dev": true, + "requires": { + "make-fetch-happen": "^9.0.1", + "minipass": "^3.1.3", + "minipass-fetch": "^1.3.0", + "minipass-json-stream": "^1.0.1", + "minizlib": "^2.0.0", + "npm-package-arg": "^8.0.0" + } + }, "npm-run-all": { "version": "4.1.5", "resolved": "https://registry.npmjs.org/npm-run-all/-/npm-run-all-4.1.5.tgz", @@ -62201,6 +65278,12 @@ "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=", "dev": true }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "dev": true + }, "nwsapi": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz", @@ -62629,6 +65712,53 @@ "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" }, + "package-name-regex": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/package-name-regex/-/package-name-regex-2.0.5.tgz", + "integrity": "sha512-F0lX+FBs/Bo7KWY6EuUXj+oarXU0Og1R2Zdg3F/fVcNw3pPQAKFKxUrugno0Ds5NUztlx/gRLnQW9MF+7VTqAw==", + "dev": true + }, + "pacote": { + "version": "11.3.5", + "resolved": "https://registry.npmjs.org/pacote/-/pacote-11.3.5.tgz", + "integrity": "sha512-fT375Yczn4zi+6Hkk2TBe1x1sP8FgFsEIZ2/iWaXY2r/NkhDJfxbcn5paz1+RTFCyNf+dPnaoBDJoAxXSU8Bkg==", + "dev": true, + "requires": { + "@npmcli/git": "^2.1.0", + "@npmcli/installed-package-contents": "^1.0.6", + "@npmcli/promise-spawn": "^1.2.0", + "@npmcli/run-script": "^1.8.2", + "cacache": "^15.0.5", + "chownr": "^2.0.0", + "fs-minipass": "^2.1.0", + "infer-owner": "^1.0.4", + "minipass": "^3.1.3", + "mkdirp": "^1.0.3", + "npm-package-arg": "^8.0.1", + "npm-packlist": "^2.1.4", + "npm-pick-manifest": "^6.0.0", + "npm-registry-fetch": "^11.0.0", + "promise-retry": "^2.0.1", + "read-package-json-fast": "^2.0.1", + "rimraf": "^3.0.2", + "ssri": "^8.0.1", + "tar": "^6.1.0" + }, + "dependencies": { + "chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "dev": true + }, + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true + } + } + }, "pako": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", @@ -62913,6 +66043,12 @@ "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" }, + "physical-cpu-count": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/physical-cpu-count/-/physical-cpu-count-2.0.0.tgz", + "integrity": "sha1-GN4vl+S/epVRrXURlCtUlverpmA=", + "dev": true + }, "picocolors": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", @@ -64543,6 +67679,16 @@ "lodash": "^4.0.1" } }, + "read-package-json-fast": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-2.0.3.tgz", + "integrity": "sha512-W/BKtbL+dUjTuRL2vziuYhp76s5HZ9qQhd/dKfWIZveD0O40453QNyZhC0e63lqZrAQ4jiOapVoeJ7JrszenQQ==", + "dev": true, + "requires": { + "json-parse-even-better-errors": "^2.3.0", + "npm-normalize-package-bin": "^1.0.1" + } + }, "read-pkg": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", @@ -65329,6 +68475,130 @@ "fsevents": "~2.3.2" } }, + "rollup-plugin-delete": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/rollup-plugin-delete/-/rollup-plugin-delete-2.0.0.tgz", + "integrity": "sha512-/VpLMtDy+8wwRlDANuYmDa9ss/knGsAgrDhM+tEwB1npHwNu4DYNmDfUL55csse/GHs9Q+SMT/rw9uiaZ3pnzA==", + "dev": true, + "requires": { + "del": "^5.1.0" + } + }, + "rollup-plugin-filesize": { + "version": "9.1.2", + "resolved": "https://registry.npmjs.org/rollup-plugin-filesize/-/rollup-plugin-filesize-9.1.2.tgz", + "integrity": "sha512-m2fE9hFaKgWKisJzyWXctOFKlgMRelo/58HgeC0lXUK/qykxiqkr6bsrotlvo2bvrwPsjgT7scNdQSr6qtl37A==", + "dev": true, + "requires": { + "@babel/runtime": "^7.13.8", + "boxen": "^5.0.0", + "brotli-size": "4.0.0", + "colors": "1.4.0", + "filesize": "^6.1.0", + "gzip-size": "^6.0.0", + "pacote": "^11.2.7", + "terser": "^5.6.0" + } + }, + "rollup-plugin-import-css": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rollup-plugin-import-css/-/rollup-plugin-import-css-3.0.2.tgz", + "integrity": "sha512-4Y/U5EMQHomMlYSF0OBOo/XJSgfou+iHMfBOqneaX5Cp5BCyQn1YrUtXC6KYEPHPxTadC+oXhrTCr9yzRN2DyA==", + "dev": true, + "requires": { + "@rollup/pluginutils": "^4.1.1" + }, + "dependencies": { + "@rollup/pluginutils": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-4.1.2.tgz", + "integrity": "sha512-ROn4qvkxP9SyPeHaf7uQC/GPFY6L/OWy9+bd9AwcjOAWQwxRscoEyAUD8qCY5o5iL4jqQwoLk2kaTKJPb/HwzQ==", + "dev": true, + "requires": { + "estree-walker": "^2.0.1", + "picomatch": "^2.2.2" + } + }, + "estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "dev": true + } + } + }, + "rollup-plugin-license": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/rollup-plugin-license/-/rollup-plugin-license-2.6.1.tgz", + "integrity": "sha512-JPtlXF0tZKyHztKJsyd3HHmQFSkXei+596Xrb/a/bHIdDhvFuNSKimCKkQpoXyspfeVQk7CNay1MyGpFHAXjvg==", + "dev": true, + "requires": { + "commenting": "1.1.0", + "glob": "7.2.0", + "lodash": "4.17.21", + "magic-string": "0.25.7", + "mkdirp": "1.0.4", + "moment": "2.29.1", + "package-name-regex": "2.0.5", + "spdx-expression-validate": "2.0.0", + "spdx-satisfies": "5.0.1" + }, + "dependencies": { + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true + } + } + }, + "rollup-plugin-terser": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz", + "integrity": "sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.4", + "jest-worker": "^26.2.1", + "serialize-javascript": "^4.0.0", + "terser": "^5.0.0" + }, + "dependencies": { + "serialize-javascript": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", + "dev": true, + "requires": { + "randombytes": "^2.1.0" + } + } + } + }, + "rollup-plugin-web-worker-loader": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/rollup-plugin-web-worker-loader/-/rollup-plugin-web-worker-loader-1.6.1.tgz", + "integrity": "sha512-4QywQSz1NXFHKdyiou16mH3ijpcfLtLGOrAqvAqu1Gx+P8+zj+3gwC2BSL/VW1d+LW4nIHC8F7d7OXhs9UdR2A==", + "dev": true, + "requires": {} + }, + "rollup-pluginutils": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz", + "integrity": "sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==", + "dev": true, + "requires": { + "estree-walker": "^0.6.1" + }, + "dependencies": { + "estree-walker": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.6.1.tgz", + "integrity": "sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==", + "dev": true + } + } + }, "rsvp": { "version": "4.8.5", "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz", @@ -66479,6 +69749,12 @@ "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", "dev": true }, + "sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", + "dev": true + }, "space-separated-tokens": { "version": "1.1.5", "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-1.1.5.tgz", @@ -66495,6 +69771,17 @@ "tree-kill": "^1.2.2" } }, + "spdx-compare": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/spdx-compare/-/spdx-compare-1.0.0.tgz", + "integrity": "sha512-C1mDZOX0hnu0ep9dfmuoi03+eOdDoz2yvK79RxbcrVEG1NO1Ph35yW102DHWKN4pk80nwCgeMmSY5L25VE4D9A==", + "dev": true, + "requires": { + "array-find-index": "^1.0.2", + "spdx-expression-parse": "^3.0.0", + "spdx-ranges": "^2.0.0" + } + }, "spdx-correct": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", @@ -66521,12 +69808,38 @@ "spdx-license-ids": "^3.0.0" } }, + "spdx-expression-validate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/spdx-expression-validate/-/spdx-expression-validate-2.0.0.tgz", + "integrity": "sha512-b3wydZLM+Tc6CFvaRDBOF9d76oGIHNCLYFeHbftFXUWjnfZWganmDmvtM5sm1cRwJc/VDBMLyGGrsLFd1vOxbg==", + "dev": true, + "requires": { + "spdx-expression-parse": "^3.0.0" + } + }, "spdx-license-ids": { "version": "3.0.7", "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz", "integrity": "sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ==", "dev": true }, + "spdx-ranges": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/spdx-ranges/-/spdx-ranges-2.1.1.tgz", + "integrity": "sha512-mcdpQFV7UDAgLpXEE/jOMqvK4LBoO0uTQg0uvXUewmEFhpiZx5yJSZITHB8w1ZahKdhfZqP5GPEOKLyEq5p8XA==", + "dev": true + }, + "spdx-satisfies": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/spdx-satisfies/-/spdx-satisfies-5.0.1.tgz", + "integrity": "sha512-Nwor6W6gzFp8XX4neaKQ7ChV4wmpSh2sSDemMFSzHxpTw460jxFYeOn+jq4ybnSSw/5sc3pjka9MQPouksQNpw==", + "dev": true, + "requires": { + "spdx-compare": "^1.0.0", + "spdx-expression-parse": "^3.0.0", + "spdx-ranges": "^2.0.0" + } + }, "specificity": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/specificity/-/specificity-0.4.1.tgz", @@ -66547,6 +69860,66 @@ "extend-shallow": "^3.0.0" } }, + "split2": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/split2/-/split2-0.1.2.tgz", + "integrity": "sha1-pNVguR8EFo8hzZvdVptveNUWRZM=", + "dev": true, + "requires": { + "through2": "~0.4.1" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + }, + "object-keys": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz", + "integrity": "sha1-KKaq50KN0sOpLz2V8hM13SBOAzY=", + "dev": true + }, + "readable-stream": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + }, + "through2": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-0.4.2.tgz", + "integrity": "sha1-2/WGYDEVHsg1K7bE22SiKSqEC5s=", + "dev": true, + "requires": { + "readable-stream": "~1.0.17", + "xtend": "~2.1.1" + } + }, + "xtend": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz", + "integrity": "sha1-bv7MKk2tjmlixJAbM3znuoe10os=", + "dev": true, + "requires": { + "object-keys": "~0.4.0" + } + } + } + }, "sprintf-js": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz", @@ -67447,6 +70820,15 @@ } } }, + "task-graph-runner": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/task-graph-runner/-/task-graph-runner-1.0.3.tgz", + "integrity": "sha512-aC70bepv1j9jXX70nzolNvnHJvD4A3WtU4lQ1HEjgTS8rgnRXoUUq+xl9hZ1hKYXxVwElZXmUUMxpzDC6R0mRg==", + "dev": true, + "requires": { + "array-includes": "^3.0.3" + } + }, "telejson": { "version": "5.3.3", "resolved": "https://registry.npmjs.org/telejson/-/telejson-5.3.3.tgz", @@ -68455,6 +71837,15 @@ "spdx-expression-parse": "^3.0.0" } }, + "validate-npm-package-name": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz", + "integrity": "sha1-X6kS2B630MdK/BQN5zF/DKffQ34=", + "dev": true, + "requires": { + "builtins": "^1.0.3" + } + }, "vary": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", @@ -69222,15 +72613,6 @@ "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", "dev": true }, - "gzip-size": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", - "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", - "dev": true, - "requires": { - "duplexer": "^0.1.2" - } - }, "has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -69630,6 +73012,130 @@ "microevent.ts": "~0.1.1" } }, + "workspaces-run": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/workspaces-run/-/workspaces-run-1.0.1.tgz", + "integrity": "sha512-B7tZj/g4/1JCeNQ7+zVNVBC83hOJBKpOm/yYob3eqw0Aerp1Guecfdf0J6kO/I/EyA2X2uP1oCHWsh2QywXh0A==", + "dev": true, + "requires": { + "aggregate-error": "^3.0.1", + "chalk": "^3.0.0", + "chunkd": "^2.0.1", + "cross-spawn": "^7.0.1", + "get-workspaces": "^0.5.2", + "meow": "^6.0.0", + "micromatch": "^4.0.2", + "p-limit": "^2.2.1", + "physical-cpu-count": "^2.0.0", + "redent": "^3.0.0", + "semver": "^7.1.1", + "signal-exit": "^3.0.2", + "task-graph-runner": "^1.0.3", + "trim-newlines": "^3.0.0", + "wrapline": "^2.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "meow": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/meow/-/meow-6.1.1.tgz", + "integrity": "sha512-3YffViIt2QWgTy6Pale5QpopX/IvU3LPL03jOTqp6pGj3VjesdO/U8CuHMKpnQr4shCNCM5fd5XFFvIIl6JBHg==", + "dev": true, + "requires": { + "@types/minimist": "^1.2.0", + "camelcase-keys": "^6.2.2", + "decamelize-keys": "^1.1.0", + "hard-rejection": "^2.1.0", + "minimist-options": "^4.0.2", + "normalize-package-data": "^2.5.0", + "read-pkg-up": "^7.0.1", + "redent": "^3.0.0", + "trim-newlines": "^3.0.0", + "type-fest": "^0.13.1", + "yargs-parser": "^18.1.3" + } + }, + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "type-fest": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz", + "integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==", + "dev": true + }, + "yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } + }, "wrap-ansi": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", @@ -69678,6 +73184,59 @@ } } }, + "wrapline": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/wrapline/-/wrapline-2.0.1.tgz", + "integrity": "sha1-x5kIrBX0HUAdpmB/8lZh1MkUebs=", + "dev": true, + "requires": { + "duplexer2": "~0.0.2", + "split2": "^0.1.2", + "through2": "^0.5.1" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + }, + "readable-stream": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + }, + "through2": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/through2/-/through2-0.5.1.tgz", + "integrity": "sha1-390BLrnHAOIyP9M084rGIqs3Lac=", + "dev": true, + "requires": { + "readable-stream": "~1.0.17", + "xtend": "~3.0.0" + } + }, + "xtend": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-3.0.0.tgz", + "integrity": "sha1-XM50B7r2Qsunvs2laBEcST9ZZlo=", + "dev": true + } + } + }, "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", diff --git a/package.json b/package.json index b6017bd29188..cff83fce342d 100644 --- a/package.json +++ b/package.json @@ -14,7 +14,10 @@ "wordpress" ], "homepage": "https://github.com/googleforcreators/web-stories-wp/", - "repository": "git+https://github.com/GoogleForCreators/web-stories-wp.git", + "repository": { + "type": "git", + "url": "https://github.com/GoogleForCreators/web-stories-wp.git" + }, "bugs": { "url": "https://github.com/googleforcreators/web-stories-wp/issues" }, @@ -47,6 +50,12 @@ "@jsdevtools/coverage-istanbul-loader": "^3.0.5", "@percy/cli": "^1.0.0-beta.74", "@prettier/plugin-xml": "^1.2.0", + "@rollup/plugin-babel": "^5.3.0", + "@rollup/plugin-commonjs": "^21.0.1", + "@rollup/plugin-dynamic-import-vars": "^1.4.2", + "@rollup/plugin-json": "^4.1.0", + "@rollup/plugin-node-resolve": "^13.1.3", + "@rollup/plugin-url": "^6.1.0", "@storybook/addon-a11y": "^6.4.14", "@storybook/addon-actions": "^6.4.14", "@storybook/addon-backgrounds": "^6.4.14", @@ -60,6 +69,7 @@ "@storybook/csf": "^0.0.1", "@storybook/react": "^6.4.14", "@stylelint/postcss-css-in-js": "^0.37.2", + "@svgr/rollup": "^6.2.0", "@svgr/webpack": "^5.5.0", "@testing-library/dom": "^8.10.1", "@testing-library/jest-dom": "^5.16.1", @@ -67,8 +77,10 @@ "@testing-library/react-hooks": "^7.0.2", "@testing-library/user-event": "^13.5.0", "@web-stories-wp/e2e-tests": "*", + "@web-stories-wp/eslint-import-resolver": "*", "@web-stories-wp/jest-amp": "*", "@web-stories-wp/jest-parallel-sequencer": "*", + "@web-stories-wp/jest-resolver": "*", "@web-stories-wp/karma-failed-tests-reporter": "*", "@web-stories-wp/karma-puppeteer-client": "*", "@web-stories-wp/karma-puppeteer-launcher": "*", @@ -140,6 +152,13 @@ "react": "^17.0.2", "react-dom": "^17.0.2", "react-test-renderer": "^17.0.2", + "rollup": "^2.66.0", + "rollup-plugin-delete": "^2.0.0", + "rollup-plugin-filesize": "^9.1.2", + "rollup-plugin-import-css": "^3.0.2", + "rollup-plugin-license": "^2.6.1", + "rollup-plugin-terser": "^7.0.2", + "rollup-plugin-web-worker-loader": "^1.6.1", "rtlcss-webpack-plugin": "^4.0.6", "source-map-loader": "^1.1.3", "styled-components": "^5.3.3", @@ -156,9 +175,11 @@ "webpack-bundle-analyzer": "^4.5.0", "webpack-cli": "^4.9.2", "webpackbar": "^5.0.2", - "worker-loader": "^3.0.8" + "worker-loader": "^3.0.8", + "workspaces-run": "^1.0.1" }, "scripts": { + "bundle": "rollup -c", "build": "npm-run-all build:*", "prebuild:js": "rm -rf assets/css/* assets/js/*", "build:js": "NODE_ENV=production webpack --config webpack.config.cjs", @@ -233,7 +254,7 @@ "postworkflow:fonts": "npx prettier --write packages/fonts/src/fonts.json; cp packages/fonts/src/fonts.json includes/data/fonts/fonts.json", "workflow:render-text-sets": "npm run render-text-sets --workspace packages/text-sets", "workflow:render-template-posters": "npm run render-template-posters --workspace=packages/templates", - "preworkflow:migrate": "[ -f packages/migration/scripts/module.js ] || npx rollup --config packages/migration/rollup.config.migrate.js", + "preworkflow:migrate": "[ -f packages/migration/scripts/module.js ] || npx rollup --config packages/migration/rollup.config.js", "workflow:migrate": "npm-run-all --parallel workflow:migrate:*", "workflow:migrate:text-sets": "npm run migration --workspace packages/migration packages/text-sets/src/raw", "postworkflow:migrate:text-sets": "npx prettier --write packages/text-sets/src/raw", diff --git a/packages/activation-notice/package.json b/packages/activation-notice/package.json index db0fd10bba9f..d64ea1ead6ee 100644 --- a/packages/activation-notice/package.json +++ b/packages/activation-notice/package.json @@ -12,7 +12,11 @@ "wordpress" ], "homepage": "https://github.com/googleforcreators/web-stories-wp/", - "repository": "git+https://github.com/GoogleForCreators/web-stories-wp.git", + "repository": { + "type": "git", + "url": "https://github.com/GoogleForCreators/web-stories-wp.git", + "directory": "packages/activation-notice" + }, "bugs": { "url": "https://github.com/googleforcreators/web-stories-wp/issues" }, @@ -20,10 +24,6 @@ "node": ">= 16", "npm": ">= 7.3" }, - "type": "module", - "exports": { - "default": "./src/index.js" - }, "main": "./src/index.js", "dependencies": { "@googleforcreators/tracking": "*", diff --git a/packages/animation/.npmignore b/packages/animation/.npmignore index 5d622eed4898..85de9cf93344 100644 --- a/packages/animation/.npmignore +++ b/packages/animation/.npmignore @@ -1,3 +1 @@ -stories -storybookUtils -test +src diff --git a/packages/animation/package.json b/packages/animation/package.json index 8bdbea00689e..2cc9f9fada1e 100644 --- a/packages/animation/package.json +++ b/packages/animation/package.json @@ -14,7 +14,11 @@ "web animations" ], "homepage": "https://github.com/googleforcreators/web-stories-wp/", - "repository": "git+https://github.com/GoogleForCreators/web-stories-wp.git", + "repository": { + "type": "git", + "url": "https://github.com/GoogleForCreators/web-stories-wp.git", + "directory": "packages/animation" + }, "bugs": { "url": "https://github.com/googleforcreators/web-stories-wp/issues" }, @@ -22,11 +26,12 @@ "node": ">= 16", "npm": ">= 7.3" }, - "type": "module", - "exports": { - "default": "./src/index.js" + "main": "dist/index.js", + "module": "dist-module/index.js", + "source": "src/index.js", + "publishConfig": { + "access": "public" }, - "main": "./src/index.js", "dependencies": { "@googleforcreators/i18n": "*", "@googleforcreators/media": "*", diff --git a/packages/commander/package.json b/packages/commander/package.json index 45e78408af5b..92d8a646d5d1 100644 --- a/packages/commander/package.json +++ b/packages/commander/package.json @@ -13,7 +13,11 @@ "commander" ], "homepage": "https://github.com/googleforcreators/web-stories-wp/", - "repository": "git+https://github.com/GoogleForCreators/web-stories-wp.git", + "repository": { + "type": "git", + "url": "https://github.com/GoogleForCreators/web-stories-wp.git", + "directory": "packages/commander" + }, "bugs": { "url": "https://github.com/googleforcreators/web-stories-wp/issues" }, @@ -22,11 +26,11 @@ "npm": ">= 7.3" }, "type": "module", - "bin": { - "commander": "./src/index.js" - }, "dependencies": { "commander": "^9.0.0", "semver": "^7.3.5" + }, + "bin": { + "commander": "./src/index.js" } } diff --git a/packages/dashboard/.npmignore b/packages/dashboard/.npmignore index 3de897779c18..85de9cf93344 100644 --- a/packages/dashboard/.npmignore +++ b/packages/dashboard/.npmignore @@ -1,8 +1 @@ -dataUtils -fixture -karma -stories -storybookUtils -testUtils -test -src/karma-tests.cjs +src diff --git a/packages/dashboard/package.json b/packages/dashboard/package.json index b8912af85e93..0f4cd1ec7334 100644 --- a/packages/dashboard/package.json +++ b/packages/dashboard/package.json @@ -12,7 +12,11 @@ "web stories" ], "homepage": "https://github.com/googleforcreators/web-stories-wp/", - "repository": "git+https://github.com/GoogleForCreators/web-stories-wp.git", + "repository": { + "type": "git", + "url": "https://github.com/GoogleForCreators/web-stories-wp.git", + "directory": "packages/dashboard" + }, "bugs": { "url": "https://github.com/googleforcreators/web-stories-wp/issues" }, @@ -20,11 +24,12 @@ "node": ">= 16", "npm": ">= 7.3" }, - "type": "module", - "exports": { - "default": "./src/index.js" + "main": "dist/index.js", + "module": "dist-module/index.js", + "source": "src/index.js", + "publishConfig": { + "access": "public" }, - "main": "./src/index.js", "dependencies": { "@googleforcreators/animation": "*", "@googleforcreators/date": "*", diff --git a/packages/dashboard/src/app/api/useTemplateApi.js b/packages/dashboard/src/app/api/useTemplateApi.js index 8855119d7cfe..bd5b9a680c73 100644 --- a/packages/dashboard/src/app/api/useTemplateApi.js +++ b/packages/dashboard/src/app/api/useTemplateApi.js @@ -19,7 +19,7 @@ */ import { useCallback, useReducer } from '@googleforcreators/react'; import { compareDesc } from '@googleforcreators/date'; -import getAllTemplates from '@googleforcreators/templates'; +import { getAllTemplates } from '@googleforcreators/templates'; /** * Internal dependencies */ diff --git a/packages/dashboard/src/index.js b/packages/dashboard/src/index.js index 6a063dbeabff..5b08edfac6c3 100644 --- a/packages/dashboard/src/index.js +++ b/packages/dashboard/src/index.js @@ -14,11 +14,7 @@ * limitations under the License. */ -/** - * Internal dependencies - */ -import Dashboard from './dashboard'; - +export { default as Dashboard } from './dashboard'; export * from './app'; export * from './app/router'; export * from './constants'; @@ -27,5 +23,3 @@ export * from './app/views/shared'; export { GlobalStyle as DashboardGlobalStyle } from './theme'; export { default as DashboardKeyboardOnlyOutline } from './utils/keyboardOnlyOutline'; export { default as InterfaceSkeleton } from './components/interfaceSkeleton'; - -export default Dashboard; diff --git a/packages/date/.npmignore b/packages/date/.npmignore index 9daeafb9864c..85de9cf93344 100644 --- a/packages/date/.npmignore +++ b/packages/date/.npmignore @@ -1 +1 @@ -test +src diff --git a/packages/date/package.json b/packages/date/package.json index ad74651bea7e..f43f6f7f5dbb 100644 --- a/packages/date/package.json +++ b/packages/date/package.json @@ -13,7 +13,11 @@ "datetime" ], "homepage": "https://github.com/googleforcreators/web-stories-wp/", - "repository": "git+https://github.com/GoogleForCreators/web-stories-wp.git", + "repository": { + "type": "git", + "url": "https://github.com/GoogleForCreators/web-stories-wp.git", + "directory": "packages/date" + }, "bugs": { "url": "https://github.com/googleforcreators/web-stories-wp/issues" }, @@ -21,11 +25,12 @@ "node": ">= 16", "npm": ">= 7.3" }, - "type": "module", - "exports": { - "default": "./src/index.js" + "main": "dist/index.js", + "module": "dist-module/index.js", + "source": "src/index.js", + "publishConfig": { + "access": "public" }, - "main": "./src/index.js", "dependencies": { "@googleforcreators/i18n": "*", "date-fns": "^2.28.0", diff --git a/packages/design-system/.npmignore b/packages/design-system/.npmignore index d3e7fcb58e9e..85de9cf93344 100644 --- a/packages/design-system/.npmignore +++ b/packages/design-system/.npmignore @@ -1,4 +1 @@ -stories -storybookUtils -test -testUtils +src diff --git a/packages/design-system/package.json b/packages/design-system/package.json index b6e79a9c39c9..82af52656811 100644 --- a/packages/design-system/package.json +++ b/packages/design-system/package.json @@ -12,7 +12,11 @@ "web stories" ], "homepage": "https://github.com/googleforcreators/web-stories-wp/", - "repository": "git+https://github.com/GoogleForCreators/web-stories-wp.git", + "repository": { + "type": "git", + "url": "https://github.com/GoogleForCreators/web-stories-wp.git", + "directory": "packages/design-system" + }, "bugs": { "url": "https://github.com/googleforcreators/web-stories-wp/issues" }, @@ -20,11 +24,12 @@ "node": ">= 16", "npm": ">= 7.3" }, - "type": "module", - "exports": { - "default": "./src/index.js" + "main": "dist/index.js", + "module": "dist-module/index.js", + "source": "src/index.js", + "publishConfig": { + "access": "public" }, - "main": "./src/index.js", "sideEffects": false, "dependencies": { "@googleforcreators/i18n": "*", diff --git a/packages/e2e-test-utils/package.json b/packages/e2e-test-utils/package.json index 0872d401ff10..d83bdcb38345 100644 --- a/packages/e2e-test-utils/package.json +++ b/packages/e2e-test-utils/package.json @@ -11,7 +11,11 @@ "web stories" ], "homepage": "https://github.com/googleforcreators/web-stories-wp/", - "repository": "git+https://github.com/GoogleForCreators/web-stories-wp.git", + "repository": { + "type": "git", + "url": "https://github.com/GoogleForCreators/web-stories-wp.git", + "directory": "packages/e2e-test-utils" + }, "bugs": { "url": "https://github.com/googleforcreators/web-stories-wp/issues" }, @@ -20,9 +24,6 @@ "npm": ">= 7.3" }, "type": "module", - "exports": { - "default": "./src/index.js" - }, "main": "./src/index.js", "dependencies": { "@wordpress/e2e-test-utils": "^6.0.0", diff --git a/packages/e2e-tests/package.json b/packages/e2e-tests/package.json index 4cd9318fb78d..b59fb6e86fe7 100644 --- a/packages/e2e-tests/package.json +++ b/packages/e2e-tests/package.json @@ -12,7 +12,11 @@ "wordpress" ], "homepage": "https://github.com/googleforcreators/web-stories-wp/", - "repository": "git+https://github.com/GoogleForCreators/web-stories-wp.git", + "repository": { + "type": "git", + "url": "https://github.com/GoogleForCreators/web-stories-wp.git", + "directory": "packages/e2e-tests" + }, "bugs": { "url": "https://github.com/googleforcreators/web-stories-wp/issues" }, @@ -25,6 +29,7 @@ "@web-stories-wp/e2e-test-utils": "*", "@web-stories-wp/jest-parallel-sequencer": "*", "@web-stories-wp/jest-puppeteer-amp": "*", + "@web-stories-wp/jest-resolver": "*", "@wordpress/jest-console": "^4.1.1", "@wordpress/jest-puppeteer-axe": "^3.1.1", "babel-jest": "^27.4.6", diff --git a/packages/e2e-tests/src/jest.config.js b/packages/e2e-tests/src/jest.config.js index b8347642cff4..211563eae50d 100644 --- a/packages/e2e-tests/src/jest.config.js +++ b/packages/e2e-tests/src/jest.config.js @@ -29,6 +29,7 @@ process.env.WP_PASSWORD = WP_PASSWORD; process.env.WP_BASE_URL = WP_BASE_URL; export default { + resolver: '@web-stories-wp/jest-resolver', preset: 'jest-puppeteer', transform: { '^.+\\.[jt]sx?$': 'babel-jest', diff --git a/packages/eslint-import-resolver/README.md b/packages/eslint-import-resolver/README.md new file mode 100644 index 000000000000..6d27762f6c8a --- /dev/null +++ b/packages/eslint-import-resolver/README.md @@ -0,0 +1,21 @@ +# eslint-import-resolver + +Custom resolver for [eslint-plugin-import](https://www.npmjs.com/package/eslint-plugin-import) to resolve packages locally in a monorepo. + +Example usage: + +```json +{ + "settings": { + "import/resolver": { + "@web-stories-wp/eslint-import-resolver": { + "mapping": { + "^@foo\\/(.*)": "./packages/$1/src/", + } + } + } + } +} +``` + +With this config, a package named `@foo/bar` will be looked up in `packages/bar/src`. diff --git a/packages/eslint-import-resolver/package.json b/packages/eslint-import-resolver/package.json new file mode 100644 index 000000000000..7c7387142c46 --- /dev/null +++ b/packages/eslint-import-resolver/package.json @@ -0,0 +1,30 @@ +{ + "name": "@web-stories-wp/eslint-import-resolver", + "description": "Custom resolver for eslint-plugin-import for monorepos", + "private": true, + "author": { + "name": "Google", + "url": "https://creators.google/" + }, + "license": "Apache-2.0", + "keywords": [ + "jest" + ], + "homepage": "https://github.com/googleforcreators/web-stories-wp/", + "repository": { + "type": "git", + "url": "https://github.com/GoogleForCreators/web-stories-wp.git", + "directory": "packages/eslint-plugin-resolver" + }, + "bugs": { + "url": "https://github.com/googleforcreators/web-stories-wp/issues" + }, + "engines": { + "node": ">= 16", + "npm": ">= 7.3" + }, + "main": "./src/index.cjs", + "dependencies": { + "eslint-import-resolver-node": "^0.3.6" + } +} diff --git a/packages/eslint-import-resolver/src/index.cjs b/packages/eslint-import-resolver/src/index.cjs new file mode 100644 index 000000000000..b8e956dfdcde --- /dev/null +++ b/packages/eslint-import-resolver/src/index.cjs @@ -0,0 +1,45 @@ +/* + * Copyright 2022 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * External dependencies + */ +const path = require('path'); +const nodeResolver = require('eslint-import-resolver-node'); + +exports.interfaceVersion = 2; + +exports.resolve = function (source, file, config) { + if (!config.mapping) { + return nodeResolver.resolve(source, file, config); + } + + for (const [regex, dir] of Object.entries(config.mapping)) { + // eslint-disable-next-line security/detect-non-literal-regexp + const sourceLocation = source.replace(new RegExp(regex), dir); + const result = nodeResolver.resolve( + path.resolve(sourceLocation), + file, + config + ); + + if (result.found) { + return result; + } + } + + return nodeResolver.resolve(source, file, config); +}; diff --git a/packages/fonts/.npmignore b/packages/fonts/.npmignore index 9daeafb9864c..702f8b88d386 100644 --- a/packages/fonts/.npmignore +++ b/packages/fonts/.npmignore @@ -1 +1,2 @@ -test +scripts +src diff --git a/packages/fonts/package.json b/packages/fonts/package.json index 464e0dd0bff1..3dc72f5c2393 100644 --- a/packages/fonts/package.json +++ b/packages/fonts/package.json @@ -14,7 +14,11 @@ "google fonts" ], "homepage": "https://github.com/googleforcreators/web-stories-wp/", - "repository": "git+https://github.com/GoogleForCreators/web-stories-wp.git", + "repository": { + "type": "git", + "url": "https://github.com/GoogleForCreators/web-stories-wp.git", + "directory": "packages/fonts" + }, "bugs": { "url": "https://github.com/googleforcreators/web-stories-wp/issues" }, @@ -22,11 +26,12 @@ "node": ">= 16", "npm": ">= 7.3" }, - "type": "module", - "exports": { - "default": "./src/index.js" + "main": "dist/index.js", + "module": "dist-module/index.js", + "source": "src/index.js", + "publishConfig": { + "access": "public" }, - "main": "./src/index.js", "devDependencies": { "got": "^11.8.3", "opentype.js": "^1.3.4" diff --git a/packages/glider/package.json b/packages/glider/package.json index 386d1bfd1c03..1324db4e7138 100644 --- a/packages/glider/package.json +++ b/packages/glider/package.json @@ -11,7 +11,11 @@ "glider" ], "homepage": "https://github.com/googleforcreators/web-stories-wp/", - "repository": "git+https://github.com/GoogleForCreators/web-stories-wp.git", + "repository": { + "type": "git", + "url": "https://github.com/GoogleForCreators/web-stories-wp.git", + "directory": "packages/glider" + }, "bugs": { "url": "https://github.com/googleforcreators/web-stories-wp/issues" }, @@ -20,9 +24,6 @@ "npm": ">= 7.3" }, "type": "module", - "exports": { - "default": "./src/index.js" - }, "main": "./src/index.js", "dependencies": { "glider-js": "^1.7.3" diff --git a/packages/i18n/.npmignore b/packages/i18n/.npmignore index 9daeafb9864c..85de9cf93344 100644 --- a/packages/i18n/.npmignore +++ b/packages/i18n/.npmignore @@ -1 +1 @@ -test +src diff --git a/packages/i18n/package.json b/packages/i18n/package.json index 74cae98800fd..b17a2cf8094d 100644 --- a/packages/i18n/package.json +++ b/packages/i18n/package.json @@ -14,7 +14,11 @@ "gettext" ], "homepage": "https://github.com/googleforcreators/web-stories-wp/", - "repository": "git+https://github.com/GoogleForCreators/web-stories-wp.git", + "repository": { + "type": "git", + "url": "https://github.com/GoogleForCreators/web-stories-wp.git", + "directory": "packages/i18n" + }, "bugs": { "url": "https://github.com/googleforcreators/web-stories-wp/issues" }, @@ -22,11 +26,12 @@ "node": ">= 16", "npm": ">= 7.3" }, - "type": "module", - "exports": { - "default": "./src/index.js" + "main": "dist/index.js", + "module": "dist-module/index.js", + "source": "src/index.js", + "publishConfig": { + "access": "public" }, - "main": "./src/index.js", "sideEffects": false, "dependencies": { "@googleforcreators/react": "*", diff --git a/packages/imgareaselect/package.json b/packages/imgareaselect/package.json index 1ac0a3ee960b..5caefd226c34 100644 --- a/packages/imgareaselect/package.json +++ b/packages/imgareaselect/package.json @@ -11,7 +11,11 @@ "imgareaselect" ], "homepage": "https://github.com/googleforcreators/web-stories-wp/", - "repository": "git+https://github.com/GoogleForCreators/web-stories-wp.git", + "repository": { + "type": "git", + "url": "https://github.com/GoogleForCreators/web-stories-wp.git", + "directory": "packages/imgareaselect" + }, "bugs": { "url": "https://github.com/googleforcreators/web-stories-wp/issues" }, @@ -20,9 +24,6 @@ "npm": ">= 7.3" }, "type": "module", - "exports": { - "default": "./src/index.js" - }, "main": "./src/index.js", "dependencies": {}, "devDependencies": {} diff --git a/packages/jest-amp/package.json b/packages/jest-amp/package.json index 6364df434618..a9a8c77d9d8b 100644 --- a/packages/jest-amp/package.json +++ b/packages/jest-amp/package.json @@ -12,7 +12,11 @@ "amp" ], "homepage": "https://github.com/googleforcreators/web-stories-wp/", - "repository": "git+https://github.com/GoogleForCreators/web-stories-wp.git", + "repository": { + "type": "git", + "url": "https://github.com/GoogleForCreators/web-stories-wp.git", + "directory": "packages/jest-amp" + }, "bugs": { "url": "https://github.com/googleforcreators/web-stories-wp/issues" }, @@ -20,10 +24,6 @@ "node": ">= 16", "npm": ">= 7.3" }, - "type": "module", - "exports": { - "default": "./src/index.js" - }, "main": "./src/index.js", "dependencies": { "@ampproject/toolbox-optimizer": "^2.8.7", diff --git a/packages/jest-parallel-sequencer/package.json b/packages/jest-parallel-sequencer/package.json index 70cd833845f0..ea55360be2c3 100644 --- a/packages/jest-parallel-sequencer/package.json +++ b/packages/jest-parallel-sequencer/package.json @@ -11,7 +11,11 @@ "jest" ], "homepage": "https://github.com/googleforcreators/web-stories-wp/", - "repository": "git+https://github.com/GoogleForCreators/web-stories-wp.git", + "repository": { + "type": "git", + "url": "https://github.com/GoogleForCreators/web-stories-wp.git", + "directory": "packages/jest-parallel-sequencer" + }, "bugs": { "url": "https://github.com/googleforcreators/web-stories-wp/issues" }, @@ -20,9 +24,6 @@ "npm": ">= 7.3" }, "type": "module", - "exports": { - "default": "./src/index.js" - }, "main": "./src/index.js", "dependencies": { "@jest/test-sequencer": "^27.4.6" diff --git a/packages/jest-puppeteer-amp/package.json b/packages/jest-puppeteer-amp/package.json index 68e836cab2a4..cf44dd5bbd2f 100644 --- a/packages/jest-puppeteer-amp/package.json +++ b/packages/jest-puppeteer-amp/package.json @@ -13,7 +13,11 @@ "puppeteer" ], "homepage": "https://github.com/googleforcreators/web-stories-wp/", - "repository": "git+https://github.com/GoogleForCreators/web-stories-wp.git", + "repository": { + "type": "git", + "url": "https://github.com/GoogleForCreators/web-stories-wp.git", + "directory": "packages/jest-puppeteer-amp" + }, "bugs": { "url": "https://github.com/googleforcreators/web-stories-wp/issues" }, @@ -22,9 +26,6 @@ "npm": ">= 7.3" }, "type": "module", - "exports": { - "default": "./src/index.js" - }, "main": "./src/index.js", "dependencies": { "@web-stories-wp/jest-amp": "*" diff --git a/packages/jest-resolver/README.md b/packages/jest-resolver/README.md new file mode 100644 index 000000000000..e4a14f237139 --- /dev/null +++ b/packages/jest-resolver/README.md @@ -0,0 +1,5 @@ +# jest-resolver + +Custom [Jest resolver](https://jestjs.io/docs/configuration#resolver-string) to resolve packages locally in a monorepo. + +Makes sure that Jest looks for files in the `src` directory, not in the `dist` or `dist-module` directories. diff --git a/packages/jest-resolver/package.json b/packages/jest-resolver/package.json new file mode 100644 index 000000000000..45368dc2b9dd --- /dev/null +++ b/packages/jest-resolver/package.json @@ -0,0 +1,29 @@ +{ + "name": "@web-stories-wp/jest-resolver", + "description": "Custom Jest resolver for monorepos", + "private": true, + "author": { + "name": "Google", + "url": "https://creators.google/" + }, + "license": "Apache-2.0", + "keywords": [ + "jest" + ], + "homepage": "https://github.com/googleforcreators/web-stories-wp/", + "repository": { + "type": "git", + "url": "https://github.com/GoogleForCreators/web-stories-wp.git", + "directory": "packages/jest-resolver" + }, + "bugs": { + "url": "https://github.com/googleforcreators/web-stories-wp/issues" + }, + "engines": { + "node": ">= 16", + "npm": ">= 7.3" + }, + "main": "./src/index.cjs", + "dependencies": { + } +} diff --git a/packages/jest-resolver/src/index.cjs b/packages/jest-resolver/src/index.cjs new file mode 100644 index 000000000000..1ab01a18d9ef --- /dev/null +++ b/packages/jest-resolver/src/index.cjs @@ -0,0 +1,41 @@ +/* + * Copyright 2022 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +const isLocalRepo = (name) => + name.startsWith('@googleforcreators/') || name.startsWith('@web-stories-wp/'); + +// See https://jestjs.io/docs/configuration#resolver-string +module.exports = (request, options) => { + if (!isLocalRepo(request)) { + return options.defaultResolver(request, options); + } + + // Call the defaultResolver, so we leverage its cache, error handling, etc. + return options.defaultResolver(request, { + ...options, + packageFilter: (pkg) => { + if (isLocalRepo(pkg.name)) { + return { + ...pkg, + // Alter the value of `main` before resolving the package + main: pkg.source || pkg.module || pkg.main, + }; + } + + return pkg; + }, + }); +}; diff --git a/packages/karma-failed-tests-reporter/package.json b/packages/karma-failed-tests-reporter/package.json index 59a4569d2190..b747c83edc2e 100644 --- a/packages/karma-failed-tests-reporter/package.json +++ b/packages/karma-failed-tests-reporter/package.json @@ -11,7 +11,11 @@ "karma" ], "homepage": "https://github.com/googleforcreators/web-stories-wp/", - "repository": "git+https://github.com/GoogleForCreators/web-stories-wp.git", + "repository": { + "type": "git", + "url": "https://github.com/GoogleForCreators/web-stories-wp.git", + "directory": "packages/karma-failed-tests-reporter" + }, "bugs": { "url": "https://github.com/googleforcreators/web-stories-wp/issues" }, diff --git a/packages/karma-fixture/package.json b/packages/karma-fixture/package.json index 7e4a86465b65..831cacc31fe6 100644 --- a/packages/karma-fixture/package.json +++ b/packages/karma-fixture/package.json @@ -11,7 +11,11 @@ "karma" ], "homepage": "https://github.com/googleforcreators/web-stories-wp/", - "repository": "git+https://github.com/GoogleForCreators/web-stories-wp.git", + "repository": { + "type": "git", + "url": "https://github.com/GoogleForCreators/web-stories-wp.git", + "directory": "packages/karrma-fixture" + }, "bugs": { "url": "https://github.com/googleforcreators/web-stories-wp/issues" }, @@ -19,7 +23,6 @@ "node": ">= 16", "npm": ">= 7.3" }, - "type": "module", "main": "./src/index.js", "dependencies": { "@googleforcreators/react": "*" diff --git a/packages/karma-puppeteer-client/package.json b/packages/karma-puppeteer-client/package.json index c0e703d72bd2..8c221a4f4f4e 100644 --- a/packages/karma-puppeteer-client/package.json +++ b/packages/karma-puppeteer-client/package.json @@ -12,7 +12,11 @@ "puppeteer" ], "homepage": "https://github.com/googleforcreators/web-stories-wp/", - "repository": "git+https://github.com/GoogleForCreators/web-stories-wp.git", + "repository": { + "type": "git", + "url": "https://github.com/GoogleForCreators/web-stories-wp.git", + "directory": "packages/activation-notice" + }, "bugs": { "url": "https://github.com/googleforcreators/web-stories-wp/issues" }, diff --git a/packages/karma-puppeteer-launcher/package.json b/packages/karma-puppeteer-launcher/package.json index f8bf6589bf36..6c5d497aff08 100644 --- a/packages/karma-puppeteer-launcher/package.json +++ b/packages/karma-puppeteer-launcher/package.json @@ -12,7 +12,11 @@ "puppeteer" ], "homepage": "https://github.com/googleforcreators/web-stories-wp/", - "repository": "git+https://github.com/GoogleForCreators/web-stories-wp.git", + "repository": { + "type": "git", + "url": "https://github.com/GoogleForCreators/web-stories-wp.git", + "directory": "packages/karma-puppeteer-launcher" + }, "bugs": { "url": "https://github.com/googleforcreators/web-stories-wp/issues" }, diff --git a/packages/media/.npmignore b/packages/media/.npmignore index 3417b91c8efa..85de9cf93344 100644 --- a/packages/media/.npmignore +++ b/packages/media/.npmignore @@ -1,2 +1 @@ -test -testUtils +src diff --git a/packages/media/package.json b/packages/media/package.json index 67c07e2ee6aa..1274ddd49401 100644 --- a/packages/media/package.json +++ b/packages/media/package.json @@ -12,7 +12,11 @@ "web stories" ], "homepage": "https://github.com/googleforcreators/web-stories-wp/", - "repository": "git+https://github.com/GoogleForCreators/web-stories-wp.git", + "repository": { + "type": "git", + "url": "https://github.com/GoogleForCreators/web-stories-wp.git", + "directory": "packages/media" + }, "bugs": { "url": "https://github.com/googleforcreators/web-stories-wp/issues" }, @@ -20,11 +24,12 @@ "node": ">= 16", "npm": ">= 7.3" }, - "type": "module", - "exports": { - "default": "./src/index.js" + "main": "dist/index.js", + "module": "dist-module/index.js", + "source": "src/index.js", + "publishConfig": { + "access": "public" }, - "main": "./src/index.js", "sideEffects": false, "dependencies": { "@googleforcreators/react": "*", diff --git a/packages/migration/.npmignore b/packages/migration/.npmignore index 84a659bdf5d1..702f8b88d386 100644 --- a/packages/migration/.npmignore +++ b/packages/migration/.npmignore @@ -1,3 +1,2 @@ scripts -test -rollup.config.migrate.js +src diff --git a/packages/migration/README.md b/packages/migration/README.md index 4cf1bc57554d..29378533e554 100644 --- a/packages/migration/README.md +++ b/packages/migration/README.md @@ -22,7 +22,7 @@ To ensure the migrations can be run via Node.js on CI, [Rollup](https://rollupjs Usage: ```bash -$ npx rollup --config rollup.config.migrate.js +$ npx rollup --config rollup.config.js index.js → module.js... created module.js in 123ms ``` diff --git a/packages/migration/package.json b/packages/migration/package.json index d3539ac72409..51e7e5687fb9 100644 --- a/packages/migration/package.json +++ b/packages/migration/package.json @@ -12,7 +12,11 @@ "web stories" ], "homepage": "https://github.com/googleforcreators/web-stories-wp/", - "repository": "git+https://github.com/GoogleForCreators/web-stories-wp.git", + "repository": { + "type": "git", + "url": "https://github.com/GoogleForCreators/web-stories-wp.git", + "directory": "packages/migration" + }, "bugs": { "url": "https://github.com/googleforcreators/web-stories-wp/issues" }, @@ -21,10 +25,12 @@ "npm": ">= 7.3" }, "type": "module", - "exports": { - "default": "./src/index.js" + "main": "dist/index.js", + "module": "dist-module/index.js", + "source": "src/index.js", + "publishConfig": { + "access": "public" }, - "main": "./src/index.js", "dependencies": { "polished": "^4.1.4", "uuid": "^8.3.2" diff --git a/packages/migration/rollup.config.migrate.js b/packages/migration/rollup.config.js similarity index 85% rename from packages/migration/rollup.config.migrate.js rename to packages/migration/rollup.config.js index 97282b6939fe..2bbe24267bee 100644 --- a/packages/migration/rollup.config.migrate.js +++ b/packages/migration/rollup.config.js @@ -14,14 +14,15 @@ * limitations under the License. */ -/* global __dirname */ - /** * External dependencies */ -import { resolve as resolvePath } from 'path'; +import { dirname, resolve as resolvePath } from 'path'; +import { fileURLToPath } from 'url'; import resolve from '@rollup/plugin-node-resolve'; +const __dirname = fileURLToPath(dirname(import.meta.url)); + export default { input: resolvePath(__dirname, 'src/index.js'), output: { diff --git a/packages/patterns/.npmignore b/packages/patterns/.npmignore index 9daeafb9864c..85de9cf93344 100644 --- a/packages/patterns/.npmignore +++ b/packages/patterns/.npmignore @@ -1 +1 @@ -test +src diff --git a/packages/patterns/package.json b/packages/patterns/package.json index a3de4bcafc68..cd491ad310d4 100644 --- a/packages/patterns/package.json +++ b/packages/patterns/package.json @@ -12,7 +12,11 @@ "web stories" ], "homepage": "https://github.com/googleforcreators/web-stories-wp/", - "repository": "git+https://github.com/GoogleForCreators/web-stories-wp.git", + "repository": { + "type": "git", + "url": "https://github.com/GoogleForCreators/web-stories-wp.git", + "directory": "packages/patterns" + }, "bugs": { "url": "https://github.com/googleforcreators/web-stories-wp/issues" }, @@ -20,11 +24,12 @@ "node": ">= 16", "npm": ">= 7.3" }, - "type": "module", - "exports": { - "default": "./src/index.js" + "main": "dist/index.js", + "module": "dist-module/index.js", + "source": "src/index.js", + "publishConfig": { + "access": "public" }, - "main": "./src/index.js", "sideEffects": false, "dependencies": { "@googleforcreators/i18n": "*", diff --git a/packages/react/.npmignore b/packages/react/.npmignore index 9daeafb9864c..85de9cf93344 100644 --- a/packages/react/.npmignore +++ b/packages/react/.npmignore @@ -1 +1 @@ -test +src diff --git a/packages/react/package.json b/packages/react/package.json index 8724a27f00bf..88d6297a641c 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -12,7 +12,11 @@ "web stories" ], "homepage": "https://github.com/googleforcreators/web-stories-wp/", - "repository": "git+https://github.com/GoogleForCreators/web-stories-wp.git", + "repository": { + "type": "git", + "url": "https://github.com/GoogleForCreators/web-stories-wp.git", + "directory": "packages/react" + }, "bugs": { "url": "https://github.com/googleforcreators/web-stories-wp/issues" }, @@ -20,11 +24,12 @@ "node": ">= 16", "npm": ">= 7.3" }, - "type": "module", - "exports": { - "default": "./src/index.js" + "main": "dist/index.js", + "module": "dist-module/index.js", + "source": "src/index.js", + "publishConfig": { + "access": "public" }, - "main": "./src/index.js", "dependencies": { "prop-types": "^15.8.1", "resize-observer-polyfill": "^1.5.1", diff --git a/packages/stickers/.npmignore b/packages/stickers/.npmignore index 9daeafb9864c..85de9cf93344 100644 --- a/packages/stickers/.npmignore +++ b/packages/stickers/.npmignore @@ -1 +1 @@ -test +src diff --git a/packages/stickers/package.json b/packages/stickers/package.json index f45a29a03f79..2e7af384ba49 100644 --- a/packages/stickers/package.json +++ b/packages/stickers/package.json @@ -12,7 +12,11 @@ "web stories" ], "homepage": "https://github.com/googleforcreators/web-stories-wp/", - "repository": "git+https://github.com/GoogleForCreators/web-stories-wp.git", + "repository": { + "type": "git", + "url": "https://github.com/GoogleForCreators/web-stories-wp.git", + "directory": "packages/stickers" + }, "bugs": { "url": "https://github.com/googleforcreators/web-stories-wp/issues" }, @@ -20,11 +24,12 @@ "node": ">= 16", "npm": ">= 7.3" }, - "type": "module", - "exports": { - "default": "./src/index.js" + "main": "dist/index.js", + "module": "dist-module/index.js", + "source": "src/index.js", + "publishConfig": { + "access": "public" }, - "main": "./src/index.js", "dependencies": { "@googleforcreators/i18n": "*", "@googleforcreators/react": "*", diff --git a/packages/stories-block/package.json b/packages/stories-block/package.json index e16a1b7c8bd4..861949ebf9f4 100644 --- a/packages/stories-block/package.json +++ b/packages/stories-block/package.json @@ -11,7 +11,11 @@ "web stories" ], "homepage": "https://github.com/googleforcreators/web-stories-wp/", - "repository": "git+https://github.com/GoogleForCreators/web-stories-wp.git", + "repository": { + "type": "git", + "url": "https://github.com/GoogleForCreators/web-stories-wp.git", + "directory": "packages/stories-block" + }, "bugs": { "url": "https://github.com/googleforcreators/web-stories-wp/issues" }, @@ -20,9 +24,6 @@ "npm": ">= 7.3" }, "type": "module", - "exports": { - "default": "./src/index.js" - }, "main": "./src/index.js", "sideEffects": [ "./src/index.js", diff --git a/packages/stories-carousel/package.json b/packages/stories-carousel/package.json index 1012f43d7560..58060082052b 100644 --- a/packages/stories-carousel/package.json +++ b/packages/stories-carousel/package.json @@ -11,7 +11,11 @@ "web stories" ], "homepage": "https://github.com/googleforcreators/web-stories-wp/", - "repository": "git+https://github.com/GoogleForCreators/web-stories-wp.git", + "repository": { + "type": "git", + "url": "https://github.com/GoogleForCreators/web-stories-wp.git", + "directory": "packages/stories-carousel" + }, "bugs": { "url": "https://github.com/googleforcreators/web-stories-wp/issues" }, @@ -20,9 +24,6 @@ "npm": ">= 7.3" }, "type": "module", - "exports": { - "default": "./src/index.js" - }, "main": "./src/index.js", "dependencies": { "@web-stories-wp/glider": "*", diff --git a/packages/stories-lightbox/package.json b/packages/stories-lightbox/package.json index e265d5aa3ec5..66bb2642b355 100644 --- a/packages/stories-lightbox/package.json +++ b/packages/stories-lightbox/package.json @@ -11,7 +11,11 @@ "web stories" ], "homepage": "https://github.com/googleforcreators/web-stories-wp/", - "repository": "git+https://github.com/GoogleForCreators/web-stories-wp.git", + "repository": { + "type": "git", + "url": "https://github.com/GoogleForCreators/web-stories-wp.git", + "directory": "packages/stories-lightbox" + }, "bugs": { "url": "https://github.com/googleforcreators/web-stories-wp/issues" }, @@ -20,9 +24,6 @@ "npm": ">= 7.3" }, "type": "module", - "exports": { - "default": "./src/index.js" - }, "main": "./src/index.js", "dependencies": { "@wordpress/dom-ready": "^3.2.1" diff --git a/packages/story-editor/.npmignore b/packages/story-editor/.npmignore index 36297ab09f29..85de9cf93344 100644 --- a/packages/story-editor/.npmignore +++ b/packages/story-editor/.npmignore @@ -1,7 +1 @@ -dataUtils -fixture -karma -stories -testUtils -test -src/karma-tests.cjs +src diff --git a/packages/story-editor/package.json b/packages/story-editor/package.json index 9923fda74c0b..708b8bcc967a 100644 --- a/packages/story-editor/package.json +++ b/packages/story-editor/package.json @@ -12,7 +12,11 @@ "web stories" ], "homepage": "https://github.com/googleforcreators/web-stories-wp/", - "repository": "git+https://github.com/GoogleForCreators/web-stories-wp.git", + "repository": { + "type": "git", + "url": "https://github.com/GoogleForCreators/web-stories-wp.git", + "directory": "packages/story-editor" + }, "bugs": { "url": "https://github.com/googleforcreators/web-stories-wp/issues" }, @@ -20,11 +24,12 @@ "node": ">= 16", "npm": ">= 7.3" }, - "type": "module", - "exports": { - "default": "./src/index.js" + "main": "dist/index.js", + "module": "dist-module/index.js", + "source": "src/index.js", + "publishConfig": { + "access": "public" }, - "main": "./src/index.js", "dependencies": { "@ap.cx/hues": "^2.4.0", "@ffmpeg/ffmpeg": "^0.10.1", diff --git a/packages/story-editor/src/app/api/apiProvider.js b/packages/story-editor/src/app/api/apiProvider.js index 88e5374d2d76..b49ee5df6a44 100644 --- a/packages/story-editor/src/app/api/apiProvider.js +++ b/packages/story-editor/src/app/api/apiProvider.js @@ -19,7 +19,7 @@ */ import PropTypes from 'prop-types'; import { useCallback, useRef } from '@googleforcreators/react'; -import getAllTemplates from '@googleforcreators/templates'; +import { getAllTemplates } from '@googleforcreators/templates'; /** * Internal dependencies diff --git a/packages/story-editor/src/app/api/test/apiProvider.js b/packages/story-editor/src/app/api/test/apiProvider.js index eea5d5b8f163..a51afaee21d9 100644 --- a/packages/story-editor/src/app/api/test/apiProvider.js +++ b/packages/story-editor/src/app/api/test/apiProvider.js @@ -17,7 +17,7 @@ * External dependencies */ import { act, renderHook } from '@testing-library/react-hooks'; -import getAllTemplatesMock from '@googleforcreators/templates'; +import { getAllTemplates } from '@googleforcreators/templates'; /** * Internal dependencies @@ -45,7 +45,7 @@ describe('APIProvider', () => { it('getPageTemplates gets pageTemplates with cdnURL', async () => { const pageTemplates = [{ id: 'templateid' }]; - getAllTemplatesMock.mockReturnValue(pageTemplates); + getAllTemplates.mockReturnValue(pageTemplates); const cdnURL = 'https://test.url'; const { result } = renderApiProvider({ @@ -66,7 +66,7 @@ describe('APIProvider', () => { it('getPageTemplates should memoize the templates if they have already been fetched', async () => { const pageTemplates = [{ id: 'templateid' }]; - getAllTemplatesMock.mockReturnValue(pageTemplates); + getAllTemplates.mockReturnValue(pageTemplates); const cdnURL = 'https://test.url'; const { result } = renderApiProvider({ @@ -82,14 +82,14 @@ describe('APIProvider', () => { pageTemplatesResult = await result.current.actions.getPageTemplates(); }); - expect(getAllTemplatesMock).toHaveBeenCalledTimes(1); + expect(getAllTemplates).toHaveBeenCalledTimes(1); expect(pageTemplatesResult).toStrictEqual(pageTemplates); await act(async () => { pageTemplatesResult = await result.current.actions.getPageTemplates(); }); - expect(getAllTemplatesMock).toHaveBeenCalledTimes(1); + expect(getAllTemplates).toHaveBeenCalledTimes(1); expect(pageTemplatesResult).toStrictEqual(pageTemplates); }); }); diff --git a/packages/story-editor/src/elements/text/display.js b/packages/story-editor/src/elements/text/display.js index 7b06472455e4..f1745e859ef3 100644 --- a/packages/story-editor/src/elements/text/display.js +++ b/packages/story-editor/src/elements/text/display.js @@ -22,10 +22,11 @@ import { useEffect, useRef, useMemo } from '@googleforcreators/react'; import PropTypes from 'prop-types'; import { createSolid } from '@googleforcreators/patterns'; import { useUnits } from '@googleforcreators/units'; + /** * Internal dependencies */ -import { useFont } from '../../app'; +import { useFont } from '../../app/font'; import { elementFillContent, elementWithFont, diff --git a/packages/story-editor/src/elements/text/edit.js b/packages/story-editor/src/elements/text/edit.js index 17ec4fd8a494..445a50fc531b 100644 --- a/packages/story-editor/src/elements/text/edit.js +++ b/packages/story-editor/src/elements/text/edit.js @@ -33,7 +33,9 @@ import { useUnits } from '@googleforcreators/units'; /** * Internal dependencies */ -import { useStory, useFont, useTransform } from '../../app'; +import { useStory } from '../../app/story'; +import { useFont } from '../../app/font'; +import { useTransform, useTransformHandler } from '../../components/transform'; import RichTextEditor from '../../components/richText/editor'; import { getHTMLInfo } from '../../components/richText/htmlManipulation'; import { @@ -49,7 +51,6 @@ import { BACKGROUND_TEXT_MODE } from '../../constants'; import stripHTML from '../../utils/stripHTML'; import calcRotatedResizeOffset from '../../utils/calcRotatedResizeOffset'; import useRichText from '../../components/richText/useRichText'; -import { useTransformHandler } from '../../components/transform'; import { getBorderPositionCSS, shouldDisplayBorder, diff --git a/packages/story-editor/src/elements/text/frame.js b/packages/story-editor/src/elements/text/frame.js index 2be0f48380f2..588fb25153a2 100644 --- a/packages/story-editor/src/elements/text/frame.js +++ b/packages/story-editor/src/elements/text/frame.js @@ -26,7 +26,8 @@ import { useUnits } from '@googleforcreators/units'; * Internal dependencies */ import getCaretCharacterOffsetWithin from '../../utils/getCaretCharacterOffsetWithin'; -import { useStory, useCanvas } from '../../app'; +import { useStory } from '../../app/story'; +import { useCanvas } from '../../app/canvas'; import { elementFillContent, elementWithFont, diff --git a/packages/story-editor/src/index.js b/packages/story-editor/src/index.js index c738bfdd61f1..ea8e5b2de441 100644 --- a/packages/story-editor/src/index.js +++ b/packages/story-editor/src/index.js @@ -17,9 +17,10 @@ /** * Internal dependencies */ -import StoryEditor from './storyEditor'; import Dialog from './components/dialog'; +export { default as StoryEditor } from './storyEditor'; + export * from './components/transform'; export * from './components/previewPage'; export * from './app/config'; @@ -57,4 +58,3 @@ export { export { ConfigProvider as EditorConfigProvider } from './app/config'; export { Dialog }; -export default StoryEditor; diff --git a/packages/story-editor/src/utils/generateBlurhash.worker.js b/packages/story-editor/src/utils/generateBlurhash.worker.js index 6cd7afe6aae3..c7dcc20595fe 100644 --- a/packages/story-editor/src/utils/generateBlurhash.worker.js +++ b/packages/story-editor/src/utils/generateBlurhash.worker.js @@ -18,7 +18,7 @@ */ import { encode } from 'blurhash'; -self.onmessage = function (event) { +const callback = function (event) { const { image, width, height, componentX, componentY } = event.data; try { @@ -34,3 +34,8 @@ self.onmessage = function (event) { }); } }; + +self.onmessage = callback; + +// Only needed for Rollup, not webpack v4. +export default { callback }; diff --git a/packages/story-editor/src/utils/getBlurHashFromImage.js b/packages/story-editor/src/utils/getBlurHashFromImage.js index 127b17a2d8e3..a6872cd5dbf4 100644 --- a/packages/story-editor/src/utils/getBlurHashFromImage.js +++ b/packages/story-editor/src/utils/getBlurHashFromImage.js @@ -22,7 +22,6 @@ import { getTimeTracker, trackError } from '@googleforcreators/tracking'; /** * Internal dependencies */ -// eslint-disable-next-line import/default import Worker from './generateBlurhash.worker'; const getImageData = (image) => { diff --git a/packages/templates/.npmignore b/packages/templates/.npmignore index 9daeafb9864c..702f8b88d386 100644 --- a/packages/templates/.npmignore +++ b/packages/templates/.npmignore @@ -1 +1,2 @@ -test +scripts +src diff --git a/packages/templates/package.json b/packages/templates/package.json index 0e929d3ad1de..d3c94c9697e5 100644 --- a/packages/templates/package.json +++ b/packages/templates/package.json @@ -12,7 +12,11 @@ "web stories" ], "homepage": "https://github.com/googleforcreators/web-stories-wp/", - "repository": "git+https://github.com/GoogleForCreators/web-stories-wp.git", + "repository": { + "type": "git", + "url": "https://github.com/GoogleForCreators/web-stories-wp.git", + "directory": "packages/templates" + }, "bugs": { "url": "https://github.com/googleforcreators/web-stories-wp/issues" }, @@ -20,11 +24,12 @@ "node": ">= 16", "npm": ">= 7.3" }, - "type": "module", - "exports": { - "default": "./src/index.js" + "main": "dist/index.js", + "module": "dist-module/index.js", + "source": "src/index.js", + "publishConfig": { + "access": "public" }, - "main": "./src/index.js", "dependencies": { "@googleforcreators/i18n": "*", "@googleforcreators/migration": "*", diff --git a/packages/templates/src/getMetaData.js b/packages/templates/src/getMetaData.js index dcaa11e41622..98273670e4dd 100644 --- a/packages/templates/src/getMetaData.js +++ b/packages/templates/src/getMetaData.js @@ -22,7 +22,7 @@ export function getTemplateMetaData() { return Promise.all( TEMPLATE_NAMES.map((title) => import( - /* webpackChunkName: "chunk-web-stories-template-[index]-metaData" */ `./raw/${title}/metaData` + /* webpackChunkName: "chunk-web-stories-template-[index]-metaData" */ `./raw/${title}/metaData.js` ).then((data) => data.default) ) ); diff --git a/packages/templates/src/getTemplates.js b/packages/templates/src/getTemplates.js index 6bf68dbfaee7..e2e9b5b23b98 100644 --- a/packages/templates/src/getTemplates.js +++ b/packages/templates/src/getTemplates.js @@ -27,7 +27,7 @@ import { TEMPLATE_NAMES } from './constants'; async function loadTemplate(title, imageBaseUrl) { const data = await import( - /* webpackChunkName: "chunk-web-stories-template-[index]" */ `./raw/${title}` + /* webpackChunkName: "chunk-web-stories-template-[index]" */ `./raw/${title}/index.js` ); const template = { diff --git a/packages/templates/src/index.js b/packages/templates/src/index.js index 4aed9946f4be..4d3c6f26e660 100644 --- a/packages/templates/src/index.js +++ b/packages/templates/src/index.js @@ -22,7 +22,7 @@ import getTemplates from './getTemplates'; const memoizedGetTemplates = memoize(getTemplates); -export default async function ({ cdnURL }) { +export async function getAllTemplates({ cdnURL }) { const templates = await memoizedGetTemplates(cdnURL); const globalConfig = { diff --git a/packages/text-sets/.npmignore b/packages/text-sets/.npmignore index 9daeafb9864c..702f8b88d386 100644 --- a/packages/text-sets/.npmignore +++ b/packages/text-sets/.npmignore @@ -1 +1,2 @@ -test +scripts +src diff --git a/packages/text-sets/package.json b/packages/text-sets/package.json index 3800b62305f0..74fced0adcd1 100644 --- a/packages/text-sets/package.json +++ b/packages/text-sets/package.json @@ -12,7 +12,11 @@ "web stories" ], "homepage": "https://github.com/googleforcreators/web-stories-wp/", - "repository": "git+https://github.com/GoogleForCreators/web-stories-wp.git", + "repository": { + "type": "git", + "url": "https://github.com/GoogleForCreators/web-stories-wp.git", + "directory": "packages/text-sets" + }, "bugs": { "url": "https://github.com/googleforcreators/web-stories-wp/issues" }, @@ -20,11 +24,12 @@ "node": ">= 16", "npm": ">= 7.3" }, - "type": "module", - "exports": { - "default": "./src/index.js" + "main": "dist/index.js", + "module": "dist-module/index.js", + "source": "src/index.js", + "publishConfig": { + "access": "public" }, - "main": "./src/index.js", "dependencies": { "@googleforcreators/migration": "*" }, diff --git a/packages/tinymce-button/package.json b/packages/tinymce-button/package.json index dc071527461c..afd173c5b111 100644 --- a/packages/tinymce-button/package.json +++ b/packages/tinymce-button/package.json @@ -11,7 +11,11 @@ "web stories" ], "homepage": "https://github.com/googleforcreators/web-stories-wp/", - "repository": "git+https://github.com/GoogleForCreators/web-stories-wp.git", + "repository": { + "type": "git", + "url": "https://github.com/GoogleForCreators/web-stories-wp.git", + "directory": "packages/tinymce-button" + }, "bugs": { "url": "https://github.com/googleforcreators/web-stories-wp/issues" }, @@ -19,10 +23,6 @@ "node": ">= 16", "npm": ">= 7.3" }, - "type": "module", - "exports": { - "default": "./src/index.js" - }, "main": "./src/index.js", "dependencies": { "@wordpress/components": "^19.2.0", diff --git a/packages/tracking/.npmignore b/packages/tracking/.npmignore index 9daeafb9864c..85de9cf93344 100644 --- a/packages/tracking/.npmignore +++ b/packages/tracking/.npmignore @@ -1 +1 @@ -test +src diff --git a/packages/tracking/package.json b/packages/tracking/package.json index 94f316e419af..133e5cb7c8f2 100644 --- a/packages/tracking/package.json +++ b/packages/tracking/package.json @@ -15,7 +15,11 @@ "telemetry" ], "homepage": "https://github.com/googleforcreators/web-stories-wp/", - "repository": "git+https://github.com/GoogleForCreators/web-stories-wp.git", + "repository": { + "type": "git", + "url": "https://github.com/GoogleForCreators/web-stories-wp.git", + "directory": "packages/tracking" + }, "bugs": { "url": "https://github.com/googleforcreators/web-stories-wp/issues" }, @@ -23,11 +27,12 @@ "node": ">= 16", "npm": ">= 7.3" }, - "type": "module", - "exports": { - "default": "./src/index.js" + "main": "dist/index.js", + "module": "dist-module/index.js", + "source": "src/index.js", + "publishConfig": { + "access": "public" }, - "main": "./src/index.js", "dependencies": {}, "devDependencies": {} } diff --git a/packages/units/.npmignore b/packages/units/.npmignore index 9daeafb9864c..85de9cf93344 100644 --- a/packages/units/.npmignore +++ b/packages/units/.npmignore @@ -1 +1 @@ -test +src diff --git a/packages/units/package.json b/packages/units/package.json index 8da139295bfc..fa2b53b6b368 100644 --- a/packages/units/package.json +++ b/packages/units/package.json @@ -12,7 +12,11 @@ "web stories" ], "homepage": "https://github.com/googleforcreators/web-stories-wp/", - "repository": "git+https://github.com/GoogleForCreators/web-stories-wp.git", + "repository": { + "type": "git", + "url": "https://github.com/GoogleForCreators/web-stories-wp.git", + "directory": "packages/units" + }, "bugs": { "url": "https://github.com/googleforcreators/web-stories-wp/issues" }, @@ -20,11 +24,12 @@ "node": ">= 16", "npm": ">= 7.3" }, - "type": "module", - "exports": { - "default": "./src/index.js" + "main": "dist/index.js", + "module": "dist-module/index.js", + "source": "src/index.js", + "publishConfig": { + "access": "public" }, - "main": "./src/index.js", "sideEffects": false, "dependencies": { "@googleforcreators/react": "*", diff --git a/packages/widget/package.json b/packages/widget/package.json index 1669a74cc6cc..6cf4858fb845 100644 --- a/packages/widget/package.json +++ b/packages/widget/package.json @@ -12,7 +12,11 @@ "wordpress" ], "homepage": "https://github.com/googleforcreators/web-stories-wp/", - "repository": "git+https://github.com/GoogleForCreators/web-stories-wp.git", + "repository": { + "type": "git", + "url": "https://github.com/GoogleForCreators/web-stories-wp.git", + "directory": "packages/widget" + }, "bugs": { "url": "https://github.com/googleforcreators/web-stories-wp/issues" }, @@ -21,9 +25,6 @@ "npm": ">= 7.3" }, "type": "module", - "exports": { - "default": "./src/index.js" - }, "main": "./src/index.js", "dependencies": { "@wordpress/dom-ready": "^3.2.1" diff --git a/packages/wp-dashboard/package.json b/packages/wp-dashboard/package.json index 7531169a14f8..2ffcd6e9f503 100644 --- a/packages/wp-dashboard/package.json +++ b/packages/wp-dashboard/package.json @@ -12,7 +12,11 @@ "wordpress" ], "homepage": "https://github.com/googleforcreators/web-stories-wp/", - "repository": "git+https://github.com/GoogleForCreators/web-stories-wp.git", + "repository": { + "type": "git", + "url": "https://github.com/GoogleForCreators/web-stories-wp.git", + "directory": "packages/wp-dashboard" + }, "bugs": { "url": "https://github.com/googleforcreators/web-stories-wp/issues" }, @@ -21,9 +25,6 @@ "npm": ">= 7.3" }, "type": "module", - "exports": { - "default": "./src/index.js" - }, "main": "./src/index.js", "dependencies": { "@googleforcreators/dashboard": "*", diff --git a/packages/wp-dashboard/src/index.js b/packages/wp-dashboard/src/index.js index b30aab207075..b441fb387d9d 100644 --- a/packages/wp-dashboard/src/index.js +++ b/packages/wp-dashboard/src/index.js @@ -30,7 +30,7 @@ import './setLocaleData'; /** * External dependencies */ -import Dashboard from '@googleforcreators/dashboard'; +import { Dashboard } from '@googleforcreators/dashboard'; import { domReady, setAppElement } from '@googleforcreators/design-system'; import { StrictMode, render } from '@googleforcreators/react'; import { updateSettings } from '@googleforcreators/date'; diff --git a/packages/wp-story-editor/package.json b/packages/wp-story-editor/package.json index 5766f54277dd..899e062a3c34 100644 --- a/packages/wp-story-editor/package.json +++ b/packages/wp-story-editor/package.json @@ -12,7 +12,11 @@ "wordpress" ], "homepage": "https://github.com/googleforcreators/web-stories-wp/", - "repository": "git+https://github.com/GoogleForCreators/web-stories-wp.git", + "repository": { + "type": "git", + "url": "https://github.com/GoogleForCreators/web-stories-wp.git", + "directory": "packages/wp-story-editor" + }, "bugs": { "url": "https://github.com/googleforcreators/web-stories-wp/issues" }, @@ -21,9 +25,6 @@ "npm": ">= 7.3" }, "type": "module", - "exports": { - "default": "./src/index.js" - }, "main": "./src/index.js", "dependencies": { "@googleforcreators/date": "*", diff --git a/packages/wp-story-editor/src/index.js b/packages/wp-story-editor/src/index.js index 0c6d4a780e93..2a1dc5196d0e 100644 --- a/packages/wp-story-editor/src/index.js +++ b/packages/wp-story-editor/src/index.js @@ -30,7 +30,7 @@ import './setLocaleData'; /** * External dependencies */ -import StoryEditor from '@googleforcreators/story-editor'; +import { StoryEditor } from '@googleforcreators/story-editor'; import { setAppElement, domReady } from '@googleforcreators/design-system'; import { StrictMode, render } from '@googleforcreators/react'; import { updateSettings } from '@googleforcreators/date'; diff --git a/rollup.config.js b/rollup.config.js new file mode 100644 index 000000000000..82a688b0608a --- /dev/null +++ b/rollup.config.js @@ -0,0 +1,194 @@ +/* + * Copyright 2022 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * External dependencies + */ +import { resolve as resolvePath, dirname } from 'path'; +import { fileURLToPath } from 'url'; +import resolve from '@rollup/plugin-node-resolve'; +import commonjs from '@rollup/plugin-commonjs'; +import { babel } from '@rollup/plugin-babel'; +import { terser } from 'rollup-plugin-terser'; +import svgr from '@svgr/rollup'; +import filesize from 'rollup-plugin-filesize'; +import css from 'rollup-plugin-import-css'; +import url from '@rollup/plugin-url'; +import json from '@rollup/plugin-json'; +import dynamicImportVars from '@rollup/plugin-dynamic-import-vars'; +import license from 'rollup-plugin-license'; +import del from 'rollup-plugin-delete'; +import webWorkerLoader from 'rollup-plugin-web-worker-loader'; +import workspacesRun from 'workspaces-run'; + +const __dirname = fileURLToPath(dirname(import.meta.url)); + +const plugins = [ + resolve({ + browser: true, // To correctly import browser version of @ffmpeg/ffmpeg for example. + preferBuiltins: true, + dedupe: [], + }), + babel({ + babelHelpers: 'inline', + exclude: 'node_modules/**', + presets: ['@babel/env', '@babel/preset-react'], + plugins: [ + 'babel-plugin-styled-components', + 'babel-plugin-inline-json-import', + ], + }), + url(), + svgr(), + commonjs(), + json({ + compact: true, + }), + css(), + dynamicImportVars(), + webWorkerLoader({ + inline: true, + preserveSource: true, + 'web-worker': /\.worker\.js$/, + }), + terser({ + // We preserve function names that start with capital letters as + // they're _likely_ component names, and these are useful to have + // in tracebacks and error messages. + keep_fnames: /__|_x|_n|_nx|sprintf|^[A-Z].+$/, + output: { + comments: /translators:/i, + }, + mangle: { + reserved: ['__', '_x', '_n', '_nx', 'sprintf'], + }, + }), + license({ + sourcemap: true, + banner: `Copyright <%= moment().format('YYYY') %> Google LLC + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License.`, + }), + filesize(), +]; + +/** + * @typedef {Object} CustomInputOptions + * @property {string} configPackages Comma-separated list of package names to include. + * @typedef {import('rollup').RollupOptions & CustomInputOptions} CustomInputOptions + */ + +/** + * Main rollup configuration for building npm packages. + * + * To build only a subset of all public packages, run: + * + * `npx rollup --configPackages=i18n,fonts` + * + * @param {CustomInputOptions} cliArgs CLI arguments. + * @return {import('rollup').RollupOptions} Rollup configuration. + */ +async function config(cliArgs) { + const packages = []; + const entries = []; + + // Collect the list of packages + await workspacesRun({ cwd: __dirname, orderByDeps: true }, (pkg) => { + if (!pkg.config.private) { + packages.push(pkg); + } + }); + + const allPackageNames = packages.map(({ name }) => name.split('/')[1]); + const packagesToBuild = cliArgs?.configPackages + ? cliArgs.configPackages.split(',') + : allPackageNames; + const entriesToBuild = cliArgs?.configEntries + ? cliArgs.configEntries.split(',') + : ['es', 'cjs']; + + for (const pkg of packages) { + if (!packagesToBuild.includes(pkg.name.split('/')[1])) { + continue; + } + + const input = resolvePath(pkg.dir, pkg.config.source); + + const external = [ + ...new Set([ + ...Object.keys(pkg.config.dependencies || {}), + ...Object.keys(pkg.config.peerDependencies || {}), + 'react', + 'react-dom', + 'react-dom/server', + /@babel\/runtime/, + ]), + ]; + + if (entriesToBuild.includes('es')) { + entries.push({ + input, + output: { + dir: dirname(resolvePath(pkg.dir, pkg.config.module)), + format: 'es', + }, + plugins: [ + ...plugins, + del({ + targets: [dirname(resolvePath(pkg.dir, pkg.config.module))], + runOnce: false !== cliArgs.watch, + }), + ], + external, + context: 'window', + }); + } + + if (entriesToBuild.includes('cjs')) { + entries.push({ + input, + output: { + dir: dirname(resolvePath(pkg.dir, pkg.config.main)), + format: 'cjs', + exports: 'auto', + }, + plugins: [ + ...plugins, + del({ + targets: [dirname(resolvePath(pkg.dir, pkg.config.main))], + runOnce: false !== cliArgs.watch, + }), + ], + external, + context: 'window', + }); + } + } + + return entries; +} + +export default config; diff --git a/tests/js/jest.config.js b/tests/js/jest.config.js index 748e695d38bb..e480ff8a54b8 100644 --- a/tests/js/jest.config.js +++ b/tests/js/jest.config.js @@ -24,6 +24,7 @@ const __dirname = dirname(fileURLToPath(import.meta.url)); export default { rootDir: '../../', + resolver: '@web-stories-wp/jest-resolver', moduleNameMapper: { '\\.svg': join(__dirname, '/svgrMock.js'), '\\.css': join(__dirname, '/styleMock.js'), diff --git a/webpack.config.cjs b/webpack.config.cjs index d03f6312ec7f..6dfd2e8e3930 100644 --- a/webpack.config.cjs +++ b/webpack.config.cjs @@ -53,6 +53,11 @@ const isProduction = process.env.NODE_ENV === 'production'; const mode = isProduction ? 'production' : 'development'; const sharedConfig = { + resolve: { + // Fixes resolving packages in the monorepo so we use the "src" folder, not "dist". + // TODO: Revisit after upgrading to webpack v5 or when splitting repository. + mainFields: ['browser', 'module', 'main', 'source'], + }, mode, devtool: !isProduction ? 'source-map' : undefined, output: { @@ -77,7 +82,7 @@ const sharedConfig = { // See https://github.com/googleforcreators/web-stories-wp/pull/9001 for context. // TODO(#5792): Use `mangleExports` option in webpack v5 instead. { - test: require.resolve('@googleforcreators/i18n'), // eslint-disable-line node/no-extraneous-require + test: require.resolve('./packages/i18n/src'), loader: 'expose-loader', options: { exposes: [