From 920283a1ddea11349c491e9beca36aafb8acfd04 Mon Sep 17 00:00:00 2001 From: Jed Fox Date: Sat, 15 Jan 2022 16:00:39 -0500 Subject: [PATCH 001/117] Inline `await` expressions in JSX (#12088) --- changelog_unreleased/javascript/12088.md | 23 ++ src/language-js/print/jsx.js | 30 +- .../jsx/jsx/__snapshots__/jsfmt.spec.js.snap | 328 ++++++++++++++++++ tests/format/jsx/jsx/await.js | 29 ++ 4 files changed, 395 insertions(+), 15 deletions(-) create mode 100644 changelog_unreleased/javascript/12088.md create mode 100644 tests/format/jsx/jsx/await.js diff --git a/changelog_unreleased/javascript/12088.md b/changelog_unreleased/javascript/12088.md new file mode 100644 index 000000000..2ebd84743 --- /dev/null +++ b/changelog_unreleased/javascript/12088.md @@ -0,0 +1,23 @@ +#### Inline `await` expressions in JSX (#12088 by @j-f1) + +`await` expressions in JSX are now inlined if their argument would be inlined. + + +```jsx +// Input +{await Promise.all( + someVeryLongExpression +)} + +// Prettier stable +{ + await Promise.all( + someVeryLongExpression + ) +} + +// Prettier main +{await Promise.all( + someVeryLongExpression +)} +``` diff --git a/src/language-js/print/jsx.js b/src/language-js/print/jsx.js index 42fcc570f..bd9dc2bad 100644 --- a/src/language-js/print/jsx.js +++ b/src/language-js/print/jsx.js @@ -502,24 +502,24 @@ function printJsxAttribute(path, options, print) { function printJsxExpressionContainer(path, options, print) { const node = path.getValue(); - const parent = path.getParentNode(0); - const shouldInline = - node.expression.type === "JSXEmptyExpression" || - (!hasComment(node.expression) && - (node.expression.type === "ArrayExpression" || - node.expression.type === "ObjectExpression" || - node.expression.type === "ArrowFunctionExpression" || - isCallExpression(node.expression) || - node.expression.type === "FunctionExpression" || - node.expression.type === "TemplateLiteral" || - node.expression.type === "TaggedTemplateExpression" || - node.expression.type === "DoExpression" || + const shouldInline = (node, parent) => + node.type === "JSXEmptyExpression" || + (!hasComment(node) && + (node.type === "ArrayExpression" || + node.type === "ObjectExpression" || + node.type === "ArrowFunctionExpression" || + (node.type === "AwaitExpression" && + shouldInline(node.argument, node)) || + isCallExpression(node) || + node.type === "FunctionExpression" || + node.type === "TemplateLiteral" || + node.type === "TaggedTemplateExpression" || + node.type === "DoExpression" || (isJsxNode(parent) && - (node.expression.type === "ConditionalExpression" || - isBinaryish(node.expression))))); + (node.type === "ConditionalExpression" || isBinaryish(node))))); - if (shouldInline) { + if (shouldInline(node.expression, path.getParentNode(0))) { return group(["{", print("expression"), lineSuffixBoundary, "}"]); } diff --git a/tests/format/jsx/jsx/__snapshots__/jsfmt.spec.js.snap b/tests/format/jsx/jsx/__snapshots__/jsfmt.spec.js.snap index acb3d774c..f8eacf98c 100644 --- a/tests/format/jsx/jsx/__snapshots__/jsfmt.spec.js.snap +++ b/tests/format/jsx/jsx/__snapshots__/jsfmt.spec.js.snap @@ -616,6 +616,334 @@ singleQuote: true ================================================================================ `; +exports[`await.js - {"singleQuote":false,"jsxSingleQuote":false} format 1`] = ` +====================================options===================================== +jsxSingleQuote: false +parsers: ["flow", "babel", "typescript"] +printWidth: 80 +singleQuote: false + | printWidth +=====================================input====================================== +async function testFunction() { + const short = <> + {await Promise.all( + hierarchyCriticism + )} + {await hierarchyCriticism.ic.me.oa.p} + {await hierarchyCriticism} + + {Promise.all( + hierarchyCriticism + )} + {hierarchyCriticism.ic.me.oa.p} + {hierarchyCriticism} + + + const long = <> + {await Promise.all( + hierarchyCriticismIncongruousCooperateMaterialEducationOriginalArticulateParameter + )} + {await hierarchyCriticism.IncongruousCooperate.MaterialEducation.OriginalArticulate.Parameter} + {await hierarchyCriticismIncongruousCooperateMaterialEducationOriginalArticulateParameter} + + {Promise.all( + hierarchyCriticismIncongruousCooperateMaterialEducationOriginalArticulateParameter + )} + {hierarchyCriticism.IncongruousCooperate.MaterialEducation.OriginalArticulate.Parameter} + {hierarchyCriticismIncongruousCooperateMaterialEducationOriginalArticulateParameter} + +} + +=====================================output===================================== +async function testFunction() { + const short = ( + <> + {await Promise.all(hierarchyCriticism)} + {await hierarchyCriticism.ic.me.oa.p} + {await hierarchyCriticism} + + {Promise.all(hierarchyCriticism)} + {hierarchyCriticism.ic.me.oa.p} + {hierarchyCriticism} + + ); + + const long = ( + <> + {await Promise.all( + hierarchyCriticismIncongruousCooperateMaterialEducationOriginalArticulateParameter + )} + { + await hierarchyCriticism.IncongruousCooperate.MaterialEducation + .OriginalArticulate.Parameter + } + { + await hierarchyCriticismIncongruousCooperateMaterialEducationOriginalArticulateParameter + } + + {Promise.all( + hierarchyCriticismIncongruousCooperateMaterialEducationOriginalArticulateParameter + )} + { + hierarchyCriticism.IncongruousCooperate.MaterialEducation + .OriginalArticulate.Parameter + } + { + hierarchyCriticismIncongruousCooperateMaterialEducationOriginalArticulateParameter + } + + ); +} + +================================================================================ +`; + +exports[`await.js - {"singleQuote":false,"jsxSingleQuote":true} format 1`] = ` +====================================options===================================== +jsxSingleQuote: true +parsers: ["flow", "babel", "typescript"] +printWidth: 80 +singleQuote: false + | printWidth +=====================================input====================================== +async function testFunction() { + const short = <> + {await Promise.all( + hierarchyCriticism + )} + {await hierarchyCriticism.ic.me.oa.p} + {await hierarchyCriticism} + + {Promise.all( + hierarchyCriticism + )} + {hierarchyCriticism.ic.me.oa.p} + {hierarchyCriticism} + + + const long = <> + {await Promise.all( + hierarchyCriticismIncongruousCooperateMaterialEducationOriginalArticulateParameter + )} + {await hierarchyCriticism.IncongruousCooperate.MaterialEducation.OriginalArticulate.Parameter} + {await hierarchyCriticismIncongruousCooperateMaterialEducationOriginalArticulateParameter} + + {Promise.all( + hierarchyCriticismIncongruousCooperateMaterialEducationOriginalArticulateParameter + )} + {hierarchyCriticism.IncongruousCooperate.MaterialEducation.OriginalArticulate.Parameter} + {hierarchyCriticismIncongruousCooperateMaterialEducationOriginalArticulateParameter} + +} + +=====================================output===================================== +async function testFunction() { + const short = ( + <> + {await Promise.all(hierarchyCriticism)} + {await hierarchyCriticism.ic.me.oa.p} + {await hierarchyCriticism} + + {Promise.all(hierarchyCriticism)} + {hierarchyCriticism.ic.me.oa.p} + {hierarchyCriticism} + + ); + + const long = ( + <> + {await Promise.all( + hierarchyCriticismIncongruousCooperateMaterialEducationOriginalArticulateParameter + )} + { + await hierarchyCriticism.IncongruousCooperate.MaterialEducation + .OriginalArticulate.Parameter + } + { + await hierarchyCriticismIncongruousCooperateMaterialEducationOriginalArticulateParameter + } + + {Promise.all( + hierarchyCriticismIncongruousCooperateMaterialEducationOriginalArticulateParameter + )} + { + hierarchyCriticism.IncongruousCooperate.MaterialEducation + .OriginalArticulate.Parameter + } + { + hierarchyCriticismIncongruousCooperateMaterialEducationOriginalArticulateParameter + } + + ); +} + +================================================================================ +`; + +exports[`await.js - {"singleQuote":true,"jsxSingleQuote":false} format 1`] = ` +====================================options===================================== +jsxSingleQuote: false +parsers: ["flow", "babel", "typescript"] +printWidth: 80 +singleQuote: true + | printWidth +=====================================input====================================== +async function testFunction() { + const short = <> + {await Promise.all( + hierarchyCriticism + )} + {await hierarchyCriticism.ic.me.oa.p} + {await hierarchyCriticism} + + {Promise.all( + hierarchyCriticism + )} + {hierarchyCriticism.ic.me.oa.p} + {hierarchyCriticism} + + + const long = <> + {await Promise.all( + hierarchyCriticismIncongruousCooperateMaterialEducationOriginalArticulateParameter + )} + {await hierarchyCriticism.IncongruousCooperate.MaterialEducation.OriginalArticulate.Parameter} + {await hierarchyCriticismIncongruousCooperateMaterialEducationOriginalArticulateParameter} + + {Promise.all( + hierarchyCriticismIncongruousCooperateMaterialEducationOriginalArticulateParameter + )} + {hierarchyCriticism.IncongruousCooperate.MaterialEducation.OriginalArticulate.Parameter} + {hierarchyCriticismIncongruousCooperateMaterialEducationOriginalArticulateParameter} + +} + +=====================================output===================================== +async function testFunction() { + const short = ( + <> + {await Promise.all(hierarchyCriticism)} + {await hierarchyCriticism.ic.me.oa.p} + {await hierarchyCriticism} + + {Promise.all(hierarchyCriticism)} + {hierarchyCriticism.ic.me.oa.p} + {hierarchyCriticism} + + ); + + const long = ( + <> + {await Promise.all( + hierarchyCriticismIncongruousCooperateMaterialEducationOriginalArticulateParameter + )} + { + await hierarchyCriticism.IncongruousCooperate.MaterialEducation + .OriginalArticulate.Parameter + } + { + await hierarchyCriticismIncongruousCooperateMaterialEducationOriginalArticulateParameter + } + + {Promise.all( + hierarchyCriticismIncongruousCooperateMaterialEducationOriginalArticulateParameter + )} + { + hierarchyCriticism.IncongruousCooperate.MaterialEducation + .OriginalArticulate.Parameter + } + { + hierarchyCriticismIncongruousCooperateMaterialEducationOriginalArticulateParameter + } + + ); +} + +================================================================================ +`; + +exports[`await.js - {"singleQuote":true,"jsxSingleQuote":true} format 1`] = ` +====================================options===================================== +jsxSingleQuote: true +parsers: ["flow", "babel", "typescript"] +printWidth: 80 +singleQuote: true + | printWidth +=====================================input====================================== +async function testFunction() { + const short = <> + {await Promise.all( + hierarchyCriticism + )} + {await hierarchyCriticism.ic.me.oa.p} + {await hierarchyCriticism} + + {Promise.all( + hierarchyCriticism + )} + {hierarchyCriticism.ic.me.oa.p} + {hierarchyCriticism} + + + const long = <> + {await Promise.all( + hierarchyCriticismIncongruousCooperateMaterialEducationOriginalArticulateParameter + )} + {await hierarchyCriticism.IncongruousCooperate.MaterialEducation.OriginalArticulate.Parameter} + {await hierarchyCriticismIncongruousCooperateMaterialEducationOriginalArticulateParameter} + + {Promise.all( + hierarchyCriticismIncongruousCooperateMaterialEducationOriginalArticulateParameter + )} + {hierarchyCriticism.IncongruousCooperate.MaterialEducation.OriginalArticulate.Parameter} + {hierarchyCriticismIncongruousCooperateMaterialEducationOriginalArticulateParameter} + +} + +=====================================output===================================== +async function testFunction() { + const short = ( + <> + {await Promise.all(hierarchyCriticism)} + {await hierarchyCriticism.ic.me.oa.p} + {await hierarchyCriticism} + + {Promise.all(hierarchyCriticism)} + {hierarchyCriticism.ic.me.oa.p} + {hierarchyCriticism} + + ); + + const long = ( + <> + {await Promise.all( + hierarchyCriticismIncongruousCooperateMaterialEducationOriginalArticulateParameter + )} + { + await hierarchyCriticism.IncongruousCooperate.MaterialEducation + .OriginalArticulate.Parameter + } + { + await hierarchyCriticismIncongruousCooperateMaterialEducationOriginalArticulateParameter + } + + {Promise.all( + hierarchyCriticismIncongruousCooperateMaterialEducationOriginalArticulateParameter + )} + { + hierarchyCriticism.IncongruousCooperate.MaterialEducation + .OriginalArticulate.Parameter + } + { + hierarchyCriticismIncongruousCooperateMaterialEducationOriginalArticulateParameter + } + + ); +} + +================================================================================ +`; + exports[`conditional-expression.js - {"singleQuote":false,"jsxSingleQuote":false} format 1`] = ` ====================================options===================================== jsxSingleQuote: false diff --git a/tests/format/jsx/jsx/await.js b/tests/format/jsx/jsx/await.js new file mode 100644 index 000000000..3eb1f3296 --- /dev/null +++ b/tests/format/jsx/jsx/await.js @@ -0,0 +1,29 @@ +async function testFunction() { + const short = <> + {await Promise.all( + hierarchyCriticism + )} + {await hierarchyCriticism.ic.me.oa.p} + {await hierarchyCriticism} + + {Promise.all( + hierarchyCriticism + )} + {hierarchyCriticism.ic.me.oa.p} + {hierarchyCriticism} + + + const long = <> + {await Promise.all( + hierarchyCriticismIncongruousCooperateMaterialEducationOriginalArticulateParameter + )} + {await hierarchyCriticism.IncongruousCooperate.MaterialEducation.OriginalArticulate.Parameter} + {await hierarchyCriticismIncongruousCooperateMaterialEducationOriginalArticulateParameter} + + {Promise.all( + hierarchyCriticismIncongruousCooperateMaterialEducationOriginalArticulateParameter + )} + {hierarchyCriticism.IncongruousCooperate.MaterialEducation.OriginalArticulate.Parameter} + {hierarchyCriticismIncongruousCooperateMaterialEducationOriginalArticulateParameter} + +} From 16aa669141982a17c699f81c569683c5f2598be9 Mon Sep 17 00:00:00 2001 From: fisker Cheung Date: Sun, 16 Jan 2022 10:21:29 +0800 Subject: [PATCH 002/117] Update `rollup-plugin-license` (#12081) --- .github/workflows/prod-test.yml | 1 + package.json | 2 +- scripts/build/build.mjs | 2 +- yarn.lock | 61 ++++++++++++--------------------- 4 files changed, 25 insertions(+), 41 deletions(-) diff --git a/.github/workflows/prod-test.yml b/.github/workflows/prod-test.yml index 17a6871b8..fe4dbafaf 100644 --- a/.github/workflows/prod-test.yml +++ b/.github/workflows/prod-test.yml @@ -39,6 +39,7 @@ jobs: uses: preactjs/compressed-size-action@2.3.0 with: repo-token: "${{ secrets.GITHUB_TOKEN }}" + pattern: "./dist/**/*" compression: none lint: diff --git a/package.json b/package.json index 699c1f54f..7ca3099e8 100644 --- a/package.json +++ b/package.json @@ -132,7 +132,7 @@ "prettier": "2.5.1", "pretty-bytes": "5.6.0", "rimraf": "3.0.2", - "rollup-plugin-license": "2.2.0", + "rollup-plugin-license": "2.6.1", "snapshot-diff": "0.9.0", "tempy": "1.0.1" }, diff --git a/scripts/build/build.mjs b/scripts/build/build.mjs index c95b7c3fb..63216e0f4 100644 --- a/scripts/build/build.mjs +++ b/scripts/build/build.mjs @@ -162,7 +162,7 @@ async function run(params) { } if (shouldSaveBundledPackagesLicenses) { - await saveLicenses(licenses); + await saveLicenses(licenses.filter(({ name }) => name !== "prettier")); } else { console.warn( chalk.red("Bundled packages licenses not included in `dist/LICENSE`.") diff --git a/yarn.lock b/yarn.lock index e49d2f751..f11b63b8d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3503,19 +3503,7 @@ glob-parent@^6.0.1: dependencies: is-glob "^4.0.3" -glob@7.1.6: - version "7.1.6" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" - integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" - -glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.2.0: +glob@7.2.0, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.2.0: version "7.2.0" resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== @@ -4798,11 +4786,6 @@ lodash.merge@^4.6.2: resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== -lodash@4.17.19: - version "4.17.19" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.19.tgz#e48ddedbe30b3321783c5b4301fbd353bc1e4a4b" - integrity sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ== - lodash@4.17.21, lodash@^4.17.21, lodash@^4.17.4, lodash@^4.7.0: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" @@ -4943,10 +4926,10 @@ mkdirp@1.0.4: resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== -moment@2.27.0: - version "2.27.0" - resolved "https://registry.yarnpkg.com/moment/-/moment-2.27.0.tgz#8bff4e3e26a236220dfe3e36de756b6ebaa0105d" - integrity sha512-al0MUK7cpIcglMv3YF13qSgdAIqxHTO7brRtaz3DlSULbqfazqkc5kEjNrLDOM7fsjshoFIihnU8snrP7zUvhQ== +moment@2.29.1: + version "2.29.1" + resolved "https://registry.yarnpkg.com/moment/-/moment-2.29.1.tgz#b2be769fa31940be9eeea6469c075e35006fa3d3" + integrity sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ== ms@2.0.0: version "2.0.0" @@ -5220,10 +5203,10 @@ p-try@^2.0.0: resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== -package-name-regex@1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/package-name-regex/-/package-name-regex-1.0.8.tgz#4b8388cace6cc415f462ab4a269583d9a2d9f131" - integrity sha512-g3vB2J62dLqf4m50VM4tJUC4sixw3JB+Igd0cF3P/gJhAvmvsmFEV2eWZTeLbwfkKEWTf3+gwQ2C6JFFRxWHEQ== +package-name-regex@2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/package-name-regex/-/package-name-regex-2.0.5.tgz#5e3548ffe3dba340b9779d28a024bdb4a19f055b" + integrity sha512-F0lX+FBs/Bo7KWY6EuUXj+oarXU0Og1R2Zdg3F/fVcNw3pPQAKFKxUrugno0Ds5NUztlx/gRLnQW9MF+7VTqAw== parent-module@^1.0.0: version "1.0.1" @@ -5763,20 +5746,20 @@ rollup-plugin-inject@^3.0.0: magic-string "^0.25.3" rollup-pluginutils "^2.8.1" -rollup-plugin-license@2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/rollup-plugin-license/-/rollup-plugin-license-2.2.0.tgz#0d19139bbe44dda500fbf15530af07c91949e348" - integrity sha512-xXb1vviEwlJMX+VGUSsglcMA/Rh9d2QzEm94awy4FlnsPqGrXoTYYGOR3UXR6gYIxiJFkr7qmkKF/NXfre/y8g== +rollup-plugin-license@2.6.1: + version "2.6.1" + resolved "https://registry.yarnpkg.com/rollup-plugin-license/-/rollup-plugin-license-2.6.1.tgz#20f15cc37950f362f8eefdc6e3a2e659d0cad9eb" + integrity sha512-JPtlXF0tZKyHztKJsyd3HHmQFSkXei+596Xrb/a/bHIdDhvFuNSKimCKkQpoXyspfeVQk7CNay1MyGpFHAXjvg== dependencies: commenting "1.1.0" - glob "7.1.6" - lodash "4.17.19" + glob "7.2.0" + lodash "4.17.21" magic-string "0.25.7" mkdirp "1.0.4" - moment "2.27.0" - package-name-regex "1.0.8" + moment "2.29.1" + package-name-regex "2.0.5" spdx-expression-validate "2.0.0" - spdx-satisfies "5.0.0" + spdx-satisfies "5.0.1" rollup-plugin-node-polyfills@^0.2.1: version "0.2.1" @@ -6020,10 +6003,10 @@ spdx-ranges@^2.0.0: resolved "https://registry.yarnpkg.com/spdx-ranges/-/spdx-ranges-2.1.1.tgz#87573927ba51e92b3f4550ab60bfc83dd07bac20" integrity sha512-mcdpQFV7UDAgLpXEE/jOMqvK4LBoO0uTQg0uvXUewmEFhpiZx5yJSZITHB8w1ZahKdhfZqP5GPEOKLyEq5p8XA== -spdx-satisfies@5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/spdx-satisfies/-/spdx-satisfies-5.0.0.tgz#d740b8f14caeada36fb307629dee87146970a256" - integrity sha512-/hGhwh20BeGmkA+P/lm06RvXD94JduwNxtx/oX3B5ClPt1/u/m5MCaDNo1tV3Y9laLkQr/NRde63b9lLMhlNfw== +spdx-satisfies@5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/spdx-satisfies/-/spdx-satisfies-5.0.1.tgz#9feeb2524686c08e5f7933c16248d4fdf07ed6a6" + integrity sha512-Nwor6W6gzFp8XX4neaKQ7ChV4wmpSh2sSDemMFSzHxpTw460jxFYeOn+jq4ybnSSw/5sc3pjka9MQPouksQNpw== dependencies: spdx-compare "^1.0.0" spdx-expression-parse "^3.0.0" From 6c0749f4c65c9e36d13d1159bc9623635c7bae52 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 16 Jan 2022 05:08:38 +0000 Subject: [PATCH 003/117] Build(deps-dev): Bump core-js from 3.20.2 to 3.20.3 (#12089) --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 7ca3099e8..9e1424716 100644 --- a/package.json +++ b/package.json @@ -102,7 +102,7 @@ "benchmark": "2.1.4", "browserslist": "4.19.1", "builtin-modules": "3.2.0", - "core-js": "3.20.2", + "core-js": "3.20.3", "cross-env": "7.0.3", "cspell": "5.15.1", "enquirer": "2.3.6", diff --git a/yarn.lock b/yarn.lock index f11b63b8d..b8151543d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2423,10 +2423,10 @@ core-js-compat@^3.18.0, core-js-compat@^3.19.1: browserslist "^4.19.1" semver "7.0.0" -core-js@3.20.2, core-js@^3.16.2, core-js@^3.4.1: - version "3.20.2" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.20.2.tgz#46468d8601eafc8b266bd2dd6bf9dee622779581" - integrity sha512-nuqhq11DcOAbFBV4zCbKeGbKQsUDRqTX0oqx7AttUBuqe3h20ixsE039QHelbL6P4h+9kytVqyEtyZ6gsiwEYw== +core-js@3.20.3, core-js@^3.16.2, core-js@^3.4.1: + version "3.20.3" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.20.3.tgz#c710d0a676e684522f3db4ee84e5e18a9d11d69a" + integrity sha512-vVl8j8ph6tRS3B8qir40H7yw7voy17xL0piAjlbBUsH7WIfzoedL/ZOr1OV9FyZQLWXsayOJyV4tnRyXR85/ag== core-util-is@^1.0.2: version "1.0.3" From b874522c9ddbc66ccc9c7f3f5b76ae12e1bd19c9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 16 Jan 2022 05:08:57 +0000 Subject: [PATCH 004/117] Build(deps-dev): Bump @babel/types from 7.16.7 to 7.16.8 (#12091) --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 9e1424716..4133ca08f 100644 --- a/package.json +++ b/package.json @@ -90,7 +90,7 @@ "devDependencies": { "@babel/core": "7.16.7", "@babel/preset-env": "7.16.7", - "@babel/types": "7.16.7", + "@babel/types": "7.16.8", "@esbuild-plugins/node-globals-polyfill": "0.1.1", "@esbuild-plugins/node-modules-polyfill": "0.1.4", "@glimmer/reference": "0.83.1", diff --git a/yarn.lock b/yarn.lock index b8151543d..8f445b464 100644 --- a/yarn.lock +++ b/yarn.lock @@ -915,10 +915,10 @@ debug "^4.1.0" globals "^11.1.0" -"@babel/types@7.16.7", "@babel/types@^7.0.0", "@babel/types@^7.16.0", "@babel/types@^7.16.7", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.16.7.tgz#4ed19d51f840ed4bd5645be6ce40775fecf03159" - integrity sha512-E8HuV7FO9qLpx6OtoGfUQ2cjIYnbFwvZWYBS+87EwtdMvmUPJSwykpovFB+8insbpF0uJcpr8KMUi64XZntZcg== +"@babel/types@7.16.8", "@babel/types@^7.0.0", "@babel/types@^7.16.0", "@babel/types@^7.16.7", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4": + version "7.16.8" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.16.8.tgz#0ba5da91dd71e0a4e7781a30f22770831062e3c1" + integrity sha512-smN2DQc5s4M7fntyjGtyIPbRJv6wW4rU/94fmYJ7PKQuZkC0qGMHXJbg6sNGt12JmVr4k5YaptI/XtiLJBnmIg== dependencies: "@babel/helper-validator-identifier" "^7.16.7" to-fast-properties "^2.0.0" From c1131fdab88d1bf34808e2e4fd47740f55968bf8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 16 Jan 2022 05:09:12 +0000 Subject: [PATCH 005/117] Build(deps): Bump @babel/parser from 7.16.7 to 7.16.8 (#12092) --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 4133ca08f..6ed668acf 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,7 @@ "dependencies": { "@angular/compiler": "12.2.15", "@babel/code-frame": "7.16.7", - "@babel/parser": "7.16.7", + "@babel/parser": "7.16.8", "@glimmer/syntax": "0.83.1", "@iarna/toml": "2.2.5", "@typescript-eslint/typescript-estree": "5.9.0", diff --git a/yarn.lock b/yarn.lock index 8f445b464..561857743 100644 --- a/yarn.lock +++ b/yarn.lock @@ -274,10 +274,10 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@7.16.7", "@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.7", "@babel/parser@^7.7.2": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.16.7.tgz#d372dda9c89fcec340a82630a9f533f2fe15877e" - integrity sha512-sR4eaSrnM7BV7QPzGfEX5paG/6wrZM3I0HDzfIAK06ESvo9oy3xBuVBxE3MbQaKNhvg8g/ixjMWo2CGpzpHsDA== +"@babel/parser@7.16.8", "@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.7", "@babel/parser@^7.7.2": + version "7.16.8" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.16.8.tgz#61c243a3875f7d0b0962b0543a33ece6ff2f1f17" + integrity sha512-i7jDUfrVBWc+7OKcBzEe5n7fbv3i2fWtxKzzCvOjnzSxMfWMigAhtfJ7qzZNGFNMsCCd67+uz553dYKWXPvCKw== "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.16.7": version "7.16.7" From c8553db9fafc4d0f024a777e83adfffcec63a7ef Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 16 Jan 2022 05:09:43 +0000 Subject: [PATCH 006/117] Build(deps-dev): Bump webpack from 5.65.0 to 5.66.0 in /website (#12093) --- website/package.json | 2 +- website/yarn.lock | 18 +++++++++--------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/website/package.json b/website/package.json index fb3bf0d1e..cb4635719 100644 --- a/website/package.json +++ b/website/package.json @@ -20,7 +20,7 @@ "concurrently": "7.0.0", "docusaurus": "1.14.7", "js-yaml": "4.1.0", - "webpack": "5.65.0", + "webpack": "5.66.0", "webpack-cli": "4.9.1" } } diff --git a/website/yarn.lock b/website/yarn.lock index ea89685e5..8b0b81748 100644 --- a/website/yarn.lock +++ b/website/yarn.lock @@ -4160,10 +4160,10 @@ got@^8.3.1: url-parse-lax "^3.0.0" url-to-options "^1.0.1" -graceful-fs@^4.1.10, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4: - version "4.2.6" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.6.tgz#ff040b2b0853b23c3d31027523706f1885d76bee" - integrity sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ== +graceful-fs@^4.1.10, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4, graceful-fs@^4.2.9: + version "4.2.9" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.9.tgz#041b05df45755e587a24942279b9d113146e1c96" + integrity sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ== graphql-config@^4.1.0: version "4.1.0" @@ -8257,10 +8257,10 @@ webpack-sources@^3.2.2: resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.2.tgz#d88e3741833efec57c4c789b6010db9977545260" integrity sha512-cp5qdmHnu5T8wRg2G3vZZHoJPN14aqQ89SyQ11NpGH5zEMDCclt49rzo+MaRazk7/UeILhAI+/sEtcM+7Fr0nw== -webpack@5.65.0: - version "5.65.0" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.65.0.tgz#ed2891d9145ba1f0d318e4ea4f89c3fa18e6f9be" - integrity sha512-Q5or2o6EKs7+oKmJo7LaqZaMOlDWQse9Tm5l1WAfU/ujLGN5Pb0SqGeVkN/4bpPmEqEP5RnVhiqsOtWtUVwGRw== +webpack@5.66.0: + version "5.66.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.66.0.tgz#789bf36287f407fc92b3e2d6f978ddff1bfc2dbb" + integrity sha512-NJNtGT7IKpGzdW7Iwpn/09OXz9inIkeIQ/ibY6B+MdV1x6+uReqz/5z1L89ezWnpPDWpXF0TY5PCYKQdWVn8Vg== dependencies: "@types/eslint-scope" "^3.7.0" "@types/estree" "^0.0.50" @@ -8276,7 +8276,7 @@ webpack@5.65.0: eslint-scope "5.1.1" events "^3.2.0" glob-to-regexp "^0.4.1" - graceful-fs "^4.2.4" + graceful-fs "^4.2.9" json-parse-better-errors "^1.0.2" loader-runner "^4.2.0" mime-types "^2.1.27" From ae92a2157dc9f08ebb49ffbabca6a28a948929b4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 16 Jan 2022 05:11:12 +0000 Subject: [PATCH 007/117] Build(deps-dev): Bump eslint-plugin-jest from 25.3.4 to 25.7.0 (#12094) --- package.json | 2 +- yarn.lock | 56 +++++----------------------------------------------- 2 files changed, 6 insertions(+), 52 deletions(-) diff --git a/package.json b/package.json index 6ed668acf..f18816689 100644 --- a/package.json +++ b/package.json @@ -114,7 +114,7 @@ "eslint-formatter-friendly": "7.0.0", "eslint-plugin-compat": "4.0.1", "eslint-plugin-import": "2.25.4", - "eslint-plugin-jest": "25.3.4", + "eslint-plugin-jest": "25.7.0", "eslint-plugin-prettier-internal-rules": "2.0.1", "eslint-plugin-react": "7.28.0", "eslint-plugin-regexp": "1.5.1", diff --git a/yarn.lock b/yarn.lock index 561857743..deedfeb62 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1687,7 +1687,7 @@ semver "^7.3.5" tsutils "^3.21.0" -"@typescript-eslint/experimental-utils@5.9.0": +"@typescript-eslint/experimental-utils@5.9.0", "@typescript-eslint/experimental-utils@^5.0.0": version "5.9.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-5.9.0.tgz#652762d37d6565ef07af285021b8347b6c79a827" integrity sha512-ZnLVjBrf26dn7ElyaSKa6uDhqwvAi4jBBmHK1VxuFGPRAxhdi18ubQYSGA7SRiFiES3q9JiBOBHEBStOFkwD2g== @@ -1699,26 +1699,6 @@ eslint-scope "^5.1.1" eslint-utils "^3.0.0" -"@typescript-eslint/experimental-utils@^5.0.0": - version "5.5.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-5.5.0.tgz#3fe2514dc2f3cd95562206e4058435ea51df609e" - integrity sha512-kjWeeVU+4lQ1SLYErRKV5yDXbWDPkpbzTUUlfAUifPYvpX0qZlrcCZ96/6oWxt3QxtK5WVhXz+KsnwW9cIW+3A== - dependencies: - "@types/json-schema" "^7.0.9" - "@typescript-eslint/scope-manager" "5.5.0" - "@typescript-eslint/types" "5.5.0" - "@typescript-eslint/typescript-estree" "5.5.0" - eslint-scope "^5.1.1" - eslint-utils "^3.0.0" - -"@typescript-eslint/scope-manager@5.5.0": - version "5.5.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.5.0.tgz#2b9f3672fa6cddcb4160e7e8b49ef1fd00f83c09" - integrity sha512-0/r656RmRLo7CbN4Mdd+xZyPJ/fPCKhYdU6mnZx+8msAD8nJSP8EyCFkzbd6vNVZzZvWlMYrSNekqGrCBqFQhg== - dependencies: - "@typescript-eslint/types" "5.5.0" - "@typescript-eslint/visitor-keys" "5.5.0" - "@typescript-eslint/scope-manager@5.9.0": version "5.9.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.9.0.tgz#02dfef920290c1dcd7b1999455a3eaae7a1a3117" @@ -1736,29 +1716,11 @@ debug "^4.3.2" tsutils "^3.21.0" -"@typescript-eslint/types@5.5.0": - version "5.5.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.5.0.tgz#fee61ae510e84ed950a53937a2b443e078107003" - integrity sha512-OaYTqkW3GnuHxqsxxJ6KypIKd5Uw7bFiQJZRyNi1jbMJnK3Hc/DR4KwB6KJj6PBRkJJoaNwzMNv9vtTk87JhOg== - "@typescript-eslint/types@5.9.0": version "5.9.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.9.0.tgz#e5619803e39d24a03b3369506df196355736e1a3" integrity sha512-mWp6/b56Umo1rwyGCk8fPIzb9Migo8YOniBGPAQDNC6C52SeyNGN4gsVwQTAR+RS2L5xyajON4hOLwAGwPtUwg== -"@typescript-eslint/typescript-estree@5.5.0": - version "5.5.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.5.0.tgz#12f422698c1636bd0206086bbec9844c54625ebc" - integrity sha512-pVn8btYUiYrjonhMAO0yG8lm7RApzy2L4RC7Td/mC/qFkyf6vRbGyZozoA94+w6D2Y2GRqpMoCWcwx/EUOzyoQ== - dependencies: - "@typescript-eslint/types" "5.5.0" - "@typescript-eslint/visitor-keys" "5.5.0" - debug "^4.3.2" - globby "^11.0.4" - is-glob "^4.0.3" - semver "^7.3.5" - tsutils "^3.21.0" - "@typescript-eslint/typescript-estree@5.9.0": version "5.9.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.9.0.tgz#0e5c6f03f982931abbfbc3c1b9df5fbf92a3490f" @@ -1772,14 +1734,6 @@ semver "^7.3.5" tsutils "^3.21.0" -"@typescript-eslint/visitor-keys@5.5.0": - version "5.5.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.5.0.tgz#4787586897b61f26068a3db5c50b3f5d254f9083" - integrity sha512-4GzJ1kRtsWzHhdM40tv0ZKHNSbkDhF0Woi/TDwVJX6UICwJItvP7ZTXbjTkCdrors7ww0sYe0t+cIKDAJwZ7Kw== - dependencies: - "@typescript-eslint/types" "5.5.0" - eslint-visitor-keys "^3.0.0" - "@typescript-eslint/visitor-keys@5.9.0": version "5.9.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.9.0.tgz#7585677732365e9d27f1878150fab3922784a1a6" @@ -3022,10 +2976,10 @@ eslint-plugin-import@2.25.4: resolve "^1.20.0" tsconfig-paths "^3.12.0" -eslint-plugin-jest@25.3.4: - version "25.3.4" - resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-25.3.4.tgz#2031dfe495be1463330f8b80096ddc91f8e6387f" - integrity sha512-CCnwG71wvabmwq/qkz0HWIqBHQxw6pXB1uqt24dxqJ9WB34pVg49bL1sjXphlJHgTMWGhBjN1PicdyxDxrfP5A== +eslint-plugin-jest@25.7.0: + version "25.7.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-25.7.0.tgz#ff4ac97520b53a96187bad9c9814e7d00de09a6a" + integrity sha512-PWLUEXeeF7C9QGKqvdSbzLOiLTx+bno7/HC9eefePfEb257QFHg7ye3dh80AZVkaa/RQsBB1Q/ORQvg2X7F0NQ== dependencies: "@typescript-eslint/experimental-utils" "^5.0.0" From e22c2a4c2dcd6b86eacc63618777d0a68895ef7f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 16 Jan 2022 05:13:40 +0000 Subject: [PATCH 008/117] Build(deps): Bump fast-glob from 3.2.9 to 3.2.11 (#12100) --- package.json | 2 +- yarn.lock | 19 ++++--------------- 2 files changed, 5 insertions(+), 16 deletions(-) diff --git a/package.json b/package.json index f18816689..35baa04fc 100644 --- a/package.json +++ b/package.json @@ -41,7 +41,7 @@ "escape-string-regexp": "4.0.0", "espree": "9.3.0", "esutils": "2.0.3", - "fast-glob": "3.2.9", + "fast-glob": "3.2.11", "fast-json-stable-stringify": "2.1.0", "find-parent-dir": "0.3.1", "flow-parser": "0.169.0", diff --git a/yarn.lock b/yarn.lock index deedfeb62..71a8363ac 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3224,21 +3224,10 @@ fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== -fast-glob@3.2.9: - version "3.2.9" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.9.tgz#8f55f664b68a236bd29fa165817fc44f2b11faba" - integrity sha512-MBwILhhD92sziIrMQwpqcuGERF+BH99ei2a3XsGJuqEKcSycAL+w0HWokFenZXona+kjFr82Lf71eTxNRC06XQ== - dependencies: - "@nodelib/fs.stat" "^2.0.2" - "@nodelib/fs.walk" "^1.2.3" - glob-parent "^5.1.2" - merge2 "^1.3.0" - micromatch "^4.0.4" - -fast-glob@^3.1.1, fast-glob@^3.2.7: - version "3.2.7" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.7.tgz#fd6cb7a2d7e9aa7a7846111e85a196d6b2f766a1" - integrity sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q== +fast-glob@3.2.11, fast-glob@^3.1.1, fast-glob@^3.2.7: + version "3.2.11" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.11.tgz#a1172ad95ceb8a16e20caa5c5e56480e5129c1d9" + integrity sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew== dependencies: "@nodelib/fs.stat" "^2.0.2" "@nodelib/fs.walk" "^1.2.3" From abf96e387e62553e40540481ed4ab9a08c13b656 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 16 Jan 2022 05:16:17 +0000 Subject: [PATCH 009/117] Build(deps): Bump string-width from 5.0.1 to 5.1.0 in /scripts/release (#12104) --- scripts/release/package.json | 2 +- scripts/release/yarn.lock | 20 ++++++++++---------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/scripts/release/package.json b/scripts/release/package.json index a457103d7..33cd55887 100644 --- a/scripts/release/package.json +++ b/scripts/release/package.json @@ -11,7 +11,7 @@ "node-fetch": "3.1.0", "outdent": "0.8.0", "semver": "7.3.5", - "string-width": "5.0.1" + "string-width": "5.1.0" }, "devDependencies": { "@jest/globals": "27.4.6", diff --git a/scripts/release/yarn.lock b/scripts/release/yarn.lock index c7c1291bd..cac09e004 100644 --- a/scripts/release/yarn.lock +++ b/scripts/release/yarn.lock @@ -1204,6 +1204,11 @@ domexception@^2.0.1: dependencies: webidl-conversions "^5.0.0" +eastasianwidth@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb" + integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== + electron-to-chromium@^1.3.830: version "1.3.830" resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.830.tgz#40e3144204f8ca11b2cebec83cf14c20d3499236" @@ -1529,11 +1534,6 @@ is-fullwidth-code-point@^3.0.0: resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== -is-fullwidth-code-point@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz#fae3167c729e7463f8461ce512b080a49268aa88" - integrity sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ== - is-generator-fn@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" @@ -2521,13 +2521,13 @@ string-length@^4.0.1: char-regex "^1.0.2" strip-ansi "^6.0.0" -string-width@5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.0.1.tgz#0d8158335a6cfd8eb95da9b6b262ce314a036ffd" - integrity sha512-5ohWO/M4//8lErlUUtrFy3b11GtNOuMOU0ysKCDXFcfXuuvUXu95akgj/i8ofmaGdN0hCqyl6uu9i8dS/mQp5g== +string-width@5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.0.tgz#5ab00980cfb29f43e736b113a120a73a0fb569d3" + integrity sha512-7x54QnN21P+XL/v8SuNKvfgsUre6PXpN7mc77N3HlZv+f1SBRGmjxtOud2Z6FZ8DmdkD/IdjCaf9XXbnqmTZGQ== dependencies: + eastasianwidth "^0.2.0" emoji-regex "^9.2.2" - is-fullwidth-code-point "^4.0.0" strip-ansi "^7.0.1" string-width@^4.1.0, string-width@^4.2.0: From b0f1256de848de3e93546a9c55e07a71ebac3e9d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 16 Jan 2022 07:45:28 +0000 Subject: [PATCH 010/117] Build(deps-dev): Bump eslint from 8.6.0 to 8.7.0 (#12106) --- package.json | 2 +- yarn.lock | 34 +++++++++++++--------------------- 2 files changed, 14 insertions(+), 22 deletions(-) diff --git a/package.json b/package.json index 35baa04fc..48905d838 100644 --- a/package.json +++ b/package.json @@ -109,7 +109,7 @@ "esbuild": "0.14.10", "esbuild-plugin-browserslist": "0.4.1", "esbuild-plugin-text-replace": "1.1.3", - "eslint": "8.6.0", + "eslint": "8.7.0", "eslint-config-prettier": "8.3.0", "eslint-formatter-friendly": "7.0.0", "eslint-plugin-compat": "4.0.1", diff --git a/yarn.lock b/yarn.lock index 71a8363ac..223839c66 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2701,7 +2701,7 @@ emojis-list@^3.0.0: resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78" integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q== -enquirer@2.3.6, enquirer@^2.3.5: +enquirer@2.3.6: version "2.3.6" resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d" integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg== @@ -3070,15 +3070,15 @@ eslint-visitor-keys@^2.0.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== -eslint-visitor-keys@^3.0.0, eslint-visitor-keys@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.1.0.tgz#eee4acea891814cda67a7d8812d9647dd0179af2" - integrity sha512-yWJFpu4DtjsWKkt5GeNBBuZMlNcYVs6vRCLoCVEJrTjaSB6LC98gFipNK/erM2Heg/E8mIK+hXG/pJMLK+eRZA== +eslint-visitor-keys@^3.0.0, eslint-visitor-keys@^3.1.0, eslint-visitor-keys@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.2.0.tgz#6fbb166a6798ee5991358bc2daa1ba76cc1254a1" + integrity sha512-IOzT0X126zn7ALX0dwFiUQEdsfzrm4+ISsQS8nukaJXwEyYKRSnEIIDULYg1mCtGp7UUXgfGl7BIolXREQK+XQ== -eslint@8.6.0: - version "8.6.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.6.0.tgz#4318c6a31c5584838c1a2e940c478190f58d558e" - integrity sha512-UvxdOJ7mXFlw7iuHZA4jmzPaUqIw54mZrv+XPYKNbKdLR0et4rf60lIZUU9kiNtnzzMzGWxMV+tQ7uG7JG8DPw== +eslint@8.7.0: + version "8.7.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.7.0.tgz#22e036842ee5b7cf87b03fe237731675b4d3633c" + integrity sha512-ifHYzkBGrzS2iDU7KjhCAVMGCvF6M3Xfs8X8b37cgrUlDt6bWRTpRh6T/gtSXv1HJ/BUGgmjvNvOEGu85Iif7w== dependencies: "@eslint/eslintrc" "^1.0.5" "@humanwhocodes/config-array" "^0.9.2" @@ -3087,11 +3087,10 @@ eslint@8.6.0: cross-spawn "^7.0.2" debug "^4.3.2" doctrine "^3.0.0" - enquirer "^2.3.5" escape-string-regexp "^4.0.0" eslint-scope "^7.1.0" eslint-utils "^3.0.0" - eslint-visitor-keys "^3.1.0" + eslint-visitor-keys "^3.2.0" espree "^9.3.0" esquery "^1.4.0" esutils "^2.0.2" @@ -3100,7 +3099,7 @@ eslint@8.6.0: functional-red-black-tree "^1.0.1" glob-parent "^6.0.1" globals "^13.6.0" - ignore "^4.0.6" + ignore "^5.2.0" import-fresh "^3.0.0" imurmurhash "^0.1.4" is-glob "^4.0.0" @@ -3111,9 +3110,7 @@ eslint@8.6.0: minimatch "^3.0.4" natural-compare "^1.4.0" optionator "^0.9.1" - progress "^2.0.0" regexpp "^3.2.0" - semver "^7.2.1" strip-ansi "^6.0.1" strip-json-comments "^3.1.0" text-table "^0.2.0" @@ -3616,7 +3613,7 @@ iconv-lite@0.4.24: dependencies: safer-buffer ">= 2.1.2 < 3" -ignore@5.2.0, ignore@^5.1.4, ignore@^5.1.8: +ignore@5.2.0, ignore@^5.1.4, ignore@^5.1.8, ignore@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a" integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ== @@ -5396,11 +5393,6 @@ pretty-format@^27.4.6: ansi-styles "^5.0.0" react-is "^17.0.1" -progress@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" - integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== - prompts@^2.0.1: version "2.4.2" resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.2.tgz#7b57e73b3a48029ad10ebd44f74b01722a4cb069" @@ -5782,7 +5774,7 @@ semver@7.0.0: resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== -semver@7.3.5, semver@^7.2.1, semver@^7.3.2, semver@^7.3.5: +semver@7.3.5, semver@^7.3.2, semver@^7.3.5: version "7.3.5" resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== From ac317e9ece0f0e6afa62e7a9636b1d23f44d6e4e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 16 Jan 2022 07:55:42 +0000 Subject: [PATCH 011/117] Build(deps-dev): Bump @babel/preset-env from 7.16.7 to 7.16.8 (#12096) --- package.json | 2 +- yarn.lock | 155 ++++++++++++++++++++++++++++++++------------------- 2 files changed, 98 insertions(+), 59 deletions(-) diff --git a/package.json b/package.json index 48905d838..336daf511 100644 --- a/package.json +++ b/package.json @@ -89,7 +89,7 @@ }, "devDependencies": { "@babel/core": "7.16.7", - "@babel/preset-env": "7.16.7", + "@babel/preset-env": "7.16.8", "@babel/types": "7.16.8", "@esbuild-plugins/node-globals-polyfill": "0.1.1", "@esbuild-plugins/node-modules-polyfill": "0.1.4", diff --git a/yarn.lock b/yarn.lock index 223839c66..cf8fe4d75 100644 --- a/yarn.lock +++ b/yarn.lock @@ -23,10 +23,10 @@ dependencies: "@babel/highlight" "^7.16.7" -"@babel/compat-data@^7.13.11", "@babel/compat-data@^7.16.4": - version "7.16.4" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.16.4.tgz#081d6bbc336ec5c2435c6346b2ae1fb98b5ac68e" - integrity sha512-1o/jo7D+kC9ZjHX5v+EHrdjl3PhxMrLSOTGsOdHJ+KL8HCaEK6ehrVL2RS6oHDZp+L7xLirLrPmQtEng769J/Q== +"@babel/compat-data@^7.13.11", "@babel/compat-data@^7.16.4", "@babel/compat-data@^7.16.8": + version "7.16.8" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.16.8.tgz#31560f9f29fdf1868de8cb55049538a1b9732a60" + integrity sha512-m7OkX0IdKLKPpBlJtF561YJal5y/jyI5fNfWbPxh2D/nbzzGI4qRyrD8xO2jB24u7l+5I2a43scCG2IrfjC50Q== "@babel/core@7.16.7", "@babel/core@^7.1.0", "@babel/core@^7.12.3", "@babel/core@^7.7.2", "@babel/core@^7.8.0": version "7.16.7" @@ -58,6 +58,15 @@ jsesc "^2.5.1" source-map "^0.5.0" +"@babel/generator@^7.16.8": + version "7.16.8" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.16.8.tgz#359d44d966b8cd059d543250ce79596f792f2ebe" + integrity sha512-1ojZwE9+lOXzcWdWmO6TbUzDfqLD39CmEhN8+2cX9XkDo5yW1OpgfejfliysR2AWLpMamTiOiAp/mtroaymhpw== + dependencies: + "@babel/types" "^7.16.8" + jsesc "^2.5.1" + source-map "^0.5.0" + "@babel/helper-annotate-as-pure@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz#bb2339a7534a9c128e3102024c60760a3a7f3862" @@ -118,6 +127,20 @@ resolve "^1.14.2" semver "^6.1.2" +"@babel/helper-define-polyfill-provider@^0.3.1": + version "0.3.1" + resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.1.tgz#52411b445bdb2e676869e5a74960d2d3826d2665" + integrity sha512-J9hGMpJQmtWmj46B3kBHmL38UhJGhYX7eqkcq+2gsstyYt341HmPeWspihX43yVRA0mS+8GGk2Gckc7bY/HCmA== + dependencies: + "@babel/helper-compilation-targets" "^7.13.0" + "@babel/helper-module-imports" "^7.12.13" + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/traverse" "^7.13.0" + debug "^4.1.1" + lodash.debounce "^4.0.8" + resolve "^1.14.2" + semver "^6.1.2" + "@babel/helper-environment-visitor@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz#ff484094a839bde9d89cd63cba017d7aae80ecd7" @@ -195,14 +218,14 @@ resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz#aa3a8ab4c3cceff8e65eb9e73d87dc4ff320b2f5" integrity sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA== -"@babel/helper-remap-async-to-generator@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.7.tgz#5ce2416990d55eb6e099128338848ae8ffa58a9a" - integrity sha512-C3o117GnP/j/N2OWo+oepeWbFEKRfNaay+F1Eo5Mj3A1SRjyx+qaFhm23nlipub7Cjv2azdUUiDH+VlpdwUFRg== +"@babel/helper-remap-async-to-generator@^7.16.8": + version "7.16.8" + resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.8.tgz#29ffaade68a367e2ed09c90901986918d25e57e3" + integrity sha512-fm0gH7Flb8H51LqJHy3HJ3wnE1+qtYR2A99K06ahwrawLdOFsCEWjZOrYricXJHoPSudNKxrMBUPEIPxiIIvBw== dependencies: "@babel/helper-annotate-as-pure" "^7.16.7" - "@babel/helper-wrap-function" "^7.16.7" - "@babel/types" "^7.16.7" + "@babel/helper-wrap-function" "^7.16.8" + "@babel/types" "^7.16.8" "@babel/helper-replace-supers@^7.16.7": version "7.16.7" @@ -246,15 +269,15 @@ resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz#b203ce62ce5fe153899b617c08957de860de4d23" integrity sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ== -"@babel/helper-wrap-function@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.16.7.tgz#8ddf9eaa770ed43de4bc3687f3f3b0d6d5ecf014" - integrity sha512-7a9sABeVwcunnztZZ7WTgSw6jVYLzM1wua0Z4HIXm9S3/HC96WKQTkFgGEaj5W06SHHihPJ6Le6HzS5cGOQMNw== +"@babel/helper-wrap-function@^7.16.8": + version "7.16.8" + resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.16.8.tgz#58afda087c4cd235de92f7ceedebca2c41274200" + integrity sha512-8RpyRVIAW1RcDDGTA+GpPAwV22wXCfKOoM9bet6TLkGIFTkRQSkH1nMQ5Yet4MpoXe1ZwHPVtNasc2w0uZMqnw== dependencies: "@babel/helper-function-name" "^7.16.7" "@babel/template" "^7.16.7" - "@babel/traverse" "^7.16.7" - "@babel/types" "^7.16.7" + "@babel/traverse" "^7.16.8" + "@babel/types" "^7.16.8" "@babel/helpers@^7.16.7": version "7.16.7" @@ -274,7 +297,7 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@7.16.8", "@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.7", "@babel/parser@^7.7.2": +"@babel/parser@7.16.8", "@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.7", "@babel/parser@^7.16.8", "@babel/parser@^7.7.2": version "7.16.8" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.16.8.tgz#61c243a3875f7d0b0962b0543a33ece6ff2f1f17" integrity sha512-i7jDUfrVBWc+7OKcBzEe5n7fbv3i2fWtxKzzCvOjnzSxMfWMigAhtfJ7qzZNGFNMsCCd67+uz553dYKWXPvCKw== @@ -295,13 +318,13 @@ "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" "@babel/plugin-proposal-optional-chaining" "^7.16.7" -"@babel/plugin-proposal-async-generator-functions@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.7.tgz#739adc1212a9e4892de440cd7dfffb06172df78d" - integrity sha512-TTXBT3A5c11eqRzaC6beO6rlFT3Mo9C2e8eB44tTr52ESXSK2CIc2fOp1ynpAwQA8HhBMho+WXhMHWlAe3xkpw== +"@babel/plugin-proposal-async-generator-functions@^7.16.8": + version "7.16.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.8.tgz#3bdd1ebbe620804ea9416706cd67d60787504bc8" + integrity sha512-71YHIvMuiuqWJQkebWJtdhQTfd4Q4mF76q2IX37uZPkG9+olBxsX+rH1vkhFto4UeJZ9dPY2s+mDvhDm1u2BGQ== dependencies: "@babel/helper-plugin-utils" "^7.16.7" - "@babel/helper-remap-async-to-generator" "^7.16.7" + "@babel/helper-remap-async-to-generator" "^7.16.8" "@babel/plugin-syntax-async-generators" "^7.8.4" "@babel/plugin-proposal-class-properties@^7.16.7": @@ -549,14 +572,14 @@ dependencies: "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-async-to-generator@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.7.tgz#646e1262ac341b587ff5449844d4492dbb10ac4b" - integrity sha512-pFEfjnK4DfXCfAlA5I98BYdDJD8NltMzx19gt6DAmfE+2lXRfPUoa0/5SUjT4+TDE1W/rcxU/1lgN55vpAjjdg== +"@babel/plugin-transform-async-to-generator@^7.16.8": + version "7.16.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.8.tgz#b83dff4b970cf41f1b819f8b49cc0cfbaa53a808" + integrity sha512-MtmUmTJQHCnyJVrScNzNlofQJ3dLFuobYn3mwOTKHnSCMtbNsqvF71GQmJfFjdrXSsAA7iysFmYWw4bXZ20hOg== dependencies: "@babel/helper-module-imports" "^7.16.7" "@babel/helper-plugin-utils" "^7.16.7" - "@babel/helper-remap-async-to-generator" "^7.16.7" + "@babel/helper-remap-async-to-generator" "^7.16.8" "@babel/plugin-transform-block-scoped-functions@^7.16.7": version "7.16.7" @@ -662,10 +685,10 @@ "@babel/helper-plugin-utils" "^7.16.7" babel-plugin-dynamic-import-node "^2.3.3" -"@babel/plugin-transform-modules-commonjs@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.16.7.tgz#fd119e6a433c527d368425b45df361e1e95d3c1a" - integrity sha512-h2RP2kE7He1ZWKyAlanMZrAbdv+Acw1pA8dQZhE025WJZE2z0xzFADAinXA9fxd5bn7JnM+SdOGcndGx1ARs9w== +"@babel/plugin-transform-modules-commonjs@^7.16.8": + version "7.16.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.16.8.tgz#cdee19aae887b16b9d331009aa9a219af7c86afe" + integrity sha512-oflKPvsLT2+uKQopesJt3ApiaIS2HW+hzHFcwRNtyDGieAeC/dIHZX8buJQ2J2X1rxGPy4eRcUijm3qcSPjYcA== dependencies: "@babel/helper-module-transforms" "^7.16.7" "@babel/helper-plugin-utils" "^7.16.7" @@ -691,10 +714,10 @@ "@babel/helper-module-transforms" "^7.16.7" "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-named-capturing-groups-regex@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.16.7.tgz#749d90d94e73cf62c60a0cc8d6b94d29305a81f2" - integrity sha512-kFy35VwmwIQwCjwrAQhl3+c/kr292i4KdLPKp5lPH03Ltc51qnFlIADoyPxc/6Naz3ok3WdYKg+KK6AH+D4utg== +"@babel/plugin-transform-named-capturing-groups-regex@^7.16.8": + version "7.16.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.16.8.tgz#7f860e0e40d844a02c9dcf9d84965e7dfd666252" + integrity sha512-j3Jw+n5PvpmhRR+mrgIh04puSANCk/T/UA3m3P1MjJkhlK906+ApHhDIqBQDdOgL/r1UYpz4GNclTXxyZrYGSw== dependencies: "@babel/helper-create-regexp-features-plugin" "^7.16.7" @@ -792,18 +815,18 @@ "@babel/helper-create-regexp-features-plugin" "^7.16.7" "@babel/helper-plugin-utils" "^7.16.7" -"@babel/preset-env@7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.16.7.tgz#c491088856d0b3177822a2bf06cb74d76327aa56" - integrity sha512-urX3Cee4aOZbRWOSa3mKPk0aqDikfILuo+C7qq7HY0InylGNZ1fekq9jmlr3pLWwZHF4yD7heQooc2Pow2KMyQ== +"@babel/preset-env@7.16.8": + version "7.16.8" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.16.8.tgz#e682fa0bcd1cf49621d64a8956318ddfb9a05af9" + integrity sha512-9rNKgVCdwHb3z1IlbMyft6yIXIeP3xz6vWvGaLHrJThuEIqWfHb0DNBH9VuTgnDfdbUDhkmkvMZS/YMCtP7Elg== dependencies: - "@babel/compat-data" "^7.16.4" + "@babel/compat-data" "^7.16.8" "@babel/helper-compilation-targets" "^7.16.7" "@babel/helper-plugin-utils" "^7.16.7" "@babel/helper-validator-option" "^7.16.7" "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.16.7" "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.16.7" - "@babel/plugin-proposal-async-generator-functions" "^7.16.7" + "@babel/plugin-proposal-async-generator-functions" "^7.16.8" "@babel/plugin-proposal-class-properties" "^7.16.7" "@babel/plugin-proposal-class-static-block" "^7.16.7" "@babel/plugin-proposal-dynamic-import" "^7.16.7" @@ -833,7 +856,7 @@ "@babel/plugin-syntax-private-property-in-object" "^7.14.5" "@babel/plugin-syntax-top-level-await" "^7.14.5" "@babel/plugin-transform-arrow-functions" "^7.16.7" - "@babel/plugin-transform-async-to-generator" "^7.16.7" + "@babel/plugin-transform-async-to-generator" "^7.16.8" "@babel/plugin-transform-block-scoped-functions" "^7.16.7" "@babel/plugin-transform-block-scoping" "^7.16.7" "@babel/plugin-transform-classes" "^7.16.7" @@ -847,10 +870,10 @@ "@babel/plugin-transform-literals" "^7.16.7" "@babel/plugin-transform-member-expression-literals" "^7.16.7" "@babel/plugin-transform-modules-amd" "^7.16.7" - "@babel/plugin-transform-modules-commonjs" "^7.16.7" + "@babel/plugin-transform-modules-commonjs" "^7.16.8" "@babel/plugin-transform-modules-systemjs" "^7.16.7" "@babel/plugin-transform-modules-umd" "^7.16.7" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.16.7" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.16.8" "@babel/plugin-transform-new-target" "^7.16.7" "@babel/plugin-transform-object-super" "^7.16.7" "@babel/plugin-transform-parameters" "^7.16.7" @@ -865,11 +888,11 @@ "@babel/plugin-transform-unicode-escapes" "^7.16.7" "@babel/plugin-transform-unicode-regex" "^7.16.7" "@babel/preset-modules" "^0.1.5" - "@babel/types" "^7.16.7" + "@babel/types" "^7.16.8" babel-plugin-polyfill-corejs2 "^0.3.0" - babel-plugin-polyfill-corejs3 "^0.4.0" + babel-plugin-polyfill-corejs3 "^0.5.0" babel-plugin-polyfill-regenerator "^0.3.0" - core-js-compat "^3.19.1" + core-js-compat "^3.20.2" semver "^6.3.0" "@babel/preset-modules@^0.1.5": @@ -915,7 +938,23 @@ debug "^4.1.0" globals "^11.1.0" -"@babel/types@7.16.8", "@babel/types@^7.0.0", "@babel/types@^7.16.0", "@babel/types@^7.16.7", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4": +"@babel/traverse@^7.16.8": + version "7.16.8" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.16.8.tgz#bab2f2b09a5fe8a8d9cad22cbfe3ba1d126fef9c" + integrity sha512-xe+H7JlvKsDQwXRsBhSnq1/+9c+LlQcCK3Tn/l5sbx02HYns/cn7ibp9+RV1sIUqu7hKg91NWsgHurO9dowITQ== + dependencies: + "@babel/code-frame" "^7.16.7" + "@babel/generator" "^7.16.8" + "@babel/helper-environment-visitor" "^7.16.7" + "@babel/helper-function-name" "^7.16.7" + "@babel/helper-hoist-variables" "^7.16.7" + "@babel/helper-split-export-declaration" "^7.16.7" + "@babel/parser" "^7.16.8" + "@babel/types" "^7.16.8" + debug "^4.1.0" + globals "^11.1.0" + +"@babel/types@7.16.8", "@babel/types@^7.0.0", "@babel/types@^7.16.0", "@babel/types@^7.16.7", "@babel/types@^7.16.8", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4": version "7.16.8" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.16.8.tgz#0ba5da91dd71e0a4e7781a30f22770831062e3c1" integrity sha512-smN2DQc5s4M7fntyjGtyIPbRJv6wW4rU/94fmYJ7PKQuZkC0qGMHXJbg6sNGt12JmVr4k5YaptI/XtiLJBnmIg== @@ -2008,13 +2047,13 @@ babel-plugin-polyfill-corejs2@^0.3.0: "@babel/helper-define-polyfill-provider" "^0.3.0" semver "^6.1.1" -babel-plugin-polyfill-corejs3@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.4.0.tgz#0b571f4cf3d67f911512f5c04842a7b8e8263087" - integrity sha512-YxFreYwUfglYKdLUGvIF2nJEsGwj+RhWSX/ije3D2vQPOXuyMLMtg/cCGMDpOA7Nd+MwlNdnGODbd2EwUZPlsw== +babel-plugin-polyfill-corejs3@^0.5.0: + version "0.5.1" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.1.tgz#d66183bf10976ea677f4149a7fcc4d8df43d4060" + integrity sha512-TihqEe4sQcb/QcPJvxe94/9RZuLQuF1+To4WqQcRvc+3J3gLCPIPgDKzGLG6zmQLfH3nn25heRuDNkS2KR4I8A== dependencies: - "@babel/helper-define-polyfill-provider" "^0.3.0" - core-js-compat "^3.18.0" + "@babel/helper-define-polyfill-provider" "^0.3.1" + core-js-compat "^3.20.0" babel-plugin-polyfill-regenerator@^0.3.0: version "0.3.0" @@ -2369,10 +2408,10 @@ convert-source-map@^1.4.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0: dependencies: safe-buffer "~5.1.1" -core-js-compat@^3.18.0, core-js-compat@^3.19.1: - version "3.20.2" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.20.2.tgz#d1ff6936c7330959b46b2e08b122a8b14e26140b" - integrity sha512-qZEzVQ+5Qh6cROaTPFLNS4lkvQ6mBzE3R6A6EEpssj7Zr2egMHgsy4XapdifqJDGC9CBiNv7s+ejI96rLNQFdg== +core-js-compat@^3.20.0, core-js-compat@^3.20.2: + version "3.20.3" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.20.3.tgz#d71f85f94eb5e4bea3407412e549daa083d23bd6" + integrity sha512-c8M5h0IkNZ+I92QhIpuSijOxGAcj3lgpsWdkCqmUTZNwidujF4r3pi6x1DCN+Vcs5qTS2XWWMfWSuCqyupX8gw== dependencies: browserslist "^4.19.1" semver "7.0.0" From bd8a74b13b1e3df332c624ff6117c7cd74cd71eb Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 16 Jan 2022 08:03:04 +0000 Subject: [PATCH 012/117] Build(deps-dev): Bump cspell from 5.15.1 to 5.15.2 (#12098) --- package.json | 2 +- yarn.lock | 82 ++++++++++++++++++++++++++-------------------------- 2 files changed, 42 insertions(+), 42 deletions(-) diff --git a/package.json b/package.json index 336daf511..4b8541d61 100644 --- a/package.json +++ b/package.json @@ -104,7 +104,7 @@ "builtin-modules": "3.2.0", "core-js": "3.20.3", "cross-env": "7.0.3", - "cspell": "5.15.1", + "cspell": "5.15.2", "enquirer": "2.3.6", "esbuild": "0.14.10", "esbuild-plugin-browserslist": "0.4.1", diff --git a/yarn.lock b/yarn.lock index cf8fe4d75..2ab6ad798 100644 --- a/yarn.lock +++ b/yarn.lock @@ -967,10 +967,10 @@ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@cspell/cspell-bundled-dicts@^5.15.1": - version "5.15.1" - resolved "https://registry.yarnpkg.com/@cspell/cspell-bundled-dicts/-/cspell-bundled-dicts-5.15.1.tgz#c08a60cf63a10c566f79731b9d6a369a7c2d8f73" - integrity sha512-OYVO7E37TOl/sM96MovfnSyUg7DXxC5St6pP/Rjqe8PaRedcGkrygDo1v7Cj0WYzGROlegFMk6h2BEnAfGFt8w== +"@cspell/cspell-bundled-dicts@^5.15.2": + version "5.15.2" + resolved "https://registry.yarnpkg.com/@cspell/cspell-bundled-dicts/-/cspell-bundled-dicts-5.15.2.tgz#9cc960084f9e0a9dc07521fd83a1bac4deba9168" + integrity sha512-pzcEwzzqSiwuvpmLaePxI/J3fvrHxvpcKQL2LWbJyI+dvKBP7hW6EJ9rDi2tPbNWN1cabSJB/NCq16ZfJ1P0aA== dependencies: "@cspell/dict-ada" "^1.1.2" "@cspell/dict-aws" "^1.0.14" @@ -1010,10 +1010,10 @@ "@cspell/dict-typescript" "^1.0.19" "@cspell/dict-vue" "^2.0.1" -"@cspell/cspell-types@^5.15.1": - version "5.15.1" - resolved "https://registry.yarnpkg.com/@cspell/cspell-types/-/cspell-types-5.15.1.tgz#9ef81c2f704aae18ba91f9e9967502711b529f54" - integrity sha512-rZCJnTQ5O66c5s67nKWw5imvIcs9iHLnU7WNF0AyTGGEP+kpYK/lRLGtU/GICoxTY1V6zjOR6Qow9xmSsNG6zQ== +"@cspell/cspell-types@^5.15.2": + version "5.15.2" + resolved "https://registry.yarnpkg.com/@cspell/cspell-types/-/cspell-types-5.15.2.tgz#e3c48a5d4acc78c28076a803eb7064a540f3c7b8" + integrity sha512-3ec/rmAIfkxIdOC4lcqBJaGyUX8V2qapzNCntFURo727Q77EPXDFMiWmSDEyD4Xud+Sjt95ktjg5vKgL7Xf0PA== "@cspell/dict-ada@^1.1.2": version "1.1.2" @@ -2469,40 +2469,40 @@ crypto-random-string@^2.0.0: resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5" integrity sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA== -cspell-gitignore@^5.15.1: - version "5.15.1" - resolved "https://registry.yarnpkg.com/cspell-gitignore/-/cspell-gitignore-5.15.1.tgz#3a940958106690d4d73b729361812be3e84a8d49" - integrity sha512-Bfe1LR85WfWcF5pUGv2hozecudWYrwumyKJuzIFvle6ndxMVy62f6Gdfr5Q28KBuSkj6wpvDkPgFq/ad44Q2iA== +cspell-gitignore@^5.15.2: + version "5.15.2" + resolved "https://registry.yarnpkg.com/cspell-gitignore/-/cspell-gitignore-5.15.2.tgz#fa9f62d2cb1e95f056a82eec779e48815e46e856" + integrity sha512-st2V3rNBZzmuuUVywvEkAyhFD4TLMihHjTRauc5tCLR/zvveTjdXmgGHOSEn6afjuUfB8yRk4OdtK787EMaJhA== dependencies: - cspell-glob "^5.15.1" + cspell-glob "^5.15.2" find-up "^5.0.0" -cspell-glob@^5.15.1: - version "5.15.1" - resolved "https://registry.yarnpkg.com/cspell-glob/-/cspell-glob-5.15.1.tgz#978b60620d01ab3866550d0e216fa951951d1ae3" - integrity sha512-Q03f8/BNVba/r8wDcII5XSE/PaJrlaUSE621vPaupM4AnMEt7piklLTT1KR921el4lwNThzpr1nIaSut4G5T1Q== +cspell-glob@^5.15.2: + version "5.15.2" + resolved "https://registry.yarnpkg.com/cspell-glob/-/cspell-glob-5.15.2.tgz#3f2ac3fabbeb04dfd4a1ed45c0ec5f978cb45349" + integrity sha512-lX14VwKOO+6CMHVobEf6br5YnIXD+MxpX/MdZPv34OsdOyQol4/gJ49MXN0suD+nTqsX0HH93B0osHfTDAXa6Q== dependencies: micromatch "^4.0.4" -cspell-io@^5.15.1: - version "5.15.1" - resolved "https://registry.yarnpkg.com/cspell-io/-/cspell-io-5.15.1.tgz#f62465250b73d37a5d135d5b152f44f94828c171" - integrity sha512-JkBDZFQcuE/ve9pqpjMkUVKQgOJLWlGvvOm8GOCI9sG9dFE+eZVW5MHCS1VuGPGKfALh+xhmtcXB1+Y4MdYz4A== +cspell-io@^5.15.2: + version "5.15.2" + resolved "https://registry.yarnpkg.com/cspell-io/-/cspell-io-5.15.2.tgz#38b1f515844bc9d3dc410af10adac7ce653acaa7" + integrity sha512-wqSO7RDtDKcnTvuew2kOVykxAki8xVTZWNzRJJTA0myyvNTkA9TbXS9EXR4L7BuEUfUjI8mKscmpkmvg+eRMPg== -cspell-lib@^5.15.1: - version "5.15.1" - resolved "https://registry.yarnpkg.com/cspell-lib/-/cspell-lib-5.15.1.tgz#4c1572b4860b7934b5c235fe5be12522c1501258" - integrity sha512-8x76yse70CT5+lk9Jwwt6wuBlTiflWouhcj1zUONxzJM7kstgNUdTNBoQRDoCjj/uGOQSKIwa4YGjV29vMzGAA== +cspell-lib@^5.15.2: + version "5.15.2" + resolved "https://registry.yarnpkg.com/cspell-lib/-/cspell-lib-5.15.2.tgz#3047e04427cab4558230dc8106567ebebbc213b0" + integrity sha512-pSBVw8xVy/cd6W3Jx+0N4qyKQyEoN+LfqrCeA8fCpyzb0XTI50dISVghNCUHgmUuleXTZP3DCBC4YD9ZdHmwbA== dependencies: - "@cspell/cspell-bundled-dicts" "^5.15.1" - "@cspell/cspell-types" "^5.15.1" + "@cspell/cspell-bundled-dicts" "^5.15.2" + "@cspell/cspell-types" "^5.15.2" clear-module "^4.1.2" comment-json "^4.1.1" configstore "^5.0.1" cosmiconfig "^7.0.1" - cspell-glob "^5.15.1" - cspell-io "^5.15.1" - cspell-trie-lib "^5.15.1" + cspell-glob "^5.15.2" + cspell-io "^5.15.2" + cspell-trie-lib "^5.15.2" find-up "^5.0.0" fs-extra "^10.0.0" gensequence "^3.1.1" @@ -2511,25 +2511,25 @@ cspell-lib@^5.15.1: resolve-global "^1.0.0" vscode-uri "^3.0.3" -cspell-trie-lib@^5.15.1: - version "5.15.1" - resolved "https://registry.yarnpkg.com/cspell-trie-lib/-/cspell-trie-lib-5.15.1.tgz#a8f9cd4177ede6878579362c5b6eb2dd83f36372" - integrity sha512-+vQeVXppreAMW/EjmYX5PUokzLgBcV31Wbj9OgJG0afxCKSXMWH6F3oTNLTCjqUx+WEPHo7Im5nXAE35y7xQwA== +cspell-trie-lib@^5.15.2: + version "5.15.2" + resolved "https://registry.yarnpkg.com/cspell-trie-lib/-/cspell-trie-lib-5.15.2.tgz#ed0bb9902d4bfd98d4e928afb325d79aa17df44d" + integrity sha512-AKdzxwGxuuNzph7eO6nm89jyIDrbCnPVUCFDq2sSpNrn6sptmifogMvrZTHzVwFLXpusfRLpSene80A2wr5OxA== dependencies: fs-extra "^10.0.0" gensequence "^3.1.1" -cspell@5.15.1: - version "5.15.1" - resolved "https://registry.yarnpkg.com/cspell/-/cspell-5.15.1.tgz#678af613d122e5c97b9dc24824ba637a29b2da7d" - integrity sha512-OIH7NL4XjKH1h3JMIQTKPezQOSd077mrDRHo6EW/t3on840XxEoKBvxBrxhKzOctevOk7HtszsubwMFTCFV5+A== +cspell@5.15.2: + version "5.15.2" + resolved "https://registry.yarnpkg.com/cspell/-/cspell-5.15.2.tgz#16ee571d3e4316085ffe39c282e360909493198b" + integrity sha512-q/UWqkDMCB83uwb6LgDr7j/79RxeWbDY28J2kqktmAOk2Th4+ZuR7/IfxHOBUFvUYtbPxp1p8iz8v57G6U97Jg== dependencies: chalk "^4.1.2" commander "^8.3.0" comment-json "^4.1.1" - cspell-gitignore "^5.15.1" - cspell-glob "^5.15.1" - cspell-lib "^5.15.1" + cspell-gitignore "^5.15.2" + cspell-glob "^5.15.2" + cspell-lib "^5.15.2" fast-json-stable-stringify "^2.1.0" file-entry-cache "^6.0.1" fs-extra "^10.0.0" From f6fa479e0bf72d1b1042bddd49218454200b9f4e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 16 Jan 2022 08:07:12 +0000 Subject: [PATCH 013/117] Build(deps-dev): Bump @typescript-eslint/eslint-plugin (#12095) --- package.json | 2 +- yarn.lock | 76 +++++++++++++++++++++++++++++++++++----------------- 2 files changed, 52 insertions(+), 26 deletions(-) diff --git a/package.json b/package.json index 4b8541d61..bee350339 100644 --- a/package.json +++ b/package.json @@ -97,7 +97,7 @@ "@types/estree": "0.0.50", "@types/jest": "27.4.0", "babel-jest": "27.4.6", - "@typescript-eslint/eslint-plugin": "5.9.0", + "@typescript-eslint/eslint-plugin": "5.9.1", "babel-loader": "8.2.3", "benchmark": "2.1.4", "browserslist": "4.19.1", diff --git a/yarn.lock b/yarn.lock index 2ab6ad798..d263b9b31 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1711,14 +1711,14 @@ dependencies: "@types/yargs-parser" "*" -"@typescript-eslint/eslint-plugin@5.9.0": - version "5.9.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.9.0.tgz#382182d5cb062f52aac54434cfc47c28898c8006" - integrity sha512-qT4lr2jysDQBQOPsCCvpPUZHjbABoTJW8V9ZzIYKHMfppJtpdtzszDYsldwhFxlhvrp7aCHeXD1Lb9M1zhwWwQ== +"@typescript-eslint/eslint-plugin@5.9.1": + version "5.9.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.9.1.tgz#e5a86d7e1f9dc0b3df1e6d94feaf20dd838d066c" + integrity sha512-Xv9tkFlyD4MQGpJgTo6wqDqGvHIRmRgah/2Sjz1PUnJTawjHWIwBivUE9x0QtU2WVii9baYgavo/bHjrZJkqTw== dependencies: - "@typescript-eslint/experimental-utils" "5.9.0" - "@typescript-eslint/scope-manager" "5.9.0" - "@typescript-eslint/type-utils" "5.9.0" + "@typescript-eslint/experimental-utils" "5.9.1" + "@typescript-eslint/scope-manager" "5.9.1" + "@typescript-eslint/type-utils" "5.9.1" debug "^4.3.2" functional-red-black-tree "^1.0.1" ignore "^5.1.8" @@ -1726,32 +1726,32 @@ semver "^7.3.5" tsutils "^3.21.0" -"@typescript-eslint/experimental-utils@5.9.0", "@typescript-eslint/experimental-utils@^5.0.0": - version "5.9.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-5.9.0.tgz#652762d37d6565ef07af285021b8347b6c79a827" - integrity sha512-ZnLVjBrf26dn7ElyaSKa6uDhqwvAi4jBBmHK1VxuFGPRAxhdi18ubQYSGA7SRiFiES3q9JiBOBHEBStOFkwD2g== +"@typescript-eslint/experimental-utils@5.9.1", "@typescript-eslint/experimental-utils@^5.0.0": + version "5.9.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-5.9.1.tgz#8c407c4dd5ffe522329df6e4c9c2b52206d5f7f1" + integrity sha512-cb1Njyss0mLL9kLXgS/eEY53SZQ9sT519wpX3i+U457l2UXRDuo87hgKfgRazmu9/tQb0x2sr3Y0yrU+Zz0y+w== dependencies: "@types/json-schema" "^7.0.9" - "@typescript-eslint/scope-manager" "5.9.0" - "@typescript-eslint/types" "5.9.0" - "@typescript-eslint/typescript-estree" "5.9.0" + "@typescript-eslint/scope-manager" "5.9.1" + "@typescript-eslint/types" "5.9.1" + "@typescript-eslint/typescript-estree" "5.9.1" eslint-scope "^5.1.1" eslint-utils "^3.0.0" -"@typescript-eslint/scope-manager@5.9.0": - version "5.9.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.9.0.tgz#02dfef920290c1dcd7b1999455a3eaae7a1a3117" - integrity sha512-DKtdIL49Qxk2a8icF6whRk7uThuVz4A6TCXfjdJSwOsf+9ree7vgQWcx0KOyCdk0i9ETX666p4aMhrRhxhUkyg== +"@typescript-eslint/scope-manager@5.9.1": + version "5.9.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.9.1.tgz#6c27be89f1a9409f284d95dfa08ee3400166fe69" + integrity sha512-8BwvWkho3B/UOtzRyW07ffJXPaLSUKFBjpq8aqsRvu6HdEuzCY57+ffT7QoV4QXJXWSU1+7g3wE4AlgImmQ9pQ== dependencies: - "@typescript-eslint/types" "5.9.0" - "@typescript-eslint/visitor-keys" "5.9.0" + "@typescript-eslint/types" "5.9.1" + "@typescript-eslint/visitor-keys" "5.9.1" -"@typescript-eslint/type-utils@5.9.0": - version "5.9.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.9.0.tgz#fd5963ead04bc9b7af9c3a8e534d8d39f1ce5f93" - integrity sha512-uVCb9dJXpBrK1071ri5aEW7ZHdDHAiqEjYznF3HSSvAJXyrkxGOw2Ejibz/q6BXdT8lea8CMI0CzKNFTNI6TEQ== +"@typescript-eslint/type-utils@5.9.1": + version "5.9.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.9.1.tgz#c6832ffe655b9b1fec642d36db1a262d721193de" + integrity sha512-tRSpdBnPRssjlUh35rE9ug5HrUvaB9ntREy7gPXXKwmIx61TNN7+l5YKgi1hMKxo5NvqZCfYhA5FvyuJG6X6vg== dependencies: - "@typescript-eslint/experimental-utils" "5.9.0" + "@typescript-eslint/experimental-utils" "5.9.1" debug "^4.3.2" tsutils "^3.21.0" @@ -1760,6 +1760,11 @@ resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.9.0.tgz#e5619803e39d24a03b3369506df196355736e1a3" integrity sha512-mWp6/b56Umo1rwyGCk8fPIzb9Migo8YOniBGPAQDNC6C52SeyNGN4gsVwQTAR+RS2L5xyajON4hOLwAGwPtUwg== +"@typescript-eslint/types@5.9.1": + version "5.9.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.9.1.tgz#1bef8f238a2fb32ebc6ff6d75020d9f47a1593c6" + integrity sha512-SsWegWudWpkZCwwYcKoDwuAjoZXnM1y2EbEerTHho19Hmm+bQ56QG4L4jrtCu0bI5STaRTvRTZmjprWlTw/5NQ== + "@typescript-eslint/typescript-estree@5.9.0": version "5.9.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.9.0.tgz#0e5c6f03f982931abbfbc3c1b9df5fbf92a3490f" @@ -1773,6 +1778,19 @@ semver "^7.3.5" tsutils "^3.21.0" +"@typescript-eslint/typescript-estree@5.9.1": + version "5.9.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.9.1.tgz#d5b996f49476495070d2b8dd354861cf33c005d6" + integrity sha512-gL1sP6A/KG0HwrahVXI9fZyeVTxEYV//6PmcOn1tD0rw8VhUWYeZeuWHwwhnewnvEMcHjhnJLOBhA9rK4vmb8A== + dependencies: + "@typescript-eslint/types" "5.9.1" + "@typescript-eslint/visitor-keys" "5.9.1" + debug "^4.3.2" + globby "^11.0.4" + is-glob "^4.0.3" + semver "^7.3.5" + tsutils "^3.21.0" + "@typescript-eslint/visitor-keys@5.9.0": version "5.9.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.9.0.tgz#7585677732365e9d27f1878150fab3922784a1a6" @@ -1781,6 +1799,14 @@ "@typescript-eslint/types" "5.9.0" eslint-visitor-keys "^3.0.0" +"@typescript-eslint/visitor-keys@5.9.1": + version "5.9.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.9.1.tgz#f52206f38128dd4f675cf28070a41596eee985b7" + integrity sha512-Xh37pNz9e9ryW4TVdwiFzmr4hloty8cFj8GTWMXh3Z8swGwyQWeCcNgF0hm6t09iZd6eiZmIf4zHedQVP6TVtg== + dependencies: + "@typescript-eslint/types" "5.9.1" + eslint-visitor-keys "^3.0.0" + abab@^2.0.3, abab@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.5.tgz#c0b678fb32d60fc1219c784d6a826fe385aeb79a" From 9f54d2dc2f6cdd43a079b49d5b660720af1ee88b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 16 Jan 2022 09:13:53 +0000 Subject: [PATCH 014/117] Build(deps-dev): Bump eslint-plugin-unicorn from 40.0.0 to 40.1.0 (#12107) --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index bee350339..99ff3aab2 100644 --- a/package.json +++ b/package.json @@ -118,7 +118,7 @@ "eslint-plugin-prettier-internal-rules": "2.0.1", "eslint-plugin-react": "7.28.0", "eslint-plugin-regexp": "1.5.1", - "eslint-plugin-unicorn": "40.0.0", + "eslint-plugin-unicorn": "40.1.0", "esm-utils": "2.0.1", "execa": "5.1.1", "jest": "27.4.7", diff --git a/yarn.lock b/yarn.lock index d263b9b31..1bace7cb7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3087,10 +3087,10 @@ eslint-plugin-regexp@1.5.1: regexpp "^3.2.0" scslre "^0.1.6" -eslint-plugin-unicorn@40.0.0: - version "40.0.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-unicorn/-/eslint-plugin-unicorn-40.0.0.tgz#a8226cab9c62b303e44fc41b1333a146e5676b86" - integrity sha512-5GRXISfBk8jMmYk1eeNDw8zSRnWTxBjWkzx2Prre6E2/yLu2twozZ3EomLWCBu9nWms/ZE361BItyMQwfnG1qA== +eslint-plugin-unicorn@40.1.0: + version "40.1.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-unicorn/-/eslint-plugin-unicorn-40.1.0.tgz#48975360e39d23df726e4b33e8dd5d650e184832" + integrity sha512-y5doK2DF9Sr5AqKEHbHxjFllJ167nKDRU01HDcWyv4Tnmaoe9iNxMrBnaybZvWZUaE3OC5Unu0lNIevYamloig== dependencies: "@babel/helper-validator-identifier" "^7.15.7" ci-info "^3.3.0" From 54045e38bdbb58e1b0e9258ac0883c2854db6834 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 16 Jan 2022 09:47:39 +0000 Subject: [PATCH 015/117] Build(deps-dev): Bump esbuild from 0.14.10 to 0.14.11 (#12102) --- package.json | 2 +- yarn.lock | 188 +++++++++++++++++++++++++-------------------------- 2 files changed, 95 insertions(+), 95 deletions(-) diff --git a/package.json b/package.json index 99ff3aab2..45ea54728 100644 --- a/package.json +++ b/package.json @@ -106,7 +106,7 @@ "cross-env": "7.0.3", "cspell": "5.15.2", "enquirer": "2.3.6", - "esbuild": "0.14.10", + "esbuild": "0.14.11", "esbuild-plugin-browserslist": "0.4.1", "esbuild-plugin-text-replace": "1.1.3", "eslint": "8.7.0", diff --git a/yarn.lock b/yarn.lock index 1bace7cb7..c8742033f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2815,75 +2815,75 @@ es-to-primitive@^1.2.1: is-date-object "^1.0.1" is-symbol "^1.0.2" -esbuild-android-arm64@0.14.10: - version "0.14.10" - resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.10.tgz#c854db57dc2d4df6f4f62185ca812f26a132bf1e" - integrity sha512-vzkTafHKoiMX4uIN1kBnE/HXYLpNT95EgGanVk6DHGeYgDolU0NBxjO7yZpq4ZGFPOx8384eAdDrBYhO11TAlQ== +esbuild-android-arm64@0.14.11: + version "0.14.11" + resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.11.tgz#b8b34e35a5b43880664ac7a3fbc70243d7ed894f" + integrity sha512-6iHjgvMnC/SzDH8TefL+/3lgCjYWwAd1LixYfmz/TBPbDQlxcuSkX0yiQgcJB9k+ibZ54yjVXziIwGdlc+6WNw== -esbuild-darwin-64@0.14.10: - version "0.14.10" - resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.10.tgz#c44fab6b8bfc83e5d083f513e4acbff14fb82eac" - integrity sha512-DJwzFVB95ZV7C3PQbf052WqaUuuMFXJeZJ0LKdnP1w+QOU0rlbKfX0tzuhoS//rOXUj1TFIwRuRsd0FX6skR7A== +esbuild-darwin-64@0.14.11: + version "0.14.11" + resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.11.tgz#ba805de98c0412e50fcd0636451797da157b0625" + integrity sha512-olq84ikh6TiBcrs3FnM4eR5VPPlcJcdW8BnUz/lNoEWYifYQ+Po5DuYV1oz1CTFMw4k6bQIZl8T3yxL+ZT2uvQ== -esbuild-darwin-arm64@0.14.10: - version "0.14.10" - resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.10.tgz#9454b3763b36407dc395c4c3529fb5ddd4a6225f" - integrity sha512-RNaaoZDg3nsqs5z56vYCjk/VJ76npf752W0rOaCl5lO5TsgV9zecfdYgt7dtUrIx8b7APhVaNYud+tGsDOVC9g== +esbuild-darwin-arm64@0.14.11: + version "0.14.11" + resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.11.tgz#4d3573e448af76ce33e16231f3d9f878542d6fe8" + integrity sha512-Jj0ieWLREPBYr/TZJrb2GFH8PVzDqiQWavo1pOFFShrcmHWDBDrlDxPzEZ67NF/Un3t6sNNmeI1TUS/fe1xARg== -esbuild-freebsd-64@0.14.10: - version "0.14.10" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.10.tgz#04eef46d5d5e4152c6b5a6a12f432db0fe7c89de" - integrity sha512-10B3AzW894u6bGZZhWiJOHw1uEHb4AFbUuBdyml1Ht0vIqd+KqWW+iY/yMwQAzILr2WJZqEhbOXRkJtY8aRqOw== +esbuild-freebsd-64@0.14.11: + version "0.14.11" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.11.tgz#9294e6ab359ec93590ab097b0f2017de7c78ab4d" + integrity sha512-C5sT3/XIztxxz/zwDjPRHyzj/NJFOnakAanXuyfLDwhwupKPd76/PPHHyJx6Po6NI6PomgVp/zi6GRB8PfrOTA== -esbuild-freebsd-arm64@0.14.10: - version "0.14.10" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.10.tgz#67ca88529543ada948737c95819253ead16494a7" - integrity sha512-mSQrKB7UaWvuryBTCo9leOfY2uEUSimAvcKIaUWbk5Hth9Sg+Try+qNA/NibPgs/vHkX0KFo/Rce6RPea+P15g== +esbuild-freebsd-arm64@0.14.11: + version "0.14.11" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.11.tgz#ae3e0b09173350b66cf8321583c9a1c1fcb8bb55" + integrity sha512-y3Llu4wbs0bk4cwjsdAtVOesXb6JkdfZDLKMt+v1U3tOEPBdSu6w8796VTksJgPfqvpX22JmPLClls0h5p+L9w== -esbuild-linux-32@0.14.10: - version "0.14.10" - resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.10.tgz#8f3d5fb0b9b616d6b604da781d71767d7679f64f" - integrity sha512-lktF09JgJLZ63ANYHIPdYe339PDuVn19Q/FcGKkXWf+jSPkn5xkYzAabboNGZNUgNqSJ/vY7VrOn6UrBbJjgYA== +esbuild-linux-32@0.14.11: + version "0.14.11" + resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.11.tgz#ddadbc7038aa5a6b1675bb1503cf79a0cbf1229a" + integrity sha512-Cg3nVsxArjyLke9EuwictFF3Sva+UlDTwHIuIyx8qpxRYAOUTmxr2LzYrhHyTcGOleLGXUXYsnUVwKqnKAgkcg== -esbuild-linux-64@0.14.10: - version "0.14.10" - resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.10.tgz#c1c60a079c4709164bdd89fbb007a2edeea7c34a" - integrity sha512-K+gCQz2oLIIBI8ZM77e9sYD5/DwEpeYCrOQ2SYXx+R4OU2CT9QjJDi4/OpE7ko4AcYMlMW7qrOCuLSgAlEj4Wg== +esbuild-linux-64@0.14.11: + version "0.14.11" + resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.11.tgz#d698e3ce3a231ddfeec6b5df8c546ae8883fcd88" + integrity sha512-oeR6dIrrojr8DKVrxtH3xl4eencmjsgI6kPkDCRIIFwv4p+K7ySviM85K66BN01oLjzthpUMvBVfWSJkBLeRbg== -esbuild-linux-arm64@0.14.10: - version "0.14.10" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.10.tgz#d8f1f89190f6d8b6e06a1214aafba454e5daa990" - integrity sha512-+qocQuQvcp5wo/V+OLXxqHPc+gxHttJEvbU/xrCGE03vIMqraL4wMua8JQx0SWEnJCWP+Nhf//v8OSwz1Xr5kA== +esbuild-linux-arm64@0.14.11: + version "0.14.11" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.11.tgz#85faea9fa99ad355b5e3b283197a4dfd0a110fe7" + integrity sha512-+e6ZCgTFQYZlmg2OqLkg1jHLYtkNDksxWDBWNtI4XG4WxuOCUErLqfEt9qWjvzK3XBcCzHImrajkUjO+rRkbMg== -esbuild-linux-arm@0.14.10: - version "0.14.10" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.10.tgz#43192a00019a4553fb44e67f628fff0f560f16c2" - integrity sha512-BYa60dZ/KPmNKYxtHa3LSEdfKWHcm/RzP0MjB4AeBPhjS0D6/okhaBesZIY9kVIGDyeenKsJNOmnVt4+dhNnvQ== +esbuild-linux-arm@0.14.11: + version "0.14.11" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.11.tgz#74cbcf0b8a22c8401bcbcd6ebd4cbf2baca8b7b4" + integrity sha512-vcwskfD9g0tojux/ZaTJptJQU3a7YgTYsptK1y6LQ/rJmw7U5QJvboNawqM98Ca3ToYEucfCRGbl66OTNtp6KQ== -esbuild-linux-mips64le@0.14.10: - version "0.14.10" - resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.10.tgz#f57bb8b2f1a3063cc91cfd787c8a9130cf863c16" - integrity sha512-nmUd2xoBXpGo4NJCEWoaBj+n4EtDoLEvEYc8Z3aSJrY0Oa6s04czD1flmhd0I/d6QEU8b7GQ9U0g/rtBfhtxBg== +esbuild-linux-mips64le@0.14.11: + version "0.14.11" + resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.11.tgz#490429211a3233f5cbbd8575b7758b897e42979a" + integrity sha512-Rrs99L+p54vepmXIb87xTG6ukrQv+CzrM8eoeR+r/OFL2Rg8RlyEtCeshXJ2+Q66MXZOgPJaokXJZb9snq28bw== -esbuild-linux-ppc64le@0.14.10: - version "0.14.10" - resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.10.tgz#becd965bfe3425d41e026f1c4678b393127fecbd" - integrity sha512-vsOWZjm0rZix7HSmqwPph9arRVCyPtUpcURdayQDuIhMG2/UxJxpbdRaa//w4zYqcJzAWwuyH2PAlyy0ZNuxqQ== +esbuild-linux-ppc64le@0.14.11: + version "0.14.11" + resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.11.tgz#fc79d60710213b5b98345f5b138d48245616827a" + integrity sha512-JyzziGAI0D30Vyzt0HDihp4s1IUtJ3ssV2zx9O/c+U/dhUHVP2TmlYjzCfCr2Q6mwXTeloDcLS4qkyvJtYptdQ== -esbuild-linux-s390x@0.14.10: - version "0.14.10" - resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.10.tgz#cc4228ac842febc48b84757814bed964a619be62" - integrity sha512-knArKKZm0ypIYWOWyOT7+accVwbVV1LZnl2FWWy05u9Tyv5oqJ2F5+X2Vqe/gqd61enJXQWqoufXopvG3zULOg== +esbuild-linux-s390x@0.14.11: + version "0.14.11" + resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.11.tgz#ca4b93556bbba6cc95b0644f2ee93c982165ba07" + integrity sha512-DoThrkzunZ1nfRGoDN6REwmo8ZZWHd2ztniPVIR5RMw/Il9wiWEYBahb8jnMzQaSOxBsGp0PbyJeVLTUatnlcw== -esbuild-netbsd-64@0.14.10: - version "0.14.10" - resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.10.tgz#6ec50d9e4547a7579f447307b19f66bbedfd868b" - integrity sha512-6Gg8neVcLeyq0yt9bZpReb8ntZ8LBEjthxrcYWVrBElcltnDjIy1hrzsujt0+sC2rL+TlSsE9dzgyuvlDdPp2w== +esbuild-netbsd-64@0.14.11: + version "0.14.11" + resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.11.tgz#edb340bc6653c88804cac2253e21b74258fce165" + integrity sha512-12luoRQz+6eihKYh1zjrw0CBa2aw3twIiHV/FAfjh2NEBDgJQOY4WCEUEN+Rgon7xmLh4XUxCQjnwrvf8zhACw== -esbuild-openbsd-64@0.14.10: - version "0.14.10" - resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.10.tgz#925ac3d2326cc219d514e1ca806e80e5143aa043" - integrity sha512-9rkHZzp10zI90CfKbFrwmQjqZaeDmyQ6s9/hvCwRkbOCHuto6RvMYH9ghQpcr5cUxD5OQIA+sHXi0zokRNXjcg== +esbuild-openbsd-64@0.14.11: + version "0.14.11" + resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.11.tgz#caeff5f946f79a60ce7bcf88871ca4c71d3476e8" + integrity sha512-l18TZDjmvwW6cDeR4fmizNoxndyDHamGOOAenwI4SOJbzlJmwfr0jUgjbaXCUuYVOA964siw+Ix+A+bhALWg8Q== esbuild-plugin-browserslist@0.4.1: version "0.4.1" @@ -2900,49 +2900,49 @@ esbuild-plugin-text-replace@1.1.3: dependencies: ts-replace-all "^1.0.0" -esbuild-sunos-64@0.14.10: - version "0.14.10" - resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.10.tgz#8d3576d8cac5c4f9f2a84be81b9078d424dbc739" - integrity sha512-mEU+pqkhkhbwpJj5DiN3vL0GUFR/yrL3qj8ER1amIVyRibKbj02VM1QaIuk1sy5DRVIKiFXXgCaHvH3RNWCHIw== +esbuild-sunos-64@0.14.11: + version "0.14.11" + resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.11.tgz#90ce7e1749c2958a53509b4bae7b8f7d98f276d6" + integrity sha512-bmYzDtwASBB8c+0/HVOAiE9diR7+8zLm/i3kEojUH2z0aIs6x/S4KiTuT5/0VKJ4zk69kXel1cNWlHBMkmavQg== -esbuild-windows-32@0.14.10: - version "0.14.10" - resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.10.tgz#8a67fca4cb594a340566d66eef3f568f65057a48" - integrity sha512-Z5DieUL1N6s78dOSdL95KWf8Y89RtPGxIoMF+LEy8ChDsX+pZpz6uAVCn+YaWpqQXO+2TnrcbgBIoprq2Mco1g== +esbuild-windows-32@0.14.11: + version "0.14.11" + resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.11.tgz#d067f4ce15b29efba6336e6a23597120fafe49ec" + integrity sha512-J1Ys5hMid8QgdY00OBvIolXgCQn1ARhYtxPnG6ESWNTty3ashtc4+As5nTrsErnv8ZGUcWZe4WzTP/DmEVX1UQ== -esbuild-windows-64@0.14.10: - version "0.14.10" - resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.10.tgz#5e6d7c475ff6a71ad0aa4046894364e6c40a9249" - integrity sha512-LE5Mm62y0Bilu7RDryBhHIX8rK3at5VwJ6IGM3BsASidCfOBTzqcs7Yy0/Vkq39VKeTmy9/66BAfVoZRNznoDw== +esbuild-windows-64@0.14.11: + version "0.14.11" + resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.11.tgz#13e86dd37a6cd61a5276fa2d271342d0f74da864" + integrity sha512-h9FmMskMuGeN/9G9+LlHPAoiQk9jlKDUn9yA0MpiGzwLa82E7r1b1u+h2a+InprbSnSLxDq/7p5YGtYVO85Mlg== -esbuild-windows-arm64@0.14.10: - version "0.14.10" - resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.10.tgz#50ab9a83f6ccf71c272e58489ecc4d7375075f32" - integrity sha512-OJOyxDtabvcUYTc+O4dR0JMzLBz6G9+gXIHA7Oc5d5Fv1xiYa0nUeo8+W5s2e6ZkPRdIwOseYoL70rZz80S5BA== +esbuild-windows-arm64@0.14.11: + version "0.14.11" + resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.11.tgz#e8edfdf1d712085e6dc3fba18a0c225aaae32b75" + integrity sha512-dZp7Krv13KpwKklt9/1vBFBMqxEQIO6ri7Azf8C+ob4zOegpJmha2XY9VVWP/OyQ0OWk6cEeIzMJwInRZrzBUQ== -esbuild@0.14.10: - version "0.14.10" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.10.tgz#10268d2b576b25ed6f8554553413988628a7767b" - integrity sha512-ibZb+NwFqBwHHJlpnFMtg4aNmVK+LUtYMFC9CuKs6lDCBEvCHpqCFZFEirpqt1jOugwKGx8gALNGvX56lQyfew== +esbuild@0.14.11: + version "0.14.11" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.11.tgz#ac4acb78907874832afb704c3afe58ad37715c27" + integrity sha512-xZvPtVj6yecnDeFb3KjjCM6i7B5TCAQZT77kkW/CpXTMnd6VLnRPKrUB1XHI1pSq6a4Zcy3BGueQ8VljqjDGCg== optionalDependencies: - esbuild-android-arm64 "0.14.10" - esbuild-darwin-64 "0.14.10" - esbuild-darwin-arm64 "0.14.10" - esbuild-freebsd-64 "0.14.10" - esbuild-freebsd-arm64 "0.14.10" - esbuild-linux-32 "0.14.10" - esbuild-linux-64 "0.14.10" - esbuild-linux-arm "0.14.10" - esbuild-linux-arm64 "0.14.10" - esbuild-linux-mips64le "0.14.10" - esbuild-linux-ppc64le "0.14.10" - esbuild-linux-s390x "0.14.10" - esbuild-netbsd-64 "0.14.10" - esbuild-openbsd-64 "0.14.10" - esbuild-sunos-64 "0.14.10" - esbuild-windows-32 "0.14.10" - esbuild-windows-64 "0.14.10" - esbuild-windows-arm64 "0.14.10" + esbuild-android-arm64 "0.14.11" + esbuild-darwin-64 "0.14.11" + esbuild-darwin-arm64 "0.14.11" + esbuild-freebsd-64 "0.14.11" + esbuild-freebsd-arm64 "0.14.11" + esbuild-linux-32 "0.14.11" + esbuild-linux-64 "0.14.11" + esbuild-linux-arm "0.14.11" + esbuild-linux-arm64 "0.14.11" + esbuild-linux-mips64le "0.14.11" + esbuild-linux-ppc64le "0.14.11" + esbuild-linux-s390x "0.14.11" + esbuild-netbsd-64 "0.14.11" + esbuild-openbsd-64 "0.14.11" + esbuild-sunos-64 "0.14.11" + esbuild-windows-32 "0.14.11" + esbuild-windows-64 "0.14.11" + esbuild-windows-arm64 "0.14.11" escalade@^3.1.1: version "3.1.1" From 76ae21044c5f26fcc8518ec19561718ce9ad6abe Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 16 Jan 2022 09:53:46 +0000 Subject: [PATCH 016/117] Build(deps): Bump @typescript-eslint/typescript-estree (#12103) --- package.json | 2 +- yarn.lock | 26 -------------------------- 2 files changed, 1 insertion(+), 27 deletions(-) diff --git a/package.json b/package.json index 45ea54728..2fe5e3d88 100644 --- a/package.json +++ b/package.json @@ -26,7 +26,7 @@ "@babel/parser": "7.16.8", "@glimmer/syntax": "0.83.1", "@iarna/toml": "2.2.5", - "@typescript-eslint/typescript-estree": "5.9.0", + "@typescript-eslint/typescript-estree": "5.9.1", "angular-estree-parser": "2.5.0", "angular-html-parser": "1.8.0", "camelcase": "6.3.0", diff --git a/yarn.lock b/yarn.lock index c8742033f..f0c7b5574 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1755,29 +1755,11 @@ debug "^4.3.2" tsutils "^3.21.0" -"@typescript-eslint/types@5.9.0": - version "5.9.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.9.0.tgz#e5619803e39d24a03b3369506df196355736e1a3" - integrity sha512-mWp6/b56Umo1rwyGCk8fPIzb9Migo8YOniBGPAQDNC6C52SeyNGN4gsVwQTAR+RS2L5xyajON4hOLwAGwPtUwg== - "@typescript-eslint/types@5.9.1": version "5.9.1" resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.9.1.tgz#1bef8f238a2fb32ebc6ff6d75020d9f47a1593c6" integrity sha512-SsWegWudWpkZCwwYcKoDwuAjoZXnM1y2EbEerTHho19Hmm+bQ56QG4L4jrtCu0bI5STaRTvRTZmjprWlTw/5NQ== -"@typescript-eslint/typescript-estree@5.9.0": - version "5.9.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.9.0.tgz#0e5c6f03f982931abbfbc3c1b9df5fbf92a3490f" - integrity sha512-kxo3xL2mB7XmiVZcECbaDwYCt3qFXz99tBSuVJR4L/sR7CJ+UNAPrYILILktGj1ppfZ/jNt/cWYbziJUlHl1Pw== - dependencies: - "@typescript-eslint/types" "5.9.0" - "@typescript-eslint/visitor-keys" "5.9.0" - debug "^4.3.2" - globby "^11.0.4" - is-glob "^4.0.3" - semver "^7.3.5" - tsutils "^3.21.0" - "@typescript-eslint/typescript-estree@5.9.1": version "5.9.1" resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.9.1.tgz#d5b996f49476495070d2b8dd354861cf33c005d6" @@ -1791,14 +1773,6 @@ semver "^7.3.5" tsutils "^3.21.0" -"@typescript-eslint/visitor-keys@5.9.0": - version "5.9.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.9.0.tgz#7585677732365e9d27f1878150fab3922784a1a6" - integrity sha512-6zq0mb7LV0ThExKlecvpfepiB+XEtFv/bzx7/jKSgyXTFD7qjmSu1FoiS0x3OZaiS+UIXpH2vd9O89f02RCtgw== - dependencies: - "@typescript-eslint/types" "5.9.0" - eslint-visitor-keys "^3.0.0" - "@typescript-eslint/visitor-keys@5.9.1": version "5.9.1" resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.9.1.tgz#f52206f38128dd4f675cf28070a41596eee985b7" From f29a7565e91c1ca9ad13f8c3f69ca08eb5859ae2 Mon Sep 17 00:00:00 2001 From: Jed Fox Date: Sun, 16 Jan 2022 14:59:22 -0500 Subject: [PATCH 017/117] =?UTF-8?q?Collapse=20JSXExpressionContainer=20?= =?UTF-8?q?=E2=86=92=20AwaitExpression=20=E2=86=92=20JSXElement=20(#12109)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- changelog_unreleased/javascript/12088.md | 19 +++++- src/language-js/print/jsx.js | 3 +- .../jsx/jsx/__snapshots__/jsfmt.spec.js.snap | 64 +++++++++++++++++++ tests/format/jsx/jsx/await.js | 6 ++ 4 files changed, 90 insertions(+), 2 deletions(-) diff --git a/changelog_unreleased/javascript/12088.md b/changelog_unreleased/javascript/12088.md index 2ebd84743..ba6004dfe 100644 --- a/changelog_unreleased/javascript/12088.md +++ b/changelog_unreleased/javascript/12088.md @@ -1,4 +1,4 @@ -#### Inline `await` expressions in JSX (#12088 by @j-f1) +#### Inline `await` expressions in JSX (#12088 & #12109 by @j-f1) `await` expressions in JSX are now inlined if their argument would be inlined. @@ -9,6 +9,11 @@ someVeryLongExpression )} +{await ( +
Lorem ipsum ...
+)} + + // Prettier stable { await Promise.all( @@ -16,8 +21,20 @@ ) } +{ + await ( +
Lorem ipsum ...
+ ) +} + + // Prettier main {await Promise.all( someVeryLongExpression )} + +{await ( +
Lorem ipsum ...
+)} + ``` diff --git a/src/language-js/print/jsx.js b/src/language-js/print/jsx.js index bd9dc2bad..f20ac180d 100644 --- a/src/language-js/print/jsx.js +++ b/src/language-js/print/jsx.js @@ -510,7 +510,8 @@ function printJsxExpressionContainer(path, options, print) { node.type === "ObjectExpression" || node.type === "ArrowFunctionExpression" || (node.type === "AwaitExpression" && - shouldInline(node.argument, node)) || + (shouldInline(node.argument, node) || + node.argument.type === "JSXElement")) || isCallExpression(node) || node.type === "FunctionExpression" || node.type === "TemplateLiteral" || diff --git a/tests/format/jsx/jsx/__snapshots__/jsfmt.spec.js.snap b/tests/format/jsx/jsx/__snapshots__/jsfmt.spec.js.snap index f8eacf98c..764b7cf2e 100644 --- a/tests/format/jsx/jsx/__snapshots__/jsfmt.spec.js.snap +++ b/tests/format/jsx/jsx/__snapshots__/jsfmt.spec.js.snap @@ -652,6 +652,12 @@ async function testFunction() { {hierarchyCriticism.IncongruousCooperate.MaterialEducation.OriginalArticulate.Parameter} {hierarchyCriticismIncongruousCooperateMaterialEducationOriginalArticulateParameter} + + const jsx = <> + {await ( + material education original articulate parameter + )} + } =====================================output===================================== @@ -693,6 +699,16 @@ async function testFunction() { } ); + + const jsx = ( + <> + {await ( + + material education original articulate parameter + + )} + + ); } ================================================================================ @@ -734,6 +750,12 @@ async function testFunction() { {hierarchyCriticism.IncongruousCooperate.MaterialEducation.OriginalArticulate.Parameter} {hierarchyCriticismIncongruousCooperateMaterialEducationOriginalArticulateParameter} + + const jsx = <> + {await ( + material education original articulate parameter + )} + } =====================================output===================================== @@ -775,6 +797,16 @@ async function testFunction() { } ); + + const jsx = ( + <> + {await ( + + material education original articulate parameter + + )} + + ); } ================================================================================ @@ -816,6 +848,12 @@ async function testFunction() { {hierarchyCriticism.IncongruousCooperate.MaterialEducation.OriginalArticulate.Parameter} {hierarchyCriticismIncongruousCooperateMaterialEducationOriginalArticulateParameter} + + const jsx = <> + {await ( + material education original articulate parameter + )} + } =====================================output===================================== @@ -857,6 +895,16 @@ async function testFunction() { } ); + + const jsx = ( + <> + {await ( + + material education original articulate parameter + + )} + + ); } ================================================================================ @@ -898,6 +946,12 @@ async function testFunction() { {hierarchyCriticism.IncongruousCooperate.MaterialEducation.OriginalArticulate.Parameter} {hierarchyCriticismIncongruousCooperateMaterialEducationOriginalArticulateParameter} + + const jsx = <> + {await ( + material education original articulate parameter + )} + } =====================================output===================================== @@ -939,6 +993,16 @@ async function testFunction() { } ); + + const jsx = ( + <> + {await ( + + material education original articulate parameter + + )} + + ); } ================================================================================ diff --git a/tests/format/jsx/jsx/await.js b/tests/format/jsx/jsx/await.js index 3eb1f3296..bf4d9ad1c 100644 --- a/tests/format/jsx/jsx/await.js +++ b/tests/format/jsx/jsx/await.js @@ -26,4 +26,10 @@ async function testFunction() { {hierarchyCriticism.IncongruousCooperate.MaterialEducation.OriginalArticulate.Parameter} {hierarchyCriticismIncongruousCooperateMaterialEducationOriginalArticulateParameter} + + const jsx = <> + {await ( + material education original articulate parameter + )} + } From 53da86c34dd1c1e1241e85c57469100f2467fcec Mon Sep 17 00:00:00 2001 From: fisker Cheung Date: Mon, 17 Jan 2022 09:19:50 +0800 Subject: [PATCH 018/117] Fix some lgtm alerts (#12084) --- scripts/release/steps/bump-prettier.js | 2 +- scripts/release/steps/update-version.js | 2 +- src/language-html/embed.js | 12 ++++++------ src/language-js/parse/postprocess/typescript.js | 3 ++- 4 files changed, 10 insertions(+), 9 deletions(-) diff --git a/scripts/release/steps/bump-prettier.js b/scripts/release/steps/bump-prettier.js index de98b4bd8..9424e6f30 100644 --- a/scripts/release/steps/bump-prettier.js +++ b/scripts/release/steps/bump-prettier.js @@ -33,7 +33,7 @@ async function bump({ } else { pkg.version = semver.inc(version, "minor") + "-dev"; } - await writeJson("package.json", pkg, { spaces: 2 }); + await writeJson("package.json", pkg); } export default async function bumpPrettier(params) { diff --git a/scripts/release/steps/update-version.js b/scripts/release/steps/update-version.js index 5b9a8315d..b97cbe7da 100644 --- a/scripts/release/steps/update-version.js +++ b/scripts/release/steps/update-version.js @@ -9,7 +9,7 @@ import { async function bump({ version }) { const pkg = await readJson("package.json"); pkg.version = version; - await writeJson("package.json", pkg, { spaces: 2 }); + await writeJson("package.json", pkg); // Update github issue templates processFile(".github/ISSUE_TEMPLATE/formatting.md", (content) => diff --git a/src/language-html/embed.js b/src/language-html/embed.js index c247dd1fc..2ca96c4d6 100644 --- a/src/language-html/embed.js +++ b/src/language-html/embed.js @@ -31,7 +31,7 @@ const { } = require("./utils.js"); const getNodeContent = require("./get-node-content.js"); -function printEmbeddedAttributeValue(node, originalTextToDoc, options) { +function printEmbeddedAttributeValue(node, htmlTextToDoc, options) { const isKeyMatched = (patterns) => new RegExp(patterns.join("|")).test(node.fullName); const getValue = () => unescapeQuoteEntities(node.value); @@ -67,11 +67,11 @@ function printEmbeddedAttributeValue(node, originalTextToDoc, options) { const printMaybeHug = (doc) => (shouldHug ? printHug(doc) : printExpand(doc)); const attributeTextToDoc = (code, opts) => - originalTextToDoc( - code, - { __onHtmlBindingRoot, __embeddedInHtml: true, ...opts }, - { stripTrailingHardline: true } - ); + htmlTextToDoc(code, { + __onHtmlBindingRoot, + __embeddedInHtml: true, + ...opts, + }); if ( node.fullName === "srcset" && diff --git a/src/language-js/parse/postprocess/typescript.js b/src/language-js/parse/postprocess/typescript.js index a90422a73..329280a70 100644 --- a/src/language-js/parse/postprocess/typescript.js +++ b/src/language-js/parse/postprocess/typescript.js @@ -63,7 +63,8 @@ function throwErrorForInvalidAbstractProperty(tsNode, esTreeNode) { function throwErrorForInvalidNodes(ast, options) { const { esTreeNodeToTSNodeMap, tsNodeToESTreeNodeMap } = options.tsParseResult; - ast = visitNode(ast, (node) => { + + visitNode(ast, (node) => { const tsNode = esTreeNodeToTSNodeMap.get(node); if (!tsNode) { return; From 27e7376229d0cefbe8fa1b21b84f8ffd2bf0185f Mon Sep 17 00:00:00 2001 From: fisker Cheung Date: Wed, 19 Jan 2022 20:53:17 +0800 Subject: [PATCH 019/117] Fix hangs on invalid `v-for` (#12113) --- changelog_unreleased/vue/12113.md | 21 ++++++++ src/language-html/syntax-vue.js | 19 +++++-- .../invalid/__snapshots__/jsfmt.spec.js.snap | 52 +++++++++++++++++++ tests/format/vue/invalid/jsfmt.spec.js | 1 + tests/format/vue/invalid/v-for.vue | 21 ++++++++ 5 files changed, 111 insertions(+), 3 deletions(-) create mode 100644 changelog_unreleased/vue/12113.md create mode 100644 tests/format/vue/invalid/__snapshots__/jsfmt.spec.js.snap create mode 100644 tests/format/vue/invalid/jsfmt.spec.js create mode 100644 tests/format/vue/invalid/v-for.vue diff --git a/changelog_unreleased/vue/12113.md b/changelog_unreleased/vue/12113.md new file mode 100644 index 000000000..314b5db6d --- /dev/null +++ b/changelog_unreleased/vue/12113.md @@ -0,0 +1,21 @@ +#### Fix hangs on invalid `v-for` (#12113 by @fisker) + + +```jsx +// Input + + +// Prettier stable +// Hangs + +// Prettier main +; +``` diff --git a/src/language-html/syntax-vue.js b/src/language-html/syntax-vue.js index 4bad8ceb3..d26e89c99 100644 --- a/src/language-html/syntax-vue.js +++ b/src/language-html/syntax-vue.js @@ -40,8 +40,13 @@ function parseVueFor(value) { if (!inMatch) { return; } + const res = {}; res.for = inMatch[3].trim(); + if (!res.for) { + return; + } + const alias = inMatch[1].trim().replace(stripParensRE, ""); const iteratorMatch = alias.match(forIteratorRE); if (iteratorMatch) { @@ -54,10 +59,18 @@ function parseVueFor(value) { res.alias = alias; } + const left = [res.alias, res.iterator1, res.iterator2]; + if ( + left.some( + (part, index) => + !part && (index === 0 || left.slice(index + 1).some(Boolean)) + ) + ) { + return; + } + return { - left: `${[res.alias, res.iterator1, res.iterator2] - .filter(Boolean) - .join(",")}`, + left: left.filter(Boolean).join(","), operator: inMatch[2], right: res.for, }; diff --git a/tests/format/vue/invalid/__snapshots__/jsfmt.spec.js.snap b/tests/format/vue/invalid/__snapshots__/jsfmt.spec.js.snap new file mode 100644 index 000000000..cda9412cd --- /dev/null +++ b/tests/format/vue/invalid/__snapshots__/jsfmt.spec.js.snap @@ -0,0 +1,52 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`v-for.vue format 1`] = ` +====================================options===================================== +parsers: ["vue"] +printWidth: 80 + | printWidth +=====================================input====================================== + + +=====================================output===================================== + + +================================================================================ +`; diff --git a/tests/format/vue/invalid/jsfmt.spec.js b/tests/format/vue/invalid/jsfmt.spec.js new file mode 100644 index 000000000..2fd7eede9 --- /dev/null +++ b/tests/format/vue/invalid/jsfmt.spec.js @@ -0,0 +1 @@ +run_spec(__dirname, ["vue"]); diff --git a/tests/format/vue/invalid/v-for.vue b/tests/format/vue/invalid/v-for.vue new file mode 100644 index 000000000..2678f1cab --- /dev/null +++ b/tests/format/vue/invalid/v-for.vue @@ -0,0 +1,21 @@ + From db73cc8e0c9e3e565cf4f5e9eceaa6b7e90b48e4 Mon Sep 17 00:00:00 2001 From: Sosuke Suzuki Date: Wed, 19 Jan 2022 22:29:37 +0900 Subject: [PATCH 020/117] Print end-of-line comment for `continue`/`break` statements (#12075) * Add handleBreakAndContinueStatementComments to handleEndOfLineComment * Add tests * Add changelog * Update tests * Add more tests * Fix for own line comments * Fix tests * Fix tests * Fix tests * Add unstable tests --- changelog_unreleased/javascript/12075.md | 18 + src/language-js/comments.js | 2 + tests/config/format-test.js | 1 + .../js/for/__snapshots__/jsfmt.spec.js.snap | 703 ++++++++++++++++++ .../js/for/continue-and-break-comment-1.js | 121 +++ .../js/for/continue-and-break-comment-2.js | 145 ++++ ...ntinue-and-break-comment-without-blocks.js | 97 +++ .../__snapshots__/jsfmt.spec.js.snap | 2 - .../misc/errors/typescript/issue-8773.ts | 5 - 9 files changed, 1087 insertions(+), 7 deletions(-) create mode 100644 changelog_unreleased/javascript/12075.md create mode 100644 tests/format/js/for/continue-and-break-comment-1.js create mode 100644 tests/format/js/for/continue-and-break-comment-2.js create mode 100644 tests/format/js/for/continue-and-break-comment-without-blocks.js delete mode 100644 tests/format/misc/errors/typescript/issue-8773.ts diff --git a/changelog_unreleased/javascript/12075.md b/changelog_unreleased/javascript/12075.md new file mode 100644 index 000000000..4b136d048 --- /dev/null +++ b/changelog_unreleased/javascript/12075.md @@ -0,0 +1,18 @@ +#### Print end-of-line comment for `continue`/`break` statements (#12075 by @sosukesuzuki) + + + + +```jsx +// Input +for (;;) continue // comment +; + +// Prettier stable +Error: Comment "comment" was not printed. Please report this error! + +// Prettier main +for (;;) + continue; // comment + +``` diff --git a/src/language-js/comments.js b/src/language-js/comments.js index f908647ac..eef7a99c4 100644 --- a/src/language-js/comments.js +++ b/src/language-js/comments.js @@ -68,6 +68,7 @@ function handleOwnLineComment(context) { handleAssignmentPatternComments, handleMethodNameComments, handleLabeledStatementComments, + handleBreakAndContinueStatementComments, ].some((fn) => fn(context)); } @@ -91,6 +92,7 @@ function handleEndOfLineComment(context) { handleOnlyComments, handleTypeAliasComments, handleVariableDeclaratorComments, + handleBreakAndContinueStatementComments, ].some((fn) => fn(context)); } diff --git a/tests/config/format-test.js b/tests/config/format-test.js index 41d5091fc..93fbaff04 100644 --- a/tests/config/format-test.js +++ b/tests/config/format-test.js @@ -39,6 +39,7 @@ const unstableTests = new Map( ["flow/no-semi/comments.js", (options) => options.semi === false], "typescript/prettier-ignore/mapped-types.ts", "js/comments/html-like/comment.js", + "js/for/continue-and-break-comment-without-blocks.js", ].map((fixture) => { const [file, isUnstable = () => true] = Array.isArray(fixture) ? fixture diff --git a/tests/format/js/for/__snapshots__/jsfmt.spec.js.snap b/tests/format/js/for/__snapshots__/jsfmt.spec.js.snap index 376878d65..69f2556fe 100644 --- a/tests/format/js/for/__snapshots__/jsfmt.spec.js.snap +++ b/tests/format/js/for/__snapshots__/jsfmt.spec.js.snap @@ -74,6 +74,709 @@ for (x of y); ================================================================================ `; +exports[`continue-and-break-comment-1.js format 1`] = ` +====================================options===================================== +parsers: ["babel", "flow", "typescript"] +printWidth: 80 + | printWidth +=====================================input====================================== +for(;;) { + continue // comment + ; +} + +for (;;) { + break // comment + ; +} + +for (const f of []) { + continue // comment + ; +} + +for (const f of []) { + break // comment + ; +} + +for (const f in {}) { + continue // comment + ; +} + +for (const f in {}) { + break // comment + ; +} + +while(true) { + continue // comment + ; +} + +while (true) { + break // comment + ; +} + +do { + continue // comment + ; +} while(true); + + +do { + break // comment + ; +} while(true); + +label1: for (;;) { + continue label1 // comment + ; +} + +label2: { + break label2 // comment + ; +}; + +for(;;) { + continue /* comment */ + ; +} + +for (;;) { + break /* comment */ + ; +} + +for (const f of []) { + continue /* comment */ + ; +} + +for (const f of []) { + break /* comment */ + ; +} + +for (const f in {}) { + continue /* comment */ + ; +} + +for (const f in {}) { + break /* comment */ + ; +} + +while(true) { + continue /* comment */ + ; +} + +while (true) { + break /* comment */ + ; +} + +do { + continue /* comment */ + ; +} while(true); + + +do { + break /* comment */ + ; +} while(true); + +label1: for (;;) { + continue label1 /* comment */ + ; +} + +label2: { + break label2 /* comment */ + ; +}; + +=====================================output===================================== +for (;;) { + continue; // comment +} + +for (;;) { + break; // comment +} + +for (const f of []) { + continue; // comment +} + +for (const f of []) { + break; // comment +} + +for (const f in {}) { + continue; // comment +} + +for (const f in {}) { + break; // comment +} + +while (true) { + continue; // comment +} + +while (true) { + break; // comment +} + +do { + continue; // comment +} while (true); + +do { + break; // comment +} while (true); + +label1: for (;;) { + continue label1; // comment +} + +label2: { + break label2; // comment +} + +for (;;) { + continue; /* comment */ +} + +for (;;) { + break; /* comment */ +} + +for (const f of []) { + continue; /* comment */ +} + +for (const f of []) { + break; /* comment */ +} + +for (const f in {}) { + continue; /* comment */ +} + +for (const f in {}) { + break; /* comment */ +} + +while (true) { + continue; /* comment */ +} + +while (true) { + break; /* comment */ +} + +do { + continue; /* comment */ +} while (true); + +do { + break; /* comment */ +} while (true); + +label1: for (;;) { + continue label1 /* comment */; +} + +label2: { + break label2 /* comment */; +} + +================================================================================ +`; + +exports[`continue-and-break-comment-2.js format 1`] = ` +====================================options===================================== +parsers: ["babel", "flow", "typescript"] +printWidth: 80 + | printWidth +=====================================input====================================== +for(;;) { + continue + // comment + ; +} + +for (;;) { + break + // comment + ; +} + +for (const f of []) { + continue + // comment + ; +} + +for (const f of []) { + break + // comment + ; +} + +for (const f in {}) { + continue + // comment + ; +} + +for (const f in {}) { + break + // comment + ; +} + +while(true) { + continue + // comment + ; +} + +while (true) { + break + // comment + ; +} + +do { + continue + // comment + ; +} while(true); + + +do { + break + // comment + ; +} while(true); + +label1: for (;;) { + continue label1 + // comment + ; +} + +label2: { + break label2 + // comment + ; +}; + +for(;;) { + continue + /* comment */ + ; +} + +for (;;) { + break + /* comment */ + ; +} + +for (const f of []) { + continue + /* comment */ + ; +} + +for (const f of []) { + break + /* comment */ + ; +} + +for (const f in {}) { + continue + /* comment */ + ; +} + +for (const f in {}) { + break + /* comment */ + ; +} + +while(true) { + continue + /* comment */ + ; +} + +while (true) { + break + /* comment */ + ; +} + +do { + continue + /* comment */ + ; +} while(true); + + +do { + break + /* comment */ + ; +} while(true); + +label1: for (;;) { + continue label1 + /* comment */ + ; +} + +label2: { + break label2 + /* comment */ + ; +}; + +=====================================output===================================== +for (;;) { + continue; + // comment +} + +for (;;) { + break; + // comment +} + +for (const f of []) { + continue; + // comment +} + +for (const f of []) { + break; + // comment +} + +for (const f in {}) { + continue; + // comment +} + +for (const f in {}) { + break; + // comment +} + +while (true) { + continue; + // comment +} + +while (true) { + break; + // comment +} + +do { + continue; + // comment +} while (true); + +do { + break; + // comment +} while (true); + +label1: for (;;) { + continue label1; + // comment +} + +label2: { + break label2; + // comment +} + +for (;;) { + continue; + /* comment */ +} + +for (;;) { + break; + /* comment */ +} + +for (const f of []) { + continue; + /* comment */ +} + +for (const f of []) { + break; + /* comment */ +} + +for (const f in {}) { + continue; + /* comment */ +} + +for (const f in {}) { + break; + /* comment */ +} + +while (true) { + continue; + /* comment */ +} + +while (true) { + break; + /* comment */ +} + +do { + continue; + /* comment */ +} while (true); + +do { + break; + /* comment */ +} while (true); + +label1: for (;;) { + continue label1; + /* comment */ +} + +label2: { + break label2; + /* comment */ +} + +================================================================================ +`; + +exports[`continue-and-break-comment-without-blocks.js format 1`] = ` +====================================options===================================== +parsers: ["babel", "flow", "typescript"] +printWidth: 80 + | printWidth +=====================================input====================================== +for(;;) continue +// comment +; + +for (;;) break +// comment +; + +for (const f of []) continue +// comment +; + +for (const f of []) break +// comment +; + +for (const f in {}) continue +// comment +; + +for (const f in {}) break +// comment +; + +for(;;) continue // comment +; + +for (;;) break // comment +; + +for (const f of []) continue // comment +; + +for (const f of []) break // comment +; + +for (const f in {}) continue // comment +; + +for (const f in {}) break // comment +; + +for(;;) continue /* comment */ +; + +for (;;) break /* comment */ +; + +for (const f of []) continue /* comment */ +; + +for (const f of []) break /* comment */ +; + +for (const f in {}) continue /* comment */ +; + +for (const f in {}) break /* comment */ +; + +for(;;) continue +/* comment */ +; + +for (;;) break +/* comment */ +; + +for (const f of []) continue +/* comment */ +; + +for (const f of []) break +/* comment */ +; + +for (const f in {}) continue +/* comment */ +; + +for (const f in {}) break +/* comment */ +; + +label1: for (;;) continue label1 /* comment */ +; + +label1: for (;;) continue label1 +/* comment */ +; + +label1: for (;;) continue label1 // comment +; + +label1: for (;;) continue label1 +// comment +; + +=====================================output===================================== +for (;;) + continue; + // comment + +for (;;) + break; + // comment + +for (const f of []) + continue; + // comment + +for (const f of []) + break; + // comment + +for (const f in {}) + continue; + // comment + +for (const f in {}) + break; + // comment + +for (;;) + continue; // comment + +for (;;) + break; // comment + +for (const f of []) + continue; // comment + +for (const f of []) + break; // comment + +for (const f in {}) + continue; // comment + +for (const f in {}) + break; // comment + +for (;;) continue; /* comment */ + +for (;;) break; /* comment */ + +for (const f of []) continue; /* comment */ + +for (const f of []) break; /* comment */ + +for (const f in {}) continue; /* comment */ + +for (const f in {}) break; /* comment */ + +for (;;) + continue; + /* comment */ + +for (;;) + break; + /* comment */ + +for (const f of []) + continue; + /* comment */ + +for (const f of []) + break; + /* comment */ + +for (const f in {}) + continue; + /* comment */ + +for (const f in {}) + break; + /* comment */ + +label1: for (;;) continue label1 /* comment */; + +label1: for (;;) + continue label1; + /* comment */ + +label1: for (;;) + continue label1; // comment + +label1: for (;;) + continue label1; + // comment + +================================================================================ +`; + exports[`for.js format 1`] = ` ====================================options===================================== parsers: ["babel", "flow", "typescript"] diff --git a/tests/format/js/for/continue-and-break-comment-1.js b/tests/format/js/for/continue-and-break-comment-1.js new file mode 100644 index 000000000..bd83a9f64 --- /dev/null +++ b/tests/format/js/for/continue-and-break-comment-1.js @@ -0,0 +1,121 @@ +for(;;) { + continue // comment + ; +} + +for (;;) { + break // comment + ; +} + +for (const f of []) { + continue // comment + ; +} + +for (const f of []) { + break // comment + ; +} + +for (const f in {}) { + continue // comment + ; +} + +for (const f in {}) { + break // comment + ; +} + +while(true) { + continue // comment + ; +} + +while (true) { + break // comment + ; +} + +do { + continue // comment + ; +} while(true); + + +do { + break // comment + ; +} while(true); + +label1: for (;;) { + continue label1 // comment + ; +} + +label2: { + break label2 // comment + ; +}; + +for(;;) { + continue /* comment */ + ; +} + +for (;;) { + break /* comment */ + ; +} + +for (const f of []) { + continue /* comment */ + ; +} + +for (const f of []) { + break /* comment */ + ; +} + +for (const f in {}) { + continue /* comment */ + ; +} + +for (const f in {}) { + break /* comment */ + ; +} + +while(true) { + continue /* comment */ + ; +} + +while (true) { + break /* comment */ + ; +} + +do { + continue /* comment */ + ; +} while(true); + + +do { + break /* comment */ + ; +} while(true); + +label1: for (;;) { + continue label1 /* comment */ + ; +} + +label2: { + break label2 /* comment */ + ; +}; diff --git a/tests/format/js/for/continue-and-break-comment-2.js b/tests/format/js/for/continue-and-break-comment-2.js new file mode 100644 index 000000000..49d46016f --- /dev/null +++ b/tests/format/js/for/continue-and-break-comment-2.js @@ -0,0 +1,145 @@ +for(;;) { + continue + // comment + ; +} + +for (;;) { + break + // comment + ; +} + +for (const f of []) { + continue + // comment + ; +} + +for (const f of []) { + break + // comment + ; +} + +for (const f in {}) { + continue + // comment + ; +} + +for (const f in {}) { + break + // comment + ; +} + +while(true) { + continue + // comment + ; +} + +while (true) { + break + // comment + ; +} + +do { + continue + // comment + ; +} while(true); + + +do { + break + // comment + ; +} while(true); + +label1: for (;;) { + continue label1 + // comment + ; +} + +label2: { + break label2 + // comment + ; +}; + +for(;;) { + continue + /* comment */ + ; +} + +for (;;) { + break + /* comment */ + ; +} + +for (const f of []) { + continue + /* comment */ + ; +} + +for (const f of []) { + break + /* comment */ + ; +} + +for (const f in {}) { + continue + /* comment */ + ; +} + +for (const f in {}) { + break + /* comment */ + ; +} + +while(true) { + continue + /* comment */ + ; +} + +while (true) { + break + /* comment */ + ; +} + +do { + continue + /* comment */ + ; +} while(true); + + +do { + break + /* comment */ + ; +} while(true); + +label1: for (;;) { + continue label1 + /* comment */ + ; +} + +label2: { + break label2 + /* comment */ + ; +}; diff --git a/tests/format/js/for/continue-and-break-comment-without-blocks.js b/tests/format/js/for/continue-and-break-comment-without-blocks.js new file mode 100644 index 000000000..d68bba16e --- /dev/null +++ b/tests/format/js/for/continue-and-break-comment-without-blocks.js @@ -0,0 +1,97 @@ +for(;;) continue +// comment +; + +for (;;) break +// comment +; + +for (const f of []) continue +// comment +; + +for (const f of []) break +// comment +; + +for (const f in {}) continue +// comment +; + +for (const f in {}) break +// comment +; + +for(;;) continue // comment +; + +for (;;) break // comment +; + +for (const f of []) continue // comment +; + +for (const f of []) break // comment +; + +for (const f in {}) continue // comment +; + +for (const f in {}) break // comment +; + +for(;;) continue /* comment */ +; + +for (;;) break /* comment */ +; + +for (const f of []) continue /* comment */ +; + +for (const f of []) break /* comment */ +; + +for (const f in {}) continue /* comment */ +; + +for (const f in {}) break /* comment */ +; + +for(;;) continue +/* comment */ +; + +for (;;) break +/* comment */ +; + +for (const f of []) continue +/* comment */ +; + +for (const f of []) break +/* comment */ +; + +for (const f in {}) continue +/* comment */ +; + +for (const f in {}) break +/* comment */ +; + +label1: for (;;) continue label1 /* comment */ +; + +label1: for (;;) continue label1 +/* comment */ +; + +label1: for (;;) continue label1 // comment +; + +label1: for (;;) continue label1 +// comment +; diff --git a/tests/format/misc/errors/typescript/__snapshots__/jsfmt.spec.js.snap b/tests/format/misc/errors/typescript/__snapshots__/jsfmt.spec.js.snap index b0f014358..842ce1a00 100644 --- a/tests/format/misc/errors/typescript/__snapshots__/jsfmt.spec.js.snap +++ b/tests/format/misc/errors/typescript/__snapshots__/jsfmt.spec.js.snap @@ -23,8 +23,6 @@ exports[`invalid-jsx-1.ts [typescript] format 1`] = ` 4 |" `; -exports[`issue-8773.ts [typescript] format 1`] = `"Comment \\"comment\\" was not printed. Please report this error!"`; - exports[`module-attributes-static.ts [typescript] format 1`] = ` "';' expected. (1:28) > 1 | import foo from \\"foo.json\\" with type: \\"json\\"; diff --git a/tests/format/misc/errors/typescript/issue-8773.ts b/tests/format/misc/errors/typescript/issue-8773.ts deleted file mode 100644 index d844c2f19..000000000 --- a/tests/format/misc/errors/typescript/issue-8773.ts +++ /dev/null @@ -1,5 +0,0 @@ -// prettier-ignore -foo + foo; - -continue // comment -; From 181109df67d180769fc19b56e13d89836cd48ba7 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 23 Jan 2022 13:43:12 +0800 Subject: [PATCH 021/117] Build(deps-dev): Bump cspell from 5.15.2 to 5.16.0 (#12131) Bumps [cspell](https://github.com/streetsidesoftware/cspell) from 5.15.2 to 5.16.0. - [Release notes](https://github.com/streetsidesoftware/cspell/releases) - [Changelog](https://github.com/streetsidesoftware/cspell/blob/main/CHANGELOG.md) - [Commits](https://github.com/streetsidesoftware/cspell/compare/v5.15.2...v5.16.0) --- updated-dependencies: - dependency-name: cspell dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 82 ++++++++++++++++++++++++++-------------------------- 2 files changed, 42 insertions(+), 42 deletions(-) diff --git a/package.json b/package.json index 2fe5e3d88..b2ef82574 100644 --- a/package.json +++ b/package.json @@ -104,7 +104,7 @@ "builtin-modules": "3.2.0", "core-js": "3.20.3", "cross-env": "7.0.3", - "cspell": "5.15.2", + "cspell": "5.16.0", "enquirer": "2.3.6", "esbuild": "0.14.11", "esbuild-plugin-browserslist": "0.4.1", diff --git a/yarn.lock b/yarn.lock index f0c7b5574..4addea652 100644 --- a/yarn.lock +++ b/yarn.lock @@ -967,10 +967,10 @@ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@cspell/cspell-bundled-dicts@^5.15.2": - version "5.15.2" - resolved "https://registry.yarnpkg.com/@cspell/cspell-bundled-dicts/-/cspell-bundled-dicts-5.15.2.tgz#9cc960084f9e0a9dc07521fd83a1bac4deba9168" - integrity sha512-pzcEwzzqSiwuvpmLaePxI/J3fvrHxvpcKQL2LWbJyI+dvKBP7hW6EJ9rDi2tPbNWN1cabSJB/NCq16ZfJ1P0aA== +"@cspell/cspell-bundled-dicts@^5.16.0": + version "5.16.0" + resolved "https://registry.yarnpkg.com/@cspell/cspell-bundled-dicts/-/cspell-bundled-dicts-5.16.0.tgz#29bffec623ba2e5b9c06d0ed9649bd0499633259" + integrity sha512-7O8Y6FMzTn5pnHUDjnQJ3cgIAHT5jfN05NKGu9FFikmsXsMmDRikr/OeuhK5tDOWLRIxZwmFrVMMGgBe6mj26Q== dependencies: "@cspell/dict-ada" "^1.1.2" "@cspell/dict-aws" "^1.0.14" @@ -1010,10 +1010,10 @@ "@cspell/dict-typescript" "^1.0.19" "@cspell/dict-vue" "^2.0.1" -"@cspell/cspell-types@^5.15.2": - version "5.15.2" - resolved "https://registry.yarnpkg.com/@cspell/cspell-types/-/cspell-types-5.15.2.tgz#e3c48a5d4acc78c28076a803eb7064a540f3c7b8" - integrity sha512-3ec/rmAIfkxIdOC4lcqBJaGyUX8V2qapzNCntFURo727Q77EPXDFMiWmSDEyD4Xud+Sjt95ktjg5vKgL7Xf0PA== +"@cspell/cspell-types@^5.16.0": + version "5.16.0" + resolved "https://registry.yarnpkg.com/@cspell/cspell-types/-/cspell-types-5.16.0.tgz#9bc0484f65de93f81d27bfc9b4936ea86eecc0ab" + integrity sha512-pKBeOrUyZtp4DVNbikkpeAT/gob7gT2zun4v3jYdQEbDKYMRN7wTKlqfHJ4VxbF/yS45g7jizEc245xMUkxPHQ== "@cspell/dict-ada@^1.1.2": version "1.1.2" @@ -2469,40 +2469,40 @@ crypto-random-string@^2.0.0: resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5" integrity sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA== -cspell-gitignore@^5.15.2: - version "5.15.2" - resolved "https://registry.yarnpkg.com/cspell-gitignore/-/cspell-gitignore-5.15.2.tgz#fa9f62d2cb1e95f056a82eec779e48815e46e856" - integrity sha512-st2V3rNBZzmuuUVywvEkAyhFD4TLMihHjTRauc5tCLR/zvveTjdXmgGHOSEn6afjuUfB8yRk4OdtK787EMaJhA== +cspell-gitignore@^5.16.0: + version "5.16.0" + resolved "https://registry.yarnpkg.com/cspell-gitignore/-/cspell-gitignore-5.16.0.tgz#2cd55a0802f4a05ba89eb3b04c68b191c9f3843f" + integrity sha512-G7yN0R2EqFSNpn3bQ4SGOmydaaYq5BHSiPqsX3vJSJn0wErZz3m/kpKcXrtLPw5/tAM0SfZWhAp1K3MEjrb6xQ== dependencies: - cspell-glob "^5.15.2" + cspell-glob "^5.16.0" find-up "^5.0.0" -cspell-glob@^5.15.2: - version "5.15.2" - resolved "https://registry.yarnpkg.com/cspell-glob/-/cspell-glob-5.15.2.tgz#3f2ac3fabbeb04dfd4a1ed45c0ec5f978cb45349" - integrity sha512-lX14VwKOO+6CMHVobEf6br5YnIXD+MxpX/MdZPv34OsdOyQol4/gJ49MXN0suD+nTqsX0HH93B0osHfTDAXa6Q== +cspell-glob@^5.16.0: + version "5.16.0" + resolved "https://registry.yarnpkg.com/cspell-glob/-/cspell-glob-5.16.0.tgz#ea210b2a5ab7a871d2982f3806f46ecdea71c87d" + integrity sha512-u1cNhmNi5VC6QZ6W+FQEAFIowLdU+/fuh6811Hb//MfTNpe2HDbVrjredQrtaETpyImjy4VG/aA7iSWGGuUAcw== dependencies: micromatch "^4.0.4" -cspell-io@^5.15.2: - version "5.15.2" - resolved "https://registry.yarnpkg.com/cspell-io/-/cspell-io-5.15.2.tgz#38b1f515844bc9d3dc410af10adac7ce653acaa7" - integrity sha512-wqSO7RDtDKcnTvuew2kOVykxAki8xVTZWNzRJJTA0myyvNTkA9TbXS9EXR4L7BuEUfUjI8mKscmpkmvg+eRMPg== +cspell-io@^5.16.0: + version "5.16.0" + resolved "https://registry.yarnpkg.com/cspell-io/-/cspell-io-5.16.0.tgz#e7043f960071ef453ba794d0ccd096a42f24d261" + integrity sha512-nrRbNewf8PMEq8W7D1D0jEwxwJ1dH588EPPu9Q+iT+DItvcBL+mQmGlz8kS7KBh579ioW2vecWUekQ3HSmAgGg== -cspell-lib@^5.15.2: - version "5.15.2" - resolved "https://registry.yarnpkg.com/cspell-lib/-/cspell-lib-5.15.2.tgz#3047e04427cab4558230dc8106567ebebbc213b0" - integrity sha512-pSBVw8xVy/cd6W3Jx+0N4qyKQyEoN+LfqrCeA8fCpyzb0XTI50dISVghNCUHgmUuleXTZP3DCBC4YD9ZdHmwbA== +cspell-lib@^5.16.0: + version "5.16.0" + resolved "https://registry.yarnpkg.com/cspell-lib/-/cspell-lib-5.16.0.tgz#b8a3fa78bc07f7628171f4bb5146803bb5cc3ddb" + integrity sha512-IpTPseI4SounQEqfWupOLgEXPcbucWJdbCYkxKXWfl15xfWRo2seYV0RECkJ8pSZKqsCXo6x08i7CrKjvV5N5Q== dependencies: - "@cspell/cspell-bundled-dicts" "^5.15.2" - "@cspell/cspell-types" "^5.15.2" + "@cspell/cspell-bundled-dicts" "^5.16.0" + "@cspell/cspell-types" "^5.16.0" clear-module "^4.1.2" comment-json "^4.1.1" configstore "^5.0.1" cosmiconfig "^7.0.1" - cspell-glob "^5.15.2" - cspell-io "^5.15.2" - cspell-trie-lib "^5.15.2" + cspell-glob "^5.16.0" + cspell-io "^5.16.0" + cspell-trie-lib "^5.16.0" find-up "^5.0.0" fs-extra "^10.0.0" gensequence "^3.1.1" @@ -2511,25 +2511,25 @@ cspell-lib@^5.15.2: resolve-global "^1.0.0" vscode-uri "^3.0.3" -cspell-trie-lib@^5.15.2: - version "5.15.2" - resolved "https://registry.yarnpkg.com/cspell-trie-lib/-/cspell-trie-lib-5.15.2.tgz#ed0bb9902d4bfd98d4e928afb325d79aa17df44d" - integrity sha512-AKdzxwGxuuNzph7eO6nm89jyIDrbCnPVUCFDq2sSpNrn6sptmifogMvrZTHzVwFLXpusfRLpSene80A2wr5OxA== +cspell-trie-lib@^5.16.0: + version "5.16.0" + resolved "https://registry.yarnpkg.com/cspell-trie-lib/-/cspell-trie-lib-5.16.0.tgz#191d367179307cf34aed8ffa923371e5287586c1" + integrity sha512-Dpxr0SManHi4D3sAJI1SA14lwTGdmubv88yrRuFd7TU5ihG39BIMxfoAoSRWkqXUEub5QLhAKhftOBUJIm4cIw== dependencies: fs-extra "^10.0.0" gensequence "^3.1.1" -cspell@5.15.2: - version "5.15.2" - resolved "https://registry.yarnpkg.com/cspell/-/cspell-5.15.2.tgz#16ee571d3e4316085ffe39c282e360909493198b" - integrity sha512-q/UWqkDMCB83uwb6LgDr7j/79RxeWbDY28J2kqktmAOk2Th4+ZuR7/IfxHOBUFvUYtbPxp1p8iz8v57G6U97Jg== +cspell@5.16.0: + version "5.16.0" + resolved "https://registry.yarnpkg.com/cspell/-/cspell-5.16.0.tgz#bc4fab60ab259f25c4b2878bfb600850b6aa3684" + integrity sha512-giK0IZz1cK51mTSTox51GUxgcbKy5Y5yXvyqVpfQ6m4nATSuiSRiMPvlxX3Er2uAiNkolyLTIgUxBAV/c8U3PQ== dependencies: chalk "^4.1.2" commander "^8.3.0" comment-json "^4.1.1" - cspell-gitignore "^5.15.2" - cspell-glob "^5.15.2" - cspell-lib "^5.15.2" + cspell-gitignore "^5.16.0" + cspell-glob "^5.16.0" + cspell-lib "^5.16.0" fast-json-stable-stringify "^2.1.0" file-entry-cache "^6.0.1" fs-extra "^10.0.0" From d35c730a291ba88622ba05e563ee4e7fd0a2b922 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 23 Jan 2022 16:12:01 +0800 Subject: [PATCH 022/117] Build(deps-dev): Bump esbuild-plugin-browserslist from 0.4.1 to 0.4.2 (#12128) Bumps esbuild-plugin-browserslist from 0.4.1 to 0.4.2. --- updated-dependencies: - dependency-name: esbuild-plugin-browserslist dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index b2ef82574..83a395598 100644 --- a/package.json +++ b/package.json @@ -107,7 +107,7 @@ "cspell": "5.16.0", "enquirer": "2.3.6", "esbuild": "0.14.11", - "esbuild-plugin-browserslist": "0.4.1", + "esbuild-plugin-browserslist": "0.4.2", "esbuild-plugin-text-replace": "1.1.3", "eslint": "8.7.0", "eslint-config-prettier": "8.3.0", diff --git a/yarn.lock b/yarn.lock index 4addea652..3cd2ea337 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2859,10 +2859,10 @@ esbuild-openbsd-64@0.14.11: resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.11.tgz#caeff5f946f79a60ce7bcf88871ca4c71d3476e8" integrity sha512-l18TZDjmvwW6cDeR4fmizNoxndyDHamGOOAenwI4SOJbzlJmwfr0jUgjbaXCUuYVOA964siw+Ix+A+bhALWg8Q== -esbuild-plugin-browserslist@0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/esbuild-plugin-browserslist/-/esbuild-plugin-browserslist-0.4.1.tgz#05ab5ea99f4d15ff7eacc306dce9c84b32e3757a" - integrity sha512-+LyFG83Ij1lueFt2ary1aore1kFCB+NMR6+P/lqTixUM/ifu8a5d8+4KxaI2QYksQ8PaJEYh9pfYw7eY1Xabug== +esbuild-plugin-browserslist@0.4.2: + version "0.4.2" + resolved "https://registry.yarnpkg.com/esbuild-plugin-browserslist/-/esbuild-plugin-browserslist-0.4.2.tgz#d623e0d4eda99e6f360eb2e5e6302dc7cbbfcff0" + integrity sha512-uMZ5bnxfm3/UMjbhJZf3wYUC+3CRWIqvqApJFMqpGQTBnm8KVywClfdFHZFEMLhbSGkDBXTgCnaYbBHVTBFVcw== dependencies: debug "^4.3.3" zod "^3.11.6" From a184c296dae1fc191d29e9c85f067e22963e0867 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 23 Jan 2022 08:13:43 +0000 Subject: [PATCH 023/117] Build(deps-dev): Bump @typescript-eslint/eslint-plugin (#12127) --- package.json | 2 +- yarn.lock | 72 ++++++++++++++++++++++++++++++++++++++++++---------- 2 files changed, 60 insertions(+), 14 deletions(-) diff --git a/package.json b/package.json index 83a395598..8b9d69951 100644 --- a/package.json +++ b/package.json @@ -97,7 +97,7 @@ "@types/estree": "0.0.50", "@types/jest": "27.4.0", "babel-jest": "27.4.6", - "@typescript-eslint/eslint-plugin": "5.9.1", + "@typescript-eslint/eslint-plugin": "5.10.0", "babel-loader": "8.2.3", "benchmark": "2.1.4", "browserslist": "4.19.1", diff --git a/yarn.lock b/yarn.lock index 3cd2ea337..3a342bac2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1711,14 +1711,14 @@ dependencies: "@types/yargs-parser" "*" -"@typescript-eslint/eslint-plugin@5.9.1": - version "5.9.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.9.1.tgz#e5a86d7e1f9dc0b3df1e6d94feaf20dd838d066c" - integrity sha512-Xv9tkFlyD4MQGpJgTo6wqDqGvHIRmRgah/2Sjz1PUnJTawjHWIwBivUE9x0QtU2WVii9baYgavo/bHjrZJkqTw== +"@typescript-eslint/eslint-plugin@5.10.0": + version "5.10.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.10.0.tgz#e90afea96dff8620892ad216b0e4ccdf8ee32d3a" + integrity sha512-XXVKnMsq2fuu9K2KsIxPUGqb6xAImz8MEChClbXmE3VbveFtBUU5bzM6IPVWqzyADIgdkS2Ws/6Xo7W2TeZWjQ== dependencies: - "@typescript-eslint/experimental-utils" "5.9.1" - "@typescript-eslint/scope-manager" "5.9.1" - "@typescript-eslint/type-utils" "5.9.1" + "@typescript-eslint/scope-manager" "5.10.0" + "@typescript-eslint/type-utils" "5.10.0" + "@typescript-eslint/utils" "5.10.0" debug "^4.3.2" functional-red-black-tree "^1.0.1" ignore "^5.1.8" @@ -1726,7 +1726,7 @@ semver "^7.3.5" tsutils "^3.21.0" -"@typescript-eslint/experimental-utils@5.9.1", "@typescript-eslint/experimental-utils@^5.0.0": +"@typescript-eslint/experimental-utils@^5.0.0": version "5.9.1" resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-5.9.1.tgz#8c407c4dd5ffe522329df6e4c9c2b52206d5f7f1" integrity sha512-cb1Njyss0mLL9kLXgS/eEY53SZQ9sT519wpX3i+U457l2UXRDuo87hgKfgRazmu9/tQb0x2sr3Y0yrU+Zz0y+w== @@ -1738,6 +1738,14 @@ eslint-scope "^5.1.1" eslint-utils "^3.0.0" +"@typescript-eslint/scope-manager@5.10.0": + version "5.10.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.10.0.tgz#bb5d872e8b9e36203908595507fbc4d3105329cb" + integrity sha512-tgNgUgb4MhqK6DoKn3RBhyZ9aJga7EQrw+2/OiDk5hKf3pTVZWyqBi7ukP+Z0iEEDMF5FDa64LqODzlfE4O/Dg== + dependencies: + "@typescript-eslint/types" "5.10.0" + "@typescript-eslint/visitor-keys" "5.10.0" + "@typescript-eslint/scope-manager@5.9.1": version "5.9.1" resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.9.1.tgz#6c27be89f1a9409f284d95dfa08ee3400166fe69" @@ -1746,20 +1754,38 @@ "@typescript-eslint/types" "5.9.1" "@typescript-eslint/visitor-keys" "5.9.1" -"@typescript-eslint/type-utils@5.9.1": - version "5.9.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.9.1.tgz#c6832ffe655b9b1fec642d36db1a262d721193de" - integrity sha512-tRSpdBnPRssjlUh35rE9ug5HrUvaB9ntREy7gPXXKwmIx61TNN7+l5YKgi1hMKxo5NvqZCfYhA5FvyuJG6X6vg== +"@typescript-eslint/type-utils@5.10.0": + version "5.10.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.10.0.tgz#8524b9479c19c478347a7df216827e749e4a51e5" + integrity sha512-TzlyTmufJO5V886N+hTJBGIfnjQDQ32rJYxPaeiyWKdjsv2Ld5l8cbS7pxim4DeNs62fKzRSt8Q14Evs4JnZyQ== dependencies: - "@typescript-eslint/experimental-utils" "5.9.1" + "@typescript-eslint/utils" "5.10.0" debug "^4.3.2" tsutils "^3.21.0" +"@typescript-eslint/types@5.10.0": + version "5.10.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.10.0.tgz#beb3cb345076f5b088afe996d57bcd1dfddaa75c" + integrity sha512-wUljCgkqHsMZbw60IbOqT/puLfyqqD5PquGiBo1u1IS3PLxdi3RDGlyf032IJyh+eQoGhz9kzhtZa+VC4eWTlQ== + "@typescript-eslint/types@5.9.1": version "5.9.1" resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.9.1.tgz#1bef8f238a2fb32ebc6ff6d75020d9f47a1593c6" integrity sha512-SsWegWudWpkZCwwYcKoDwuAjoZXnM1y2EbEerTHho19Hmm+bQ56QG4L4jrtCu0bI5STaRTvRTZmjprWlTw/5NQ== +"@typescript-eslint/typescript-estree@5.10.0": + version "5.10.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.10.0.tgz#4be24a3dea0f930bb1397c46187d0efdd955a224" + integrity sha512-x+7e5IqfwLwsxTdliHRtlIYkgdtYXzE0CkFeV6ytAqq431ZyxCFzNMNR5sr3WOlIG/ihVZr9K/y71VHTF/DUQA== + dependencies: + "@typescript-eslint/types" "5.10.0" + "@typescript-eslint/visitor-keys" "5.10.0" + debug "^4.3.2" + globby "^11.0.4" + is-glob "^4.0.3" + semver "^7.3.5" + tsutils "^3.21.0" + "@typescript-eslint/typescript-estree@5.9.1": version "5.9.1" resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.9.1.tgz#d5b996f49476495070d2b8dd354861cf33c005d6" @@ -1773,6 +1799,26 @@ semver "^7.3.5" tsutils "^3.21.0" +"@typescript-eslint/utils@5.10.0": + version "5.10.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.10.0.tgz#c3d152a85da77c400e37281355561c72fb1b5a65" + integrity sha512-IGYwlt1CVcFoE2ueW4/ioEwybR60RAdGeiJX/iDAw0t5w0wK3S7QncDwpmsM70nKgGTuVchEWB8lwZwHqPAWRg== + dependencies: + "@types/json-schema" "^7.0.9" + "@typescript-eslint/scope-manager" "5.10.0" + "@typescript-eslint/types" "5.10.0" + "@typescript-eslint/typescript-estree" "5.10.0" + eslint-scope "^5.1.1" + eslint-utils "^3.0.0" + +"@typescript-eslint/visitor-keys@5.10.0": + version "5.10.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.10.0.tgz#770215497ad67cd15a572b52089991d5dfe06281" + integrity sha512-GMxj0K1uyrFLPKASLmZzCuSddmjZVbVj3Ouy5QVuIGKZopxvOr24JsS7gruz6C3GExE01mublZ3mIBOaon9zuQ== + dependencies: + "@typescript-eslint/types" "5.10.0" + eslint-visitor-keys "^3.0.0" + "@typescript-eslint/visitor-keys@5.9.1": version "5.9.1" resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.9.1.tgz#f52206f38128dd4f675cf28070a41596eee985b7" From 6a4bb95b18a41491290c38e568e0c596f5244be2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 23 Jan 2022 08:15:44 +0000 Subject: [PATCH 024/117] Build(deps-dev): Bump @babel/preset-env from 7.16.8 to 7.16.11 (#12124) --- package.json | 2 +- yarn.lock | 33 +++++++++++++++++++++++---------- 2 files changed, 24 insertions(+), 11 deletions(-) diff --git a/package.json b/package.json index 8b9d69951..e556e0f95 100644 --- a/package.json +++ b/package.json @@ -89,7 +89,7 @@ }, "devDependencies": { "@babel/core": "7.16.7", - "@babel/preset-env": "7.16.8", + "@babel/preset-env": "7.16.11", "@babel/types": "7.16.8", "@esbuild-plugins/node-globals-polyfill": "0.1.1", "@esbuild-plugins/node-modules-polyfill": "0.1.4", diff --git a/yarn.lock b/yarn.lock index 3a342bac2..8cbb0a7c5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -92,6 +92,19 @@ browserslist "^4.17.5" semver "^6.3.0" +"@babel/helper-create-class-features-plugin@^7.16.10": + version "7.16.10" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.16.10.tgz#8a6959b9cc818a88815ba3c5474619e9c0f2c21c" + integrity sha512-wDeej0pu3WN/ffTxMNCPW5UCiOav8IcLRxSIyp/9+IF2xJUM9h/OYjg0IJLHaL6F8oU8kqMz9nc1vryXhMsgXg== + dependencies: + "@babel/helper-annotate-as-pure" "^7.16.7" + "@babel/helper-environment-visitor" "^7.16.7" + "@babel/helper-function-name" "^7.16.7" + "@babel/helper-member-expression-to-functions" "^7.16.7" + "@babel/helper-optimise-call-expression" "^7.16.7" + "@babel/helper-replace-supers" "^7.16.7" + "@babel/helper-split-export-declaration" "^7.16.7" + "@babel/helper-create-class-features-plugin@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.16.7.tgz#9c5b34b53a01f2097daf10678d65135c1b9f84ba" @@ -420,12 +433,12 @@ "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" "@babel/plugin-syntax-optional-chaining" "^7.8.3" -"@babel/plugin-proposal-private-methods@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.7.tgz#e418e3aa6f86edd6d327ce84eff188e479f571e0" - integrity sha512-7twV3pzhrRxSwHeIvFE6coPgvo+exNDOiGUMg39o2LiLo1Y+4aKpfkcLGcg1UHonzorCt7SNXnoMyCnnIOA8Sw== +"@babel/plugin-proposal-private-methods@^7.16.11": + version "7.16.11" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.11.tgz#e8df108288555ff259f4527dbe84813aac3a1c50" + integrity sha512-F/2uAkPlXDr8+BHpZvo19w3hLFKge+k75XUprE6jaqKxjGkSYcK+4c+bup5PdW/7W/Rpjwql7FTVEDW+fRAQsw== dependencies: - "@babel/helper-create-class-features-plugin" "^7.16.7" + "@babel/helper-create-class-features-plugin" "^7.16.10" "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-proposal-private-property-in-object@^7.16.7": @@ -815,10 +828,10 @@ "@babel/helper-create-regexp-features-plugin" "^7.16.7" "@babel/helper-plugin-utils" "^7.16.7" -"@babel/preset-env@7.16.8": - version "7.16.8" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.16.8.tgz#e682fa0bcd1cf49621d64a8956318ddfb9a05af9" - integrity sha512-9rNKgVCdwHb3z1IlbMyft6yIXIeP3xz6vWvGaLHrJThuEIqWfHb0DNBH9VuTgnDfdbUDhkmkvMZS/YMCtP7Elg== +"@babel/preset-env@7.16.11": + version "7.16.11" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.16.11.tgz#5dd88fd885fae36f88fd7c8342475c9f0abe2982" + integrity sha512-qcmWG8R7ZW6WBRPZK//y+E3Cli151B20W1Rv7ln27vuPaXU/8TKms6jFdiJtF7UDTxcrb7mZd88tAeK9LjdT8g== dependencies: "@babel/compat-data" "^7.16.8" "@babel/helper-compilation-targets" "^7.16.7" @@ -838,7 +851,7 @@ "@babel/plugin-proposal-object-rest-spread" "^7.16.7" "@babel/plugin-proposal-optional-catch-binding" "^7.16.7" "@babel/plugin-proposal-optional-chaining" "^7.16.7" - "@babel/plugin-proposal-private-methods" "^7.16.7" + "@babel/plugin-proposal-private-methods" "^7.16.11" "@babel/plugin-proposal-private-property-in-object" "^7.16.7" "@babel/plugin-proposal-unicode-property-regex" "^7.16.7" "@babel/plugin-syntax-async-generators" "^7.8.4" From 9ff346720e0456df593968c72c42d160372dedf4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 23 Jan 2022 08:24:29 +0000 Subject: [PATCH 025/117] Build(deps-dev): Bump webpack from 5.66.0 to 5.67.0 in /website (#12120) --- website/package.json | 2 +- website/yarn.lock | 18 +++++++++--------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/website/package.json b/website/package.json index cb4635719..d06c334dc 100644 --- a/website/package.json +++ b/website/package.json @@ -20,7 +20,7 @@ "concurrently": "7.0.0", "docusaurus": "1.14.7", "js-yaml": "4.1.0", - "webpack": "5.66.0", + "webpack": "5.67.0", "webpack-cli": "4.9.1" } } diff --git a/website/yarn.lock b/website/yarn.lock index 8b0b81748..aa5ba530e 100644 --- a/website/yarn.lock +++ b/website/yarn.lock @@ -8252,15 +8252,15 @@ webpack-merge@^5.7.3: clone-deep "^4.0.1" wildcard "^2.0.0" -webpack-sources@^3.2.2: - version "3.2.2" - resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.2.tgz#d88e3741833efec57c4c789b6010db9977545260" - integrity sha512-cp5qdmHnu5T8wRg2G3vZZHoJPN14aqQ89SyQ11NpGH5zEMDCclt49rzo+MaRazk7/UeILhAI+/sEtcM+7Fr0nw== +webpack-sources@^3.2.3: + version "3.2.3" + resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde" + integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== -webpack@5.66.0: - version "5.66.0" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.66.0.tgz#789bf36287f407fc92b3e2d6f978ddff1bfc2dbb" - integrity sha512-NJNtGT7IKpGzdW7Iwpn/09OXz9inIkeIQ/ibY6B+MdV1x6+uReqz/5z1L89ezWnpPDWpXF0TY5PCYKQdWVn8Vg== +webpack@5.67.0: + version "5.67.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.67.0.tgz#cb43ca2aad5f7cc81c4cd36b626e6b819805dbfd" + integrity sha512-LjFbfMh89xBDpUMgA1W9Ur6Rn/gnr2Cq1jjHFPo4v6a79/ypznSYbAyPgGhwsxBtMIaEmDD1oJoA7BEYw/Fbrw== dependencies: "@types/eslint-scope" "^3.7.0" "@types/estree" "^0.0.50" @@ -8285,7 +8285,7 @@ webpack@5.66.0: tapable "^2.1.1" terser-webpack-plugin "^5.1.3" watchpack "^2.3.1" - webpack-sources "^3.2.2" + webpack-sources "^3.2.3" websocket-driver@>=0.5.1: version "0.7.4" From 7c3433cbb8f1fb88214d99c5f996c6923cec2219 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 23 Jan 2022 10:30:44 +0000 Subject: [PATCH 026/117] Build(deps): Bump resolve from 1.21.0 to 1.22.0 (#12130) --- package.json | 2 +- yarn.lock | 26 +++++++++----------------- 2 files changed, 10 insertions(+), 18 deletions(-) diff --git a/package.json b/package.json index e556e0f95..521aa8136 100644 --- a/package.json +++ b/package.json @@ -76,7 +76,7 @@ "remark-footnotes": "2.0.0", "remark-math": "3.0.1", "remark-parse": "8.0.3", - "resolve": "1.21.0", + "resolve": "1.22.0", "semver": "7.3.5", "string-width": "4.2.3", "strip-ansi": "6.0.0", diff --git a/yarn.lock b/yarn.lock index 8cbb0a7c5..ea2d11ba0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3829,10 +3829,10 @@ is-callable@^1.1.4, is-callable@^1.2.4: resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945" integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w== -is-core-module@^2.2.0, is-core-module@^2.8.0: - version "2.8.0" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.8.0.tgz#0321336c3d0925e497fd97f5d95cb114a5ccd548" - integrity sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw== +is-core-module@^2.2.0, is-core-module@^2.8.0, is-core-module@^2.8.1: + version "2.8.1" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.8.1.tgz#f59fdfca701d5879d0a6b100a40aa1560ce27211" + integrity sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA== dependencies: has "^1.0.3" @@ -5733,23 +5733,15 @@ resolve.exports@^1.1.0: resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-1.1.0.tgz#5ce842b94b05146c0e03076985d1d0e7e48c90c9" integrity sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ== -resolve@1.21.0, resolve@^1.14.2: - version "1.21.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.21.0.tgz#b51adc97f3472e6a5cf4444d34bc9d6b9037591f" - integrity sha512-3wCbTpk5WJlyE4mSOtDLhqQmGFi0/TD9VPwmiolnk8U0wRgMEktqCXd3vy5buTO3tljvalNvKrjHEfrd2WpEKA== +resolve@1.22.0, resolve@^1.10.0, resolve@^1.14.2, resolve@^1.20.0: + version "1.22.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.0.tgz#5e0b8c67c15df57a89bdbabe603a002f21731198" + integrity sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw== dependencies: - is-core-module "^2.8.0" + is-core-module "^2.8.1" path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" -resolve@^1.10.0, resolve@^1.20.0: - version "1.20.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975" - integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== - dependencies: - is-core-module "^2.2.0" - path-parse "^1.0.6" - resolve@^2.0.0-next.3: version "2.0.0-next.3" resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.3.tgz#d41016293d4a8586a39ca5d9b5f15cbea1f55e46" From d914180f51467535d3932c220742b1ab538f756d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 23 Jan 2022 23:31:55 +0800 Subject: [PATCH 027/117] Build(deps-dev): Bump @babel/core from 7.16.7 to 7.16.12 (#12132) Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.16.7 to 7.16.12. - [Release notes](https://github.com/babel/babel/releases) - [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md) - [Commits](https://github.com/babel/babel/commits/v7.16.12/packages/babel-core) --- updated-dependencies: - dependency-name: "@babel/core" dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 60 ++++++++++++++++++---------------------------------- 2 files changed, 21 insertions(+), 41 deletions(-) diff --git a/package.json b/package.json index 521aa8136..bc6168b6e 100644 --- a/package.json +++ b/package.json @@ -88,7 +88,7 @@ "yaml-unist-parser": "1.3.1" }, "devDependencies": { - "@babel/core": "7.16.7", + "@babel/core": "7.16.12", "@babel/preset-env": "7.16.11", "@babel/types": "7.16.8", "@esbuild-plugins/node-globals-polyfill": "0.1.1", diff --git a/yarn.lock b/yarn.lock index ea2d11ba0..dc2734e16 100644 --- a/yarn.lock +++ b/yarn.lock @@ -28,20 +28,20 @@ resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.16.8.tgz#31560f9f29fdf1868de8cb55049538a1b9732a60" integrity sha512-m7OkX0IdKLKPpBlJtF561YJal5y/jyI5fNfWbPxh2D/nbzzGI4qRyrD8xO2jB24u7l+5I2a43scCG2IrfjC50Q== -"@babel/core@7.16.7", "@babel/core@^7.1.0", "@babel/core@^7.12.3", "@babel/core@^7.7.2", "@babel/core@^7.8.0": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.16.7.tgz#db990f931f6d40cb9b87a0dc7d2adc749f1dcbcf" - integrity sha512-aeLaqcqThRNZYmbMqtulsetOQZ/5gbR/dWruUCJcpas4Qoyy+QeagfDsPdMrqwsPRDNxJvBlRiZxxX7THO7qtA== +"@babel/core@7.16.12", "@babel/core@^7.1.0", "@babel/core@^7.12.3", "@babel/core@^7.7.2", "@babel/core@^7.8.0": + version "7.16.12" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.16.12.tgz#5edc53c1b71e54881315923ae2aedea2522bb784" + integrity sha512-dK5PtG1uiN2ikk++5OzSYsitZKny4wOCD0nrO4TqnW4BVBTQ2NGS3NgilvT/TEyxTST7LNyWV/T4tXDoD3fOgg== dependencies: "@babel/code-frame" "^7.16.7" - "@babel/generator" "^7.16.7" + "@babel/generator" "^7.16.8" "@babel/helper-compilation-targets" "^7.16.7" "@babel/helper-module-transforms" "^7.16.7" "@babel/helpers" "^7.16.7" - "@babel/parser" "^7.16.7" + "@babel/parser" "^7.16.12" "@babel/template" "^7.16.7" - "@babel/traverse" "^7.16.7" - "@babel/types" "^7.16.7" + "@babel/traverse" "^7.16.10" + "@babel/types" "^7.16.8" convert-source-map "^1.7.0" debug "^4.1.0" gensync "^1.0.0-beta.2" @@ -49,16 +49,7 @@ semver "^6.3.0" source-map "^0.5.0" -"@babel/generator@^7.16.7", "@babel/generator@^7.7.2": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.16.7.tgz#b42bf46a3079fa65e1544135f32e7958f048adbb" - integrity sha512-/ST3Sg8MLGY5HVYmrjOgL60ENux/HfO/CsUh7y4MalThufhE/Ff/6EibFDHi4jiDCaWfJKoqbE6oTh21c5hrRg== - dependencies: - "@babel/types" "^7.16.7" - jsesc "^2.5.1" - source-map "^0.5.0" - -"@babel/generator@^7.16.8": +"@babel/generator@^7.16.8", "@babel/generator@^7.7.2": version "7.16.8" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.16.8.tgz#359d44d966b8cd059d543250ce79596f792f2ebe" integrity sha512-1ojZwE9+lOXzcWdWmO6TbUzDfqLD39CmEhN8+2cX9XkDo5yW1OpgfejfliysR2AWLpMamTiOiAp/mtroaymhpw== @@ -310,11 +301,16 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@7.16.8", "@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.7", "@babel/parser@^7.16.8", "@babel/parser@^7.7.2": +"@babel/parser@7.16.8": version "7.16.8" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.16.8.tgz#61c243a3875f7d0b0962b0543a33ece6ff2f1f17" integrity sha512-i7jDUfrVBWc+7OKcBzEe5n7fbv3i2fWtxKzzCvOjnzSxMfWMigAhtfJ7qzZNGFNMsCCd67+uz553dYKWXPvCKw== +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.10", "@babel/parser@^7.16.12", "@babel/parser@^7.16.7", "@babel/parser@^7.7.2": + version "7.16.12" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.16.12.tgz#9474794f9a650cf5e2f892444227f98e28cdf8b6" + integrity sha512-VfaV15po8RiZssrkPweyvbGVSe4x2y+aciFCgn0n0/SJMR22cwofRV1mtnJQYcSB1wUTaA/X1LnA3es66MCO5A== + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.7.tgz#4eda6d6c2a0aa79c70fa7b6da67763dfe2141050" @@ -935,26 +931,10 @@ "@babel/parser" "^7.16.7" "@babel/types" "^7.16.7" -"@babel/traverse@^7.13.0", "@babel/traverse@^7.16.7", "@babel/traverse@^7.7.2": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.16.7.tgz#dac01236a72c2560073658dd1a285fe4e0865d76" - integrity sha512-8KWJPIb8c2VvY8AJrydh6+fVRo2ODx1wYBU2398xJVq0JomuLBZmVQzLPBblJgHIGYG4znCpUZUZ0Pt2vdmVYQ== - dependencies: - "@babel/code-frame" "^7.16.7" - "@babel/generator" "^7.16.7" - "@babel/helper-environment-visitor" "^7.16.7" - "@babel/helper-function-name" "^7.16.7" - "@babel/helper-hoist-variables" "^7.16.7" - "@babel/helper-split-export-declaration" "^7.16.7" - "@babel/parser" "^7.16.7" - "@babel/types" "^7.16.7" - debug "^4.1.0" - globals "^11.1.0" - -"@babel/traverse@^7.16.8": - version "7.16.8" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.16.8.tgz#bab2f2b09a5fe8a8d9cad22cbfe3ba1d126fef9c" - integrity sha512-xe+H7JlvKsDQwXRsBhSnq1/+9c+LlQcCK3Tn/l5sbx02HYns/cn7ibp9+RV1sIUqu7hKg91NWsgHurO9dowITQ== +"@babel/traverse@^7.13.0", "@babel/traverse@^7.16.10", "@babel/traverse@^7.16.7", "@babel/traverse@^7.16.8", "@babel/traverse@^7.7.2": + version "7.16.10" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.16.10.tgz#448f940defbe95b5a8029975b051f75993e8239f" + integrity sha512-yzuaYXoRJBGMlBhsMJoUW7G1UmSb/eXr/JHYM/MsOJgavJibLwASijW7oXBdw3NQ6T0bW7Ty5P/VarOs9cHmqw== dependencies: "@babel/code-frame" "^7.16.7" "@babel/generator" "^7.16.8" @@ -962,7 +942,7 @@ "@babel/helper-function-name" "^7.16.7" "@babel/helper-hoist-variables" "^7.16.7" "@babel/helper-split-export-declaration" "^7.16.7" - "@babel/parser" "^7.16.8" + "@babel/parser" "^7.16.10" "@babel/types" "^7.16.8" debug "^4.1.0" globals "^11.1.0" From 15c4815f267f20f904a25f7cdf107a56db1b9442 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 24 Jan 2022 03:45:06 +0000 Subject: [PATCH 028/117] Build(deps): Bump node-fetch from 3.1.0 to 3.2.0 in /scripts/release (#12133) --- scripts/release/package.json | 2 +- scripts/release/yarn.lock | 24 +++++++++++++++--------- 2 files changed, 16 insertions(+), 10 deletions(-) diff --git a/scripts/release/package.json b/scripts/release/package.json index 33cd55887..b6db75c39 100644 --- a/scripts/release/package.json +++ b/scripts/release/package.json @@ -8,7 +8,7 @@ "chalk": "4.1.2", "execa": "6.0.0", "minimist": "1.2.5", - "node-fetch": "3.1.0", + "node-fetch": "3.2.0", "outdent": "0.8.0", "semver": "7.3.5", "string-width": "5.1.0" diff --git a/scripts/release/yarn.lock b/scripts/release/yarn.lock index cac09e004..3ae8183a0 100644 --- a/scripts/release/yarn.lock +++ b/scripts/release/yarn.lock @@ -1338,11 +1338,12 @@ fb-watchman@^2.0.0: dependencies: bser "2.1.1" -fetch-blob@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/fetch-blob/-/fetch-blob-3.1.2.tgz#6bc438675f3851ecea51758ac91f6a1cd1bacabd" - integrity sha512-hunJbvy/6OLjCD0uuhLdp0mMPzP/yd2ssd1t2FCJsaA7wkWhpbp9xfuNVpv7Ll4jFhzp6T4LAupSiV9uOeg0VQ== +fetch-blob@^3.1.2, fetch-blob@^3.1.4: + version "3.1.4" + resolved "https://registry.yarnpkg.com/fetch-blob/-/fetch-blob-3.1.4.tgz#e8c6567f80ad7fc22fd302e7dcb72bafde9c1717" + integrity sha512-Eq5Xv5+VlSrYWEqKrusxY1C3Hm/hjeAsCGVG3ft7pZahlUAChpGZT/Ms1WmSLnEAisEXszjzu/s+ce6HZB2VHA== dependencies: + node-domexception "^1.0.0" web-streams-polyfill "^3.0.3" fill-range@^7.0.1: @@ -2186,13 +2187,18 @@ natural-compare@^1.4.0: resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= -node-fetch@3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-3.1.0.tgz#714f4922dc270239487654eaeeab86b8206cb52e" - integrity sha512-QU0WbIfMUjd5+MUzQOYhenAazakV7Irh1SGkWCsRzBwvm4fAhzEUaHMJ6QLP7gWT6WO9/oH2zhKMMGMuIrDyKw== +node-domexception@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/node-domexception/-/node-domexception-1.0.0.tgz#6888db46a1f71c0b76b3f7555016b63fe64766e5" + integrity sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ== + +node-fetch@3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-3.2.0.tgz#59390db4e489184fa35d4b74caf5510e8dfbaf3b" + integrity sha512-8xeimMwMItMw8hRrOl3C9/xzU49HV/yE6ORew/l+dxWimO5A4Ra8ld2rerlJvc/O7et5Z1zrWsPX43v1QBjCxw== dependencies: data-uri-to-buffer "^4.0.0" - fetch-blob "^3.1.2" + fetch-blob "^3.1.4" formdata-polyfill "^4.0.10" node-int64@^0.4.0: From a67bae33a32ab17dfcdebbc91b6ccb1d4efdd5b8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 24 Jan 2022 03:49:04 +0000 Subject: [PATCH 029/117] Build(deps): Bump @typescript-eslint/typescript-estree (#12121) --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index bc6168b6e..22e60378c 100644 --- a/package.json +++ b/package.json @@ -26,7 +26,7 @@ "@babel/parser": "7.16.8", "@glimmer/syntax": "0.83.1", "@iarna/toml": "2.2.5", - "@typescript-eslint/typescript-estree": "5.9.1", + "@typescript-eslint/typescript-estree": "5.10.0", "angular-estree-parser": "2.5.0", "angular-html-parser": "1.8.0", "camelcase": "6.3.0", From 361e4aeb065c13a06bde95dd14fd51d43c499f53 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 24 Jan 2022 03:49:09 +0000 Subject: [PATCH 030/117] Build(deps): Bump @typescript-eslint/typescript-estree (#12121) From 07c2158c7bd5d658b81cb35a905341004ba4599d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 24 Jan 2022 15:21:21 +0800 Subject: [PATCH 031/117] Build(deps-dev): Bump node-fetch from 3.1.0 to 3.1.1 (#12135) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 24 +++++++++++++++--------- 2 files changed, 16 insertions(+), 10 deletions(-) diff --git a/package.json b/package.json index 22e60378c..9de67e5f3 100644 --- a/package.json +++ b/package.json @@ -126,7 +126,7 @@ "jest-snapshot-serializer-raw": "1.2.0", "jest-watch-typeahead": "1.0.0", "node-actionlint": "1.2.2", - "node-fetch": "3.1.0", + "node-fetch": "3.1.1", "npm-run-all": "4.1.5", "path-browserify": "1.0.1", "prettier": "2.5.1", diff --git a/yarn.lock b/yarn.lock index dc2734e16..441289616 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3334,11 +3334,12 @@ fb-watchman@^2.0.0: dependencies: bser "2.1.1" -fetch-blob@^3.1.2: - version "3.1.3" - resolved "https://registry.yarnpkg.com/fetch-blob/-/fetch-blob-3.1.3.tgz#a7dca4855e39d3e3c5a1da62d4ee335c37d26012" - integrity sha512-ax1Y5I9w+9+JiM+wdHkhBoxew+zG4AJ2SvAD1v1szpddUIiPERVGBxrMcB2ZqW0Y3PP8bOWYv2zqQq1Jp2kqUQ== +fetch-blob@^3.1.2, fetch-blob@^3.1.3: + version "3.1.4" + resolved "https://registry.yarnpkg.com/fetch-blob/-/fetch-blob-3.1.4.tgz#e8c6567f80ad7fc22fd302e7dcb72bafde9c1717" + integrity sha512-Eq5Xv5+VlSrYWEqKrusxY1C3Hm/hjeAsCGVG3ft7pZahlUAChpGZT/Ms1WmSLnEAisEXszjzu/s+ce6HZB2VHA== dependencies: + node-domexception "^1.0.0" web-streams-polyfill "^3.0.3" file-entry-cache@^6.0.1: @@ -4988,13 +4989,18 @@ node-actionlint@1.2.2: chalk "^4.1.1" fast-glob "^3.2.7" -node-fetch@3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-3.1.0.tgz#714f4922dc270239487654eaeeab86b8206cb52e" - integrity sha512-QU0WbIfMUjd5+MUzQOYhenAazakV7Irh1SGkWCsRzBwvm4fAhzEUaHMJ6QLP7gWT6WO9/oH2zhKMMGMuIrDyKw== +node-domexception@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/node-domexception/-/node-domexception-1.0.0.tgz#6888db46a1f71c0b76b3f7555016b63fe64766e5" + integrity sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ== + +node-fetch@3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-3.1.1.tgz#d0d9607e455b3087e3092b821b5b1f1ebf4c2147" + integrity sha512-SMk+vKgU77PYotRdWzqZGTZeuFKlsJ0hu4KPviQKkfY+N3vn2MIzr0rvpnYpR8MtB3IEuhlEcuOLbGvLRlA+yg== dependencies: data-uri-to-buffer "^4.0.0" - fetch-blob "^3.1.2" + fetch-blob "^3.1.3" formdata-polyfill "^4.0.10" node-int64@^0.4.0: From 249096c749c36c83f44abdf04eac3f3df29663ad Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 24 Jan 2022 17:29:19 +0800 Subject: [PATCH 032/117] Build(deps): Bump @babel/parser from 7.16.8 to 7.16.12 (#12126) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: fisker Cheung --- package.json | 2 +- .../js/in/__snapshots__/jsfmt.spec.js.snap | 33 +++++++++++++++++++ tests/format/js/in/arrow-function-invalid.js | 1 + tests/format/js/in/arrow-function.js | 3 ++ tests/format/js/in/jsfmt.spec.js | 3 ++ yarn.lock | 7 +--- 6 files changed, 42 insertions(+), 7 deletions(-) create mode 100644 tests/format/js/in/__snapshots__/jsfmt.spec.js.snap create mode 100644 tests/format/js/in/arrow-function-invalid.js create mode 100644 tests/format/js/in/arrow-function.js create mode 100644 tests/format/js/in/jsfmt.spec.js diff --git a/package.json b/package.json index 9de67e5f3..c4c9f67e9 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,7 @@ "dependencies": { "@angular/compiler": "12.2.15", "@babel/code-frame": "7.16.7", - "@babel/parser": "7.16.8", + "@babel/parser": "7.16.12", "@glimmer/syntax": "0.83.1", "@iarna/toml": "2.2.5", "@typescript-eslint/typescript-estree": "5.10.0", diff --git a/tests/format/js/in/__snapshots__/jsfmt.spec.js.snap b/tests/format/js/in/__snapshots__/jsfmt.spec.js.snap new file mode 100644 index 000000000..ca4e4ca0c --- /dev/null +++ b/tests/format/js/in/__snapshots__/jsfmt.spec.js.snap @@ -0,0 +1,33 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`arrow-function.js format 1`] = ` +====================================options===================================== +parsers: ["babel", "flow", "typescript"] +printWidth: 80 + | printWidth +=====================================input====================================== +const x = () => [].includes(true) || "ontouchend" in document + +const y = () => [] in x + +=====================================output===================================== +const x = () => [].includes(true) || "ontouchend" in document; + +const y = () => [] in x; + +================================================================================ +`; + +exports[`arrow-function-invalid.js format 1`] = ` +====================================options===================================== +parsers: ["babel", "flow", "typescript"] +printWidth: 80 + | printWidth +=====================================input====================================== +() => [] in x + +=====================================output===================================== +() => [] in x; + +================================================================================ +`; diff --git a/tests/format/js/in/arrow-function-invalid.js b/tests/format/js/in/arrow-function-invalid.js new file mode 100644 index 000000000..bb4eca799 --- /dev/null +++ b/tests/format/js/in/arrow-function-invalid.js @@ -0,0 +1 @@ +() => [] in x diff --git a/tests/format/js/in/arrow-function.js b/tests/format/js/in/arrow-function.js new file mode 100644 index 000000000..7ba44a835 --- /dev/null +++ b/tests/format/js/in/arrow-function.js @@ -0,0 +1,3 @@ +const x = () => [].includes(true) || "ontouchend" in document + +const y = () => [] in x diff --git a/tests/format/js/in/jsfmt.spec.js b/tests/format/js/in/jsfmt.spec.js new file mode 100644 index 000000000..270de08db --- /dev/null +++ b/tests/format/js/in/jsfmt.spec.js @@ -0,0 +1,3 @@ +run_spec(__dirname, ["babel", "flow", "typescript"], { + errors: ["arrow-function-invalid.js"], +}); diff --git a/yarn.lock b/yarn.lock index 441289616..c97eb63fd 100644 --- a/yarn.lock +++ b/yarn.lock @@ -301,12 +301,7 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@7.16.8": - version "7.16.8" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.16.8.tgz#61c243a3875f7d0b0962b0543a33ece6ff2f1f17" - integrity sha512-i7jDUfrVBWc+7OKcBzEe5n7fbv3i2fWtxKzzCvOjnzSxMfWMigAhtfJ7qzZNGFNMsCCd67+uz553dYKWXPvCKw== - -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.10", "@babel/parser@^7.16.12", "@babel/parser@^7.16.7", "@babel/parser@^7.7.2": +"@babel/parser@7.16.12", "@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.10", "@babel/parser@^7.16.12", "@babel/parser@^7.16.7", "@babel/parser@^7.7.2": version "7.16.12" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.16.12.tgz#9474794f9a650cf5e2f892444227f98e28cdf8b6" integrity sha512-VfaV15po8RiZssrkPweyvbGVSe4x2y+aciFCgn0n0/SJMR22cwofRV1mtnJQYcSB1wUTaA/X1LnA3es66MCO5A== From 7b480b1400c75fbf61bf0518d286d338a792c39f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 24 Jan 2022 17:29:31 +0800 Subject: [PATCH 033/117] Build(deps-dev): Bump esbuild from 0.14.11 to 0.14.13 (#12129) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: fisker Cheung --- package.json | 2 +- scripts/build/bundler.mjs | 12 +- .../build/esbuild-plugins/replace-module.mjs | 31 +-- yarn.lock | 188 +++++++++--------- 4 files changed, 121 insertions(+), 112 deletions(-) diff --git a/package.json b/package.json index c4c9f67e9..7bade5b47 100644 --- a/package.json +++ b/package.json @@ -106,7 +106,7 @@ "cross-env": "7.0.3", "cspell": "5.16.0", "enquirer": "2.3.6", - "esbuild": "0.14.11", + "esbuild": "0.14.13", "esbuild-plugin-browserslist": "0.4.2", "esbuild-plugin-text-replace": "1.1.3", "eslint": "8.7.0", diff --git a/scripts/build/bundler.mjs b/scripts/build/bundler.mjs index ceb8d22f1..126e4252e 100644 --- a/scripts/build/bundler.mjs +++ b/scripts/build/bundler.mjs @@ -97,7 +97,10 @@ function* getEsbuildOptions(bundle, options) { // Replace other bundled files if (bundle.target === "node") { // Replace package.json with dynamic `require("./package.json")` - replaceModule[path.join(PROJECT_ROOT, "package.json")] = "./package.json"; + replaceModule[path.join(PROJECT_ROOT, "package.json")] = { + path: "./package.json", + external: true, + }; // Dynamic require bundled files for (const item of bundles) { @@ -109,7 +112,7 @@ function* getEsbuildOptions(bundle, options) { // Universal bundle only use version info from package.json // Replace package.json with `{version: "{VERSION}"}` replaceModule[path.join(PROJECT_ROOT, "package.json")] = { - code: `module.exports = ${JSON.stringify({ + contents: `module.exports = ${JSON.stringify({ version: packageJson.version, })};`, }; @@ -124,7 +127,7 @@ function* getEsbuildOptions(bundle, options) { "src/language-markdown/parsers.js", "src/language-yaml/parsers.js", ]) { - replaceModule[path.join(PROJECT_ROOT, file)] = { code: "" }; + replaceModule[path.join(PROJECT_ROOT, file)] = { contents: "" }; } } @@ -192,10 +195,9 @@ function* getEsbuildOptions(bundle, options) { } else { esbuildOptions.external.push( ...builtinModules, - "./package.json*", ...bundles .filter((item) => item.input !== bundle.input) - .map((item) => `./${item.output}*`) + .map((item) => `./${item.output}`) ); yield { diff --git a/scripts/build/esbuild-plugins/replace-module.mjs b/scripts/build/esbuild-plugins/replace-module.mjs index e4fba83eb..2b1147f56 100644 --- a/scripts/build/esbuild-plugins/replace-module.mjs +++ b/scripts/build/esbuild-plugins/replace-module.mjs @@ -1,5 +1,3 @@ -import fs from "node:fs"; - export default function esbuildPluginReplaceModule(replacements = {}) { return { name: "replace-module", @@ -9,25 +7,34 @@ export default function esbuildPluginReplaceModule(replacements = {}) { return; } - const replacement = replacements[path]; + let replacement = replacements[path]; if (typeof replacement === "string") { + replacement = { path: replacement }; + } + + if (replacement.external) { + // Prevent `esbuild` to resolve return { - contents: `module.exports = require(${JSON.stringify( - replacement - )});`, + contents: ` + module.exports = require.call(undefined, ${JSON.stringify( + `${replacement.path}` + )}); + `, }; } - if (replacement.file) { - return { - contents: fs.readFileSync(replacement.file, "utf8"), + if (replacement.path) { + replacement = { + contents: ` + module.exports = require(${JSON.stringify( + `${replacement.path}` + )}); + `, }; } - return { - contents: replacement.code, - }; + return replacement; }); }, }; diff --git a/yarn.lock b/yarn.lock index c97eb63fd..767cfeb26 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2823,75 +2823,75 @@ es-to-primitive@^1.2.1: is-date-object "^1.0.1" is-symbol "^1.0.2" -esbuild-android-arm64@0.14.11: - version "0.14.11" - resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.11.tgz#b8b34e35a5b43880664ac7a3fbc70243d7ed894f" - integrity sha512-6iHjgvMnC/SzDH8TefL+/3lgCjYWwAd1LixYfmz/TBPbDQlxcuSkX0yiQgcJB9k+ibZ54yjVXziIwGdlc+6WNw== +esbuild-android-arm64@0.14.13: + version "0.14.13" + resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.13.tgz#a5c8cb275dc6dcaf2390abb639791ffc4aa6ead1" + integrity sha512-rhtwl+KJ3BzzXkK09N3/YbEF1i5WhriysJEStoeWNBzchx9hlmzyWmDGQQhu56HF78ua3JrVPyLOsdLGvtMvxQ== -esbuild-darwin-64@0.14.11: - version "0.14.11" - resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.11.tgz#ba805de98c0412e50fcd0636451797da157b0625" - integrity sha512-olq84ikh6TiBcrs3FnM4eR5VPPlcJcdW8BnUz/lNoEWYifYQ+Po5DuYV1oz1CTFMw4k6bQIZl8T3yxL+ZT2uvQ== +esbuild-darwin-64@0.14.13: + version "0.14.13" + resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.13.tgz#51ad2fbf8c9d73c1d40e5f9ab6122ffa95f5b494" + integrity sha512-Fl47xIt5RMu50WIgMU93kwmUUJb+BPuL8R895n/aBNQqavS+KUMpLPoqKGABBV4myfx/fnAD/97X8Gt1C1YW6w== -esbuild-darwin-arm64@0.14.11: - version "0.14.11" - resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.11.tgz#4d3573e448af76ce33e16231f3d9f878542d6fe8" - integrity sha512-Jj0ieWLREPBYr/TZJrb2GFH8PVzDqiQWavo1pOFFShrcmHWDBDrlDxPzEZ67NF/Un3t6sNNmeI1TUS/fe1xARg== +esbuild-darwin-arm64@0.14.13: + version "0.14.13" + resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.13.tgz#7ff177193cffbba518a59dfa4666a2fbb3345330" + integrity sha512-UttqKRFXsWvuivcyAbFmo54vdkC9Me1ZYQNuoz/uBYDbkb2MgqKYG2+xoVKPBhLvhT0CKM5QGKD81flMH5BE6A== -esbuild-freebsd-64@0.14.11: - version "0.14.11" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.11.tgz#9294e6ab359ec93590ab097b0f2017de7c78ab4d" - integrity sha512-C5sT3/XIztxxz/zwDjPRHyzj/NJFOnakAanXuyfLDwhwupKPd76/PPHHyJx6Po6NI6PomgVp/zi6GRB8PfrOTA== +esbuild-freebsd-64@0.14.13: + version "0.14.13" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.13.tgz#648357ff0ca399ce65f7e7ebfff701cf105c70f3" + integrity sha512-dlIhPFSp29Yq2TPh7Cm3/4M0uKjlfvOylHVNCRvRNiOvDbBol6/NZ3kLisczms+Yra0rxVapBPN1oMbSMuts9g== -esbuild-freebsd-arm64@0.14.11: - version "0.14.11" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.11.tgz#ae3e0b09173350b66cf8321583c9a1c1fcb8bb55" - integrity sha512-y3Llu4wbs0bk4cwjsdAtVOesXb6JkdfZDLKMt+v1U3tOEPBdSu6w8796VTksJgPfqvpX22JmPLClls0h5p+L9w== +esbuild-freebsd-arm64@0.14.13: + version "0.14.13" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.13.tgz#7cb0016dd64fd116624c56dcfe58b27fac8ceaee" + integrity sha512-bNOHLu7Oq6RwaAMnwPbJ40DVGPl9GlAOnfH/dFZ792f8hFEbopkbtVzo1SU1jjfY3TGLWOgqHNWxPxx1N7Au+g== -esbuild-linux-32@0.14.11: - version "0.14.11" - resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.11.tgz#ddadbc7038aa5a6b1675bb1503cf79a0cbf1229a" - integrity sha512-Cg3nVsxArjyLke9EuwictFF3Sva+UlDTwHIuIyx8qpxRYAOUTmxr2LzYrhHyTcGOleLGXUXYsnUVwKqnKAgkcg== +esbuild-linux-32@0.14.13: + version "0.14.13" + resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.13.tgz#50b197f6831e824660ab80d011b656505a0aae32" + integrity sha512-WzXyBx6zx16adGi7wPBvH2lRCBzYMcqnBRrJ8ciLIqYyruGvprZocX1nFWfiexjLcFxIElWnMNPX6LG7ULqyXA== -esbuild-linux-64@0.14.11: - version "0.14.11" - resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.11.tgz#d698e3ce3a231ddfeec6b5df8c546ae8883fcd88" - integrity sha512-oeR6dIrrojr8DKVrxtH3xl4eencmjsgI6kPkDCRIIFwv4p+K7ySviM85K66BN01oLjzthpUMvBVfWSJkBLeRbg== +esbuild-linux-64@0.14.13: + version "0.14.13" + resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.13.tgz#d2ee4d780e3cadd129ab8988c7c75ca4bd636f3a" + integrity sha512-P6OFAfcoUvE7g9h/0UKm3qagvTovwqpCF1wbFLWe/BcCY8BS1bR/+SxUjCeKX2BcpIsg4/43ezHDE/ntg/iOpw== -esbuild-linux-arm64@0.14.11: - version "0.14.11" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.11.tgz#85faea9fa99ad355b5e3b283197a4dfd0a110fe7" - integrity sha512-+e6ZCgTFQYZlmg2OqLkg1jHLYtkNDksxWDBWNtI4XG4WxuOCUErLqfEt9qWjvzK3XBcCzHImrajkUjO+rRkbMg== +esbuild-linux-arm64@0.14.13: + version "0.14.13" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.13.tgz#9151963c55cd42968c97f2fd354cd6ff9b3cb476" + integrity sha512-k/uIvmkm4mc7vyMvJVwILgGxi2F+FuvLdmESIIWoHrnxEfEekC5AWpI/R6GQ2OMfp8snebSQLs8KL05QPnt1zA== -esbuild-linux-arm@0.14.11: - version "0.14.11" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.11.tgz#74cbcf0b8a22c8401bcbcd6ebd4cbf2baca8b7b4" - integrity sha512-vcwskfD9g0tojux/ZaTJptJQU3a7YgTYsptK1y6LQ/rJmw7U5QJvboNawqM98Ca3ToYEucfCRGbl66OTNtp6KQ== +esbuild-linux-arm@0.14.13: + version "0.14.13" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.13.tgz#80e94cd8920607dc0addb97bac7ff5988d0fc28f" + integrity sha512-4jmm0UySCg3Wi6FEBS7jpiPb1IyckI5um5kzYRwulHxPzkiokd6cgpcsTakR4/Y84UEicS8LnFAghHhXHZhbFg== -esbuild-linux-mips64le@0.14.11: - version "0.14.11" - resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.11.tgz#490429211a3233f5cbbd8575b7758b897e42979a" - integrity sha512-Rrs99L+p54vepmXIb87xTG6ukrQv+CzrM8eoeR+r/OFL2Rg8RlyEtCeshXJ2+Q66MXZOgPJaokXJZb9snq28bw== +esbuild-linux-mips64le@0.14.13: + version "0.14.13" + resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.13.tgz#8e7eeef567b0895f2ecc4d66b1f1e5a542f1ce5b" + integrity sha512-vwYtgjQ1TRlUGL88km9wH9TjXsdZyZ/Xht1ASptg5XGRlqGquVjLGH11PfLLunoMdkQ0YTXR68b4l5gRfjVbyg== -esbuild-linux-ppc64le@0.14.11: - version "0.14.11" - resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.11.tgz#fc79d60710213b5b98345f5b138d48245616827a" - integrity sha512-JyzziGAI0D30Vyzt0HDihp4s1IUtJ3ssV2zx9O/c+U/dhUHVP2TmlYjzCfCr2Q6mwXTeloDcLS4qkyvJtYptdQ== +esbuild-linux-ppc64le@0.14.13: + version "0.14.13" + resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.13.tgz#ffbe9915a1d8080f9810a9c5938f453003c6de98" + integrity sha512-0KqDSIkZaYugtcdpFCd3eQ38Fg6TzhxmOpkhDIKNTwD/W2RoXeiS+Z4y5yQ3oysb/ySDOxWkwNqTdXS4sz2LdQ== -esbuild-linux-s390x@0.14.11: - version "0.14.11" - resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.11.tgz#ca4b93556bbba6cc95b0644f2ee93c982165ba07" - integrity sha512-DoThrkzunZ1nfRGoDN6REwmo8ZZWHd2ztniPVIR5RMw/Il9wiWEYBahb8jnMzQaSOxBsGp0PbyJeVLTUatnlcw== +esbuild-linux-s390x@0.14.13: + version "0.14.13" + resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.13.tgz#e27274d12f198580892432115fc0de432431d33d" + integrity sha512-bG20i7d0CN97fwPN9LaLe64E2IrI0fPZWEcoiff9hzzsvo/fQCx0YjMbPC2T3gqQ48QZRltdU9hQilTjHk3geQ== -esbuild-netbsd-64@0.14.11: - version "0.14.11" - resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.11.tgz#edb340bc6653c88804cac2253e21b74258fce165" - integrity sha512-12luoRQz+6eihKYh1zjrw0CBa2aw3twIiHV/FAfjh2NEBDgJQOY4WCEUEN+Rgon7xmLh4XUxCQjnwrvf8zhACw== +esbuild-netbsd-64@0.14.13: + version "0.14.13" + resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.13.tgz#78199fa57d5794e6ac6c33993dd0588fba22b353" + integrity sha512-jz96PQb0ltqyqLggPpcRbWxzLvWHvrZBHZQyjcOzKRDqg1fR/R1y10b1Cuv84xoIbdAf+ceNUJkMN21FfR9G2g== -esbuild-openbsd-64@0.14.11: - version "0.14.11" - resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.11.tgz#caeff5f946f79a60ce7bcf88871ca4c71d3476e8" - integrity sha512-l18TZDjmvwW6cDeR4fmizNoxndyDHamGOOAenwI4SOJbzlJmwfr0jUgjbaXCUuYVOA964siw+Ix+A+bhALWg8Q== +esbuild-openbsd-64@0.14.13: + version "0.14.13" + resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.13.tgz#5394336b602e1db15583bbef7d827a2b9648e373" + integrity sha512-bp6zSo3kDCXKPM5MmVUg6DEpt+yXDx37iDGzNTn3Kf9xh6d0cdITxUC4Bx6S3Di79GVYubWs+wNjSRVFIJpryw== esbuild-plugin-browserslist@0.4.2: version "0.4.2" @@ -2908,49 +2908,49 @@ esbuild-plugin-text-replace@1.1.3: dependencies: ts-replace-all "^1.0.0" -esbuild-sunos-64@0.14.11: - version "0.14.11" - resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.11.tgz#90ce7e1749c2958a53509b4bae7b8f7d98f276d6" - integrity sha512-bmYzDtwASBB8c+0/HVOAiE9diR7+8zLm/i3kEojUH2z0aIs6x/S4KiTuT5/0VKJ4zk69kXel1cNWlHBMkmavQg== +esbuild-sunos-64@0.14.13: + version "0.14.13" + resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.13.tgz#4afcddcece51f943149fa07274bd58f64e0913a8" + integrity sha512-08Fne1T9QHYxUnu55sV9V4i/yECADOaI1zMGET2YUa8SRkib10i80hc89U7U/G02DxpN/KUJMWEGq2wKTn0QFQ== -esbuild-windows-32@0.14.11: - version "0.14.11" - resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.11.tgz#d067f4ce15b29efba6336e6a23597120fafe49ec" - integrity sha512-J1Ys5hMid8QgdY00OBvIolXgCQn1ARhYtxPnG6ESWNTty3ashtc4+As5nTrsErnv8ZGUcWZe4WzTP/DmEVX1UQ== +esbuild-windows-32@0.14.13: + version "0.14.13" + resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.13.tgz#cb06267f270bbf7ea6631cc78b8f6e3647975c44" + integrity sha512-MW3BMIi9+fzTyDdljH0ftfT/qlD3t+aVzle1O+zZ2MgHRMQD20JwWgyqoJXhe6uDVyunrAUbcjH3qTIEZN3isg== -esbuild-windows-64@0.14.11: - version "0.14.11" - resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.11.tgz#13e86dd37a6cd61a5276fa2d271342d0f74da864" - integrity sha512-h9FmMskMuGeN/9G9+LlHPAoiQk9jlKDUn9yA0MpiGzwLa82E7r1b1u+h2a+InprbSnSLxDq/7p5YGtYVO85Mlg== +esbuild-windows-64@0.14.13: + version "0.14.13" + resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.13.tgz#3bbfba58e0185121280bd47ccd073b6c1849fd27" + integrity sha512-d7+0N+EOgBKdi/nMxlQ8QA5xHBlpcLtSrYnHsA+Xp4yZk28dYfRw1+embsHf5uN5/1iPvrJwPrcpgDH1xyy4JA== -esbuild-windows-arm64@0.14.11: - version "0.14.11" - resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.11.tgz#e8edfdf1d712085e6dc3fba18a0c225aaae32b75" - integrity sha512-dZp7Krv13KpwKklt9/1vBFBMqxEQIO6ri7Azf8C+ob4zOegpJmha2XY9VVWP/OyQ0OWk6cEeIzMJwInRZrzBUQ== +esbuild-windows-arm64@0.14.13: + version "0.14.13" + resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.13.tgz#9203d40d915d809c50bc91af5a8373e5f5abfc4c" + integrity sha512-oX5hmgXk9yNKbb5AxThzRQm/E9kiHyDll7JJeyeT1fuGENTifv33f0INCpjBQ+Ty5ChKc84++ZQTEBwLCA12Kw== -esbuild@0.14.11: - version "0.14.11" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.11.tgz#ac4acb78907874832afb704c3afe58ad37715c27" - integrity sha512-xZvPtVj6yecnDeFb3KjjCM6i7B5TCAQZT77kkW/CpXTMnd6VLnRPKrUB1XHI1pSq6a4Zcy3BGueQ8VljqjDGCg== +esbuild@0.14.13: + version "0.14.13" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.13.tgz#ce3fc7c45a6b8a40caad43daa39cdb9c1e84930a" + integrity sha512-FIxvAdj3i2oHA6ex+E67bG7zlSTO+slt8kU2ogHDgGtrQLy2HNChv3PYjiFTYkt8hZbEAniZCXVeHn+FrHt7dA== optionalDependencies: - esbuild-android-arm64 "0.14.11" - esbuild-darwin-64 "0.14.11" - esbuild-darwin-arm64 "0.14.11" - esbuild-freebsd-64 "0.14.11" - esbuild-freebsd-arm64 "0.14.11" - esbuild-linux-32 "0.14.11" - esbuild-linux-64 "0.14.11" - esbuild-linux-arm "0.14.11" - esbuild-linux-arm64 "0.14.11" - esbuild-linux-mips64le "0.14.11" - esbuild-linux-ppc64le "0.14.11" - esbuild-linux-s390x "0.14.11" - esbuild-netbsd-64 "0.14.11" - esbuild-openbsd-64 "0.14.11" - esbuild-sunos-64 "0.14.11" - esbuild-windows-32 "0.14.11" - esbuild-windows-64 "0.14.11" - esbuild-windows-arm64 "0.14.11" + esbuild-android-arm64 "0.14.13" + esbuild-darwin-64 "0.14.13" + esbuild-darwin-arm64 "0.14.13" + esbuild-freebsd-64 "0.14.13" + esbuild-freebsd-arm64 "0.14.13" + esbuild-linux-32 "0.14.13" + esbuild-linux-64 "0.14.13" + esbuild-linux-arm "0.14.13" + esbuild-linux-arm64 "0.14.13" + esbuild-linux-mips64le "0.14.13" + esbuild-linux-ppc64le "0.14.13" + esbuild-linux-s390x "0.14.13" + esbuild-netbsd-64 "0.14.13" + esbuild-openbsd-64 "0.14.13" + esbuild-sunos-64 "0.14.13" + esbuild-windows-32 "0.14.13" + esbuild-windows-64 "0.14.13" + esbuild-windows-arm64 "0.14.13" escalade@^3.1.1: version "3.1.1" From 4dd195099e533cfa3ac372119eb796c8114b3246 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 24 Jan 2022 12:05:25 +0000 Subject: [PATCH 034/117] Build(deps): Bump typescript from 4.5.4 to 4.5.5 (#12119) --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 7bade5b47..72043edf3 100644 --- a/package.json +++ b/package.json @@ -80,7 +80,7 @@ "semver": "7.3.5", "string-width": "4.2.3", "strip-ansi": "6.0.0", - "typescript": "4.5.4", + "typescript": "4.5.5", "unicode-regex": "3.0.0", "unified": "9.2.1", "vnopts": "1.0.2", diff --git a/yarn.lock b/yarn.lock index 767cfeb26..e930f9fa5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6376,10 +6376,10 @@ typedarray-to-buffer@^3.1.5: dependencies: is-typedarray "^1.0.0" -typescript@4.5.4: - version "4.5.4" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.5.4.tgz#a17d3a0263bf5c8723b9c52f43c5084edf13c2e8" - integrity sha512-VgYs2A2QIRuGphtzFV7aQJduJ2gyfTljngLzjpfW9FoYZF6xuw1W0vW9ghCKLfcWrCFxK81CSGRAvS1pn4fIUg== +typescript@4.5.5: + version "4.5.5" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.5.5.tgz#d8c953832d28924a9e3d37c73d729c846c5896f3" + integrity sha512-TCTIul70LyWe6IJWT8QSYeA54WQe8EjQFU4wY52Fasj5UKx88LNYKCgBEHcOMOrFF1rKGbD8v/xcNWVUq9SymA== unbox-primitive@^1.0.1: version "1.0.1" From 38b5b98393063ad0d0f52f4a988328fe75240726 Mon Sep 17 00:00:00 2001 From: Joel Bradshaw Date: Tue, 25 Jan 2022 07:33:05 -0800 Subject: [PATCH 035/117] Clarify documentation around proseWrap (#12134) * Clarify documentation around proseWrap These docs were a bit misleading, describing never as "opt-out" when it in fact can result in massive changes in an existing wrapped file is confusing, and referring to the default behavior as "wrapping as-is" is confusing, because Prettier isn't actually doing any wrapping - it's just leaving it as-is. Hopefully this is clearer. * Update stable version docs Co-authored-by: fisker Cheung --- docs/options.md | 6 +++--- website/versioned_docs/version-stable/options.md | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/options.md b/docs/options.md index de7848fa9..ae3c8406f 100644 --- a/docs/options.md +++ b/docs/options.md @@ -350,13 +350,13 @@ Note that “in tandem” doesn’t mean “at the same time”. When the two op _First available in v1.8.2_ -By default, Prettier will wrap markdown text as-is since some services use a linebreak-sensitive renderer, e.g. GitHub comment and BitBucket. In some cases you may want to rely on editor/viewer soft wrapping instead, so this option allows you to opt out with `"never"`. +By default, Prettier will not change wrapping in markdown text since some services use a linebreak-sensitive renderer, e.g. GitHub comments and BitBucket. To have Prettier wrap prose to the print width, change this option to "always". If you want Prettier to force all prose blocks to be on a single line and rely on editor/viewer soft wrapping instead, you can use `"never"`. Valid options: - `"always"` - Wrap prose if it exceeds the print width. -- `"never"` - Do not wrap prose. -- `"preserve"` - Wrap prose as-is. _First available in v1.9.0_ +- `"never"` - Un-wrap each block of prose into one line. +- `"preserve"` - Do nothing, leave prose as-is. _First available in v1.9.0_ | Default | CLI Override | API Override | | ------------ | ----------------------------------------------------------- | ----------------------------------------------------------- | diff --git a/website/versioned_docs/version-stable/options.md b/website/versioned_docs/version-stable/options.md index 6e1c4b3d7..7f47cc830 100644 --- a/website/versioned_docs/version-stable/options.md +++ b/website/versioned_docs/version-stable/options.md @@ -345,13 +345,13 @@ Note that “in tandem” doesn’t mean “at the same time”. When the two op _First available in v1.8.2_ -By default, Prettier will wrap markdown text as-is since some services use a linebreak-sensitive renderer, e.g. GitHub comment and BitBucket. In some cases you may want to rely on editor/viewer soft wrapping instead, so this option allows you to opt out with `"never"`. +By default, Prettier will not change wrapping in markdown text since some services use a linebreak-sensitive renderer, e.g. GitHub comments and BitBucket. To have Prettier wrap prose to the print width, change this option to "always". If you want Prettier to force all prose blocks to be on a single line and rely on editor/viewer soft wrapping instead, you can use `"never"`. Valid options: - `"always"` - Wrap prose if it exceeds the print width. -- `"never"` - Do not wrap prose. -- `"preserve"` - Wrap prose as-is. _First available in v1.9.0_ +- `"never"` - Un-wrap each block of prose into one line. +- `"preserve"` - Do nothing, leave prose as-is. _First available in v1.9.0_ | Default | CLI Override | API Override | | ------------ | ----------------------------------------------------------- | ----------------------------------------------------------- | From 2c5839b4acdedd7c5515c502f865f3c29eba62d2 Mon Sep 17 00:00:00 2001 From: fisker Cheung Date: Wed, 26 Jan 2022 08:56:44 +0800 Subject: [PATCH 036/117] Exclude `assert` shim (#12147) --- scripts/build/bundler.mjs | 13 +++++++++---- scripts/build/shims/assert.cjs | 4 ++++ 2 files changed, 13 insertions(+), 4 deletions(-) create mode 100644 scripts/build/shims/assert.cjs diff --git a/scripts/build/bundler.mjs b/scripts/build/bundler.mjs index 126e4252e..b61b703ba 100644 --- a/scripts/build/bundler.mjs +++ b/scripts/build/bundler.mjs @@ -71,7 +71,7 @@ function getBabelConfig(bundle) { return config; } -function* getEsbuildOptions(bundle, options) { +async function* getEsbuildOptions(bundle, options) { const replaceStrings = { "process.env.PRETTIER_TARGET": JSON.stringify(bundle.target), "process.env.NODE_ENV": JSON.stringify("production"), @@ -129,6 +129,11 @@ function* getEsbuildOptions(bundle, options) { ]) { replaceModule[path.join(PROJECT_ROOT, file)] = { contents: "" }; } + + // Prevent `esbuildPluginNodeModulePolyfills` include shim for this module + replaceModule.assert = { + contents: await fs.readFile(path.join(__dirname, "./shims/assert.cjs")), + }; } let shouldMinify = options.minify; @@ -141,10 +146,10 @@ function* getEsbuildOptions(bundle, options) { bundle: true, metafile: true, plugins: [ - bundle.target === "universal" && esbuildPluginNodeGlobalsPolyfills(), - bundle.target === "universal" && esbuildPluginNodeModulePolyfills(), esbuildPluginEvaluate(), esbuildPluginReplaceModule({ ...replaceModule, ...bundle.replaceModule }), + bundle.target === "universal" && esbuildPluginNodeGlobalsPolyfills(), + bundle.target === "universal" && esbuildPluginNodeModulePolyfills(), esbuildPluginTextReplace({ include: /\.[cm]?js$/, // TODO[@fisker]: Use RegExp when possible @@ -243,7 +248,7 @@ async function createBundle(bundle, options) { } const esbuildOptions = getEsbuildOptions(bundle, options); - for (const options of esbuildOptions) { + for await (const options of esbuildOptions) { await runBuild(bundle, options); } diff --git a/scripts/build/shims/assert.cjs b/scripts/build/shims/assert.cjs new file mode 100644 index 000000000..286ef6593 --- /dev/null +++ b/scripts/build/shims/assert.cjs @@ -0,0 +1,4 @@ +const assert = () => {}; +assert.ok = assert; +assert.strictEqual = assert; +module.exports = assert; From 7fbd4fcab317b6930638270cfd799b7780833c37 Mon Sep 17 00:00:00 2001 From: fisker Cheung Date: Wed, 26 Jan 2022 17:55:45 +0800 Subject: [PATCH 037/117] Replace `esbuild-plugin-browserslist` with `browserslist-to-esbuild` (#12150) --- package.json | 5 ++--- scripts/build/bundler.mjs | 8 ++------ yarn.lock | 40 +++++++++++++++++---------------------- 3 files changed, 21 insertions(+), 32 deletions(-) diff --git a/package.json b/package.json index 72043edf3..b9232def6 100644 --- a/package.json +++ b/package.json @@ -96,18 +96,17 @@ "@glimmer/reference": "0.83.1", "@types/estree": "0.0.50", "@types/jest": "27.4.0", - "babel-jest": "27.4.6", "@typescript-eslint/eslint-plugin": "5.10.0", + "babel-jest": "27.4.6", "babel-loader": "8.2.3", "benchmark": "2.1.4", - "browserslist": "4.19.1", + "browserslist-to-esbuild": "1.1.1", "builtin-modules": "3.2.0", "core-js": "3.20.3", "cross-env": "7.0.3", "cspell": "5.16.0", "enquirer": "2.3.6", "esbuild": "0.14.13", - "esbuild-plugin-browserslist": "0.4.2", "esbuild-plugin-text-replace": "1.1.3", "eslint": "8.7.0", "eslint-config-prettier": "8.3.0", diff --git a/scripts/build/bundler.mjs b/scripts/build/bundler.mjs index b61b703ba..1200e33b9 100644 --- a/scripts/build/bundler.mjs +++ b/scripts/build/bundler.mjs @@ -2,13 +2,12 @@ import fs from "node:fs/promises"; import path from "node:path"; import createEsmUtils from "esm-utils"; import builtinModules from "builtin-modules"; -import browserslist from "browserslist"; import * as babel from "@babel/core"; import esbuild from "esbuild"; import { NodeModulesPolyfillPlugin as esbuildPluginNodeModulePolyfills } from "@esbuild-plugins/node-modules-polyfill"; import { NodeGlobalsPolyfillPlugin as esbuildPluginNodeGlobalsPolyfills } from "@esbuild-plugins/node-globals-polyfill"; import esbuildPluginTextReplace from "esbuild-plugin-text-replace"; -import { resolveToEsbuildTarget } from "esbuild-plugin-browserslist"; +import browserslistToEsbuild from "browserslist-to-esbuild"; import { PROJECT_ROOT, DIST_DIR } from "../utils/index.mjs"; import esbuildPluginEvaluate from "./esbuild-plugins/evaluate.mjs"; import esbuildPluginReplaceModule from "./esbuild-plugins/replace-module.mjs"; @@ -19,10 +18,7 @@ import bundles from "./config.mjs"; const { __dirname, json } = createEsmUtils(import.meta); const packageJson = json.loadSync("../../package.json"); -const umdTarget = resolveToEsbuildTarget( - browserslist(packageJson.browserslist), - { printUnknownTargets: false } -); +const umdTarget = browserslistToEsbuild(packageJson.browserslist); function getBabelConfig(bundle) { const config = { diff --git a/yarn.lock b/yarn.lock index e930f9fa5..05ae97ac2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2165,16 +2165,12 @@ browser-process-hrtime@^1.0.0: resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow== -browserslist@4.19.1, browserslist@^4.19.1: - version "4.19.1" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.19.1.tgz#4ac0435b35ab655896c31d53018b6dd5e9e4c9a3" - integrity sha512-u2tbbG5PdKRTUoctO3NBD8FQ5HdPh1ZXPHzp1rwaa5jTc+RV9/+RlWiAIKmjRPQF+xbGM9Kklj5bZQFa2s/38A== +browserslist-to-esbuild@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/browserslist-to-esbuild/-/browserslist-to-esbuild-1.1.1.tgz#acb743cb7877ddec8c51d41cc9a2a7fe8e7ddbb5" + integrity sha512-FGnR2nWUvgQhHXN6KFGybfAEdAnHetmv7oiS3EE6qFmERILZ/3fxY9X2KGgvb9+TzBG5sW/sxwknUZJiWJTL5Q== dependencies: - caniuse-lite "^1.0.30001286" - electron-to-chromium "^1.4.17" - escalade "^3.1.1" - node-releases "^2.0.1" - picocolors "^1.0.0" + browserslist "^4.17.3" browserslist@^4.16.8, browserslist@^4.17.5: version "4.18.1" @@ -2187,6 +2183,17 @@ browserslist@^4.16.8, browserslist@^4.17.5: node-releases "^2.0.1" picocolors "^1.0.0" +browserslist@^4.17.3, browserslist@^4.19.1: + version "4.19.1" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.19.1.tgz#4ac0435b35ab655896c31d53018b6dd5e9e4c9a3" + integrity sha512-u2tbbG5PdKRTUoctO3NBD8FQ5HdPh1ZXPHzp1rwaa5jTc+RV9/+RlWiAIKmjRPQF+xbGM9Kklj5bZQFa2s/38A== + dependencies: + caniuse-lite "^1.0.30001286" + electron-to-chromium "^1.4.17" + escalade "^3.1.1" + node-releases "^2.0.1" + picocolors "^1.0.0" + bser@2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" @@ -2610,7 +2617,7 @@ data-urls@^2.0.0: whatwg-mimetype "^2.3.0" whatwg-url "^8.0.0" -debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.2, debug@^4.3.3: +debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.2: version "4.3.3" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.3.tgz#04266e0b70a98d4462e6e288e38259213332b664" integrity sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q== @@ -2893,14 +2900,6 @@ esbuild-openbsd-64@0.14.13: resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.13.tgz#5394336b602e1db15583bbef7d827a2b9648e373" integrity sha512-bp6zSo3kDCXKPM5MmVUg6DEpt+yXDx37iDGzNTn3Kf9xh6d0cdITxUC4Bx6S3Di79GVYubWs+wNjSRVFIJpryw== -esbuild-plugin-browserslist@0.4.2: - version "0.4.2" - resolved "https://registry.yarnpkg.com/esbuild-plugin-browserslist/-/esbuild-plugin-browserslist-0.4.2.tgz#d623e0d4eda99e6f360eb2e5e6302dc7cbbfcff0" - integrity sha512-uMZ5bnxfm3/UMjbhJZf3wYUC+3CRWIqvqApJFMqpGQTBnm8KVywClfdFHZFEMLhbSGkDBXTgCnaYbBHVTBFVcw== - dependencies: - debug "^4.3.3" - zod "^3.11.6" - esbuild-plugin-text-replace@1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/esbuild-plugin-text-replace/-/esbuild-plugin-text-replace-1.1.3.tgz#3bd357b90e921fe56f4b13916302f77f9bc4f651" @@ -6766,8 +6765,3 @@ yocto-queue@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== - -zod@^3.11.6: - version "3.11.6" - resolved "https://registry.yarnpkg.com/zod/-/zod-3.11.6.tgz#e43a5e0c213ae2e02aefe7cb2b1a6fa3d7f1f483" - integrity sha512-daZ80A81I3/9lIydI44motWe6n59kRBfNzTuS2bfzVh1nAXi667TOTWWtatxyG+fwgNUiagSj/CWZwRRbevJIg== From d5bf36060f04378df64182573b4fa14abf6c4fce Mon Sep 17 00:00:00 2001 From: fisker Cheung Date: Wed, 26 Jan 2022 19:08:55 +0800 Subject: [PATCH 038/117] Exclude `process` shim (#12149) --- package.json | 1 - scripts/build/bundler.mjs | 26 +++++++++++++++----------- scripts/build/config.mjs | 6 +++++- scripts/build/shims/assert.cjs | 2 ++ scripts/build/shims/debug.cjs | 3 +++ yarn.lock | 5 ----- 6 files changed, 25 insertions(+), 18 deletions(-) create mode 100644 scripts/build/shims/debug.cjs diff --git a/package.json b/package.json index b9232def6..63bdb5d77 100644 --- a/package.json +++ b/package.json @@ -91,7 +91,6 @@ "@babel/core": "7.16.12", "@babel/preset-env": "7.16.11", "@babel/types": "7.16.8", - "@esbuild-plugins/node-globals-polyfill": "0.1.1", "@esbuild-plugins/node-modules-polyfill": "0.1.4", "@glimmer/reference": "0.83.1", "@types/estree": "0.0.50", diff --git a/scripts/build/bundler.mjs b/scripts/build/bundler.mjs index 1200e33b9..f3ba00931 100644 --- a/scripts/build/bundler.mjs +++ b/scripts/build/bundler.mjs @@ -5,7 +5,6 @@ import builtinModules from "builtin-modules"; import * as babel from "@babel/core"; import esbuild from "esbuild"; import { NodeModulesPolyfillPlugin as esbuildPluginNodeModulePolyfills } from "@esbuild-plugins/node-modules-polyfill"; -import { NodeGlobalsPolyfillPlugin as esbuildPluginNodeGlobalsPolyfills } from "@esbuild-plugins/node-globals-polyfill"; import esbuildPluginTextReplace from "esbuild-plugin-text-replace"; import browserslistToEsbuild from "browserslist-to-esbuild"; import { PROJECT_ROOT, DIST_DIR } from "../utils/index.mjs"; @@ -69,24 +68,29 @@ function getBabelConfig(bundle) { async function* getEsbuildOptions(bundle, options) { const replaceStrings = { - "process.env.PRETTIER_TARGET": JSON.stringify(bundle.target), - "process.env.NODE_ENV": JSON.stringify("production"), // `tslib` exports global variables "createExporter(root": "createExporter({}", }; + + const define = { + "process.env.PRETTIER_TARGET": JSON.stringify(bundle.target), + "process.env.NODE_ENV": JSON.stringify("production"), + }; + if (bundle.target === "universal") { // We can't reference `process` in UMD bundles and this is // an undocumented "feature" - replaceStrings["process.env.PRETTIER_DEBUG"] = "global.PRETTIER_DEBUG"; - // `rollup-plugin-node-globals` replace `__dirname` with the real dirname - // `parser-typescript.js` will contain a path of working directory + replaceStrings["process.env.PRETTIER_DEBUG"] = "globalThis.PRETTIER_DEBUG"; + + define.process = JSON.stringify({ env: {}, argv: [] }); + + // Replace `__dirname` and `__filename` with a fake value + // So `parser-typescript.js` won't contain a path of working directory // See #8268 - replaceStrings.__filename = JSON.stringify( + define.__filename = JSON.stringify( "/prettier-security-filename-placeholder.js" ); - replaceStrings.__dirname = JSON.stringify( - "/prettier-security-dirname-placeholder" - ); + define.__dirname = JSON.stringify("/prettier-security-dirname-placeholder"); } const replaceModule = {}; @@ -139,12 +143,12 @@ async function* getEsbuildOptions(bundle, options) { const esbuildOptions = { entryPoints: [path.join(PROJECT_ROOT, bundle.input)], + define, bundle: true, metafile: true, plugins: [ esbuildPluginEvaluate(), esbuildPluginReplaceModule({ ...replaceModule, ...bundle.replaceModule }), - bundle.target === "universal" && esbuildPluginNodeGlobalsPolyfills(), bundle.target === "universal" && esbuildPluginNodeModulePolyfills(), esbuildPluginTextReplace({ include: /\.[cm]?js$/, diff --git a/scripts/build/config.mjs b/scripts/build/config.mjs index 1ebb4b441..0f554158a 100644 --- a/scripts/build/config.mjs +++ b/scripts/build/config.mjs @@ -43,7 +43,8 @@ const parsers = [ 'require("globby")': "{}", "extra.projects = prepareAndTransformProjects(": "extra.projects = [] || prepareAndTransformProjects(", - "process.versions.node": "'999.999.999'", + "process.versions.node": JSON.stringify("999.999.999"), + "process.cwd()": JSON.stringify("/prettier-security-dirname-placeholder"), // `rollup-plugin-polyfill-node` don't have polyfill for these modules 'require("perf_hooks")': "{}", 'require("inspector")': "{}", @@ -59,6 +60,9 @@ const parsers = [ "typescriptVersionIsAtLeast[version] = semverCheck(version);": "typescriptVersionIsAtLeast[version] = true;", }, + replaceModule: { + [require.resolve("debug")]: require.resolve("./shims/debug.cjs"), + }, }, { input: "src/language-js/parse/espree.js", diff --git a/scripts/build/shims/assert.cjs b/scripts/build/shims/assert.cjs index 286ef6593..42b115991 100644 --- a/scripts/build/shims/assert.cjs +++ b/scripts/build/shims/assert.cjs @@ -1,3 +1,5 @@ +"use strict"; + const assert = () => {}; assert.ok = assert; assert.strictEqual = assert; diff --git a/scripts/build/shims/debug.cjs b/scripts/build/shims/debug.cjs new file mode 100644 index 000000000..9d9e8288e --- /dev/null +++ b/scripts/build/shims/debug.cjs @@ -0,0 +1,3 @@ +"use strict"; + +module.exports = () => () => {}; diff --git a/yarn.lock b/yarn.lock index 05ae97ac2..ea82f4cfd 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1188,11 +1188,6 @@ resolved "https://registry.yarnpkg.com/@cspell/dict-vue/-/dict-vue-2.0.1.tgz#7514875f760ae755d2a6ef1fd00917d107682fe1" integrity sha512-n9So2C2Zw+uSDRzb2h9wq3PjZBqoHx+vBvu6a34H2qpumNjZ6HaEronrzX5tXJJXzOtocIQYrLxdd128TAU3+g== -"@esbuild-plugins/node-globals-polyfill@0.1.1": - version "0.1.1" - resolved "https://registry.yarnpkg.com/@esbuild-plugins/node-globals-polyfill/-/node-globals-polyfill-0.1.1.tgz#a313ab3efbb2c17c8ce376aa216c627c9b40f9d7" - integrity sha512-MR0oAA+mlnJWrt1RQVQ+4VYuRJW/P2YmRTv1AsplObyvuBMnPHiizUF95HHYiSsMGLhyGtWufaq2XQg6+iurBg== - "@esbuild-plugins/node-modules-polyfill@0.1.4": version "0.1.4" resolved "https://registry.yarnpkg.com/@esbuild-plugins/node-modules-polyfill/-/node-modules-polyfill-0.1.4.tgz#eb2f55da11967b2986c913f1a7957d1c868849c0" From 93af7641c9df984241bb038e28bbf4590abfa1f9 Mon Sep 17 00:00:00 2001 From: fisker Cheung Date: Wed, 26 Jan 2022 19:38:03 +0800 Subject: [PATCH 039/117] Remove `ts.sys` in `parser-typescript.js` (#12151) --- scripts/build/config.mjs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/scripts/build/config.mjs b/scripts/build/config.mjs index 0f554158a..41eba5e52 100644 --- a/scripts/build/config.mjs +++ b/scripts/build/config.mjs @@ -49,6 +49,8 @@ const parsers = [ 'require("perf_hooks")': "{}", 'require("inspector")': "{}", "_fs.realpathSync.native": "_fs.realpathSync && _fs.realpathSync.native", + // Remove useless `ts.sys` + "ts.sys = ": "ts.sys = undefined && ", // Dynamic `require()`s "ts.sys && ts.sys.require": "false", "require(etwModulePath)": "undefined", From f265e584dff8f634c82ef29c87b9a63e87c92121 Mon Sep 17 00:00:00 2001 From: fisker Cheung Date: Wed, 26 Jan 2022 20:33:15 +0800 Subject: [PATCH 040/117] Build: Add `--no-babel` flag (#12153) --- scripts/build-website.mjs | 11 ++++++----- scripts/build/README.md | 18 ++++++++++++++++++ scripts/build/build.mjs | 10 +++++++--- scripts/build/bundler.mjs | 26 +++++++++++++++----------- 4 files changed, 46 insertions(+), 19 deletions(-) diff --git a/scripts/build-website.mjs b/scripts/build-website.mjs index 8ec0afa6b..066bbe198 100644 --- a/scripts/build-website.mjs +++ b/scripts/build-website.mjs @@ -10,7 +10,6 @@ import { PROJECT_ROOT, DIST_DIR, WEBSITE_DIR, - readJson, writeJson, copyFile, writeFile, @@ -32,18 +31,20 @@ const PLAYGROUND_PRETTIER_DIR = path.join(WEBSITE_DIR, "static/lib"); async function buildPrettier() { // --- Build prettier for PR --- const packageJsonFile = path.join(PROJECT_ROOT, "package.json"); - const content = await fs.readFile(packageJsonFile); - const packageJson = await readJson(packageJsonFile); + const packageJsonContent = await fs.readFile(packageJsonFile); + const packageJson = JSON.parse(packageJsonContent); await writeJson(packageJsonFile, { ...packageJson, version: `999.999.999-pr.${process.env.REVIEW_ID}`, }); try { - await runYarn("build", ["--playground"], { cwd: PROJECT_ROOT }); + await runYarn("build", ["--playground", "--no-babel"], { + cwd: PROJECT_ROOT, + }); } finally { // restore - await writeFile(packageJsonFile, content); + await writeFile(packageJsonFile, packageJsonContent); } } diff --git a/scripts/build/README.md b/scripts/build/README.md index 3521599df..6f4a09eb8 100644 --- a/scripts/build/README.md +++ b/scripts/build/README.md @@ -53,3 +53,21 @@ Disable minify files: ```sh yarn build --file=parser-babel.js --no-minify ``` + +### `--no-babel` + +Currently, we need babel to transform/shim following new language features: + +- `Array#flat()` for Node.js 10 +- `Array#flatMap()` for Node.js 10 +- `Object.fromEntries()` for Node.js 10 + +When debugging the build script, we may want skip this step, so the build process can be faster. + +Playground use this flag to speed up the build too. + +`--babel` have no effect, don't use. + +```sh +yarn build --file=index.js --no-babel +``` diff --git a/scripts/build/build.mjs b/scripts/build/build.mjs index 63216e0f4..bba0a2431 100644 --- a/scripts/build/build.mjs +++ b/scripts/build/build.mjs @@ -136,8 +136,12 @@ async function preparePackage() { async function run(params) { const shouldPreparePackage = + !params.playground && + !params.file && + params.minify === null && + params.babel !== false; + const shouldSaveBundledPackagesLicenses = !params.playground && !params.file && params.minify === null; - const shouldSaveBundledPackagesLicenses = shouldPreparePackage; let configs = bundleConfigs; if (params.file) { @@ -172,8 +176,8 @@ async function run(params) { run( minimist(process.argv.slice(2), { - boolean: ["playground", "print-size", "minify"], + boolean: ["playground", "print-size", "minify", "babel"], string: ["file"], - default: { playground: false, printSize: false, minify: null }, + default: { playground: false, printSize: false, minify: null, babel: true }, }) ); diff --git a/scripts/build/bundler.mjs b/scripts/build/bundler.mjs index f3ba00931..ef7e25185 100644 --- a/scripts/build/bundler.mjs +++ b/scripts/build/bundler.mjs @@ -66,7 +66,7 @@ function getBabelConfig(bundle) { return config; } -async function* getEsbuildOptions(bundle, options) { +async function* getEsbuildOptions(bundle, buildOptions) { const replaceStrings = { // `tslib` exports global variables "createExporter(root": "createExporter({}", @@ -136,7 +136,7 @@ async function* getEsbuildOptions(bundle, options) { }; } - let shouldMinify = options.minify; + let shouldMinify = buildOptions.minify; if (typeof shouldMinify !== "boolean") { shouldMinify = bundle.minify !== false && bundle.target === "universal"; } @@ -155,12 +155,12 @@ async function* getEsbuildOptions(bundle, options) { // TODO[@fisker]: Use RegExp when possible pattern: Object.entries({ ...replaceStrings, ...bundle.replace }), }), - options.onLicenseFound && + buildOptions.onLicenseFound && esbuildPluginLicense({ cwd: PROJECT_ROOT, thirdParty: { includePrivate: true, - output: options.onLicenseFound, + output: buildOptions.onLicenseFound, }, }), ].filter(Boolean), @@ -187,7 +187,7 @@ async function* getEsbuildOptions(bundle, options) { format: "umd", }; - if (!bundle.format && !options.playground) { + if (!bundle.format && !buildOptions.playground) { yield { ...esbuildOptions, outfile: path.join( @@ -213,7 +213,12 @@ async function* getEsbuildOptions(bundle, options) { } } -async function runBuild(bundle, esbuildOptions) { +async function runBuild(bundle, esbuildOptions, buildOptions) { + if (!buildOptions.babel) { + await esbuild.build(esbuildOptions); + return; + } + const { format, plugins, outfile } = esbuildOptions; await esbuild.build({ @@ -239,17 +244,16 @@ async function runBuild(bundle, esbuildOptions) { }); } -async function createBundle(bundle, options) { +async function createBundle(bundle, buildOptions) { if ( - options.playground && + buildOptions.playground && (bundle.target !== "universal" || bundle.output === "doc.js") ) { return { skipped: true }; } - const esbuildOptions = getEsbuildOptions(bundle, options); - for await (const options of esbuildOptions) { - await runBuild(bundle, options); + for await (const esbuildOptions of getEsbuildOptions(bundle, buildOptions)) { + await runBuild(bundle, esbuildOptions, buildOptions); } return { bundled: true }; From f2ab2f9306e0b4ecd0f75132b62d6dece6d7a240 Mon Sep 17 00:00:00 2001 From: fisker Cheung Date: Wed, 26 Jan 2022 22:27:10 +0800 Subject: [PATCH 041/117] Remove useless `TypeScriptServices` from `parser-typescript.js` (#12155) --- scripts/build/config.mjs | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/scripts/build/config.mjs b/scripts/build/config.mjs index 41eba5e52..183159d6e 100644 --- a/scripts/build/config.mjs +++ b/scripts/build/config.mjs @@ -51,6 +51,33 @@ const parsers = [ "_fs.realpathSync.native": "_fs.realpathSync && _fs.realpathSync.native", // Remove useless `ts.sys` "ts.sys = ": "ts.sys = undefined && ", + + // Remove useless language service + "ts.realizeDiagnostics = ": "ts.realizeDiagnostics = undefined && ", + "ts.TypeScriptServicesFactory = ": + "ts.TypeScriptServicesFactory = undefined && ", + "var ShimBase = ": "var ShimBase = undefined && ", + "var TypeScriptServicesFactory = ": + "var TypeScriptServicesFactory = undefined && ", + "var LanguageServiceShimObject = ": + "var LanguageServiceShimObject = undefined && ", + "var CoreServicesShimHostAdapter = ": + "var CoreServicesShimHostAdapter = undefined && ", + "var LanguageServiceShimHostAdapter = ": + "var LanguageServiceShimHostAdapter = undefined && ", + "var ScriptSnapshotShimAdapter = ": + "var ScriptSnapshotShimAdapter = undefined && ", + "var ClassifierShimObject = ": "var ClassifierShimObject = undefined && ", + "var CoreServicesShimObject = ": + "var CoreServicesShimObject = undefined && ", + "function simpleForwardCall(": "0 && function simpleForwardCall(", + "function forwardJSONCall(": "0 && function forwardJSONCall(", + "function forwardCall(": "0 && function forwardCall(", + "function realizeDiagnostics(": "0 && function realizeDiagnostics(", + "function realizeDiagnostic(": "0 && function realizeDiagnostic(", + "function convertClassifications(": + "0 && function convertClassifications(", + // Dynamic `require()`s "ts.sys && ts.sys.require": "false", "require(etwModulePath)": "undefined", From d13feed42b6478710bebbcd3225ab6f203a914c1 Mon Sep 17 00:00:00 2001 From: Sosuke Suzuki Date: Wed, 26 Jan 2022 23:29:19 +0900 Subject: [PATCH 042/117] Reduce JS parsers bundle size (#12156) * Extract utils * utils.js -> utils/index.js * Fix linter --- .eslintrc.js | 2 +- src/language-js/clean.js | 2 +- src/language-js/comments.js | 2 +- src/language-js/embed.js | 2 +- src/language-js/needs-parens.js | 2 +- src/language-js/parse/postprocess/index.js | 4 +-- src/language-js/print/angular.js | 2 +- src/language-js/print/array.js | 2 +- src/language-js/print/assignment.js | 2 +- src/language-js/print/binaryish.js | 2 +- src/language-js/print/block.js | 2 +- src/language-js/print/call-arguments.js | 2 +- src/language-js/print/call-expression.js | 2 +- src/language-js/print/class.js | 2 +- src/language-js/print/comment.js | 2 +- src/language-js/print/decorators.js | 2 +- src/language-js/print/flow.js | 2 +- src/language-js/print/function-parameters.js | 2 +- src/language-js/print/function.js | 2 +- src/language-js/print/interface.js | 6 +++- src/language-js/print/jsx.js | 2 +- src/language-js/print/member-chain.js | 2 +- src/language-js/print/member.js | 2 +- src/language-js/print/misc.js | 2 +- src/language-js/print/module.js | 2 +- src/language-js/print/object.js | 2 +- src/language-js/print/property.js | 2 +- src/language-js/print/statement.js | 2 +- src/language-js/print/template-literal.js | 2 +- src/language-js/print/ternary.js | 2 +- src/language-js/print/type-annotation.js | 2 +- src/language-js/print/type-parameters.js | 2 +- src/language-js/print/typescript.js | 4 +-- src/language-js/printer-estree.js | 2 +- src/language-js/{utils.js => utils/index.js} | 35 ++++++++----------- src/language-js/utils/is-block-comment.js | 20 +++++++++++ src/language-js/utils/is-ts-keyword-type.js | 9 +++++ src/language-js/utils/is-type-cast-comment.js | 24 +++++++++++++ 38 files changed, 108 insertions(+), 56 deletions(-) rename src/language-js/{utils.js => utils/index.js} (96%) create mode 100644 src/language-js/utils/is-block-comment.js create mode 100644 src/language-js/utils/is-ts-keyword-type.js create mode 100644 src/language-js/utils/is-type-cast-comment.js diff --git a/.eslintrc.js b/.eslintrc.js index d69de0796..048adb911 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -260,7 +260,7 @@ module.exports = { "prettier-internal-rules/no-node-comments": [ "error", { - file: "src/language-js/utils.js", + file: "src/language-js/utils/index.js", functions: ["hasComment", "getComments"], }, "src/language-js/pragma.js", diff --git a/src/language-js/clean.js b/src/language-js/clean.js index 00d13a482..8e95c9c8b 100644 --- a/src/language-js/clean.js +++ b/src/language-js/clean.js @@ -1,6 +1,6 @@ "use strict"; -const { isBlockComment } = require("./utils.js"); +const { isBlockComment } = require("./utils/index.js"); const ignoredProperties = new Set([ "range", diff --git a/src/language-js/comments.js b/src/language-js/comments.js index eef7a99c4..c47a9a1d3 100644 --- a/src/language-js/comments.js +++ b/src/language-js/comments.js @@ -28,7 +28,7 @@ const { getComments, CommentCheckFlags, markerForIfWithoutBlockAndSameLineComment, -} = require("./utils.js"); +} = require("./utils/index.js"); const { locStart, locEnd } = require("./loc.js"); /** diff --git a/src/language-js/embed.js b/src/language-js/embed.js index 23dfc2c7f..8703ad928 100644 --- a/src/language-js/embed.js +++ b/src/language-js/embed.js @@ -4,7 +4,7 @@ const { hasComment, CommentCheckFlags, isObjectProperty, -} = require("./utils.js"); +} = require("./utils/index.js"); const formatMarkdown = require("./embed/markdown.js"); const formatCss = require("./embed/css.js"); const formatGraphql = require("./embed/graphql.js"); diff --git a/src/language-js/needs-parens.js b/src/language-js/needs-parens.js index c4ca50ca9..6ede2f45d 100644 --- a/src/language-js/needs-parens.js +++ b/src/language-js/needs-parens.js @@ -14,7 +14,7 @@ const { isCallExpression, isMemberExpression, isObjectProperty, -} = require("./utils.js"); +} = require("./utils/index.js"); function needsParens(path, options) { const parent = path.getParentNode(); diff --git a/src/language-js/parse/postprocess/index.js b/src/language-js/parse/postprocess/index.js index 97c543a38..5887109a1 100644 --- a/src/language-js/parse/postprocess/index.js +++ b/src/language-js/parse/postprocess/index.js @@ -2,8 +2,8 @@ const { getLast } = require("../../../common/util.js"); const { locStart, locEnd } = require("../../loc.js"); -const { isTypeCastComment } = require("../../comments.js"); -const { isTsKeywordType } = require("../../utils.js"); +const { isTsKeywordType } = require("../../utils/is-ts-keyword-type.js"); +const { isTypeCastComment } = require("../../utils/is-type-cast-comment.js"); const visitNode = require("./visitNode.js"); const { throwErrorForInvalidNodes } = require("./typescript.js"); diff --git a/src/language-js/print/angular.js b/src/language-js/print/angular.js index 9474eb55d..005692b0a 100644 --- a/src/language-js/print/angular.js +++ b/src/language-js/print/angular.js @@ -3,7 +3,7 @@ const { builders: { join, line, group }, } = require("../../document/index.js"); -const { hasNode, hasComment, getComments } = require("../utils.js"); +const { hasNode, hasComment, getComments } = require("../utils/index.js"); const { printBinaryishExpression } = require("./binaryish.js"); /** @typedef {import("../../common/ast-path")} AstPath */ diff --git a/src/language-js/print/array.js b/src/language-js/print/array.js index 632ea7b67..551f675da 100644 --- a/src/language-js/print/array.js +++ b/src/language-js/print/array.js @@ -12,7 +12,7 @@ const { isNextLineEmpty, isNumericLiteral, isSignedNumericLiteral, -} = require("../utils.js"); +} = require("../utils/index.js"); const { locStart } = require("../loc.js"); const { printOptionalToken, printTypeAnnotation } = require("./misc.js"); diff --git a/src/language-js/print/assignment.js b/src/language-js/print/assignment.js index a448e5169..1cb8bc81c 100644 --- a/src/language-js/print/assignment.js +++ b/src/language-js/print/assignment.js @@ -18,7 +18,7 @@ const { hasComment, isSignedNumericLiteral, isObjectProperty, -} = require("../utils.js"); +} = require("../utils/index.js"); const { shouldInlineLogicalExpression } = require("./binaryish.js"); const { printCallExpression } = require("./call-expression.js"); diff --git a/src/language-js/print/binaryish.js b/src/language-js/print/binaryish.js index 1b71976c6..813a76931 100644 --- a/src/language-js/print/binaryish.js +++ b/src/language-js/print/binaryish.js @@ -26,7 +26,7 @@ const { isMemberExpression, isObjectProperty, isEnabledHackPipeline, -} = require("../utils.js"); +} = require("../utils/index.js"); /** @typedef {import("../../document").Doc} Doc */ diff --git a/src/language-js/print/block.js b/src/language-js/print/block.js index af3445cd2..0e5bc02d1 100644 --- a/src/language-js/print/block.js +++ b/src/language-js/print/block.js @@ -9,7 +9,7 @@ const { hasComment, CommentCheckFlags, isNextLineEmpty, -} = require("../utils.js"); +} = require("../utils/index.js"); const { printHardlineAfterHeritage } = require("./class.js"); const { printBody } = require("./statement.js"); diff --git a/src/language-js/print/call-arguments.js b/src/language-js/print/call-arguments.js index e99cdf8d2..187521a04 100644 --- a/src/language-js/print/call-arguments.js +++ b/src/language-js/print/call-arguments.js @@ -16,7 +16,7 @@ const { isCallExpression, isStringLiteral, isObjectProperty, -} = require("../utils.js"); +} = require("../utils/index.js"); const { builders: { diff --git a/src/language-js/print/call-expression.js b/src/language-js/print/call-expression.js index 071291ee8..bbc586439 100644 --- a/src/language-js/print/call-expression.js +++ b/src/language-js/print/call-expression.js @@ -13,7 +13,7 @@ const { isTemplateOnItsOwnLine, isTestCall, iterateCallArgumentsPath, -} = require("../utils.js"); +} = require("../utils/index.js"); const printMemberChain = require("./member-chain.js"); const printCallArguments = require("./call-arguments.js"); const { diff --git a/src/language-js/print/class.js b/src/language-js/print/class.js index 66ad25052..9d414bc9c 100644 --- a/src/language-js/print/class.js +++ b/src/language-js/print/class.js @@ -11,7 +11,7 @@ const { const { builders: { join, line, hardline, softline, group, indent, ifBreak }, } = require("../../document/index.js"); -const { hasComment, CommentCheckFlags } = require("../utils.js"); +const { hasComment, CommentCheckFlags } = require("../utils/index.js"); const { getTypeParametersGroupId } = require("./type-parameters.js"); const { printMethod } = require("./function.js"); const { printOptionalToken, printTypeAnnotation } = require("./misc.js"); diff --git a/src/language-js/print/comment.js b/src/language-js/print/comment.js index c94c6427f..fcfbbd184 100644 --- a/src/language-js/print/comment.js +++ b/src/language-js/print/comment.js @@ -6,7 +6,7 @@ const { utils: { replaceTextEndOfLine }, } = require("../../document/index.js"); -const { isLineComment, isBlockComment } = require("../utils.js"); +const { isLineComment, isBlockComment } = require("../utils/index.js"); const { locStart, locEnd } = require("../loc.js"); function printComment(commentPath, options) { diff --git a/src/language-js/print/decorators.js b/src/language-js/print/decorators.js index 393cc38b3..2b679b4d5 100644 --- a/src/language-js/print/decorators.js +++ b/src/language-js/print/decorators.js @@ -5,7 +5,7 @@ const { builders: { line, hardline, join, breakParent, group }, } = require("../../document/index.js"); const { locStart, locEnd } = require("../loc.js"); -const { getParentExportDeclaration } = require("../utils.js"); +const { getParentExportDeclaration } = require("../utils/index.js"); function printClassMemberDecorators(path, options, print) { const node = path.getValue(); diff --git a/src/language-js/print/flow.js b/src/language-js/print/flow.js index e80466530..47ffce034 100644 --- a/src/language-js/print/flow.js +++ b/src/language-js/print/flow.js @@ -14,7 +14,7 @@ const { isGetterOrSetter, rawText, shouldPrintComma, -} = require("../utils.js"); +} = require("../utils/index.js"); const { locStart, locEnd } = require("../loc.js"); const { printClass } = require("./class.js"); const { diff --git a/src/language-js/print/function-parameters.js b/src/language-js/print/function-parameters.js index 1d9a29a16..12f0af2d7 100644 --- a/src/language-js/print/function-parameters.js +++ b/src/language-js/print/function-parameters.js @@ -18,7 +18,7 @@ const { shouldPrintComma, hasComment, isNextLineEmpty, -} = require("../utils.js"); +} = require("../utils/index.js"); const { locEnd } = require("../loc.js"); const { ArgExpansionBailout } = require("../../common/errors.js"); const { printFunctionTypeParameters } = require("./misc.js"); diff --git a/src/language-js/print/function.js b/src/language-js/print/function.js index 8cca12406..8263a11f0 100644 --- a/src/language-js/print/function.js +++ b/src/language-js/print/function.js @@ -43,7 +43,7 @@ const { getCallArguments, hasNakedLeftSide, getLeftSide, -} = require("../utils.js"); +} = require("../utils/index.js"); const { locEnd } = require("../loc.js"); const { printFunctionParameters, diff --git a/src/language-js/print/interface.js b/src/language-js/print/interface.js index 9b422e4b7..3bcaa5394 100644 --- a/src/language-js/print/interface.js +++ b/src/language-js/print/interface.js @@ -4,7 +4,11 @@ const { isNonEmptyArray } = require("../../common/util.js"); const { builders: { join, line, group, indent, ifBreak }, } = require("../../document/index.js"); -const { hasComment, identity, CommentCheckFlags } = require("../utils.js"); +const { + hasComment, + identity, + CommentCheckFlags, +} = require("../utils/index.js"); const { getTypeParametersGroupId } = require("./type-parameters.js"); const { printTypeScriptModifiers } = require("./misc.js"); diff --git a/src/language-js/print/jsx.js b/src/language-js/print/jsx.js index f20ac180d..cb307e43e 100644 --- a/src/language-js/print/jsx.js +++ b/src/language-js/print/jsx.js @@ -31,7 +31,7 @@ const { hasComment, CommentCheckFlags, hasNodeIgnoreComment, -} = require("../utils.js"); +} = require("../utils/index.js"); const pathNeedsParens = require("../needs-parens.js"); const { willPrintOwnComments } = require("../comments.js"); diff --git a/src/language-js/print/member-chain.js b/src/language-js/print/member-chain.js index 3a3d761bc..984b31cbc 100644 --- a/src/language-js/print/member-chain.js +++ b/src/language-js/print/member-chain.js @@ -18,7 +18,7 @@ const { hasComment, CommentCheckFlags, isNextLineEmpty, -} = require("../utils.js"); +} = require("../utils/index.js"); const { locEnd } = require("../loc.js"); const { diff --git a/src/language-js/print/member.js b/src/language-js/print/member.js index b594f332c..ddbdd8615 100644 --- a/src/language-js/print/member.js +++ b/src/language-js/print/member.js @@ -7,7 +7,7 @@ const { isNumericLiteral, isMemberExpression, isCallExpression, -} = require("../utils.js"); +} = require("../utils/index.js"); const { printOptionalToken } = require("./misc.js"); function printMemberExpression(path, options, print) { diff --git a/src/language-js/print/misc.js b/src/language-js/print/misc.js index b40d076a2..66616e8dd 100644 --- a/src/language-js/print/misc.js +++ b/src/language-js/print/misc.js @@ -4,7 +4,7 @@ const { isNonEmptyArray } = require("../../common/util.js"); const { builders: { indent, join, line }, } = require("../../document/index.js"); -const { isFlowAnnotationComment } = require("../utils.js"); +const { isFlowAnnotationComment } = require("../utils/index.js"); function printOptionalToken(path) { const node = path.getValue(); diff --git a/src/language-js/print/module.js b/src/language-js/print/module.js index 11282ada8..9637e0389 100644 --- a/src/language-js/print/module.js +++ b/src/language-js/print/module.js @@ -13,7 +13,7 @@ const { needsHardlineAfterDanglingComment, isStringLiteral, rawText, -} = require("../utils.js"); +} = require("../utils/index.js"); const { locStart, hasSameLoc } = require("../loc.js"); const { hasDecoratorsBeforeExport, diff --git a/src/language-js/print/object.js b/src/language-js/print/object.js index bce115b51..f1c789a28 100644 --- a/src/language-js/print/object.js +++ b/src/language-js/print/object.js @@ -16,7 +16,7 @@ const { getComments, CommentCheckFlags, isNextLineEmpty, -} = require("../utils.js"); +} = require("../utils/index.js"); const { locStart, locEnd } = require("../loc.js"); const { printOptionalToken, printTypeAnnotation } = require("./misc.js"); diff --git a/src/language-js/print/property.js b/src/language-js/print/property.js index ca85bd9d5..2a6b05c05 100644 --- a/src/language-js/print/property.js +++ b/src/language-js/print/property.js @@ -8,7 +8,7 @@ const { isStringLiteral, isStringPropSafeToUnquote, rawText, -} = require("../utils.js"); +} = require("../utils/index.js"); const { printAssignment } = require("./assignment.js"); const needsQuoteProps = new WeakMap(); diff --git a/src/language-js/print/statement.js b/src/language-js/print/statement.js index a5527760b..b8575744f 100644 --- a/src/language-js/print/statement.js +++ b/src/language-js/print/statement.js @@ -12,7 +12,7 @@ const { hasComment, CommentCheckFlags, isNextLineEmpty, -} = require("../utils.js"); +} = require("../utils/index.js"); const { shouldPrintParamsWithoutParens } = require("./function.js"); /** diff --git a/src/language-js/print/template-literal.js b/src/language-js/print/template-literal.js index 02ca550ff..c7bd21195 100644 --- a/src/language-js/print/template-literal.js +++ b/src/language-js/print/template-literal.js @@ -22,7 +22,7 @@ const { isSimpleTemplateLiteral, hasComment, isMemberExpression, -} = require("../utils.js"); +} = require("../utils/index.js"); function printTemplateLiteral(path, print, options) { const node = path.getValue(); diff --git a/src/language-js/print/ternary.js b/src/language-js/print/ternary.js index aeb94dd1b..79460c075 100644 --- a/src/language-js/print/ternary.js +++ b/src/language-js/print/ternary.js @@ -7,7 +7,7 @@ const { getComments, isCallExpression, isMemberExpression, -} = require("../utils.js"); +} = require("../utils/index.js"); const { locStart, locEnd } = require("../loc.js"); const { builders: { diff --git a/src/language-js/print/type-annotation.js b/src/language-js/print/type-annotation.js index c1e2d6497..88f4c78cf 100644 --- a/src/language-js/print/type-annotation.js +++ b/src/language-js/print/type-annotation.js @@ -16,7 +16,7 @@ const { hasLeadingOwnLineComment, isObjectTypePropertyAFunction, shouldPrintComma, -} = require("../utils.js"); +} = require("../utils/index.js"); const { printAssignment } = require("./assignment.js"); const { printFunctionParameters, diff --git a/src/language-js/print/type-parameters.js b/src/language-js/print/type-parameters.js index c6a21670f..ba4c3c26d 100644 --- a/src/language-js/print/type-parameters.js +++ b/src/language-js/print/type-parameters.js @@ -12,7 +12,7 @@ const { shouldPrintComma, getFunctionParameters, isObjectType, -} = require("../utils.js"); +} = require("../utils/index.js"); const { createGroupIdMapper } = require("../../common/util.js"); const { shouldHugType } = require("./type-annotation.js"); const { isArrowFunctionVariableDeclarator } = require("./assignment.js"); diff --git a/src/language-js/print/typescript.js b/src/language-js/print/typescript.js index 693ffcd8a..41c994fc5 100644 --- a/src/language-js/print/typescript.js +++ b/src/language-js/print/typescript.js @@ -20,8 +20,8 @@ const { shouldPrintComma, isCallExpression, isMemberExpression, - isTsKeywordType, -} = require("../utils.js"); +} = require("../utils/index.js"); +const { isTsKeywordType } = require("../utils/is-ts-keyword-type.js"); const { locStart, locEnd } = require("../loc.js"); const { printOptionalToken, printTypeScriptModifiers } = require("./misc.js"); diff --git a/src/language-js/printer-estree.js b/src/language-js/printer-estree.js index db10d65ac..aefb6c8b2 100644 --- a/src/language-js/printer-estree.js +++ b/src/language-js/printer-estree.js @@ -29,7 +29,7 @@ const { isCallExpression, isMemberExpression, markerForIfWithoutBlockAndSameLineComment, -} = require("./utils.js"); +} = require("./utils/index.js"); const { locStart, locEnd } = require("./loc.js"); const { diff --git a/src/language-js/utils.js b/src/language-js/utils/index.js similarity index 96% rename from src/language-js/utils.js rename to src/language-js/utils/index.js index ccb5f4add..718238aa3 100644 --- a/src/language-js/utils.js +++ b/src/language-js/utils/index.js @@ -8,24 +8,24 @@ const { isNonEmptyArray, isNextLineEmptyAfterIndex, getStringWidth, -} = require("../common/util.js"); -const { locStart, locEnd, hasSameLocStart } = require("./loc.js"); +} = require("../../common/util.js"); +const { locStart, locEnd, hasSameLocStart } = require("../loc.js"); /** - * @typedef {import("./types/estree").Node} Node - * @typedef {import("./types/estree").TemplateLiteral} TemplateLiteral - * @typedef {import("./types/estree").Comment} Comment - * @typedef {import("./types/estree").MemberExpression} MemberExpression - * @typedef {import("./types/estree").OptionalMemberExpression} OptionalMemberExpression - * @typedef {import("./types/estree").CallExpression} CallExpression - * @typedef {import("./types/estree").OptionalCallExpression} OptionalCallExpression - * @typedef {import("./types/estree").Expression} Expression - * @typedef {import("./types/estree").Property} Property - * @typedef {import("./types/estree").ObjectTypeProperty} ObjectTypeProperty - * @typedef {import("./types/estree").TaggedTemplateExpression} TaggedTemplateExpression - * @typedef {import("./types/estree").Literal} Literal + * @typedef {import("../types/estree").Node} Node + * @typedef {import("../types/estree").TemplateLiteral} TemplateLiteral + * @typedef {import("../types/estree").Comment} Comment + * @typedef {import("../types/estree").MemberExpression} MemberExpression + * @typedef {import("../types/estree").OptionalMemberExpression} OptionalMemberExpression + * @typedef {import("../types/estree").CallExpression} CallExpression + * @typedef {import("../types/estree").OptionalCallExpression} OptionalCallExpression + * @typedef {import("../types/estree").Expression} Expression + * @typedef {import("../types/estree").Property} Property + * @typedef {import("../types/estree").ObjectTypeProperty} ObjectTypeProperty + * @typedef {import("../types/estree").TaggedTemplateExpression} TaggedTemplateExpression + * @typedef {import("../types/estree").Literal} Literal * - * @typedef {import("../common/ast-path")} AstPath + * @typedef {import("../../common/ast-path")} AstPath */ // We match any whitespace except line terminators because @@ -1322,10 +1322,6 @@ const markerForIfWithoutBlockAndSameLineComment = Symbol( "ifWithoutBlockAndSameLineComment" ); -function isTsKeywordType({ type }) { - return type.startsWith("TS") && type.endsWith("Keyword"); -} - module.exports = { getFunctionParameters, iterateFunctionParametersPath, @@ -1391,5 +1387,4 @@ module.exports = { getComments, CommentCheckFlags, markerForIfWithoutBlockAndSameLineComment, - isTsKeywordType, }; diff --git a/src/language-js/utils/is-block-comment.js b/src/language-js/utils/is-block-comment.js new file mode 100644 index 000000000..030b90e25 --- /dev/null +++ b/src/language-js/utils/is-block-comment.js @@ -0,0 +1,20 @@ +"use strict"; + +/** + * @typedef {import("../types/estree").Comment} Comment + */ + +/** + * @param {Comment} comment + * @returns {boolean} + */ +function isBlockComment(comment) { + return ( + comment.type === "Block" || + comment.type === "CommentBlock" || + // `meriyah` + comment.type === "MultiLine" + ); +} + +module.exports = { isBlockComment }; diff --git a/src/language-js/utils/is-ts-keyword-type.js b/src/language-js/utils/is-ts-keyword-type.js new file mode 100644 index 000000000..93ff8c64b --- /dev/null +++ b/src/language-js/utils/is-ts-keyword-type.js @@ -0,0 +1,9 @@ +"use strict"; +/** + * @returns {boolean} + */ +function isTsKeywordType({ type }) { + return type.startsWith("TS") && type.endsWith("Keyword"); +} + +module.exports = { isTsKeywordType }; diff --git a/src/language-js/utils/is-type-cast-comment.js b/src/language-js/utils/is-type-cast-comment.js new file mode 100644 index 000000000..e99a2ef83 --- /dev/null +++ b/src/language-js/utils/is-type-cast-comment.js @@ -0,0 +1,24 @@ +"use strict"; + +const { isBlockComment } = require("./is-block-comment.js"); + +/** + * @typedef {import("../types/estree").Comment} Comment + */ + +/** + * @param {Comment} comment + * @returns {boolean} + */ +function isTypeCastComment(comment) { + return ( + isBlockComment(comment) && + comment.value[0] === "*" && + // TypeScript expects the type to be enclosed in curly brackets, however + // Closure Compiler accepts types in parens and even without any delimiters at all. + // That's why we just search for "@type". + /@type\b/.test(comment.value) + ); +} + +module.exports = { isTypeCastComment }; From b08b79cc8791d3d765fbeaf0d1f29dadda4d6f59 Mon Sep 17 00:00:00 2001 From: fisker Cheung Date: Thu, 27 Jan 2022 09:37:55 +0800 Subject: [PATCH 043/117] Update build script (#12157) --- scripts/build/README.md | 16 ++++- scripts/build/build.mjs | 121 +++++++++++++++++++++----------------- scripts/build/bundler.mjs | 46 +++++++-------- 3 files changed, 105 insertions(+), 78 deletions(-) diff --git a/scripts/build/README.md b/scripts/build/README.md index 6f4a09eb8..cb12ac195 100644 --- a/scripts/build/README.md +++ b/scripts/build/README.md @@ -30,10 +30,22 @@ yarn build --print-size ### `--file` -To build a single file: +To build specific file(s): ```sh -yarn build --file=parser-babel.js +yarn build --file=esm/parser-babel.mjs +``` + +```sh +yarn build --file=standalone.js --file=parser-meriyah.js +``` + +### `--save-as` + +To save bundled file to a different location, this flag can only use together with ONE `--file` flag + +```sh +yarn build --file=parser-babel.js --save-as=babel-for-test.js ``` ### `--minify` and `--no-minify` diff --git a/scripts/build/build.mjs b/scripts/build/build.mjs index bba0a2431..db800b34c 100644 --- a/scripts/build/build.mjs +++ b/scripts/build/build.mjs @@ -55,54 +55,55 @@ function fitTerminal(input, suffix = "") { return input; } +const clear = () => { + readline.clearLine(process.stdout, 0); + readline.cursorTo(process.stdout, 0, null); +}; + async function createBundle(bundleConfig, options) { - const { output, target, format, type } = bundleConfig; - process.stdout.write(fitTerminal(output)); + const { target } = bundleConfig; + try { - const { skipped } = await bundler(bundleConfig, options); + for await (const { name, started, skipped, file } of bundler( + bundleConfig, + options + )) { + const displayName = name.startsWith("esm/") ? ` ${name}` : name; - if (skipped) { - console.log(status.SKIPPED); - return; - } - - const file = path.join(DIST_DIR, output); - - // Files including U+FFEE can't load in Chrome Extension - // `prettier-chrome-extension` https://github.com/prettier/prettier-chrome-extension - // details https://github.com/prettier/prettier/pull/8534 - if (target === "universal") { - const content = await fs.readFile(file, "utf8"); - if (content.includes("\ufffe")) { - throw new Error("Bundled umd file should not have U+FFFE character."); + if (started) { + process.stdout.write(fitTerminal(displayName)); + continue; } - } - if (options["print-size"]) { - // Clear previous line - readline.clearLine(process.stdout, 0); - readline.cursorTo(process.stdout, 0, null); + if (skipped) { + if (!options.files) { + process.stdout.write(fitTerminal(displayName)); + console.log(status.SKIPPED); + } - const getSizeText = async (file) => - prettyBytes((await fs.stat(file)).size); - const sizeTexts = [await getSizeText(file)]; - if ( - type !== "core" && - format !== "esm" && - bundleConfig.bundler !== "webpack" && - target === "universal" - ) { - const esmFile = path.join( - DIST_DIR, - "esm", - output.replace(".js", ".mjs") - ); - sizeTexts.push(`esm ${await getSizeText(esmFile)}`); + continue; } - process.stdout.write(fitTerminal(output, `${sizeTexts.join(", ")} `)); - } - console.log(status.DONE); + // Files including U+FFEE can't load in Chrome Extension + // `prettier-chrome-extension` https://github.com/prettier/prettier-chrome-extension + // details https://github.com/prettier/prettier/pull/8534 + if (target === "universal") { + const content = await fs.readFile(file, "utf8"); + if (content.includes("\ufffe")) { + throw new Error("Bundled umd file should not have U+FFFE character."); + } + } + + if (options.printSize) { + // Clear previous line + clear(); + + const size = prettyBytes((await fs.stat(file)).size); + process.stdout.write(fitTerminal(displayName, `${size} `)); + } + + console.log(status.DONE); + } } catch (error) { console.log(status.FAIL + "\n"); handleError(error); @@ -135,18 +136,29 @@ async function preparePackage() { } async function run(params) { - const shouldPreparePackage = - !params.playground && - !params.file && - params.minify === null && - params.babel !== false; - const shouldSaveBundledPackagesLicenses = - !params.playground && !params.file && params.minify === null; + params.files = params.file ? new Set([params.file].flat()) : undefined; + params.saveAs = params["save-as"]; + params.printSize = params["print-size"]; + delete params.file; + delete params["save-as"]; + delete params["print-size"]; - let configs = bundleConfigs; - if (params.file) { - configs = configs.filter(({ output }) => output === params.file); - } else { + if (params.saveAs && !(params.files && params.files.size === 1)) { + throw new Error("'--save-as' can only use together with one '--file' flag"); + } + + if ( + params.saveAs && + !path.join(DIST_DIR, params.saveAs).startsWith(DIST_DIR) + ) { + throw new Error("'--save-as' can only relative path"); + } + + const shouldPreparePackage = + !params.playground && !params.files && params.minify === null; + const shouldSaveBundledPackagesLicenses = shouldPreparePackage; + + if (shouldPreparePackage) { rimraf.sync(DIST_DIR); } @@ -157,7 +169,7 @@ async function run(params) { console.log(chalk.inverse(" Building packages ")); - for (const bundleConfig of configs) { + for (const bundleConfig of bundleConfigs) { await createBundle(bundleConfig, params); } @@ -177,7 +189,10 @@ async function run(params) { run( minimist(process.argv.slice(2), { boolean: ["playground", "print-size", "minify", "babel"], - string: ["file"], + string: ["file", "save-as"], default: { playground: false, printSize: false, minify: null, babel: true }, + unknown(flag) { + throw new Error(`Unknown flag ${chalk.red(flag)}`); + }, }) ); diff --git a/scripts/build/bundler.mjs b/scripts/build/bundler.mjs index ef7e25185..d4bfd2d9b 100644 --- a/scripts/build/bundler.mjs +++ b/scripts/build/bundler.mjs @@ -179,7 +179,7 @@ async function* getEsbuildOptions(bundle, buildOptions) { yield { ...esbuildOptions, - outfile: path.join(DIST_DIR, bundle.output), + outfile: bundle.output, plugins: [ esbuildPluginUmd({ name: bundle.name }), ...esbuildOptions.plugins, @@ -187,16 +187,11 @@ async function* getEsbuildOptions(bundle, buildOptions) { format: "umd", }; - if (!bundle.format && !buildOptions.playground) { - yield { - ...esbuildOptions, - outfile: path.join( - DIST_DIR, - `esm/${bundle.output.replace(".js", ".mjs")}` - ), - format: "esm", - }; - } + yield { + ...esbuildOptions, + outfile: `esm/${bundle.output.replace(".js", ".mjs")}`, + format: "esm", + }; } else { esbuildOptions.external.push( ...builtinModules, @@ -207,7 +202,7 @@ async function* getEsbuildOptions(bundle, buildOptions) { yield { ...esbuildOptions, - outfile: path.join(DIST_DIR, bundle.output), + outfile: bundle.output, format: "cjs", }; } @@ -244,19 +239,24 @@ async function runBuild(bundle, esbuildOptions, buildOptions) { }); } -async function createBundle(bundle, buildOptions) { - if ( - buildOptions.playground && - (bundle.target !== "universal" || bundle.output === "doc.js") - ) { - return { skipped: true }; - } - +async function* createBundle(bundle, buildOptions) { for await (const esbuildOptions of getEsbuildOptions(bundle, buildOptions)) { - await runBuild(bundle, esbuildOptions, buildOptions); - } + const { outfile: file } = esbuildOptions; - return { bundled: true }; + if ( + (buildOptions.files && !buildOptions.files.has(file)) || + (buildOptions.playground && esbuildOptions.format !== "umd") + ) { + yield { name: file, skipped: true }; + continue; + } + + esbuildOptions.outfile = path.join(DIST_DIR, buildOptions.saveAs || file); + + yield { name: file, started: true }; + await runBuild(bundle, esbuildOptions, buildOptions); + yield { name: file, file: esbuildOptions.outfile }; + } } export default createBundle; From 54e9feb2d3dd84a27a7e18081cbab8f9896d1987 Mon Sep 17 00:00:00 2001 From: fisker Cheung Date: Thu, 27 Jan 2022 11:16:50 +0800 Subject: [PATCH 044/117] Build: Add `--report` flag (#12159) --- package.json | 1 + scripts/build/README.md | 10 ++++++ scripts/build/build.mjs | 10 ++++-- scripts/build/bundler.mjs | 2 ++ scripts/build/esbuild-plugins/visualizer.mjs | 26 +++++++++++++++ yarn.lock | 34 ++++++++++++++++++++ 6 files changed, 81 insertions(+), 2 deletions(-) create mode 100644 scripts/build/esbuild-plugins/visualizer.mjs diff --git a/package.json b/package.json index 63bdb5d77..98b486418 100644 --- a/package.json +++ b/package.json @@ -107,6 +107,7 @@ "enquirer": "2.3.6", "esbuild": "0.14.13", "esbuild-plugin-text-replace": "1.1.3", + "esbuild-visualizer": "0.3.1", "eslint": "8.7.0", "eslint-config-prettier": "8.3.0", "eslint-formatter-friendly": "7.0.0", diff --git a/scripts/build/README.md b/scripts/build/README.md index cb12ac195..8e160760a 100644 --- a/scripts/build/README.md +++ b/scripts/build/README.md @@ -48,6 +48,16 @@ To save bundled file to a different location, this flag can only use together wi yarn build --file=parser-babel.js --save-as=babel-for-test.js ``` +### `--report` + +Visualize and analyze your esbuild bundle to see which modules are taking up space. + +Report file saved next to the bundled file with `.report.html` suffix. + +```sh +yarn build --report +``` + ### `--minify` and `--no-minify` By default, the file minification is controlled by `config.mjs` and `bundler.mjs`, these flags are added to override that behavior. diff --git a/scripts/build/build.mjs b/scripts/build/build.mjs index db800b34c..f12424fb6 100644 --- a/scripts/build/build.mjs +++ b/scripts/build/build.mjs @@ -188,9 +188,15 @@ async function run(params) { run( minimist(process.argv.slice(2), { - boolean: ["playground", "print-size", "minify", "babel"], + boolean: ["playground", "print-size", "minify", "babel", "report"], string: ["file", "save-as"], - default: { playground: false, printSize: false, minify: null, babel: true }, + default: { + playground: false, + printSize: false, + minify: null, + babel: true, + report: false, + }, unknown(flag) { throw new Error(`Unknown flag ${chalk.red(flag)}`); }, diff --git a/scripts/build/bundler.mjs b/scripts/build/bundler.mjs index d4bfd2d9b..82cfdb7b6 100644 --- a/scripts/build/bundler.mjs +++ b/scripts/build/bundler.mjs @@ -12,6 +12,7 @@ import esbuildPluginEvaluate from "./esbuild-plugins/evaluate.mjs"; import esbuildPluginReplaceModule from "./esbuild-plugins/replace-module.mjs"; import esbuildPluginLicense from "./esbuild-plugins/license.mjs"; import esbuildPluginUmd from "./esbuild-plugins/umd.mjs"; +import esbuildPluginVisualizer from "./esbuild-plugins/visualizer.mjs"; import bundles from "./config.mjs"; const { __dirname, json } = createEsmUtils(import.meta); @@ -163,6 +164,7 @@ async function* getEsbuildOptions(bundle, buildOptions) { output: buildOptions.onLicenseFound, }, }), + buildOptions.report && esbuildPluginVisualizer(), ].filter(Boolean), minify: shouldMinify, legalComments: "none", diff --git a/scripts/build/esbuild-plugins/visualizer.mjs b/scripts/build/esbuild-plugins/visualizer.mjs new file mode 100644 index 000000000..588df2b0d --- /dev/null +++ b/scripts/build/esbuild-plugins/visualizer.mjs @@ -0,0 +1,26 @@ +import fs from "node:fs/promises"; +import { visualizer as esbuildVisualizer } from "esbuild-visualizer/dist/plugin/index.js"; + +export default function esbuildPluginVisualizer() { + return { + name: "visualizer", + setup(build) { + const { initialOptions: esbuildConfig } = build; + esbuildConfig.metafile = true; + + build.onEnd(async ({ metafile }) => { + const files = Object.keys(metafile.outputs); + + if (files.length !== 1) { + throw new Error("Unexpected `outputs`."); + } + + const html = await esbuildVisualizer(metafile, { + title: files[0], + }); + + await fs.writeFile(`${esbuildConfig.outfile}.report.html`, html); + }); + }, + }; +} diff --git a/yarn.lock b/yarn.lock index ea82f4cfd..95fe6a7ff 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2907,6 +2907,15 @@ esbuild-sunos-64@0.14.13: resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.13.tgz#4afcddcece51f943149fa07274bd58f64e0913a8" integrity sha512-08Fne1T9QHYxUnu55sV9V4i/yECADOaI1zMGET2YUa8SRkib10i80hc89U7U/G02DxpN/KUJMWEGq2wKTn0QFQ== +esbuild-visualizer@0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/esbuild-visualizer/-/esbuild-visualizer-0.3.1.tgz#eb3e873a4bbd95a5e72b5a8ae2d6d260d47ee5a6" + integrity sha512-eNIM6AOfE+7XvRkBFpxZA8V07yPhskwZH6YBBVVrgiCdq1YKatd0Eh/Y0gK8iDnOAvL3Ezz1zDvzX/ssVNLIiA== + dependencies: + nanoid "^3.1.22" + open "^7.4.2" + yargs "^16.2.0" + esbuild-windows-32@0.14.13: version "0.14.13" resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.13.tgz#cb06267f270bbf7ea6631cc78b8f6e3647975c44" @@ -3818,6 +3827,11 @@ is-decimal@^1.0.0: resolved "https://registry.yarnpkg.com/is-decimal/-/is-decimal-1.0.4.tgz#65a3a5958a1c5b63a706e1b333d7cd9f630d3fa5" integrity sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw== +is-docker@^2.0.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" + integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== + is-extglob@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" @@ -3941,6 +3955,13 @@ is-word-character@^1.0.0: resolved "https://registry.yarnpkg.com/is-word-character/-/is-word-character-1.0.4.tgz#ce0e73216f98599060592f62ff31354ddbeb0230" integrity sha512-5SMO8RVennx3nZrqtKwCGyyetPE9VDba5ugvKLaD4KopPG5kR4mQ7tNt/r7feL5yt5h3lpuBbIUmCOG2eSzXHA== +is-wsl@^2.1.1: + version "2.2.0" + resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" + integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== + dependencies: + is-docker "^2.0.0" + isexe@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" @@ -4959,6 +4980,11 @@ n-readlines@1.0.1: resolved "https://registry.yarnpkg.com/n-readlines/-/n-readlines-1.0.1.tgz#bbb7364d38bc31a170a199f986fcacfa76b95f6e" integrity sha512-z4SyAIVgMy7CkgsoNw7YVz40v0g4+WWvvqy8+ZdHrCtgevcEO758WQyrYcw3XPxcLxF+//RszTz/rO48nzD0wQ== +nanoid@^3.1.22: + version "3.2.0" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.2.0.tgz#62667522da6673971cca916a6d3eff3f415ff80c" + integrity sha512-fmsZYa9lpn69Ad5eDn7FMcnnSR+8R34W9qJEijxYhTbfOWzr22n1QxCMzXLK+ODyW2973V3Fux959iQoUxzUIA== + natural-compare@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" @@ -5123,6 +5149,14 @@ onetime@^5.1.2: dependencies: mimic-fn "^2.1.0" +open@^7.4.2: + version "7.4.2" + resolved "https://registry.yarnpkg.com/open/-/open-7.4.2.tgz#b8147e26dcf3e426316c730089fd71edd29c2321" + integrity sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q== + dependencies: + is-docker "^2.0.0" + is-wsl "^2.1.1" + optionator@^0.8.1: version "0.8.3" resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" From 23dea6c0bbdd434a2cc20d6889c5ff42906dc40a Mon Sep 17 00:00:00 2001 From: Sosuke Suzuki Date: Thu, 27 Jan 2022 15:44:53 +0900 Subject: [PATCH 045/117] Reduce JS parsers bundle size 2 (#12164) * Move get-shebang * Use `getLast` directly * Move `isNonEmptyArray` --- src/common/util.js | 21 +-------------------- src/language-js/loc.js | 2 +- src/language-js/parse/babel.js | 2 +- src/language-js/parse/postprocess/index.js | 2 +- src/language-js/pragma.js | 2 +- src/language-js/utils/get-shebang.js | 14 ++++++++++++++ src/utils/is-non-empty-array.js | 11 +++++++++++ 7 files changed, 30 insertions(+), 24 deletions(-) create mode 100644 src/language-js/utils/get-shebang.js create mode 100644 src/utils/is-non-empty-array.js diff --git a/src/common/util.js b/src/common/util.js index ab7383db7..f384ac1be 100644 --- a/src/common/util.js +++ b/src/common/util.js @@ -4,6 +4,7 @@ const stringWidth = require("string-width"); const escapeStringRegexp = require("escape-string-regexp"); const getLast = require("../utils/get-last.js"); const { getSupportInfo } = require("../main/support.js"); +const { isNonEmptyArray } = require("../utils/is-non-empty-array.js"); const notAsciiRegex = /[^\x20-\x7F]/; @@ -580,25 +581,6 @@ function isFrontMatterNode(node) { return node && node.type === "front-matter"; } -function getShebang(text) { - if (!text.startsWith("#!")) { - return ""; - } - const index = text.indexOf("\n"); - if (index === -1) { - return text; - } - return text.slice(0, index); -} - -/** - * @param {any} object - * @returns {object is Array} - */ -function isNonEmptyArray(object) { - return Array.isArray(object) && object.length > 0; -} - /** * @param {string} description * @returns {(node: any) => symbol} @@ -664,7 +646,6 @@ module.exports = { addDanglingComment, addTrailingComment, isFrontMatterNode, - getShebang, isNonEmptyArray, createGroupIdMapper, }; diff --git a/src/language-js/loc.js b/src/language-js/loc.js index 7c94dab01..126149255 100644 --- a/src/language-js/loc.js +++ b/src/language-js/loc.js @@ -1,6 +1,6 @@ "use strict"; -const { isNonEmptyArray } = require("../common/util.js"); +const { isNonEmptyArray } = require("../utils/is-non-empty-array.js"); /** * @typedef {import("./types/estree").Node} Node diff --git a/src/language-js/parse/babel.js b/src/language-js/parse/babel.js index 1b2492fe7..1ed0a82f9 100644 --- a/src/language-js/parse/babel.js +++ b/src/language-js/parse/babel.js @@ -3,8 +3,8 @@ const tryCombinations = require("../../utils/try-combinations.js"); const { getNextNonSpaceNonCommentCharacterIndexWithStartIndex, - getShebang, } = require("../../common/util.js"); +const { getShebang } = require("../utils/get-shebang.js"); const createParser = require("./utils/create-parser.js"); const createBabelParseError = require("./utils/create-babel-parse-error.js"); const postprocess = require("./postprocess/index.js"); diff --git a/src/language-js/parse/postprocess/index.js b/src/language-js/parse/postprocess/index.js index 5887109a1..b082147bb 100644 --- a/src/language-js/parse/postprocess/index.js +++ b/src/language-js/parse/postprocess/index.js @@ -1,9 +1,9 @@ "use strict"; -const { getLast } = require("../../../common/util.js"); const { locStart, locEnd } = require("../../loc.js"); const { isTsKeywordType } = require("../../utils/is-ts-keyword-type.js"); const { isTypeCastComment } = require("../../utils/is-type-cast-comment.js"); +const getLast = require("../../../utils/get-last.js"); const visitNode = require("./visitNode.js"); const { throwErrorForInvalidNodes } = require("./typescript.js"); diff --git a/src/language-js/pragma.js b/src/language-js/pragma.js index c243fe5c6..a59dd38d8 100644 --- a/src/language-js/pragma.js +++ b/src/language-js/pragma.js @@ -1,8 +1,8 @@ "use strict"; const { parseWithComments, strip, extract, print } = require("jest-docblock"); -const { getShebang } = require("../common/util.js"); const { normalizeEndOfLine } = require("../common/end-of-line.js"); +const { getShebang } = require("./utils/get-shebang.js"); function parseDocBlock(text) { const shebang = getShebang(text); diff --git a/src/language-js/utils/get-shebang.js b/src/language-js/utils/get-shebang.js new file mode 100644 index 000000000..3ccd9f93a --- /dev/null +++ b/src/language-js/utils/get-shebang.js @@ -0,0 +1,14 @@ +"use strict"; + +function getShebang(text) { + if (!text.startsWith("#!")) { + return ""; + } + const index = text.indexOf("\n"); + if (index === -1) { + return text; + } + return text.slice(0, index); +} + +module.exports = { getShebang }; diff --git a/src/utils/is-non-empty-array.js b/src/utils/is-non-empty-array.js new file mode 100644 index 000000000..5b8ba1a43 --- /dev/null +++ b/src/utils/is-non-empty-array.js @@ -0,0 +1,11 @@ +"use strict"; + +/** + * @param {any} object + * @returns {object is Array} + */ +function isNonEmptyArray(object) { + return Array.isArray(object) && object.length > 0; +} + +module.exports = { isNonEmptyArray }; From 7e73f1cf0d0b05bfcbda8323e62993fd4fa91cda Mon Sep 17 00:00:00 2001 From: fisker Cheung Date: Thu, 27 Jan 2022 15:03:49 +0800 Subject: [PATCH 046/117] Update cSpell config (#12154) --- cspell.json | 8 ++------ package.json | 2 +- .../tools/eslint-plugin-prettier-internal-rules/test.js | 4 ++-- 3 files changed, 5 insertions(+), 9 deletions(-) diff --git a/cspell.json b/cspell.json index 74bb8f328..d578a035c 100644 --- a/cspell.json +++ b/cspell.json @@ -370,8 +370,6 @@ ], "files": [ "*", - ".*", - ".github/**/*", "bin/**/*", "changelog_unreleased/**/*", "docs/**/*", @@ -381,14 +379,12 @@ "website/**/*", "tests/config/**/*", "tests/integration/**/*", - "tests/**/jsfmt.spec.js" + "tests/format/**/jsfmt.spec.js" ], "ignorePaths": [ + ".git", "cspell.json", - "**/node_modules/**", - "**/yarn.lock", "*.{log,svg,snap,png}", - "test*.*", "website/data/users.yml", "website/build/**", "website/playground/codeSamples.js", diff --git a/package.json b/package.json index 98b486418..be4a5ec0d 100644 --- a/package.json +++ b/package.json @@ -151,7 +151,7 @@ "lint:changelog": "node ./scripts/lint-changelog.mjs", "lint:prettier": "prettier . \"!test*\" --check", "lint:dist": "eslint --no-eslintrc --no-ignore --no-inline-config --config=./scripts/bundle-eslint-config.js \"dist/!(bin-prettier|index|third-party).js\"", - "lint:spellcheck": "cspell --no-progress --relative", + "lint:spellcheck": "cspell --no-progress --relative --dot --gitignore", "lint:deps": "node ./scripts/check-deps.mjs", "lint:actionlint": "node-actionlint", "fix": "run-s fix:eslint fix:prettier", diff --git a/scripts/tools/eslint-plugin-prettier-internal-rules/test.js b/scripts/tools/eslint-plugin-prettier-internal-rules/test.js index f89175aac..861dd804d 100644 --- a/scripts/tools/eslint-plugin-prettier-internal-rules/test.js +++ b/scripts/tools/eslint-plugin-prettier-internal-rules/test.js @@ -272,8 +272,8 @@ test("no-identifier-n", { valid: ["const a = {n: 1}", "const m = 1", "a.n = 1"], invalid: [ { - code: "const n = 1; alet(n)", - output: "const node = 1; alet(node)", + code: "const n = 1; alert(n)", + output: "const node = 1; alert(node)", errors: 1, }, { From 7d7f7e928a65a14ff27aa9790130c74edfc9b2d1 Mon Sep 17 00:00:00 2001 From: fisker Cheung Date: Thu, 27 Jan 2022 15:04:07 +0800 Subject: [PATCH 047/117] Reduce bundled size of `diff` package (#12160) --- src/cli/format.js | 15 ++++++++++++--- src/main/core.js | 5 +++-- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/src/cli/format.js b/src/cli/format.js index 13aeca6f8..01806522f 100644 --- a/src/cli/format.js +++ b/src/cli/format.js @@ -16,9 +16,18 @@ const getOptionsForFile = require("./options/get-options-for-file.js"); const isTTY = require("./is-tty.js"); function diff(a, b) { - return require("diff").createTwoFilesPatch("", "", a, b, "", "", { - context: 2, - }); + // Use `diff/lib/patch/create.js` instead of `diff` to reduce bundle size + return require("diff/lib/patch/create.js").createTwoFilesPatch( + "", + "", + a, + b, + "", + "", + { + context: 2, + } + ); } function handleError(context, filename, error, printedFilename) { diff --git a/src/main/core.js b/src/main/core.js index 63c40594a..07e40624f 100644 --- a/src/main/core.js +++ b/src/main/core.js @@ -1,6 +1,7 @@ "use strict"; -const diff = require("diff"); +// Use `diff/lib/diff/array.js` instead of `diff` to reduce bundle size +const { diffArrays } = require("diff/lib/diff/array.js"); const { printer: { printDocToString }, @@ -118,7 +119,7 @@ function coreFormat(originalText, opts, addAlignmentSize = 0) { const newCursorNodeCharArray = [...newCursorNodeText]; - const cursorNodeDiff = diff.diffArrays( + const cursorNodeDiff = diffArrays( oldCursorNodeCharArray, newCursorNodeCharArray ); From 950196fb88a34f2d26426f4a7d9534aa98f381d8 Mon Sep 17 00:00:00 2001 From: fisker Cheung Date: Thu, 27 Jan 2022 16:52:43 +0800 Subject: [PATCH 048/117] Replace `tslib` entry when bundling `parser-yaml.js` (#12169) --- scripts/build/config.mjs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/scripts/build/config.mjs b/scripts/build/config.mjs index 183159d6e..201b5573c 100644 --- a/scripts/build/config.mjs +++ b/scripts/build/config.mjs @@ -133,6 +133,12 @@ const parsers = [ }, { input: "src/language-yaml/parser-yaml.js", + replaceModule: { + // Use `tslib.es6.js`, so we can avoid `globalThis` shim + [require.resolve("tslib")]: require + .resolve("tslib") + .replace(/tslib\.js$/, "tslib.es6.js"), + }, }, ].map((bundle) => { const { name } = bundle.input.match( From c9543b9fef6167f1f873d614f36892e22c511075 Mon Sep 17 00:00:00 2001 From: fisker Cheung Date: Thu, 27 Jan 2022 16:53:07 +0800 Subject: [PATCH 049/117] Build: More reporter format (#12165) --- scripts/build/README.md | 9 ++++++- scripts/build/build.mjs | 14 +++++++--- scripts/build/bundler.mjs | 3 ++- scripts/build/esbuild-plugins/visualizer.mjs | 28 +++++++++++++++----- 4 files changed, 42 insertions(+), 12 deletions(-) diff --git a/scripts/build/README.md b/scripts/build/README.md index 8e160760a..d23ce1dc2 100644 --- a/scripts/build/README.md +++ b/scripts/build/README.md @@ -52,12 +52,19 @@ yarn build --file=parser-babel.js --save-as=babel-for-test.js Visualize and analyze your esbuild bundle to see which modules are taking up space. -Report file saved next to the bundled file with `.report.html` suffix. +Available reporter formats: + +- `html` Generate a HTML report file, saved next to the bundled file with `.report.html` suffix. +- `text` Generate a plain text report file, saved next to the bundled file with `.report.txt` suffix. +- `stdout` Log report information in console. ```sh yarn build --report +yarn build --report=stdout --report=text --report=html ``` +**`--report` equals to `--report=html`** + ### `--minify` and `--no-minify` By default, the file minification is controlled by `config.mjs` and `bundler.mjs`, these flags are added to override that behavior. diff --git a/scripts/build/build.mjs b/scripts/build/build.mjs index f12424fb6..6315526da 100644 --- a/scripts/build/build.mjs +++ b/scripts/build/build.mjs @@ -136,10 +136,17 @@ async function preparePackage() { } async function run(params) { - params.files = params.file ? new Set([params.file].flat()) : undefined; + params.files = params.file ? new Set([params.file].flat()) : params.file; params.saveAs = params["save-as"]; params.printSize = params["print-size"]; + + if (params.report === "") { + params.report = ["html"]; + } + params.reports = params.report ? [params.report].flat() : params.report; + delete params.file; + delete params.report; delete params["save-as"]; delete params["print-size"]; @@ -188,14 +195,13 @@ async function run(params) { run( minimist(process.argv.slice(2), { - boolean: ["playground", "print-size", "minify", "babel", "report"], - string: ["file", "save-as"], + boolean: ["playground", "print-size", "minify", "babel"], + string: ["file", "save-as", "report"], default: { playground: false, printSize: false, minify: null, babel: true, - report: false, }, unknown(flag) { throw new Error(`Unknown flag ${chalk.red(flag)}`); diff --git a/scripts/build/bundler.mjs b/scripts/build/bundler.mjs index 82cfdb7b6..35c57d38d 100644 --- a/scripts/build/bundler.mjs +++ b/scripts/build/bundler.mjs @@ -164,7 +164,8 @@ async function* getEsbuildOptions(bundle, buildOptions) { output: buildOptions.onLicenseFound, }, }), - buildOptions.report && esbuildPluginVisualizer(), + buildOptions.reports && + esbuildPluginVisualizer({ formats: buildOptions.reports }), ].filter(Boolean), minify: shouldMinify, legalComments: "none", diff --git a/scripts/build/esbuild-plugins/visualizer.mjs b/scripts/build/esbuild-plugins/visualizer.mjs index 588df2b0d..b3798f509 100644 --- a/scripts/build/esbuild-plugins/visualizer.mjs +++ b/scripts/build/esbuild-plugins/visualizer.mjs @@ -1,11 +1,13 @@ import fs from "node:fs/promises"; import { visualizer as esbuildVisualizer } from "esbuild-visualizer/dist/plugin/index.js"; -export default function esbuildPluginVisualizer() { +export default function esbuildPluginVisualizer({ formats }) { + formats = Object.fromEntries(formats.map((format) => [format, true])); + return { name: "visualizer", setup(build) { - const { initialOptions: esbuildConfig } = build; + const { initialOptions: esbuildConfig, esbuild } = build; esbuildConfig.metafile = true; build.onEnd(async ({ metafile }) => { @@ -15,11 +17,25 @@ export default function esbuildPluginVisualizer() { throw new Error("Unexpected `outputs`."); } - const html = await esbuildVisualizer(metafile, { - title: files[0], - }); + if (formats.text || formats.stdout) { + const report = await esbuild.analyzeMetafile(metafile); - await fs.writeFile(`${esbuildConfig.outfile}.report.html`, html); + if (formats.stdout) { + console.log(report); + } + + if (formats.text) { + await fs.writeFile(`${esbuildConfig.outfile}.report.txt`, report); + } + } + + if (formats.html) { + const report = await esbuildVisualizer(metafile, { + title: files[0], + }); + + await fs.writeFile(`${esbuildConfig.outfile}.report.html`, report); + } }); }, }; From b0e87946e9f7897387bf81d632d1c0b5cb32f55f Mon Sep 17 00:00:00 2001 From: Sosuke Suzuki Date: Thu, 27 Jan 2022 18:23:35 +0900 Subject: [PATCH 050/117] refactor: Use default export for some utils (#12168) --- src/common/util.js | 2 +- src/language-js/clean.js | 2 +- src/language-js/comments.js | 2 +- src/language-js/loc.js | 2 +- src/language-js/parse/babel.js | 2 +- src/language-js/parse/postprocess/index.js | 4 ++-- src/language-js/pragma.js | 2 +- src/language-js/print/comment.js | 3 ++- src/language-js/print/ternary.js | 2 +- src/language-js/print/typescript.js | 2 +- src/language-js/printer-estree.js | 2 +- src/language-js/utils/get-shebang.js | 2 +- src/language-js/utils/index.js | 15 +-------------- src/language-js/utils/is-block-comment.js | 2 +- src/language-js/utils/is-ts-keyword-type.js | 2 +- src/language-js/utils/is-type-cast-comment.js | 4 ++-- src/utils/is-non-empty-array.js | 2 +- 17 files changed, 20 insertions(+), 32 deletions(-) diff --git a/src/common/util.js b/src/common/util.js index f384ac1be..7826e0a0a 100644 --- a/src/common/util.js +++ b/src/common/util.js @@ -4,7 +4,7 @@ const stringWidth = require("string-width"); const escapeStringRegexp = require("escape-string-regexp"); const getLast = require("../utils/get-last.js"); const { getSupportInfo } = require("../main/support.js"); -const { isNonEmptyArray } = require("../utils/is-non-empty-array.js"); +const isNonEmptyArray = require("../utils/is-non-empty-array.js"); const notAsciiRegex = /[^\x20-\x7F]/; diff --git a/src/language-js/clean.js b/src/language-js/clean.js index 8e95c9c8b..fa706ef35 100644 --- a/src/language-js/clean.js +++ b/src/language-js/clean.js @@ -1,6 +1,6 @@ "use strict"; -const { isBlockComment } = require("./utils/index.js"); +const isBlockComment = require("./utils/is-block-comment.js"); const ignoredProperties = new Set([ "range", diff --git a/src/language-js/comments.js b/src/language-js/comments.js index c47a9a1d3..8cc724148 100644 --- a/src/language-js/comments.js +++ b/src/language-js/comments.js @@ -13,7 +13,6 @@ const { isNonEmptyArray, } = require("../common/util.js"); const { - isBlockComment, getFunctionParameters, isPrettierIgnoreComment, isJsxNode, @@ -30,6 +29,7 @@ const { markerForIfWithoutBlockAndSameLineComment, } = require("./utils/index.js"); const { locStart, locEnd } = require("./loc.js"); +const isBlockComment = require("./utils/is-block-comment.js"); /** * @typedef {import("./types/estree").Node} Node diff --git a/src/language-js/loc.js b/src/language-js/loc.js index 126149255..15f07e8d9 100644 --- a/src/language-js/loc.js +++ b/src/language-js/loc.js @@ -1,6 +1,6 @@ "use strict"; -const { isNonEmptyArray } = require("../utils/is-non-empty-array.js"); +const isNonEmptyArray = require("../utils/is-non-empty-array.js"); /** * @typedef {import("./types/estree").Node} Node diff --git a/src/language-js/parse/babel.js b/src/language-js/parse/babel.js index 1ed0a82f9..230f167d5 100644 --- a/src/language-js/parse/babel.js +++ b/src/language-js/parse/babel.js @@ -4,7 +4,7 @@ const tryCombinations = require("../../utils/try-combinations.js"); const { getNextNonSpaceNonCommentCharacterIndexWithStartIndex, } = require("../../common/util.js"); -const { getShebang } = require("../utils/get-shebang.js"); +const getShebang = require("../utils/get-shebang.js"); const createParser = require("./utils/create-parser.js"); const createBabelParseError = require("./utils/create-babel-parse-error.js"); const postprocess = require("./postprocess/index.js"); diff --git a/src/language-js/parse/postprocess/index.js b/src/language-js/parse/postprocess/index.js index b082147bb..e2734715d 100644 --- a/src/language-js/parse/postprocess/index.js +++ b/src/language-js/parse/postprocess/index.js @@ -1,8 +1,8 @@ "use strict"; const { locStart, locEnd } = require("../../loc.js"); -const { isTsKeywordType } = require("../../utils/is-ts-keyword-type.js"); -const { isTypeCastComment } = require("../../utils/is-type-cast-comment.js"); +const isTsKeywordType = require("../../utils/is-ts-keyword-type.js"); +const isTypeCastComment = require("../../utils/is-type-cast-comment.js"); const getLast = require("../../../utils/get-last.js"); const visitNode = require("./visitNode.js"); const { throwErrorForInvalidNodes } = require("./typescript.js"); diff --git a/src/language-js/pragma.js b/src/language-js/pragma.js index a59dd38d8..0cef020fc 100644 --- a/src/language-js/pragma.js +++ b/src/language-js/pragma.js @@ -2,7 +2,7 @@ const { parseWithComments, strip, extract, print } = require("jest-docblock"); const { normalizeEndOfLine } = require("../common/end-of-line.js"); -const { getShebang } = require("./utils/get-shebang.js"); +const getShebang = require("./utils/get-shebang.js"); function parseDocBlock(text) { const shebang = getShebang(text); diff --git a/src/language-js/print/comment.js b/src/language-js/print/comment.js index fcfbbd184..a43c10453 100644 --- a/src/language-js/print/comment.js +++ b/src/language-js/print/comment.js @@ -6,8 +6,9 @@ const { utils: { replaceTextEndOfLine }, } = require("../../document/index.js"); -const { isLineComment, isBlockComment } = require("../utils/index.js"); +const { isLineComment } = require("../utils/index.js"); const { locStart, locEnd } = require("../loc.js"); +const isBlockComment = require("../utils/is-block-comment.js"); function printComment(commentPath, options) { const comment = commentPath.getValue(); diff --git a/src/language-js/print/ternary.js b/src/language-js/print/ternary.js index 79460c075..18c9c8d15 100644 --- a/src/language-js/print/ternary.js +++ b/src/language-js/print/ternary.js @@ -3,12 +3,12 @@ const { hasNewlineInRange } = require("../../common/util.js"); const { isJsxNode, - isBlockComment, getComments, isCallExpression, isMemberExpression, } = require("../utils/index.js"); const { locStart, locEnd } = require("../loc.js"); +const isBlockComment = require("../utils/is-block-comment.js"); const { builders: { line, diff --git a/src/language-js/print/typescript.js b/src/language-js/print/typescript.js index 41c994fc5..ea7c79f94 100644 --- a/src/language-js/print/typescript.js +++ b/src/language-js/print/typescript.js @@ -21,7 +21,7 @@ const { isCallExpression, isMemberExpression, } = require("../utils/index.js"); -const { isTsKeywordType } = require("../utils/is-ts-keyword-type.js"); +const isTsKeywordType = require("../utils/is-ts-keyword-type.js"); const { locStart, locEnd } = require("../loc.js"); const { printOptionalToken, printTypeScriptModifiers } = require("./misc.js"); diff --git a/src/language-js/printer-estree.js b/src/language-js/printer-estree.js index aefb6c8b2..ddb529f6b 100644 --- a/src/language-js/printer-estree.js +++ b/src/language-js/printer-estree.js @@ -20,7 +20,6 @@ const { hasComment, CommentCheckFlags, isTheOnlyJsxElementInMarkdown, - isBlockComment, isLineComment, isNextLineEmpty, needsHardlineAfterDanglingComment, @@ -31,6 +30,7 @@ const { markerForIfWithoutBlockAndSameLineComment, } = require("./utils/index.js"); const { locStart, locEnd } = require("./loc.js"); +const isBlockComment = require("./utils/is-block-comment.js"); const { printHtmlBinding, diff --git a/src/language-js/utils/get-shebang.js b/src/language-js/utils/get-shebang.js index 3ccd9f93a..540844dc7 100644 --- a/src/language-js/utils/get-shebang.js +++ b/src/language-js/utils/get-shebang.js @@ -11,4 +11,4 @@ function getShebang(text) { return text.slice(0, index); } -module.exports = { getShebang }; +module.exports = getShebang; diff --git a/src/language-js/utils/index.js b/src/language-js/utils/index.js index 718238aa3..c1fd1eb7d 100644 --- a/src/language-js/utils/index.js +++ b/src/language-js/utils/index.js @@ -10,6 +10,7 @@ const { getStringWidth, } = require("../../common/util.js"); const { locStart, locEnd, hasSameLocStart } = require("../loc.js"); +const isBlockComment = require("./is-block-comment.js"); /** * @typedef {import("../types/estree").Node} Node @@ -155,19 +156,6 @@ function getLeftSidePathName(path, node) { throw new Error("Unexpected node has no left side."); } -/** - * @param {Comment} comment - * @returns {boolean} - */ -function isBlockComment(comment) { - return ( - comment.type === "Block" || - comment.type === "CommentBlock" || - // `meriyah` - comment.type === "MultiLine" - ); -} - /** * @param {Comment} comment * @returns {boolean} @@ -1341,7 +1329,6 @@ module.exports = { hasNodeIgnoreComment, identity, isBinaryish, - isBlockComment, isCallLikeExpression, isEnabledHackPipeline, isLineComment, diff --git a/src/language-js/utils/is-block-comment.js b/src/language-js/utils/is-block-comment.js index 030b90e25..00a1c122c 100644 --- a/src/language-js/utils/is-block-comment.js +++ b/src/language-js/utils/is-block-comment.js @@ -17,4 +17,4 @@ function isBlockComment(comment) { ); } -module.exports = { isBlockComment }; +module.exports = isBlockComment; diff --git a/src/language-js/utils/is-ts-keyword-type.js b/src/language-js/utils/is-ts-keyword-type.js index 93ff8c64b..24fe68a6a 100644 --- a/src/language-js/utils/is-ts-keyword-type.js +++ b/src/language-js/utils/is-ts-keyword-type.js @@ -6,4 +6,4 @@ function isTsKeywordType({ type }) { return type.startsWith("TS") && type.endsWith("Keyword"); } -module.exports = { isTsKeywordType }; +module.exports = isTsKeywordType; diff --git a/src/language-js/utils/is-type-cast-comment.js b/src/language-js/utils/is-type-cast-comment.js index e99a2ef83..4f0ad4dcf 100644 --- a/src/language-js/utils/is-type-cast-comment.js +++ b/src/language-js/utils/is-type-cast-comment.js @@ -1,6 +1,6 @@ "use strict"; -const { isBlockComment } = require("./is-block-comment.js"); +const isBlockComment = require("./is-block-comment.js"); /** * @typedef {import("../types/estree").Comment} Comment @@ -21,4 +21,4 @@ function isTypeCastComment(comment) { ); } -module.exports = { isTypeCastComment }; +module.exports = isTypeCastComment; diff --git a/src/utils/is-non-empty-array.js b/src/utils/is-non-empty-array.js index 5b8ba1a43..0456053bd 100644 --- a/src/utils/is-non-empty-array.js +++ b/src/utils/is-non-empty-array.js @@ -8,4 +8,4 @@ function isNonEmptyArray(object) { return Array.isArray(object) && object.length > 0; } -module.exports = { isNonEmptyArray }; +module.exports = isNonEmptyArray; From bb130d2d6e6ea42629b17a57869f5e7e550df6fd Mon Sep 17 00:00:00 2001 From: Sosuke Suzuki Date: Thu, 27 Jan 2022 19:24:11 +0900 Subject: [PATCH 051/117] Extract getStringWidth (#12173) --- src/common/util.js | 21 +-------------------- src/document/doc-printer.js | 3 ++- src/document/doc-utils.js | 1 + src/utils/get-string-width.js | 24 ++++++++++++++++++++++++ 4 files changed, 28 insertions(+), 21 deletions(-) create mode 100644 src/utils/get-string-width.js diff --git a/src/common/util.js b/src/common/util.js index 7826e0a0a..374486fd7 100644 --- a/src/common/util.js +++ b/src/common/util.js @@ -1,12 +1,10 @@ "use strict"; -const stringWidth = require("string-width"); const escapeStringRegexp = require("escape-string-regexp"); const getLast = require("../utils/get-last.js"); const { getSupportInfo } = require("../main/support.js"); const isNonEmptyArray = require("../utils/is-non-empty-array.js"); - -const notAsciiRegex = /[^\x20-\x7F]/; +const getStringWidth = require("../utils/get-string-width.js"); const getPenultimate = (arr) => arr[arr.length - 2]; @@ -518,23 +516,6 @@ function getMinNotPresentContinuousCount(str, target) { return max + 1; } -/** - * @param {string} text - * @returns {number} - */ -function getStringWidth(text) { - if (!text) { - return 0; - } - - // shortcut to avoid needless string `RegExp`s, replacements, and allocations within `string-width` - if (!notAsciiRegex.test(text)) { - return text.length; - } - - return stringWidth(text); -} - function addCommentHelper(node, comment) { const comments = node.comments || (node.comments = []); comments.push(comment); diff --git a/src/document/doc-printer.js b/src/document/doc-printer.js index 4b36f4093..1a45f78c6 100644 --- a/src/document/doc-printer.js +++ b/src/document/doc-printer.js @@ -1,7 +1,8 @@ "use strict"; -const { getStringWidth, getLast } = require("../common/util.js"); const { convertEndOfLineToChars } = require("../common/end-of-line.js"); +const getLast = require("../utils/get-last.js"); +const getStringWidth = require("../utils/get-string-width.js"); const { fill, cursor, indent } = require("./doc-builders.js"); const { isConcat, getDocParts } = require("./doc-utils.js"); diff --git a/src/document/doc-utils.js b/src/document/doc-utils.js index 015cf6ebb..7392976b1 100644 --- a/src/document/doc-utils.js +++ b/src/document/doc-utils.js @@ -1,4 +1,5 @@ "use strict"; + const getLast = require("../utils/get-last.js"); const { literalline, join } = require("./doc-builders.js"); diff --git a/src/utils/get-string-width.js b/src/utils/get-string-width.js new file mode 100644 index 000000000..90f6ba57f --- /dev/null +++ b/src/utils/get-string-width.js @@ -0,0 +1,24 @@ +"use strict"; + +const stringWidth = require("string-width"); + +const notAsciiRegex = /[^\x20-\x7F]/; + +/** + * @param {string} text + * @returns {number} + */ +function getStringWidth(text) { + if (!text) { + return 0; + } + + // shortcut to avoid needless string `RegExp`s, replacements, and allocations within `string-width` + if (!notAsciiRegex.test(text)) { + return text.length; + } + + return stringWidth(text); +} + +module.exports = getStringWidth; From 893f43a599dcaba249f012fecbc28a3dac008f81 Mon Sep 17 00:00:00 2001 From: Sosuke Suzuki Date: Thu, 27 Jan 2022 19:24:36 +0900 Subject: [PATCH 052/117] Remove unused api at build time (#12171) --- scripts/build/config.mjs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/scripts/build/config.mjs b/scripts/build/config.mjs index 201b5573c..cb7297dda 100644 --- a/scripts/build/config.mjs +++ b/scripts/build/config.mjs @@ -95,6 +95,10 @@ const parsers = [ }, { input: "src/language-js/parse/espree.js", + replace: { + "const Syntax = ": "const Syntax = undefined && ", + "var visitorKeys = ": "var visitorKeys = undefined && ", + }, }, { input: "src/language-js/parse/meriyah.js", From e73ee65d9747fc27c46625ccdadcc1afa36bc479 Mon Sep 17 00:00:00 2001 From: fisker Cheung Date: Thu, 27 Jan 2022 21:14:05 +0800 Subject: [PATCH 053/117] Reduce size of `inherits` module in `parser-markdown.js` (#12175) --- scripts/build/config.mjs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/scripts/build/config.mjs b/scripts/build/config.mjs index cb7297dda..4851adfff 100644 --- a/scripts/build/config.mjs +++ b/scripts/build/config.mjs @@ -127,6 +127,10 @@ const parsers = [ replaceModule: { [require.resolve("parse-entities/decode-entity.browser.js")]: require.resolve("parse-entities/decode-entity.js"), + // Avoid `node:util` shim + [require.resolve("inherits")]: require.resolve( + "inherits/inherits_browser.js" + ), }, }, { From 9106e7ea1353a2f7c03026f939d540206620f66f Mon Sep 17 00:00:00 2001 From: fisker Cheung Date: Thu, 27 Jan 2022 21:14:31 +0800 Subject: [PATCH 054/117] Remove `esm/doc.mjs` (#12166) --- scripts/build/bundler.mjs | 12 +++++++----- scripts/build/config.mjs | 2 -- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/scripts/build/bundler.mjs b/scripts/build/bundler.mjs index 35c57d38d..b38e7e98d 100644 --- a/scripts/build/bundler.mjs +++ b/scripts/build/bundler.mjs @@ -190,11 +190,13 @@ async function* getEsbuildOptions(bundle, buildOptions) { format: "umd", }; - yield { - ...esbuildOptions, - outfile: `esm/${bundle.output.replace(".js", ".mjs")}`, - format: "esm", - }; + if (/^(?:standalone|parser-.*)\.js$/.test(bundle.output)) { + yield { + ...esbuildOptions, + outfile: `esm/${bundle.output.replace(".js", ".mjs")}`, + format: "esm", + }; + } } else { esbuildOptions.external.push( ...builtinModules, diff --git a/scripts/build/config.mjs b/scripts/build/config.mjs index 4851adfff..217f4f46d 100644 --- a/scripts/build/config.mjs +++ b/scripts/build/config.mjs @@ -111,8 +111,6 @@ const parsers = [ }, { input: "src/language-css/parser-postcss.js", - // postcss has dependency cycles that don't work with rollup - bundler: "webpack", replace: { // `postcss-values-parser` uses constructor.name, it will be changed by rollup or terser // https://github.com/shellscape/postcss-values-parser/blob/c00f858ab8c86ce9f06fdb702e8f26376f467248/lib/parser.js#L499 From 2fd1406f5f5908db3b4a88bb3b804f916f23ccab Mon Sep 17 00:00:00 2001 From: fisker Cheung Date: Fri, 28 Jan 2022 09:24:48 +0800 Subject: [PATCH 055/117] Remove `chalk` from `standalone.js` (#12162) Co-authored-by: Sosuke Suzuki --- src/cli/options/get-options-for-file.js | 3 +- src/cli/options/parse-cli-arguments.js | 6 +- src/main/options-normalizer.js | 81 ++++++++++++++----------- 3 files changed, 54 insertions(+), 36 deletions(-) diff --git a/src/cli/options/get-options-for-file.js b/src/cli/options/get-options-for-file.js index e91fab07a..e2bbe6507 100644 --- a/src/cli/options/get-options-for-file.js +++ b/src/cli/options/get-options-for-file.js @@ -1,6 +1,7 @@ "use strict"; const dashify = require("dashify"); +const chalk = require("chalk"); // eslint-disable-next-line no-restricted-modules const prettier = require("../../index.js"); const { optionsNormalizer } = require("../prettier-internal.js"); @@ -49,7 +50,7 @@ function parseArgsToOptions(context, overrideDefaults) { default: cliifyOptions(overrideDefaults, apiDetailedOptionMap), }), context.detailedOptions, - { logger: false } + { logger: false, colorsModule: chalk } ), context.detailedOptions ); diff --git a/src/cli/options/parse-cli-arguments.js b/src/cli/options/parse-cli-arguments.js index 1dc14b1bd..d1b341d08 100644 --- a/src/cli/options/parse-cli-arguments.js +++ b/src/cli/options/parse-cli-arguments.js @@ -1,6 +1,7 @@ "use strict"; const pick = require("lodash/pick"); const camelCase = require("camelcase"); +const chalk = require("chalk"); const { optionsNormalizer: { normalizeCliOptions }, } = require("../prettier-internal.js"); @@ -19,7 +20,10 @@ function parseArgv(rawArguments, detailedOptions, logger, keys) { argv = pick(argv, keys); } - const normalized = normalizeCliOptions(argv, detailedOptions, { logger }); + const normalized = normalizeCliOptions(argv, detailedOptions, { + logger, + colorsModule: chalk, + }); return Object.fromEntries( Object.entries(normalized).map(([key, value]) => { diff --git a/src/main/options-normalizer.js b/src/main/options-normalizer.js index 3240a083c..9dc55eeab 100644 --- a/src/main/options-normalizer.js +++ b/src/main/options-normalizer.js @@ -2,7 +2,6 @@ const vnopts = require("vnopts"); const leven = require("leven"); -const chalk = require("chalk"); const getLast = require("../utils/get-last.js"); const cliDescriptor = { @@ -18,41 +17,48 @@ const cliDescriptor = { : `${cliDescriptor.key(key)}=${value}`, }; -class FlagSchema extends vnopts.ChoiceSchema { - constructor({ name, flags }) { - super({ name, choices: flags }); - this._flags = [...flags].sort(); - } - preprocess(value, utils) { - if ( - typeof value === "string" && - value.length > 0 && - !this._flags.includes(value) - ) { - const suggestion = this._flags.find((flag) => leven(flag, value) < 3); - if (suggestion) { - utils.logger.warn( - [ - `Unknown flag ${chalk.yellow(utils.descriptor.value(value))},`, - `did you mean ${chalk.blue(utils.descriptor.value(suggestion))}?`, - ].join(" ") - ); - return suggestion; - } +// To prevent `chalk` module from being included in the `standalone.js` bundle, +// it will take that as an argument if needed. +const getFlagSchema = (colorsModule) => + class FlagSchema extends vnopts.ChoiceSchema { + constructor({ name, flags }) { + super({ name, choices: flags }); + this._flags = [...flags].sort(); } - return value; - } - expected() { - return "a flag"; - } -} + preprocess(value, utils) { + if ( + typeof value === "string" && + value.length > 0 && + !this._flags.includes(value) + ) { + const suggestion = this._flags.find((flag) => leven(flag, value) < 3); + if (suggestion) { + utils.logger.warn( + [ + `Unknown flag ${colorsModule.yellow( + utils.descriptor.value(value) + )},`, + `did you mean ${colorsModule.blue( + utils.descriptor.value(suggestion) + )}?`, + ].join(" ") + ); + return suggestion; + } + } + return value; + } + expected() { + return "a flag"; + } + }; let hasDeprecationWarned; function normalizeOptions( options, optionInfos, - { logger, isCLI = false, passThrough = false } = {} + { logger, isCLI = false, passThrough = false, colorsModule } = {} ) { const unknown = !passThrough ? (key, value, options) => { @@ -69,7 +75,7 @@ function normalizeOptions( : (key, value) => ({ [key]: value }); const descriptor = isCLI ? cliDescriptor : vnopts.apiDescriptor; - const schemas = optionInfosToSchemas(optionInfos, { isCLI }); + const schemas = optionInfosToSchemas(optionInfos, { isCLI, colorsModule }); const normalizer = new vnopts.Normalizer(schemas, { logger, unknown, @@ -91,7 +97,7 @@ function normalizeOptions( return normalized; } -function optionInfosToSchemas(optionInfos, { isCLI }) { +function optionInfosToSchemas(optionInfos, { isCLI, colorsModule }) { const schemas = []; if (isCLI) { @@ -99,7 +105,9 @@ function optionInfosToSchemas(optionInfos, { isCLI }) { } for (const optionInfo of optionInfos) { - schemas.push(optionInfoToSchema(optionInfo, { isCLI, optionInfos })); + schemas.push( + optionInfoToSchema(optionInfo, { isCLI, optionInfos, colorsModule }) + ); if (optionInfo.alias && isCLI) { schemas.push( @@ -114,7 +122,7 @@ function optionInfosToSchemas(optionInfos, { isCLI }) { return schemas; } -function optionInfoToSchema(optionInfo, { isCLI, optionInfos }) { +function optionInfoToSchema(optionInfo, { isCLI, optionInfos, colorsModule }) { let SchemaConstructor; const parameters = { name: optionInfo.name }; const handlers = {}; @@ -146,7 +154,7 @@ function optionInfoToSchema(optionInfo, { isCLI, optionInfos }) { SchemaConstructor = vnopts.BooleanSchema; break; case "flag": - SchemaConstructor = FlagSchema; + SchemaConstructor = getFlagSchema(colorsModule); parameters.flags = optionInfos.flatMap((optionInfo) => [ optionInfo.alias, @@ -213,6 +221,11 @@ function normalizeApiOptions(options, optionInfos, opts) { } function normalizeCliOptions(options, optionInfos, opts) { + /* istanbul ignore next */ + if (process.env.NODE_ENV !== "production" && !opts.colorsModule) { + throw new Error("'colorsModule' option is required."); + } + return normalizeOptions(options, optionInfos, { isCLI: true, ...opts }); } From ff78a9442402b7efb5edcf04e74ba9672a65ef60 Mon Sep 17 00:00:00 2001 From: Sosuke Suzuki Date: Fri, 28 Jan 2022 11:07:37 +0900 Subject: [PATCH 056/117] Reduce bundle size of `parser-html.js` (#12176) --- src/language-html/embed.js | 2 +- src/language-html/parser-html.js | 8 ++-- src/language-html/print-preprocess.js | 2 +- src/language-html/print/children.js | 2 +- src/language-html/print/element.js | 2 +- src/language-html/print/tag.js | 2 +- src/language-html/printer-html.js | 2 +- src/language-html/utils/array-to-map.js | 11 +++++ .../utils/html-elements-attributes.js | 9 +++++ src/language-html/utils/html-tag-names.js | 8 ++++ .../{utils.js => utils/index.js} | 40 +++---------------- .../utils/is-unknown-namespace.js | 11 +++++ src/language-html/utils/map-object.js | 11 +++++ 13 files changed, 64 insertions(+), 46 deletions(-) create mode 100644 src/language-html/utils/array-to-map.js create mode 100644 src/language-html/utils/html-elements-attributes.js create mode 100644 src/language-html/utils/html-tag-names.js rename src/language-html/{utils.js => utils/index.js} (94%) create mode 100644 src/language-html/utils/is-unknown-namespace.js create mode 100644 src/language-html/utils/map-object.js diff --git a/src/language-html/embed.js b/src/language-html/embed.js index 2ca96c4d6..ef83e6364 100644 --- a/src/language-html/embed.js +++ b/src/language-html/embed.js @@ -28,7 +28,7 @@ const { isVueSlotAttribute, isVueSfcBindingsAttribute, getTextValueParts, -} = require("./utils.js"); +} = require("./utils/index.js"); const getNodeContent = require("./get-node-content.js"); function printEmbeddedAttributeValue(node, htmlTextToDoc, options) { diff --git a/src/language-html/parser-html.js b/src/language-html/parser-html.js index dd5c1e968..b438eaa35 100644 --- a/src/language-html/parser-html.js +++ b/src/language-html/parser-html.js @@ -9,11 +9,9 @@ const parseFrontMatter = require("../utils/front-matter/parse.js"); const getLast = require("../utils/get-last.js"); const createError = require("../common/parser-create-error.js"); const { inferParserByLanguage } = require("../common/util.js"); -const { - HTML_ELEMENT_ATTRIBUTES, - HTML_TAGS, - isUnknownNamespace, -} = require("./utils.js"); +const HTML_TAGS = require("./utils/html-tag-names.js"); +const HTML_ELEMENT_ATTRIBUTES = require("./utils/html-elements-attributes.js"); +const isUnknownNamespace = require("./utils/is-unknown-namespace.js"); const { hasPragma } = require("./pragma.js"); const { Node } = require("./ast.js"); const { parseIeConditionalComment } = require("./conditional-comment.js"); diff --git a/src/language-html/print-preprocess.js b/src/language-html/print-preprocess.js index a9c01d006..0add77b63 100644 --- a/src/language-html/print-preprocess.js +++ b/src/language-html/print-preprocess.js @@ -14,7 +14,7 @@ const { isLeadingSpaceSensitiveNode, isTrailingSpaceSensitiveNode, isWhitespaceSensitiveNode, -} = require("./utils.js"); +} = require("./utils/index.js"); const PREPROCESS_PIPELINE = [ removeIgnorableFirstLf, diff --git a/src/language-html/print/children.js b/src/language-html/print/children.js index 02d97a54a..ee8d36e15 100644 --- a/src/language-html/print/children.js +++ b/src/language-html/print/children.js @@ -11,7 +11,7 @@ const { isTextLikeNode, hasPrettierIgnore, preferHardlineAsLeadingSpaces, -} = require("../utils.js"); +} = require("../utils/index.js"); const { printOpeningTagPrefix, needsToBorrowNextOpeningTagStartMarker, diff --git a/src/language-html/print/element.js b/src/language-html/print/element.js index 98f63c05a..a00d4e3f5 100644 --- a/src/language-html/print/element.js +++ b/src/language-html/print/element.js @@ -20,7 +20,7 @@ const { isVueCustomBlock, countParents, forceBreakContent, -} = require("../utils.js"); +} = require("../utils/index.js"); const { printOpeningTagPrefix, printOpeningTag, diff --git a/src/language-html/print/tag.js b/src/language-html/print/tag.js index 63d982137..7d97ec0fd 100644 --- a/src/language-html/print/tag.js +++ b/src/language-html/print/tag.js @@ -17,7 +17,7 @@ const { isPreLikeNode, hasPrettierIgnore, shouldPreserveContent, -} = require("../utils.js"); +} = require("../utils/index.js"); function printClosingTag(node, options) { return [ diff --git a/src/language-html/printer-html.js b/src/language-html/printer-html.js index 2bb142548..67301b657 100644 --- a/src/language-html/printer-html.js +++ b/src/language-html/printer-html.js @@ -13,7 +13,7 @@ const { countChars, unescapeQuoteEntities, getTextValueParts, -} = require("./utils.js"); +} = require("./utils/index.js"); const preprocess = require("./print-preprocess.js"); const { insertPragma } = require("./pragma.js"); const { locStart, locEnd } = require("./loc.js"); diff --git a/src/language-html/utils/array-to-map.js b/src/language-html/utils/array-to-map.js new file mode 100644 index 000000000..7326daba6 --- /dev/null +++ b/src/language-html/utils/array-to-map.js @@ -0,0 +1,11 @@ +"use strict"; + +function arrayToMap(array) { + const map = Object.create(null); + for (const value of array) { + map[value] = true; + } + return map; +} + +module.exports = arrayToMap; diff --git a/src/language-html/utils/html-elements-attributes.js b/src/language-html/utils/html-elements-attributes.js new file mode 100644 index 000000000..c62a07632 --- /dev/null +++ b/src/language-html/utils/html-elements-attributes.js @@ -0,0 +1,9 @@ +"use strict"; + +const htmlElementAttributes = require("html-element-attributes"); +const mapObject = require("./map-object.js"); +const arrayToMap = require("./array-to-map.js"); + +const HTML_ELEMENT_ATTRIBUTES = mapObject(htmlElementAttributes, arrayToMap); + +module.exports = HTML_ELEMENT_ATTRIBUTES; diff --git a/src/language-html/utils/html-tag-names.js b/src/language-html/utils/html-tag-names.js new file mode 100644 index 000000000..286e4e23b --- /dev/null +++ b/src/language-html/utils/html-tag-names.js @@ -0,0 +1,8 @@ +"use strict"; + +const htmlTagNames = require("html-tag-names"); +const arrayToMap = require("./array-to-map.js"); + +const HTML_TAGS = arrayToMap(htmlTagNames); + +module.exports = HTML_TAGS; diff --git a/src/language-html/utils.js b/src/language-html/utils/index.js similarity index 94% rename from src/language-html/utils.js rename to src/language-html/utils/index.js index 4696285d5..18b46cedf 100644 --- a/src/language-html/utils.js +++ b/src/language-html/utils/index.js @@ -1,28 +1,24 @@ "use strict"; /** - * @typedef {import("../common/ast-path")} AstPath + * @typedef {import("../../common/ast-path")} AstPath */ -const htmlTagNames = require("html-tag-names"); -const htmlElementAttributes = require("html-element-attributes"); const { inferParserByLanguage, isFrontMatterNode, -} = require("../common/util.js"); +} = require("../../common/util.js"); const { builders: { line, hardline, join }, utils: { getDocParts, replaceTextEndOfLine }, -} = require("../document/index.js"); +} = require("../../document/index.js"); const { CSS_DISPLAY_TAGS, CSS_DISPLAY_DEFAULT, CSS_WHITE_SPACE_TAGS, CSS_WHITE_SPACE_DEFAULT, -} = require("./constants.evaluate.js"); - -const HTML_TAGS = arrayToMap(htmlTagNames); -const HTML_ELEMENT_ATTRIBUTES = mapObject(htmlElementAttributes, arrayToMap); +} = require("../constants.evaluate.js"); +const isUnknownNamespace = require("./is-unknown-namespace.js"); // https://infra.spec.whatwg.org/#ascii-whitespace const HTML_WHITESPACE = new Set(["\t", "\n", "\f", "\r", " "]); @@ -47,22 +43,6 @@ const getLeadingAndTrailingHtmlWhitespace = (string) => { }; const hasHtmlWhitespace = (string) => /[\t\n\f\r ]/.test(string); -function arrayToMap(array) { - const map = Object.create(null); - for (const value of array) { - map[value] = true; - } - return map; -} - -function mapObject(object, fn) { - const newObject = Object.create(null); - for (const [key, value] of Object.entries(object)) { - newObject[key] = fn(value, key); - } - return newObject; -} - function shouldPreserveContent(node, options) { // unterminated node in ie conditional comment // e.g. @@ -539,14 +519,6 @@ function getNodeCssStyleDisplay(node, options) { } } -function isUnknownNamespace(node) { - return ( - node.type === "element" && - !node.hasExplicitNamespace && - !["html", "svg"].includes(node.namespace) - ); -} - function getNodeCssStyleWhiteSpace(node) { return ( (node.type === "element" && @@ -667,8 +639,6 @@ function getTextValueParts(node, value = node.value) { } module.exports = { - HTML_ELEMENT_ATTRIBUTES, - HTML_TAGS, htmlTrim, htmlTrimPreserveIndentation, hasHtmlWhitespace, diff --git a/src/language-html/utils/is-unknown-namespace.js b/src/language-html/utils/is-unknown-namespace.js new file mode 100644 index 000000000..594df3445 --- /dev/null +++ b/src/language-html/utils/is-unknown-namespace.js @@ -0,0 +1,11 @@ +"use strict"; + +function isUnknownNamespace(node) { + return ( + node.type === "element" && + !node.hasExplicitNamespace && + !["html", "svg"].includes(node.namespace) + ); +} + +module.exports = isUnknownNamespace; diff --git a/src/language-html/utils/map-object.js b/src/language-html/utils/map-object.js new file mode 100644 index 000000000..030b9870a --- /dev/null +++ b/src/language-html/utils/map-object.js @@ -0,0 +1,11 @@ +"use strict"; + +function mapObject(object, fn) { + const newObject = Object.create(null); + for (const [key, value] of Object.entries(object)) { + newObject[key] = fn(value, key); + } + return newObject; +} + +module.exports = mapObject; From 02052fd6cec2ce7dde81f319a71316e1866b41f6 Mon Sep 17 00:00:00 2001 From: fisker Cheung Date: Fri, 28 Jan 2022 10:11:35 +0800 Subject: [PATCH 057/117] Build: Verbose text report (#12178) --- scripts/build/esbuild-plugins/visualizer.mjs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/scripts/build/esbuild-plugins/visualizer.mjs b/scripts/build/esbuild-plugins/visualizer.mjs index b3798f509..0d66d169e 100644 --- a/scripts/build/esbuild-plugins/visualizer.mjs +++ b/scripts/build/esbuild-plugins/visualizer.mjs @@ -18,7 +18,9 @@ export default function esbuildPluginVisualizer({ formats }) { } if (formats.text || formats.stdout) { - const report = await esbuild.analyzeMetafile(metafile); + const report = await esbuild.analyzeMetafile(metafile, { + verbose: true, + }); if (formats.stdout) { console.log(report); From 350c05330ed2c194db7362287b6e8c4c5bfdbc5e Mon Sep 17 00:00:00 2001 From: fisker Cheung Date: Fri, 28 Jan 2022 10:34:59 +0800 Subject: [PATCH 058/117] Build: Minor tweak to the umd plugin (#12179) --- scripts/build/esbuild-plugins/umd.mjs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/build/esbuild-plugins/umd.mjs b/scripts/build/esbuild-plugins/umd.mjs index 77eb5ddd2..69e6f2da8 100644 --- a/scripts/build/esbuild-plugins/umd.mjs +++ b/scripts/build/esbuild-plugins/umd.mjs @@ -46,8 +46,8 @@ function getUmdWrapper(name, build) { if (minify) { wrapper = build.esbuild - .buildSync({ stdin: { contents: wrapper }, minify, write: false }) - .outputFiles[0].text.trim(); + .transformSync(wrapper, { loader: "js", minify }) + .code.trim(); } const [intro, outro] = wrapper.split(placeholder); From a407f9b5afc5aee40fe5cd09886029cece474e20 Mon Sep 17 00:00:00 2001 From: fisker Cheung Date: Fri, 28 Jan 2022 10:57:15 +0800 Subject: [PATCH 059/117] Exclude `getInterpreter` from 'standalone.js' (#12180) --- src/main/options.js | 57 +++++------------------------------- src/utils/get-interpreter.js | 52 ++++++++++++++++++++++++++++++++ 2 files changed, 60 insertions(+), 49 deletions(-) create mode 100644 src/utils/get-interpreter.js diff --git a/src/main/options.js b/src/main/options.js index e6fe2be29..27f21f7b7 100644 --- a/src/main/options.js +++ b/src/main/options.js @@ -1,8 +1,6 @@ "use strict"; -const fs = require("fs"); const path = require("path"); -const readlines = require("n-readlines"); const { UndefinedParserError } = require("../common/errors.js"); const { getSupportInfo } = require("../main/support.js"); const normalizer = require("./options-normalizer.js"); @@ -118,52 +116,6 @@ function getPlugin(options) { return printerPlugin; } -function getInterpreter(filepath) { - /* istanbul ignore next */ - if (typeof filepath !== "string") { - return ""; - } - - let fd; - try { - fd = fs.openSync(filepath, "r"); - } catch { - // istanbul ignore next - return ""; - } - - try { - const liner = new readlines(fd); - const firstLine = liner.next().toString("utf8"); - - // #!/bin/env node, #!/usr/bin/env node - const m1 = firstLine.match(/^#!\/(?:usr\/)?bin\/env\s+(\S+)/); - if (m1) { - return m1[1]; - } - - // #!/bin/node, #!/usr/bin/node, #!/usr/local/bin/node - const m2 = firstLine.match(/^#!\/(?:usr\/(?:local\/)?)?bin\/(\S+)/); - if (m2) { - return m2[1]; - } - return ""; - } catch { - // There are some weird cases where paths are missing, causing Jest - // failures. It's unclear what these correspond to in the real world. - /* istanbul ignore next */ - return ""; - } finally { - try { - // There are some weird cases where paths are missing, causing Jest - // failures. It's unclear what these correspond to in the real world. - fs.closeSync(fd); - } catch { - // nop - } - } -} - function inferParser(filepath, plugins) { const filename = path.basename(filepath).toLowerCase(); const languages = getSupportInfo({ plugins }).languages.filter( @@ -183,7 +135,14 @@ function inferParser(filepath, plugins) { language.filenames.some((name) => name.toLowerCase() === filename)) ); - if (!language && !filename.includes(".")) { + if ( + process.env.PRETTIER_TARGET !== "universal" && + !language && + !filename.includes(".") + ) { + // `getInterpreter` requires file access, put `require()` in the `if` block, + // So we can easily remove this part during build + const getInterpreter = require("../utils/get-interpreter.js"); const interpreter = getInterpreter(filepath); language = languages.find( (language) => diff --git a/src/utils/get-interpreter.js b/src/utils/get-interpreter.js new file mode 100644 index 000000000..c67fe6324 --- /dev/null +++ b/src/utils/get-interpreter.js @@ -0,0 +1,52 @@ +"use strict"; + +const fs = require("fs"); +const readlines = require("n-readlines"); + +function getInterpreter(filepath) { + /* istanbul ignore next */ + if (typeof filepath !== "string") { + return ""; + } + + let fd; + try { + fd = fs.openSync(filepath, "r"); + } catch { + // istanbul ignore next + return ""; + } + + try { + const liner = new readlines(fd); + const firstLine = liner.next().toString("utf8"); + + // #!/bin/env node, #!/usr/bin/env node + const m1 = firstLine.match(/^#!\/(?:usr\/)?bin\/env\s+(\S+)/); + if (m1) { + return m1[1]; + } + + // #!/bin/node, #!/usr/bin/node, #!/usr/local/bin/node + const m2 = firstLine.match(/^#!\/(?:usr\/(?:local\/)?)?bin\/(\S+)/); + if (m2) { + return m2[1]; + } + return ""; + } catch { + // There are some weird cases where paths are missing, causing Jest + // failures. It's unclear what these correspond to in the real world. + /* istanbul ignore next */ + return ""; + } finally { + try { + // There are some weird cases where paths are missing, causing Jest + // failures. It's unclear what these correspond to in the real world. + fs.closeSync(fd); + } catch { + // nop + } + } +} + +module.exports = getInterpreter; From f4d9816bc1bc4535df3c2cacdbf7484628542173 Mon Sep 17 00:00:00 2001 From: Lucas Duailibe Date: Fri, 28 Jan 2022 00:11:28 -0300 Subject: [PATCH 060/117] Keep comments of `default` cases in the same line of the case (#12177) --- changelog_unreleased/javascript/12177.md | 40 ++++++++++ src/language-js/comments.js | 24 ++++++ src/language-js/printer-estree.js | 4 + .../switch/__snapshots__/jsfmt.spec.js.snap | 78 +++++++++++++++++++ tests/format/js/switch/comments.js | 35 +++++++++ 5 files changed, 181 insertions(+) create mode 100644 changelog_unreleased/javascript/12177.md diff --git a/changelog_unreleased/javascript/12177.md b/changelog_unreleased/javascript/12177.md new file mode 100644 index 000000000..79295954a --- /dev/null +++ b/changelog_unreleased/javascript/12177.md @@ -0,0 +1,40 @@ +#### Keep comments after `default` cases in the same line (#12177 by @duailibe) + +Keep comments right after `default` cases (in switch statements) in the same line, when possible. + + +```jsx +// Input +function read_statement() { + switch (peek_keyword()) { + case Keyword.impl: // impl Growling for Wolf {} + return ImplDeclaration.read(); + + default: // expression; + return ExpressionStatement.read(); + } +} + +// Prettier stable +function read_statement() { + switch (peek_keyword()) { + case Keyword.impl: // impl Growling for Wolf {} + return ImplDeclaration.read(); + + default: + // expression; + return ExpressionStatement.read(); + } +} + +// Prettier main +function read_statement() { + switch (peek_keyword()) { + case Keyword.impl: // impl Growling for Wolf {} + return ImplDeclaration.read(); + + default: // expression; + return ExpressionStatement.read(); + } +} +``` diff --git a/src/language-js/comments.js b/src/language-js/comments.js index 8cc724148..8bc225aad 100644 --- a/src/language-js/comments.js +++ b/src/language-js/comments.js @@ -24,6 +24,7 @@ const { isCallExpression, isMemberExpression, isObjectProperty, + isLineComment, getComments, CommentCheckFlags, markerForIfWithoutBlockAndSameLineComment, @@ -93,6 +94,7 @@ function handleEndOfLineComment(context) { handleTypeAliasComments, handleVariableDeclaratorComments, handleBreakAndContinueStatementComments, + handleSwitchDefaultCaseComments, ].some((fn) => fn(context)); } @@ -897,6 +899,28 @@ function handleTSMappedTypeComments({ return false; } +function handleSwitchDefaultCaseComments({ + comment, + enclosingNode, + followingNode, +}) { + if ( + !enclosingNode || + enclosingNode.type !== "SwitchCase" || + enclosingNode.test + ) { + return false; + } + + if (followingNode.type === "BlockStatement" && isLineComment(comment)) { + addBlockStatementFirstComment(followingNode, comment); + } else { + addDanglingComment(enclosingNode, comment); + } + + return true; +} + /** * @param {Node} node * @returns {boolean} diff --git a/src/language-js/printer-estree.js b/src/language-js/printer-estree.js index ddb529f6b..4decdd780 100644 --- a/src/language-js/printer-estree.js +++ b/src/language-js/printer-estree.js @@ -696,6 +696,10 @@ function printPathNoParens(path, options, print, args) { parts.push("default:"); } + if (hasComment(node, CommentCheckFlags.Dangling)) { + parts.push(" ", printDanglingComments(path, options, true)); + } + const consequent = node.consequent.filter( (node) => node.type !== "EmptyStatement" ); diff --git a/tests/format/js/switch/__snapshots__/jsfmt.spec.js.snap b/tests/format/js/switch/__snapshots__/jsfmt.spec.js.snap index de7eb2171..9a4cf4dca 100644 --- a/tests/format/js/switch/__snapshots__/jsfmt.spec.js.snap +++ b/tests/format/js/switch/__snapshots__/jsfmt.spec.js.snap @@ -30,6 +30,41 @@ switch(x) { } } +switch(x) { + default: // comment + break; +} + +switch(x) { + default: // comment + {break;} +} + +switch(x) { + default: {// comment + break;} +} + +switch(x) { + default: /* comment */ + break; +} + +switch(x) { + default: /* comment */ + {break;} +} + +switch(x) { + default: {/* comment */ + break;} +} + +switch(x) { + default: /* comment */ { + break;} +} + =====================================output===================================== switch (true) { case true: @@ -55,6 +90,49 @@ switch (x) { } } +switch (x) { + default: // comment + break; +} + +switch (x) { + default: { + // comment + break; + } +} + +switch (x) { + default: { + // comment + break; + } +} + +switch (x) { + default: /* comment */ + break; +} + +switch (x) { + default: /* comment */ { + break; + } +} + +switch (x) { + default: { + /* comment */ + break; + } +} + +switch (x) { + default: /* comment */ { + break; + } +} + ================================================================================ `; diff --git a/tests/format/js/switch/comments.js b/tests/format/js/switch/comments.js index d91b1e9ed..42dceadbb 100644 --- a/tests/format/js/switch/comments.js +++ b/tests/format/js/switch/comments.js @@ -21,3 +21,38 @@ switch(x) { case y: { } } + +switch(x) { + default: // comment + break; +} + +switch(x) { + default: // comment + {break;} +} + +switch(x) { + default: {// comment + break;} +} + +switch(x) { + default: /* comment */ + break; +} + +switch(x) { + default: /* comment */ + {break;} +} + +switch(x) { + default: {/* comment */ + break;} +} + +switch(x) { + default: /* comment */ { + break;} +} From 9691e7bc37e4d50615a6624fc9ed3191bdc9a3f2 Mon Sep 17 00:00:00 2001 From: fisker Cheung Date: Fri, 28 Jan 2022 15:25:30 +0800 Subject: [PATCH 061/117] Add `acorn` parser (#12172) --- .eslintrc.js | 1 + CONTRIBUTING.md | 2 +- changelog_unreleased/javascript/12172.md | 3 + docs/options.md | 1 + package.json | 2 + scripts/build/config.mjs | 5 +- src/language-js/comments.js | 1 + src/language-js/index.js | 1 + src/language-js/parse/acorn-and-espree.js | 11 + src/language-js/parse/acorn.js | 81 ++++++++ src/language-js/parse/espree.js | 6 +- src/language-js/parse/parsers.js | 6 +- src/language-js/parse/postprocess/index.js | 5 +- src/language-js/utils/index.js | 1 + src/main/core-options.js | 1 + src/main/range-util.js | 1 + tests/config/format-test.js | 4 + tests/config/utils/check-parsers.js | 5 +- .../__snapshots__/jsfmt.spec.js.snap | 9 + tests/format/js/arrows-bind/jsfmt.spec.js | 4 +- .../__snapshots__/jsfmt.spec.js.snap | 8 + .../arrows/newline-before-arrow/jsfmt.spec.js | 1 + .../__snapshots__/jsfmt.spec.js.snap | 9 + .../js/async-do-expressions/jsfmt.spec.js | 4 +- .../__snapshots__/jsfmt.spec.js.snap | 194 ++++++++++++++++++ tests/format/js/babel-plugins/jsfmt.spec.js | 22 ++ .../__snapshots__/jsfmt.spec.js.snap | 122 +++++++++++ .../format/js/bind-expressions/jsfmt.spec.js | 6 +- .../invalid/__snapshots__/jsfmt.spec.js.snap | 9 + tests/format/js/call/invalid/jsfmt.spec.js | 1 + .../__snapshots__/jsfmt.spec.js.snap | 18 ++ .../js/classes-private-fields/jsfmt.spec.js | 3 +- .../__snapshots__/jsfmt.spec.js.snap | 7 + .../js/classes/top-level-super/jsfmt.spec.js | 2 +- .../__snapshots__/jsfmt.spec.js.snap | 11 + .../comments-pipeline-own-line/jsfmt.spec.js | 4 +- .../__snapshots__/jsfmt.spec.js.snap | 10 + .../js/decorator-comments/jsfmt.spec.js | 2 +- .../__snapshots__/jsfmt.spec.js.snap | 18 ++ .../format/js/decorators-export/jsfmt.spec.js | 2 +- .../__snapshots__/jsfmt.spec.js.snap | 92 +++++++++ tests/format/js/decorators/jsfmt.spec.js | 2 +- .../js/do/__snapshots__/jsfmt.spec.js.snap | 22 ++ tests/format/js/do/jsfmt.spec.js | 4 +- .../__snapshots__/jsfmt.spec.js.snap | 7 + tests/format/js/dynamic-import/jsfmt.spec.js | 1 + .../escaped/__snapshots__/jsfmt.spec.js.snap | 7 + .../js/export-default/escaped/jsfmt.spec.js | 2 +- .../__snapshots__/jsfmt.spec.js.snap | 10 + .../format/js/export-extension/jsfmt.spec.js | 4 +- .../exports/__snapshots__/jsfmt.spec.js.snap | 11 + tests/format/js/exports/jsfmt.spec.js | 4 +- .../js/functional-composition/jsfmt.spec.js | 1 + .../__snapshots__/jsfmt.spec.js.snap | 54 +++++ .../__snapshots__/jsfmt.spec.js.snap | 27 +++ .../bracket-spacing/jsfmt.spec.js | 6 + .../format/js/import-assertions/jsfmt.spec.js | 9 + .../__snapshots__/jsfmt.spec.js.snap | 7 + tests/format/js/invalid-code/jsfmt.spec.js | 2 +- .../__snapshots__/jsfmt.spec.js.snap | 36 ++++ tests/format/js/module-blocks/jsfmt.spec.js | 1 + .../__snapshots__/jsfmt.spec.js.snap | 11 + .../js/multiparser-invalid/jsfmt.spec.js | 8 +- .../__snapshots__/jsfmt.spec.js.snap | 20 ++ .../no-semi-babylon-extensions/jsfmt.spec.js | 6 +- .../js/object-property-comment/jsfmt.spec.js | 2 +- .../objects/__snapshots__/jsfmt.spec.js.snap | 11 + tests/format/js/objects/jsfmt.spec.js | 1 + .../__snapshots__/jsfmt.spec.js.snap | 9 + .../js/partial-application/jsfmt.spec.js | 4 +- .../__snapshots__/jsfmt.spec.js.snap | 38 ++++ .../format/js/pipeline-operator/jsfmt.spec.js | 4 +- .../__snapshots__/jsfmt.spec.js.snap | 9 + tests/format/js/private-in/jsfmt.spec.js | 2 +- .../record/__snapshots__/jsfmt.spec.js.snap | 55 +++++ tests/format/js/record/jsfmt.spec.js | 4 +- .../__snapshots__/jsfmt.spec.js.snap | 2 +- tests/format/js/reserved-word/jsfmt.spec.js | 2 +- .../js/rest/__snapshots__/jsfmt.spec.js.snap | 9 + tests/format/js/rest/jsfmt.spec.js | 2 +- .../__snapshots__/jsfmt.spec.js.snap | 7 + tests/format/js/sloppy-mode/jsfmt.spec.js | 1 + .../strings/__snapshots__/jsfmt.spec.js.snap | 22 ++ tests/format/js/strings/jsfmt.spec.js | 10 +- .../__snapshots__/jsfmt.spec.js.snap | 9 + .../format/js/throw_expressions/jsfmt.spec.js | 4 +- .../__snapshots__/jsfmt.spec.js.snap | 9 + .../js/trailing-whitespace/jsfmt.spec.js | 2 +- .../js/tuple/__snapshots__/jsfmt.spec.js.snap | 41 ++++ tests/format/js/tuple/jsfmt.spec.js | 1 + .../__snapshots__/jsfmt.spec.js.snap | 18 ++ tests/format/js/v8_intrinsic/jsfmt.spec.js | 4 +- .../invalid/__snapshots__/jsfmt.spec.js.snap | 12 ++ .../format/misc/errors/invalid/jsfmt.spec.js | 11 +- .../__snapshots__/jsfmt.spec.js.snap | 6 + .../misc/errors/js/assignment/jsfmt.spec.js | 2 +- .../__snapshots__/jsfmt.spec.js.snap | 62 ++++++ .../misc/errors/js/async-await/jsfmt.spec.js | 4 +- .../for-of/__snapshots__/jsfmt.spec.js.snap | 6 + .../misc/errors/js/for-of/jsfmt.spec.js | 1 + .../import/__snapshots__/jsfmt.spec.js.snap | 24 +++ .../misc/errors/js/import/jsfmt.spec.js | 11 +- .../literal/__snapshots__/jsfmt.spec.js.snap | 7 + .../misc/errors/js/literal/jsfmt.spec.js | 2 +- .../object/__snapshots__/jsfmt.spec.js.snap | 32 +++ .../misc/errors/js/object/jsfmt.spec.js | 2 +- .../__snapshots__/jsfmt.spec.js.snap | 38 ++++ .../errors/js/optional-chaining/jsfmt.spec.js | 2 +- .../record/__snapshots__/jsfmt.spec.js.snap | 30 +++ .../misc/errors/js/record/jsfmt.spec.js | 2 +- .../__snapshots__/jsfmt.spec.js.snap | 7 + .../js/variable-declarator/jsfmt.spec.js | 2 +- .../__snapshots__/early-exit.js.snap | 7 +- .../__snapshots__/help-options.js.snap | 3 +- .../plugin-options-string.js.snap | 4 +- .../__snapshots__/plugin-options.js.snap | 7 +- .../__tests__/__snapshots__/schema.js.snap | 6 + .../__snapshots__/support-info.js.snap | 4 + website/playground/codeSamples.js | 1 + website/playground/markdown.js | 1 + website/playground/util.js | 2 + yarn.lock | 12 +- 122 files changed, 1481 insertions(+), 68 deletions(-) create mode 100644 changelog_unreleased/javascript/12172.md create mode 100644 src/language-js/parse/acorn-and-espree.js create mode 100644 src/language-js/parse/acorn.js diff --git a/.eslintrc.js b/.eslintrc.js index 048adb911..d9c68e8b0 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -268,6 +268,7 @@ module.exports = { "src/language-js/parse/babel.js", "src/language-js/parse/meriyah.js", "src/language-js/parse/json.js", + "src/language-js/parse/acorn.js", ], }, }, diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index ba6b4f392..71a46800d 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -48,7 +48,7 @@ function run_spec( Parameters: - **`fixtures`**: Must be set to `__dirname` or to an object of the shape `{ dirname: __dirname, ... }`. The object may have the `snippets` property to specify an array of extra input entries in addition to the files in the current directory. For each input entry (a file or a snippet), `run_spec` configures and runs a number of tests. The main check is that for a given input the output should match the snapshot (for snippets, the expected output can also be specified directly). [Additional checks](#deeper-testing) are controlled by options and environment variables. -- **`parsers`**: A list of parser names. The tests verify that the parsers in this list produce the same output. If the list includes `typescript`, then `babel-ts` is included implicitly. If the list includes `babel`, and the current directory is inside `tests/format/js`, then `espree` and `meriyah` are included implicitly. +- **`parsers`**: A list of parser names. The tests verify that the parsers in this list produce the same output. If the list includes `typescript`, then `babel-ts` is included implicitly. If the list includes `babel`, and the current directory is inside `tests/format/js`, then `acorn`, `espree`, and `meriyah` are included implicitly. - **`options`**: In addition to Prettier's formatting options, can contain the `errors` property to specify that it's expected that the formatting shouldn't be successful and an error should be thrown for all (`errors: true`) or some combinations of input entries and parsers. The implementation of `run_spec` can be found in [`tests/config/format-test.js`](tests/config/format-test.js). diff --git a/changelog_unreleased/javascript/12172.md b/changelog_unreleased/javascript/12172.md new file mode 100644 index 000000000..e653c2f0a --- /dev/null +++ b/changelog_unreleased/javascript/12172.md @@ -0,0 +1,3 @@ +#### Add `acorn` parser (#12172 by @fisker) + +A new value for the `parser` option has been added: [`acorn`](https://github.com/acornjs/acorn) - A small, fast, JavaScript-based JavaScript parser. diff --git a/docs/options.md b/docs/options.md index ae3c8406f..38cadabd3 100644 --- a/docs/options.md +++ b/docs/options.md @@ -265,6 +265,7 @@ Valid options: - `"typescript"` (via [@typescript-eslint/typescript-estree](https://github.com/typescript-eslint/typescript-eslint)) _First available in v1.4.0_ - `"espree"` (via [espree](https://github.com/eslint/espree)) _First available in v2.2.0_ - `"meriyah"` (via [meriyah](https://github.com/meriyah/meriyah)) _First available in v2.2.0_ +- `"acorn"` (via [acorn](https://github.com/acornjs/acorn)) _First available in v2.6.0_ - `"css"` (via [postcss-scss](https://github.com/postcss/postcss-scss) and [postcss-less](https://github.com/shellscape/postcss-less), autodetects which to use) _First available in v1.7.1_ - `"scss"` (same parsers as `"css"`, prefers postcss-scss) _First available in v1.7.1_ - `"less"` (same parsers as `"css"`, prefers postcss-less) _First available in v1.7.1_ diff --git a/package.json b/package.json index be4a5ec0d..ec8ab0bb2 100644 --- a/package.json +++ b/package.json @@ -27,6 +27,8 @@ "@glimmer/syntax": "0.83.1", "@iarna/toml": "2.2.5", "@typescript-eslint/typescript-estree": "5.10.0", + "acorn": "8.7.0", + "acorn-jsx": "5.3.2", "angular-estree-parser": "2.5.0", "angular-html-parser": "1.8.0", "camelcase": "6.3.0", diff --git a/scripts/build/config.mjs b/scripts/build/config.mjs index 217f4f46d..d2815c2b4 100644 --- a/scripts/build/config.mjs +++ b/scripts/build/config.mjs @@ -94,7 +94,10 @@ const parsers = [ }, }, { - input: "src/language-js/parse/espree.js", + input: "src/language-js/parse/acorn-and-espree.js", + name: "prettierPlugins.espree", + // TODO: Rename this file to `parser-acorn-and-espree.js` or find a better way + output: "parser-espree.js", replace: { "const Syntax = ": "const Syntax = undefined && ", "var visitorKeys = ": "var visitorKeys = undefined && ", diff --git a/src/language-js/comments.js b/src/language-js/comments.js index 8bc225aad..f392f1bbf 100644 --- a/src/language-js/comments.js +++ b/src/language-js/comments.js @@ -957,6 +957,7 @@ function getCommentChildNodes(node, options) { if ( (options.parser === "typescript" || options.parser === "flow" || + options.parser === "acorn" || options.parser === "espree" || options.parser === "meriyah" || options.parser === "__babel_estree") && diff --git a/src/language-js/index.js b/src/language-js/index.js index ad2c2f0d2..407b49a6f 100644 --- a/src/language-js/index.js +++ b/src/language-js/index.js @@ -13,6 +13,7 @@ const languages = [ since: "0.0.0", parsers: [ "babel", + "acorn", "espree", "meriyah", "babel-flow", diff --git a/src/language-js/parse/acorn-and-espree.js b/src/language-js/parse/acorn-and-espree.js new file mode 100644 index 000000000..6c5f505fd --- /dev/null +++ b/src/language-js/parse/acorn-and-espree.js @@ -0,0 +1,11 @@ +"use strict"; + +const acorn = require("./acorn.js"); +const espree = require("./espree.js"); + +module.exports = { + parsers: { + acorn, + espree, + }, +}; diff --git a/src/language-js/parse/acorn.js b/src/language-js/parse/acorn.js new file mode 100644 index 000000000..900454ba8 --- /dev/null +++ b/src/language-js/parse/acorn.js @@ -0,0 +1,81 @@ +"use strict"; + +const createError = require("../../common/parser-create-error.js"); +const tryCombinations = require("../../utils/try-combinations.js"); +const createParser = require("./utils/create-parser.js"); +const postprocess = require("./postprocess/index.js"); + +/** @type {import("acorn").Options} */ +const parseOptions = { + ecmaVersion: "latest", + sourceType: "module", + allowReserved: true, + allowReturnOutsideFunction: true, + allowImportExportEverywhere: true, + allowAwaitOutsideFunction: true, + allowSuperOutsideMethod: true, + allowHashBang: true, + locations: true, + ranges: true, +}; + +function createParseError(error) { + const { message, loc } = error; + + /* istanbul ignore next */ + if (!loc) { + return error; + } + + const { line, column } = loc; + + return createError(message.replace(/ \(\d+:\d+\)$/, ""), { + start: { line, column: column + 1 }, + }); +} + +let parser; +const getParser = () => { + if (!parser) { + const { Parser: AcornParser } = require("acorn"); + const acornJsx = require("acorn-jsx"); + parser = AcornParser.extend(acornJsx()); + } + return parser; +}; + +function parseWithOptions(text, sourceType) { + const parser = getParser(); + + const comments = []; + const tokens = []; + + /** @type {any} */ + const ast = parser.parse(text, { + ...parseOptions, + sourceType, + onComment: comments, + onToken: tokens, + }); + ast.comments = comments; + ast.tokens = tokens; + + return ast; +} + +function parse(text, parsers, options = {}) { + const { result: ast, error: moduleParseError } = tryCombinations( + () => parseWithOptions(text, /* sourceType */ "module"), + () => parseWithOptions(text, /* sourceType */ "script") + ); + + if (!ast) { + // throw the error for `module` parsing + throw createParseError(moduleParseError); + } + + options.originalText = text; + return postprocess(ast, options); +} + +module.exports = createParser(parse); diff --git a/src/language-js/parse/espree.js b/src/language-js/parse/espree.js index d3b95793c..d9b03572b 100644 --- a/src/language-js/parse/espree.js +++ b/src/language-js/parse/espree.js @@ -50,8 +50,4 @@ function parse(originalText, parsers, options = {}) { return postprocess(ast, options); } -module.exports = { - parsers: { - espree: createParser(parse), - }, -}; +module.exports = createParser(parse); diff --git a/src/language-js/parse/parsers.js b/src/language-js/parse/parsers.js index 0d06399d1..eef5cddeb 100644 --- a/src/language-js/parse/parsers.js +++ b/src/language-js/parse/parsers.js @@ -53,9 +53,13 @@ module.exports = { get __ng_directive() { return require("./angular.js").parsers.__ng_directive; }, + // JS - acorn + get acorn() { + return require("./acorn-and-espree.js").parsers.acorn; + }, // JS - espree get espree() { - return require("./espree.js").parsers.espree; + return require("./acorn-and-espree.js").parsers.espree; }, // JS - meriyah get meriyah() { diff --git a/src/language-js/parse/postprocess/index.js b/src/language-js/parse/postprocess/index.js index e2734715d..17f25f8ce 100644 --- a/src/language-js/parse/postprocess/index.js +++ b/src/language-js/parse/postprocess/index.js @@ -20,6 +20,7 @@ function postprocess(ast, options) { if ( options.parser !== "typescript" && options.parser !== "flow" && + options.parser !== "acorn" && options.parser !== "espree" && options.parser !== "meriyah" ) { @@ -134,8 +135,8 @@ function postprocess(ast, options) { } } -// This is a workaround to transform `ChainExpression` from `espree`, `meriyah`, -// and `typescript` into `babel` shape AST, we should do the opposite, +// This is a workaround to transform `ChainExpression` from `acorn`, `espree`, +// `meriyah`, and `typescript` into `babel` shape AST, we should do the opposite, // since `ChainExpression` is the standard `estree` AST for `optional chaining` // https://github.com/estree/estree/blob/master/es2020.md function transformChainExpression(node) { diff --git a/src/language-js/utils/index.js b/src/language-js/utils/index.js index c1fd1eb7d..b005897e4 100644 --- a/src/language-js/utils/index.js +++ b/src/language-js/utils/index.js @@ -703,6 +703,7 @@ function isStringPropSafeToUnquote(node, options) { (isSimpleNumber(node.key.value) && String(Number(node.key.value)) === node.key.value && (options.parser === "babel" || + options.parser === "acorn" || options.parser === "espree" || options.parser === "meriyah" || options.parser === "__babel_estree"))) diff --git a/src/main/core-options.js b/src/main/core-options.js index e8356a8c1..5992da931 100644 --- a/src/main/core-options.js +++ b/src/main/core-options.js @@ -129,6 +129,7 @@ const options = { { value: "babel-flow", since: "1.16.0", description: "Flow" }, { value: "babel-ts", since: "2.0.0", description: "TypeScript" }, { value: "typescript", since: "1.4.0", description: "TypeScript" }, + { value: "acorn", since: "2.6.0", description: "JavaScript" }, { value: "espree", since: "2.2.0", description: "JavaScript" }, { value: "meriyah", since: "2.2.0", description: "JavaScript" }, { value: "css", since: "1.7.1", description: "CSS" }, diff --git a/src/main/range-util.js b/src/main/range-util.js index 0570a0bfb..ecb396ef1 100644 --- a/src/main/range-util.js +++ b/src/main/range-util.js @@ -169,6 +169,7 @@ function isSourceElement(opts, node, parentNode) { case "babel-flow": case "babel-ts": case "typescript": + case "acorn": case "espree": case "meriyah": case "__babel_estree": diff --git a/tests/config/format-test.js b/tests/config/format-test.js index 93fbaff04..667b747b1 100644 --- a/tests/config/format-test.js +++ b/tests/config/format-test.js @@ -56,6 +56,7 @@ const espreeDisabledTests = new Set( "comments-closure-typecast", ].map((directory) => path.join(__dirname, "../format/js", directory)) ); +const acornDisabledTests = espreeDisabledTests; const meriyahDisabledTests = espreeDisabledTests; const isUnstable = (filename, options) => { @@ -186,6 +187,9 @@ function runSpec(fixtures, parsers, options) { if (!parsers.includes("meriyah") && !meriyahDisabledTests.has(dirname)) { allParsers.push("meriyah"); } + if (!parsers.includes("acorn") && !acornDisabledTests.has(dirname)) { + allParsers.push("acorn"); + } } if (parsers.includes("babel") && !parsers.includes("__babel_estree")) { diff --git a/tests/config/utils/check-parsers.js b/tests/config/utils/check-parsers.js index 2c4ee1df9..8234ebe10 100644 --- a/tests/config/utils/check-parsers.js +++ b/tests/config/utils/check-parsers.js @@ -50,11 +50,12 @@ const categoryParsers = new Map([ [ "js", { - parsers: ["babel", "meriyah", "espree"], + parsers: ["babel", "acorn", "espree", "meriyah"], verifyParsers: [ "babel", - "meriyah", + "acorn", "espree", + "meriyah", "flow", "babel-flow", "typescript", diff --git a/tests/format/js/arrows-bind/__snapshots__/jsfmt.spec.js.snap b/tests/format/js/arrows-bind/__snapshots__/jsfmt.spec.js.snap index 6e78ef4d3..b025b057a 100644 --- a/tests/format/js/arrows-bind/__snapshots__/jsfmt.spec.js.snap +++ b/tests/format/js/arrows-bind/__snapshots__/jsfmt.spec.js.snap @@ -1,5 +1,14 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP +exports[`arrows-bind.js [acorn] format 1`] = ` +"Unexpected token (1:9) +> 1 | a => ({}::b()\`\`[''].c++ && 0 ? 0 : 0); + | ^ + 2 | (a => b)::c; + 3 | a::(b => c); + 4 |" +`; + exports[`arrows-bind.js [espree] format 1`] = ` "Unexpected token : (1:9) > 1 | a => ({}::b()\`\`[''].c++ && 0 ? 0 : 0); diff --git a/tests/format/js/arrows-bind/jsfmt.spec.js b/tests/format/js/arrows-bind/jsfmt.spec.js index 0fab4456d..8ec1e5a27 100644 --- a/tests/format/js/arrows-bind/jsfmt.spec.js +++ b/tests/format/js/arrows-bind/jsfmt.spec.js @@ -1 +1,3 @@ -run_spec(__dirname, ["babel"], { errors: { espree: true, meriyah: true } }); +run_spec(__dirname, ["babel"], { + errors: { acorn: true, espree: true, meriyah: true }, +}); diff --git a/tests/format/js/arrows/newline-before-arrow/__snapshots__/jsfmt.spec.js.snap b/tests/format/js/arrows/newline-before-arrow/__snapshots__/jsfmt.spec.js.snap index cb22f4f14..336e5ebb9 100644 --- a/tests/format/js/arrows/newline-before-arrow/__snapshots__/jsfmt.spec.js.snap +++ b/tests/format/js/arrows/newline-before-arrow/__snapshots__/jsfmt.spec.js.snap @@ -1,5 +1,13 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP +exports[`newline-before-arrow.js [acorn] format 1`] = ` +"Unexpected token (2:1) + 1 | async x +> 2 | => x + | ^ + 3 |" +`; + exports[`newline-before-arrow.js [espree] format 1`] = ` "Unexpected token => (2:1) 1 | async x diff --git a/tests/format/js/arrows/newline-before-arrow/jsfmt.spec.js b/tests/format/js/arrows/newline-before-arrow/jsfmt.spec.js index 4ce5f6e24..e8dbf5e36 100644 --- a/tests/format/js/arrows/newline-before-arrow/jsfmt.spec.js +++ b/tests/format/js/arrows/newline-before-arrow/jsfmt.spec.js @@ -1,5 +1,6 @@ run_spec(__dirname, ["babel"], { errors: { + acorn: ["newline-before-arrow.js"], espree: ["newline-before-arrow.js"], meriyah: ["newline-before-arrow.js"], }, diff --git a/tests/format/js/async-do-expressions/__snapshots__/jsfmt.spec.js.snap b/tests/format/js/async-do-expressions/__snapshots__/jsfmt.spec.js.snap index 1e44c20a3..020cd53d1 100644 --- a/tests/format/js/async-do-expressions/__snapshots__/jsfmt.spec.js.snap +++ b/tests/format/js/async-do-expressions/__snapshots__/jsfmt.spec.js.snap @@ -1,5 +1,14 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP +exports[`async-do-expressions.js [acorn] format 1`] = ` +"Unexpected token (1:7) +> 1 | async do { + | ^ + 2 | 1; + 3 | }; + 4 |" +`; + exports[`async-do-expressions.js [espree] format 1`] = ` "Unexpected token do (1:7) > 1 | async do { diff --git a/tests/format/js/async-do-expressions/jsfmt.spec.js b/tests/format/js/async-do-expressions/jsfmt.spec.js index 0fab4456d..8ec1e5a27 100644 --- a/tests/format/js/async-do-expressions/jsfmt.spec.js +++ b/tests/format/js/async-do-expressions/jsfmt.spec.js @@ -1 +1,3 @@ -run_spec(__dirname, ["babel"], { errors: { espree: true, meriyah: true } }); +run_spec(__dirname, ["babel"], { + errors: { acorn: true, espree: true, meriyah: true }, +}); diff --git a/tests/format/js/babel-plugins/__snapshots__/jsfmt.spec.js.snap b/tests/format/js/babel-plugins/__snapshots__/jsfmt.spec.js.snap index 65b5d1388..75bb17d94 100644 --- a/tests/format/js/babel-plugins/__snapshots__/jsfmt.spec.js.snap +++ b/tests/format/js/babel-plugins/__snapshots__/jsfmt.spec.js.snap @@ -1,5 +1,12 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP +exports[`async-do-expressions.js [acorn] format 1`] = ` +"Unexpected token (1:7) +> 1 | async do { await requestAPI().json() }; + | ^ + 2 |" +`; + exports[`async-do-expressions.js [espree] format 1`] = ` "Unexpected token do (1:7) > 1 | async do { await requestAPI().json() }; @@ -431,6 +438,17 @@ class C { ================================================================================ `; +exports[`decimal.js [acorn] format 1`] = ` +"Identifier directly after number (3:4) + 1 | // https://github.com/babel/babel/pull/11640 + 2 | +> 3 | 100m; + | ^ + 4 | 9223372036854775807m; + 5 | 0.m; + 6 | 3.1415926535897932m;" +`; + exports[`decimal.js [espree] format 1`] = ` "Identifier directly after number (3:4) 1 | // https://github.com/babel/babel/pull/11640 @@ -516,6 +534,17 @@ typeof 1m === "decimal128"; ================================================================================ `; +exports[`decorators.js [acorn] format 1`] = ` +"Unexpected character '@' (3:1) + 1 | // https://babeljs.io/docs/en/babel-plugin-proposal-decorators + 2 | +> 3 | @annotation + | ^ + 4 | class MyClass { } + 5 | + 6 | function annotation(target) {" +`; + exports[`decorators.js [espree] format 1`] = ` "Unexpected character '@' (3:1) 1 | // https://babeljs.io/docs/en/babel-plugin-proposal-decorators @@ -597,6 +626,17 @@ function enumerable(value) { ================================================================================ `; +exports[`do-expressions.js [acorn] format 1`] = ` +"Unexpected token (3:9) + 1 | // https://babeljs.io/docs/en/babel-plugin-proposal-do-expressions + 2 | +> 3 | let a = do { + | ^ + 4 | if(x > 10) { + 5 | 'big'; + 6 | } else {" +`; + exports[`do-expressions.js [espree] format 1`] = ` "Unexpected token do (3:9) 1 | // https://babeljs.io/docs/en/babel-plugin-proposal-do-expressions @@ -681,6 +721,15 @@ import(prettier).then((module) => console.log(module)); ================================================================================ `; +exports[`export-default-from.js [acorn] format 1`] = ` +"Unexpected token (4:8) + 2 | + 3 | +> 4 | export v from 'mod'; + | ^ + 5 |" +`; + exports[`export-default-from.js [espree] format 1`] = ` "Unexpected token v (4:8) 2 | @@ -736,6 +785,15 @@ export * as ns from "mod"; ================================================================================ `; +exports[`flow.js [acorn] format 1`] = ` +"Unexpected token (3:17) + 1 | // https://babeljs.io/docs/en/babel-preset-flow + 2 | +> 3 | function foo(one: any, two: number, three?): string {} + | ^ + 4 |" +`; + exports[`flow.js [espree] format 1`] = ` "Unexpected token : (3:17) 1 | // https://babeljs.io/docs/en/babel-preset-flow @@ -772,6 +830,17 @@ function foo(one: any, two: number, three?): string {} ================================================================================ `; +exports[`function-bind.js [acorn] format 1`] = ` +"Unexpected token (3:5) + 1 | // https://babeljs.io/docs/en/babel-plugin-proposal-function-bind + 2 | +> 3 | obj::func + | ^ + 4 | // is equivalent to: + 5 | func.bind(obj) + 6 |" +`; + exports[`function-bind.js [espree] format 1`] = ` "Unexpected token : (3:5) 1 | // https://babeljs.io/docs/en/babel-plugin-proposal-function-bind @@ -839,6 +908,17 @@ obj.func.call(obj, val); ================================================================================ `; +exports[`function-sent.js [acorn] format 1`] = ` +"Unexpected token (4:33) + 2 | + 3 | function* generator() { +> 4 | console.log(\\"Sent\\", function.sent); + | ^ + 5 | console.log(\\"Yield\\", yield); + 6 | } + 7 |" +`; + exports[`function-sent.js [espree] format 1`] = ` "Unexpected token . (4:33) 2 | @@ -893,6 +973,13 @@ iterator.next(2); // Logs "Yield 2" ================================================================================ `; +exports[`import-assertions-dynamic.js [acorn] format 1`] = ` +"Unexpected token (1:20) +> 1 | import(\\"./foo.json\\", { assert: { type: \\"json\\" } }); + | ^ + 2 |" +`; + exports[`import-assertions-dynamic.js [espree] format 1`] = ` "Unexpected token , (1:20) > 1 | import(\\"./foo.json\\", { assert: { type: \\"json\\" } }); @@ -921,6 +1008,13 @@ import("./foo.json", { assert: { type: "json" } }); ================================================================================ `; +exports[`import-assertions-static.js [acorn] format 1`] = ` +"Unexpected token (1:31) +> 1 | import json from \\"./foo.json\\" assert { type: \\"json\\" }; + | ^ + 2 |" +`; + exports[`import-assertions-static.js [espree] format 1`] = ` "Unexpected token assert (1:31) > 1 | import json from \\"./foo.json\\" assert { type: \\"json\\" }; @@ -1049,6 +1143,15 @@ obj.a.b &&= c; ================================================================================ `; +exports[`module-blocks.js [acorn] format 1`] = ` +"Unexpected token (1:16) +> 1 | let m = module { + | ^ + 2 | export let m = 2; + 3 | export let n = 3; + 4 | };" +`; + exports[`module-blocks.js [espree] format 1`] = ` "Unexpected token { (1:16) > 1 | let m = module { @@ -1420,6 +1523,17 @@ const ret = delete obj?.foo?.bar?.baz; // true ================================================================================ `; +exports[`partial-application.js [acorn] format 1`] = ` +"Unexpected token (5:23) + 3 | function add(x, y) { return x + y; } + 4 | +> 5 | const addOne = add(1, ?); // apply from the left + | ^ + 6 | addOne(2); // 3 + 7 | + 8 | const addTen = add(?, 10); // apply from the right" +`; + exports[`partial-application.js [espree] format 1`] = ` "Unexpected token ? (5:23) 3 | function add(x, y) { return x + y; } @@ -1496,6 +1610,17 @@ super.f(?); // partial application allowed for call on |SuperProperty| ================================================================================ `; +exports[`pipeline-operator-fsharp.js [acorn] format 1`] = ` +"Unexpected token (5:4) + 3 | + 4 | promise +> 5 | |> await + | ^ + 6 | |> x => doubleSay(x, ', ') + 7 | |> capitalize + 8 | |> x => x + '!'" +`; + exports[`pipeline-operator-fsharp.js [espree] format 1`] = ` "Unexpected token > (5:4) 3 | @@ -1593,6 +1718,17 @@ let newScore = boundScore(0, 100, add(7, double(person.score))); ================================================================================ `; +exports[`pipeline-operator-hack.js [acorn] format 1`] = ` +"Unexpected token (5:3) + 3 | + 4 | return list +> 5 | |> take(prefix.length, %) + | ^ + 6 | |> equals(%, prefix); + 7 | + 8 | // (The % token isn't final; it might instead be @ or ? or #.)" +`; + exports[`pipeline-operator-hack.js [espree] format 1`] = ` "Unexpected token > (5:3) 3 | @@ -1641,6 +1777,17 @@ return list |> take(prefix.length, %) |> equals(%, prefix); ================================================================================ `; +exports[`pipeline-operator-minimal.js [acorn] format 1`] = ` +"Identifier 'result' has already been declared (7:5) + 5 | result //=> \\"Hello, hello!\\" + 6 | +> 7 | let result = \\"hello\\" + | ^ + 8 | |> doubleSay + 9 | |> capitalize + 10 | |> exclaim;" +`; + exports[`pipeline-operator-minimal.js [espree] format 1`] = ` "Identifier 'result' has already been declared (7:5) 5 | result //=> \\"Hello, hello!\\" @@ -1869,6 +2016,15 @@ class Counter extends HTMLElement { ================================================================================ `; +exports[`record-tuple-record.js [acorn] format 1`] = ` +"Unexpected character '{' (1:18) +> 1 | const record1 = #{ + | ^ + 2 | a: 1, + 3 | b: 2, + 4 | c: 3," +`; + exports[`record-tuple-record.js [espree] format 1`] = ` "Unexpected character '{' (1:18) > 1 | const record1 = #{ @@ -1913,6 +2069,13 @@ const record2 = #{ ...record1, b: 5 }; ================================================================================ `; +exports[`record-tuple-tuple.js [acorn] format 1`] = ` +"Unexpected character '[' (1:17) +> 1 | const tuple1 = #[1, 2, 3]; + | ^ + 2 |" +`; + exports[`record-tuple-tuple.js [espree] format 1`] = ` "Unexpected character '[' (1:17) > 1 | const tuple1 = #[1, 2, 3]; @@ -1941,6 +2104,17 @@ const tuple1 = #[1, 2, 3]; ================================================================================ `; +exports[`throw-expressions.js [acorn] format 1`] = ` +"Unexpected token (3:23) + 1 | // https://babeljs.io/docs/en/babel-plugin-proposal-throw-expressions + 2 | +> 3 | function test(param = throw new Error('required!')) { + | ^ + 4 | const test = param === true || throw new Error('Falsy!'); + 5 | } + 6 |" +`; + exports[`throw-expressions.js [espree] format 1`] = ` "Unexpected token throw (3:23) 1 | // https://babeljs.io/docs/en/babel-plugin-proposal-throw-expressions @@ -1985,6 +2159,15 @@ function test(param = throw new Error("required!")) { ================================================================================ `; +exports[`typescript.js [acorn] format 1`] = ` +"Unexpected token (3:8) + 1 | // https://babeljs.io/docs/en/babel-preset-typescript + 2 | +> 3 | const x: number = 0; + | ^ + 4 |" +`; + exports[`typescript.js [espree] format 1`] = ` "Unexpected token : (3:8) 1 | // https://babeljs.io/docs/en/babel-preset-typescript @@ -2021,6 +2204,17 @@ const x: number = 0; ================================================================================ `; +exports[`v8intrinsic.js [acorn] format 1`] = ` +"Unexpected token (3:1) + 1 | // https://github.com/babel/babel/pull/10148 + 2 | +> 3 | %DebugPrint(foo); + | ^ + 4 | + 5 | + 6 | // Invalid code https://github.com/JLHwung/babel/blob/c1a3cbfd65e08b7013fd6f8c62add8cb10b4b169/packages/babel-parser/test/fixtures/v8intrinsic/_errors/in-bind-expression/options.json" +`; + exports[`v8intrinsic.js [espree] format 1`] = ` "Unexpected token % (3:1) 1 | // https://github.com/babel/babel/pull/10148 diff --git a/tests/format/js/babel-plugins/jsfmt.spec.js b/tests/format/js/babel-plugins/jsfmt.spec.js index 0a1e38f35..47c0bf1c9 100644 --- a/tests/format/js/babel-plugins/jsfmt.spec.js +++ b/tests/format/js/babel-plugins/jsfmt.spec.js @@ -3,6 +3,28 @@ run_spec(__dirname, ["babel", "babel-ts", "babel-flow"], { errors: { + acorn: [ + "decimal.js", + "decorators.js", + "do-expressions.js", + "export-default-from.js", + "flow.js", + "function-bind.js", + "function-sent.js", + "import-assertions-dynamic.js", + "import-assertions-static.js", + "partial-application.js", + "pipeline-operator-fsharp.js", + "pipeline-operator-minimal.js", + "pipeline-operator-hack.js", + "record-tuple-record.js", + "record-tuple-tuple.js", + "throw-expressions.js", + "typescript.js", + "v8intrinsic.js", + "module-blocks.js", + "async-do-expressions.js", + ], espree: [ "decimal.js", "decorators.js", diff --git a/tests/format/js/bind-expressions/__snapshots__/jsfmt.spec.js.snap b/tests/format/js/bind-expressions/__snapshots__/jsfmt.spec.js.snap index c5580b524..d05d09d70 100644 --- a/tests/format/js/bind-expressions/__snapshots__/jsfmt.spec.js.snap +++ b/tests/format/js/bind-expressions/__snapshots__/jsfmt.spec.js.snap @@ -1,5 +1,15 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP +exports[`await.js [acorn] format 1`] = ` +"Unexpected token (3:27) + 1 | const doBothThings = async () => { + 2 | const request = doAsyncThing(); +> 3 | return (await request)::doSyncThing(); + | ^ + 4 | }; + 5 |" +`; + exports[`await.js [espree] format 1`] = ` "Unexpected token : (3:27) 1 | const doBothThings = async () => { @@ -20,6 +30,16 @@ exports[`await.js [meriyah] format 1`] = ` 5 |" `; +exports[`await.js - {"semi":false} [acorn] format 1`] = ` +"Unexpected token (3:27) + 1 | const doBothThings = async () => { + 2 | const request = doAsyncThing(); +> 3 | return (await request)::doSyncThing(); + | ^ + 4 | }; + 5 |" +`; + exports[`await.js - {"semi":false} [espree] format 1`] = ` "Unexpected token : (3:27) 1 | const doBothThings = async () => { @@ -81,6 +101,15 @@ const doBothThings = async () => { ================================================================================ `; +exports[`bind_parens.js [acorn] format 1`] = ` +"Unexpected token (1:9) +> 1 | (a || b)::c; + | ^ + 2 | a || (b::c); + 3 | ::obj.prop; + 4 | (void 0)::func();" +`; + exports[`bind_parens.js [espree] format 1`] = ` "Unexpected token : (1:9) > 1 | (a || b)::c; @@ -99,6 +128,15 @@ exports[`bind_parens.js [meriyah] format 1`] = ` 4 | (void 0)::func();" `; +exports[`bind_parens.js - {"semi":false} [acorn] format 1`] = ` +"Unexpected token (1:9) +> 1 | (a || b)::c; + | ^ + 2 | a || (b::c); + 3 | ::obj.prop; + 4 | (void 0)::func();" +`; + exports[`bind_parens.js - {"semi":false} [espree] format 1`] = ` "Unexpected token : (1:9) > 1 | (a || b)::c; @@ -278,6 +316,17 @@ f[a::b()]; ================================================================================ `; +exports[`long_name_method.js [acorn] format 1`] = ` +"Unexpected token (3:54) + 1 | class X { + 2 | constructor() { +> 3 | this.testLongNameMethodAndSomethingElseLallala = ::this.testLongNameMethodAndSomethingElseLallala; + | ^ + 4 | } + 5 | + 6 | testLongNameMethodAndSomethingElseLallala() {" +`; + exports[`long_name_method.js [espree] format 1`] = ` "Unexpected token : (3:54) 1 | class X { @@ -300,6 +349,17 @@ exports[`long_name_method.js [meriyah] format 1`] = ` 6 | testLongNameMethodAndSomethingElseLallala() {" `; +exports[`long_name_method.js - {"semi":false} [acorn] format 1`] = ` +"Unexpected token (3:54) + 1 | class X { + 2 | constructor() { +> 3 | this.testLongNameMethodAndSomethingElseLallala = ::this.testLongNameMethodAndSomethingElseLallala; + | ^ + 4 | } + 5 | + 6 | testLongNameMethodAndSomethingElseLallala() {" +`; + exports[`long_name_method.js - {"semi":false} [espree] format 1`] = ` "Unexpected token : (3:54) 1 | class X { @@ -383,6 +443,17 @@ class X { ================================================================================ `; +exports[`method_chain.js [acorn] format 1`] = ` +"Unexpected token (10:9) + 8 | function test(observable) { + 9 | return observable +> 10 | ::filter(data => data.someTest) + | ^ + 11 | ::throttle(() => + 12 | interval(10) + 13 | ::take(1)" +`; + exports[`method_chain.js [espree] format 1`] = ` "Unexpected token : (10:9) 8 | function test(observable) { @@ -405,6 +476,17 @@ exports[`method_chain.js [meriyah] format 1`] = ` 13 | ::take(1)" `; +exports[`method_chain.js - {"semi":false} [acorn] format 1`] = ` +"Unexpected token (10:9) + 8 | function test(observable) { + 9 | return observable +> 10 | ::filter(data => data.someTest) + | ^ + 11 | ::throttle(() => + 12 | interval(10) + 13 | ::take(1)" +`; + exports[`method_chain.js - {"semi":false} [espree] format 1`] = ` "Unexpected token : (10:9) 8 | function test(observable) { @@ -520,6 +602,17 @@ function test(observable) { ================================================================================ `; +exports[`short_name_method.js [acorn] format 1`] = ` +"Unexpected token (3:24) + 1 | class X { + 2 | constructor() { +> 3 | this.shortMethod = ::this.shortMethod; + | ^ + 4 | } + 5 | + 6 | shortMethod() {" +`; + exports[`short_name_method.js [espree] format 1`] = ` "Unexpected token : (3:24) 1 | class X { @@ -542,6 +635,17 @@ exports[`short_name_method.js [meriyah] format 1`] = ` 6 | shortMethod() {" `; +exports[`short_name_method.js - {"semi":false} [acorn] format 1`] = ` +"Unexpected token (3:24) + 1 | class X { + 2 | constructor() { +> 3 | this.shortMethod = ::this.shortMethod; + | ^ + 4 | } + 5 | + 6 | shortMethod() {" +`; + exports[`short_name_method.js - {"semi":false} [espree] format 1`] = ` "Unexpected token : (3:24) 1 | class X { @@ -623,6 +727,15 @@ class X { ================================================================================ `; +exports[`unary.js [acorn] format 1`] = ` +"Unexpected token (1:3) +> 1 | !x::y; + | ^ + 2 | !(x::y /* foo */); + 3 | !(/* foo */ x::y); + 4 | !(" +`; + exports[`unary.js [espree] format 1`] = ` "Unexpected token : (1:3) > 1 | !x::y; @@ -641,6 +754,15 @@ exports[`unary.js [meriyah] format 1`] = ` 4 | !(" `; +exports[`unary.js - {"semi":false} [acorn] format 1`] = ` +"Unexpected token (1:3) +> 1 | !x::y; + | ^ + 2 | !(x::y /* foo */); + 3 | !(/* foo */ x::y); + 4 | !(" +`; + exports[`unary.js - {"semi":false} [espree] format 1`] = ` "Unexpected token : (1:3) > 1 | !x::y; diff --git a/tests/format/js/bind-expressions/jsfmt.spec.js b/tests/format/js/bind-expressions/jsfmt.spec.js index 3eb482d30..7b852963c 100644 --- a/tests/format/js/bind-expressions/jsfmt.spec.js +++ b/tests/format/js/bind-expressions/jsfmt.spec.js @@ -1,5 +1,7 @@ -run_spec(__dirname, ["babel"], { errors: { espree: true, meriyah: true } }); +run_spec(__dirname, ["babel"], { + errors: { acorn: true, espree: true, meriyah: true }, +}); run_spec(__dirname, ["babel"], { semi: false, - errors: { espree: true, meriyah: true }, + errors: { acorn: true, espree: true, meriyah: true }, }); diff --git a/tests/format/js/call/invalid/__snapshots__/jsfmt.spec.js.snap b/tests/format/js/call/invalid/__snapshots__/jsfmt.spec.js.snap index bcc88f818..01db1d544 100644 --- a/tests/format/js/call/invalid/__snapshots__/jsfmt.spec.js.snap +++ b/tests/format/js/call/invalid/__snapshots__/jsfmt.spec.js.snap @@ -9,6 +9,15 @@ exports[`null-arguments-item.js [__babel_estree] format 1`] = ` 4 | //1" `; +exports[`null-arguments-item.js [acorn] format 1`] = ` +"Unexpected token (1:11) +> 1 | foor('a', , 'b'); + | ^ + 2 | foo('looooooooooooooooooooooooooooooooooooooooooooooong', , 'looooooooooooooooooooooooooooooooooooooooooooooong'); + 3 | foo(\\"a\\", + 4 | //1" +`; + exports[`null-arguments-item.js [babel] format 1`] = ` "Unexpected token ','. (1:12) > 1 | foor('a', , 'b'); diff --git a/tests/format/js/call/invalid/jsfmt.spec.js b/tests/format/js/call/invalid/jsfmt.spec.js index 74d919233..36dc1ad43 100644 --- a/tests/format/js/call/invalid/jsfmt.spec.js +++ b/tests/format/js/call/invalid/jsfmt.spec.js @@ -2,6 +2,7 @@ run_spec(__dirname, ["babel"], { errors: { babel: true, __babel_estree: true, + acorn: true, espree: true, meriyah: true, }, diff --git a/tests/format/js/classes-private-fields/__snapshots__/jsfmt.spec.js.snap b/tests/format/js/classes-private-fields/__snapshots__/jsfmt.spec.js.snap index cc26e61e9..327a88c6b 100644 --- a/tests/format/js/classes-private-fields/__snapshots__/jsfmt.spec.js.snap +++ b/tests/format/js/classes-private-fields/__snapshots__/jsfmt.spec.js.snap @@ -1,5 +1,14 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP +exports[`optional-chaining.js [acorn] format 1`] = ` +"Private field '#x' must be declared in an enclosing class (3:13) + 1 | // https://github.com/babel/babel/pull/11669 + 2 | +> 3 | delete obj?.#x.a + | ^ + 4 |" +`; + exports[`optional-chaining.js [espree] format 1`] = ` "Private field '#x' must be declared in an enclosing class (3:13) 1 | // https://github.com/babel/babel/pull/11669 @@ -18,6 +27,15 @@ exports[`optional-chaining.js [meriyah] format 1`] = ` 4 |" `; +exports[`optional-chaining.js - {"semi":false} [acorn] format 1`] = ` +"Private field '#x' must be declared in an enclosing class (3:13) + 1 | // https://github.com/babel/babel/pull/11669 + 2 | +> 3 | delete obj?.#x.a + | ^ + 4 |" +`; + exports[`optional-chaining.js - {"semi":false} [espree] format 1`] = ` "Private field '#x' must be declared in an enclosing class (3:13) 1 | // https://github.com/babel/babel/pull/11669 diff --git a/tests/format/js/classes-private-fields/jsfmt.spec.js b/tests/format/js/classes-private-fields/jsfmt.spec.js index fa5b7d9ca..5370268dd 100644 --- a/tests/format/js/classes-private-fields/jsfmt.spec.js +++ b/tests/format/js/classes-private-fields/jsfmt.spec.js @@ -1,6 +1,7 @@ const errors = { - meriyah: ["optional-chaining.js"], + acorn: ["optional-chaining.js"], espree: ["optional-chaining.js"], + meriyah: ["optional-chaining.js"], }; run_spec(__dirname, ["babel"], { errors, diff --git a/tests/format/js/classes/top-level-super/__snapshots__/jsfmt.spec.js.snap b/tests/format/js/classes/top-level-super/__snapshots__/jsfmt.spec.js.snap index b0ab6e9d7..e3060ae46 100644 --- a/tests/format/js/classes/top-level-super/__snapshots__/jsfmt.spec.js.snap +++ b/tests/format/js/classes/top-level-super/__snapshots__/jsfmt.spec.js.snap @@ -1,5 +1,12 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP +exports[`example.js [acorn] format 1`] = ` +"super() call outside constructor of a subclass (1:1) +> 1 | super(); + | ^ + 2 |" +`; + exports[`example.js [espree] format 1`] = ` "'super' keyword outside a method (1:1) > 1 | super(); diff --git a/tests/format/js/classes/top-level-super/jsfmt.spec.js b/tests/format/js/classes/top-level-super/jsfmt.spec.js index 93e955c84..8caf42e44 100644 --- a/tests/format/js/classes/top-level-super/jsfmt.spec.js +++ b/tests/format/js/classes/top-level-super/jsfmt.spec.js @@ -1,3 +1,3 @@ run_spec(__dirname, ["babel", "typescript"], { - errors: { espree: true, meriyah: true }, + errors: { acorn: true, espree: true, meriyah: true }, }); diff --git a/tests/format/js/comments-pipeline-own-line/__snapshots__/jsfmt.spec.js.snap b/tests/format/js/comments-pipeline-own-line/__snapshots__/jsfmt.spec.js.snap index ab3787427..773828743 100644 --- a/tests/format/js/comments-pipeline-own-line/__snapshots__/jsfmt.spec.js.snap +++ b/tests/format/js/comments-pipeline-own-line/__snapshots__/jsfmt.spec.js.snap @@ -1,5 +1,16 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP +exports[`pipeline_own_line.js [acorn] format 1`] = ` +"Unexpected token (4:3) + 2 | 0 + 3 | // Comment +> 4 | |> x + | ^ + 5 | } + 6 | + 7 | bifornCringerMoshedPerplexSawder(" +`; + exports[`pipeline_own_line.js [espree] format 1`] = ` "Unexpected token > (4:3) 2 | 0 diff --git a/tests/format/js/comments-pipeline-own-line/jsfmt.spec.js b/tests/format/js/comments-pipeline-own-line/jsfmt.spec.js index 0fab4456d..8ec1e5a27 100644 --- a/tests/format/js/comments-pipeline-own-line/jsfmt.spec.js +++ b/tests/format/js/comments-pipeline-own-line/jsfmt.spec.js @@ -1 +1,3 @@ -run_spec(__dirname, ["babel"], { errors: { espree: true, meriyah: true } }); +run_spec(__dirname, ["babel"], { + errors: { acorn: true, espree: true, meriyah: true }, +}); diff --git a/tests/format/js/decorator-comments/__snapshots__/jsfmt.spec.js.snap b/tests/format/js/decorator-comments/__snapshots__/jsfmt.spec.js.snap index d28627f51..ce6d7d0cd 100644 --- a/tests/format/js/decorator-comments/__snapshots__/jsfmt.spec.js.snap +++ b/tests/format/js/decorator-comments/__snapshots__/jsfmt.spec.js.snap @@ -1,5 +1,15 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP +exports[`comments.js [acorn] format 1`] = ` +"Unexpected character '@' (2:5) + 1 | class Something { +> 2 | @Annotateme() + | ^ + 3 | // comment + 4 | static property: Array; + 5 | }" +`; + exports[`comments.js [espree] format 1`] = ` "Unexpected character '@' (2:5) 1 | class Something { diff --git a/tests/format/js/decorator-comments/jsfmt.spec.js b/tests/format/js/decorator-comments/jsfmt.spec.js index 93e955c84..8caf42e44 100644 --- a/tests/format/js/decorator-comments/jsfmt.spec.js +++ b/tests/format/js/decorator-comments/jsfmt.spec.js @@ -1,3 +1,3 @@ run_spec(__dirname, ["babel", "typescript"], { - errors: { espree: true, meriyah: true }, + errors: { acorn: true, espree: true, meriyah: true }, }); diff --git a/tests/format/js/decorators-export/__snapshots__/jsfmt.spec.js.snap b/tests/format/js/decorators-export/__snapshots__/jsfmt.spec.js.snap index eabe686e0..81881da32 100644 --- a/tests/format/js/decorators-export/__snapshots__/jsfmt.spec.js.snap +++ b/tests/format/js/decorators-export/__snapshots__/jsfmt.spec.js.snap @@ -1,5 +1,14 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP +exports[`after_export.js [acorn] format 1`] = ` +"Unexpected character '@' (1:8) +> 1 | export @decorator class Foo {} + | ^ + 2 | + 3 | export default @decorator class {} + 4 |" +`; + exports[`after_export.js [espree] format 1`] = ` "Unexpected character '@' (1:8) > 1 | export @decorator class Foo {} @@ -40,6 +49,15 @@ class {} ================================================================================ `; +exports[`before_export.js [acorn] format 1`] = ` +"Unexpected character '@' (1:1) +> 1 | @decorator + | ^ + 2 | export class Foo {} + 3 | + 4 | @decorator" +`; + exports[`before_export.js [espree] format 1`] = ` "Unexpected character '@' (1:1) > 1 | @decorator diff --git a/tests/format/js/decorators-export/jsfmt.spec.js b/tests/format/js/decorators-export/jsfmt.spec.js index defe51cfd..8a6b2e905 100644 --- a/tests/format/js/decorators-export/jsfmt.spec.js +++ b/tests/format/js/decorators-export/jsfmt.spec.js @@ -1,4 +1,4 @@ // TypeScript and Flow don't accept decorator after export run_spec(__dirname, ["babel"], { - errors: { espree: true, meriyah: ["after_export.js"] }, + errors: { acorn: true, espree: true, meriyah: ["after_export.js"] }, }); diff --git a/tests/format/js/decorators/__snapshots__/jsfmt.spec.js.snap b/tests/format/js/decorators/__snapshots__/jsfmt.spec.js.snap index 81851e921..473c24d21 100644 --- a/tests/format/js/decorators/__snapshots__/jsfmt.spec.js.snap +++ b/tests/format/js/decorators/__snapshots__/jsfmt.spec.js.snap @@ -1,5 +1,14 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP +exports[`classes.js [acorn] format 1`] = ` +"Unexpected character '@' (1:1) +> 1 | @deco class Foo {} + | ^ + 2 | + 3 | @deco export class Bar {} + 4 |" +`; + exports[`classes.js [espree] format 1`] = ` "Unexpected character '@' (1:1) > 1 | @deco class Foo {} @@ -56,6 +65,17 @@ const bar = ================================================================================ `; +exports[`comments.js [acorn] format 1`] = ` +"Unexpected character '@' (3:1) + 1 | var x = 100 + 2 | +> 3 | @Hello({ + | ^ + 4 | a: 'a', // Comment is in the wrong place + 5 | // test + 6 | b: '2'" +`; + exports[`comments.js [espree] format 1`] = ` "Unexpected character '@' (3:1) 1 | var x = 100 @@ -138,6 +158,17 @@ export class Bar {} ================================================================================ `; +exports[`methods.js [acorn] format 1`] = ` +"Unexpected character '@' (3:3) + 1 | + 2 | class Yo { +> 3 | @foo(\\"hello\\") + | ^ + 4 | async plop() {} + 5 | + 6 | @anotherDecoratorWithALongName(\\"and a very long string as a first argument\\")" +`; + exports[`methods.js [espree] format 1`] = ` "Unexpected character '@' (3:3) 1 | @@ -181,6 +212,17 @@ class Yo { ================================================================================ `; +exports[`mixed.js [acorn] format 1`] = ` +"Unexpected character '@' (3:1) + 1 | // https://github.com/prettier/prettier/issues/6747 + 2 | +> 3 | @foo + | ^ + 4 | export default class MyComponent { + 5 | @task + 6 | *foo() {" +`; + exports[`mixed.js [espree] format 1`] = ` "Unexpected character '@' (3:1) 1 | // https://github.com/prettier/prettier/issues/6747 @@ -218,6 +260,17 @@ export default class MyComponent { ================================================================================ `; +exports[`mobx.js [acorn] format 1`] = ` +"Unexpected character '@' (3:1) + 1 | import {observable} from \\"mobx\\"; + 2 | +> 3 | @observer class OrderLine { + | ^ + 4 | @observable price:number = 0; + 5 | @observable amount:number = 1; + 6 |" +`; + exports[`mobx.js [espree] format 1`] = ` "Unexpected character '@' (3:1) 1 | import {observable} from \\"mobx\\"; @@ -334,6 +387,16 @@ class OrderLine { ================================================================================ `; +exports[`multiline.js [acorn] format 1`] = ` +"Unexpected character '@' (2:3) + 1 | class Foo { +> 2 | @deco([ + | ^ + 3 | foo, + 4 | bar + 5 | ]) prop = value;" +`; + exports[`multiline.js [espree] format 1`] = ` "Unexpected character '@' (2:3) 1 | class Foo { @@ -383,6 +446,16 @@ class Foo { ================================================================================ `; +exports[`multiple.js [acorn] format 1`] = ` +"Unexpected character '@' (2:3) + 1 | const dog = { +> 2 | @readonly + | ^ + 3 | @nonenumerable + 4 | @doubledValue + 5 | legs: 4," +`; + exports[`multiple.js [espree] format 1`] = ` "Unexpected character '@' (2:3) 1 | const dog = { @@ -448,6 +521,16 @@ const foo = { ================================================================================ `; +exports[`parens.js [acorn] format 1`] = ` +"Unexpected character '@' (2:3) + 1 | class X { +> 2 | @(computed().volatile()) + | ^ + 3 | x + 4 | } + 5 |" +`; + exports[`parens.js [espree] format 1`] = ` "Unexpected character '@' (2:3) 1 | class X { @@ -478,6 +561,15 @@ class X { ================================================================================ `; +exports[`redux.js [acorn] format 1`] = ` +"Unexpected character '@' (1:1) +> 1 | @connect(mapStateToProps, mapDispatchToProps) + | ^ + 2 | export class MyApp extends React.Component {} + 3 | + 4 | @connect(state => ({ todos: state.todos }))" +`; + exports[`redux.js [espree] format 1`] = ` "Unexpected character '@' (1:1) > 1 | @connect(mapStateToProps, mapDispatchToProps) diff --git a/tests/format/js/decorators/jsfmt.spec.js b/tests/format/js/decorators/jsfmt.spec.js index 85e8b037a..f49386480 100644 --- a/tests/format/js/decorators/jsfmt.spec.js +++ b/tests/format/js/decorators/jsfmt.spec.js @@ -1,3 +1,3 @@ run_spec(__dirname, ["babel"], { - errors: { espree: true, meriyah: ["multiple.js", "mobx.js"] }, + errors: { acorn: true, espree: true, meriyah: ["multiple.js", "mobx.js"] }, }); diff --git a/tests/format/js/do/__snapshots__/jsfmt.spec.js.snap b/tests/format/js/do/__snapshots__/jsfmt.spec.js.snap index 454b5bb47..27c4eb490 100644 --- a/tests/format/js/do/__snapshots__/jsfmt.spec.js.snap +++ b/tests/format/js/do/__snapshots__/jsfmt.spec.js.snap @@ -1,5 +1,16 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP +exports[`call-arguments.js [acorn] format 1`] = ` +"Unexpected token (3:3) + 1 | // from https://github.com/babel/babel/pull/13122/ + 2 | expect( +> 3 | do { + | ^ + 4 | var bar = \\"foo\\"; + 5 | if (!bar) throw new Error( + 6 | \\"unreachable\\"" +`; + exports[`call-arguments.js [espree] format 1`] = ` "Unexpected token do (3:3) 1 | // from https://github.com/babel/babel/pull/13122/ @@ -108,6 +119,17 @@ expect( ================================================================================ `; +exports[`do.js [acorn] format 1`] = ` +"Unexpected token (3:5) + 1 | const envSpecific = { + 2 | domain: +> 3 | do { + | ^ + 4 | if(env === 'production') 'https://abc.mno.com/'; + 5 | else if(env === 'development') 'http://localhost:4000'; + 6 | }" +`; + exports[`do.js [espree] format 1`] = ` "Unexpected token do (3:5) 1 | const envSpecific = { diff --git a/tests/format/js/do/jsfmt.spec.js b/tests/format/js/do/jsfmt.spec.js index 0fab4456d..8ec1e5a27 100644 --- a/tests/format/js/do/jsfmt.spec.js +++ b/tests/format/js/do/jsfmt.spec.js @@ -1 +1,3 @@ -run_spec(__dirname, ["babel"], { errors: { espree: true, meriyah: true } }); +run_spec(__dirname, ["babel"], { + errors: { acorn: true, espree: true, meriyah: true }, +}); diff --git a/tests/format/js/dynamic-import/__snapshots__/jsfmt.spec.js.snap b/tests/format/js/dynamic-import/__snapshots__/jsfmt.spec.js.snap index 75c07691c..162cb7350 100644 --- a/tests/format/js/dynamic-import/__snapshots__/jsfmt.spec.js.snap +++ b/tests/format/js/dynamic-import/__snapshots__/jsfmt.spec.js.snap @@ -1,5 +1,12 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP +exports[`assertions.js [acorn] format 1`] = ` +"Unexpected token (1:20) +> 1 | import(\\"./foo.json\\", { assert: { type: \\"json\\" } }); + | ^ + 2 |" +`; + exports[`assertions.js [espree] format 1`] = ` "Unexpected token , (1:20) > 1 | import(\\"./foo.json\\", { assert: { type: \\"json\\" } }); diff --git a/tests/format/js/dynamic-import/jsfmt.spec.js b/tests/format/js/dynamic-import/jsfmt.spec.js index 79e7e31fa..75e3467c6 100644 --- a/tests/format/js/dynamic-import/jsfmt.spec.js +++ b/tests/format/js/dynamic-import/jsfmt.spec.js @@ -1,6 +1,7 @@ run_spec(__dirname, ["babel", "flow", "typescript"], { errors: { flow: ["assertions.js"], + acorn: ["assertions.js"], espree: ["assertions.js"], meriyah: ["assertions.js"], }, diff --git a/tests/format/js/export-default/escaped/__snapshots__/jsfmt.spec.js.snap b/tests/format/js/export-default/escaped/__snapshots__/jsfmt.spec.js.snap index cec2b389d..33fd57a7d 100644 --- a/tests/format/js/export-default/escaped/__snapshots__/jsfmt.spec.js.snap +++ b/tests/format/js/export-default/escaped/__snapshots__/jsfmt.spec.js.snap @@ -1,5 +1,12 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP +exports[`default-escaped.js [acorn] format 1`] = ` +"Unexpected token (2:8) + 1 | // export asyn\\\\u{63} from \\"async\\"; +> 2 | export n\\\\u{63} from \\"async\\"; + | ^" +`; + exports[`default-escaped.js [espree] format 1`] = ` "Unexpected token n\\\\u{63} (2:8) 1 | // export asyn\\\\u{63} from \\"async\\"; diff --git a/tests/format/js/export-default/escaped/jsfmt.spec.js b/tests/format/js/export-default/escaped/jsfmt.spec.js index d60e0b525..8ec1e5a27 100644 --- a/tests/format/js/export-default/escaped/jsfmt.spec.js +++ b/tests/format/js/export-default/escaped/jsfmt.spec.js @@ -1,3 +1,3 @@ run_spec(__dirname, ["babel"], { - errors: { espree: true, meriyah: true }, + errors: { acorn: true, espree: true, meriyah: true }, }); diff --git a/tests/format/js/export-extension/__snapshots__/jsfmt.spec.js.snap b/tests/format/js/export-extension/__snapshots__/jsfmt.spec.js.snap index 60144ebbd..07d57957e 100644 --- a/tests/format/js/export-extension/__snapshots__/jsfmt.spec.js.snap +++ b/tests/format/js/export-extension/__snapshots__/jsfmt.spec.js.snap @@ -1,5 +1,15 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP +exports[`export.js [acorn] format 1`] = ` +"Unexpected token (2:8) + 1 | export * as ns from 'mod'; +> 2 | export v from 'mod'; + | ^ + 3 | export a, * as b from 'mod'; + 4 | export c, { foo } from 'mod'; + 5 | export * as d, { bar } from 'mod';" +`; + exports[`export.js [espree] format 1`] = ` "Unexpected token v (2:8) 1 | export * as ns from 'mod'; diff --git a/tests/format/js/export-extension/jsfmt.spec.js b/tests/format/js/export-extension/jsfmt.spec.js index 0fab4456d..8ec1e5a27 100644 --- a/tests/format/js/export-extension/jsfmt.spec.js +++ b/tests/format/js/export-extension/jsfmt.spec.js @@ -1 +1,3 @@ -run_spec(__dirname, ["babel"], { errors: { espree: true, meriyah: true } }); +run_spec(__dirname, ["babel"], { + errors: { acorn: true, espree: true, meriyah: true }, +}); diff --git a/tests/format/js/exports/__snapshots__/jsfmt.spec.js.snap b/tests/format/js/exports/__snapshots__/jsfmt.spec.js.snap index 9366302a9..6956f8507 100644 --- a/tests/format/js/exports/__snapshots__/jsfmt.spec.js.snap +++ b/tests/format/js/exports/__snapshots__/jsfmt.spec.js.snap @@ -1,5 +1,16 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP +exports[`test.js [acorn] format 1`] = ` +"Unexpected token (3:8) + 1 | export { value1, value2 as value2_renamed, value3, value4 as value4_renamed, value5 } from \\"exports\\"; + 2 | +> 3 | export a,{b} from \\"./baz\\"; + | ^ + 4 | + 5 | export * as ns from \\"mod\\"; + 6 |" +`; + exports[`test.js [espree] format 1`] = ` "Unexpected token a (3:8) 1 | export { value1, value2 as value2_renamed, value3, value4 as value4_renamed, value5 } from \\"exports\\"; diff --git a/tests/format/js/exports/jsfmt.spec.js b/tests/format/js/exports/jsfmt.spec.js index 0fab4456d..8ec1e5a27 100644 --- a/tests/format/js/exports/jsfmt.spec.js +++ b/tests/format/js/exports/jsfmt.spec.js @@ -1 +1,3 @@ -run_spec(__dirname, ["babel"], { errors: { espree: true, meriyah: true } }); +run_spec(__dirname, ["babel"], { + errors: { acorn: true, espree: true, meriyah: true }, +}); diff --git a/tests/format/js/functional-composition/jsfmt.spec.js b/tests/format/js/functional-composition/jsfmt.spec.js index ef29a17d8..d8da3ef3d 100644 --- a/tests/format/js/functional-composition/jsfmt.spec.js +++ b/tests/format/js/functional-composition/jsfmt.spec.js @@ -1,5 +1,6 @@ run_spec(__dirname, ["babel", "flow", "typescript"], { errors: { + acorn: [], espree: [], }, }); diff --git a/tests/format/js/import-assertions/__snapshots__/jsfmt.spec.js.snap b/tests/format/js/import-assertions/__snapshots__/jsfmt.spec.js.snap index 82047193a..62c0be91c 100644 --- a/tests/format/js/import-assertions/__snapshots__/jsfmt.spec.js.snap +++ b/tests/format/js/import-assertions/__snapshots__/jsfmt.spec.js.snap @@ -1,5 +1,12 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP +exports[`dynamic-import.js [acorn] format 1`] = ` +"Unexpected token (1:20) +> 1 | import(\\"./foo.json\\", { assert: { type: \\"json\\" } }); + | ^ + 2 |" +`; + exports[`dynamic-import.js [espree] format 1`] = ` "Unexpected token , (1:20) > 1 | import(\\"./foo.json\\", { assert: { type: \\"json\\" } }); @@ -28,6 +35,16 @@ import("./foo.json", { assert: { type: "json" } }); ================================================================================ `; +exports[`empty.js [acorn] format 1`] = ` +"Unexpected token (2:33) + 1 | export * as foo from \\"foo.json\\" +> 2 | export * as bar from \\"bar.json\\" assert { } + | ^ + 3 | export * as baz from \\"baz.json\\" assert { /* comment */ } + 4 | + 5 | import * as foo from \\"foo.json\\"" +`; + exports[`empty.js [espree] format 1`] = ` "Unexpected token assert (2:33) 1 | export * as foo from \\"foo.json\\" @@ -73,6 +90,13 @@ import * as baz from "baz.json" /* comment */; ================================================================================ `; +exports[`multi-types.js [acorn] format 1`] = ` +"Unexpected token (1:31) +> 1 | import json from \\"./foo.json\\" assert { type: \\"json\\", type: \\"bar\\" }; + | ^ + 2 |" +`; + exports[`multi-types.js [espree] format 1`] = ` "Unexpected token assert (1:31) > 1 | import json from \\"./foo.json\\" assert { type: \\"json\\", type: \\"bar\\" }; @@ -101,6 +125,13 @@ import json from "./foo.json" assert { type: "json", type: "bar" }; ================================================================================ `; +exports[`non-type.js [acorn] format 1`] = ` +"Unexpected token (1:28) +> 1 | import foo from \\"foo.json\\" assert { lazy: \\"true\\" }; + | ^ + 2 |" +`; + exports[`non-type.js [espree] format 1`] = ` "Unexpected token assert (1:28) > 1 | import foo from \\"foo.json\\" assert { lazy: \\"true\\" }; @@ -145,6 +176,15 @@ assert({ type: "json" }); ================================================================================ `; +exports[`re-export.js [acorn] format 1`] = ` +"Unexpected token (1:33) +> 1 | export { foo2 } from \\"foo.json\\" assert { type: \\"json\\" }; + | ^ + 2 | export * from \\"foo.json\\" assert { type: \\"json\\" }; + 3 | export * as foo3 from \\"foo.json\\" assert { type: \\"json\\" }; + 4 |" +`; + exports[`re-export.js [espree] format 1`] = ` "Unexpected token assert (1:33) > 1 | export { foo2 } from \\"foo.json\\" assert { type: \\"json\\" }; @@ -181,6 +221,13 @@ export * as foo3 from "foo.json" assert { type: "json" }; ================================================================================ `; +exports[`static-import.js [acorn] format 1`] = ` +"Unexpected token (1:31) +> 1 | import json from \\"./foo.json\\" assert { type: \\"json\\" }; + | ^ + 2 |" +`; + exports[`static-import.js [espree] format 1`] = ` "Unexpected token assert (1:31) > 1 | import json from \\"./foo.json\\" assert { type: \\"json\\" }; @@ -209,6 +256,13 @@ import json from "./foo.json" assert { type: "json" }; ================================================================================ `; +exports[`without-from.js [acorn] format 1`] = ` +"Unexpected token (1:14) +> 1 | import \\"foo\\" assert { type: \\"json\\" } + | ^ + 2 |" +`; + exports[`without-from.js [espree] format 1`] = ` "Unexpected token assert (1:14) > 1 | import \\"foo\\" assert { type: \\"json\\" } diff --git a/tests/format/js/import-assertions/bracket-spacing/__snapshots__/jsfmt.spec.js.snap b/tests/format/js/import-assertions/bracket-spacing/__snapshots__/jsfmt.spec.js.snap index 96bf68213..53f15c841 100644 --- a/tests/format/js/import-assertions/bracket-spacing/__snapshots__/jsfmt.spec.js.snap +++ b/tests/format/js/import-assertions/bracket-spacing/__snapshots__/jsfmt.spec.js.snap @@ -1,5 +1,12 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP +exports[`dynamic-import.js - {"bracketSpacing":false} [acorn] format 1`] = ` +"Unexpected token (1:20) +> 1 | import(\\"./foo.json\\", { assert: { type: \\"json\\" } }); + | ^ + 2 |" +`; + exports[`dynamic-import.js - {"bracketSpacing":false} [espree] format 1`] = ` "Unexpected token , (1:20) > 1 | import(\\"./foo.json\\", { assert: { type: \\"json\\" } }); @@ -29,6 +36,12 @@ import("./foo.json", {assert: {type: "json"}}); ================================================================================ `; +exports[`empty.js - {"bracketSpacing":false} [acorn] format 1`] = ` +"Unexpected token (1:33) +> 1 | export * as bar from \\"bar.json\\" assert { } + | ^" +`; + exports[`empty.js - {"bracketSpacing":false} [espree] format 1`] = ` "Unexpected token assert (1:33) > 1 | export * as bar from \\"bar.json\\" assert { } @@ -55,6 +68,13 @@ export * as bar from "bar.json"; ================================================================================ `; +exports[`re-export.js - {"bracketSpacing":false} [acorn] format 1`] = ` +"Unexpected token (1:33) +> 1 | export { foo2 } from \\"foo.json\\" assert { type: \\"json\\" }; + | ^ + 2 |" +`; + exports[`re-export.js - {"bracketSpacing":false} [espree] format 1`] = ` "Unexpected token assert (1:33) > 1 | export { foo2 } from \\"foo.json\\" assert { type: \\"json\\" }; @@ -84,6 +104,13 @@ export {foo2} from "foo.json" assert {type: "json"}; ================================================================================ `; +exports[`static-import.js - {"bracketSpacing":false} [acorn] format 1`] = ` +"Unexpected token (1:31) +> 1 | import json from \\"./foo.json\\" assert { type: \\"json\\" }; + | ^ + 2 |" +`; + exports[`static-import.js - {"bracketSpacing":false} [espree] format 1`] = ` "Unexpected token assert (1:31) > 1 | import json from \\"./foo.json\\" assert { type: \\"json\\" }; diff --git a/tests/format/js/import-assertions/bracket-spacing/jsfmt.spec.js b/tests/format/js/import-assertions/bracket-spacing/jsfmt.spec.js index 141e96b4f..4e5de669e 100644 --- a/tests/format/js/import-assertions/bracket-spacing/jsfmt.spec.js +++ b/tests/format/js/import-assertions/bracket-spacing/jsfmt.spec.js @@ -1,6 +1,12 @@ run_spec(__dirname, ["babel"], { bracketSpacing: false, errors: { + acorn: [ + "dynamic-import.js", + "static-import.js", + "re-export.js", + "empty.js", + ], espree: [ "dynamic-import.js", "static-import.js", diff --git a/tests/format/js/import-assertions/jsfmt.spec.js b/tests/format/js/import-assertions/jsfmt.spec.js index bc6d5c8c4..8c0e8ce0f 100644 --- a/tests/format/js/import-assertions/jsfmt.spec.js +++ b/tests/format/js/import-assertions/jsfmt.spec.js @@ -1,5 +1,14 @@ run_spec(__dirname, ["babel", "typescript"], { errors: { + acorn: [ + "dynamic-import.js", + "empty.js", + "multi-types.js", + "static-import.js", + "re-export.js", + "without-from.js", + "non-type.js", + ], espree: [ "dynamic-import.js", "empty.js", diff --git a/tests/format/js/invalid-code/__snapshots__/jsfmt.spec.js.snap b/tests/format/js/invalid-code/__snapshots__/jsfmt.spec.js.snap index dce8de945..a40691a62 100644 --- a/tests/format/js/invalid-code/__snapshots__/jsfmt.spec.js.snap +++ b/tests/format/js/invalid-code/__snapshots__/jsfmt.spec.js.snap @@ -1,5 +1,12 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP +exports[`duplicate_bindings.js [acorn] format 1`] = ` +"Identifier 'A' has already been declared (1:19) +> 1 | class A{} class A{} + | ^ + 2 |" +`; + exports[`duplicate_bindings.js [espree] format 1`] = ` "Identifier 'A' has already been declared (1:19) > 1 | class A{} class A{} diff --git a/tests/format/js/invalid-code/jsfmt.spec.js b/tests/format/js/invalid-code/jsfmt.spec.js index 726eaec01..0e68cd0b8 100644 --- a/tests/format/js/invalid-code/jsfmt.spec.js +++ b/tests/format/js/invalid-code/jsfmt.spec.js @@ -1 +1 @@ -run_spec(__dirname, ["babel"], { errors: { espree: true } }); +run_spec(__dirname, ["babel"], { errors: { acorn: true, espree: true } }); diff --git a/tests/format/js/module-blocks/__snapshots__/jsfmt.spec.js.snap b/tests/format/js/module-blocks/__snapshots__/jsfmt.spec.js.snap index 2e2f28a42..1ff2ad357 100644 --- a/tests/format/js/module-blocks/__snapshots__/jsfmt.spec.js.snap +++ b/tests/format/js/module-blocks/__snapshots__/jsfmt.spec.js.snap @@ -1,5 +1,14 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP +exports[`comments.js [acorn] format 1`] = ` +"Unexpected token (1:32) +> 1 | const m = /*A1*/ module /*A2*/ { /*A3*/ + | ^ + 2 | /*A4*/ + 3 | export const foo = \\"foo\\"; + 4 | export { foo }; /*A5*/" +`; + exports[`comments.js [espree] format 1`] = ` "Unexpected token { (1:32) > 1 | const m = /*A1*/ module /*A2*/ { /*A3*/ @@ -52,6 +61,15 @@ const m2 = module { ================================================================================ `; +exports[`module-blocks.js [acorn] format 1`] = ` +"Unexpected token (1:8) +> 1 | module { await 3 }; + | ^ + 2 | + 3 | class B { + 4 | #p() {" +`; + exports[`module-blocks.js [espree] format 1`] = ` "Unexpected token { (1:8) > 1 | module { await 3 }; @@ -187,6 +205,15 @@ const m = module; ================================================================================ `; +exports[`range.js [acorn] format 1`] = ` +"Unexpected token (1:26) +> 1 | let moduleBlock = module { export let y = 1; + | ^ + 2 | }; + 3 | + 4 | foo(module { export let foo = \\"foo\\"; })" +`; + exports[`range.js [espree] format 1`] = ` "Unexpected token { (1:26) > 1 | let moduleBlock = module { export let y = 1; @@ -234,6 +261,15 @@ foo(module { ================================================================================ `; +exports[`worker.js [acorn] format 1`] = ` +"Unexpected token (1:32) +> 1 | let worker = new Worker(module { + | ^ + 2 | onmessage = function({data}) { + 3 | let mod = import(data); + 4 | postMessage(mod.fn());" +`; + exports[`worker.js [espree] format 1`] = ` "Unexpected token { (1:32) > 1 | let worker = new Worker(module { diff --git a/tests/format/js/module-blocks/jsfmt.spec.js b/tests/format/js/module-blocks/jsfmt.spec.js index 5dcb44d37..015fbd80e 100644 --- a/tests/format/js/module-blocks/jsfmt.spec.js +++ b/tests/format/js/module-blocks/jsfmt.spec.js @@ -1,5 +1,6 @@ run_spec(__dirname, ["babel"], { errors: { + acorn: ["module-blocks.js", "range.js", "comments.js", "worker.js"], espree: ["module-blocks.js", "range.js", "comments.js", "worker.js"], meriyah: ["module-blocks.js", "range.js", "comments.js", "worker.js"], }, diff --git a/tests/format/js/multiparser-invalid/__snapshots__/jsfmt.spec.js.snap b/tests/format/js/multiparser-invalid/__snapshots__/jsfmt.spec.js.snap index 45c5ec714..ba3febd04 100644 --- a/tests/format/js/multiparser-invalid/__snapshots__/jsfmt.spec.js.snap +++ b/tests/format/js/multiparser-invalid/__snapshots__/jsfmt.spec.js.snap @@ -1,5 +1,16 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP +exports[`text.js [acorn] format 1`] = ` +"Bad escape sequence in untagged template literal (6:18) + 4 | foo = markdown\`\\\\u{prettier}\\\\u{0065}\`; + 5 | foo = css\`\\\\u{prettier}\\\\u{0065}\`; +> 6 | foo = /* HTML */\`\\\\u{prettier}\\\\u{0065}\`; + | ^ + 7 | foo = /* GraphQL */\`\\\\u{prettier}\\\\u{0065}\`; + 8 | + 9 | foo = foo\`\\\\u{prettier}\${foo}pr\\\\u{0065}ttier\`;" +`; + exports[`text.js [espree] format 1`] = ` "Bad escape sequence in untagged template literal (6:18) 4 | foo = markdown\`\\\\u{prettier}\\\\u{0065}\`; diff --git a/tests/format/js/multiparser-invalid/jsfmt.spec.js b/tests/format/js/multiparser-invalid/jsfmt.spec.js index 06a6e2a3d..0f7c244be 100644 --- a/tests/format/js/multiparser-invalid/jsfmt.spec.js +++ b/tests/format/js/multiparser-invalid/jsfmt.spec.js @@ -1,3 +1,9 @@ run_spec(__dirname, ["babel", "flow", "typescript"], { - errors: { espree: true, flow: true, typescript: true, meriyah: true }, + errors: { + acorn: true, + espree: true, + flow: true, + typescript: true, + meriyah: true, + }, }); diff --git a/tests/format/js/no-semi-babylon-extensions/__snapshots__/jsfmt.spec.js.snap b/tests/format/js/no-semi-babylon-extensions/__snapshots__/jsfmt.spec.js.snap index 874fb43cd..cb804da2d 100644 --- a/tests/format/js/no-semi-babylon-extensions/__snapshots__/jsfmt.spec.js.snap +++ b/tests/format/js/no-semi-babylon-extensions/__snapshots__/jsfmt.spec.js.snap @@ -1,5 +1,15 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP +exports[`no-semi.js [acorn] format 1`] = ` +"Unexpected token (2:2) + 1 | a +> 2 | ;::b.c + | ^ + 3 | + 4 | class A { + 5 | a = b;" +`; + exports[`no-semi.js [espree] format 1`] = ` "Unexpected token : (2:2) 1 | a @@ -20,6 +30,16 @@ exports[`no-semi.js [meriyah] format 1`] = ` 5 | a = b;" `; +exports[`no-semi.js - {"semi":false} [acorn] format 1`] = ` +"Unexpected token (2:2) + 1 | a +> 2 | ;::b.c + | ^ + 3 | + 4 | class A { + 5 | a = b;" +`; + exports[`no-semi.js - {"semi":false} [espree] format 1`] = ` "Unexpected token : (2:2) 1 | a diff --git a/tests/format/js/no-semi-babylon-extensions/jsfmt.spec.js b/tests/format/js/no-semi-babylon-extensions/jsfmt.spec.js index 3eb482d30..7b852963c 100644 --- a/tests/format/js/no-semi-babylon-extensions/jsfmt.spec.js +++ b/tests/format/js/no-semi-babylon-extensions/jsfmt.spec.js @@ -1,5 +1,7 @@ -run_spec(__dirname, ["babel"], { errors: { espree: true, meriyah: true } }); +run_spec(__dirname, ["babel"], { + errors: { acorn: true, espree: true, meriyah: true }, +}); run_spec(__dirname, ["babel"], { semi: false, - errors: { espree: true, meriyah: true }, + errors: { acorn: true, espree: true, meriyah: true }, }); diff --git a/tests/format/js/object-property-comment/jsfmt.spec.js b/tests/format/js/object-property-comment/jsfmt.spec.js index f29fb44bf..127889b64 100644 --- a/tests/format/js/object-property-comment/jsfmt.spec.js +++ b/tests/format/js/object-property-comment/jsfmt.spec.js @@ -1,3 +1,3 @@ run_spec(__dirname, ["babel", "flow"], { - errors: { espree: ["comment.js"] }, + errors: { acorn: ["comment.js"], espree: ["comment.js"] }, }); diff --git a/tests/format/js/objects/__snapshots__/jsfmt.spec.js.snap b/tests/format/js/objects/__snapshots__/jsfmt.spec.js.snap index 5a983b7a0..d7b950671 100644 --- a/tests/format/js/objects/__snapshots__/jsfmt.spec.js.snap +++ b/tests/format/js/objects/__snapshots__/jsfmt.spec.js.snap @@ -52,6 +52,17 @@ const Component2 = ({ props }) => Test; ================================================================================ `; +exports[`expression.js [acorn] format 1`] = ` +"Unexpected token (5:4) + 3 | a = () => ({}).x; + 4 | ({} && a, b); +> 5 | ({}::b, 0); + | ^ + 6 | ({}::b()\`\`[''].c++ && 0 ? 0 : 0, 0); + 7 | ({}(), 0); + 8 | ({} = 0);" +`; + exports[`expression.js [espree] format 1`] = ` "Unexpected token : (5:4) 3 | a = () => ({}).x; diff --git a/tests/format/js/objects/jsfmt.spec.js b/tests/format/js/objects/jsfmt.spec.js index 321c26fd4..a00d37304 100644 --- a/tests/format/js/objects/jsfmt.spec.js +++ b/tests/format/js/objects/jsfmt.spec.js @@ -1,5 +1,6 @@ run_spec(__dirname, ["babel", "typescript"], { errors: { + acorn: ["expression.js"], espree: ["expression.js"], typescript: ["expression.js"], meriyah: ["expression.js"], diff --git a/tests/format/js/partial-application/__snapshots__/jsfmt.spec.js.snap b/tests/format/js/partial-application/__snapshots__/jsfmt.spec.js.snap index 6ce064d39..13e4b5e30 100644 --- a/tests/format/js/partial-application/__snapshots__/jsfmt.spec.js.snap +++ b/tests/format/js/partial-application/__snapshots__/jsfmt.spec.js.snap @@ -1,5 +1,14 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP +exports[`test.js [acorn] format 1`] = ` +"Unexpected token (1:23) +> 1 | const addOne = add(1, ?); // apply from the left + | ^ + 2 | addOne(2); // 3 + 3 | + 4 | const addTen = add(?, 10); // apply from the right" +`; + exports[`test.js [espree] format 1`] = ` "Unexpected token ? (1:23) > 1 | const addOne = add(1, ?); // apply from the left diff --git a/tests/format/js/partial-application/jsfmt.spec.js b/tests/format/js/partial-application/jsfmt.spec.js index 0fab4456d..8ec1e5a27 100644 --- a/tests/format/js/partial-application/jsfmt.spec.js +++ b/tests/format/js/partial-application/jsfmt.spec.js @@ -1 +1,3 @@ -run_spec(__dirname, ["babel"], { errors: { espree: true, meriyah: true } }); +run_spec(__dirname, ["babel"], { + errors: { acorn: true, espree: true, meriyah: true }, +}); diff --git a/tests/format/js/pipeline-operator/__snapshots__/jsfmt.spec.js.snap b/tests/format/js/pipeline-operator/__snapshots__/jsfmt.spec.js.snap index 59e96578a..eea2e3f96 100644 --- a/tests/format/js/pipeline-operator/__snapshots__/jsfmt.spec.js.snap +++ b/tests/format/js/pipeline-operator/__snapshots__/jsfmt.spec.js.snap @@ -1,5 +1,15 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP +exports[`block-comments.js [acorn] format 1`] = ` +"Unexpected token (2:2) + 1 | bifornCringerMoshedPerplexSawder +> 2 | |> foo1 + | ^ + 3 | |> foo2 /* comment1 */ + 4 | |> foo3 /* comment2 */ + 5 | |> kochabCooieGameOnOboleUnweave" +`; + exports[`block-comments.js [espree] format 1`] = ` "Unexpected token > (2:2) 1 | bifornCringerMoshedPerplexSawder @@ -44,6 +54,16 @@ bifornCringerMoshedPerplexSawder ================================================================================ `; +exports[`fsharp_style_pipeline_operator.js [acorn] format 1`] = ` +"Unexpected token (2:4) + 1 | promise +> 2 | |> await + | ^ + 3 | |> x => doubleSay(x, ', ') + 4 | |> capitalize + 5 | |> x => x + '!'" +`; + exports[`fsharp_style_pipeline_operator.js [espree] format 1`] = ` "Unexpected token > (2:4) 1 | promise @@ -159,6 +179,15 @@ const f = x |> (f) => f |> f; ================================================================================ `; +exports[`hack_pipeline_operator.js [acorn] format 1`] = ` +"Unexpected token (1:4) +> 1 | a |> await % |> % * 3; + | ^ + 2 | + 3 | foo + 4 | |> await %" +`; + exports[`hack_pipeline_operator.js [espree] format 1`] = ` "Unexpected token > (1:4) > 1 | a |> await % |> % * 3; @@ -291,6 +320,15 @@ async function* f() { ================================================================================ `; +exports[`minimal_pipeline_operator.js [acorn] format 1`] = ` +"Unexpected token (1:4) +> 1 | a |> b |> c; + | ^ + 2 | + 3 | a |> (b |> c); + 4 |" +`; + exports[`minimal_pipeline_operator.js [espree] format 1`] = ` "Unexpected token > (1:4) > 1 | a |> b |> c; diff --git a/tests/format/js/pipeline-operator/jsfmt.spec.js b/tests/format/js/pipeline-operator/jsfmt.spec.js index 0fab4456d..8ec1e5a27 100644 --- a/tests/format/js/pipeline-operator/jsfmt.spec.js +++ b/tests/format/js/pipeline-operator/jsfmt.spec.js @@ -1 +1,3 @@ -run_spec(__dirname, ["babel"], { errors: { espree: true, meriyah: true } }); +run_spec(__dirname, ["babel"], { + errors: { acorn: true, espree: true, meriyah: true }, +}); diff --git a/tests/format/js/private-in/__snapshots__/jsfmt.spec.js.snap b/tests/format/js/private-in/__snapshots__/jsfmt.spec.js.snap index 877f0ea65..7d384bd0d 100644 --- a/tests/format/js/private-in/__snapshots__/jsfmt.spec.js.snap +++ b/tests/format/js/private-in/__snapshots__/jsfmt.spec.js.snap @@ -1,5 +1,14 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP +exports[`private-in.js [acorn] format 1`] = ` +"Unexpected token (1:5) +> 1 | if (#prop in obj) { + | ^ + 2 | } + 3 | + 4 | #prop in obj;" +`; + exports[`private-in.js [espree] format 1`] = ` "Unexpected token #prop (1:5) > 1 | if (#prop in obj) { diff --git a/tests/format/js/private-in/jsfmt.spec.js b/tests/format/js/private-in/jsfmt.spec.js index 726eaec01..0e68cd0b8 100644 --- a/tests/format/js/private-in/jsfmt.spec.js +++ b/tests/format/js/private-in/jsfmt.spec.js @@ -1 +1 @@ -run_spec(__dirname, ["babel"], { errors: { espree: true } }); +run_spec(__dirname, ["babel"], { errors: { acorn: true, espree: true } }); diff --git a/tests/format/js/record/__snapshots__/jsfmt.spec.js.snap b/tests/format/js/record/__snapshots__/jsfmt.spec.js.snap index 0c7712f19..8bfef37d2 100644 --- a/tests/format/js/record/__snapshots__/jsfmt.spec.js.snap +++ b/tests/format/js/record/__snapshots__/jsfmt.spec.js.snap @@ -1,5 +1,15 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP +exports[`computed.js [acorn] format 1`] = ` +"Unexpected character '{' (2:9) + 1 | const key = \\"a\\"; +> 2 | assert(#{ [key]: 1 } === #{ a: 1 }) + | ^ + 3 | assert(#{ [key.toUpperCase()]: 1 } === #{ A: 1 }) + 4 | + 5 | assert(#{ [true]: 1 } === #{ true: 1 })" +`; + exports[`computed.js [espree] format 1`] = ` "Unexpected character '{' (2:9) 1 | const key = \\"a\\"; @@ -50,6 +60,15 @@ assert(#{ [9 + 1]: "ten" } === #{ ["10"]: "ten" }); ================================================================================ `; +exports[`destructuring.js [acorn] format 1`] = ` +"Unexpected character '{' (1:19) +> 1 | const { a, b } = #{ a: 1, b: 2 }; + | ^ + 2 | assert(a === 1); + 3 | assert(b === 2); + 4 |" +`; + exports[`destructuring.js [espree] format 1`] = ` "Unexpected character '{' (1:19) > 1 | const { a, b } = #{ a: 1, b: 2 }; @@ -98,6 +117,15 @@ assert(rest.c === 3); ================================================================================ `; +exports[`record.js [acorn] format 1`] = ` +"Unexpected character '{' (1:18) +> 1 | const record1 = #{ + | ^ + 2 | a: 1, + 3 | b: 2, + 4 | c: 3," +`; + exports[`record.js [espree] format 1`] = ` "Unexpected character '{' (1:18) > 1 | const record1 = #{ @@ -160,6 +188,15 @@ assert(record1.d?.a === undefined); ================================================================================ `; +exports[`shorthand.js [acorn] format 1`] = ` +"Unexpected character '{' (2:17) + 1 | const url = \\"https://github.com/tc39/proposal-record-tuple\\"; +> 2 | const record = #{ url } + | ^ + 3 | console.log(record.url) // https://github.com/tc39/proposal-record-tuple + 4 |" +`; + exports[`shorthand.js [espree] format 1`] = ` "Unexpected character '{' (2:17) 1 | const url = \\"https://github.com/tc39/proposal-record-tuple\\"; @@ -196,6 +233,15 @@ console.log(record.url); // https://github.com/tc39/proposal-record-tuple ================================================================================ `; +exports[`spread.js [acorn] format 1`] = ` +"Unexpected character '{' (1:19) +> 1 | const formData = #{ title: \\"Implement all the things\\" } + | ^ + 2 | const taskNow = #{ id: 42, status: \\"WIP\\", ...formData } + 3 | const taskLater = #{ ...taskNow, status: \\"DONE\\" } + 4 |" +`; + exports[`spread.js [espree] format 1`] = ` "Unexpected character '{' (1:19) > 1 | const formData = #{ title: \\"Implement all the things\\" } @@ -238,6 +284,15 @@ assert(taskLater === #{ status: "DONE", title: formData.title, id: 42 }); ================================================================================ `; +exports[`syntax.js [acorn] format 1`] = ` +"Unexpected character '{' (1:2) +> 1 | #{} + | ^ + 2 | #{ a: 1, b: 2 } + 3 | #{ a: 1, b: #[2, 3, #{ c: 4 }] } + 4 |" +`; + exports[`syntax.js [espree] format 1`] = ` "Unexpected character '{' (1:2) > 1 | #{} diff --git a/tests/format/js/record/jsfmt.spec.js b/tests/format/js/record/jsfmt.spec.js index 0fab4456d..8ec1e5a27 100644 --- a/tests/format/js/record/jsfmt.spec.js +++ b/tests/format/js/record/jsfmt.spec.js @@ -1 +1,3 @@ -run_spec(__dirname, ["babel"], { errors: { espree: true, meriyah: true } }); +run_spec(__dirname, ["babel"], { + errors: { acorn: true, espree: true, meriyah: true }, +}); diff --git a/tests/format/js/reserved-word/__snapshots__/jsfmt.spec.js.snap b/tests/format/js/reserved-word/__snapshots__/jsfmt.spec.js.snap index 53dd4213b..a89729cea 100644 --- a/tests/format/js/reserved-word/__snapshots__/jsfmt.spec.js.snap +++ b/tests/format/js/reserved-word/__snapshots__/jsfmt.spec.js.snap @@ -2,7 +2,7 @@ exports[`interfaces.js format 1`] = ` ====================================options===================================== -parsers: ["espree", "meriyah", "babel"] +parsers: ["acorn", "espree", "meriyah", "babel"] printWidth: 80 | printWidth =====================================input====================================== diff --git a/tests/format/js/reserved-word/jsfmt.spec.js b/tests/format/js/reserved-word/jsfmt.spec.js index a5ddd21b2..9128b0f44 100644 --- a/tests/format/js/reserved-word/jsfmt.spec.js +++ b/tests/format/js/reserved-word/jsfmt.spec.js @@ -1 +1 @@ -run_spec(__dirname, ["espree", "meriyah", "babel"]); +run_spec(__dirname, ["acorn", "espree", "meriyah", "babel"]); diff --git a/tests/format/js/rest/__snapshots__/jsfmt.spec.js.snap b/tests/format/js/rest/__snapshots__/jsfmt.spec.js.snap index 0c9c293cd..14bbc72c2 100644 --- a/tests/format/js/rest/__snapshots__/jsfmt.spec.js.snap +++ b/tests/format/js/rest/__snapshots__/jsfmt.spec.js.snap @@ -1,5 +1,14 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP +exports[`trailing-commas.js - {"trailingComma":"all"} [acorn] format 1`] = ` +"Unexpected token (1:9) +> 1 | declare class C { + | ^ + 2 | f( + 3 | superSuperSuperSuperSuperSuperSuperSuperSuperSuperSuperSuperSuperSuperLong, + 4 | ...args" +`; + exports[`trailing-commas.js - {"trailingComma":"all"} [espree] format 1`] = ` "Unexpected token class (1:9) > 1 | declare class C { diff --git a/tests/format/js/rest/jsfmt.spec.js b/tests/format/js/rest/jsfmt.spec.js index 2a762db04..e76b46147 100644 --- a/tests/format/js/rest/jsfmt.spec.js +++ b/tests/format/js/rest/jsfmt.spec.js @@ -1,4 +1,4 @@ run_spec(__dirname, ["babel", "flow"], { trailingComma: "all", - errors: { espree: true, meriyah: true }, + errors: { acorn: true, espree: true, meriyah: true }, }); diff --git a/tests/format/js/sloppy-mode/__snapshots__/jsfmt.spec.js.snap b/tests/format/js/sloppy-mode/__snapshots__/jsfmt.spec.js.snap index f803887da..4e9094e7c 100644 --- a/tests/format/js/sloppy-mode/__snapshots__/jsfmt.spec.js.snap +++ b/tests/format/js/sloppy-mode/__snapshots__/jsfmt.spec.js.snap @@ -73,6 +73,13 @@ if (false) function foo() {} ================================================================================ `; +exports[`function-declaration-in-while.js [acorn] format 1`] = ` +"Unexpected token (1:15) +> 1 | while (false) function foo(){} + | ^ + 2 |" +`; + exports[`function-declaration-in-while.js [espree] format 1`] = ` "Unexpected token function (1:15) > 1 | while (false) function foo(){} diff --git a/tests/format/js/sloppy-mode/jsfmt.spec.js b/tests/format/js/sloppy-mode/jsfmt.spec.js index 687600bb8..ef07b97b2 100644 --- a/tests/format/js/sloppy-mode/jsfmt.spec.js +++ b/tests/format/js/sloppy-mode/jsfmt.spec.js @@ -1,6 +1,7 @@ run_spec(__dirname, ["babel", "flow", "typescript"], { errors: { flow: ["function-declaration-in-while.js"], + acorn: ["function-declaration-in-while.js"], espree: ["function-declaration-in-while.js"], meriyah: ["function-declaration-in-while.js"], }, diff --git a/tests/format/js/strings/__snapshots__/jsfmt.spec.js.snap b/tests/format/js/strings/__snapshots__/jsfmt.spec.js.snap index 2628d9838..115e2a3c6 100644 --- a/tests/format/js/strings/__snapshots__/jsfmt.spec.js.snap +++ b/tests/format/js/strings/__snapshots__/jsfmt.spec.js.snap @@ -1,5 +1,16 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP +exports[`non-octal-eight-and-nine.js [acorn] format 1`] = ` +"Invalid escape sequence (3:3) + 1 | // https://github.com/babel/babel/pull/11852 + 2 | +> 3 | \\"\\\\8\\",\\"\\\\9\\"; + | ^ + 4 | () => { + 5 | \\"use strict\\"; + 6 | \\"\\\\8\\", \\"\\\\9\\";" +`; + exports[`non-octal-eight-and-nine.js [espree] format 1`] = ` "Invalid escape sequence (3:3) 1 | // https://github.com/babel/babel/pull/11852 @@ -11,6 +22,17 @@ exports[`non-octal-eight-and-nine.js [espree] format 1`] = ` 6 | \\"\\\\8\\", \\"\\\\9\\";" `; +exports[`non-octal-eight-and-nine.js - {"trailingComma":"all"} [acorn] format 1`] = ` +"Invalid escape sequence (3:3) + 1 | // https://github.com/babel/babel/pull/11852 + 2 | +> 3 | \\"\\\\8\\",\\"\\\\9\\"; + | ^ + 4 | () => { + 5 | \\"use strict\\"; + 6 | \\"\\\\8\\", \\"\\\\9\\";" +`; + exports[`non-octal-eight-and-nine.js - {"trailingComma":"all"} [espree] format 1`] = ` "Invalid escape sequence (3:3) 1 | // https://github.com/babel/babel/pull/11852 diff --git a/tests/format/js/strings/jsfmt.spec.js b/tests/format/js/strings/jsfmt.spec.js index 8db31903d..d9119885f 100644 --- a/tests/format/js/strings/jsfmt.spec.js +++ b/tests/format/js/strings/jsfmt.spec.js @@ -1,7 +1,13 @@ run_spec(__dirname, ["babel", "flow"], { - errors: { espree: ["non-octal-eight-and-nine.js"] }, + errors: { + acorn: ["non-octal-eight-and-nine.js"], + espree: ["non-octal-eight-and-nine.js"], + }, }); run_spec(__dirname, ["babel", "flow"], { trailingComma: "all", - errors: { espree: ["non-octal-eight-and-nine.js"] }, + errors: { + acorn: ["non-octal-eight-and-nine.js"], + espree: ["non-octal-eight-and-nine.js"], + }, }); diff --git a/tests/format/js/throw_expressions/__snapshots__/jsfmt.spec.js.snap b/tests/format/js/throw_expressions/__snapshots__/jsfmt.spec.js.snap index 755a9af74..8c9e74ea2 100644 --- a/tests/format/js/throw_expressions/__snapshots__/jsfmt.spec.js.snap +++ b/tests/format/js/throw_expressions/__snapshots__/jsfmt.spec.js.snap @@ -1,5 +1,14 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP +exports[`throw_expression.js [acorn] format 1`] = ` +"Unexpected token (1:26) +> 1 | function save(filename = throw new TypeError(\\"Argument required\\")) {} + | ^ + 2 | + 3 | lint(ast, { + 4 | with: () => throw new Error(\\"avoid using 'with' statements.\\")" +`; + exports[`throw_expression.js [espree] format 1`] = ` "Unexpected token throw (1:26) > 1 | function save(filename = throw new TypeError(\\"Argument required\\")) {} diff --git a/tests/format/js/throw_expressions/jsfmt.spec.js b/tests/format/js/throw_expressions/jsfmt.spec.js index 0fab4456d..8ec1e5a27 100644 --- a/tests/format/js/throw_expressions/jsfmt.spec.js +++ b/tests/format/js/throw_expressions/jsfmt.spec.js @@ -1 +1,3 @@ -run_spec(__dirname, ["babel"], { errors: { espree: true, meriyah: true } }); +run_spec(__dirname, ["babel"], { + errors: { acorn: true, espree: true, meriyah: true }, +}); diff --git a/tests/format/js/trailing-whitespace/__snapshots__/jsfmt.spec.js.snap b/tests/format/js/trailing-whitespace/__snapshots__/jsfmt.spec.js.snap index 4f337ad8f..27bf58269 100644 --- a/tests/format/js/trailing-whitespace/__snapshots__/jsfmt.spec.js.snap +++ b/tests/format/js/trailing-whitespace/__snapshots__/jsfmt.spec.js.snap @@ -1,5 +1,14 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP +exports[`trailing.js [acorn] format 1`] = ` +"Unexpected token (1:8) +> 1 | export type Result = | { kind: \\"not-test-editor1\\" } | { kind: \\"not-test-editor2\\" }; + | ^ + 2 | + 3 | // Note: there are trailing whitespace in this file + 4 | \`" +`; + exports[`trailing.js [espree] format 1`] = ` "Unexpected token type (1:8) > 1 | export type Result = | { kind: \\"not-test-editor1\\" } | { kind: \\"not-test-editor2\\" }; diff --git a/tests/format/js/trailing-whitespace/jsfmt.spec.js b/tests/format/js/trailing-whitespace/jsfmt.spec.js index 5a410ee23..0d5dea140 100644 --- a/tests/format/js/trailing-whitespace/jsfmt.spec.js +++ b/tests/format/js/trailing-whitespace/jsfmt.spec.js @@ -1,3 +1,3 @@ run_spec(__dirname, ["babel", "flow", "typescript"], { - errors: { espree: true, meriyah: true }, + errors: { acorn: true, espree: true, meriyah: true }, }); diff --git a/tests/format/js/tuple/__snapshots__/jsfmt.spec.js.snap b/tests/format/js/tuple/__snapshots__/jsfmt.spec.js.snap index b5b7ce713..0670f960b 100644 --- a/tests/format/js/tuple/__snapshots__/jsfmt.spec.js.snap +++ b/tests/format/js/tuple/__snapshots__/jsfmt.spec.js.snap @@ -1,5 +1,14 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP +exports[`destructuring.js [acorn] format 1`] = ` +"Unexpected character '[' (1:17) +> 1 | const [a, b] = #[1, 2]; + | ^ + 2 | assert(a === 1); + 3 | assert(b === 2); + 4 |" +`; + exports[`destructuring.js [espree] format 1`] = ` "Unexpected character '[' (1:17) > 1 | const [a, b] = #[1, 2]; @@ -55,6 +64,13 @@ exports[`invalid-tuple-holes.js [__babel_estree] format 1`] = ` 2 |" `; +exports[`invalid-tuple-holes.js [acorn] format 1`] = ` +"Unexpected character '[' (1:2) +> 1 | #[,] + | ^ + 2 |" +`; + exports[`invalid-tuple-holes.js [babel] format 1`] = ` "Unexpected token ','. (1:4) > 1 | #[,] @@ -76,6 +92,15 @@ exports[`invalid-tuple-holes.js [meriyah] format 1`] = ` 2 |" `; +exports[`syntax.js [acorn] format 1`] = ` +"Unexpected character '[' (1:2) +> 1 | #[] + | ^ + 2 | #[1, 2] + 3 | #[1, 2, #{ a: 3 }] + 4 |" +`; + exports[`syntax.js [espree] format 1`] = ` "Unexpected character '[' (1:2) > 1 | #[] @@ -112,6 +137,15 @@ printWidth: 80 ================================================================================ `; +exports[`tuple.js [acorn] format 1`] = ` +"Unexpected character '[' (1:17) +> 1 | const tuple1 = #[1, 2, 3]; + | ^ + 2 | + 3 | assert(tuple1[0] === 1); + 4 |" +`; + exports[`tuple.js [espree] format 1`] = ` "Unexpected character '[' (1:17) > 1 | const tuple1 = #[1, 2, 3]; @@ -176,6 +210,13 @@ assert(tuple5 === #[2, 2, 3, 4]); ================================================================================ `; +exports[`tuple-trailing-comma.js [acorn] format 1`] = ` +"Unexpected character '[' (1:2) +> 1 | #[1,] + | ^ + 2 |" +`; + exports[`tuple-trailing-comma.js [espree] format 1`] = ` "Unexpected character '[' (1:2) > 1 | #[1,] diff --git a/tests/format/js/tuple/jsfmt.spec.js b/tests/format/js/tuple/jsfmt.spec.js index 878fdf2ab..1a5b80524 100644 --- a/tests/format/js/tuple/jsfmt.spec.js +++ b/tests/format/js/tuple/jsfmt.spec.js @@ -2,6 +2,7 @@ run_spec(__dirname, ["babel"], { errors: { babel: ["invalid-tuple-holes.js"], __babel_estree: ["invalid-tuple-holes.js"], + acorn: true, espree: true, meriyah: true, }, diff --git a/tests/format/js/v8_intrinsic/__snapshots__/jsfmt.spec.js.snap b/tests/format/js/v8_intrinsic/__snapshots__/jsfmt.spec.js.snap index e9849078c..5d959f0a7 100644 --- a/tests/format/js/v8_intrinsic/__snapshots__/jsfmt.spec.js.snap +++ b/tests/format/js/v8_intrinsic/__snapshots__/jsfmt.spec.js.snap @@ -1,5 +1,13 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP +exports[`avoid-conflicts-to-pipeline.js [acorn] format 1`] = ` +"Unexpected token (2:16) + 1 | // |> +> 2 | const status = %GetOptimizationStatus(fn); + | ^ + 3 |" +`; + exports[`avoid-conflicts-to-pipeline.js [espree] format 1`] = ` "Unexpected token % (2:16) 1 | // |> @@ -32,6 +40,16 @@ const status = %GetOptimizationStatus(fn); ================================================================================ `; +exports[`intrinsic_call.js [acorn] format 1`] = ` +"Unexpected token (2:13) + 1 | function doSmth() { +> 2 | %DebugPrint + | ^ + 3 | ( + 4 | foo ) + 5 | }" +`; + exports[`intrinsic_call.js [espree] format 1`] = ` "Unexpected token % (2:13) 1 | function doSmth() { diff --git a/tests/format/js/v8_intrinsic/jsfmt.spec.js b/tests/format/js/v8_intrinsic/jsfmt.spec.js index 0fab4456d..8ec1e5a27 100644 --- a/tests/format/js/v8_intrinsic/jsfmt.spec.js +++ b/tests/format/js/v8_intrinsic/jsfmt.spec.js @@ -1 +1,3 @@ -run_spec(__dirname, ["babel"], { errors: { espree: true, meriyah: true } }); +run_spec(__dirname, ["babel"], { + errors: { acorn: true, espree: true, meriyah: true }, +}); diff --git a/tests/format/misc/errors/invalid/__snapshots__/jsfmt.spec.js.snap b/tests/format/misc/errors/invalid/__snapshots__/jsfmt.spec.js.snap index ec26010ce..40fb2209a 100644 --- a/tests/format/misc/errors/invalid/__snapshots__/jsfmt.spec.js.snap +++ b/tests/format/misc/errors/invalid/__snapshots__/jsfmt.spec.js.snap @@ -1,5 +1,11 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP +exports[`snippet: #0 [acorn] format 1`] = ` +"Unexpected token (1:5) +> 1 | for each (a in b) {} + | ^" +`; + exports[`snippet: #0 [babel] format 1`] = ` "Unexpected token, expected \\"(\\" (1:5) > 1 | for each (a in b) {} @@ -72,6 +78,12 @@ exports[`snippet: #0 [typescript] format 1`] = ` | ^" `; +exports[`snippet: #1 [acorn] format 1`] = ` +"Unexpected token (1:7) +> 1 | class switch() {} + | ^" +`; + exports[`snippet: #1 [babel] format 1`] = ` "A class name is required. (1:7) > 1 | class switch() {} diff --git a/tests/format/misc/errors/invalid/jsfmt.spec.js b/tests/format/misc/errors/invalid/jsfmt.spec.js index bfb4daddc..bdc6df385 100644 --- a/tests/format/misc/errors/invalid/jsfmt.spec.js +++ b/tests/format/misc/errors/invalid/jsfmt.spec.js @@ -3,7 +3,16 @@ run_spec( dirname: __dirname, snippets: ["for each (a in b) {}", "class switch() {}"], }, - ["babel", "flow", "typescript", "babel-flow", "babel-ts", "espree", "meriyah"] + [ + "babel", + "flow", + "typescript", + "babel-flow", + "babel-ts", + "acorn", + "espree", + "meriyah", + ] ); run_spec( diff --git a/tests/format/misc/errors/js/assignment/__snapshots__/jsfmt.spec.js.snap b/tests/format/misc/errors/js/assignment/__snapshots__/jsfmt.spec.js.snap index 0ccb7f5e1..6b88411e0 100644 --- a/tests/format/misc/errors/js/assignment/__snapshots__/jsfmt.spec.js.snap +++ b/tests/format/misc/errors/js/assignment/__snapshots__/jsfmt.spec.js.snap @@ -1,5 +1,11 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP +exports[`snippet: #0 [acorn] format 1`] = ` +"Parenthesized pattern (1:1) +> 1 | ({}) = x; + | ^" +`; + exports[`snippet: #0 [babel] format 1`] = ` "Invalid parenthesized assignment pattern. (1:1) > 1 | ({}) = x; diff --git a/tests/format/misc/errors/js/assignment/jsfmt.spec.js b/tests/format/misc/errors/js/assignment/jsfmt.spec.js index f987b2111..b83f8d1c7 100644 --- a/tests/format/misc/errors/js/assignment/jsfmt.spec.js +++ b/tests/format/misc/errors/js/assignment/jsfmt.spec.js @@ -3,5 +3,5 @@ run_spec( dirname: __dirname, snippets: ["({}) = x;"], }, - ["babel", "babel-ts", "espree", "meriyah"] + ["babel", "babel-ts", "acorn", "espree", "meriyah"] ); diff --git a/tests/format/misc/errors/js/async-await/__snapshots__/jsfmt.spec.js.snap b/tests/format/misc/errors/js/async-await/__snapshots__/jsfmt.spec.js.snap index 8078d09be..ab9df47a4 100644 --- a/tests/format/misc/errors/js/async-await/__snapshots__/jsfmt.spec.js.snap +++ b/tests/format/misc/errors/js/async-await/__snapshots__/jsfmt.spec.js.snap @@ -1,5 +1,19 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP +exports[`snippet: #0 [acorn] format 1`] = ` +"Unexpected token (2:26) + 1 | async function foo() { +> 2 | function bar(x = await 2) {} + | ^ + 3 | }" +`; + +exports[`snippet: #0 [acorn] format 2`] = ` +"Await expression cannot be a default value (1:12) +> 1 | async (x = await (2)) => {}; + | ^" +`; + exports[`snippet: #0 [babel] format 1`] = ` "'await' is not allowed in async function parameters. (2:20) 1 | async function foo() { @@ -44,6 +58,12 @@ exports[`snippet: #0 [meriyah] format 1`] = ` 3 | }" `; +exports[`snippet: #1 [acorn] format 1`] = ` +"Await expression cannot be a default value (1:12) +> 1 | async (x = await 2) => {}; + | ^" +`; + exports[`snippet: #1 [babel] format 1`] = ` "'await' is not allowed in async function parameters. (1:12) > 1 | async (x = await 2) => {}; @@ -68,6 +88,12 @@ exports[`snippet: #1 [meriyah] format 1`] = ` | ^" `; +exports[`snippet: #2 [acorn] format 1`] = ` +"Unexpected token (1:25) +> 1 | f = async (a) => await a! ** 6; + | ^" +`; + exports[`snippet: #2 [babel] format 1`] = ` "Unexpected token (1:27) > 1 | f = async (a) => await a! ** 6; @@ -92,6 +118,12 @@ exports[`snippet: #2 [meriyah] format 1`] = ` | ^" `; +exports[`snippet: #3 [acorn] format 1`] = ` +"Unexpected token (1:14) +> 1 | f = (a) => +a! ** 6; + | ^" +`; + exports[`snippet: #3 [babel] format 1`] = ` "Unexpected token (1:16) > 1 | f = (a) => +a! ** 6; @@ -116,6 +148,12 @@ exports[`snippet: #3 [meriyah] format 1`] = ` | ^" `; +exports[`snippet: #4 [acorn] format 1`] = ` +"Unexpected token (1:22) +> 1 | async (a) => (await a!) ** 6; + | ^" +`; + exports[`snippet: #4 [babel] format 1`] = ` "Unexpected token, expected \\",\\" (1:22) > 1 | async (a) => (await a!) ** 6; @@ -140,6 +178,12 @@ exports[`snippet: #4 [meriyah] format 1`] = ` | ^" `; +exports[`snippet: #5 [acorn] format 1`] = ` +"Unexpected token (1:6) +> 1 | (-+5 ** 6); + | ^" +`; + exports[`snippet: #5 [babel] format 1`] = ` "Illegal expression. Wrap left hand side or entire exponentiation in parentheses. (1:3) > 1 | (-+5 ** 6); @@ -164,6 +208,12 @@ exports[`snippet: #5 [meriyah] format 1`] = ` | ^" `; +exports[`snippet: #6 [acorn] format 1`] = ` +"Unexpected token (1:25) +> 1 | f = async () => await 5 ** 6; + | ^" +`; + exports[`snippet: #6 [babel] format 1`] = ` "Illegal expression. Wrap left hand side or entire exponentiation in parentheses. (1:23) > 1 | f = async () => await 5 ** 6; @@ -188,6 +238,12 @@ exports[`snippet: #6 [meriyah] format 1`] = ` | ^" `; +exports[`snippet: #7 [acorn] format 1`] = ` +"Unexpected token (1:26) +> 1 | f = async () => await -5 ** 6; + | ^" +`; + exports[`snippet: #7 [babel] format 1`] = ` "Illegal expression. Wrap left hand side or entire exponentiation in parentheses. (1:23) > 1 | f = async () => await -5 ** 6; @@ -212,6 +268,12 @@ exports[`snippet: #7 [meriyah] format 1`] = ` | ^" `; +exports[`snippet: #8 [acorn] format 1`] = ` +"Shorthand property assignments are valid only in destructuring patterns (1:15) +> 1 | async({ foo33 = 1 }); + | ^" +`; + exports[`snippet: #8 [babel] format 1`] = ` "Invalid shorthand property initializer. (1:15) > 1 | async({ foo33 = 1 }); diff --git a/tests/format/misc/errors/js/async-await/jsfmt.spec.js b/tests/format/misc/errors/js/async-await/jsfmt.spec.js index 3f46af09a..7436277ad 100644 --- a/tests/format/misc/errors/js/async-await/jsfmt.spec.js +++ b/tests/format/misc/errors/js/async-await/jsfmt.spec.js @@ -19,7 +19,7 @@ run_spec( "async({ foo33 = 1 });", ], }, - ["babel", "espree", "meriyah", "flow"] + ["babel", "acorn", "espree", "meriyah", "flow"] ); run_spec( @@ -30,5 +30,5 @@ run_spec( "async (x = await (2)) => {};", ], }, - ["babel", "espree"] + ["babel", "acorn", "espree"] ); diff --git a/tests/format/misc/errors/js/for-of/__snapshots__/jsfmt.spec.js.snap b/tests/format/misc/errors/js/for-of/__snapshots__/jsfmt.spec.js.snap index 7a7418dd9..0b9bfc559 100644 --- a/tests/format/misc/errors/js/for-of/__snapshots__/jsfmt.spec.js.snap +++ b/tests/format/misc/errors/js/for-of/__snapshots__/jsfmt.spec.js.snap @@ -1,5 +1,11 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP +exports[`snippet: #0 [acorn] format 1`] = ` +"Unexpected token (1:15) +> 1 | for (async of []); + | ^" +`; + exports[`snippet: #0 [babel] format 1`] = ` "The left-hand side of a for-of loop may not start with 'let'. (1:6) > 1 | for (let.foo of []); diff --git a/tests/format/misc/errors/js/for-of/jsfmt.spec.js b/tests/format/misc/errors/js/for-of/jsfmt.spec.js index 62793da4f..5e2e814a4 100644 --- a/tests/format/misc/errors/js/for-of/jsfmt.spec.js +++ b/tests/format/misc/errors/js/for-of/jsfmt.spec.js @@ -26,6 +26,7 @@ run_spec( }, [ "babel", + "acorn", "espree", // `meriyah` didn't throw https://github.com/meriyah/meriyah/issues/190 // "meriyah", diff --git a/tests/format/misc/errors/js/import/__snapshots__/jsfmt.spec.js.snap b/tests/format/misc/errors/js/import/__snapshots__/jsfmt.spec.js.snap index 374bc3856..2fdf6e998 100644 --- a/tests/format/misc/errors/js/import/__snapshots__/jsfmt.spec.js.snap +++ b/tests/format/misc/errors/js/import/__snapshots__/jsfmt.spec.js.snap @@ -1,5 +1,11 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP +exports[`snippet: #0 [acorn] format 1`] = ` +"Unexpected token (1:8) +> 1 | import(); + | ^" +`; + exports[`snippet: #0 [babel] format 1`] = ` "\`import()\` requires exactly one or two arguments. (1:1) > 1 | import(); @@ -42,6 +48,12 @@ exports[`snippet: #0 [typescript] format 1`] = ` | ^" `; +exports[`snippet: #1 [acorn] format 1`] = ` +"Unexpected token (1:21) +> 1 | import(/* comment */); + | ^" +`; + exports[`snippet: #1 [babel] format 1`] = ` "\`import()\` requires exactly one or two arguments. (1:1) > 1 | import(/* comment */); @@ -84,6 +96,12 @@ exports[`snippet: #1 [typescript] format 1`] = ` | ^" `; +exports[`snippet: #2 [acorn] format 1`] = ` +"Cannot use new with import() (1:5) +> 1 | new import('./a.mjs'); + | ^" +`; + exports[`snippet: #2 [babel] format 1`] = ` "Cannot use new with import(...). (1:5) > 1 | new import('./a.mjs'); @@ -126,6 +144,12 @@ exports[`snippet: #2 [typescript] format 1`] = ` | ^" `; +exports[`snippet: #3 [acorn] format 1`] = ` +"Unexpected token (1:12) +> 1 | new import(); + | ^" +`; + exports[`snippet: #3 [babel] format 1`] = ` "Cannot use new with import(...). (1:5) > 1 | new import(); diff --git a/tests/format/misc/errors/js/import/jsfmt.spec.js b/tests/format/misc/errors/js/import/jsfmt.spec.js index 2bfa89216..ffed8e468 100644 --- a/tests/format/misc/errors/js/import/jsfmt.spec.js +++ b/tests/format/misc/errors/js/import/jsfmt.spec.js @@ -8,5 +8,14 @@ run_spec( "new import();", ], }, - ["babel", "espree", "meriyah", "flow", "typescript", "babel-flow", "babel-ts"] + [ + "babel", + "acorn", + "espree", + "meriyah", + "flow", + "typescript", + "babel-flow", + "babel-ts", + ] ); diff --git a/tests/format/misc/errors/js/literal/__snapshots__/jsfmt.spec.js.snap b/tests/format/misc/errors/js/literal/__snapshots__/jsfmt.spec.js.snap index d87a75dfc..2d0386425 100644 --- a/tests/format/misc/errors/js/literal/__snapshots__/jsfmt.spec.js.snap +++ b/tests/format/misc/errors/js/literal/__snapshots__/jsfmt.spec.js.snap @@ -1,5 +1,12 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP +exports[`invalid-exponent.js [acorn] format 1`] = ` +"Invalid number (1:1) +> 1 | 12.3e + | ^ + 2 |" +`; + exports[`invalid-exponent.js [babel] format 1`] = ` "Floating-point numbers require a valid exponent after the 'e'. (1:1) > 1 | 12.3e diff --git a/tests/format/misc/errors/js/literal/jsfmt.spec.js b/tests/format/misc/errors/js/literal/jsfmt.spec.js index 38525665a..0b4e24dc0 100644 --- a/tests/format/misc/errors/js/literal/jsfmt.spec.js +++ b/tests/format/misc/errors/js/literal/jsfmt.spec.js @@ -1 +1 @@ -run_spec(__dirname, ["babel", "espree", "meriyah"]); +run_spec(__dirname, ["babel", "acorn", "espree", "meriyah"]); diff --git a/tests/format/misc/errors/js/object/__snapshots__/jsfmt.spec.js.snap b/tests/format/misc/errors/js/object/__snapshots__/jsfmt.spec.js.snap index 62586b9b4..f21841241 100644 --- a/tests/format/misc/errors/js/object/__snapshots__/jsfmt.spec.js.snap +++ b/tests/format/misc/errors/js/object/__snapshots__/jsfmt.spec.js.snap @@ -1,5 +1,14 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP +exports[`getter-generator.js [acorn] format 1`] = ` +"Unexpected token (2:9) + 1 | ({ +> 2 | get *iterator() { }, + | ^ + 3 | }); + 4 |" +`; + exports[`getter-generator.js [babel] format 1`] = ` "A getter cannot be a generator. (2:10) 1 | ({ @@ -27,6 +36,13 @@ exports[`getter-generator.js [meriyah] format 1`] = ` 4 |" `; +exports[`getter-with-parameter.js [acorn] format 1`] = ` +"getter should have no params (1:9) +> 1 | ({ get x(a){} }); + | ^ + 2 |" +`; + exports[`getter-with-parameter.js [babel] format 1`] = ` "A 'get' accesor must not have any formal parameters. (1:4) > 1 | ({ get x(a){} }); @@ -48,6 +64,15 @@ exports[`getter-with-parameter.js [meriyah] format 1`] = ` 2 |" `; +exports[`setter-generator.js [acorn] format 1`] = ` +"Unexpected token (2:9) + 1 | ({ +> 2 | set *iterator(iter) { }, + | ^ + 3 | }); + 4 |" +`; + exports[`setter-generator.js [babel] format 1`] = ` "A setter cannot be a generator. (2:10) 1 | ({ @@ -75,6 +100,13 @@ exports[`setter-generator.js [meriyah] format 1`] = ` 4 |" `; +exports[`setter-without-parameter.js [acorn] format 1`] = ` +"setter should have exactly one param (1:9) +> 1 | ({ set x(){} }); + | ^ + 2 |" +`; + exports[`setter-without-parameter.js [babel] format 1`] = ` "A 'set' accesor must have exactly one formal parameter. (1:4) > 1 | ({ set x(){} }); diff --git a/tests/format/misc/errors/js/object/jsfmt.spec.js b/tests/format/misc/errors/js/object/jsfmt.spec.js index 38525665a..0b4e24dc0 100644 --- a/tests/format/misc/errors/js/object/jsfmt.spec.js +++ b/tests/format/misc/errors/js/object/jsfmt.spec.js @@ -1 +1 @@ -run_spec(__dirname, ["babel", "espree", "meriyah"]); +run_spec(__dirname, ["babel", "acorn", "espree", "meriyah"]); diff --git a/tests/format/misc/errors/js/optional-chaining/__snapshots__/jsfmt.spec.js.snap b/tests/format/misc/errors/js/optional-chaining/__snapshots__/jsfmt.spec.js.snap index 179260429..763e2ed7a 100644 --- a/tests/format/misc/errors/js/optional-chaining/__snapshots__/jsfmt.spec.js.snap +++ b/tests/format/misc/errors/js/optional-chaining/__snapshots__/jsfmt.spec.js.snap @@ -1,5 +1,11 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP +exports[`snippet: #0 [acorn] format 1`] = ` +"Optional chaining cannot appear in the callee of new expressions (1:21) +> 1 | const baz3 = new obj?.foo?.bar?.baz(); // baz instance + | ^" +`; + exports[`snippet: #0 [babel] format 1`] = ` "Constructors in/after an Optional Chain are not allowed. (1:36) > 1 | const baz3 = new obj?.foo?.bar?.baz(); // baz instance @@ -18,6 +24,12 @@ exports[`snippet: #0 [meriyah] format 1`] = ` | ^" `; +exports[`snippet: #1 [acorn] format 1`] = ` +"Optional chaining cannot appear in the callee of new expressions (1:22) +> 1 | const safe5 = new obj?.qux?.baz(); // undefined + | ^" +`; + exports[`snippet: #1 [babel] format 1`] = ` "Constructors in/after an Optional Chain are not allowed. (1:32) > 1 | const safe5 = new obj?.qux?.baz(); // undefined @@ -36,6 +48,12 @@ exports[`snippet: #1 [meriyah] format 1`] = ` | ^" `; +exports[`snippet: #2 [acorn] format 1`] = ` +"Optional chaining cannot appear in the callee of new expressions (1:22) +> 1 | const safe6 = new obj?.foo.bar.qux?.(); // undefined + | ^" +`; + exports[`snippet: #2 [babel] format 1`] = ` "Constructors in/after an Optional Chain are not allowed. (1:35) > 1 | const safe6 = new obj?.foo.bar.qux?.(); // undefined @@ -54,6 +72,12 @@ exports[`snippet: #2 [meriyah] format 1`] = ` | ^" `; +exports[`snippet: #3 [acorn] format 1`] = ` +"Optional chaining cannot appear in the callee of new expressions (1:26) +> 1 | const willThrow = new obj?.foo.bar.qux(); // Error: not a constructor + | ^" +`; + exports[`snippet: #3 [babel] format 1`] = ` "Constructors in/after an Optional Chain are not allowed. (1:39) > 1 | const willThrow = new obj?.foo.bar.qux(); // Error: not a constructor @@ -72,6 +96,14 @@ exports[`snippet: #3 [meriyah] format 1`] = ` | ^" `; +exports[`snippet: #4 [acorn] format 1`] = ` +"Optional chaining cannot appear in the callee of new expressions (4:9) + 2 | class Test { + 3 | } +> 4 | new Test?.(); // test instance + | ^" +`; + exports[`snippet: #4 [babel] format 1`] = ` "Constructors in/after an Optional Chain are not allowed. (4:11) 2 | class Test { @@ -96,6 +128,12 @@ exports[`snippet: #4 [meriyah] format 1`] = ` | ^" `; +exports[`snippet: #5 [acorn] format 1`] = ` +"Optional chaining cannot appear in the callee of new expressions (1:11) +> 1 | new exists?.(); // undefined + | ^" +`; + exports[`snippet: #5 [babel] format 1`] = ` "Constructors in/after an Optional Chain are not allowed. (1:13) > 1 | new exists?.(); // undefined diff --git a/tests/format/misc/errors/js/optional-chaining/jsfmt.spec.js b/tests/format/misc/errors/js/optional-chaining/jsfmt.spec.js index 5301fb325..b3db74c43 100644 --- a/tests/format/misc/errors/js/optional-chaining/jsfmt.spec.js +++ b/tests/format/misc/errors/js/optional-chaining/jsfmt.spec.js @@ -17,5 +17,5 @@ run_spec( "new exists?.(); // undefined", ], }, - ["babel", "espree", "meriyah"] + ["babel", "acorn", "espree", "meriyah"] ); diff --git a/tests/format/misc/errors/js/record/__snapshots__/jsfmt.spec.js.snap b/tests/format/misc/errors/js/record/__snapshots__/jsfmt.spec.js.snap index 519b7cbbd..10973da0b 100644 --- a/tests/format/misc/errors/js/record/__snapshots__/jsfmt.spec.js.snap +++ b/tests/format/misc/errors/js/record/__snapshots__/jsfmt.spec.js.snap @@ -1,5 +1,11 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP +exports[`snippet: #0 [acorn] format 1`] = ` +"Unexpected character '{' (1:2) +> 1 | #{a() {}} + | ^" +`; + exports[`snippet: #0 [babel] format 1`] = ` "Only properties and spread elements are allowed in record definitions. (1:3) > 1 | #{a() {}} @@ -18,6 +24,12 @@ exports[`snippet: #0 [meriyah] format 1`] = ` | ^" `; +exports[`snippet: #1 [acorn] format 1`] = ` +"Unexpected character '{' (1:2) +> 1 | #{async b() {}} + | ^" +`; + exports[`snippet: #1 [babel] format 1`] = ` "Only properties and spread elements are allowed in record definitions. (1:3) > 1 | #{async b() {}} @@ -36,6 +48,12 @@ exports[`snippet: #1 [meriyah] format 1`] = ` | ^" `; +exports[`snippet: #2 [acorn] format 1`] = ` +"Unexpected character '{' (1:2) +> 1 | #{get c() {}} + | ^" +`; + exports[`snippet: #2 [babel] format 1`] = ` "Only properties and spread elements are allowed in record definitions. (1:3) > 1 | #{get c() {}} @@ -54,6 +72,12 @@ exports[`snippet: #2 [meriyah] format 1`] = ` | ^" `; +exports[`snippet: #3 [acorn] format 1`] = ` +"Unexpected character '{' (1:2) +> 1 | #{set d(_) {}} + | ^" +`; + exports[`snippet: #3 [babel] format 1`] = ` "Only properties and spread elements are allowed in record definitions. (1:3) > 1 | #{set d(_) {}} @@ -72,6 +96,12 @@ exports[`snippet: #3 [meriyah] format 1`] = ` | ^" `; +exports[`snippet: #4 [acorn] format 1`] = ` +"Unexpected character '{' (1:2) +> 1 | #{*e() {}} + | ^" +`; + exports[`snippet: #4 [babel] format 1`] = ` "Only properties and spread elements are allowed in record definitions. (1:3) > 1 | #{*e() {}} diff --git a/tests/format/misc/errors/js/record/jsfmt.spec.js b/tests/format/misc/errors/js/record/jsfmt.spec.js index 8e7d09d11..27d2bfc79 100644 --- a/tests/format/misc/errors/js/record/jsfmt.spec.js +++ b/tests/format/misc/errors/js/record/jsfmt.spec.js @@ -9,5 +9,5 @@ run_spec( "#{*e() {}}", ], }, - ["babel", "espree", "meriyah"] + ["babel", "acorn", "espree", "meriyah"] ); diff --git a/tests/format/misc/errors/js/variable-declarator/__snapshots__/jsfmt.spec.js.snap b/tests/format/misc/errors/js/variable-declarator/__snapshots__/jsfmt.spec.js.snap index bb0c30f34..eae324f63 100644 --- a/tests/format/misc/errors/js/variable-declarator/__snapshots__/jsfmt.spec.js.snap +++ b/tests/format/misc/errors/js/variable-declarator/__snapshots__/jsfmt.spec.js.snap @@ -1,5 +1,12 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP +exports[`invalid-const.js [acorn] format 1`] = ` +"Unexpected token (1:10) +> 1 | const foo; + | ^ + 2 |" +`; + exports[`invalid-const.js [babel] format 1`] = ` "'Const declarations' require an initialization value. (1:10) > 1 | const foo; diff --git a/tests/format/misc/errors/js/variable-declarator/jsfmt.spec.js b/tests/format/misc/errors/js/variable-declarator/jsfmt.spec.js index 38525665a..0b4e24dc0 100644 --- a/tests/format/misc/errors/js/variable-declarator/jsfmt.spec.js +++ b/tests/format/misc/errors/js/variable-declarator/jsfmt.spec.js @@ -1 +1 @@ -run_spec(__dirname, ["babel", "espree", "meriyah"]); +run_spec(__dirname, ["babel", "acorn", "espree", "meriyah"]); diff --git a/tests/integration/__tests__/__snapshots__/early-exit.js.snap b/tests/integration/__tests__/__snapshots__/early-exit.js.snap index ceba2b2ac..66d605828 100644 --- a/tests/integration/__tests__/__snapshots__/early-exit.js.snap +++ b/tests/integration/__tests__/__snapshots__/early-exit.js.snap @@ -75,7 +75,7 @@ Format options: Defaults to css. --jsx-single-quote Use single quotes in JSX. Defaults to false. - --parser + --parser Which parser to use. --print-width The line length where Prettier will try wrap. Defaults to 80. @@ -176,7 +176,7 @@ exports[`show warning with --help not-found (typo) (stderr) 1`] = ` `; exports[`show warning with --help not-found (typo) (stdout) 1`] = ` -"--parser +"--parser Which parser to use. @@ -187,6 +187,7 @@ Valid options: babel-flow Flow babel-ts TypeScript typescript TypeScript + acorn JavaScript espree JavaScript meriyah JavaScript css CSS @@ -243,7 +244,7 @@ Format options: Defaults to css. --jsx-single-quote Use single quotes in JSX. Defaults to false. - --parser + --parser Which parser to use. --print-width The line length where Prettier will try wrap. Defaults to 80. diff --git a/tests/integration/__tests__/__snapshots__/help-options.js.snap b/tests/integration/__tests__/__snapshots__/help-options.js.snap index eb7adb84d..bf750b96b 100644 --- a/tests/integration/__tests__/__snapshots__/help-options.js.snap +++ b/tests/integration/__tests__/__snapshots__/help-options.js.snap @@ -372,7 +372,7 @@ exports[`show detailed usage with --help no-semi (write) 1`] = `Array []`; exports[`show detailed usage with --help parser (stderr) 1`] = `""`; exports[`show detailed usage with --help parser (stdout) 1`] = ` -"--parser +"--parser Which parser to use. @@ -383,6 +383,7 @@ Valid options: babel-flow Flow babel-ts TypeScript typescript TypeScript + acorn JavaScript espree JavaScript meriyah JavaScript css CSS diff --git a/tests/integration/__tests__/__snapshots__/plugin-options-string.js.snap b/tests/integration/__tests__/__snapshots__/plugin-options-string.js.snap index 9b0567f2a..aff5adf72 100644 --- a/tests/integration/__tests__/__snapshots__/plugin-options-string.js.snap +++ b/tests/integration/__tests__/__snapshots__/plugin-options-string.js.snap @@ -31,8 +31,8 @@ exports[`show external options with \`--help\` 1`] = ` Defaults to css. --jsx-single-quote Use single quotes in JSX. Defaults to false. -- --parser -+ --parser +- --parser ++ --parser Which parser to use. --print-width The line length where Prettier will try wrap. Defaults to 80. diff --git a/tests/integration/__tests__/__snapshots__/plugin-options.js.snap b/tests/integration/__tests__/__snapshots__/plugin-options.js.snap index b8b7ace9b..54ef10685 100644 --- a/tests/integration/__tests__/__snapshots__/plugin-options.js.snap +++ b/tests/integration/__tests__/__snapshots__/plugin-options.js.snap @@ -3,7 +3,7 @@ exports[`include plugin's parsers to the values of the \`parser\` option\` (stderr) 1`] = `""`; exports[`include plugin's parsers to the values of the \`parser\` option\` (stdout) 1`] = ` -"--parser +"--parser Which parser to use. @@ -14,6 +14,7 @@ Valid options: babel-flow Flow babel-ts TypeScript typescript TypeScript + acorn JavaScript espree JavaScript meriyah JavaScript css CSS @@ -73,8 +74,8 @@ exports[`show external options with \`--help\` 1`] = ` Defaults to css. --jsx-single-quote Use single quotes in JSX. Defaults to false. -- --parser -+ --parser +- --parser ++ --parser Which parser to use. --print-width The line length where Prettier will try wrap. Defaults to 80. diff --git a/tests/integration/__tests__/__snapshots__/schema.js.snap b/tests/integration/__tests__/__snapshots__/schema.js.snap index b34fea769..82d6a8ce3 100644 --- a/tests/integration/__tests__/__snapshots__/schema.js.snap +++ b/tests/integration/__tests__/__snapshots__/schema.js.snap @@ -160,6 +160,12 @@ This option cannot be used with --range-start and --range-end.", "typescript", ], }, + Object { + "description": "JavaScript", + "enum": Array [ + "acorn", + ], + }, Object { "description": "JavaScript", "enum": Array [ diff --git a/tests/integration/__tests__/__snapshots__/support-info.js.snap b/tests/integration/__tests__/__snapshots__/support-info.js.snap index b1162a743..b2b59cf5e 100644 --- a/tests/integration/__tests__/__snapshots__/support-info.js.snap +++ b/tests/integration/__tests__/__snapshots__/support-info.js.snap @@ -45,6 +45,7 @@ Object { ], "JavaScript": Array [ "babel", + "acorn", "espree", "meriyah", "babel-flow", @@ -157,6 +158,7 @@ Object { "babel-flow", "babel-ts", "typescript", + "acorn", "espree", "meriyah", "css", @@ -330,6 +332,7 @@ exports[`CLI --support-info (stdout) 1`] = ` \\"name\\": \\"JavaScript\\", \\"parsers\\": [ \\"babel\\", + \\"acorn\\", \\"espree\\", \\"meriyah\\", \\"babel-flow\\", @@ -915,6 +918,7 @@ exports[`CLI --support-info (stdout) 1`] = ` \\"since\\": \\"1.4.0\\", \\"value\\": \\"typescript\\" }, + { \\"description\\": \\"JavaScript\\", \\"since\\": \\"2.6.0\\", \\"value\\": \\"acorn\\" }, { \\"description\\": \\"JavaScript\\", \\"since\\": \\"2.2.0\\", \\"value\\": \\"espree\\" }, { \\"description\\": \\"JavaScript\\", \\"since\\": \\"2.2.0\\", \\"value\\": \\"meriyah\\" }, { \\"description\\": \\"CSS\\", \\"since\\": \\"1.7.1\\", \\"value\\": \\"css\\" }, diff --git a/website/playground/codeSamples.js b/website/playground/codeSamples.js index 8fbb71c0d..096383fdf 100644 --- a/website/playground/codeSamples.js +++ b/website/playground/codeSamples.js @@ -1,6 +1,7 @@ export default function getCodeSamples(parser) { switch (parser) { case "babel": + case "acorn": case "espree": case "meriyah": return [ diff --git a/website/playground/markdown.js b/website/playground/markdown.js index eb470e5ca..60e14dd25 100644 --- a/website/playground/markdown.js +++ b/website/playground/markdown.js @@ -38,6 +38,7 @@ function getMarkdownSyntax(options) { case "babel": case "babel-flow": case "flow": + case "acorn": case "espree": case "meriyah": return "jsx"; diff --git a/website/playground/util.js b/website/playground/util.js index 62e991745..2752aebb6 100644 --- a/website/playground/util.js +++ b/website/playground/util.js @@ -69,7 +69,9 @@ export function getAstAutoFold(parser) { case "babel-flow": case "babel-ts": case "typescript": + case "acorn": case "espree": + case "meriyah": case "json": case "json5": case "json-stringify": diff --git a/yarn.lock b/yarn.lock index 95fe6a7ff..78658f0de 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1823,7 +1823,7 @@ acorn-globals@^6.0.0: acorn "^7.1.1" acorn-walk "^7.1.1" -acorn-jsx@^5.3.1: +acorn-jsx@5.3.2, acorn-jsx@^5.3.1: version "5.3.2" resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== @@ -1833,16 +1833,16 @@ acorn-walk@^7.1.1: resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== +acorn@8.7.0, acorn@^8.2.4, acorn@^8.7.0: + version "8.7.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.0.tgz#90951fde0f8f09df93549481e5fc141445b791cf" + integrity sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ== + acorn@^7.1.1: version "7.4.1" resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== -acorn@^8.2.4, acorn@^8.7.0: - version "8.7.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.0.tgz#90951fde0f8f09df93549481e5fc141445b791cf" - integrity sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ== - agent-base@6: version "6.0.2" resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" From 08da4e55b029d1fe4fcfa6816bf595a3151a4db0 Mon Sep 17 00:00:00 2001 From: fisker Cheung Date: Fri, 28 Jan 2022 16:31:48 +0800 Subject: [PATCH 062/117] Build: Remove `define` on second run (#12183) --- scripts/build/bundler.mjs | 1 + 1 file changed, 1 insertion(+) diff --git a/scripts/build/bundler.mjs b/scripts/build/bundler.mjs index b38e7e98d..63246e362 100644 --- a/scripts/build/bundler.mjs +++ b/scripts/build/bundler.mjs @@ -238,6 +238,7 @@ async function runBuild(bundle, esbuildOptions, buildOptions) { await esbuild.build({ ...esbuildOptions, + define: {}, plugins: plugins.filter(({ name }) => name === "umd"), entryPoints: [outfile], allowOverwrite: true, From e3efd11401e73b824e7da0cd407ada4fa928c0a0 Mon Sep 17 00:00:00 2001 From: fisker Cheung Date: Fri, 28 Jan 2022 18:27:27 +0800 Subject: [PATCH 063/117] Drop color support for `standalone` build (#12182) --- scripts/build/config.mjs | 8 ++++++++ scripts/build/shims/babel-highlight.cjs | 6 ++++++ scripts/build/shims/chalk.cjs | 11 +++++++++++ 3 files changed, 25 insertions(+) create mode 100644 scripts/build/shims/babel-highlight.cjs create mode 100644 scripts/build/shims/chalk.cjs diff --git a/scripts/build/config.mjs b/scripts/build/config.mjs index d2815c2b4..475149719 100644 --- a/scripts/build/config.mjs +++ b/scripts/build/config.mjs @@ -1,4 +1,5 @@ import path from "node:path"; +import { createRequire } from "node:module"; import createEsmUtils from "esm-utils"; const { require } = createEsmUtils(import.meta); @@ -184,6 +185,13 @@ const coreBundles = [ input: "src/standalone.js", name: "prettier", target: "universal", + replaceModule: { + [require.resolve("@babel/highlight")]: require.resolve( + "./shims/babel-highlight.cjs" + ), + [createRequire(require.resolve("vnopts")).resolve("chalk")]: + require.resolve("./shims/chalk.cjs"), + }, }, { input: "bin/prettier.js", diff --git a/scripts/build/shims/babel-highlight.cjs b/scripts/build/shims/babel-highlight.cjs new file mode 100644 index 000000000..3b23660e0 --- /dev/null +++ b/scripts/build/shims/babel-highlight.cjs @@ -0,0 +1,6 @@ +"use strict"; + +const chalk = require("./chalk.cjs"); +const highlight = { shouldHighlight: () => false, getChalk: () => chalk }; + +module.exports = highlight; diff --git a/scripts/build/shims/chalk.cjs b/scripts/build/shims/chalk.cjs new file mode 100644 index 000000000..8ce0658d3 --- /dev/null +++ b/scripts/build/shims/chalk.cjs @@ -0,0 +1,11 @@ +"use strict"; + +const chalk = (x) => x; +chalk.grey = chalk; +chalk.red = chalk; +chalk.bold = chalk; +chalk.yellow = chalk; +chalk.blue = chalk; +chalk.default = chalk; + +module.exports = chalk; From 72ac2bbe5f2c821b6820b427dfe577a20415a143 Mon Sep 17 00:00:00 2001 From: Lucas Duailibe Date: Sat, 29 Jan 2022 19:25:53 -0300 Subject: [PATCH 064/117] Fix comment in abstract methods (#12185) --- changelog_unreleased/javascript/12185.md | 26 +++++++++++++ src/language-js/comments.js | 1 + .../comments/__snapshots__/jsfmt.spec.js.snap | 38 +++++++++++++++++++ .../typescript/comments/abstract_methods.ts | 11 ++++++ tests/format/typescript/comments/methods.ts | 2 + 5 files changed, 78 insertions(+) create mode 100644 changelog_unreleased/javascript/12185.md create mode 100644 tests/format/typescript/comments/abstract_methods.ts diff --git a/changelog_unreleased/javascript/12185.md b/changelog_unreleased/javascript/12185.md new file mode 100644 index 000000000..94fcaf7ea --- /dev/null +++ b/changelog_unreleased/javascript/12185.md @@ -0,0 +1,26 @@ +#### Fix misplaced argument comment in abstract methods (#12185 by @duailibe) + + +```ts +// Input +abstract class Foo { + abstract bar( + /** comment explaining userId param */ + userId + ) +} + +// Prettier stable +abstract class Foo { + abstract bar(userId); + /** comment explaining userId param */ +} + +// Prettier main +abstract class Foo { + abstract bar( + /** comment explaining userId param */ + userId + ); +} +``` diff --git a/src/language-js/comments.js b/src/language-js/comments.js index f392f1bbf..d58c99d76 100644 --- a/src/language-js/comments.js +++ b/src/language-js/comments.js @@ -459,6 +459,7 @@ function handleMethodNameComments({ if ( enclosingNode && precedingNode && + getNextNonSpaceNonCommentCharacter(text, comment, locEnd) === "(" && // "MethodDefinition" is handled in getCommentChildNodes (enclosingNode.type === "Property" || enclosingNode.type === "TSDeclareMethod" || diff --git a/tests/format/typescript/comments/__snapshots__/jsfmt.spec.js.snap b/tests/format/typescript/comments/__snapshots__/jsfmt.spec.js.snap index b20ab8598..9d0dde209 100644 --- a/tests/format/typescript/comments/__snapshots__/jsfmt.spec.js.snap +++ b/tests/format/typescript/comments/__snapshots__/jsfmt.spec.js.snap @@ -28,6 +28,40 @@ abstract class AbstractRule { ================================================================================ `; +exports[`abstract_methods.ts format 1`] = ` +====================================options===================================== +parsers: ["typescript"] +printWidth: 80 + | printWidth +=====================================input====================================== +abstract class AbstractFoo { + abstract method1(/* comment */ arg: string); + abstract method2( + /* comment */ + arg: string + ); + abstract method3( + // comment + arg: string + ); +} + +=====================================output===================================== +abstract class AbstractFoo { + abstract method1(/* comment */ arg: string); + abstract method2( + /* comment */ + arg: string + ); + abstract method3( + // comment + arg: string + ); +} + +================================================================================ +`; + exports[`after_jsx_generic.ts format 1`] = ` ====================================options===================================== parsers: ["typescript"] @@ -602,6 +636,8 @@ export class Point { mismatchedIndentation() {} inline /* foo*/ (/* bar */) /* baz */ {} + + noBody(/* comment */ arg); } =====================================output===================================== @@ -651,6 +687,8 @@ export class Point { mismatchedIndentation() {} inline /* foo*/(/* bar */) /* baz */ {} + + noBody(/* comment */ arg); } ================================================================================ diff --git a/tests/format/typescript/comments/abstract_methods.ts b/tests/format/typescript/comments/abstract_methods.ts new file mode 100644 index 000000000..9ed4bd383 --- /dev/null +++ b/tests/format/typescript/comments/abstract_methods.ts @@ -0,0 +1,11 @@ +abstract class AbstractFoo { + abstract method1(/* comment */ arg: string); + abstract method2( + /* comment */ + arg: string + ); + abstract method3( + // comment + arg: string + ); +} diff --git a/tests/format/typescript/comments/methods.ts b/tests/format/typescript/comments/methods.ts index b48947c79..a4cbca618 100644 --- a/tests/format/typescript/comments/methods.ts +++ b/tests/format/typescript/comments/methods.ts @@ -44,4 +44,6 @@ export class Point { mismatchedIndentation() {} inline /* foo*/ (/* bar */) /* baz */ {} + + noBody(/* comment */ arg); } From b7a6bd3191ecf36c848dcf73cd1af325d8a3ece8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 30 Jan 2022 06:41:29 +0000 Subject: [PATCH 065/117] Build(deps): Bump flow-parser from 0.169.0 to 0.170.0 (#12199) --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index ec8ab0bb2..91ee82994 100644 --- a/package.json +++ b/package.json @@ -46,7 +46,7 @@ "fast-glob": "3.2.11", "fast-json-stable-stringify": "2.1.0", "find-parent-dir": "0.3.1", - "flow-parser": "0.169.0", + "flow-parser": "0.170.0", "get-stdin": "8.0.0", "globby": "11.0.4", "graphql": "15.6.1", diff --git a/yarn.lock b/yarn.lock index 78658f0de..59005dcc7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3409,10 +3409,10 @@ flatten@^1.0.2: resolved "https://registry.yarnpkg.com/flatten/-/flatten-1.0.3.tgz#c1283ac9f27b368abc1e36d1ff7b04501a30356b" integrity sha512-dVsPA/UwQ8+2uoFe5GHtiBMu48dWLTdsuEd7CKGlZlD78r1TTWBvDuFaFGKCo/ZfEr95Uk56vZoX86OsHkUeIg== -flow-parser@0.169.0: - version "0.169.0" - resolved "https://registry.yarnpkg.com/flow-parser/-/flow-parser-0.169.0.tgz#4f77d61dd4241f8063f734ef1f71c684ec03ab52" - integrity sha512-X1DFb6wxXpZLLqM9NX0Wm+4xoN6xAyJn8OwuiHsV0JJvLfD18Z+wbgJ1lM7ykTVINdu8v7Mu0gIzWMvnhKWBkA== +flow-parser@0.170.0: + version "0.170.0" + resolved "https://registry.yarnpkg.com/flow-parser/-/flow-parser-0.170.0.tgz#52cac19fd884c41894f39368bdf384183a597b3b" + integrity sha512-H1Fu8EM/F6MtOpHYpsFXPyySatowrXMWENxRmmKAfirfBr8kjHrms3YDuv82Nhn0xWaXV7Hhynp2tEaZsLhHLw== form-data@^3.0.0: version "3.0.1" From 2bfb07315427f35a87825ee17153476a9d315a0d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 30 Jan 2022 06:41:49 +0000 Subject: [PATCH 066/117] Build(deps-dev): Bump @typescript-eslint/eslint-plugin (#12198) --- package.json | 2 +- yarn.lock | 76 +++++++++++++++++++++++++++++++++++----------------- 2 files changed, 52 insertions(+), 26 deletions(-) diff --git a/package.json b/package.json index 91ee82994..46b51fe11 100644 --- a/package.json +++ b/package.json @@ -97,7 +97,7 @@ "@glimmer/reference": "0.83.1", "@types/estree": "0.0.50", "@types/jest": "27.4.0", - "@typescript-eslint/eslint-plugin": "5.10.0", + "@typescript-eslint/eslint-plugin": "5.10.1", "babel-jest": "27.4.6", "babel-loader": "8.2.3", "benchmark": "2.1.4", diff --git a/yarn.lock b/yarn.lock index 59005dcc7..678c517fe 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1694,14 +1694,14 @@ dependencies: "@types/yargs-parser" "*" -"@typescript-eslint/eslint-plugin@5.10.0": - version "5.10.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.10.0.tgz#e90afea96dff8620892ad216b0e4ccdf8ee32d3a" - integrity sha512-XXVKnMsq2fuu9K2KsIxPUGqb6xAImz8MEChClbXmE3VbveFtBUU5bzM6IPVWqzyADIgdkS2Ws/6Xo7W2TeZWjQ== +"@typescript-eslint/eslint-plugin@5.10.1": + version "5.10.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.10.1.tgz#870195d0f2146b36d11fc71131b75aba52354c69" + integrity sha512-xN3CYqFlyE/qOcy978/L0xLR2HlcAGIyIK5sMOasxaaAPfQRj/MmMV6OC3I7NZO84oEUdWCOju34Z9W8E0pFDQ== dependencies: - "@typescript-eslint/scope-manager" "5.10.0" - "@typescript-eslint/type-utils" "5.10.0" - "@typescript-eslint/utils" "5.10.0" + "@typescript-eslint/scope-manager" "5.10.1" + "@typescript-eslint/type-utils" "5.10.1" + "@typescript-eslint/utils" "5.10.1" debug "^4.3.2" functional-red-black-tree "^1.0.1" ignore "^5.1.8" @@ -1721,13 +1721,13 @@ eslint-scope "^5.1.1" eslint-utils "^3.0.0" -"@typescript-eslint/scope-manager@5.10.0": - version "5.10.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.10.0.tgz#bb5d872e8b9e36203908595507fbc4d3105329cb" - integrity sha512-tgNgUgb4MhqK6DoKn3RBhyZ9aJga7EQrw+2/OiDk5hKf3pTVZWyqBi7ukP+Z0iEEDMF5FDa64LqODzlfE4O/Dg== +"@typescript-eslint/scope-manager@5.10.1": + version "5.10.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.10.1.tgz#f0539c73804d2423506db2475352a4dec36cd809" + integrity sha512-Lyvi559Gvpn94k7+ElXNMEnXu/iundV5uFmCUNnftbFrUbAJ1WBoaGgkbOBm07jVZa682oaBU37ao/NGGX4ZDg== dependencies: - "@typescript-eslint/types" "5.10.0" - "@typescript-eslint/visitor-keys" "5.10.0" + "@typescript-eslint/types" "5.10.1" + "@typescript-eslint/visitor-keys" "5.10.1" "@typescript-eslint/scope-manager@5.9.1": version "5.9.1" @@ -1737,12 +1737,12 @@ "@typescript-eslint/types" "5.9.1" "@typescript-eslint/visitor-keys" "5.9.1" -"@typescript-eslint/type-utils@5.10.0": - version "5.10.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.10.0.tgz#8524b9479c19c478347a7df216827e749e4a51e5" - integrity sha512-TzlyTmufJO5V886N+hTJBGIfnjQDQ32rJYxPaeiyWKdjsv2Ld5l8cbS7pxim4DeNs62fKzRSt8Q14Evs4JnZyQ== +"@typescript-eslint/type-utils@5.10.1": + version "5.10.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.10.1.tgz#5e526c00142585e40ab1503e83f1ff608c367405" + integrity sha512-AfVJkV8uck/UIoDqhu+ptEdBoQATON9GXnhOpPLzkQRJcSChkvD//qsz9JVffl2goxX+ybs5klvacE9vmrQyCw== dependencies: - "@typescript-eslint/utils" "5.10.0" + "@typescript-eslint/utils" "5.10.1" debug "^4.3.2" tsutils "^3.21.0" @@ -1751,6 +1751,11 @@ resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.10.0.tgz#beb3cb345076f5b088afe996d57bcd1dfddaa75c" integrity sha512-wUljCgkqHsMZbw60IbOqT/puLfyqqD5PquGiBo1u1IS3PLxdi3RDGlyf032IJyh+eQoGhz9kzhtZa+VC4eWTlQ== +"@typescript-eslint/types@5.10.1": + version "5.10.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.10.1.tgz#dca9bd4cb8c067fc85304a31f38ec4766ba2d1ea" + integrity sha512-ZvxQ2QMy49bIIBpTqFiOenucqUyjTQ0WNLhBM6X1fh1NNlYAC6Kxsx8bRTY3jdYsYg44a0Z/uEgQkohbR0H87Q== + "@typescript-eslint/types@5.9.1": version "5.9.1" resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.9.1.tgz#1bef8f238a2fb32ebc6ff6d75020d9f47a1593c6" @@ -1769,6 +1774,19 @@ semver "^7.3.5" tsutils "^3.21.0" +"@typescript-eslint/typescript-estree@5.10.1": + version "5.10.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.10.1.tgz#b268e67be0553f8790ba3fe87113282977adda15" + integrity sha512-PwIGnH7jIueXv4opcwEbVGDATjGPO1dx9RkUl5LlHDSe+FXxPwFL5W/qYd5/NHr7f6lo/vvTrAzd0KlQtRusJQ== + dependencies: + "@typescript-eslint/types" "5.10.1" + "@typescript-eslint/visitor-keys" "5.10.1" + debug "^4.3.2" + globby "^11.0.4" + is-glob "^4.0.3" + semver "^7.3.5" + tsutils "^3.21.0" + "@typescript-eslint/typescript-estree@5.9.1": version "5.9.1" resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.9.1.tgz#d5b996f49476495070d2b8dd354861cf33c005d6" @@ -1782,15 +1800,15 @@ semver "^7.3.5" tsutils "^3.21.0" -"@typescript-eslint/utils@5.10.0": - version "5.10.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.10.0.tgz#c3d152a85da77c400e37281355561c72fb1b5a65" - integrity sha512-IGYwlt1CVcFoE2ueW4/ioEwybR60RAdGeiJX/iDAw0t5w0wK3S7QncDwpmsM70nKgGTuVchEWB8lwZwHqPAWRg== +"@typescript-eslint/utils@5.10.1": + version "5.10.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.10.1.tgz#fa682a33af47080ba2c4368ee0ad2128213a1196" + integrity sha512-RRmlITiUbLuTRtn/gcPRi4202niF+q7ylFLCKu4c+O/PcpRvZ/nAUwQ2G00bZgpWkhrNLNnvhZLbDn8Ml0qsQw== dependencies: "@types/json-schema" "^7.0.9" - "@typescript-eslint/scope-manager" "5.10.0" - "@typescript-eslint/types" "5.10.0" - "@typescript-eslint/typescript-estree" "5.10.0" + "@typescript-eslint/scope-manager" "5.10.1" + "@typescript-eslint/types" "5.10.1" + "@typescript-eslint/typescript-estree" "5.10.1" eslint-scope "^5.1.1" eslint-utils "^3.0.0" @@ -1802,6 +1820,14 @@ "@typescript-eslint/types" "5.10.0" eslint-visitor-keys "^3.0.0" +"@typescript-eslint/visitor-keys@5.10.1": + version "5.10.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.10.1.tgz#29102de692f59d7d34ecc457ed59ab5fc558010b" + integrity sha512-NjQ0Xinhy9IL979tpoTRuLKxMc0zJC7QVSdeerXs2/QvOy2yRkzX5dRb10X5woNUdJgU8G3nYRDlI33sq1K4YQ== + dependencies: + "@typescript-eslint/types" "5.10.1" + eslint-visitor-keys "^3.0.0" + "@typescript-eslint/visitor-keys@5.9.1": version "5.9.1" resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.9.1.tgz#f52206f38128dd4f675cf28070a41596eee985b7" From 003cecc4f843c0782ac7e67adaa45c309a1a0962 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 30 Jan 2022 06:42:52 +0000 Subject: [PATCH 067/117] Build(deps-dev): Bump webpack-cli from 4.9.1 to 4.9.2 in /website (#12193) --- website/package.json | 2 +- website/yarn.lock | 38 +++++++++++++++++++------------------- 2 files changed, 20 insertions(+), 20 deletions(-) diff --git a/website/package.json b/website/package.json index d06c334dc..ec399c254 100644 --- a/website/package.json +++ b/website/package.json @@ -21,6 +21,6 @@ "docusaurus": "1.14.7", "js-yaml": "4.1.0", "webpack": "5.67.0", - "webpack-cli": "4.9.1" + "webpack-cli": "4.9.2" } } diff --git a/website/yarn.lock b/website/yarn.lock index aa5ba530e..ae4acc833 100644 --- a/website/yarn.lock +++ b/website/yarn.lock @@ -1454,22 +1454,22 @@ "@webassemblyjs/ast" "1.11.1" "@xtuc/long" "4.2.2" -"@webpack-cli/configtest@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@webpack-cli/configtest/-/configtest-1.1.0.tgz#8342bef0badfb7dfd3b576f2574ab80c725be043" - integrity sha512-ttOkEkoalEHa7RaFYpM0ErK1xc4twg3Am9hfHhL7MVqlHebnkYd2wuI/ZqTDj0cVzZho6PdinY0phFZV3O0Mzg== +"@webpack-cli/configtest@^1.1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@webpack-cli/configtest/-/configtest-1.1.1.tgz#9f53b1b7946a6efc2a749095a4f450e2932e8356" + integrity sha512-1FBc1f9G4P/AxMqIgfZgeOTuRnwZMten8E7zap5zgpPInnCrP8D4Q81+4CWIch8i/Nf7nXjP0v6CjjbHOrXhKg== -"@webpack-cli/info@^1.4.0": - version "1.4.0" - resolved "https://registry.yarnpkg.com/@webpack-cli/info/-/info-1.4.0.tgz#b9179c3227ab09cbbb149aa733475fcf99430223" - integrity sha512-F6b+Man0rwE4n0409FyAJHStYA5OIZERxmnUfLVwv0mc0V1wLad3V7jqRlMkgKBeAq07jUvglacNaa6g9lOpuw== +"@webpack-cli/info@^1.4.1": + version "1.4.1" + resolved "https://registry.yarnpkg.com/@webpack-cli/info/-/info-1.4.1.tgz#2360ea1710cbbb97ff156a3f0f24556e0fc1ebea" + integrity sha512-PKVGmazEq3oAo46Q63tpMr4HipI3OPfP7LiNOEJg963RMgT0rqheag28NCML0o3GIzA3DmxP1ZIAv9oTX1CUIA== dependencies: envinfo "^7.7.3" -"@webpack-cli/serve@^1.6.0": - version "1.6.0" - resolved "https://registry.yarnpkg.com/@webpack-cli/serve/-/serve-1.6.0.tgz#2c275aa05c895eccebbfc34cfb223c6e8bd591a2" - integrity sha512-ZkVeqEmRpBV2GHvjjUZqEai2PpUbuq8Bqd//vEYsp63J8WyexI8ppCqVS3Zs0QADf6aWuPdU+0XsPI647PVlQA== +"@webpack-cli/serve@^1.6.1": + version "1.6.1" + resolved "https://registry.yarnpkg.com/@webpack-cli/serve/-/serve-1.6.1.tgz#0de2875ac31b46b6c5bb1ae0a7d7f0ba5678dffe" + integrity sha512-gNGTiTrjEVQ0OcVnzsRSqTxaBSr+dmTfm+qJsCDluky8uhdLWep7Gcr62QsAKHTMxjCS/8nEITsmFAhfIx+QSw== "@xtuc/ieee754@^1.2.0": version "1.2.0" @@ -8226,15 +8226,15 @@ webidl-conversions@^4.0.2: resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" integrity sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg== -webpack-cli@4.9.1: - version "4.9.1" - resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-4.9.1.tgz#b64be825e2d1b130f285c314caa3b1ba9a4632b3" - integrity sha512-JYRFVuyFpzDxMDB+v/nanUdQYcZtqFPGzmlW4s+UkPMFhSpfRNmf1z4AwYcHJVdvEFAM7FFCQdNTpsBYhDLusQ== +webpack-cli@4.9.2: + version "4.9.2" + resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-4.9.2.tgz#77c1adaea020c3f9e2db8aad8ea78d235c83659d" + integrity sha512-m3/AACnBBzK/kMTcxWHcZFPrw/eQuY4Df1TxvIWfWM2x7mRqBQCqKEd96oCUa9jkapLBaFfRce33eGDb4Pr7YQ== dependencies: "@discoveryjs/json-ext" "^0.5.0" - "@webpack-cli/configtest" "^1.1.0" - "@webpack-cli/info" "^1.4.0" - "@webpack-cli/serve" "^1.6.0" + "@webpack-cli/configtest" "^1.1.1" + "@webpack-cli/info" "^1.4.1" + "@webpack-cli/serve" "^1.6.1" colorette "^2.0.14" commander "^7.0.0" execa "^5.0.0" From b78c9465ac94414decd4cbfa03e74e4de69446a1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 30 Jan 2022 07:59:04 +0000 Subject: [PATCH 068/117] Build(deps-dev): Bump eslint-plugin-jest from 25.7.0 to 26.0.0 (#12197) --- package.json | 2 +- yarn.lock | 58 ++++++---------------------------------------------- 2 files changed, 7 insertions(+), 53 deletions(-) diff --git a/package.json b/package.json index 46b51fe11..798983ef1 100644 --- a/package.json +++ b/package.json @@ -115,7 +115,7 @@ "eslint-formatter-friendly": "7.0.0", "eslint-plugin-compat": "4.0.1", "eslint-plugin-import": "2.25.4", - "eslint-plugin-jest": "25.7.0", + "eslint-plugin-jest": "26.0.0", "eslint-plugin-prettier-internal-rules": "2.0.1", "eslint-plugin-react": "7.28.0", "eslint-plugin-regexp": "1.5.1", diff --git a/yarn.lock b/yarn.lock index 678c517fe..d016fb354 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1709,18 +1709,6 @@ semver "^7.3.5" tsutils "^3.21.0" -"@typescript-eslint/experimental-utils@^5.0.0": - version "5.9.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-5.9.1.tgz#8c407c4dd5ffe522329df6e4c9c2b52206d5f7f1" - integrity sha512-cb1Njyss0mLL9kLXgS/eEY53SZQ9sT519wpX3i+U457l2UXRDuo87hgKfgRazmu9/tQb0x2sr3Y0yrU+Zz0y+w== - dependencies: - "@types/json-schema" "^7.0.9" - "@typescript-eslint/scope-manager" "5.9.1" - "@typescript-eslint/types" "5.9.1" - "@typescript-eslint/typescript-estree" "5.9.1" - eslint-scope "^5.1.1" - eslint-utils "^3.0.0" - "@typescript-eslint/scope-manager@5.10.1": version "5.10.1" resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.10.1.tgz#f0539c73804d2423506db2475352a4dec36cd809" @@ -1729,14 +1717,6 @@ "@typescript-eslint/types" "5.10.1" "@typescript-eslint/visitor-keys" "5.10.1" -"@typescript-eslint/scope-manager@5.9.1": - version "5.9.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.9.1.tgz#6c27be89f1a9409f284d95dfa08ee3400166fe69" - integrity sha512-8BwvWkho3B/UOtzRyW07ffJXPaLSUKFBjpq8aqsRvu6HdEuzCY57+ffT7QoV4QXJXWSU1+7g3wE4AlgImmQ9pQ== - dependencies: - "@typescript-eslint/types" "5.9.1" - "@typescript-eslint/visitor-keys" "5.9.1" - "@typescript-eslint/type-utils@5.10.1": version "5.10.1" resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.10.1.tgz#5e526c00142585e40ab1503e83f1ff608c367405" @@ -1756,11 +1736,6 @@ resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.10.1.tgz#dca9bd4cb8c067fc85304a31f38ec4766ba2d1ea" integrity sha512-ZvxQ2QMy49bIIBpTqFiOenucqUyjTQ0WNLhBM6X1fh1NNlYAC6Kxsx8bRTY3jdYsYg44a0Z/uEgQkohbR0H87Q== -"@typescript-eslint/types@5.9.1": - version "5.9.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.9.1.tgz#1bef8f238a2fb32ebc6ff6d75020d9f47a1593c6" - integrity sha512-SsWegWudWpkZCwwYcKoDwuAjoZXnM1y2EbEerTHho19Hmm+bQ56QG4L4jrtCu0bI5STaRTvRTZmjprWlTw/5NQ== - "@typescript-eslint/typescript-estree@5.10.0": version "5.10.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.10.0.tgz#4be24a3dea0f930bb1397c46187d0efdd955a224" @@ -1787,20 +1762,7 @@ semver "^7.3.5" tsutils "^3.21.0" -"@typescript-eslint/typescript-estree@5.9.1": - version "5.9.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.9.1.tgz#d5b996f49476495070d2b8dd354861cf33c005d6" - integrity sha512-gL1sP6A/KG0HwrahVXI9fZyeVTxEYV//6PmcOn1tD0rw8VhUWYeZeuWHwwhnewnvEMcHjhnJLOBhA9rK4vmb8A== - dependencies: - "@typescript-eslint/types" "5.9.1" - "@typescript-eslint/visitor-keys" "5.9.1" - debug "^4.3.2" - globby "^11.0.4" - is-glob "^4.0.3" - semver "^7.3.5" - tsutils "^3.21.0" - -"@typescript-eslint/utils@5.10.1": +"@typescript-eslint/utils@5.10.1", "@typescript-eslint/utils@^5.10.0": version "5.10.1" resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.10.1.tgz#fa682a33af47080ba2c4368ee0ad2128213a1196" integrity sha512-RRmlITiUbLuTRtn/gcPRi4202niF+q7ylFLCKu4c+O/PcpRvZ/nAUwQ2G00bZgpWkhrNLNnvhZLbDn8Ml0qsQw== @@ -1828,14 +1790,6 @@ "@typescript-eslint/types" "5.10.1" eslint-visitor-keys "^3.0.0" -"@typescript-eslint/visitor-keys@5.9.1": - version "5.9.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.9.1.tgz#f52206f38128dd4f675cf28070a41596eee985b7" - integrity sha512-Xh37pNz9e9ryW4TVdwiFzmr4hloty8cFj8GTWMXh3Z8swGwyQWeCcNgF0hm6t09iZd6eiZmIf4zHedQVP6TVtg== - dependencies: - "@typescript-eslint/types" "5.9.1" - eslint-visitor-keys "^3.0.0" - abab@^2.0.3, abab@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.5.tgz#c0b678fb32d60fc1219c784d6a826fe385aeb79a" @@ -3078,12 +3032,12 @@ eslint-plugin-import@2.25.4: resolve "^1.20.0" tsconfig-paths "^3.12.0" -eslint-plugin-jest@25.7.0: - version "25.7.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-25.7.0.tgz#ff4ac97520b53a96187bad9c9814e7d00de09a6a" - integrity sha512-PWLUEXeeF7C9QGKqvdSbzLOiLTx+bno7/HC9eefePfEb257QFHg7ye3dh80AZVkaa/RQsBB1Q/ORQvg2X7F0NQ== +eslint-plugin-jest@26.0.0: + version "26.0.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-26.0.0.tgz#f83a25a23ab90ce5b375b1d44389b8c391be5ce8" + integrity sha512-Fvs0YgJ/nw9FTrnqTuMGVrkozkd07jkQzWm0ajqyHlfcsdkxGfAuv30fgfWHOnHiCr9+1YQ365CcDX7vrNhqQg== dependencies: - "@typescript-eslint/experimental-utils" "^5.0.0" + "@typescript-eslint/utils" "^5.10.0" eslint-plugin-prettier-internal-rules@2.0.1: version "2.0.1" From 1c789d659b34aca5b850f63a97e0be3360534db5 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 30 Jan 2022 08:35:11 +0000 Subject: [PATCH 069/117] Build(deps): Bump @typescript-eslint/typescript-estree (#12201) --- package.json | 2 +- yarn.lock | 26 -------------------------- 2 files changed, 1 insertion(+), 27 deletions(-) diff --git a/package.json b/package.json index 798983ef1..8c5d56bdd 100644 --- a/package.json +++ b/package.json @@ -26,7 +26,7 @@ "@babel/parser": "7.16.12", "@glimmer/syntax": "0.83.1", "@iarna/toml": "2.2.5", - "@typescript-eslint/typescript-estree": "5.10.0", + "@typescript-eslint/typescript-estree": "5.10.1", "acorn": "8.7.0", "acorn-jsx": "5.3.2", "angular-estree-parser": "2.5.0", diff --git a/yarn.lock b/yarn.lock index d016fb354..c6ce25f90 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1726,29 +1726,11 @@ debug "^4.3.2" tsutils "^3.21.0" -"@typescript-eslint/types@5.10.0": - version "5.10.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.10.0.tgz#beb3cb345076f5b088afe996d57bcd1dfddaa75c" - integrity sha512-wUljCgkqHsMZbw60IbOqT/puLfyqqD5PquGiBo1u1IS3PLxdi3RDGlyf032IJyh+eQoGhz9kzhtZa+VC4eWTlQ== - "@typescript-eslint/types@5.10.1": version "5.10.1" resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.10.1.tgz#dca9bd4cb8c067fc85304a31f38ec4766ba2d1ea" integrity sha512-ZvxQ2QMy49bIIBpTqFiOenucqUyjTQ0WNLhBM6X1fh1NNlYAC6Kxsx8bRTY3jdYsYg44a0Z/uEgQkohbR0H87Q== -"@typescript-eslint/typescript-estree@5.10.0": - version "5.10.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.10.0.tgz#4be24a3dea0f930bb1397c46187d0efdd955a224" - integrity sha512-x+7e5IqfwLwsxTdliHRtlIYkgdtYXzE0CkFeV6ytAqq431ZyxCFzNMNR5sr3WOlIG/ihVZr9K/y71VHTF/DUQA== - dependencies: - "@typescript-eslint/types" "5.10.0" - "@typescript-eslint/visitor-keys" "5.10.0" - debug "^4.3.2" - globby "^11.0.4" - is-glob "^4.0.3" - semver "^7.3.5" - tsutils "^3.21.0" - "@typescript-eslint/typescript-estree@5.10.1": version "5.10.1" resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.10.1.tgz#b268e67be0553f8790ba3fe87113282977adda15" @@ -1774,14 +1756,6 @@ eslint-scope "^5.1.1" eslint-utils "^3.0.0" -"@typescript-eslint/visitor-keys@5.10.0": - version "5.10.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.10.0.tgz#770215497ad67cd15a572b52089991d5dfe06281" - integrity sha512-GMxj0K1uyrFLPKASLmZzCuSddmjZVbVj3Ouy5QVuIGKZopxvOr24JsS7gruz6C3GExE01mublZ3mIBOaon9zuQ== - dependencies: - "@typescript-eslint/types" "5.10.0" - eslint-visitor-keys "^3.0.0" - "@typescript-eslint/visitor-keys@5.10.1": version "5.10.1" resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.10.1.tgz#29102de692f59d7d34ecc457ed59ab5fc558010b" From 5010ec04c4a31d77da557f9ceb650c65cff5d2de Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 30 Jan 2022 09:08:20 +0000 Subject: [PATCH 070/117] Build(deps-dev): Bump eslint from 8.7.0 to 8.8.0 (#12192) --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 8c5d56bdd..04d4f31a4 100644 --- a/package.json +++ b/package.json @@ -110,7 +110,7 @@ "esbuild": "0.14.13", "esbuild-plugin-text-replace": "1.1.3", "esbuild-visualizer": "0.3.1", - "eslint": "8.7.0", + "eslint": "8.8.0", "eslint-config-prettier": "8.3.0", "eslint-formatter-friendly": "7.0.0", "eslint-plugin-compat": "4.0.1", diff --git a/yarn.lock b/yarn.lock index c6ce25f90..69963ca5c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3105,10 +3105,10 @@ eslint-visitor-keys@^3.0.0, eslint-visitor-keys@^3.1.0, eslint-visitor-keys@^3.2 resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.2.0.tgz#6fbb166a6798ee5991358bc2daa1ba76cc1254a1" integrity sha512-IOzT0X126zn7ALX0dwFiUQEdsfzrm4+ISsQS8nukaJXwEyYKRSnEIIDULYg1mCtGp7UUXgfGl7BIolXREQK+XQ== -eslint@8.7.0: - version "8.7.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.7.0.tgz#22e036842ee5b7cf87b03fe237731675b4d3633c" - integrity sha512-ifHYzkBGrzS2iDU7KjhCAVMGCvF6M3Xfs8X8b37cgrUlDt6bWRTpRh6T/gtSXv1HJ/BUGgmjvNvOEGu85Iif7w== +eslint@8.8.0: + version "8.8.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.8.0.tgz#9762b49abad0cb4952539ffdb0a046392e571a2d" + integrity sha512-H3KXAzQGBH1plhYS3okDix2ZthuYJlQQEGE5k0IKuEqUSiyu4AmxxlJ2MtTYeJ3xB4jDhcYCwGOg2TXYdnDXlQ== dependencies: "@eslint/eslintrc" "^1.0.5" "@humanwhocodes/config-array" "^0.9.2" From e5959668b40dac3f2e2bbcf93c0701c79e967cd9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 30 Jan 2022 11:54:47 +0000 Subject: [PATCH 071/117] Build(deps-dev): Bump esbuild-plugin-text-replace from 1.1.3 to 1.2.0 (#12194) --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 04d4f31a4..99da67c39 100644 --- a/package.json +++ b/package.json @@ -108,7 +108,7 @@ "cspell": "5.16.0", "enquirer": "2.3.6", "esbuild": "0.14.13", - "esbuild-plugin-text-replace": "1.1.3", + "esbuild-plugin-text-replace": "1.2.0", "esbuild-visualizer": "0.3.1", "eslint": "8.8.0", "eslint-config-prettier": "8.3.0", diff --git a/yarn.lock b/yarn.lock index 69963ca5c..3311f80f7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2849,10 +2849,10 @@ esbuild-openbsd-64@0.14.13: resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.13.tgz#5394336b602e1db15583bbef7d827a2b9648e373" integrity sha512-bp6zSo3kDCXKPM5MmVUg6DEpt+yXDx37iDGzNTn3Kf9xh6d0cdITxUC4Bx6S3Di79GVYubWs+wNjSRVFIJpryw== -esbuild-plugin-text-replace@1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/esbuild-plugin-text-replace/-/esbuild-plugin-text-replace-1.1.3.tgz#3bd357b90e921fe56f4b13916302f77f9bc4f651" - integrity sha512-UY7nVdyxOXomNL0y+qLMcTV2nlbFP7gse1+RIdL1EvevahkSNcGWAAF6XmSE0k7MLbpS/hsLr1PE6n4PI+h5GA== +esbuild-plugin-text-replace@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/esbuild-plugin-text-replace/-/esbuild-plugin-text-replace-1.2.0.tgz#43d87d88c5c1314151d8046d490aa21605fe1feb" + integrity sha512-04kdAMjxqGG+TEV/F+uGQVMFZlh65Eb11xo8b532io8FjOg5x2faoCXGicJo97BovXYARCPUhiZEECKZrFQq7Q== dependencies: ts-replace-all "^1.0.0" From 93a761d895900a414d40fb08512e9e4d37c7259e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 30 Jan 2022 13:15:00 +0000 Subject: [PATCH 072/117] Build(deps): Bump @angular/compiler from 12.2.15 to 12.2.16 (#12196) --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 99da67c39..a731bc0a1 100644 --- a/package.json +++ b/package.json @@ -21,7 +21,7 @@ "bin" ], "dependencies": { - "@angular/compiler": "12.2.15", + "@angular/compiler": "12.2.16", "@babel/code-frame": "7.16.7", "@babel/parser": "7.16.12", "@glimmer/syntax": "0.83.1", diff --git a/yarn.lock b/yarn.lock index 3311f80f7..c92bcb1eb 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,10 +2,10 @@ # yarn lockfile v1 -"@angular/compiler@12.2.15": - version "12.2.15" - resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-12.2.15.tgz#9ad9d66bc777cb9420e42bbffb6d0fb78fa3635d" - integrity sha512-w1n9J0C1KPzJyljtXY+DXcYjYSZmiWyFj31q5tFcYEA6jlCgDfZME2S3ilNGdmZAzfdPK4SVMi2ni2hFg7iQkw== +"@angular/compiler@12.2.16": + version "12.2.16" + resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-12.2.16.tgz#1aa9b3fbd3fe900118ab371d30c090fbc137a15f" + integrity sha512-nsYEw+yu8QyeqPf9nAmG419i1mtGM4v8+U+S3eQHQFXTgJzLymMykWHYu2ETdjUpNSLK6xcIQDBWtWnWSfJjAA== dependencies: tslib "^2.2.0" From 3767f9d029011f22424963865d5f670323180eba Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 30 Jan 2022 13:23:40 +0000 Subject: [PATCH 073/117] Build(deps-dev): Bump cspell from 5.16.0 to 5.17.0 (#12200) --- package.json | 2 +- yarn.lock | 92 ++++++++++++++++++++++++++-------------------------- 2 files changed, 47 insertions(+), 47 deletions(-) diff --git a/package.json b/package.json index a731bc0a1..e8cc53b09 100644 --- a/package.json +++ b/package.json @@ -105,7 +105,7 @@ "builtin-modules": "3.2.0", "core-js": "3.20.3", "cross-env": "7.0.3", - "cspell": "5.16.0", + "cspell": "5.17.0", "enquirer": "2.3.6", "esbuild": "0.14.13", "esbuild-plugin-text-replace": "1.2.0", diff --git a/yarn.lock b/yarn.lock index c92bcb1eb..7e7b4d45c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -955,10 +955,10 @@ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@cspell/cspell-bundled-dicts@^5.16.0": - version "5.16.0" - resolved "https://registry.yarnpkg.com/@cspell/cspell-bundled-dicts/-/cspell-bundled-dicts-5.16.0.tgz#29bffec623ba2e5b9c06d0ed9649bd0499633259" - integrity sha512-7O8Y6FMzTn5pnHUDjnQJ3cgIAHT5jfN05NKGu9FFikmsXsMmDRikr/OeuhK5tDOWLRIxZwmFrVMMGgBe6mj26Q== +"@cspell/cspell-bundled-dicts@^5.17.0": + version "5.17.0" + resolved "https://registry.yarnpkg.com/@cspell/cspell-bundled-dicts/-/cspell-bundled-dicts-5.17.0.tgz#c1172dab61f1d002724771b7fd112db5b9f22395" + integrity sha512-KBoAehDqwCo44cPcGd6d0dLhVaUeYu0t61IykcYoybELyFQY3afsLCIKvkRPFYmAYEKjjguqhfJZbYQpYdCeKg== dependencies: "@cspell/dict-ada" "^1.1.2" "@cspell/dict-aws" "^1.0.14" @@ -967,7 +967,7 @@ "@cspell/dict-cpp" "^1.1.40" "@cspell/dict-cryptocurrencies" "^1.0.10" "@cspell/dict-csharp" "^2.0.1" - "@cspell/dict-css" "^1.0.12" + "@cspell/dict-css" "^1.0.13" "@cspell/dict-django" "^1.0.26" "@cspell/dict-dotnet" "^1.0.32" "@cspell/dict-elixir" "^1.0.26" @@ -998,10 +998,10 @@ "@cspell/dict-typescript" "^1.0.19" "@cspell/dict-vue" "^2.0.1" -"@cspell/cspell-types@^5.16.0": - version "5.16.0" - resolved "https://registry.yarnpkg.com/@cspell/cspell-types/-/cspell-types-5.16.0.tgz#9bc0484f65de93f81d27bfc9b4936ea86eecc0ab" - integrity sha512-pKBeOrUyZtp4DVNbikkpeAT/gob7gT2zun4v3jYdQEbDKYMRN7wTKlqfHJ4VxbF/yS45g7jizEc245xMUkxPHQ== +"@cspell/cspell-types@^5.17.0": + version "5.17.0" + resolved "https://registry.yarnpkg.com/@cspell/cspell-types/-/cspell-types-5.17.0.tgz#7c43db19af1c02e880d9b31df38d62f1cbc0feb4" + integrity sha512-J8oOIpXtubbQpLbjymRexljxWi0a+jxVaY7wVTejGLidvZRIaxSunjd2AZ6j/rPcAPWVZGleilcs3AU0DKYpMw== "@cspell/dict-ada@^1.1.2": version "1.1.2" @@ -1038,10 +1038,10 @@ resolved "https://registry.yarnpkg.com/@cspell/dict-csharp/-/dict-csharp-2.0.1.tgz#86ec4fa42ba9a4cc57df28ec7a335b56bf751c5b" integrity sha512-ZzAr+WRP2FUtXHZtfhe8f3j9vPjH+5i44Hcr5JqbWxmqciGoTbWBPQXwu9y+J4mbdC69HSWRrVGkNJ8rQk8pSw== -"@cspell/dict-css@^1.0.12": - version "1.0.12" - resolved "https://registry.yarnpkg.com/@cspell/dict-css/-/dict-css-1.0.12.tgz#ec01cec102c8b128aad5e29c97dfb7a982887e12" - integrity sha512-K6yuxej7n454O7dwKG6lHacHrAOMZ0PhMEbmV6qH2JH0U4TtWXfBASYugHvXZCDDx1UObpiJP+3tQJiBqfGpHA== +"@cspell/dict-css@^1.0.13": + version "1.0.13" + resolved "https://registry.yarnpkg.com/@cspell/dict-css/-/dict-css-1.0.13.tgz#805a5844dd9739b6cd026b5f1b4ce8e4213d560b" + integrity sha512-HU8RbFRoGanFH85mT01Ot/Ay48ixr/gG25VPLtdq56QTrmPsw79gxYm/5Qay16eQbpoPIxaj5CAWNam+DX4GbA== "@cspell/dict-django@^1.0.26": version "1.0.26" @@ -2459,40 +2459,40 @@ crypto-random-string@^2.0.0: resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5" integrity sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA== -cspell-gitignore@^5.16.0: - version "5.16.0" - resolved "https://registry.yarnpkg.com/cspell-gitignore/-/cspell-gitignore-5.16.0.tgz#2cd55a0802f4a05ba89eb3b04c68b191c9f3843f" - integrity sha512-G7yN0R2EqFSNpn3bQ4SGOmydaaYq5BHSiPqsX3vJSJn0wErZz3m/kpKcXrtLPw5/tAM0SfZWhAp1K3MEjrb6xQ== +cspell-gitignore@^5.17.0: + version "5.17.0" + resolved "https://registry.yarnpkg.com/cspell-gitignore/-/cspell-gitignore-5.17.0.tgz#5e6499e8bafd81b4d2972ac0a35a12412f2d71a1" + integrity sha512-nHWOSdTXfCZ0V62F/VfpFsHEkuShvz+wk4TZecLzcmcN2/nyR4wJXvqk6bowZoVCVYBnVvW26GxW5Z8HNX/imA== dependencies: - cspell-glob "^5.16.0" + cspell-glob "^5.17.0" find-up "^5.0.0" -cspell-glob@^5.16.0: - version "5.16.0" - resolved "https://registry.yarnpkg.com/cspell-glob/-/cspell-glob-5.16.0.tgz#ea210b2a5ab7a871d2982f3806f46ecdea71c87d" - integrity sha512-u1cNhmNi5VC6QZ6W+FQEAFIowLdU+/fuh6811Hb//MfTNpe2HDbVrjredQrtaETpyImjy4VG/aA7iSWGGuUAcw== +cspell-glob@^5.17.0: + version "5.17.0" + resolved "https://registry.yarnpkg.com/cspell-glob/-/cspell-glob-5.17.0.tgz#2a655828a5c705232388499a4b2dfb5f838527b5" + integrity sha512-ajzwLk+oMIjzZtYQSELl6AAY5E6wh/7jyQIlU087wUOL7ObtPSPu33S4ILC1TWa87as9hA6232rU8LPQvpZqIQ== dependencies: micromatch "^4.0.4" -cspell-io@^5.16.0: - version "5.16.0" - resolved "https://registry.yarnpkg.com/cspell-io/-/cspell-io-5.16.0.tgz#e7043f960071ef453ba794d0ccd096a42f24d261" - integrity sha512-nrRbNewf8PMEq8W7D1D0jEwxwJ1dH588EPPu9Q+iT+DItvcBL+mQmGlz8kS7KBh579ioW2vecWUekQ3HSmAgGg== +cspell-io@^5.17.0: + version "5.17.0" + resolved "https://registry.yarnpkg.com/cspell-io/-/cspell-io-5.17.0.tgz#a3a61cf7c64408edf8d1af761c2f9ecde6a675ef" + integrity sha512-eeYD6YsMZQkvu8+LXMMg+bpkVEz/1NlABepniZK+j78xfzP5o76SHmetL4cvhB4mkB4PWotOAY6vCHlDM1AoKQ== -cspell-lib@^5.16.0: - version "5.16.0" - resolved "https://registry.yarnpkg.com/cspell-lib/-/cspell-lib-5.16.0.tgz#b8a3fa78bc07f7628171f4bb5146803bb5cc3ddb" - integrity sha512-IpTPseI4SounQEqfWupOLgEXPcbucWJdbCYkxKXWfl15xfWRo2seYV0RECkJ8pSZKqsCXo6x08i7CrKjvV5N5Q== +cspell-lib@^5.17.0: + version "5.17.0" + resolved "https://registry.yarnpkg.com/cspell-lib/-/cspell-lib-5.17.0.tgz#151cd761dfe66ce3755cf4ab9ff9280bd75ed627" + integrity sha512-K9p495tKjUXC8EAW38N2x9Gd/D5QPPqiv6n5sJoydHiaSI8i3eO63mR/kDy+1AGeH8RhKWLsF3Mb15a7z2xGOg== dependencies: - "@cspell/cspell-bundled-dicts" "^5.16.0" - "@cspell/cspell-types" "^5.16.0" + "@cspell/cspell-bundled-dicts" "^5.17.0" + "@cspell/cspell-types" "^5.17.0" clear-module "^4.1.2" comment-json "^4.1.1" configstore "^5.0.1" cosmiconfig "^7.0.1" - cspell-glob "^5.16.0" - cspell-io "^5.16.0" - cspell-trie-lib "^5.16.0" + cspell-glob "^5.17.0" + cspell-io "^5.17.0" + cspell-trie-lib "^5.17.0" find-up "^5.0.0" fs-extra "^10.0.0" gensequence "^3.1.1" @@ -2501,25 +2501,25 @@ cspell-lib@^5.16.0: resolve-global "^1.0.0" vscode-uri "^3.0.3" -cspell-trie-lib@^5.16.0: - version "5.16.0" - resolved "https://registry.yarnpkg.com/cspell-trie-lib/-/cspell-trie-lib-5.16.0.tgz#191d367179307cf34aed8ffa923371e5287586c1" - integrity sha512-Dpxr0SManHi4D3sAJI1SA14lwTGdmubv88yrRuFd7TU5ihG39BIMxfoAoSRWkqXUEub5QLhAKhftOBUJIm4cIw== +cspell-trie-lib@^5.17.0: + version "5.17.0" + resolved "https://registry.yarnpkg.com/cspell-trie-lib/-/cspell-trie-lib-5.17.0.tgz#85dc5388f003bc453871706ce93d4d03078a4a30" + integrity sha512-CExWZKxZ28M4BYmQsxZTkUKHF7aC/YKJcmDA2t77b3FvpH+iycQnygiNki5b1bmfMkOuD7b1TYd1PBjpJ7aoug== dependencies: fs-extra "^10.0.0" gensequence "^3.1.1" -cspell@5.16.0: - version "5.16.0" - resolved "https://registry.yarnpkg.com/cspell/-/cspell-5.16.0.tgz#bc4fab60ab259f25c4b2878bfb600850b6aa3684" - integrity sha512-giK0IZz1cK51mTSTox51GUxgcbKy5Y5yXvyqVpfQ6m4nATSuiSRiMPvlxX3Er2uAiNkolyLTIgUxBAV/c8U3PQ== +cspell@5.17.0: + version "5.17.0" + resolved "https://registry.yarnpkg.com/cspell/-/cspell-5.17.0.tgz#74ca92fa44d2cb44f79a98ff98f749042e593010" + integrity sha512-LpXMpXVRp6V9Id2WRJ4y3pDRqYhDyJrLERbeGIESnLv8zMovGC7ZYTo648YZ1l+OLw5gUKB857DGT01muqCwqA== dependencies: chalk "^4.1.2" commander "^8.3.0" comment-json "^4.1.1" - cspell-gitignore "^5.16.0" - cspell-glob "^5.16.0" - cspell-lib "^5.16.0" + cspell-gitignore "^5.17.0" + cspell-glob "^5.17.0" + cspell-lib "^5.17.0" fast-json-stable-stringify "^2.1.0" file-entry-cache "^6.0.1" fs-extra "^10.0.0" From 08b0e2a0e569eb958874fbc8f2b5ad90b861e660 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 30 Jan 2022 21:24:27 +0800 Subject: [PATCH 074/117] Build(deps): Bump clipboard from 2.0.8 to 2.0.9 in /website (#12195) Bumps [clipboard](https://github.com/zenorocha/clipboard.js) from 2.0.8 to 2.0.9. - [Release notes](https://github.com/zenorocha/clipboard.js/releases) - [Commits](https://github.com/zenorocha/clipboard.js/compare/v2.0.8...v2.0.9) --- updated-dependencies: - dependency-name: clipboard dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- website/package.json | 2 +- website/yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/website/package.json b/website/package.json index ec399c254..cb09f0c85 100644 --- a/website/package.json +++ b/website/package.json @@ -6,7 +6,7 @@ "update-stable-docs": "rm -rf ./versioned_docs ./versions.json && docusaurus-version stable" }, "dependencies": { - "clipboard": "2.0.8", + "clipboard": "2.0.9", "codemirror-graphql": "1.2.11", "lz-string": "1.4.4", "prop-types": "15.8.1", diff --git a/website/yarn.lock b/website/yarn.lock index ae4acc833..10108d3a5 100644 --- a/website/yarn.lock +++ b/website/yarn.lock @@ -2253,10 +2253,10 @@ classnames@^2.2.6: resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.3.1.tgz#dfcfa3891e306ec1dad105d0e88f4417b8535e8e" integrity sha512-OlQdbZ7gLfGarSqxesMesDa5uz7KFbID8Kpq/SxIoNGDqY8lSYs0D+hhtBXhcdB3rcbXArFr7vlHheLk1voeNA== -clipboard@2.0.8: - version "2.0.8" - resolved "https://registry.yarnpkg.com/clipboard/-/clipboard-2.0.8.tgz#ffc6c103dd2967a83005f3f61976aa4655a4cdba" - integrity sha512-Y6WO0unAIQp5bLmk1zdThRhgJt/x3ks6f30s3oE3H1mgIEU33XyQjEf8gsf6DxC7NPX8Y1SsNWjUjL/ywLnnbQ== +clipboard@2.0.9: + version "2.0.9" + resolved "https://registry.yarnpkg.com/clipboard/-/clipboard-2.0.9.tgz#beca1a755fb2c65938cc7c6092c421f922632641" + integrity sha512-JK1AIxL35mdvQoP50gelg1Gsx6wMsfjtMCzFAdePdrGEHaqTnNAz3qZg4vhmLQDlpTqiVgj7GRzmpIDsAcdvRA== dependencies: good-listener "^1.2.2" select "^1.1.2" From 1c8324233ca4858925ea0ef749e8a6345c497427 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 30 Jan 2022 12:21:11 -0300 Subject: [PATCH 075/117] Build(deps-dev): Bump esbuild from 0.14.13 to 0.14.14 (#12191) --- package.json | 2 +- yarn.lock | 188 +++++++++++++++++++++++++-------------------------- 2 files changed, 95 insertions(+), 95 deletions(-) diff --git a/package.json b/package.json index e8cc53b09..64346d415 100644 --- a/package.json +++ b/package.json @@ -107,7 +107,7 @@ "cross-env": "7.0.3", "cspell": "5.17.0", "enquirer": "2.3.6", - "esbuild": "0.14.13", + "esbuild": "0.14.14", "esbuild-plugin-text-replace": "1.2.0", "esbuild-visualizer": "0.3.1", "eslint": "8.8.0", diff --git a/yarn.lock b/yarn.lock index 7e7b4d45c..a03f81c9a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2779,75 +2779,75 @@ es-to-primitive@^1.2.1: is-date-object "^1.0.1" is-symbol "^1.0.2" -esbuild-android-arm64@0.14.13: - version "0.14.13" - resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.13.tgz#a5c8cb275dc6dcaf2390abb639791ffc4aa6ead1" - integrity sha512-rhtwl+KJ3BzzXkK09N3/YbEF1i5WhriysJEStoeWNBzchx9hlmzyWmDGQQhu56HF78ua3JrVPyLOsdLGvtMvxQ== +esbuild-android-arm64@0.14.14: + version "0.14.14" + resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.14.tgz#3705f32f209deeb11c275af47c298c8783dd5f0c" + integrity sha512-be/Uw6DdpQiPfula1J4bdmA+wtZ6T3BRCZsDMFB5X+k0Gp8TIh9UvmAcqvKNnbRAafSaXG3jPCeXxDKqnc8hFQ== -esbuild-darwin-64@0.14.13: - version "0.14.13" - resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.13.tgz#51ad2fbf8c9d73c1d40e5f9ab6122ffa95f5b494" - integrity sha512-Fl47xIt5RMu50WIgMU93kwmUUJb+BPuL8R895n/aBNQqavS+KUMpLPoqKGABBV4myfx/fnAD/97X8Gt1C1YW6w== +esbuild-darwin-64@0.14.14: + version "0.14.14" + resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.14.tgz#c07e4eae6d938300a2d330ea82494c55bcea84e5" + integrity sha512-BEexYmjWafcISK8cT6O98E3TfcLuZL8DKuubry6G54n2+bD4GkoRD6HYUOnCkfl2p7jodA+s4369IjSFSWjtHg== -esbuild-darwin-arm64@0.14.13: - version "0.14.13" - resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.13.tgz#7ff177193cffbba518a59dfa4666a2fbb3345330" - integrity sha512-UttqKRFXsWvuivcyAbFmo54vdkC9Me1ZYQNuoz/uBYDbkb2MgqKYG2+xoVKPBhLvhT0CKM5QGKD81flMH5BE6A== +esbuild-darwin-arm64@0.14.14: + version "0.14.14" + resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.14.tgz#a8631e13a51a6f784fb0906e2a64c6ab53988755" + integrity sha512-tnBKm41pDOB1GtZ8q/w26gZlLLRzVmP8fdsduYjvM+yFD7E2DLG4KbPAqFMWm4Md9B+DitBglP57FY7AznxbTg== -esbuild-freebsd-64@0.14.13: - version "0.14.13" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.13.tgz#648357ff0ca399ce65f7e7ebfff701cf105c70f3" - integrity sha512-dlIhPFSp29Yq2TPh7Cm3/4M0uKjlfvOylHVNCRvRNiOvDbBol6/NZ3kLisczms+Yra0rxVapBPN1oMbSMuts9g== +esbuild-freebsd-64@0.14.14: + version "0.14.14" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.14.tgz#c280c2b944746b27ee6c6487c2691865c90bed2e" + integrity sha512-Q9Rx6sgArOHalQtNwAaIzJ6dnQ8A+I7f/RsQsdkS3JrdzmnlFo8JEVofTmwVQLoIop7OKUqIVOGP4PoQcwfVMA== -esbuild-freebsd-arm64@0.14.13: - version "0.14.13" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.13.tgz#7cb0016dd64fd116624c56dcfe58b27fac8ceaee" - integrity sha512-bNOHLu7Oq6RwaAMnwPbJ40DVGPl9GlAOnfH/dFZ792f8hFEbopkbtVzo1SU1jjfY3TGLWOgqHNWxPxx1N7Au+g== +esbuild-freebsd-arm64@0.14.14: + version "0.14.14" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.14.tgz#aa4e21276efcf20e5ab2487e91ca1d789573189b" + integrity sha512-TJvq0OpLM7BkTczlyPIphcvnwrQwQDG1HqxzoYePWn26SMUAlt6wrLnEvxdbXAvNvDLVzG83kA+JimjK7aRNBA== -esbuild-linux-32@0.14.13: - version "0.14.13" - resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.13.tgz#50b197f6831e824660ab80d011b656505a0aae32" - integrity sha512-WzXyBx6zx16adGi7wPBvH2lRCBzYMcqnBRrJ8ciLIqYyruGvprZocX1nFWfiexjLcFxIElWnMNPX6LG7ULqyXA== +esbuild-linux-32@0.14.14: + version "0.14.14" + resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.14.tgz#3db4d929239203ce38a9060d5419ac6a6d28846c" + integrity sha512-h/CrK9Baimt5VRbu8gqibWV7e1P9l+mkanQgyOgv0Ng3jHT1NVFC9e6rb1zbDdaJVmuhWX5xVliUA5bDDCcJeg== -esbuild-linux-64@0.14.13: - version "0.14.13" - resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.13.tgz#d2ee4d780e3cadd129ab8988c7c75ca4bd636f3a" - integrity sha512-P6OFAfcoUvE7g9h/0UKm3qagvTovwqpCF1wbFLWe/BcCY8BS1bR/+SxUjCeKX2BcpIsg4/43ezHDE/ntg/iOpw== +esbuild-linux-64@0.14.14: + version "0.14.14" + resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.14.tgz#f880026254c1f565a7a10fdebb7cff9b083a127d" + integrity sha512-IC+wAiIg/egp5OhQp4W44D9PcBOH1b621iRn1OXmlLzij9a/6BGr9NMIL4CRwz4j2kp3WNZu5sT473tYdynOuQ== -esbuild-linux-arm64@0.14.13: - version "0.14.13" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.13.tgz#9151963c55cd42968c97f2fd354cd6ff9b3cb476" - integrity sha512-k/uIvmkm4mc7vyMvJVwILgGxi2F+FuvLdmESIIWoHrnxEfEekC5AWpI/R6GQ2OMfp8snebSQLs8KL05QPnt1zA== +esbuild-linux-arm64@0.14.14: + version "0.14.14" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.14.tgz#a34bc3076e50b109c3b8c8bad9c146e35942322b" + integrity sha512-6QVul3RI4M5/VxVIRF/I5F+7BaxzR3DfNGoqEVSCZqUbgzHExPn+LXr5ly1C7af2Kw4AHpo+wDqx8A4ziP9avw== -esbuild-linux-arm@0.14.13: - version "0.14.13" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.13.tgz#80e94cd8920607dc0addb97bac7ff5988d0fc28f" - integrity sha512-4jmm0UySCg3Wi6FEBS7jpiPb1IyckI5um5kzYRwulHxPzkiokd6cgpcsTakR4/Y84UEicS8LnFAghHhXHZhbFg== +esbuild-linux-arm@0.14.14: + version "0.14.14" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.14.tgz#231ffd12fef69ee06365d4c94b69850e4830e927" + integrity sha512-gxpOaHOPwp7zSmcKYsHrtxabScMqaTzfSQioAMUaB047YiMuDBzqVcKBG8OuESrYkGrL9DDljXr/mQNg7pbdaQ== -esbuild-linux-mips64le@0.14.13: - version "0.14.13" - resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.13.tgz#8e7eeef567b0895f2ecc4d66b1f1e5a542f1ce5b" - integrity sha512-vwYtgjQ1TRlUGL88km9wH9TjXsdZyZ/Xht1ASptg5XGRlqGquVjLGH11PfLLunoMdkQ0YTXR68b4l5gRfjVbyg== +esbuild-linux-mips64le@0.14.14: + version "0.14.14" + resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.14.tgz#bd00570e3a30422224b732c7a5f262146c357403" + integrity sha512-4Jl5/+xoINKbA4cesH3f4R+q0vltAztZ6Jm8YycS8lNhN1pgZJBDxWfI6HUMIAdkKlIpR1PIkA9aXQgZ8sxFAg== -esbuild-linux-ppc64le@0.14.13: - version "0.14.13" - resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.13.tgz#ffbe9915a1d8080f9810a9c5938f453003c6de98" - integrity sha512-0KqDSIkZaYugtcdpFCd3eQ38Fg6TzhxmOpkhDIKNTwD/W2RoXeiS+Z4y5yQ3oysb/ySDOxWkwNqTdXS4sz2LdQ== +esbuild-linux-ppc64le@0.14.14: + version "0.14.14" + resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.14.tgz#430609413fd9e04d9def4e3f06726b031b23d825" + integrity sha512-BitW37GxeebKxqYNl4SVuSdnIJAzH830Lr6Mkq3pBHXtzQay0vK+IeOR/Ele1GtNVJ+/f8wYM53tcThkv5SC5w== -esbuild-linux-s390x@0.14.13: - version "0.14.13" - resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.13.tgz#e27274d12f198580892432115fc0de432431d33d" - integrity sha512-bG20i7d0CN97fwPN9LaLe64E2IrI0fPZWEcoiff9hzzsvo/fQCx0YjMbPC2T3gqQ48QZRltdU9hQilTjHk3geQ== +esbuild-linux-s390x@0.14.14: + version "0.14.14" + resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.14.tgz#2f0d8cbfe53cf3cb97f6372549a41a8051dbd689" + integrity sha512-vLj6p76HOZG3wfuTr5MyO3qW5iu8YdhUNxuY+tx846rPo7GcKtYSPMusQjeVEfZlJpSYoR+yrNBBxq+qVF9zrw== -esbuild-netbsd-64@0.14.13: - version "0.14.13" - resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.13.tgz#78199fa57d5794e6ac6c33993dd0588fba22b353" - integrity sha512-jz96PQb0ltqyqLggPpcRbWxzLvWHvrZBHZQyjcOzKRDqg1fR/R1y10b1Cuv84xoIbdAf+ceNUJkMN21FfR9G2g== +esbuild-netbsd-64@0.14.14: + version "0.14.14" + resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.14.tgz#3e44de35e1add7e9582f3c0d2558d86aafbc813b" + integrity sha512-fn8looXPQhpVqUyCBWUuPjesH+yGIyfbIQrLKG05rr1Kgm3rZD/gaYrd3Wpmf5syVZx70pKZPvdHp8OTA+y7cQ== -esbuild-openbsd-64@0.14.13: - version "0.14.13" - resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.13.tgz#5394336b602e1db15583bbef7d827a2b9648e373" - integrity sha512-bp6zSo3kDCXKPM5MmVUg6DEpt+yXDx37iDGzNTn3Kf9xh6d0cdITxUC4Bx6S3Di79GVYubWs+wNjSRVFIJpryw== +esbuild-openbsd-64@0.14.14: + version "0.14.14" + resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.14.tgz#04710ef1d01cd9f15d54f50d20b5a3778f8306a2" + integrity sha512-HdAnJ399pPff3SKbd8g+P4o5znseni5u5n5rJ6Z7ouqOdgbOwHe2ofZbMow17WMdNtz1IyOZk2Wo9Ve6/lZ4Rg== esbuild-plugin-text-replace@1.2.0: version "1.2.0" @@ -2856,10 +2856,10 @@ esbuild-plugin-text-replace@1.2.0: dependencies: ts-replace-all "^1.0.0" -esbuild-sunos-64@0.14.13: - version "0.14.13" - resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.13.tgz#4afcddcece51f943149fa07274bd58f64e0913a8" - integrity sha512-08Fne1T9QHYxUnu55sV9V4i/yECADOaI1zMGET2YUa8SRkib10i80hc89U7U/G02DxpN/KUJMWEGq2wKTn0QFQ== +esbuild-sunos-64@0.14.14: + version "0.14.14" + resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.14.tgz#8e583dd92c5c7ac4303ddc37f588e44211e04e19" + integrity sha512-bmDHa99ulsGnYlh/xjBEfxoGuC8CEG5OWvlgD+pF7bKKiVTbtxqVCvOGEZeoDXB+ja6AvHIbPxrEE32J+m5nqQ== esbuild-visualizer@0.3.1: version "0.3.1" @@ -2870,44 +2870,44 @@ esbuild-visualizer@0.3.1: open "^7.4.2" yargs "^16.2.0" -esbuild-windows-32@0.14.13: - version "0.14.13" - resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.13.tgz#cb06267f270bbf7ea6631cc78b8f6e3647975c44" - integrity sha512-MW3BMIi9+fzTyDdljH0ftfT/qlD3t+aVzle1O+zZ2MgHRMQD20JwWgyqoJXhe6uDVyunrAUbcjH3qTIEZN3isg== +esbuild-windows-32@0.14.14: + version "0.14.14" + resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.14.tgz#6d293ddfb71229f21cc13d85d5d2f43e8131693b" + integrity sha512-6tVooQcxJCNenPp5GHZBs/RLu31q4B+BuF4MEoRxswT+Eq2JGF0ZWDRQwNKB8QVIo3t6Svc5wNGez+CwKNQjBg== -esbuild-windows-64@0.14.13: - version "0.14.13" - resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.13.tgz#3bbfba58e0185121280bd47ccd073b6c1849fd27" - integrity sha512-d7+0N+EOgBKdi/nMxlQ8QA5xHBlpcLtSrYnHsA+Xp4yZk28dYfRw1+embsHf5uN5/1iPvrJwPrcpgDH1xyy4JA== +esbuild-windows-64@0.14.14: + version "0.14.14" + resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.14.tgz#08a36844b69542f8ec1cb33a5ddcea02b9d0b2e8" + integrity sha512-kl3BdPXh0/RD/dad41dtzj2itMUR4C6nQbXQCyYHHo4zoUoeIXhpCrSl7BAW1nv5EFL8stT1V+TQVXGZca5A2A== -esbuild-windows-arm64@0.14.13: - version "0.14.13" - resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.13.tgz#9203d40d915d809c50bc91af5a8373e5f5abfc4c" - integrity sha512-oX5hmgXk9yNKbb5AxThzRQm/E9kiHyDll7JJeyeT1fuGENTifv33f0INCpjBQ+Ty5ChKc84++ZQTEBwLCA12Kw== +esbuild-windows-arm64@0.14.14: + version "0.14.14" + resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.14.tgz#ca747ce4066d5b8a79dbe48fe6ecd92d202e5366" + integrity sha512-dCm1wTOm6HIisLanmybvRKvaXZZo4yEVrHh1dY0v582GThXJOzuXGja1HIQgV09RpSHYRL3m4KoUBL00l6SWEg== -esbuild@0.14.13: - version "0.14.13" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.13.tgz#ce3fc7c45a6b8a40caad43daa39cdb9c1e84930a" - integrity sha512-FIxvAdj3i2oHA6ex+E67bG7zlSTO+slt8kU2ogHDgGtrQLy2HNChv3PYjiFTYkt8hZbEAniZCXVeHn+FrHt7dA== +esbuild@0.14.14: + version "0.14.14" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.14.tgz#3b99f20d628013c3e2ae90e67687e03f1d6eb071" + integrity sha512-aiK4ddv+uui0k52OqSHu4xxu+SzOim7Rlz4i25pMEiC8rlnGU0HJ9r+ZMfdWL5bzifg+nhnn7x4NSWTeehYblg== optionalDependencies: - esbuild-android-arm64 "0.14.13" - esbuild-darwin-64 "0.14.13" - esbuild-darwin-arm64 "0.14.13" - esbuild-freebsd-64 "0.14.13" - esbuild-freebsd-arm64 "0.14.13" - esbuild-linux-32 "0.14.13" - esbuild-linux-64 "0.14.13" - esbuild-linux-arm "0.14.13" - esbuild-linux-arm64 "0.14.13" - esbuild-linux-mips64le "0.14.13" - esbuild-linux-ppc64le "0.14.13" - esbuild-linux-s390x "0.14.13" - esbuild-netbsd-64 "0.14.13" - esbuild-openbsd-64 "0.14.13" - esbuild-sunos-64 "0.14.13" - esbuild-windows-32 "0.14.13" - esbuild-windows-64 "0.14.13" - esbuild-windows-arm64 "0.14.13" + esbuild-android-arm64 "0.14.14" + esbuild-darwin-64 "0.14.14" + esbuild-darwin-arm64 "0.14.14" + esbuild-freebsd-64 "0.14.14" + esbuild-freebsd-arm64 "0.14.14" + esbuild-linux-32 "0.14.14" + esbuild-linux-64 "0.14.14" + esbuild-linux-arm "0.14.14" + esbuild-linux-arm64 "0.14.14" + esbuild-linux-mips64le "0.14.14" + esbuild-linux-ppc64le "0.14.14" + esbuild-linux-s390x "0.14.14" + esbuild-netbsd-64 "0.14.14" + esbuild-openbsd-64 "0.14.14" + esbuild-sunos-64 "0.14.14" + esbuild-windows-32 "0.14.14" + esbuild-windows-64 "0.14.14" + esbuild-windows-arm64 "0.14.14" escalade@^3.1.1: version "3.1.1" From 54df16cdf5c2d7839c1caaba9cd52526a67fd383 Mon Sep 17 00:00:00 2001 From: Sosuke Suzuki Date: Mon, 31 Jan 2022 00:45:58 +0900 Subject: [PATCH 076/117] Extract text utils that is used by `babel-parser.js` (#12203) --- src/common/util.js | 134 ++---------------- src/language-js/parse/babel.js | 4 +- src/language-js/parse/json.js | 2 +- ...omment-character-index-with-start-index.js | 28 ++++ src/utils/text/skip-inline-comment.js | 24 ++++ src/utils/text/skip-newline.js | 54 +++++++ src/utils/text/skip-trailing-comment.js | 22 +++ src/utils/text/skip.js | 70 +++++++++ 8 files changed, 210 insertions(+), 128 deletions(-) create mode 100644 src/utils/text/get-next-non-space-non-comment-character-index-with-start-index.js create mode 100644 src/utils/text/skip-inline-comment.js create mode 100644 src/utils/text/skip-newline.js create mode 100644 src/utils/text/skip-trailing-comment.js create mode 100644 src/utils/text/skip.js diff --git a/src/common/util.js b/src/common/util.js index 374486fd7..4acfb14d9 100644 --- a/src/common/util.js +++ b/src/common/util.js @@ -5,6 +5,16 @@ const getLast = require("../utils/get-last.js"); const { getSupportInfo } = require("../main/support.js"); const isNonEmptyArray = require("../utils/is-non-empty-array.js"); const getStringWidth = require("../utils/get-string-width.js"); +const { + skipWhitespace, + skipSpaces, + skipToLineEnd, + skipEverythingButNewLine, +} = require("../utils/text/skip.js"); +const skipInlineComment = require("../utils/text/skip-inline-comment.js"); +const skipTrailingComment = require("../utils/text/skip-trailing-comment.js"); +const skipNewline = require("../utils/text/skip-newline.js"); +const getNextNonSpaceNonCommentCharacterIndexWithStartIndex = require("../utils/text/get-next-non-space-non-comment-character-index-with-start-index.js"); const getPenultimate = (arr) => arr[arr.length - 2]; @@ -53,110 +63,6 @@ function skip(chars) { }; } -/** - * @type {(text: string, index: number | false, opts?: SkipOptions) => number | false} - */ -const skipWhitespace = skip(/\s/); -/** - * @type {(text: string, index: number | false, opts?: SkipOptions) => number | false} - */ -const skipSpaces = skip(" \t"); -/** - * @type {(text: string, index: number | false, opts?: SkipOptions) => number | false} - */ -const skipToLineEnd = skip(",; \t"); -/** - * @type {(text: string, index: number | false, opts?: SkipOptions) => number | false} - */ -const skipEverythingButNewLine = skip(/[^\n\r]/); - -/** - * @param {string} text - * @param {number | false} index - * @returns {number | false} - */ -function skipInlineComment(text, index) { - /* istanbul ignore next */ - if (index === false) { - return false; - } - - if (text.charAt(index) === "/" && text.charAt(index + 1) === "*") { - for (let i = index + 2; i < text.length; ++i) { - if (text.charAt(i) === "*" && text.charAt(i + 1) === "/") { - return i + 2; - } - } - } - return index; -} - -/** - * @param {string} text - * @param {number | false} index - * @returns {number | false} - */ -function skipTrailingComment(text, index) { - /* istanbul ignore next */ - if (index === false) { - return false; - } - - if (text.charAt(index) === "/" && text.charAt(index + 1) === "/") { - return skipEverythingButNewLine(text, index); - } - return index; -} - -// This one doesn't use the above helper function because it wants to -// test \r\n in order and `skip` doesn't support ordering and we only -// want to skip one newline. It's simple to implement. -/** - * @param {string} text - * @param {number | false} index - * @param {SkipOptions=} opts - * @returns {number | false} - */ -function skipNewline(text, index, opts) { - const backwards = opts && opts.backwards; - if (index === false) { - return false; - } - - const atIndex = text.charAt(index); - if (backwards) { - // We already replace `\r\n` with `\n` before parsing - /* istanbul ignore next */ - if (text.charAt(index - 1) === "\r" && atIndex === "\n") { - return index - 2; - } - if ( - atIndex === "\n" || - atIndex === "\r" || - atIndex === "\u2028" || - atIndex === "\u2029" - ) { - return index - 1; - } - } else { - // We already replace `\r\n` with `\n` before parsing - /* istanbul ignore next */ - if (atIndex === "\r" && text.charAt(index + 1) === "\n") { - return index + 2; - } - if ( - atIndex === "\n" || - atIndex === "\r" || - atIndex === "\u2028" || - atIndex === "\u2029" - ) { - return index + 1; - } - } - - return index; -} - /** * @param {string} text * @param {number} index @@ -234,26 +140,6 @@ function isNextLineEmpty(text, node, locEnd) { return isNextLineEmptyAfterIndex(text, locEnd(node)); } -/** - * @param {string} text - * @param {number} idx - * @returns {number | false} - */ -function getNextNonSpaceNonCommentCharacterIndexWithStartIndex(text, idx) { - /** @type {number | false} */ - let oldIdx = null; - /** @type {number | false} */ - let nextIdx = idx; - while (nextIdx !== oldIdx) { - oldIdx = nextIdx; - nextIdx = skipSpaces(text, nextIdx); - nextIdx = skipInlineComment(text, nextIdx); - nextIdx = skipTrailingComment(text, nextIdx); - nextIdx = skipNewline(text, nextIdx); - } - return nextIdx; -} - /** * @template N * @param {string} text diff --git a/src/language-js/parse/babel.js b/src/language-js/parse/babel.js index 230f167d5..62a581d49 100644 --- a/src/language-js/parse/babel.js +++ b/src/language-js/parse/babel.js @@ -1,10 +1,8 @@ "use strict"; const tryCombinations = require("../../utils/try-combinations.js"); -const { - getNextNonSpaceNonCommentCharacterIndexWithStartIndex, -} = require("../../common/util.js"); const getShebang = require("../utils/get-shebang.js"); +const getNextNonSpaceNonCommentCharacterIndexWithStartIndex = require("../../utils/text/get-next-non-space-non-comment-character-index-with-start-index.js"); const createParser = require("./utils/create-parser.js"); const createBabelParseError = require("./utils/create-babel-parse-error.js"); const postprocess = require("./postprocess/index.js"); diff --git a/src/language-js/parse/json.js b/src/language-js/parse/json.js index bae06d5be..e69e3796b 100644 --- a/src/language-js/parse/json.js +++ b/src/language-js/parse/json.js @@ -1,6 +1,6 @@ "use strict"; -const { isNonEmptyArray } = require("../../common/util.js"); +const isNonEmptyArray = require("../../utils/is-non-empty-array.js"); const createError = require("../../common/parser-create-error.js"); const createParser = require("./utils/create-parser.js"); const createBabelParseError = require("./utils/create-babel-parse-error.js"); diff --git a/src/utils/text/get-next-non-space-non-comment-character-index-with-start-index.js b/src/utils/text/get-next-non-space-non-comment-character-index-with-start-index.js new file mode 100644 index 000000000..237b629a9 --- /dev/null +++ b/src/utils/text/get-next-non-space-non-comment-character-index-with-start-index.js @@ -0,0 +1,28 @@ +"use strict"; + +const skipInlineComment = require("./skip-inline-comment.js"); +const skipNewline = require("./skip-newline.js"); +const skipTrailingComment = require("./skip-trailing-comment.js"); +const { skipSpaces } = require("./skip.js"); + +/** + * @param {string} text + * @param {number} idx + * @returns {number | false} + */ +function getNextNonSpaceNonCommentCharacterIndexWithStartIndex(text, idx) { + /** @type {number | false} */ + let oldIdx = null; + /** @type {number | false} */ + let nextIdx = idx; + while (nextIdx !== oldIdx) { + oldIdx = nextIdx; + nextIdx = skipSpaces(text, nextIdx); + nextIdx = skipInlineComment(text, nextIdx); + nextIdx = skipTrailingComment(text, nextIdx); + nextIdx = skipNewline(text, nextIdx); + } + return nextIdx; +} + +module.exports = getNextNonSpaceNonCommentCharacterIndexWithStartIndex; diff --git a/src/utils/text/skip-inline-comment.js b/src/utils/text/skip-inline-comment.js new file mode 100644 index 000000000..1b47494d0 --- /dev/null +++ b/src/utils/text/skip-inline-comment.js @@ -0,0 +1,24 @@ +"use strict"; + +/** + * @param {string} text + * @param {number | false} index + * @returns {number | false} + */ +function skipInlineComment(text, index) { + /* istanbul ignore next */ + if (index === false) { + return false; + } + + if (text.charAt(index) === "/" && text.charAt(index + 1) === "*") { + for (let i = index + 2; i < text.length; ++i) { + if (text.charAt(i) === "*" && text.charAt(i + 1) === "/") { + return i + 2; + } + } + } + return index; +} + +module.exports = skipInlineComment; diff --git a/src/utils/text/skip-newline.js b/src/utils/text/skip-newline.js new file mode 100644 index 000000000..d1d674086 --- /dev/null +++ b/src/utils/text/skip-newline.js @@ -0,0 +1,54 @@ +"use strict"; + +/** @typedef {import("./skip").SkipOptions} SkipOptions */ + +// This one doesn't use the above helper function because it wants to +// test \r\n in order and `skip` doesn't support ordering and we only +// want to skip one newline. It's simple to implement. +/** + * @param {string} text + * @param {number | false} index + * @param {SkipOptions=} opts + * @returns {number | false} + */ +function skipNewline(text, index, opts) { + const backwards = opts && opts.backwards; + if (index === false) { + return false; + } + + const atIndex = text.charAt(index); + if (backwards) { + // We already replace `\r\n` with `\n` before parsing + /* istanbul ignore next */ + if (text.charAt(index - 1) === "\r" && atIndex === "\n") { + return index - 2; + } + if ( + atIndex === "\n" || + atIndex === "\r" || + atIndex === "\u2028" || + atIndex === "\u2029" + ) { + return index - 1; + } + } else { + // We already replace `\r\n` with `\n` before parsing + /* istanbul ignore next */ + if (atIndex === "\r" && text.charAt(index + 1) === "\n") { + return index + 2; + } + if ( + atIndex === "\n" || + atIndex === "\r" || + atIndex === "\u2028" || + atIndex === "\u2029" + ) { + return index + 1; + } + } + + return index; +} + +module.exports = skipNewline; diff --git a/src/utils/text/skip-trailing-comment.js b/src/utils/text/skip-trailing-comment.js new file mode 100644 index 000000000..13c74d057 --- /dev/null +++ b/src/utils/text/skip-trailing-comment.js @@ -0,0 +1,22 @@ +"use strict"; + +const { skipEverythingButNewLine } = require("./skip.js"); + +/** + * @param {string} text + * @param {number | false} index + * @returns {number | false} + */ +function skipTrailingComment(text, index) { + /* istanbul ignore next */ + if (index === false) { + return false; + } + + if (text.charAt(index) === "/" && text.charAt(index + 1) === "/") { + return skipEverythingButNewLine(text, index); + } + return index; +} + +module.exports = skipTrailingComment; diff --git a/src/utils/text/skip.js b/src/utils/text/skip.js new file mode 100644 index 000000000..0e37e474e --- /dev/null +++ b/src/utils/text/skip.js @@ -0,0 +1,70 @@ +"use strict"; + +/** + * @typedef {{backwards?: boolean}} SkipOptions + */ + +/** + * @param {string | RegExp} chars + * @returns {(text: string, index: number | false, opts?: SkipOptions) => number | false} + */ +function skip(chars) { + return (text, index, opts) => { + const backwards = opts && opts.backwards; + + // Allow `skip` functions to be threaded together without having + // to check for failures (did someone say monads?). + /* istanbul ignore next */ + if (index === false) { + return false; + } + + const { length } = text; + let cursor = index; + while (cursor >= 0 && cursor < length) { + const c = text.charAt(cursor); + if (chars instanceof RegExp) { + if (!chars.test(c)) { + return cursor; + } + } else if (!chars.includes(c)) { + return cursor; + } + + backwards ? cursor-- : cursor++; + } + + if (cursor === -1 || cursor === length) { + // If we reached the beginning or end of the file, return the + // out-of-bounds cursor. It's up to the caller to handle this + // correctly. We don't want to indicate `false` though if it + // actually skipped valid characters. + return cursor; + } + return false; + }; +} + +/** + * @type {(text: string, index: number | false, opts?: SkipOptions) => number | false} + */ +const skipWhitespace = skip(/\s/); +/** + * @type {(text: string, index: number | false, opts?: SkipOptions) => number | false} + */ +const skipSpaces = skip(" \t"); +/** + * @type {(text: string, index: number | false, opts?: SkipOptions) => number | false} + */ +const skipToLineEnd = skip(",; \t"); +/** + * @type {(text: string, index: number | false, opts?: SkipOptions) => number | false} + */ +const skipEverythingButNewLine = skip(/[^\n\r]/); + +module.exports = { + skipWhitespace, + skipSpaces, + skipToLineEnd, + skipEverythingButNewLine, +}; From a0cc4ab43ba1920e37bb685e1651b36d2e1fda2e Mon Sep 17 00:00:00 2001 From: Sosuke Suzuki Date: Mon, 31 Jan 2022 16:46:47 +0900 Subject: [PATCH 077/117] Reduce bundle size of `parser-postcss.js` (#12204) * Extract utils * Move `utils.js` to `utils/index.js` --- src/language-css/loc.js | 3 +- src/language-css/parser-postcss.js | 18 ++-- src/language-css/printer-postcss.js | 6 +- .../utils/has-SCSS-interpolation.js | 22 ++++ .../utils/has-string-or-function.js | 16 +++ src/language-css/{utils.js => utils/index.js} | 101 ------------------ .../utils/is-SCSS-nested-property-node.js | 16 +++ src/language-css/utils/is-SCSS-variable.js | 7 ++ src/language-css/utils/is-less-parser.js | 8 ++ src/language-css/utils/is-module-rule-name.js | 9 ++ src/language-css/utils/is-scss.js | 11 ++ src/language-css/utils/stringify-node.js | 32 ++++++ 12 files changed, 134 insertions(+), 115 deletions(-) create mode 100644 src/language-css/utils/has-SCSS-interpolation.js create mode 100644 src/language-css/utils/has-string-or-function.js rename src/language-css/{utils.js => utils/index.js} (79%) create mode 100644 src/language-css/utils/is-SCSS-nested-property-node.js create mode 100644 src/language-css/utils/is-SCSS-variable.js create mode 100644 src/language-css/utils/is-less-parser.js create mode 100644 src/language-css/utils/is-module-rule-name.js create mode 100644 src/language-css/utils/is-scss.js create mode 100644 src/language-css/utils/stringify-node.js diff --git a/src/language-css/loc.js b/src/language-css/loc.js index 5c077301a..fd0fa8646 100644 --- a/src/language-css/loc.js +++ b/src/language-css/loc.js @@ -1,7 +1,8 @@ "use strict"; +const { skipEverythingButNewLine } = require("../utils/text/skip.js"); +const getLast = require("../utils/get-last.js"); const lineColumnToIndex = require("../utils/line-column-to-index.js"); -const { getLast, skipEverythingButNewLine } = require("../common/util.js"); function calculateLocStart(node, text) { // value-* nodes have this diff --git a/src/language-css/parser-postcss.js b/src/language-css/parser-postcss.js index 81f319f9f..5f60fac95 100644 --- a/src/language-css/parser-postcss.js +++ b/src/language-css/parser-postcss.js @@ -4,18 +4,16 @@ const createError = require("../common/parser-create-error.js"); const getLast = require("../utils/get-last.js"); const parseFrontMatter = require("../utils/front-matter/parse.js"); const { hasPragma } = require("./pragma.js"); -const { - hasSCSSInterpolation, - hasStringOrFunction, - isLessParser, - isSCSS, - isSCSSNestedPropertyNode, - isSCSSVariable, - stringifyNode, - isModuleRuleName, -} = require("./utils.js"); const { locStart, locEnd } = require("./loc.js"); const { calculateLoc, replaceQuotesInInlineComments } = require("./loc.js"); +const hasSCSSInterpolation = require("./utils/has-SCSS-interpolation.js"); +const hasStringOrFunction = require("./utils/has-string-or-function.js"); +const isLessParser = require("./utils/is-less-parser.js"); +const isSCSS = require("./utils/is-scss.js"); +const isSCSSNestedPropertyNode = require("./utils/is-SCSS-nested-property-node.js"); +const isSCSSVariable = require("./utils/is-SCSS-variable.js"); +const stringifyNode = require("./utils/stringify-node.js"); +const isModuleRuleName = require("./utils/is-module-rule-name.js"); const getHighestAncestor = (node) => { while (node.parent) { diff --git a/src/language-css/printer-postcss.js b/src/language-css/printer-postcss.js index 5758ba818..d33763415 100644 --- a/src/language-css/printer-postcss.js +++ b/src/language-css/printer-postcss.js @@ -38,9 +38,7 @@ const { insideURLFunctionInImportAtRuleNode, isKeyframeAtRuleKeywords, isWideKeywords, - isSCSS, isLastNode, - isLessParser, isSCSSControlDirectiveNode, isDetachedRulesetDeclarationNode, isRelationalOperatorNode, @@ -76,8 +74,10 @@ const { isAtWordPlaceholderNode, isConfigurationNode, isParenGroupNode, -} = require("./utils.js"); +} = require("./utils/index.js"); const { locStart, locEnd } = require("./loc.js"); +const isLessParser = require("./utils/is-less-parser.js"); +const isSCSS = require("./utils/is-scss.js"); function shouldPrintComma(options) { return options.trailingComma === "es5" || options.trailingComma === "all"; diff --git a/src/language-css/utils/has-SCSS-interpolation.js b/src/language-css/utils/has-SCSS-interpolation.js new file mode 100644 index 000000000..0ef726e18 --- /dev/null +++ b/src/language-css/utils/has-SCSS-interpolation.js @@ -0,0 +1,22 @@ +"use strict"; + +const isNonEmptyArray = require("../../utils/is-non-empty-array.js"); + +function hasSCSSInterpolation(groupList) { + if (isNonEmptyArray(groupList)) { + for (let i = groupList.length - 1; i > 0; i--) { + // If we find `#{`, return true. + if ( + groupList[i].type === "word" && + groupList[i].value === "{" && + groupList[i - 1].type === "word" && + groupList[i - 1].value.endsWith("#") + ) { + return true; + } + } + } + return false; +} + +module.exports = hasSCSSInterpolation; diff --git a/src/language-css/utils/has-string-or-function.js b/src/language-css/utils/has-string-or-function.js new file mode 100644 index 000000000..d11bde837 --- /dev/null +++ b/src/language-css/utils/has-string-or-function.js @@ -0,0 +1,16 @@ +"use strict"; + +const isNonEmptyArray = require("../../utils/is-non-empty-array.js"); + +function hasStringOrFunction(groupList) { + if (isNonEmptyArray(groupList)) { + for (let i = 0; i < groupList.length; i++) { + if (groupList[i].type === "string" || groupList[i].type === "func") { + return true; + } + } + } + return false; +} + +module.exports = hasStringOrFunction; diff --git a/src/language-css/utils.js b/src/language-css/utils/index.js similarity index 79% rename from src/language-css/utils.js rename to src/language-css/utils/index.js index 775a4ee21..efcf7f625 100644 --- a/src/language-css/utils.js +++ b/src/language-css/utils/index.js @@ -1,6 +1,5 @@ "use strict"; -const { isNonEmptyArray } = require("../common/util.js"); const colorAdjusterFunctions = new Set([ "red", "green", @@ -28,7 +27,6 @@ const colorAdjusterFunctions = new Set([ "hwb", "hwba", ]); -const moduleRuleNames = new Set(["import", "use", "forward"]); function getAncestorCounter(path, typeOrTypes) { const types = Array.isArray(typeOrTypes) ? typeOrTypes : [typeOrTypes]; @@ -60,46 +58,6 @@ function getPropOfDeclNode(path) { ); } -function hasSCSSInterpolation(groupList) { - if (isNonEmptyArray(groupList)) { - for (let i = groupList.length - 1; i > 0; i--) { - // If we find `#{`, return true. - if ( - groupList[i].type === "word" && - groupList[i].value === "{" && - groupList[i - 1].type === "word" && - groupList[i - 1].value.endsWith("#") - ) { - return true; - } - } - } - return false; -} - -function hasStringOrFunction(groupList) { - if (isNonEmptyArray(groupList)) { - for (let i = 0; i < groupList.length; i++) { - if (groupList[i].type === "string" || groupList[i].type === "func") { - return true; - } - } - } - return false; -} - -function isSCSS(parser, text) { - const hasExplicitParserChoice = parser === "less" || parser === "scss"; - const IS_POSSIBLY_SCSS = /(?:\w\s*:\s*[^:}]+|#){|@import[^\n]+(?:url|,)/; - return hasExplicitParserChoice - ? parser === "scss" - : IS_POSSIBLY_SCSS.test(text); -} - -function isSCSSVariable(node) { - return Boolean(node && node.type === "word" && node.value.startsWith("$")); -} - function isWideKeywords(value) { return ["initial", "inherit", "unset", "revert"].includes( value.toLowerCase() @@ -267,19 +225,6 @@ function isSCSSControlDirectiveNode(node) { ); } -function isSCSSNestedPropertyNode(node) { - /* istanbul ignore next */ - if (!node.selector) { - return false; - } - - return node.selector - .replace(/\/\*.*?\*\//, "") - .replace(/\/\/.*\n/, "") - .trim() - .endsWith(":"); -} - function isDetachedRulesetCallNode(node) { return node.raws && node.raws.params && /^\(\s*\)$/.test(node.raws.params); } @@ -434,44 +379,10 @@ function isColorAdjusterFuncNode(node) { return colorAdjusterFunctions.has(node.value.toLowerCase()); } -// TODO: only check `less` when we don't use `less` to parse `css` -function isLessParser(options) { - return options.parser === "css" || options.parser === "less"; -} - function lastLineHasInlineComment(text) { return /\/\//.test(text.split(/[\n\r]/).pop()); } -function stringifyNode(node) { - if (node.groups) { - const open = node.open && node.open.value ? node.open.value : ""; - const groups = node.groups.reduce( - (previousValue, currentValue, index) => - previousValue + - stringifyNode(currentValue) + - (node.groups[0].type === "comma_group" && - index !== node.groups.length - 1 - ? "," - : ""), - "" - ); - const close = node.close && node.close.value ? node.close.value : ""; - - return open + groups + close; - } - - const before = node.raws && node.raws.before ? node.raws.before : ""; - const quote = node.raws && node.raws.quote ? node.raws.quote : ""; - const atword = node.type === "atword" ? "@" : ""; - const value = node.value ? node.value : ""; - const unit = node.unit ? node.unit : ""; - const group = node.group ? stringifyNode(node.group) : ""; - const after = node.raws && node.raws.after ? node.raws.after : ""; - - return before + quote + atword + value + quote + unit + group + after; -} - function isAtWordPlaceholderNode(node) { return ( node && @@ -480,10 +391,6 @@ function isAtWordPlaceholderNode(node) { ); } -function isModuleRuleName(name) { - return moduleRuleNames.has(name); -} - function isConfigurationNode(node, parentNode) { if ( !node.open || @@ -522,8 +429,6 @@ module.exports = { getAncestorCounter, getAncestorNode, getPropOfDeclNode, - hasSCSSInterpolation, - hasStringOrFunction, maybeToLowerCase, insideValueFunctionNode, insideICSSRuleNode, @@ -531,10 +436,7 @@ module.exports = { insideURLFunctionInImportAtRuleNode, isKeyframeAtRuleKeywords, isWideKeywords, - isSCSS, - isSCSSVariable, isLastNode, - isLessParser, isSCSSControlDirectiveNode, isDetachedRulesetDeclarationNode, isRelationalOperatorNode, @@ -552,7 +454,6 @@ module.exports = { hasComposesNode, hasParensAroundNode, hasEmptyRawBefore, - isSCSSNestedPropertyNode, isDetachedRulesetCallNode, isTemplatePlaceholderNode, isTemplatePropNode, @@ -570,9 +471,7 @@ module.exports = { isMediaAndSupportsKeywords, isColorAdjusterFuncNode, lastLineHasInlineComment, - stringifyNode, isAtWordPlaceholderNode, - isModuleRuleName, isConfigurationNode, isParenGroupNode, }; diff --git a/src/language-css/utils/is-SCSS-nested-property-node.js b/src/language-css/utils/is-SCSS-nested-property-node.js new file mode 100644 index 000000000..c1bd11af1 --- /dev/null +++ b/src/language-css/utils/is-SCSS-nested-property-node.js @@ -0,0 +1,16 @@ +"use strict"; + +function isSCSSNestedPropertyNode(node) { + /* istanbul ignore next */ + if (!node.selector) { + return false; + } + + return node.selector + .replace(/\/\*.*?\*\//, "") + .replace(/\/\/.*\n/, "") + .trim() + .endsWith(":"); +} + +module.exports = isSCSSNestedPropertyNode; diff --git a/src/language-css/utils/is-SCSS-variable.js b/src/language-css/utils/is-SCSS-variable.js new file mode 100644 index 000000000..9529028a5 --- /dev/null +++ b/src/language-css/utils/is-SCSS-variable.js @@ -0,0 +1,7 @@ +"use strict"; + +function isSCSSVariable(node) { + return Boolean(node && node.type === "word" && node.value.startsWith("$")); +} + +module.exports = isSCSSVariable; diff --git a/src/language-css/utils/is-less-parser.js b/src/language-css/utils/is-less-parser.js new file mode 100644 index 000000000..df2a58318 --- /dev/null +++ b/src/language-css/utils/is-less-parser.js @@ -0,0 +1,8 @@ +"use strict"; + +// TODO: only check `less` when we don't use `less` to parse `css` +function isLessParser(options) { + return options.parser === "css" || options.parser === "less"; +} + +module.exports = isLessParser; diff --git a/src/language-css/utils/is-module-rule-name.js b/src/language-css/utils/is-module-rule-name.js new file mode 100644 index 000000000..8ee9c47d8 --- /dev/null +++ b/src/language-css/utils/is-module-rule-name.js @@ -0,0 +1,9 @@ +"use strict"; + +const moduleRuleNames = new Set(["import", "use", "forward"]); + +function isModuleRuleName(name) { + return moduleRuleNames.has(name); +} + +module.exports = isModuleRuleName; diff --git a/src/language-css/utils/is-scss.js b/src/language-css/utils/is-scss.js new file mode 100644 index 000000000..41a42b188 --- /dev/null +++ b/src/language-css/utils/is-scss.js @@ -0,0 +1,11 @@ +"use strict"; + +function isSCSS(parser, text) { + const hasExplicitParserChoice = parser === "less" || parser === "scss"; + const IS_POSSIBLY_SCSS = /(?:\w\s*:\s*[^:}]+|#){|@import[^\n]+(?:url|,)/; + return hasExplicitParserChoice + ? parser === "scss" + : IS_POSSIBLY_SCSS.test(text); +} + +module.exports = isSCSS; diff --git a/src/language-css/utils/stringify-node.js b/src/language-css/utils/stringify-node.js new file mode 100644 index 000000000..f0fe3747f --- /dev/null +++ b/src/language-css/utils/stringify-node.js @@ -0,0 +1,32 @@ +"use strict"; + +function stringifyNode(node) { + if (node.groups) { + const open = node.open && node.open.value ? node.open.value : ""; + const groups = node.groups.reduce( + (previousValue, currentValue, index) => + previousValue + + stringifyNode(currentValue) + + (node.groups[0].type === "comma_group" && + index !== node.groups.length - 1 + ? "," + : ""), + "" + ); + const close = node.close && node.close.value ? node.close.value : ""; + + return open + groups + close; + } + + const before = node.raws && node.raws.before ? node.raws.before : ""; + const quote = node.raws && node.raws.quote ? node.raws.quote : ""; + const atword = node.type === "atword" ? "@" : ""; + const value = node.value ? node.value : ""; + const unit = node.unit ? node.unit : ""; + const group = node.group ? stringifyNode(node.group) : ""; + const after = node.raws && node.raws.after ? node.raws.after : ""; + + return before + quote + atword + value + quote + unit + group + after; +} + +module.exports = stringifyNode; From 8886e6310a5d4b332dc65911c1b3acf3fb60afc6 Mon Sep 17 00:00:00 2001 From: fisker Cheung Date: Wed, 2 Feb 2022 10:23:51 +0800 Subject: [PATCH 078/117] Build: Add `--clean` (#12186) --- scripts/build-website.mjs | 2 +- scripts/build/README.md | 8 ++++++++ scripts/build/build.mjs | 25 +++++++++++++++++------ scripts/release/steps/generate-bundles.js | 5 ++++- 4 files changed, 32 insertions(+), 8 deletions(-) diff --git a/scripts/build-website.mjs b/scripts/build-website.mjs index 066bbe198..28ad356b0 100644 --- a/scripts/build-website.mjs +++ b/scripts/build-website.mjs @@ -39,7 +39,7 @@ async function buildPrettier() { }); try { - await runYarn("build", ["--playground", "--no-babel"], { + await runYarn("build", ["--playground", "--no-babel", "--clean"], { cwd: PROJECT_ROOT, }); } finally { diff --git a/scripts/build/README.md b/scripts/build/README.md index d23ce1dc2..dd1a24c7a 100644 --- a/scripts/build/README.md +++ b/scripts/build/README.md @@ -12,6 +12,14 @@ yarn build ## Flags +### `--clean` + +Remove `dist` directory before bundle files. + +```sh +yarn build --clean +``` + ### `--playground` Run script with `--playground` flag will only build files needed for the website. diff --git a/scripts/build/build.mjs b/scripts/build/build.mjs index 6315526da..f7a0ec426 100644 --- a/scripts/build/build.mjs +++ b/scripts/build/build.mjs @@ -6,7 +6,6 @@ import readline from "node:readline"; import chalk from "chalk"; import minimist from "minimist"; import prettyBytes from "pretty-bytes"; -import rimraf from "rimraf"; import { PROJECT_ROOT, DIST_DIR, @@ -161,14 +160,27 @@ async function run(params) { throw new Error("'--save-as' can only relative path"); } + if (params.clean) { + let stat; + try { + stat = await fs.stat(DIST_DIR); + } catch { + // No op + } + + if (stat) { + if (stat.isDirectory()) { + await fs.rm(DIST_DIR, { recursive: true, force: true }); + } else { + throw new Error(`"${DIST_DIR}" is not a directory`); + } + } + } + const shouldPreparePackage = !params.playground && !params.files && params.minify === null; const shouldSaveBundledPackagesLicenses = shouldPreparePackage; - if (shouldPreparePackage) { - rimraf.sync(DIST_DIR); - } - const licenses = []; if (shouldSaveBundledPackagesLicenses) { params.onLicenseFound = (dependencies) => licenses.push(...dependencies); @@ -195,9 +207,10 @@ async function run(params) { run( minimist(process.argv.slice(2), { - boolean: ["playground", "print-size", "minify", "babel"], + boolean: ["playground", "print-size", "minify", "babel", "clean"], string: ["file", "save-as", "report"], default: { + clean: false, playground: false, printSize: false, minify: null, diff --git a/scripts/release/steps/generate-bundles.js b/scripts/release/steps/generate-bundles.js index 22ca621e3..5dc7c555c 100644 --- a/scripts/release/steps/generate-bundles.js +++ b/scripts/release/steps/generate-bundles.js @@ -2,7 +2,10 @@ import chalk from "chalk"; import { runYarn, logPromise, readJson } from "../utils.js"; export default async function generateBundles({ version }) { - await logPromise("Generating bundles", runYarn(["build"])); + await logPromise( + "Generating bundles", + runYarn(["build", "--clean", "--print-size"]) + ); const builtPkg = await readJson("dist/package.json"); if (builtPkg.version !== version) { From e22c4911f8bb951932715a7223dc29a81dfdb982 Mon Sep 17 00:00:00 2001 From: Lucas Duailibe Date: Wed, 2 Feb 2022 07:38:59 -0300 Subject: [PATCH 079/117] Preserve empty lines in CSS/SCSS paren groups (#12210) --- changelog_unreleased/css/12210.md | 32 ++++++++++++++++ src/language-css/printer-postcss.js | 38 +++++++++++++------ .../atrule/__snapshots__/jsfmt.spec.js.snap | 35 +++++++++++++++-- .../parens/__snapshots__/jsfmt.spec.js.snap | 31 +++++++++++++++ tests/format/css/parens/empty-lines.css | 12 ++++++ 5 files changed, 132 insertions(+), 16 deletions(-) create mode 100644 changelog_unreleased/css/12210.md create mode 100644 tests/format/css/parens/empty-lines.css diff --git a/changelog_unreleased/css/12210.md b/changelog_unreleased/css/12210.md new file mode 100644 index 000000000..7b597087e --- /dev/null +++ b/changelog_unreleased/css/12210.md @@ -0,0 +1,32 @@ +#### Preserve empty line in CSS paren groups (#12210 by @duailibe) + + + + +```css +/* Input */ +$colours: ( + "text": $light-100, + + "background-primary": $dark-300, + "background-secondary": $dark-200, + "background-tertiary": $dark-100 +); + +/* Prettier stable */ +$colours: ( + "text": $light-100, + "background-primary": $dark-300, + "background-secondary": $dark-200, + "background-tertiary": $dark-100 +); + +/* Prettier main */ +$colours: ( + "text": $light-100, + + "background-primary": $dark-300, + "background-secondary": $dark-200, + "background-tertiary": $dark-100 +); +``` diff --git a/src/language-css/printer-postcss.js b/src/language-css/printer-postcss.js index d33763415..3db35ab3f 100644 --- a/src/language-css/printer-postcss.js +++ b/src/language-css/printer-postcss.js @@ -900,26 +900,40 @@ function genericPrint(path, options, print) { indent([ softline, join( - [",", line], - path.map((childPath) => { - const node = childPath.getValue(); - const printed = print(); + [line], + path.map((childPath, index) => { + const child = childPath.getValue(); + const isLast = index === node.groups.length - 1; + const printed = [print(), isLast ? "" : ","]; // Key/Value pair in open paren already indented if ( - isKeyValuePairNode(node) && - node.type === "value-comma_group" && - node.groups && - node.groups[0].type !== "value-paren_group" && - node.groups[2] && - node.groups[2].type === "value-paren_group" + isKeyValuePairNode(child) && + child.type === "value-comma_group" && + child.groups && + child.groups[0].type !== "value-paren_group" && + child.groups[2] && + child.groups[2].type === "value-paren_group" ) { - const parts = getDocParts(printed.contents.contents); + const parts = getDocParts(printed[0].contents.contents); parts[1] = group(parts[1]); - return group(dedent(printed)); } + if ( + !isLast && + child.type === "value-comma_group" && + child.groups && + child.groups[0].type !== "value-paren_group" && + isNextLineEmpty( + options.originalText, + getLast(child.groups), + locEnd + ) + ) { + printed.push(hardline); + } + return printed; }, "groups") ), diff --git a/tests/format/css/atrule/__snapshots__/jsfmt.spec.js.snap b/tests/format/css/atrule/__snapshots__/jsfmt.spec.js.snap index 55209b323..6ea8d15ea 100644 --- a/tests/format/css/atrule/__snapshots__/jsfmt.spec.js.snap +++ b/tests/format/css/atrule/__snapshots__/jsfmt.spec.js.snap @@ -1208,7 +1208,16 @@ h3 } @each $element, $size in (h1: 20px, h2: 16px, h3: 14px) { } -@each $element, $size in (h1: 20px, h2: 16px, h3: 14px) { +@each $element, + $size + in ( + h1: 20px, + + h2: 16px, + + h3: 14px + ) +{ } ================================================================================ @@ -1926,7 +1935,13 @@ $args @function func($arg, $arg1, $arg2: 10, $args...) { @return "Func"; } -@function func($arg, $arg1, $arg2: 10, $args...) { +@function func( + $arg, + $arg1, + $arg2: 10, + + $args... +) { @return "Func"; } @function func( @@ -2547,7 +2562,13 @@ border-color: $very-very-very-very-very-very-very-very-very-very-very-very-very- @include mix(1px, 2px, $arg2: 10, 2px 4px 6px); @include mix(1px, 2px, $arg2: 10, 2px 4px 6px); @include mix(1px, 2px, $arg2: 10, 2px 4px 6px); -@include mix(1px, 2px, $arg2: 10, 2px 4px 6px); +@include mix( + 1px, + 2px, + $arg2: 10, + + 2px 4px 6px +); @include mix( $very-very-very-very-very-very-very-very-very-very-very-very-very-very-long-arg: 1px, @@ -3491,7 +3512,13 @@ $background } @mixin mix($arg, $arg1, $arg2: 10, $args...) { } -@mixin mix($arg, $arg1, $arg2: 10, $args...) { +@mixin mix( + $arg, + $arg1, + $arg2: 10, + + $args... +) { } @mixin mix( $very-very-very-very-very-very-very-very-very-very-very-very-very-very-long-arg, diff --git a/tests/format/css/parens/__snapshots__/jsfmt.spec.js.snap b/tests/format/css/parens/__snapshots__/jsfmt.spec.js.snap index 2c6880867..7014d37dc 100644 --- a/tests/format/css/parens/__snapshots__/jsfmt.spec.js.snap +++ b/tests/format/css/parens/__snapshots__/jsfmt.spec.js.snap @@ -1,5 +1,36 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP +exports[`empty-lines.css format 1`] = ` +====================================options===================================== +parsers: ["css"] +printWidth: 80 + | printWidth +=====================================input====================================== +$colours: ( + "text": $light-100, + "background-primary": $dark-300, + + + + + + + "background-secondary": $dark-200, + "background-tertiary": $dark-100 +); + +=====================================output===================================== +$colours: ( + "text": $light-100, + "background-primary": $dark-300, + + "background-secondary": $dark-200, + "background-tertiary": $dark-100 +); + +================================================================================ +`; + exports[`parens.css format 1`] = ` ====================================options===================================== parsers: ["css"] diff --git a/tests/format/css/parens/empty-lines.css b/tests/format/css/parens/empty-lines.css new file mode 100644 index 000000000..46893d8b7 --- /dev/null +++ b/tests/format/css/parens/empty-lines.css @@ -0,0 +1,12 @@ +$colours: ( + "text": $light-100, + "background-primary": $dark-300, + + + + + + + "background-secondary": $dark-200, + "background-tertiary": $dark-100 +); From 543aa9abf194b73f95a7d90117ed1ce5dfefe874 Mon Sep 17 00:00:00 2001 From: Lucas Duailibe Date: Thu, 3 Feb 2022 12:54:10 -0300 Subject: [PATCH 080/117] Fix printing of SCSS selector() function (#12213) --- changelog_unreleased/scss/12213.md | 16 ++++++++++++++++ src/language-css/printer-postcss.js | 4 ++-- .../css/atrule/__snapshots__/jsfmt.spec.js.snap | 5 +++++ tests/format/css/atrule/mixin.css | 2 ++ 4 files changed, 25 insertions(+), 2 deletions(-) create mode 100644 changelog_unreleased/scss/12213.md diff --git a/changelog_unreleased/scss/12213.md b/changelog_unreleased/scss/12213.md new file mode 100644 index 000000000..01f7c29c2 --- /dev/null +++ b/changelog_unreleased/scss/12213.md @@ -0,0 +1,16 @@ +#### Fixes printing parameters of a mixin named `selector()` (#12213 by @duailibe) + + +```css +/* Input */ +@mixin selector($param: 'value') { +} + +/* Prettier stable */ +@mixin selector($param: 'value) { +} + +/* Prettier main */ +@mixin selector($param: 'value') { +} +``` diff --git a/src/language-css/printer-postcss.js b/src/language-css/printer-postcss.js index 3db35ab3f..1ede6c67a 100644 --- a/src/language-css/printer-postcss.js +++ b/src/language-css/printer-postcss.js @@ -493,8 +493,8 @@ function genericPrint(path, options, print) { grandParent.type === "value-func" && grandParent.value === "selector" ) { - const start = locStart(parentNode.open) + 1; - const end = locEnd(parentNode.close) - 1; + const start = locEnd(parentNode.open) + 1; + const end = locStart(parentNode.close); const selector = options.originalText.slice(start, end).trim(); return lastLineHasInlineComment(selector) diff --git a/tests/format/css/atrule/__snapshots__/jsfmt.spec.js.snap b/tests/format/css/atrule/__snapshots__/jsfmt.spec.js.snap index 6ea8d15ea..5c6657479 100644 --- a/tests/format/css/atrule/__snapshots__/jsfmt.spec.js.snap +++ b/tests/format/css/atrule/__snapshots__/jsfmt.spec.js.snap @@ -3482,6 +3482,8 @@ $background @mixin button-variant($foo: " ... ") {} @mixin sexy-border($color, $width, $foo: (color: red)) {} +@mixin selector($param: "value") {} + =====================================output===================================== @mixin clearfix { } @@ -3551,6 +3553,9 @@ $background @mixin sexy-border($color, $width, $foo: (color: red)) { } +@mixin selector($param: "value") { +} + ================================================================================ `; diff --git a/tests/format/css/atrule/mixin.css b/tests/format/css/atrule/mixin.css index 24c175e0b..0e7c610ea 100644 --- a/tests/format/css/atrule/mixin.css +++ b/tests/format/css/atrule/mixin.css @@ -105,3 +105,5 @@ $background @mixin button-variant($foo: " ... ") {} @mixin button-variant($foo: " ... ") {} @mixin sexy-border($color, $width, $foo: (color: red)) {} + +@mixin selector($param: "value") {} From 76bb0226d56362134a86edaedffdb089ffce4422 Mon Sep 17 00:00:00 2001 From: Bogdan Chadkin Date: Sat, 5 Feb 2022 16:24:10 +0300 Subject: [PATCH 081/117] Replace globby with fast-glob (#12223) There is already fast-glob used in src/cli/expand-patterns.js Here I migrate everywhere to it from globby which is a thin wrapper with a couple of unused here features. ``` du -ck dist ``` 17280 kB 17260 kB --- package.json | 1 - scripts/build-website.mjs | 4 ++-- scripts/clean-changelog-unreleased.mjs | 4 ++-- scripts/sync-flow-tests.js | 6 +++--- src/common/load-plugins.js | 5 ++--- tests/config/require-standalone.js | 4 ++-- tests/integration/__tests__/bundle.js | 6 +++--- yarn.lock | 2 +- 8 files changed, 15 insertions(+), 17 deletions(-) diff --git a/package.json b/package.json index 64346d415..31ef39d15 100644 --- a/package.json +++ b/package.json @@ -48,7 +48,6 @@ "find-parent-dir": "0.3.1", "flow-parser": "0.170.0", "get-stdin": "8.0.0", - "globby": "11.0.4", "graphql": "15.6.1", "html-element-attributes": "2.3.0", "html-styles": "1.0.0", diff --git a/scripts/build-website.mjs b/scripts/build-website.mjs index 28ad356b0..f758c6799 100644 --- a/scripts/build-website.mjs +++ b/scripts/build-website.mjs @@ -2,7 +2,7 @@ import path from "node:path"; import fs from "node:fs/promises"; -import globby from "globby"; +import fastGlob from "fast-glob"; import prettier from "prettier"; import createEsmUtils from "esm-utils"; import execa from "execa"; @@ -49,7 +49,7 @@ async function buildPrettier() { } async function buildPlaygroundFiles() { - const files = await globby(["standalone.js", "parser-*.js"], { + const files = await fastGlob(["standalone.js", "parser-*.js"], { cwd: PRETTIER_DIR, }); const parsers = {}; diff --git a/scripts/clean-changelog-unreleased.mjs b/scripts/clean-changelog-unreleased.mjs index 600fcbfd6..dcc75641d 100644 --- a/scripts/clean-changelog-unreleased.mjs +++ b/scripts/clean-changelog-unreleased.mjs @@ -2,13 +2,13 @@ import fs from "node:fs"; import { fileURLToPath } from "node:url"; -import globby from "globby"; +import fastGlob from "fast-glob"; const changelogUnreleasedDir = fileURLToPath( new URL("../changelog_unreleased", import.meta.url) ); -const files = globby.sync(["blog-post-intro.md", "*/*.md"], { +const files = fastGlob.sync(["blog-post-intro.md", "*/*.md"], { cwd: changelogUnreleasedDir, absolute: true, }); diff --git a/scripts/sync-flow-tests.js b/scripts/sync-flow-tests.js index 68b0ef0d8..8fab488b9 100644 --- a/scripts/sync-flow-tests.js +++ b/scripts/sync-flow-tests.js @@ -3,7 +3,7 @@ const fs = require("fs"); const path = require("path"); const flowParser = require("flow-parser"); -const globby = require("globby"); +const fastGlob = require("fast-glob"); const rimraf = require("rimraf"); const DEFAULT_SPEC_CONTENT = "run_spec(__dirname);\n"; @@ -27,10 +27,10 @@ function tryParse(file, content) { } function syncTests(syncDir) { - const specFiles = globby.sync( + const specFiles = fastGlob.sync( path.join(FLOW_TESTS_DIR, "**", SPEC_FILE_NAME) ); - const filesToCopy = globby.sync(path.join(syncDir, "**/*.js")); + const filesToCopy = fastGlob.sync(path.join(syncDir, "**/*.js")); if (filesToCopy.length === 0) { throw new Error( diff --git a/src/common/load-plugins.js b/src/common/load-plugins.js index 933693b6d..4dc39de24 100644 --- a/src/common/load-plugins.js +++ b/src/common/load-plugins.js @@ -4,7 +4,7 @@ const fs = require("fs"); const path = require("path"); const uniqBy = require("lodash/uniqBy"); const partition = require("lodash/partition"); -const globby = require("globby"); +const fastGlob = require("fast-glob"); const mem = require("mem"); const internalPlugins = require("../languages.js"); const thirdParty = require("./third-party.js"); @@ -102,7 +102,7 @@ function load(plugins, pluginSearchDirs) { } function findPluginsInNodeModules(nodeModulesDir) { - const pluginPackageJsonPaths = globby.sync( + const pluginPackageJsonPaths = fastGlob.sync( [ "prettier-plugin-*/package.json", "@*/prettier-plugin-*/package.json", @@ -110,7 +110,6 @@ function findPluginsInNodeModules(nodeModulesDir) { ], { cwd: nodeModulesDir, - expandDirectories: false, } ); return pluginPackageJsonPaths.map(path.dirname); diff --git a/tests/config/require-standalone.js b/tests/config/require-standalone.js index a7ee4e6a5..215244d67 100644 --- a/tests/config/require-standalone.js +++ b/tests/config/require-standalone.js @@ -2,11 +2,11 @@ const fs = require("fs"); const vm = require("vm"); -const globby = require("globby"); +const fastGlob = require("fast-glob"); const sandbox = vm.createContext(); -const source = globby +const source = fastGlob .sync(["standalone.js", "parser-*.js"], { cwd: process.env.PRETTIER_DIR, absolute: true, diff --git a/tests/integration/__tests__/bundle.js b/tests/integration/__tests__/bundle.js index 831a26cd2..4748f787f 100644 --- a/tests/integration/__tests__/bundle.js +++ b/tests/integration/__tests__/bundle.js @@ -1,7 +1,7 @@ "use strict"; const path = require("path"); -const globby = require("globby"); +const fastGlob = require("fast-glob"); const { projectRoot } = require("../env.js"); const coreOptions = require("../../../src/main/core-options.js"); const codeSamples = @@ -14,7 +14,7 @@ const distDirectory = path.join(projectRoot, "dist"); describe("standalone", () => { const standalone = require(path.join(distDirectory, "standalone.js")); - const plugins = globby + const plugins = fastGlob .sync(["parser-*.js"], { cwd: distDirectory, absolute: true }) .map((file) => require(file)); @@ -22,7 +22,7 @@ describe("standalone", () => { distDirectory, "esm/standalone.mjs" )).default; - const esmPlugins = globby + const esmPlugins = fastGlob .sync(["esm/parser-*.mjs"], { cwd: distDirectory, absolute: true }) .map((file) => require(file).default); diff --git a/yarn.lock b/yarn.lock index a03f81c9a..c0d236329 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3505,7 +3505,7 @@ globals@^13.6.0, globals@^13.9.0: dependencies: type-fest "^0.20.2" -globby@11.0.4, globby@^11.0.1, globby@^11.0.4: +globby@^11.0.1, globby@^11.0.4: version "11.0.4" resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.4.tgz#2cbaff77c2f2a62e71e9b2813a67b97a3a3001a5" integrity sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg== From e73a7bc47ebcfc991104689df097b910ceb251c9 Mon Sep 17 00:00:00 2001 From: Lucas Duailibe Date: Sat, 5 Feb 2022 10:50:04 -0300 Subject: [PATCH 082/117] Preserve comment position before super class (#12222) --- changelog_unreleased/javascript/12222.md | 13 +++++++++++++ src/language-js/comments.js | 11 +++++++++++ src/language-js/print/class.js | 5 +++-- .../class-comment/__snapshots__/jsfmt.spec.js.snap | 4 ++-- 4 files changed, 29 insertions(+), 4 deletions(-) create mode 100644 changelog_unreleased/javascript/12222.md diff --git a/changelog_unreleased/javascript/12222.md b/changelog_unreleased/javascript/12222.md new file mode 100644 index 000000000..1cf4d91ba --- /dev/null +++ b/changelog_unreleased/javascript/12222.md @@ -0,0 +1,13 @@ +#### Fix moving comments after `extends` in class declarations (#12222 by @duailibe) + + +```js +// Input +class Foo extends /* comment explaining Bar */ Bar {} + +// Prettier stable +class Foo /* comment explaining Bar */ extends Bar {} + +// Prettier main +class Foo extends /* comment explaining Bar */ Bar {} +``` diff --git a/src/language-js/comments.js b/src/language-js/comments.js index d58c99d76..483563adc 100644 --- a/src/language-js/comments.js +++ b/src/language-js/comments.js @@ -427,6 +427,17 @@ function handleClassComments({ // Don't add leading comments to `implements`, `extends`, `mixins` to // avoid printing the comment after the keyword. if (followingNode) { + if ( + enclosingNode.superClass && + followingNode === enclosingNode.superClass && + precedingNode && + (precedingNode === enclosingNode.id || + precedingNode === enclosingNode.typeParameters) + ) { + addTrailingComment(precedingNode, comment); + return true; + } + for (const prop of ["implements", "extends", "mixins"]) { if (enclosingNode[prop] && followingNode === enclosingNode[prop][0]) { if ( diff --git a/src/language-js/print/class.js b/src/language-js/print/class.js index 9d414bc9c..88644595e 100644 --- a/src/language-js/print/class.js +++ b/src/language-js/print/class.js @@ -37,6 +37,8 @@ function printClass(path, options, print) { // If there is only on extends and there are not comments const groupMode = (node.id && hasComment(node.id, CommentCheckFlags.Trailing)) || + (node.typeParameters && + hasComment(node.typeParameters, CommentCheckFlags.Trailing)) || (node.superClass && hasComment(node.superClass)) || isNonEmptyArray(node.extends) || // DeclareClass isNonEmptyArray(node.mixins) || @@ -53,12 +55,11 @@ function printClass(path, options, print) { if (node.superClass) { const printed = [ - "extends ", printSuperClass(path, options, print), print("superTypeParameters"), ]; const printedWithComments = path.call( - (superClass) => printComments(superClass, printed, options), + (superClass) => ["extends ", printComments(superClass, printed, options)], "superClass" ); if (groupMode) { diff --git a/tests/format/js/class-comment/__snapshots__/jsfmt.spec.js.snap b/tests/format/js/class-comment/__snapshots__/jsfmt.spec.js.snap index cddf25eca..20458ecd7 100644 --- a/tests/format/js/class-comment/__snapshots__/jsfmt.spec.js.snap +++ b/tests/format/js/class-comment/__snapshots__/jsfmt.spec.js.snap @@ -109,7 +109,7 @@ class A1 extends B { class A2 /* a */ extends B {} class A3 extends B /* a */ {} -class A4 /* a */ extends B {} +class A4 extends /* a */ B {} (class A5 // comment 1 // comment 2 @@ -123,7 +123,7 @@ class A4 /* a */ extends B {} (class A7 /* a */ extends B {}); (class A8 extends B /* a */ {}); -(class A9 /* a */ extends B {}); +(class A9 extends /* a */ B {}); class a extends b { // comment From 4ff9461a29ff3363aaad487ff432a901259842f7 Mon Sep 17 00:00:00 2001 From: fisker Cheung Date: Sat, 5 Feb 2022 22:51:17 +0800 Subject: [PATCH 083/117] Improve build script (#12190) --- scripts/build/bundler.mjs | 18 +++--- .../build/esbuild-plugins/replace-module.mjs | 63 ++++++++++++------- 2 files changed, 47 insertions(+), 34 deletions(-) diff --git a/scripts/build/bundler.mjs b/scripts/build/bundler.mjs index 63246e362..78eba011a 100644 --- a/scripts/build/bundler.mjs +++ b/scripts/build/bundler.mjs @@ -15,10 +15,11 @@ import esbuildPluginUmd from "./esbuild-plugins/umd.mjs"; import esbuildPluginVisualizer from "./esbuild-plugins/visualizer.mjs"; import bundles from "./config.mjs"; -const { __dirname, json } = createEsmUtils(import.meta); +const { __dirname, json, require } = createEsmUtils(import.meta); const packageJson = json.loadSync("../../package.json"); const umdTarget = browserslistToEsbuild(packageJson.browserslist); +const EMPTY_MODULE_REPLACEMENT = { contents: "" }; function getBabelConfig(bundle) { const config = { @@ -67,7 +68,7 @@ function getBabelConfig(bundle) { return config; } -async function* getEsbuildOptions(bundle, buildOptions) { +function* getEsbuildOptions(bundle, buildOptions) { const replaceStrings = { // `tslib` exports global variables "createExporter(root": "createExporter({}", @@ -113,9 +114,8 @@ async function* getEsbuildOptions(bundle, buildOptions) { // Universal bundle only use version info from package.json // Replace package.json with `{version: "{VERSION}"}` replaceModule[path.join(PROJECT_ROOT, "package.json")] = { - contents: `module.exports = ${JSON.stringify({ - version: packageJson.version, - })};`, + contents: JSON.stringify({ version: packageJson.version }), + loader: "json", }; // Replace parser getters with `undefined` @@ -128,13 +128,11 @@ async function* getEsbuildOptions(bundle, buildOptions) { "src/language-markdown/parsers.js", "src/language-yaml/parsers.js", ]) { - replaceModule[path.join(PROJECT_ROOT, file)] = { contents: "" }; + replaceModule[path.join(PROJECT_ROOT, file)] = EMPTY_MODULE_REPLACEMENT; } // Prevent `esbuildPluginNodeModulePolyfills` include shim for this module - replaceModule.assert = { - contents: await fs.readFile(path.join(__dirname, "./shims/assert.cjs")), - }; + replaceModule.assert = require.resolve("./shims/assert.cjs"); } let shouldMinify = buildOptions.minify; @@ -246,7 +244,7 @@ async function runBuild(bundle, esbuildOptions, buildOptions) { } async function* createBundle(bundle, buildOptions) { - for await (const esbuildOptions of getEsbuildOptions(bundle, buildOptions)) { + for (const esbuildOptions of getEsbuildOptions(bundle, buildOptions)) { const { outfile: file } = esbuildOptions; if ( diff --git a/scripts/build/esbuild-plugins/replace-module.mjs b/scripts/build/esbuild-plugins/replace-module.mjs index 2b1147f56..7f166f6d8 100644 --- a/scripts/build/esbuild-plugins/replace-module.mjs +++ b/scripts/build/esbuild-plugins/replace-module.mjs @@ -1,40 +1,55 @@ +import { dirname } from "node:path"; + export default function esbuildPluginReplaceModule(replacements = {}) { return { name: "replace-module", setup(build) { - build.onLoad({ filter: /./ }, ({ path }) => { - if (!Reflect.has(replacements, path)) { + build.onLoad({ filter: /./ }, ({ path, namespace }) => { + let options = replacements[path]; + + if (!options) { return; } - let replacement = replacements[path]; + options = + typeof options === "string" ? { path: options } : { ...options }; - if (typeof replacement === "string") { - replacement = { path: replacement }; + let { + path: file, + resolveDir, + contents, + loader = "js", + external: isExternal, + } = options; + + // Make this work with `@esbuild-plugins/node-modules-polyfill` plugin + if ( + !resolveDir && + namespace === "node-modules-polyfills-commonjs" && + file + ) { + resolveDir = dirname(file); } - if (replacement.external) { + if (isExternal) { + if (!file) { + throw new Error("Missing external module path."); + } + // Prevent `esbuild` to resolve - return { - contents: ` - module.exports = require.call(undefined, ${JSON.stringify( - `${replacement.path}` - )}); - `, - }; + contents = ` + const entry = ${JSON.stringify(`${file}`)}; + module.exports = require(entry); + `; + } else { + if (file) { + contents = ` + module.exports = require(${JSON.stringify(`${file}`)}); + `; + } } - if (replacement.path) { - replacement = { - contents: ` - module.exports = require(${JSON.stringify( - `${replacement.path}` - )}); - `, - }; - } - - return replacement; + return { contents, loader, resolveDir }; }); }, }; From 86a9e222d9109d4c32455c7c3d6b6b71dd364eef Mon Sep 17 00:00:00 2001 From: fisker Cheung Date: Sat, 5 Feb 2022 22:55:41 +0800 Subject: [PATCH 084/117] Update banner image url (#12188) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 14ced8d52..b439216dc 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -![Prettier Banner](https://raw.githubusercontent.com/prettier/prettier-logo/master/images/prettier-banner-light.png) +![Prettier Banner](https://unpkg.com/prettier-logo@1.0.3/images/prettier-banner-light.svg)

Opinionated Code Formatter

From 69ea417f6bb34e19f46dee5456c3d40b2d973f28 Mon Sep 17 00:00:00 2001 From: Lucas Duailibe Date: Sat, 5 Feb 2022 11:56:37 -0300 Subject: [PATCH 085/117] Prevent multiple parenthesis around superclass with typecast (#12226) --- changelog_unreleased/javascript/12222.md | 10 ++++++---- src/language-js/needs-parens.js | 1 - .../__snapshots__/jsfmt.spec.js.snap | 14 ++++++++++++++ .../js/comments-closure-typecast/superclass.js | 1 + 4 files changed, 21 insertions(+), 5 deletions(-) create mode 100644 tests/format/js/comments-closure-typecast/superclass.js diff --git a/changelog_unreleased/javascript/12222.md b/changelog_unreleased/javascript/12222.md index 1cf4d91ba..215b77dde 100644 --- a/changelog_unreleased/javascript/12222.md +++ b/changelog_unreleased/javascript/12222.md @@ -1,13 +1,15 @@ -#### Fix moving comments after `extends` in class declarations (#12222 by @duailibe) +#### Fix typecast of superclass in class declarations (#12222 & #12226 by @duailibe) + +This was a combination of two separate bugs: moving the comments before the superclass and adding multiple parenthesis around the superclass. ```js // Input -class Foo extends /* comment explaining Bar */ Bar {} +class Foo extends /** @type {Type} */ (Bar) {} // Prettier stable -class Foo /* comment explaining Bar */ extends Bar {} +class Foo /** @type {Type} */ extends ((Bar)) {} // Prettier main -class Foo extends /* comment explaining Bar */ Bar {} +class Foo extends /** @type {Type} */ (Bar) {} ``` diff --git a/src/language-js/needs-parens.js b/src/language-js/needs-parens.js index 6ede2f45d..970ebd713 100644 --- a/src/language-js/needs-parens.js +++ b/src/language-js/needs-parens.js @@ -95,7 +95,6 @@ function needsParens(path, options) { node.type === "LogicalExpression" || node.type === "NewExpression" || node.type === "ObjectExpression" || - node.type === "ParenthesizedExpression" || node.type === "SequenceExpression" || node.type === "TaggedTemplateExpression" || node.type === "UnaryExpression" || diff --git a/tests/format/js/comments-closure-typecast/__snapshots__/jsfmt.spec.js.snap b/tests/format/js/comments-closure-typecast/__snapshots__/jsfmt.spec.js.snap index 9aa8734ed..722445bec 100644 --- a/tests/format/js/comments-closure-typecast/__snapshots__/jsfmt.spec.js.snap +++ b/tests/format/js/comments-closure-typecast/__snapshots__/jsfmt.spec.js.snap @@ -603,6 +603,20 @@ const OverlapWrapper = ================================================================================ `; +exports[`superclass.js format 1`] = ` +====================================options===================================== +parsers: ["babel"] +printWidth: 80 + | printWidth +=====================================input====================================== +class Foo extends /** @type {string} */ (Bar) {} + +=====================================output===================================== +class Foo extends /** @type {string} */ (Bar) {} + +================================================================================ +`; + exports[`ways-to-specify-type.js format 1`] = ` ====================================options===================================== parsers: ["babel"] diff --git a/tests/format/js/comments-closure-typecast/superclass.js b/tests/format/js/comments-closure-typecast/superclass.js new file mode 100644 index 000000000..0f5ad0587 --- /dev/null +++ b/tests/format/js/comments-closure-typecast/superclass.js @@ -0,0 +1 @@ +class Foo extends /** @type {string} */ (Bar) {} From dd31eb0916b6c92baa0657ce76eb8baa67f0f521 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 6 Feb 2022 03:30:33 +0000 Subject: [PATCH 086/117] Build(deps-dev): Bump core-js from 3.20.3 to 3.21.0 (#12237) --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 31ef39d15..2a7078be2 100644 --- a/package.json +++ b/package.json @@ -102,7 +102,7 @@ "benchmark": "2.1.4", "browserslist-to-esbuild": "1.1.1", "builtin-modules": "3.2.0", - "core-js": "3.20.3", + "core-js": "3.21.0", "cross-env": "7.0.3", "cspell": "5.17.0", "enquirer": "2.3.6", diff --git a/yarn.lock b/yarn.lock index c0d236329..fff7a5520 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2406,10 +2406,10 @@ core-js-compat@^3.20.0, core-js-compat@^3.20.2: browserslist "^4.19.1" semver "7.0.0" -core-js@3.20.3, core-js@^3.16.2, core-js@^3.4.1: - version "3.20.3" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.20.3.tgz#c710d0a676e684522f3db4ee84e5e18a9d11d69a" - integrity sha512-vVl8j8ph6tRS3B8qir40H7yw7voy17xL0piAjlbBUsH7WIfzoedL/ZOr1OV9FyZQLWXsayOJyV4tnRyXR85/ag== +core-js@3.21.0, core-js@^3.16.2, core-js@^3.4.1: + version "3.21.0" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.21.0.tgz#f479dbfc3dffb035a0827602dd056839a774aa71" + integrity sha512-YUdI3fFu4TF/2WykQ2xzSiTQdldLB4KVuL9WeAy5XONZYt5Cun/fpQvctoKbCgvPhmzADeesTk/j2Rdx77AcKQ== core-util-is@^1.0.2: version "1.0.3" From 0bc0059a9012a37a948ce2f570a55db16ef03109 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 6 Feb 2022 03:35:53 +0000 Subject: [PATCH 087/117] Build(deps): Bump @typescript-eslint/typescript-estree (#12238) --- package.json | 2 +- yarn.lock | 26 ++++++++++++++++++++++++++ 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index 2a7078be2..5e23c188c 100644 --- a/package.json +++ b/package.json @@ -26,7 +26,7 @@ "@babel/parser": "7.16.12", "@glimmer/syntax": "0.83.1", "@iarna/toml": "2.2.5", - "@typescript-eslint/typescript-estree": "5.10.1", + "@typescript-eslint/typescript-estree": "5.10.2", "acorn": "8.7.0", "acorn-jsx": "5.3.2", "angular-estree-parser": "2.5.0", diff --git a/yarn.lock b/yarn.lock index fff7a5520..8f49d9abe 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1731,6 +1731,11 @@ resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.10.1.tgz#dca9bd4cb8c067fc85304a31f38ec4766ba2d1ea" integrity sha512-ZvxQ2QMy49bIIBpTqFiOenucqUyjTQ0WNLhBM6X1fh1NNlYAC6Kxsx8bRTY3jdYsYg44a0Z/uEgQkohbR0H87Q== +"@typescript-eslint/types@5.10.2": + version "5.10.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.10.2.tgz#604d15d795c4601fffba6ecb4587ff9fdec68ce8" + integrity sha512-Qfp0qk/5j2Rz3p3/WhWgu4S1JtMcPgFLnmAKAW061uXxKSa7VWKZsDXVaMXh2N60CX9h6YLaBoy9PJAfCOjk3w== + "@typescript-eslint/typescript-estree@5.10.1": version "5.10.1" resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.10.1.tgz#b268e67be0553f8790ba3fe87113282977adda15" @@ -1744,6 +1749,19 @@ semver "^7.3.5" tsutils "^3.21.0" +"@typescript-eslint/typescript-estree@5.10.2": + version "5.10.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.10.2.tgz#810906056cd3ddcb35aa333fdbbef3713b0fe4a7" + integrity sha512-WHHw6a9vvZls6JkTgGljwCsMkv8wu8XU8WaYKeYhxhWXH/atZeiMW6uDFPLZOvzNOGmuSMvHtZKd6AuC8PrwKQ== + dependencies: + "@typescript-eslint/types" "5.10.2" + "@typescript-eslint/visitor-keys" "5.10.2" + debug "^4.3.2" + globby "^11.0.4" + is-glob "^4.0.3" + semver "^7.3.5" + tsutils "^3.21.0" + "@typescript-eslint/utils@5.10.1", "@typescript-eslint/utils@^5.10.0": version "5.10.1" resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.10.1.tgz#fa682a33af47080ba2c4368ee0ad2128213a1196" @@ -1764,6 +1782,14 @@ "@typescript-eslint/types" "5.10.1" eslint-visitor-keys "^3.0.0" +"@typescript-eslint/visitor-keys@5.10.2": + version "5.10.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.10.2.tgz#fdbf272d8e61c045d865bd6c8b41bea73d222f3d" + integrity sha512-zHIhYGGGrFJvvyfwHk5M08C5B5K4bewkm+rrvNTKk1/S15YHR+SA/QUF8ZWscXSfEaB8Nn2puZj+iHcoxVOD/Q== + dependencies: + "@typescript-eslint/types" "5.10.2" + eslint-visitor-keys "^3.0.0" + abab@^2.0.3, abab@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.5.tgz#c0b678fb32d60fc1219c784d6a826fe385aeb79a" From 668567cc58dd9427dcc6d473b171f2606230c1b7 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 6 Feb 2022 03:36:45 +0000 Subject: [PATCH 088/117] Build(deps): Bump jest-docblock from 27.4.0 to 27.5.0 (#12231) --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 5e23c188c..37baa807a 100644 --- a/package.json +++ b/package.json @@ -54,7 +54,7 @@ "html-tag-names": "1.1.5", "html-void-elements": "1.0.5", "ignore": "5.2.0", - "jest-docblock": "27.4.0", + "jest-docblock": "27.5.0", "json5": "2.2.0", "leven": "3.1.0", "lines-and-columns": "2.0.3", diff --git a/yarn.lock b/yarn.lock index 8f49d9abe..09737a6f0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4089,10 +4089,10 @@ jest-diff@^27.4.6: jest-get-type "^27.4.0" pretty-format "^27.4.6" -jest-docblock@27.4.0, jest-docblock@^27.4.0: - version "27.4.0" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-27.4.0.tgz#06c78035ca93cbbb84faf8fce64deae79a59f69f" - integrity sha512-7TBazUdCKGV7svZ+gh7C8esAnweJoG+SvcF6Cjqj4l17zA2q1cMwx2JObSioubk317H+cjcHgP+7fTs60paulg== +jest-docblock@27.5.0, jest-docblock@^27.4.0: + version "27.5.0" + resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-27.5.0.tgz#096fa3a8b55d019a954ef7cc205c791bf94b2352" + integrity sha512-U4MtJgdZn2x+jpPzd7NAYvDmgJAA5h9QxVAwsyuH7IymGzY8VGHhAkHcIGOmtmdC61ORLxCbEhj6fCJsaCWzXA== dependencies: detect-newline "^3.0.0" From 712ede7150167a64558fc6983d0ec170d072a861 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 6 Feb 2022 03:37:31 +0000 Subject: [PATCH 089/117] Build(deps-dev): Bump @babel/types from 7.16.8 to 7.17.0 (#12232) --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 37baa807a..d8eb8989e 100644 --- a/package.json +++ b/package.json @@ -91,7 +91,7 @@ "devDependencies": { "@babel/core": "7.16.12", "@babel/preset-env": "7.16.11", - "@babel/types": "7.16.8", + "@babel/types": "7.17.0", "@esbuild-plugins/node-modules-polyfill": "0.1.4", "@glimmer/reference": "0.83.1", "@types/estree": "0.0.50", diff --git a/yarn.lock b/yarn.lock index 09737a6f0..69a583041 100644 --- a/yarn.lock +++ b/yarn.lock @@ -942,10 +942,10 @@ debug "^4.1.0" globals "^11.1.0" -"@babel/types@7.16.8", "@babel/types@^7.0.0", "@babel/types@^7.16.0", "@babel/types@^7.16.7", "@babel/types@^7.16.8", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4": - version "7.16.8" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.16.8.tgz#0ba5da91dd71e0a4e7781a30f22770831062e3c1" - integrity sha512-smN2DQc5s4M7fntyjGtyIPbRJv6wW4rU/94fmYJ7PKQuZkC0qGMHXJbg6sNGt12JmVr4k5YaptI/XtiLJBnmIg== +"@babel/types@7.17.0", "@babel/types@^7.0.0", "@babel/types@^7.16.0", "@babel/types@^7.16.7", "@babel/types@^7.16.8", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4": + version "7.17.0" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.17.0.tgz#a826e368bccb6b3d84acd76acad5c0d87342390b" + integrity sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw== dependencies: "@babel/helper-validator-identifier" "^7.16.7" to-fast-properties "^2.0.0" From 13f2a7c346f6e058ef1935604ae68e962ef219e9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 6 Feb 2022 03:42:48 +0000 Subject: [PATCH 090/117] Build(deps-dev): Bump eslint-plugin-compat from 4.0.1 to 4.0.2 (#12239) --- package.json | 2 +- yarn.lock | 48 ++++++++++++++++-------------------------------- 2 files changed, 17 insertions(+), 33 deletions(-) diff --git a/package.json b/package.json index d8eb8989e..4ca52040b 100644 --- a/package.json +++ b/package.json @@ -112,7 +112,7 @@ "eslint": "8.8.0", "eslint-config-prettier": "8.3.0", "eslint-formatter-friendly": "7.0.0", - "eslint-plugin-compat": "4.0.1", + "eslint-plugin-compat": "4.0.2", "eslint-plugin-import": "2.25.4", "eslint-plugin-jest": "26.0.0", "eslint-plugin-prettier-internal-rules": "2.0.1", diff --git a/yarn.lock b/yarn.lock index 69a583041..07f27d23c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1525,6 +1525,11 @@ resolved "https://registry.yarnpkg.com/@mdn/browser-compat-data/-/browser-compat-data-3.3.14.tgz#b72a37c654e598f9ae6f8335faaee182bebc6b28" integrity sha512-n2RC9d6XatVbWFdHLimzzUJxJ1KY8LdjqrW6YvGPiRmsHkhOUx74/Ct10x5Yo7bC/Jvqx7cDEW8IMPv/+vwEzA== +"@mdn/browser-compat-data@^4.1.5": + version "4.1.6" + resolved "https://registry.yarnpkg.com/@mdn/browser-compat-data/-/browser-compat-data-4.1.6.tgz#991b4393404babaac27cbc406dd28763aa14cec4" + integrity sha512-JbtcHGODAlkOT6eDV2rCyOguW3+o34ExMD9DOki6kxzeyN3IBtZ9PI0FlbKeD77Bm5U0UG5Heo4qnNbSajXUnw== + "@nodelib/fs.scandir@2.1.5": version "2.1.5" resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" @@ -2147,18 +2152,7 @@ browserslist-to-esbuild@1.1.1: dependencies: browserslist "^4.17.3" -browserslist@^4.16.8, browserslist@^4.17.5: - version "4.18.1" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.18.1.tgz#60d3920f25b6860eb917c6c7b185576f4d8b017f" - integrity sha512-8ScCzdpPwR2wQh8IT82CA2VgDwjHyqMovPBZSNH54+tm4Jk2pCuv90gmAdH6J84OCRWi0b4gMe6O6XPXuJnjgQ== - dependencies: - caniuse-lite "^1.0.30001280" - electron-to-chromium "^1.3.896" - escalade "^3.1.1" - node-releases "^2.0.1" - picocolors "^1.0.0" - -browserslist@^4.17.3, browserslist@^4.19.1: +browserslist@^4.16.8, browserslist@^4.17.3, browserslist@^4.17.5, browserslist@^4.19.1: version "4.19.1" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.19.1.tgz#4ac0435b35ab655896c31d53018b6dd5e9e4c9a3" integrity sha512-u2tbbG5PdKRTUoctO3NBD8FQ5HdPh1ZXPHzp1rwaa5jTc+RV9/+RlWiAIKmjRPQF+xbGM9Kklj5bZQFa2s/38A== @@ -2209,15 +2203,10 @@ camelcase@^5.3.1: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== -caniuse-lite@^1.0.30001267, caniuse-lite@^1.0.30001280: - version "1.0.30001283" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001283.tgz#8573685bdae4d733ef18f78d44ba0ca5fe9e896b" - integrity sha512-9RoKo841j1GQFSJz/nCXOj0sD7tHBtlowjYlrqIUS812x9/emfBLBt6IyMz1zIaYc/eRL8Cs6HPUVi2Hzq4sIg== - -caniuse-lite@^1.0.30001286: - version "1.0.30001298" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001298.tgz#0e690039f62e91c3ea581673d716890512e7ec52" - integrity sha512-AcKqikjMLlvghZL/vfTHorlQsLDhGRalYf1+GmWCf5SCMziSGjRYQW/JEksj14NaYHIR6KIhrFAy0HV5C25UzQ== +caniuse-lite@^1.0.30001286, caniuse-lite@^1.0.30001304: + version "1.0.30001307" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001307.tgz#27a67f13ebc4aa9c977e6b8256a11d5eafb30f27" + integrity sha512-+MXEMczJ4FuxJAUp0jvAl6Df0NI/OfW1RWEE61eSmzS7hw6lz4IKutbhbXendwq8BljfFuHtu26VWsg4afQ7Ng== ccount@^1.0.0: version "1.1.0" @@ -2731,11 +2720,6 @@ editorconfig@0.15.3: semver "^5.6.0" sigmund "^1.0.1" -electron-to-chromium@^1.3.896: - version "1.4.6" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.6.tgz#7bf0c03001bcdbd0fc57a45c6b23bc6432246ade" - integrity sha512-YDZAXP0P8USm0YoyIXWijxFT3tJHbt3WwY7CTQiK3+Ad6Ai/b9N4GqfDR107jfGilAfxl7Gkhb+h0KPoKXAgqw== - electron-to-chromium@^1.4.17: version "1.4.38" resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.38.tgz#10ea58d73d36b13e78d5024f3b74a352d3958d01" @@ -2999,15 +2983,15 @@ eslint-module-utils@^2.7.2: debug "^3.2.7" find-up "^2.1.0" -eslint-plugin-compat@4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-compat/-/eslint-plugin-compat-4.0.1.tgz#54e1b5095a7c3ef45701556fce1923d615c76445" - integrity sha512-vs4oa+WQcCRH7lD/0H8eh90tnSQurV3Cebt32x28JlP0Kn9UkQT+N8Pm939KavTO3/DiFPQyTPCNdYXcIWP/GA== +eslint-plugin-compat@4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/eslint-plugin-compat/-/eslint-plugin-compat-4.0.2.tgz#b058627a7d25d352adf0ec16dca8fcf92d9c7af7" + integrity sha512-xqvoO54CLTVaEYGMzhu35Wzwk/As7rCvz/2dqwnFiWi0OJccEtGIn+5qq3zqIu9nboXlpdBN579fZcItC73Ycg== dependencies: - "@mdn/browser-compat-data" "^3.3.14" + "@mdn/browser-compat-data" "^4.1.5" ast-metadata-inferer "^0.7.0" browserslist "^4.16.8" - caniuse-lite "^1.0.30001267" + caniuse-lite "^1.0.30001304" core-js "^3.16.2" find-up "^5.0.0" lodash.memoize "4.1.2" From ef4fd1467af267f487456e7cf41ec236f0e39a69 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 6 Feb 2022 06:27:41 +0000 Subject: [PATCH 091/117] Build(deps-dev): Bump @typescript-eslint/eslint-plugin (#12227) --- package.json | 2 +- yarn.lock | 76 +++++++++++++++++----------------------------------- 2 files changed, 26 insertions(+), 52 deletions(-) diff --git a/package.json b/package.json index 4ca52040b..3efbdf99b 100644 --- a/package.json +++ b/package.json @@ -96,7 +96,7 @@ "@glimmer/reference": "0.83.1", "@types/estree": "0.0.50", "@types/jest": "27.4.0", - "@typescript-eslint/eslint-plugin": "5.10.1", + "@typescript-eslint/eslint-plugin": "5.10.2", "babel-jest": "27.4.6", "babel-loader": "8.2.3", "benchmark": "2.1.4", diff --git a/yarn.lock b/yarn.lock index 07f27d23c..6a3a9bc6a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1699,14 +1699,14 @@ dependencies: "@types/yargs-parser" "*" -"@typescript-eslint/eslint-plugin@5.10.1": - version "5.10.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.10.1.tgz#870195d0f2146b36d11fc71131b75aba52354c69" - integrity sha512-xN3CYqFlyE/qOcy978/L0xLR2HlcAGIyIK5sMOasxaaAPfQRj/MmMV6OC3I7NZO84oEUdWCOju34Z9W8E0pFDQ== +"@typescript-eslint/eslint-plugin@5.10.2": + version "5.10.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.10.2.tgz#f8c1d59fc37bd6d9d11c97267fdfe722c4777152" + integrity sha512-4W/9lLuE+v27O/oe7hXJKjNtBLnZE8tQAFpapdxwSVHqtmIoPB1gph3+ahNwVuNL37BX7YQHyGF9Xv6XCnIX2Q== dependencies: - "@typescript-eslint/scope-manager" "5.10.1" - "@typescript-eslint/type-utils" "5.10.1" - "@typescript-eslint/utils" "5.10.1" + "@typescript-eslint/scope-manager" "5.10.2" + "@typescript-eslint/type-utils" "5.10.2" + "@typescript-eslint/utils" "5.10.2" debug "^4.3.2" functional-red-black-tree "^1.0.1" ignore "^5.1.8" @@ -1714,46 +1714,28 @@ semver "^7.3.5" tsutils "^3.21.0" -"@typescript-eslint/scope-manager@5.10.1": - version "5.10.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.10.1.tgz#f0539c73804d2423506db2475352a4dec36cd809" - integrity sha512-Lyvi559Gvpn94k7+ElXNMEnXu/iundV5uFmCUNnftbFrUbAJ1WBoaGgkbOBm07jVZa682oaBU37ao/NGGX4ZDg== +"@typescript-eslint/scope-manager@5.10.2": + version "5.10.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.10.2.tgz#92c0bc935ec00f3d8638cdffb3d0e70c9b879639" + integrity sha512-39Tm6f4RoZoVUWBYr3ekS75TYgpr5Y+X0xLZxXqcZNDWZdJdYbKd3q2IR4V9y5NxxiPu/jxJ8XP7EgHiEQtFnw== dependencies: - "@typescript-eslint/types" "5.10.1" - "@typescript-eslint/visitor-keys" "5.10.1" + "@typescript-eslint/types" "5.10.2" + "@typescript-eslint/visitor-keys" "5.10.2" -"@typescript-eslint/type-utils@5.10.1": - version "5.10.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.10.1.tgz#5e526c00142585e40ab1503e83f1ff608c367405" - integrity sha512-AfVJkV8uck/UIoDqhu+ptEdBoQATON9GXnhOpPLzkQRJcSChkvD//qsz9JVffl2goxX+ybs5klvacE9vmrQyCw== +"@typescript-eslint/type-utils@5.10.2": + version "5.10.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.10.2.tgz#ad5acdf98a7d2ab030bea81f17da457519101ceb" + integrity sha512-uRKSvw/Ccs5FYEoXW04Z5VfzF2iiZcx8Fu7DGIB7RHozuP0VbKNzP1KfZkHBTM75pCpsWxIthEH1B33dmGBKHw== dependencies: - "@typescript-eslint/utils" "5.10.1" + "@typescript-eslint/utils" "5.10.2" debug "^4.3.2" tsutils "^3.21.0" -"@typescript-eslint/types@5.10.1": - version "5.10.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.10.1.tgz#dca9bd4cb8c067fc85304a31f38ec4766ba2d1ea" - integrity sha512-ZvxQ2QMy49bIIBpTqFiOenucqUyjTQ0WNLhBM6X1fh1NNlYAC6Kxsx8bRTY3jdYsYg44a0Z/uEgQkohbR0H87Q== - "@typescript-eslint/types@5.10.2": version "5.10.2" resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.10.2.tgz#604d15d795c4601fffba6ecb4587ff9fdec68ce8" integrity sha512-Qfp0qk/5j2Rz3p3/WhWgu4S1JtMcPgFLnmAKAW061uXxKSa7VWKZsDXVaMXh2N60CX9h6YLaBoy9PJAfCOjk3w== -"@typescript-eslint/typescript-estree@5.10.1": - version "5.10.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.10.1.tgz#b268e67be0553f8790ba3fe87113282977adda15" - integrity sha512-PwIGnH7jIueXv4opcwEbVGDATjGPO1dx9RkUl5LlHDSe+FXxPwFL5W/qYd5/NHr7f6lo/vvTrAzd0KlQtRusJQ== - dependencies: - "@typescript-eslint/types" "5.10.1" - "@typescript-eslint/visitor-keys" "5.10.1" - debug "^4.3.2" - globby "^11.0.4" - is-glob "^4.0.3" - semver "^7.3.5" - tsutils "^3.21.0" - "@typescript-eslint/typescript-estree@5.10.2": version "5.10.2" resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.10.2.tgz#810906056cd3ddcb35aa333fdbbef3713b0fe4a7" @@ -1767,26 +1749,18 @@ semver "^7.3.5" tsutils "^3.21.0" -"@typescript-eslint/utils@5.10.1", "@typescript-eslint/utils@^5.10.0": - version "5.10.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.10.1.tgz#fa682a33af47080ba2c4368ee0ad2128213a1196" - integrity sha512-RRmlITiUbLuTRtn/gcPRi4202niF+q7ylFLCKu4c+O/PcpRvZ/nAUwQ2G00bZgpWkhrNLNnvhZLbDn8Ml0qsQw== +"@typescript-eslint/utils@5.10.2", "@typescript-eslint/utils@^5.10.0": + version "5.10.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.10.2.tgz#1fcd37547c32c648ab11aea7173ec30060ee87a8" + integrity sha512-vuJaBeig1NnBRkf7q9tgMLREiYD7zsMrsN1DA3wcoMDvr3BTFiIpKjGiYZoKPllfEwN7spUjv7ZqD+JhbVjEPg== dependencies: "@types/json-schema" "^7.0.9" - "@typescript-eslint/scope-manager" "5.10.1" - "@typescript-eslint/types" "5.10.1" - "@typescript-eslint/typescript-estree" "5.10.1" + "@typescript-eslint/scope-manager" "5.10.2" + "@typescript-eslint/types" "5.10.2" + "@typescript-eslint/typescript-estree" "5.10.2" eslint-scope "^5.1.1" eslint-utils "^3.0.0" -"@typescript-eslint/visitor-keys@5.10.1": - version "5.10.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.10.1.tgz#29102de692f59d7d34ecc457ed59ab5fc558010b" - integrity sha512-NjQ0Xinhy9IL979tpoTRuLKxMc0zJC7QVSdeerXs2/QvOy2yRkzX5dRb10X5woNUdJgU8G3nYRDlI33sq1K4YQ== - dependencies: - "@typescript-eslint/types" "5.10.1" - eslint-visitor-keys "^3.0.0" - "@typescript-eslint/visitor-keys@5.10.2": version "5.10.2" resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.10.2.tgz#fdbf272d8e61c045d865bd6c8b41bea73d222f3d" From 792dbbb339a2d068d7c27987000c1bbb0571b79d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 6 Feb 2022 06:40:23 +0000 Subject: [PATCH 092/117] Build(deps-dev): Bump @babel/core from 7.16.12 to 7.17.0 (#12230) --- package.json | 2 +- yarn.lock | 91 +++++++++++++++++++++++++++++++++++----------------- 2 files changed, 62 insertions(+), 31 deletions(-) diff --git a/package.json b/package.json index 3efbdf99b..4467955cb 100644 --- a/package.json +++ b/package.json @@ -89,7 +89,7 @@ "yaml-unist-parser": "1.3.1" }, "devDependencies": { - "@babel/core": "7.16.12", + "@babel/core": "7.17.0", "@babel/preset-env": "7.16.11", "@babel/types": "7.17.0", "@esbuild-plugins/node-modules-polyfill": "0.1.4", diff --git a/yarn.lock b/yarn.lock index 6a3a9bc6a..2b9ceda38 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,6 +2,14 @@ # yarn lockfile v1 +"@ampproject/remapping@^2.0.0": + version "2.0.3" + resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.0.3.tgz#899999b5b7a5ce570d6d9bafdcc1e62cea466cf3" + integrity sha512-DmIAguV77yFP0MGVFWknCMgSLAtsLR3VlRTteR6xgMpIfYtwaZuMvjGv5YlpiqN7S/5q87DHyuIx8oa15kiyag== + dependencies: + "@jridgewell/sourcemap-codec" "^1.4.9" + "@jridgewell/trace-mapping" "^0.2.7" + "@angular/compiler@12.2.16": version "12.2.16" resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-12.2.16.tgz#1aa9b3fbd3fe900118ab371d30c090fbc137a15f" @@ -28,33 +36,33 @@ resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.16.8.tgz#31560f9f29fdf1868de8cb55049538a1b9732a60" integrity sha512-m7OkX0IdKLKPpBlJtF561YJal5y/jyI5fNfWbPxh2D/nbzzGI4qRyrD8xO2jB24u7l+5I2a43scCG2IrfjC50Q== -"@babel/core@7.16.12", "@babel/core@^7.1.0", "@babel/core@^7.12.3", "@babel/core@^7.7.2", "@babel/core@^7.8.0": - version "7.16.12" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.16.12.tgz#5edc53c1b71e54881315923ae2aedea2522bb784" - integrity sha512-dK5PtG1uiN2ikk++5OzSYsitZKny4wOCD0nrO4TqnW4BVBTQ2NGS3NgilvT/TEyxTST7LNyWV/T4tXDoD3fOgg== +"@babel/core@7.17.0", "@babel/core@^7.1.0", "@babel/core@^7.12.3", "@babel/core@^7.7.2", "@babel/core@^7.8.0": + version "7.17.0" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.17.0.tgz#16b8772b0a567f215839f689c5ded6bb20e864d5" + integrity sha512-x/5Ea+RO5MvF9ize5DeVICJoVrNv0Mi2RnIABrZEKYvPEpldXwauPkgvYA17cKa6WpU3LoYvYbuEMFtSNFsarA== dependencies: + "@ampproject/remapping" "^2.0.0" "@babel/code-frame" "^7.16.7" - "@babel/generator" "^7.16.8" + "@babel/generator" "^7.17.0" "@babel/helper-compilation-targets" "^7.16.7" "@babel/helper-module-transforms" "^7.16.7" - "@babel/helpers" "^7.16.7" - "@babel/parser" "^7.16.12" + "@babel/helpers" "^7.17.0" + "@babel/parser" "^7.17.0" "@babel/template" "^7.16.7" - "@babel/traverse" "^7.16.10" - "@babel/types" "^7.16.8" + "@babel/traverse" "^7.17.0" + "@babel/types" "^7.17.0" convert-source-map "^1.7.0" debug "^4.1.0" gensync "^1.0.0-beta.2" json5 "^2.1.2" semver "^6.3.0" - source-map "^0.5.0" -"@babel/generator@^7.16.8", "@babel/generator@^7.7.2": - version "7.16.8" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.16.8.tgz#359d44d966b8cd059d543250ce79596f792f2ebe" - integrity sha512-1ojZwE9+lOXzcWdWmO6TbUzDfqLD39CmEhN8+2cX9XkDo5yW1OpgfejfliysR2AWLpMamTiOiAp/mtroaymhpw== +"@babel/generator@^7.17.0", "@babel/generator@^7.7.2": + version "7.17.0" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.17.0.tgz#7bd890ba706cd86d3e2f727322346ffdbf98f65e" + integrity sha512-I3Omiv6FGOC29dtlZhkfXO6pgkmukJSlT26QjVvS1DGZe/NzSVCPG41X0tS21oZkJYlovfj9qDWgKP+Cn4bXxw== dependencies: - "@babel/types" "^7.16.8" + "@babel/types" "^7.17.0" jsesc "^2.5.1" source-map "^0.5.0" @@ -283,14 +291,14 @@ "@babel/traverse" "^7.16.8" "@babel/types" "^7.16.8" -"@babel/helpers@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.16.7.tgz#7e3504d708d50344112767c3542fc5e357fffefc" - integrity sha512-9ZDoqtfY7AuEOt3cxchfii6C7GDyyMBffktR5B2jvWv8u2+efwvpnVKXMWzNehqy68tKgAfSwfdw/lWpthS2bw== +"@babel/helpers@^7.17.0": + version "7.17.0" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.17.0.tgz#79cdf6c66a579f3a7b5e739371bc63ca0306886b" + integrity sha512-Xe/9NFxjPwELUvW2dsukcMZIp6XwPSbI4ojFBJuX5ramHuVE22SVcZIwqzdWo5uCgeTXW8qV97lMvSOjq+1+nQ== dependencies: "@babel/template" "^7.16.7" - "@babel/traverse" "^7.16.7" - "@babel/types" "^7.16.7" + "@babel/traverse" "^7.17.0" + "@babel/types" "^7.17.0" "@babel/highlight@^7.0.0", "@babel/highlight@^7.16.7": version "7.16.7" @@ -301,11 +309,16 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@7.16.12", "@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.10", "@babel/parser@^7.16.12", "@babel/parser@^7.16.7", "@babel/parser@^7.7.2": +"@babel/parser@7.16.12": version "7.16.12" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.16.12.tgz#9474794f9a650cf5e2f892444227f98e28cdf8b6" integrity sha512-VfaV15po8RiZssrkPweyvbGVSe4x2y+aciFCgn0n0/SJMR22cwofRV1mtnJQYcSB1wUTaA/X1LnA3es66MCO5A== +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.7", "@babel/parser@^7.17.0", "@babel/parser@^7.7.2": + version "7.17.0" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.17.0.tgz#f0ac33eddbe214e4105363bb17c3341c5ffcc43c" + integrity sha512-VKXSCQx5D8S04ej+Dqsr1CzYvvWgf20jIw2D+YhQCrIlr2UZGaDds23Y0xg75/skOxpLCRpUZvk/1EAVkGoDOw== + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.7.tgz#4eda6d6c2a0aa79c70fa7b6da67763dfe2141050" @@ -926,23 +939,23 @@ "@babel/parser" "^7.16.7" "@babel/types" "^7.16.7" -"@babel/traverse@^7.13.0", "@babel/traverse@^7.16.10", "@babel/traverse@^7.16.7", "@babel/traverse@^7.16.8", "@babel/traverse@^7.7.2": - version "7.16.10" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.16.10.tgz#448f940defbe95b5a8029975b051f75993e8239f" - integrity sha512-yzuaYXoRJBGMlBhsMJoUW7G1UmSb/eXr/JHYM/MsOJgavJibLwASijW7oXBdw3NQ6T0bW7Ty5P/VarOs9cHmqw== +"@babel/traverse@^7.13.0", "@babel/traverse@^7.16.7", "@babel/traverse@^7.16.8", "@babel/traverse@^7.17.0", "@babel/traverse@^7.7.2": + version "7.17.0" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.17.0.tgz#3143e5066796408ccc880a33ecd3184f3e75cd30" + integrity sha512-fpFIXvqD6kC7c7PUNnZ0Z8cQXlarCLtCUpt2S1Dx7PjoRtCFffvOkHHSom+m5HIxMZn5bIBVb71lhabcmjEsqg== dependencies: "@babel/code-frame" "^7.16.7" - "@babel/generator" "^7.16.8" + "@babel/generator" "^7.17.0" "@babel/helper-environment-visitor" "^7.16.7" "@babel/helper-function-name" "^7.16.7" "@babel/helper-hoist-variables" "^7.16.7" "@babel/helper-split-export-declaration" "^7.16.7" - "@babel/parser" "^7.16.10" - "@babel/types" "^7.16.8" + "@babel/parser" "^7.17.0" + "@babel/types" "^7.17.0" debug "^4.1.0" globals "^11.1.0" -"@babel/types@7.17.0", "@babel/types@^7.0.0", "@babel/types@^7.16.0", "@babel/types@^7.16.7", "@babel/types@^7.16.8", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4": +"@babel/types@7.17.0", "@babel/types@^7.0.0", "@babel/types@^7.16.0", "@babel/types@^7.16.7", "@babel/types@^7.16.8", "@babel/types@^7.17.0", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4": version "7.17.0" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.17.0.tgz#a826e368bccb6b3d84acd76acad5c0d87342390b" integrity sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw== @@ -1520,6 +1533,24 @@ "@types/yargs" "^16.0.0" chalk "^4.0.0" +"@jridgewell/resolve-uri@^3.0.3": + version "3.0.4" + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.0.4.tgz#b876e3feefb9c8d3aa84014da28b5e52a0640d72" + integrity sha512-cz8HFjOFfUBtvN+NXYSFMHYRdxZMaEl0XypVrhzxBgadKIXhIkRd8aMeHhmF56Sl7SuS8OnUpQ73/k9LE4VnLg== + +"@jridgewell/sourcemap-codec@^1.4.9": + version "1.4.10" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.10.tgz#baf57b4e2a690d4f38560171f91783656b7f8186" + integrity sha512-Ht8wIW5v165atIX1p+JvKR5ONzUyF4Ac8DZIQ5kZs9zrb6M8SJNXpx1zn04rn65VjBMygRoMXcyYwNK0fT7bEg== + +"@jridgewell/trace-mapping@^0.2.7": + version "0.2.7" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.2.7.tgz#d45be64544788e32c7ea5c8faa16a7000d840b5b" + integrity sha512-ZKfRhw6eK2vvdWqpU7DQq49+BZESqh5rmkYpNhuzkz01tapssl2sNNy6uMUIgrTtUWQDijomWJzJRCoevVrfgw== + dependencies: + "@jridgewell/resolve-uri" "^3.0.3" + "@jridgewell/sourcemap-codec" "^1.4.9" + "@mdn/browser-compat-data@^3.3.14": version "3.3.14" resolved "https://registry.yarnpkg.com/@mdn/browser-compat-data/-/browser-compat-data-3.3.14.tgz#b72a37c654e598f9ae6f8335faaee182bebc6b28" From 6d036cf89564a1ef8513f54088b93f4df3f2dda1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 6 Feb 2022 06:58:45 +0000 Subject: [PATCH 093/117] Build(deps-dev): Bump cspell from 5.17.0 to 5.18.3 (#12236) --- package.json | 2 +- yarn.lock | 167 ++++++++++++++++++++++++++++----------------------- 2 files changed, 94 insertions(+), 75 deletions(-) diff --git a/package.json b/package.json index 4467955cb..b93a03030 100644 --- a/package.json +++ b/package.json @@ -104,7 +104,7 @@ "builtin-modules": "3.2.0", "core-js": "3.21.0", "cross-env": "7.0.3", - "cspell": "5.17.0", + "cspell": "5.18.3", "enquirer": "2.3.6", "esbuild": "0.14.14", "esbuild-plugin-text-replace": "1.2.0", diff --git a/yarn.lock b/yarn.lock index 2b9ceda38..c2a121670 100644 --- a/yarn.lock +++ b/yarn.lock @@ -968,14 +968,14 @@ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@cspell/cspell-bundled-dicts@^5.17.0": - version "5.17.0" - resolved "https://registry.yarnpkg.com/@cspell/cspell-bundled-dicts/-/cspell-bundled-dicts-5.17.0.tgz#c1172dab61f1d002724771b7fd112db5b9f22395" - integrity sha512-KBoAehDqwCo44cPcGd6d0dLhVaUeYu0t61IykcYoybELyFQY3afsLCIKvkRPFYmAYEKjjguqhfJZbYQpYdCeKg== +"@cspell/cspell-bundled-dicts@^5.18.3": + version "5.18.3" + resolved "https://registry.yarnpkg.com/@cspell/cspell-bundled-dicts/-/cspell-bundled-dicts-5.18.3.tgz#194d01f1171707268410e65734b60974a60abe43" + integrity sha512-Vrhgfx5cvGYCP+zgydZkurXWLNqncAySCbzzXf+O66cXxccVSL6ztnPPvQNMjrwj1lFndVSpRhgWiiL64Akafw== dependencies: "@cspell/dict-ada" "^1.1.2" "@cspell/dict-aws" "^1.0.14" - "@cspell/dict-bash" "^1.0.17" + "@cspell/dict-bash" "^1.0.18" "@cspell/dict-companies" "^2.0.2" "@cspell/dict-cpp" "^1.1.40" "@cspell/dict-cryptocurrencies" "^1.0.10" @@ -985,7 +985,7 @@ "@cspell/dict-dotnet" "^1.0.32" "@cspell/dict-elixir" "^1.0.26" "@cspell/dict-en-gb" "^1.1.33" - "@cspell/dict-en_us" "^2.1.4" + "@cspell/dict-en_us" "^2.1.5" "@cspell/dict-filetypes" "^2.0.1" "@cspell/dict-fonts" "^1.0.14" "@cspell/dict-fullstack" "^2.0.4" @@ -1003,18 +1003,24 @@ "@cspell/dict-powershell" "^1.0.19" "@cspell/dict-public-licenses" "^1.0.4" "@cspell/dict-python" "^2.0.5" + "@cspell/dict-r" "^1.0.1" "@cspell/dict-ruby" "^1.0.15" "@cspell/dict-rust" "^1.0.23" "@cspell/dict-scala" "^1.0.21" - "@cspell/dict-software-terms" "^2.0.12" + "@cspell/dict-software-terms" "^2.0.13" "@cspell/dict-swift" "^1.0.1" - "@cspell/dict-typescript" "^1.0.19" + "@cspell/dict-typescript" "^1.0.20" "@cspell/dict-vue" "^2.0.1" -"@cspell/cspell-types@^5.17.0": - version "5.17.0" - resolved "https://registry.yarnpkg.com/@cspell/cspell-types/-/cspell-types-5.17.0.tgz#7c43db19af1c02e880d9b31df38d62f1cbc0feb4" - integrity sha512-J8oOIpXtubbQpLbjymRexljxWi0a+jxVaY7wVTejGLidvZRIaxSunjd2AZ6j/rPcAPWVZGleilcs3AU0DKYpMw== +"@cspell/cspell-pipe@^5.18.3": + version "5.18.3" + resolved "https://registry.yarnpkg.com/@cspell/cspell-pipe/-/cspell-pipe-5.18.3.tgz#b2e07092512d49a8fca41152daf4d18e29ccd357" + integrity sha512-2F0Isir1gCJPuIHuhAnWiYyyRMbiN3+zgH7JpVaX/abSQcm8AnSN5Ea2T2U/nmJmu9qLuFSi/WyHtsxhOghkKw== + +"@cspell/cspell-types@^5.18.3": + version "5.18.3" + resolved "https://registry.yarnpkg.com/@cspell/cspell-types/-/cspell-types-5.18.3.tgz#ad4b792ead2369ba901adc5467cc87d2d370b5fb" + integrity sha512-AV1I8kK2O+57+QSyBe7uiVIqvnA//AO7r5uVkfuK0eqLyaQu8SydFq54PG2uk1+SHDfFvmIhJ1ckBgYB5JaIwg== "@cspell/dict-ada@^1.1.2": version "1.1.2" @@ -1026,10 +1032,10 @@ resolved "https://registry.yarnpkg.com/@cspell/dict-aws/-/dict-aws-1.0.14.tgz#beddede1053ce3622400e36c65da9fd2954e939d" integrity sha512-K21CfB4ZpKYwwDQiPfic2zJA/uxkbsd4IQGejEvDAhE3z8wBs6g6BwwqdVO767M9NgZqc021yAVpr79N5pWe3w== -"@cspell/dict-bash@^1.0.17": - version "1.0.17" - resolved "https://registry.yarnpkg.com/@cspell/dict-bash/-/dict-bash-1.0.17.tgz#5e10e8e276e646f8e77fd3d117b49d25b83d52ab" - integrity sha512-BlX+pnDlLmIf776C9d71QjXl4NOIz+yloeixx1ZZjrwvKPLF+ffE/Ez13eV+D9R2Ps1rW10UvW8u3Hbmwme+Fw== +"@cspell/dict-bash@^1.0.18": + version "1.0.18" + resolved "https://registry.yarnpkg.com/@cspell/dict-bash/-/dict-bash-1.0.18.tgz#1a2a07075c1ea97923f405e32713bf23d26d67ab" + integrity sha512-kJIqQ+FD2TCSgaaP5XLEDgy222+pVWTc+VhveNO++gnTWU3BCVjkD5LjfW7g/CmGONnz+nwXDueWspProaSdJw== "@cspell/dict-companies@^2.0.2": version "2.0.2" @@ -1076,10 +1082,10 @@ resolved "https://registry.yarnpkg.com/@cspell/dict-en-gb/-/dict-en-gb-1.1.33.tgz#7f1fd90fc364a5cb77111b5438fc9fcf9cc6da0e" integrity sha512-tKSSUf9BJEV+GJQAYGw5e+ouhEe2ZXE620S7BLKe3ZmpnjlNG9JqlnaBhkIMxKnNFkLY2BP/EARzw31AZnOv4g== -"@cspell/dict-en_us@^2.1.4": - version "2.1.4" - resolved "https://registry.yarnpkg.com/@cspell/dict-en_us/-/dict-en_us-2.1.4.tgz#be68ed8601dd84d41a40a1fee23b521d3b60e688" - integrity sha512-W4b+aIvZ637FqtTmrTe/T9i9748cuTQf82eWUgV9O296WzZj7rCxm+rzOrmRTAcCmU+9+6Cdsr0unETFQfuxww== +"@cspell/dict-en_us@^2.1.5": + version "2.1.5" + resolved "https://registry.yarnpkg.com/@cspell/dict-en_us/-/dict-en_us-2.1.5.tgz#456914e631d10d936fe1a20313c5f9cce78e8b60" + integrity sha512-Q+LgFjrQw4gJnP+aHbVW5/TZlx9ccOCcjBsZYpTEXT/VW04NUX7+EN8bOri+wTEppSQVfl6NQ3bVkzPIjGXLzA== "@cspell/dict-filetypes@^2.0.1": version "2.0.1" @@ -1166,6 +1172,11 @@ resolved "https://registry.yarnpkg.com/@cspell/dict-python/-/dict-python-2.0.5.tgz#eebe6f53a8b5f29addd963951a701a7afedfe6b0" integrity sha512-WkyGYtNmUsOHsWixck7AxNvveDgVPqw0H51hzIY+/5u3c94wZUweIj0vfFOGIfOBq8e1ZxpjumKBxVDGXTmQkw== +"@cspell/dict-r@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@cspell/dict-r/-/dict-r-1.0.1.tgz#09fecd4748dd50d1a7f61d4bf36b72476b12120d" + integrity sha512-Lrtu6ULfA16tZ2nfq1AkH3uO8IbTbAqxSt/Konif698yB7QM5keEInhCRzT/E2nYrIKumayNwqVUZxabIWkoSQ== + "@cspell/dict-ruby@^1.0.15": version "1.0.15" resolved "https://registry.yarnpkg.com/@cspell/dict-ruby/-/dict-ruby-1.0.15.tgz#5da9f54d97deed31cc35772502282b45b20e7aa7" @@ -1181,20 +1192,20 @@ resolved "https://registry.yarnpkg.com/@cspell/dict-scala/-/dict-scala-1.0.21.tgz#bfda392329061e2352fbcd33d228617742c93831" integrity sha512-5V/R7PRbbminTpPS3ywgdAalI9BHzcEjEj9ug4kWYvBIGwSnS7T6QCFCiu+e9LvEGUqQC+NHgLY4zs1NaBj2vA== -"@cspell/dict-software-terms@^2.0.12": - version "2.0.12" - resolved "https://registry.yarnpkg.com/@cspell/dict-software-terms/-/dict-software-terms-2.0.12.tgz#9db09e7871dd6d80b56d8b0b584f3681a436e3fe" - integrity sha512-zsgraHo5PIDY1mTaWGA2NsxhO8g85inD758pEQL1MeKTFlGiFHT4vW+faryzhvBT5LOMH4LnTs0yGrMyn7JlkQ== +"@cspell/dict-software-terms@^2.0.13": + version "2.0.14" + resolved "https://registry.yarnpkg.com/@cspell/dict-software-terms/-/dict-software-terms-2.0.14.tgz#5f113eaaae53c47174b9cc9b111bdafb3ec3c1c9" + integrity sha512-0tuMmBSsOfL5HH6un8gt/lF9Rvs/jXMEQyjjmd04IznVL7X5kxVhkrS8sbudq2orPgM5HIa8odPYdFuTCKDvNw== "@cspell/dict-swift@^1.0.1": version "1.0.1" resolved "https://registry.yarnpkg.com/@cspell/dict-swift/-/dict-swift-1.0.1.tgz#e289680bf79538096eb7c36b21aeb97e97fdd9fc" integrity sha512-M4onLt10Ptld8Q1BwBit8BBYVZ0d2ZEiBTW1AXekIVPQkPKkwa/RkGlR0GESWNTC2Zbmt/qge7trksVdaYVWFQ== -"@cspell/dict-typescript@^1.0.19": - version "1.0.19" - resolved "https://registry.yarnpkg.com/@cspell/dict-typescript/-/dict-typescript-1.0.19.tgz#44f3ad1c93ffc89ebf98fa6964e1634e6612fc30" - integrity sha512-qmJApzoVskDeJnLZzZMaafEDGbEg5Elt4c3Mpg49SWzIHm1N4VXCp5CcFfHsOinJ30dGrs3ARAJGJZIw56kK6A== +"@cspell/dict-typescript@^1.0.20": + version "1.0.20" + resolved "https://registry.yarnpkg.com/@cspell/dict-typescript/-/dict-typescript-1.0.20.tgz#2a28bb94a06490b25bbb9180b875d6f16ebb8400" + integrity sha512-yIuGeeZtQA2gqpGefGjZqBl8iGJpIYWz0QzDqsscNi2qfSnLsbjM0RkRbTehM8y9gGGe7xfgUP5adxceJa5Krg== "@cspell/dict-vue@^2.0.1": version "2.0.1" @@ -2363,18 +2374,18 @@ commander@^2.19.0: resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== -commander@^8.3.0: - version "8.3.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-8.3.0.tgz#4837ea1b2da67b9c616a67afbb0fafee567bca66" - integrity sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww== +commander@^9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-9.0.0.tgz#86d58f24ee98126568936bd1d3574e0308a99a40" + integrity sha512-JJfP2saEKbQqvW+FI93OYUB4ByV5cizMpFMiiJI8xDbBvQvSkIk0VvQdn1CZ8mqAO8Loq2h0gYTYtDFUZUeERw== -comment-json@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/comment-json/-/comment-json-4.1.1.tgz#49df4948704bebb1cc0ffa6910e25669b668b7c5" - integrity sha512-v8gmtPvxhBlhdRBLwdHSjGy9BgA23t9H1FctdQKyUrErPjSrJcdDMqBq9B4Irtm7w3TNYLQJNH6ARKnpyag1sA== +comment-json@^4.2.2: + version "4.2.2" + resolved "https://registry.yarnpkg.com/comment-json/-/comment-json-4.2.2.tgz#5fae70a94e0c8f84a077bd31df5aa5269252f293" + integrity sha512-H8T+kl3nZesZu41zO2oNXIJWojNeK3mHxCLrsBNu6feksBXsgb+PtYz5daP5P86A0F3sz3840KVYehr04enISQ== dependencies: array-timsort "^1.0.3" - core-util-is "^1.0.2" + core-util-is "^1.0.3" esprima "^4.0.1" has-own-prop "^2.0.0" repeat-string "^1.6.1" @@ -2431,7 +2442,7 @@ core-js@3.21.0, core-js@^3.16.2, core-js@^3.4.1: resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.21.0.tgz#f479dbfc3dffb035a0827602dd056839a774aa71" integrity sha512-YUdI3fFu4TF/2WykQ2xzSiTQdldLB4KVuL9WeAy5XONZYt5Cun/fpQvctoKbCgvPhmzADeesTk/j2Rdx77AcKQ== -core-util-is@^1.0.2: +core-util-is@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== @@ -2479,40 +2490,41 @@ crypto-random-string@^2.0.0: resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5" integrity sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA== -cspell-gitignore@^5.17.0: - version "5.17.0" - resolved "https://registry.yarnpkg.com/cspell-gitignore/-/cspell-gitignore-5.17.0.tgz#5e6499e8bafd81b4d2972ac0a35a12412f2d71a1" - integrity sha512-nHWOSdTXfCZ0V62F/VfpFsHEkuShvz+wk4TZecLzcmcN2/nyR4wJXvqk6bowZoVCVYBnVvW26GxW5Z8HNX/imA== +cspell-gitignore@^5.18.3: + version "5.18.3" + resolved "https://registry.yarnpkg.com/cspell-gitignore/-/cspell-gitignore-5.18.3.tgz#b10cc327c75256f7e30f11f9adb711ae34b33537" + integrity sha512-s5vuxft/v1qypdHIomk3XiMwJ/4ZhaOTsupHV9OB4KBk1ivpvUuB0fdU7TCAQQk1fhegH++GF2925ParuL2EFg== dependencies: - cspell-glob "^5.17.0" + cspell-glob "^5.18.3" find-up "^5.0.0" -cspell-glob@^5.17.0: - version "5.17.0" - resolved "https://registry.yarnpkg.com/cspell-glob/-/cspell-glob-5.17.0.tgz#2a655828a5c705232388499a4b2dfb5f838527b5" - integrity sha512-ajzwLk+oMIjzZtYQSELl6AAY5E6wh/7jyQIlU087wUOL7ObtPSPu33S4ILC1TWa87as9hA6232rU8LPQvpZqIQ== +cspell-glob@^5.18.3: + version "5.18.3" + resolved "https://registry.yarnpkg.com/cspell-glob/-/cspell-glob-5.18.3.tgz#b439ea361c3289bb352291238d1cef8659005181" + integrity sha512-wiEmatsXbfc0IVQiL1lOW/UZubPy8iUcGw3akDydX0m0dMstqgqDDx1Dqs4zj0YUz5YhYSMHYwTV3rgrudrHhw== dependencies: micromatch "^4.0.4" -cspell-io@^5.17.0: - version "5.17.0" - resolved "https://registry.yarnpkg.com/cspell-io/-/cspell-io-5.17.0.tgz#a3a61cf7c64408edf8d1af761c2f9ecde6a675ef" - integrity sha512-eeYD6YsMZQkvu8+LXMMg+bpkVEz/1NlABepniZK+j78xfzP5o76SHmetL4cvhB4mkB4PWotOAY6vCHlDM1AoKQ== +cspell-io@^5.18.3: + version "5.18.3" + resolved "https://registry.yarnpkg.com/cspell-io/-/cspell-io-5.18.3.tgz#30c5d35a038e262a0f240f02f37e6642c407411a" + integrity sha512-oAlG5jiBV4Wn4C47xVfpHiz0kcD2li1VXZPh3NAfUYb2eEDP21OlZXT3fFTNo9jN3YKoYirlVh/pVIFqFWN2Vw== -cspell-lib@^5.17.0: - version "5.17.0" - resolved "https://registry.yarnpkg.com/cspell-lib/-/cspell-lib-5.17.0.tgz#151cd761dfe66ce3755cf4ab9ff9280bd75ed627" - integrity sha512-K9p495tKjUXC8EAW38N2x9Gd/D5QPPqiv6n5sJoydHiaSI8i3eO63mR/kDy+1AGeH8RhKWLsF3Mb15a7z2xGOg== +cspell-lib@^5.18.3: + version "5.18.3" + resolved "https://registry.yarnpkg.com/cspell-lib/-/cspell-lib-5.18.3.tgz#db0aa7924676442d50576b0ffd629db5e4ffa040" + integrity sha512-NxCDRYn7BKSLSf64QOg+o0fXDgrdalPsFfW26JkExPun8YBYBLDDvF9MgjmsJ8267Jv23FaOdfZzHzGwvsVA/w== dependencies: - "@cspell/cspell-bundled-dicts" "^5.17.0" - "@cspell/cspell-types" "^5.17.0" + "@cspell/cspell-bundled-dicts" "^5.18.3" + "@cspell/cspell-types" "^5.18.3" clear-module "^4.1.2" - comment-json "^4.1.1" + comment-json "^4.2.2" configstore "^5.0.1" cosmiconfig "^7.0.1" - cspell-glob "^5.17.0" - cspell-io "^5.17.0" - cspell-trie-lib "^5.17.0" + cspell-glob "^5.18.3" + cspell-io "^5.18.3" + cspell-trie-lib "^5.18.3" + fast-equals "^2.0.4" find-up "^5.0.0" fs-extra "^10.0.0" gensequence "^3.1.1" @@ -2521,25 +2533,27 @@ cspell-lib@^5.17.0: resolve-global "^1.0.0" vscode-uri "^3.0.3" -cspell-trie-lib@^5.17.0: - version "5.17.0" - resolved "https://registry.yarnpkg.com/cspell-trie-lib/-/cspell-trie-lib-5.17.0.tgz#85dc5388f003bc453871706ce93d4d03078a4a30" - integrity sha512-CExWZKxZ28M4BYmQsxZTkUKHF7aC/YKJcmDA2t77b3FvpH+iycQnygiNki5b1bmfMkOuD7b1TYd1PBjpJ7aoug== +cspell-trie-lib@^5.18.3: + version "5.18.3" + resolved "https://registry.yarnpkg.com/cspell-trie-lib/-/cspell-trie-lib-5.18.3.tgz#90e8846d797f9633d5324c794361133da076b679" + integrity sha512-JDsHXdJ6IniOVuuR7DPoX5gdjMtkQmEIDrra9GtzXR5uQCkzpB7NDwD8YVaDEo7/NBjWUr5hZd0mhFy4CgYddw== dependencies: + "@cspell/cspell-pipe" "^5.18.3" fs-extra "^10.0.0" gensequence "^3.1.1" -cspell@5.17.0: - version "5.17.0" - resolved "https://registry.yarnpkg.com/cspell/-/cspell-5.17.0.tgz#74ca92fa44d2cb44f79a98ff98f749042e593010" - integrity sha512-LpXMpXVRp6V9Id2WRJ4y3pDRqYhDyJrLERbeGIESnLv8zMovGC7ZYTo648YZ1l+OLw5gUKB857DGT01muqCwqA== +cspell@5.18.3: + version "5.18.3" + resolved "https://registry.yarnpkg.com/cspell/-/cspell-5.18.3.tgz#8f9d6b5df7837ced31bb6684261a8085fb6846d6" + integrity sha512-mX3sG6xqHQEklXpQEvRr1gIwkum3rTANTXLF4wf3PWb3XsfH3M/wGD0gQiP+EqgZopqu9CCo9+r7FQv2tc9dGQ== dependencies: + "@cspell/cspell-pipe" "^5.18.3" chalk "^4.1.2" - commander "^8.3.0" - comment-json "^4.1.1" - cspell-gitignore "^5.17.0" - cspell-glob "^5.17.0" - cspell-lib "^5.17.0" + commander "^9.0.0" + comment-json "^4.2.2" + cspell-gitignore "^5.18.3" + cspell-glob "^5.18.3" + cspell-lib "^5.18.3" fast-json-stable-stringify "^2.1.0" file-entry-cache "^6.0.1" fs-extra "^10.0.0" @@ -3266,6 +3280,11 @@ fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== +fast-equals@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/fast-equals/-/fast-equals-2.0.4.tgz#3add9410585e2d7364c2deeb6a707beadb24b927" + integrity sha512-caj/ZmjHljPrZtbzJ3kfH5ia/k4mTJe/qSiXAGzxZWRZgsgDV0cvNaQULqUX8t0/JVlzzEdYOwCN5DmzTxoD4w== + fast-glob@3.2.11, fast-glob@^3.1.1, fast-glob@^3.2.7: version "3.2.11" resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.11.tgz#a1172ad95ceb8a16e20caa5c5e56480e5129c1d9" From 0abd1907bb63406c0b830cf571946af2aae17da9 Mon Sep 17 00:00:00 2001 From: Sosuke Suzuki Date: Sun, 6 Feb 2022 17:31:50 +0900 Subject: [PATCH 094/117] Bundle Pure ESM Packages into `/vendors/*.js` as CommonJS (#12217) * string-width * Add bundle script * Update package.json * mem * Add version validator * Throw error * Change filename * Add documents * Generate d.ts * Fix lint problems * globby * Add workflow to validate vendor versions * Fix eslintignore * Fix * Fix spell * Address review * process.exitCode = 1 * test validation * Revert "test validation" This reverts commit 5a86d5f71212e0e900709238a8cc109716678864. * Remove exists files * Fix conflicts * Clean * Remove globby --- .eslintignore | 1 + .../workflows/validate-vendor-versions.yml | 29 ++ .prettierignore | 1 + jest.config.js | 1 + package.json | 13 +- scripts/vendors/README.md | 55 ++++ scripts/vendors/bundle-vendors.mjs | 97 ++++++ scripts/vendors/validate-vendor-versions.mjs | 42 +++ scripts/vendors/vendor-versions.json | 4 + scripts/vendors/vendor-versions.mjs | 15 + scripts/vendors/vendors.mjs | 3 + src/common/load-plugins.js | 6 +- src/config/resolve-config-editorconfig.js | 6 +- src/config/resolve-config.js | 4 +- src/utils/get-string-width.js | 2 +- tsconfig.json | 1 + vendors/README.md | 3 + vendors/mem.js | 278 ++++++++++++++++++ vendors/string-width.js | 102 +++++++ vendors/types.d.ts | 3 + yarn.lock | 165 ++++++++++- 21 files changed, 804 insertions(+), 27 deletions(-) create mode 100644 .github/workflows/validate-vendor-versions.yml create mode 100644 scripts/vendors/README.md create mode 100644 scripts/vendors/bundle-vendors.mjs create mode 100644 scripts/vendors/validate-vendor-versions.mjs create mode 100644 scripts/vendors/vendor-versions.json create mode 100644 scripts/vendors/vendor-versions.mjs create mode 100644 scripts/vendors/vendors.mjs create mode 100644 vendors/README.md create mode 100644 vendors/mem.js create mode 100644 vendors/string-width.js create mode 100644 vendors/types.d.ts diff --git a/.eslintignore b/.eslintignore index 1c82b7c66..62c92fb57 100644 --- a/.eslintignore +++ b/.eslintignore @@ -11,3 +11,4 @@ /website/build/ /website/static/playground.js /website/static/lib/ +/vendors/ diff --git a/.github/workflows/validate-vendor-versions.yml b/.github/workflows/validate-vendor-versions.yml new file mode 100644 index 000000000..baa06c8fe --- /dev/null +++ b/.github/workflows/validate-vendor-versions.yml @@ -0,0 +1,29 @@ +name: Validate_Vendor_Versions + +on: + push: + paths: + - "package.json" + pull_request: + paths: + - "package.json" + +jobs: + validate-vendor-versions: + name: Validate Vendor Versions + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v2.4.0 + + - name: Setup Node.js + uses: actions/setup-node@v2.5.1 + with: + version: "14" + cache: "yarn" + + - name: Install Dependencies + run: yarn install --frozen-lockfile + + - name: Validate Vendor Versions + run: node ./scripts/vendors/validate-vendor-versions.mjs diff --git a/.prettierignore b/.prettierignore index 5d2988384..81812aeda 100644 --- a/.prettierignore +++ b/.prettierignore @@ -10,3 +10,4 @@ coverage/ /website/static/lib/ /website/static/playground.js .nyc_output +vendors/ diff --git a/jest.config.js b/jest.config.js index cef136fd3..100c90f37 100644 --- a/jest.config.js +++ b/jest.config.js @@ -70,6 +70,7 @@ module.exports = { moduleNameMapper: { "prettier-local": "/tests/config/require-prettier.js", "prettier-standalone": "/tests/config/require-standalone.js", + "#(.*)": "/vendors/$1", }, modulePathIgnorePatterns: [ "/dist", diff --git a/package.json b/package.json index b93a03030..1e4a590bf 100644 --- a/package.json +++ b/package.json @@ -60,7 +60,7 @@ "lines-and-columns": "2.0.3", "linguist-languages": "7.15.0", "lodash": "4.17.21", - "mem": "8.1.1", + "mem": "9.0.2", "meriyah": "4.2.0", "minimatch": "3.0.4", "minimist": "1.2.5", @@ -79,7 +79,7 @@ "remark-parse": "8.0.3", "resolve": "1.22.0", "semver": "7.3.5", - "string-width": "4.2.3", + "string-width": "5.0.1", "strip-ansi": "6.0.0", "typescript": "4.5.5", "unicode-regex": "3.0.0", @@ -88,6 +88,10 @@ "wcwidth": "1.0.1", "yaml-unist-parser": "1.3.1" }, + "imports": { + "#string-width": "./vendors/string-width.js", + "#mem": "./vendors/mem.js" + }, "devDependencies": { "@babel/core": "7.17.0", "@babel/preset-env": "7.16.11", @@ -131,10 +135,13 @@ "path-browserify": "1.0.1", "prettier": "2.5.1", "pretty-bytes": "5.6.0", + "read-pkg": "7.0.0", + "read-pkg-up": "9.0.0", "rimraf": "3.0.2", "rollup-plugin-license": "2.6.1", "snapshot-diff": "0.9.0", - "tempy": "1.0.1" + "tempy": "1.0.1", + "write-pkg": "5.0.0" }, "scripts": { "prepublishOnly": "echo \"Error: must publish from dist/\" && exit 1", diff --git a/scripts/vendors/README.md b/scripts/vendors/README.md new file mode 100644 index 000000000..ff8d54414 --- /dev/null +++ b/scripts/vendors/README.md @@ -0,0 +1,55 @@ +# `./scripts/vendors` + +Scripts for bundling Pure ESM Packages to CommonJS so that Prettier can use them. + +## Context + +https://github.com/prettier/prettier/issues/12209#issuecomment-1028212785 + +Currently, Prettier is developed using CommonJS Modules. This is for historical reasons, and we are considering [migrating to ECMAScript Modules](https://github.com/prettier/prettier/issues/10157) in the future. + +However, migrating to ECMAScript Modules is not an easy task. + +While we are working on it, several important packages are being migrated to Pure ESM. Please see https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c from [@sindresorhus](https://github.com/sindresorhus) about Pure ESM Packages. + +It would be a problem if Prettier could not use the new Pure ESM Package until we have completed that work. + +So we will put the files bundled with Pure ESM Packages as CommonJS Modules under `/vendors`, and Prettier will use them. + +**This will be removed during the migration to ESM.** + +## Usage + +### `/scripts/vendors/bundle-vendors.mjs` + +``` +node ./scripts/vendors/bundle-vendors.mjs +``` + +This script do the following 4 things: + +**1. Bundle ESM Packages to CommonJS** + +This bundles listed packages in `vendors.mjs` into `/vendors/*.js` as CommonJS. + +**2. Update `package.json`** + +This updates [`"imports"` in `package.json`](https://nodejs.org/api/packages.html#imports) to enables aliases to resolve packages put in `/vendors/*.js`. + +**3. Lock ESM Packages version to `vendor-versions.json`** + +This locks versions of packages that is bundled to `vendor-versions.json`. It is used to validate by `validate-vendor-versions.mjs`. + +**4. Generate `/vendors/types.d.ts`** + +This Generates a minimal type definition file that satisfies `lint:typecheck`. + +### `/scripts/vendors/validate-vendor-versions.mjs` + +``` +node ./scripts/vendors/validate-vendor-versions.mjs +``` + +This script compares the version of packages locked in `vendor-versions.json` with the version of packages actually installed, and fails if they are different. + +This is mainly run on CI to keep consistency between bundled and installed packages. diff --git a/scripts/vendors/bundle-vendors.mjs b/scripts/vendors/bundle-vendors.mjs new file mode 100644 index 000000000..0657255de --- /dev/null +++ b/scripts/vendors/bundle-vendors.mjs @@ -0,0 +1,97 @@ +#!/usr/bin/env node + +import fs from "node:fs/promises"; +import path from "node:path"; +import createEsmUtils from "esm-utils"; +import esbuild from "esbuild"; +import { readPackage } from "read-pkg"; +import { writePackage } from "write-pkg"; +import { readPackageUp } from "read-pkg-up"; +import vendors from "./vendors.mjs"; +import { writeVendorVersions } from "./vendor-versions.mjs"; + +const { __dirname, require } = createEsmUtils(import.meta); +const rootDir = path.join(__dirname, "..", ".."); +// prettier/vendors +const vendorsDir = path.join(rootDir, "vendors"); +// prettier/vendors/*.js +const getVendorFilePath = (vendorName) => + path.join(vendorsDir, `${vendorName}.js`); + +async function lockVersions(vendors) { + const vendorVersions = {}; + for (const vendor of vendors) { + const { packageJson: vendorPackage } = await readPackageUp({ + cwd: path.dirname(require.resolve(vendor)), + }); + const vendorVersion = vendorPackage.version; + vendorVersions[vendor] = vendorVersion; + } + await writeVendorVersions(vendorVersions); +} + +async function fileExists(filePath) { + try { + return (await fs.stat(filePath)).isFile() + } catch { + return false; + } +} + +async function cleanExistsBundledJS() { + for (const file of await fs.readdir(vendorsDir)) { + const filePath = path.join(vendorsDir, file); + if (path.extname(file) === ".js" && await (fileExists(filePath))) { + await fs.rm(filePath); + } + } +} + +async function bundle(vendor) { + const outfile = getVendorFilePath(vendor); + if (await fileExists(outfile)) { + await fs.rm(outfile); + } + /** @type {import("esbuild").CommonOptions} */ + const esbuildOption = { + entryPoints: [require.resolve(vendor)], + bundle: true, + target: ["node12.17.0"], + platform: "node", + outfile, + }; + await esbuild.build(esbuildOption); +} + +async function updatePackage(imports) { + const pkg = await readPackage({ normalize: false }); + pkg.imports = imports; + await writePackage(pkg, { normalize: false }); +} + +async function generateDts(vendors) { + let dtsContent = "// This file is generate automatically.\n"; + for (const vendor of vendors) { + dtsContent += `declare module "#${vendor}";\n`; + } + await fs.writeFile(path.join(vendorsDir, "types.d.ts"), dtsContent, "utf-8"); +} + +async function main() { + await cleanExistsBundledJS(); + const imports = {}; + for (const vendor of vendors) { + await bundle(vendor); + imports[`#${vendor}`] = + "./" + path.relative(rootDir, getVendorFilePath(vendor)); + console.log(`Bundled: ${vendor}`); + } + await updatePackage(imports); + console.log("Updated: package.json"); + await lockVersions(vendors); + console.log("Locked: vendor-versions.json"); + await generateDts(vendors); + console.log("Generated: vendors/types.d.ts"); +} + +main(); diff --git a/scripts/vendors/validate-vendor-versions.mjs b/scripts/vendors/validate-vendor-versions.mjs new file mode 100644 index 000000000..3f4033d4d --- /dev/null +++ b/scripts/vendors/validate-vendor-versions.mjs @@ -0,0 +1,42 @@ +#!/usr/bin/env node + +import createEsmUtils from "esm-utils"; +import { readPackageUp } from "read-pkg-up"; +import { getVendorVersions } from "./vendor-versions.mjs"; +import vendors from "./vendors.mjs"; + +const { require } = createEsmUtils(import.meta); + +async function main() { + const errors = []; + const vendorVersions = await getVendorVersions(); + for (const vendor of vendors) { + const { packageJson: vendorPackage } = await readPackageUp({ + cwd: require.resolve(vendor), + }); + const vendorPackageVersion = vendorPackage.version; + const lockedVersion = vendorVersions[vendor]; + if (vendorPackageVersion !== lockedVersion) { + errors.push({ + oldVersion: lockedVersion, + newVersion: vendorPackageVersion, + packageName: vendor, + }); + } + } + if (errors.length > 0) { + for (const { packageName, oldVersion, newVersion } of errors) { + console.error( + `The version of \`${packageName}\` is "${newVersion}", expected locked "${oldVersion}"` + ); + } + console.error( + "Did you forget running `./scripts/vendors/bundle-vendors.mjs`?" + ); + process.exitCode = 1; + } else { + console.log("Done"); + } +} + +main(); diff --git a/scripts/vendors/vendor-versions.json b/scripts/vendors/vendor-versions.json new file mode 100644 index 000000000..37af8fec9 --- /dev/null +++ b/scripts/vendors/vendor-versions.json @@ -0,0 +1,4 @@ +{ + "string-width": "5.0.1", + "mem": "9.0.2" +} diff --git a/scripts/vendors/vendor-versions.mjs b/scripts/vendors/vendor-versions.mjs new file mode 100644 index 000000000..37ae16521 --- /dev/null +++ b/scripts/vendors/vendor-versions.mjs @@ -0,0 +1,15 @@ +import fs from "node:fs/promises"; + +const vendorVersionsPath = new URL("./vendor-versions.json", import.meta.url); + +export async function getVendorVersions() { + return JSON.parse(await fs.readFile(vendorVersionsPath)); +} + +export async function writeVendorVersions(data) { + await fs.writeFile( + vendorVersionsPath, + JSON.stringify(data, null, 2) + "\n", + "utf-8" + ); +} diff --git a/scripts/vendors/vendors.mjs b/scripts/vendors/vendors.mjs new file mode 100644 index 000000000..ebc992813 --- /dev/null +++ b/scripts/vendors/vendors.mjs @@ -0,0 +1,3 @@ +const vendors = ["string-width", "mem"]; + +export default vendors; diff --git a/src/common/load-plugins.js b/src/common/load-plugins.js index 4dc39de24..5908515a9 100644 --- a/src/common/load-plugins.js +++ b/src/common/load-plugins.js @@ -5,16 +5,16 @@ const path = require("path"); const uniqBy = require("lodash/uniqBy"); const partition = require("lodash/partition"); const fastGlob = require("fast-glob"); -const mem = require("mem"); const internalPlugins = require("../languages.js"); const thirdParty = require("./third-party.js"); const resolve = require("./resolve.js"); +const { default: mem, memClear } = require("#mem"); const memoizedLoad = mem(load, { cacheKey: JSON.stringify }); const memoizedSearch = mem(findPluginsInNodeModules); const clearCache = () => { - mem.clear(memoizedLoad); - mem.clear(memoizedSearch); + memClear(memoizedLoad); + memClear(memoizedSearch); }; function load(plugins, pluginSearchDirs) { diff --git a/src/config/resolve-config-editorconfig.js b/src/config/resolve-config-editorconfig.js index 06105b44d..179f2407b 100644 --- a/src/config/resolve-config-editorconfig.js +++ b/src/config/resolve-config-editorconfig.js @@ -3,9 +3,9 @@ const path = require("path"); const editorconfig = require("editorconfig"); -const mem = require("mem"); const editorConfigToPrettier = require("editorconfig-to-prettier"); const findProjectRoot = require("./find-project-root.js"); +const { default: mem, memClear } = require("#mem"); const jsonStringifyMem = (fn) => mem(fn, { cacheKey: JSON.stringify }); @@ -36,8 +36,8 @@ function getLoadFunction(opts) { } function clearCache() { - mem.clear(editorconfigSyncWithCache); - mem.clear(editorconfigAsyncWithCache); + memClear(editorconfigSyncWithCache); + memClear(editorconfigAsyncWithCache); } module.exports = { diff --git a/src/config/resolve-config.js b/src/config/resolve-config.js index 5c0c09156..a163684b5 100644 --- a/src/config/resolve-config.js +++ b/src/config/resolve-config.js @@ -2,13 +2,13 @@ const path = require("path"); const minimatch = require("minimatch"); -const mem = require("mem"); const thirdParty = require("../common/third-party.js"); const loadToml = require("../utils/load-toml.js"); const loadJson5 = require("../utils/load-json5.js"); const resolve = require("../common/resolve.js"); const resolveEditorConfig = require("./resolve-config-editorconfig.js"); +const { default: mem, memClear } = require("#mem"); /** * @typedef {import("cosmiconfig/dist/Explorer").Explorer} Explorer @@ -127,7 +127,7 @@ const resolveConfig = (filePath, opts) => _resolveConfig(filePath, opts, false); resolveConfig.sync = (filePath, opts) => _resolveConfig(filePath, opts, true); function clearCache() { - mem.clear(getExplorerMemoized); + memClear(getExplorerMemoized); resolveEditorConfig.clearCache(); } diff --git a/src/utils/get-string-width.js b/src/utils/get-string-width.js index 90f6ba57f..716205ac1 100644 --- a/src/utils/get-string-width.js +++ b/src/utils/get-string-width.js @@ -1,6 +1,6 @@ "use strict"; -const stringWidth = require("string-width"); +const stringWidth = require("#string-width").default; const notAsciiRegex = /[^\x20-\x7F]/; diff --git a/tsconfig.json b/tsconfig.json index 1d5511aae..f81038f5a 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -13,6 +13,7 @@ "exclude": [ "coverage/", "test*.*", + "vendors/*.js", // [TBD] JavaScript sources *not* affected by src/language-*: "src/main/ast-to-doc.js", "src/main/core.js", diff --git a/vendors/README.md b/vendors/README.md new file mode 100644 index 000000000..9f3b30296 --- /dev/null +++ b/vendors/README.md @@ -0,0 +1,3 @@ +# `./vendors` + +**JavaScript Files that included in this directory are auto generated by `scripts/vendor/bundle-vendors.mjs`.** diff --git a/vendors/mem.js b/vendors/mem.js new file mode 100644 index 000000000..5ffd6ad0d --- /dev/null +++ b/vendors/mem.js @@ -0,0 +1,278 @@ +var __create = Object.create; +var __defProp = Object.defineProperty; +var __defProps = Object.defineProperties; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropDescs = Object.getOwnPropertyDescriptors; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __getOwnPropSymbols = Object.getOwnPropertySymbols; +var __getProtoOf = Object.getPrototypeOf; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __propIsEnum = Object.prototype.propertyIsEnumerable; +var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var __spreadValues = (a, b) => { + for (var prop in b || (b = {})) + if (__hasOwnProp.call(b, prop)) + __defNormalProp(a, prop, b[prop]); + if (__getOwnPropSymbols) + for (var prop of __getOwnPropSymbols(b)) { + if (__propIsEnum.call(b, prop)) + __defNormalProp(a, prop, b[prop]); + } + return a; +}; +var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b)); +var __markAsModule = (target) => __defProp(target, "__esModule", { value: true }); +var __commonJS = (cb, mod) => function __require() { + return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; +}; +var __export = (target, all) => { + for (var name in all) + __defProp(target, name, { get: all[name], enumerable: true }); +}; +var __reExport = (target, module2, copyDefault, desc) => { + if (module2 && typeof module2 === "object" || typeof module2 === "function") { + for (let key of __getOwnPropNames(module2)) + if (!__hasOwnProp.call(target, key) && (copyDefault || key !== "default")) + __defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable }); + } + return target; +}; +var __toESM = (module2, isNodeMode) => { + return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", !isNodeMode && module2 && module2.__esModule ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2); +}; +var __toCommonJS = /* @__PURE__ */ ((cache) => { + return (module2, temp) => { + return cache && cache.get(module2) || (temp = __reExport(__markAsModule({}), module2, 1), cache && cache.set(module2, temp), temp); + }; +})(typeof WeakMap !== "undefined" ? /* @__PURE__ */ new WeakMap() : 0); + +// node_modules/p-defer/index.js +var require_p_defer = __commonJS({ + "node_modules/p-defer/index.js"(exports, module2) { + "use strict"; + module2.exports = () => { + const ret = {}; + ret.promise = new Promise((resolve, reject) => { + ret.resolve = resolve; + ret.reject = reject; + }); + return ret; + }; + } +}); + +// node_modules/map-age-cleaner/dist/index.js +var require_dist = __commonJS({ + "node_modules/map-age-cleaner/dist/index.js"(exports, module2) { + "use strict"; + var __awaiter = exports && exports.__awaiter || function(thisArg, _arguments, P, generator) { + return new (P || (P = Promise))(function(resolve, reject) { + function fulfilled(value) { + try { + step(generator.next(value)); + } catch (e) { + reject(e); + } + } + function rejected(value) { + try { + step(generator["throw"](value)); + } catch (e) { + reject(e); + } + } + function step(result) { + result.done ? resolve(result.value) : new P(function(resolve2) { + resolve2(result.value); + }).then(fulfilled, rejected); + } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); + }; + var __importDefault = exports && exports.__importDefault || function(mod) { + return mod && mod.__esModule ? mod : { "default": mod }; + }; + Object.defineProperty(exports, "__esModule", { value: true }); + var p_defer_1 = __importDefault(require_p_defer()); + function mapAgeCleaner2(map, property = "maxAge") { + let processingKey; + let processingTimer; + let processingDeferred; + const cleanup = () => __awaiter(this, void 0, void 0, function* () { + if (processingKey !== void 0) { + return; + } + const setupTimer = (item) => __awaiter(this, void 0, void 0, function* () { + processingDeferred = p_defer_1.default(); + const delay = item[1][property] - Date.now(); + if (delay <= 0) { + map.delete(item[0]); + processingDeferred.resolve(); + return; + } + processingKey = item[0]; + processingTimer = setTimeout(() => { + map.delete(item[0]); + if (processingDeferred) { + processingDeferred.resolve(); + } + }, delay); + if (typeof processingTimer.unref === "function") { + processingTimer.unref(); + } + return processingDeferred.promise; + }); + try { + for (const entry of map) { + yield setupTimer(entry); + } + } catch (_a) { + } + processingKey = void 0; + }); + const reset = () => { + processingKey = void 0; + if (processingTimer !== void 0) { + clearTimeout(processingTimer); + processingTimer = void 0; + } + if (processingDeferred !== void 0) { + processingDeferred.reject(void 0); + processingDeferred = void 0; + } + }; + const originalSet = map.set.bind(map); + map.set = (key, value) => { + if (map.has(key)) { + map.delete(key); + } + const result = originalSet(key, value); + if (processingKey && processingKey === key) { + reset(); + } + cleanup(); + return result; + }; + cleanup(); + return map; + } + exports.default = mapAgeCleaner2; + module2.exports = mapAgeCleaner2; + module2.exports.default = mapAgeCleaner2; + } +}); + +// node_modules/mem/dist/index.js +var dist_exports = {}; +__export(dist_exports, { + default: () => mem, + memClear: () => memClear, + memDecorator: () => memDecorator +}); + +// node_modules/mimic-fn/index.js +var copyProperty = (to, from, property, ignoreNonConfigurable) => { + if (property === "length" || property === "prototype") { + return; + } + if (property === "arguments" || property === "caller") { + return; + } + const toDescriptor = Object.getOwnPropertyDescriptor(to, property); + const fromDescriptor = Object.getOwnPropertyDescriptor(from, property); + if (!canCopyProperty(toDescriptor, fromDescriptor) && ignoreNonConfigurable) { + return; + } + Object.defineProperty(to, property, fromDescriptor); +}; +var canCopyProperty = function(toDescriptor, fromDescriptor) { + return toDescriptor === void 0 || toDescriptor.configurable || toDescriptor.writable === fromDescriptor.writable && toDescriptor.enumerable === fromDescriptor.enumerable && toDescriptor.configurable === fromDescriptor.configurable && (toDescriptor.writable || toDescriptor.value === fromDescriptor.value); +}; +var changePrototype = (to, from) => { + const fromPrototype = Object.getPrototypeOf(from); + if (fromPrototype === Object.getPrototypeOf(to)) { + return; + } + Object.setPrototypeOf(to, fromPrototype); +}; +var wrappedToString = (withName, fromBody) => `/* Wrapped ${withName}*/ +${fromBody}`; +var toStringDescriptor = Object.getOwnPropertyDescriptor(Function.prototype, "toString"); +var toStringName = Object.getOwnPropertyDescriptor(Function.prototype.toString, "name"); +var changeToString = (to, from, name) => { + const withName = name === "" ? "" : `with ${name.trim()}() `; + const newToString = wrappedToString.bind(null, withName, from.toString()); + Object.defineProperty(newToString, "name", toStringName); + Object.defineProperty(to, "toString", __spreadProps(__spreadValues({}, toStringDescriptor), { value: newToString })); +}; +function mimicFunction(to, from, { ignoreNonConfigurable = false } = {}) { + const { name } = to; + for (const property of Reflect.ownKeys(from)) { + copyProperty(to, from, property, ignoreNonConfigurable); + } + changePrototype(to, from); + changeToString(to, from, name); + return to; +} + +// node_modules/mem/dist/index.js +var import_map_age_cleaner = __toESM(require_dist(), 1); +var cacheStore = /* @__PURE__ */ new WeakMap(); +function mem(fn, { cacheKey, cache = /* @__PURE__ */ new Map(), maxAge } = {}) { + if (typeof maxAge === "number") { + (0, import_map_age_cleaner.default)(cache); + } + const memoized = function(...arguments_) { + const key = cacheKey ? cacheKey(arguments_) : arguments_[0]; + const cacheItem = cache.get(key); + if (cacheItem) { + return cacheItem.data; + } + const result = fn.apply(this, arguments_); + cache.set(key, { + data: result, + maxAge: maxAge ? Date.now() + maxAge : Number.POSITIVE_INFINITY + }); + return result; + }; + mimicFunction(memoized, fn, { + ignoreNonConfigurable: true + }); + cacheStore.set(memoized, cache); + return memoized; +} +function memDecorator(options = {}) { + const instanceMap = /* @__PURE__ */ new WeakMap(); + return (target, propertyKey, descriptor) => { + const input = target[propertyKey]; + if (typeof input !== "function") { + throw new TypeError("The decorated value must be a function"); + } + delete descriptor.value; + delete descriptor.writable; + descriptor.get = function() { + if (!instanceMap.has(this)) { + const value = mem(input, options); + instanceMap.set(this, value); + return value; + } + return instanceMap.get(this); + }; + }; +} +function memClear(fn) { + const cache = cacheStore.get(fn); + if (!cache) { + throw new TypeError("Can't clear a function that was not memoized!"); + } + if (typeof cache.clear !== "function") { + throw new TypeError("The cache Map can't be cleared!"); + } + cache.clear(); +} +module.exports = __toCommonJS(dist_exports); +// Annotate the CommonJS export names for ESM import in node: +0 && (module.exports = { + memClear, + memDecorator +}); diff --git a/vendors/string-width.js b/vendors/string-width.js new file mode 100644 index 000000000..82918aae1 --- /dev/null +++ b/vendors/string-width.js @@ -0,0 +1,102 @@ +var __create = Object.create; +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __getProtoOf = Object.getPrototypeOf; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __markAsModule = (target) => __defProp(target, "__esModule", { value: true }); +var __commonJS = (cb, mod) => function __require() { + return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; +}; +var __export = (target, all) => { + for (var name in all) + __defProp(target, name, { get: all[name], enumerable: true }); +}; +var __reExport = (target, module2, copyDefault, desc) => { + if (module2 && typeof module2 === "object" || typeof module2 === "function") { + for (let key of __getOwnPropNames(module2)) + if (!__hasOwnProp.call(target, key) && (copyDefault || key !== "default")) + __defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable }); + } + return target; +}; +var __toESM = (module2, isNodeMode) => { + return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", !isNodeMode && module2 && module2.__esModule ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2); +}; +var __toCommonJS = /* @__PURE__ */ ((cache) => { + return (module2, temp) => { + return cache && cache.get(module2) || (temp = __reExport(__markAsModule({}), module2, 1), cache && cache.set(module2, temp), temp); + }; +})(typeof WeakMap !== "undefined" ? /* @__PURE__ */ new WeakMap() : 0); + +// node_modules/emoji-regex/index.js +var require_emoji_regex = __commonJS({ + "node_modules/emoji-regex/index.js"(exports, module2) { + "use strict"; + module2.exports = function() { + return /\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67)\uDB40\uDC7F|(?:\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFC-\uDFFF])|\uD83D\uDC68(?:\uD83C\uDFFB(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|[\u2695\u2696\u2708]\uFE0F|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))?|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])\uFE0F|\u200D(?:(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D[\uDC66\uDC67])|\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC)?|(?:\uD83D\uDC69(?:\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69]))|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC69(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83E\uDDD1(?:\u200D(?:\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDE36\u200D\uD83C\uDF2B|\uD83C\uDFF3\uFE0F\u200D\u26A7|\uD83D\uDC3B\u200D\u2744|(?:(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\uD83C\uDFF4\u200D\u2620|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])\u200D[\u2640\u2642]|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u2600-\u2604\u260E\u2611\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26B0\u26B1\u26C8\u26CF\u26D1\u26D3\u26E9\u26F0\u26F1\u26F4\u26F7\u26F8\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u3030\u303D\u3297\u3299]|\uD83C[\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]|\uD83D[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3])\uFE0F|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDE35\u200D\uD83D\uDCAB|\uD83D\uDE2E\u200D\uD83D\uDCA8|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83E\uDDD1(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83D\uDC69(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF6\uD83C\uDDE6|\uD83C\uDDF4\uD83C\uDDF2|\uD83D\uDC08\u200D\u2B1B|\u2764\uFE0F\u200D(?:\uD83D\uDD25|\uD83E\uDE79)|\uD83D\uDC41\uFE0F|\uD83C\uDFF3\uFE0F|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|[#\*0-9]\uFE0F\u20E3|\u2764\uFE0F|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|\uD83C\uDFF4|(?:[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270C\u270D]|\uD83D[\uDD74\uDD90])(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC08\uDC15\uDC3B\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE2E\uDE35\uDE36\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5]|\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD]|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF]|[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0D\uDD0E\uDD10-\uDD17\uDD1D\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78\uDD7A-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCB\uDDD0\uDDE0-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6]|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26A7\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5-\uDED7\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDD77\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g; + }; + } +}); + +// node_modules/string-width/index.js +var string_width_exports = {}; +__export(string_width_exports, { + default: () => stringWidth +}); + +// node_modules/string-width/node_modules/ansi-regex/index.js +function ansiRegex({ onlyFirst = false } = {}) { + const pattern = [ + "[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)", + "(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))" + ].join("|"); + return new RegExp(pattern, onlyFirst ? void 0 : "g"); +} + +// node_modules/string-width/node_modules/strip-ansi/index.js +function stripAnsi(string) { + if (typeof string !== "string") { + throw new TypeError(`Expected a \`string\`, got \`${typeof string}\``); + } + return string.replace(ansiRegex(), ""); +} + +// node_modules/is-fullwidth-code-point/index.js +function isFullwidthCodePoint(codePoint) { + if (!Number.isInteger(codePoint)) { + return false; + } + return codePoint >= 4352 && (codePoint <= 4447 || codePoint === 9001 || codePoint === 9002 || 11904 <= codePoint && codePoint <= 12871 && codePoint !== 12351 || 12880 <= codePoint && codePoint <= 19903 || 19968 <= codePoint && codePoint <= 42182 || 43360 <= codePoint && codePoint <= 43388 || 44032 <= codePoint && codePoint <= 55203 || 63744 <= codePoint && codePoint <= 64255 || 65040 <= codePoint && codePoint <= 65049 || 65072 <= codePoint && codePoint <= 65131 || 65281 <= codePoint && codePoint <= 65376 || 65504 <= codePoint && codePoint <= 65510 || 110592 <= codePoint && codePoint <= 110593 || 127488 <= codePoint && codePoint <= 127569 || 131072 <= codePoint && codePoint <= 262141); +} + +// node_modules/string-width/index.js +var import_emoji_regex = __toESM(require_emoji_regex(), 1); +function stringWidth(string) { + if (typeof string !== "string" || string.length === 0) { + return 0; + } + string = stripAnsi(string); + if (string.length === 0) { + return 0; + } + string = string.replace((0, import_emoji_regex.default)(), " "); + let width = 0; + for (let index = 0; index < string.length; index++) { + const codePoint = string.codePointAt(index); + if (codePoint <= 31 || codePoint >= 127 && codePoint <= 159) { + continue; + } + if (codePoint >= 768 && codePoint <= 879) { + continue; + } + if (codePoint > 65535) { + index++; + } + width += isFullwidthCodePoint(codePoint) ? 2 : 1; + } + return width; +} +module.exports = __toCommonJS(string_width_exports); +// Annotate the CommonJS export names for ESM import in node: +0 && (module.exports = {}); diff --git a/vendors/types.d.ts b/vendors/types.d.ts new file mode 100644 index 000000000..9cd97b672 --- /dev/null +++ b/vendors/types.d.ts @@ -0,0 +1,3 @@ +// This file is generate automatically. +declare module "#string-width"; +declare module "#mem"; diff --git a/yarn.lock b/yarn.lock index c2a121670..76684e988 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1704,7 +1704,7 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-16.11.11.tgz#6ea7342dfb379ea1210835bada87b3c512120234" integrity sha512-KB0sixD67CeecHC33MYn+eYARkqTheIRNuu97y2XMjR7Wu3XibO1vaY6VBV6O/a89SPI81cEUIYT87UqUWlZNw== -"@types/normalize-package-data@^2.4.0": +"@types/normalize-package-data@^2.4.0", "@types/normalize-package-data@^2.4.1": version "2.4.1" resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz#d3357479a0fdfdd5907fe67e17e0a85c906e1301" integrity sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw== @@ -2674,6 +2674,11 @@ delayed-stream@~1.0.0: resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= +detect-indent@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-7.0.0.tgz#cab58e6ab1129c669e2101181a6c677917d43577" + integrity sha512-/6kJlmVv6RDFPqaHC/ZDcU8bblYcoph2dUQ3kB47QqhkUEqXe3VZPELK9BaEMrC73qu+wn0AQ7iSteceN+yuMw== + detect-newline@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" @@ -2754,6 +2759,11 @@ emoji-regex@^8.0.0: resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== +emoji-regex@^9.2.2: + version "9.2.2" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" + integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== + emojis-list@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78" @@ -3379,6 +3389,14 @@ find-up@^5.0.0: locate-path "^6.0.0" path-exists "^4.0.0" +find-up@^6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-6.2.0.tgz#f3b81d633fa83bebe64f83a8bab357f86d5914be" + integrity sha512-yWHzMzXCaFoABSnFTCPKNFlYoq4mSga9QLRRKOCLSJ33hSkzROB14ITbAWW0QDQDyuzsPQ33S1DsOWQb/oW1yA== + dependencies: + locate-path "^7.0.0" + path-exists "^5.0.0" + flat-cache@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11" @@ -3617,6 +3635,13 @@ hosted-git-info@^2.1.4: resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== +hosted-git-info@^4.0.1: + version "4.1.0" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-4.1.0.tgz#827b82867e9ff1c8d0c4d9d53880397d2c86d224" + integrity sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA== + dependencies: + lru-cache "^6.0.0" + html-element-attributes@2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/html-element-attributes/-/html-element-attributes-2.3.0.tgz#a192ac90a457be9f1e2cc9ab69000ee89be74aa6" @@ -3796,7 +3821,7 @@ is-callable@^1.1.4, is-callable@^1.2.4: resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945" integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w== -is-core-module@^2.2.0, is-core-module@^2.8.0, is-core-module@^2.8.1: +is-core-module@^2.2.0, is-core-module@^2.5.0, is-core-module@^2.8.0, is-core-module@^2.8.1: version "2.8.1" resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.8.1.tgz#f59fdfca701d5879d0a6b100a40aa1560ce27211" integrity sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA== @@ -3830,6 +3855,11 @@ is-fullwidth-code-point@^3.0.0: resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== +is-fullwidth-code-point@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz#fae3167c729e7463f8461ce512b080a49268aa88" + integrity sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ== + is-generator-fn@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" @@ -3884,6 +3914,11 @@ is-plain-obj@^2.0.0: resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== +is-plain-obj@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-4.0.0.tgz#06c0999fd7574edf5a906ba5644ad0feb3a84d22" + integrity sha512-NXRbBtUdBioI73y/HmOhogw/U5msYPC9DAtGkJXeFcFWSFZw0mCUsPxk/snTuJHzNKA8kLBK4rH97RMB1BfCXw== + is-potential-custom-element-name@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz#171ed6f19e3ac554394edf78caa05784a45bebb5" @@ -4788,6 +4823,13 @@ locate-path@^6.0.0: dependencies: p-locate "^5.0.0" +locate-path@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-7.0.0.tgz#f0a60c8dd7ef0f737699eb9461b9567a92bc97da" + integrity sha512-+cg2yXqDUKfo4hsFxwa3G1cBJeA+gs1vD8FyV9/odWoUlQe/4syxHQ5DPtKjtfm6gnKbZzjCqzX03kXosvZB1w== + dependencies: + p-locate "^6.0.0" + lodash.debounce@^4.0.8: version "4.0.8" resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" @@ -4863,13 +4905,13 @@ markdown-escapes@^1.0.0: resolved "https://registry.yarnpkg.com/markdown-escapes/-/markdown-escapes-1.0.4.tgz#c95415ef451499d7602b91095f3c8e8975f78535" integrity sha512-8z4efJYk43E0upd0NbVXwgSTQs6cT3T06etieCMEg7dRbzCbxUCK/GHlX8mhHRDcp+OLlHkPKsvqQTCvsRl2cg== -mem@8.1.1: - version "8.1.1" - resolved "https://registry.yarnpkg.com/mem/-/mem-8.1.1.tgz#cf118b357c65ab7b7e0817bdf00c8062297c0122" - integrity sha512-qFCFUDs7U3b8mBDPyz5EToEKoAkgCzqquIgi9nkkR9bixxOVOre+09lbuH7+9Kn2NFpm56M3GUWVbU2hQgdACA== +mem@9.0.2: + version "9.0.2" + resolved "https://registry.yarnpkg.com/mem/-/mem-9.0.2.tgz#bbc2d40be045afe30749681e8f5d554cee0c0354" + integrity sha512-F2t4YIv9XQUBHt6AOJ0y7lSmP1+cY7Fm1DRh9GClTGzKST7UWLMx6ly9WZdLH/G/ppM5RL4MlQfRT71ri9t19A== dependencies: map-age-cleaner "^0.1.3" - mimic-fn "^3.1.0" + mimic-fn "^4.0.0" memorystream@^0.3.1: version "0.3.1" @@ -4916,10 +4958,10 @@ mimic-fn@^2.1.0: resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== -mimic-fn@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-3.1.0.tgz#65755145bbf3e36954b949c16450427451d5ca74" - integrity sha512-Ysbi9uYW9hFyfrThdDEQuykN4Ey6BuwPD2kpI5ES/nFTDn/98yxYNLZJcgUAKPT/mcrLLKaGzJR9YVxJrIdASQ== +mimic-fn@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-4.0.0.tgz#60a90550d5cb0b239cca65d893b1a53b29871ecc" + integrity sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw== min-indent@^1.0.0: version "1.0.1" @@ -5031,6 +5073,16 @@ normalize-package-data@^2.3.2, normalize-package-data@^2.5.0: semver "2 || 3 || 4 || 5" validate-npm-package-license "^3.0.1" +normalize-package-data@^3.0.2: + version "3.0.3" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-3.0.3.tgz#dbcc3e2da59509a0983422884cd172eefdfa525e" + integrity sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA== + dependencies: + hosted-git-info "^4.0.1" + is-core-module "^2.5.0" + semver "^7.3.4" + validate-npm-package-license "^3.0.1" + normalize-path@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" @@ -5200,6 +5252,13 @@ p-limit@^3.0.2: dependencies: yocto-queue "^0.1.0" +p-limit@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-4.0.0.tgz#914af6544ed32bfa54670b061cafcbd04984b644" + integrity sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ== + dependencies: + yocto-queue "^1.0.0" + p-locate@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" @@ -5221,6 +5280,13 @@ p-locate@^5.0.0: dependencies: p-limit "^3.0.2" +p-locate@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-6.0.0.tgz#3da9a49d4934b901089dca3302fa65dc5a05c04f" + integrity sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw== + dependencies: + p-limit "^4.0.0" + p-map@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" @@ -5277,7 +5343,7 @@ parse-json@^4.0.0: error-ex "^1.3.1" json-parse-better-errors "^1.0.1" -parse-json@^5.0.0: +parse-json@^5.0.0, parse-json@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== @@ -5311,6 +5377,11 @@ path-exists@^4.0.0: resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== +path-exists@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-5.0.0.tgz#a6aad9489200b21fab31e49cf09277e5116fb9e7" + integrity sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ== + path-is-absolute@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" @@ -5535,6 +5606,15 @@ react-is@^17.0.1: resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== +read-pkg-up@9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-9.0.0.tgz#2f03ba3e1430c56f8f0a4da73274c6d26c283b45" + integrity sha512-7dNMZVru/9QQYnYYjboVqpaqT/e24MuhovJWjZHFBmUnCKVz5ZVFNLbd+fJCUsH7uIgkYbX9yQJvab2nc6P7Nw== + dependencies: + find-up "^6.2.0" + read-pkg "^7.0.0" + type-fest "^2.5.0" + read-pkg-up@^7.0.1: version "7.0.1" resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz#f3a6135758459733ae2b95638056e1854e7ef507" @@ -5544,6 +5624,16 @@ read-pkg-up@^7.0.1: read-pkg "^5.2.0" type-fest "^0.8.1" +read-pkg@7.0.0, read-pkg@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-7.0.0.tgz#7009094a9cd58c7efc325d31f1f6cfce1928fa00" + integrity sha512-oG2cKegOo2gjy/hrAM+KFHD9IqKdQvWcpWBBxuHbaucziM9PY45EuF6YbenLF7tL9ekXgB6Lfruo9hwdHQZUrA== + dependencies: + "@types/normalize-package-data" "^2.4.1" + normalize-package-data "^3.0.2" + parse-json "^5.2.0" + type-fest "^2.0.0" + read-pkg@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389" @@ -5861,7 +5951,7 @@ semver@7.0.0: resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== -semver@7.3.5, semver@^7.3.2, semver@^7.3.5: +semver@7.3.5, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5: version "7.3.5" resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== @@ -5950,6 +6040,13 @@ snapshot-diff@0.9.0: jest-snapshot "^27.0.4" pretty-format "^27.0.2" +sort-keys@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-5.0.0.tgz#5d775f8ae93ecc29bc7312bbf3acac4e36e3c446" + integrity sha512-Pdz01AvCAottHTPQGzndktFNdbRA75BgOfeT1hH+AMnJFv8lynkPi42rfeEhpx1saTEI3YNMWxfqu0sFD1G8pw== + dependencies: + is-plain-obj "^4.0.0" + source-map-support@^0.5.6: version "0.5.21" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" @@ -6067,7 +6164,16 @@ string-length@^5.0.1: char-regex "^2.0.0" strip-ansi "^7.0.1" -string-width@4.2.3, string-width@^4.1.0, string-width@^4.2.0: +string-width@5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.0.1.tgz#0d8158335a6cfd8eb95da9b6b262ce314a036ffd" + integrity sha512-5ohWO/M4//8lErlUUtrFy3b11GtNOuMOU0ysKCDXFcfXuuvUXu95akgj/i8ofmaGdN0hCqyl6uu9i8dS/mQp5g== + dependencies: + emoji-regex "^9.2.2" + is-fullwidth-code-point "^4.0.0" + strip-ansi "^7.0.1" + +string-width@^4.1.0, string-width@^4.2.0: version "4.2.3" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== @@ -6385,6 +6491,11 @@ type-fest@^0.8.1: resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== +type-fest@^2.0.0, type-fest@^2.5.0: + version "2.11.1" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-2.11.1.tgz#04ddf5c0dbbd403fb8270d98ad1b4857e7ff7b24" + integrity sha512-fPcV5KLAqFfmhHobtAUwEpbpfYhVF7wSLVgbG/7mIGe/Pete7ky/bPAPRkzbWdrj0/EkswFAAR2feJCgigkUKg== + typedarray-to-buffer@^3.1.5: version "3.1.5" resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" @@ -6696,7 +6807,7 @@ wrappy@1: resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= -write-file-atomic@^3.0.0: +write-file-atomic@^3.0.0, write-file-atomic@^3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== @@ -6706,6 +6817,25 @@ write-file-atomic@^3.0.0: signal-exit "^3.0.2" typedarray-to-buffer "^3.1.5" +write-json-file@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/write-json-file/-/write-json-file-5.0.0.tgz#11c329a8ea9e8e23fb92a87cc27412a15f87708b" + integrity sha512-ddSsCLa4aQ3kI21BthINo4q905/wfhvQ3JL3774AcRjBaiQmfn5v4rw77jQ7T6CmAit9VOQO+FsLyPkwxoB1fw== + dependencies: + detect-indent "^7.0.0" + is-plain-obj "^4.0.0" + sort-keys "^5.0.0" + write-file-atomic "^3.0.3" + +write-pkg@5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/write-pkg/-/write-pkg-5.0.0.tgz#b9fab4e78ee0e71b980867f2baff8b8564a77d26" + integrity sha512-ihflUwZ8WvVcXD2uhk4JAAe5+x9FT+0n4Z5b/OMZXBG8/hXCvSQXTYDf9raox0aqJGWRBipIE4rWSi6aCaiebw== + dependencies: + sort-keys "^5.0.0" + type-fest "^2.0.0" + write-json-file "^5.0.0" + ws@^7.4.6: version "7.5.6" resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.6.tgz#e59fc509fb15ddfb65487ee9765c5a51dec5fe7b" @@ -6782,3 +6912,8 @@ yocto-queue@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== + +yocto-queue@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-1.0.0.tgz#7f816433fb2cbc511ec8bf7d263c3b58a1a3c251" + integrity sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g== From 0d232e65cc4f69364c024bf477ab665a413074dd Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 6 Feb 2022 08:33:28 +0000 Subject: [PATCH 095/117] Build(deps-dev): Bump webpack from 5.67.0 to 5.68.0 in /website (#12228) --- website/package.json | 2 +- website/yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/website/package.json b/website/package.json index cb09f0c85..04049d401 100644 --- a/website/package.json +++ b/website/package.json @@ -20,7 +20,7 @@ "concurrently": "7.0.0", "docusaurus": "1.14.7", "js-yaml": "4.1.0", - "webpack": "5.67.0", + "webpack": "5.68.0", "webpack-cli": "4.9.2" } } diff --git a/website/yarn.lock b/website/yarn.lock index 10108d3a5..ac5404cdb 100644 --- a/website/yarn.lock +++ b/website/yarn.lock @@ -8257,10 +8257,10 @@ webpack-sources@^3.2.3: resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde" integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== -webpack@5.67.0: - version "5.67.0" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.67.0.tgz#cb43ca2aad5f7cc81c4cd36b626e6b819805dbfd" - integrity sha512-LjFbfMh89xBDpUMgA1W9Ur6Rn/gnr2Cq1jjHFPo4v6a79/ypznSYbAyPgGhwsxBtMIaEmDD1oJoA7BEYw/Fbrw== +webpack@5.68.0: + version "5.68.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.68.0.tgz#a653a58ed44280062e47257f260117e4be90d560" + integrity sha512-zUcqaUO0772UuuW2bzaES2Zjlm/y3kRBQDVFVCge+s2Y8mwuUTdperGaAv65/NtRL/1zanpSJOq/MD8u61vo6g== dependencies: "@types/eslint-scope" "^3.7.0" "@types/estree" "^0.0.50" From fa52d59cb6589e9ce3734a372570c44de0dc9afa Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 6 Feb 2022 08:33:46 +0000 Subject: [PATCH 096/117] Build(deps): Bump clipboard from 2.0.9 to 2.0.10 in /website (#12229) --- website/package.json | 2 +- website/yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/website/package.json b/website/package.json index 04049d401..94b5de72d 100644 --- a/website/package.json +++ b/website/package.json @@ -6,7 +6,7 @@ "update-stable-docs": "rm -rf ./versioned_docs ./versions.json && docusaurus-version stable" }, "dependencies": { - "clipboard": "2.0.9", + "clipboard": "2.0.10", "codemirror-graphql": "1.2.11", "lz-string": "1.4.4", "prop-types": "15.8.1", diff --git a/website/yarn.lock b/website/yarn.lock index ac5404cdb..9ee02fae2 100644 --- a/website/yarn.lock +++ b/website/yarn.lock @@ -2253,10 +2253,10 @@ classnames@^2.2.6: resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.3.1.tgz#dfcfa3891e306ec1dad105d0e88f4417b8535e8e" integrity sha512-OlQdbZ7gLfGarSqxesMesDa5uz7KFbID8Kpq/SxIoNGDqY8lSYs0D+hhtBXhcdB3rcbXArFr7vlHheLk1voeNA== -clipboard@2.0.9: - version "2.0.9" - resolved "https://registry.yarnpkg.com/clipboard/-/clipboard-2.0.9.tgz#beca1a755fb2c65938cc7c6092c421f922632641" - integrity sha512-JK1AIxL35mdvQoP50gelg1Gsx6wMsfjtMCzFAdePdrGEHaqTnNAz3qZg4vhmLQDlpTqiVgj7GRzmpIDsAcdvRA== +clipboard@2.0.10: + version "2.0.10" + resolved "https://registry.yarnpkg.com/clipboard/-/clipboard-2.0.10.tgz#e61f6f7139ac5044c58c0484dcac9fb2a918bfd6" + integrity sha512-cz3m2YVwFz95qSEbCDi2fzLN/epEN9zXBvfgAoGkvGOJZATMl9gtTDVOtBYkx2ODUJl2kvmud7n32sV2BpYR4g== dependencies: good-listener "^1.2.2" select "^1.1.2" From c85a44e19b02fbd66835675972c1167659e570e5 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 6 Feb 2022 08:35:45 +0000 Subject: [PATCH 097/117] Build(deps): Bump flow-parser from 0.170.0 to 0.171.0 (#12233) --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 1e4a590bf..98df88951 100644 --- a/package.json +++ b/package.json @@ -46,7 +46,7 @@ "fast-glob": "3.2.11", "fast-json-stable-stringify": "2.1.0", "find-parent-dir": "0.3.1", - "flow-parser": "0.170.0", + "flow-parser": "0.171.0", "get-stdin": "8.0.0", "graphql": "15.6.1", "html-element-attributes": "2.3.0", diff --git a/yarn.lock b/yarn.lock index 76684e988..22e6b585a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3415,10 +3415,10 @@ flatten@^1.0.2: resolved "https://registry.yarnpkg.com/flatten/-/flatten-1.0.3.tgz#c1283ac9f27b368abc1e36d1ff7b04501a30356b" integrity sha512-dVsPA/UwQ8+2uoFe5GHtiBMu48dWLTdsuEd7CKGlZlD78r1TTWBvDuFaFGKCo/ZfEr95Uk56vZoX86OsHkUeIg== -flow-parser@0.170.0: - version "0.170.0" - resolved "https://registry.yarnpkg.com/flow-parser/-/flow-parser-0.170.0.tgz#52cac19fd884c41894f39368bdf384183a597b3b" - integrity sha512-H1Fu8EM/F6MtOpHYpsFXPyySatowrXMWENxRmmKAfirfBr8kjHrms3YDuv82Nhn0xWaXV7Hhynp2tEaZsLhHLw== +flow-parser@0.171.0: + version "0.171.0" + resolved "https://registry.yarnpkg.com/flow-parser/-/flow-parser-0.171.0.tgz#5ffae78f050e43513abc86add9f19a97fcbabcdb" + integrity sha512-cqEsgic6HH81Pz0IQLeyuoh0O8Y7ECAIdZ0idPQ9P1jZ/kHB9KK0hwqnjVtqTGog15JURkIxvyXm+9pAb6uuSQ== form-data@^3.0.0: version "3.0.1" From 16af0908b540de615dacc33346dc30061e5cabbc Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 6 Feb 2022 08:36:02 +0000 Subject: [PATCH 098/117] Build(deps-dev): Bump esbuild from 0.14.14 to 0.14.18 (#12234) --- package.json | 2 +- yarn.lock | 188 +++++++++++++++++++++++++-------------------------- 2 files changed, 95 insertions(+), 95 deletions(-) diff --git a/package.json b/package.json index 98df88951..01461e91f 100644 --- a/package.json +++ b/package.json @@ -110,7 +110,7 @@ "cross-env": "7.0.3", "cspell": "5.18.3", "enquirer": "2.3.6", - "esbuild": "0.14.14", + "esbuild": "0.14.18", "esbuild-plugin-text-replace": "1.2.0", "esbuild-visualizer": "0.3.1", "eslint": "8.8.0", diff --git a/yarn.lock b/yarn.lock index 22e6b585a..6ad932991 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2818,75 +2818,75 @@ es-to-primitive@^1.2.1: is-date-object "^1.0.1" is-symbol "^1.0.2" -esbuild-android-arm64@0.14.14: - version "0.14.14" - resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.14.tgz#3705f32f209deeb11c275af47c298c8783dd5f0c" - integrity sha512-be/Uw6DdpQiPfula1J4bdmA+wtZ6T3BRCZsDMFB5X+k0Gp8TIh9UvmAcqvKNnbRAafSaXG3jPCeXxDKqnc8hFQ== +esbuild-android-arm64@0.14.18: + version "0.14.18" + resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.18.tgz#027a1cd57e57c6219341e116c4ac41a9952d69d1" + integrity sha512-AuE8vIwc6QLquwykyscFk0Ji3RFczoOvjka64FJlcjLLhD6VsS584RYlQrSnPpRkv69PunUvyrBoEF7JFTJijg== -esbuild-darwin-64@0.14.14: - version "0.14.14" - resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.14.tgz#c07e4eae6d938300a2d330ea82494c55bcea84e5" - integrity sha512-BEexYmjWafcISK8cT6O98E3TfcLuZL8DKuubry6G54n2+bD4GkoRD6HYUOnCkfl2p7jodA+s4369IjSFSWjtHg== +esbuild-darwin-64@0.14.18: + version "0.14.18" + resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.18.tgz#a219c50aa98b5bc08d7ce3677f5bae4b8aa5101b" + integrity sha512-nN1XziZtDy8QYOggaXC3zu0vVh8YJpS8Bol7bHaxx0enTLDSFBCXUUJEKYpmAAJ4OZRPgjXv8NzEHHQWQvLzXg== -esbuild-darwin-arm64@0.14.14: - version "0.14.14" - resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.14.tgz#a8631e13a51a6f784fb0906e2a64c6ab53988755" - integrity sha512-tnBKm41pDOB1GtZ8q/w26gZlLLRzVmP8fdsduYjvM+yFD7E2DLG4KbPAqFMWm4Md9B+DitBglP57FY7AznxbTg== +esbuild-darwin-arm64@0.14.18: + version "0.14.18" + resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.18.tgz#eb2d17d33c5991c183c99843698182bb702eb592" + integrity sha512-v0i2n6TCsbxco/W1fN8RgQt3RW00Q9zJO2eqiAdmLWg6Hx0HNHloZyfhF11i7nMUUgW8r5n++ZweIXjAFPE/gQ== -esbuild-freebsd-64@0.14.14: - version "0.14.14" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.14.tgz#c280c2b944746b27ee6c6487c2691865c90bed2e" - integrity sha512-Q9Rx6sgArOHalQtNwAaIzJ6dnQ8A+I7f/RsQsdkS3JrdzmnlFo8JEVofTmwVQLoIop7OKUqIVOGP4PoQcwfVMA== +esbuild-freebsd-64@0.14.18: + version "0.14.18" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.18.tgz#de06b6ce361bdf51fb66e59b220f67c4124cc728" + integrity sha512-XLyJZTWbSuQJOqw867tBxvto6GjxULvWZYKs6RFHYQPCqgQ0ODLRtBmp4Fqqpde52yOe45npaaoup9IXNfr32A== -esbuild-freebsd-arm64@0.14.14: - version "0.14.14" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.14.tgz#aa4e21276efcf20e5ab2487e91ca1d789573189b" - integrity sha512-TJvq0OpLM7BkTczlyPIphcvnwrQwQDG1HqxzoYePWn26SMUAlt6wrLnEvxdbXAvNvDLVzG83kA+JimjK7aRNBA== +esbuild-freebsd-arm64@0.14.18: + version "0.14.18" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.18.tgz#59bb55cd6ac1b2b3c43536c067d8356f4ae7e310" + integrity sha512-0ItfrR8hePnDcUXxUQxY+VfICcBfeMJCdK6mcNUXnXw6LyHjyUYXWpFXF+J18pg1/YUWRWO1HbsJ7FEwELcQIA== -esbuild-linux-32@0.14.14: - version "0.14.14" - resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.14.tgz#3db4d929239203ce38a9060d5419ac6a6d28846c" - integrity sha512-h/CrK9Baimt5VRbu8gqibWV7e1P9l+mkanQgyOgv0Ng3jHT1NVFC9e6rb1zbDdaJVmuhWX5xVliUA5bDDCcJeg== +esbuild-linux-32@0.14.18: + version "0.14.18" + resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.18.tgz#ff68f7ec7c8b8c7dddab4d6e65f1a1d0ff3ab0b9" + integrity sha512-mnG84D9NsEsoQdBpBT0IsFjm5iAwnd81SP4tRMXZLl09lPvIWjHHSq6LDlb4+L5H5K5y68WC//X5Dr2MtNY3DQ== -esbuild-linux-64@0.14.14: - version "0.14.14" - resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.14.tgz#f880026254c1f565a7a10fdebb7cff9b083a127d" - integrity sha512-IC+wAiIg/egp5OhQp4W44D9PcBOH1b621iRn1OXmlLzij9a/6BGr9NMIL4CRwz4j2kp3WNZu5sT473tYdynOuQ== +esbuild-linux-64@0.14.18: + version "0.14.18" + resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.18.tgz#d4083d9833580090452a095cd2216100d86f3c7a" + integrity sha512-HvExRtkeA8l/p+7Lf6aBrnLH+jTCFJTUMJxGKExh2RD8lCXGTeDJFyP+BOEetP80fuuH+Syj79+LVQ9MihdBsg== -esbuild-linux-arm64@0.14.14: - version "0.14.14" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.14.tgz#a34bc3076e50b109c3b8c8bad9c146e35942322b" - integrity sha512-6QVul3RI4M5/VxVIRF/I5F+7BaxzR3DfNGoqEVSCZqUbgzHExPn+LXr5ly1C7af2Kw4AHpo+wDqx8A4ziP9avw== +esbuild-linux-arm64@0.14.18: + version "0.14.18" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.18.tgz#8ce21e188ab9fcdb512f4ada9a637014c1294bec" + integrity sha512-CCWmilODE1ckw+M7RVqoqKWA4UB0alCyK2bv0ikEeEAwkzinlJeoe94t9CnT/ECSQ2sL+C16idsr+aUviGp7sg== -esbuild-linux-arm@0.14.14: - version "0.14.14" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.14.tgz#231ffd12fef69ee06365d4c94b69850e4830e927" - integrity sha512-gxpOaHOPwp7zSmcKYsHrtxabScMqaTzfSQioAMUaB047YiMuDBzqVcKBG8OuESrYkGrL9DDljXr/mQNg7pbdaQ== +esbuild-linux-arm@0.14.18: + version "0.14.18" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.18.tgz#a5e1d684c451f379b1dfef7b5a2dcad84cce3f79" + integrity sha512-+ZL8xfXVNaeaZ2Kxqlw2VYZWRDZ7NSK4zOV9GKNAtkkWURLsPUU84aUOBatRe9BH1O5FDo3LLQSlaA04ed6lhA== -esbuild-linux-mips64le@0.14.14: - version "0.14.14" - resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.14.tgz#bd00570e3a30422224b732c7a5f262146c357403" - integrity sha512-4Jl5/+xoINKbA4cesH3f4R+q0vltAztZ6Jm8YycS8lNhN1pgZJBDxWfI6HUMIAdkKlIpR1PIkA9aXQgZ8sxFAg== +esbuild-linux-mips64le@0.14.18: + version "0.14.18" + resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.18.tgz#c3890f178745a9c65bad64322be2b3611c240041" + integrity sha512-8LjO4+6Vxz5gbyCHO4OONYMF689nLderCtzb8lG1Bncs4ZXHpo6bjvuWeTMRbGUkvAhp+P6hMTzia7RHOC53wQ== -esbuild-linux-ppc64le@0.14.14: - version "0.14.14" - resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.14.tgz#430609413fd9e04d9def4e3f06726b031b23d825" - integrity sha512-BitW37GxeebKxqYNl4SVuSdnIJAzH830Lr6Mkq3pBHXtzQay0vK+IeOR/Ele1GtNVJ+/f8wYM53tcThkv5SC5w== +esbuild-linux-ppc64le@0.14.18: + version "0.14.18" + resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.18.tgz#a355f515ca84839f5301f8ef745a2b329105e232" + integrity sha512-0OJk/6iYEmF1J7LXY6+cqf6Ga5vG4an7n1nubTKce7kYqaTyNGfYcTjDZce6lnDVlZTJtwntIMszq1+ZX7Kenw== -esbuild-linux-s390x@0.14.14: - version "0.14.14" - resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.14.tgz#2f0d8cbfe53cf3cb97f6372549a41a8051dbd689" - integrity sha512-vLj6p76HOZG3wfuTr5MyO3qW5iu8YdhUNxuY+tx846rPo7GcKtYSPMusQjeVEfZlJpSYoR+yrNBBxq+qVF9zrw== +esbuild-linux-s390x@0.14.18: + version "0.14.18" + resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.18.tgz#81721c22387912778c67495d0a34527f7a2cde66" + integrity sha512-UNY7YKZHjY31KcNanJK4QaT2/aoIQyS+jViP3QuDRIoYAogRnc6WydylzIkkEzGMaC4fzaXOmQ8fxwpLAXK4Yg== -esbuild-netbsd-64@0.14.14: - version "0.14.14" - resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.14.tgz#3e44de35e1add7e9582f3c0d2558d86aafbc813b" - integrity sha512-fn8looXPQhpVqUyCBWUuPjesH+yGIyfbIQrLKG05rr1Kgm3rZD/gaYrd3Wpmf5syVZx70pKZPvdHp8OTA+y7cQ== +esbuild-netbsd-64@0.14.18: + version "0.14.18" + resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.18.tgz#eaee109d527a58b582f8fa933d9cadf8840758c2" + integrity sha512-wE/2xT9KNzLCfEBw24YbVmMmXH92cFIzrRPUlwWH9dIizjvEYYcyQ+peTMVkqzUum7pdlVLZ2CDDqAaZo/nW/w== -esbuild-openbsd-64@0.14.14: - version "0.14.14" - resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.14.tgz#04710ef1d01cd9f15d54f50d20b5a3778f8306a2" - integrity sha512-HdAnJ399pPff3SKbd8g+P4o5znseni5u5n5rJ6Z7ouqOdgbOwHe2ofZbMow17WMdNtz1IyOZk2Wo9Ve6/lZ4Rg== +esbuild-openbsd-64@0.14.18: + version "0.14.18" + resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.18.tgz#96a42615f5548529b7bb32d024bb9c6fb542778c" + integrity sha512-vdymE2jyuH/FRmTvrguCYSrq81/rUwuhMYyvt/6ibv9ac7xQ674c8qTdT+RH73sR9/2WUD/NsYxrBA/wUVTxcg== esbuild-plugin-text-replace@1.2.0: version "1.2.0" @@ -2895,10 +2895,10 @@ esbuild-plugin-text-replace@1.2.0: dependencies: ts-replace-all "^1.0.0" -esbuild-sunos-64@0.14.14: - version "0.14.14" - resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.14.tgz#8e583dd92c5c7ac4303ddc37f588e44211e04e19" - integrity sha512-bmDHa99ulsGnYlh/xjBEfxoGuC8CEG5OWvlgD+pF7bKKiVTbtxqVCvOGEZeoDXB+ja6AvHIbPxrEE32J+m5nqQ== +esbuild-sunos-64@0.14.18: + version "0.14.18" + resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.18.tgz#869723d73a5f35ba2a4a6c043694d952bd4f831b" + integrity sha512-X/Tesy6K1MdJF1d5cbzFDxrIMMn0ye+VgTQRI8P5Vo2CcKxOdckwsKUwpRAvg+VDZ6MxrSOTYS9OOoggPUjxTg== esbuild-visualizer@0.3.1: version "0.3.1" @@ -2909,44 +2909,44 @@ esbuild-visualizer@0.3.1: open "^7.4.2" yargs "^16.2.0" -esbuild-windows-32@0.14.14: - version "0.14.14" - resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.14.tgz#6d293ddfb71229f21cc13d85d5d2f43e8131693b" - integrity sha512-6tVooQcxJCNenPp5GHZBs/RLu31q4B+BuF4MEoRxswT+Eq2JGF0ZWDRQwNKB8QVIo3t6Svc5wNGez+CwKNQjBg== +esbuild-windows-32@0.14.18: + version "0.14.18" + resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.18.tgz#197c8833ed0f6a82055ab63861777749d0ce95c0" + integrity sha512-glG23I/JzCL4lu7DWFUtVwqFwNwlL0g+ks+mcjjUisHcINoSXTeCNToUN0bHhzn6IlXXnggNQ38Ew/idHPM8+g== -esbuild-windows-64@0.14.14: - version "0.14.14" - resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.14.tgz#08a36844b69542f8ec1cb33a5ddcea02b9d0b2e8" - integrity sha512-kl3BdPXh0/RD/dad41dtzj2itMUR4C6nQbXQCyYHHo4zoUoeIXhpCrSl7BAW1nv5EFL8stT1V+TQVXGZca5A2A== +esbuild-windows-64@0.14.18: + version "0.14.18" + resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.18.tgz#569832a99d87fc931a081fe7761c100578275be0" + integrity sha512-zEiFKHgV/3z14wsVamV98/5mxeOwz+ecyg0pD3fWcBz9j4EOIT1Tg47axypD4QLwiKFvve9mUBYX1cD99qxOyw== -esbuild-windows-arm64@0.14.14: - version "0.14.14" - resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.14.tgz#ca747ce4066d5b8a79dbe48fe6ecd92d202e5366" - integrity sha512-dCm1wTOm6HIisLanmybvRKvaXZZo4yEVrHh1dY0v582GThXJOzuXGja1HIQgV09RpSHYRL3m4KoUBL00l6SWEg== +esbuild-windows-arm64@0.14.18: + version "0.14.18" + resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.18.tgz#c1991848fca7b051d1d036d0723406da9696105d" + integrity sha512-Mh8lZFcPLat13dABN7lZThGUOn9YxoH5RYkhBq0U3WqQohHzKRhllYh7ibFixnkpMLnv8OZEbl8bGLMy03MpfA== -esbuild@0.14.14: - version "0.14.14" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.14.tgz#3b99f20d628013c3e2ae90e67687e03f1d6eb071" - integrity sha512-aiK4ddv+uui0k52OqSHu4xxu+SzOim7Rlz4i25pMEiC8rlnGU0HJ9r+ZMfdWL5bzifg+nhnn7x4NSWTeehYblg== +esbuild@0.14.18: + version "0.14.18" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.18.tgz#9c5f58c506ec9e0ec335d20bcb3f9dbd086d0648" + integrity sha512-vCUoISSltnX7ax01w70pWOSQT+e55o+2P/a+A9MSTukJAt3T4aDZajcjeG4fnZbkvOEv+dkKgdkvljz6vVQD4A== optionalDependencies: - esbuild-android-arm64 "0.14.14" - esbuild-darwin-64 "0.14.14" - esbuild-darwin-arm64 "0.14.14" - esbuild-freebsd-64 "0.14.14" - esbuild-freebsd-arm64 "0.14.14" - esbuild-linux-32 "0.14.14" - esbuild-linux-64 "0.14.14" - esbuild-linux-arm "0.14.14" - esbuild-linux-arm64 "0.14.14" - esbuild-linux-mips64le "0.14.14" - esbuild-linux-ppc64le "0.14.14" - esbuild-linux-s390x "0.14.14" - esbuild-netbsd-64 "0.14.14" - esbuild-openbsd-64 "0.14.14" - esbuild-sunos-64 "0.14.14" - esbuild-windows-32 "0.14.14" - esbuild-windows-64 "0.14.14" - esbuild-windows-arm64 "0.14.14" + esbuild-android-arm64 "0.14.18" + esbuild-darwin-64 "0.14.18" + esbuild-darwin-arm64 "0.14.18" + esbuild-freebsd-64 "0.14.18" + esbuild-freebsd-arm64 "0.14.18" + esbuild-linux-32 "0.14.18" + esbuild-linux-64 "0.14.18" + esbuild-linux-arm "0.14.18" + esbuild-linux-arm64 "0.14.18" + esbuild-linux-mips64le "0.14.18" + esbuild-linux-ppc64le "0.14.18" + esbuild-linux-s390x "0.14.18" + esbuild-netbsd-64 "0.14.18" + esbuild-openbsd-64 "0.14.18" + esbuild-sunos-64 "0.14.18" + esbuild-windows-32 "0.14.18" + esbuild-windows-64 "0.14.18" + esbuild-windows-arm64 "0.14.18" escalade@^3.1.1: version "3.1.1" From 2e0307756332073a309f94d2154ae7df44ce6e4b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 6 Feb 2022 08:37:11 +0000 Subject: [PATCH 099/117] Build(deps-dev): Bump @jest/globals in /scripts/release (#12242) --- scripts/release/package.json | 2 +- scripts/release/yarn.lock | 143 ++++++++++++++++++++++++++++------- 2 files changed, 118 insertions(+), 27 deletions(-) diff --git a/scripts/release/package.json b/scripts/release/package.json index b6db75c39..58bff4add 100644 --- a/scripts/release/package.json +++ b/scripts/release/package.json @@ -14,7 +14,7 @@ "string-width": "5.1.0" }, "devDependencies": { - "@jest/globals": "27.4.6", + "@jest/globals": "27.5.0", "jest": "27.4.7" } } diff --git a/scripts/release/yarn.lock b/scripts/release/yarn.lock index 3ae8183a0..90baab1a3 100644 --- a/scripts/release/yarn.lock +++ b/scripts/release/yarn.lock @@ -547,15 +547,15 @@ slash "^3.0.0" strip-ansi "^6.0.0" -"@jest/environment@^27.4.6": - version "27.4.6" - resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-27.4.6.tgz#1e92885d64f48c8454df35ed9779fbcf31c56d8b" - integrity sha512-E6t+RXPfATEEGVidr84WngLNWZ8ffCPky8RqqRK6u1Bn0LK92INe0MDttyPl/JOzaq92BmDzOeuqk09TvM22Sg== +"@jest/environment@^27.4.6", "@jest/environment@^27.5.0": + version "27.5.0" + resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-27.5.0.tgz#a473bc76261aad7dfa3a1d8e35155953a5ba3436" + integrity sha512-lg0JFsMaLKgpwzs0knOg21Z4OQwaJoBLutnmYzip4tyLTXP21VYWtYGpLXgx42fw/Mw05m1WDXWKgwR6WnsiTw== dependencies: - "@jest/fake-timers" "^27.4.6" - "@jest/types" "^27.4.2" + "@jest/fake-timers" "^27.5.0" + "@jest/types" "^27.5.0" "@types/node" "*" - jest-mock "^27.4.6" + jest-mock "^27.5.0" "@jest/fake-timers@^27.4.6": version "27.4.6" @@ -569,14 +569,26 @@ jest-mock "^27.4.6" jest-util "^27.4.2" -"@jest/globals@27.4.6", "@jest/globals@^27.4.6": - version "27.4.6" - resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-27.4.6.tgz#3f09bed64b0fd7f5f996920258bd4be8f52f060a" - integrity sha512-kAiwMGZ7UxrgPzu8Yv9uvWmXXxsy0GciNejlHvfPIfWkSxChzv6bgTS3YqBkGuHcis+ouMFI2696n2t+XYIeFw== +"@jest/fake-timers@^27.5.0": + version "27.5.0" + resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-27.5.0.tgz#f9e07b4c723a535f7c532cfb403394fa40d88c8a" + integrity sha512-e3WrlpqSHq3HAQ03JFjTn8YCrsyg640/sr1rjkM2rNv8z1ufjudpv4xq6DvvTJYB6FuUrfg0g+7bSKPet5QfCQ== dependencies: - "@jest/environment" "^27.4.6" - "@jest/types" "^27.4.2" - expect "^27.4.6" + "@jest/types" "^27.5.0" + "@sinonjs/fake-timers" "^8.0.1" + "@types/node" "*" + jest-message-util "^27.5.0" + jest-mock "^27.5.0" + jest-util "^27.5.0" + +"@jest/globals@27.5.0", "@jest/globals@^27.4.6": + version "27.5.0" + resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-27.5.0.tgz#16271323f79e3b0fe0842e9588241d202a6c2aff" + integrity sha512-wWpMnTiR65Q4JD7fr2BqN+ZDbi99mmILnEM6u7AaX4geASEIVvQsiB4RCvwZrIX5YZCsAjviJQVq9CYddLABkg== + dependencies: + "@jest/environment" "^27.5.0" + "@jest/types" "^27.5.0" + expect "^27.5.0" "@jest/reporters@^27.4.6": version "27.4.6" @@ -659,10 +671,10 @@ source-map "^0.6.1" write-file-atomic "^3.0.0" -"@jest/types@^27.4.2": - version "27.4.2" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-27.4.2.tgz#96536ebd34da6392c2b7c7737d693885b5dd44a5" - integrity sha512-j35yw0PMTPpZsUoOBiuHzr1zTYoad1cVIE0ajEjcrJONxxrko/IRGKkXx3os0Nsi4Hu3+5VmDbVfq5WhG/pWAg== +"@jest/types@^27.4.2", "@jest/types@^27.5.0": + version "27.5.0" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-27.5.0.tgz#6ad04a5c5355fd9f46e5cf761850e0edb3c209dd" + integrity sha512-oDHEp7gwSgA82RZ6pzUL3ugM2njP/lVB1MsxRZNOBk+CoNvh9SpH1lQixPFc/kDlV50v59csiW4HLixWmhmgPQ== dependencies: "@types/istanbul-lib-coverage" "^2.0.0" "@types/istanbul-reports" "^3.0.0" @@ -1197,6 +1209,11 @@ diff-sequences@^27.4.0: resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-27.4.0.tgz#d783920ad8d06ec718a060d00196dfef25b132a5" integrity sha512-YqiQzkrsmHMH5uuh8OdQFU9/ZpADnwzml8z0O5HvRNda+5UZsaX/xN+AAxfR2hWq1Y7HZnAzO9J5lJXOuDz2Ww== +diff-sequences@^27.5.0: + version "27.5.0" + resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-27.5.0.tgz#a8ac0cb742b17d6f30a6c43e233893a2402c0729" + integrity sha512-ZsOBWnhXiH+Zn0DcBNX/tiQsqrREHs/6oQsEVy2VJJjrTblykPima11pyHMSA/7PGmD+fwclTnKVKL/qtNREDQ== + domexception@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/domexception/-/domexception-2.0.1.tgz#fb44aefba793e1574b0af6aed2801d057529f304" @@ -1311,15 +1328,15 @@ exit@^0.1.2: resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" integrity sha1-BjJjj42HfMghB9MKD/8aF8uhzQw= -expect@^27.4.6: - version "27.4.6" - resolved "https://registry.yarnpkg.com/expect/-/expect-27.4.6.tgz#f335e128b0335b6ceb4fcab67ece7cbd14c942e6" - integrity sha512-1M/0kAALIaj5LaG66sFJTbRsWTADnylly82cu4bspI0nl+pgP4E6Bh/aqdHlTUjul06K7xQnnrAoqfxVU0+/ag== +expect@^27.4.6, expect@^27.5.0: + version "27.5.0" + resolved "https://registry.yarnpkg.com/expect/-/expect-27.5.0.tgz#ea2fbebb483c274043098c34a53923a0aee493f0" + integrity sha512-z73GZ132cBqrapO0X6BeRjyBXqOt9YeRtnDteHJIQqp5s2pZ41Hz23VUbsVFMfkrsFLU9GwoIRS0ZzLuFK8M5w== dependencies: - "@jest/types" "^27.4.2" - jest-get-type "^27.4.0" - jest-matcher-utils "^27.4.6" - jest-message-util "^27.4.6" + "@jest/types" "^27.5.0" + jest-get-type "^27.5.0" + jest-matcher-utils "^27.5.0" + jest-message-util "^27.5.0" fast-json-stable-stringify@^2.0.0: version "2.1.0" @@ -1434,6 +1451,11 @@ graceful-fs@^4.2.4: resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.8.tgz#e412b8d33f5e006593cbd3cee6df9f2cebbe802a" integrity sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg== +graceful-fs@^4.2.9: + version "4.2.9" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.9.tgz#041b05df45755e587a24942279b9d113146e1c96" + integrity sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ== + has-flag@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" @@ -1707,6 +1729,16 @@ jest-diff@^27.4.6: jest-get-type "^27.4.0" pretty-format "^27.4.6" +jest-diff@^27.5.0: + version "27.5.0" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-27.5.0.tgz#34dc608a3b9159df178dd480b6d835b5e6b92082" + integrity sha512-zztvHDCq/QcAVv+o6rts0reupSOxyrX+KLQEOMWCW2trZgcBFgp/oTK7hJCGpXvEIqKrQzyQlaPKn9W04+IMQg== + dependencies: + chalk "^4.0.0" + diff-sequences "^27.5.0" + jest-get-type "^27.5.0" + pretty-format "^27.5.0" + jest-docblock@^27.4.0: version "27.4.0" resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-27.4.0.tgz#06c78035ca93cbbb84faf8fce64deae79a59f69f" @@ -1755,6 +1787,11 @@ jest-get-type@^27.4.0: resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-27.4.0.tgz#7503d2663fffa431638337b3998d39c5e928e9b5" integrity sha512-tk9o+ld5TWq41DkK14L4wox4s2D9MtTpKaAVzXfr5CUKm5ZK2ExcaFE0qls2W71zE/6R2TxxrK9w2r6svAFDBQ== +jest-get-type@^27.5.0: + version "27.5.0" + resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-27.5.0.tgz#861c24aa1b176be83c902292cb9618d580cac8a7" + integrity sha512-Vp6O8a52M/dahXRG/E0EJuWQROps2mDQ0sJYPgO8HskhdLwj9ajgngy2OAqZgV6e/RcU67WUHq6TgfvJb8flbA== + jest-haste-map@^27.4.6: version "27.4.6" resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-27.4.6.tgz#c60b5233a34ca0520f325b7e2cc0a0140ad0862a" @@ -1816,6 +1853,16 @@ jest-matcher-utils@^27.4.6: jest-get-type "^27.4.0" pretty-format "^27.4.6" +jest-matcher-utils@^27.5.0: + version "27.5.0" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-27.5.0.tgz#d2fc737224fb3bfa38eaa2393ac5bc953d5c5697" + integrity sha512-5ruyzWMGb1ilCWD6ECwNdOhQBeIXAjHmHd5c3uO6quR7RIMHPRP2ucOaejz2j+0R0Ko4GanWM6SqXAeF8nYN5g== + dependencies: + chalk "^4.0.0" + jest-diff "^27.5.0" + jest-get-type "^27.5.0" + pretty-format "^27.5.0" + jest-message-util@^27.4.6: version "27.4.6" resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-27.4.6.tgz#9fdde41a33820ded3127465e1a5896061524da31" @@ -1831,6 +1878,21 @@ jest-message-util@^27.4.6: slash "^3.0.0" stack-utils "^2.0.3" +jest-message-util@^27.5.0: + version "27.5.0" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-27.5.0.tgz#654a781b38a305b1fd8120053c784c67bca00a52" + integrity sha512-lfbWRhTtmZMEHPAtl0SrvNzK1F4UnVNMHOliRQT2BJ4sBFzIb0gBCHA4ebWD4o6l1fUyvDPxM01K9OIMQTAdQw== + dependencies: + "@babel/code-frame" "^7.12.13" + "@jest/types" "^27.5.0" + "@types/stack-utils" "^2.0.0" + chalk "^4.0.0" + graceful-fs "^4.2.9" + micromatch "^4.0.4" + pretty-format "^27.5.0" + slash "^3.0.0" + stack-utils "^2.0.3" + jest-mock@^27.4.6: version "27.4.6" resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-27.4.6.tgz#77d1ba87fbd33ccb8ef1f061697e7341b7635195" @@ -1839,6 +1901,14 @@ jest-mock@^27.4.6: "@jest/types" "^27.4.2" "@types/node" "*" +jest-mock@^27.5.0: + version "27.5.0" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-27.5.0.tgz#1018656fe6bcd0f58fd1edca7f420169f6707c6e" + integrity sha512-PHluG6MJGng82/sxh8OiB9fnxzNn3cazceSHCAmAKs4g5rMhc3EZCrJXv+4w61rA2WGagMUj7QLLrA1SRlFpzQ== + dependencies: + "@jest/types" "^27.5.0" + "@types/node" "*" + jest-pnp-resolver@^1.2.2: version "1.2.2" resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz#b704ac0ae028a89108a4d040b3f919dfddc8e33c" @@ -1978,6 +2048,18 @@ jest-util@^27.4.2: graceful-fs "^4.2.4" picomatch "^2.2.3" +jest-util@^27.5.0: + version "27.5.0" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-27.5.0.tgz#0b9540d91b0de65d288f235fa9899e6eeeab8d35" + integrity sha512-FUUqOx0gAzJy3ytatT1Ss372M1kmhczn8x7aE0++11oPGW1FyD/5NjYBI8w1KOXFm6IVjtaZm2szfJJL+CHs0g== + dependencies: + "@jest/types" "^27.5.0" + "@types/node" "*" + chalk "^4.0.0" + ci-info "^3.2.0" + graceful-fs "^4.2.9" + picomatch "^2.2.3" + jest-validate@^27.4.6: version "27.4.6" resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-27.4.6.tgz#efc000acc4697b6cf4fa68c7f3f324c92d0c4f1f" @@ -2363,6 +2445,15 @@ pretty-format@^27.4.6: ansi-styles "^5.0.0" react-is "^17.0.1" +pretty-format@^27.5.0: + version "27.5.0" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-27.5.0.tgz#71e1af7a4b587d259fa4668dcd3e94af077767cb" + integrity sha512-xEi6BRPZ+J1AIS4BAtFC/+rh5jXlXObGZjx5+OSpM95vR/PGla78bFVHMy5GdZjP9wk3AHAMHROXq/r69zXltw== + dependencies: + ansi-regex "^5.0.1" + ansi-styles "^5.0.0" + react-is "^17.0.1" + prompts@^2.0.1: version "2.4.1" resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.1.tgz#befd3b1195ba052f9fd2fde8a486c4e82ee77f61" From 1f50c8417de06fddd252726bcc019bea541068a4 Mon Sep 17 00:00:00 2001 From: Sosuke Suzuki Date: Sun, 6 Feb 2022 21:07:02 +0900 Subject: [PATCH 100/117] Run tests for logical-assignment operators witn `flow` (#12244) --- .../js/logical-assignment/__snapshots__/jsfmt.spec.js.snap | 2 +- tests/format/js/logical-assignment/jsfmt.spec.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/format/js/logical-assignment/__snapshots__/jsfmt.spec.js.snap b/tests/format/js/logical-assignment/__snapshots__/jsfmt.spec.js.snap index 93320616a..cba114fc5 100644 --- a/tests/format/js/logical-assignment/__snapshots__/jsfmt.spec.js.snap +++ b/tests/format/js/logical-assignment/__snapshots__/jsfmt.spec.js.snap @@ -2,7 +2,7 @@ exports[`logical-assignment.js format 1`] = ` ====================================options===================================== -parsers: ["babel", "typescript"] +parsers: ["babel", "typescript", "flow"] printWidth: 80 | printWidth =====================================input====================================== diff --git a/tests/format/js/logical-assignment/jsfmt.spec.js b/tests/format/js/logical-assignment/jsfmt.spec.js index 858ac91aa..61966a7d0 100644 --- a/tests/format/js/logical-assignment/jsfmt.spec.js +++ b/tests/format/js/logical-assignment/jsfmt.spec.js @@ -1 +1 @@ -run_spec(__dirname, ["babel", "typescript"]); +run_spec(__dirname, ["babel", "typescript", "flow"]); From fce558e97a8650d39a77ea95c4112d17a9dc4a4c Mon Sep 17 00:00:00 2001 From: Sosuke Suzuki Date: Sun, 6 Feb 2022 21:44:54 +0900 Subject: [PATCH 101/117] Tweaks vendors (#12246) * Add `scripts` for vendors * Add links to README --- .github/workflows/validate-vendor-versions.yml | 2 +- package.json | 4 +++- vendors/README.md | 4 +++- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.github/workflows/validate-vendor-versions.yml b/.github/workflows/validate-vendor-versions.yml index baa06c8fe..1091a7996 100644 --- a/.github/workflows/validate-vendor-versions.yml +++ b/.github/workflows/validate-vendor-versions.yml @@ -26,4 +26,4 @@ jobs: run: yarn install --frozen-lockfile - name: Validate Vendor Versions - run: node ./scripts/vendors/validate-vendor-versions.mjs + run: yarn run vendors:validate diff --git a/package.json b/package.json index 01461e91f..481bc8647 100644 --- a/package.json +++ b/package.json @@ -166,7 +166,9 @@ "fix:eslint": "yarn lint:eslint --fix", "fix:prettier": "yarn lint:prettier --write", "build": "node ./scripts/build/build.mjs", - "build:website": "node ./scripts/build-website.mjs" + "build:website": "node ./scripts/build-website.mjs", + "vendors:bundle": "node ./scripts/vendors/bundle-vendors.mjs", + "vendors:validate": "node ./scripts/vendors/validate-vendor-versions.mjs" }, "browserslist": [ ">0.5%", diff --git a/vendors/README.md b/vendors/README.md index 9f3b30296..a86bb314b 100644 --- a/vendors/README.md +++ b/vendors/README.md @@ -1,3 +1,5 @@ # `./vendors` -**JavaScript Files that included in this directory are auto generated by `scripts/vendor/bundle-vendors.mjs`.** +**JavaScript Files that included in this directory are auto generated by [`/scripts/vendor/bundle-vendors.mjs`](../scripts/vendors/bundle-vendors.mjs).** + +See [`/scripts/vendors/README.md`](../scripts/vendors/README.md) for the context. From 6819dc91f6455f255d3d9c0db5eb8934b2165ae5 Mon Sep 17 00:00:00 2001 From: Sosuke Suzuki Date: Sun, 6 Feb 2022 23:25:29 +0900 Subject: [PATCH 102/117] Add an esbuild plugin to add `@ts-nocheck` annotation for vendors (#12248) * Enable prettier * Add `esbuildPluginTsNocheck` * Run build * Update cspell.json --- .prettierignore | 2 +- cspell.json | 1 + scripts/vendors/bundle-vendors.mjs | 6 ++++-- scripts/vendors/esbuild-plugin-ts-nocheck.mjs | 20 +++++++++++++++++++ vendors/mem.js | 1 + vendors/string-width.js | 1 + 6 files changed, 28 insertions(+), 3 deletions(-) create mode 100644 scripts/vendors/esbuild-plugin-ts-nocheck.mjs diff --git a/.prettierignore b/.prettierignore index 81812aeda..305b9916e 100644 --- a/.prettierignore +++ b/.prettierignore @@ -10,4 +10,4 @@ coverage/ /website/static/lib/ /website/static/playground.js .nyc_output -vendors/ +/vendors/ diff --git a/cspell.json b/cspell.json index d578a035c..6b9a2c064 100644 --- a/cspell.json +++ b/cspell.json @@ -213,6 +213,7 @@ "neoclide", "neoformat", "neovim", + "nocheck", "nnoremap", "nonenumerable", "Nonspacing", diff --git a/scripts/vendors/bundle-vendors.mjs b/scripts/vendors/bundle-vendors.mjs index 0657255de..1036803d2 100644 --- a/scripts/vendors/bundle-vendors.mjs +++ b/scripts/vendors/bundle-vendors.mjs @@ -9,6 +9,7 @@ import { writePackage } from "write-pkg"; import { readPackageUp } from "read-pkg-up"; import vendors from "./vendors.mjs"; import { writeVendorVersions } from "./vendor-versions.mjs"; +import esbuildPluginTsNocheck from "./esbuild-plugin-ts-nocheck.mjs"; const { __dirname, require } = createEsmUtils(import.meta); const rootDir = path.join(__dirname, "..", ".."); @@ -32,7 +33,7 @@ async function lockVersions(vendors) { async function fileExists(filePath) { try { - return (await fs.stat(filePath)).isFile() + return (await fs.stat(filePath)).isFile(); } catch { return false; } @@ -41,7 +42,7 @@ async function fileExists(filePath) { async function cleanExistsBundledJS() { for (const file of await fs.readdir(vendorsDir)) { const filePath = path.join(vendorsDir, file); - if (path.extname(file) === ".js" && await (fileExists(filePath))) { + if (path.extname(file) === ".js" && (await fileExists(filePath))) { await fs.rm(filePath); } } @@ -58,6 +59,7 @@ async function bundle(vendor) { bundle: true, target: ["node12.17.0"], platform: "node", + plugins: [esbuildPluginTsNocheck()], outfile, }; await esbuild.build(esbuildOption); diff --git a/scripts/vendors/esbuild-plugin-ts-nocheck.mjs b/scripts/vendors/esbuild-plugin-ts-nocheck.mjs new file mode 100644 index 000000000..44c0452f2 --- /dev/null +++ b/scripts/vendors/esbuild-plugin-ts-nocheck.mjs @@ -0,0 +1,20 @@ +import fs from "node:fs"; + +const tsNoCheck = "// @ts-nocheck\n"; + +export default function esbuildPluginTsNocheck() { + return { + name: "ts-no-check", + setup(build) { + const options = build.initialOptions; + const { outfile } = options; + build.onEnd(() => { + if (!fs.existsSync(outfile)) { + throw new Error(`${outfile} not exists`); + } + const text = fs.readFileSync(outfile, "utf8"); + fs.writeFileSync(outfile, tsNoCheck + text); + }); + }, + }; +} diff --git a/vendors/mem.js b/vendors/mem.js index 5ffd6ad0d..dae72c450 100644 --- a/vendors/mem.js +++ b/vendors/mem.js @@ -1,3 +1,4 @@ +// @ts-nocheck var __create = Object.create; var __defProp = Object.defineProperty; var __defProps = Object.defineProperties; diff --git a/vendors/string-width.js b/vendors/string-width.js index 82918aae1..54b9b0cbf 100644 --- a/vendors/string-width.js +++ b/vendors/string-width.js @@ -1,3 +1,4 @@ +// @ts-nocheck var __create = Object.create; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; From fa615fa95f26fa4b19e7ff84899b2a229aaaf634 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 7 Feb 2022 08:16:30 +0800 Subject: [PATCH 103/117] Build(deps-dev): Bump jest from 27.4.7 to 27.5.0 in /scripts/release (#12243) Bumps [jest](https://github.com/facebook/jest) from 27.4.7 to 27.5.0. - [Release notes](https://github.com/facebook/jest/releases) - [Changelog](https://github.com/facebook/jest/blob/main/CHANGELOG.md) - [Commits](https://github.com/facebook/jest/compare/v27.4.7...v27.5.0) --- updated-dependencies: - dependency-name: jest dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- scripts/release/package.json | 2 +- scripts/release/yarn.lock | 706 +++++++++++++++-------------------- 2 files changed, 308 insertions(+), 400 deletions(-) diff --git a/scripts/release/package.json b/scripts/release/package.json index 58bff4add..ce334c017 100644 --- a/scripts/release/package.json +++ b/scripts/release/package.json @@ -15,6 +15,6 @@ }, "devDependencies": { "@jest/globals": "27.5.0", - "jest": "27.4.7" + "jest": "27.5.0" } } diff --git a/scripts/release/yarn.lock b/scripts/release/yarn.lock index 90baab1a3..37447b3e1 100644 --- a/scripts/release/yarn.lock +++ b/scripts/release/yarn.lock @@ -501,53 +501,53 @@ resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98" integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== -"@jest/console@^27.4.6": - version "27.4.6" - resolved "https://registry.yarnpkg.com/@jest/console/-/console-27.4.6.tgz#0742e6787f682b22bdad56f9db2a8a77f6a86107" - integrity sha512-jauXyacQD33n47A44KrlOVeiXHEXDqapSdfb9kTekOchH/Pd18kBIO1+xxJQRLuG+LUuljFCwTG92ra4NW7SpA== +"@jest/console@^27.5.0": + version "27.5.0" + resolved "https://registry.yarnpkg.com/@jest/console/-/console-27.5.0.tgz#82289a589ad5803555b50b64178128b7a8e45282" + integrity sha512-WUzX5neFb0IOQOy/7A2VhiGdxJKk85Xns2Oq29JaHmtnSel+BsjwyQZxzAs2Xxfd2i452fwdDG9ox/IWi81bdQ== dependencies: - "@jest/types" "^27.4.2" + "@jest/types" "^27.5.0" "@types/node" "*" chalk "^4.0.0" - jest-message-util "^27.4.6" - jest-util "^27.4.2" + jest-message-util "^27.5.0" + jest-util "^27.5.0" slash "^3.0.0" -"@jest/core@^27.4.7": - version "27.4.7" - resolved "https://registry.yarnpkg.com/@jest/core/-/core-27.4.7.tgz#84eabdf42a25f1fa138272ed229bcf0a1b5e6913" - integrity sha512-n181PurSJkVMS+kClIFSX/LLvw9ExSb+4IMtD6YnfxZVerw9ANYtW0bPrm0MJu2pfe9SY9FJ9FtQ+MdZkrZwjg== +"@jest/core@^27.5.0": + version "27.5.0" + resolved "https://registry.yarnpkg.com/@jest/core/-/core-27.5.0.tgz#27b383f497ff1671cc30fd5e22eba9d9b10c3031" + integrity sha512-DcUTkZyon+dRozTEjy38Bgt3PIU51GdUJuz3uHKg5maGtmCaYqPUGiM3Xddqi7eIMC7E3fTGIlHqH9i0pTOy6Q== dependencies: - "@jest/console" "^27.4.6" - "@jest/reporters" "^27.4.6" - "@jest/test-result" "^27.4.6" - "@jest/transform" "^27.4.6" - "@jest/types" "^27.4.2" + "@jest/console" "^27.5.0" + "@jest/reporters" "^27.5.0" + "@jest/test-result" "^27.5.0" + "@jest/transform" "^27.5.0" + "@jest/types" "^27.5.0" "@types/node" "*" ansi-escapes "^4.2.1" chalk "^4.0.0" emittery "^0.8.1" exit "^0.1.2" - graceful-fs "^4.2.4" - jest-changed-files "^27.4.2" - jest-config "^27.4.7" - jest-haste-map "^27.4.6" - jest-message-util "^27.4.6" - jest-regex-util "^27.4.0" - jest-resolve "^27.4.6" - jest-resolve-dependencies "^27.4.6" - jest-runner "^27.4.6" - jest-runtime "^27.4.6" - jest-snapshot "^27.4.6" - jest-util "^27.4.2" - jest-validate "^27.4.6" - jest-watcher "^27.4.6" + graceful-fs "^4.2.9" + jest-changed-files "^27.5.0" + jest-config "^27.5.0" + jest-haste-map "^27.5.0" + jest-message-util "^27.5.0" + jest-regex-util "^27.5.0" + jest-resolve "^27.5.0" + jest-resolve-dependencies "^27.5.0" + jest-runner "^27.5.0" + jest-runtime "^27.5.0" + jest-snapshot "^27.5.0" + jest-util "^27.5.0" + jest-validate "^27.5.0" + jest-watcher "^27.5.0" micromatch "^4.0.4" rimraf "^3.0.0" slash "^3.0.0" strip-ansi "^6.0.0" -"@jest/environment@^27.4.6", "@jest/environment@^27.5.0": +"@jest/environment@^27.5.0": version "27.5.0" resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-27.5.0.tgz#a473bc76261aad7dfa3a1d8e35155953a5ba3436" integrity sha512-lg0JFsMaLKgpwzs0knOg21Z4OQwaJoBLutnmYzip4tyLTXP21VYWtYGpLXgx42fw/Mw05m1WDXWKgwR6WnsiTw== @@ -557,18 +557,6 @@ "@types/node" "*" jest-mock "^27.5.0" -"@jest/fake-timers@^27.4.6": - version "27.4.6" - resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-27.4.6.tgz#e026ae1671316dbd04a56945be2fa251204324e8" - integrity sha512-mfaethuYF8scV8ntPpiVGIHQgS0XIALbpY2jt2l7wb/bvq4Q5pDLk4EP4D7SAvYT1QrPOPVZAtbdGAOOyIgs7A== - dependencies: - "@jest/types" "^27.4.2" - "@sinonjs/fake-timers" "^8.0.1" - "@types/node" "*" - jest-message-util "^27.4.6" - jest-mock "^27.4.6" - jest-util "^27.4.2" - "@jest/fake-timers@^27.5.0": version "27.5.0" resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-27.5.0.tgz#f9e07b4c723a535f7c532cfb403394fa40d88c8a" @@ -581,7 +569,7 @@ jest-mock "^27.5.0" jest-util "^27.5.0" -"@jest/globals@27.5.0", "@jest/globals@^27.4.6": +"@jest/globals@27.5.0", "@jest/globals@^27.5.0": version "27.5.0" resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-27.5.0.tgz#16271323f79e3b0fe0842e9588241d202a6c2aff" integrity sha512-wWpMnTiR65Q4JD7fr2BqN+ZDbi99mmILnEM6u7AaX4geASEIVvQsiB4RCvwZrIX5YZCsAjviJQVq9CYddLABkg== @@ -590,88 +578,88 @@ "@jest/types" "^27.5.0" expect "^27.5.0" -"@jest/reporters@^27.4.6": - version "27.4.6" - resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-27.4.6.tgz#b53dec3a93baf9b00826abf95b932de919d6d8dd" - integrity sha512-+Zo9gV81R14+PSq4wzee4GC2mhAN9i9a7qgJWL90Gpx7fHYkWpTBvwWNZUXvJByYR9tAVBdc8VxDWqfJyIUrIQ== +"@jest/reporters@^27.5.0": + version "27.5.0" + resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-27.5.0.tgz#e7602e12656b5051bf4e784cbdd82d4ec1299e33" + integrity sha512-DG+BmVSx2uaJSTKz5z1eScgHTQ6/cZ5CCKSpmpr4sXQPwV2V5aUMOBDwXX1MnqNRhH7/Rq9K97ynnocvho5aMA== dependencies: "@bcoe/v8-coverage" "^0.2.3" - "@jest/console" "^27.4.6" - "@jest/test-result" "^27.4.6" - "@jest/transform" "^27.4.6" - "@jest/types" "^27.4.2" + "@jest/console" "^27.5.0" + "@jest/test-result" "^27.5.0" + "@jest/transform" "^27.5.0" + "@jest/types" "^27.5.0" "@types/node" "*" chalk "^4.0.0" collect-v8-coverage "^1.0.0" exit "^0.1.2" glob "^7.1.2" - graceful-fs "^4.2.4" + graceful-fs "^4.2.9" istanbul-lib-coverage "^3.0.0" istanbul-lib-instrument "^5.1.0" istanbul-lib-report "^3.0.0" istanbul-lib-source-maps "^4.0.0" istanbul-reports "^3.1.3" - jest-haste-map "^27.4.6" - jest-resolve "^27.4.6" - jest-util "^27.4.2" - jest-worker "^27.4.6" + jest-haste-map "^27.5.0" + jest-resolve "^27.5.0" + jest-util "^27.5.0" + jest-worker "^27.5.0" slash "^3.0.0" source-map "^0.6.0" string-length "^4.0.1" terminal-link "^2.0.0" v8-to-istanbul "^8.1.0" -"@jest/source-map@^27.4.0": - version "27.4.0" - resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-27.4.0.tgz#2f0385d0d884fb3e2554e8f71f8fa957af9a74b6" - integrity sha512-Ntjx9jzP26Bvhbm93z/AKcPRj/9wrkI88/gK60glXDx1q+IeI0rf7Lw2c89Ch6ofonB0On/iRDreQuQ6te9pgQ== +"@jest/source-map@^27.5.0": + version "27.5.0" + resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-27.5.0.tgz#f22a7e759b8807491f84719c01acf433b917c7a0" + integrity sha512-0xr7VZ+JNCRrlCyRMYhquUm8eU3kNdGDaIW4s3L625bNjk273v9ZhAm3YczIuzJzYH0pnjT+QSCiZQegWKjeow== dependencies: callsites "^3.0.0" - graceful-fs "^4.2.4" + graceful-fs "^4.2.9" source-map "^0.6.0" -"@jest/test-result@^27.4.6": - version "27.4.6" - resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-27.4.6.tgz#b3df94c3d899c040f602cea296979844f61bdf69" - integrity sha512-fi9IGj3fkOrlMmhQqa/t9xum8jaJOOAi/lZlm6JXSc55rJMXKHxNDN1oCP39B0/DhNOa2OMupF9BcKZnNtXMOQ== +"@jest/test-result@^27.5.0": + version "27.5.0" + resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-27.5.0.tgz#29e0ace33570c9dcbd47c67e954f77a7d7fff98e" + integrity sha512-Lxecvx5mN6WIeynIyW0dWDQm8UPGMHvTwxUPK+OsZaqBDMGaNDSZtw53VoVk7HyT6AcRblMR/pfa0XucmH4hGw== dependencies: - "@jest/console" "^27.4.6" - "@jest/types" "^27.4.2" + "@jest/console" "^27.5.0" + "@jest/types" "^27.5.0" "@types/istanbul-lib-coverage" "^2.0.0" collect-v8-coverage "^1.0.0" -"@jest/test-sequencer@^27.4.6": - version "27.4.6" - resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-27.4.6.tgz#447339b8a3d7b5436f50934df30854e442a9d904" - integrity sha512-3GL+nsf6E1PsyNsJuvPyIz+DwFuCtBdtvPpm/LMXVkBJbdFvQYCDpccYT56qq5BGniXWlE81n2qk1sdXfZebnw== +"@jest/test-sequencer@^27.5.0": + version "27.5.0" + resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-27.5.0.tgz#68beceb3de818dcb34fb3ea59be3c22c890bb6e5" + integrity sha512-WzjcDflqbpWe+SnJPCvB2gB6haGfrkzAgzY6Pb1aq+EPoVAj2mwBaKN0ROWI4H87aSslCjq2M+BUQFNJ8VpnDA== dependencies: - "@jest/test-result" "^27.4.6" - graceful-fs "^4.2.4" - jest-haste-map "^27.4.6" - jest-runtime "^27.4.6" + "@jest/test-result" "^27.5.0" + graceful-fs "^4.2.9" + jest-haste-map "^27.5.0" + jest-runtime "^27.5.0" -"@jest/transform@^27.4.6": - version "27.4.6" - resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-27.4.6.tgz#153621940b1ed500305eacdb31105d415dc30231" - integrity sha512-9MsufmJC8t5JTpWEQJ0OcOOAXaH5ioaIX6uHVBLBMoCZPfKKQF+EqP8kACAvCZ0Y1h2Zr3uOccg8re+Dr5jxyw== +"@jest/transform@^27.5.0": + version "27.5.0" + resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-27.5.0.tgz#a4941e69ac51e8aa9a255ff4855b564c228c400b" + integrity sha512-yXUy/iO3TH1itxJ9BF7LLjuXt8TtgtjAl0PBQbUaCvRa+L0yYBob6uayW9dFRX/CDQweouLhvmXh44zRiaB+yA== dependencies: "@babel/core" "^7.1.0" - "@jest/types" "^27.4.2" + "@jest/types" "^27.5.0" babel-plugin-istanbul "^6.1.1" chalk "^4.0.0" convert-source-map "^1.4.0" fast-json-stable-stringify "^2.0.0" - graceful-fs "^4.2.4" - jest-haste-map "^27.4.6" - jest-regex-util "^27.4.0" - jest-util "^27.4.2" + graceful-fs "^4.2.9" + jest-haste-map "^27.5.0" + jest-regex-util "^27.5.0" + jest-util "^27.5.0" micromatch "^4.0.4" pirates "^4.0.4" slash "^3.0.0" source-map "^0.6.1" write-file-atomic "^3.0.0" -"@jest/types@^27.4.2", "@jest/types@^27.5.0": +"@jest/types@^27.5.0": version "27.5.0" resolved "https://registry.yarnpkg.com/@jest/types/-/types-27.5.0.tgz#6ad04a5c5355fd9f46e5cf761850e0edb3c209dd" integrity sha512-oDHEp7gwSgA82RZ6pzUL3ugM2njP/lVB1MsxRZNOBk+CoNvh9SpH1lQixPFc/kDlV50v59csiW4HLixWmhmgPQ== @@ -883,18 +871,18 @@ asynckit@^0.4.0: resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= -babel-jest@^27.4.6: - version "27.4.6" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-27.4.6.tgz#4d024e69e241cdf4f396e453a07100f44f7ce314" - integrity sha512-qZL0JT0HS1L+lOuH+xC2DVASR3nunZi/ozGhpgauJHgmI7f8rudxf6hUjEHympdQ/J64CdKmPkgfJ+A3U6QCrg== +babel-jest@^27.5.0: + version "27.5.0" + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-27.5.0.tgz#c653985241af3c76f59d70d65a570860c2594a50" + integrity sha512-puhCyvBTNLevhbd1oyw6t3gWBicWoUARQYKCBB/B1moif17NbyhxbsfadqZIw8zfJJD+W7Vw0Nb20pEjLxkXqQ== dependencies: - "@jest/transform" "^27.4.6" - "@jest/types" "^27.4.2" + "@jest/transform" "^27.5.0" + "@jest/types" "^27.5.0" "@types/babel__core" "^7.1.14" babel-plugin-istanbul "^6.1.1" - babel-preset-jest "^27.4.0" + babel-preset-jest "^27.5.0" chalk "^4.0.0" - graceful-fs "^4.2.4" + graceful-fs "^4.2.9" slash "^3.0.0" babel-plugin-istanbul@^6.1.1: @@ -908,10 +896,10 @@ babel-plugin-istanbul@^6.1.1: istanbul-lib-instrument "^5.0.4" test-exclude "^6.0.0" -babel-plugin-jest-hoist@^27.4.0: - version "27.4.0" - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.4.0.tgz#d7831fc0f93573788d80dee7e682482da4c730d6" - integrity sha512-Jcu7qS4OX5kTWBc45Hz7BMmgXuJqRnhatqpUhnzGC3OBYpOmf2tv6jFNwZpwM7wU7MUuv2r9IPS/ZlYOuburVw== +babel-plugin-jest-hoist@^27.5.0: + version "27.5.0" + resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.0.tgz#8fdf07835f2165a068de3ce95fd7749a89801b51" + integrity sha512-ztwNkHl+g1GaoQcb8f2BER4C3LMvSXuF7KVqtUioXQgScSEnkl6lLgCILUYIR+CPTwL8H3F/PNLze64HPWF9JA== dependencies: "@babel/template" "^7.3.3" "@babel/types" "^7.3.3" @@ -936,12 +924,12 @@ babel-preset-current-node-syntax@^1.0.0: "@babel/plugin-syntax-optional-chaining" "^7.8.3" "@babel/plugin-syntax-top-level-await" "^7.8.3" -babel-preset-jest@^27.4.0: - version "27.4.0" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-27.4.0.tgz#70d0e676a282ccb200fbabd7f415db5fdf393bca" - integrity sha512-NK4jGYpnBvNxcGo7/ZpZJr51jCGT+3bwwpVIDY2oNfTxJJldRtB4VAcYdgp1loDE50ODuTu+yBjpMAswv5tlpg== +babel-preset-jest@^27.5.0: + version "27.5.0" + resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-27.5.0.tgz#4e308711c3d2ff1f45cf5d9a23646e37b621fc9f" + integrity sha512-7bfu1cJBlgK/nKfTvMlElzA3jpi6GzDWX3fntnyP2cQSzoi/KUz6ewGlcb3PSRYZGyv+uPnVHY0Im3JbsViqgA== dependencies: - babel-plugin-jest-hoist "^27.4.0" + babel-plugin-jest-hoist "^27.5.0" babel-preset-current-node-syntax "^1.0.0" balanced-match@^1.0.0: @@ -1204,11 +1192,6 @@ detect-newline@^3.0.0: resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== -diff-sequences@^27.4.0: - version "27.4.0" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-27.4.0.tgz#d783920ad8d06ec718a060d00196dfef25b132a5" - integrity sha512-YqiQzkrsmHMH5uuh8OdQFU9/ZpADnwzml8z0O5HvRNda+5UZsaX/xN+AAxfR2hWq1Y7HZnAzO9J5lJXOuDz2Ww== - diff-sequences@^27.5.0: version "27.5.0" resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-27.5.0.tgz#a8ac0cb742b17d6f30a6c43e233893a2402c0729" @@ -1328,7 +1311,7 @@ exit@^0.1.2: resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" integrity sha1-BjJjj42HfMghB9MKD/8aF8uhzQw= -expect@^27.4.6, expect@^27.5.0: +expect@^27.5.0: version "27.5.0" resolved "https://registry.yarnpkg.com/expect/-/expect-27.5.0.tgz#ea2fbebb483c274043098c34a53923a0aee493f0" integrity sha512-z73GZ132cBqrapO0X6BeRjyBXqOt9YeRtnDteHJIQqp5s2pZ41Hz23VUbsVFMfkrsFLU9GwoIRS0ZzLuFK8M5w== @@ -1446,11 +1429,6 @@ globals@^11.1.0: resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== -graceful-fs@^4.2.4: - version "4.2.8" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.8.tgz#e412b8d33f5e006593cbd3cee6df9f2cebbe802a" - integrity sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg== - graceful-fs@^4.2.9: version "4.2.9" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.9.tgz#041b05df45755e587a24942279b9d113146e1c96" @@ -1639,96 +1617,86 @@ istanbul-reports@^3.1.3: html-escaper "^2.0.0" istanbul-lib-report "^3.0.0" -jest-changed-files@^27.4.2: - version "27.4.2" - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-27.4.2.tgz#da2547ea47c6e6a5f6ed336151bd2075736eb4a5" - integrity sha512-/9x8MjekuzUQoPjDHbBiXbNEBauhrPU2ct7m8TfCg69ywt1y/N+yYwGh3gCpnqUS3klYWDU/lSNgv+JhoD2k1A== +jest-changed-files@^27.5.0: + version "27.5.0" + resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-27.5.0.tgz#61e8d0a7394c1ee1cec4c2893e206e62b1566066" + integrity sha512-BGWKI7E6ORqbF5usF1oA4ftbkhVZVrXr8jB0/BrU6TAn3kfOVwX2Zx6pKIXYutJ+qNEjT8Da/gGak0ajya/StA== dependencies: - "@jest/types" "^27.4.2" + "@jest/types" "^27.5.0" execa "^5.0.0" throat "^6.0.1" -jest-circus@^27.4.6: - version "27.4.6" - resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-27.4.6.tgz#d3af34c0eb742a967b1919fbb351430727bcea6c" - integrity sha512-UA7AI5HZrW4wRM72Ro80uRR2Fg+7nR0GESbSI/2M+ambbzVuA63mn5T1p3Z/wlhntzGpIG1xx78GP2YIkf6PhQ== +jest-circus@^27.5.0: + version "27.5.0" + resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-27.5.0.tgz#fcff8829ceb2c8ef4b4532ace7734d156c6664b9" + integrity sha512-+NPd1OxpAHYKjbW8dgL0huFgmtZRKSUKee/UtRgZJEfAxCeA12d7sp0coh5EGDBpW4fCk1Pcia/2dG+j6BQvdw== dependencies: - "@jest/environment" "^27.4.6" - "@jest/test-result" "^27.4.6" - "@jest/types" "^27.4.2" + "@jest/environment" "^27.5.0" + "@jest/test-result" "^27.5.0" + "@jest/types" "^27.5.0" "@types/node" "*" chalk "^4.0.0" co "^4.6.0" dedent "^0.7.0" - expect "^27.4.6" + expect "^27.5.0" is-generator-fn "^2.0.0" - jest-each "^27.4.6" - jest-matcher-utils "^27.4.6" - jest-message-util "^27.4.6" - jest-runtime "^27.4.6" - jest-snapshot "^27.4.6" - jest-util "^27.4.2" - pretty-format "^27.4.6" + jest-each "^27.5.0" + jest-matcher-utils "^27.5.0" + jest-message-util "^27.5.0" + jest-runtime "^27.5.0" + jest-snapshot "^27.5.0" + jest-util "^27.5.0" + pretty-format "^27.5.0" slash "^3.0.0" stack-utils "^2.0.3" throat "^6.0.1" -jest-cli@^27.4.7: - version "27.4.7" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-27.4.7.tgz#d00e759e55d77b3bcfea0715f527c394ca314e5a" - integrity sha512-zREYhvjjqe1KsGV15mdnxjThKNDgza1fhDT+iUsXWLCq3sxe9w5xnvyctcYVT5PcdLSjv7Y5dCwTS3FCF1tiuw== +jest-cli@^27.5.0: + version "27.5.0" + resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-27.5.0.tgz#06557ad22818740fb28481089a574ba107a8b369" + integrity sha512-9ANs79Goz1ULKtG7HDm/F//4E69v8EFOLXRIHmeC/eK1xTUeQGlU6XP0Zwst386sKaKB4O60qhWY/UaTBS2MLA== dependencies: - "@jest/core" "^27.4.7" - "@jest/test-result" "^27.4.6" - "@jest/types" "^27.4.2" + "@jest/core" "^27.5.0" + "@jest/test-result" "^27.5.0" + "@jest/types" "^27.5.0" chalk "^4.0.0" exit "^0.1.2" - graceful-fs "^4.2.4" + graceful-fs "^4.2.9" import-local "^3.0.2" - jest-config "^27.4.7" - jest-util "^27.4.2" - jest-validate "^27.4.6" + jest-config "^27.5.0" + jest-util "^27.5.0" + jest-validate "^27.5.0" prompts "^2.0.1" yargs "^16.2.0" -jest-config@^27.4.7: - version "27.4.7" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-27.4.7.tgz#4f084b2acbd172c8b43aa4cdffe75d89378d3972" - integrity sha512-xz/o/KJJEedHMrIY9v2ParIoYSrSVY6IVeE4z5Z3i101GoA5XgfbJz+1C8EYPsv7u7f39dS8F9v46BHDhn0vlw== +jest-config@^27.5.0: + version "27.5.0" + resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-27.5.0.tgz#d96ccf8e26d3f2f3ae6543686c48449c201bb621" + integrity sha512-eOIpvpXFz5WHuIYZN1QmvBLEjsSk3w+IAC/2jBpZClbprF53Bj9meBMgAbE15DSkaaJBDFmhXXd1L2eCLaWxQw== dependencies: "@babel/core" "^7.8.0" - "@jest/test-sequencer" "^27.4.6" - "@jest/types" "^27.4.2" - babel-jest "^27.4.6" + "@jest/test-sequencer" "^27.5.0" + "@jest/types" "^27.5.0" + babel-jest "^27.5.0" chalk "^4.0.0" ci-info "^3.2.0" deepmerge "^4.2.2" glob "^7.1.1" - graceful-fs "^4.2.4" - jest-circus "^27.4.6" - jest-environment-jsdom "^27.4.6" - jest-environment-node "^27.4.6" - jest-get-type "^27.4.0" - jest-jasmine2 "^27.4.6" - jest-regex-util "^27.4.0" - jest-resolve "^27.4.6" - jest-runner "^27.4.6" - jest-util "^27.4.2" - jest-validate "^27.4.6" + graceful-fs "^4.2.9" + jest-circus "^27.5.0" + jest-environment-jsdom "^27.5.0" + jest-environment-node "^27.5.0" + jest-get-type "^27.5.0" + jest-jasmine2 "^27.5.0" + jest-regex-util "^27.5.0" + jest-resolve "^27.5.0" + jest-runner "^27.5.0" + jest-util "^27.5.0" + jest-validate "^27.5.0" micromatch "^4.0.4" - pretty-format "^27.4.6" + pretty-format "^27.5.0" slash "^3.0.0" -jest-diff@^27.4.6: - version "27.4.6" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-27.4.6.tgz#93815774d2012a2cbb6cf23f84d48c7a2618f98d" - integrity sha512-zjaB0sh0Lb13VyPsd92V7HkqF6yKRH9vm33rwBt7rPYrpQvS1nCvlIy2pICbKta+ZjWngYLNn4cCK4nyZkjS/w== - dependencies: - chalk "^4.0.0" - diff-sequences "^27.4.0" - jest-get-type "^27.4.0" - pretty-format "^27.4.6" - jest-diff@^27.5.0: version "27.5.0" resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-27.5.0.tgz#34dc608a3b9159df178dd480b6d835b5e6b92082" @@ -1739,119 +1707,104 @@ jest-diff@^27.5.0: jest-get-type "^27.5.0" pretty-format "^27.5.0" -jest-docblock@^27.4.0: - version "27.4.0" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-27.4.0.tgz#06c78035ca93cbbb84faf8fce64deae79a59f69f" - integrity sha512-7TBazUdCKGV7svZ+gh7C8esAnweJoG+SvcF6Cjqj4l17zA2q1cMwx2JObSioubk317H+cjcHgP+7fTs60paulg== +jest-docblock@^27.5.0: + version "27.5.0" + resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-27.5.0.tgz#096fa3a8b55d019a954ef7cc205c791bf94b2352" + integrity sha512-U4MtJgdZn2x+jpPzd7NAYvDmgJAA5h9QxVAwsyuH7IymGzY8VGHhAkHcIGOmtmdC61ORLxCbEhj6fCJsaCWzXA== dependencies: detect-newline "^3.0.0" -jest-each@^27.4.6: - version "27.4.6" - resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-27.4.6.tgz#e7e8561be61d8cc6dbf04296688747ab186c40ff" - integrity sha512-n6QDq8y2Hsmn22tRkgAk+z6MCX7MeVlAzxmZDshfS2jLcaBlyhpF3tZSJLR+kXmh23GEvS0ojMR8i6ZeRvpQcA== +jest-each@^27.5.0: + version "27.5.0" + resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-27.5.0.tgz#7bd00a767df0fbec0caba3df0d2c0b3268a2ce84" + integrity sha512-2vpajSdDMZmAxjSP1f4BG9KKduwHtuaI0w66oqLUkfaGUU7Ix/W+d8BW0h3/QEJiew7hR0GSblqdFwTEEbhBdw== dependencies: - "@jest/types" "^27.4.2" + "@jest/types" "^27.5.0" chalk "^4.0.0" - jest-get-type "^27.4.0" - jest-util "^27.4.2" - pretty-format "^27.4.6" + jest-get-type "^27.5.0" + jest-util "^27.5.0" + pretty-format "^27.5.0" -jest-environment-jsdom@^27.4.6: - version "27.4.6" - resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-27.4.6.tgz#c23a394eb445b33621dfae9c09e4c8021dea7b36" - integrity sha512-o3dx5p/kHPbUlRvSNjypEcEtgs6LmvESMzgRFQE6c+Prwl2JLA4RZ7qAnxc5VM8kutsGRTB15jXeeSbJsKN9iA== +jest-environment-jsdom@^27.5.0: + version "27.5.0" + resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-27.5.0.tgz#6d22d9b76890e9b82c7e1062a15730efb3fb7361" + integrity sha512-sX49N8rjp6HSHeGpNgLk6mtHRd1IPAnE/u7wLQkb6Tz/1E08Q++Y8Zk/IbpVdcFywbzH1icFqEuDuHJ6o+uXXg== dependencies: - "@jest/environment" "^27.4.6" - "@jest/fake-timers" "^27.4.6" - "@jest/types" "^27.4.2" + "@jest/environment" "^27.5.0" + "@jest/fake-timers" "^27.5.0" + "@jest/types" "^27.5.0" "@types/node" "*" - jest-mock "^27.4.6" - jest-util "^27.4.2" + jest-mock "^27.5.0" + jest-util "^27.5.0" jsdom "^16.6.0" -jest-environment-node@^27.4.6: - version "27.4.6" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-27.4.6.tgz#ee8cd4ef458a0ef09d087c8cd52ca5856df90242" - integrity sha512-yfHlZ9m+kzTKZV0hVfhVu6GuDxKAYeFHrfulmy7Jxwsq4V7+ZK7f+c0XP/tbVDMQW7E4neG2u147hFkuVz0MlQ== +jest-environment-node@^27.5.0: + version "27.5.0" + resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-27.5.0.tgz#1ab357b4715bff88d48c8b62b8379002ff955dd1" + integrity sha512-7UzisMMfGyrURhS/eUa7p7mgaqN3ajHylsjOgfcn0caNeYRZq4LHKZLfAxrPM34DWLnBZcRupEJlpQsizdSUsw== dependencies: - "@jest/environment" "^27.4.6" - "@jest/fake-timers" "^27.4.6" - "@jest/types" "^27.4.2" + "@jest/environment" "^27.5.0" + "@jest/fake-timers" "^27.5.0" + "@jest/types" "^27.5.0" "@types/node" "*" - jest-mock "^27.4.6" - jest-util "^27.4.2" - -jest-get-type@^27.4.0: - version "27.4.0" - resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-27.4.0.tgz#7503d2663fffa431638337b3998d39c5e928e9b5" - integrity sha512-tk9o+ld5TWq41DkK14L4wox4s2D9MtTpKaAVzXfr5CUKm5ZK2ExcaFE0qls2W71zE/6R2TxxrK9w2r6svAFDBQ== + jest-mock "^27.5.0" + jest-util "^27.5.0" jest-get-type@^27.5.0: version "27.5.0" resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-27.5.0.tgz#861c24aa1b176be83c902292cb9618d580cac8a7" integrity sha512-Vp6O8a52M/dahXRG/E0EJuWQROps2mDQ0sJYPgO8HskhdLwj9ajgngy2OAqZgV6e/RcU67WUHq6TgfvJb8flbA== -jest-haste-map@^27.4.6: - version "27.4.6" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-27.4.6.tgz#c60b5233a34ca0520f325b7e2cc0a0140ad0862a" - integrity sha512-0tNpgxg7BKurZeFkIOvGCkbmOHbLFf4LUQOxrQSMjvrQaQe3l6E8x6jYC1NuWkGo5WDdbr8FEzUxV2+LWNawKQ== +jest-haste-map@^27.5.0: + version "27.5.0" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-27.5.0.tgz#7cc3a920caf304c89fbfceb5d5717b929873f175" + integrity sha512-0KfckSBEKV+D6e0toXmIj4zzp72EiBnvkC0L+xYxenkLhAdkp2/8tye4AgMzz7Fqb1r8SWtz7+s1UQLrxMBang== dependencies: - "@jest/types" "^27.4.2" + "@jest/types" "^27.5.0" "@types/graceful-fs" "^4.1.2" "@types/node" "*" anymatch "^3.0.3" fb-watchman "^2.0.0" - graceful-fs "^4.2.4" - jest-regex-util "^27.4.0" - jest-serializer "^27.4.0" - jest-util "^27.4.2" - jest-worker "^27.4.6" + graceful-fs "^4.2.9" + jest-regex-util "^27.5.0" + jest-serializer "^27.5.0" + jest-util "^27.5.0" + jest-worker "^27.5.0" micromatch "^4.0.4" walker "^1.0.7" optionalDependencies: fsevents "^2.3.2" -jest-jasmine2@^27.4.6: - version "27.4.6" - resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-27.4.6.tgz#109e8bc036cb455950ae28a018f983f2abe50127" - integrity sha512-uAGNXF644I/whzhsf7/qf74gqy9OuhvJ0XYp8SDecX2ooGeaPnmJMjXjKt0mqh1Rl5dtRGxJgNrHlBQIBfS5Nw== +jest-jasmine2@^27.5.0: + version "27.5.0" + resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-27.5.0.tgz#589d6574d1318d3fb41b3fc368344117ec417dcc" + integrity sha512-X7sT3HLNjjrBEepilxzPyNhNdyunaFBepo1L3T/fvYb9tb8Wb8qY576gwIa+SZcqYUqAA7/bT3EpZI4lAp0Qew== dependencies: - "@jest/environment" "^27.4.6" - "@jest/source-map" "^27.4.0" - "@jest/test-result" "^27.4.6" - "@jest/types" "^27.4.2" + "@jest/environment" "^27.5.0" + "@jest/source-map" "^27.5.0" + "@jest/test-result" "^27.5.0" + "@jest/types" "^27.5.0" "@types/node" "*" chalk "^4.0.0" co "^4.6.0" - expect "^27.4.6" + expect "^27.5.0" is-generator-fn "^2.0.0" - jest-each "^27.4.6" - jest-matcher-utils "^27.4.6" - jest-message-util "^27.4.6" - jest-runtime "^27.4.6" - jest-snapshot "^27.4.6" - jest-util "^27.4.2" - pretty-format "^27.4.6" + jest-each "^27.5.0" + jest-matcher-utils "^27.5.0" + jest-message-util "^27.5.0" + jest-runtime "^27.5.0" + jest-snapshot "^27.5.0" + jest-util "^27.5.0" + pretty-format "^27.5.0" throat "^6.0.1" -jest-leak-detector@^27.4.6: - version "27.4.6" - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-27.4.6.tgz#ed9bc3ce514b4c582637088d9faf58a33bd59bf4" - integrity sha512-kkaGixDf9R7CjHm2pOzfTxZTQQQ2gHTIWKY/JZSiYTc90bZp8kSZnUMS3uLAfwTZwc0tcMRoEX74e14LG1WapA== +jest-leak-detector@^27.5.0: + version "27.5.0" + resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-27.5.0.tgz#c98c02e64eab4da9a8b91f058d2b7473272272ee" + integrity sha512-Ak3k+DD3ao5d4/zzJrxAQ5UV5wiCrp47jH94ZD4/vXSzQgE6WBVDfg83VtculLILO7Y6/Q/7yzKSrtN9Na8luA== dependencies: - jest-get-type "^27.4.0" - pretty-format "^27.4.6" - -jest-matcher-utils@^27.4.6: - version "27.4.6" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-27.4.6.tgz#53ca7f7b58170638590e946f5363b988775509b8" - integrity sha512-XD4PKT3Wn1LQnRAq7ZsTI0VRuEc9OrCPFiO1XL7bftTGmfNF0DcEwMHRgqiu7NGf8ZoZDREpGrCniDkjt79WbA== - dependencies: - chalk "^4.0.0" - jest-diff "^27.4.6" - jest-get-type "^27.4.0" - pretty-format "^27.4.6" + jest-get-type "^27.5.0" + pretty-format "^27.5.0" jest-matcher-utils@^27.5.0: version "27.5.0" @@ -1863,21 +1816,6 @@ jest-matcher-utils@^27.5.0: jest-get-type "^27.5.0" pretty-format "^27.5.0" -jest-message-util@^27.4.6: - version "27.4.6" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-27.4.6.tgz#9fdde41a33820ded3127465e1a5896061524da31" - integrity sha512-0p5szriFU0U74czRSFjH6RyS7UYIAkn/ntwMuOwTGWrQIOh5NzXXrq72LOqIkJKKvFbPq+byZKuBz78fjBERBA== - dependencies: - "@babel/code-frame" "^7.12.13" - "@jest/types" "^27.4.2" - "@types/stack-utils" "^2.0.0" - chalk "^4.0.0" - graceful-fs "^4.2.4" - micromatch "^4.0.4" - pretty-format "^27.4.6" - slash "^3.0.0" - stack-utils "^2.0.3" - jest-message-util@^27.5.0: version "27.5.0" resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-27.5.0.tgz#654a781b38a305b1fd8120053c784c67bca00a52" @@ -1893,14 +1831,6 @@ jest-message-util@^27.5.0: slash "^3.0.0" stack-utils "^2.0.3" -jest-mock@^27.4.6: - version "27.4.6" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-27.4.6.tgz#77d1ba87fbd33ccb8ef1f061697e7341b7635195" - integrity sha512-kvojdYRkst8iVSZ1EJ+vc1RRD9llueBjKzXzeCytH3dMM7zvPV/ULcfI2nr0v0VUgm3Bjt3hBCQvOeaBz+ZTHw== - dependencies: - "@jest/types" "^27.4.2" - "@types/node" "*" - jest-mock@^27.5.0: version "27.5.0" resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-27.5.0.tgz#1018656fe6bcd0f58fd1edca7f420169f6707c6e" @@ -1914,140 +1844,127 @@ jest-pnp-resolver@^1.2.2: resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz#b704ac0ae028a89108a4d040b3f919dfddc8e33c" integrity sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w== -jest-regex-util@^27.4.0: - version "27.4.0" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-27.4.0.tgz#e4c45b52653128843d07ad94aec34393ea14fbca" - integrity sha512-WeCpMpNnqJYMQoOjm1nTtsgbR4XHAk1u00qDoNBQoykM280+/TmgA5Qh5giC1ecy6a5d4hbSsHzpBtu5yvlbEg== +jest-regex-util@^27.5.0: + version "27.5.0" + resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-27.5.0.tgz#26c26cf15a73edba13cb8930e261443d25ed8608" + integrity sha512-e9LqSd6HsDsqd7KS3rNyYwmQAaG9jq4U3LbnwVxN/y3nNlDzm2OFs596uo9zrUY+AV1opXq6ome78tRDUCRWfA== -jest-resolve-dependencies@^27.4.6: - version "27.4.6" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-27.4.6.tgz#fc50ee56a67d2c2183063f6a500cc4042b5e2327" - integrity sha512-W85uJZcFXEVZ7+MZqIPCscdjuctruNGXUZ3OHSXOfXR9ITgbUKeHj+uGcies+0SsvI5GtUfTw4dY7u9qjTvQOw== +jest-resolve-dependencies@^27.5.0: + version "27.5.0" + resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.0.tgz#8e3b15589848995ddc9a39f49462dad5b7bc14a2" + integrity sha512-xQsy7CmrT4CJxdNUEdzZU2M/v6YmtQ/pkJM+sx7TA1siG1zfsZuo78PZvzglwRMQFr88f3Su4Om8OEBAic+SMw== dependencies: - "@jest/types" "^27.4.2" - jest-regex-util "^27.4.0" - jest-snapshot "^27.4.6" + "@jest/types" "^27.5.0" + jest-regex-util "^27.5.0" + jest-snapshot "^27.5.0" -jest-resolve@^27.4.6: - version "27.4.6" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-27.4.6.tgz#2ec3110655e86d5bfcfa992e404e22f96b0b5977" - integrity sha512-SFfITVApqtirbITKFAO7jOVN45UgFzcRdQanOFzjnbd+CACDoyeX7206JyU92l4cRr73+Qy/TlW51+4vHGt+zw== +jest-resolve@^27.5.0: + version "27.5.0" + resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-27.5.0.tgz#a8e95a68dfb4a59faa508d7b6d2c6a02dcabb712" + integrity sha512-PkDpYEGV/nFqThnIrlPtj8oTxyAV3iuuS6or7dZYyUWaHr/tyyVb5qfBmZS6FEr7ozBHgjrF1bgcgIefnlicbw== dependencies: - "@jest/types" "^27.4.2" + "@jest/types" "^27.5.0" chalk "^4.0.0" - graceful-fs "^4.2.4" - jest-haste-map "^27.4.6" + graceful-fs "^4.2.9" + jest-haste-map "^27.5.0" jest-pnp-resolver "^1.2.2" - jest-util "^27.4.2" - jest-validate "^27.4.6" + jest-util "^27.5.0" + jest-validate "^27.5.0" resolve "^1.20.0" resolve.exports "^1.1.0" slash "^3.0.0" -jest-runner@^27.4.6: - version "27.4.6" - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-27.4.6.tgz#1d390d276ec417e9b4d0d081783584cbc3e24773" - integrity sha512-IDeFt2SG4DzqalYBZRgbbPmpwV3X0DcntjezPBERvnhwKGWTW7C5pbbA5lVkmvgteeNfdd/23gwqv3aiilpYPg== +jest-runner@^27.5.0: + version "27.5.0" + resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-27.5.0.tgz#b5747a4444b4d3faae019bd201943948882d26c3" + integrity sha512-RMzXhkJLLOKKgUPY2trpyVBijaFmswMtgoCCBk2PQVRHC6yo1vLd1/jmFP39s5OXXnt7rntuzKSYvxl+QUibqQ== dependencies: - "@jest/console" "^27.4.6" - "@jest/environment" "^27.4.6" - "@jest/test-result" "^27.4.6" - "@jest/transform" "^27.4.6" - "@jest/types" "^27.4.2" + "@jest/console" "^27.5.0" + "@jest/environment" "^27.5.0" + "@jest/test-result" "^27.5.0" + "@jest/transform" "^27.5.0" + "@jest/types" "^27.5.0" "@types/node" "*" chalk "^4.0.0" emittery "^0.8.1" - exit "^0.1.2" - graceful-fs "^4.2.4" - jest-docblock "^27.4.0" - jest-environment-jsdom "^27.4.6" - jest-environment-node "^27.4.6" - jest-haste-map "^27.4.6" - jest-leak-detector "^27.4.6" - jest-message-util "^27.4.6" - jest-resolve "^27.4.6" - jest-runtime "^27.4.6" - jest-util "^27.4.2" - jest-worker "^27.4.6" + graceful-fs "^4.2.9" + jest-docblock "^27.5.0" + jest-environment-jsdom "^27.5.0" + jest-environment-node "^27.5.0" + jest-haste-map "^27.5.0" + jest-leak-detector "^27.5.0" + jest-message-util "^27.5.0" + jest-resolve "^27.5.0" + jest-runtime "^27.5.0" + jest-util "^27.5.0" + jest-worker "^27.5.0" source-map-support "^0.5.6" throat "^6.0.1" -jest-runtime@^27.4.6: - version "27.4.6" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-27.4.6.tgz#83ae923818e3ea04463b22f3597f017bb5a1cffa" - integrity sha512-eXYeoR/MbIpVDrjqy5d6cGCFOYBFFDeKaNWqTp0h6E74dK0zLHzASQXJpl5a2/40euBmKnprNLJ0Kh0LCndnWQ== +jest-runtime@^27.5.0: + version "27.5.0" + resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-27.5.0.tgz#2497116742b9e7cc1e5381a9ded36602b8b0c78c" + integrity sha512-T7APxCPjN3p3ePcLuypbWtD0UZHyAdvIADZ9ABI/sFZ9t/Rf2xIUd6D7RzZIX+unewJRooVGWrgDIgeUuj0OUA== dependencies: - "@jest/environment" "^27.4.6" - "@jest/fake-timers" "^27.4.6" - "@jest/globals" "^27.4.6" - "@jest/source-map" "^27.4.0" - "@jest/test-result" "^27.4.6" - "@jest/transform" "^27.4.6" - "@jest/types" "^27.4.2" + "@jest/environment" "^27.5.0" + "@jest/fake-timers" "^27.5.0" + "@jest/globals" "^27.5.0" + "@jest/source-map" "^27.5.0" + "@jest/test-result" "^27.5.0" + "@jest/transform" "^27.5.0" + "@jest/types" "^27.5.0" chalk "^4.0.0" cjs-module-lexer "^1.0.0" collect-v8-coverage "^1.0.0" execa "^5.0.0" glob "^7.1.3" - graceful-fs "^4.2.4" - jest-haste-map "^27.4.6" - jest-message-util "^27.4.6" - jest-mock "^27.4.6" - jest-regex-util "^27.4.0" - jest-resolve "^27.4.6" - jest-snapshot "^27.4.6" - jest-util "^27.4.2" + graceful-fs "^4.2.9" + jest-haste-map "^27.5.0" + jest-message-util "^27.5.0" + jest-mock "^27.5.0" + jest-regex-util "^27.5.0" + jest-resolve "^27.5.0" + jest-snapshot "^27.5.0" + jest-util "^27.5.0" slash "^3.0.0" strip-bom "^4.0.0" -jest-serializer@^27.4.0: - version "27.4.0" - resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-27.4.0.tgz#34866586e1cae2388b7d12ffa2c7819edef5958a" - integrity sha512-RDhpcn5f1JYTX2pvJAGDcnsNTnsV9bjYPU8xcV+xPwOXnUPOQwf4ZEuiU6G9H1UztH+OapMgu/ckEVwO87PwnQ== +jest-serializer@^27.5.0: + version "27.5.0" + resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-27.5.0.tgz#439a110df27f97a40c114a429b708c2ada15a81f" + integrity sha512-aSDFqQlVXtBH+Zb5dl9mCvTSFkabixk/9P9cpngL4yJKpmEi9USxfDhONFMzJrtftPvZw3PcltUVmtFZTB93rg== dependencies: "@types/node" "*" - graceful-fs "^4.2.4" + graceful-fs "^4.2.9" -jest-snapshot@^27.4.6: - version "27.4.6" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-27.4.6.tgz#e2a3b4fff8bdce3033f2373b2e525d8b6871f616" - integrity sha512-fafUCDLQfzuNP9IRcEqaFAMzEe7u5BF7mude51wyWv7VRex60WznZIC7DfKTgSIlJa8aFzYmXclmN328aqSDmQ== +jest-snapshot@^27.5.0: + version "27.5.0" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-27.5.0.tgz#c5c4c084f5e10036f31e7647de1a6f28c07681fc" + integrity sha512-cAJj15uqWGkro0bfcv/EgusBnqNgCpRruFQZghsMYTq4Fm2lk/VhAf8DgRr8wvhR6Ue1hkeL8tn70Cw4t8x/5A== dependencies: "@babel/core" "^7.7.2" "@babel/generator" "^7.7.2" "@babel/plugin-syntax-typescript" "^7.7.2" "@babel/traverse" "^7.7.2" "@babel/types" "^7.0.0" - "@jest/transform" "^27.4.6" - "@jest/types" "^27.4.2" + "@jest/transform" "^27.5.0" + "@jest/types" "^27.5.0" "@types/babel__traverse" "^7.0.4" "@types/prettier" "^2.1.5" babel-preset-current-node-syntax "^1.0.0" chalk "^4.0.0" - expect "^27.4.6" - graceful-fs "^4.2.4" - jest-diff "^27.4.6" - jest-get-type "^27.4.0" - jest-haste-map "^27.4.6" - jest-matcher-utils "^27.4.6" - jest-message-util "^27.4.6" - jest-util "^27.4.2" + expect "^27.5.0" + graceful-fs "^4.2.9" + jest-diff "^27.5.0" + jest-get-type "^27.5.0" + jest-haste-map "^27.5.0" + jest-matcher-utils "^27.5.0" + jest-message-util "^27.5.0" + jest-util "^27.5.0" natural-compare "^1.4.0" - pretty-format "^27.4.6" + pretty-format "^27.5.0" semver "^7.3.2" -jest-util@^27.4.2: - version "27.4.2" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-27.4.2.tgz#ed95b05b1adfd761e2cda47e0144c6a58e05a621" - integrity sha512-YuxxpXU6nlMan9qyLuxHaMMOzXAl5aGZWCSzben5DhLHemYQxCc4YK+4L3ZrCutT8GPQ+ui9k5D8rUJoDioMnA== - dependencies: - "@jest/types" "^27.4.2" - "@types/node" "*" - chalk "^4.0.0" - ci-info "^3.2.0" - graceful-fs "^4.2.4" - picomatch "^2.2.3" - jest-util@^27.5.0: version "27.5.0" resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-27.5.0.tgz#0b9540d91b0de65d288f235fa9899e6eeeab8d35" @@ -2060,48 +1977,48 @@ jest-util@^27.5.0: graceful-fs "^4.2.9" picomatch "^2.2.3" -jest-validate@^27.4.6: - version "27.4.6" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-27.4.6.tgz#efc000acc4697b6cf4fa68c7f3f324c92d0c4f1f" - integrity sha512-872mEmCPVlBqbA5dToC57vA3yJaMRfIdpCoD3cyHWJOMx+SJwLNw0I71EkWs41oza/Er9Zno9XuTkRYCPDUJXQ== +jest-validate@^27.5.0: + version "27.5.0" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-27.5.0.tgz#b3df32372d2c832fa5a5e31ee2c37f94f79f7f1f" + integrity sha512-2XZzQWNrY9Ypo11mm4ZeVjvr++CQG/45XnmA2aWwx155lTwy1JGFI8LpQ2dBCSAeO21ooqg/FCIvv9WwfnPClA== dependencies: - "@jest/types" "^27.4.2" + "@jest/types" "^27.5.0" camelcase "^6.2.0" chalk "^4.0.0" - jest-get-type "^27.4.0" + jest-get-type "^27.5.0" leven "^3.1.0" - pretty-format "^27.4.6" + pretty-format "^27.5.0" -jest-watcher@^27.4.6: - version "27.4.6" - resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-27.4.6.tgz#673679ebeffdd3f94338c24f399b85efc932272d" - integrity sha512-yKQ20OMBiCDigbD0quhQKLkBO+ObGN79MO4nT7YaCuQ5SM+dkBNWE8cZX0FjU6czwMvWw6StWbe+Wv4jJPJ+fw== +jest-watcher@^27.5.0: + version "27.5.0" + resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-27.5.0.tgz#ca11c3b9115c92a8fd2fd9e2def296d45206f1ca" + integrity sha512-MhIeIvEd6dnnspE0OfYrqHOAfZZdyFqx/k8U2nvVFSkLYf22qAFfyNWPVQYcwqKVNobcOhJoT0kV/nRHGbqK8A== dependencies: - "@jest/test-result" "^27.4.6" - "@jest/types" "^27.4.2" + "@jest/test-result" "^27.5.0" + "@jest/types" "^27.5.0" "@types/node" "*" ansi-escapes "^4.2.1" chalk "^4.0.0" - jest-util "^27.4.2" + jest-util "^27.5.0" string-length "^4.0.1" -jest-worker@^27.4.6: - version "27.4.6" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.4.6.tgz#5d2d93db419566cb680752ca0792780e71b3273e" - integrity sha512-gHWJF/6Xi5CTG5QCvROr6GcmpIqNYpDJyc8A1h/DyXqH1tD6SnRCM0d3U5msV31D2LB/U+E0M+W4oyvKV44oNw== +jest-worker@^27.5.0: + version "27.5.0" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.5.0.tgz#99ee77e4d06168107c27328bd7f54e74c3a48d59" + integrity sha512-8OEHiPNOPTfaWnJ2SUHM8fmgeGq37uuGsQBvGKQJl1f+6WIy6g7G3fE2ruI5294bUKUI9FaCWt5hDvO8HSwsSg== dependencies: "@types/node" "*" merge-stream "^2.0.0" supports-color "^8.0.0" -jest@27.4.7: - version "27.4.7" - resolved "https://registry.yarnpkg.com/jest/-/jest-27.4.7.tgz#87f74b9026a1592f2da05b4d258e57505f28eca4" - integrity sha512-8heYvsx7nV/m8m24Vk26Y87g73Ba6ueUd0MWed/NXMhSZIm62U/llVbS0PJe1SHunbyXjJ/BqG1z9bFjGUIvTg== +jest@27.5.0: + version "27.5.0" + resolved "https://registry.yarnpkg.com/jest/-/jest-27.5.0.tgz#2c04ff88754e42e9fc5240840b91f9a9a8990875" + integrity sha512-sCMZhL9zy0fiFc4H0cKlXq7BcghMSxm5ZnEyaPWTteArU5ix6JjOKyOXSUBGLTQCmt5kuX9zEvQ9BSshHOPB3A== dependencies: - "@jest/core" "^27.4.7" + "@jest/core" "^27.5.0" import-local "^3.0.2" - jest-cli "^27.4.7" + jest-cli "^27.5.0" js-tokens@^4.0.0: version "4.0.0" @@ -2436,15 +2353,6 @@ prelude-ls@~1.1.2: resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= -pretty-format@^27.4.6: - version "27.4.6" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-27.4.6.tgz#1b784d2f53c68db31797b2348fa39b49e31846b7" - integrity sha512-NblstegA1y/RJW2VyML+3LlpFjzx62cUrtBIKIWDXEDkjNeleA7Od7nrzcs/VLQvAeV4CgSYhrN39DRN88Qi/g== - dependencies: - ansi-regex "^5.0.1" - ansi-styles "^5.0.0" - react-is "^17.0.1" - pretty-format@^27.5.0: version "27.5.0" resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-27.5.0.tgz#71e1af7a4b587d259fa4668dcd3e94af077767cb" From f19604a07ef7397072c66de42833419a87296178 Mon Sep 17 00:00:00 2001 From: Benny Neugebauer Date: Mon, 7 Feb 2022 01:18:37 +0100 Subject: [PATCH 104/117] docs(webstorm): Add image for Prettier as External Tool (#12251) --- docs/assets/webstorm/external-tool-prettier.png | Bin 0 -> 59748 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 docs/assets/webstorm/external-tool-prettier.png diff --git a/docs/assets/webstorm/external-tool-prettier.png b/docs/assets/webstorm/external-tool-prettier.png new file mode 100644 index 0000000000000000000000000000000000000000..e56fa41c4e2e7066ccaac8aa73f63020aadebcb0 GIT binary patch literal 59748 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%0Anu<=H0 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 Date: Mon, 7 Feb 2022 10:35:21 +0800 Subject: [PATCH 105/117] Build(deps-dev): Bump babel-jest from 27.4.6 to 27.5.0 (#12235) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 179 ++++++++++++++++++++++++++------------------------- 2 files changed, 91 insertions(+), 90 deletions(-) diff --git a/package.json b/package.json index 481bc8647..e4abfca9f 100644 --- a/package.json +++ b/package.json @@ -101,7 +101,7 @@ "@types/estree": "0.0.50", "@types/jest": "27.4.0", "@typescript-eslint/eslint-plugin": "5.10.2", - "babel-jest": "27.4.6", + "babel-jest": "27.5.0", "babel-loader": "8.2.3", "benchmark": "2.1.4", "browserslist-to-esbuild": "1.1.1", diff --git a/yarn.lock b/yarn.lock index 6ad932991..43e0fb4a1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1491,52 +1491,31 @@ jest-haste-map "^27.4.6" jest-runtime "^27.4.6" -"@jest/transform@^27.4.2": - version "27.4.5" - resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-27.4.5.tgz#3dfe2e3680cd4aa27356172bf25617ab5b94f195" - integrity sha512-PuMet2UlZtlGzwc6L+aZmR3I7CEBpqadO03pU40l2RNY2fFJ191b9/ITB44LNOhVtsyykx0OZvj0PCyuLm7Eew== +"@jest/transform@^27.4.2", "@jest/transform@^27.4.6", "@jest/transform@^27.5.0": + version "27.5.0" + resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-27.5.0.tgz#a4941e69ac51e8aa9a255ff4855b564c228c400b" + integrity sha512-yXUy/iO3TH1itxJ9BF7LLjuXt8TtgtjAl0PBQbUaCvRa+L0yYBob6uayW9dFRX/CDQweouLhvmXh44zRiaB+yA== dependencies: "@babel/core" "^7.1.0" - "@jest/types" "^27.4.2" - babel-plugin-istanbul "^6.0.0" - chalk "^4.0.0" - convert-source-map "^1.4.0" - fast-json-stable-stringify "^2.0.0" - graceful-fs "^4.2.4" - jest-haste-map "^27.4.5" - jest-regex-util "^27.4.0" - jest-util "^27.4.2" - micromatch "^4.0.4" - pirates "^4.0.1" - slash "^3.0.0" - source-map "^0.6.1" - write-file-atomic "^3.0.0" - -"@jest/transform@^27.4.6": - version "27.4.6" - resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-27.4.6.tgz#153621940b1ed500305eacdb31105d415dc30231" - integrity sha512-9MsufmJC8t5JTpWEQJ0OcOOAXaH5ioaIX6uHVBLBMoCZPfKKQF+EqP8kACAvCZ0Y1h2Zr3uOccg8re+Dr5jxyw== - dependencies: - "@babel/core" "^7.1.0" - "@jest/types" "^27.4.2" + "@jest/types" "^27.5.0" babel-plugin-istanbul "^6.1.1" chalk "^4.0.0" convert-source-map "^1.4.0" fast-json-stable-stringify "^2.0.0" - graceful-fs "^4.2.4" - jest-haste-map "^27.4.6" - jest-regex-util "^27.4.0" - jest-util "^27.4.2" + graceful-fs "^4.2.9" + jest-haste-map "^27.5.0" + jest-regex-util "^27.5.0" + jest-util "^27.5.0" micromatch "^4.0.4" pirates "^4.0.4" slash "^3.0.0" source-map "^0.6.1" write-file-atomic "^3.0.0" -"@jest/types@^27.4.2": - version "27.4.2" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-27.4.2.tgz#96536ebd34da6392c2b7c7737d693885b5dd44a5" - integrity sha512-j35yw0PMTPpZsUoOBiuHzr1zTYoad1cVIE0ajEjcrJONxxrko/IRGKkXx3os0Nsi4Hu3+5VmDbVfq5WhG/pWAg== +"@jest/types@^27.4.2", "@jest/types@^27.5.0": + version "27.5.0" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-27.5.0.tgz#6ad04a5c5355fd9f46e5cf761850e0edb3c209dd" + integrity sha512-oDHEp7gwSgA82RZ6pzUL3ugM2njP/lVB1MsxRZNOBk+CoNvh9SpH1lQixPFc/kDlV50v59csiW4HLixWmhmgPQ== dependencies: "@types/istanbul-lib-coverage" "^2.0.0" "@types/istanbul-reports" "^3.0.0" @@ -2016,18 +1995,18 @@ asynckit@^0.4.0: resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= -babel-jest@27.4.6, babel-jest@^27.4.6: - version "27.4.6" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-27.4.6.tgz#4d024e69e241cdf4f396e453a07100f44f7ce314" - integrity sha512-qZL0JT0HS1L+lOuH+xC2DVASR3nunZi/ozGhpgauJHgmI7f8rudxf6hUjEHympdQ/J64CdKmPkgfJ+A3U6QCrg== +babel-jest@27.5.0, babel-jest@^27.4.6: + version "27.5.0" + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-27.5.0.tgz#c653985241af3c76f59d70d65a570860c2594a50" + integrity sha512-puhCyvBTNLevhbd1oyw6t3gWBicWoUARQYKCBB/B1moif17NbyhxbsfadqZIw8zfJJD+W7Vw0Nb20pEjLxkXqQ== dependencies: - "@jest/transform" "^27.4.6" - "@jest/types" "^27.4.2" + "@jest/transform" "^27.5.0" + "@jest/types" "^27.5.0" "@types/babel__core" "^7.1.14" babel-plugin-istanbul "^6.1.1" - babel-preset-jest "^27.4.0" + babel-preset-jest "^27.5.0" chalk "^4.0.0" - graceful-fs "^4.2.4" + graceful-fs "^4.2.9" slash "^3.0.0" babel-loader@8.2.3: @@ -2047,7 +2026,7 @@ babel-plugin-dynamic-import-node@^2.3.3: dependencies: object.assign "^4.1.0" -babel-plugin-istanbul@^6.0.0, babel-plugin-istanbul@^6.1.1: +babel-plugin-istanbul@^6.1.1: version "6.1.1" resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz#fa88ec59232fd9b4e36dbbc540a8ec9a9b47da73" integrity sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA== @@ -2058,10 +2037,10 @@ babel-plugin-istanbul@^6.0.0, babel-plugin-istanbul@^6.1.1: istanbul-lib-instrument "^5.0.4" test-exclude "^6.0.0" -babel-plugin-jest-hoist@^27.4.0: - version "27.4.0" - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.4.0.tgz#d7831fc0f93573788d80dee7e682482da4c730d6" - integrity sha512-Jcu7qS4OX5kTWBc45Hz7BMmgXuJqRnhatqpUhnzGC3OBYpOmf2tv6jFNwZpwM7wU7MUuv2r9IPS/ZlYOuburVw== +babel-plugin-jest-hoist@^27.5.0: + version "27.5.0" + resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.0.tgz#8fdf07835f2165a068de3ce95fd7749a89801b51" + integrity sha512-ztwNkHl+g1GaoQcb8f2BER4C3LMvSXuF7KVqtUioXQgScSEnkl6lLgCILUYIR+CPTwL8H3F/PNLze64HPWF9JA== dependencies: "@babel/template" "^7.3.3" "@babel/types" "^7.3.3" @@ -2110,12 +2089,12 @@ babel-preset-current-node-syntax@^1.0.0: "@babel/plugin-syntax-optional-chaining" "^7.8.3" "@babel/plugin-syntax-top-level-await" "^7.8.3" -babel-preset-jest@^27.4.0: - version "27.4.0" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-27.4.0.tgz#70d0e676a282ccb200fbabd7f415db5fdf393bca" - integrity sha512-NK4jGYpnBvNxcGo7/ZpZJr51jCGT+3bwwpVIDY2oNfTxJJldRtB4VAcYdgp1loDE50ODuTu+yBjpMAswv5tlpg== +babel-preset-jest@^27.5.0: + version "27.5.0" + resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-27.5.0.tgz#4e308711c3d2ff1f45cf5d9a23646e37b621fc9f" + integrity sha512-7bfu1cJBlgK/nKfTvMlElzA3jpi6GzDWX3fntnyP2cQSzoi/KUz6ewGlcb3PSRYZGyv+uPnVHY0Im3JbsViqgA== dependencies: - babel-plugin-jest-hoist "^27.4.0" + babel-plugin-jest-hoist "^27.5.0" babel-preset-current-node-syntax "^1.0.0" bail@^1.0.0: @@ -3569,10 +3548,10 @@ globby@^11.0.1, globby@^11.0.4: merge2 "^1.3.0" slash "^3.0.0" -graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4: - version "4.2.8" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.8.tgz#e412b8d33f5e006593cbd3cee6df9f2cebbe802a" - integrity sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg== +graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4, graceful-fs@^4.2.9: + version "4.2.9" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.9.tgz#041b05df45755e587a24942279b9d113146e1c96" + integrity sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ== grapheme-splitter@^1.0.4: version "1.0.4" @@ -4200,26 +4179,6 @@ jest-haste-map@^27.4.2: optionalDependencies: fsevents "^2.3.2" -jest-haste-map@^27.4.5: - version "27.4.5" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-27.4.5.tgz#c2921224a59223f91e03ec15703905978ef0cc1a" - integrity sha512-oJm1b5qhhPs78K24EDGifWS0dELYxnoBiDhatT/FThgB9yxqUm5F6li3Pv+Q+apMBmmPNzOBnZ7ZxWMB1Leq1Q== - dependencies: - "@jest/types" "^27.4.2" - "@types/graceful-fs" "^4.1.2" - "@types/node" "*" - anymatch "^3.0.3" - fb-watchman "^2.0.0" - graceful-fs "^4.2.4" - jest-regex-util "^27.4.0" - jest-serializer "^27.4.0" - jest-util "^27.4.2" - jest-worker "^27.4.5" - micromatch "^4.0.4" - walker "^1.0.7" - optionalDependencies: - fsevents "^2.3.2" - jest-haste-map@^27.4.6: version "27.4.6" resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-27.4.6.tgz#c60b5233a34ca0520f325b7e2cc0a0140ad0862a" @@ -4240,6 +4199,26 @@ jest-haste-map@^27.4.6: optionalDependencies: fsevents "^2.3.2" +jest-haste-map@^27.5.0: + version "27.5.0" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-27.5.0.tgz#7cc3a920caf304c89fbfceb5d5717b929873f175" + integrity sha512-0KfckSBEKV+D6e0toXmIj4zzp72EiBnvkC0L+xYxenkLhAdkp2/8tye4AgMzz7Fqb1r8SWtz7+s1UQLrxMBang== + dependencies: + "@jest/types" "^27.5.0" + "@types/graceful-fs" "^4.1.2" + "@types/node" "*" + anymatch "^3.0.3" + fb-watchman "^2.0.0" + graceful-fs "^4.2.9" + jest-regex-util "^27.5.0" + jest-serializer "^27.5.0" + jest-util "^27.5.0" + jest-worker "^27.5.0" + micromatch "^4.0.4" + walker "^1.0.7" + optionalDependencies: + fsevents "^2.3.2" + jest-jasmine2@^27.4.6: version "27.4.6" resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-27.4.6.tgz#109e8bc036cb455950ae28a018f983f2abe50127" @@ -4339,6 +4318,11 @@ jest-regex-util@^27.0.0, jest-regex-util@^27.4.0: resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-27.4.0.tgz#e4c45b52653128843d07ad94aec34393ea14fbca" integrity sha512-WeCpMpNnqJYMQoOjm1nTtsgbR4XHAk1u00qDoNBQoykM280+/TmgA5Qh5giC1ecy6a5d4hbSsHzpBtu5yvlbEg== +jest-regex-util@^27.5.0: + version "27.5.0" + resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-27.5.0.tgz#26c26cf15a73edba13cb8930e261443d25ed8608" + integrity sha512-e9LqSd6HsDsqd7KS3rNyYwmQAaG9jq4U3LbnwVxN/y3nNlDzm2OFs596uo9zrUY+AV1opXq6ome78tRDUCRWfA== + jest-resolve-dependencies@^27.4.6: version "27.4.6" resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-27.4.6.tgz#fc50ee56a67d2c2183063f6a500cc4042b5e2327" @@ -4444,6 +4428,14 @@ jest-serializer@^27.4.0: "@types/node" "*" graceful-fs "^4.2.4" +jest-serializer@^27.5.0: + version "27.5.0" + resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-27.5.0.tgz#439a110df27f97a40c114a429b708c2ada15a81f" + integrity sha512-aSDFqQlVXtBH+Zb5dl9mCvTSFkabixk/9P9cpngL4yJKpmEi9USxfDhONFMzJrtftPvZw3PcltUVmtFZTB93rg== + dependencies: + "@types/node" "*" + graceful-fs "^4.2.9" + jest-snapshot-serializer-ansi@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/jest-snapshot-serializer-ansi/-/jest-snapshot-serializer-ansi-1.0.0.tgz#7daeefe7bfa81aed44e153fd3451320b61dc2a67" @@ -4527,6 +4519,18 @@ jest-util@^27.4.2: graceful-fs "^4.2.4" picomatch "^2.2.3" +jest-util@^27.5.0: + version "27.5.0" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-27.5.0.tgz#0b9540d91b0de65d288f235fa9899e6eeeab8d35" + integrity sha512-FUUqOx0gAzJy3ytatT1Ss372M1kmhczn8x7aE0++11oPGW1FyD/5NjYBI8w1KOXFm6IVjtaZm2szfJJL+CHs0g== + dependencies: + "@jest/types" "^27.5.0" + "@types/node" "*" + chalk "^4.0.0" + ci-info "^3.2.0" + graceful-fs "^4.2.9" + picomatch "^2.2.3" + jest-validate@^27.4.2: version "27.4.2" resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-27.4.2.tgz#eecfcc1b1c9429aa007da08a2bae4e32a81bbbc3" @@ -4590,7 +4594,7 @@ jest-watcher@^27.4.6: jest-util "^27.4.2" string-length "^4.0.1" -jest-worker@^27.4.2, jest-worker@^27.4.5: +jest-worker@^27.4.2: version "27.4.5" resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.4.5.tgz#d696e3e46ae0f24cff3fa7195ffba22889262242" integrity sha512-f2s8kEdy15cv9r7q4KkzGXvlY0JTcmCbMHZBfSQDwW77REr45IDWwd0lksDFeVHH2jJ5pqb90T77XscrjeGzzg== @@ -4608,6 +4612,15 @@ jest-worker@^27.4.6: merge-stream "^2.0.0" supports-color "^8.0.0" +jest-worker@^27.5.0: + version "27.5.0" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.5.0.tgz#99ee77e4d06168107c27328bd7f54e74c3a48d59" + integrity sha512-8OEHiPNOPTfaWnJ2SUHM8fmgeGq37uuGsQBvGKQJl1f+6WIy6g7G3fE2ruI5294bUKUI9FaCWt5hDvO8HSwsSg== + dependencies: + "@types/node" "*" + merge-stream "^2.0.0" + supports-color "^8.0.0" + jest@27.4.7: version "27.4.7" resolved "https://registry.yarnpkg.com/jest/-/jest-27.4.7.tgz#87f74b9026a1592f2da05b4d258e57505f28eca4" @@ -5053,11 +5066,6 @@ node-int64@^0.4.0: resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" integrity sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs= -node-modules-regexp@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40" - integrity sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA= - node-releases@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.1.tgz#3d1d395f204f1f2f29a54358b9fb678765ad2fc5" @@ -5439,13 +5447,6 @@ pify@^3.0.0: resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= -pirates@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.1.tgz#643a92caf894566f91b2b986d2c66950a8e2fb87" - integrity sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA== - dependencies: - node-modules-regexp "^1.0.0" - pirates@^4.0.4: version "4.0.4" resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.4.tgz#07df81e61028e402735cdd49db701e4885b4e6e6" From 14e099756112f0baf0c3ac1b47d426dd1a9c18de Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 7 Feb 2022 03:18:30 +0000 Subject: [PATCH 106/117] Build(deps-dev): Bump jest from 27.4.7 to 27.5.0 (#12240) --- package.json | 2 +- yarn.lock | 666 +++++++++++++++++++++++++-------------------------- 2 files changed, 324 insertions(+), 344 deletions(-) diff --git a/package.json b/package.json index e4abfca9f..2d8bf5420 100644 --- a/package.json +++ b/package.json @@ -125,7 +125,7 @@ "eslint-plugin-unicorn": "40.1.0", "esm-utils": "2.0.1", "execa": "5.1.1", - "jest": "27.4.7", + "jest": "27.5.0", "jest-snapshot-serializer-ansi": "1.0.0", "jest-snapshot-serializer-raw": "1.2.0", "jest-watch-typeahead": "1.0.0", diff --git a/yarn.lock b/yarn.lock index 43e0fb4a1..5cea37269 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1344,121 +1344,121 @@ jest-util "^27.4.2" slash "^3.0.0" -"@jest/console@^27.4.6": - version "27.4.6" - resolved "https://registry.yarnpkg.com/@jest/console/-/console-27.4.6.tgz#0742e6787f682b22bdad56f9db2a8a77f6a86107" - integrity sha512-jauXyacQD33n47A44KrlOVeiXHEXDqapSdfb9kTekOchH/Pd18kBIO1+xxJQRLuG+LUuljFCwTG92ra4NW7SpA== +"@jest/console@^27.5.0": + version "27.5.0" + resolved "https://registry.yarnpkg.com/@jest/console/-/console-27.5.0.tgz#82289a589ad5803555b50b64178128b7a8e45282" + integrity sha512-WUzX5neFb0IOQOy/7A2VhiGdxJKk85Xns2Oq29JaHmtnSel+BsjwyQZxzAs2Xxfd2i452fwdDG9ox/IWi81bdQ== dependencies: - "@jest/types" "^27.4.2" + "@jest/types" "^27.5.0" "@types/node" "*" chalk "^4.0.0" - jest-message-util "^27.4.6" - jest-util "^27.4.2" + jest-message-util "^27.5.0" + jest-util "^27.5.0" slash "^3.0.0" -"@jest/core@^27.4.7": - version "27.4.7" - resolved "https://registry.yarnpkg.com/@jest/core/-/core-27.4.7.tgz#84eabdf42a25f1fa138272ed229bcf0a1b5e6913" - integrity sha512-n181PurSJkVMS+kClIFSX/LLvw9ExSb+4IMtD6YnfxZVerw9ANYtW0bPrm0MJu2pfe9SY9FJ9FtQ+MdZkrZwjg== +"@jest/core@^27.5.0": + version "27.5.0" + resolved "https://registry.yarnpkg.com/@jest/core/-/core-27.5.0.tgz#27b383f497ff1671cc30fd5e22eba9d9b10c3031" + integrity sha512-DcUTkZyon+dRozTEjy38Bgt3PIU51GdUJuz3uHKg5maGtmCaYqPUGiM3Xddqi7eIMC7E3fTGIlHqH9i0pTOy6Q== dependencies: - "@jest/console" "^27.4.6" - "@jest/reporters" "^27.4.6" - "@jest/test-result" "^27.4.6" - "@jest/transform" "^27.4.6" - "@jest/types" "^27.4.2" + "@jest/console" "^27.5.0" + "@jest/reporters" "^27.5.0" + "@jest/test-result" "^27.5.0" + "@jest/transform" "^27.5.0" + "@jest/types" "^27.5.0" "@types/node" "*" ansi-escapes "^4.2.1" chalk "^4.0.0" emittery "^0.8.1" exit "^0.1.2" - graceful-fs "^4.2.4" - jest-changed-files "^27.4.2" - jest-config "^27.4.7" - jest-haste-map "^27.4.6" - jest-message-util "^27.4.6" - jest-regex-util "^27.4.0" - jest-resolve "^27.4.6" - jest-resolve-dependencies "^27.4.6" - jest-runner "^27.4.6" - jest-runtime "^27.4.6" - jest-snapshot "^27.4.6" - jest-util "^27.4.2" - jest-validate "^27.4.6" - jest-watcher "^27.4.6" + graceful-fs "^4.2.9" + jest-changed-files "^27.5.0" + jest-config "^27.5.0" + jest-haste-map "^27.5.0" + jest-message-util "^27.5.0" + jest-regex-util "^27.5.0" + jest-resolve "^27.5.0" + jest-resolve-dependencies "^27.5.0" + jest-runner "^27.5.0" + jest-runtime "^27.5.0" + jest-snapshot "^27.5.0" + jest-util "^27.5.0" + jest-validate "^27.5.0" + jest-watcher "^27.5.0" micromatch "^4.0.4" rimraf "^3.0.0" slash "^3.0.0" strip-ansi "^6.0.0" -"@jest/environment@^27.4.6": - version "27.4.6" - resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-27.4.6.tgz#1e92885d64f48c8454df35ed9779fbcf31c56d8b" - integrity sha512-E6t+RXPfATEEGVidr84WngLNWZ8ffCPky8RqqRK6u1Bn0LK92INe0MDttyPl/JOzaq92BmDzOeuqk09TvM22Sg== +"@jest/environment@^27.5.0": + version "27.5.0" + resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-27.5.0.tgz#a473bc76261aad7dfa3a1d8e35155953a5ba3436" + integrity sha512-lg0JFsMaLKgpwzs0knOg21Z4OQwaJoBLutnmYzip4tyLTXP21VYWtYGpLXgx42fw/Mw05m1WDXWKgwR6WnsiTw== dependencies: - "@jest/fake-timers" "^27.4.6" - "@jest/types" "^27.4.2" + "@jest/fake-timers" "^27.5.0" + "@jest/types" "^27.5.0" "@types/node" "*" - jest-mock "^27.4.6" + jest-mock "^27.5.0" -"@jest/fake-timers@^27.4.6": - version "27.4.6" - resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-27.4.6.tgz#e026ae1671316dbd04a56945be2fa251204324e8" - integrity sha512-mfaethuYF8scV8ntPpiVGIHQgS0XIALbpY2jt2l7wb/bvq4Q5pDLk4EP4D7SAvYT1QrPOPVZAtbdGAOOyIgs7A== +"@jest/fake-timers@^27.5.0": + version "27.5.0" + resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-27.5.0.tgz#f9e07b4c723a535f7c532cfb403394fa40d88c8a" + integrity sha512-e3WrlpqSHq3HAQ03JFjTn8YCrsyg640/sr1rjkM2rNv8z1ufjudpv4xq6DvvTJYB6FuUrfg0g+7bSKPet5QfCQ== dependencies: - "@jest/types" "^27.4.2" + "@jest/types" "^27.5.0" "@sinonjs/fake-timers" "^8.0.1" "@types/node" "*" - jest-message-util "^27.4.6" - jest-mock "^27.4.6" - jest-util "^27.4.2" + jest-message-util "^27.5.0" + jest-mock "^27.5.0" + jest-util "^27.5.0" -"@jest/globals@^27.4.6": - version "27.4.6" - resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-27.4.6.tgz#3f09bed64b0fd7f5f996920258bd4be8f52f060a" - integrity sha512-kAiwMGZ7UxrgPzu8Yv9uvWmXXxsy0GciNejlHvfPIfWkSxChzv6bgTS3YqBkGuHcis+ouMFI2696n2t+XYIeFw== +"@jest/globals@^27.5.0": + version "27.5.0" + resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-27.5.0.tgz#16271323f79e3b0fe0842e9588241d202a6c2aff" + integrity sha512-wWpMnTiR65Q4JD7fr2BqN+ZDbi99mmILnEM6u7AaX4geASEIVvQsiB4RCvwZrIX5YZCsAjviJQVq9CYddLABkg== dependencies: - "@jest/environment" "^27.4.6" - "@jest/types" "^27.4.2" - expect "^27.4.6" + "@jest/environment" "^27.5.0" + "@jest/types" "^27.5.0" + expect "^27.5.0" -"@jest/reporters@^27.4.6": - version "27.4.6" - resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-27.4.6.tgz#b53dec3a93baf9b00826abf95b932de919d6d8dd" - integrity sha512-+Zo9gV81R14+PSq4wzee4GC2mhAN9i9a7qgJWL90Gpx7fHYkWpTBvwWNZUXvJByYR9tAVBdc8VxDWqfJyIUrIQ== +"@jest/reporters@^27.5.0": + version "27.5.0" + resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-27.5.0.tgz#e7602e12656b5051bf4e784cbdd82d4ec1299e33" + integrity sha512-DG+BmVSx2uaJSTKz5z1eScgHTQ6/cZ5CCKSpmpr4sXQPwV2V5aUMOBDwXX1MnqNRhH7/Rq9K97ynnocvho5aMA== dependencies: "@bcoe/v8-coverage" "^0.2.3" - "@jest/console" "^27.4.6" - "@jest/test-result" "^27.4.6" - "@jest/transform" "^27.4.6" - "@jest/types" "^27.4.2" + "@jest/console" "^27.5.0" + "@jest/test-result" "^27.5.0" + "@jest/transform" "^27.5.0" + "@jest/types" "^27.5.0" "@types/node" "*" chalk "^4.0.0" collect-v8-coverage "^1.0.0" exit "^0.1.2" glob "^7.1.2" - graceful-fs "^4.2.4" + graceful-fs "^4.2.9" istanbul-lib-coverage "^3.0.0" istanbul-lib-instrument "^5.1.0" istanbul-lib-report "^3.0.0" istanbul-lib-source-maps "^4.0.0" istanbul-reports "^3.1.3" - jest-haste-map "^27.4.6" - jest-resolve "^27.4.6" - jest-util "^27.4.2" - jest-worker "^27.4.6" + jest-haste-map "^27.5.0" + jest-resolve "^27.5.0" + jest-util "^27.5.0" + jest-worker "^27.5.0" slash "^3.0.0" source-map "^0.6.0" string-length "^4.0.1" terminal-link "^2.0.0" v8-to-istanbul "^8.1.0" -"@jest/source-map@^27.4.0": - version "27.4.0" - resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-27.4.0.tgz#2f0385d0d884fb3e2554e8f71f8fa957af9a74b6" - integrity sha512-Ntjx9jzP26Bvhbm93z/AKcPRj/9wrkI88/gK60glXDx1q+IeI0rf7Lw2c89Ch6ofonB0On/iRDreQuQ6te9pgQ== +"@jest/source-map@^27.5.0": + version "27.5.0" + resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-27.5.0.tgz#f22a7e759b8807491f84719c01acf433b917c7a0" + integrity sha512-0xr7VZ+JNCRrlCyRMYhquUm8eU3kNdGDaIW4s3L625bNjk273v9ZhAm3YczIuzJzYH0pnjT+QSCiZQegWKjeow== dependencies: callsites "^3.0.0" - graceful-fs "^4.2.4" + graceful-fs "^4.2.9" source-map "^0.6.0" "@jest/test-result@^27.4.2": @@ -1471,27 +1471,27 @@ "@types/istanbul-lib-coverage" "^2.0.0" collect-v8-coverage "^1.0.0" -"@jest/test-result@^27.4.6": - version "27.4.6" - resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-27.4.6.tgz#b3df94c3d899c040f602cea296979844f61bdf69" - integrity sha512-fi9IGj3fkOrlMmhQqa/t9xum8jaJOOAi/lZlm6JXSc55rJMXKHxNDN1oCP39B0/DhNOa2OMupF9BcKZnNtXMOQ== +"@jest/test-result@^27.5.0": + version "27.5.0" + resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-27.5.0.tgz#29e0ace33570c9dcbd47c67e954f77a7d7fff98e" + integrity sha512-Lxecvx5mN6WIeynIyW0dWDQm8UPGMHvTwxUPK+OsZaqBDMGaNDSZtw53VoVk7HyT6AcRblMR/pfa0XucmH4hGw== dependencies: - "@jest/console" "^27.4.6" - "@jest/types" "^27.4.2" + "@jest/console" "^27.5.0" + "@jest/types" "^27.5.0" "@types/istanbul-lib-coverage" "^2.0.0" collect-v8-coverage "^1.0.0" -"@jest/test-sequencer@^27.4.6": - version "27.4.6" - resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-27.4.6.tgz#447339b8a3d7b5436f50934df30854e442a9d904" - integrity sha512-3GL+nsf6E1PsyNsJuvPyIz+DwFuCtBdtvPpm/LMXVkBJbdFvQYCDpccYT56qq5BGniXWlE81n2qk1sdXfZebnw== +"@jest/test-sequencer@^27.5.0": + version "27.5.0" + resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-27.5.0.tgz#68beceb3de818dcb34fb3ea59be3c22c890bb6e5" + integrity sha512-WzjcDflqbpWe+SnJPCvB2gB6haGfrkzAgzY6Pb1aq+EPoVAj2mwBaKN0ROWI4H87aSslCjq2M+BUQFNJ8VpnDA== dependencies: - "@jest/test-result" "^27.4.6" - graceful-fs "^4.2.4" - jest-haste-map "^27.4.6" - jest-runtime "^27.4.6" + "@jest/test-result" "^27.5.0" + graceful-fs "^4.2.9" + jest-haste-map "^27.5.0" + jest-runtime "^27.5.0" -"@jest/transform@^27.4.2", "@jest/transform@^27.4.6", "@jest/transform@^27.5.0": +"@jest/transform@^27.4.2", "@jest/transform@^27.5.0": version "27.5.0" resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-27.5.0.tgz#a4941e69ac51e8aa9a255ff4855b564c228c400b" integrity sha512-yXUy/iO3TH1itxJ9BF7LLjuXt8TtgtjAl0PBQbUaCvRa+L0yYBob6uayW9dFRX/CDQweouLhvmXh44zRiaB+yA== @@ -1995,7 +1995,7 @@ asynckit@^0.4.0: resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= -babel-jest@27.5.0, babel-jest@^27.4.6: +babel-jest@27.5.0, babel-jest@^27.5.0: version "27.5.0" resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-27.5.0.tgz#c653985241af3c76f59d70d65a570860c2594a50" integrity sha512-puhCyvBTNLevhbd1oyw6t3gWBicWoUARQYKCBB/B1moif17NbyhxbsfadqZIw8zfJJD+W7Vw0Nb20pEjLxkXqQ== @@ -2668,6 +2668,11 @@ diff-sequences@^27.4.0: resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-27.4.0.tgz#d783920ad8d06ec718a060d00196dfef25b132a5" integrity sha512-YqiQzkrsmHMH5uuh8OdQFU9/ZpADnwzml8z0O5HvRNda+5UZsaX/xN+AAxfR2hWq1Y7HZnAzO9J5lJXOuDz2Ww== +diff-sequences@^27.5.0: + version "27.5.0" + resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-27.5.0.tgz#a8ac0cb742b17d6f30a6c43e233893a2402c0729" + integrity sha512-ZsOBWnhXiH+Zn0DcBNX/tiQsqrREHs/6oQsEVy2VJJjrTblykPima11pyHMSA/7PGmD+fwclTnKVKL/qtNREDQ== + diff@5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/diff/-/diff-5.0.0.tgz#7ed6ad76d859d030787ec35855f5b1daf31d852b" @@ -3249,15 +3254,15 @@ expect@^27.4.2: jest-message-util "^27.4.2" jest-regex-util "^27.4.0" -expect@^27.4.6: - version "27.4.6" - resolved "https://registry.yarnpkg.com/expect/-/expect-27.4.6.tgz#f335e128b0335b6ceb4fcab67ece7cbd14c942e6" - integrity sha512-1M/0kAALIaj5LaG66sFJTbRsWTADnylly82cu4bspI0nl+pgP4E6Bh/aqdHlTUjul06K7xQnnrAoqfxVU0+/ag== +expect@^27.5.0: + version "27.5.0" + resolved "https://registry.yarnpkg.com/expect/-/expect-27.5.0.tgz#ea2fbebb483c274043098c34a53923a0aee493f0" + integrity sha512-z73GZ132cBqrapO0X6BeRjyBXqOt9YeRtnDteHJIQqp5s2pZ41Hz23VUbsVFMfkrsFLU9GwoIRS0ZzLuFK8M5w== dependencies: - "@jest/types" "^27.4.2" - jest-get-type "^27.4.0" - jest-matcher-utils "^27.4.6" - jest-message-util "^27.4.6" + "@jest/types" "^27.5.0" + jest-get-type "^27.5.0" + jest-matcher-utils "^27.5.0" + jest-message-util "^27.5.0" extend@3.0.2, extend@^3.0.0: version "3.0.2" @@ -4011,84 +4016,84 @@ istanbul-reports@^3.1.3: html-escaper "^2.0.0" istanbul-lib-report "^3.0.0" -jest-changed-files@^27.4.2: - version "27.4.2" - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-27.4.2.tgz#da2547ea47c6e6a5f6ed336151bd2075736eb4a5" - integrity sha512-/9x8MjekuzUQoPjDHbBiXbNEBauhrPU2ct7m8TfCg69ywt1y/N+yYwGh3gCpnqUS3klYWDU/lSNgv+JhoD2k1A== +jest-changed-files@^27.5.0: + version "27.5.0" + resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-27.5.0.tgz#61e8d0a7394c1ee1cec4c2893e206e62b1566066" + integrity sha512-BGWKI7E6ORqbF5usF1oA4ftbkhVZVrXr8jB0/BrU6TAn3kfOVwX2Zx6pKIXYutJ+qNEjT8Da/gGak0ajya/StA== dependencies: - "@jest/types" "^27.4.2" + "@jest/types" "^27.5.0" execa "^5.0.0" throat "^6.0.1" -jest-circus@^27.4.6: - version "27.4.6" - resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-27.4.6.tgz#d3af34c0eb742a967b1919fbb351430727bcea6c" - integrity sha512-UA7AI5HZrW4wRM72Ro80uRR2Fg+7nR0GESbSI/2M+ambbzVuA63mn5T1p3Z/wlhntzGpIG1xx78GP2YIkf6PhQ== +jest-circus@^27.5.0: + version "27.5.0" + resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-27.5.0.tgz#fcff8829ceb2c8ef4b4532ace7734d156c6664b9" + integrity sha512-+NPd1OxpAHYKjbW8dgL0huFgmtZRKSUKee/UtRgZJEfAxCeA12d7sp0coh5EGDBpW4fCk1Pcia/2dG+j6BQvdw== dependencies: - "@jest/environment" "^27.4.6" - "@jest/test-result" "^27.4.6" - "@jest/types" "^27.4.2" + "@jest/environment" "^27.5.0" + "@jest/test-result" "^27.5.0" + "@jest/types" "^27.5.0" "@types/node" "*" chalk "^4.0.0" co "^4.6.0" dedent "^0.7.0" - expect "^27.4.6" + expect "^27.5.0" is-generator-fn "^2.0.0" - jest-each "^27.4.6" - jest-matcher-utils "^27.4.6" - jest-message-util "^27.4.6" - jest-runtime "^27.4.6" - jest-snapshot "^27.4.6" - jest-util "^27.4.2" - pretty-format "^27.4.6" + jest-each "^27.5.0" + jest-matcher-utils "^27.5.0" + jest-message-util "^27.5.0" + jest-runtime "^27.5.0" + jest-snapshot "^27.5.0" + jest-util "^27.5.0" + pretty-format "^27.5.0" slash "^3.0.0" stack-utils "^2.0.3" throat "^6.0.1" -jest-cli@^27.4.7: - version "27.4.7" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-27.4.7.tgz#d00e759e55d77b3bcfea0715f527c394ca314e5a" - integrity sha512-zREYhvjjqe1KsGV15mdnxjThKNDgza1fhDT+iUsXWLCq3sxe9w5xnvyctcYVT5PcdLSjv7Y5dCwTS3FCF1tiuw== +jest-cli@^27.5.0: + version "27.5.0" + resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-27.5.0.tgz#06557ad22818740fb28481089a574ba107a8b369" + integrity sha512-9ANs79Goz1ULKtG7HDm/F//4E69v8EFOLXRIHmeC/eK1xTUeQGlU6XP0Zwst386sKaKB4O60qhWY/UaTBS2MLA== dependencies: - "@jest/core" "^27.4.7" - "@jest/test-result" "^27.4.6" - "@jest/types" "^27.4.2" + "@jest/core" "^27.5.0" + "@jest/test-result" "^27.5.0" + "@jest/types" "^27.5.0" chalk "^4.0.0" exit "^0.1.2" - graceful-fs "^4.2.4" + graceful-fs "^4.2.9" import-local "^3.0.2" - jest-config "^27.4.7" - jest-util "^27.4.2" - jest-validate "^27.4.6" + jest-config "^27.5.0" + jest-util "^27.5.0" + jest-validate "^27.5.0" prompts "^2.0.1" yargs "^16.2.0" -jest-config@^27.4.7: - version "27.4.7" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-27.4.7.tgz#4f084b2acbd172c8b43aa4cdffe75d89378d3972" - integrity sha512-xz/o/KJJEedHMrIY9v2ParIoYSrSVY6IVeE4z5Z3i101GoA5XgfbJz+1C8EYPsv7u7f39dS8F9v46BHDhn0vlw== +jest-config@^27.5.0: + version "27.5.0" + resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-27.5.0.tgz#d96ccf8e26d3f2f3ae6543686c48449c201bb621" + integrity sha512-eOIpvpXFz5WHuIYZN1QmvBLEjsSk3w+IAC/2jBpZClbprF53Bj9meBMgAbE15DSkaaJBDFmhXXd1L2eCLaWxQw== dependencies: "@babel/core" "^7.8.0" - "@jest/test-sequencer" "^27.4.6" - "@jest/types" "^27.4.2" - babel-jest "^27.4.6" + "@jest/test-sequencer" "^27.5.0" + "@jest/types" "^27.5.0" + babel-jest "^27.5.0" chalk "^4.0.0" ci-info "^3.2.0" deepmerge "^4.2.2" glob "^7.1.1" - graceful-fs "^4.2.4" - jest-circus "^27.4.6" - jest-environment-jsdom "^27.4.6" - jest-environment-node "^27.4.6" - jest-get-type "^27.4.0" - jest-jasmine2 "^27.4.6" - jest-regex-util "^27.4.0" - jest-resolve "^27.4.6" - jest-runner "^27.4.6" - jest-util "^27.4.2" - jest-validate "^27.4.6" + graceful-fs "^4.2.9" + jest-circus "^27.5.0" + jest-environment-jsdom "^27.5.0" + jest-environment-node "^27.5.0" + jest-get-type "^27.5.0" + jest-jasmine2 "^27.5.0" + jest-regex-util "^27.5.0" + jest-resolve "^27.5.0" + jest-runner "^27.5.0" + jest-util "^27.5.0" + jest-validate "^27.5.0" micromatch "^4.0.4" - pretty-format "^27.4.6" + pretty-format "^27.5.0" slash "^3.0.0" jest-diff@^27.0.0, jest-diff@^27.0.2, jest-diff@^27.4.2: @@ -4101,64 +4106,69 @@ jest-diff@^27.0.0, jest-diff@^27.0.2, jest-diff@^27.4.2: jest-get-type "^27.4.0" pretty-format "^27.4.2" -jest-diff@^27.4.6: - version "27.4.6" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-27.4.6.tgz#93815774d2012a2cbb6cf23f84d48c7a2618f98d" - integrity sha512-zjaB0sh0Lb13VyPsd92V7HkqF6yKRH9vm33rwBt7rPYrpQvS1nCvlIy2pICbKta+ZjWngYLNn4cCK4nyZkjS/w== +jest-diff@^27.5.0: + version "27.5.0" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-27.5.0.tgz#34dc608a3b9159df178dd480b6d835b5e6b92082" + integrity sha512-zztvHDCq/QcAVv+o6rts0reupSOxyrX+KLQEOMWCW2trZgcBFgp/oTK7hJCGpXvEIqKrQzyQlaPKn9W04+IMQg== dependencies: chalk "^4.0.0" - diff-sequences "^27.4.0" - jest-get-type "^27.4.0" - pretty-format "^27.4.6" + diff-sequences "^27.5.0" + jest-get-type "^27.5.0" + pretty-format "^27.5.0" -jest-docblock@27.5.0, jest-docblock@^27.4.0: +jest-docblock@27.5.0, jest-docblock@^27.5.0: version "27.5.0" resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-27.5.0.tgz#096fa3a8b55d019a954ef7cc205c791bf94b2352" integrity sha512-U4MtJgdZn2x+jpPzd7NAYvDmgJAA5h9QxVAwsyuH7IymGzY8VGHhAkHcIGOmtmdC61ORLxCbEhj6fCJsaCWzXA== dependencies: detect-newline "^3.0.0" -jest-each@^27.4.6: - version "27.4.6" - resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-27.4.6.tgz#e7e8561be61d8cc6dbf04296688747ab186c40ff" - integrity sha512-n6QDq8y2Hsmn22tRkgAk+z6MCX7MeVlAzxmZDshfS2jLcaBlyhpF3tZSJLR+kXmh23GEvS0ojMR8i6ZeRvpQcA== +jest-each@^27.5.0: + version "27.5.0" + resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-27.5.0.tgz#7bd00a767df0fbec0caba3df0d2c0b3268a2ce84" + integrity sha512-2vpajSdDMZmAxjSP1f4BG9KKduwHtuaI0w66oqLUkfaGUU7Ix/W+d8BW0h3/QEJiew7hR0GSblqdFwTEEbhBdw== dependencies: - "@jest/types" "^27.4.2" + "@jest/types" "^27.5.0" chalk "^4.0.0" - jest-get-type "^27.4.0" - jest-util "^27.4.2" - pretty-format "^27.4.6" + jest-get-type "^27.5.0" + jest-util "^27.5.0" + pretty-format "^27.5.0" -jest-environment-jsdom@^27.4.6: - version "27.4.6" - resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-27.4.6.tgz#c23a394eb445b33621dfae9c09e4c8021dea7b36" - integrity sha512-o3dx5p/kHPbUlRvSNjypEcEtgs6LmvESMzgRFQE6c+Prwl2JLA4RZ7qAnxc5VM8kutsGRTB15jXeeSbJsKN9iA== +jest-environment-jsdom@^27.5.0: + version "27.5.0" + resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-27.5.0.tgz#6d22d9b76890e9b82c7e1062a15730efb3fb7361" + integrity sha512-sX49N8rjp6HSHeGpNgLk6mtHRd1IPAnE/u7wLQkb6Tz/1E08Q++Y8Zk/IbpVdcFywbzH1icFqEuDuHJ6o+uXXg== dependencies: - "@jest/environment" "^27.4.6" - "@jest/fake-timers" "^27.4.6" - "@jest/types" "^27.4.2" + "@jest/environment" "^27.5.0" + "@jest/fake-timers" "^27.5.0" + "@jest/types" "^27.5.0" "@types/node" "*" - jest-mock "^27.4.6" - jest-util "^27.4.2" + jest-mock "^27.5.0" + jest-util "^27.5.0" jsdom "^16.6.0" -jest-environment-node@^27.4.6: - version "27.4.6" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-27.4.6.tgz#ee8cd4ef458a0ef09d087c8cd52ca5856df90242" - integrity sha512-yfHlZ9m+kzTKZV0hVfhVu6GuDxKAYeFHrfulmy7Jxwsq4V7+ZK7f+c0XP/tbVDMQW7E4neG2u147hFkuVz0MlQ== +jest-environment-node@^27.5.0: + version "27.5.0" + resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-27.5.0.tgz#1ab357b4715bff88d48c8b62b8379002ff955dd1" + integrity sha512-7UzisMMfGyrURhS/eUa7p7mgaqN3ajHylsjOgfcn0caNeYRZq4LHKZLfAxrPM34DWLnBZcRupEJlpQsizdSUsw== dependencies: - "@jest/environment" "^27.4.6" - "@jest/fake-timers" "^27.4.6" - "@jest/types" "^27.4.2" + "@jest/environment" "^27.5.0" + "@jest/fake-timers" "^27.5.0" + "@jest/types" "^27.5.0" "@types/node" "*" - jest-mock "^27.4.6" - jest-util "^27.4.2" + jest-mock "^27.5.0" + jest-util "^27.5.0" jest-get-type@^27.4.0: version "27.4.0" resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-27.4.0.tgz#7503d2663fffa431638337b3998d39c5e928e9b5" integrity sha512-tk9o+ld5TWq41DkK14L4wox4s2D9MtTpKaAVzXfr5CUKm5ZK2ExcaFE0qls2W71zE/6R2TxxrK9w2r6svAFDBQ== +jest-get-type@^27.5.0: + version "27.5.0" + resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-27.5.0.tgz#861c24aa1b176be83c902292cb9618d580cac8a7" + integrity sha512-Vp6O8a52M/dahXRG/E0EJuWQROps2mDQ0sJYPgO8HskhdLwj9ajgngy2OAqZgV6e/RcU67WUHq6TgfvJb8flbA== + jest-haste-map@^27.4.2: version "27.4.2" resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-27.4.2.tgz#7fc7d5e568cca704284f4850885b74a0b8b87587" @@ -4179,26 +4189,6 @@ jest-haste-map@^27.4.2: optionalDependencies: fsevents "^2.3.2" -jest-haste-map@^27.4.6: - version "27.4.6" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-27.4.6.tgz#c60b5233a34ca0520f325b7e2cc0a0140ad0862a" - integrity sha512-0tNpgxg7BKurZeFkIOvGCkbmOHbLFf4LUQOxrQSMjvrQaQe3l6E8x6jYC1NuWkGo5WDdbr8FEzUxV2+LWNawKQ== - dependencies: - "@jest/types" "^27.4.2" - "@types/graceful-fs" "^4.1.2" - "@types/node" "*" - anymatch "^3.0.3" - fb-watchman "^2.0.0" - graceful-fs "^4.2.4" - jest-regex-util "^27.4.0" - jest-serializer "^27.4.0" - jest-util "^27.4.2" - jest-worker "^27.4.6" - micromatch "^4.0.4" - walker "^1.0.7" - optionalDependencies: - fsevents "^2.3.2" - jest-haste-map@^27.5.0: version "27.5.0" resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-27.5.0.tgz#7cc3a920caf304c89fbfceb5d5717b929873f175" @@ -4219,36 +4209,36 @@ jest-haste-map@^27.5.0: optionalDependencies: fsevents "^2.3.2" -jest-jasmine2@^27.4.6: - version "27.4.6" - resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-27.4.6.tgz#109e8bc036cb455950ae28a018f983f2abe50127" - integrity sha512-uAGNXF644I/whzhsf7/qf74gqy9OuhvJ0XYp8SDecX2ooGeaPnmJMjXjKt0mqh1Rl5dtRGxJgNrHlBQIBfS5Nw== +jest-jasmine2@^27.5.0: + version "27.5.0" + resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-27.5.0.tgz#589d6574d1318d3fb41b3fc368344117ec417dcc" + integrity sha512-X7sT3HLNjjrBEepilxzPyNhNdyunaFBepo1L3T/fvYb9tb8Wb8qY576gwIa+SZcqYUqAA7/bT3EpZI4lAp0Qew== dependencies: - "@jest/environment" "^27.4.6" - "@jest/source-map" "^27.4.0" - "@jest/test-result" "^27.4.6" - "@jest/types" "^27.4.2" + "@jest/environment" "^27.5.0" + "@jest/source-map" "^27.5.0" + "@jest/test-result" "^27.5.0" + "@jest/types" "^27.5.0" "@types/node" "*" chalk "^4.0.0" co "^4.6.0" - expect "^27.4.6" + expect "^27.5.0" is-generator-fn "^2.0.0" - jest-each "^27.4.6" - jest-matcher-utils "^27.4.6" - jest-message-util "^27.4.6" - jest-runtime "^27.4.6" - jest-snapshot "^27.4.6" - jest-util "^27.4.2" - pretty-format "^27.4.6" + jest-each "^27.5.0" + jest-matcher-utils "^27.5.0" + jest-message-util "^27.5.0" + jest-runtime "^27.5.0" + jest-snapshot "^27.5.0" + jest-util "^27.5.0" + pretty-format "^27.5.0" throat "^6.0.1" -jest-leak-detector@^27.4.6: - version "27.4.6" - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-27.4.6.tgz#ed9bc3ce514b4c582637088d9faf58a33bd59bf4" - integrity sha512-kkaGixDf9R7CjHm2pOzfTxZTQQQ2gHTIWKY/JZSiYTc90bZp8kSZnUMS3uLAfwTZwc0tcMRoEX74e14LG1WapA== +jest-leak-detector@^27.5.0: + version "27.5.0" + resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-27.5.0.tgz#c98c02e64eab4da9a8b91f058d2b7473272272ee" + integrity sha512-Ak3k+DD3ao5d4/zzJrxAQ5UV5wiCrp47jH94ZD4/vXSzQgE6WBVDfg83VtculLILO7Y6/Q/7yzKSrtN9Na8luA== dependencies: - jest-get-type "^27.4.0" - pretty-format "^27.4.6" + jest-get-type "^27.5.0" + pretty-format "^27.5.0" jest-matcher-utils@^27.4.2: version "27.4.2" @@ -4260,15 +4250,15 @@ jest-matcher-utils@^27.4.2: jest-get-type "^27.4.0" pretty-format "^27.4.2" -jest-matcher-utils@^27.4.6: - version "27.4.6" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-27.4.6.tgz#53ca7f7b58170638590e946f5363b988775509b8" - integrity sha512-XD4PKT3Wn1LQnRAq7ZsTI0VRuEc9OrCPFiO1XL7bftTGmfNF0DcEwMHRgqiu7NGf8ZoZDREpGrCniDkjt79WbA== +jest-matcher-utils@^27.5.0: + version "27.5.0" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-27.5.0.tgz#d2fc737224fb3bfa38eaa2393ac5bc953d5c5697" + integrity sha512-5ruyzWMGb1ilCWD6ECwNdOhQBeIXAjHmHd5c3uO6quR7RIMHPRP2ucOaejz2j+0R0Ko4GanWM6SqXAeF8nYN5g== dependencies: chalk "^4.0.0" - jest-diff "^27.4.6" - jest-get-type "^27.4.0" - pretty-format "^27.4.6" + jest-diff "^27.5.0" + jest-get-type "^27.5.0" + pretty-format "^27.5.0" jest-message-util@^27.4.2: version "27.4.2" @@ -4285,27 +4275,27 @@ jest-message-util@^27.4.2: slash "^3.0.0" stack-utils "^2.0.3" -jest-message-util@^27.4.6: - version "27.4.6" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-27.4.6.tgz#9fdde41a33820ded3127465e1a5896061524da31" - integrity sha512-0p5szriFU0U74czRSFjH6RyS7UYIAkn/ntwMuOwTGWrQIOh5NzXXrq72LOqIkJKKvFbPq+byZKuBz78fjBERBA== +jest-message-util@^27.5.0: + version "27.5.0" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-27.5.0.tgz#654a781b38a305b1fd8120053c784c67bca00a52" + integrity sha512-lfbWRhTtmZMEHPAtl0SrvNzK1F4UnVNMHOliRQT2BJ4sBFzIb0gBCHA4ebWD4o6l1fUyvDPxM01K9OIMQTAdQw== dependencies: "@babel/code-frame" "^7.12.13" - "@jest/types" "^27.4.2" + "@jest/types" "^27.5.0" "@types/stack-utils" "^2.0.0" chalk "^4.0.0" - graceful-fs "^4.2.4" + graceful-fs "^4.2.9" micromatch "^4.0.4" - pretty-format "^27.4.6" + pretty-format "^27.5.0" slash "^3.0.0" stack-utils "^2.0.3" -jest-mock@^27.4.6: - version "27.4.6" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-27.4.6.tgz#77d1ba87fbd33ccb8ef1f061697e7341b7635195" - integrity sha512-kvojdYRkst8iVSZ1EJ+vc1RRD9llueBjKzXzeCytH3dMM7zvPV/ULcfI2nr0v0VUgm3Bjt3hBCQvOeaBz+ZTHw== +jest-mock@^27.5.0: + version "27.5.0" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-27.5.0.tgz#1018656fe6bcd0f58fd1edca7f420169f6707c6e" + integrity sha512-PHluG6MJGng82/sxh8OiB9fnxzNn3cazceSHCAmAKs4g5rMhc3EZCrJXv+4w61rA2WGagMUj7QLLrA1SRlFpzQ== dependencies: - "@jest/types" "^27.4.2" + "@jest/types" "^27.5.0" "@types/node" "*" jest-pnp-resolver@^1.2.2: @@ -4323,14 +4313,14 @@ jest-regex-util@^27.5.0: resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-27.5.0.tgz#26c26cf15a73edba13cb8930e261443d25ed8608" integrity sha512-e9LqSd6HsDsqd7KS3rNyYwmQAaG9jq4U3LbnwVxN/y3nNlDzm2OFs596uo9zrUY+AV1opXq6ome78tRDUCRWfA== -jest-resolve-dependencies@^27.4.6: - version "27.4.6" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-27.4.6.tgz#fc50ee56a67d2c2183063f6a500cc4042b5e2327" - integrity sha512-W85uJZcFXEVZ7+MZqIPCscdjuctruNGXUZ3OHSXOfXR9ITgbUKeHj+uGcies+0SsvI5GtUfTw4dY7u9qjTvQOw== +jest-resolve-dependencies@^27.5.0: + version "27.5.0" + resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.0.tgz#8e3b15589848995ddc9a39f49462dad5b7bc14a2" + integrity sha512-xQsy7CmrT4CJxdNUEdzZU2M/v6YmtQ/pkJM+sx7TA1siG1zfsZuo78PZvzglwRMQFr88f3Su4Om8OEBAic+SMw== dependencies: - "@jest/types" "^27.4.2" - jest-regex-util "^27.4.0" - jest-snapshot "^27.4.6" + "@jest/types" "^27.5.0" + jest-regex-util "^27.5.0" + jest-snapshot "^27.5.0" jest-resolve@^27.4.2: version "27.4.2" @@ -4348,75 +4338,74 @@ jest-resolve@^27.4.2: resolve.exports "^1.1.0" slash "^3.0.0" -jest-resolve@^27.4.6: - version "27.4.6" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-27.4.6.tgz#2ec3110655e86d5bfcfa992e404e22f96b0b5977" - integrity sha512-SFfITVApqtirbITKFAO7jOVN45UgFzcRdQanOFzjnbd+CACDoyeX7206JyU92l4cRr73+Qy/TlW51+4vHGt+zw== +jest-resolve@^27.5.0: + version "27.5.0" + resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-27.5.0.tgz#a8e95a68dfb4a59faa508d7b6d2c6a02dcabb712" + integrity sha512-PkDpYEGV/nFqThnIrlPtj8oTxyAV3iuuS6or7dZYyUWaHr/tyyVb5qfBmZS6FEr7ozBHgjrF1bgcgIefnlicbw== dependencies: - "@jest/types" "^27.4.2" + "@jest/types" "^27.5.0" chalk "^4.0.0" - graceful-fs "^4.2.4" - jest-haste-map "^27.4.6" + graceful-fs "^4.2.9" + jest-haste-map "^27.5.0" jest-pnp-resolver "^1.2.2" - jest-util "^27.4.2" - jest-validate "^27.4.6" + jest-util "^27.5.0" + jest-validate "^27.5.0" resolve "^1.20.0" resolve.exports "^1.1.0" slash "^3.0.0" -jest-runner@^27.4.6: - version "27.4.6" - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-27.4.6.tgz#1d390d276ec417e9b4d0d081783584cbc3e24773" - integrity sha512-IDeFt2SG4DzqalYBZRgbbPmpwV3X0DcntjezPBERvnhwKGWTW7C5pbbA5lVkmvgteeNfdd/23gwqv3aiilpYPg== +jest-runner@^27.5.0: + version "27.5.0" + resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-27.5.0.tgz#b5747a4444b4d3faae019bd201943948882d26c3" + integrity sha512-RMzXhkJLLOKKgUPY2trpyVBijaFmswMtgoCCBk2PQVRHC6yo1vLd1/jmFP39s5OXXnt7rntuzKSYvxl+QUibqQ== dependencies: - "@jest/console" "^27.4.6" - "@jest/environment" "^27.4.6" - "@jest/test-result" "^27.4.6" - "@jest/transform" "^27.4.6" - "@jest/types" "^27.4.2" + "@jest/console" "^27.5.0" + "@jest/environment" "^27.5.0" + "@jest/test-result" "^27.5.0" + "@jest/transform" "^27.5.0" + "@jest/types" "^27.5.0" "@types/node" "*" chalk "^4.0.0" emittery "^0.8.1" - exit "^0.1.2" - graceful-fs "^4.2.4" - jest-docblock "^27.4.0" - jest-environment-jsdom "^27.4.6" - jest-environment-node "^27.4.6" - jest-haste-map "^27.4.6" - jest-leak-detector "^27.4.6" - jest-message-util "^27.4.6" - jest-resolve "^27.4.6" - jest-runtime "^27.4.6" - jest-util "^27.4.2" - jest-worker "^27.4.6" + graceful-fs "^4.2.9" + jest-docblock "^27.5.0" + jest-environment-jsdom "^27.5.0" + jest-environment-node "^27.5.0" + jest-haste-map "^27.5.0" + jest-leak-detector "^27.5.0" + jest-message-util "^27.5.0" + jest-resolve "^27.5.0" + jest-runtime "^27.5.0" + jest-util "^27.5.0" + jest-worker "^27.5.0" source-map-support "^0.5.6" throat "^6.0.1" -jest-runtime@^27.4.6: - version "27.4.6" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-27.4.6.tgz#83ae923818e3ea04463b22f3597f017bb5a1cffa" - integrity sha512-eXYeoR/MbIpVDrjqy5d6cGCFOYBFFDeKaNWqTp0h6E74dK0zLHzASQXJpl5a2/40euBmKnprNLJ0Kh0LCndnWQ== +jest-runtime@^27.5.0: + version "27.5.0" + resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-27.5.0.tgz#2497116742b9e7cc1e5381a9ded36602b8b0c78c" + integrity sha512-T7APxCPjN3p3ePcLuypbWtD0UZHyAdvIADZ9ABI/sFZ9t/Rf2xIUd6D7RzZIX+unewJRooVGWrgDIgeUuj0OUA== dependencies: - "@jest/environment" "^27.4.6" - "@jest/fake-timers" "^27.4.6" - "@jest/globals" "^27.4.6" - "@jest/source-map" "^27.4.0" - "@jest/test-result" "^27.4.6" - "@jest/transform" "^27.4.6" - "@jest/types" "^27.4.2" + "@jest/environment" "^27.5.0" + "@jest/fake-timers" "^27.5.0" + "@jest/globals" "^27.5.0" + "@jest/source-map" "^27.5.0" + "@jest/test-result" "^27.5.0" + "@jest/transform" "^27.5.0" + "@jest/types" "^27.5.0" chalk "^4.0.0" cjs-module-lexer "^1.0.0" collect-v8-coverage "^1.0.0" execa "^5.0.0" glob "^7.1.3" - graceful-fs "^4.2.4" - jest-haste-map "^27.4.6" - jest-message-util "^27.4.6" - jest-mock "^27.4.6" - jest-regex-util "^27.4.0" - jest-resolve "^27.4.6" - jest-snapshot "^27.4.6" - jest-util "^27.4.2" + graceful-fs "^4.2.9" + jest-haste-map "^27.5.0" + jest-message-util "^27.5.0" + jest-mock "^27.5.0" + jest-regex-util "^27.5.0" + jest-resolve "^27.5.0" + jest-snapshot "^27.5.0" + jest-util "^27.5.0" slash "^3.0.0" strip-bom "^4.0.0" @@ -4479,32 +4468,32 @@ jest-snapshot@^27.0.4: pretty-format "^27.4.2" semver "^7.3.2" -jest-snapshot@^27.4.6: - version "27.4.6" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-27.4.6.tgz#e2a3b4fff8bdce3033f2373b2e525d8b6871f616" - integrity sha512-fafUCDLQfzuNP9IRcEqaFAMzEe7u5BF7mude51wyWv7VRex60WznZIC7DfKTgSIlJa8aFzYmXclmN328aqSDmQ== +jest-snapshot@^27.5.0: + version "27.5.0" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-27.5.0.tgz#c5c4c084f5e10036f31e7647de1a6f28c07681fc" + integrity sha512-cAJj15uqWGkro0bfcv/EgusBnqNgCpRruFQZghsMYTq4Fm2lk/VhAf8DgRr8wvhR6Ue1hkeL8tn70Cw4t8x/5A== dependencies: "@babel/core" "^7.7.2" "@babel/generator" "^7.7.2" "@babel/plugin-syntax-typescript" "^7.7.2" "@babel/traverse" "^7.7.2" "@babel/types" "^7.0.0" - "@jest/transform" "^27.4.6" - "@jest/types" "^27.4.2" + "@jest/transform" "^27.5.0" + "@jest/types" "^27.5.0" "@types/babel__traverse" "^7.0.4" "@types/prettier" "^2.1.5" babel-preset-current-node-syntax "^1.0.0" chalk "^4.0.0" - expect "^27.4.6" - graceful-fs "^4.2.4" - jest-diff "^27.4.6" - jest-get-type "^27.4.0" - jest-haste-map "^27.4.6" - jest-matcher-utils "^27.4.6" - jest-message-util "^27.4.6" - jest-util "^27.4.2" + expect "^27.5.0" + graceful-fs "^4.2.9" + jest-diff "^27.5.0" + jest-get-type "^27.5.0" + jest-haste-map "^27.5.0" + jest-matcher-utils "^27.5.0" + jest-message-util "^27.5.0" + jest-util "^27.5.0" natural-compare "^1.4.0" - pretty-format "^27.4.6" + pretty-format "^27.5.0" semver "^7.3.2" jest-util@^27.4.2: @@ -4543,17 +4532,17 @@ jest-validate@^27.4.2: leven "^3.1.0" pretty-format "^27.4.2" -jest-validate@^27.4.6: - version "27.4.6" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-27.4.6.tgz#efc000acc4697b6cf4fa68c7f3f324c92d0c4f1f" - integrity sha512-872mEmCPVlBqbA5dToC57vA3yJaMRfIdpCoD3cyHWJOMx+SJwLNw0I71EkWs41oza/Er9Zno9XuTkRYCPDUJXQ== +jest-validate@^27.5.0: + version "27.5.0" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-27.5.0.tgz#b3df32372d2c832fa5a5e31ee2c37f94f79f7f1f" + integrity sha512-2XZzQWNrY9Ypo11mm4ZeVjvr++CQG/45XnmA2aWwx155lTwy1JGFI8LpQ2dBCSAeO21ooqg/FCIvv9WwfnPClA== dependencies: - "@jest/types" "^27.4.2" + "@jest/types" "^27.5.0" camelcase "^6.2.0" chalk "^4.0.0" - jest-get-type "^27.4.0" + jest-get-type "^27.5.0" leven "^3.1.0" - pretty-format "^27.4.6" + pretty-format "^27.5.0" jest-watch-typeahead@1.0.0: version "1.0.0" @@ -4581,17 +4570,17 @@ jest-watcher@^27.0.0: jest-util "^27.4.2" string-length "^4.0.1" -jest-watcher@^27.4.6: - version "27.4.6" - resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-27.4.6.tgz#673679ebeffdd3f94338c24f399b85efc932272d" - integrity sha512-yKQ20OMBiCDigbD0quhQKLkBO+ObGN79MO4nT7YaCuQ5SM+dkBNWE8cZX0FjU6czwMvWw6StWbe+Wv4jJPJ+fw== +jest-watcher@^27.5.0: + version "27.5.0" + resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-27.5.0.tgz#ca11c3b9115c92a8fd2fd9e2def296d45206f1ca" + integrity sha512-MhIeIvEd6dnnspE0OfYrqHOAfZZdyFqx/k8U2nvVFSkLYf22qAFfyNWPVQYcwqKVNobcOhJoT0kV/nRHGbqK8A== dependencies: - "@jest/test-result" "^27.4.6" - "@jest/types" "^27.4.2" + "@jest/test-result" "^27.5.0" + "@jest/types" "^27.5.0" "@types/node" "*" ansi-escapes "^4.2.1" chalk "^4.0.0" - jest-util "^27.4.2" + jest-util "^27.5.0" string-length "^4.0.1" jest-worker@^27.4.2: @@ -4603,15 +4592,6 @@ jest-worker@^27.4.2: merge-stream "^2.0.0" supports-color "^8.0.0" -jest-worker@^27.4.6: - version "27.4.6" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.4.6.tgz#5d2d93db419566cb680752ca0792780e71b3273e" - integrity sha512-gHWJF/6Xi5CTG5QCvROr6GcmpIqNYpDJyc8A1h/DyXqH1tD6SnRCM0d3U5msV31D2LB/U+E0M+W4oyvKV44oNw== - dependencies: - "@types/node" "*" - merge-stream "^2.0.0" - supports-color "^8.0.0" - jest-worker@^27.5.0: version "27.5.0" resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.5.0.tgz#99ee77e4d06168107c27328bd7f54e74c3a48d59" @@ -4621,14 +4601,14 @@ jest-worker@^27.5.0: merge-stream "^2.0.0" supports-color "^8.0.0" -jest@27.4.7: - version "27.4.7" - resolved "https://registry.yarnpkg.com/jest/-/jest-27.4.7.tgz#87f74b9026a1592f2da05b4d258e57505f28eca4" - integrity sha512-8heYvsx7nV/m8m24Vk26Y87g73Ba6ueUd0MWed/NXMhSZIm62U/llVbS0PJe1SHunbyXjJ/BqG1z9bFjGUIvTg== +jest@27.5.0: + version "27.5.0" + resolved "https://registry.yarnpkg.com/jest/-/jest-27.5.0.tgz#2c04ff88754e42e9fc5240840b91f9a9a8990875" + integrity sha512-sCMZhL9zy0fiFc4H0cKlXq7BcghMSxm5ZnEyaPWTteArU5ix6JjOKyOXSUBGLTQCmt5kuX9zEvQ9BSshHOPB3A== dependencies: - "@jest/core" "^27.4.7" + "@jest/core" "^27.5.0" import-local "^3.0.2" - jest-cli "^27.4.7" + jest-cli "^27.5.0" "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: version "4.0.0" @@ -5551,10 +5531,10 @@ pretty-format@^27.0.0, pretty-format@^27.0.2, pretty-format@^27.4.2: ansi-styles "^5.0.0" react-is "^17.0.1" -pretty-format@^27.4.6: - version "27.4.6" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-27.4.6.tgz#1b784d2f53c68db31797b2348fa39b49e31846b7" - integrity sha512-NblstegA1y/RJW2VyML+3LlpFjzx62cUrtBIKIWDXEDkjNeleA7Od7nrzcs/VLQvAeV4CgSYhrN39DRN88Qi/g== +pretty-format@^27.5.0: + version "27.5.0" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-27.5.0.tgz#71e1af7a4b587d259fa4668dcd3e94af077767cb" + integrity sha512-xEi6BRPZ+J1AIS4BAtFC/+rh5jXlXObGZjx5+OSpM95vR/PGla78bFVHMy5GdZjP9wk3AHAMHROXq/r69zXltw== dependencies: ansi-regex "^5.0.1" ansi-styles "^5.0.0" From 717e6d8cb7599189e8415d8595fb77411cf1d29c Mon Sep 17 00:00:00 2001 From: fisker Cheung Date: Mon, 7 Feb 2022 11:24:32 +0800 Subject: [PATCH 107/117] Follow up work for `flow-parser@0.171.0` (#12252) --- scripts/sync-flow-tests.js | 6 +- src/language-js/parse/flow.js | 13 +--- src/language-js/parse/postprocess/index.js | 23 ++++++ .../classes/__snapshots__/jsfmt.spec.js.snap | 21 +++++ tests/format/js/classes/asi.js | 5 ++ .../__snapshots__/jsfmt.spec.js.snap | 77 +++++++++++++++++++ .../js/export-star/export-star-as-default.js | 1 + .../js/export-star/export-star-as-string.js | 1 + .../js/export-star/export-star-as-string2.js | 1 + tests/format/js/export-star/jsfmt.spec.js | 11 ++- 10 files changed, 146 insertions(+), 13 deletions(-) create mode 100644 tests/format/js/classes/asi.js create mode 100644 tests/format/js/export-star/export-star-as-default.js create mode 100644 tests/format/js/export-star/export-star-as-string.js create mode 100644 tests/format/js/export-star/export-star-as-string2.js diff --git a/scripts/sync-flow-tests.js b/scripts/sync-flow-tests.js index 8fab488b9..57fc2b9f0 100644 --- a/scripts/sync-flow-tests.js +++ b/scripts/sync-flow-tests.js @@ -11,9 +11,11 @@ const SPEC_FILE_NAME = "jsfmt.spec.js"; const FLOW_TESTS_DIR = path.join(__dirname, "..", "tests", "flow-repo"); function tryParse(file, content) { + // Keep this sync with `/src/language-js/parse/flow.js` const ast = flowParser.parse(content, { - esproposal_class_instance_fields: true, - esproposal_class_static_fields: true, + comments: false, + enums: true, + esproposal_decorators: true, esproposal_export_star_as: true, }); diff --git a/src/language-js/parse/flow.js b/src/language-js/parse/flow.js index c43218b29..43ed092c0 100644 --- a/src/language-js/parse/flow.js +++ b/src/language-js/parse/flow.js @@ -5,7 +5,8 @@ const createParser = require("./utils/create-parser.js"); const replaceHashbang = require("./utils/replace-hashbang.js"); const postprocess = require("./postprocess/index.js"); -// https://github.com/facebook/flow/tree/master/packages/flow-parser#options +// https://github.com/facebook/flow/tree/main/packages/flow-parser#options +// Keep this sync with `/scripts/sync-flow-test.js` const parseOptions = { // `all_comments` (boolean, default `true`) - include a list of all comments from the whole program // all_comments: true, @@ -13,23 +14,15 @@ const parseOptions = { comments: false, // `enums` (boolean, default `false`) - enable parsing of Flow enums enums: true, - // `esproposal_class_instance_fields` (boolean, default `false`) - enable parsing of class instance fields - esproposal_class_instance_fields: true, - // `esproposal_class_static_fields` (boolean, default `false`) - enable parsing of class static fields - esproposal_class_static_fields: true, // `esproposal_decorators` (boolean, default `false`) - enable parsing of decorators esproposal_decorators: true, // `esproposal_export_star_as` (boolean, default `false`) - enable parsing of `export * as` syntax esproposal_export_star_as: true, - // `esproposal_nullish_coalescing` (boolean, default `false`) - enable parsing of nullish coalescing (`??`) - esproposal_nullish_coalescing: true, - // `esproposal_optional_chaining` (boolean, default `false`) - enable parsing of optional chaining (`?.`) - esproposal_optional_chaining: true, // `types` (boolean, default `true`) - enable parsing of Flow types // types: true, // `use_strict` (boolean, default `false`) - treat the file as strict, without needing a "use strict" directive // use_strict: false, - // Not documented + // `tokens` (boolean, default `false`) - include a list of all parsed tokens in a top-level `tokens` property tokens: true, }; diff --git a/src/language-js/parse/postprocess/index.js b/src/language-js/parse/postprocess/index.js index 17f25f8ce..cbd197dc8 100644 --- a/src/language-js/parse/postprocess/index.js +++ b/src/language-js/parse/postprocess/index.js @@ -115,6 +115,29 @@ function postprocess(ast, options) { case "TopicReference": options.__isUsingHackPipeline = true; break; + // TODO: Remove this when https://github.com/meriyah/meriyah/issues/200 get fixed + case "ExportAllDeclaration": { + const { exported } = node; + if ( + options.parser === "meriyah" && + exported && + exported.type === "Identifier" + ) { + const raw = options.originalText.slice( + locStart(exported), + locEnd(exported) + ); + if (raw.startsWith('"') || raw.startsWith("'")) { + node.exported = { + ...node.exported, + type: "Literal", + value: node.exported.name, + raw, + }; + } + } + break; + } } }); diff --git a/tests/format/js/classes/__snapshots__/jsfmt.spec.js.snap b/tests/format/js/classes/__snapshots__/jsfmt.spec.js.snap index a6c33b7dc..fbcbf12d7 100644 --- a/tests/format/js/classes/__snapshots__/jsfmt.spec.js.snap +++ b/tests/format/js/classes/__snapshots__/jsfmt.spec.js.snap @@ -1,5 +1,26 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP +exports[`asi.js format 1`] = ` +====================================options===================================== +parsers: ["babel", "flow", "typescript"] +printWidth: 80 + | printWidth +=====================================input====================================== +// https://github.com/facebook/flow/commit/78f657e8da014e16ff509ad34f8178b158c47af7 +class C { + foo + () {} +} + +=====================================output===================================== +// https://github.com/facebook/flow/commit/78f657e8da014e16ff509ad34f8178b158c47af7 +class C { + foo() {} +} + +================================================================================ +`; + exports[`assignment.js format 1`] = ` ====================================options===================================== parsers: ["babel", "flow", "typescript"] diff --git a/tests/format/js/classes/asi.js b/tests/format/js/classes/asi.js new file mode 100644 index 000000000..e75fcf1b1 --- /dev/null +++ b/tests/format/js/classes/asi.js @@ -0,0 +1,5 @@ +// https://github.com/facebook/flow/commit/78f657e8da014e16ff509ad34f8178b158c47af7 +class C { + foo + () {} +} diff --git a/tests/format/js/export-star/__snapshots__/jsfmt.spec.js.snap b/tests/format/js/export-star/__snapshots__/jsfmt.spec.js.snap index b255a5970..9562c0d9d 100644 --- a/tests/format/js/export-star/__snapshots__/jsfmt.spec.js.snap +++ b/tests/format/js/export-star/__snapshots__/jsfmt.spec.js.snap @@ -29,3 +29,80 @@ export * as ns from "mod"; ================================================================================ `; + +exports[`export-star-as-default.js [flow] format 1`] = ` +"Unexpected token \`default\` (1:13) +> 1 | export * as default from 'foo' + | ^^^^^^^ + 2 |" +`; + +exports[`export-star-as-default.js format 1`] = ` +====================================options===================================== +parsers: ["babel", "flow", "typescript"] +printWidth: 80 + | printWidth +=====================================input====================================== +export * as default from 'foo' + +=====================================output===================================== +export * as default from "foo"; + +================================================================================ +`; + +exports[`export-star-as-string.js [flow] format 1`] = ` +"Unexpected string, expected an identifier (1:13) +> 1 | export * as 'foo' from 'foo' + | ^^^^^ + 2 |" +`; + +exports[`export-star-as-string.js [typescript] format 1`] = ` +"Identifier expected. (1:13) +> 1 | export * as 'foo' from 'foo' + | ^ + 2 |" +`; + +exports[`export-star-as-string.js format 1`] = ` +====================================options===================================== +parsers: ["babel", "flow", "typescript"] +printWidth: 80 + | printWidth +=====================================input====================================== +export * as 'foo' from 'foo' + +=====================================output===================================== +export * as "foo" from "foo"; + +================================================================================ +`; + +exports[`export-star-as-string2.js [flow] format 1`] = ` +"Unexpected string, expected an identifier (1:13) +> 1 | export * as \\"foo\\" from 'foo' + | ^^^^^ + 2 |" +`; + +exports[`export-star-as-string2.js [typescript] format 1`] = ` +"Identifier expected. (1:13) +> 1 | export * as \\"foo\\" from 'foo' + | ^ + 2 |" +`; + +exports[`export-star-as-string2.js format 1`] = ` +====================================options===================================== +parsers: ["babel", "flow", "typescript"] +printWidth: 80 + | printWidth +=====================================input====================================== +export * as "foo" from 'foo' + +=====================================output===================================== +export * as "foo" from "foo"; + +================================================================================ +`; diff --git a/tests/format/js/export-star/export-star-as-default.js b/tests/format/js/export-star/export-star-as-default.js new file mode 100644 index 000000000..f2319d057 --- /dev/null +++ b/tests/format/js/export-star/export-star-as-default.js @@ -0,0 +1 @@ +export * as default from 'foo' diff --git a/tests/format/js/export-star/export-star-as-string.js b/tests/format/js/export-star/export-star-as-string.js new file mode 100644 index 000000000..92850a845 --- /dev/null +++ b/tests/format/js/export-star/export-star-as-string.js @@ -0,0 +1 @@ +export * as 'foo' from 'foo' diff --git a/tests/format/js/export-star/export-star-as-string2.js b/tests/format/js/export-star/export-star-as-string2.js new file mode 100644 index 000000000..d5e11caf3 --- /dev/null +++ b/tests/format/js/export-star/export-star-as-string2.js @@ -0,0 +1 @@ +export * as "foo" from 'foo' diff --git a/tests/format/js/export-star/jsfmt.spec.js b/tests/format/js/export-star/jsfmt.spec.js index eb85eda6b..64f60bb69 100644 --- a/tests/format/js/export-star/jsfmt.spec.js +++ b/tests/format/js/export-star/jsfmt.spec.js @@ -1 +1,10 @@ -run_spec(__dirname, ["babel", "flow", "typescript"]); +run_spec(__dirname, ["babel", "flow", "typescript"], { + errors: { + flow: [ + "export-star-as-default.js", + "export-star-as-string.js", + "export-star-as-string2.js", + ], + typescript: ["export-star-as-string.js", "export-star-as-string2.js"], + }, +}); From ac348c1dbb1c32235e58271f9734ac346508ed0c Mon Sep 17 00:00:00 2001 From: fisker Cheung Date: Mon, 7 Feb 2022 12:00:43 +0800 Subject: [PATCH 108/117] Build: Add `--compare-size` flag (#12187) --- scripts/build/README.md | 8 +++ scripts/build/build.mjs | 84 ++++++++++++++++++++--- scripts/build/bundler.mjs | 7 +- scripts/release/steps/generate-bundles.js | 2 +- 4 files changed, 88 insertions(+), 13 deletions(-) diff --git a/scripts/build/README.md b/scripts/build/README.md index dd1a24c7a..a5e6c9baa 100644 --- a/scripts/build/README.md +++ b/scripts/build/README.md @@ -36,6 +36,14 @@ To print the bundled file sizes: yarn build --print-size ``` +### `--compare-size` + +Print the file size changes compare to the last released version: + +```sh +yarn build --compare-size +``` + ### `--file` To build specific file(s): diff --git a/scripts/build/build.mjs b/scripts/build/build.mjs index f7a0ec426..65f147e11 100644 --- a/scripts/build/build.mjs +++ b/scripts/build/build.mjs @@ -6,6 +6,7 @@ import readline from "node:readline"; import chalk from "chalk"; import minimist from "minimist"; import prettyBytes from "pretty-bytes"; +import createEsmUtils from "esm-utils"; import { PROJECT_ROOT, DIST_DIR, @@ -17,6 +18,8 @@ import bundler from "./bundler.mjs"; import bundleConfigs from "./config.mjs"; import saveLicenses from "./save-licenses.mjs"; +const { require } = createEsmUtils(import.meta); + // Errors in promises should be fatal. const loggedErrors = new Set(); process.on("unhandledRejection", (err) => { @@ -48,7 +51,7 @@ function fitTerminal(input, suffix = "") { const columns = Math.min(process.stdout.columns || 40, 80); const WIDTH = columns - maxLength + 1; if (input.length < WIDTH) { - const repeatCount = WIDTH - input.length - 1 - suffix.length; + const repeatCount = Math.max(WIDTH - input.length - 1 - suffix.length, 0); input += chalk.dim(".").repeat(repeatCount) + suffix; } return input; @@ -63,10 +66,13 @@ async function createBundle(bundleConfig, options) { const { target } = bundleConfig; try { - for await (const { name, started, skipped, file } of bundler( - bundleConfig, - options - )) { + for await (const { + name, + started, + skipped, + relativePath, + absolutePath, + } of bundler(bundleConfig, options)) { const displayName = name.startsWith("esm/") ? ` ${name}` : name; if (started) { @@ -87,18 +93,54 @@ async function createBundle(bundleConfig, options) { // `prettier-chrome-extension` https://github.com/prettier/prettier-chrome-extension // details https://github.com/prettier/prettier/pull/8534 if (target === "universal") { - const content = await fs.readFile(file, "utf8"); + const content = await fs.readFile(absolutePath, "utf8"); if (content.includes("\ufffe")) { throw new Error("Bundled umd file should not have U+FFFE character."); } } + const sizeMessages = []; + if (options.printSize) { + const { size } = await fs.stat(absolutePath); + sizeMessages.push(prettyBytes(size)); + } + + if (options.compareSize) { + // TODO: Use `import.meta.resolve` when Node.js support + const stablePrettierDirectory = path.dirname( + require.resolve("prettier") + ); + const stableVersionFile = path.join( + stablePrettierDirectory, + relativePath + ); + let stableSize; + try { + ({ size: stableSize } = await fs.stat(stableVersionFile)); + } catch { + // No op + } + + if (stableSize) { + const { size } = await fs.stat(absolutePath); + const sizeDiff = size - stableSize; + const message = chalk[sizeDiff > 0 ? "yellow" : "green"]( + prettyBytes(sizeDiff) + ); + + sizeMessages.push(`${message}`); + } else { + sizeMessages.push(chalk.blue("[NEW FILE]")); + } + } + + if (sizeMessages.length > 0) { // Clear previous line clear(); - - const size = prettyBytes((await fs.stat(file)).size); - process.stdout.write(fitTerminal(displayName, `${size} `)); + process.stdout.write( + fitTerminal(displayName, `${sizeMessages.join(", ")} `) + ); } console.log(status.DONE); @@ -177,6 +219,20 @@ async function run(params) { } } + if (params.compareSize) { + if (params.minify === false) { + throw new Error( + "'--compare-size' can not use together with '--no-minify' flag" + ); + } + + if (params.saveAs) { + throw new Error( + "'--compare-size' can not use together with '--save-as' flag" + ); + } + } + const shouldPreparePackage = !params.playground && !params.files && params.minify === null; const shouldSaveBundledPackagesLicenses = shouldPreparePackage; @@ -207,12 +263,20 @@ async function run(params) { run( minimist(process.argv.slice(2), { - boolean: ["playground", "print-size", "minify", "babel", "clean"], + boolean: [ + "playground", + "print-size", + "compare-size", + "minify", + "babel", + "clean", + ], string: ["file", "save-as", "report"], default: { clean: false, playground: false, printSize: false, + compareSize: false, minify: null, babel: true, }, diff --git a/scripts/build/bundler.mjs b/scripts/build/bundler.mjs index 78eba011a..180eccea9 100644 --- a/scripts/build/bundler.mjs +++ b/scripts/build/bundler.mjs @@ -255,11 +255,14 @@ async function* createBundle(bundle, buildOptions) { continue; } - esbuildOptions.outfile = path.join(DIST_DIR, buildOptions.saveAs || file); + const relativePath = buildOptions.saveAs || file; + const absolutePath = path.join(DIST_DIR, relativePath); + + esbuildOptions.outfile = absolutePath; yield { name: file, started: true }; await runBuild(bundle, esbuildOptions, buildOptions); - yield { name: file, file: esbuildOptions.outfile }; + yield { name: file, relativePath, absolutePath }; } } diff --git a/scripts/release/steps/generate-bundles.js b/scripts/release/steps/generate-bundles.js index 5dc7c555c..1a36232aa 100644 --- a/scripts/release/steps/generate-bundles.js +++ b/scripts/release/steps/generate-bundles.js @@ -4,7 +4,7 @@ import { runYarn, logPromise, readJson } from "../utils.js"; export default async function generateBundles({ version }) { await logPromise( "Generating bundles", - runYarn(["build", "--clean", "--print-size"]) + runYarn(["build", "--clean", "--print-size", "--compare-size"]) ); const builtPkg = await readJson("dist/package.json"); From 98f560839cc34b60cb0db192603c7629d0a23b52 Mon Sep 17 00:00:00 2001 From: Jed Fox Date: Sun, 6 Feb 2022 23:22:44 -0500 Subject: [PATCH 109/117] Include vendors/ when installing from GitHub (#12250) --- jest.config.js | 1 - package.json | 11 +--- scripts/vendors/bundle-vendors.mjs | 32 ++++------ scripts/vendors/esbuild-plugin-ts-nocheck.mjs | 2 +- src/common/load-plugins.js | 2 +- src/config/resolve-config-editorconfig.js | 2 +- src/config/resolve-config.js | 2 +- src/utils/get-string-width.js | 2 +- vendors/mem.d.ts | 3 + vendors/mem.js | 1 + vendors/string-width.d.ts | 3 + vendors/string-width.js | 1 + vendors/types.d.ts | 3 - yarn.lock | 58 ++++--------------- 14 files changed, 37 insertions(+), 86 deletions(-) create mode 100644 vendors/mem.d.ts create mode 100644 vendors/string-width.d.ts delete mode 100644 vendors/types.d.ts diff --git a/jest.config.js b/jest.config.js index 100c90f37..cef136fd3 100644 --- a/jest.config.js +++ b/jest.config.js @@ -70,7 +70,6 @@ module.exports = { moduleNameMapper: { "prettier-local": "/tests/config/require-prettier.js", "prettier-standalone": "/tests/config/require-standalone.js", - "#(.*)": "/vendors/$1", }, modulePathIgnorePatterns: [ "/dist", diff --git a/package.json b/package.json index 2d8bf5420..0105075d4 100644 --- a/package.json +++ b/package.json @@ -18,7 +18,8 @@ "index.js", "standalone.js", "src", - "bin" + "bin", + "vendors" ], "dependencies": { "@angular/compiler": "12.2.16", @@ -88,10 +89,6 @@ "wcwidth": "1.0.1", "yaml-unist-parser": "1.3.1" }, - "imports": { - "#string-width": "./vendors/string-width.js", - "#mem": "./vendors/mem.js" - }, "devDependencies": { "@babel/core": "7.17.0", "@babel/preset-env": "7.16.11", @@ -135,13 +132,11 @@ "path-browserify": "1.0.1", "prettier": "2.5.1", "pretty-bytes": "5.6.0", - "read-pkg": "7.0.0", "read-pkg-up": "9.0.0", "rimraf": "3.0.2", "rollup-plugin-license": "2.6.1", "snapshot-diff": "0.9.0", - "tempy": "1.0.1", - "write-pkg": "5.0.0" + "tempy": "1.0.1" }, "scripts": { "prepublishOnly": "echo \"Error: must publish from dist/\" && exit 1", diff --git a/scripts/vendors/bundle-vendors.mjs b/scripts/vendors/bundle-vendors.mjs index 1036803d2..80392e3b6 100644 --- a/scripts/vendors/bundle-vendors.mjs +++ b/scripts/vendors/bundle-vendors.mjs @@ -4,8 +4,6 @@ import fs from "node:fs/promises"; import path from "node:path"; import createEsmUtils from "esm-utils"; import esbuild from "esbuild"; -import { readPackage } from "read-pkg"; -import { writePackage } from "write-pkg"; import { readPackageUp } from "read-pkg-up"; import vendors from "./vendors.mjs"; import { writeVendorVersions } from "./vendor-versions.mjs"; @@ -63,37 +61,27 @@ async function bundle(vendor) { outfile, }; await esbuild.build(esbuildOption); -} -async function updatePackage(imports) { - const pkg = await readPackage({ normalize: false }); - pkg.imports = imports; - await writePackage(pkg, { normalize: false }); -} - -async function generateDts(vendors) { - let dtsContent = "// This file is generate automatically.\n"; - for (const vendor of vendors) { - dtsContent += `declare module "#${vendor}";\n`; - } - await fs.writeFile(path.join(vendorsDir, "types.d.ts"), dtsContent, "utf-8"); + await fs.writeFile( + path.join(vendorsDir, `${vendor}.d.ts`), + [ + "// This file is generated automatically.", + `export {default} from "${vendor}";`, + `export * from "${vendor}";`, + "", + ].join("\n"), + "utf-8" + ); } async function main() { await cleanExistsBundledJS(); - const imports = {}; for (const vendor of vendors) { await bundle(vendor); - imports[`#${vendor}`] = - "./" + path.relative(rootDir, getVendorFilePath(vendor)); console.log(`Bundled: ${vendor}`); } - await updatePackage(imports); - console.log("Updated: package.json"); await lockVersions(vendors); console.log("Locked: vendor-versions.json"); - await generateDts(vendors); - console.log("Generated: vendors/types.d.ts"); } main(); diff --git a/scripts/vendors/esbuild-plugin-ts-nocheck.mjs b/scripts/vendors/esbuild-plugin-ts-nocheck.mjs index 44c0452f2..17c0d0b22 100644 --- a/scripts/vendors/esbuild-plugin-ts-nocheck.mjs +++ b/scripts/vendors/esbuild-plugin-ts-nocheck.mjs @@ -1,6 +1,6 @@ import fs from "node:fs"; -const tsNoCheck = "// @ts-nocheck\n"; +const tsNoCheck = "// @ts-nocheck\n// This file is generated automatically\n"; export default function esbuildPluginTsNocheck() { return { diff --git a/src/common/load-plugins.js b/src/common/load-plugins.js index 5908515a9..9985a6f38 100644 --- a/src/common/load-plugins.js +++ b/src/common/load-plugins.js @@ -6,9 +6,9 @@ const uniqBy = require("lodash/uniqBy"); const partition = require("lodash/partition"); const fastGlob = require("fast-glob"); const internalPlugins = require("../languages.js"); +const { default: mem, memClear } = require("../../vendors/mem.js"); const thirdParty = require("./third-party.js"); const resolve = require("./resolve.js"); -const { default: mem, memClear } = require("#mem"); const memoizedLoad = mem(load, { cacheKey: JSON.stringify }); const memoizedSearch = mem(findPluginsInNodeModules); diff --git a/src/config/resolve-config-editorconfig.js b/src/config/resolve-config-editorconfig.js index 179f2407b..e7db00d1c 100644 --- a/src/config/resolve-config-editorconfig.js +++ b/src/config/resolve-config-editorconfig.js @@ -4,8 +4,8 @@ const path = require("path"); const editorconfig = require("editorconfig"); const editorConfigToPrettier = require("editorconfig-to-prettier"); +const { default: mem, memClear } = require("../../vendors/mem.js"); const findProjectRoot = require("./find-project-root.js"); -const { default: mem, memClear } = require("#mem"); const jsonStringifyMem = (fn) => mem(fn, { cacheKey: JSON.stringify }); diff --git a/src/config/resolve-config.js b/src/config/resolve-config.js index a163684b5..ad13eb263 100644 --- a/src/config/resolve-config.js +++ b/src/config/resolve-config.js @@ -7,8 +7,8 @@ const thirdParty = require("../common/third-party.js"); const loadToml = require("../utils/load-toml.js"); const loadJson5 = require("../utils/load-json5.js"); const resolve = require("../common/resolve.js"); +const { default: mem, memClear } = require("../../vendors/mem.js"); const resolveEditorConfig = require("./resolve-config-editorconfig.js"); -const { default: mem, memClear } = require("#mem"); /** * @typedef {import("cosmiconfig/dist/Explorer").Explorer} Explorer diff --git a/src/utils/get-string-width.js b/src/utils/get-string-width.js index 716205ac1..d96612d3d 100644 --- a/src/utils/get-string-width.js +++ b/src/utils/get-string-width.js @@ -1,6 +1,6 @@ "use strict"; -const stringWidth = require("#string-width").default; +const stringWidth = require("../../vendors/string-width.js").default; const notAsciiRegex = /[^\x20-\x7F]/; diff --git a/vendors/mem.d.ts b/vendors/mem.d.ts new file mode 100644 index 000000000..b45991ef8 --- /dev/null +++ b/vendors/mem.d.ts @@ -0,0 +1,3 @@ +// This file is generated automatically. +export {default} from "mem"; +export * from "mem"; diff --git a/vendors/mem.js b/vendors/mem.js index dae72c450..9d082affe 100644 --- a/vendors/mem.js +++ b/vendors/mem.js @@ -1,4 +1,5 @@ // @ts-nocheck +// This file is generated automatically var __create = Object.create; var __defProp = Object.defineProperty; var __defProps = Object.defineProperties; diff --git a/vendors/string-width.d.ts b/vendors/string-width.d.ts new file mode 100644 index 000000000..55e7c60a0 --- /dev/null +++ b/vendors/string-width.d.ts @@ -0,0 +1,3 @@ +// This file is generated automatically. +export {default} from "string-width"; +export * from "string-width"; diff --git a/vendors/string-width.js b/vendors/string-width.js index 54b9b0cbf..914635988 100644 --- a/vendors/string-width.js +++ b/vendors/string-width.js @@ -1,4 +1,5 @@ // @ts-nocheck +// This file is generated automatically var __create = Object.create; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; diff --git a/vendors/types.d.ts b/vendors/types.d.ts deleted file mode 100644 index 9cd97b672..000000000 --- a/vendors/types.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -// This file is generate automatically. -declare module "#string-width"; -declare module "#mem"; diff --git a/yarn.lock b/yarn.lock index 5cea37269..a4634fdb2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2653,11 +2653,6 @@ delayed-stream@~1.0.0: resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= -detect-indent@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-7.0.0.tgz#cab58e6ab1129c669e2101181a6c677917d43577" - integrity sha512-/6kJlmVv6RDFPqaHC/ZDcU8bblYcoph2dUQ3kB47QqhkUEqXe3VZPELK9BaEMrC73qu+wn0AQ7iSteceN+yuMw== - detect-newline@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" @@ -3898,11 +3893,6 @@ is-plain-obj@^2.0.0: resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== -is-plain-obj@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-4.0.0.tgz#06c0999fd7574edf5a906ba5644ad0feb3a84d22" - integrity sha512-NXRbBtUdBioI73y/HmOhogw/U5msYPC9DAtGkJXeFcFWSFZw0mCUsPxk/snTuJHzNKA8kLBK4rH97RMB1BfCXw== - is-potential-custom-element-name@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz#171ed6f19e3ac554394edf78caa05784a45bebb5" @@ -5605,16 +5595,6 @@ read-pkg-up@^7.0.1: read-pkg "^5.2.0" type-fest "^0.8.1" -read-pkg@7.0.0, read-pkg@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-7.0.0.tgz#7009094a9cd58c7efc325d31f1f6cfce1928fa00" - integrity sha512-oG2cKegOo2gjy/hrAM+KFHD9IqKdQvWcpWBBxuHbaucziM9PY45EuF6YbenLF7tL9ekXgB6Lfruo9hwdHQZUrA== - dependencies: - "@types/normalize-package-data" "^2.4.1" - normalize-package-data "^3.0.2" - parse-json "^5.2.0" - type-fest "^2.0.0" - read-pkg@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389" @@ -5634,6 +5614,16 @@ read-pkg@^5.2.0: parse-json "^5.0.0" type-fest "^0.6.0" +read-pkg@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-7.0.0.tgz#7009094a9cd58c7efc325d31f1f6cfce1928fa00" + integrity sha512-oG2cKegOo2gjy/hrAM+KFHD9IqKdQvWcpWBBxuHbaucziM9PY45EuF6YbenLF7tL9ekXgB6Lfruo9hwdHQZUrA== + dependencies: + "@types/normalize-package-data" "^2.4.1" + normalize-package-data "^3.0.2" + parse-json "^5.2.0" + type-fest "^2.0.0" + refa@^0.9.0: version "0.9.1" resolved "https://registry.yarnpkg.com/refa/-/refa-0.9.1.tgz#12731fce378d235731b1f73182b20083c8a75ca8" @@ -6021,13 +6011,6 @@ snapshot-diff@0.9.0: jest-snapshot "^27.0.4" pretty-format "^27.0.2" -sort-keys@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-5.0.0.tgz#5d775f8ae93ecc29bc7312bbf3acac4e36e3c446" - integrity sha512-Pdz01AvCAottHTPQGzndktFNdbRA75BgOfeT1hH+AMnJFv8lynkPi42rfeEhpx1saTEI3YNMWxfqu0sFD1G8pw== - dependencies: - is-plain-obj "^4.0.0" - source-map-support@^0.5.6: version "0.5.21" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" @@ -6788,7 +6771,7 @@ wrappy@1: resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= -write-file-atomic@^3.0.0, write-file-atomic@^3.0.3: +write-file-atomic@^3.0.0: version "3.0.3" resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== @@ -6798,25 +6781,6 @@ write-file-atomic@^3.0.0, write-file-atomic@^3.0.3: signal-exit "^3.0.2" typedarray-to-buffer "^3.1.5" -write-json-file@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/write-json-file/-/write-json-file-5.0.0.tgz#11c329a8ea9e8e23fb92a87cc27412a15f87708b" - integrity sha512-ddSsCLa4aQ3kI21BthINo4q905/wfhvQ3JL3774AcRjBaiQmfn5v4rw77jQ7T6CmAit9VOQO+FsLyPkwxoB1fw== - dependencies: - detect-indent "^7.0.0" - is-plain-obj "^4.0.0" - sort-keys "^5.0.0" - write-file-atomic "^3.0.3" - -write-pkg@5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/write-pkg/-/write-pkg-5.0.0.tgz#b9fab4e78ee0e71b980867f2baff8b8564a77d26" - integrity sha512-ihflUwZ8WvVcXD2uhk4JAAe5+x9FT+0n4Z5b/OMZXBG8/hXCvSQXTYDf9raox0aqJGWRBipIE4rWSi6aCaiebw== - dependencies: - sort-keys "^5.0.0" - type-fest "^2.0.0" - write-json-file "^5.0.0" - ws@^7.4.6: version "7.5.6" resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.6.tgz#e59fc509fb15ddfb65487ee9765c5a51dec5fe7b" From 0b7eee3536ab9f2e7fabd73fab489eab10c0b18c Mon Sep 17 00:00:00 2001 From: fisker Cheung Date: Mon, 7 Feb 2022 12:31:36 +0800 Subject: [PATCH 110/117] Regenerate `yarn.lock` (#12254) --- yarn.lock | 549 ++++++++++++++++-------------------------------------- 1 file changed, 157 insertions(+), 392 deletions(-) diff --git a/yarn.lock b/yarn.lock index a4634fdb2..18227c0a2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3,12 +3,11 @@ "@ampproject/remapping@^2.0.0": - version "2.0.3" - resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.0.3.tgz#899999b5b7a5ce570d6d9bafdcc1e62cea466cf3" - integrity sha512-DmIAguV77yFP0MGVFWknCMgSLAtsLR3VlRTteR6xgMpIfYtwaZuMvjGv5YlpiqN7S/5q87DHyuIx8oa15kiyag== + version "2.0.4" + resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.0.4.tgz#ab4b6d858526ebee0d6c3aa5c3fb56a941c0d7be" + integrity sha512-zU3pj3pf//YhaoozRTYKaL20KopXrzuZFc/8Ylc49AuV8grYKH23TTq9JJoR70F8zQbil58KjSchZTWeX+jrIQ== dependencies: - "@jridgewell/sourcemap-codec" "^1.4.9" - "@jridgewell/trace-mapping" "^0.2.7" + "@jridgewell/trace-mapping" "^0.3.0" "@angular/compiler@12.2.16": version "12.2.16" @@ -32,9 +31,9 @@ "@babel/highlight" "^7.16.7" "@babel/compat-data@^7.13.11", "@babel/compat-data@^7.16.4", "@babel/compat-data@^7.16.8": - version "7.16.8" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.16.8.tgz#31560f9f29fdf1868de8cb55049538a1b9732a60" - integrity sha512-m7OkX0IdKLKPpBlJtF561YJal5y/jyI5fNfWbPxh2D/nbzzGI4qRyrD8xO2jB24u7l+5I2a43scCG2IrfjC50Q== + version "7.17.0" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.17.0.tgz#86850b8597ea6962089770952075dcaabb8dba34" + integrity sha512-392byTlpGWXMv4FbyWw3sAZ/FrW/DrwqLGXpy0mbyNe9Taqv1mg9yON5/o0cnr8XYCkFTZbC1eV+c+LAROgrng== "@babel/core@7.17.0", "@babel/core@^7.1.0", "@babel/core@^7.12.3", "@babel/core@^7.7.2", "@babel/core@^7.8.0": version "7.17.0" @@ -91,23 +90,10 @@ browserslist "^4.17.5" semver "^6.3.0" -"@babel/helper-create-class-features-plugin@^7.16.10": - version "7.16.10" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.16.10.tgz#8a6959b9cc818a88815ba3c5474619e9c0f2c21c" - integrity sha512-wDeej0pu3WN/ffTxMNCPW5UCiOav8IcLRxSIyp/9+IF2xJUM9h/OYjg0IJLHaL6F8oU8kqMz9nc1vryXhMsgXg== - dependencies: - "@babel/helper-annotate-as-pure" "^7.16.7" - "@babel/helper-environment-visitor" "^7.16.7" - "@babel/helper-function-name" "^7.16.7" - "@babel/helper-member-expression-to-functions" "^7.16.7" - "@babel/helper-optimise-call-expression" "^7.16.7" - "@babel/helper-replace-supers" "^7.16.7" - "@babel/helper-split-export-declaration" "^7.16.7" - -"@babel/helper-create-class-features-plugin@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.16.7.tgz#9c5b34b53a01f2097daf10678d65135c1b9f84ba" - integrity sha512-kIFozAvVfK05DM4EVQYKK+zteWvY85BFdGBRQBytRyY3y+6PX0DkDOn/CZ3lEuczCfrCxEzwt0YtP/87YPTWSw== +"@babel/helper-create-class-features-plugin@^7.16.10", "@babel/helper-create-class-features-plugin@^7.16.7": + version "7.17.1" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.17.1.tgz#9699f14a88833a7e055ce57dcd3ffdcd25186b21" + integrity sha512-JBdSr/LtyYIno/pNnJ75lBcqc3Z1XXujzPanHqjvvrhOA+DTceTFuJi8XjmWTZh4r3fsdfqaCMN0iZemdkxZHQ== dependencies: "@babel/helper-annotate-as-pure" "^7.16.7" "@babel/helper-environment-visitor" "^7.16.7" @@ -118,26 +104,12 @@ "@babel/helper-split-export-declaration" "^7.16.7" "@babel/helper-create-regexp-features-plugin@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.16.7.tgz#0cb82b9bac358eb73bfbd73985a776bfa6b14d48" - integrity sha512-fk5A6ymfp+O5+p2yCkXAu5Kyj6v0xh0RBeNcAkYUMDvvAAoxvSKXn+Jb37t/yWFiQVDFK1ELpUTD8/aLhCPu+g== + version "7.17.0" + resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.17.0.tgz#1dcc7d40ba0c6b6b25618997c5dbfd310f186fe1" + integrity sha512-awO2So99wG6KnlE+TPs6rn83gCz5WlEePJDTnLEqbchMVrBeAujURVphRdigsk094VhvZehFoNOihSlcBjwsXA== dependencies: "@babel/helper-annotate-as-pure" "^7.16.7" - regexpu-core "^4.7.1" - -"@babel/helper-define-polyfill-provider@^0.3.0": - version "0.3.0" - resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.0.tgz#c5b10cf4b324ff840140bb07e05b8564af2ae971" - integrity sha512-7hfT8lUljl/tM3h+izTX/pO3W3frz2ok6Pk+gzys8iJqDfZrZy2pXjRTZAvG2YmfHun1X4q8/UZRLatMfqc5Tg== - dependencies: - "@babel/helper-compilation-targets" "^7.13.0" - "@babel/helper-module-imports" "^7.12.13" - "@babel/helper-plugin-utils" "^7.13.0" - "@babel/traverse" "^7.13.0" - debug "^4.1.1" - lodash.debounce "^4.0.8" - resolve "^1.14.2" - semver "^6.1.2" + regexpu-core "^5.0.1" "@babel/helper-define-polyfill-provider@^0.3.1": version "0.3.1" @@ -301,9 +273,9 @@ "@babel/types" "^7.17.0" "@babel/highlight@^7.0.0", "@babel/highlight@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.16.7.tgz#81a01d7d675046f0d96f82450d9d9578bdfd6b0b" - integrity sha512-aKpPMfLvGO3Q97V0qhw/V2SWNWlwfJknuwAunU7wZLSfrM4xTBvg7E5opUVi1kJTBKihE38CPg4nBiqX83PWYw== + version "7.16.10" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.16.10.tgz#744f2eb81579d6eea753c227b0f570ad785aba88" + integrity sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw== dependencies: "@babel/helper-validator-identifier" "^7.16.7" chalk "^2.0.0" @@ -314,7 +286,7 @@ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.16.12.tgz#9474794f9a650cf5e2f892444227f98e28cdf8b6" integrity sha512-VfaV15po8RiZssrkPweyvbGVSe4x2y+aciFCgn0n0/SJMR22cwofRV1mtnJQYcSB1wUTaA/X1LnA3es66MCO5A== -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.7", "@babel/parser@^7.17.0", "@babel/parser@^7.7.2": +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.7", "@babel/parser@^7.17.0": version "7.17.0" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.17.0.tgz#f0ac33eddbe214e4105363bb17c3341c5ffcc43c" integrity sha512-VKXSCQx5D8S04ej+Dqsr1CzYvvWgf20jIw2D+YhQCrIlr2UZGaDds23Y0xg75/skOxpLCRpUZvk/1EAVkGoDOw== @@ -576,11 +548,11 @@ "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-typescript@^7.7.2": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.16.0.tgz#2feeb13d9334cc582ea9111d3506f773174179bb" - integrity sha512-Xv6mEXqVdaqCBfJFyeab0fH2DnUoMsDmhamxsSi4j8nLd4Vtw213WMJr55xxqipC/YVWyPY3K0blJncPYji+dQ== + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.16.7.tgz#39c9b55ee153151990fb038651d58d3fd03f98f8" + integrity sha512-YhUIJHHGkqPgEcMYkPCKTyGUdoGKWtopIycQyjJH8OjvRgOYsXsaKehLVPScKJWAULPxMa4N1vCe6szREFlZ7A== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-transform-arrow-functions@^7.16.7": version "7.16.7" @@ -924,9 +896,9 @@ esutils "^2.0.2" "@babel/runtime@^7.8.4": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.16.7.tgz#03ff99f64106588c9c403c6ecb8c3bafbbdff1fa" - integrity sha512-9E9FJowqAsytyOY6LG+1KuueckRL+aQW+mKvXRXnuFGyRAyepJPmEo9vgMfXUA6O9u3IeEdv9MAkppFcaQwogQ== + version "7.17.0" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.17.0.tgz#b8d142fc0f7664fb3d9b5833fd40dcbab89276c0" + integrity sha512-etcO/ohMNaNA2UBdaXBBSX/3aEzFMRrVfaPv8Ptc0k+cWpWW0QFiGZ2XnVqQZI1Cf734LbPGmqBKWESfW4x/dQ== dependencies: regenerator-runtime "^0.13.4" @@ -1298,9 +1270,9 @@ integrity sha512-EP9uEDZv/L5Qh9IWuMUGJRfwhXJ4h1dqKTT4/3+tY0eu7sPis7xh23j61SYUnNF4vqCQvvUXpDo9Bh/+q1zASA== "@humanwhocodes/config-array@^0.9.2": - version "0.9.2" - resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.9.2.tgz#68be55c737023009dfc5fe245d51181bb6476914" - integrity sha512-UXOuFCGcwciWckOpmfKDq/GyhlTf9pN/BzG//x8p8zTOFEcGuA68ANXheFS0AGvy3qgZqLBUkMs7hqzqCKOVwA== + version "0.9.3" + resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.9.3.tgz#f2564c744b387775b436418491f15fce6601f63e" + integrity sha512-3xSMlXHh03hCcCmFc0rbKp3Ivt2PFEJnQUJDDMTJQ2wkECZWdq4GePs2ctc5H8zV+cHPaq8k2vU8mrQjA6iHdQ== dependencies: "@humanwhocodes/object-schema" "^1.2.1" debug "^4.1.1" @@ -1332,18 +1304,6 @@ resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98" integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== -"@jest/console@^27.4.2": - version "27.4.2" - resolved "https://registry.yarnpkg.com/@jest/console/-/console-27.4.2.tgz#7a95612d38c007ddb528ee446fe5e5e785e685ce" - integrity sha512-xknHThRsPB/To1FUbi6pCe43y58qFC03zfb6R7fDb/FfC7k2R3i1l+izRBJf8DI46KhYGRaF14Eo9A3qbBoixg== - dependencies: - "@jest/types" "^27.4.2" - "@types/node" "*" - chalk "^4.0.0" - jest-message-util "^27.4.2" - jest-util "^27.4.2" - slash "^3.0.0" - "@jest/console@^27.5.0": version "27.5.0" resolved "https://registry.yarnpkg.com/@jest/console/-/console-27.5.0.tgz#82289a589ad5803555b50b64178128b7a8e45282" @@ -1461,16 +1421,6 @@ graceful-fs "^4.2.9" source-map "^0.6.0" -"@jest/test-result@^27.4.2": - version "27.4.2" - resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-27.4.2.tgz#05fd4a5466ec502f3eae0b39dff2b93ea4d5d9ec" - integrity sha512-kr+bCrra9jfTgxHXHa2UwoQjxvQk3Am6QbpAiJ5x/50LW8llOYrxILkqY0lZRW/hu8FXesnudbql263+EW9iNA== - dependencies: - "@jest/console" "^27.4.2" - "@jest/types" "^27.4.2" - "@types/istanbul-lib-coverage" "^2.0.0" - collect-v8-coverage "^1.0.0" - "@jest/test-result@^27.5.0": version "27.5.0" resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-27.5.0.tgz#29e0ace33570c9dcbd47c67e954f77a7d7fff98e" @@ -1491,7 +1441,7 @@ jest-haste-map "^27.5.0" jest-runtime "^27.5.0" -"@jest/transform@^27.4.2", "@jest/transform@^27.5.0": +"@jest/transform@^27.5.0": version "27.5.0" resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-27.5.0.tgz#a4941e69ac51e8aa9a255ff4855b564c228c400b" integrity sha512-yXUy/iO3TH1itxJ9BF7LLjuXt8TtgtjAl0PBQbUaCvRa+L0yYBob6uayW9dFRX/CDQweouLhvmXh44zRiaB+yA== @@ -1512,7 +1462,7 @@ source-map "^0.6.1" write-file-atomic "^3.0.0" -"@jest/types@^27.4.2", "@jest/types@^27.5.0": +"@jest/types@^27.5.0": version "27.5.0" resolved "https://registry.yarnpkg.com/@jest/types/-/types-27.5.0.tgz#6ad04a5c5355fd9f46e5cf761850e0edb3c209dd" integrity sha512-oDHEp7gwSgA82RZ6pzUL3ugM2njP/lVB1MsxRZNOBk+CoNvh9SpH1lQixPFc/kDlV50v59csiW4HLixWmhmgPQ== @@ -1528,18 +1478,18 @@ resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.0.4.tgz#b876e3feefb9c8d3aa84014da28b5e52a0640d72" integrity sha512-cz8HFjOFfUBtvN+NXYSFMHYRdxZMaEl0XypVrhzxBgadKIXhIkRd8aMeHhmF56Sl7SuS8OnUpQ73/k9LE4VnLg== -"@jridgewell/sourcemap-codec@^1.4.9": +"@jridgewell/sourcemap-codec@^1.4.10": version "1.4.10" resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.10.tgz#baf57b4e2a690d4f38560171f91783656b7f8186" integrity sha512-Ht8wIW5v165atIX1p+JvKR5ONzUyF4Ac8DZIQ5kZs9zrb6M8SJNXpx1zn04rn65VjBMygRoMXcyYwNK0fT7bEg== -"@jridgewell/trace-mapping@^0.2.7": - version "0.2.7" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.2.7.tgz#d45be64544788e32c7ea5c8faa16a7000d840b5b" - integrity sha512-ZKfRhw6eK2vvdWqpU7DQq49+BZESqh5rmkYpNhuzkz01tapssl2sNNy6uMUIgrTtUWQDijomWJzJRCoevVrfgw== +"@jridgewell/trace-mapping@^0.3.0": + version "0.3.2" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.2.tgz#e051581782a770c30ba219634f2019241c5d3cde" + integrity sha512-9KzzH4kMjA2XmBRHfqG2/Vtl7s92l6uNDd0wW7frDE+EUvQFGqNXhWp0UGJjSkt3v2AYjzOZn1QO9XaTNJIt1Q== dependencies: "@jridgewell/resolve-uri" "^3.0.3" - "@jridgewell/sourcemap-codec" "^1.4.9" + "@jridgewell/sourcemap-codec" "^1.4.10" "@mdn/browser-compat-data@^3.3.14": version "3.3.14" @@ -1597,9 +1547,9 @@ integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw== "@types/babel__core@^7.0.0", "@types/babel__core@^7.1.14": - version "7.1.16" - resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.16.tgz#bc12c74b7d65e82d29876b5d0baf5c625ac58702" - integrity sha512-EAEHtisTMM+KaKwfWdC3oyllIqswlznXCIVCt7/oRNrh+DhgT4UEBNC/jlADNjvw7UnfbcdkGQcPVZ1xYiLcrQ== + version "7.1.18" + resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.18.tgz#1a29abcc411a9c05e2094c98f9a1b7da6cdf49f8" + integrity sha512-S7unDjm/C7z2A2R9NzfKCK1I+BAALDtxEmsJBwlB3EzNfb929ykjL++1CK9LO++EIp2fQrC8O+BwjKvz6UeDyQ== dependencies: "@babel/parser" "^7.1.0" "@babel/types" "^7.0.0" @@ -1608,9 +1558,9 @@ "@types/babel__traverse" "*" "@types/babel__generator@*": - version "7.6.3" - resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.3.tgz#f456b4b2ce79137f768aa130d2423d2f0ccfaba5" - integrity sha512-/GWCmzJWqV7diQW54smJZzWbSFf4QYtF71WCKhcx6Ru/tFyQIY2eiiITcCAeuPbNSvT9YCGkVMqqvSk2Z0mXiA== + version "7.6.4" + resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.4.tgz#1f20ce4c5b1990b37900b63f050182d28c2439b7" + integrity sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg== dependencies: "@babel/types" "^7.0.0" @@ -1642,9 +1592,9 @@ "@types/node" "*" "@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": - version "2.0.3" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz#4ba8ddb720221f432e443bd5f9117fd22cfd4762" - integrity sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw== + version "2.0.4" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz#8467d4b3c087805d63580480890791277ce35c44" + integrity sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g== "@types/istanbul-lib-report@*": version "3.0.0" @@ -1679,9 +1629,9 @@ integrity sha1-7ihweulOEdK4J7y+UnC86n8+ce4= "@types/node@*": - version "16.11.11" - resolved "https://registry.yarnpkg.com/@types/node/-/node-16.11.11.tgz#6ea7342dfb379ea1210835bada87b3c512120234" - integrity sha512-KB0sixD67CeecHC33MYn+eYARkqTheIRNuu97y2XMjR7Wu3XibO1vaY6VBV6O/a89SPI81cEUIYT87UqUWlZNw== + version "17.0.15" + resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.15.tgz#97779282c09c09577120a2162e71d8380003590a" + integrity sha512-zWt4SDDv1S9WRBNxLFxFRHxdD9tvH8f5/kg5/IaLFdnSNXsDY4eL3Q3XXN+VxUnWIhyVFDwcsmAprvwXoM/ClA== "@types/normalize-package-data@^2.4.0", "@types/normalize-package-data@^2.4.1": version "2.4.1" @@ -1694,9 +1644,9 @@ integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== "@types/prettier@^2.1.5": - version "2.4.2" - resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.4.2.tgz#4c62fae93eb479660c3bd93f9d24d561597a8281" - integrity sha512-ekoj4qOQYp7CvjX8ZDBgN86w3MqQhLE1hczEJbEIjgFEumDy+na/4AJAbLXfgEWFNB2pKadM5rPFtuSGMWK7xA== + version "2.4.3" + resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.4.3.tgz#a3c65525b91fca7da00ab1a3ac2b5a2a4afbffbf" + integrity sha512-QzSuZMBuG5u8HqYz01qtMdg/Jfctlnvj1z/lYnIDXs/golxw0fxtRAHd9KrzjR7Yxz1qVeI00o0kiO3PmVdJ9w== "@types/stack-utils@^2.0.0": version "2.0.1" @@ -2048,28 +1998,28 @@ babel-plugin-jest-hoist@^27.5.0: "@types/babel__traverse" "^7.0.6" babel-plugin-polyfill-corejs2@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.0.tgz#407082d0d355ba565af24126fb6cb8e9115251fd" - integrity sha512-wMDoBJ6uG4u4PNFh72Ty6t3EgfA91puCuAwKIazbQlci+ENb/UU9A3xG5lutjUIiXCIn1CY5L15r9LimiJyrSA== + version "0.3.1" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.1.tgz#440f1b70ccfaabc6b676d196239b138f8a2cfba5" + integrity sha512-v7/T6EQcNfVLfcN2X8Lulb7DjprieyLWJK/zOWH5DUYcAgex9sP3h25Q+DLsX9TloXe3y1O8l2q2Jv9q8UVB9w== dependencies: "@babel/compat-data" "^7.13.11" - "@babel/helper-define-polyfill-provider" "^0.3.0" + "@babel/helper-define-polyfill-provider" "^0.3.1" semver "^6.1.1" babel-plugin-polyfill-corejs3@^0.5.0: - version "0.5.1" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.1.tgz#d66183bf10976ea677f4149a7fcc4d8df43d4060" - integrity sha512-TihqEe4sQcb/QcPJvxe94/9RZuLQuF1+To4WqQcRvc+3J3gLCPIPgDKzGLG6zmQLfH3nn25heRuDNkS2KR4I8A== + version "0.5.2" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.2.tgz#aabe4b2fa04a6e038b688c5e55d44e78cd3a5f72" + integrity sha512-G3uJih0XWiID451fpeFaYGVuxHEjzKTHtc9uGFEjR6hHrvNzeS/PX+LLLcetJcytsB5m4j+K3o/EpXJNb/5IEQ== dependencies: "@babel/helper-define-polyfill-provider" "^0.3.1" - core-js-compat "^3.20.0" + core-js-compat "^3.21.0" babel-plugin-polyfill-regenerator@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.0.tgz#9ebbcd7186e1a33e21c5e20cae4e7983949533be" - integrity sha512-dhAPTDLGoMW5/84wkgwiLRwMnio2i1fUe53EuvtKMv0pn2p3S8OCoV1xAzfJPl0KOX7IB89s2ib85vbYiea3jg== + version "0.3.1" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.1.tgz#2c0678ea47c75c8cc2fbb1852278d8fb68233990" + integrity sha512-Y2B06tvgHYt1x0yz17jGkGeeMr5FeKUu+ASJ+N6nB5lQ8Dapfg42i0OVrf8PNGJ3zKL4A23snMi1IRwrqqND7A== dependencies: - "@babel/helper-define-polyfill-provider" "^0.3.0" + "@babel/helper-define-polyfill-provider" "^0.3.1" babel-preset-current-node-syntax@^1.0.0: version "1.0.1" @@ -2408,10 +2358,10 @@ convert-source-map@^1.4.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0: dependencies: safe-buffer "~5.1.1" -core-js-compat@^3.20.0, core-js-compat@^3.20.2: - version "3.20.3" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.20.3.tgz#d71f85f94eb5e4bea3407412e549daa083d23bd6" - integrity sha512-c8M5h0IkNZ+I92QhIpuSijOxGAcj3lgpsWdkCqmUTZNwidujF4r3pi6x1DCN+Vcs5qTS2XWWMfWSuCqyupX8gw== +core-js-compat@^3.20.2, core-js-compat@^3.21.0: + version "3.21.0" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.21.0.tgz#bcc86aa5a589cee358e7a7fa0a4979d5a76c3885" + integrity sha512-OSXseNPSK2OPJa6GdtkMz/XxeXx8/CJvfhQWTqd6neuUraujcL4jVsjkLQz1OWnax8xVQJnRPe0V2jqNWORA+A== dependencies: browserslist "^4.19.1" semver "7.0.0" @@ -2658,11 +2608,6 @@ detect-newline@^3.0.0: resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== -diff-sequences@^27.4.0: - version "27.4.0" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-27.4.0.tgz#d783920ad8d06ec718a060d00196dfef25b132a5" - integrity sha512-YqiQzkrsmHMH5uuh8OdQFU9/ZpADnwzml8z0O5HvRNda+5UZsaX/xN+AAxfR2hWq1Y7HZnAzO9J5lJXOuDz2Ww== - diff-sequences@^27.5.0: version "27.5.0" resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-27.5.0.tgz#a8ac0cb742b17d6f30a6c43e233893a2402c0729" @@ -2724,9 +2669,9 @@ editorconfig@0.15.3: sigmund "^1.0.1" electron-to-chromium@^1.4.17: - version "1.4.38" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.38.tgz#10ea58d73d36b13e78d5024f3b74a352d3958d01" - integrity sha512-WhHt3sZazKj0KK/UpgsbGQnUUoFeAHVishzHFExMxagpZgjiGYSC9S0ZlbhCfSH2L2i+2A1yyqOIliTctMx7KQ== + version "1.4.65" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.65.tgz#c0820db06e268e0a2fd4dbce38fb5376d38ca449" + integrity sha512-0/d8Skk8sW3FxXP0Dd6MnBlrwx7Qo9cqQec3BlIAlvKnrmS3pHsIbaroEi+nd0kZkGpQ6apMEre7xndzjlEnLw== emittery@^0.8.1: version "0.8.1" @@ -2984,9 +2929,9 @@ eslint-import-resolver-node@^0.3.6: resolve "^1.20.0" eslint-module-utils@^2.7.2: - version "2.7.2" - resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.7.2.tgz#1d0aa455dcf41052339b63cada8ab5fd57577129" - integrity sha512-zquepFnWCY2ISMFwD/DqzaM++H+7PDzOpUvotJWm/y1BAFt5R4oeULgdrTejKqLkz7MA/tgstsUMNYc7wNdTrg== + version "2.7.3" + resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.7.3.tgz#ad7e3a10552fdd0642e1e55292781bd6e34876ee" + integrity sha512-088JEC7O3lDZM9xGe0RerkOMd0EjFl+Yvd1jPWIkMT5u3H9+HC34mWWPnqPrN13gieT9pBOO+Qt07Nb/6TresQ== dependencies: debug "^3.2.7" find-up "^2.1.0" @@ -3237,18 +3182,6 @@ exit@^0.1.2: resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" integrity sha1-BjJjj42HfMghB9MKD/8aF8uhzQw= -expect@^27.4.2: - version "27.4.2" - resolved "https://registry.yarnpkg.com/expect/-/expect-27.4.2.tgz#4429b0f7e307771d176de9bdf23229b101db6ef6" - integrity sha512-BjAXIDC6ZOW+WBFNg96J22D27Nq5ohn+oGcuP2rtOtcjuxNoV9McpQ60PcQWhdFOSBIQdR72e+4HdnbZTFSTyg== - dependencies: - "@jest/types" "^27.4.2" - ansi-styles "^5.0.0" - jest-get-type "^27.4.0" - jest-matcher-utils "^27.4.2" - jest-message-util "^27.4.2" - jest-regex-util "^27.4.0" - expect@^27.5.0: version "27.5.0" resolved "https://registry.yarnpkg.com/expect/-/expect-27.5.0.tgz#ea2fbebb483c274043098c34a53923a0aee493f0" @@ -3274,7 +3207,7 @@ fast-equals@^2.0.4: resolved "https://registry.yarnpkg.com/fast-equals/-/fast-equals-2.0.4.tgz#3add9410585e2d7364c2deeb6a707beadb24b927" integrity sha512-caj/ZmjHljPrZtbzJ3kfH5ia/k4mTJe/qSiXAGzxZWRZgsgDV0cvNaQULqUX8t0/JVlzzEdYOwCN5DmzTxoD4w== -fast-glob@3.2.11, fast-glob@^3.1.1, fast-glob@^3.2.7: +fast-glob@3.2.11, fast-glob@^3.2.7, fast-glob@^3.2.9: version "3.2.11" resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.11.tgz#a1172ad95ceb8a16e20caa5c5e56480e5129c1d9" integrity sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew== @@ -3385,9 +3318,9 @@ flat-cache@^3.0.4: rimraf "^3.0.2" flatted@^3.1.0: - version "3.2.4" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.4.tgz#28d9969ea90661b5134259f312ab6aa7929ac5e2" - integrity sha512-8/sOawo8tJ4QOBX8YlQBMxL8+RLZfxMQOif9o0KUKTNTjMYElWPE0r/m5VNFxTRd0NSw8qSy8dajrwX4RYI1Hw== + version "3.2.5" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.5.tgz#76c8584f4fc843db64702a6bd04ab7a8bd666da3" + integrity sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg== flatten@^1.0.2: version "1.0.3" @@ -3530,22 +3463,22 @@ globals@^11.1.0: integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== globals@^13.6.0, globals@^13.9.0: - version "13.12.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-13.12.0.tgz#4d733760304230a0082ed96e21e5c565f898089e" - integrity sha512-uS8X6lSKN2JumVoXrbUz+uG4BYG+eiawqm3qFcT7ammfbUHeCBoJMlHcec/S3krSk73/AE/f0szYFmgAA3kYZg== + version "13.12.1" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.12.1.tgz#ec206be932e6c77236677127577aa8e50bf1c5cb" + integrity sha512-317dFlgY2pdJZ9rspXDks7073GpDmXdfbM3vYYp0HAMKGDh1FfWPleI2ljVNLQX5M5lXcAslTcPTrOrMEFOjyw== dependencies: type-fest "^0.20.2" globby@^11.0.1, globby@^11.0.4: - version "11.0.4" - resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.4.tgz#2cbaff77c2f2a62e71e9b2813a67b97a3a3001a5" - integrity sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg== + version "11.1.0" + resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" + integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== dependencies: array-union "^2.1.0" dir-glob "^3.0.1" - fast-glob "^3.1.1" - ignore "^5.1.4" - merge2 "^1.3.0" + fast-glob "^3.2.9" + ignore "^5.2.0" + merge2 "^1.4.1" slash "^3.0.0" graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4, graceful-fs@^4.2.9: @@ -3682,7 +3615,7 @@ iconv-lite@0.4.24: dependencies: safer-buffer ">= 2.1.2 < 3" -ignore@5.2.0, ignore@^5.1.4, ignore@^5.1.8, ignore@^5.2.0: +ignore@5.2.0, ignore@^5.1.8, ignore@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a" integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ== @@ -3701,9 +3634,9 @@ import-fresh@^3.0.0, import-fresh@^3.2.1, import-fresh@^3.3.0: resolve-from "^4.0.0" import-local@^3.0.2: - version "3.0.3" - resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.0.3.tgz#4d51c2c495ca9393da259ec66b62e022920211e0" - integrity sha512-bE9iaUY3CXH8Cwfan/abDKAxe1KGT9kyGsBPqf6DMK/z0a2OzAsrukeYNgIH6cH5Xr452jb1TUL8rSfCLjZ9uA== + version "3.1.0" + resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.1.0.tgz#b4479df8a5fd44f6cdce24070675676063c95cb4" + integrity sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg== dependencies: pkg-dir "^4.2.0" resolve-cwd "^3.0.0" @@ -3857,9 +3790,9 @@ is-hexadecimal@^1.0.0: integrity sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw== is-negative-zero@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.1.tgz#3de746c18dda2319241a53675908d8f766f11c24" - integrity sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w== + version "2.0.2" + resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150" + integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== is-number-object@^1.0.4: version "1.0.6" @@ -3936,11 +3869,11 @@ is-typedarray@^1.0.0: integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= is-weakref@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.1.tgz#842dba4ec17fa9ac9850df2d6efbc1737274f2a2" - integrity sha512-b2jKc2pQZjaeFYWEf7ScFj+Be1I+PXmlu572Q8coTXZ+LD/QQZ7ShPMst8h16riVgyXTQwUsFEl74mDvc/3MHQ== + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" + integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== dependencies: - call-bind "^1.0.0" + call-bind "^1.0.2" is-whitespace-character@^1.0.0: version "1.0.4" @@ -3999,9 +3932,9 @@ istanbul-lib-source-maps@^4.0.0: source-map "^0.6.1" istanbul-reports@^3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.1.3.tgz#4bcae3103b94518117930d51283690960b50d3c2" - integrity sha512-x9LtDVtfm/t1GFiLl3NffC7hz+I1ragvgX1P/Lg1NlIagifZDKUkuuaAxH/qpwj2IuEfD8G2Bs/UKp+sZ/pKkg== + version "3.1.4" + resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.1.4.tgz#1b6f068ecbc6c331040aab5741991273e609e40c" + integrity sha512-r1/DshN4KSE7xWEknZLLLLDn5CJybV3nw01VTkp6D5jzLuELlcbudfj/eSQFvrKsJuTVCGnePO7ho82Nw9zzfw== dependencies: html-escaper "^2.0.0" istanbul-lib-report "^3.0.0" @@ -4086,17 +4019,7 @@ jest-config@^27.5.0: pretty-format "^27.5.0" slash "^3.0.0" -jest-diff@^27.0.0, jest-diff@^27.0.2, jest-diff@^27.4.2: - version "27.4.2" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-27.4.2.tgz#786b2a5211d854f848e2dcc1e324448e9481f36f" - integrity sha512-ujc9ToyUZDh9KcqvQDkk/gkbf6zSaeEg9AiBxtttXW59H/AcqEYp1ciXAtJp+jXWva5nAf/ePtSsgWwE5mqp4Q== - dependencies: - chalk "^4.0.0" - diff-sequences "^27.4.0" - jest-get-type "^27.4.0" - pretty-format "^27.4.2" - -jest-diff@^27.5.0: +jest-diff@^27.0.0, jest-diff@^27.0.2, jest-diff@^27.5.0: version "27.5.0" resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-27.5.0.tgz#34dc608a3b9159df178dd480b6d835b5e6b92082" integrity sha512-zztvHDCq/QcAVv+o6rts0reupSOxyrX+KLQEOMWCW2trZgcBFgp/oTK7hJCGpXvEIqKrQzyQlaPKn9W04+IMQg== @@ -4149,36 +4072,11 @@ jest-environment-node@^27.5.0: jest-mock "^27.5.0" jest-util "^27.5.0" -jest-get-type@^27.4.0: - version "27.4.0" - resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-27.4.0.tgz#7503d2663fffa431638337b3998d39c5e928e9b5" - integrity sha512-tk9o+ld5TWq41DkK14L4wox4s2D9MtTpKaAVzXfr5CUKm5ZK2ExcaFE0qls2W71zE/6R2TxxrK9w2r6svAFDBQ== - jest-get-type@^27.5.0: version "27.5.0" resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-27.5.0.tgz#861c24aa1b176be83c902292cb9618d580cac8a7" integrity sha512-Vp6O8a52M/dahXRG/E0EJuWQROps2mDQ0sJYPgO8HskhdLwj9ajgngy2OAqZgV6e/RcU67WUHq6TgfvJb8flbA== -jest-haste-map@^27.4.2: - version "27.4.2" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-27.4.2.tgz#7fc7d5e568cca704284f4850885b74a0b8b87587" - integrity sha512-foiyAEePORUN2eeJnOtcM1y8qW0ShEd9kTjWVL4sVaMcuCJM6gtHegvYPBRT0mpI/bs4ueThM90+Eoj2ncoNsA== - dependencies: - "@jest/types" "^27.4.2" - "@types/graceful-fs" "^4.1.2" - "@types/node" "*" - anymatch "^3.0.3" - fb-watchman "^2.0.0" - graceful-fs "^4.2.4" - jest-regex-util "^27.4.0" - jest-serializer "^27.4.0" - jest-util "^27.4.2" - jest-worker "^27.4.2" - micromatch "^4.0.4" - walker "^1.0.7" - optionalDependencies: - fsevents "^2.3.2" - jest-haste-map@^27.5.0: version "27.5.0" resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-27.5.0.tgz#7cc3a920caf304c89fbfceb5d5717b929873f175" @@ -4230,16 +4128,6 @@ jest-leak-detector@^27.5.0: jest-get-type "^27.5.0" pretty-format "^27.5.0" -jest-matcher-utils@^27.4.2: - version "27.4.2" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-27.4.2.tgz#d17c5038607978a255e0a9a5c32c24e984b6c60b" - integrity sha512-jyP28er3RRtMv+fmYC/PKG8wvAmfGcSNproVTW2Y0P/OY7/hWUOmsPfxN1jOhM+0u2xU984u2yEagGivz9OBGQ== - dependencies: - chalk "^4.0.0" - jest-diff "^27.4.2" - jest-get-type "^27.4.0" - pretty-format "^27.4.2" - jest-matcher-utils@^27.5.0: version "27.5.0" resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-27.5.0.tgz#d2fc737224fb3bfa38eaa2393ac5bc953d5c5697" @@ -4250,21 +4138,6 @@ jest-matcher-utils@^27.5.0: jest-get-type "^27.5.0" pretty-format "^27.5.0" -jest-message-util@^27.4.2: - version "27.4.2" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-27.4.2.tgz#07f3f1bf207d69cf798ce830cc57f1a849f99388" - integrity sha512-OMRqRNd9E0DkBLZpFtZkAGYOXl6ZpoMtQJWTAREJKDOFa0M6ptB7L67tp+cszMBkvSgKOhNtQp2Vbcz3ZZKo/w== - dependencies: - "@babel/code-frame" "^7.12.13" - "@jest/types" "^27.4.2" - "@types/stack-utils" "^2.0.0" - chalk "^4.0.0" - graceful-fs "^4.2.4" - micromatch "^4.0.4" - pretty-format "^27.4.2" - slash "^3.0.0" - stack-utils "^2.0.3" - jest-message-util@^27.5.0: version "27.5.0" resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-27.5.0.tgz#654a781b38a305b1fd8120053c784c67bca00a52" @@ -4293,12 +4166,7 @@ jest-pnp-resolver@^1.2.2: resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz#b704ac0ae028a89108a4d040b3f919dfddc8e33c" integrity sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w== -jest-regex-util@^27.0.0, jest-regex-util@^27.4.0: - version "27.4.0" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-27.4.0.tgz#e4c45b52653128843d07ad94aec34393ea14fbca" - integrity sha512-WeCpMpNnqJYMQoOjm1nTtsgbR4XHAk1u00qDoNBQoykM280+/TmgA5Qh5giC1ecy6a5d4hbSsHzpBtu5yvlbEg== - -jest-regex-util@^27.5.0: +jest-regex-util@^27.0.0, jest-regex-util@^27.5.0: version "27.5.0" resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-27.5.0.tgz#26c26cf15a73edba13cb8930e261443d25ed8608" integrity sha512-e9LqSd6HsDsqd7KS3rNyYwmQAaG9jq4U3LbnwVxN/y3nNlDzm2OFs596uo9zrUY+AV1opXq6ome78tRDUCRWfA== @@ -4312,22 +4180,6 @@ jest-resolve-dependencies@^27.5.0: jest-regex-util "^27.5.0" jest-snapshot "^27.5.0" -jest-resolve@^27.4.2: - version "27.4.2" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-27.4.2.tgz#d3e4cbee7acb4a4f8c8bfc270767bec34d2aefaf" - integrity sha512-d/zqPjxCzMqHlOdRTg8cTpO9jY+1/T74KazT8Ws/LwmwxV5sRMWOkiLjmzUCDj/5IqA5XHNK4Hkmlq9Kdpb9Sg== - dependencies: - "@jest/types" "^27.4.2" - chalk "^4.0.0" - graceful-fs "^4.2.4" - jest-haste-map "^27.4.2" - jest-pnp-resolver "^1.2.2" - jest-util "^27.4.2" - jest-validate "^27.4.2" - resolve "^1.20.0" - resolve.exports "^1.1.0" - slash "^3.0.0" - jest-resolve@^27.5.0: version "27.5.0" resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-27.5.0.tgz#a8e95a68dfb4a59faa508d7b6d2c6a02dcabb712" @@ -4399,14 +4251,6 @@ jest-runtime@^27.5.0: slash "^3.0.0" strip-bom "^4.0.0" -jest-serializer@^27.4.0: - version "27.4.0" - resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-27.4.0.tgz#34866586e1cae2388b7d12ffa2c7819edef5958a" - integrity sha512-RDhpcn5f1JYTX2pvJAGDcnsNTnsV9bjYPU8xcV+xPwOXnUPOQwf4ZEuiU6G9H1UztH+OapMgu/ckEVwO87PwnQ== - dependencies: - "@types/node" "*" - graceful-fs "^4.2.4" - jest-serializer@^27.5.0: version "27.5.0" resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-27.5.0.tgz#439a110df27f97a40c114a429b708c2ada15a81f" @@ -4428,37 +4272,7 @@ jest-snapshot-serializer-raw@1.2.0: resolved "https://registry.yarnpkg.com/jest-snapshot-serializer-raw/-/jest-snapshot-serializer-raw-1.2.0.tgz#cd67afb5e5cc39d88d518b45e7320dd01ce55148" integrity sha512-Cnp2u7GkaXBVOOelhU94x6Kb/10WJjQtgKDvqynnYGNGQlKBj06x8QZmRkL8XWWVLQ5DKA2fT5rY9kRd512JcA== -jest-snapshot@^27.0.4: - version "27.4.2" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-27.4.2.tgz#bd1ea04a8fab402e5ab18b788809fa597ddff532" - integrity sha512-DI7lJlNIu6WSQ+esqhnJzEzU70+dV+cNjoF1c+j5FagWEd3KtOyZvVliAH0RWNQ6KSnAAnKSU0qxJ8UXOOhuUQ== - dependencies: - "@babel/core" "^7.7.2" - "@babel/generator" "^7.7.2" - "@babel/parser" "^7.7.2" - "@babel/plugin-syntax-typescript" "^7.7.2" - "@babel/traverse" "^7.7.2" - "@babel/types" "^7.0.0" - "@jest/transform" "^27.4.2" - "@jest/types" "^27.4.2" - "@types/babel__traverse" "^7.0.4" - "@types/prettier" "^2.1.5" - babel-preset-current-node-syntax "^1.0.0" - chalk "^4.0.0" - expect "^27.4.2" - graceful-fs "^4.2.4" - jest-diff "^27.4.2" - jest-get-type "^27.4.0" - jest-haste-map "^27.4.2" - jest-matcher-utils "^27.4.2" - jest-message-util "^27.4.2" - jest-resolve "^27.4.2" - jest-util "^27.4.2" - natural-compare "^1.4.0" - pretty-format "^27.4.2" - semver "^7.3.2" - -jest-snapshot@^27.5.0: +jest-snapshot@^27.0.4, jest-snapshot@^27.5.0: version "27.5.0" resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-27.5.0.tgz#c5c4c084f5e10036f31e7647de1a6f28c07681fc" integrity sha512-cAJj15uqWGkro0bfcv/EgusBnqNgCpRruFQZghsMYTq4Fm2lk/VhAf8DgRr8wvhR6Ue1hkeL8tn70Cw4t8x/5A== @@ -4486,18 +4300,6 @@ jest-snapshot@^27.5.0: pretty-format "^27.5.0" semver "^7.3.2" -jest-util@^27.4.2: - version "27.4.2" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-27.4.2.tgz#ed95b05b1adfd761e2cda47e0144c6a58e05a621" - integrity sha512-YuxxpXU6nlMan9qyLuxHaMMOzXAl5aGZWCSzben5DhLHemYQxCc4YK+4L3ZrCutT8GPQ+ui9k5D8rUJoDioMnA== - dependencies: - "@jest/types" "^27.4.2" - "@types/node" "*" - chalk "^4.0.0" - ci-info "^3.2.0" - graceful-fs "^4.2.4" - picomatch "^2.2.3" - jest-util@^27.5.0: version "27.5.0" resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-27.5.0.tgz#0b9540d91b0de65d288f235fa9899e6eeeab8d35" @@ -4510,18 +4312,6 @@ jest-util@^27.5.0: graceful-fs "^4.2.9" picomatch "^2.2.3" -jest-validate@^27.4.2: - version "27.4.2" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-27.4.2.tgz#eecfcc1b1c9429aa007da08a2bae4e32a81bbbc3" - integrity sha512-hWYsSUej+Fs8ZhOm5vhWzwSLmVaPAxRy+Mr+z5MzeaHm9AxUpXdoVMEW4R86y5gOobVfBsMFLk4Rb+QkiEpx1A== - dependencies: - "@jest/types" "^27.4.2" - camelcase "^6.2.0" - chalk "^4.0.0" - jest-get-type "^27.4.0" - leven "^3.1.0" - pretty-format "^27.4.2" - jest-validate@^27.5.0: version "27.5.0" resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-27.5.0.tgz#b3df32372d2c832fa5a5e31ee2c37f94f79f7f1f" @@ -4547,20 +4337,7 @@ jest-watch-typeahead@1.0.0: string-length "^5.0.1" strip-ansi "^7.0.1" -jest-watcher@^27.0.0: - version "27.4.2" - resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-27.4.2.tgz#c9037edfd80354c9fe90de4b6f8b6e2b8e736744" - integrity sha512-NJvMVyyBeXfDezhWzUOCOYZrUmkSCiatpjpm+nFUid74OZEHk6aMLrZAukIiFDwdbqp6mTM6Ui1w4oc+8EobQg== - dependencies: - "@jest/test-result" "^27.4.2" - "@jest/types" "^27.4.2" - "@types/node" "*" - ansi-escapes "^4.2.1" - chalk "^4.0.0" - jest-util "^27.4.2" - string-length "^4.0.1" - -jest-watcher@^27.5.0: +jest-watcher@^27.0.0, jest-watcher@^27.5.0: version "27.5.0" resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-27.5.0.tgz#ca11c3b9115c92a8fd2fd9e2def296d45206f1ca" integrity sha512-MhIeIvEd6dnnspE0OfYrqHOAfZZdyFqx/k8U2nvVFSkLYf22qAFfyNWPVQYcwqKVNobcOhJoT0kV/nRHGbqK8A== @@ -4573,15 +4350,6 @@ jest-watcher@^27.5.0: jest-util "^27.5.0" string-length "^4.0.1" -jest-worker@^27.4.2: - version "27.4.5" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.4.5.tgz#d696e3e46ae0f24cff3fa7195ffba22889262242" - integrity sha512-f2s8kEdy15cv9r7q4KkzGXvlY0JTcmCbMHZBfSQDwW77REr45IDWwd0lksDFeVHH2jJ5pqb90T77XscrjeGzzg== - dependencies: - "@types/node" "*" - merge-stream "^2.0.0" - supports-color "^8.0.0" - jest-worker@^27.5.0: version "27.5.0" resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.5.0.tgz#99ee77e4d06168107c27328bd7f54e74c3a48d59" @@ -4906,7 +4674,7 @@ merge-stream@^2.0.0: resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== -merge2@^1.3.0: +merge2@^1.3.0, merge2@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== @@ -4951,13 +4719,20 @@ min-indent@^1.0.0: resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== -minimatch@3.0.4, minimatch@^3.0.4: +minimatch@3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== dependencies: brace-expansion "^1.1.7" +minimatch@^3.0.4: + version "3.0.5" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.5.tgz#4da8f1290ee0f0f8e83d60ca69f8f134068604a3" + integrity sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw== + dependencies: + brace-expansion "^1.1.7" + minimist@1.2.5, minimist@^1.2.0, minimist@^1.2.5: version "1.2.5" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" @@ -5099,9 +4874,9 @@ object-assign@^4.1.1: integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= object-inspect@^1.11.0, object-inspect@^1.9.0: - version "1.11.0" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.11.0.tgz#9dceb146cedd4148a0d9e51ab88d34cf509922b1" - integrity sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg== + version "1.12.0" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.0.tgz#6e2c120e868fd1fd18cb4f18c31741d0d6e776f0" + integrity sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g== object-keys@^1.0.12, object-keys@^1.1.1: version "1.1.1" @@ -5403,9 +5178,9 @@ picocolors@^1.0.0: integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== picomatch@^2.0.4, picomatch@^2.2.3: - version "2.3.0" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972" - integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw== + version "2.3.1" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== pidtree@^0.3.0: version "0.3.1" @@ -5418,9 +5193,9 @@ pify@^3.0.0: integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= pirates@^4.0.4: - version "4.0.4" - resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.4.tgz#07df81e61028e402735cdd49db701e4885b4e6e6" - integrity sha512-ZIrVPH+A52Dw84R0L3/VS9Op04PuQ2SEoJL6bkshmiTic/HldyW9Tf7oH5mhJZBK7NmDx27vSMrYEXPXclpDKw== + version "4.0.5" + resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.5.tgz#feec352ea5c3268fb23a37c702ab1699f35a5f3b" + integrity sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ== pkg-dir@^4.1.0, pkg-dir@^4.2.0: version "4.2.0" @@ -5511,17 +5286,7 @@ pretty-bytes@5.6.0: resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-5.6.0.tgz#356256f643804773c82f64723fe78c92c62beaeb" integrity sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg== -pretty-format@^27.0.0, pretty-format@^27.0.2, pretty-format@^27.4.2: - version "27.4.2" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-27.4.2.tgz#e4ce92ad66c3888423d332b40477c87d1dac1fb8" - integrity sha512-p0wNtJ9oLuvgOQDEIZ9zQjZffK7KtyR6Si0jnXULIDwrlNF8Cuir3AZP0hHv0jmKuNN/edOnbMjnzd4uTcmWiw== - dependencies: - "@jest/types" "^27.4.2" - ansi-regex "^5.0.1" - ansi-styles "^5.0.0" - react-is "^17.0.1" - -pretty-format@^27.5.0: +pretty-format@^27.0.0, pretty-format@^27.0.2, pretty-format@^27.5.0: version "27.5.0" resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-27.5.0.tgz#71e1af7a4b587d259fa4668dcd3e94af077767cb" integrity sha512-xEi6BRPZ+J1AIS4BAtFC/+rh5jXlXObGZjx5+OSpM95vR/PGla78bFVHMy5GdZjP9wk3AHAMHROXq/r69zXltw== @@ -5539,13 +5304,13 @@ prompts@^2.0.1: sisteransi "^1.0.5" prop-types@^15.7.2: - version "15.7.2" - resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5" - integrity sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ== + version "15.8.1" + resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" + integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== dependencies: loose-envify "^1.4.0" object-assign "^4.1.1" - react-is "^16.8.1" + react-is "^16.13.1" pseudomap@^1.0.2: version "1.0.2" @@ -5567,7 +5332,7 @@ queue-microtask@^1.2.2: resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== -react-is@^16.8.1: +react-is@^16.13.1: version "16.13.1" resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== @@ -5631,10 +5396,10 @@ refa@^0.9.0: dependencies: regexpp "^3.2.0" -regenerate-unicode-properties@^9.0.0: - version "9.0.0" - resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-9.0.0.tgz#54d09c7115e1f53dc2314a974b32c1c344efe326" - integrity sha512-3E12UeNSPfjrgwjkR81m5J7Aw/T55Tu7nUyZVQYCKEOs+2dkxEY+DpPtZzO4YruuiPb7NkYLVcyJC4+zCbk5pA== +regenerate-unicode-properties@^10.0.1: + version "10.0.1" + resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.0.1.tgz#7f442732aa7934a3740c779bb9b3340dccc1fb56" + integrity sha512-vn5DU6yg6h8hP/2OkQo3K7uVILvY4iu0oI4t3HFa81UPkhGJwkRwM10JEc3upjdhHjs/k8GJY1sRBhk5sr69Bw== dependencies: regenerate "^1.4.2" @@ -5684,9 +5449,9 @@ regexp-util@1.2.2, regexp-util@^1.2.0, regexp-util@^1.2.1: tslib "^1.9.0" regexp.prototype.flags@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz#7ef352ae8d159e758c0eadca6f8fcb4eef07be26" - integrity sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA== + version "1.4.1" + resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.4.1.tgz#b3f4c0059af9e47eca9f3f660e51d81307e72307" + integrity sha512-pMR7hBVUUGI7PMA37m2ofIdQCsomVnas+Jn5UPGAHQ+/LlwKm/aTLJHdasmHRzlfeZwHiAOaRSo2rbBDm3nNUQ== dependencies: call-bind "^1.0.2" define-properties "^1.1.3" @@ -5696,27 +5461,27 @@ regexpp@^3.2.0: resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== -regexpu-core@^4.7.1: - version "4.8.0" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.8.0.tgz#e5605ba361b67b1718478501327502f4479a98f0" - integrity sha512-1F6bYsoYiz6is+oz70NWur2Vlh9KWtswuRuzJOfeYUrfPX2o8n74AnUVaOGDbUqVGO9fNHu48/pjJO4sNVwsOg== +regexpu-core@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-5.0.1.tgz#c531122a7840de743dcf9c83e923b5560323ced3" + integrity sha512-CriEZlrKK9VJw/xQGJpQM5rY88BtuL8DM+AEwvcThHilbxiTAy8vq4iJnd2tqq8wLmjbGZzP7ZcKFjbGkmEFrw== dependencies: regenerate "^1.4.2" - regenerate-unicode-properties "^9.0.0" - regjsgen "^0.5.2" - regjsparser "^0.7.0" + regenerate-unicode-properties "^10.0.1" + regjsgen "^0.6.0" + regjsparser "^0.8.2" unicode-match-property-ecmascript "^2.0.0" unicode-match-property-value-ecmascript "^2.0.0" -regjsgen@^0.5.2: - version "0.5.2" - resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.2.tgz#92ff295fb1deecbf6ecdab2543d207e91aa33733" - integrity sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A== +regjsgen@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.6.0.tgz#83414c5354afd7d6627b16af5f10f41c4e71808d" + integrity sha512-ozE883Uigtqj3bx7OhL1KNbCzGyW2NQZPl6Hs09WTvCuZD5sTI4JY58bkbQWa/Y9hxIsvJ3M8Nbf7j54IqeZbA== -regjsparser@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.7.0.tgz#a6b667b54c885e18b52554cb4960ef71187e9968" - integrity sha512-A4pcaORqmNMDVwUjWoTzuhwMGpP+NykpfqAsEgI1FSH/EzC7lrN5TMd+kN8YCovX+jMpu8eaqXgXPCa0g8FQNQ== +regjsparser@^0.8.2: + version "0.8.4" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.8.4.tgz#8a14285ffcc5de78c5b95d62bbf413b6bc132d5f" + integrity sha512-J3LABycON/VNEu3abOviqGHuB/LOtOQj8SKmfP9anY5GfAVw/SPjwzSjxGjbZXIxbGfqTHtJw58C2Li/WkStmA== dependencies: jsesc "~0.5.0" @@ -5978,9 +5743,9 @@ sigmund@^1.0.1: integrity sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA= signal-exit@^3.0.2, signal-exit@^3.0.3: - version "3.0.6" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.6.tgz#24e630c4b0f03fea446a2bd299e62b4a6ca8d0af" - integrity sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ== + version "3.0.7" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" + integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== simple-html-tokenizer@^0.5.11: version "0.5.11" @@ -6610,9 +6375,9 @@ v8-compile-cache@^2.0.3: integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== v8-to-istanbul@^8.1.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-8.1.0.tgz#0aeb763894f1a0a1676adf8a8b7612a38902446c" - integrity sha512-/PRhfd8aTNp9Ggr62HPzXg2XasNFGy5PBt0Rp04du7/8GNNSgxFL6WBTkgMKSL9bFjH+8kKEG3f37FmxiTqUUA== + version "8.1.1" + resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz#77b752fd3975e31bbcef938f85e9bd1c7a8d60ed" + integrity sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w== dependencies: "@types/istanbul-lib-coverage" "^2.0.1" convert-source-map "^1.6.0" From 3712028053a1914562519f3157aa608c147934f0 Mon Sep 17 00:00:00 2001 From: fisker Cheung Date: Mon, 7 Feb 2022 13:52:11 +0800 Subject: [PATCH 111/117] Skip `validate-vendor-versions` on `push` (#12256) --- .github/workflows/validate-vendor-versions.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/validate-vendor-versions.yml b/.github/workflows/validate-vendor-versions.yml index 1091a7996..311806f38 100644 --- a/.github/workflows/validate-vendor-versions.yml +++ b/.github/workflows/validate-vendor-versions.yml @@ -2,6 +2,9 @@ name: Validate_Vendor_Versions on: push: + branches: + - main + - patch-release paths: - "package.json" pull_request: From b1645073b897bfc4318186bc42936bf91e86538b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 7 Feb 2022 06:15:31 +0000 Subject: [PATCH 112/117] Build(deps): Bump @babel/parser from 7.16.12 to 7.17.0 (#12241) --- package.json | 2 +- src/language-js/parse/babel.js | 1 + .../__snapshots__/jsfmt.spec.js.snap | 35 ++++++++ tests/format/js/babel-plugins/jsfmt.spec.js | 3 + tests/format/js/babel-plugins/regex-v-flag.js | 1 + .../js/regex/__snapshots__/jsfmt.spec.js.snap | 42 +++++++++ tests/format/js/regex/jsfmt.spec.js | 6 +- tests/format/js/regex/v-flag.js | 1 + .../__snapshots__/jsfmt.spec.js.snap | 57 +++++++++++++ .../js/regex-v-u-flags/invalid-flags.js | 1 + .../js/regex-v-u-flags/invalid-flags2.js | 1 + .../errors/js/regex-v-u-flags/jsfmt.spec.js | 1 + .../type-arguments-bit-shift-left-like/1.ts | 1 + .../type-arguments-bit-shift-left-like/2.ts | 1 + .../type-arguments-bit-shift-left-like/3.ts | 1 + .../type-arguments-bit-shift-left-like/5.tsx | 1 + .../type-arguments-bit-shift-left-like/6.ts | 1 + .../__snapshots__/jsfmt.spec.js.snap | 85 +++++++++++++++++++ .../jsfmt.spec.js | 3 + .../__snapshots__/debug-print-ast.js.snap | 2 +- .../debug-print-comments.js.snap | 12 +-- yarn.lock | 7 +- 22 files changed, 249 insertions(+), 16 deletions(-) create mode 100644 tests/format/js/babel-plugins/regex-v-flag.js create mode 100644 tests/format/js/regex/v-flag.js create mode 100644 tests/format/misc/errors/js/regex-v-u-flags/__snapshots__/jsfmt.spec.js.snap create mode 100644 tests/format/misc/errors/js/regex-v-u-flags/invalid-flags.js create mode 100644 tests/format/misc/errors/js/regex-v-u-flags/invalid-flags2.js create mode 100644 tests/format/misc/errors/js/regex-v-u-flags/jsfmt.spec.js create mode 100644 tests/format/typescript/type-arguments-bit-shift-left-like/1.ts create mode 100644 tests/format/typescript/type-arguments-bit-shift-left-like/2.ts create mode 100644 tests/format/typescript/type-arguments-bit-shift-left-like/3.ts create mode 100644 tests/format/typescript/type-arguments-bit-shift-left-like/5.tsx create mode 100644 tests/format/typescript/type-arguments-bit-shift-left-like/6.ts create mode 100644 tests/format/typescript/type-arguments-bit-shift-left-like/__snapshots__/jsfmt.spec.js.snap create mode 100644 tests/format/typescript/type-arguments-bit-shift-left-like/jsfmt.spec.js diff --git a/package.json b/package.json index 0105075d4..589c4aa46 100644 --- a/package.json +++ b/package.json @@ -24,7 +24,7 @@ "dependencies": { "@angular/compiler": "12.2.16", "@babel/code-frame": "7.16.7", - "@babel/parser": "7.16.12", + "@babel/parser": "7.17.0", "@glimmer/syntax": "0.83.1", "@iarna/toml": "2.2.5", "@typescript-eslint/typescript-estree": "5.10.2", diff --git a/src/language-js/parse/babel.js b/src/language-js/parse/babel.js index 62a581d49..5f3e92d64 100644 --- a/src/language-js/parse/babel.js +++ b/src/language-js/parse/babel.js @@ -37,6 +37,7 @@ const parseOptions = { "decimal", "moduleBlocks", "asyncDoExpressions", + "regexpUnicodeSets", ], tokens: true, ranges: true, diff --git a/tests/format/js/babel-plugins/__snapshots__/jsfmt.spec.js.snap b/tests/format/js/babel-plugins/__snapshots__/jsfmt.spec.js.snap index 75bb17d94..fea551ccc 100644 --- a/tests/format/js/babel-plugins/__snapshots__/jsfmt.spec.js.snap +++ b/tests/format/js/babel-plugins/__snapshots__/jsfmt.spec.js.snap @@ -2104,6 +2104,41 @@ const tuple1 = #[1, 2, 3]; ================================================================================ `; +exports[`regex-v-flag.js [acorn] format 1`] = ` +"Invalid regular expression flag (1:2) +> 1 | /a/v; + | ^ + 2 |" +`; + +exports[`regex-v-flag.js [espree] format 1`] = ` +"Invalid regular expression flag (1:2) +> 1 | /a/v; + | ^ + 2 |" +`; + +exports[`regex-v-flag.js [meriyah] format 1`] = ` +"[1:3]: Unexpected regular expression flag (1:3) +> 1 | /a/v; + | ^ + 2 |" +`; + +exports[`regex-v-flag.js format 1`] = ` +====================================options===================================== +parsers: ["babel", "babel-ts", "babel-flow"] +printWidth: 80 + | printWidth +=====================================input====================================== +/a/v; + +=====================================output===================================== +/a/v; + +================================================================================ +`; + exports[`throw-expressions.js [acorn] format 1`] = ` "Unexpected token (3:23) 1 | // https://babeljs.io/docs/en/babel-plugin-proposal-throw-expressions diff --git a/tests/format/js/babel-plugins/jsfmt.spec.js b/tests/format/js/babel-plugins/jsfmt.spec.js index 47c0bf1c9..4adf88989 100644 --- a/tests/format/js/babel-plugins/jsfmt.spec.js +++ b/tests/format/js/babel-plugins/jsfmt.spec.js @@ -24,6 +24,7 @@ run_spec(__dirname, ["babel", "babel-ts", "babel-flow"], { "v8intrinsic.js", "module-blocks.js", "async-do-expressions.js", + "regex-v-flag.js", ], espree: [ "decimal.js", @@ -46,6 +47,7 @@ run_spec(__dirname, ["babel", "babel-ts", "babel-flow"], { "v8intrinsic.js", "module-blocks.js", "async-do-expressions.js", + "regex-v-flag.js", ], meriyah: [ "decimal.js", @@ -71,6 +73,7 @@ run_spec(__dirname, ["babel", "babel-ts", "babel-flow"], { "module-string-names.js", "module-blocks.js", "async-do-expressions.js", + "regex-v-flag.js", ], }, }); diff --git a/tests/format/js/babel-plugins/regex-v-flag.js b/tests/format/js/babel-plugins/regex-v-flag.js new file mode 100644 index 000000000..04ee6ccf7 --- /dev/null +++ b/tests/format/js/babel-plugins/regex-v-flag.js @@ -0,0 +1 @@ +/a/v; diff --git a/tests/format/js/regex/__snapshots__/jsfmt.spec.js.snap b/tests/format/js/regex/__snapshots__/jsfmt.spec.js.snap index 16fca66a6..738db240d 100644 --- a/tests/format/js/regex/__snapshots__/jsfmt.spec.js.snap +++ b/tests/format/js/regex/__snapshots__/jsfmt.spec.js.snap @@ -41,3 +41,45 @@ printWidth: 80 ================================================================================ `; + +exports[`v-flag.js [acorn] format 1`] = ` +"Invalid regular expression flag (1:2) +> 1 | /a/v; + | ^ + 2 |" +`; + +exports[`v-flag.js [espree] format 1`] = ` +"Invalid regular expression flag (1:2) +> 1 | /a/v; + | ^ + 2 |" +`; + +exports[`v-flag.js [flow] format 1`] = ` +"Invalid flags supplied to RegExp constructor 'v' (1:5) +> 1 | /a/v; + | ^ + 2 |" +`; + +exports[`v-flag.js [meriyah] format 1`] = ` +"[1:3]: Unexpected regular expression flag (1:3) +> 1 | /a/v; + | ^ + 2 |" +`; + +exports[`v-flag.js format 1`] = ` +====================================options===================================== +parsers: ["babel", "flow", "typescript"] +printWidth: 80 + | printWidth +=====================================input====================================== +/a/v; + +=====================================output===================================== +/a/v; + +================================================================================ +`; diff --git a/tests/format/js/regex/jsfmt.spec.js b/tests/format/js/regex/jsfmt.spec.js index a833212bd..1f132f341 100644 --- a/tests/format/js/regex/jsfmt.spec.js +++ b/tests/format/js/regex/jsfmt.spec.js @@ -1,6 +1,8 @@ run_spec(__dirname, ["babel", "flow", "typescript"], { errors: { - flow: ["d-flag.js"], - meriyah: ["d-flag.js"], + flow: ["d-flag.js", "v-flag.js"], + acorn: ["v-flag.js"], + espree: ["v-flag.js"], + meriyah: ["d-flag.js", "v-flag.js"], }, }); diff --git a/tests/format/js/regex/v-flag.js b/tests/format/js/regex/v-flag.js new file mode 100644 index 000000000..04ee6ccf7 --- /dev/null +++ b/tests/format/js/regex/v-flag.js @@ -0,0 +1 @@ +/a/v; diff --git a/tests/format/misc/errors/js/regex-v-u-flags/__snapshots__/jsfmt.spec.js.snap b/tests/format/misc/errors/js/regex-v-u-flags/__snapshots__/jsfmt.spec.js.snap new file mode 100644 index 000000000..696b2203f --- /dev/null +++ b/tests/format/misc/errors/js/regex-v-u-flags/__snapshots__/jsfmt.spec.js.snap @@ -0,0 +1,57 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`invalid-flags.js [acorn] format 1`] = ` +"Invalid regular expression flag (1:2) +> 1 | /a/ugv; + | ^ + 2 |" +`; + +exports[`invalid-flags.js [babel] format 1`] = ` +"The 'u' and 'v' regular expression flags cannot be enabled at the same time. (1:7) +> 1 | /a/ugv; + | ^ + 2 |" +`; + +exports[`invalid-flags.js [espree] format 1`] = ` +"Invalid regular expression flag (1:2) +> 1 | /a/ugv; + | ^ + 2 |" +`; + +exports[`invalid-flags.js [meriyah] format 1`] = ` +"[1:5]: Unexpected regular expression flag (1:5) +> 1 | /a/ugv; + | ^ + 2 |" +`; + +exports[`invalid-flags2.js [acorn] format 1`] = ` +"Invalid regular expression flag (1:2) +> 1 | /a/vu; + | ^ + 2 |" +`; + +exports[`invalid-flags2.js [babel] format 1`] = ` +"The 'u' and 'v' regular expression flags cannot be enabled at the same time. (1:6) +> 1 | /a/vu; + | ^ + 2 |" +`; + +exports[`invalid-flags2.js [espree] format 1`] = ` +"Invalid regular expression flag (1:2) +> 1 | /a/vu; + | ^ + 2 |" +`; + +exports[`invalid-flags2.js [meriyah] format 1`] = ` +"[1:3]: Unexpected regular expression flag (1:3) +> 1 | /a/vu; + | ^ + 2 |" +`; diff --git a/tests/format/misc/errors/js/regex-v-u-flags/invalid-flags.js b/tests/format/misc/errors/js/regex-v-u-flags/invalid-flags.js new file mode 100644 index 000000000..5dcdc60df --- /dev/null +++ b/tests/format/misc/errors/js/regex-v-u-flags/invalid-flags.js @@ -0,0 +1 @@ +/a/ugv; diff --git a/tests/format/misc/errors/js/regex-v-u-flags/invalid-flags2.js b/tests/format/misc/errors/js/regex-v-u-flags/invalid-flags2.js new file mode 100644 index 000000000..ce76d00a0 --- /dev/null +++ b/tests/format/misc/errors/js/regex-v-u-flags/invalid-flags2.js @@ -0,0 +1 @@ +/a/vu; diff --git a/tests/format/misc/errors/js/regex-v-u-flags/jsfmt.spec.js b/tests/format/misc/errors/js/regex-v-u-flags/jsfmt.spec.js new file mode 100644 index 000000000..0b4e24dc0 --- /dev/null +++ b/tests/format/misc/errors/js/regex-v-u-flags/jsfmt.spec.js @@ -0,0 +1 @@ +run_spec(__dirname, ["babel", "acorn", "espree", "meriyah"]); diff --git a/tests/format/typescript/type-arguments-bit-shift-left-like/1.ts b/tests/format/typescript/type-arguments-bit-shift-left-like/1.ts new file mode 100644 index 000000000..22101bcfd --- /dev/null +++ b/tests/format/typescript/type-arguments-bit-shift-left-like/1.ts @@ -0,0 +1 @@ +f<<(x) diff --git a/tests/format/typescript/type-arguments-bit-shift-left-like/2.ts b/tests/format/typescript/type-arguments-bit-shift-left-like/2.ts new file mode 100644 index 000000000..94b8ba09b --- /dev/null +++ b/tests/format/typescript/type-arguments-bit-shift-left-like/2.ts @@ -0,0 +1 @@ +f<(v: T) => void>(); diff --git a/tests/format/typescript/type-arguments-bit-shift-left-like/3.ts b/tests/format/typescript/type-arguments-bit-shift-left-like/3.ts new file mode 100644 index 000000000..8db082343 --- /dev/null +++ b/tests/format/typescript/type-arguments-bit-shift-left-like/3.ts @@ -0,0 +1 @@ +(class extends f<(v: T) => void> {}); diff --git a/tests/format/typescript/type-arguments-bit-shift-left-like/5.tsx b/tests/format/typescript/type-arguments-bit-shift-left-like/5.tsx new file mode 100644 index 000000000..5ad697cb4 --- /dev/null +++ b/tests/format/typescript/type-arguments-bit-shift-left-like/5.tsx @@ -0,0 +1 @@ +(v: T) => void> /> diff --git a/tests/format/typescript/type-arguments-bit-shift-left-like/6.ts b/tests/format/typescript/type-arguments-bit-shift-left-like/6.ts new file mode 100644 index 000000000..7991a4bbd --- /dev/null +++ b/tests/format/typescript/type-arguments-bit-shift-left-like/6.ts @@ -0,0 +1 @@ +new f<(v: T) => void>(); diff --git a/tests/format/typescript/type-arguments-bit-shift-left-like/__snapshots__/jsfmt.spec.js.snap b/tests/format/typescript/type-arguments-bit-shift-left-like/__snapshots__/jsfmt.spec.js.snap new file mode 100644 index 000000000..b7feff584 --- /dev/null +++ b/tests/format/typescript/type-arguments-bit-shift-left-like/__snapshots__/jsfmt.spec.js.snap @@ -0,0 +1,85 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`1.ts format 1`] = ` +====================================options===================================== +parsers: ["typescript"] +printWidth: 80 + | printWidth +=====================================input====================================== +f<<(x) + +=====================================output===================================== +f << (x); + +================================================================================ +`; + +exports[`2.ts format 1`] = ` +====================================options===================================== +parsers: ["typescript"] +printWidth: 80 + | printWidth +=====================================input====================================== +f<(v: T) => void>(); + +=====================================output===================================== +f<(v: T) => void>(); + +================================================================================ +`; + +exports[`3.ts [babel-ts] format 1`] = ` +====================================options===================================== +parsers: ["typescript"] +printWidth: 80 + | printWidth +=====================================input====================================== +(class extends f<(v: T) => void> {}); + +=====================================output===================================== +(class extends f<(v: T) => void> {}); + +================================================================================ +`; + +exports[`3.ts [typescript] format 1`] = ` +"',' expected. (1:17) +> 1 | (class extends f<(v: T) => void> {}); + | ^ + 2 |" +`; + +exports[`5.tsx [babel-ts] format 1`] = ` +====================================options===================================== +parsers: ["typescript"] +printWidth: 80 + | printWidth +=====================================input====================================== +(v: T) => void> /> + +=====================================output===================================== +(v: T) => void> />; + +================================================================================ +`; + +exports[`5.tsx [typescript] format 1`] = ` +"Identifier expected. (1:11) +> 1 | (v: T) => void> /> + | ^ + 2 |" +`; + +exports[`6.ts format 1`] = ` +====================================options===================================== +parsers: ["typescript"] +printWidth: 80 + | printWidth +=====================================input====================================== +new f<(v: T) => void>(); + +=====================================output===================================== +new f<(v: T) => void>(); + +================================================================================ +`; diff --git a/tests/format/typescript/type-arguments-bit-shift-left-like/jsfmt.spec.js b/tests/format/typescript/type-arguments-bit-shift-left-like/jsfmt.spec.js new file mode 100644 index 000000000..b3acebe65 --- /dev/null +++ b/tests/format/typescript/type-arguments-bit-shift-left-like/jsfmt.spec.js @@ -0,0 +1,3 @@ +run_spec(__dirname, ["typescript"], { + errors: { typescript: ["3.ts", "5.tsx"] }, +}); diff --git a/tests/integration/__tests__/__snapshots__/debug-print-ast.js.snap b/tests/integration/__tests__/__snapshots__/debug-print-ast.js.snap index bb55eecf0..6c4c00f94 100644 --- a/tests/integration/__tests__/__snapshots__/debug-print-ast.js.snap +++ b/tests/integration/__tests__/__snapshots__/debug-print-ast.js.snap @@ -1,5 +1,5 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP -exports[`prints information for debugging AST --debug-print-ast (stdout) 1`] = `"{\\"type\\":\\"File\\",\\"start\\":0,\\"end\\":18,\\"loc\\":{\\"start\\":{\\"line\\":1,\\"column\\":0},\\"end\\":{\\"line\\":1,\\"column\\":18}},\\"range\\":[0,18],\\"errors\\":[],\\"program\\":{\\"type\\":\\"Program\\",\\"start\\":0,\\"end\\":18,\\"loc\\":{\\"start\\":{\\"line\\":1,\\"column\\":0},\\"end\\":{\\"line\\":1,\\"column\\":18}},\\"range\\":[0,18],\\"sourceType\\":\\"module\\",\\"interpreter\\":null,\\"body\\":[{\\"type\\":\\"VariableDeclaration\\",\\"start\\":0,\\"end\\":18,\\"loc\\":{\\"start\\":{\\"line\\":1,\\"column\\":0},\\"end\\":{\\"line\\":1,\\"column\\":18}},\\"range\\":[0,18],\\"declarations\\":[{\\"type\\":\\"VariableDeclarator\\",\\"start\\":6,\\"end\\":17,\\"loc\\":{\\"start\\":{\\"line\\":1,\\"column\\":6},\\"end\\":{\\"line\\":1,\\"column\\":17}},\\"range\\":[6,17],\\"id\\":{\\"type\\":\\"Identifier\\",\\"start\\":6,\\"end\\":9,\\"loc\\":{\\"start\\":{\\"line\\":1,\\"column\\":6},\\"end\\":{\\"line\\":1,\\"column\\":9},\\"identifierName\\":\\"foo\\"},\\"range\\":[6,9],\\"name\\":\\"foo\\"},\\"init\\":{\\"type\\":\\"StringLiteral\\",\\"start\\":12,\\"end\\":17,\\"loc\\":{\\"start\\":{\\"line\\":1,\\"column\\":12},\\"end\\":{\\"line\\":1,\\"column\\":17}},\\"range\\":[12,17],\\"extra\\":{\\"rawValue\\":\\"foo\\",\\"raw\\":\\"'foo'\\"},\\"value\\":\\"foo\\"}}],\\"kind\\":\\"const\\"}],\\"directives\\":[]},\\"comments\\":[],\\"tokens\\":[{\\"type\\":{\\"label\\":\\"const\\",\\"keyword\\":\\"const\\",\\"beforeExpr\\":false,\\"startsExpr\\":false,\\"rightAssociative\\":false,\\"isLoop\\":false,\\"isAssign\\":false,\\"prefix\\":false,\\"postfix\\":false,\\"binop\\":null,\\"updateContext\\":null},\\"value\\":\\"const\\",\\"start\\":0,\\"end\\":5,\\"loc\\":{\\"start\\":{\\"line\\":1,\\"column\\":0},\\"end\\":{\\"line\\":1,\\"column\\":5}}},{\\"type\\":{\\"label\\":\\"name\\",\\"beforeExpr\\":false,\\"startsExpr\\":true,\\"rightAssociative\\":false,\\"isLoop\\":false,\\"isAssign\\":false,\\"prefix\\":false,\\"postfix\\":false,\\"binop\\":null,\\"updateContext\\":null},\\"value\\":\\"foo\\",\\"start\\":6,\\"end\\":9,\\"loc\\":{\\"start\\":{\\"line\\":1,\\"column\\":6},\\"end\\":{\\"line\\":1,\\"column\\":9}}},{\\"type\\":{\\"label\\":\\"=\\",\\"beforeExpr\\":true,\\"startsExpr\\":false,\\"rightAssociative\\":false,\\"isLoop\\":false,\\"isAssign\\":true,\\"prefix\\":false,\\"postfix\\":false,\\"binop\\":null,\\"updateContext\\":null},\\"value\\":\\"=\\",\\"start\\":10,\\"end\\":11,\\"loc\\":{\\"start\\":{\\"line\\":1,\\"column\\":10},\\"end\\":{\\"line\\":1,\\"column\\":11}}},{\\"type\\":{\\"label\\":\\"string\\",\\"beforeExpr\\":false,\\"startsExpr\\":true,\\"rightAssociative\\":false,\\"isLoop\\":false,\\"isAssign\\":false,\\"prefix\\":false,\\"postfix\\":false,\\"binop\\":null,\\"updateContext\\":null},\\"value\\":\\"foo\\",\\"start\\":12,\\"end\\":17,\\"loc\\":{\\"start\\":{\\"line\\":1,\\"column\\":12},\\"end\\":{\\"line\\":1,\\"column\\":17}}},{\\"type\\":{\\"label\\":\\";\\",\\"beforeExpr\\":true,\\"startsExpr\\":false,\\"rightAssociative\\":false,\\"isLoop\\":false,\\"isAssign\\":false,\\"prefix\\":false,\\"postfix\\":false,\\"binop\\":null,\\"updateContext\\":null},\\"start\\":17,\\"end\\":18,\\"loc\\":{\\"start\\":{\\"line\\":1,\\"column\\":17},\\"end\\":{\\"line\\":1,\\"column\\":18}}},{\\"type\\":{\\"label\\":\\"eof\\",\\"beforeExpr\\":false,\\"startsExpr\\":false,\\"rightAssociative\\":false,\\"isLoop\\":false,\\"isAssign\\":false,\\"prefix\\":false,\\"postfix\\":false,\\"binop\\":null,\\"updateContext\\":null},\\"start\\":18,\\"end\\":18,\\"loc\\":{\\"start\\":{\\"line\\":1,\\"column\\":18},\\"end\\":{\\"line\\":1,\\"column\\":18}}}]}"`; +exports[`prints information for debugging AST --debug-print-ast (stdout) 1`] = `"{\\"type\\":\\"File\\",\\"start\\":0,\\"end\\":18,\\"loc\\":{\\"start\\":{\\"line\\":1,\\"column\\":0,\\"index\\":0},\\"end\\":{\\"line\\":1,\\"column\\":18,\\"index\\":18}},\\"range\\":[0,18],\\"errors\\":[],\\"program\\":{\\"type\\":\\"Program\\",\\"start\\":0,\\"end\\":18,\\"loc\\":{\\"start\\":{\\"line\\":1,\\"column\\":0,\\"index\\":0},\\"end\\":{\\"line\\":1,\\"column\\":18,\\"index\\":18}},\\"range\\":[0,18],\\"sourceType\\":\\"module\\",\\"interpreter\\":null,\\"body\\":[{\\"type\\":\\"VariableDeclaration\\",\\"start\\":0,\\"end\\":18,\\"loc\\":{\\"start\\":{\\"line\\":1,\\"column\\":0,\\"index\\":0},\\"end\\":{\\"line\\":1,\\"column\\":18,\\"index\\":18}},\\"range\\":[0,18],\\"declarations\\":[{\\"type\\":\\"VariableDeclarator\\",\\"start\\":6,\\"end\\":17,\\"loc\\":{\\"start\\":{\\"line\\":1,\\"column\\":6,\\"index\\":6},\\"end\\":{\\"line\\":1,\\"column\\":17,\\"index\\":17}},\\"range\\":[6,17],\\"id\\":{\\"type\\":\\"Identifier\\",\\"start\\":6,\\"end\\":9,\\"loc\\":{\\"start\\":{\\"line\\":1,\\"column\\":6,\\"index\\":6},\\"end\\":{\\"line\\":1,\\"column\\":9,\\"index\\":9},\\"identifierName\\":\\"foo\\"},\\"range\\":[6,9],\\"name\\":\\"foo\\"},\\"init\\":{\\"type\\":\\"StringLiteral\\",\\"start\\":12,\\"end\\":17,\\"loc\\":{\\"start\\":{\\"line\\":1,\\"column\\":12,\\"index\\":12},\\"end\\":{\\"line\\":1,\\"column\\":17,\\"index\\":17}},\\"range\\":[12,17],\\"extra\\":{\\"rawValue\\":\\"foo\\",\\"raw\\":\\"'foo'\\"},\\"value\\":\\"foo\\"}}],\\"kind\\":\\"const\\"}],\\"directives\\":[]},\\"comments\\":[],\\"tokens\\":[{\\"type\\":{\\"label\\":\\"const\\",\\"keyword\\":\\"const\\",\\"beforeExpr\\":false,\\"startsExpr\\":false,\\"rightAssociative\\":false,\\"isLoop\\":false,\\"isAssign\\":false,\\"prefix\\":false,\\"postfix\\":false,\\"binop\\":null,\\"updateContext\\":null},\\"value\\":\\"const\\",\\"start\\":0,\\"end\\":5,\\"loc\\":{\\"start\\":{\\"line\\":1,\\"column\\":0,\\"index\\":0},\\"end\\":{\\"line\\":1,\\"column\\":5,\\"index\\":5}}},{\\"type\\":{\\"label\\":\\"name\\",\\"beforeExpr\\":false,\\"startsExpr\\":true,\\"rightAssociative\\":false,\\"isLoop\\":false,\\"isAssign\\":false,\\"prefix\\":false,\\"postfix\\":false,\\"binop\\":null,\\"updateContext\\":null},\\"value\\":\\"foo\\",\\"start\\":6,\\"end\\":9,\\"loc\\":{\\"start\\":{\\"line\\":1,\\"column\\":6,\\"index\\":6},\\"end\\":{\\"line\\":1,\\"column\\":9,\\"index\\":9}}},{\\"type\\":{\\"label\\":\\"=\\",\\"beforeExpr\\":true,\\"startsExpr\\":false,\\"rightAssociative\\":false,\\"isLoop\\":false,\\"isAssign\\":true,\\"prefix\\":false,\\"postfix\\":false,\\"binop\\":null,\\"updateContext\\":null},\\"value\\":\\"=\\",\\"start\\":10,\\"end\\":11,\\"loc\\":{\\"start\\":{\\"line\\":1,\\"column\\":10,\\"index\\":10},\\"end\\":{\\"line\\":1,\\"column\\":11,\\"index\\":11}}},{\\"type\\":{\\"label\\":\\"string\\",\\"beforeExpr\\":false,\\"startsExpr\\":true,\\"rightAssociative\\":false,\\"isLoop\\":false,\\"isAssign\\":false,\\"prefix\\":false,\\"postfix\\":false,\\"binop\\":null,\\"updateContext\\":null},\\"value\\":\\"foo\\",\\"start\\":12,\\"end\\":17,\\"loc\\":{\\"start\\":{\\"line\\":1,\\"column\\":12,\\"index\\":12},\\"end\\":{\\"line\\":1,\\"column\\":17,\\"index\\":17}}},{\\"type\\":{\\"label\\":\\";\\",\\"beforeExpr\\":true,\\"startsExpr\\":false,\\"rightAssociative\\":false,\\"isLoop\\":false,\\"isAssign\\":false,\\"prefix\\":false,\\"postfix\\":false,\\"binop\\":null,\\"updateContext\\":null},\\"start\\":17,\\"end\\":18,\\"loc\\":{\\"start\\":{\\"line\\":1,\\"column\\":17,\\"index\\":17},\\"end\\":{\\"line\\":1,\\"column\\":18,\\"index\\":18}}},{\\"type\\":{\\"label\\":\\"eof\\",\\"beforeExpr\\":false,\\"startsExpr\\":false,\\"rightAssociative\\":false,\\"isLoop\\":false,\\"isAssign\\":false,\\"prefix\\":false,\\"postfix\\":false,\\"binop\\":null,\\"updateContext\\":null},\\"start\\":18,\\"end\\":18,\\"loc\\":{\\"start\\":{\\"line\\":1,\\"column\\":18,\\"index\\":18},\\"end\\":{\\"line\\":1,\\"column\\":18,\\"index\\":18}}}]}"`; exports[`prints information for debugging AST --debug-print-ast (write) 1`] = `Array []`; diff --git a/tests/integration/__tests__/__snapshots__/debug-print-comments.js.snap b/tests/integration/__tests__/__snapshots__/debug-print-comments.js.snap index 45e3f90c1..260d1cc9d 100644 --- a/tests/integration/__tests__/__snapshots__/debug-print-comments.js.snap +++ b/tests/integration/__tests__/__snapshots__/debug-print-comments.js.snap @@ -8,8 +8,8 @@ exports[`prints information for debugging comment attachment with --debug-print- \\"start\\": 0, \\"end\\": 7, \\"loc\\": { - \\"start\\": { \\"line\\": 1, \\"column\\": 0 }, - \\"end\\": { \\"line\\": 1, \\"column\\": 7 } + \\"start\\": { \\"line\\": 1, \\"column\\": 0, \\"index\\": 0 }, + \\"end\\": { \\"line\\": 1, \\"column\\": 7, \\"index\\": 7 } }, \\"placement\\": \\"endOfLine\\", \\"leading\\": true, @@ -22,8 +22,8 @@ exports[`prints information for debugging comment attachment with --debug-print- \\"start\\": 24, \\"end\\": 31, \\"loc\\": { - \\"start\\": { \\"line\\": 2, \\"column\\": 16 }, - \\"end\\": { \\"line\\": 2, \\"column\\": 23 } + \\"start\\": { \\"line\\": 2, \\"column\\": 16, \\"index\\": 24 }, + \\"end\\": { \\"line\\": 2, \\"column\\": 23, \\"index\\": 31 } }, \\"placement\\": \\"remaining\\", \\"leading\\": false, @@ -36,8 +36,8 @@ exports[`prints information for debugging comment attachment with --debug-print- \\"start\\": 34, \\"end\\": 38, \\"loc\\": { - \\"start\\": { \\"line\\": 2, \\"column\\": 26 }, - \\"end\\": { \\"line\\": 2, \\"column\\": 30 } + \\"start\\": { \\"line\\": 2, \\"column\\": 26, \\"index\\": 34 }, + \\"end\\": { \\"line\\": 2, \\"column\\": 30, \\"index\\": 38 } }, \\"placement\\": \\"remaining\\", \\"leading\\": false, diff --git a/yarn.lock b/yarn.lock index 18227c0a2..821b59ea6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -281,12 +281,7 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@7.16.12": - version "7.16.12" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.16.12.tgz#9474794f9a650cf5e2f892444227f98e28cdf8b6" - integrity sha512-VfaV15po8RiZssrkPweyvbGVSe4x2y+aciFCgn0n0/SJMR22cwofRV1mtnJQYcSB1wUTaA/X1LnA3es66MCO5A== - -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.7", "@babel/parser@^7.17.0": +"@babel/parser@7.17.0", "@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.7", "@babel/parser@^7.17.0": version "7.17.0" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.17.0.tgz#f0ac33eddbe214e4105363bb17c3341c5ffcc43c" integrity sha512-VKXSCQx5D8S04ej+Dqsr1CzYvvWgf20jIw2D+YhQCrIlr2UZGaDds23Y0xg75/skOxpLCRpUZvk/1EAVkGoDOw== From 331d278a3a52c68ce02c349e9a2f12f29048d7a1 Mon Sep 17 00:00:00 2001 From: Adam Date: Mon, 7 Feb 2022 19:44:47 +0100 Subject: [PATCH 113/117] Update plugin docs (#12259) Co-authored-by: fisker Cheung --- docs/plugins.md | 27 ++++++++++++++++++++------- 1 file changed, 20 insertions(+), 7 deletions(-) diff --git a/docs/plugins.md b/docs/plugins.md index 143a82e73..a227e74e0 100644 --- a/docs/plugins.md +++ b/docs/plugins.md @@ -3,7 +3,7 @@ id: plugins title: Plugins --- -Plugins are ways of adding new languages to Prettier. Prettier’s own implementations of all languages are expressed using the plugin API. The core `prettier` package contains JavaScript and other web-focused languages built in. For additional languages you’ll need to install a plugin. +Plugins are ways of adding new languages or formatting rules to Prettier. Prettier’s own implementations of all languages are expressed using the plugin API. The core `prettier` package contains JavaScript and other web-focused languages built in. For additional languages you’ll need to install a plugin. ## Using Plugins @@ -13,25 +13,38 @@ Plugins are automatically loaded if you have them installed in the same `node_mo When plugins cannot be found automatically, you can load them with: -- The [CLI](cli.md), via the `--plugin` and `--plugin-search-dir`: +- The [CLI](cli.md), via `--plugin-search-dir` and `--plugin`: ```bash - prettier --write main.foo --plugin-search-dir=./dir-with-plugins --plugin=./foo-plugin + prettier --write main.foo --plugin-search-dir=./dir-with-plugins --plugin=prettier-plugin-foo ``` - > Tip: You can set `--plugin` or `--plugin-search-dir` options multiple times. + > Tip: You can set `--plugin-search-dir` or `--plugin` options multiple times. -- Or the [API](api.md), via the `plugins` and `pluginSearchDirs` options: +- The [API](api.md), via the `pluginSearchDirs` and `plugins` options: ```js prettier.format("code", { parser: "foo", pluginSearchDirs: ["./dir-with-plugins"], - plugins: ["./foo-plugin"], + plugins: ["prettier-plugin-foo"], }); ``` -Prettier expects each of `pluginSearchDirs` to contain `node_modules` subdirectory, where `@prettier/plugin-*`, `@*/prettier-plugin-*` and `prettier-plugin-*` will be searched. For instance, this can be your project directory or the location of global npm modules. +- The [Configuration File](configuration.md): + + ```json + { + "pluginSearchDirs": ["./dir-with-plugins"], + "plugins": ["prettier-plugin-foo"] + } + ``` + +`pluginSearchDirs` and `plugins` are independent and one does not require the other. + +The paths that are provided to `pluginSearchDirs` will be searched for `@prettier/plugin-*`, `prettier-plugin-*`, and `@*/prettier-plugin-*`. For instance, these can be your project directory, a `node_modules` directory, the location of global npm modules, or any arbitrary directory that contains plugins. + +Strings provided to `plugins` are ultimately passed to `require()`, so you can provide a module/package name, a path, or anything else `require()` takes. (`pluginSearchDirs` works the same way. That is, valid plugin paths that it finds are passed to `require()`.) Providing at least one path to `--plugin-search-dir`/`pluginSearchDirs` turns off plugin autoloading in the default directory (i.e. `node_modules` above `prettier` binary). From b1e59dd70abeafb7d016212827ecec38fdbf9c23 Mon Sep 17 00:00:00 2001 From: fisker Cheung Date: Tue, 8 Feb 2022 10:33:09 +0800 Subject: [PATCH 114/117] Save vendor licenses for build script (#12258) --- cspell.json | 3 +- scripts/build/build.mjs | 5 + scripts/utils/index.mjs | 6 +- scripts/vendors/bundle-vendors.mjs | 34 +++- scripts/vendors/utils.mjs | 23 +++ scripts/vendors/validate-vendor-versions.mjs | 2 +- scripts/vendors/vendor-meta.json | 164 +++++++++++++++++++ scripts/vendors/vendor-versions.json | 4 - scripts/vendors/vendor-versions.mjs | 15 -- 9 files changed, 227 insertions(+), 29 deletions(-) create mode 100644 scripts/vendors/utils.mjs create mode 100644 scripts/vendors/vendor-meta.json delete mode 100644 scripts/vendors/vendor-versions.json delete mode 100644 scripts/vendors/vendor-versions.mjs diff --git a/cspell.json b/cspell.json index 6b9a2c064..dc0c23ca4 100644 --- a/cspell.json +++ b/cspell.json @@ -391,6 +391,7 @@ "website/playground/codeSamples.js", "website/pages/googlefe164a33bda4034b.html", "website/static/lib/**", - "website/static/playground.js" + "website/static/playground.js", + "scripts/vendors/vendor-meta.json" ] } diff --git a/scripts/build/build.mjs b/scripts/build/build.mjs index 65f147e11..f5ca1f495 100644 --- a/scripts/build/build.mjs +++ b/scripts/build/build.mjs @@ -253,6 +253,11 @@ async function run(params) { } if (shouldSaveBundledPackagesLicenses) { + const vendorMeta = await readJson( + new URL("../vendors/vendor-meta.json", import.meta.url) + ); + licenses.push(...vendorMeta.licenses); + await saveLicenses(licenses.filter(({ name }) => name !== "prettier")); } else { console.warn( diff --git a/scripts/utils/index.mjs b/scripts/utils/index.mjs index 46438ac31..9e9e1c5a5 100644 --- a/scripts/utils/index.mjs +++ b/scripts/utils/index.mjs @@ -2,13 +2,15 @@ import fs from "node:fs/promises"; import url from "node:url"; import path from "node:path"; +const toPath = (path) => (path instanceof URL ? url.fileURLToPath(path) : path); + async function readJson(file) { const data = await fs.readFile(file); return JSON.parse(data); } function writeJson(file, content) { - content = JSON.stringify(content, null, 2); + content = JSON.stringify(content, null, 2) + "\n"; return writeFile(file, content); } @@ -18,7 +20,7 @@ async function copyFile(from, to) { } async function writeFile(file, content) { - const directory = path.dirname(file); + const directory = path.dirname(toPath(file)); try { await fs.mkdir(directory, { recursive: true }); } catch { diff --git a/scripts/vendors/bundle-vendors.mjs b/scripts/vendors/bundle-vendors.mjs index 80392e3b6..8a82f8cbc 100644 --- a/scripts/vendors/bundle-vendors.mjs +++ b/scripts/vendors/bundle-vendors.mjs @@ -5,8 +5,10 @@ import path from "node:path"; import createEsmUtils from "esm-utils"; import esbuild from "esbuild"; import { readPackageUp } from "read-pkg-up"; +import { PROJECT_ROOT } from "../utils/index.mjs"; +import esbuildPluginLicense from "../build/esbuild-plugins/license.mjs"; import vendors from "./vendors.mjs"; -import { writeVendorVersions } from "./vendor-versions.mjs"; +import { saveVendorVersions, saveVendorLicenses } from "./utils.mjs"; import esbuildPluginTsNocheck from "./esbuild-plugin-ts-nocheck.mjs"; const { __dirname, require } = createEsmUtils(import.meta); @@ -26,7 +28,7 @@ async function lockVersions(vendors) { const vendorVersion = vendorPackage.version; vendorVersions[vendor] = vendorVersion; } - await writeVendorVersions(vendorVersions); + await saveVendorVersions(vendorVersions); } async function fileExists(filePath) { @@ -46,18 +48,28 @@ async function cleanExistsBundledJS() { } } -async function bundle(vendor) { +async function bundle(vendor, options) { const outfile = getVendorFilePath(vendor); if (await fileExists(outfile)) { await fs.rm(outfile); } + /** @type {import("esbuild").CommonOptions} */ const esbuildOption = { entryPoints: [require.resolve(vendor)], bundle: true, target: ["node12.17.0"], platform: "node", - plugins: [esbuildPluginTsNocheck()], + plugins: [ + esbuildPluginTsNocheck(), + esbuildPluginLicense({ + cwd: PROJECT_ROOT, + thirdParty: { + includePrivate: true, + output: options.onLicenseFound, + }, + }), + ], outfile, }; await esbuild.build(esbuildOption); @@ -76,12 +88,22 @@ async function bundle(vendor) { async function main() { await cleanExistsBundledJS(); + + const licenses = []; for (const vendor of vendors) { - await bundle(vendor); + await bundle(vendor, { + onLicenseFound(dependencies) { + licenses.push(...dependencies); + }, + }); console.log(`Bundled: ${vendor}`); } + await lockVersions(vendors); - console.log("Locked: vendor-versions.json"); + console.log("Vendor versions saved"); + + await saveVendorLicenses(licenses); + console.log("Vendor licenses saved"); } main(); diff --git a/scripts/vendors/utils.mjs b/scripts/vendors/utils.mjs new file mode 100644 index 000000000..b579fd05b --- /dev/null +++ b/scripts/vendors/utils.mjs @@ -0,0 +1,23 @@ +import fs from "node:fs"; +import { readJson, writeJson } from "../utils/index.mjs"; + +const vendorMetaFile = new URL("./vendor-meta.json", import.meta.url); +const getMeta = () => + fs.existsSync(vendorMetaFile) ? readJson(vendorMetaFile) : {}; + +export async function getVendorVersions() { + const meta = await getMeta(); + return meta.versions; +} + +export async function saveVendorVersions(versions) { + const meta = await getMeta(); + meta.versions = versions; + await writeJson(vendorMetaFile, meta); +} + +export async function saveVendorLicenses(licenses) { + const meta = await getMeta(); + meta.licenses = licenses; + await writeJson(vendorMetaFile, meta); +} diff --git a/scripts/vendors/validate-vendor-versions.mjs b/scripts/vendors/validate-vendor-versions.mjs index 3f4033d4d..d5a408af7 100644 --- a/scripts/vendors/validate-vendor-versions.mjs +++ b/scripts/vendors/validate-vendor-versions.mjs @@ -2,7 +2,7 @@ import createEsmUtils from "esm-utils"; import { readPackageUp } from "read-pkg-up"; -import { getVendorVersions } from "./vendor-versions.mjs"; +import { getVendorVersions } from "./utils.mjs"; import vendors from "./vendors.mjs"; const { require } = createEsmUtils(import.meta); diff --git a/scripts/vendors/vendor-meta.json b/scripts/vendors/vendor-meta.json new file mode 100644 index 000000000..acd4925ac --- /dev/null +++ b/scripts/vendors/vendor-meta.json @@ -0,0 +1,164 @@ +{ + "licenses": [ + { + "name": "ansi-regex", + "maintainers": [], + "version": "6.0.1", + "description": "Regular expression for matching ANSI escape codes", + "repository": "chalk/ansi-regex", + "homepage": null, + "private": false, + "license": "MIT", + "licenseText": "MIT License\n\nCopyright (c) Sindre Sorhus (https://sindresorhus.com)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n", + "author": { + "name": "Sindre Sorhus", + "email": "sindresorhus@gmail.com", + "url": "https://sindresorhus.com" + }, + "contributors": [] + }, + { + "name": "strip-ansi", + "maintainers": [], + "version": "7.0.1", + "description": "Strip ANSI escape codes from a string", + "repository": "chalk/strip-ansi", + "homepage": null, + "private": false, + "license": "MIT", + "licenseText": "MIT License\n\nCopyright (c) Sindre Sorhus (https://sindresorhus.com)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n", + "author": { + "name": "Sindre Sorhus", + "email": "sindresorhus@gmail.com", + "url": "https://sindresorhus.com" + }, + "contributors": [] + }, + { + "name": "is-fullwidth-code-point", + "maintainers": [], + "version": "4.0.0", + "description": "Check if the character represented by a given Unicode code point is fullwidth", + "repository": "sindresorhus/is-fullwidth-code-point", + "homepage": null, + "private": false, + "license": "MIT", + "licenseText": "MIT License\n\nCopyright (c) Sindre Sorhus (https://sindresorhus.com)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n", + "author": { + "name": "Sindre Sorhus", + "email": "sindresorhus@gmail.com", + "url": "https://sindresorhus.com" + }, + "contributors": [] + }, + { + "name": "emoji-regex", + "maintainers": [], + "version": "9.2.2", + "description": "A regular expression to match all Emoji-only symbols as per the Unicode Standard.", + "repository": { + "type": "git", + "url": "https://github.com/mathiasbynens/emoji-regex.git" + }, + "homepage": "https://mths.be/emoji-regex", + "private": false, + "license": "MIT", + "licenseText": "Copyright Mathias Bynens \n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\nLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\nWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n", + "author": { + "name": "Mathias Bynens", + "email": null, + "url": "https://mathiasbynens.be/" + }, + "contributors": [] + }, + { + "name": "string-width", + "maintainers": [], + "version": "5.0.1", + "description": "Get the visual width of a string - the number of columns required to display it", + "repository": "sindresorhus/string-width", + "homepage": null, + "private": false, + "license": "MIT", + "licenseText": "MIT License\n\nCopyright (c) Sindre Sorhus (https://sindresorhus.com)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n", + "author": { + "name": "Sindre Sorhus", + "email": "sindresorhus@gmail.com", + "url": "https://sindresorhus.com" + }, + "contributors": [] + }, + { + "name": "mimic-fn", + "maintainers": [], + "version": "4.0.0", + "description": "Make a function mimic another one", + "repository": "sindresorhus/mimic-fn", + "homepage": null, + "private": false, + "license": "MIT", + "licenseText": "MIT License\n\nCopyright (c) Sindre Sorhus (https://sindresorhus.com)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n", + "author": { + "name": "Sindre Sorhus", + "email": "sindresorhus@gmail.com", + "url": "https://sindresorhus.com" + }, + "contributors": [] + }, + { + "name": "p-defer", + "maintainers": [], + "version": "1.0.0", + "description": "Create a deferred promise", + "repository": "sindresorhus/p-defer", + "homepage": null, + "private": false, + "license": "MIT", + "licenseText": "The MIT License (MIT)\n\nCopyright (c) Sindre Sorhus (sindresorhus.com)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n", + "author": { + "name": "Sindre Sorhus", + "email": "sindresorhus@gmail.com", + "url": "sindresorhus.com" + }, + "contributors": [] + }, + { + "name": "map-age-cleaner", + "maintainers": [], + "version": "0.1.3", + "description": "Automatically cleanup expired items in a Map", + "repository": "SamVerschueren/map-age-cleaner", + "homepage": null, + "private": false, + "license": "MIT", + "licenseText": "MIT License\n\nCopyright (c) Sam Verschueren (github.com/SamVerschueren)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n", + "author": { + "name": "Sam Verschueren", + "email": "sam.verschueren@gmail.com", + "url": "github.com/SamVerschueren" + }, + "contributors": [] + }, + { + "name": "mem", + "maintainers": [], + "version": "9.0.2", + "description": "Memoize functions - An optimization used to speed up consecutive function calls by caching the result of calls with identical input", + "repository": "sindresorhus/mem", + "homepage": null, + "private": false, + "license": "MIT", + "licenseText": "MIT License\n\nCopyright (c) Sindre Sorhus (https://sindresorhus.com)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n", + "author": { + "name": "Sindre Sorhus", + "email": "sindresorhus@gmail.com", + "url": "https://sindresorhus.com" + }, + "contributors": [] + } + ], + "versions": { + "string-width": "5.0.1", + "mem": "9.0.2" + } +} diff --git a/scripts/vendors/vendor-versions.json b/scripts/vendors/vendor-versions.json deleted file mode 100644 index 37af8fec9..000000000 --- a/scripts/vendors/vendor-versions.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "string-width": "5.0.1", - "mem": "9.0.2" -} diff --git a/scripts/vendors/vendor-versions.mjs b/scripts/vendors/vendor-versions.mjs deleted file mode 100644 index 37ae16521..000000000 --- a/scripts/vendors/vendor-versions.mjs +++ /dev/null @@ -1,15 +0,0 @@ -import fs from "node:fs/promises"; - -const vendorVersionsPath = new URL("./vendor-versions.json", import.meta.url); - -export async function getVendorVersions() { - return JSON.parse(await fs.readFile(vendorVersionsPath)); -} - -export async function writeVendorVersions(data) { - await fs.writeFile( - vendorVersionsPath, - JSON.stringify(data, null, 2) + "\n", - "utf-8" - ); -} From 6d02cd9650be29d1b11ab6ff1442eac4f5415c06 Mon Sep 17 00:00:00 2001 From: fisker Cheung Date: Tue, 8 Feb 2022 15:06:31 +0800 Subject: [PATCH 115/117] Add parens to `ClassExpression` with decorators (#12260) --- changelog_unreleased/javascript/12260.md | 24 + src/language-js/needs-parens.js | 5 + src/language-js/printer-estree.js | 37 +- .../__snapshots__/jsfmt.spec.js.snap | 20 +- .../__snapshots__/jsfmt.spec.js.snap | 543 ++++++++++++++++++ .../decorators/class-expression/arguments.js | 2 + .../class-expression/class-expression.js | 14 + .../decorators/class-expression/jsfmt.spec.js | 9 + .../class-expression/member-expression.js | 2 + .../class-expression/super-class.js | 3 + .../type-arguments-bit-shift-left-like/4.ts | 1 + .../__snapshots__/jsfmt.spec.js.snap | 24 + .../jsfmt.spec.js | 2 +- 13 files changed, 673 insertions(+), 13 deletions(-) create mode 100644 changelog_unreleased/javascript/12260.md create mode 100644 tests/format/js/decorators/class-expression/__snapshots__/jsfmt.spec.js.snap create mode 100644 tests/format/js/decorators/class-expression/arguments.js create mode 100644 tests/format/js/decorators/class-expression/class-expression.js create mode 100644 tests/format/js/decorators/class-expression/jsfmt.spec.js create mode 100644 tests/format/js/decorators/class-expression/member-expression.js create mode 100644 tests/format/js/decorators/class-expression/super-class.js create mode 100644 tests/format/typescript/type-arguments-bit-shift-left-like/4.ts diff --git a/changelog_unreleased/javascript/12260.md b/changelog_unreleased/javascript/12260.md new file mode 100644 index 000000000..423c052e8 --- /dev/null +++ b/changelog_unreleased/javascript/12260.md @@ -0,0 +1,24 @@ +#### Add parens to `ClassExpression` with decorators (#12260 by @fisker) + + +```js +// Input +(@f() class {}); + +// Prettier stable +@f() +class {}; + +// Prettier stable (Second format) +SyntaxError: A class name is required. (2:7) + 1 | @f() +> 2 | class {}; + | ^ + 3 | + +// Prettier main +( + @f() + class {} +); +``` diff --git a/src/language-js/needs-parens.js b/src/language-js/needs-parens.js index 970ebd713..0695e9731 100644 --- a/src/language-js/needs-parens.js +++ b/src/language-js/needs-parens.js @@ -1,6 +1,7 @@ "use strict"; const getLast = require("../utils/get-last.js"); +const isNonEmptyArray = require("../utils/is-non-empty-array.js"); const { getFunctionParameters, getLeftSidePathName, @@ -667,6 +668,10 @@ function needsParens(path, options) { } case "ClassExpression": + if (isNonEmptyArray(node.decorators)) { + return true; + } + switch (parent.type) { case "NewExpression": return name === "callee"; diff --git a/src/language-js/printer-estree.js b/src/language-js/printer-estree.js index 4decdd780..4321e9691 100644 --- a/src/language-js/printer-estree.js +++ b/src/language-js/printer-estree.js @@ -106,19 +106,44 @@ function genericPrint(path, options, print, args) { return printed; } + let parts = [printed]; + const printedDecorators = printDecorators(path, options, print); - // Nodes with decorators can't have parentheses and don't need leading semicolons + const isClassExpressionWithDecorators = + node.type === "ClassExpression" && printedDecorators; + // Nodes (except `ClassExpression`) with decorators can't have parentheses and don't need leading semicolons if (printedDecorators) { - return group([...printedDecorators, printed]); + parts = [...printedDecorators, printed]; + + if (!isClassExpressionWithDecorators) { + return group(parts); + } } const needsParens = pathNeedsParens(path, options); if (!needsParens) { - return args && args.needsSemi ? [";", printed] : printed; + if (args && args.needsSemi) { + parts.unshift(";"); + } + + // In member-chain print, it add `label` to the doc, if we return array here it will be broken + if (parts.length === 1 && parts[0] === printed) { + return printed; + } + + return parts; } - const parts = [args && args.needsSemi ? ";(" : "(", printed]; + if (isClassExpressionWithDecorators) { + parts = [indent([line, ...parts])]; + } + + parts.unshift("("); + + if (args && args.needsSemi) { + parts.unshift(";"); + } if (hasFlowShorthandAnnotationComment(node)) { const [comment] = node.trailingComments; @@ -126,6 +151,10 @@ function genericPrint(path, options, print, args) { comment.printed = true; } + if (isClassExpressionWithDecorators) { + parts.push(line); + } + parts.push(")"); return parts; diff --git a/tests/format/js/decorators/__snapshots__/jsfmt.spec.js.snap b/tests/format/js/decorators/__snapshots__/jsfmt.spec.js.snap index 473c24d21..091a9620b 100644 --- a/tests/format/js/decorators/__snapshots__/jsfmt.spec.js.snap +++ b/tests/format/js/decorators/__snapshots__/jsfmt.spec.js.snap @@ -51,16 +51,20 @@ export class Bar {} export default class Baz {} const foo = - @deco - class { - // - }; + ( + @deco + class { + // + } + ); const bar = - @deco - class { - // - }; + ( + @deco + class { + // + } + ); ================================================================================ `; diff --git a/tests/format/js/decorators/class-expression/__snapshots__/jsfmt.spec.js.snap b/tests/format/js/decorators/class-expression/__snapshots__/jsfmt.spec.js.snap new file mode 100644 index 000000000..b92b25fad --- /dev/null +++ b/tests/format/js/decorators/class-expression/__snapshots__/jsfmt.spec.js.snap @@ -0,0 +1,543 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`arguments.js [acorn] format 1`] = ` +"Unexpected character '@' (1:13) +> 1 | console.log(@deco class Foo {}) + | ^ + 2 | console.log(@deco class {}) + 3 |" +`; + +exports[`arguments.js [espree] format 1`] = ` +"Unexpected character '@' (1:13) +> 1 | console.log(@deco class Foo {}) + | ^ + 2 | console.log(@deco class {}) + 3 |" +`; + +exports[`arguments.js [flow] format 1`] = ` +"Unexpected token \`@\` (1:13) +> 1 | console.log(@deco class Foo {}) + | ^ + 2 | console.log(@deco class {}) + 3 |" +`; + +exports[`arguments.js [typescript] format 1`] = ` +"Argument expression expected. (1:13) +> 1 | console.log(@deco class Foo {}) + | ^ + 2 | console.log(@deco class {}) + 3 |" +`; + +exports[`arguments.js - {"semi":false} [acorn] format 1`] = ` +"Unexpected character '@' (1:13) +> 1 | console.log(@deco class Foo {}) + | ^ + 2 | console.log(@deco class {}) + 3 |" +`; + +exports[`arguments.js - {"semi":false} [espree] format 1`] = ` +"Unexpected character '@' (1:13) +> 1 | console.log(@deco class Foo {}) + | ^ + 2 | console.log(@deco class {}) + 3 |" +`; + +exports[`arguments.js - {"semi":false} [flow] format 1`] = ` +"Unexpected token \`@\` (1:13) +> 1 | console.log(@deco class Foo {}) + | ^ + 2 | console.log(@deco class {}) + 3 |" +`; + +exports[`arguments.js - {"semi":false} [typescript] format 1`] = ` +"Argument expression expected. (1:13) +> 1 | console.log(@deco class Foo {}) + | ^ + 2 | console.log(@deco class {}) + 3 |" +`; + +exports[`arguments.js - {"semi":false} format 1`] = ` +====================================options===================================== +parsers: ["babel", "flow", "typescript"] +printWidth: 80 +semi: false + | printWidth +=====================================input====================================== +console.log(@deco class Foo {}) +console.log(@deco class {}) + +=====================================output===================================== +console.log( + ( + @deco + class Foo {} + ) +) +console.log( + ( + @deco + class {} + ) +) + +================================================================================ +`; + +exports[`arguments.js format 1`] = ` +====================================options===================================== +parsers: ["babel", "flow", "typescript"] +printWidth: 80 + | printWidth +=====================================input====================================== +console.log(@deco class Foo {}) +console.log(@deco class {}) + +=====================================output===================================== +console.log( + ( + @deco + class Foo {} + ) +); +console.log( + ( + @deco + class {} + ) +); + +================================================================================ +`; + +exports[`class-expression.js [acorn] format 1`] = ` +"Unexpected character '@' (1:13) +> 1 | const a1 = (@deco class Foo {}); + | ^ + 2 | const a2 = (@deco class {}); + 3 | + 4 | (@deco class Foo {});" +`; + +exports[`class-expression.js [espree] format 1`] = ` +"Unexpected character '@' (1:13) +> 1 | const a1 = (@deco class Foo {}); + | ^ + 2 | const a2 = (@deco class {}); + 3 | + 4 | (@deco class Foo {});" +`; + +exports[`class-expression.js [flow] format 1`] = ` +"Unexpected token \`@\` (1:13) +> 1 | const a1 = (@deco class Foo {}); + | ^ + 2 | const a2 = (@deco class {}); + 3 | + 4 | (@deco class Foo {});" +`; + +exports[`class-expression.js [typescript] format 1`] = ` +"Expression expected. (1:13) +> 1 | const a1 = (@deco class Foo {}); + | ^ + 2 | const a2 = (@deco class {}); + 3 | + 4 | (@deco class Foo {});" +`; + +exports[`class-expression.js - {"semi":false} [acorn] format 1`] = ` +"Unexpected character '@' (1:13) +> 1 | const a1 = (@deco class Foo {}); + | ^ + 2 | const a2 = (@deco class {}); + 3 | + 4 | (@deco class Foo {});" +`; + +exports[`class-expression.js - {"semi":false} [espree] format 1`] = ` +"Unexpected character '@' (1:13) +> 1 | const a1 = (@deco class Foo {}); + | ^ + 2 | const a2 = (@deco class {}); + 3 | + 4 | (@deco class Foo {});" +`; + +exports[`class-expression.js - {"semi":false} [flow] format 1`] = ` +"Unexpected token \`@\` (1:13) +> 1 | const a1 = (@deco class Foo {}); + | ^ + 2 | const a2 = (@deco class {}); + 3 | + 4 | (@deco class Foo {});" +`; + +exports[`class-expression.js - {"semi":false} [typescript] format 1`] = ` +"Expression expected. (1:13) +> 1 | const a1 = (@deco class Foo {}); + | ^ + 2 | const a2 = (@deco class {}); + 3 | + 4 | (@deco class Foo {});" +`; + +exports[`class-expression.js - {"semi":false} format 1`] = ` +====================================options===================================== +parsers: ["babel", "flow", "typescript"] +printWidth: 80 +semi: false + | printWidth +=====================================input====================================== +const a1 = (@deco class Foo {}); +const a2 = (@deco class {}); + +(@deco class Foo {}); +(@deco class {}); + +const b1 = [] +;(@deco class Foo {}) + +const b2 = [] +;(@deco class {}) + +// This is not a \`ClassExpression\` but \`ClassDeclaration\` +@deco class Foo {} + +=====================================output===================================== +const a1 = + ( + @deco + class Foo {} + ) +const a2 = + ( + @deco + class {} + ) + +;( + @deco + class Foo {} +) +;( + @deco + class {} +) + +const b1 = [] +;( + @deco + class Foo {} +) + +const b2 = [] +;( + @deco + class {} +) + +// This is not a \`ClassExpression\` but \`ClassDeclaration\` +@deco +class Foo {} + +================================================================================ +`; + +exports[`class-expression.js format 1`] = ` +====================================options===================================== +parsers: ["babel", "flow", "typescript"] +printWidth: 80 + | printWidth +=====================================input====================================== +const a1 = (@deco class Foo {}); +const a2 = (@deco class {}); + +(@deco class Foo {}); +(@deco class {}); + +const b1 = [] +;(@deco class Foo {}) + +const b2 = [] +;(@deco class {}) + +// This is not a \`ClassExpression\` but \`ClassDeclaration\` +@deco class Foo {} + +=====================================output===================================== +const a1 = + ( + @deco + class Foo {} + ); +const a2 = + ( + @deco + class {} + ); + +( + @deco + class Foo {} +); +( + @deco + class {} +); + +const b1 = []; +( + @deco + class Foo {} +); + +const b2 = []; +( + @deco + class {} +); + +// This is not a \`ClassExpression\` but \`ClassDeclaration\` +@deco +class Foo {} + +================================================================================ +`; + +exports[`member-expression.js [acorn] format 1`] = ` +"Unexpected character '@' (1:2) +> 1 | (@deco class Foo {}).name; + | ^ + 2 | (@deco class {}).name; + 3 |" +`; + +exports[`member-expression.js [espree] format 1`] = ` +"Unexpected character '@' (1:2) +> 1 | (@deco class Foo {}).name; + | ^ + 2 | (@deco class {}).name; + 3 |" +`; + +exports[`member-expression.js [flow] format 1`] = ` +"Unexpected token \`@\` (1:2) +> 1 | (@deco class Foo {}).name; + | ^ + 2 | (@deco class {}).name; + 3 |" +`; + +exports[`member-expression.js [typescript] format 1`] = ` +"Expression expected. (1:2) +> 1 | (@deco class Foo {}).name; + | ^ + 2 | (@deco class {}).name; + 3 |" +`; + +exports[`member-expression.js - {"semi":false} [acorn] format 1`] = ` +"Unexpected character '@' (1:2) +> 1 | (@deco class Foo {}).name; + | ^ + 2 | (@deco class {}).name; + 3 |" +`; + +exports[`member-expression.js - {"semi":false} [espree] format 1`] = ` +"Unexpected character '@' (1:2) +> 1 | (@deco class Foo {}).name; + | ^ + 2 | (@deco class {}).name; + 3 |" +`; + +exports[`member-expression.js - {"semi":false} [flow] format 1`] = ` +"Unexpected token \`@\` (1:2) +> 1 | (@deco class Foo {}).name; + | ^ + 2 | (@deco class {}).name; + 3 |" +`; + +exports[`member-expression.js - {"semi":false} [typescript] format 1`] = ` +"Expression expected. (1:2) +> 1 | (@deco class Foo {}).name; + | ^ + 2 | (@deco class {}).name; + 3 |" +`; + +exports[`member-expression.js - {"semi":false} format 1`] = ` +====================================options===================================== +parsers: ["babel", "flow", "typescript"] +printWidth: 80 +semi: false + | printWidth +=====================================input====================================== +(@deco class Foo {}).name; +(@deco class {}).name; + +=====================================output===================================== +;(( + @deco + class Foo {} +).name) +;(( + @deco + class {} +).name) + +================================================================================ +`; + +exports[`member-expression.js format 1`] = ` +====================================options===================================== +parsers: ["babel", "flow", "typescript"] +printWidth: 80 + | printWidth +=====================================input====================================== +(@deco class Foo {}).name; +(@deco class {}).name; + +=====================================output===================================== +(( + @deco + class Foo {} +).name); +(( + @deco + class {} +).name); + +================================================================================ +`; + +exports[`super-class.js [acorn] format 1`] = ` +"Unexpected character '@' (1:20) +> 1 | class Foo extends (@deco class Foo {}){} + | ^ + 2 | + 3 | class Foo extends (@deco class {}){} + 4 |" +`; + +exports[`super-class.js [espree] format 1`] = ` +"Unexpected character '@' (1:20) +> 1 | class Foo extends (@deco class Foo {}){} + | ^ + 2 | + 3 | class Foo extends (@deco class {}){} + 4 |" +`; + +exports[`super-class.js [flow] format 1`] = ` +"Unexpected token \`@\` (1:20) +> 1 | class Foo extends (@deco class Foo {}){} + | ^ + 2 | + 3 | class Foo extends (@deco class {}){} + 4 |" +`; + +exports[`super-class.js [typescript] format 1`] = ` +"Expression expected. (1:20) +> 1 | class Foo extends (@deco class Foo {}){} + | ^ + 2 | + 3 | class Foo extends (@deco class {}){} + 4 |" +`; + +exports[`super-class.js - {"semi":false} [acorn] format 1`] = ` +"Unexpected character '@' (1:20) +> 1 | class Foo extends (@deco class Foo {}){} + | ^ + 2 | + 3 | class Foo extends (@deco class {}){} + 4 |" +`; + +exports[`super-class.js - {"semi":false} [espree] format 1`] = ` +"Unexpected character '@' (1:20) +> 1 | class Foo extends (@deco class Foo {}){} + | ^ + 2 | + 3 | class Foo extends (@deco class {}){} + 4 |" +`; + +exports[`super-class.js - {"semi":false} [flow] format 1`] = ` +"Unexpected token \`@\` (1:20) +> 1 | class Foo extends (@deco class Foo {}){} + | ^ + 2 | + 3 | class Foo extends (@deco class {}){} + 4 |" +`; + +exports[`super-class.js - {"semi":false} [typescript] format 1`] = ` +"Expression expected. (1:20) +> 1 | class Foo extends (@deco class Foo {}){} + | ^ + 2 | + 3 | class Foo extends (@deco class {}){} + 4 |" +`; + +exports[`super-class.js - {"semi":false} format 1`] = ` +====================================options===================================== +parsers: ["babel", "flow", "typescript"] +printWidth: 80 +semi: false + | printWidth +=====================================input====================================== +class Foo extends (@deco class Foo {}){} + +class Foo extends (@deco class {}){} + +=====================================output===================================== +class Foo extends ( + @deco + class Foo {} +) {} + +class Foo extends ( + @deco + class {} +) {} + +================================================================================ +`; + +exports[`super-class.js format 1`] = ` +====================================options===================================== +parsers: ["babel", "flow", "typescript"] +printWidth: 80 + | printWidth +=====================================input====================================== +class Foo extends (@deco class Foo {}){} + +class Foo extends (@deco class {}){} + +=====================================output===================================== +class Foo extends ( + @deco + class Foo {} +) {} + +class Foo extends ( + @deco + class {} +) {} + +================================================================================ +`; diff --git a/tests/format/js/decorators/class-expression/arguments.js b/tests/format/js/decorators/class-expression/arguments.js new file mode 100644 index 000000000..4248b3a8f --- /dev/null +++ b/tests/format/js/decorators/class-expression/arguments.js @@ -0,0 +1,2 @@ +console.log(@deco class Foo {}) +console.log(@deco class {}) diff --git a/tests/format/js/decorators/class-expression/class-expression.js b/tests/format/js/decorators/class-expression/class-expression.js new file mode 100644 index 000000000..29aa9e0ae --- /dev/null +++ b/tests/format/js/decorators/class-expression/class-expression.js @@ -0,0 +1,14 @@ +const a1 = (@deco class Foo {}); +const a2 = (@deco class {}); + +(@deco class Foo {}); +(@deco class {}); + +const b1 = [] +;(@deco class Foo {}) + +const b2 = [] +;(@deco class {}) + +// This is not a `ClassExpression` but `ClassDeclaration` +@deco class Foo {} diff --git a/tests/format/js/decorators/class-expression/jsfmt.spec.js b/tests/format/js/decorators/class-expression/jsfmt.spec.js new file mode 100644 index 000000000..b7c768416 --- /dev/null +++ b/tests/format/js/decorators/class-expression/jsfmt.spec.js @@ -0,0 +1,9 @@ +const errors = { + flow: true, + typescript: true, + acorn: true, + espree: true, +}; + +run_spec(__dirname, ["babel", "flow", "typescript"], { errors }); +run_spec(__dirname, ["babel", "flow", "typescript"], { semi: false, errors }); diff --git a/tests/format/js/decorators/class-expression/member-expression.js b/tests/format/js/decorators/class-expression/member-expression.js new file mode 100644 index 000000000..701f661d7 --- /dev/null +++ b/tests/format/js/decorators/class-expression/member-expression.js @@ -0,0 +1,2 @@ +(@deco class Foo {}).name; +(@deco class {}).name; diff --git a/tests/format/js/decorators/class-expression/super-class.js b/tests/format/js/decorators/class-expression/super-class.js new file mode 100644 index 000000000..a51cc69ec --- /dev/null +++ b/tests/format/js/decorators/class-expression/super-class.js @@ -0,0 +1,3 @@ +class Foo extends (@deco class Foo {}){} + +class Foo extends (@deco class {}){} diff --git a/tests/format/typescript/type-arguments-bit-shift-left-like/4.ts b/tests/format/typescript/type-arguments-bit-shift-left-like/4.ts new file mode 100644 index 000000000..7316ad255 --- /dev/null +++ b/tests/format/typescript/type-arguments-bit-shift-left-like/4.ts @@ -0,0 +1 @@ +(@f<(v: T) => void>() class {}); diff --git a/tests/format/typescript/type-arguments-bit-shift-left-like/__snapshots__/jsfmt.spec.js.snap b/tests/format/typescript/type-arguments-bit-shift-left-like/__snapshots__/jsfmt.spec.js.snap index b7feff584..99030dc59 100644 --- a/tests/format/typescript/type-arguments-bit-shift-left-like/__snapshots__/jsfmt.spec.js.snap +++ b/tests/format/typescript/type-arguments-bit-shift-left-like/__snapshots__/jsfmt.spec.js.snap @@ -49,6 +49,30 @@ exports[`3.ts [typescript] format 1`] = ` 2 |" `; +exports[`4.ts [babel-ts] format 1`] = ` +====================================options===================================== +parsers: ["typescript"] +printWidth: 80 + | printWidth +=====================================input====================================== +(@f<(v: T) => void>() class {}); + +=====================================output===================================== +( + @f<(v: T) => void>() + class {} +); + +================================================================================ +`; + +exports[`4.ts [typescript] format 1`] = ` +"Expression expected. (1:2) +> 1 | (@f<(v: T) => void>() class {}); + | ^ + 2 |" +`; + exports[`5.tsx [babel-ts] format 1`] = ` ====================================options===================================== parsers: ["typescript"] diff --git a/tests/format/typescript/type-arguments-bit-shift-left-like/jsfmt.spec.js b/tests/format/typescript/type-arguments-bit-shift-left-like/jsfmt.spec.js index b3acebe65..2775ae278 100644 --- a/tests/format/typescript/type-arguments-bit-shift-left-like/jsfmt.spec.js +++ b/tests/format/typescript/type-arguments-bit-shift-left-like/jsfmt.spec.js @@ -1,3 +1,3 @@ run_spec(__dirname, ["typescript"], { - errors: { typescript: ["3.ts", "5.tsx"] }, + errors: { typescript: ["3.ts", "4.ts", "5.tsx"] }, }); From f5b41bf13346a88247eff80e85fbb3b7c5069592 Mon Sep 17 00:00:00 2001 From: fisker Cheung Date: Tue, 8 Feb 2022 23:36:48 +0800 Subject: [PATCH 116/117] Remove `babel-loader` (#12263) --- package.json | 1 - yarn.lock | 63 +++------------------------------------------------- 2 files changed, 3 insertions(+), 61 deletions(-) diff --git a/package.json b/package.json index 589c4aa46..031a328a6 100644 --- a/package.json +++ b/package.json @@ -99,7 +99,6 @@ "@types/jest": "27.4.0", "@typescript-eslint/eslint-plugin": "5.10.2", "babel-jest": "27.5.0", - "babel-loader": "8.2.3", "benchmark": "2.1.4", "browserslist-to-esbuild": "1.1.1", "builtin-modules": "3.2.0", diff --git a/yarn.lock b/yarn.lock index 821b59ea6..94f90f354 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1613,7 +1613,7 @@ jest-diff "^27.0.0" pretty-format "^27.0.0" -"@types/json-schema@^7.0.5", "@types/json-schema@^7.0.9": +"@types/json-schema@^7.0.9": version "7.0.9" resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.9.tgz#97edc9037ea0c38585320b28964dde3b39e4660d" integrity sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ== @@ -1783,11 +1783,6 @@ aggregate-error@^3.0.0: clean-stack "^2.0.0" indent-string "^4.0.0" -ajv-keywords@^3.5.2: - version "3.5.2" - resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" - integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== - ajv@^6.10.0, ajv@^6.12.4: version "6.12.6" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" @@ -1954,16 +1949,6 @@ babel-jest@27.5.0, babel-jest@^27.5.0: graceful-fs "^4.2.9" slash "^3.0.0" -babel-loader@8.2.3: - version "8.2.3" - resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.2.3.tgz#8986b40f1a64cacfcb4b8429320085ef68b1342d" - integrity sha512-n4Zeta8NC3QAsuyiizu0GkmRcQ6clkV9WFUnUf1iXP//IeSKbWjofW3UHyZVwlOB4y039YQKefawyTn64Zwbuw== - dependencies: - find-cache-dir "^3.3.1" - loader-utils "^1.4.0" - make-dir "^3.1.0" - schema-utils "^2.6.5" - babel-plugin-dynamic-import-node@^2.3.3: version "2.3.3" resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz#84fda19c976ec5c6defef57f9427b3def66e17a3" @@ -2060,11 +2045,6 @@ benchmark@2.1.4: lodash "^4.17.4" platform "^1.3.3" -big.js@^5.2.2: - version "5.2.2" - resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" - integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== - brace-expansion@^1.1.7: version "1.1.11" resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" @@ -2324,11 +2304,6 @@ commenting@1.1.0: resolved "https://registry.yarnpkg.com/commenting/-/commenting-1.1.0.tgz#fae14345c6437b8554f30bc6aa6c1e1633033590" integrity sha512-YeNK4tavZwtH7jEgK1ZINXzLKm6DZdEMfsaaieOsCAN0S8vsY7UeuO3Q7d/M018EFgE+IeUAuBOKkFccBZsUZA== -commondir@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" - integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= - concat-map@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" @@ -2683,11 +2658,6 @@ emoji-regex@^9.2.2: resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== -emojis-list@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78" - integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q== - enquirer@2.3.6: version "2.3.6" resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d" @@ -3259,15 +3229,6 @@ fill-range@^7.0.1: dependencies: to-regex-range "^5.0.1" -find-cache-dir@^3.3.1: - version "3.3.2" - resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.2.tgz#b30c5b6eff0730731aea9bbd9dbecbd80256d64b" - integrity sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig== - dependencies: - commondir "^1.0.1" - make-dir "^3.0.2" - pkg-dir "^4.1.0" - find-parent-dir@0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/find-parent-dir/-/find-parent-dir-0.3.1.tgz#c5c385b96858c3351f95d446cab866cbf9f11125" @@ -4538,15 +4499,6 @@ load-json-file@^4.0.0: pify "^3.0.0" strip-bom "^3.0.0" -loader-utils@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.0.tgz#c579b5e34cb34b1a74edc6c1fb36bfa371d5a613" - integrity sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA== - dependencies: - big.js "^5.2.2" - emojis-list "^3.0.0" - json5 "^1.0.1" - locate-path@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" @@ -4625,7 +4577,7 @@ magic-string@0.25.7, magic-string@^0.25.3: dependencies: sourcemap-codec "^1.4.4" -make-dir@^3.0.0, make-dir@^3.0.2, make-dir@^3.1.0: +make-dir@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== @@ -5192,7 +5144,7 @@ pirates@^4.0.4: resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.5.tgz#feec352ea5c3268fb23a37c702ab1699f35a5f3b" integrity sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ== -pkg-dir@^4.1.0, pkg-dir@^4.2.0: +pkg-dir@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== @@ -5649,15 +5601,6 @@ saxes@^5.0.1: dependencies: xmlchars "^2.2.0" -schema-utils@^2.6.5: - version "2.7.1" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.7.1.tgz#1ca4f32d1b24c590c203b8e7a50bf0ea4cd394d7" - integrity sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg== - dependencies: - "@types/json-schema" "^7.0.5" - ajv "^6.12.4" - ajv-keywords "^3.5.2" - scslre@^0.1.6: version "0.1.6" resolved "https://registry.yarnpkg.com/scslre/-/scslre-0.1.6.tgz#71a2832e4bf3a9254973a04fbed90aec94f75757" From ed951b316799dd169fdf208cd74d0b9eb1566055 Mon Sep 17 00:00:00 2001 From: fisker Cheung Date: Wed, 9 Feb 2022 08:30:36 +0800 Subject: [PATCH 117/117] Update `test:dist-lint` script (#12262) --- .github/workflows/prod-test.yml | 2 +- package.json | 2 +- scripts/bundle-eslint-config.cjs | 70 ++++++++++++++++++++++++++++++++ scripts/bundle-eslint-config.js | 26 ------------ 4 files changed, 72 insertions(+), 28 deletions(-) create mode 100644 scripts/bundle-eslint-config.cjs delete mode 100644 scripts/bundle-eslint-config.js diff --git a/.github/workflows/prod-test.yml b/.github/workflows/prod-test.yml index fe4dbafaf..fa8b39172 100644 --- a/.github/workflows/prod-test.yml +++ b/.github/workflows/prod-test.yml @@ -65,7 +65,7 @@ jobs: path: dist - name: Lint Code - run: yarn lint:dist + run: yarn test:dist-lint test: timeout-minutes: 90 diff --git a/package.json b/package.json index 031a328a6..a4afae3ee 100644 --- a/package.json +++ b/package.json @@ -144,6 +144,7 @@ "test:dist": "cross-env NODE_ENV=production jest", "test:dist-standalone": "cross-env NODE_ENV=production TEST_STANDALONE=1 jest", "test:integration": "jest tests/integration", + "test:dist-lint": "eslint --no-eslintrc --no-ignore --no-inline-config --config=./scripts/bundle-eslint-config.cjs \"dist/**/*.{js,mjs}\"", "perf:repeat": "yarn && yarn build && cross-env NODE_ENV=production node ./dist/bin-prettier.js --debug-repeat ${PERF_REPEAT:-1000} --loglevel debug ${PERF_FILE:-./index.js} > /dev/null", "perf:repeat-inspect": "yarn && yarn build && cross-env NODE_ENV=production node --inspect-brk ./dist/bin-prettier.js --debug-repeat ${PERF_REPEAT:-1000} --loglevel debug ${PERF_FILE:-./index.js} > /dev/null", "perf:benchmark": "yarn && yarn build && cross-env NODE_ENV=production node ./dist/bin-prettier.js --debug-benchmark --loglevel debug ${PERF_FILE:-./index.js} > /dev/null", @@ -152,7 +153,6 @@ "lint:eslint": "cross-env EFF_NO_LINK_RULES=true eslint . --format friendly", "lint:changelog": "node ./scripts/lint-changelog.mjs", "lint:prettier": "prettier . \"!test*\" --check", - "lint:dist": "eslint --no-eslintrc --no-ignore --no-inline-config --config=./scripts/bundle-eslint-config.js \"dist/!(bin-prettier|index|third-party).js\"", "lint:spellcheck": "cspell --no-progress --relative --dot --gitignore", "lint:deps": "node ./scripts/check-deps.mjs", "lint:actionlint": "node-actionlint", diff --git a/scripts/bundle-eslint-config.cjs b/scripts/bundle-eslint-config.cjs new file mode 100644 index 000000000..e1f3c4bb8 --- /dev/null +++ b/scripts/bundle-eslint-config.cjs @@ -0,0 +1,70 @@ +"use strict"; + +const targets = require("../package.json").browserslist; + +module.exports = { + root: true, + parserOptions: { + ecmaVersion: "latest", + }, + settings: { + targets, + lintAllEsApis: true, + polyfills: [ + // These are not really polyfilled, but seems safe to use in target browsers + "BigInt", + "Symbol.asyncIterator", + ], + }, + plugins: ["compat"], + overrides: [ + { + files: ["**/*.mjs"], + parserOptions: { + sourceType: "module", + }, + }, + { + files: [ + "doc.js", + "parser-*.js", + "standalone.js", + "parser-*.mjs", + "standalone.mjs", + ], + env: { + browser: true, + }, + rules: { + "compat/compat": "error", + }, + }, + { + files: ["index.js", "bin-prettier.js", "third-party.js"], + rules: { + "no-restricted-syntax": [ + "error", + // Forbid top level `require()` parsers + { + selector: + 'CallExpression:not(:function *)[callee.name="require"][arguments.0.value=/parser-/]', + message: "Parsers should be inline `require()`d.", + }, + ], + }, + }, + { + files: ["doc.js", "parser-*.js", "standalone.js"], + rules: { + "no-restricted-syntax": [ + "error", + // Forbid `require()` + { + selector: 'CallExpression[callee.name="require"]', + message: "UMD bundles should not include any `require()` call.", + }, + ], + }, + }, + ], +}; diff --git a/scripts/bundle-eslint-config.js b/scripts/bundle-eslint-config.js deleted file mode 100644 index 01e9edda1..000000000 --- a/scripts/bundle-eslint-config.js +++ /dev/null @@ -1,26 +0,0 @@ -"use strict"; - -const targets = require("../package.json").browserslist; - -module.exports = { - root: true, - env: { - browser: true, - }, - parserOptions: { - ecmaVersion: "latest", - }, - settings: { - targets, - lintAllEsApis: true, - polyfills: [ - // These are not really polyfilled, but seems safe to use in target browsers - "BigInt", - "Symbol.asyncIterator", - ], - }, - plugins: ["compat"], - rules: { - "compat/compat": "error", - }, -};