diff --git a/CHANGELOG.md b/CHANGELOG.md index 504b3cb2..09054404 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,6 +17,26 @@ and this project adheres to [Semantic Versioning](http://semver.org/). +## [0.3.7] - 2021-01-08 + +### Added + +- Added `files` property to `` and ``. Use + this property to directly get and set the array of project files (e.g. to + save/restore the project state). + + Note that directly setting `files` always takes precedence over setting + `projectSrc`, and both take precedence over slotted children. + +### Changed + +- It is no longer necessary to load the Material Icons font. The reload button + icon is now inlined SVG. + +### Fixed + +- Fix caret placement issues with some dynamic layouts. + ## [0.3.6] - 2020-12-08 ### Fixed diff --git a/configurator/index.html b/configurator/index.html index 5e039a2a..04a265bb 100644 --- a/configurator/index.html +++ b/configurator/index.html @@ -4,7 +4,6 @@ Playground Elements Configurator - diff --git a/package-lock.json b/package-lock.json index 42387d1e..446e5dc1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,11 +1,11 @@ { "name": "playground-elements", - "version": "0.3.6", + "version": "0.3.7", "lockfileVersion": 2, "requires": true, "packages": { "": { - "version": "0.3.6", + "version": "0.3.7", "license": "BSD-3-Clause", "dependencies": { "@material/mwc-icon-button": "^0.20.0", @@ -23,10 +23,10 @@ "@rollup/plugin-node-resolve": "^11.0.0", "@rollup/plugin-replace": "^2.3.3", "@types/resize-observer-browser": "^0.1.4", - "@web/dev-server": "^0.0.25", - "@web/test-runner": "^0.10.0", - "@web/test-runner-playwright": "^0.6.0", - "@web/test-runner-puppeteer": "^0.7.2", + "@web/dev-server": "^0.1.3", + "@web/test-runner": "^0.11.7", + "@web/test-runner-playwright": "^0.7.2", + "@web/test-runner-puppeteer": "^0.8.2", "clean-css": "^4.2.3", "codemirror": "^5.58.1", "codemirror-grammar-mode": "^0.1.10", @@ -43,18 +43,18 @@ } }, "node_modules/@babel/code-frame": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", - "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", + "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", "dev": true, "dependencies": { "@babel/highlight": "^7.10.4" } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", - "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", + "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", "dev": true }, "node_modules/@babel/highlight": { @@ -446,12 +446,12 @@ } }, "node_modules/@nodelib/fs.scandir": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz", - "integrity": "sha512-eGmwYQn3gxo4r7jdQnkrrN6bY478C3P+a/y72IJukF8LjB6ZHeB3c+Ehacj3sYeSmUXGlnA67/PmbM9CVwL7Dw==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz", + "integrity": "sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA==", "dev": true, "dependencies": { - "@nodelib/fs.stat": "2.0.3", + "@nodelib/fs.stat": "2.0.4", "run-parallel": "^1.1.9" }, "engines": { @@ -459,21 +459,21 @@ } }, "node_modules/@nodelib/fs.stat": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz", - "integrity": "sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA==", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz", + "integrity": "sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q==", "dev": true, "engines": { "node": ">= 8" } }, "node_modules/@nodelib/fs.walk": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz", - "integrity": "sha512-1V9XOY4rDW0rehzbrcqAmHnz8e7SKvX27gh8Gt2WgB0+pdzdiLV83p72kZPU+jvMbS1qU5mauP2iOvO8rhmurQ==", + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.6.tgz", + "integrity": "sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow==", "dev": true, "dependencies": { - "@nodelib/fs.scandir": "2.1.3", + "@nodelib/fs.scandir": "2.1.4", "fastq": "^1.6.0" }, "engines": { @@ -608,9 +608,9 @@ } }, "node_modules/@rollup/plugin-node-resolve": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.0.0.tgz", - "integrity": "sha512-8Hrmwjn1pLYjUxcv7U7IPP0qfnzEJWHyHE6CaZ8jbLM+8axaarJRB1jB6JgKTDp5gNga+TpsgX6F8iuvgOerKQ==", + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.0.1.tgz", + "integrity": "sha512-ltlsj/4Bhwwhb+Nb5xCz/6vieuEj2/BAkkqVIKmZwC7pIdl8srmgmglE4S0jFlZa32K4qvdQ6NHdmpRKD/LwoQ==", "dev": true, "dependencies": { "@rollup/pluginutils": "^3.1.0", @@ -681,12 +681,6 @@ "@types/node": "*" } }, - "node_modules/@types/babel__code-frame": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/@types/babel__code-frame/-/babel__code-frame-7.0.2.tgz", - "integrity": "sha512-imO+jT/yjOKOAS5GQZ8SDtwiIloAGGr6OaZDKB0V5JVaSfGZLat5K5/ZRtyKW6R60XHV3RHYPTFfhYb+wDKyKg==", - "dev": true - }, "node_modules/@types/body-parser": { "version": "1.19.0", "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.0.tgz", @@ -710,9 +704,9 @@ "dev": true }, "node_modules/@types/connect": { - "version": "3.4.33", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.33.tgz", - "integrity": "sha512-2+FrkXY4zllzTNfJth7jOqEHC+enpLeGslEhpnTAkg21GkRrWV4SsAtqchtT4YS9/nODBU2/ZfsBY2X4J/dX7A==", + "version": "3.4.34", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.34.tgz", + "integrity": "sha512-ePPA/JuI+X0vb+gSWlPKOY0NdNAie/rPUqX2GUPpbZwiKTkSPhjXWuee47E4MtE54QVzGCQMQkAL6JhV2E1+cQ==", "dev": true, "dependencies": { "@types/node": "*" @@ -725,9 +719,9 @@ "dev": true }, "node_modules/@types/cookies": { - "version": "0.7.5", - "resolved": "https://registry.npmjs.org/@types/cookies/-/cookies-0.7.5.tgz", - "integrity": "sha512-3+TAFSm78O7/bAeYdB8FoYGntuT87vVP9JKuQRL8sRhv9313LP2SpHHL50VeFtnyjIcb3UELddMk5Yt0eOSOkg==", + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/@types/cookies/-/cookies-0.7.6.tgz", + "integrity": "sha512-FK4U5Qyn7/Sc5ih233OuHO0qAkOpEcD/eG6584yEiLKizTFRny86qHLe/rej3HFQrkBuUjF4whFliAdODbVN/w==", "dev": true, "dependencies": { "@types/connect": "*", @@ -755,9 +749,9 @@ } }, "node_modules/@types/express-serve-static-core": { - "version": "4.17.14", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.14.tgz", - "integrity": "sha512-uFTLwu94TfUFMToXNgRZikwPuZdOtDgs3syBtAIr/OXorL1kJqUJT9qCLnRZ5KBOWfZQikQ2xKgR2tnDj1OgDA==", + "version": "4.17.17", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.17.tgz", + "integrity": "sha512-YYlVaCni5dnHc+bLZfY908IG1+x5xuibKZMGv8srKkvtul3wUuanYvpIj9GXXoWkQbaAdR+kgX46IETKUALWNQ==", "dev": true, "dependencies": { "@types/node": "*", @@ -852,9 +846,9 @@ "dev": true }, "node_modules/@types/node": { - "version": "14.14.11", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.11.tgz", - "integrity": "sha512-BJ97wAUuU3NUiUCp44xzUFquQEvnk1wu7q4CMEUYKJWjdkr0YWYDsm4RFtAvxYsNjLsKcrFt6RvK8r+mnzMbEQ==", + "version": "14.14.20", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.20.tgz", + "integrity": "sha512-Y93R97Ouif9JEOWPIUyU+eyIdyRqQR0I8Ez1dzku4hDx34NWh4HbtIc3WNzwB1Y9ULvNGeu5B8h8bVL5cAk4/A==", "dev": true }, "node_modules/@types/parse5": { @@ -864,21 +858,21 @@ "dev": true }, "node_modules/@types/puppeteer": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/@types/puppeteer/-/puppeteer-5.4.1.tgz", - "integrity": "sha512-mEytIRrqvsFgs16rHOa5jcZcoycO/NSjg1oLQkFUegj3HOHeAP1EUfRi+eIsJdGrx2oOtfN39ckibkRXzs+qXA==", + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@types/puppeteer/-/puppeteer-2.1.5.tgz", + "integrity": "sha512-ZZKAcX5XVEtSK+CLxz6FhofPt8y1D3yDtjGZHDFBZ4bGe8v2aaS6qBDHY4crruvpb4jsO7HKrPEx39IIqsZAUg==", "dev": true, "dependencies": { "@types/node": "*" } }, "node_modules/@types/puppeteer-core": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@types/puppeteer-core/-/puppeteer-core-2.0.0.tgz", - "integrity": "sha512-JvoEb7KgEkUet009ZDrtpUER3hheXoHgQByuYpJZ5WWT7LWwMH+0NTqGQXGgoOKzs+G5NA1T4DZwXK79Bhnejw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@types/puppeteer-core/-/puppeteer-core-2.1.0.tgz", + "integrity": "sha512-q1s+x/3HuXQN1Xo9eVhCfRJ2SNfHA/a641iSZQRNnRH55t4jX7TsNWxQN0drLqwbz/Kp8nodJ5rTNYEIKX//gg==", "dev": true, "dependencies": { - "@types/puppeteer": "*" + "@types/puppeteer": "^2" } }, "node_modules/@types/qs": { @@ -937,38 +931,38 @@ } }, "node_modules/@web/browser-logs": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/@web/browser-logs/-/browser-logs-0.1.5.tgz", - "integrity": "sha512-WXIvoXtugpSYQuredglsbbqsLRXpclFG4nLRebhIRARUNpfOK+1xTglh8HJjdk7bEHTX9jIbnyhtQVxHuo97fg==", + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/@web/browser-logs/-/browser-logs-0.1.6.tgz", + "integrity": "sha512-AQ3y3W5CLC3b68PYWMnimTApjDsgk6qJt82bPTJTxzCp3HZaUxuZJeMxrtt7FrtmaPt6E56pJobu1pcaqn1jcA==", "dev": true, "engines": { "node": ">=10.0.0" } }, "node_modules/@web/config-loader": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/@web/config-loader/-/config-loader-0.1.2.tgz", - "integrity": "sha512-uh+VL79V/TJjrleAQM66Rke8jKu/J/sqzhiJ08iwGcUKV5lqUbLxGoC4RiNRwcEh8dna9HLBPpi935EuAD5tnw==", + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@web/config-loader/-/config-loader-0.1.3.tgz", + "integrity": "sha512-XVKH79pk4d3EHRhofete8eAnqto1e8mCRAqPV00KLNFzCWSe8sWmLnqKCqkPNARC6nksMaGrATnA5sPDRllMpQ==", "dev": true, "dependencies": { - "semver": "^7.3.2" + "semver": "^7.3.4" }, "engines": { "node": ">=10.0.0" } }, "node_modules/@web/dev-server": { - "version": "0.0.25", - "resolved": "https://registry.npmjs.org/@web/dev-server/-/dev-server-0.0.25.tgz", - "integrity": "sha512-88rv30Gu9xTKAfx27tCL8eJmHFPE8SEE/DeDDgQa1GSPhfF891jjUdDJyJnZQbLuYQbOqBoFxFE33C9cbtvzvA==", + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@web/dev-server/-/dev-server-0.1.3.tgz", + "integrity": "sha512-MHNyUScEb63kY5VFC6POO0jRUIzVEyNWUgAiDs8yNrnHLCvbfj4FyDj2IAXhIEVqWU50pclbOiXsEqDCN1u1WA==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.10.4", - "@rollup/plugin-node-resolve": "^10.0.0", + "@babel/code-frame": "^7.12.11", + "@rollup/plugin-node-resolve": "^11.0.1", "@types/command-line-args": "^5.0.0", - "@web/config-loader": "^0.1.1", - "@web/dev-server-core": "^0.2.19", - "@web/dev-server-rollup": "^0.2.11", + "@web/config-loader": "^0.1.3", + "@web/dev-server-core": "^0.3.2", + "@web/dev-server-rollup": "^0.3.1", "camelcase": "^6.2.0", "chalk": "^4.1.0", "command-line-args": "^5.1.1", @@ -988,9 +982,9 @@ } }, "node_modules/@web/dev-server-core": { - "version": "0.2.19", - "resolved": "https://registry.npmjs.org/@web/dev-server-core/-/dev-server-core-0.2.19.tgz", - "integrity": "sha512-TaxwNsvj6pfdKLyqZfYIU1ikh+Q2ZlUwBpXRYWtdG6r2GL232hR+Zm/KooBBdwpOCjuMMlkzz70ImYnD6+mPIg==", + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@web/dev-server-core/-/dev-server-core-0.3.2.tgz", + "integrity": "sha512-7JSiFjh2a4mElrq34H2y4H8GymS7gjqMn/zkpVoMk8j++KRzUI2WoMIlK0ENCfPZihyhr+7E/c+V2452dFSN1w==", "dev": true, "dependencies": { "@types/koa": "^2.11.6", @@ -1004,53 +998,34 @@ "isbinaryfile": "^4.0.6", "koa": "^2.13.0", "koa-etag": "^4.0.0", + "koa-send": "^5.0.1", "koa-static": "^5.0.0", "lru-cache": "^6.0.0", "mime-types": "^2.1.27", "parse5": "^6.0.1", "picomatch": "^2.2.2", - "ws": "^7.4.0" + "ws": "^7.4.1" }, "engines": { "node": ">=10.0.0" } }, - "node_modules/@web/dev-server-rollup": { - "version": "0.2.11", - "resolved": "https://registry.npmjs.org/@web/dev-server-rollup/-/dev-server-rollup-0.2.11.tgz", - "integrity": "sha512-cqeXC93BElaKIV0Bel05M86Or5HQKem7FuBjfoMMlgp0irt6ZYCovYe7l2rG0Hw+/MCYaNs+uxjMK5UYLuWMBw==", + "node_modules/@web/dev-server/node_modules/@web/dev-server-rollup": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@web/dev-server-rollup/-/dev-server-rollup-0.3.1.tgz", + "integrity": "sha512-UwSam6S7pMM2qOZd4G9Dbl6uF3BAvNTTEfsXVHY2QhnR4hT13Hxm+fo6deXZB0i8K/oA2PHDD4n1kgZ7463LFg==", "dev": true, "dependencies": { - "@web/dev-server-core": "^0.2.17", + "@web/dev-server-core": "^0.3.2", "chalk": "^4.1.0", "parse5": "^6.0.1", - "rollup": "^2.33.2", - "whatwg-url": "^8.1.0" + "rollup": "^2.35.1", + "whatwg-url": "^8.4.0" }, "engines": { "node": ">=10.0.0" } }, - "node_modules/@web/dev-server/node_modules/@rollup/plugin-node-resolve": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-10.0.0.tgz", - "integrity": "sha512-sNijGta8fqzwA1VwUEtTvWCx2E7qC70NMsDh4ZG13byAXYigBNZMxALhKUSycBks5gupJdq0lFrKumFrRZ8H3A==", - "dev": true, - "dependencies": { - "@rollup/pluginutils": "^3.1.0", - "@types/resolve": "1.17.1", - "builtin-modules": "^3.1.0", - "deepmerge": "^4.2.2", - "is-module": "^1.0.0", - "resolve": "^1.17.0" - }, - "engines": { - "node": ">= 10.0.0" - }, - "peerDependencies": { - "rollup": "^1.20.0||^2.0.0" - } - }, "node_modules/@web/parse5-utils": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/@web/parse5-utils/-/parse5-utils-1.1.2.tgz", @@ -1065,22 +1040,27 @@ } }, "node_modules/@web/test-runner": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/@web/test-runner/-/test-runner-0.10.0.tgz", - "integrity": "sha512-Wd4DXBEyPq+XZjGO/Bdm72FG7Yp7JR0K5qb3k1/OKNjgVJ8HBsLWl2d5i38AM7+fMjBkne2AeOBtYshw63j/bQ==", - "dev": true, - "dependencies": { - "@rollup/plugin-node-resolve": "^10.0.0", - "@web/config-loader": "^0.1.2", - "@web/dev-server-rollup": "^0.2.9", - "@web/test-runner-chrome": "^0.7.3", - "@web/test-runner-cli": "^0.6.13", - "@web/test-runner-commands": "^0.2.1", - "@web/test-runner-core": "^0.8.11", - "@web/test-runner-mocha": "^0.5.1", + "version": "0.11.7", + "resolved": "https://registry.npmjs.org/@web/test-runner/-/test-runner-0.11.7.tgz", + "integrity": "sha512-on4OFSKr20h6+MB8Vd3QW2zEAthsnlUDzuSBp/+dM6Hafpn+ix6wWkxiZWJCjedYCPs8jsnf9LM5UY6acx9wIQ==", + "dev": true, + "dependencies": { + "@web/browser-logs": "^0.1.2", + "@web/config-loader": "^0.1.3", + "@web/dev-server": "^0.1.3", + "@web/test-runner-chrome": "^0.8.2", + "@web/test-runner-commands": "^0.3.0", + "@web/test-runner-core": "^0.9.3", + "@web/test-runner-mocha": "^0.6.0", + "camelcase": "^6.2.0", + "chalk": "^4.1.0", "command-line-args": "^5.1.1", + "convert-source-map": "^1.7.0", "deepmerge": "^4.2.2", - "globby": "^11.0.1" + "diff": "^5.0.0", + "globby": "^11.0.1", + "portfinder": "^1.0.28", + "source-map": "^0.7.3" }, "bin": { "web-test-runner": "dist/bin.js", @@ -1091,94 +1071,67 @@ } }, "node_modules/@web/test-runner-chrome": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/@web/test-runner-chrome/-/test-runner-chrome-0.7.3.tgz", - "integrity": "sha512-wf4SZ8nPTontLML/QwAmsR/+e9+rcuPiirbz63ulsBpX939Kn6LuOPPF4axL66gxJJ/BP++PJeCWtsCnowzveA==", + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/@web/test-runner-chrome/-/test-runner-chrome-0.8.2.tgz", + "integrity": "sha512-AdSnLFsbTrz5BNwMklnXnRu/75cVdXPkMhEUyxjuZ25C+r+bRViyPQhwwXc8WH/Z+fpDYL+l4lVvGrrNwWiH8w==", "dev": true, "dependencies": { "@types/puppeteer-core": "^2.0.0", - "@web/test-runner-core": "^0.8.11", - "@web/test-runner-coverage-v8": "^0.2.3", + "@web/test-runner-core": "^0.9.0", + "@web/test-runner-coverage-v8": "^0.3.0", "chrome-launcher": "^0.13.4", - "puppeteer-core": "^5.3.1" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/@web/test-runner-cli": { - "version": "0.6.14", - "resolved": "https://registry.npmjs.org/@web/test-runner-cli/-/test-runner-cli-0.6.14.tgz", - "integrity": "sha512-NCXUPl7IedRP4a07F0nz+rvlR3Zhd+CWLfmsJQs5vr4B3+uoUinHuOSQYmyavtZDOBTonDJn/dqAzNmasPa3Mg==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.10.4", - "@types/babel__code-frame": "^7.0.2", - "@web/browser-logs": "^0.1.2", - "@web/config-loader": "^0.1.1", - "@web/test-runner-chrome": "^0.7.3", - "@web/test-runner-core": "^0.8.11", - "camelcase": "^6.2.0", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "command-line-args": "^5.1.1", - "command-line-usage": "^6.1.1", - "convert-source-map": "^1.7.0", - "deepmerge": "^4.2.2", - "diff": "^5.0.0", - "globby": "^11.0.1", - "ip": "^1.1.5", - "istanbul-lib-report": "^3.0.0", - "istanbul-reports": "^3.0.2", - "log-update": "^4.0.0", - "open": "^7.3.0", - "portfinder": "^1.0.28", - "source-map": "^0.7.3" + "puppeteer-core": "^5.5.0" }, "engines": { "node": ">=10.0.0" } }, "node_modules/@web/test-runner-commands": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/@web/test-runner-commands/-/test-runner-commands-0.2.1.tgz", - "integrity": "sha512-usbgVGIihxfHIPv1FPDueEzET51SM8X6ZVZY+k8MgFzab018JyhqvkDVEgRVmSfg1gWKvqRdA5Qpr11b+GGBeA==", + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@web/test-runner-commands/-/test-runner-commands-0.3.0.tgz", + "integrity": "sha512-tjcJySl0ZjKSVsNPwcLJuNLCobazbbTnkxI0LbjjCZCmXuYlKVhMSrQTZOdpZ6SlSOwVUzOMJ7NIbQyzT4h4WA==", "dev": true, "dependencies": { - "@web/test-runner-core": "^0.8.4" + "@web/test-runner-core": "^0.9.0" }, "engines": { "node": ">=10.0.0" } }, "node_modules/@web/test-runner-core": { - "version": "0.8.11", - "resolved": "https://registry.npmjs.org/@web/test-runner-core/-/test-runner-core-0.8.11.tgz", - "integrity": "sha512-NyCm9tNaUFkO9P7sI9/z/E7CSP4sxlEnygHmo9mqbWOGW3aNsasqEcYHxQgGMW1HJrohDCigWRJZhMSFNOYd1Q==", + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/@web/test-runner-core/-/test-runner-core-0.9.3.tgz", + "integrity": "sha512-bmMGYe3x4z0T625C/BSexQ3Wa0a7s9po72S8lTKrKglGgYJcXw4bYWlTD/W4nt8Vhelb75o6a6D+GukHEH8t1A==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.10.4", - "@web/browser-logs": "^0.1.5", - "@web/dev-server-core": "^0.2.11", - "co-body": "^6.0.0", + "@babel/code-frame": "^7.12.11", + "@web/browser-logs": "^0.1.6", + "@web/dev-server-core": "^0.3.1", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "co-body": "^6.1.0", "debounce": "^1.2.0", "dependency-graph": "^0.9.0", "globby": "^11.0.1", + "ip": "^1.1.5", "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-reports": "^3.0.2", + "log-update": "^4.0.0", "picomatch": "^2.2.2", - "uuid": "^8.1.0" + "uuid": "^8.3.2" }, "engines": { "node": ">=10.0.0" } }, "node_modules/@web/test-runner-coverage-v8": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@web/test-runner-coverage-v8/-/test-runner-coverage-v8-0.2.3.tgz", - "integrity": "sha512-vfDjbENCJsDxY2NwAclOKC5y9MkI+KIx0U/JSPZsowzx2dYZHOqKQfRknZa2nyC9wf3pqbBUrgy0g231t5nkyQ==", + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@web/test-runner-coverage-v8/-/test-runner-coverage-v8-0.3.0.tgz", + "integrity": "sha512-y7RCXj2zlqFVeE317MK0kSAezNRMsMYebghIROSi5T96WNBXWG8Ss51edVTd0hEIkbydABcSZYhMWf/s5fm5JQ==", "dev": true, "dependencies": { - "@web/test-runner-core": "^0.8.11", + "@web/test-runner-core": "^0.9.0", "istanbul-lib-coverage": "^3.0.0", "v8-to-istanbul": "^7.0.0" }, @@ -1187,76 +1140,56 @@ } }, "node_modules/@web/test-runner-mocha": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/@web/test-runner-mocha/-/test-runner-mocha-0.5.1.tgz", - "integrity": "sha512-/8VBh3nP2sE/a320CfRI/J1TLT8ChPy0xGBafh3gg59+jOTtHCfZzHet7nre/VTOOvu1H24XEZiyhMFud6WVXQ==", + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@web/test-runner-mocha/-/test-runner-mocha-0.6.0.tgz", + "integrity": "sha512-KmUkcgu8PHHrinyIDhDy0xb4mnT79qFkwx0yn1Wn0d3Y4PaD5cTpmHwYprgQGiSGcKEJQzHR8+eaTsP6H0+MVw==", "dev": true, "dependencies": { - "@types/mocha": "^8.0.1", - "@web/test-runner-core": "^0.8.4" + "@types/mocha": "^8.2.0", + "@web/test-runner-core": "^0.9.0" }, "engines": { "node": ">=10.0.0" } }, "node_modules/@web/test-runner-playwright": { - "version": "0.6.6", - "resolved": "https://registry.npmjs.org/@web/test-runner-playwright/-/test-runner-playwright-0.6.6.tgz", - "integrity": "sha512-oHs7LEyVj5pEsxYxcLgKXJ/Fin5zjvbJYjSgPuM555M+QDu97MGwFi8rHEVgptk0QEh3oTBoGaro+hjuLQgPqQ==", + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/@web/test-runner-playwright/-/test-runner-playwright-0.7.2.tgz", + "integrity": "sha512-u/juWValzX69Vv4Kk2n/+6t53kCJOKchYo4RW/JLzAsePp/WL5pJ+3rnT5v13udaplMtKJH07ISc5TR9S0W8sA==", "dev": true, "dependencies": { - "@web/test-runner-core": "^0.8.11", - "@web/test-runner-coverage-v8": "^0.2.3", - "playwright": "^1.6.0" + "@web/test-runner-core": "^0.9.0", + "@web/test-runner-coverage-v8": "^0.3.0", + "playwright": "^1.7.1" }, "engines": { "node": ">=10.0.0" } }, "node_modules/@web/test-runner-puppeteer": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/@web/test-runner-puppeteer/-/test-runner-puppeteer-0.7.3.tgz", - "integrity": "sha512-bip2x0yMxlWRRfWK0bkJUysqIsFmATvr+JdeE26++sfJXkL0D3cWjaaOIqEh2D9wCRsB6czuurE4d9sIP5cyfw==", + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/@web/test-runner-puppeteer/-/test-runner-puppeteer-0.8.2.tgz", + "integrity": "sha512-P2/yyhDztosOMMRIJJ4iyb/JZXZee4gM+iE+Whcb8fwIOga3Mx94lQMhXJDRSt703D+u+anW96b2u1i4ydDLjA==", "dev": true, "dependencies": { - "@types/puppeteer": "^3.0.5", - "@web/test-runner-chrome": "^0.7.3", - "@web/test-runner-core": "^0.8.11", - "puppeteer": "^5.3.1" + "@types/puppeteer": "^5.4.2", + "@web/test-runner-chrome": "^0.8.2", + "@web/test-runner-core": "^0.9.0", + "puppeteer": "^5.5.0" }, "engines": { "node": ">=10.0.0" } }, "node_modules/@web/test-runner-puppeteer/node_modules/@types/puppeteer": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@types/puppeteer/-/puppeteer-3.0.5.tgz", - "integrity": "sha512-NkphUMkpbr/us6hp1AqUh/UxX5Tf2UJU94MvaF8OOgIUPBipYodql+yRjcysJKqwnDkchp+cD/8jntI/C9StzA==", + "version": "5.4.2", + "resolved": "https://registry.npmjs.org/@types/puppeteer/-/puppeteer-5.4.2.tgz", + "integrity": "sha512-yjbHoKjZFOGqA6bIEI2dfBE5UPqU0YGWzP+ipDVP1iGzmlhksVKTBVZfT3Aj3wnvmcJ2PQ9zcncwOwyavmafBw==", "dev": true, "dependencies": { "@types/node": "*" } }, - "node_modules/@web/test-runner/node_modules/@rollup/plugin-node-resolve": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-10.0.0.tgz", - "integrity": "sha512-sNijGta8fqzwA1VwUEtTvWCx2E7qC70NMsDh4ZG13byAXYigBNZMxALhKUSycBks5gupJdq0lFrKumFrRZ8H3A==", - "dev": true, - "dependencies": { - "@rollup/pluginutils": "^3.1.0", - "@types/resolve": "1.17.1", - "builtin-modules": "^3.1.0", - "deepmerge": "^4.2.2", - "is-module": "^1.0.0", - "resolve": "^1.17.0" - }, - "engines": { - "node": ">= 10.0.0" - }, - "peerDependencies": { - "rollup": "^1.20.0||^2.0.0" - } - }, "node_modules/abbrev": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", @@ -1342,6 +1275,15 @@ } } }, + "node_modules/agentkeepalive/node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, "node_modules/agentkeepalive/node_modules/ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", @@ -1796,12 +1738,15 @@ "dev": true }, "node_modules/builtin-modules": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.1.0.tgz", - "integrity": "sha512-k0KL0aWZuBt2lrxrcASWDfwOLMnodeQjodT/1SxEQAXsHANgo6ZC/VEaSEHCXt7aSTZ4/4H5LKa+tBXmW7Vtvw==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.2.0.tgz", + "integrity": "sha512-lGzLKcioL90C7wMczpkY0n/oART3MbBa8R9OFGE1rJxoVI86u4WAGfEk8Wjv10eKSyTHVGkSo3bvBylCEtk7LA==", "dev": true, "engines": { "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/builtins": { @@ -1907,14 +1852,14 @@ } }, "node_modules/chokidar": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.3.tgz", - "integrity": "sha512-DtM3g7juCXQxFVSNPNByEC2+NImtBuxQQvWlHunpJIS5Ocr0lG306cC7FCi7cEA0fzmybPUIl4txBIobk1gGOQ==", + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.0.tgz", + "integrity": "sha512-JgQM9JS92ZbFR4P90EvmzNpSGhpPBGBSj10PILeDyYFwp4h2/D9OM03wsJ4zW1fEp4ka2DGrnUeD7FuvQ2aZ2Q==", "dev": true, "dependencies": { "anymatch": "~3.1.1", "braces": "~3.0.2", - "fsevents": "~2.1.2", + "fsevents": "~2.3.1", "glob-parent": "~5.1.0", "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", @@ -1925,7 +1870,7 @@ "node": ">= 8.10.0" }, "optionalDependencies": { - "fsevents": "~2.1.2" + "fsevents": "~2.3.1" } }, "node_modules/chownr": { @@ -2046,9 +1991,9 @@ } }, "node_modules/codemirror": { - "version": "5.58.3", - "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-5.58.3.tgz", - "integrity": "sha512-KBhB+juiyOOgn0AqtRmWyAT3yoElkuvWTI6hsHa9E6GQrl6bk/fdAYcvuqW1/upO9T9rtEtapWdw4XYcNiVDEA==", + "version": "5.59.1", + "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-5.59.1.tgz", + "integrity": "sha512-d0SSW/PCCD4LoSCBPdnP0BzmZB1v3emomCUtVlIWgZHJ06yVeBOvBtOH7vYz707pfAvEeWbO9aP6akh8vl1V3w==", "dev": true }, "node_modules/codemirror-grammar-mode": { @@ -2287,15 +2232,6 @@ "node": ">= 0.8" } }, - "node_modules/cookies/node_modules/depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, "node_modules/core-util-is": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", @@ -2392,12 +2328,12 @@ "dev": true }, "node_modules/depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", "dev": true, "engines": { - "node": ">= 0.6" + "node": ">= 0.8" } }, "node_modules/dependency-graph": { @@ -2558,9 +2494,9 @@ } }, "node_modules/estree-walker": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.1.tgz", - "integrity": "sha512-tF0hv+Yi2Ot1cwj9eYHtxC0jB9bmjacjQs6ZBTj82H8JwUywFuc+7E83NWfNMwHXZc11mjfFcVXPe9gEP4B8dg==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", "dev": true }, "node_modules/etag": { @@ -2691,9 +2627,9 @@ "dev": true }, "node_modules/fastq": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.9.0.tgz", - "integrity": "sha512-i7FVWL8HhVY+CTkwFxkN2mk3h+787ixS5S63eb78diVRc1MCssarHq3W5cj0av7YDSwmaV928RNag+U1etRQ7w==", + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.10.0.tgz", + "integrity": "sha512-NL2Qc5L3iQEsyYzweq7qfgy5OtXCmGzGvhElGEd/SoFWEMOEczNh5s5ocaF01HDetxz+p8ecjNPA6cZxxIHmzA==", "dev": true, "dependencies": { "reusify": "^1.0.4" @@ -2831,9 +2767,9 @@ "dev": true }, "node_modules/fsevents": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", - "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.1.tgz", + "integrity": "sha512-YR47Eg4hChJGAB1O3yEAOkGO+rlzutoICGqGo9EZ4lKWokzZRSyIW1QmTzqjtw8MJdj9srP869CuWw/hyzSiBw==", "dev": true, "hasInstallScript": true, "optional": true, @@ -2946,9 +2882,9 @@ } }, "node_modules/globby": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.1.tgz", - "integrity": "sha512-iH9RmgwCmUJHi2z5o2l3eTtGBtXek1OYlHrbcxOYugyHLmAsZrPj43OtHThd62Buh/Vv6VyCBD2bdyWcGNQqoQ==", + "version": "11.0.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.2.tgz", + "integrity": "sha512-2ZThXDvvV8fYFRVIxnrMQBipZQDr7MxKAmQK1vujaj9/7eF0efG7BPUKJ7jP7G5SLF37xKDXvO4S/KKLj/Z0og==", "dev": true, "dependencies": { "array-union": "^2.1.0", @@ -3074,6 +3010,15 @@ "node": ">= 0.8" } }, + "node_modules/http-assert/node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, "node_modules/http-assert/node_modules/http-errors": { "version": "1.7.3", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz", @@ -3118,6 +3063,15 @@ "node": ">= 0.6" } }, + "node_modules/http-errors/node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, "node_modules/http-proxy-agent": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", @@ -3638,9 +3592,9 @@ } }, "node_modules/koa": { - "version": "2.13.0", - "resolved": "https://registry.npmjs.org/koa/-/koa-2.13.0.tgz", - "integrity": "sha512-i/XJVOfPw7npbMv67+bOeXr3gPqOAw6uh5wFyNs3QvJ47tUx3M3V9rIE0//WytY42MKz4l/MXKyGkQ2LQTfLUQ==", + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/koa/-/koa-2.13.1.tgz", + "integrity": "sha512-Lb2Dloc72auj5vK4X4qqL7B5jyDPQaZucc9sR/71byg7ryoD1NCaCm63CShk9ID9quQvDEi1bGR/iGjCG7As3w==", "dev": true, "dependencies": { "accepts": "^1.3.5", @@ -3650,7 +3604,7 @@ "cookies": "~0.8.0", "debug": "~3.1.0", "delegates": "^1.0.0", - "depd": "^1.1.2", + "depd": "^2.0.0", "destroy": "^1.0.4", "encodeurl": "^1.0.2", "escape-html": "^1.0.3", @@ -3884,23 +3838,23 @@ } }, "node_modules/make-fetch-happen": { - "version": "8.0.10", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-8.0.10.tgz", - "integrity": "sha512-jPLPKQjBmDLK5r1BdyDyNKBytmkv2AsDWm2CxHJh+fqhSmC9Pmb7RQxwOq8xQig9+AWIS49+51k4f6vDQ3VnrQ==", + "version": "8.0.12", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-8.0.12.tgz", + "integrity": "sha512-cBD7yM72ltWEV+xlLlbimnh5qHwr+thAb/cZLiaZhicVVPVN63BikBvL5OR68+8+z2fvBOgck628vGJ2ulgF6g==", "dev": true, "dependencies": { - "agentkeepalive": "^4.1.0", - "cacache": "^15.0.0", - "http-cache-semantics": "^4.0.4", + "agentkeepalive": "^4.1.3", + "cacache": "^15.0.5", + "http-cache-semantics": "^4.1.0", "http-proxy-agent": "^4.0.1", "https-proxy-agent": "^5.0.0", "is-lambda": "^1.0.1", "lru-cache": "^6.0.0", "minipass": "^3.1.3", "minipass-collect": "^1.0.2", - "minipass-fetch": "^1.3.0", + "minipass-fetch": "^1.3.2", "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.2", + "minipass-pipeline": "^1.2.4", "promise-retry": "^1.1.1", "socks-proxy-agent": "^5.0.0", "ssri": "^8.0.0" @@ -3959,9 +3913,9 @@ } }, "node_modules/mime": { - "version": "2.4.6", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.6.tgz", - "integrity": "sha512-RZKhC3EmpBchfTGBVb8fb+RL2cWyw/32lshnsETttkBAyAUXSGHxbEJWWRXc751DrIxG1q04b8QwMbAwkRPpUA==", + "version": "2.4.7", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.7.tgz", + "integrity": "sha512-dhNd1uA2u397uQk3Nv5LM4lm93WYDUXFn3Fu291FJerns4jyTudqhIWe4W04YLy7Uk1tm1Ore04NpjRvQp/NPA==", "dev": true, "bin": { "mime": "cli.js" @@ -3971,21 +3925,21 @@ } }, "node_modules/mime-db": { - "version": "1.44.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz", - "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==", + "version": "1.45.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.45.0.tgz", + "integrity": "sha512-CkqLUxUk15hofLoLyljJSrukZi8mAtgd+yE5uO4tqRZsdsAJKv0O+rFMhVDRJgozy+yG6md5KwuXhD4ocIoP+w==", "dev": true, "engines": { "node": ">= 0.6" } }, "node_modules/mime-types": { - "version": "2.1.27", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz", - "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==", + "version": "2.1.28", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.28.tgz", + "integrity": "sha512-0TO2yJ5YHYr7M2zzT7gDU1tbwHxEUWBCLt0lscSNpcdAfFyJOVEpRYNS7EXVcTLNj/25QO8gulHC5JtTzSE2UQ==", "dev": true, "dependencies": { - "mime-db": "1.44.0" + "mime-db": "1.45.0" }, "engines": { "node": ">= 0.6" @@ -4386,9 +4340,9 @@ "dev": true }, "node_modules/open": { - "version": "7.3.0", - "resolved": "https://registry.npmjs.org/open/-/open-7.3.0.tgz", - "integrity": "sha512-mgLwQIx2F/ye9SmbrUkurZCnkoXyXyu9EbHtJZrICjVAJfyMArdHp3KkixGdZx1ZHFPNIwl0DDM1dFFqXbTLZw==", + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/open/-/open-7.3.1.tgz", + "integrity": "sha512-f2wt9DCBKKjlFbjzGb8MOAW8LH8F0mrs1zc7KTjAJ9PZNQbfenzWbNP1VZJvw6ICMG9r14Ah6yfwPn7T7i646A==", "dev": true, "dependencies": { "is-docker": "^2.0.0", @@ -4453,9 +4407,9 @@ } }, "node_modules/pacote": { - "version": "11.1.13", - "resolved": "https://registry.npmjs.org/pacote/-/pacote-11.1.13.tgz", - "integrity": "sha512-oJ7Bg7p3izrIMhZPHCCHmMHQl+xb+pKBXL5ZYeM2oCZrw6sBRSx7f8l7F+95V2qA0BP3c1cNaaBmUNkbo6Hn9w==", + "version": "11.1.14", + "resolved": "https://registry.npmjs.org/pacote/-/pacote-11.1.14.tgz", + "integrity": "sha512-6c5OhQelaJFDfiw/Zd8MfGCvvFHurSdeGzufZMPvRFImdbNOYFciOINf3DtUNUaU3h98eCb749UyHDsgvL19+A==", "dev": true, "dependencies": { "@npmcli/git": "^2.0.1", @@ -4476,7 +4430,7 @@ "read-package-json-fast": "^1.1.3", "rimraf": "^3.0.2", "ssri": "^8.0.0", - "tar": "^6.0.1" + "tar": "^6.1.0" }, "bin": { "pacote": "lib/bin.js" @@ -4609,9 +4563,9 @@ } }, "node_modules/playwright": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.6.2.tgz", - "integrity": "sha512-KiMmQuANG4O/ozpwxP8EwBBap0/liS3+wwkGo6nBJ4O4951y4ZsRPR1dqwsMOUD9wjsWf3ER+bAmQH5XmEO4Ig==", + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.7.1.tgz", + "integrity": "sha512-dOSWME42wDedJ/PXv8k0zG0Kxd6d6R2OKA51/05++Z2ISdA4N58gHlWqlVKPDkBog1MI6lu/KNt7QDn19AybWQ==", "dev": true, "hasInstallScript": true, "dependencies": { @@ -4992,6 +4946,15 @@ "node": ">= 0.8" } }, + "node_modules/raw-body/node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, "node_modules/raw-body/node_modules/http-errors": { "version": "1.7.3", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz", @@ -5154,6 +5117,15 @@ "node": ">= 0.8" } }, + "node_modules/resolve-path/node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, "node_modules/resolve-path/node_modules/http-errors": { "version": "1.6.3", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", @@ -5229,9 +5201,9 @@ } }, "node_modules/rollup": { - "version": "2.34.2", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.34.2.tgz", - "integrity": "sha512-mvtQLqu3cNeoctS+kZ09iOPxrc1P1/Bt1z15enuQ5feyKOdM3MJAVFjjsygurDpSWn530xB4AlA83TWIzRstXA==", + "version": "2.36.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.36.1.tgz", + "integrity": "sha512-eAfqho8dyzuVvrGqpR0ITgEdq0zG2QJeWYh+HeuTbpcaXk8vNFc48B7bJa1xYosTCKx0CuW+447oQOW8HgBIZQ==", "dev": true, "dependencies": { "fsevents": "~2.1.2" @@ -5377,6 +5349,21 @@ "integrity": "sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==", "dev": true }, + "node_modules/rollup/node_modules/fsevents": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", + "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", + "deprecated": "\"Please update to latest v2.3 or v2.2\"", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, "node_modules/run-parallel": { "version": "1.1.10", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.10.tgz", @@ -5771,9 +5758,9 @@ } }, "node_modules/tar": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.0.5.tgz", - "integrity": "sha512-0b4HOimQHj9nXNEAA7zWwMM91Zhhba3pspja6sQbgTpynOJf+bkjBnfybNYzbpLbnwXnbyB4LOREvlyXLkCHSg==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.0.tgz", + "integrity": "sha512-DUCttfhsnLCjwoDoFcI+B2iJgYa93vBnDUATYEeRx6sntCTdN01VnqsIuTlALXla/LWooNg0yEGeB+Y8WdFxGA==", "dev": true, "dependencies": { "chownr": "^2.0.0", @@ -5806,9 +5793,9 @@ "dev": true }, "node_modules/tar-stream": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.1.4.tgz", - "integrity": "sha512-o3pS2zlG4gxr67GmFYBLlq+dM8gyRGUOvsrHclSkvtVtQbjV0s/+ZE8OpICbaj8clrX3tjeHngYGP7rweaBnuw==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", "dev": true, "dependencies": { "bl": "^4.0.3", @@ -5972,9 +5959,9 @@ } }, "node_modules/tslib": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", - "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==" + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", + "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==" }, "node_modules/tsscmp": { "version": "1.0.6", @@ -6029,9 +6016,9 @@ } }, "node_modules/typescript": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.1.2.tgz", - "integrity": "sha512-thGloWsGH3SOxv1SoY7QojKi0tc+8FnOmiarEGMbd/lar7QOEd3hvlx3Fp5y6FlDUGl9L+pd4n2e+oToGMmhRQ==", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.1.3.tgz", + "integrity": "sha512-B3ZIOf1IKeH2ixgHhj6la6xdwR9QrLC5d1VKeCSY4tvkqhF2eqd9O7txNlS0PO3GrBAFIdr3L1ndNwteUbZLYg==", "dev": true, "bin": { "tsc": "bin/tsc", @@ -6112,18 +6099,18 @@ "dev": true }, "node_modules/uuid": { - "version": "8.3.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.1.tgz", - "integrity": "sha512-FOmRr+FmWEIG8uhZv6C2bTgEVXsHk08kE7mPlrBbEe+c3r9pjceVPgupIfNIhc4yx55H69OXANrUaSuu9eInKg==", + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", "dev": true, "bin": { "uuid": "dist/bin/uuid" } }, "node_modules/v8-to-istanbul": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-7.0.0.tgz", - "integrity": "sha512-fLL2rFuQpMtm9r8hrAV2apXX/WqHJ6+IC4/eQVdMDGBUgH/YMV4Gv3duk3kjmyg6uiQWBAA9nJwue4iJUOkHeA==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-7.1.0.tgz", + "integrity": "sha512-uXUVqNUCLa0AH1vuVxzi+MI4RfxEOKt9pBgKwHbgH7st8Kv2P1m+jvWNnektzBh5QShF3ODgKmUFCf38LnVz1g==", "dev": true, "dependencies": { "@types/istanbul-lib-coverage": "^2.0.1", @@ -6332,9 +6319,9 @@ "dev": true }, "node_modules/ws": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.1.tgz", - "integrity": "sha512-pTsP8UAfhy3sk1lSk/O/s4tjD0CRwvMnzvwr4OKGX7ZvqZtUyx4KIJB5JWbkykPoc55tixMGgTNoh3k4FkNGFQ==", + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.2.tgz", + "integrity": "sha512-T4tewALS3+qsrpGI/8dqNMLIVdq/g/85U98HPMa6F0m6xTbvhXU6RCQLqPH3+SlomNV/LdY6RXEbBpMH6EOJnA==", "dev": true, "engines": { "node": ">=8.3.0" @@ -6380,18 +6367,18 @@ }, "dependencies": { "@babel/code-frame": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", - "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", + "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", "dev": true, "requires": { "@babel/highlight": "^7.10.4" } }, "@babel/helper-validator-identifier": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", - "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", + "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", "dev": true }, "@babel/highlight": { @@ -6793,28 +6780,28 @@ } }, "@nodelib/fs.scandir": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz", - "integrity": "sha512-eGmwYQn3gxo4r7jdQnkrrN6bY478C3P+a/y72IJukF8LjB6ZHeB3c+Ehacj3sYeSmUXGlnA67/PmbM9CVwL7Dw==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz", + "integrity": "sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA==", "dev": true, "requires": { - "@nodelib/fs.stat": "2.0.3", + "@nodelib/fs.stat": "2.0.4", "run-parallel": "^1.1.9" } }, "@nodelib/fs.stat": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz", - "integrity": "sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA==", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz", + "integrity": "sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q==", "dev": true }, "@nodelib/fs.walk": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz", - "integrity": "sha512-1V9XOY4rDW0rehzbrcqAmHnz8e7SKvX27gh8Gt2WgB0+pdzdiLV83p72kZPU+jvMbS1qU5mauP2iOvO8rhmurQ==", + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.6.tgz", + "integrity": "sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow==", "dev": true, "requires": { - "@nodelib/fs.scandir": "2.1.3", + "@nodelib/fs.scandir": "2.1.4", "fastq": "^1.6.0" } }, @@ -6923,9 +6910,9 @@ } }, "@rollup/plugin-node-resolve": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.0.0.tgz", - "integrity": "sha512-8Hrmwjn1pLYjUxcv7U7IPP0qfnzEJWHyHE6CaZ8jbLM+8axaarJRB1jB6JgKTDp5gNga+TpsgX6F8iuvgOerKQ==", + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.0.1.tgz", + "integrity": "sha512-ltlsj/4Bhwwhb+Nb5xCz/6vieuEj2/BAkkqVIKmZwC7pIdl8srmgmglE4S0jFlZa32K4qvdQ6NHdmpRKD/LwoQ==", "dev": true, "requires": { "@rollup/pluginutils": "^3.1.0", @@ -6980,12 +6967,6 @@ "@types/node": "*" } }, - "@types/babel__code-frame": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/@types/babel__code-frame/-/babel__code-frame-7.0.2.tgz", - "integrity": "sha512-imO+jT/yjOKOAS5GQZ8SDtwiIloAGGr6OaZDKB0V5JVaSfGZLat5K5/ZRtyKW6R60XHV3RHYPTFfhYb+wDKyKg==", - "dev": true - }, "@types/body-parser": { "version": "1.19.0", "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.0.tgz", @@ -7009,9 +6990,9 @@ "dev": true }, "@types/connect": { - "version": "3.4.33", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.33.tgz", - "integrity": "sha512-2+FrkXY4zllzTNfJth7jOqEHC+enpLeGslEhpnTAkg21GkRrWV4SsAtqchtT4YS9/nODBU2/ZfsBY2X4J/dX7A==", + "version": "3.4.34", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.34.tgz", + "integrity": "sha512-ePPA/JuI+X0vb+gSWlPKOY0NdNAie/rPUqX2GUPpbZwiKTkSPhjXWuee47E4MtE54QVzGCQMQkAL6JhV2E1+cQ==", "dev": true, "requires": { "@types/node": "*" @@ -7024,9 +7005,9 @@ "dev": true }, "@types/cookies": { - "version": "0.7.5", - "resolved": "https://registry.npmjs.org/@types/cookies/-/cookies-0.7.5.tgz", - "integrity": "sha512-3+TAFSm78O7/bAeYdB8FoYGntuT87vVP9JKuQRL8sRhv9313LP2SpHHL50VeFtnyjIcb3UELddMk5Yt0eOSOkg==", + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/@types/cookies/-/cookies-0.7.6.tgz", + "integrity": "sha512-FK4U5Qyn7/Sc5ih233OuHO0qAkOpEcD/eG6584yEiLKizTFRny86qHLe/rej3HFQrkBuUjF4whFliAdODbVN/w==", "dev": true, "requires": { "@types/connect": "*", @@ -7054,9 +7035,9 @@ } }, "@types/express-serve-static-core": { - "version": "4.17.14", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.14.tgz", - "integrity": "sha512-uFTLwu94TfUFMToXNgRZikwPuZdOtDgs3syBtAIr/OXorL1kJqUJT9qCLnRZ5KBOWfZQikQ2xKgR2tnDj1OgDA==", + "version": "4.17.17", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.17.tgz", + "integrity": "sha512-YYlVaCni5dnHc+bLZfY908IG1+x5xuibKZMGv8srKkvtul3wUuanYvpIj9GXXoWkQbaAdR+kgX46IETKUALWNQ==", "dev": true, "requires": { "@types/node": "*", @@ -7151,9 +7132,9 @@ "dev": true }, "@types/node": { - "version": "14.14.11", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.11.tgz", - "integrity": "sha512-BJ97wAUuU3NUiUCp44xzUFquQEvnk1wu7q4CMEUYKJWjdkr0YWYDsm4RFtAvxYsNjLsKcrFt6RvK8r+mnzMbEQ==", + "version": "14.14.20", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.20.tgz", + "integrity": "sha512-Y93R97Ouif9JEOWPIUyU+eyIdyRqQR0I8Ez1dzku4hDx34NWh4HbtIc3WNzwB1Y9ULvNGeu5B8h8bVL5cAk4/A==", "dev": true }, "@types/parse5": { @@ -7163,21 +7144,21 @@ "dev": true }, "@types/puppeteer": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/@types/puppeteer/-/puppeteer-5.4.1.tgz", - "integrity": "sha512-mEytIRrqvsFgs16rHOa5jcZcoycO/NSjg1oLQkFUegj3HOHeAP1EUfRi+eIsJdGrx2oOtfN39ckibkRXzs+qXA==", + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@types/puppeteer/-/puppeteer-2.1.5.tgz", + "integrity": "sha512-ZZKAcX5XVEtSK+CLxz6FhofPt8y1D3yDtjGZHDFBZ4bGe8v2aaS6qBDHY4crruvpb4jsO7HKrPEx39IIqsZAUg==", "dev": true, "requires": { "@types/node": "*" } }, "@types/puppeteer-core": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@types/puppeteer-core/-/puppeteer-core-2.0.0.tgz", - "integrity": "sha512-JvoEb7KgEkUet009ZDrtpUER3hheXoHgQByuYpJZ5WWT7LWwMH+0NTqGQXGgoOKzs+G5NA1T4DZwXK79Bhnejw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@types/puppeteer-core/-/puppeteer-core-2.1.0.tgz", + "integrity": "sha512-q1s+x/3HuXQN1Xo9eVhCfRJ2SNfHA/a641iSZQRNnRH55t4jX7TsNWxQN0drLqwbz/Kp8nodJ5rTNYEIKX//gg==", "dev": true, "requires": { - "@types/puppeteer": "*" + "@types/puppeteer": "^2" } }, "@types/qs": { @@ -7236,32 +7217,32 @@ } }, "@web/browser-logs": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/@web/browser-logs/-/browser-logs-0.1.5.tgz", - "integrity": "sha512-WXIvoXtugpSYQuredglsbbqsLRXpclFG4nLRebhIRARUNpfOK+1xTglh8HJjdk7bEHTX9jIbnyhtQVxHuo97fg==", + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/@web/browser-logs/-/browser-logs-0.1.6.tgz", + "integrity": "sha512-AQ3y3W5CLC3b68PYWMnimTApjDsgk6qJt82bPTJTxzCp3HZaUxuZJeMxrtt7FrtmaPt6E56pJobu1pcaqn1jcA==", "dev": true }, "@web/config-loader": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/@web/config-loader/-/config-loader-0.1.2.tgz", - "integrity": "sha512-uh+VL79V/TJjrleAQM66Rke8jKu/J/sqzhiJ08iwGcUKV5lqUbLxGoC4RiNRwcEh8dna9HLBPpi935EuAD5tnw==", + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@web/config-loader/-/config-loader-0.1.3.tgz", + "integrity": "sha512-XVKH79pk4d3EHRhofete8eAnqto1e8mCRAqPV00KLNFzCWSe8sWmLnqKCqkPNARC6nksMaGrATnA5sPDRllMpQ==", "dev": true, "requires": { - "semver": "^7.3.2" + "semver": "^7.3.4" } }, "@web/dev-server": { - "version": "0.0.25", - "resolved": "https://registry.npmjs.org/@web/dev-server/-/dev-server-0.0.25.tgz", - "integrity": "sha512-88rv30Gu9xTKAfx27tCL8eJmHFPE8SEE/DeDDgQa1GSPhfF891jjUdDJyJnZQbLuYQbOqBoFxFE33C9cbtvzvA==", + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@web/dev-server/-/dev-server-0.1.3.tgz", + "integrity": "sha512-MHNyUScEb63kY5VFC6POO0jRUIzVEyNWUgAiDs8yNrnHLCvbfj4FyDj2IAXhIEVqWU50pclbOiXsEqDCN1u1WA==", "dev": true, "requires": { - "@babel/code-frame": "^7.10.4", - "@rollup/plugin-node-resolve": "^10.0.0", + "@babel/code-frame": "^7.12.11", + "@rollup/plugin-node-resolve": "^11.0.1", "@types/command-line-args": "^5.0.0", - "@web/config-loader": "^0.1.1", - "@web/dev-server-core": "^0.2.19", - "@web/dev-server-rollup": "^0.2.11", + "@web/config-loader": "^0.1.3", + "@web/dev-server-core": "^0.3.2", + "@web/dev-server-rollup": "^0.3.1", "camelcase": "^6.2.0", "chalk": "^4.1.0", "command-line-args": "^5.1.1", @@ -7273,26 +7254,25 @@ "portfinder": "^1.0.28" }, "dependencies": { - "@rollup/plugin-node-resolve": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-10.0.0.tgz", - "integrity": "sha512-sNijGta8fqzwA1VwUEtTvWCx2E7qC70NMsDh4ZG13byAXYigBNZMxALhKUSycBks5gupJdq0lFrKumFrRZ8H3A==", + "@web/dev-server-rollup": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@web/dev-server-rollup/-/dev-server-rollup-0.3.1.tgz", + "integrity": "sha512-UwSam6S7pMM2qOZd4G9Dbl6uF3BAvNTTEfsXVHY2QhnR4hT13Hxm+fo6deXZB0i8K/oA2PHDD4n1kgZ7463LFg==", "dev": true, "requires": { - "@rollup/pluginutils": "^3.1.0", - "@types/resolve": "1.17.1", - "builtin-modules": "^3.1.0", - "deepmerge": "^4.2.2", - "is-module": "^1.0.0", - "resolve": "^1.17.0" + "@web/dev-server-core": "^0.3.2", + "chalk": "^4.1.0", + "parse5": "^6.0.1", + "rollup": "^2.35.1", + "whatwg-url": "^8.4.0" } } } }, "@web/dev-server-core": { - "version": "0.2.19", - "resolved": "https://registry.npmjs.org/@web/dev-server-core/-/dev-server-core-0.2.19.tgz", - "integrity": "sha512-TaxwNsvj6pfdKLyqZfYIU1ikh+Q2ZlUwBpXRYWtdG6r2GL232hR+Zm/KooBBdwpOCjuMMlkzz70ImYnD6+mPIg==", + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@web/dev-server-core/-/dev-server-core-0.3.2.tgz", + "integrity": "sha512-7JSiFjh2a4mElrq34H2y4H8GymS7gjqMn/zkpVoMk8j++KRzUI2WoMIlK0ENCfPZihyhr+7E/c+V2452dFSN1w==", "dev": true, "requires": { "@types/koa": "^2.11.6", @@ -7306,25 +7286,13 @@ "isbinaryfile": "^4.0.6", "koa": "^2.13.0", "koa-etag": "^4.0.0", + "koa-send": "^5.0.1", "koa-static": "^5.0.0", "lru-cache": "^6.0.0", "mime-types": "^2.1.27", "parse5": "^6.0.1", "picomatch": "^2.2.2", - "ws": "^7.4.0" - } - }, - "@web/dev-server-rollup": { - "version": "0.2.11", - "resolved": "https://registry.npmjs.org/@web/dev-server-rollup/-/dev-server-rollup-0.2.11.tgz", - "integrity": "sha512-cqeXC93BElaKIV0Bel05M86Or5HQKem7FuBjfoMMlgp0irt6ZYCovYe7l2rG0Hw+/MCYaNs+uxjMK5UYLuWMBw==", - "dev": true, - "requires": { - "@web/dev-server-core": "^0.2.17", - "chalk": "^4.1.0", - "parse5": "^6.0.1", - "rollup": "^2.33.2", - "whatwg-url": "^8.1.0" + "ws": "^7.4.1" } }, "@web/parse5-utils": { @@ -7338,158 +7306,123 @@ } }, "@web/test-runner": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/@web/test-runner/-/test-runner-0.10.0.tgz", - "integrity": "sha512-Wd4DXBEyPq+XZjGO/Bdm72FG7Yp7JR0K5qb3k1/OKNjgVJ8HBsLWl2d5i38AM7+fMjBkne2AeOBtYshw63j/bQ==", - "dev": true, - "requires": { - "@rollup/plugin-node-resolve": "^10.0.0", - "@web/config-loader": "^0.1.2", - "@web/dev-server-rollup": "^0.2.9", - "@web/test-runner-chrome": "^0.7.3", - "@web/test-runner-cli": "^0.6.13", - "@web/test-runner-commands": "^0.2.1", - "@web/test-runner-core": "^0.8.11", - "@web/test-runner-mocha": "^0.5.1", - "command-line-args": "^5.1.1", - "deepmerge": "^4.2.2", - "globby": "^11.0.1" - }, - "dependencies": { - "@rollup/plugin-node-resolve": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-10.0.0.tgz", - "integrity": "sha512-sNijGta8fqzwA1VwUEtTvWCx2E7qC70NMsDh4ZG13byAXYigBNZMxALhKUSycBks5gupJdq0lFrKumFrRZ8H3A==", - "dev": true, - "requires": { - "@rollup/pluginutils": "^3.1.0", - "@types/resolve": "1.17.1", - "builtin-modules": "^3.1.0", - "deepmerge": "^4.2.2", - "is-module": "^1.0.0", - "resolve": "^1.17.0" - } - } - } - }, - "@web/test-runner-chrome": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/@web/test-runner-chrome/-/test-runner-chrome-0.7.3.tgz", - "integrity": "sha512-wf4SZ8nPTontLML/QwAmsR/+e9+rcuPiirbz63ulsBpX939Kn6LuOPPF4axL66gxJJ/BP++PJeCWtsCnowzveA==", + "version": "0.11.7", + "resolved": "https://registry.npmjs.org/@web/test-runner/-/test-runner-0.11.7.tgz", + "integrity": "sha512-on4OFSKr20h6+MB8Vd3QW2zEAthsnlUDzuSBp/+dM6Hafpn+ix6wWkxiZWJCjedYCPs8jsnf9LM5UY6acx9wIQ==", "dev": true, "requires": { - "@types/puppeteer-core": "^2.0.0", - "@web/test-runner-core": "^0.8.11", - "@web/test-runner-coverage-v8": "^0.2.3", - "chrome-launcher": "^0.13.4", - "puppeteer-core": "^5.3.1" - } - }, - "@web/test-runner-cli": { - "version": "0.6.14", - "resolved": "https://registry.npmjs.org/@web/test-runner-cli/-/test-runner-cli-0.6.14.tgz", - "integrity": "sha512-NCXUPl7IedRP4a07F0nz+rvlR3Zhd+CWLfmsJQs5vr4B3+uoUinHuOSQYmyavtZDOBTonDJn/dqAzNmasPa3Mg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.4", - "@types/babel__code-frame": "^7.0.2", "@web/browser-logs": "^0.1.2", - "@web/config-loader": "^0.1.1", - "@web/test-runner-chrome": "^0.7.3", - "@web/test-runner-core": "^0.8.11", + "@web/config-loader": "^0.1.3", + "@web/dev-server": "^0.1.3", + "@web/test-runner-chrome": "^0.8.2", + "@web/test-runner-commands": "^0.3.0", + "@web/test-runner-core": "^0.9.3", + "@web/test-runner-mocha": "^0.6.0", "camelcase": "^6.2.0", "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", "command-line-args": "^5.1.1", - "command-line-usage": "^6.1.1", "convert-source-map": "^1.7.0", "deepmerge": "^4.2.2", "diff": "^5.0.0", "globby": "^11.0.1", - "ip": "^1.1.5", - "istanbul-lib-report": "^3.0.0", - "istanbul-reports": "^3.0.2", - "log-update": "^4.0.0", - "open": "^7.3.0", "portfinder": "^1.0.28", "source-map": "^0.7.3" } }, + "@web/test-runner-chrome": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/@web/test-runner-chrome/-/test-runner-chrome-0.8.2.tgz", + "integrity": "sha512-AdSnLFsbTrz5BNwMklnXnRu/75cVdXPkMhEUyxjuZ25C+r+bRViyPQhwwXc8WH/Z+fpDYL+l4lVvGrrNwWiH8w==", + "dev": true, + "requires": { + "@types/puppeteer-core": "^2.0.0", + "@web/test-runner-core": "^0.9.0", + "@web/test-runner-coverage-v8": "^0.3.0", + "chrome-launcher": "^0.13.4", + "puppeteer-core": "^5.5.0" + } + }, "@web/test-runner-commands": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/@web/test-runner-commands/-/test-runner-commands-0.2.1.tgz", - "integrity": "sha512-usbgVGIihxfHIPv1FPDueEzET51SM8X6ZVZY+k8MgFzab018JyhqvkDVEgRVmSfg1gWKvqRdA5Qpr11b+GGBeA==", + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@web/test-runner-commands/-/test-runner-commands-0.3.0.tgz", + "integrity": "sha512-tjcJySl0ZjKSVsNPwcLJuNLCobazbbTnkxI0LbjjCZCmXuYlKVhMSrQTZOdpZ6SlSOwVUzOMJ7NIbQyzT4h4WA==", "dev": true, "requires": { - "@web/test-runner-core": "^0.8.4" + "@web/test-runner-core": "^0.9.0" } }, "@web/test-runner-core": { - "version": "0.8.11", - "resolved": "https://registry.npmjs.org/@web/test-runner-core/-/test-runner-core-0.8.11.tgz", - "integrity": "sha512-NyCm9tNaUFkO9P7sI9/z/E7CSP4sxlEnygHmo9mqbWOGW3aNsasqEcYHxQgGMW1HJrohDCigWRJZhMSFNOYd1Q==", + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/@web/test-runner-core/-/test-runner-core-0.9.3.tgz", + "integrity": "sha512-bmMGYe3x4z0T625C/BSexQ3Wa0a7s9po72S8lTKrKglGgYJcXw4bYWlTD/W4nt8Vhelb75o6a6D+GukHEH8t1A==", "dev": true, "requires": { - "@babel/code-frame": "^7.10.4", - "@web/browser-logs": "^0.1.5", - "@web/dev-server-core": "^0.2.11", - "co-body": "^6.0.0", + "@babel/code-frame": "^7.12.11", + "@web/browser-logs": "^0.1.6", + "@web/dev-server-core": "^0.3.1", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "co-body": "^6.1.0", "debounce": "^1.2.0", "dependency-graph": "^0.9.0", "globby": "^11.0.1", + "ip": "^1.1.5", "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-reports": "^3.0.2", + "log-update": "^4.0.0", "picomatch": "^2.2.2", - "uuid": "^8.1.0" + "uuid": "^8.3.2" } }, "@web/test-runner-coverage-v8": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@web/test-runner-coverage-v8/-/test-runner-coverage-v8-0.2.3.tgz", - "integrity": "sha512-vfDjbENCJsDxY2NwAclOKC5y9MkI+KIx0U/JSPZsowzx2dYZHOqKQfRknZa2nyC9wf3pqbBUrgy0g231t5nkyQ==", + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@web/test-runner-coverage-v8/-/test-runner-coverage-v8-0.3.0.tgz", + "integrity": "sha512-y7RCXj2zlqFVeE317MK0kSAezNRMsMYebghIROSi5T96WNBXWG8Ss51edVTd0hEIkbydABcSZYhMWf/s5fm5JQ==", "dev": true, "requires": { - "@web/test-runner-core": "^0.8.11", + "@web/test-runner-core": "^0.9.0", "istanbul-lib-coverage": "^3.0.0", "v8-to-istanbul": "^7.0.0" } }, "@web/test-runner-mocha": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/@web/test-runner-mocha/-/test-runner-mocha-0.5.1.tgz", - "integrity": "sha512-/8VBh3nP2sE/a320CfRI/J1TLT8ChPy0xGBafh3gg59+jOTtHCfZzHet7nre/VTOOvu1H24XEZiyhMFud6WVXQ==", + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@web/test-runner-mocha/-/test-runner-mocha-0.6.0.tgz", + "integrity": "sha512-KmUkcgu8PHHrinyIDhDy0xb4mnT79qFkwx0yn1Wn0d3Y4PaD5cTpmHwYprgQGiSGcKEJQzHR8+eaTsP6H0+MVw==", "dev": true, "requires": { - "@types/mocha": "^8.0.1", - "@web/test-runner-core": "^0.8.4" + "@types/mocha": "^8.2.0", + "@web/test-runner-core": "^0.9.0" } }, "@web/test-runner-playwright": { - "version": "0.6.6", - "resolved": "https://registry.npmjs.org/@web/test-runner-playwright/-/test-runner-playwright-0.6.6.tgz", - "integrity": "sha512-oHs7LEyVj5pEsxYxcLgKXJ/Fin5zjvbJYjSgPuM555M+QDu97MGwFi8rHEVgptk0QEh3oTBoGaro+hjuLQgPqQ==", + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/@web/test-runner-playwright/-/test-runner-playwright-0.7.2.tgz", + "integrity": "sha512-u/juWValzX69Vv4Kk2n/+6t53kCJOKchYo4RW/JLzAsePp/WL5pJ+3rnT5v13udaplMtKJH07ISc5TR9S0W8sA==", "dev": true, "requires": { - "@web/test-runner-core": "^0.8.11", - "@web/test-runner-coverage-v8": "^0.2.3", - "playwright": "^1.6.0" + "@web/test-runner-core": "^0.9.0", + "@web/test-runner-coverage-v8": "^0.3.0", + "playwright": "^1.7.1" } }, "@web/test-runner-puppeteer": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/@web/test-runner-puppeteer/-/test-runner-puppeteer-0.7.3.tgz", - "integrity": "sha512-bip2x0yMxlWRRfWK0bkJUysqIsFmATvr+JdeE26++sfJXkL0D3cWjaaOIqEh2D9wCRsB6czuurE4d9sIP5cyfw==", + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/@web/test-runner-puppeteer/-/test-runner-puppeteer-0.8.2.tgz", + "integrity": "sha512-P2/yyhDztosOMMRIJJ4iyb/JZXZee4gM+iE+Whcb8fwIOga3Mx94lQMhXJDRSt703D+u+anW96b2u1i4ydDLjA==", "dev": true, "requires": { - "@types/puppeteer": "^3.0.5", - "@web/test-runner-chrome": "^0.7.3", - "@web/test-runner-core": "^0.8.11", - "puppeteer": "^5.3.1" + "@types/puppeteer": "^5.4.2", + "@web/test-runner-chrome": "^0.8.2", + "@web/test-runner-core": "^0.9.0", + "puppeteer": "^5.5.0" }, "dependencies": { "@types/puppeteer": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@types/puppeteer/-/puppeteer-3.0.5.tgz", - "integrity": "sha512-NkphUMkpbr/us6hp1AqUh/UxX5Tf2UJU94MvaF8OOgIUPBipYodql+yRjcysJKqwnDkchp+cD/8jntI/C9StzA==", + "version": "5.4.2", + "resolved": "https://registry.npmjs.org/@types/puppeteer/-/puppeteer-5.4.2.tgz", + "integrity": "sha512-yjbHoKjZFOGqA6bIEI2dfBE5UPqU0YGWzP+ipDVP1iGzmlhksVKTBVZfT3Aj3wnvmcJ2PQ9zcncwOwyavmafBw==", "dev": true, "requires": { "@types/node": "*" @@ -7559,6 +7492,12 @@ "ms": "2.1.2" } }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "dev": true + }, "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", @@ -7911,9 +7850,9 @@ "dev": true }, "builtin-modules": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.1.0.tgz", - "integrity": "sha512-k0KL0aWZuBt2lrxrcASWDfwOLMnodeQjodT/1SxEQAXsHANgo6ZC/VEaSEHCXt7aSTZ4/4H5LKa+tBXmW7Vtvw==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.2.0.tgz", + "integrity": "sha512-lGzLKcioL90C7wMczpkY0n/oART3MbBa8R9OFGE1rJxoVI86u4WAGfEk8Wjv10eKSyTHVGkSo3bvBylCEtk7LA==", "dev": true }, "builtins": { @@ -7994,14 +7933,14 @@ } }, "chokidar": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.3.tgz", - "integrity": "sha512-DtM3g7juCXQxFVSNPNByEC2+NImtBuxQQvWlHunpJIS5Ocr0lG306cC7FCi7cEA0fzmybPUIl4txBIobk1gGOQ==", + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.0.tgz", + "integrity": "sha512-JgQM9JS92ZbFR4P90EvmzNpSGhpPBGBSj10PILeDyYFwp4h2/D9OM03wsJ4zW1fEp4ka2DGrnUeD7FuvQ2aZ2Q==", "dev": true, "requires": { "anymatch": "~3.1.1", "braces": "~3.0.2", - "fsevents": "~2.1.2", + "fsevents": "~2.3.1", "glob-parent": "~5.1.0", "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", @@ -8098,9 +8037,9 @@ "dev": true }, "codemirror": { - "version": "5.58.3", - "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-5.58.3.tgz", - "integrity": "sha512-KBhB+juiyOOgn0AqtRmWyAT3yoElkuvWTI6hsHa9E6GQrl6bk/fdAYcvuqW1/upO9T9rtEtapWdw4XYcNiVDEA==", + "version": "5.59.1", + "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-5.59.1.tgz", + "integrity": "sha512-d0SSW/PCCD4LoSCBPdnP0BzmZB1v3emomCUtVlIWgZHJ06yVeBOvBtOH7vYz707pfAvEeWbO9aP6akh8vl1V3w==", "dev": true }, "codemirror-grammar-mode": { @@ -8294,14 +8233,6 @@ "requires": { "depd": "~2.0.0", "keygrip": "~1.1.0" - }, - "dependencies": { - "depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "dev": true - } } }, "core-util-is": { @@ -8382,9 +8313,9 @@ "dev": true }, "depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", "dev": true }, "dependency-graph": { @@ -8526,9 +8457,9 @@ "dev": true }, "estree-walker": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.1.tgz", - "integrity": "sha512-tF0hv+Yi2Ot1cwj9eYHtxC0jB9bmjacjQs6ZBTj82H8JwUywFuc+7E83NWfNMwHXZc11mjfFcVXPe9gEP4B8dg==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", "dev": true }, "etag": { @@ -8629,9 +8560,9 @@ "dev": true }, "fastq": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.9.0.tgz", - "integrity": "sha512-i7FVWL8HhVY+CTkwFxkN2mk3h+787ixS5S63eb78diVRc1MCssarHq3W5cj0av7YDSwmaV928RNag+U1etRQ7w==", + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.10.0.tgz", + "integrity": "sha512-NL2Qc5L3iQEsyYzweq7qfgy5OtXCmGzGvhElGEd/SoFWEMOEczNh5s5ocaF01HDetxz+p8ecjNPA6cZxxIHmzA==", "dev": true, "requires": { "reusify": "^1.0.4" @@ -8742,9 +8673,9 @@ "dev": true }, "fsevents": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", - "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.1.tgz", + "integrity": "sha512-YR47Eg4hChJGAB1O3yEAOkGO+rlzutoICGqGo9EZ4lKWokzZRSyIW1QmTzqjtw8MJdj9srP869CuWw/hyzSiBw==", "dev": true, "optional": true }, @@ -8831,9 +8762,9 @@ } }, "globby": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.1.tgz", - "integrity": "sha512-iH9RmgwCmUJHi2z5o2l3eTtGBtXek1OYlHrbcxOYugyHLmAsZrPj43OtHThd62Buh/Vv6VyCBD2bdyWcGNQqoQ==", + "version": "11.0.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.2.tgz", + "integrity": "sha512-2ZThXDvvV8fYFRVIxnrMQBipZQDr7MxKAmQK1vujaj9/7eF0efG7BPUKJ7jP7G5SLF37xKDXvO4S/KKLj/Z0og==", "dev": true, "requires": { "array-union": "^2.1.0", @@ -8931,6 +8862,12 @@ "http-errors": "~1.7.2" }, "dependencies": { + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "dev": true + }, "http-errors": { "version": "1.7.3", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz", @@ -8969,6 +8906,14 @@ "setprototypeof": "1.2.0", "statuses": ">= 1.5.0 < 2", "toidentifier": "1.0.0" + }, + "dependencies": { + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "dev": true + } } }, "http-proxy-agent": { @@ -9368,9 +9313,9 @@ } }, "koa": { - "version": "2.13.0", - "resolved": "https://registry.npmjs.org/koa/-/koa-2.13.0.tgz", - "integrity": "sha512-i/XJVOfPw7npbMv67+bOeXr3gPqOAw6uh5wFyNs3QvJ47tUx3M3V9rIE0//WytY42MKz4l/MXKyGkQ2LQTfLUQ==", + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/koa/-/koa-2.13.1.tgz", + "integrity": "sha512-Lb2Dloc72auj5vK4X4qqL7B5jyDPQaZucc9sR/71byg7ryoD1NCaCm63CShk9ID9quQvDEi1bGR/iGjCG7As3w==", "dev": true, "requires": { "accepts": "^1.3.5", @@ -9380,7 +9325,7 @@ "cookies": "~0.8.0", "debug": "~3.1.0", "delegates": "^1.0.0", - "depd": "^1.1.2", + "depd": "^2.0.0", "destroy": "^1.0.4", "encodeurl": "^1.0.2", "escape-html": "^1.0.3", @@ -9581,23 +9526,23 @@ } }, "make-fetch-happen": { - "version": "8.0.10", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-8.0.10.tgz", - "integrity": "sha512-jPLPKQjBmDLK5r1BdyDyNKBytmkv2AsDWm2CxHJh+fqhSmC9Pmb7RQxwOq8xQig9+AWIS49+51k4f6vDQ3VnrQ==", + "version": "8.0.12", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-8.0.12.tgz", + "integrity": "sha512-cBD7yM72ltWEV+xlLlbimnh5qHwr+thAb/cZLiaZhicVVPVN63BikBvL5OR68+8+z2fvBOgck628vGJ2ulgF6g==", "dev": true, "requires": { - "agentkeepalive": "^4.1.0", - "cacache": "^15.0.0", - "http-cache-semantics": "^4.0.4", + "agentkeepalive": "^4.1.3", + "cacache": "^15.0.5", + "http-cache-semantics": "^4.1.0", "http-proxy-agent": "^4.0.1", "https-proxy-agent": "^5.0.0", "is-lambda": "^1.0.1", "lru-cache": "^6.0.0", "minipass": "^3.1.3", "minipass-collect": "^1.0.2", - "minipass-fetch": "^1.3.0", + "minipass-fetch": "^1.3.2", "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.2", + "minipass-pipeline": "^1.2.4", "promise-retry": "^1.1.1", "socks-proxy-agent": "^5.0.0", "ssri": "^8.0.0" @@ -9644,24 +9589,24 @@ } }, "mime": { - "version": "2.4.6", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.6.tgz", - "integrity": "sha512-RZKhC3EmpBchfTGBVb8fb+RL2cWyw/32lshnsETttkBAyAUXSGHxbEJWWRXc751DrIxG1q04b8QwMbAwkRPpUA==", + "version": "2.4.7", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.7.tgz", + "integrity": "sha512-dhNd1uA2u397uQk3Nv5LM4lm93WYDUXFn3Fu291FJerns4jyTudqhIWe4W04YLy7Uk1tm1Ore04NpjRvQp/NPA==", "dev": true }, "mime-db": { - "version": "1.44.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz", - "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==", + "version": "1.45.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.45.0.tgz", + "integrity": "sha512-CkqLUxUk15hofLoLyljJSrukZi8mAtgd+yE5uO4tqRZsdsAJKv0O+rFMhVDRJgozy+yG6md5KwuXhD4ocIoP+w==", "dev": true }, "mime-types": { - "version": "2.1.27", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz", - "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==", + "version": "2.1.28", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.28.tgz", + "integrity": "sha512-0TO2yJ5YHYr7M2zzT7gDU1tbwHxEUWBCLt0lscSNpcdAfFyJOVEpRYNS7EXVcTLNj/25QO8gulHC5JtTzSE2UQ==", "dev": true, "requires": { - "mime-db": "1.44.0" + "mime-db": "1.45.0" } }, "mimic-fn": { @@ -9972,9 +9917,9 @@ "dev": true }, "open": { - "version": "7.3.0", - "resolved": "https://registry.npmjs.org/open/-/open-7.3.0.tgz", - "integrity": "sha512-mgLwQIx2F/ye9SmbrUkurZCnkoXyXyu9EbHtJZrICjVAJfyMArdHp3KkixGdZx1ZHFPNIwl0DDM1dFFqXbTLZw==", + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/open/-/open-7.3.1.tgz", + "integrity": "sha512-f2wt9DCBKKjlFbjzGb8MOAW8LH8F0mrs1zc7KTjAJ9PZNQbfenzWbNP1VZJvw6ICMG9r14Ah6yfwPn7T7i646A==", "dev": true, "requires": { "is-docker": "^2.0.0", @@ -10015,9 +9960,9 @@ "dev": true }, "pacote": { - "version": "11.1.13", - "resolved": "https://registry.npmjs.org/pacote/-/pacote-11.1.13.tgz", - "integrity": "sha512-oJ7Bg7p3izrIMhZPHCCHmMHQl+xb+pKBXL5ZYeM2oCZrw6sBRSx7f8l7F+95V2qA0BP3c1cNaaBmUNkbo6Hn9w==", + "version": "11.1.14", + "resolved": "https://registry.npmjs.org/pacote/-/pacote-11.1.14.tgz", + "integrity": "sha512-6c5OhQelaJFDfiw/Zd8MfGCvvFHurSdeGzufZMPvRFImdbNOYFciOINf3DtUNUaU3h98eCb749UyHDsgvL19+A==", "dev": true, "requires": { "@npmcli/git": "^2.0.1", @@ -10038,7 +9983,7 @@ "read-package-json-fast": "^1.1.3", "rimraf": "^3.0.2", "ssri": "^8.0.0", - "tar": "^6.0.1" + "tar": "^6.1.0" }, "dependencies": { "mkdirp": { @@ -10134,9 +10079,9 @@ } }, "playwright": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.6.2.tgz", - "integrity": "sha512-KiMmQuANG4O/ozpwxP8EwBBap0/liS3+wwkGo6nBJ4O4951y4ZsRPR1dqwsMOUD9wjsWf3ER+bAmQH5XmEO4Ig==", + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.7.1.tgz", + "integrity": "sha512-dOSWME42wDedJ/PXv8k0zG0Kxd6d6R2OKA51/05++Z2ISdA4N58gHlWqlVKPDkBog1MI6lu/KNt7QDn19AybWQ==", "dev": true, "requires": { "debug": "^4.1.1", @@ -10438,6 +10383,12 @@ "unpipe": "1.0.0" }, "dependencies": { + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "dev": true + }, "http-errors": { "version": "1.7.3", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz", @@ -10579,6 +10530,12 @@ "path-is-absolute": "1.0.1" }, "dependencies": { + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "dev": true + }, "http-errors": { "version": "1.6.3", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", @@ -10637,12 +10594,21 @@ } }, "rollup": { - "version": "2.34.2", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.34.2.tgz", - "integrity": "sha512-mvtQLqu3cNeoctS+kZ09iOPxrc1P1/Bt1z15enuQ5feyKOdM3MJAVFjjsygurDpSWn530xB4AlA83TWIzRstXA==", + "version": "2.36.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.36.1.tgz", + "integrity": "sha512-eAfqho8dyzuVvrGqpR0ITgEdq0zG2QJeWYh+HeuTbpcaXk8vNFc48B7bJa1xYosTCKx0CuW+447oQOW8HgBIZQ==", "dev": true, "requires": { "fsevents": "~2.1.2" + }, + "dependencies": { + "fsevents": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", + "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", + "dev": true, + "optional": true + } } }, "rollup-plugin-copy": { @@ -11058,9 +11024,9 @@ } }, "tar": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.0.5.tgz", - "integrity": "sha512-0b4HOimQHj9nXNEAA7zWwMM91Zhhba3pspja6sQbgTpynOJf+bkjBnfybNYzbpLbnwXnbyB4LOREvlyXLkCHSg==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.0.tgz", + "integrity": "sha512-DUCttfhsnLCjwoDoFcI+B2iJgYa93vBnDUATYEeRx6sntCTdN01VnqsIuTlALXla/LWooNg0yEGeB+Y8WdFxGA==", "dev": true, "requires": { "chownr": "^2.0.0", @@ -11100,9 +11066,9 @@ } }, "tar-stream": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.1.4.tgz", - "integrity": "sha512-o3pS2zlG4gxr67GmFYBLlq+dM8gyRGUOvsrHclSkvtVtQbjV0s/+ZE8OpICbaj8clrX3tjeHngYGP7rweaBnuw==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", "dev": true, "requires": { "bl": "^4.0.3", @@ -11213,9 +11179,9 @@ } }, "tslib": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", - "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==" + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", + "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==" }, "tsscmp": { "version": "1.0.6", @@ -11255,9 +11221,9 @@ } }, "typescript": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.1.2.tgz", - "integrity": "sha512-thGloWsGH3SOxv1SoY7QojKi0tc+8FnOmiarEGMbd/lar7QOEd3hvlx3Fp5y6FlDUGl9L+pd4n2e+oToGMmhRQ==", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.1.3.tgz", + "integrity": "sha512-B3ZIOf1IKeH2ixgHhj6la6xdwR9QrLC5d1VKeCSY4tvkqhF2eqd9O7txNlS0PO3GrBAFIdr3L1ndNwteUbZLYg==", "dev": true }, "typical": { @@ -11322,15 +11288,15 @@ "dev": true }, "uuid": { - "version": "8.3.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.1.tgz", - "integrity": "sha512-FOmRr+FmWEIG8uhZv6C2bTgEVXsHk08kE7mPlrBbEe+c3r9pjceVPgupIfNIhc4yx55H69OXANrUaSuu9eInKg==", + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", "dev": true }, "v8-to-istanbul": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-7.0.0.tgz", - "integrity": "sha512-fLL2rFuQpMtm9r8hrAV2apXX/WqHJ6+IC4/eQVdMDGBUgH/YMV4Gv3duk3kjmyg6uiQWBAA9nJwue4iJUOkHeA==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-7.1.0.tgz", + "integrity": "sha512-uXUVqNUCLa0AH1vuVxzi+MI4RfxEOKt9pBgKwHbgH7st8Kv2P1m+jvWNnektzBh5QShF3ODgKmUFCf38LnVz1g==", "dev": true, "requires": { "@types/istanbul-lib-coverage": "^2.0.1", @@ -11494,9 +11460,9 @@ "dev": true }, "ws": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.1.tgz", - "integrity": "sha512-pTsP8UAfhy3sk1lSk/O/s4tjD0CRwvMnzvwr4OKGX7ZvqZtUyx4KIJB5JWbkykPoc55tixMGgTNoh3k4FkNGFQ==", + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.2.tgz", + "integrity": "sha512-T4tewALS3+qsrpGI/8dqNMLIVdq/g/85U98HPMa6F0m6xTbvhXU6RCQLqPH3+SlomNV/LdY6RXEbBpMH6EOJnA==", "dev": true, "requires": {} }, diff --git a/package.json b/package.json index 62a587ee..7e68202a 100755 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "playground-elements", - "version": "0.3.6", + "version": "0.3.7", "description": "A multi-file code editor component with live preview", "homepage": "https://github.com/PolymerLabs/playground-elements#readme", "repository": "github:PolymerLabs/playground-elements", @@ -49,10 +49,10 @@ "@rollup/plugin-node-resolve": "^11.0.0", "@rollup/plugin-replace": "^2.3.3", "@types/resize-observer-browser": "^0.1.4", - "@web/dev-server": "^0.0.25", - "@web/test-runner": "^0.10.0", - "@web/test-runner-playwright": "^0.6.0", - "@web/test-runner-puppeteer": "^0.7.2", + "@web/dev-server": "^0.1.3", + "@web/test-runner": "^0.11.7", + "@web/test-runner-playwright": "^0.7.2", + "@web/test-runner-puppeteer": "^0.8.2", "clean-css": "^4.2.3", "codemirror": "^5.58.1", "codemirror-grammar-mode": "^0.1.10", diff --git a/src/playground-code-editor.ts b/src/playground-code-editor.ts index 9aa544b2..8898c1a4 100644 --- a/src/playground-code-editor.ts +++ b/src/playground-code-editor.ts @@ -184,6 +184,15 @@ export class PlaygroundCodeEditor extends LitElement { (dom) => { this.shadowRoot!.innerHTML = ''; this.shadowRoot!.appendChild(dom); + requestAnimationFrame(() => { + requestAnimationFrame(() => { + // It seems that some dynamic layouts confuse CodeMirror, causing it + // to measure itself too soon, which then causes the position of + // interactions to be interpreted incorrectly. Here we hackily force + // a refresh after initial layout is usually done. + this._codemirror?.refresh(); + }); + }); }, { value: this.value ?? '', diff --git a/src/playground-ide.ts b/src/playground-ide.ts index f45c732e..27328e6e 100644 --- a/src/playground-ide.ts +++ b/src/playground-ide.ts @@ -22,10 +22,12 @@ import { PropertyValues, } from 'lit-element'; import {nothing} from 'lit-html'; +import {SampleFile} from './shared/worker-api.js'; import './playground-project.js'; import './playground-file-editor.js'; import './playground-preview.js'; +import {PlaygroundProject} from './playground-project.js'; /** * A multi-file code editor component with live preview that works without a @@ -188,17 +190,31 @@ export class PlaygroundIde extends LitElement { @property({type: Boolean}) resizable = false; + /** + * Get or set the array of project files. + * + * Files set through this property always take precedence over `projectSrc` + * and slotted children. + */ + @property({attribute: false}) + files?: SampleFile[]; + @query('#resizeBar') private _resizeBar!: HTMLDivElement; @query('#rhs') private _rhs!: HTMLDivElement; + @query('playground-project') + private _project!: PlaygroundProject; + render() { const projectId = 'project'; return html` + > + + + + +
diff --git a/src/playground-project.ts b/src/playground-project.ts index 6c27950f..72724069 100644 --- a/src/playground-project.ts +++ b/src/playground-project.ts @@ -36,9 +36,7 @@ import { } from './shared/worker-api.js'; import {getRandomString, endWithSlash} from './shared/util.js'; import {PlaygroundPreview} from './playground-preview.js'; -import './playground-file-editor.js'; import {PlaygroundFileEditor} from './playground-file-editor.js'; -import './playground-preview.js'; declare global { interface ImportMeta { @@ -160,6 +158,30 @@ export class PlaygroundProject extends LitElement { ).href; } + private _filesSetExternally = false; + + /** + * Get or set the array of project files. + * + * Files set through this property always take precedence over `projectSrc` + * and slotted children. + */ + get files(): SampleFile[] | undefined { + return this._files; + } + + set files(files: SampleFile[] | undefined) { + if (!files) { + return; + } + this._filesSetExternally = true; + this._files = files; + if (this._typescriptWorkerAPI) { + this._compileProject(); + } + this.requestUpdate(); + } + static styles = css` iframe { display: none; @@ -174,6 +196,7 @@ export class PlaygroundProject extends LitElement { for (const editor of this._editors) { editor.files = this._files; } + this.dispatchEvent(new CustomEvent('filesChanged')); } if ( changedProperties.has('_serviceWorkerAPI') || @@ -198,7 +221,7 @@ export class PlaygroundProject extends LitElement { } private _slotChange(_e: Event) { - if (this.projectSrc) { + if (this.projectSrc || this._filesSetExternally) { // Note that the slotchange event will fire even if the only child is // whitespace. return; @@ -244,7 +267,7 @@ export class PlaygroundProject extends LitElement { } private async _fetchProject() { - if (!this.projectSrc) { + if (!this.projectSrc || this._filesSetExternally) { return; } const projectUrl = new URL(this.projectSrc, document.baseURI); @@ -252,7 +275,7 @@ export class PlaygroundProject extends LitElement { const manifest = (await manifestFetched.json()) as ProjectManifest; const filenames = manifest.files ? Object.keys(manifest.files) : []; - this._files = await Promise.all( + const files = await Promise.all( filenames.map(async (filename) => { const fileUrl = new URL(filename, projectUrl); const response = await fetch(fileUrl.href); @@ -270,12 +293,20 @@ export class PlaygroundProject extends LitElement { }; }) ); - this._compileProject(); + if (!this._filesSetExternally) { + // Note we check _filesSetExternally again here in case it was set while + // we were fetching the project and its files. + this._files = files; + this._compileProject(); + } } firstUpdated() { const worker = new Worker(typescriptWorkerScriptUrl); this._typescriptWorkerAPI = wrap(worker); + if (this._files) { + this._compileProject(); + } } private _onServiceWorkerProxyIframeLoad() {