From b002bf6b87efa1f02646ba31ad78e3a595679dc9 Mon Sep 17 00:00:00 2001 From: Mike Jolley Date: Wed, 6 Oct 2021 12:05:44 +0100 Subject: [PATCH 01/16] Update wordpress-components patch file to 11.1.6 --- ...omponents+11.1.5.patch => wordpress-components+11.1.6.patch} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename patches/{wordpress-components+11.1.5.patch => wordpress-components+11.1.6.patch} (99%) diff --git a/patches/wordpress-components+11.1.5.patch b/patches/wordpress-components+11.1.6.patch similarity index 99% rename from patches/wordpress-components+11.1.5.patch rename to patches/wordpress-components+11.1.6.patch index ed06e020c62..b1b9ecbe25a 100644 --- a/patches/wordpress-components+11.1.5.patch +++ b/patches/wordpress-components+11.1.6.patch @@ -1,5 +1,5 @@ diff --git a/node_modules/wordpress-components/build-module/combobox-control/index.js b/node_modules/wordpress-components/build-module/combobox-control/index.js -index 51c59c1..a4b58ab 100644 +index 51c59c1..93cbddc 100644 --- a/node_modules/wordpress-components/build-module/combobox-control/index.js +++ b/node_modules/wordpress-components/build-module/combobox-control/index.js @@ -1,19 +1,10 @@ From c0b8cd6fed50972184ccdcfd78f7bb2005aed30f Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 6 Oct 2021 19:08:42 +0000 Subject: [PATCH 02/16] Update storybook monorepo to v6.3.10 (#4903) Co-authored-by: Renovate Bot --- package-lock.json | 1670 +++++++++++++++++++++++++-------------------- package.json | 16 +- 2 files changed, 938 insertions(+), 748 deletions(-) diff --git a/package-lock.json b/package-lock.json index c9f861c69c3..87538193d06 100644 --- a/package-lock.json +++ b/package-lock.json @@ -583,15 +583,15 @@ } }, "@babel/helper-validator-identifier": { - "version": "7.14.9", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.9.tgz", - "integrity": "sha512-pQYxPY0UP6IHISRitNe8bsijHex4TWZXi2HwKVsjPiltzlhse2znVcm9Ace510VT1kxIHjGJCZZQBX2gJDbo0g==", + "version": "7.15.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz", + "integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==", "dev": true }, "@babel/parser": { - "version": "7.15.5", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.5.tgz", - "integrity": "sha512-2hQstc6I7T6tQsWzlboMh3SgMRPaS4H6H7cPQsJkdzTzEGqQrpLDsE2BGASU5sBPoEQyHzeqU6C8uKbFeEk6sg==", + "version": "7.15.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.7.tgz", + "integrity": "sha512-rycZXvQ+xS9QyIcJ9HXeDWf1uxqlbVFAUq0Rq0dbc50Zb/+wUe/ehyfzGfm9KZZF0kBejYgxltBXocP+gKdL2g==", "dev": true }, "@babel/template": { @@ -623,9 +623,9 @@ } }, "@babel/types": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.4.tgz", - "integrity": "sha512-0f1HJFuGmmbrKTCZtbm3cU+b/AqdEYk5toj5iQur58xkVMlS0JWaKxTBSmCXd47uiN7vbcozAupm6Mvs80GNhw==", + "version": "7.15.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", + "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", "dev": true, "requires": { "@babel/helper-validator-identifier": "^7.14.9", @@ -819,15 +819,15 @@ } }, "@babel/helper-validator-identifier": { - "version": "7.14.9", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.9.tgz", - "integrity": "sha512-pQYxPY0UP6IHISRitNe8bsijHex4TWZXi2HwKVsjPiltzlhse2znVcm9Ace510VT1kxIHjGJCZZQBX2gJDbo0g==", + "version": "7.15.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz", + "integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==", "dev": true }, "@babel/parser": { - "version": "7.15.5", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.5.tgz", - "integrity": "sha512-2hQstc6I7T6tQsWzlboMh3SgMRPaS4H6H7cPQsJkdzTzEGqQrpLDsE2BGASU5sBPoEQyHzeqU6C8uKbFeEk6sg==", + "version": "7.15.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.7.tgz", + "integrity": "sha512-rycZXvQ+xS9QyIcJ9HXeDWf1uxqlbVFAUq0Rq0dbc50Zb/+wUe/ehyfzGfm9KZZF0kBejYgxltBXocP+gKdL2g==", "dev": true }, "@babel/template": { @@ -859,9 +859,9 @@ } }, "@babel/types": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.4.tgz", - "integrity": "sha512-0f1HJFuGmmbrKTCZtbm3cU+b/AqdEYk5toj5iQur58xkVMlS0JWaKxTBSmCXd47uiN7vbcozAupm6Mvs80GNhw==", + "version": "7.15.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", + "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", "dev": true, "requires": { "@babel/helper-validator-identifier": "^7.14.9", @@ -1337,15 +1337,15 @@ } }, "@babel/helper-validator-identifier": { - "version": "7.14.9", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.9.tgz", - "integrity": "sha512-pQYxPY0UP6IHISRitNe8bsijHex4TWZXi2HwKVsjPiltzlhse2znVcm9Ace510VT1kxIHjGJCZZQBX2gJDbo0g==", + "version": "7.15.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz", + "integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==", "dev": true }, "@babel/parser": { - "version": "7.15.5", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.5.tgz", - "integrity": "sha512-2hQstc6I7T6tQsWzlboMh3SgMRPaS4H6H7cPQsJkdzTzEGqQrpLDsE2BGASU5sBPoEQyHzeqU6C8uKbFeEk6sg==", + "version": "7.15.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.7.tgz", + "integrity": "sha512-rycZXvQ+xS9QyIcJ9HXeDWf1uxqlbVFAUq0Rq0dbc50Zb/+wUe/ehyfzGfm9KZZF0kBejYgxltBXocP+gKdL2g==", "dev": true }, "@babel/template": { @@ -1377,9 +1377,9 @@ } }, "@babel/types": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.4.tgz", - "integrity": "sha512-0f1HJFuGmmbrKTCZtbm3cU+b/AqdEYk5toj5iQur58xkVMlS0JWaKxTBSmCXd47uiN7vbcozAupm6Mvs80GNhw==", + "version": "7.15.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", + "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", "dev": true, "requires": { "@babel/helper-validator-identifier": "^7.14.9", @@ -2057,6 +2057,12 @@ "minimist": "^1.2.0" } }, + "@discoveryjs/json-ext": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.5.tgz", + "integrity": "sha512-6nFkfkmSeV/rqSaS4oWHgmpnYw194f6hmWF5is6b0J1naJZoiD0NTc9AiUwPHvWsowkjuHErCZT1wa0jg+BLIA==", + "dev": true + }, "@emotion/cache": { "version": "10.0.29", "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-10.0.29.tgz", @@ -2987,6 +2993,18 @@ "source-map": "^0.7.3" }, "dependencies": { + "ansi-html": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", + "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=", + "dev": true + }, + "html-entities": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.4.0.tgz", + "integrity": "sha512-8nxjcBcd8wovbeKx7h3wTji4e6+rhaVuPNpMqwWgnHh+N9ToqsCs6XztWRBPQ+UtzsoMAdKZtUENoVzU/EMtZA==", + "dev": true + }, "source-map": { "version": "0.7.3", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", @@ -3132,19 +3150,19 @@ } }, "@storybook/addon-a11y": { - "version": "6.3.6", - "resolved": "https://registry.npmjs.org/@storybook/addon-a11y/-/addon-a11y-6.3.6.tgz", - "integrity": "sha512-IYVDFEGgKORdm7NPZPqltOvu29R9LaZwGBvfzbS3GUc3I9XLbT/cxkZN68Zzmjn2GtP/X1v4uLqp57OsPb4Cdg==", - "dev": true, - "requires": { - "@storybook/addons": "6.3.6", - "@storybook/api": "6.3.6", - "@storybook/channels": "6.3.6", - "@storybook/client-api": "6.3.6", - "@storybook/client-logger": "6.3.6", - "@storybook/components": "6.3.6", - "@storybook/core-events": "6.3.6", - "@storybook/theming": "6.3.6", + "version": "6.3.10", + "resolved": "https://registry.npmjs.org/@storybook/addon-a11y/-/addon-a11y-6.3.10.tgz", + "integrity": "sha512-EYDTuGIpyFFE/9yah0R6c8+4fTb7ibf5LHb2hh9k++ZOMJbt8SmSSV3WVvt+uvtmN8LZgMvmAfJC8REk1UV+Lg==", + "dev": true, + "requires": { + "@storybook/addons": "6.3.10", + "@storybook/api": "6.3.10", + "@storybook/channels": "6.3.10", + "@storybook/client-api": "6.3.10", + "@storybook/client-logger": "6.3.10", + "@storybook/components": "6.3.10", + "@storybook/core-events": "6.3.10", + "@storybook/theming": "6.3.10", "axe-core": "^4.2.0", "core-js": "^3.8.2", "global": "^4.4.0", @@ -3156,17 +3174,17 @@ } }, "@storybook/addon-actions": { - "version": "6.3.6", - "resolved": "https://registry.npmjs.org/@storybook/addon-actions/-/addon-actions-6.3.6.tgz", - "integrity": "sha512-1MBqCbFiupGEDyIXqFkzF4iR8AduuB7qSNduqtsFauvIkrG5bnlbg5JC7WjnixkCaaWlufgbpasEHioXO9EXGw==", + "version": "6.3.10", + "resolved": "https://registry.npmjs.org/@storybook/addon-actions/-/addon-actions-6.3.10.tgz", + "integrity": "sha512-hIgl2yihRVg6GuIosLyoh1NJuM9MeFY8EUbKx10Hv+vBpYdX5hnzOSDxUHGd4CV6OUh2VQ35hC1wMX+N5nh9fw==", "dev": true, "requires": { - "@storybook/addons": "6.3.6", - "@storybook/api": "6.3.6", - "@storybook/client-api": "6.3.6", - "@storybook/components": "6.3.6", - "@storybook/core-events": "6.3.6", - "@storybook/theming": "6.3.6", + "@storybook/addons": "6.3.10", + "@storybook/api": "6.3.10", + "@storybook/client-api": "6.3.10", + "@storybook/components": "6.3.10", + "@storybook/core-events": "6.3.10", + "@storybook/theming": "6.3.10", "core-js": "^3.8.2", "fast-deep-equal": "^3.1.3", "global": "^4.4.0", @@ -3181,9 +3199,9 @@ } }, "@storybook/addon-docs": { - "version": "6.3.6", - "resolved": "https://registry.npmjs.org/@storybook/addon-docs/-/addon-docs-6.3.6.tgz", - "integrity": "sha512-/ZPB9u3lfc6ZUrgt9HENU1BxAHNfTbh9r2LictQ8o9gYE/BqvZutl2zqilTpVuutQtTgQ6JycVhxtpk9+TDcuA==", + "version": "6.3.10", + "resolved": "https://registry.npmjs.org/@storybook/addon-docs/-/addon-docs-6.3.10.tgz", + "integrity": "sha512-1JMl2E01sUwYlHgc2l+n1MDMSHbZNDPb4/DRpw2p4YZ8VSSOprA4Z4uHmFjabxyfnkv3Sz5isRVeaMqJzHMjdA==", "dev": true, "requires": { "@babel/core": "^7.12.10", @@ -3195,20 +3213,20 @@ "@mdx-js/loader": "^1.6.22", "@mdx-js/mdx": "^1.6.22", "@mdx-js/react": "^1.6.22", - "@storybook/addons": "6.3.6", - "@storybook/api": "6.3.6", - "@storybook/builder-webpack4": "6.3.6", - "@storybook/client-api": "6.3.6", - "@storybook/client-logger": "6.3.6", - "@storybook/components": "6.3.6", - "@storybook/core": "6.3.6", - "@storybook/core-events": "6.3.6", + "@storybook/addons": "6.3.10", + "@storybook/api": "6.3.10", + "@storybook/builder-webpack4": "6.3.10", + "@storybook/client-api": "6.3.10", + "@storybook/client-logger": "6.3.10", + "@storybook/components": "6.3.10", + "@storybook/core": "6.3.10", + "@storybook/core-events": "6.3.10", "@storybook/csf": "0.0.1", - "@storybook/csf-tools": "6.3.6", - "@storybook/node-logger": "6.3.6", - "@storybook/postinstall": "6.3.6", - "@storybook/source-loader": "6.3.6", - "@storybook/theming": "6.3.6", + "@storybook/csf-tools": "6.3.10", + "@storybook/node-logger": "6.3.10", + "@storybook/postinstall": "6.3.10", + "@storybook/source-loader": "6.3.10", + "@storybook/theming": "6.3.10", "acorn": "^7.4.1", "acorn-jsx": "^5.3.1", "acorn-walk": "^7.2.0", @@ -3280,16 +3298,16 @@ } }, "@storybook/addon-links": { - "version": "6.3.6", - "resolved": "https://registry.npmjs.org/@storybook/addon-links/-/addon-links-6.3.6.tgz", - "integrity": "sha512-PaeAJTjwtPlhrLZlaSQ1YIFA8V0C1yI0dc351lPbTiE7fJ7DwTE03K6xIF/jEdTo+xzhi2PM1Fgvi/SsSecI8w==", + "version": "6.3.10", + "resolved": "https://registry.npmjs.org/@storybook/addon-links/-/addon-links-6.3.10.tgz", + "integrity": "sha512-/gp5+4+niwK7U+28trwvFAgbZat9m4v9xFd5W8jXo8HmPlyDUK5w9Zu14xH6PrAfufFMb+No9b8eZjzOgB5aOQ==", "dev": true, "requires": { - "@storybook/addons": "6.3.6", - "@storybook/client-logger": "6.3.6", - "@storybook/core-events": "6.3.6", + "@storybook/addons": "6.3.10", + "@storybook/client-logger": "6.3.10", + "@storybook/core-events": "6.3.10", "@storybook/csf": "0.0.1", - "@storybook/router": "6.3.6", + "@storybook/router": "6.3.10", "@types/qs": "^6.9.5", "core-js": "^3.8.2", "global": "^4.4.0", @@ -3311,18 +3329,18 @@ } }, "@storybook/addon-storysource": { - "version": "6.3.6", - "resolved": "https://registry.npmjs.org/@storybook/addon-storysource/-/addon-storysource-6.3.6.tgz", - "integrity": "sha512-BNNuy/6Vb7NzeCDbt+bCL1dC/XQOalzKHW6FplO0pR0eMSi6EmJJnU9V+5rFAUtG5zxGeCx2h7TrrFecouM2BA==", - "dev": true, - "requires": { - "@storybook/addons": "6.3.6", - "@storybook/api": "6.3.6", - "@storybook/client-logger": "6.3.6", - "@storybook/components": "6.3.6", - "@storybook/router": "6.3.6", - "@storybook/source-loader": "6.3.6", - "@storybook/theming": "6.3.6", + "version": "6.3.10", + "resolved": "https://registry.npmjs.org/@storybook/addon-storysource/-/addon-storysource-6.3.10.tgz", + "integrity": "sha512-ULEceW4IOEMlEFzfKEvl13ocbuabj2ntevs8xw9DbgdJXjHDZI9d2ORAWlq4LCxjxEkSKJNGZSIrDoDIzfEQNA==", + "dev": true, + "requires": { + "@storybook/addons": "6.3.10", + "@storybook/api": "6.3.10", + "@storybook/client-logger": "6.3.10", + "@storybook/components": "6.3.10", + "@storybook/router": "6.3.10", + "@storybook/source-loader": "6.3.10", + "@storybook/theming": "6.3.10", "core-js": "^3.8.2", "estraverse": "^5.2.0", "loader-utils": "^2.0.0", @@ -3347,17 +3365,17 @@ } }, "@storybook/addon-viewport": { - "version": "6.3.6", - "resolved": "https://registry.npmjs.org/@storybook/addon-viewport/-/addon-viewport-6.3.6.tgz", - "integrity": "sha512-Z5eztFFGd6vd+38sDurfTkIr9lY6EYWtMJzr5efedRZGg2IZLXZxQCoyjKEB29VB/IIjHEYHhHSh4SFsHT/m6g==", + "version": "6.3.10", + "resolved": "https://registry.npmjs.org/@storybook/addon-viewport/-/addon-viewport-6.3.10.tgz", + "integrity": "sha512-KyR7yajCD1bbiRZthgxYC/7iy3NWp9k6QKR18fq/hEKbNWNoiN00ddFfFJ3sizJUGKourGOoIbSHZlwqI6rtmg==", "dev": true, "requires": { - "@storybook/addons": "6.3.6", - "@storybook/api": "6.3.6", - "@storybook/client-logger": "6.3.6", - "@storybook/components": "6.3.6", - "@storybook/core-events": "6.3.6", - "@storybook/theming": "6.3.6", + "@storybook/addons": "6.3.10", + "@storybook/api": "6.3.10", + "@storybook/client-logger": "6.3.10", + "@storybook/components": "6.3.10", + "@storybook/core-events": "6.3.10", + "@storybook/theming": "6.3.10", "core-js": "^3.8.2", "global": "^4.4.0", "memoizerific": "^1.11.3", @@ -3366,36 +3384,36 @@ } }, "@storybook/addons": { - "version": "6.3.6", - "resolved": "https://registry.npmjs.org/@storybook/addons/-/addons-6.3.6.tgz", - "integrity": "sha512-tVV0vqaEEN9Md4bgScwfrnZYkN8iKZarpkIOFheLev+PHjSp8lgWMK5SNWDlbBYqfQfzrz9xbs+F07bMjfx9jQ==", + "version": "6.3.10", + "resolved": "https://registry.npmjs.org/@storybook/addons/-/addons-6.3.10.tgz", + "integrity": "sha512-nrqyHPFGft6FhLXAB4xfebh3Xe/16574FSV3I96hyhcNwlxRs/ANLQriiDVElz3KfDqyFUIYMoskUBHZNRwWFA==", "dev": true, "requires": { - "@storybook/api": "6.3.6", - "@storybook/channels": "6.3.6", - "@storybook/client-logger": "6.3.6", - "@storybook/core-events": "6.3.6", - "@storybook/router": "6.3.6", - "@storybook/theming": "6.3.6", + "@storybook/api": "6.3.10", + "@storybook/channels": "6.3.10", + "@storybook/client-logger": "6.3.10", + "@storybook/core-events": "6.3.10", + "@storybook/router": "6.3.10", + "@storybook/theming": "6.3.10", "core-js": "^3.8.2", "global": "^4.4.0", "regenerator-runtime": "^0.13.7" } }, "@storybook/api": { - "version": "6.3.6", - "resolved": "https://registry.npmjs.org/@storybook/api/-/api-6.3.6.tgz", - "integrity": "sha512-F5VuR1FrEwD51OO/EDDAZXNfF5XmJedYHJLwwCB4az2ZMrzG45TxGRmiEohrSTO6wAHGkAvjlEoX5jWOCqQ4pw==", + "version": "6.3.10", + "resolved": "https://registry.npmjs.org/@storybook/api/-/api-6.3.10.tgz", + "integrity": "sha512-7fB6q718UWvgFI+ZqEU0QpXr5cHHli85bTq/w7kSz1VUWjV7vVqtxE3RTbIjMbKHkIVNkVUbZDeDi+r2soK9Tw==", "dev": true, "requires": { "@reach/router": "^1.3.4", - "@storybook/channels": "6.3.6", - "@storybook/client-logger": "6.3.6", - "@storybook/core-events": "6.3.6", + "@storybook/channels": "6.3.10", + "@storybook/client-logger": "6.3.10", + "@storybook/core-events": "6.3.10", "@storybook/csf": "0.0.1", - "@storybook/router": "6.3.6", + "@storybook/router": "6.3.10", "@storybook/semver": "^7.3.2", - "@storybook/theming": "6.3.6", + "@storybook/theming": "6.3.10", "@types/reach__router": "^1.3.7", "core-js": "^3.8.2", "fast-deep-equal": "^3.1.3", @@ -3410,50 +3428,6 @@ "util-deprecate": "^1.0.2" }, "dependencies": { - "@storybook/semver": { - "version": "7.3.2", - "resolved": "https://registry.npmjs.org/@storybook/semver/-/semver-7.3.2.tgz", - "integrity": "sha512-SWeszlsiPsMI0Ps0jVNtH64cI5c0UF3f7KgjVKJoNP30crQ6wUSddY2hsdeczZXEKVJGEn50Q60flcGsQGIcrg==", - "dev": true, - "requires": { - "core-js": "^3.6.5", - "find-up": "^4.1.0" - } - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true - }, "qs": { "version": "6.10.1", "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.1.tgz", @@ -3466,9 +3440,9 @@ } }, "@storybook/builder-webpack4": { - "version": "6.3.6", - "resolved": "https://registry.npmjs.org/@storybook/builder-webpack4/-/builder-webpack4-6.3.6.tgz", - "integrity": "sha512-LhTPQQowS2t6BRnyfusWZLbhjjf54/HiQyovJTTDnqrCiO6QoCMbVnp79LeO1aSkpQCKoeqOZ7TzH87fCytnZA==", + "version": "6.3.10", + "resolved": "https://registry.npmjs.org/@storybook/builder-webpack4/-/builder-webpack4-6.3.10.tgz", + "integrity": "sha512-QckIjdBRSrwNZFQGU8IWjFV39oikSVA13X4hXIdtI4po8aZOkq2ZgT29LJQzc+9g3pQDNjZvPiSbGcG+F2y1+g==", "dev": true, "requires": { "@babel/core": "^7.12.10", @@ -3492,20 +3466,20 @@ "@babel/preset-env": "^7.12.11", "@babel/preset-react": "^7.12.10", "@babel/preset-typescript": "^7.12.7", - "@storybook/addons": "6.3.6", - "@storybook/api": "6.3.6", - "@storybook/channel-postmessage": "6.3.6", - "@storybook/channels": "6.3.6", - "@storybook/client-api": "6.3.6", - "@storybook/client-logger": "6.3.6", - "@storybook/components": "6.3.6", - "@storybook/core-common": "6.3.6", - "@storybook/core-events": "6.3.6", - "@storybook/node-logger": "6.3.6", - "@storybook/router": "6.3.6", + "@storybook/addons": "6.3.10", + "@storybook/api": "6.3.10", + "@storybook/channel-postmessage": "6.3.10", + "@storybook/channels": "6.3.10", + "@storybook/client-api": "6.3.10", + "@storybook/client-logger": "6.3.10", + "@storybook/components": "6.3.10", + "@storybook/core-common": "6.3.10", + "@storybook/core-events": "6.3.10", + "@storybook/node-logger": "6.3.10", + "@storybook/router": "6.3.10", "@storybook/semver": "^7.3.2", - "@storybook/theming": "6.3.6", - "@storybook/ui": "6.3.6", + "@storybook/theming": "6.3.10", + "@storybook/ui": "6.3.10", "@types/node": "^14.0.10", "@types/webpack": "^4.41.26", "autoprefixer": "^9.8.6", @@ -3557,55 +3531,25 @@ "lodash.debounce": "^4.0.8", "resolve": "^1.14.2", "semver": "^6.1.2" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "@storybook/semver": { - "version": "7.3.2", - "resolved": "https://registry.npmjs.org/@storybook/semver/-/semver-7.3.2.tgz", - "integrity": "sha512-SWeszlsiPsMI0Ps0jVNtH64cI5c0UF3f7KgjVKJoNP30crQ6wUSddY2hsdeczZXEKVJGEn50Q60flcGsQGIcrg==", - "dev": true, - "requires": { - "core-js": "^3.6.5", - "find-up": "^4.1.0" - }, - "dependencies": { - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - } } }, "@types/node": { - "version": "14.17.15", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.17.15.tgz", - "integrity": "sha512-D1sdW0EcSCmNdLKBGMYb38YsHUS6JcM7yQ6sLQ9KuZ35ck7LYCKE7kYFHOO59ayFOY3zobWVZxf4KXhYHcHYFA==", + "version": "14.17.21", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.17.21.tgz", + "integrity": "sha512-zv8ukKci1mrILYiQOwGSV4FpkZhyxQtuFWGya2GujWg+zVAeRQ4qbaMmWp9vb9889CFA8JECH7lkwCL6Ygg8kA==", "dev": true }, "autoprefixer": { - "version": "9.8.6", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.6.tgz", - "integrity": "sha512-XrvP4VVHdRBCdX1S3WXVD8+RyG9qeb1D5Sn1DeLiG2xfSpzellk5k54xbUERJ3M5DggQxes39UGOTP8CFrEGbg==", + "version": "9.8.8", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.8.tgz", + "integrity": "sha512-eM9d/swFopRt5gdJ7jrpCwgvEMIayITpojhkkSMRsFHYuH5bkSQ4p/9qTEHtmNudUZh22Tehu7I6CxAW0IXTKA==", "dev": true, "requires": { "browserslist": "^4.12.0", "caniuse-lite": "^1.0.30001109", - "colorette": "^1.2.1", "normalize-range": "^0.1.2", "num2fraction": "^1.2.2", + "picocolors": "^0.2.1", "postcss": "^7.0.32", "postcss-value-parser": "^4.1.0" } @@ -3620,28 +3564,6 @@ "core-js-compat": "^3.8.1" } }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "dependencies": { - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, "commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", @@ -3667,44 +3589,15 @@ "requires": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" - }, - "dependencies": { - "locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "requires": { - "p-locate": "^5.0.0" - } - }, - "p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "requires": { - "yocto-queue": "^0.1.0" - } - }, - "p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "requires": { - "p-limit": "^3.0.2" - } - } } }, "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dev": true, "requires": { - "p-locate": "^4.1.0" + "p-locate": "^5.0.0" } }, "make-dir": { @@ -3714,23 +3607,24 @@ "dev": true, "requires": { "semver": "^6.0.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } + } + }, + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" } }, "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "dev": true, "requires": { - "p-limit": "^2.2.0" + "p-limit": "^3.0.2" } }, "path-exists": { @@ -3740,14 +3634,13 @@ "dev": true }, "postcss": { - "version": "7.0.36", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", - "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", "dev": true, "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" + "picocolors": "^0.2.1", + "source-map": "^0.6.1" } }, "postcss-value-parser": { @@ -3776,6 +3669,12 @@ "ajv-keywords": "^3.5.2" } }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, "serialize-javascript": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz", @@ -3791,24 +3690,25 @@ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "source-map-support": { + "version": "0.5.20", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.20.tgz", + "integrity": "sha512-n1lZZ8Ve4ksRqizaBQgxXDgKwttHDhyfQjA6YZZn8+AroHbsIz+JjwxQDxbp+7y5OYCI8t1Yk7etjD9CRd2hIw==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" } }, "terser": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.7.2.tgz", - "integrity": "sha512-0Omye+RD4X7X69O0eql3lC4Heh/5iLj3ggxR/B5ketZLOtLiOqukUgjw3q4PDnNQbsrkKr3UMypqStQG3XKRvw==", + "version": "5.9.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.9.0.tgz", + "integrity": "sha512-h5hxa23sCdpzcye/7b8YqbE5OwKca/ni0RQz1uRX3tGh8haaGHqcuSqbGRybuAKNdntZ0mDgFNXPJ48xQ2RXKQ==", "dev": true, "requires": { "commander": "^2.20.0", "source-map": "~0.7.2", - "source-map-support": "~0.5.19" + "source-map-support": "~0.5.20" }, "dependencies": { "source-map": { @@ -3834,30 +3734,19 @@ "source-map": "^0.6.1", "terser": "^5.3.4", "webpack-sources": "^1.4.3" - }, - "dependencies": { - "p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "requires": { - "yocto-queue": "^0.1.0" - } - } } } } }, "@storybook/channel-postmessage": { - "version": "6.3.6", - "resolved": "https://registry.npmjs.org/@storybook/channel-postmessage/-/channel-postmessage-6.3.6.tgz", - "integrity": "sha512-GK7hXnaa+1pxEeMpREDzAZ3+2+k1KN1lbrZf+V7Kc1JZv1/Ji/vxk8AgxwiuzPAMx5J0yh/FduPscIPZ87Pibw==", + "version": "6.3.10", + "resolved": "https://registry.npmjs.org/@storybook/channel-postmessage/-/channel-postmessage-6.3.10.tgz", + "integrity": "sha512-LWzT0kvluQxMBOrVb6vPoZWx6GlFhmgoFRLJPsFhFmXS1FqmWolRvqKr2aIVHj+bpqS7ocngMKY8Zg+FuKwctQ==", "dev": true, "requires": { - "@storybook/channels": "6.3.6", - "@storybook/client-logger": "6.3.6", - "@storybook/core-events": "6.3.6", + "@storybook/channels": "6.3.10", + "@storybook/client-logger": "6.3.10", + "@storybook/core-events": "6.3.10", "core-js": "^3.8.2", "global": "^4.4.0", "qs": "^6.10.0", @@ -3876,9 +3765,9 @@ } }, "@storybook/channels": { - "version": "6.3.6", - "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-6.3.6.tgz", - "integrity": "sha512-gCIQVr+dS/tg3AyCxIvkOXMVAs08BCIHXsaa2+XzmacnJBSP+CEHtI6IZ8WEv7tzZuXOiKLVg+wugeIh4j2I4g==", + "version": "6.3.10", + "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-6.3.10.tgz", + "integrity": "sha512-olYxCiYjmhbCHtPe7HR1hdGYJZPuSowqVmhLbqrWMf4HFYqBkO3T7em1S+ztCvLPLKbIK6AM2JUom6ob1F8n4g==", "dev": true, "requires": { "core-js": "^3.8.2", @@ -3887,16 +3776,16 @@ } }, "@storybook/client-api": { - "version": "6.3.6", - "resolved": "https://registry.npmjs.org/@storybook/client-api/-/client-api-6.3.6.tgz", - "integrity": "sha512-Q/bWuH691L6k7xkiKtBmZo8C+ijgmQ+vc2Fz8pzIRZuMV8ROL74qhrS4BMKV4LhiYm4f8todtWfaQPBjawZMIA==", + "version": "6.3.10", + "resolved": "https://registry.npmjs.org/@storybook/client-api/-/client-api-6.3.10.tgz", + "integrity": "sha512-caqh/TJKQkKSjcBchx44+Fr5Mi9XjAmMvsIJHM2uZv6mV7KUzUqiZNIWj1gvIYeNBF9PXTWUIhEbu6xt65d0UA==", "dev": true, "requires": { - "@storybook/addons": "6.3.6", - "@storybook/channel-postmessage": "6.3.6", - "@storybook/channels": "6.3.6", - "@storybook/client-logger": "6.3.6", - "@storybook/core-events": "6.3.6", + "@storybook/addons": "6.3.10", + "@storybook/channel-postmessage": "6.3.10", + "@storybook/channels": "6.3.10", + "@storybook/client-logger": "6.3.10", + "@storybook/core-events": "6.3.10", "@storybook/csf": "0.0.1", "@types/qs": "^6.9.5", "@types/webpack-env": "^1.16.0", @@ -3924,9 +3813,9 @@ } }, "@storybook/client-logger": { - "version": "6.3.6", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-6.3.6.tgz", - "integrity": "sha512-qpXQ52ylxPm7l3+WAteV42NmqWA+L1FaJhMOvm2gwl3PxRd2cNXn2BwEhw++eA6qmJH/7mfOKXG+K+QQwOTpRA==", + "version": "6.3.10", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-6.3.10.tgz", + "integrity": "sha512-fRwxPiwQBKHK83IJgA5VoFwbaEj9zHLdYGE1wxJXcBYP0hi5h5ZwnGkNumFDntw1xt+RUs5PsGQ16f+rzE3n+w==", "dev": true, "requires": { "core-js": "^3.8.2", @@ -3934,15 +3823,15 @@ } }, "@storybook/components": { - "version": "6.3.6", - "resolved": "https://registry.npmjs.org/@storybook/components/-/components-6.3.6.tgz", - "integrity": "sha512-aZkmtAY8b+LFXG6dVp6cTS6zGJuxkHRHcesRSWRQPxtgitaz1G58clRHxbKPRokfjPHNgYA3snogyeqxSA7YNQ==", + "version": "6.3.10", + "resolved": "https://registry.npmjs.org/@storybook/components/-/components-6.3.10.tgz", + "integrity": "sha512-s9iOq0jT+h51hid4Vckmy84XAMm8aoZwD/QHpzWs4aRqrT5lqsen3jnlvqEEdEVUbMIoLPPNfOxOZsm4M/7zpQ==", "dev": true, "requires": { "@popperjs/core": "^2.6.0", - "@storybook/client-logger": "6.3.6", + "@storybook/client-logger": "6.3.10", "@storybook/csf": "0.0.1", - "@storybook/theming": "6.3.6", + "@storybook/theming": "6.3.10", "@types/color-convert": "^2.0.0", "@types/overlayscrollbars": "^1.12.0", "@types/react-syntax-highlighter": "11.0.5", @@ -3983,28 +3872,28 @@ } }, "@storybook/core": { - "version": "6.3.6", - "resolved": "https://registry.npmjs.org/@storybook/core/-/core-6.3.6.tgz", - "integrity": "sha512-y71VvVEbqCpG28fDBnfNg3RnUPnicwFYq9yuoFVRF0LYcJCy5cYhkIfW3JG8mN2m0P+LzH80mt2Rj6xlSXrkdQ==", + "version": "6.3.10", + "resolved": "https://registry.npmjs.org/@storybook/core/-/core-6.3.10.tgz", + "integrity": "sha512-u3Cw09G0CpzrVfd0tiqqCLdEpjYlG6gF9R9bOhSFdgGQbgArh6kKrprQDSjUoLVtUx8Ms7p9sHwith1f1ekXnA==", "dev": true, "requires": { - "@storybook/core-client": "6.3.6", - "@storybook/core-server": "6.3.6" + "@storybook/core-client": "6.3.10", + "@storybook/core-server": "6.3.10" } }, "@storybook/core-client": { - "version": "6.3.6", - "resolved": "https://registry.npmjs.org/@storybook/core-client/-/core-client-6.3.6.tgz", - "integrity": "sha512-Bq86flEdXdMNbdHrGMNQ6OT1tcBQU8ym56d+nG46Ctjf5GN+Dl+rPtRWuu7cIZs10KgqJH+86DXp+tvpQIDidg==", + "version": "6.3.10", + "resolved": "https://registry.npmjs.org/@storybook/core-client/-/core-client-6.3.10.tgz", + "integrity": "sha512-UnVfFV7qvRI1o5P4lrMmp+DxEoogVYV0/QrlGJFrKotkG815e58OdVM00bQByMdbsId3Ao2TZM78uj1k2F5J7Q==", "dev": true, "requires": { - "@storybook/addons": "6.3.6", - "@storybook/channel-postmessage": "6.3.6", - "@storybook/client-api": "6.3.6", - "@storybook/client-logger": "6.3.6", - "@storybook/core-events": "6.3.6", + "@storybook/addons": "6.3.10", + "@storybook/channel-postmessage": "6.3.10", + "@storybook/client-api": "6.3.10", + "@storybook/client-logger": "6.3.10", + "@storybook/core-events": "6.3.10", "@storybook/csf": "0.0.1", - "@storybook/ui": "6.3.6", + "@storybook/ui": "6.3.10", "airbnb-js-shims": "^2.2.1", "ansi-to-html": "^0.6.11", "core-js": "^3.8.2", @@ -4029,9 +3918,9 @@ } }, "@storybook/core-common": { - "version": "6.3.6", - "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-6.3.6.tgz", - "integrity": "sha512-nHolFOmTPymI50j180bCtcf1UJZ2eOnYaECRtHvVrCUod5KFF7wh2EHrgWoKqrKrsn84UOY/LkX2C2WkbYtWRg==", + "version": "6.3.10", + "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-6.3.10.tgz", + "integrity": "sha512-E6jlsSPJoISF8B/AwqDZpPNOviSeJTb+ODhnWqz/R4b6hSmuGSPp7LDdOMdQAjTURAxhhjLWQen4smDwuVNzHw==", "dev": true, "requires": { "@babel/core": "^7.12.10", @@ -4055,7 +3944,7 @@ "@babel/preset-react": "^7.12.10", "@babel/preset-typescript": "^7.12.7", "@babel/register": "^7.12.1", - "@storybook/node-logger": "6.3.6", + "@storybook/node-logger": "6.3.10", "@storybook/semver": "^7.3.2", "@types/glob-base": "^0.3.0", "@types/micromatch": "^4.0.1", @@ -4098,42 +3987,12 @@ "lodash.debounce": "^4.0.8", "resolve": "^1.14.2", "semver": "^6.1.2" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "@storybook/semver": { - "version": "7.3.2", - "resolved": "https://registry.npmjs.org/@storybook/semver/-/semver-7.3.2.tgz", - "integrity": "sha512-SWeszlsiPsMI0Ps0jVNtH64cI5c0UF3f7KgjVKJoNP30crQ6wUSddY2hsdeczZXEKVJGEn50Q60flcGsQGIcrg==", - "dev": true, - "requires": { - "core-js": "^3.6.5", - "find-up": "^4.1.0" - }, - "dependencies": { - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - } } }, "@types/node": { - "version": "14.17.15", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.17.15.tgz", - "integrity": "sha512-D1sdW0EcSCmNdLKBGMYb38YsHUS6JcM7yQ6sLQ9KuZ35ck7LYCKE7kYFHOO59ayFOY3zobWVZxf4KXhYHcHYFA==", + "version": "14.17.21", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.17.21.tgz", + "integrity": "sha512-zv8ukKci1mrILYiQOwGSV4FpkZhyxQtuFWGya2GujWg+zVAeRQ4qbaMmWp9vb9889CFA8JECH7lkwCL6Ygg8kA==", "dev": true }, "babel-plugin-macros": { @@ -4202,41 +4061,12 @@ "requires": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" - }, - "dependencies": { - "locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "requires": { - "p-locate": "^5.0.0" - } - }, - "p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "requires": { - "yocto-queue": "^0.1.0" - } - }, - "p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "requires": { - "p-limit": "^3.0.2" - } - } } }, "fork-ts-checker-webpack-plugin": { - "version": "6.3.3", - "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.3.3.tgz", - "integrity": "sha512-S3uMSg8IsIvs0H6VAfojtbf6RcnEXxEpDMT2Q41M2l0m20JO8eA1t4cCJybvrasC8SvvPEtK4B8ztxxfLljhNg==", + "version": "6.3.4", + "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.3.4.tgz", + "integrity": "sha512-z0dns2NXH9NHH0wpW6iuUmyXYRN9BI2Lqnv+RCdL+9GXSW6tKUqYnwf+h3ZaucJsbsrdobdxuOELGgm1xVZITA==", "dev": true, "requires": { "@babel/code-frame": "^7.8.3", @@ -4285,12 +4115,12 @@ "dev": true }, "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dev": true, "requires": { - "p-locate": "^4.1.0" + "p-locate": "^5.0.0" } }, "micromatch": { @@ -4303,13 +4133,22 @@ "picomatch": "^2.2.3" } }, + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "dev": true, "requires": { - "p-limit": "^2.2.0" + "p-limit": "^3.0.2" } }, "path-exists": { @@ -4344,6 +4183,12 @@ "ajv-keywords": "^3.4.1" } }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, "to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", @@ -4356,26 +4201,27 @@ } }, "@storybook/core-events": { - "version": "6.3.6", - "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-6.3.6.tgz", - "integrity": "sha512-Ut1dz96bJ939oSn5t1ckPXd3WcFejK96Sb3+R/z23vEHUWGBFtygGyw8r/SX/WNDVzGmQU8c+mzJJTZwCBJz8A==", + "version": "6.3.10", + "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-6.3.10.tgz", + "integrity": "sha512-bw3HuqKIMDnEebVf2DG+TdX21D7z7LGFvr5rehNDnUTdnM9+pVLlZZfGkUU6LMRbIzr27CI5dXWdPRTA5kQIZg==", "dev": true, "requires": { "core-js": "^3.8.2" } }, "@storybook/core-server": { - "version": "6.3.6", - "resolved": "https://registry.npmjs.org/@storybook/core-server/-/core-server-6.3.6.tgz", - "integrity": "sha512-47ZcfxYn7t891oAMG98iH1BQIgQT9Yk/2BBNVCWY43Ong+ME1xJ6j4C/jkRUOseP7URlfLUQsUYKAYJNVijDvg==", - "dev": true, - "requires": { - "@storybook/builder-webpack4": "6.3.6", - "@storybook/core-client": "6.3.6", - "@storybook/core-common": "6.3.6", - "@storybook/csf-tools": "6.3.6", - "@storybook/manager-webpack4": "6.3.6", - "@storybook/node-logger": "6.3.6", + "version": "6.3.10", + "resolved": "https://registry.npmjs.org/@storybook/core-server/-/core-server-6.3.10.tgz", + "integrity": "sha512-bo3suxIy0HrbAaqbUH70F2E3VzWs235K6t0lr09Skn9AwoMnfdvywXQ+9F7d0plGxV0QzZLcU3n+0sw3rBd7sQ==", + "dev": true, + "requires": { + "@discoveryjs/json-ext": "^0.5.3", + "@storybook/builder-webpack4": "6.3.10", + "@storybook/core-client": "6.3.10", + "@storybook/core-common": "6.3.10", + "@storybook/csf-tools": "6.3.10", + "@storybook/manager-webpack4": "6.3.10", + "@storybook/node-logger": "6.3.10", "@storybook/semver": "^7.3.2", "@types/node": "^14.0.10", "@types/node-fetch": "^2.5.7", @@ -4405,20 +4251,10 @@ "webpack": "4" }, "dependencies": { - "@storybook/semver": { - "version": "7.3.2", - "resolved": "https://registry.npmjs.org/@storybook/semver/-/semver-7.3.2.tgz", - "integrity": "sha512-SWeszlsiPsMI0Ps0jVNtH64cI5c0UF3f7KgjVKJoNP30crQ6wUSddY2hsdeczZXEKVJGEn50Q60flcGsQGIcrg==", - "dev": true, - "requires": { - "core-js": "^3.6.5", - "find-up": "^4.1.0" - } - }, "@types/node": { - "version": "14.17.15", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.17.15.tgz", - "integrity": "sha512-D1sdW0EcSCmNdLKBGMYb38YsHUS6JcM7yQ6sLQ9KuZ35ck7LYCKE7kYFHOO59ayFOY3zobWVZxf4KXhYHcHYFA==", + "version": "14.17.21", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.17.21.tgz", + "integrity": "sha512-zv8ukKci1mrILYiQOwGSV4FpkZhyxQtuFWGya2GujWg+zVAeRQ4qbaMmWp9vb9889CFA8JECH7lkwCL6Ygg8kA==", "dev": true }, "array-union": { @@ -4446,16 +4282,6 @@ "debug": "^2.6.0" } }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, "globby": { "version": "11.0.4", "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz", @@ -4476,15 +4302,6 @@ "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", "dev": true }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", @@ -4492,31 +4309,41 @@ "dev": true }, "node-fetch": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.2.tgz", - "integrity": "sha512-aLoxToI6RfZ+0NOjmWAgn9+LEd30YCkJKFSyWacNZdEKTit/ZMcKjGkTRo8uWEsnIb/hfKecNPEbln02PdWbcA==", - "dev": true - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "version": "2.6.5", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.5.tgz", + "integrity": "sha512-mmlIVHJEu5rnIxgEgez6b9GgWXbkZj5YZ7fx+2r94a2E+Uirsp6HsPTPlomfdHtpt/B0cdKviwkoaM6pyvUOpQ==", "dev": true, "requires": { - "p-limit": "^2.2.0" + "whatwg-url": "^5.0.0" } }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true - }, "slash": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "dev": true + }, + "tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=", + "dev": true + }, + "webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=", + "dev": true + }, + "whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=", + "dev": true, + "requires": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } } } }, @@ -4530,9 +4357,9 @@ } }, "@storybook/csf-tools": { - "version": "6.3.6", - "resolved": "https://registry.npmjs.org/@storybook/csf-tools/-/csf-tools-6.3.6.tgz", - "integrity": "sha512-MQevelkEUVNCSjKMXLNc/G8q/BB5babPnSeI0IcJq4k+kLUSHtviimLNpPowMgGJBPx/y9VihH8N7vdJUWVj9w==", + "version": "6.3.10", + "resolved": "https://registry.npmjs.org/@storybook/csf-tools/-/csf-tools-6.3.10.tgz", + "integrity": "sha512-SRf47ZP91yyD62JZjKhUpAABI44d6J2h+WxdRkH/S+3K5U5olllXjKMA6+bzIdy7x0v/w/sI+oi3zU6wycaPMA==", "dev": true, "requires": { "@babel/generator": "^7.12.11", @@ -4560,20 +4387,20 @@ } }, "@storybook/manager-webpack4": { - "version": "6.3.6", - "resolved": "https://registry.npmjs.org/@storybook/manager-webpack4/-/manager-webpack4-6.3.6.tgz", - "integrity": "sha512-qh/jV4b6mFRpRFfhk1JSyO2gKRz8PLPvDt2AD52/bTAtNRzypKoiWqyZNR2CJ9hgNQtDrk2CO3eKPrcdKYGizQ==", + "version": "6.3.10", + "resolved": "https://registry.npmjs.org/@storybook/manager-webpack4/-/manager-webpack4-6.3.10.tgz", + "integrity": "sha512-TDHbqhAxizS1aXn0QBYi7F4coY4WjmVQYQU0vOkR/zUlMbF9pwAyvFgJOnKjqVkqOTi/zim6BX9GlYjC2PW9Qg==", "dev": true, "requires": { "@babel/core": "^7.12.10", "@babel/plugin-transform-template-literals": "^7.12.1", "@babel/preset-react": "^7.12.10", - "@storybook/addons": "6.3.6", - "@storybook/core-client": "6.3.6", - "@storybook/core-common": "6.3.6", - "@storybook/node-logger": "6.3.6", - "@storybook/theming": "6.3.6", - "@storybook/ui": "6.3.6", + "@storybook/addons": "6.3.10", + "@storybook/core-client": "6.3.10", + "@storybook/core-common": "6.3.10", + "@storybook/node-logger": "6.3.10", + "@storybook/theming": "6.3.10", + "@storybook/ui": "6.3.10", "@types/node": "^14.0.10", "@types/webpack": "^4.41.26", "babel-loader": "^8.2.2", @@ -4605,9 +4432,9 @@ }, "dependencies": { "@types/node": { - "version": "14.17.15", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.17.15.tgz", - "integrity": "sha512-D1sdW0EcSCmNdLKBGMYb38YsHUS6JcM7yQ6sLQ9KuZ35ck7LYCKE7kYFHOO59ayFOY3zobWVZxf4KXhYHcHYFA==", + "version": "14.17.21", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.17.21.tgz", + "integrity": "sha512-zv8ukKci1mrILYiQOwGSV4FpkZhyxQtuFWGya2GujWg+zVAeRQ4qbaMmWp9vb9889CFA8JECH7lkwCL6Ygg8kA==", "dev": true }, "commander": { @@ -4656,10 +4483,13 @@ } }, "node-fetch": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.2.tgz", - "integrity": "sha512-aLoxToI6RfZ+0NOjmWAgn9+LEd30YCkJKFSyWacNZdEKTit/ZMcKjGkTRo8uWEsnIb/hfKecNPEbln02PdWbcA==", - "dev": true + "version": "2.6.5", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.5.tgz", + "integrity": "sha512-mmlIVHJEu5rnIxgEgez6b9GgWXbkZj5YZ7fx+2r94a2E+Uirsp6HsPTPlomfdHtpt/B0cdKviwkoaM6pyvUOpQ==", + "dev": true, + "requires": { + "whatwg-url": "^5.0.0" + } }, "p-limit": { "version": "3.1.0", @@ -4802,15 +4632,25 @@ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true }, + "source-map-support": { + "version": "0.5.20", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.20.tgz", + "integrity": "sha512-n1lZZ8Ve4ksRqizaBQgxXDgKwttHDhyfQjA6YZZn8+AroHbsIz+JjwxQDxbp+7y5OYCI8t1Yk7etjD9CRd2hIw==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, "terser": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.7.2.tgz", - "integrity": "sha512-0Omye+RD4X7X69O0eql3lC4Heh/5iLj3ggxR/B5ketZLOtLiOqukUgjw3q4PDnNQbsrkKr3UMypqStQG3XKRvw==", + "version": "5.9.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.9.0.tgz", + "integrity": "sha512-h5hxa23sCdpzcye/7b8YqbE5OwKca/ni0RQz1uRX3tGh8haaGHqcuSqbGRybuAKNdntZ0mDgFNXPJ48xQ2RXKQ==", "dev": true, "requires": { "commander": "^2.20.0", "source-map": "~0.7.2", - "source-map-support": "~0.5.19" + "source-map-support": "~0.5.20" }, "dependencies": { "source-map": { @@ -4837,13 +4677,35 @@ "terser": "^5.3.4", "webpack-sources": "^1.4.3" } + }, + "tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=", + "dev": true + }, + "webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=", + "dev": true + }, + "whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=", + "dev": true, + "requires": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } } } }, "@storybook/node-logger": { - "version": "6.3.6", - "resolved": "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-6.3.6.tgz", - "integrity": "sha512-XMDkMN7nVRojjiezrURlkI57+nz3OoH4UBV6qJZICKclxtdKAy0wwOlUSYEUq+axcJ4nvdfzPPoDfGoj37SW7A==", + "version": "6.3.10", + "resolved": "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-6.3.10.tgz", + "integrity": "sha512-SqRoCCZxdyK/IJd5IWtNPWtK3g5xzoiFmX43ibPvL8qCl896m5U/+nhQ2vhaU+qd9BmH0LIZjU9QeUB3fsZAqg==", "dev": true, "requires": { "@types/npmlog": "^4.1.2", @@ -4854,27 +4716,27 @@ } }, "@storybook/postinstall": { - "version": "6.3.6", - "resolved": "https://registry.npmjs.org/@storybook/postinstall/-/postinstall-6.3.6.tgz", - "integrity": "sha512-90Izr8/GwLiXvdF2A3v1PCpWoxUBgqA0TrWGuiWXfJnfFRVlVrX9A/ClGUPSh80L3oE01E6raaOG4wW4JTRKfw==", + "version": "6.3.10", + "resolved": "https://registry.npmjs.org/@storybook/postinstall/-/postinstall-6.3.10.tgz", + "integrity": "sha512-uFaZTKh4d9FzYWxyc9K7AoFUrU8pA+tsDzXva4sAiB8MbGuq8knMtYkxhNrpV6MZuMXcmeN3PozixUM+tXj3YQ==", "dev": true, "requires": { "core-js": "^3.8.2" } }, "@storybook/react": { - "version": "6.3.6", - "resolved": "https://registry.npmjs.org/@storybook/react/-/react-6.3.6.tgz", - "integrity": "sha512-2c30XTe7WzKnvgHBGOp1dzBVlhcbc3oEX0SIeVE9ZYkLvRPF+J1jG948a26iqOCOgRAW13Bele37mG1gbl4tiw==", + "version": "6.3.10", + "resolved": "https://registry.npmjs.org/@storybook/react/-/react-6.3.10.tgz", + "integrity": "sha512-UNznbvkpxrBd3yVcptcednjhdoEWSz9wLE6yuTbrW5/E9lv4wuHmxFA42GHKVTNy8Pa7qqPgW5t1XfWivNwOOg==", "dev": true, "requires": { "@babel/preset-flow": "^7.12.1", "@babel/preset-react": "^7.12.10", "@pmmmwh/react-refresh-webpack-plugin": "^0.4.3", - "@storybook/addons": "6.3.6", - "@storybook/core": "6.3.6", - "@storybook/core-common": "6.3.6", - "@storybook/node-logger": "6.3.6", + "@storybook/addons": "6.3.10", + "@storybook/core": "6.3.10", + "@storybook/core-common": "6.3.10", + "@storybook/node-logger": "6.3.10", "@storybook/react-docgen-typescript-plugin": "1.0.2-canary.253f8c1.0", "@storybook/semver": "^7.3.2", "@types/webpack-env": "^1.16.0", @@ -4893,16 +4755,6 @@ "webpack": "4" }, "dependencies": { - "@storybook/semver": { - "version": "7.3.2", - "resolved": "https://registry.npmjs.org/@storybook/semver/-/semver-7.3.2.tgz", - "integrity": "sha512-SWeszlsiPsMI0Ps0jVNtH64cI5c0UF3f7KgjVKJoNP30crQ6wUSddY2hsdeczZXEKVJGEn50Q60flcGsQGIcrg==", - "dev": true, - "requires": { - "core-js": "^3.6.5", - "find-up": "^4.1.0" - } - }, "find-up": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", @@ -5057,13 +4909,13 @@ } }, "@storybook/router": { - "version": "6.3.6", - "resolved": "https://registry.npmjs.org/@storybook/router/-/router-6.3.6.tgz", - "integrity": "sha512-fQ1n7cm7lPFav7I+fStQciSVMlNdU+yLY6Fue252rpV5Q68bMTjwKpjO9P2/Y3CCj4QD3dPqwEkn4s0qUn5tNA==", + "version": "6.3.10", + "resolved": "https://registry.npmjs.org/@storybook/router/-/router-6.3.10.tgz", + "integrity": "sha512-cRyoNrBeBTOfiLYJumm0559cVJeO7z/ZDVcgLxi16uUjhu4nkio0chTwtdtrtTygKxJq8ibWq6LAjZAHDoeq8g==", "dev": true, "requires": { "@reach/router": "^1.3.4", - "@storybook/client-logger": "6.3.6", + "@storybook/client-logger": "6.3.10", "@types/reach__router": "^1.3.7", "core-js": "^3.8.2", "fast-deep-equal": "^3.1.3", @@ -5085,14 +4937,60 @@ } } }, + "@storybook/semver": { + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/@storybook/semver/-/semver-7.3.2.tgz", + "integrity": "sha512-SWeszlsiPsMI0Ps0jVNtH64cI5c0UF3f7KgjVKJoNP30crQ6wUSddY2hsdeczZXEKVJGEn50Q60flcGsQGIcrg==", + "dev": true, + "requires": { + "core-js": "^3.6.5", + "find-up": "^4.1.0" + }, + "dependencies": { + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + } + } + }, "@storybook/source-loader": { - "version": "6.3.6", - "resolved": "https://registry.npmjs.org/@storybook/source-loader/-/source-loader-6.3.6.tgz", - "integrity": "sha512-om3iS3a+D287FzBrbXB/IXB6Z5Ql2yc4dFKTy6FPe5v4N3U0p5puWOKUYWWbTX1JbcpRj0IXXo7952G68tcC1g==", + "version": "6.3.10", + "resolved": "https://registry.npmjs.org/@storybook/source-loader/-/source-loader-6.3.10.tgz", + "integrity": "sha512-I8wm8vkLB2S29iAHezkMZzzb1nvc1zZqVaWBlAqK5T2AuQojMIiKapU4Mohj9XORbcFfz7Kn7ULYgrx4cl5lZw==", "dev": true, "requires": { - "@storybook/addons": "6.3.6", - "@storybook/client-logger": "6.3.6", + "@storybook/addons": "6.3.10", + "@storybook/client-logger": "6.3.10", "@storybook/csf": "0.0.1", "core-js": "^3.8.2", "estraverse": "^5.2.0", @@ -5118,15 +5016,15 @@ } }, "@storybook/theming": { - "version": "6.3.6", - "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-6.3.6.tgz", - "integrity": "sha512-mPrQrMUREajNEWxzgR8t0YIZsI9avPv25VNA08fANnwVsc887p4OL5eCTL2dFIlD34YDzAwiyRKYoLj2vDW4nw==", + "version": "6.3.10", + "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-6.3.10.tgz", + "integrity": "sha512-yX7qKrnFaa1otjrf21dP9HpMLJLw+iV7gcNo/RVkPSixWzglCIGgQ8T6vVjfjIgBUl6KbiE2qwqaFjLLe4fIYQ==", "dev": true, "requires": { "@emotion/core": "^10.1.1", "@emotion/is-prop-valid": "^0.8.6", "@emotion/styled": "^10.0.27", - "@storybook/client-logger": "6.3.6", + "@storybook/client-logger": "6.3.10", "core-js": "^3.8.2", "deep-object-diff": "^1.1.0", "emotion-theming": "^10.0.27", @@ -5146,21 +5044,21 @@ } }, "@storybook/ui": { - "version": "6.3.6", - "resolved": "https://registry.npmjs.org/@storybook/ui/-/ui-6.3.6.tgz", - "integrity": "sha512-S9FjISUiAmbBR7d6ubUEcELQdffDfRxerloxkXs5Ou7n8fEPqpgQB01Hw5MLRUwTEpxPzHn+xtIGYritAGxt/Q==", + "version": "6.3.10", + "resolved": "https://registry.npmjs.org/@storybook/ui/-/ui-6.3.10.tgz", + "integrity": "sha512-TkaHgpTBp0nBr6A/v04k1V2rbRy7ajAoL9bFSU7hLNXDyQInUzT/p13+4JMR2TANSzPAycJNa3zRbO7n1MgV5w==", "dev": true, "requires": { "@emotion/core": "^10.1.1", - "@storybook/addons": "6.3.6", - "@storybook/api": "6.3.6", - "@storybook/channels": "6.3.6", - "@storybook/client-logger": "6.3.6", - "@storybook/components": "6.3.6", - "@storybook/core-events": "6.3.6", - "@storybook/router": "6.3.6", + "@storybook/addons": "6.3.10", + "@storybook/api": "6.3.10", + "@storybook/channels": "6.3.10", + "@storybook/client-logger": "6.3.10", + "@storybook/components": "6.3.10", + "@storybook/core-events": "6.3.10", + "@storybook/router": "6.3.10", "@storybook/semver": "^7.3.2", - "@storybook/theming": "6.3.6", + "@storybook/theming": "6.3.10", "@types/markdown-to-jsx": "^6.11.3", "copy-to-clipboard": "^3.3.1", "core-js": "^3.8.2", @@ -5182,35 +5080,6 @@ "store2": "^2.12.0" }, "dependencies": { - "@storybook/semver": { - "version": "7.3.2", - "resolved": "https://registry.npmjs.org/@storybook/semver/-/semver-7.3.2.tgz", - "integrity": "sha512-SWeszlsiPsMI0Ps0jVNtH64cI5c0UF3f7KgjVKJoNP30crQ6wUSddY2hsdeczZXEKVJGEn50Q60flcGsQGIcrg==", - "dev": true, - "requires": { - "core-js": "^3.6.5", - "find-up": "^4.1.0" - } - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, "markdown-to-jsx": { "version": "6.11.4", "resolved": "https://registry.npmjs.org/markdown-to-jsx/-/markdown-to-jsx-6.11.4.tgz", @@ -5221,21 +5090,6 @@ "unquote": "^1.1.0" } }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true - }, "qs": { "version": "6.10.1", "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.1.tgz", @@ -10782,12 +10636,52 @@ "dev": true }, "ansi-align": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.0.tgz", - "integrity": "sha512-ZpClVKqXN3RGBmKibdfWzqCY4lnjEuoNzU5T0oEFpfd/z5qJHVarukridD4juLO2FXMiwUQxr9WqQtaYa8XRYw==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", + "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", "dev": true, "requires": { - "string-width": "^3.0.0" + "string-width": "^4.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + } } }, "ansi-colors": { @@ -10813,10 +10707,10 @@ } } }, - "ansi-html": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", - "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=", + "ansi-html-community": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", + "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", "dev": true }, "ansi-regex": { @@ -11069,16 +10963,77 @@ } }, "array.prototype.map": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/array.prototype.map/-/array.prototype.map-1.0.3.tgz", - "integrity": "sha512-nNcb30v0wfDyIe26Yif3PcV1JXQp4zEeEfupG7L4SRjnD6HLbO5b2a7eVSba53bOx4YCHYMBHt+Fp4vYstneRA==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/array.prototype.map/-/array.prototype.map-1.0.4.tgz", + "integrity": "sha512-Qds9QnX7A0qISY7JT5WuJO0NJPE9CMlC6JzHQfhpqAAQQzufVRoeH7EzUY5GcPTx72voG8LV/5eo+b8Qi8hmhA==", "dev": true, "requires": { - "call-bind": "^1.0.0", + "call-bind": "^1.0.2", "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.1", + "es-abstract": "^1.19.0", "es-array-method-boxes-properly": "^1.0.0", - "is-string": "^1.0.5" + "is-string": "^1.0.7" + }, + "dependencies": { + "es-abstract": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.1.tgz", + "integrity": "sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "get-intrinsic": "^1.1.1", + "get-symbol-description": "^1.0.0", + "has": "^1.0.3", + "has-symbols": "^1.0.2", + "internal-slot": "^1.0.3", + "is-callable": "^1.2.4", + "is-negative-zero": "^2.0.1", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.1", + "is-string": "^1.0.7", + "is-weakref": "^1.0.1", + "object-inspect": "^1.11.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.2", + "string.prototype.trimend": "^1.0.4", + "string.prototype.trimstart": "^1.0.4", + "unbox-primitive": "^1.0.1" + } + }, + "is-callable": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz", + "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==", + "dev": true + }, + "is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "object-inspect": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.11.0.tgz", + "integrity": "sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg==", + "dev": true + } } }, "arrify": { @@ -12126,9 +12081,9 @@ }, "dependencies": { "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true }, "ansi-styles": { @@ -12184,23 +12139,23 @@ "dev": true }, "string-width": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", - "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "requires": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" + "strip-ansi": "^6.0.1" } }, "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, "requires": { - "ansi-regex": "^5.0.0" + "ansi-regex": "^5.0.1" } }, "supports-color": { @@ -12416,9 +12371,9 @@ "dev": true }, "c8": { - "version": "7.8.0", - "resolved": "https://registry.npmjs.org/c8/-/c8-7.8.0.tgz", - "integrity": "sha512-x2Bx+IIEd608B1LmjiNQ/kizRPkCWo5XzuV57J9afPjAHSnYXALwbCSOkQ7cSaNXBNblfqcvdycj+klmL+j6yA==", + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/c8/-/c8-7.9.0.tgz", + "integrity": "sha512-aQ7dC8gASnKdBwHUuYuzsdKCEDrKnWr7ZuZUnf4CNAL81oyKloKrs7H7zYvcrmCtIrMToudBSUhq2q+LLBMvgg==", "dev": true, "requires": { "@bcoe/v8-coverage": "^0.2.3", @@ -12436,9 +12391,9 @@ }, "dependencies": { "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true }, "ansi-styles": { @@ -12532,23 +12487,23 @@ "dev": true }, "string-width": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", - "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "requires": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" + "strip-ansi": "^6.0.1" } }, "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, "requires": { - "ansi-regex": "^5.0.0" + "ansi-regex": "^5.0.1" } }, "wrap-ansi": { @@ -13325,9 +13280,9 @@ }, "dependencies": { "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true }, "emoji-regex": { @@ -13343,23 +13298,23 @@ "dev": true }, "string-width": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", - "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "requires": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" + "strip-ansi": "^6.0.1" } }, "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, "requires": { - "ansi-regex": "^5.0.0" + "ansi-regex": "^5.0.1" } } } @@ -19375,9 +19330,9 @@ } }, "html-entities": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.4.0.tgz", - "integrity": "sha512-8nxjcBcd8wovbeKx7h3wTji4e6+rhaVuPNpMqwWgnHh+N9ToqsCs6XztWRBPQ+UtzsoMAdKZtUENoVzU/EMtZA==", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.3.2.tgz", + "integrity": "sha512-c3Ab/url5ksaT0WyleslpBEthOzWhrjQbg75y7XUsfSzi3Dgzt0l8w5e7DylRn15MTlMMD58dTfzddNS2kcAjQ==", "dev": true }, "html-escaper": { @@ -20418,6 +20373,12 @@ "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==", "dev": true }, + "is-shared-array-buffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz", + "integrity": "sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA==", + "dev": true + }, "is-stream": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", @@ -20479,6 +20440,15 @@ "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", "dev": true }, + "is-weakref": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.1.tgz", + "integrity": "sha512-b2jKc2pQZjaeFYWEf7ScFj+Be1I+PXmlu572Q8coTXZ+LD/QQZ7ShPMst8h16riVgyXTQwUsFEl74mDvc/3MHQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.0" + } + }, "is-whitespace-character": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-whitespace-character/-/is-whitespace-character-1.0.4.tgz", @@ -20642,9 +20612,9 @@ } }, "iterate-iterator": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/iterate-iterator/-/iterate-iterator-1.0.1.tgz", - "integrity": "sha512-3Q6tudGN05kbkDQDI4CqjaBf4qf85w6W6GnuZDtUVYwKgtC1q8yxYX7CZed7N+tLzQqS6roujWvszf13T+n9aw==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/iterate-iterator/-/iterate-iterator-1.0.2.tgz", + "integrity": "sha512-t91HubM4ZDQ70M9wqp+pcNpu8OyJ9UAtXntT/Bcsvp5tZMnz9vRa+IunKXeI8AnfZMTv0jNuVEmGeLSMjVvfPw==", "dev": true }, "iterate-value": { @@ -23760,9 +23730,9 @@ "dev": true }, "memfs": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.2.4.tgz", - "integrity": "sha512-2mDCPhuduRPOxlfgsXF9V+uqC6Jgz8zt/bNe4d4W7d5f6pCzHrWkxLNr17jKGXd4+j2kQNsAG2HARPnt74sqVQ==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.3.0.tgz", + "integrity": "sha512-BEE62uMfKOavX3iG7GYX43QJ+hAeeWnwIAuJ/R6q96jaMtiLzhsxHJC8B1L7fK7Pt/vXDRwb3SG/yBpNGDPqzg==", "dev": true, "requires": { "fs-monkey": "1.0.3" @@ -26632,37 +26602,14 @@ "postcss": "^7.0.26" }, "dependencies": { - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "dependencies": { - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, "postcss": { - "version": "7.0.36", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", - "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", "dev": true, "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" + "picocolors": "^0.2.1", + "source-map": "^0.6.1" } }, "source-map": { @@ -26670,15 +26617,6 @@ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } } } }, @@ -28731,9 +28669,9 @@ "dev": true }, "prismjs": { - "version": "1.24.1", - "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.24.1.tgz", - "integrity": "sha512-mNPsedLuk90RVJioIky8ANZEwYm5w9LcvCXrxHlwf4fNVSn8jEipMybMkWUyyF0JhnC+C4VcOVSBuHRKs1L5Ow==", + "version": "1.25.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.25.0.tgz", + "integrity": "sha512-WCjJHl1KEWbnkQom1+SzftbtXMKQoezOCYs5rECqMN+jP+apI7ftoflyqigqzopSO3hMhTEb0mFClA8lkolgEg==", "dev": true }, "process": { @@ -28836,28 +28774,150 @@ "dev": true }, "promise.allsettled": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/promise.allsettled/-/promise.allsettled-1.0.4.tgz", - "integrity": "sha512-o73CbvQh/OnPFShxHcHxk0baXR2a1m4ozb85ha0H14VEoi/EJJLa9mnPfEWJx9RjA9MLfhdjZ8I6HhWtBa64Ag==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/promise.allsettled/-/promise.allsettled-1.0.5.tgz", + "integrity": "sha512-tVDqeZPoBC0SlzJHzWGZ2NKAguVq2oiYj7gbggbiTvH2itHohijTp7njOUA0aQ/nl+0lr/r6egmhoYu63UZ/pQ==", "dev": true, "requires": { - "array.prototype.map": "^1.0.3", + "array.prototype.map": "^1.0.4", "call-bind": "^1.0.2", "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.2", - "get-intrinsic": "^1.0.2", + "es-abstract": "^1.19.1", + "get-intrinsic": "^1.1.1", "iterate-value": "^1.0.2" + }, + "dependencies": { + "es-abstract": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.1.tgz", + "integrity": "sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "get-intrinsic": "^1.1.1", + "get-symbol-description": "^1.0.0", + "has": "^1.0.3", + "has-symbols": "^1.0.2", + "internal-slot": "^1.0.3", + "is-callable": "^1.2.4", + "is-negative-zero": "^2.0.1", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.1", + "is-string": "^1.0.7", + "is-weakref": "^1.0.1", + "object-inspect": "^1.11.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.2", + "string.prototype.trimend": "^1.0.4", + "string.prototype.trimstart": "^1.0.4", + "unbox-primitive": "^1.0.1" + } + }, + "is-callable": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz", + "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==", + "dev": true + }, + "is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "object-inspect": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.11.0.tgz", + "integrity": "sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg==", + "dev": true + } } }, "promise.prototype.finally": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/promise.prototype.finally/-/promise.prototype.finally-3.1.2.tgz", - "integrity": "sha512-A2HuJWl2opDH0EafgdjwEw7HysI8ff/n4lW4QEVBCUXFk9QeGecBWv0Deph0UmLe3tTNYegz8MOjsVuE6SMoJA==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/promise.prototype.finally/-/promise.prototype.finally-3.1.3.tgz", + "integrity": "sha512-EXRF3fC9/0gz4qkt/f5EP5iW4kj9oFpBICNpCNOb/52+8nlHIX07FPLbi/q4qYBQ1xZqivMzTpNQSnArVASolQ==", "dev": true, "requires": { + "call-bind": "^1.0.2", "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.0", - "function-bind": "^1.1.1" + "es-abstract": "^1.19.1" + }, + "dependencies": { + "es-abstract": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.1.tgz", + "integrity": "sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "get-intrinsic": "^1.1.1", + "get-symbol-description": "^1.0.0", + "has": "^1.0.3", + "has-symbols": "^1.0.2", + "internal-slot": "^1.0.3", + "is-callable": "^1.2.4", + "is-negative-zero": "^2.0.1", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.1", + "is-string": "^1.0.7", + "is-weakref": "^1.0.1", + "object-inspect": "^1.11.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.2", + "string.prototype.trimend": "^1.0.4", + "string.prototype.trimstart": "^1.0.4", + "unbox-primitive": "^1.0.1" + } + }, + "is-callable": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz", + "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==", + "dev": true + }, + "is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "object-inspect": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.11.0.tgz", + "integrity": "sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg==", + "dev": true + } } }, "promptly": { @@ -29373,9 +29433,9 @@ } }, "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true }, "browserslist": { @@ -30154,6 +30214,14 @@ "hastscript": "^6.0.0", "parse-entities": "^2.0.0", "prismjs": "~1.24.0" + }, + "dependencies": { + "prismjs": { + "version": "1.24.1", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.24.1.tgz", + "integrity": "sha512-mNPsedLuk90RVJioIky8ANZEwYm5w9LcvCXrxHlwf4fNVSn8jEipMybMkWUyyF0JhnC+C4VcOVSBuHRKs1L5Ow==", + "dev": true + } } }, "regenerate": { @@ -32155,25 +32223,147 @@ } }, "string.prototype.padend": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.1.2.tgz", - "integrity": "sha512-/AQFLdYvePENU3W5rgurfWSMU6n+Ww8n/3cUt7E+vPBB/D7YDG8x+qjoFs4M/alR2bW7Qg6xMjVwWUOvuQ0XpQ==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.1.3.tgz", + "integrity": "sha512-jNIIeokznm8SD/TZISQsZKYu7RJyheFNt84DUPrh482GC8RVp2MKqm2O5oBRdGxbDQoXrhhWtPIWQOiy20svUg==", "dev": true, "requires": { "call-bind": "^1.0.2", "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.2" + "es-abstract": "^1.19.1" + }, + "dependencies": { + "es-abstract": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.1.tgz", + "integrity": "sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "get-intrinsic": "^1.1.1", + "get-symbol-description": "^1.0.0", + "has": "^1.0.3", + "has-symbols": "^1.0.2", + "internal-slot": "^1.0.3", + "is-callable": "^1.2.4", + "is-negative-zero": "^2.0.1", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.1", + "is-string": "^1.0.7", + "is-weakref": "^1.0.1", + "object-inspect": "^1.11.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.2", + "string.prototype.trimend": "^1.0.4", + "string.prototype.trimstart": "^1.0.4", + "unbox-primitive": "^1.0.1" + } + }, + "is-callable": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz", + "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==", + "dev": true + }, + "is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "object-inspect": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.11.0.tgz", + "integrity": "sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg==", + "dev": true + } } }, "string.prototype.padstart": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/string.prototype.padstart/-/string.prototype.padstart-3.1.2.tgz", - "integrity": "sha512-HDpngIP3pd0DeazrfqzuBrQZa+D2arKWquEHfGt5LzVjd+roLC3cjqVI0X8foaZz5rrrhcu8oJAQamW8on9dqw==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/string.prototype.padstart/-/string.prototype.padstart-3.1.3.tgz", + "integrity": "sha512-NZydyOMtYxpTjGqp0VN5PYUF/tsU15yDMZnUdj16qRUIUiMJkHHSDElYyQFrMu+/WloTpA7MQSiADhBicDfaoA==", "dev": true, "requires": { "call-bind": "^1.0.2", "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.2" + "es-abstract": "^1.19.1" + }, + "dependencies": { + "es-abstract": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.1.tgz", + "integrity": "sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "get-intrinsic": "^1.1.1", + "get-symbol-description": "^1.0.0", + "has": "^1.0.3", + "has-symbols": "^1.0.2", + "internal-slot": "^1.0.3", + "is-callable": "^1.2.4", + "is-negative-zero": "^2.0.1", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.1", + "is-string": "^1.0.7", + "is-weakref": "^1.0.1", + "object-inspect": "^1.11.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.2", + "string.prototype.trimend": "^1.0.4", + "string.prototype.trimstart": "^1.0.4", + "unbox-primitive": "^1.0.1" + } + }, + "is-callable": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz", + "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==", + "dev": true + }, + "is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "object-inspect": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.11.0.tgz", + "integrity": "sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg==", + "dev": true + } } }, "string.prototype.trim": { @@ -34406,9 +34596,9 @@ "dev": true }, "v8-to-istanbul": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.0.0.tgz", - "integrity": "sha512-LkmXi8UUNxnCC+JlH7/fsfsKr5AU110l+SYGJimWNkWhxbN5EyeOtm1MJ0hhvqMMOhGwBj1Fp70Yv9i+hX0QAg==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.1.0.tgz", + "integrity": "sha512-/PRhfd8aTNp9Ggr62HPzXg2XasNFGy5PBt0Rp04du7/8GNNSgxFL6WBTkgMKSL9bFjH+8kKEG3f37FmxiTqUUA==", "dev": true, "requires": { "@types/istanbul-lib-coverage": "^2.0.1", @@ -35095,30 +35285,30 @@ "dev": true }, "webpack-hot-middleware": { - "version": "2.25.0", - "resolved": "https://registry.npmjs.org/webpack-hot-middleware/-/webpack-hot-middleware-2.25.0.tgz", - "integrity": "sha512-xs5dPOrGPCzuRXNi8F6rwhawWvQQkeli5Ro48PRuQh8pYPCPmNnltP9itiUPT4xI8oW+y0m59lyyeQk54s5VgA==", + "version": "2.25.1", + "resolved": "https://registry.npmjs.org/webpack-hot-middleware/-/webpack-hot-middleware-2.25.1.tgz", + "integrity": "sha512-Koh0KyU/RPYwel/khxbsDz9ibDivmUbrRuKSSQvW42KSDdO4w23WI3SkHpSUKHE76LrFnnM/L7JCrpBwu8AXYw==", "dev": true, "requires": { - "ansi-html": "0.0.7", - "html-entities": "^1.2.0", + "ansi-html-community": "0.0.8", + "html-entities": "^2.1.0", "querystring": "^0.2.0", - "strip-ansi": "^3.0.0" + "strip-ansi": "^6.0.0" }, "dependencies": { "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true }, "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "^5.0.1" } } } @@ -35483,9 +35673,9 @@ }, "dependencies": { "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true }, "emoji-regex": { @@ -35501,23 +35691,23 @@ "dev": true }, "string-width": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", - "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "requires": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" + "strip-ansi": "^6.0.1" } }, "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, "requires": { - "ansi-regex": "^5.0.0" + "ansi-regex": "^5.0.1" } } } diff --git a/package.json b/package.json index cfa4230180a..7f384678a40 100644 --- a/package.json +++ b/package.json @@ -82,15 +82,15 @@ "@babel/preset-env": "7.14.9", "@babel/preset-typescript": "7.14.5", "@octokit/graphql": "4.6.4", - "@storybook/addon-a11y": "6.3.6", - "@storybook/addon-actions": "6.3.6", - "@storybook/addon-docs": "6.3.6", + "@storybook/addon-a11y": "6.3.10", + "@storybook/addon-actions": "6.3.10", + "@storybook/addon-docs": "6.3.10", "@storybook/addon-knobs": "6.3.1", - "@storybook/addon-links": "6.3.6", - "@storybook/addon-storysource": "6.3.6", - "@storybook/addon-viewport": "6.3.6", - "@storybook/addons": "6.3.6", - "@storybook/react": "6.3.6", + "@storybook/addon-links": "6.3.10", + "@storybook/addon-storysource": "6.3.10", + "@storybook/addon-viewport": "6.3.10", + "@storybook/addons": "6.3.10", + "@storybook/react": "6.3.10", "@testing-library/jest-dom": "5.14.1", "@testing-library/react": "11.2.7", "@testing-library/react-hooks": "5.1.3", From 7db259ccb162d8d5bfff50418ece99cee4a4839f Mon Sep 17 00:00:00 2001 From: "Michael P. Pfeiffer" Date: Thu, 7 Oct 2021 15:42:49 +0200 Subject: [PATCH 03/16] Convert product elements shared config to TypeScript (#4908) * Convert product elements shared config to TypeScript * Limit import to type * Convert deprecated empty save function * Add comment explaining omitted attributes and title properties Co-authored-by: Tom Cafferkey --- .../shared/{config.js => config.tsx} | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) rename assets/js/atomic/blocks/product-elements/shared/{config.js => config.tsx} (66%) diff --git a/assets/js/atomic/blocks/product-elements/shared/config.js b/assets/js/atomic/blocks/product-elements/shared/config.tsx similarity index 66% rename from assets/js/atomic/blocks/product-elements/shared/config.js rename to assets/js/atomic/blocks/product-elements/shared/config.tsx index 166661e195a..ed90cf31cfc 100644 --- a/assets/js/atomic/blocks/product-elements/shared/config.js +++ b/assets/js/atomic/blocks/product-elements/shared/config.tsx @@ -4,6 +4,7 @@ import { __ } from '@wordpress/i18n'; import { Icon, grid } from '@woocommerce/icons'; import { isExperimentalBuild } from '@woocommerce/block-settings'; +import type { BlockConfiguration } from '@wordpress/blocks'; /** * Internal dependencies */ @@ -11,8 +12,9 @@ import save from '../save'; /** * Holds default config for this collection of blocks. + * attributes and title are omitted here as these are added on an individual block level. */ -export default { +const sharedConfig: Omit< BlockConfiguration, 'attributes' | 'title' > = { category: 'woocommerce-product-elements', keywords: [ __( 'WooCommerce', 'woo-gutenberg-products-block' ) ], icon: { @@ -23,12 +25,17 @@ export default { html: false, }, parent: isExperimentalBuild() - ? null + ? undefined : [ '@woocommerce/all-products', '@woocommerce/single-product' ], save, deprecated: [ { - save() {}, + attributes: {}, + save(): null { + return null; + }, }, ], }; + +export default sharedConfig; From e8bef480491cae655f7cbfeb89429d4f411816e6 Mon Sep 17 00:00:00 2001 From: Niels Lange Date: Fri, 8 Oct 2021 11:54:52 +0700 Subject: [PATCH 04/16] Add documentation guidelines (#4893) * Add documentation guidelines * Link to Automattic Writing Style Guide * Adjust section for heading usage * Update docs/contributors/documentation-guidelines.md Co-authored-by: Thomas Roberts <5656702+opr@users.noreply.github.com> Co-authored-by: Thomas Roberts <5656702+opr@users.noreply.github.com> --- docs/contributors/documentation-guidelines.md | 156 ++++++++++++++++++ 1 file changed, 156 insertions(+) create mode 100644 docs/contributors/documentation-guidelines.md diff --git a/docs/contributors/documentation-guidelines.md b/docs/contributors/documentation-guidelines.md new file mode 100644 index 00000000000..d84dc29ea58 --- /dev/null +++ b/docs/contributors/documentation-guidelines.md @@ -0,0 +1,156 @@ +# Documentation Guidelines + +- [Documentation Guidelines](#documentation-guidelines) + - [Use Automattic Writing Style Guide](#use-automattic-writing-style-guide) + - [Use active instead of passive voice](#use-active-instead-of-passive-voice) + - [Use the personal pronoun “you”](#use-the-personal-pronoun-you) + - [Don’t use gendered pronouns](#dont-use-gendered-pronouns) + - [Filename must resemble the title](#filename-must-resemble-the-title) + - [Use correct heading hierarchy](#use-correct-heading-hierarchy) + - [Use semantically correct markup](#use-semantically-correct-markup) + - [Use correct spelling](#use-correct-spelling) + - [Use images not wider than 50% width](#use-images-not-wider-than-50-width) + - [Use descriptive links](#use-descriptive-links) + - [Explain arguments](#explain-arguments) + - [Explicitly define language for code examples](#explicitly-define-language-for-code-examples) + - [Use table of contents for top-level readme](#use-table-of-contents-for-top-level-readme) + - [Use internal links](#use-internal-links) + - [Sort releases descending](#sort-releases-descending) + - [Structure “How to” instructions](#structure-how-to-instructions) + - [Link references](#link-references) + +## Use Automattic Writing Style Guide + +The [Automattic Writing Style Guide](https://fieldguide.automattic.com/the-automattic-style-guide/) serves as the foundation of these documentation guidelines. + +## Use active instead of passive voice + +Active voice should be preferred over passive voice. Passive voice can be used, when it fits better. + +**Example** + +- **Active voice:** You want to render your own components in specific places in the Cart and Checkout. +- **Passive voice:** Slots and Fills add the possibility to render your own HTML in pre-defined places in the Cart and Checkout. + +## Use the personal pronoun “you” + +When using active voice, the second person singular (you) must be used. + +## Don’t use gendered pronouns + +Gendered pronouns (she/her/hers and he/him/his) must not be used. + +## Filename must resemble the title + +The filename of the document must match the title. + +**Example** + +- **Title:** Slots and Fills +- **Filename:** slots-and-fills.md + +## Use correct heading hierarchy + +Correct H1-H6 headings must be used. Each document can only have one H1 heading. An H3 heading can only be used within an H2 heading, an H4 heading can only be used within an H3 heading, etc. If possible, avoid using articles in headings. + +**Example** + +- **Incorrect:** The problem +- **Correct:** Problem + +## Use semantically correct markup + +The markup used must be semantically correct, e.g. list markup must only be used to display a list. + +## Use correct spelling + +Classes and tokens from the codebase must be written exactly as they appear in the codebase. Proper nouns must be written correctly. + +**Example** + +- **ExtendRestApi:** The `p` and the `i` of `ExtendRestApi` are written in lowercase +- **Composer:** The `C` of `Composer` is written in uppercase. +- **ESLint:** The `E`, the `S` and the `L` of `ESLint` are written in uppercase. + +## Use images not wider than 50% width + +Embedded images should not exceed a width of 50%. + +## Use descriptive links + +When linking to another document, a descriptive link text must be used. + +**Example** + +- **Incorrect:** Check this document +- **Correct:** Check the Slot Fill documentation + +## Explain arguments + +When listing or describing arguments, a table must be used to describe them. Refer to them as either arguments or props, depending on if they’re being used on a component or in a function/method. In the table, the description column should begin with a capital letter and end in a full stop. When listing an argument that is an array/object, list the argument name, type: array/object and a high-level description of what the purpose of the argument is. Then below, you detail the individual keys of the array/object. + +**Example** + +| Argument | Type | Default value | Required | Description | +| -------- | ---- | ------------- | -------- | ----------- | +| ... | ... | ... | ... | ... | + +## Explicitly define language for code examples + +When using code examples, the fence format and the language definition must be used. + +**Example** + +- **CSS code example:** +
+
+```CSS
+/* This will apply to prices in the checkout block */
+.wc-block-checkout .wc-block-components-formatted-money-amount {
+	font-style: italic;
+}
+```
+
+
+ +- **JS code example:** +
+
+```js
+import { registerExpressPaymentMethod } from '@woocommerce/blocks-registry';
+```
+
+
+ +## Use table of contents for top-level readme + +Every top-level README must have a table of contents. The table of contents can be generated automatically using the Visual Studio Code extension Markdown All in One. + +## Use internal links + +When listing features and options, e.g. ExperimentalOrderMeta, a table of contents with internal links must be used to allow jumping to the specific feature and option directly. + +## Sort releases descending + +Releases must be sorted starting with the most recent release. + +**Example** + +- 5.7.1 +- 5.7.0 +- 5.6.0 +- 5.5.0 + +## Structure “How to” instructions + +When explaining functionality, the following structure should be used: + +- Problem +- Solution +- Usage +- Things to consider +- Putting it together + +## Link references + +When referencing other documentations, the corresponding document should be linked. From 876c7773662ae3bd22e2232a2409a67367bf1a3b Mon Sep 17 00:00:00 2001 From: Chouby Date: Fri, 8 Oct 2021 11:27:03 +0200 Subject: [PATCH 05/16] Prefix the input id with wc- instead of wp- (#4882) --- src/BlockTypes/ProductSearch.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/BlockTypes/ProductSearch.php b/src/BlockTypes/ProductSearch.php index cc2b2b50fad..613aa67d77d 100644 --- a/src/BlockTypes/ProductSearch.php +++ b/src/BlockTypes/ProductSearch.php @@ -71,7 +71,7 @@ protected function render( $attributes, $content ) { 'after' ); - $input_id = 'wp-block-search__input-' . ( ++$instance_id ); + $input_id = 'wc-block-search__input-' . ( ++$instance_id ); $wrapper_attributes = get_block_wrapper_attributes( array( 'class' => implode( From 4642467c2f2e7b7cdb07b8d6c12d57b2f8b9d0f7 Mon Sep 17 00:00:00 2001 From: Thomas Roberts <5656702+opr@users.noreply.github.com> Date: Fri, 8 Oct 2021 11:58:44 +0100 Subject: [PATCH 06/16] Add screenshots on E2E test failures (#4898) * Add test environment to catch errors * Add jest-circus and jest-html-reporters This is so we can log the screenshots and errors that happen during E2E tests. * Use the jest reporters and jest-circus to run the E2E tests * Force cart test to break Revert this! * Upload jest report artifact when tests fail * Run artifact upload on failure * Upload entire report directory to artifact * Revert "Force cart test to break" This reverts commit c57f2c5ab1d7b60d8824d854c1cb9a8281a71c4b. * Update .gitignore and jest.config * Force cart test to break * Force cart test to break * Remove from jest-html-reporter path This was causing the artefact not to upload. * Revert "Force cart test to break" Co-authored-by: Niels Lange --- .github/workflows/php-js-e2e-tests.yml | 14 + .gitignore | 1 + package-lock.json | 817 ++++++++++++++++++++++++- package.json | 2 + tests/e2e/config/environment.js | 16 + tests/e2e/config/jest.config.js | 10 + 6 files changed, 859 insertions(+), 1 deletion(-) create mode 100644 tests/e2e/config/environment.js diff --git a/.github/workflows/php-js-e2e-tests.yml b/.github/workflows/php-js-e2e-tests.yml index 9d1afe44690..3add0ae3347 100644 --- a/.github/workflows/php-js-e2e-tests.yml +++ b/.github/workflows/php-js-e2e-tests.yml @@ -121,6 +121,13 @@ jobs: npm run wp-env clean all npm run test:e2e + - name: Upload artifacts on failure + if: ${{ failure() }} + uses: actions/upload-artifact@v2 + with: + name: e2e-with-gutenberg-test-report + path: reports/e2e + JSE2ETests: name: JavaScript E2E Tests (latest) needs: Setup @@ -182,3 +189,10 @@ jobs: npm run wp-env start npm run wp-env clean all npm run test:e2e + + - name: Upload artifacts on failure + if: ${{ failure() }} + uses: actions/upload-artifact@v2 + with: + name: e2e-test-report + path: reports/e2e diff --git a/.gitignore b/.gitignore index aa70a57e11e..e0ed3fc037c 100644 --- a/.gitignore +++ b/.gitignore @@ -38,6 +38,7 @@ tests/cli/vendor /tmp /tests/bin/tmp /tests/e2e-tests/config/local-*.json +/reports # Logs /logs diff --git a/package-lock.json b/package-lock.json index 87538193d06..d600bc8efbe 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11945,6 +11945,16 @@ "dev": true, "optional": true }, + "bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "dev": true, + "optional": true, + "requires": { + "file-uri-to-path": "1.0.0" + } + }, "bl": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", @@ -15129,6 +15139,12 @@ "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==" }, + "define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "dev": true + }, "define-properties": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", @@ -17684,6 +17700,13 @@ } } }, + "file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", + "dev": true, + "optional": true + }, "filelist": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.2.tgz", @@ -20919,6 +20942,764 @@ } } }, + "jest-circus": { + "version": "27.2.4", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-27.2.4.tgz", + "integrity": "sha512-TtheheTElrGjlsY9VxkzUU1qwIx05ItIusMVKnvNkMt4o/PeegLRcjq3Db2Jz0GGdBalJdbzLZBgeulZAJxJWA==", + "dev": true, + "requires": { + "@jest/environment": "^27.2.4", + "@jest/test-result": "^27.2.4", + "@jest/types": "^27.2.4", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^0.7.0", + "expect": "^27.2.4", + "is-generator-fn": "^2.0.0", + "jest-each": "^27.2.4", + "jest-matcher-utils": "^27.2.4", + "jest-message-util": "^27.2.4", + "jest-runtime": "^27.2.4", + "jest-snapshot": "^27.2.4", + "jest-util": "^27.2.4", + "pretty-format": "^27.2.4", + "slash": "^3.0.0", + "stack-utils": "^2.0.3", + "throat": "^6.0.1" + }, + "dependencies": { + "@jest/console": { + "version": "27.2.4", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.2.4.tgz", + "integrity": "sha512-94znCKynPZpDpYHQ6esRJSc11AmONrVkBOBZiD7S+bSubHhrUfbS95EY5HIOxhm4PQO7cnvZkL3oJcY0oMA+Wg==", + "dev": true, + "requires": { + "@jest/types": "^27.2.4", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^27.2.4", + "jest-util": "^27.2.4", + "slash": "^3.0.0" + } + }, + "@jest/environment": { + "version": "27.2.4", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.2.4.tgz", + "integrity": "sha512-wkuui5yr3SSQW0XD0Qm3TATUbL/WE3LDEM3ulC+RCQhMf2yxhci8x7svGkZ4ivJ6Pc94oOzpZ6cdHBAMSYd1ew==", + "dev": true, + "requires": { + "@jest/fake-timers": "^27.2.4", + "@jest/types": "^27.2.4", + "@types/node": "*", + "jest-mock": "^27.2.4" + } + }, + "@jest/fake-timers": { + "version": "27.2.4", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.2.4.tgz", + "integrity": "sha512-cs/TzvwWUM7kAA6Qm/890SK6JJ2pD5RfDNM3SSEom6BmdyV6OiWP1qf/pqo6ts6xwpcM36oN0wSEzcZWc6/B6w==", + "dev": true, + "requires": { + "@jest/types": "^27.2.4", + "@sinonjs/fake-timers": "^8.0.1", + "@types/node": "*", + "jest-message-util": "^27.2.4", + "jest-mock": "^27.2.4", + "jest-util": "^27.2.4" + } + }, + "@jest/globals": { + "version": "27.2.4", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-27.2.4.tgz", + "integrity": "sha512-DRsRs5dh0i+fA9mGHylTU19+8fhzNJoEzrgsu+zgJoZth3x8/0juCQ8nVVdW1er4Cqifb/ET7/hACYVPD0dBEA==", + "dev": true, + "requires": { + "@jest/environment": "^27.2.4", + "@jest/types": "^27.2.4", + "expect": "^27.2.4" + } + }, + "@jest/source-map": { + "version": "27.0.6", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-27.0.6.tgz", + "integrity": "sha512-Fek4mi5KQrqmlY07T23JRi0e7Z9bXTOOD86V/uS0EIW4PClvPDqZOyFlLpNJheS6QI0FNX1CgmPjtJ4EA/2M+g==", + "dev": true, + "requires": { + "callsites": "^3.0.0", + "graceful-fs": "^4.2.4", + "source-map": "^0.6.0" + } + }, + "@jest/test-result": { + "version": "27.2.4", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.2.4.tgz", + "integrity": "sha512-eU+PRo0+lIS01b0dTmMdVZ0TtcRSxEaYquZTRFMQz6CvsehGhx9bRzi9Zdw6VROviJyv7rstU+qAMX5pNBmnfQ==", + "dev": true, + "requires": { + "@jest/console": "^27.2.4", + "@jest/types": "^27.2.4", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + } + }, + "@jest/transform": { + "version": "27.2.4", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.2.4.tgz", + "integrity": "sha512-n5FlX2TH0oQGwyVDKPxdJ5nI2sO7TJBFe3u3KaAtt7TOiV4yL+Y+rSFDl+Ic5MpbiA/eqXmLAQxjnBmWgS2rEA==", + "dev": true, + "requires": { + "@babel/core": "^7.1.0", + "@jest/types": "^27.2.4", + "babel-plugin-istanbul": "^6.0.0", + "chalk": "^4.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^27.2.4", + "jest-regex-util": "^27.0.6", + "jest-util": "^27.2.4", + "micromatch": "^4.0.4", + "pirates": "^4.0.1", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" + } + }, + "@jest/types": { + "version": "27.2.4", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.2.4.tgz", + "integrity": "sha512-IDO2ezTxeMvQAHxzG/ZvEyA47q0aVfzT95rGFl7bZs/Go0aIucvfDbS2rmnoEdXxlLQhcolmoG/wvL/uKx4tKA==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@sinonjs/fake-timers": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-8.0.1.tgz", + "integrity": "sha512-AU7kwFxreVd6OAXcAFlKSmZquiRUU0FvYm44k1Y1QbK7Co4m0aqfGMhjykIeQp/H6rcl+nFmj0zfdUcGVs9Dew==", + "dev": true, + "requires": { + "@sinonjs/commons": "^1.7.0" + } + }, + "@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true + }, + "anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "dev": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "camelcase": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz", + "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==", + "dev": true + }, + "ci-info": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.2.0.tgz", + "integrity": "sha512-dVqRX7fLUm8J6FgHJ418XuIgDLZDkYcDFTeL6TA2gt5WlIZUQrrH6EZrNClwT/H0FateUsZkGIOPRrLbP+PR9A==", + "dev": true + }, + "cjs-module-lexer": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz", + "integrity": "sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==", + "dev": true + }, + "cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.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 + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "diff-sequences": { + "version": "27.0.6", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.0.6.tgz", + "integrity": "sha512-ag6wfpBFyNXZ0p8pcuIDS//D8H062ZQJ3fzYxjpmeKjnz8W4pekL3AI8VohmyZmsWW2PWaHgjsmqR6L13101VQ==", + "dev": true + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + } + }, + "expect": { + "version": "27.2.4", + "resolved": "https://registry.npmjs.org/expect/-/expect-27.2.4.tgz", + "integrity": "sha512-gOtuonQ8TCnbNNCSw2fhVzRf8EFYDII4nB5NmG4IEV0rbUnW1I5zXvoTntU4iicB/Uh0oZr20NGlOLdJiwsOZA==", + "dev": true, + "requires": { + "@jest/types": "^27.2.4", + "ansi-styles": "^5.0.0", + "jest-get-type": "^27.0.6", + "jest-matcher-utils": "^27.2.4", + "jest-message-util": "^27.2.4", + "jest-regex-util": "^27.0.6" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "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 + }, + "human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true + }, + "is-ci": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.0.tgz", + "integrity": "sha512-kDXyttuLeslKAHYL/K28F2YkM3x5jvFPEw3yXbRptXydjD9rpLEz+C5K5iutY9ZiUu6AP41JdvRQwF4Iqs4ZCQ==", + "dev": true, + "requires": { + "ci-info": "^3.1.1" + } + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true + }, + "jest-diff": { + "version": "27.2.4", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.2.4.tgz", + "integrity": "sha512-bLAVlDSCR3gqUPGv+4nzVpEXGsHh98HjUL7Vb2hVyyuBDoQmja8eJb0imUABsuxBeUVmf47taJSAd9nDrwWKEg==", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "diff-sequences": "^27.0.6", + "jest-get-type": "^27.0.6", + "pretty-format": "^27.2.4" + } + }, + "jest-each": { + "version": "27.2.4", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.2.4.tgz", + "integrity": "sha512-w9XVc+0EDBUTJS4xBNJ7N2JCcWItFd006lFjz77OarAQcQ10eFDBMrfDv2GBJMKlXe9aq0HrIIF51AXcZrRJyg==", + "dev": true, + "requires": { + "@jest/types": "^27.2.4", + "chalk": "^4.0.0", + "jest-get-type": "^27.0.6", + "jest-util": "^27.2.4", + "pretty-format": "^27.2.4" + } + }, + "jest-get-type": { + "version": "27.0.6", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.0.6.tgz", + "integrity": "sha512-XTkK5exIeUbbveehcSR8w0bhH+c0yloW/Wpl+9vZrjzztCPWrxhHwkIFpZzCt71oRBsgxmuUfxEqOYoZI2macg==", + "dev": true + }, + "jest-haste-map": { + "version": "27.2.4", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.2.4.tgz", + "integrity": "sha512-bkJ4bT00T2K+1NZXbRcyKnbJ42I6QBvoDNMTAQQDBhaGNnZreiQKUNqax0e6hLTx7E75pKDeltVu3V1HAdu+YA==", + "dev": true, + "requires": { + "@jest/types": "^27.2.4", + "@types/graceful-fs": "^4.1.2", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "fsevents": "^2.3.2", + "graceful-fs": "^4.2.4", + "jest-regex-util": "^27.0.6", + "jest-serializer": "^27.0.6", + "jest-util": "^27.2.4", + "jest-worker": "^27.2.4", + "micromatch": "^4.0.4", + "walker": "^1.0.7" + } + }, + "jest-matcher-utils": { + "version": "27.2.4", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.2.4.tgz", + "integrity": "sha512-nQeLfFAIPPkyhkDfifAPfP/U5wm1x0fLtAzqXZSSKckXDNuk2aaOfQiDYv1Mgf5GY6yOsxfUnvNm3dDjXM+BXw==", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "jest-diff": "^27.2.4", + "jest-get-type": "^27.0.6", + "pretty-format": "^27.2.4" + } + }, + "jest-message-util": { + "version": "27.2.4", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.2.4.tgz", + "integrity": "sha512-wbKT/BNGnBVB9nzi+IoaLkXt6fbSvqUxx+IYY66YFh96J3goY33BAaNG3uPqaw/Sh/FR9YpXGVDfd5DJdbh4nA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.2.4", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.4", + "pretty-format": "^27.2.4", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + } + }, + "jest-mock": { + "version": "27.2.4", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.2.4.tgz", + "integrity": "sha512-iVRU905rutaAoUcrt5Tm1JoHHWi24YabqEGXjPJI4tAyA6wZ7mzDi3GrZ+M7ebgWBqUkZE93GAx1STk7yCMIQA==", + "dev": true, + "requires": { + "@jest/types": "^27.2.4", + "@types/node": "*" + } + }, + "jest-regex-util": { + "version": "27.0.6", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.0.6.tgz", + "integrity": "sha512-SUhPzBsGa1IKm8hx2F4NfTGGp+r7BXJ4CulsZ1k2kI+mGLG+lxGrs76veN2LF/aUdGosJBzKgXmNCw+BzFqBDQ==", + "dev": true + }, + "jest-resolve": { + "version": "27.2.4", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.2.4.tgz", + "integrity": "sha512-IsAO/3+3BZnKjI2I4f3835TBK/90dxR7Otgufn3mnrDFTByOSXclDi3G2XJsawGV4/18IMLARJ+V7Wm7t+J89Q==", + "dev": true, + "requires": { + "@jest/types": "^27.2.4", + "chalk": "^4.0.0", + "escalade": "^3.1.1", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^27.2.4", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^27.2.4", + "jest-validate": "^27.2.4", + "resolve": "^1.20.0", + "slash": "^3.0.0" + } + }, + "jest-runtime": { + "version": "27.2.4", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.2.4.tgz", + "integrity": "sha512-ICKzzYdjIi70P17MZsLLIgIQFCQmIjMFf+xYww3aUySiUA/QBPUTdUqo5B2eg4HOn9/KkUsV0z6GVgaqAPBJvg==", + "dev": true, + "requires": { + "@jest/console": "^27.2.4", + "@jest/environment": "^27.2.4", + "@jest/fake-timers": "^27.2.4", + "@jest/globals": "^27.2.4", + "@jest/source-map": "^27.0.6", + "@jest/test-result": "^27.2.4", + "@jest/transform": "^27.2.4", + "@jest/types": "^27.2.4", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "execa": "^5.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^27.2.4", + "jest-message-util": "^27.2.4", + "jest-mock": "^27.2.4", + "jest-regex-util": "^27.0.6", + "jest-resolve": "^27.2.4", + "jest-snapshot": "^27.2.4", + "jest-util": "^27.2.4", + "jest-validate": "^27.2.4", + "slash": "^3.0.0", + "strip-bom": "^4.0.0", + "yargs": "^16.2.0" + } + }, + "jest-serializer": { + "version": "27.0.6", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.0.6.tgz", + "integrity": "sha512-PtGdVK9EGC7dsaziskfqaAPib6wTViY3G8E5wz9tLVPhHyiDNTZn/xjZ4khAw+09QkoOVpn7vF5nPSN6dtBexA==", + "dev": true, + "requires": { + "@types/node": "*", + "graceful-fs": "^4.2.4" + } + }, + "jest-snapshot": { + "version": "27.2.4", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.2.4.tgz", + "integrity": "sha512-5DFxK31rYS8X8C6WXsFx8XxrxW3PGa6+9IrUcZdTLg1aEyXDGIeiBh4jbwvh655bg/9vTETbEj/njfZicHTZZw==", + "dev": true, + "requires": { + "@babel/core": "^7.7.2", + "@babel/generator": "^7.7.2", + "@babel/parser": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/traverse": "^7.7.2", + "@babel/types": "^7.0.0", + "@jest/transform": "^27.2.4", + "@jest/types": "^27.2.4", + "@types/babel__traverse": "^7.0.4", + "@types/prettier": "^2.1.5", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^27.2.4", + "graceful-fs": "^4.2.4", + "jest-diff": "^27.2.4", + "jest-get-type": "^27.0.6", + "jest-haste-map": "^27.2.4", + "jest-matcher-utils": "^27.2.4", + "jest-message-util": "^27.2.4", + "jest-resolve": "^27.2.4", + "jest-util": "^27.2.4", + "natural-compare": "^1.4.0", + "pretty-format": "^27.2.4", + "semver": "^7.3.2" + } + }, + "jest-util": { + "version": "27.2.4", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.2.4.tgz", + "integrity": "sha512-mW++4u+fSvAt3YBWm5IpbmRAceUqa2B++JlUZTiuEt2AmNYn0Yw5oay4cP17TGsMINRNPSGiJ2zNnX60g+VbFg==", + "dev": true, + "requires": { + "@jest/types": "^27.2.4", + "@types/node": "*", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^3.0.0", + "picomatch": "^2.2.3" + } + }, + "jest-validate": { + "version": "27.2.4", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.2.4.tgz", + "integrity": "sha512-VMtbxbkd7LHnIH7PChdDtrluCFRJ4b1YV2YJzNwwsASMWftq/HgqiqjvptBOWyWOtevgO3f14wPxkPcLlVBRog==", + "dev": true, + "requires": { + "@jest/types": "^27.2.4", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^27.0.6", + "leven": "^3.1.0", + "pretty-format": "^27.2.4" + } + }, + "jest-worker": { + "version": "27.2.4", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.2.4.tgz", + "integrity": "sha512-Zq9A2Pw59KkVjBBKD1i3iE2e22oSjXhUKKuAK1HGX8flGwkm6NMozyEYzKd41hXc64dbd/0eWFeEEuxqXyhM+g==", + "dev": true, + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + } + }, + "micromatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", + "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", + "dev": true, + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.2.3" + } + }, + "npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "requires": { + "path-key": "^3.0.0" + } + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "pretty-format": { + "version": "27.2.4", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.2.4.tgz", + "integrity": "sha512-NUjw22WJHldzxyps2YjLZkUj6q1HvjqFezkB9Y2cklN8NtVZN/kZEXGZdFw4uny3oENzV5EEMESrkI0YDUH8vg==", + "dev": true, + "requires": { + "@jest/types": "^27.2.4", + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + } + }, + "react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", + "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" + } + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, + "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 + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "dev": true + }, + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "throat": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/throat/-/throat-6.0.1.tgz", + "integrity": "sha512-8hmiGIJMDlwjg7dlJ4yKGLK8EsYqKgPWbG3b4wjJddKNwc7N7Dpn08Df4szr/sZdMVeOstrdYSsqzX6BYbcB+w==", + "dev": true + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "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" + } + } + } + }, + "y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true + }, + "yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "requires": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + } + }, + "yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true + } + } + }, "jest-config": { "version": "26.6.3", "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-26.6.3.tgz", @@ -21502,6 +22283,29 @@ } } }, + "jest-html-reporters": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/jest-html-reporters/-/jest-html-reporters-2.1.6.tgz", + "integrity": "sha512-L81yXCctu0clmRl2rDeq5nWdH6Sy1U0IJgf+wy6wUTPcCmfg3JIfJnTug0mWSgQqtk0I5IMZ7Z+c4317uMNgMw==", + "dev": true, + "requires": { + "fs-extra": "^9.0.1", + "open": "^8.0.3" + }, + "dependencies": { + "open": { + "version": "8.2.1", + "resolved": "https://registry.npmjs.org/open/-/open-8.2.1.tgz", + "integrity": "sha512-rXILpcQlkF/QuFez2BJDf3GsqpjGKbkUUToAIGo9A0Q6ZkoSGogZJulrUdwRkrAsoQvoZsrjCYt8+zblOk7JQQ==", + "dev": true, + "requires": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + } + } + } + }, "jest-jasmine2": { "version": "26.6.3", "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-26.6.3.tgz", @@ -24616,6 +25420,13 @@ "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", "dev": true }, + "nan": { + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.15.0.tgz", + "integrity": "sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==", + "dev": true, + "optional": true + }, "nanoid": { "version": "3.1.23", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.23.tgz", @@ -34834,7 +35645,11 @@ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", "dev": true, - "optional": true + "optional": true, + "requires": { + "bindings": "^1.5.0", + "nan": "^2.12.1" + } }, "glob-parent": { "version": "3.1.0", diff --git a/package.json b/package.json index 7f384678a40..ba9b0b4301b 100644 --- a/package.json +++ b/package.json @@ -156,8 +156,10 @@ "glob-promise": "3.4.0", "husky": "2.4.1", "ignore-loader": "0.1.2", + "jest-circus": "^27.2.4", "jest-environment-jsdom-sixteen": "1.0.3", "jest-fetch-mock": "3.0.3", + "jest-html-reporters": "^2.1.6", "lint-staged": "9.5.0", "lodash": "4.17.21", "merge-config": "2.0.0", diff --git a/tests/e2e/config/environment.js b/tests/e2e/config/environment.js new file mode 100644 index 00000000000..3e28acae25b --- /dev/null +++ b/tests/e2e/config/environment.js @@ -0,0 +1,16 @@ +/** + * External dependencies + */ +const PuppeteerEnvironment = require( 'jest-environment-puppeteer' ); +const { addAttach } = require( 'jest-html-reporters/helper' ); + +class E2EEnvironment extends PuppeteerEnvironment { + async handleTestEvent( event ) { + if ( event.name === 'test_fn_failure' ) { + const data = await this.global.page.screenshot(); + await addAttach( data, 'Full Page Screenshot', this.global ); + } + } +} + +module.exports = E2EEnvironment; diff --git a/tests/e2e/config/jest.config.js b/tests/e2e/config/jest.config.js index 69e40bf5888..6dbc7ada5d9 100644 --- a/tests/e2e/config/jest.config.js +++ b/tests/e2e/config/jest.config.js @@ -11,6 +11,16 @@ module.exports = { '@woocommerce/blocks-test-utils': '/tests/utils', }, + reporters: [ + 'default', + [ + 'jest-html-reporters', + { publicPath: './reports/e2e', filename: 'index.html' }, + ], + ], + + testEnvironment: '/tests/e2e/config/environment.js', + testRunner: 'jest-circus/runner', // Where to look for test files roots: [ '/tests/e2e/specs' ], globalSetup: '/tests/e2e/config/setup.js', From 569c1b149bd2167892073aaa8cb96b0684ee765e Mon Sep 17 00:00:00 2001 From: Niels Lange Date: Fri, 8 Oct 2021 22:10:05 +0700 Subject: [PATCH 07/16] Add file and folder structure documentation (#4754) * Add file and folder structure documentation * Update docs/contributors/folder-structure.md Co-authored-by: Mike Jolley * Update docs/contributors/folder-structure.md Co-authored-by: Mike Jolley * Update docs/contributors/folder-structure.md Co-authored-by: Mike Jolley * Update description for atomic blocks in folder documentation * Update description for base blocks in folder documentation Co-authored-by: Mike Jolley --- docs/contributors/folder-structure.md | 193 ++++++++++++++++++++++++++ 1 file changed, 193 insertions(+) create mode 100644 docs/contributors/folder-structure.md diff --git a/docs/contributors/folder-structure.md b/docs/contributors/folder-structure.md new file mode 100644 index 00000000000..e81569a91f0 --- /dev/null +++ b/docs/contributors/folder-structure.md @@ -0,0 +1,193 @@ +# Folder Structure + +The following snippet explains how the WooCommerce Blocks repository is structured omitting irrelevant or obvious items with further explanations: + + │ + ├── LICENSE + ├── README.md + ├── .github/CODEOWNERS + ├── .github/CODE_OF_CONDUCT.md + ├── .github/CONTRIBUTING.md + ├── .github/SECURITY.md + │ + ├── .distignore + ├── .editorconfig + ├── .eslintignore + ├── .eslintrc + ├── .gitattributes + ├── .gitignore + ├── .prettierrc.js + ├── .stylelintrc.json + ├── phpcs.xml.dist + │ Dot files and config files used to configure the various linting tools + │ used in the repository (PHP, JS, styles...). + │ + ├── .nvmrc + │ Required Node version of the project. + │ + ├── babel.config.js + ├── global.d.ts + ├── tsconfig.base.json + ├── tsconfig.json + ├── webpack.config.js + │ Transpilation and bundling config files. + │ + ├── phpcs.xml + │ Config file for the PHP Coding Standards. + │ + ├── phpunit.xml.dist + │ Config file for PHPUnit. + │ + ├── postcss.config.js + │ Config file for PostCSS. + │ + ├── renovate.json + │ Config file for Renovate. + │ + ├── docker-compose.yml + │ Docker config files for the development and testing environment. + │ + ├── .env + ├── .wp-env.json + │ Config files for the development and testing environment. + │ Includes WordPress, the WooCommerce plugin and the Storefront theme. + │ + ├── composer.lock + ├── composer.json + │ Handling of PHP dependencies. Used for development tools and autoloading. + │ + ├── package-lock.json + ├── package.json + │ Handling of JavaScript dependencies. Both for development tools and + │ production dependencies. The package.json also serves to define common + | tasks and scripts used for day to day development. + │ + ├── readme.txt + │ Readme of the WooCommerce Blocks plugin hosted on the WordPress + │ plugin repository. + │ + ├── woocommerce-gutenberg-products-block.php + │ Entry point of the WooCommerce Blocks plugin. + │ + ├── .github/* + │ Config of the different Github features (issues and PR templates, CI, + │ owners). + │ + ├── .sources/* + │ Sketch files of the WooCommerce Blocks plugin. + │ + ├── .wordpress-org/* + │ Assets of the WooCommerce Blocks plugin hosted on the WordPress plugin + │ repository. + │ + ├── assets/css/* + │ The SCSS files of the WooCommerce Blocks plugin. + │ + ├── assets/js/* + │ The React components of the WooCommerce Blocks plugin. + │ + ├── assets/js/atomic + │ The atomic components such as product title, product rating, product + │ image, etc. These atomic components are used by the product blocks. + │ + ├── assets/js/base + │ Base contains components specific to the frontend of the store. + │ Components placed here avoid loading larger Gutenberg dependencies to + │ keep client script sizes to a minimum. + │ + ├── assets/js/blocks-registry + │ Files that allows developers to connect their extensions to this plugin. + │ + ├── assets/js/blocks + │ The main blocks of the WooCommerce Blocks plugin such as the Active + │ Filters Block. + │ + ├── assets/js/data + │ Functionality to store data using Redux and wp.data. + │ + ├── assets/js/editor-components + │ Editor components such as the block-title component. + │ + ├── assets/js/extensions + │ TypeScript files to allow Google Analytics tracking of specific events + │ such as active payment method and removing cart items. + │ + ├── assets/js/filters + │ Filter such as excluding the checkout draft from Google Analytics. + │ + ├── assets/js/hocs + │ The Higher Order Components of the WooCommerce Blocks plugin. + │ + ├── assets/js/icons + │ The WooCommerce Blocks Icon library. + │ + ├── assets/js/legacy + │ The legacy code of the WooCommerce Blocks plugin. + │ + ├── assets/js/middleware + │ The middleware code to handle Store API calls. + │ + ├── assets/js/payment-method-extensions + │ Functionality for the payment options such as PayPal and Stripe. + │ + ├── assets/js/previews + │ The previews of various components such the All Products Block. + │ + ├── assets/js/settings + │ Functionality to view the settings in the frontend. + │ + ├── assets/js/shared + │ Shared components of the WooCommerce Blocks plugin. + │ + ├── assets/js/types + │ TypeScript definitions of the WooCommerce Blocks plugin. + │ + ├── assets/js/utils + │ Shared utilities of the WooCommerce Blocks plugin. + │ + ├── bin/* + │ Set of scripts used to build the WordPress packages. + │ + ├── docs/* + │ Set of documentation pages of the WooCommerce Blocks plugin. + │ + ├── images + │ Images for the payment options and the previews. + │ + ├── packages + │ Source code of the WordPress packages. Packages can be: + │ - Production JavaScript scripts and styles loaded on WordPress + │ and the WooCommerce Blocks plugin or distributed as npm packages. + │ - Development tools available on npm. + │ + ├── patches + │ Patches for 3rd party scripts applied when installing dependencies. + │ + ├── src + │ The core PHP files of the WooCommerce Blocks plugin. + │ + ├── storybook + │ Config of the [WooCommerce Blocks Storybook](https://woocommerce.github.io/woocommerce-gutenberg-products-block/). + │ + ├── templates/emails + │ Email templates of the WooCommerce Blocks plugin. + │ + ├── tests/bin + │ Set of WordPress packages integration tests. + │ + ├── tests/e2e + │ Set of end-to-end tests. + │ + ├── tests/js + │ Configuration for Jest. + │ + ├── tests/php + │ Configuration for the PHP unit tests + │ + ├── tests/utils + │ Utilities for the test cases. + │ + + ## Credits + + This file is inspired by the great work of @JustinyAhin and @gziolo in https://github.com/WordPress/gutenberg/blob/trunk/docs/contributors/folder-structure.md. \ No newline at end of file From 2ed17fdc42b9621a3c3762f69311b012c0998b20 Mon Sep 17 00:00:00 2001 From: Danae Millan <41606954+a-danae@users.noreply.github.com> Date: Sat, 9 Oct 2021 11:46:35 -0300 Subject: [PATCH 08/16] Display the notices registered by the payment gateway's process_payment() method (#4871) We were displaying a generic error and clearing the notices before. Now we convert them to exceptions so they're actually displayed. --- src/Payments/Api.php | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/Payments/Api.php b/src/Payments/Api.php index 348d84760b4..ae312f853ab 100644 --- a/src/Payments/Api.php +++ b/src/Payments/Api.php @@ -164,9 +164,8 @@ public function process_legacy_payment( PaymentContext $context, PaymentResult & // Restore $_POST data. $_POST = $post_data; - // If `process_payment` added notices, clear them. Notices are not displayed from the API -- payment should fail, - // and a generic notice will be shown instead if payment failed. - wc_clear_notices(); + // Display the notices added by `process_payment` and abort. + NoticeHandler::convert_notices_to_exceptions( 'woocommerce_rest_payment_error' ); // Handle result. $result->set_status( isset( $gateway_result['result'] ) && 'success' === $gateway_result['result'] ? 'success' : 'failure' ); From 7b12753ea1d2a38416d635277721f89d49e7c018 Mon Sep 17 00:00:00 2001 From: Niels Lange Date: Mon, 11 Oct 2021 18:55:38 +0700 Subject: [PATCH 09/16] Add e2e tests for Newest Products (#4789) --- .../__fixtures__/newest-products.fixture.json | 1 + tests/e2e/specs/backend/product-new.test.js | 30 +++++++++++++++++++ 2 files changed, 31 insertions(+) create mode 100644 tests/e2e/config/custom-matchers/__fixtures__/newest-products.fixture.json create mode 100644 tests/e2e/specs/backend/product-new.test.js diff --git a/tests/e2e/config/custom-matchers/__fixtures__/newest-products.fixture.json b/tests/e2e/config/custom-matchers/__fixtures__/newest-products.fixture.json new file mode 100644 index 00000000000..5ffe302fc75 --- /dev/null +++ b/tests/e2e/config/custom-matchers/__fixtures__/newest-products.fixture.json @@ -0,0 +1 @@ +{"title":"Newest Products Block","pageContent":""} \ No newline at end of file diff --git a/tests/e2e/specs/backend/product-new.test.js b/tests/e2e/specs/backend/product-new.test.js new file mode 100644 index 00000000000..ec5ff81ab82 --- /dev/null +++ b/tests/e2e/specs/backend/product-new.test.js @@ -0,0 +1,30 @@ +/** + * External dependencies + */ +import { getAllBlocks, switchUserToAdmin } from '@wordpress/e2e-test-utils'; + +import { visitBlockPage } from '@woocommerce/blocks-test-utils'; + +import { insertBlockDontWaitForInsertClose } from '../../utils.js'; + +const block = { + name: 'Newest Products', + slug: 'woocommerce/product-new', + class: '.wc-block-product-new', +}; + +describe( `${ block.name } Block`, () => { + beforeAll( async () => { + await switchUserToAdmin(); + await visitBlockPage( `${ block.name } Block` ); + } ); + + it( 'renders without crashing', async () => { + await expect( page ).toRenderBlock( block ); + } ); + + it( 'can be inserted more than once', async () => { + await insertBlockDontWaitForInsertClose( block.name ); + expect( await getAllBlocks() ).toHaveLength( 2 ); + } ); +} ); From d4340574ebabde6908afa75a166b1186c2d3dc75 Mon Sep 17 00:00:00 2001 From: Niels Lange Date: Mon, 11 Oct 2021 18:59:45 +0700 Subject: [PATCH 10/16] Add e2e tests for Product Categories List (#4915) --- .../product-categories-list.fixture.json | 1 + .../specs/backend/product-categories.test.js | 30 +++++++++++++++++++ 2 files changed, 31 insertions(+) create mode 100644 tests/e2e/config/custom-matchers/__fixtures__/product-categories-list.fixture.json create mode 100644 tests/e2e/specs/backend/product-categories.test.js diff --git a/tests/e2e/config/custom-matchers/__fixtures__/product-categories-list.fixture.json b/tests/e2e/config/custom-matchers/__fixtures__/product-categories-list.fixture.json new file mode 100644 index 00000000000..7e6a4d9e3bb --- /dev/null +++ b/tests/e2e/config/custom-matchers/__fixtures__/product-categories-list.fixture.json @@ -0,0 +1 @@ +{"title":"Product Categories List Block","pageContent":""} \ No newline at end of file diff --git a/tests/e2e/specs/backend/product-categories.test.js b/tests/e2e/specs/backend/product-categories.test.js new file mode 100644 index 00000000000..2704dfa8e22 --- /dev/null +++ b/tests/e2e/specs/backend/product-categories.test.js @@ -0,0 +1,30 @@ +/** + * External dependencies + */ +import { getAllBlocks, switchUserToAdmin } from '@wordpress/e2e-test-utils'; + +import { visitBlockPage } from '@woocommerce/blocks-test-utils'; + +import { insertBlockDontWaitForInsertClose } from '../../utils.js'; + +const block = { + name: 'Product Categories List', + slug: 'woocommerce/product-categories', + class: '.wc-block-product-categories', +}; + +describe( `${ block.name } Block`, () => { + beforeAll( async () => { + await switchUserToAdmin(); + await visitBlockPage( `${ block.name } Block` ); + } ); + + it( 'can be inserted more than once', async () => { + await insertBlockDontWaitForInsertClose( block.name ); + expect( await getAllBlocks() ).toHaveLength( 2 ); + } ); + + it( 'renders without crashing', async () => { + await expect( page ).toRenderBlock( block ); + } ); +} ); From 5d7fd19327f59a3707d8cc62be7df3553efd4443 Mon Sep 17 00:00:00 2001 From: Ovidiu Liuta Date: Mon, 11 Oct 2021 16:18:32 +0300 Subject: [PATCH 11/16] WordPress Coding Standards fix for .scss files (#4918) * adding timerange limit * #3739 fixing scss coding standard and removing spaces from parantheses values * removing unrelated changes * fixing further instances for parantheses --- assets/css/abstracts/_breakpoints.scss | 8 ++++---- .../components/cart-checkout/order-summary/style.scss | 2 +- assets/js/base/components/pagination/style.scss | 4 ++-- assets/js/base/components/product-list/style.scss | 4 ++-- assets/js/base/components/radio-control/style.scss | 2 +- .../store-snackbar-notices/components/style.scss | 4 ++-- .../cart-checkout/cart-i2/checkout-button/style.scss | 4 ++-- .../blocks/cart-checkout/cart/checkout-button/style.scss | 4 ++-- .../checkout-shipping-methods-block/style.scss | 2 +- assets/js/blocks/cart-checkout/payment-methods/style.scss | 2 +- packages/checkout/panel/style.scss | 4 ++-- packages/checkout/wrapper/style.scss | 6 +++--- 12 files changed, 23 insertions(+), 23 deletions(-) diff --git a/assets/css/abstracts/_breakpoints.scss b/assets/css/abstracts/_breakpoints.scss index 90ce2887719..d191574a77d 100644 --- a/assets/css/abstracts/_breakpoints.scss +++ b/assets/css/abstracts/_breakpoints.scss @@ -10,9 +10,9 @@ $breakpoints: 480px, 600px, 782px, 960px, 1280px, 1440px; // @todo refactor breakpoints so they use the mixins from Gutenberg // https://github.com/WordPress/gutenberg/blob/master/packages/base-styles/_mixins.scss -@mixin breakpoint( $sizes... ) { +@mixin breakpoint($sizes...) { @each $size in $sizes { - @if type-of( $size ) == string { + @if type-of($size) == string { $approved-value: 0; @each $breakpoint in $breakpoints { $and-larger: ">" + $breakpoint; @@ -49,7 +49,7 @@ $breakpoints: 480px, 600px, 782px, 960px, 1280px, 1440px; @each $breakpoint in $breakpoints { $sizes: $sizes + " " + $breakpoint; } - @warn "ERROR in breakpoint( #{ $size } ) : You can only use these sizes[ #{$sizes} ] using the following syntax [ <#{ nth( $breakpoints, 1 ) } >#{ nth( $breakpoints, 1 ) } #{ nth( $breakpoints, 1 ) }-#{ nth( $breakpoints, 2 ) } ]"; + @warn "ERROR in breakpoint(#{ $size }) : You can only use these sizes[ #{$sizes} ] using the following syntax [ <#{ nth($breakpoints, 1) } >#{ nth($breakpoints, 1) } #{ nth($breakpoints, 1) }-#{ nth($breakpoints, 2) } ]"; } } @else { @@ -57,7 +57,7 @@ $breakpoints: 480px, 600px, 782px, 960px, 1280px, 1440px; @each $breakpoint in $breakpoints { $sizes: $sizes + " " + $breakpoint; } - @error "ERROR in breakpoint( #{ $size } ) : Please wrap the breakpoint $size in parenthesis. You can use these sizes[ #{$sizes} ] using the following syntax [ <#{ nth( $breakpoints, 1 ) } >#{ nth( $breakpoints, 1 ) } #{ nth( $breakpoints, 1 ) }-#{ nth( $breakpoints, 2 ) } ]"; + @error "ERROR in breakpoint(#{ $size }) : Please wrap the breakpoint $size in parenthesis. You can use these sizes[ #{$sizes} ] using the following syntax [ <#{ nth($breakpoints, 1) } >#{ nth($breakpoints, 1) } #{ nth($breakpoints, 1) }-#{ nth($breakpoints, 2) } ]"; } } } diff --git a/assets/js/base/components/cart-checkout/order-summary/style.scss b/assets/js/base/components/cart-checkout/order-summary/style.scss index 4172413ed84..739e0998036 100644 --- a/assets/js/base/components/cart-checkout/order-summary/style.scss +++ b/assets/js/base/components/cart-checkout/order-summary/style.scss @@ -88,7 +88,7 @@ p, .wc-block-components-product-metadata { line-height: 1.375; - margin-top: #{ ( $gap-large - $gap ) * 0.5 }; + margin-top: #{ ($gap-large - $gap) * 0.5 }; } } diff --git a/assets/js/base/components/pagination/style.scss b/assets/js/base/components/pagination/style.scss index b406577fef1..598ec851785 100644 --- a/assets/js/base/components/pagination/style.scss +++ b/assets/js/base/components/pagination/style.scss @@ -15,7 +15,7 @@ padding: 0.3em 0.6em; min-width: 2.2em; - @include breakpoint( "<782px" ) { + @include breakpoint("<782px") { padding: 0.1em 0.2em; min-width: 1.6em; } @@ -32,7 +32,7 @@ .wc-block-components-pagination__ellipsis { padding: 0.3em; - @include breakpoint( "<782px" ) { + @include breakpoint("<782px") { padding: 0.1em; } } diff --git a/assets/js/base/components/product-list/style.scss b/assets/js/base/components/product-list/style.scss index 9f705177868..d6688b7e48c 100644 --- a/assets/js/base/components/product-list/style.scss +++ b/assets/js/base/components/product-list/style.scss @@ -100,7 +100,7 @@ } } -@include breakpoint( "<480px" ) { +@include breakpoint("<480px") { .wc-block-grid { @for $i from 2 to 9 { &.has-#{$i}-columns { @@ -119,7 +119,7 @@ } } -@include breakpoint( "480px-600px" ) { +@include breakpoint("480px-600px") { .wc-block-grid { @for $i from 2 to 9 { &.has-#{$i}-columns { diff --git a/assets/js/base/components/radio-control/style.scss b/assets/js/base/components/radio-control/style.scss index ef456905ae4..297ede8b443 100644 --- a/assets/js/base/components/radio-control/style.scss +++ b/assets/js/base/components/radio-control/style.scss @@ -49,7 +49,7 @@ .wc-block-components-radio-control__description, .wc-block-components-radio-control__secondary-description { - @include font-size( small ); + @include font-size(small); line-height: 20px; } diff --git a/assets/js/base/context/providers/store-snackbar-notices/components/style.scss b/assets/js/base/context/providers/store-snackbar-notices/components/style.scss index f92d7c32b3a..e5a419a1810 100644 --- a/assets/js/base/context/providers/store-snackbar-notices/components/style.scss +++ b/assets/js/base/context/providers/store-snackbar-notices/components/style.scss @@ -4,7 +4,7 @@ left: 16px; width: auto; - @include breakpoint( "<782px" ) { + @include breakpoint("<782px") { position: fixed; top: 10px; left: 0; @@ -12,7 +12,7 @@ } .components-snackbar-list__notice-container { - @include breakpoint( "<782px" ) { + @include breakpoint("<782px") { margin-left: 10px; margin-right: 10px; } diff --git a/assets/js/blocks/cart-checkout/cart-i2/checkout-button/style.scss b/assets/js/blocks/cart-checkout/cart-i2/checkout-button/style.scss index efa8fb148bb..84bf7a2ea72 100644 --- a/assets/js/blocks/cart-checkout/cart-i2/checkout-button/style.scss +++ b/assets/js/blocks/cart-checkout/cart-i2/checkout-button/style.scss @@ -25,13 +25,13 @@ } } -@include breakpoint( ">782px" ) { +@include breakpoint(">782px") { .wc-block-cart__submit-container--sticky { display: none; } } -@include breakpoint( "<782px" ) { +@include breakpoint("<782px") { .wc-block-cart__submit-container--sticky { background: $white; bottom: 0; diff --git a/assets/js/blocks/cart-checkout/cart/checkout-button/style.scss b/assets/js/blocks/cart-checkout/cart/checkout-button/style.scss index efa8fb148bb..84bf7a2ea72 100644 --- a/assets/js/blocks/cart-checkout/cart/checkout-button/style.scss +++ b/assets/js/blocks/cart-checkout/cart/checkout-button/style.scss @@ -25,13 +25,13 @@ } } -@include breakpoint( ">782px" ) { +@include breakpoint(">782px") { .wc-block-cart__submit-container--sticky { display: none; } } -@include breakpoint( "<782px" ) { +@include breakpoint("<782px") { .wc-block-cart__submit-container--sticky { background: $white; bottom: 0; diff --git a/assets/js/blocks/cart-checkout/checkout/inner-blocks/checkout-shipping-methods-block/style.scss b/assets/js/blocks/cart-checkout/checkout/inner-blocks/checkout-shipping-methods-block/style.scss index ce5f2ba2f1d..ff27c71b0ae 100644 --- a/assets/js/blocks/cart-checkout/checkout/inner-blocks/checkout-shipping-methods-block/style.scss +++ b/assets/js/blocks/cart-checkout/checkout/inner-blocks/checkout-shipping-methods-block/style.scss @@ -1,6 +1,6 @@ .wc-block-checkout__shipping-option { .wc-block-components-radio-control__option { - @include with-translucent-border( 0 0 1px ); + @include with-translucent-border(0 0 1px); margin: 0; padding: em($gap-small) 0 em($gap-small) em($gap-largest); } diff --git a/assets/js/blocks/cart-checkout/payment-methods/style.scss b/assets/js/blocks/cart-checkout/payment-methods/style.scss index 488121e6bbe..1a24d0125f4 100644 --- a/assets/js/blocks/cart-checkout/payment-methods/style.scss +++ b/assets/js/blocks/cart-checkout/payment-methods/style.scss @@ -31,7 +31,7 @@ // Notice the min width ems value is smaller than flex-basis. That's because // by default we want it to have the same width as `expiry-element`, but // if available space is scarce, `cvc-element` should get smaller faster. - min-width: unquote("min( 5em, calc(16% - #{$gap-small}))"); + min-width: unquote("min(5em, calc(16% - #{$gap-small}))"); } .wc-block-gateway-input { diff --git a/packages/checkout/panel/style.scss b/packages/checkout/panel/style.scss index 2fc5692f861..989e5f08e68 100644 --- a/packages/checkout/panel/style.scss +++ b/packages/checkout/panel/style.scss @@ -1,5 +1,5 @@ .wc-block-components-panel.has-border { - @include with-translucent-border( 1px 0 ); + @include with-translucent-border(1px 0); + .wc-block-components-panel.has-border::after { border-top-width: 0; @@ -7,7 +7,7 @@ } .wc-block-components-panel.has-border.no-top-border { - @include with-translucent-border( 1px 0 ); + @include with-translucent-border(1px 0); &::after { border-top-width: 0; } diff --git a/packages/checkout/wrapper/style.scss b/packages/checkout/wrapper/style.scss index cde844567f1..32bbf8f9f17 100644 --- a/packages/checkout/wrapper/style.scss +++ b/packages/checkout/wrapper/style.scss @@ -1,5 +1,5 @@ .wc-block-components-totals-wrapper { - @include with-translucent-border( 1px 0 0 ); + @include with-translucent-border(1px 0 0); padding: $gap 0; &.has-bottom-border { @@ -12,7 +12,7 @@ padding: 0; > * > * { - @include with-translucent-border( 0 0 1px ); + @include with-translucent-border(0 0 1px); padding: $gap 0; &:last-child::after { @@ -25,7 +25,7 @@ .wc-block-components-discounts-meta { .wc-block-components-totals-wrapper { &:first-child { - @include with-translucent-border( 1px 0 0 ); + @include with-translucent-border(1px 0 0); } } } From 6f9701266aa8730e5643c21d5d8978b914a29ae8 Mon Sep 17 00:00:00 2001 From: Thomas Roberts <5656702+opr@users.noreply.github.com> Date: Mon, 11 Oct 2021 15:22:18 +0100 Subject: [PATCH 12/16] Update percent of users who will see inbox notification (#4922) --- src/InboxNotifications.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/InboxNotifications.php b/src/InboxNotifications.php index d04581beac9..f264241be21 100644 --- a/src/InboxNotifications.php +++ b/src/InboxNotifications.php @@ -14,7 +14,7 @@ class InboxNotifications { const SURFACE_CART_CHECKOUT_NOTE_NAME = 'surface_cart_checkout'; const SURFACE_CART_CHECKOUT_PROBABILITY_OPTION = 'wc_blocks_surface_cart_checkout_probability'; - const PERCENT_USERS_TO_TARGET = 10; + const PERCENT_USERS_TO_TARGET = 50; const INELIGIBLE_EXTENSIONS = [ 'automatewoo', 'mailchimp-for-woocommerce', From 7e340cb1d3c67f3158e858ea503cd3e9cc0bbc5b Mon Sep 17 00:00:00 2001 From: Mike Jolley Date: Mon, 11 Oct 2021 16:32:29 +0100 Subject: [PATCH 13/16] Handle translations in lazy loaded files by injecting them into the page (#4897) * Formalise chunk names * register_chunk_translations() * Rename handle * Include fileSuffix * Remove .chunk prefix- it broke the vendors chunk --- src/BlockTypes/AbstractBlock.php | 20 ++++++++++++++++++++ src/BlockTypes/AllProducts.php | 25 +++++++++++++++++++++++++ 2 files changed, 45 insertions(+) diff --git a/src/BlockTypes/AbstractBlock.php b/src/BlockTypes/AbstractBlock.php index abd69c45d68..cbe11069381 100644 --- a/src/BlockTypes/AbstractBlock.php +++ b/src/BlockTypes/AbstractBlock.php @@ -152,6 +152,26 @@ protected function register_block_type_assets() { } } + /** + * Injects Chunk Translations into the page so translations work for lazy loaded components. + * + * The chunk names are defined when creating lazy loaded components using webpackChunkName. + * + * @param string[] $chunks Array of chunk names. + */ + protected function register_chunk_translations( $chunks ) { + foreach ( $chunks as $chunk ) { + $handle = 'wc-blocks-' . $chunk . '-chunk'; + $this->asset_api->register_script( $handle, $this->asset_api->get_block_asset_build_path( $chunk ), [], true ); + wp_add_inline_script( + $this->get_block_type_script( 'handle' ), + wp_scripts()->print_translations( $handle, false ), + 'before' + ); + wp_deregister_script( $handle ); + } + } + /** * Registers the block type with WordPress. */ diff --git a/src/BlockTypes/AllProducts.php b/src/BlockTypes/AllProducts.php index c973abd279e..ea6bef80fb7 100644 --- a/src/BlockTypes/AllProducts.php +++ b/src/BlockTypes/AllProducts.php @@ -28,4 +28,29 @@ protected function enqueue_data( array $attributes = [] ) { $this->asset_data_registry->add( 'max_rows', wc_get_theme_support( 'product_blocks::max_rows', 6 ), true ); $this->asset_data_registry->add( 'default_rows', wc_get_theme_support( 'product_blocks::default_rows', 3 ), true ); } + + /** + * Register script and style assets for the block type before it is registered. + * + * This registers the scripts; it does not enqueue them. + */ + protected function register_block_type_assets() { + parent::register_block_type_assets(); + $this->register_chunk_translations( + [ + 'atomic-block-components/price', + 'atomic-block-components/image', + 'atomic-block-components/title', + 'atomic-block-components/rating', + 'atomic-block-components/button', + 'atomic-block-components/summary', + 'atomic-block-components/sale-badge', + 'atomic-block-components/sku', + 'atomic-block-components/category-list', + 'atomic-block-components/tag-list', + 'atomic-block-components/stock-indicator', + 'atomic-block-components/add-to-cart', + ] + ); + } } From 71422005bb3bab79b9c2a62cfbfce4dbc7b1e88d Mon Sep 17 00:00:00 2001 From: Seghir Nadir Date: Mon, 11 Oct 2021 17:00:47 +0100 Subject: [PATCH 14/16] Revert "Display the notices registered by the payment gateway's process_payment() method (#4871)" (#4923) This reverts commit 2ed17fdc42b9621a3c3762f69311b012c0998b20. --- src/Payments/Api.php | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/Payments/Api.php b/src/Payments/Api.php index ae312f853ab..348d84760b4 100644 --- a/src/Payments/Api.php +++ b/src/Payments/Api.php @@ -164,8 +164,9 @@ public function process_legacy_payment( PaymentContext $context, PaymentResult & // Restore $_POST data. $_POST = $post_data; - // Display the notices added by `process_payment` and abort. - NoticeHandler::convert_notices_to_exceptions( 'woocommerce_rest_payment_error' ); + // If `process_payment` added notices, clear them. Notices are not displayed from the API -- payment should fail, + // and a generic notice will be shown instead if payment failed. + wc_clear_notices(); // Handle result. $result->set_status( isset( $gateway_result['result'] ) && 'success' === $gateway_result['result'] ? 'success' : 'failure' ); From f8ca1b055d168b6d529c30152a9cd5cd34199274 Mon Sep 17 00:00:00 2001 From: Niels Lange Date: Mon, 11 Oct 2021 23:05:50 +0700 Subject: [PATCH 15/16] Add e2e tests for Top Rated Products (#4786) --- .../top-rated-products.fixture.json | 1 + .../specs/backend/product-top-rated.test.js | 30 +++++++++++++++++++ 2 files changed, 31 insertions(+) create mode 100644 tests/e2e/config/custom-matchers/__fixtures__/top-rated-products.fixture.json create mode 100644 tests/e2e/specs/backend/product-top-rated.test.js diff --git a/tests/e2e/config/custom-matchers/__fixtures__/top-rated-products.fixture.json b/tests/e2e/config/custom-matchers/__fixtures__/top-rated-products.fixture.json new file mode 100644 index 00000000000..4adb6788563 --- /dev/null +++ b/tests/e2e/config/custom-matchers/__fixtures__/top-rated-products.fixture.json @@ -0,0 +1 @@ +{"title":"Top Rated Products Block","pageContent":""} \ No newline at end of file diff --git a/tests/e2e/specs/backend/product-top-rated.test.js b/tests/e2e/specs/backend/product-top-rated.test.js new file mode 100644 index 00000000000..fc6abf890d4 --- /dev/null +++ b/tests/e2e/specs/backend/product-top-rated.test.js @@ -0,0 +1,30 @@ +/** + * External dependencies + */ +import { getAllBlocks, switchUserToAdmin } from '@wordpress/e2e-test-utils'; + +import { visitBlockPage } from '@woocommerce/blocks-test-utils'; + +import { insertBlockDontWaitForInsertClose } from '../../utils.js'; + +const block = { + name: 'Top Rated Products', + slug: 'woocommerce/product-top-rated', + class: '.wc-block-product-top-rated', +}; + +describe( `${ block.name } Block`, () => { + beforeAll( async () => { + await switchUserToAdmin(); + await visitBlockPage( `${ block.name } Block` ); + } ); + + it( 'renders without crashing', async () => { + await expect( page ).toRenderBlock( block ); + } ); + + it( 'can be inserted more than once', async () => { + await insertBlockDontWaitForInsertClose( block.name ); + expect( await getAllBlocks() ).toHaveLength( 2 ); + } ); +} ); From 26428a034c735b2f35e64a5829e19f8ec1ef9246 Mon Sep 17 00:00:00 2001 From: Tom Cafferkey Date: Tue, 12 Oct 2021 09:21:00 +0100 Subject: [PATCH 16/16] Convert CategoryList to TypeScript (#4909) * Converted config files * Converted constants file * Converted attributes file * Coverted edit file * Convert block file * Remove space from config --- .../category-list/{attributes.js => attributes.ts} | 2 +- .../category-list/{block.js => block.tsx} | 11 +++++------ .../category-list/{constants.js => constants.tsx} | 6 +++--- .../category-list/{edit.js => edit.tsx} | 7 ++++++- .../category-list/{index.js => index.ts} | 14 ++++++++------ .../blocks/product-elements/category-list/types.ts | 3 +++ tsconfig.base.json | 1 + 7 files changed, 27 insertions(+), 17 deletions(-) rename assets/js/atomic/blocks/product-elements/category-list/{attributes.js => attributes.ts} (52%) rename assets/js/atomic/blocks/product-elements/category-list/{block.js => block.tsx} (86%) rename assets/js/atomic/blocks/product-elements/category-list/{constants.js => constants.tsx} (64%) rename assets/js/atomic/blocks/product-elements/category-list/{edit.js => edit.tsx} (83%) rename assets/js/atomic/blocks/product-elements/category-list/{index.js => index.ts} (65%) create mode 100644 assets/js/atomic/blocks/product-elements/category-list/types.ts diff --git a/assets/js/atomic/blocks/product-elements/category-list/attributes.js b/assets/js/atomic/blocks/product-elements/category-list/attributes.ts similarity index 52% rename from assets/js/atomic/blocks/product-elements/category-list/attributes.js rename to assets/js/atomic/blocks/product-elements/category-list/attributes.ts index 5bac8820c40..caed2652df1 100644 --- a/assets/js/atomic/blocks/product-elements/category-list/attributes.js +++ b/assets/js/atomic/blocks/product-elements/category-list/attributes.ts @@ -1,4 +1,4 @@ -export const blockAttributes = { +export const blockAttributes: Record< string, Record< string, unknown > > = { productId: { type: 'number', default: 0, diff --git a/assets/js/atomic/blocks/product-elements/category-list/block.js b/assets/js/atomic/blocks/product-elements/category-list/block.tsx similarity index 86% rename from assets/js/atomic/blocks/product-elements/category-list/block.js rename to assets/js/atomic/blocks/product-elements/category-list/block.tsx index 0f8ef195d36..59a4dd628fe 100644 --- a/assets/js/atomic/blocks/product-elements/category-list/block.js +++ b/assets/js/atomic/blocks/product-elements/category-list/block.tsx @@ -2,7 +2,6 @@ * External dependencies */ import { __ } from '@wordpress/i18n'; -import PropTypes from 'prop-types'; import classnames from 'classnames'; import { useInnerBlockLayoutContext, @@ -10,11 +9,15 @@ import { } from '@woocommerce/shared-context'; import { isEmpty } from 'lodash'; import { withProductDataContext } from '@woocommerce/shared-hocs'; +import { HTMLAttributes } from 'react'; /** * Internal dependencies */ import './style.scss'; +import { Attributes } from './types'; + +type Props = Attributes & HTMLAttributes< HTMLDivElement >; /** * Product Category Block Component. @@ -23,7 +26,7 @@ import './style.scss'; * @param {string} [props.className] CSS Class name for the component. * @return {*} The component. */ -const Block = ( { className } ) => { +const Block = ( { className }: Props ): JSX.Element | null => { const { parentClassName } = useInnerBlockLayoutContext(); const { product } = useProductDataContext(); @@ -57,8 +60,4 @@ const Block = ( { className } ) => { ); }; -Block.propTypes = { - className: PropTypes.string, -}; - export default withProductDataContext( Block ); diff --git a/assets/js/atomic/blocks/product-elements/category-list/constants.js b/assets/js/atomic/blocks/product-elements/category-list/constants.tsx similarity index 64% rename from assets/js/atomic/blocks/product-elements/category-list/constants.js rename to assets/js/atomic/blocks/product-elements/category-list/constants.tsx index 18b53f405a2..42f707dfa6c 100644 --- a/assets/js/atomic/blocks/product-elements/category-list/constants.js +++ b/assets/js/atomic/blocks/product-elements/category-list/constants.tsx @@ -4,12 +4,12 @@ import { __ } from '@wordpress/i18n'; import { folder, Icon } from '@woocommerce/icons'; -export const BLOCK_TITLE = __( +export const BLOCK_TITLE: string = __( 'Product Category List', 'woo-gutenberg-products-block' ); -export const BLOCK_ICON = ; -export const BLOCK_DESCRIPTION = __( +export const BLOCK_ICON: JSX.Element = ; +export const BLOCK_DESCRIPTION: string = __( 'Display a list of categories belonging to a product.', 'woo-gutenberg-products-block' ); diff --git a/assets/js/atomic/blocks/product-elements/category-list/edit.js b/assets/js/atomic/blocks/product-elements/category-list/edit.tsx similarity index 83% rename from assets/js/atomic/blocks/product-elements/category-list/edit.js rename to assets/js/atomic/blocks/product-elements/category-list/edit.tsx index b5df02f8baa..d3f8266c562 100644 --- a/assets/js/atomic/blocks/product-elements/category-list/edit.js +++ b/assets/js/atomic/blocks/product-elements/category-list/edit.tsx @@ -11,8 +11,13 @@ import EditProductLink from '@woocommerce/editor-components/edit-product-link'; import Block from './block'; import withProductSelector from '../shared/with-product-selector'; import { BLOCK_TITLE, BLOCK_ICON } from './constants'; +import { Attributes } from './types'; -const Edit = ( { attributes } ) => { +interface Props { + attributes: Attributes; +} + +const Edit = ( { attributes }: Props ): JSX.Element => { return ( <> diff --git a/assets/js/atomic/blocks/product-elements/category-list/index.js b/assets/js/atomic/blocks/product-elements/category-list/index.ts similarity index 65% rename from assets/js/atomic/blocks/product-elements/category-list/index.js rename to assets/js/atomic/blocks/product-elements/category-list/index.ts index 34c818ff92d..51e802611ff 100644 --- a/assets/js/atomic/blocks/product-elements/category-list/index.js +++ b/assets/js/atomic/blocks/product-elements/category-list/index.ts @@ -2,11 +2,12 @@ * External dependencies */ import { registerExperimentalBlockType } from '@woocommerce/block-settings'; +import { BlockConfiguration } from '@wordpress/blocks'; /** * Internal dependencies */ -import sharedConfig from '../shared/config'; +import sharedConfig from './../shared/config'; import attributes from './attributes'; import edit from './edit'; import { @@ -15,7 +16,8 @@ import { BLOCK_DESCRIPTION as description, } from './constants'; -const blockConfig = { +const blockConfig: BlockConfiguration = { + ...sharedConfig, title, description, icon: { @@ -26,7 +28,7 @@ const blockConfig = { edit, }; -registerExperimentalBlockType( 'woocommerce/product-category-list', { - ...sharedConfig, - ...blockConfig, -} ); +registerExperimentalBlockType( + 'woocommerce/product-category-list', + blockConfig +); diff --git a/assets/js/atomic/blocks/product-elements/category-list/types.ts b/assets/js/atomic/blocks/product-elements/category-list/types.ts new file mode 100644 index 00000000000..104d6e55f30 --- /dev/null +++ b/assets/js/atomic/blocks/product-elements/category-list/types.ts @@ -0,0 +1,3 @@ +export interface Attributes { + productId: number; +} diff --git a/tsconfig.base.json b/tsconfig.base.json index 6f3da4568c5..04c373a04eb 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -52,6 +52,7 @@ "@woocommerce/knobs": [ "storybook/knobs" ], "@woocommerce/settings": [ "assets/js/settings/shared" ], "@woocommerce/shared-context": [ "assets/js/shared/context" ], + "@woocommerce/shared-hocs": [ "assets/js/shared/hocs" ], "@woocommerce/type-defs/*": [ "assets/js/types/type-defs/*" ], "@woocommerce/types": [ "assets/js/types" ] }