From dd021e43929e4d2c158e4445f70bf26a65ecb849 Mon Sep 17 00:00:00 2001 From: Thomas Allmer Date: Wed, 12 Aug 2020 13:49:45 +0200 Subject: [PATCH] fix(form-core): form-group should have a valid formattedValue --- .changeset/cyan-monkeys-tan.md | 10 + package.json | 17 +- .../src/choice-group/ChoiceGroupMixin.js | 21 + .../choice-group/ChoiceGroupMixin.test.js | 61 +- yarn.lock | 561 +++++++++++------- 5 files changed, 437 insertions(+), 233 deletions(-) create mode 100644 .changeset/cyan-monkeys-tan.md diff --git a/.changeset/cyan-monkeys-tan.md b/.changeset/cyan-monkeys-tan.md new file mode 100644 index 000000000..88b5672d4 --- /dev/null +++ b/.changeset/cyan-monkeys-tan.md @@ -0,0 +1,10 @@ +--- +'@lion/checkbox-group': patch +'@lion/fieldset': patch +'@lion/form': patch +'@lion/form-core': patch +'@lion/radio-group': patch +'@lion/select-rich': patch +--- + +Groups need a valid formattedValue representing the value of it's form elements diff --git a/package.json b/package.json index 6e4b79216..371e37e46 100644 --- a/package.json +++ b/package.json @@ -9,6 +9,7 @@ "build:docs": "wca analyze \"packages/tabs/**/*.js\"", "build:types": "tsc -p tsconfig.build.types.json", "bundlesize": "rollup -c bundlesize/rollup.config.js && bundlesize", + "debug": "web-test-runner \"packages/form-core/test/**/*.test.js\" --watch", "dev-server": "es-dev-server", "format": "npm run format:eslint && npm run format:prettier", "format:eslint": "eslint --ext .js,.html . --fix", @@ -26,10 +27,10 @@ "storybook:build": "build-storybook", "storybook:build:start": "es-dev-server --root-dir storybook-static --open", "test": "run-p test:browser test:node", - "test:browser": "wtr \"packages/**/*/test/**/*.test.js\" --coverage", - "test:browser:all": "wtr \"packages/**/*/test/**/*.test.js\" --playwright --browsers webkit chromium firefox --coverage", - "test:browser:watch": "wtr \"packages/**/*/test/**/*.test.js\" --watch", - "test:browserstack": "wtr --config ./web-test-runner-browserstack.config.js \"packages/form-core/test/**/*.test.js\"", + "test:browser": "web-test-runner \"packages/**/*/test/**/*.test.js\" --coverage", + "test:browser:all": "web-test-runner \"packages/**/*/test/**/*.test.js\" --playwright --browsers webkit chromium firefox --coverage", + "test:browser:watch": "web-test-runner \"packages/**/*/test/**/*.test.js\" --watch", + "test:browserstack": "web-test-runner --config ./web-test-runner-browserstack.config.js \"packages/form-core/test/**/*.test.js\"", "test:node": "node scripts/workspaces-scripts.mjs run test:node", "test:screenshots": "rimraf screenshots/.diff/ && rimraf screenshots/.current/ && mocha --require scripts/screenshots/bootstrap.js --exit --timeout 10000 \"packages/**/test/*.screenshots-test.js\"", "test:screenshots:update": "cross-env UPDATE_SCREENSHOTS=true npm run test:screenshots" @@ -46,10 +47,10 @@ "@open-wc/testing-helpers": "^1.0.0", "@storybook/addon-a11y": "~5.0.0", "@types/chai-dom": "^0.0.8", - "@web/dev-server-legacy": "^0.0.3", - "@web/test-runner": "^0.6.50", - "@web/test-runner-browserstack": "^0.0.8", - "@web/test-runner-playwright": "^0.4.13", + "@web/dev-server-legacy": "^0.1.1", + "@web/test-runner": "^0.7.2", + "@web/test-runner-browserstack": "^0.1.1", + "@web/test-runner-playwright": "^0.5.1", "@webcomponents/webcomponentsjs": "^2.4.4", "babel-eslint": "^8.2.6", "babel-polyfill": "^6.26.0", diff --git a/packages/form-core/src/choice-group/ChoiceGroupMixin.js b/packages/form-core/src/choice-group/ChoiceGroupMixin.js index d05fa348a..74e3b355f 100644 --- a/packages/form-core/src/choice-group/ChoiceGroupMixin.js +++ b/packages/form-core/src/choice-group/ChoiceGroupMixin.js @@ -67,6 +67,25 @@ export const ChoiceGroupMixin = dedupeMixin( } } + get formattedValue() { + const elems = this._getCheckedElements(); + if (this.multipleChoice) { + return elems.map(el => el.formattedValue); + } + return elems[0] ? elems[0].formattedValue : ''; + } + + set formattedValue(value) { + if (this.__isInitialFormattedValue) { + this.__isInitialFormattedValue = false; + this.registrationComplete.then(() => { + this._setCheckedElements(value, (el, val) => el.formattedValue === val); + }); + } else { + this._setCheckedElements(value, (el, val) => el.formattedValue === val); + } + } + constructor() { super(); this.multipleChoice = false; @@ -74,6 +93,7 @@ export const ChoiceGroupMixin = dedupeMixin( this.__isInitialModelValue = true; this.__isInitialSerializedValue = true; + this.__isInitialFormattedValue = true; this.registrationComplete = new Promise((resolve, reject) => { this.__resolveRegistrationComplete = resolve; this.__rejectRegistrationComplete = reject; @@ -99,6 +119,7 @@ export const ChoiceGroupMixin = dedupeMixin( this.registrationComplete.then(() => { this.__isInitialModelValue = false; this.__isInitialSerializedValue = false; + this.__isInitialFormattedValue = false; }); } diff --git a/packages/form-core/test/choice-group/ChoiceGroupMixin.test.js b/packages/form-core/test/choice-group/ChoiceGroupMixin.test.js index 8dc732668..bed85cdac 100644 --- a/packages/form-core/test/choice-group/ChoiceGroupMixin.test.js +++ b/packages/form-core/test/choice-group/ChoiceGroupMixin.test.js @@ -38,6 +38,21 @@ describe('ChoiceGroupMixin', () => { expect(el.modelValue).to.equal('other'); }); + it('has a single formattedValue representing the currently checked radio value', async () => { + const el = await fixture(html` + + + + + + `); + expect(el.formattedValue).to.equal('female'); + el.formElements[0].checked = true; + expect(el.formattedValue).to.equal('male'); + el.formElements[2].checked = true; + expect(el.formattedValue).to.equal('other'); + }); + it('throws if a child element without a modelValue like { value: "foo", checked: false } tries to register', async () => { const el = await fixture(html` @@ -121,6 +136,19 @@ describe('ChoiceGroupMixin', () => { expect(el.formElements[2].checked).to.be.true; }); + it('can set initial formattedValue on creation', async () => { + const el = await fixture(html` + + + + + + `); + + expect(el.formattedValue).to.equal('other'); + expect(el.formElements[2].checked).to.be.true; + }); + it('can handle complex data via choiceValue', async () => { const date = new Date(2018, 11, 24, 10, 33, 30, 0); @@ -265,6 +293,38 @@ describe('ChoiceGroupMixin', () => { expect(el.modelValue).to.eql(['male', 'female', 'other']); }); + it('has a single serializedValue representing all currently checked values', async () => { + const el = await fixture(html` + + + + + + `); + + expect(el.serializedValue).to.eql(['female']); + el.formElements[0].checked = true; + expect(el.serializedValue).to.eql(['male', 'female']); + el.formElements[2].checked = true; + expect(el.serializedValue).to.eql(['male', 'female', 'other']); + }); + + it('has a single formattedValue representing all currently checked values', async () => { + const el = await fixture(html` + + + + + + `); + + expect(el.formattedValue).to.eql(['female']); + el.formElements[0].checked = true; + expect(el.formattedValue).to.eql(['male', 'female']); + el.formElements[2].checked = true; + expect(el.formattedValue).to.eql(['male', 'female', 'other']); + }); + it('can check multiple checkboxes by setting the modelValue', async () => { const el = await fixture(html` @@ -312,7 +372,6 @@ describe('ChoiceGroupMixin', () => { `); - await el.updateComplete; expect(el.serializedValue).to.eql({ gender: 'female', }); diff --git a/yarn.lock b/yarn.lock index 8ab2cfa3c..f1abdf710 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2262,10 +2262,10 @@ resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-5.2.7.tgz#315d570ccb56c53452ff8638738df60726d5b6ea" integrity sha512-NYrtPht0wGzhwe9+/idPaBB+TqkY9AhTvOLMkThm0IoEfLaiVQZwBwyJ5puCkO3AUCWrmcoePjp2mbFocKy4SQ== -"@types/mocha@^7.0.2": - version "7.0.2" - resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-7.0.2.tgz#b17f16cf933597e10d6d78eae3251e692ce8b0ce" - integrity sha512-ZvO2tAcjmMi8V/5Z3JsyofMe3hasRcaw88cto5etSVMwVQfeivGAlEYmaQgceUSVYFofVjT+ioHsATjdWcFt1w== +"@types/mocha@^8.0.1": + version "8.0.2" + resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-8.0.2.tgz#cdd160767c5a445bedef94ea8cfc8ab760fff42b" + integrity sha512-5cv8rmqT3KX9XtWDvSgGYfS4OwrKM2eei90GWLnTYz+AXRiBv5uYcKBjnkQ4katNvfYk3+o2bHGZUsDhdcoUyg== "@types/node@*": version "14.0.14" @@ -2414,22 +2414,22 @@ semver "^7.3.2" tsutils "^3.17.1" -"@web/browser-logs@^0.0.1": - version "0.0.1" - resolved "https://registry.yarnpkg.com/@web/browser-logs/-/browser-logs-0.0.1.tgz#920ed32f5dd5d43330132777499cc7fcecf9bd7f" - integrity sha512-sr7/jagkgYGglEegGxk6KSgT7z0XtInhcwOmg5c+YvACQ3MaaAuZ6HTBf27dza24SuvBe8Q8jTiPRfu+VZ3kzQ== +"@web/browser-logs@^0.1.1": + version "0.1.1" + resolved "https://registry.yarnpkg.com/@web/browser-logs/-/browser-logs-0.1.1.tgz#4c323fa8a1a40645c5e6c53284e2e0ff7d6c3cdf" + integrity sha512-TpUHhGNWdryftxEx/caLPnNPd8AM2EybncYS5TurAywW0e4eTTAiGc9fJOmXRczvHdgRkyD+Z8/9Hxuyz1gorQ== -"@web/config-loader@^0.0.3": - version "0.0.3" - resolved "https://registry.yarnpkg.com/@web/config-loader/-/config-loader-0.0.3.tgz#812875b98d3f38d1e21d293bb4fbf7358243e328" - integrity sha512-pM3Y2ohK2xvVMsZs5tgyIe5kos7L3FrTYBlNotBgjMu+QXNqLnOmz0omYLDj91j75fksmVc6JsTOgFAUyVvGrw== +"@web/config-loader@^0.1.1": + version "0.1.1" + resolved "https://registry.yarnpkg.com/@web/config-loader/-/config-loader-0.1.1.tgz#5ce820bda1700b19c59477cceafc60982c357b16" + integrity sha512-5i4dJKA1E2nFSD3H05ZHVCwi4RJhrG4yknNLueF0uzsK6zN6OXuCz81Xi+cim/gnFywNLTur2wGTC0nUqmwtUw== dependencies: semver "^7.3.2" -"@web/dev-server-core@^0.1.4", "@web/dev-server-core@^0.1.5": - version "0.1.8" - resolved "https://registry.yarnpkg.com/@web/dev-server-core/-/dev-server-core-0.1.8.tgz#4a2e070d02e3589c6f063d1c060fa766a24bda30" - integrity sha512-ZpWJteovCBuIjQ3A2sve+QKDs+Y/w001m87h47nL+Ez9+SSc0QQJAleJIbsAVIeX2d9LYSWBlTq/KBveyifR5Q== +"@web/dev-server-core@^0.2.0", "@web/dev-server-core@^0.2.1": + version "0.2.1" + resolved "https://registry.yarnpkg.com/@web/dev-server-core/-/dev-server-core-0.2.1.tgz#a443b248c6baa3ced0532991bc8a45fff73f58f3" + integrity sha512-7bVTQ24FxqmMus1tdqrl2Q4+ZFHJORg1tM2DEZG2BYCOWUbpDnc3k5fHc5EjsZM1+efaYwuQli3lUwQlVKx1ww== dependencies: chokidar "^3.4.0" clone "^2.1.2" @@ -2442,11 +2442,12 @@ lru-cache "^5.1.1" mime-types "^2.1.27" parse5 "^6.0.0" + picomatch "^2.2.2" -"@web/dev-server-legacy@^0.0.3": - version "0.0.3" - resolved "https://registry.yarnpkg.com/@web/dev-server-legacy/-/dev-server-legacy-0.0.3.tgz#4fb3123e6bc19991c758685e7314d046433fe0cb" - integrity sha512-U20gQ84p7xLvyo+BAuE1hIArvtRH2N2srydAPouBPDSaNtQQK9NCW6io2EmanFve0aZMAtY/zjckcHnIUcTF4w== +"@web/dev-server-legacy@^0.1.1": + version "0.1.1" + resolved "https://registry.yarnpkg.com/@web/dev-server-legacy/-/dev-server-legacy-0.1.1.tgz#1f719610710aaf5608b952defa901c8590173201" + integrity sha512-mf/p35fOtT05PTdFQsJy8B69lhXn7JfOaGJTg0bijm1QH7NTkT50ECAL3l76B9bk5ExmYWRSIqLKhq3iFTJOCA== dependencies: "@babel/core" "^7.10.5" "@babel/plugin-proposal-dynamic-import" "^7.10.4" @@ -2456,7 +2457,7 @@ "@babel/plugin-transform-modules-systemjs" "^7.10.5" "@babel/plugin-transform-template-literals" "^7.10.5" "@babel/preset-env" "^7.10.4" - "@web/dev-server-core" "^0.1.4" + "@web/dev-server-core" "^0.2.1" browserslist "^4.13.0" browserslist-useragent "^3.0.3" caniuse-api "^3.0.0" @@ -2464,54 +2465,53 @@ polyfills-loader "^1.6.1" valid-url "^1.0.9" -"@web/dev-server-rollup@^0.1.6": - version "0.1.6" - resolved "https://registry.yarnpkg.com/@web/dev-server-rollup/-/dev-server-rollup-0.1.6.tgz#711fea9053d059b8ba4498d6cb5db1be24f3f100" - integrity sha512-B979K6wFXTBP/vslAvegOMyoNY4UwOKdeECx4Mk/uSwNI4Aysmwr6YDLETyw7mODFyp8I1cdK76j3mSntXVmrA== +"@web/dev-server-rollup@^0.2.1": + version "0.2.1" + resolved "https://registry.yarnpkg.com/@web/dev-server-rollup/-/dev-server-rollup-0.2.1.tgz#17f2169e4b60757e9a202dbd7d3b87891e5caf6a" + integrity sha512-Csg9EfZfyuxbFChnr77mW/2LZhJPIre8KObsPqP3q4ZX69ksXcKPge/+OMA7suILbBNCprzkA+YwjHlRzKLO5Q== dependencies: - "@web/dev-server-core" "^0.1.5" + "@web/dev-server-core" "^0.2.1" + "@web/test-runner-chrome" "^0.6.1" + "@web/test-runner-core" "^0.7.1" chalk "^4.1.0" + parse5 "^6.0.1" rollup "^2.20.0" whatwg-url "^8.1.0" -"@web/test-runner-browser-lib@^0.2.10": - version "0.2.10" - resolved "https://registry.yarnpkg.com/@web/test-runner-browser-lib/-/test-runner-browser-lib-0.2.10.tgz#d21551a90114c61f6bf7183d762cd9bbe24b98f3" - integrity sha512-PiyXi3Mh7GsYs8yE1/qTe1x7cRnGCh2SLc3zlUMJ+WqDbdTkFvRmMBZHDtno6OEsGqp2NkjN3r2adr7o7uTv7w== - -"@web/test-runner-browserstack@^0.0.8": - version "0.0.8" - resolved "https://registry.yarnpkg.com/@web/test-runner-browserstack/-/test-runner-browserstack-0.0.8.tgz#6031b85159b4b347048f9a6c7ddcebab6118a09c" - integrity sha512-yoriY2sUb+wN7kBmY60yFz7k4Fp/ecZX++pRJ28LUY4Te4T7iSwLdyIJQ6vitGruWylQqx8MLeL+Y/q+w9ixdQ== +"@web/test-runner-browserstack@^0.1.1": + version "0.1.1" + resolved "https://registry.yarnpkg.com/@web/test-runner-browserstack/-/test-runner-browserstack-0.1.1.tgz#a19ee13825357edec412fc201be79f58beba0b73" + integrity sha512-8BrDpi9ECSe+1NFRhsC1E0ykHHpORLb2cB3R7VeCzPbIcnqh+pJyd5mifiP0wbIJyPAsyCt/Ifuo42HE0F0KwA== dependencies: - "@web/dev-server-legacy" "^0.0.3" - "@web/test-runner-selenium" "^0.1.4" + "@web/dev-server-legacy" "^0.1.1" + "@web/test-runner-selenium" "^0.2.1" browserstack-local "^1.4.5" ip "^1.1.5" selenium-webdriver "^4.0.0-alpha.7" uuid "^8.1.0" -"@web/test-runner-chrome@^0.5.13": - version "0.5.13" - resolved "https://registry.yarnpkg.com/@web/test-runner-chrome/-/test-runner-chrome-0.5.13.tgz#367f250f2448e56c6cb3ebc987f384b0b24a6a90" - integrity sha512-mZfIoX6I1kZ8aNXiyFUpuX8F30dpx46Tv8pdev3OpWiX2JaSXc5IqNO8wviQN7lj7mOLeS3ZQ/Qkp/3hUVeEbg== +"@web/test-runner-chrome@^0.6.1": + version "0.6.1" + resolved "https://registry.yarnpkg.com/@web/test-runner-chrome/-/test-runner-chrome-0.6.1.tgz#10d06e554a72d7e88d23b09dc7ec1d7fdaa4478d" + integrity sha512-JLqrM/FtCbBqYDBiKXzsH91qC9verVQ9Lkv5gTI8DlYvgy01PijfBzzaIn63VBuUPS81Q50kv5f6hw8y4iG7Bg== dependencies: "@types/puppeteer-core" "^2.0.0" - "@web/browser-logs" "^0.0.1" - "@web/test-runner-coverage-v8" "^0.0.4" + "@web/browser-logs" "^0.1.1" + "@web/test-runner-core" "^0.7.1" + "@web/test-runner-coverage-v8" "^0.1.1" chrome-launcher "^0.13.3" puppeteer-core "^5.0.0" -"@web/test-runner-cli@^0.4.23": - version "0.4.23" - resolved "https://registry.yarnpkg.com/@web/test-runner-cli/-/test-runner-cli-0.4.23.tgz#7404f0b855d51474ba9b5e82483222fc436a226a" - integrity sha512-/snvRDJhMaqHLk0xTxktuyKQGGz2Cklq97GDfDdXHbsxJ3AR8Xa6F28XmS7Tg2m0Jw6uc5w4Jxg9Rt9eHjXsDQ== +"@web/test-runner-cli@^0.5.1": + version "0.5.1" + resolved "https://registry.yarnpkg.com/@web/test-runner-cli/-/test-runner-cli-0.5.1.tgz#a0ad9c933dac80e71bb697370c4924ab56397948" + integrity sha512-gTKbMB1dqLSnhI3pZ8ZZ2oaeszTGGII+m6QdwaNgyxGpfb5XLtrtqfGpbG532tu/OnzuHf1IwGh0LvkFM1uhVQ== dependencies: "@babel/code-frame" "^7.10.4" "@types/babel__code-frame" "^7.0.1" - "@web/browser-logs" "^0.0.1" - "@web/config-loader" "^0.0.3" - "@web/test-runner-core" "^0.6.17" + "@web/browser-logs" "^0.1.1" + "@web/config-loader" "^0.1.1" + "@web/test-runner-core" "^0.7.1" camelcase "^6.0.0" chalk "^4.1.0" cli-cursor "^3.1.0" @@ -2527,94 +2527,76 @@ portfinder "^1.0.26" source-map "^0.7.3" -"@web/test-runner-core@^0.6.16": - version "0.6.16" - resolved "https://registry.yarnpkg.com/@web/test-runner-core/-/test-runner-core-0.6.16.tgz#5af43be31329af2871a15d6537a31bc4037571c0" - integrity sha512-97h7nwntKonecTrBRpLA7KVxuF9+YymsgzoMD+BQjSLymtBTRePM9A4ziqBGkHnBcGynfEa/bvVy0eXuY2a7jQ== +"@web/test-runner-commands@^0.1.1": + version "0.1.1" + resolved "https://registry.yarnpkg.com/@web/test-runner-commands/-/test-runner-commands-0.1.1.tgz#c842d3a5b60ad9bc78124a9eb37eda88a53a4ae9" + integrity sha512-zRocZ/6yAhpjmTgDdOOka70vbkUusuuGxCkjZsQpvMnvrkPA9zr4mvYLHU1KSEKk51ILRgQYyrST4bwmcefCog== dependencies: - istanbul-lib-coverage "^3.0.0" - picomatch "^2.2.2" - uuid "^8.1.0" + "@web/test-runner-core" "^0.7.1" -"@web/test-runner-core@^0.6.17": - version "0.6.17" - resolved "https://registry.yarnpkg.com/@web/test-runner-core/-/test-runner-core-0.6.17.tgz#ea4fb93d4e919b083509cdd0db7fb2c2e6df7f8d" - integrity sha512-bwwZk/todrTEbYi45ae/zBULXRfWhMygJyhXqtPp38zmLh0Oj5rm7dXQEMIR0cAvbtfd7RYVOALDbkA0MrkNDA== - dependencies: - istanbul-lib-coverage "^3.0.0" - picomatch "^2.2.2" - uuid "^8.1.0" - -"@web/test-runner-core@^0.6.9": - version "0.6.15" - resolved "https://registry.yarnpkg.com/@web/test-runner-core/-/test-runner-core-0.6.15.tgz#44b710cf9be7537eff42c96b5c3ee66d3915e45c" - integrity sha512-UTn3KIdGhkcZ4VlrH7dv28WhsH2tKQT5i/hBItZoxFR9sYM/TVIgpLcN+zhY9cBAAnky9SxqO/8O7Pf/PSwfXQ== - dependencies: - istanbul-lib-coverage "^3.0.0" - picomatch "^2.2.2" - uuid "^8.1.0" - -"@web/test-runner-coverage-v8@^0.0.4": - version "0.0.4" - resolved "https://registry.yarnpkg.com/@web/test-runner-coverage-v8/-/test-runner-coverage-v8-0.0.4.tgz#c5aff4eb7383a8a06c99d4ed5f13207721ca1e1d" - integrity sha512-c77PwhoFYnS6Suy9c/3PSEc4Yw+0AzZbstkO7sfcJ4iP9zbmseU5Jzzwkyzl+ijxeU3b0krIf5gMQGJUHxWf2Q== - dependencies: - "@web/test-runner-core" "^0.6.9" - istanbul-lib-coverage "^3.0.0" - v8-to-istanbul "^4.1.4" - -"@web/test-runner-mocha@^0.2.11": - version "0.2.11" - resolved "https://registry.yarnpkg.com/@web/test-runner-mocha/-/test-runner-mocha-0.2.11.tgz#5fbc7a58803f60e6dc9e5242209dd741c9b0a2ea" - integrity sha512-sTCRzGQxqsemSYbdF3wWMsaXIqQyGWGyFtMXbRMxvg9/nr9p01B+tSCoxGZj0SDBSV253svt92bPFgrbPj2SNQ== - dependencies: - "@types/mocha" "^7.0.2" - "@web/test-runner-browser-lib" "^0.2.10" - mocha "^7.2.0" - -"@web/test-runner-playwright@^0.4.13": - version "0.4.13" - resolved "https://registry.yarnpkg.com/@web/test-runner-playwright/-/test-runner-playwright-0.4.13.tgz#066c6aeb144dbf8de4d3e40c7bd5f3382bd03680" - integrity sha512-NcZGkAMH6f5PcXwT5Km1ogm9mm8NykjXWDN9uQsp4YUVRetZ9DG3MBFZNnKch761aeQivtptNz3M51GIyfZdMw== - dependencies: - "@web/browser-logs" "^0.0.1" - "@web/test-runner-core" "^0.6.16" - "@web/test-runner-coverage-v8" "^0.0.4" - playwright "^1.2.1" - -"@web/test-runner-selenium@^0.1.4": - version "0.1.4" - resolved "https://registry.yarnpkg.com/@web/test-runner-selenium/-/test-runner-selenium-0.1.4.tgz#ded85abb556770dc4419f7cc6562d3d337b6b869" - integrity sha512-6TtdoAfiSoY8fY3FdqC/Ks9e+nSX6bdo3Cc/mJYNhWt+aLfwg5BO9XumAnbQVhaXzU3a+T3stOf94sRFlQjilA== - dependencies: - selenium-webdriver "^4.0.0-alpha.7" - -"@web/test-runner-server@^0.5.12": - version "0.5.12" - resolved "https://registry.yarnpkg.com/@web/test-runner-server/-/test-runner-server-0.5.12.tgz#3a28bc497d3f3bad26430a6a9a82ea675a46504a" - integrity sha512-jT3JT3/0C4GeZZ5wmqNNkXs//vOPmAUJj6W9MChmG/tHCHiEC3QENhnoy/oGYOwaNLqhjenlOf6HGQt+Oh9TzA== +"@web/test-runner-core@^0.7.1", "@web/test-runner-core@^0.7.2": + version "0.7.2" + resolved "https://registry.yarnpkg.com/@web/test-runner-core/-/test-runner-core-0.7.2.tgz#2f6f36844849349387660bca6d33239aa9b4e7cd" + integrity sha512-ir7H4/jdWaKgGVQb6xd6krDQhWyNtfTrf9uE3OmJJ1QeFSDBUrzrVjYLABwoBEA0xdX+pQ6hjDQntiln9hx2hg== dependencies: "@babel/code-frame" "^7.10.4" - "@web/dev-server-core" "^0.1.5" - "@web/test-runner-core" "^0.6.16" + "@web/dev-server-core" "^0.2.0" + "@web/test-runner-core" "^0.7.2" co-body "^6.0.0" debounce "^1.2.0" deepmerge "^4.2.2" dependency-graph "^0.9.0" + istanbul-lib-coverage "^3.0.0" picomatch "^2.2.2" + uuid "^8.1.0" -"@web/test-runner@^0.6.50": - version "0.6.50" - resolved "https://registry.yarnpkg.com/@web/test-runner/-/test-runner-0.6.50.tgz#c15121a58e65e487c5ee7f280ead48bce48ecb93" - integrity sha512-90T0jpYMPUxXunSlcWbAXpUC3r1NCu4KkMfIaTSb4YgB9IxcDxIOZbTnkvybLHuX3jgfiQiRcrO+bL+rcKxJkA== +"@web/test-runner-coverage-v8@^0.1.1": + version "0.1.1" + resolved "https://registry.yarnpkg.com/@web/test-runner-coverage-v8/-/test-runner-coverage-v8-0.1.1.tgz#ae4d6c94969346db8ef617a08cde7e7d1a8fc1d0" + integrity sha512-bDGn7Bja9IhpHAobgecTt9OTWuQKq/hOqyNRC7Pzofpni74D/wPQT2++qRdvGW+1+2iPAmg0QQ27tfRwHJWPww== + dependencies: + "@web/test-runner-core" "^0.7.1" + istanbul-lib-coverage "^3.0.0" + v8-to-istanbul "^4.1.4" + +"@web/test-runner-mocha@^0.3.1": + version "0.3.1" + resolved "https://registry.yarnpkg.com/@web/test-runner-mocha/-/test-runner-mocha-0.3.1.tgz#6fcdd8369dfa218ab470d21585567cb57b313c87" + integrity sha512-sfRVZiqxwrOgCSSjsOssMZB6vLZc0VmJe11PRVn6Q0nypGfRv1DiDHQ4RqO51L1JYQSTcRPQqTS8t7SN3XNZJQ== + dependencies: + "@types/mocha" "^8.0.1" + mocha "^8.1.1" + +"@web/test-runner-playwright@^0.5.1": + version "0.5.1" + resolved "https://registry.yarnpkg.com/@web/test-runner-playwright/-/test-runner-playwright-0.5.1.tgz#bae2cf573315efef880a02702ae3ecea8f6b9140" + integrity sha512-hKT7pkyvN379AnALZKS52y91wkHVlkFt/Y0w19Suf6AoOd6nkbDm1J1cl61STUUmz+YdKBw9wPNMu/FlEjg/Qg== + dependencies: + "@web/browser-logs" "^0.1.1" + "@web/test-runner-core" "^0.7.1" + "@web/test-runner-coverage-v8" "^0.1.1" + playwright "^1.3.0" + +"@web/test-runner-selenium@^0.2.1": + version "0.2.1" + resolved "https://registry.yarnpkg.com/@web/test-runner-selenium/-/test-runner-selenium-0.2.1.tgz#d9ffdf39152586b49389f82b358bc2dae3d659d9" + integrity sha512-+rtwldguGKFAfSUc6ub3zP+cZ0KEC/5fyqYjjAPbv1k6XUay/dCSufrJsp+dsXOylZHEbQFcxaXj3ZGbVtELig== + dependencies: + "@web/test-runner-core" "^0.7.1" + selenium-webdriver "^4.0.0-alpha.7" + +"@web/test-runner@^0.7.2": + version "0.7.2" + resolved "https://registry.yarnpkg.com/@web/test-runner/-/test-runner-0.7.2.tgz#b8abc38a1d8180e68d881032e152af2a961c9be9" + integrity sha512-zdEfn+0lvLAfkcvx1hWlj8Wge4JaOW3WSmqZYnDvSbGHFxSrQToZ3So5dQwrvJsR/lluZcYmBazXRR72Ml3AMA== dependencies: "@rollup/plugin-node-resolve" "^8.1.0" - "@web/dev-server-rollup" "^0.1.6" - "@web/test-runner-chrome" "^0.5.13" - "@web/test-runner-cli" "^0.4.23" - "@web/test-runner-core" "^0.6.17" - "@web/test-runner-mocha" "^0.2.11" - "@web/test-runner-server" "^0.5.12" + "@web/dev-server-rollup" "^0.2.1" + "@web/test-runner-chrome" "^0.6.1" + "@web/test-runner-cli" "^0.5.1" + "@web/test-runner-commands" "^0.1.1" + "@web/test-runner-core" "^0.7.1" + "@web/test-runner-mocha" "^0.3.1" command-line-args "^5.1.1" deepmerge "^4.2.2" @@ -2706,6 +2688,11 @@ ansi-colors@3.2.3: resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-3.2.3.tgz#57d35b8686e851e2cc04c403f1c00203976a1813" integrity sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw== +ansi-colors@4.1.1, ansi-colors@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" + integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== + ansi-colors@^1.0.1: version "1.1.0" resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-1.1.0.tgz#6374b4dd5d4718ff3ce27a671a3b1cad077132a9" @@ -2713,11 +2700,6 @@ ansi-colors@^1.0.1: dependencies: ansi-wrap "^0.1.0" -ansi-colors@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" - integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== - ansi-cyan@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/ansi-cyan/-/ansi-cyan-0.1.1.tgz#538ae528af8982f28ae30d86f2f17456d2609873" @@ -2945,6 +2927,16 @@ array.prototype.flat@^1.2.3: define-properties "^1.1.3" es-abstract "^1.17.0-next.1" +array.prototype.map@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/array.prototype.map/-/array.prototype.map-1.0.2.tgz#9a4159f416458a23e9483078de1106b2ef68f8ec" + integrity sha512-Az3OYxgsa1g7xDYp86l0nnN4bcmuEITGe1rbdEBVkrqkzMgDcbdQ2R7r41pNzti+4NMces3H8gMmuioZUilLgw== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.0-next.1" + es-array-method-boxes-properly "^1.0.0" + is-string "^1.0.4" + arrify@^1.0.0, arrify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" @@ -3609,6 +3601,21 @@ chokidar@3.3.0: optionalDependencies: fsevents "~2.1.1" +chokidar@3.3.1: + version "3.3.1" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.3.1.tgz#c84e5b3d18d9a4d77558fef466b1bf16bbeb3450" + integrity sha512-4QYCEWOcK3OJrxwvyyAOxFuhpvOVCYkr33LPfFNBjAD/w3sEzWsp2BUOkI4l9bHvWioAd0rc6NlHUOEaWkTeqg== + dependencies: + anymatch "~3.1.1" + braces "~3.0.2" + glob-parent "~5.1.0" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.3.0" + optionalDependencies: + fsevents "~2.1.2" + chokidar@^3.0.0, chokidar@^3.4.0: version "3.4.1" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.4.1.tgz#e905bdecf10eaa0a0b1db0c664481cc4cbc22ba1" @@ -4651,7 +4658,7 @@ diff@3.5.0, diff@^3.5.0: resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12" integrity sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA== -diff@^4.0.2: +diff@4.0.2, diff@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== @@ -4876,7 +4883,7 @@ error-ex@^1.2.0, error-ex@^1.3.1: dependencies: is-arrayish "^0.2.1" -es-abstract@^1.17.0, es-abstract@^1.17.0-next.1, es-abstract@^1.17.5: +es-abstract@^1.17.0, es-abstract@^1.17.0-next.1, es-abstract@^1.17.4, es-abstract@^1.17.5: version "1.17.6" resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.17.6.tgz#9142071707857b2cacc7b89ecb670316c3e2d52a" integrity sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw== @@ -4893,75 +4900,10 @@ es-abstract@^1.17.0, es-abstract@^1.17.0-next.1, es-abstract@^1.17.5: string.prototype.trimend "^1.0.1" string.prototype.trimstart "^1.0.1" -es-dev-server@^1.18.1: - version "1.57.0" - resolved "https://registry.yarnpkg.com/es-dev-server/-/es-dev-server-1.57.0.tgz#79a30dcaec7a2cd0aa998baa572551794c21ef45" - integrity sha512-vCQuXNir9L7HAxIStt2JpWHCKmudpSilhdLngWDbmkLDT+fAgy9YFLYRbs/ppU0VlrhUpjftpVvmEjRsFpib7Q== - dependencies: - "@babel/core" "^7.9.0" - "@babel/plugin-proposal-dynamic-import" "^7.8.3" - "@babel/plugin-proposal-nullish-coalescing-operator" "^7.8.3" - "@babel/plugin-proposal-optional-chaining" "^7.9.0" - "@babel/plugin-syntax-class-properties" "^7.8.3" - "@babel/plugin-syntax-import-meta" "^7.8.3" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - "@babel/plugin-syntax-numeric-separator" "^7.8.3" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" - "@babel/plugin-transform-template-literals" "^7.8.3" - "@babel/preset-env" "^7.9.0" - "@koa/cors" "^3.1.0" - "@open-wc/building-utils" "^2.18.0" - "@rollup/plugin-node-resolve" "^7.1.1" - "@rollup/pluginutils" "^3.0.0" - "@types/babel__core" "^7.1.3" - "@types/browserslist" "^4.8.0" - "@types/browserslist-useragent" "^3.0.0" - "@types/caniuse-api" "^3.0.0" - "@types/command-line-args" "^5.0.0" - "@types/command-line-usage" "^5.0.1" - "@types/debounce" "^1.2.0" - "@types/koa" "^2.0.48" - "@types/koa-compress" "^2.0.9" - "@types/koa-etag" "^3.0.0" - "@types/koa-static" "^4.0.1" - "@types/koa__cors" "^3.0.1" - "@types/lru-cache" "^5.1.0" - "@types/minimatch" "^3.0.3" - "@types/path-is-inside" "^1.0.0" - "@types/whatwg-url" "^6.4.0" - browserslist "^4.9.1" - browserslist-useragent "^3.0.2" - builtin-modules "^3.1.0" - camelcase "^5.3.1" - caniuse-api "^3.0.0" - caniuse-lite "^1.0.30001033" - chokidar "^3.0.0" - command-line-args "^5.0.2" - command-line-usage "^6.1.0" - debounce "^1.2.0" - deepmerge "^4.2.2" - es-module-lexer "^0.3.13" - get-stream "^5.1.0" - is-stream "^2.0.0" - isbinaryfile "^4.0.2" - koa "^2.7.0" - koa-compress "^3.0.0" - koa-etag "^3.0.0" - koa-static "^5.0.0" - lru-cache "^5.1.1" - mime-types "^2.1.27" - minimatch "^3.0.4" - open "^7.0.3" - parse5 "^5.1.1" - path-is-inside "^1.0.2" - polyfills-loader "^1.6.1" - portfinder "^1.0.21" - rollup "^2.7.2" - strip-ansi "^5.2.0" - systemjs "^6.3.1" - tslib "^1.11.1" - useragent "^2.3.0" - whatwg-url "^7.0.0" +es-array-method-boxes-properly@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz#873f3e84418de4ee19c5be752990b2e44718d09e" + integrity sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA== es-dev-server@^1.57.1: version "1.57.1" @@ -5033,6 +4975,19 @@ es-dev-server@^1.57.1: useragent "^2.3.0" whatwg-url "^7.0.0" +es-get-iterator@^1.0.2: + version "1.1.0" + resolved "https://registry.yarnpkg.com/es-get-iterator/-/es-get-iterator-1.1.0.tgz#bb98ad9d6d63b31aacdc8f89d5d0ee57bcb5b4c8" + integrity sha512-UfrmHuWQlNMTs35e1ypnvikg6jCz3SK8v8ImvmDsh36fCVUR1MqoFDiyn0/k52C8NqO3YsO8Oe0azeesNuqSsQ== + dependencies: + es-abstract "^1.17.4" + has-symbols "^1.0.1" + is-arguments "^1.0.4" + is-map "^2.0.1" + is-set "^2.0.1" + is-string "^1.0.5" + isarray "^2.0.5" + es-module-lexer@^0.3.13, es-module-lexer@^0.3.24, es-module-lexer@^0.3.6: version "0.3.24" resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-0.3.24.tgz#e6b2900758e9e210d23aec2092efc13ca235adea" @@ -5520,6 +5475,14 @@ find-up@3.0.0, find-up@^3.0.0: dependencies: locate-path "^3.0.0" +find-up@4.1.0, find-up@^4.0.0, find-up@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" + integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== + dependencies: + locate-path "^5.0.0" + path-exists "^4.0.0" + find-up@^1.0.0: version "1.1.2" resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" @@ -5535,14 +5498,6 @@ find-up@^2.0.0, find-up@^2.1.0: dependencies: locate-path "^2.0.0" -find-up@^4.0.0, find-up@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" - integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== - dependencies: - locate-path "^5.0.0" - path-exists "^4.0.0" - find-yarn-workspace-root2@1.2.16: version "1.2.16" resolved "https://registry.yarnpkg.com/find-yarn-workspace-root2/-/find-yarn-workspace-root2-1.2.16.tgz#60287009dd2f324f59646bdb4b7610a6b301c2a9" @@ -5832,7 +5787,7 @@ glob@7.1.3: once "^1.3.0" path-is-absolute "^1.0.0" -glob@^7.0.5, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@~7.1.2: +glob@7.1.6, glob@^7.0.5, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@~7.1.2: version "7.1.6" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== @@ -6711,6 +6666,11 @@ is-hexadecimal@^1.0.0: resolved "https://registry.yarnpkg.com/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz#cc35c97588da4bd49a8eedd6bc4082d44dcb23a7" integrity sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw== +is-map@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-map/-/is-map-2.0.1.tgz#520dafc4307bb8ebc33b813de5ce7c9400d644a1" + integrity sha512-T/S49scO8plUiAOA2DBTBG3JHpn1yiw0kRp6dgiZ0v2/6twi5eiB0rHtHFH9ZIrvlWc6+4O+m4zg5+Z833aXgw== + is-module@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591" @@ -6782,6 +6742,11 @@ is-running@^2.1.0: resolved "https://registry.yarnpkg.com/is-running/-/is-running-2.1.0.tgz#30a73ff5cc3854e4fc25490809e9f5abf8de09e0" integrity sha1-MKc/9cw4VOT8JUkICen1q/jeCeA= +is-set@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-set/-/is-set-2.0.1.tgz#d1604afdab1724986d30091575f54945da7e5f43" + integrity sha512-eJEzOtVyenDs1TMzSQ3kU3K+E0GUS9sno+F0OBT97xsgcJsF9nXMBtkT9/kut5JEpM7oL7X/0qxR17K3mcwIAA== + is-stream@^1.0.1, is-stream@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" @@ -6792,7 +6757,7 @@ is-stream@^2.0.0: resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3" integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw== -is-string@^1.0.5: +is-string@^1.0.4, is-string@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.5.tgz#40493ed198ef3ff477b8c7f92f644ec82a5cd3a6" integrity sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ== @@ -6882,6 +6847,11 @@ isarray@^1.0.0, isarray@~1.0.0: resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= +isarray@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" + integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== + isbinaryfile@^4.0.2, isbinaryfile@^4.0.6: version "4.0.6" resolved "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-4.0.6.tgz#edcb62b224e2b4710830b67498c8e4e5a4d2610b" @@ -6966,6 +6936,19 @@ istanbul-reports@^3.0.2: html-escaper "^2.0.0" istanbul-lib-report "^3.0.0" +iterate-iterator@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/iterate-iterator/-/iterate-iterator-1.0.1.tgz#1693a768c1ddd79c969051459453f082fe82e9f6" + integrity sha512-3Q6tudGN05kbkDQDI4CqjaBf4qf85w6W6GnuZDtUVYwKgtC1q8yxYX7CZed7N+tLzQqS6roujWvszf13T+n9aw== + +iterate-value@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/iterate-value/-/iterate-value-1.0.2.tgz#935115bd37d006a52046535ebc8d07e9c9337f57" + integrity sha512-A6fMAio4D2ot2r/TYzr4yUWrmwNdsN5xL7+HUiyACE4DXm+q8HtPcnFTp+NnW3k4N05tZ7FVYFFb2CR13NxyHQ== + dependencies: + es-get-iterator "^1.0.2" + iterate-iterator "^1.0.1" + jest-worker@^24.9.0: version "24.9.0" resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-24.9.0.tgz#5dbfdb5b2d322e98567898238a9697bcce67b3e5" @@ -6979,6 +6962,11 @@ jpeg-js@^0.3.7: resolved "https://registry.yarnpkg.com/jpeg-js/-/jpeg-js-0.3.7.tgz#471a89d06011640592d314158608690172b1028d" integrity sha512-9IXdWudL61npZjvLuVe/ktHiA41iE8qFyLB+4VDTblEsWBzeg8WQTlktdUK4CdncUqtUgUg0bbOmTE2bKBKaBQ== +jpeg-js@^0.4.0: + version "0.4.1" + resolved "https://registry.yarnpkg.com/jpeg-js/-/jpeg-js-0.4.1.tgz#937a3ae911eb6427f151760f8123f04c8bfe6ef7" + integrity sha512-jA55yJiB5tCXEddos8JBbvW+IMrqY0y1tjjx9KNVtA+QPmu7ND5j0zkKopClpUTsaETL135uOM2XfcYG4XRjmw== + js-beautify@^1.8.9: version "1.11.0" resolved "https://registry.yarnpkg.com/js-beautify/-/js-beautify-1.11.0.tgz#afb873dc47d58986360093dcb69951e8bcd5ded2" @@ -8058,7 +8046,7 @@ mocha@^6.2.2: yargs-parser "13.1.2" yargs-unparser "1.6.0" -mocha@^7.1.1, mocha@^7.2.0: +mocha@^7.1.1: version "7.2.0" resolved "https://registry.yarnpkg.com/mocha/-/mocha-7.2.0.tgz#01cc227b00d875ab1eed03a75106689cfed5a604" integrity sha512-O9CIypScywTVpNaRrCAgoUnJgozpIofjKUYmJhiCIJMiuYnLI6otcb1/kpW9/n/tJODHGZ7i8aLQoDVsMtOKQQ== @@ -8088,6 +8076,37 @@ mocha@^7.1.1, mocha@^7.2.0: yargs-parser "13.1.2" yargs-unparser "1.6.0" +mocha@^8.1.1: + version "8.1.1" + resolved "https://registry.yarnpkg.com/mocha/-/mocha-8.1.1.tgz#1de1ba4e9a2c955d96b84e469d7540848223592d" + integrity sha512-p7FuGlYH8t7gaiodlFreseLxEmxTgvyG9RgPHODFPySNhwUehu8NIb0vdSt3WFckSneswZ0Un5typYcWElk7HQ== + dependencies: + ansi-colors "4.1.1" + browser-stdout "1.3.1" + chokidar "3.3.1" + debug "3.2.6" + diff "4.0.2" + escape-string-regexp "1.0.5" + find-up "4.1.0" + glob "7.1.6" + growl "1.10.5" + he "1.2.0" + js-yaml "3.13.1" + log-symbols "3.0.0" + minimatch "3.0.4" + ms "2.1.2" + object.assign "4.1.0" + promise.allsettled "1.0.2" + serialize-javascript "4.0.0" + strip-json-comments "3.0.1" + supports-color "7.1.0" + which "2.0.2" + wide-align "1.1.3" + workerpool "6.0.0" + yargs "13.3.2" + yargs-parser "13.1.2" + yargs-unparser "1.6.1" + mock-fs@^4.10.1: version "4.12.0" resolved "https://registry.yarnpkg.com/mock-fs/-/mock-fs-4.12.0.tgz#a5d50b12d2d75e5bec9dac3b67ffe3c41d31ade4" @@ -8108,7 +8127,7 @@ ms@2.1.1: resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg== -ms@^2.1.1: +ms@2.1.2, ms@^2.1.1: version "2.1.2" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== @@ -8742,7 +8761,7 @@ parse5@^5.0.0, parse5@^5.1.1: resolved "https://registry.yarnpkg.com/parse5/-/parse5-5.1.1.tgz#f68e4e5ba1852ac2cadc00f4555fff6c2abb6178" integrity sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug== -parse5@^6.0.0: +parse5@^6.0.0, parse5@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b" integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== @@ -8859,7 +8878,7 @@ pend@~1.2.0: resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" integrity sha1-elfrVQpng/kRUzH89GY9XI4AelA= -picomatch@^2.0.4, picomatch@^2.0.5, picomatch@^2.2.1, picomatch@^2.2.2: +picomatch@^2.0.4, picomatch@^2.0.5, picomatch@^2.0.7, picomatch@^2.2.1, picomatch@^2.2.2: version "2.2.2" resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg== @@ -8941,6 +8960,22 @@ playwright@^1.2.1: rimraf "^3.0.2" ws "^6.1.0" +playwright@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/playwright/-/playwright-1.3.0.tgz#8c33ed29bc0c7d97f82f8322e99be6d7f0d9ff67" + integrity sha512-W3mwXv2XNFugbepSZTZxI314WfI1SAjdZBEeGOu8S5KnPz4RSlunUFgXn6496o8lobPmORLcJ9VTSGyiFfGpaw== + dependencies: + debug "^4.1.1" + extract-zip "^2.0.0" + https-proxy-agent "^5.0.0" + jpeg-js "^0.4.0" + mime "^2.4.4" + pngjs "^5.0.0" + progress "^2.0.3" + proxy-from-env "^1.1.0" + rimraf "^3.0.2" + ws "^6.1.0" + please-upgrade-node@^3.1.1, please-upgrade-node@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz#aeddd3f994c933e4ad98b99d9a556efa0e2fe942" @@ -9129,6 +9164,17 @@ progress@^2.0.0, progress@^2.0.1, progress@^2.0.3: resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== +promise.allsettled@1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/promise.allsettled/-/promise.allsettled-1.0.2.tgz#d66f78fbb600e83e863d893e98b3d4376a9c47c9" + integrity sha512-UpcYW5S1RaNKT6pd+s9jp9K9rlQge1UXKskec0j6Mmuq7UJCvlS2J2/s/yuPN8ehftf9HXMxWlKiPbGGUzpoRg== + dependencies: + array.prototype.map "^1.0.1" + define-properties "^1.1.3" + es-abstract "^1.17.0-next.1" + function-bind "^1.1.1" + iterate-value "^1.0.0" + promise@^7.1.1: version "7.3.1" resolved "https://registry.yarnpkg.com/promise/-/promise-7.3.1.tgz#064b72602b18f90f29192b8b1bc418ffd1ebd3bf" @@ -9237,6 +9283,13 @@ quick-lru@^1.0.0: resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-1.1.0.tgz#4360b17c61136ad38078397ff11416e186dcfbb8" integrity sha1-Q2CxfGETatOAeDl/8RQW4Ybc+7g= +randombytes@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" + integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== + dependencies: + safe-buffer "^5.1.0" + raw-body@^2.3.3: version "2.4.1" resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.1.tgz#30ac82f98bb5ae8c152e67149dac8d55153b168c" @@ -9502,6 +9555,13 @@ readdirp@~3.2.0: dependencies: picomatch "^2.0.4" +readdirp@~3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.3.0.tgz#984458d13a1e42e2e9f5841b129e162f369aff17" + integrity sha512-zz0pAkSPOXXm1viEwygWIPSPkcBYjW1xU5j/JBh5t9bGCJwa6f9+BJa6VaB2g+b55yVrmXzqkyLf4xaWYM0IkQ== + dependencies: + picomatch "^2.0.7" + readdirp@~3.4.0: version "3.4.0" resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.4.0.tgz#9fdccdf9e9155805449221ac645e8303ab5b9ada" @@ -10137,6 +10197,13 @@ semver@^7.1.3, semver@^7.3.2: resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938" integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ== +serialize-javascript@4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-4.0.0.tgz#b525e1238489a5ecfc42afacc3fe99e666f4b1aa" + integrity sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw== + dependencies: + randombytes "^2.1.0" + serialize-javascript@^2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-2.1.2.tgz#ecec53b0e0317bdc95ef76ab7074b7384785fa61" @@ -10699,6 +10766,11 @@ strip-json-comments@2.0.1, strip-json-comments@~2.0.1: resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= +strip-json-comments@3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.0.1.tgz#85713975a91fb87bf1b305cca77395e40d2a64a7" + integrity sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw== + strip-json-comments@^3.0.1: version "3.1.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" @@ -10725,6 +10797,13 @@ supports-color@6.0.0: dependencies: has-flag "^3.0.0" +supports-color@7.1.0, supports-color@^7.1.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.1.0.tgz#68e32591df73e25ad1c4b49108a2ec507962bfd1" + integrity sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g== + dependencies: + has-flag "^4.0.0" + supports-color@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" @@ -10751,13 +10830,6 @@ supports-color@^6.1.0: dependencies: has-flag "^3.0.0" -supports-color@^7.1.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.1.0.tgz#68e32591df73e25ad1c4b49108a2ec507962bfd1" - integrity sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g== - dependencies: - has-flag "^4.0.0" - symbol-observable@^1.0.4: version "1.2.0" resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804" @@ -11660,7 +11732,7 @@ which@1.3.1, which@^1.2.9: dependencies: isexe "^2.0.0" -which@^2.0.1: +which@2.0.2, which@^2.0.1: version "2.0.2" resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== @@ -11835,6 +11907,11 @@ workbox-window@^5.1.3: dependencies: workbox-core "^5.1.3" +workerpool@6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.0.0.tgz#85aad67fa1a2c8ef9386a1b43539900f61d03d58" + integrity sha512-fU2OcNA/GVAJLLyKUoHkAgIhKb0JoCpSjLC/G2vYKxUjVmQwGbRVeoPJ1a8U4pnVofz4AQV5Y/NEw8oKqxEBtA== + wrap-ansi@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" @@ -11953,6 +12030,14 @@ yargs-parser@^11.1.1: camelcase "^5.0.0" decamelize "^1.2.0" +yargs-parser@^15.0.1: + version "15.0.1" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-15.0.1.tgz#54786af40b820dcb2fb8025b11b4d659d76323b3" + integrity sha512-0OAMV2mAZQrs3FkNpDQcBk1x5HXb8X4twADss4S0Iuk+2dGnLOE/fRHrsYm542GduMveyA77OF4wrNJuanRCWw== + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + yargs-parser@^18.1.1, yargs-parser@^18.1.2: version "18.1.3" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" @@ -11970,6 +12055,17 @@ yargs-unparser@1.6.0: lodash "^4.17.15" yargs "^13.3.0" +yargs-unparser@1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/yargs-unparser/-/yargs-unparser-1.6.1.tgz#bd4b0ee05b4c94d058929c32cb09e3fce71d3c5f" + integrity sha512-qZV14lK9MWsGCmcr7u5oXGH0dbGqZAIxTDrWXZDo5zUr6b6iUmelNKO6x6R1dQT24AH3LgRxJpr8meWy2unolA== + dependencies: + camelcase "^5.3.1" + decamelize "^1.2.0" + flat "^4.1.0" + is-plain-obj "^1.1.0" + yargs "^14.2.3" + yargs@13.3.2, yargs@^13.3.0: version "13.3.2" resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd" @@ -12004,6 +12100,23 @@ yargs@^12.0.2: y18n "^3.2.1 || ^4.0.0" yargs-parser "^11.1.1" +yargs@^14.2.3: + version "14.2.3" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-14.2.3.tgz#1a1c3edced1afb2a2fea33604bc6d1d8d688a414" + integrity sha512-ZbotRWhF+lkjijC/VhmOT9wSgyBQ7+zr13+YLkhfsSiTriYsMzkTUFP18pFhWwBeMa5gUc1MzbhrO6/VB7c9Xg== + dependencies: + cliui "^5.0.0" + decamelize "^1.2.0" + find-up "^3.0.0" + get-caller-file "^2.0.1" + require-directory "^2.1.1" + require-main-filename "^2.0.0" + set-blocking "^2.0.0" + string-width "^3.0.0" + which-module "^2.0.0" + y18n "^4.0.0" + yargs-parser "^15.0.1" + yargs@^15.0.2: version "15.3.1" resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.3.1.tgz#9505b472763963e54afe60148ad27a330818e98b"