diff --git a/.eslintrc.cjs b/.eslintrc.cjs index 050c03087..5cfd6fc54 100644 --- a/.eslintrc.cjs +++ b/.eslintrc.cjs @@ -329,6 +329,15 @@ module.exports = { files: ["scripts/tools/eslint-plugin-prettier-internal-rules/**/*.js"], rules: { "import/no-extraneous-dependencies": "error", + } + }, + { + files: ["bin/prettier.js"], + parserOptions: { + ecmaVersion: 5, + }, + rules: { + "no-var": "off", }, }, ], diff --git a/.github/workflows/prod-test.yml b/.github/workflows/prod-test.yml index 5399df8c5..915c4e58b 100644 --- a/.github/workflows/prod-test.yml +++ b/.github/workflows/prod-test.yml @@ -136,3 +136,28 @@ jobs: env: NODE_ENV: production PRETTIER_FALLBACK_RESOLVE: true + + cli: + name: CLI + runs-on: ubuntu-latest + needs: [build] + steps: + - name: Checkout + uses: actions/checkout@v2.4.0 + + - name: Setup Node.js + uses: actions/setup-node@v2.5.1 + with: + node-version: "0.10.48" + + - name: Download Artifact + uses: actions/download-artifact@v2 + with: + name: dist + path: dist + + - name: Validate Node.js Version + run: node -v | grep "v0.10.48" || exit 1 + + - name: Run CLI on Node.js v0.10.48 + run: node dist/bin-prettier --version 2>&1 >/dev/null | grep "prettier requires at least version 10.13.0 of Node, please upgrade" || exit 1 diff --git a/docs/index.md b/docs/index.md index fb5d92615..735d3f2a5 100644 --- a/docs/index.md +++ b/docs/index.md @@ -13,6 +13,7 @@ Prettier is an opinionated code formatter with support for: - [TypeScript](https://www.typescriptlang.org/) - CSS, [Less](http://lesscss.org/), and [SCSS](https://sass-lang.com) - [HTML](https://en.wikipedia.org/wiki/HTML) +- [Ember/Handlebars](https://handlebarsjs.com/) - [JSON](https://json.org/) - [GraphQL](https://graphql.org/) - [Markdown](https://commonmark.org/), including [GFM](https://github.github.com/gfm/) and [MDX](https://mdxjs.com/) diff --git a/package.json b/package.json index c45580258..c8186c955 100644 --- a/package.json +++ b/package.json @@ -107,12 +107,12 @@ "benchmark": "2.1.4", "browserslist-to-esbuild": "1.1.1", "cross-env": "7.0.3", - "cspell": "5.18.5", + "cspell": "5.19.0", "enquirer": "2.3.6", "esbuild": "0.14.25", "esbuild-plugin-text-replace": "1.2.0", "esbuild-visualizer": "0.3.1", - "eslint": "8.10.0", + "eslint": "8.11.0", "eslint-config-prettier": "8.5.0", "eslint-formatter-friendly": "7.0.0", "eslint-plugin-compat": "4.0.2", @@ -129,12 +129,11 @@ "jest-snapshot-serializer-raw": "1.2.0", "jest-watch-typeahead": "1.0.0", "node-actionlint": "1.2.2", - "node-fetch": "3.2.2", + "node-fetch": "3.2.3", "npm-run-all": "4.1.5", "path-browserify": "1.0.1", "prettier": "2.5.1", "pretty-bytes": "5.6.0", - "read-pkg-up": "9.1.0", "rimraf": "3.0.2", "rollup-plugin-license": "2.6.1", "snapshot-diff": "0.9.0", diff --git a/scripts/build/bundler.mjs b/scripts/build/bundler.mjs index fb431e367..d2cd0c1ea 100644 --- a/scripts/build/bundler.mjs +++ b/scripts/build/bundler.mjs @@ -23,6 +23,14 @@ const EXPORT_UNDEFINED_MODULE_REPLACEMENT = { contents: "export default undefined", }; +const bundledFiles = [ + ...bundles, + { input: "package.json", output: "package.json" }, +].map(({ input, output }) => ({ + input: path.join(PROJECT_ROOT, input), + output: `./${output}`, +})); + function* getEsbuildOptions(bundle, buildOptions) { const replaceStrings = { // `tslib` exports global variables @@ -56,6 +64,7 @@ function* getEsbuildOptions(bundle, buildOptions) { const replaceModule = { module: EMPTY_MODULE_REPLACEMENT }; // Replace other bundled files if (bundle.target === "node") { +<<<<<<< HEAD // TODO[@fisker]: Fix this later, currently esbuild resolve it as ESM // // Replace package.json with dynamic `require("./package.json")` // replaceModule[path.join(PROJECT_ROOT, "package.json")] = { @@ -76,6 +85,11 @@ function* getEsbuildOptions(bundle, buildOptions) { external: true, }; } +======= + // Replace bundled files and `package.json` with dynamic `require()` + for (const { input, output } of bundledFiles) { + replaceModule[input] = { path: output, external: true }; +>>>>>>> main } // Use `__dirname` directly @@ -143,16 +157,23 @@ function* getEsbuildOptions(bundle, buildOptions) { ].filter(Boolean), minify: shouldMinify, legalComments: "none", - external: [...(bundle.external || [])], + external: [...(bundle.external ?? [])], // Disable esbuild auto discover `tsconfig.json` file tsconfig: path.join(__dirname, "empty-tsconfig.json"), +<<<<<<< HEAD mainFields: ["module", "main"], target: ["node12"], +======= + mainFields: ["main"], + target: [...(bundle.esbuildTarget ?? ["node10"])], +>>>>>>> main logLevel: "error", }; if (bundle.target === "universal") { - esbuildOptions.target.push(...umdTarget); + if (!bundle.esbuildTarget) { + esbuildOptions.target.push(...umdTarget); + } yield { ...esbuildOptions, @@ -176,11 +197,7 @@ function* getEsbuildOptions(bundle, buildOptions) { } } else { esbuildOptions.platform = "node"; - esbuildOptions.external.push( - ...bundles - .filter((item) => item.input !== bundle.input) - .map((item) => `./${item.output}`) - ); + esbuildOptions.external.push(...bundledFiles.map(({ output }) => output)); if (bundle.isEsm) { esbuildOptions.plugins.push(esbuildPluginInteropDefault()); @@ -194,8 +211,42 @@ function* getEsbuildOptions(bundle, buildOptions) { } } +<<<<<<< HEAD async function runBuild(bundle, esbuildOptions) { await esbuild.build(esbuildOptions); +======= +async function runBuild(bundle, esbuildOptions, buildOptions) { + if (!buildOptions.babel || bundle.skipBabel) { + await esbuild.build(esbuildOptions); + return; + } + + const { format, plugins, outfile } = esbuildOptions; + + await esbuild.build({ + ...esbuildOptions, + plugins: plugins.filter(({ name }) => name !== "umd"), + format: format === "umd" ? "cjs" : format, + minify: false, + target: undefined, + }); + + const text = await fs.readFile(outfile); + + const { code } = await babel.transformAsync(text, { + filename: outfile, + ...getBabelConfig(bundle), + }); + await fs.writeFile(outfile, code); + + await esbuild.build({ + ...esbuildOptions, + define: {}, + plugins: plugins.filter(({ name }) => name === "umd"), + entryPoints: [outfile], + allowOverwrite: true, + }); +>>>>>>> main } async function* createBundle(bundle, buildOptions) { diff --git a/scripts/build/config.mjs b/scripts/build/config.mjs index 8a9babe72..2560a5e48 100644 --- a/scripts/build/config.mjs +++ b/scripts/build/config.mjs @@ -16,6 +16,8 @@ const { require } = createEsmUtils(import.meta); * @property {Object.} replace - map of strings to replace when processing the bundle * @property {string[]} babelPlugins - babel plugins * @property {boolean?} minify - minify + * @property {string[]?} esbuildTarget - ESBuild target + * @property {boolean?} skipBabel - Skip babel transform * @property {boolean?} isEsm - Entry is ES Module * @typedef {Object} CommonJSConfig @@ -32,7 +34,7 @@ const parsers = [ input: "src/language-js/parse/flow.js", replace: { // `flow-parser` use this for `globalThis`, can't work in strictMode - "(function(){return this}())": '(new Function("return this")())', + "(function(){return this}())": "(globalThis)", }, isEsm: true, }, @@ -212,6 +214,12 @@ const coreBundles = [ { input: "bin/prettier.js", output: "bin-prettier.js", + esbuildTarget: ["node0.10"], + skipBabel: true, + }, + { + input: "src/cli/index.js", + output: "cli.js", external: ["benchmark"], }, { diff --git a/scripts/build/esbuild-plugins/replace-module.mjs b/scripts/build/esbuild-plugins/replace-module.mjs index 0a3435e8c..3e5e22b22 100644 --- a/scripts/build/esbuild-plugins/replace-module.mjs +++ b/scripts/build/esbuild-plugins/replace-module.mjs @@ -1,58 +1,62 @@ -import { dirname } from "node:path"; - export default function esbuildPluginReplaceModule(replacements = {}) { + const pathReplacements = new Map(); + const contentsReplacements = new Map(); + + for (let [file, options] of Object.entries(replacements)) { + if (typeof options === "string") { + options = { path: options }; + } + + if (Reflect.has(options, "path")) { + pathReplacements.set(file, options); + continue; + } + + if (Reflect.has(options, "contents")) { + contentsReplacements.set(file, options); + continue; + } + + throw new Error("'path' or 'contents' is required."); + } + return { name: "replace-module", setup(build) { - build.onLoad({ filter: /./ }, ({ path, namespace }) => { - let options = replacements[path]; + // `build.resolve()` will call `onResolve` listener + // Avoid infinite loop + const seen = new Set(); - if (!options) { + build.onResolve({ filter: /./ }, async (args) => { + if ( + !(args.kind === "require-call" || args.kind === "import-statement") || + args.namespace !== "file" + ) { return; } - options = - typeof options === "string" ? { path: options } : { ...options }; - - let { - path: file, - resolveDir, - contents, - loader = "js", - external: isExternal, - isEsm, - } = options; - - // Make this work with `@esbuild-plugins/node-modules-polyfill` plugin - if ( - !resolveDir && - (namespace === "node-modules-polyfills-commonjs" || - namespace === "node-modules-polyfills") && - file - ) { - resolveDir = dirname(file); + const key = JSON.stringify(args); + if (seen.has(key)) { + return; } + seen.add(key); - if (isExternal) { - if (!file) { - throw new Error("Missing external module path."); - } + const resolveResult = await build.resolve(args.path, { + importer: args.importer, + namespace: args.namespace, + resolveDir: args.resolveDir, + kind: args.kind, + pluginData: args.pluginData, + }); - // Prevent `esbuild` to resolve - contents = ` - const entry = ${JSON.stringify(`${file}`)}; - ${isEsm ? "export default" : "module.exports ="} require(entry); - `; - } else { - if (file) { - contents = isEsm - ? `export { default } from ${JSON.stringify(`${file}`)};` - : `module.exports = require(${JSON.stringify(`${file}`)})`; - } - } - - return { contents, loader, resolveDir }; + // `build.resolve()` seems not respecting `browser` field in `package.json` + // Return `undefined` instead of `resolveResult` so esbuild can resolve correctly + return pathReplacements.get(resolveResult.path); }); + + build.onLoad({ filter: /./ }, ({ path }) => + contentsReplacements.get(path) + ); }, }; } diff --git a/scripts/build/esbuild-plugins/umd.mjs b/scripts/build/esbuild-plugins/umd.mjs index 3102bdbac..3f4531581 100644 --- a/scripts/build/esbuild-plugins/umd.mjs +++ b/scripts/build/esbuild-plugins/umd.mjs @@ -46,9 +46,7 @@ function getUmdWrapper({ name, interopDefault = false }, build) { ${globalObjectText.trimStart()} = interopModuleDefault(factory); } })(function() { - "use strict"; - ${placeholder} - return ${temporaryName}; + "use strict";${placeholder} }); `; @@ -66,7 +64,12 @@ function getUmdWrapper({ name, interopDefault = false }, build) { name: temporaryName, intro, outro, - expectedOutput, + expectedOutput: { + start: minify + ? `"use strict";var ${temporaryName}=(()=>{` + : `"use strict";\nvar ${temporaryName} = (() => {`, + end: "})();", + }, }; } @@ -102,26 +105,34 @@ export default function esbuildPluginUmd(options) { if (!fs.existsSync(outfile)) { throw new Error(`${outfile} not exists`); } + const text = fs.readFileSync(outfile, "utf8").trim(); + const actualOutput = { + start: text.slice(0, expectedOutput.start.length), + end: text.slice(-expectedOutput.end.length), + }; + for (const property of ["start", "end"]) { + if (actualOutput[property] !== expectedOutput[property]) { + console.log(); + console.error(outdent` + Expected output ${property}s with: + ${expectedOutput[property]} - // We already insert `"use strict";` in the wrapper - let text = fs.readFileSync(outfile, "utf8"); - if (text.startsWith('"use strict";')) { - text = text.slice('"use strict";'.length).trimStart(); - } - const actualOutput = text.slice(0, expectedOutput.length); - if (actualOutput !== expectedOutput) { - console.log(); - console.error(outdent` - Expected output starts with: - ${expectedOutput} - - Got: - ${actualOutput} - `); - throw new Error("Unexpected output"); + Got: + ${actualOutput[property]} + `); + throw new Error("Unexpected output"); + } } - fs.writeFileSync(outfile, intro + text.trim() + outro); + fs.writeFileSync( + outfile, + intro + + text.slice( + expectedOutput.start.length, + -expectedOutput.end.length + ) + + outro + ); }); }, }; diff --git a/scripts/bundle-eslint-config.cjs b/scripts/bundle-eslint-config.cjs index 6729aab20..543e3b8a5 100644 --- a/scripts/bundle-eslint-config.cjs +++ b/scripts/bundle-eslint-config.cjs @@ -54,6 +54,29 @@ module.exports = { // ], // }, // }, + { + files: ["bin-prettier.js"], + parserOptions: { + ecmaVersion: 5, + }, + rules: { + "compat/compat": "error", + }, + }, + { + files: ["index.js", "bin-prettier.js", "cli.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: { diff --git a/scripts/release/package.json b/scripts/release/package.json index d54b797af..eeac2b04e 100644 --- a/scripts/release/package.json +++ b/scripts/release/package.json @@ -8,7 +8,7 @@ "chalk": "4.1.2", "execa": "6.1.0", "minimist": "1.2.5", - "node-fetch": "3.2.1", + "node-fetch": "3.2.3", "outdent": "0.8.0", "semver": "7.3.5", "string-width": "5.1.2" diff --git a/scripts/release/yarn.lock b/scripts/release/yarn.lock index 4ac9c97f6..73475a3e8 100644 --- a/scripts/release/yarn.lock +++ b/scripts/release/yarn.lock @@ -2215,10 +2215,10 @@ node-domexception@^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.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-3.2.1.tgz#002177382810cfb77858857f69a3621a86c45f26" - integrity sha512-Ef3SPFtRWFCDyhvcwCSvacLpkwmYZcD57mmZzAsMiks9TpHpIghe32U9H06tMICnr+X7YCpzH7WvUlUoml2urA== +node-fetch@3.2.3: + version "3.2.3" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-3.2.3.tgz#a03c9cc2044d21d1a021566bd52f080f333719a6" + integrity sha512-AXP18u4pidSZ1xYXRDPY/8jdv3RAozIt/WLNR/MBGZAz+xjtlr90RvCnsvHQRiXyWliZF/CpytExp32UU67/SA== dependencies: data-uri-to-buffer "^4.0.0" fetch-blob "^3.1.4" diff --git a/src/cli/index.js b/src/cli/index.js index 1600109a6..5c74e73eb 100644 --- a/src/cli/index.js +++ b/src/cli/index.js @@ -8,6 +8,7 @@ import { formatStdin, formatFiles } from "./format.js"; import logFileInfoOrDie from "./file-info.js"; import logResolvedConfigPathOrDie from "./find-config-path.js"; import prettierInternal from "./prettier-internal.js"; + const { utils: { isNonEmptyArray }, } = prettierInternal; diff --git a/tests/integration/__tests__/early-exit.js b/tests/integration/__tests__/early-exit.js index 83cae97c2..cb5b93f97 100644 --- a/tests/integration/__tests__/early-exit.js +++ b/tests/integration/__tests__/early-exit.js @@ -87,28 +87,3 @@ describe("throw error and show usage with something unexpected", () => { status: "non-zero", }); }); - -test.skip("node version error", async () => { - const originalProcessVersion = process.version; - let result; - - Object.defineProperty(process, "version", { - value: "v8.0.0", - writable: false, - }); - try { - result = await runPrettier("cli", ["--help"]); - } finally { - Object.defineProperty(process, "version", { - value: originalProcessVersion, - writable: false, - }); - } - - expect(result.status).toBe(1); - expect(result.stderr).toBe( - "prettier requires at least version 12.17.0 of Node, please upgrade\n" - ); - expect(result.stdout).toBe(""); - expect(result.write).toEqual([]); -}); diff --git a/website/package.json b/website/package.json index 5e2ecbb33..bf9b66c65 100644 --- a/website/package.json +++ b/website/package.json @@ -8,7 +8,7 @@ }, "dependencies": { "clipboard": "2.0.10", - "codemirror-graphql": "1.2.12", + "codemirror-graphql": "1.2.13", "lz-string": "1.4.4", "prop-types": "15.8.1", "react": "17.0.2", diff --git a/website/yarn.lock b/website/yarn.lock index 7c12c493e..fe00a8a4c 100644 --- a/website/yarn.lock +++ b/website/yarn.lock @@ -2043,11 +2043,6 @@ resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.8.tgz#edf1bf1dbf4e04413ca8e5b17b3b7d7d54b59818" integrity sha512-YSBPTLTVm2e2OoQIDYx8HaeWJ5tTToLH67kXR7zYNGupXMEHa2++G8k+DczX2cFVgalypqtyZIcU19AFcmOpmg== -"@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== - "@types/node@*": version "16.4.0" resolved "https://registry.yarnpkg.com/@types/node/-/node-16.4.0.tgz#2c219eaa3b8d1e4d04f4dd6e40bc68c7467d5272" @@ -3080,13 +3075,13 @@ coa@^2.0.2: chalk "^2.4.1" q "^1.1.2" -codemirror-graphql@1.2.12: - version "1.2.12" - resolved "https://registry.yarnpkg.com/codemirror-graphql/-/codemirror-graphql-1.2.12.tgz#59cf88ae254d5dabd4e596028977a7ec305cddb7" - integrity sha512-irP+E8HOWtgIdU3PNTU77bNmpEXQYADRRDmKqkjh3w1m0welbxl6HtZgp+c+Mkkz+FXY1+3+gF6nEEj+eJ1xdg== +codemirror-graphql@1.2.13: + version "1.2.13" + resolved "https://registry.yarnpkg.com/codemirror-graphql/-/codemirror-graphql-1.2.13.tgz#2525141b2ea8e54b78aea91cc8b85693bbcb17d9" + integrity sha512-7I2qPHxoTndvDNBkaoYYbL2S6A6JAMXBA17ZFcIWAj7A0V/NEg0aPSxhwNRK1yLmC+3XI9OR4BjZTiPxrA2gBA== dependencies: "@codemirror/stream-parser" "^0.19.2" - graphql-language-service "^4.1.5" + graphql-language-service "^5.0.0" coffee-script@^1.12.4: version "1.12.7" @@ -4979,50 +4974,14 @@ graphql-config@^4.1.0: minimatch "3.0.4" string-env-interpolation "1.0.1" -graphql-language-service-interface@^2.10.2: - version "2.10.2" - resolved "https://registry.yarnpkg.com/graphql-language-service-interface/-/graphql-language-service-interface-2.10.2.tgz#de9386f699e446320256175e215cdc10ccf9f9b7" - integrity sha512-RKIEBPhRMWdXY3fxRs99XysTDnEgAvNbu8ov/5iOlnkZsWQNzitjtd0O0l1CutQOQt3iXoHde7w8uhCnKL4tcg== +graphql-language-service@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/graphql-language-service/-/graphql-language-service-5.0.0.tgz#52dad53135f06551eee4c4dc57057c61eb10c460" + integrity sha512-3tbJOApOJk8FQFVV+hKSs3gEWqqt3gQ5l3iEOUl7ofhyTmpRlbkYp+/dVLMF/p29iwZ5a8wqSXl+DDnHI6RMXQ== dependencies: graphql-config "^4.1.0" - graphql-language-service-parser "^1.10.4" - graphql-language-service-types "^1.8.7" - graphql-language-service-utils "^2.7.1" - vscode-languageserver-types "^3.15.1" - -graphql-language-service-parser@^1.10.4: - version "1.10.4" - resolved "https://registry.yarnpkg.com/graphql-language-service-parser/-/graphql-language-service-parser-1.10.4.tgz#b2979deefc5c0df571dacd409b2d5fbf1cdf7a9d" - integrity sha512-duDE+0aeKLFVrb9Kf28U84ZEHhHcvTjWIT6dJbIAQJWBaDoht0D4BK9EIhd94I3DtKRc1JCJb2+70y1lvP/hiA== - dependencies: - graphql-language-service-types "^1.8.7" - -graphql-language-service-types@^1.8.7: - version "1.8.7" - resolved "https://registry.yarnpkg.com/graphql-language-service-types/-/graphql-language-service-types-1.8.7.tgz#f5e909e6d9334ea2d8d1f7281b695b6f5602c07f" - integrity sha512-LP/Mx0nFBshYEyD0Ny6EVGfacJAGVx+qXtlJP4hLzUdBNOGimfDNtMVIdZANBXHXcM41MDgMHTnyEx2g6/Ttbw== - dependencies: - graphql-config "^4.1.0" - vscode-languageserver-types "^3.15.1" - -graphql-language-service-utils@^2.7.1: - version "2.7.1" - resolved "https://registry.yarnpkg.com/graphql-language-service-utils/-/graphql-language-service-utils-2.7.1.tgz#c97c8d744a761480aba7e03e4a42adf28b6fce39" - integrity sha512-Wci5MbrQj+6d7rfvbORrA9uDlfMysBWYaG49ST5TKylNaXYFf3ixFOa74iM1KtM9eidosUbI3E1JlWi0JaidJA== - dependencies: - "@types/json-schema" "7.0.9" - graphql-language-service-types "^1.8.7" nullthrows "^1.0.0" - -graphql-language-service@^4.1.5: - version "4.1.5" - resolved "https://registry.yarnpkg.com/graphql-language-service/-/graphql-language-service-4.1.5.tgz#26964e4fcc62e2d850f2b931bef03b91bdf9a6df" - integrity sha512-6vvZ+4L1xMNpQdlt6a9BaEzZD3ZIiaTmFdjKu81UTIVRh02QKfbW6tcz4UJNTY+4LsTWjR1rNtG3H4pVNrKJ2Q== - dependencies: - graphql-language-service-interface "^2.10.2" - graphql-language-service-parser "^1.10.4" - graphql-language-service-types "^1.8.7" - graphql-language-service-utils "^2.7.1" + vscode-languageserver-types "^3.15.1" graphql-sse@^1.0.1: version "1.0.6" diff --git a/yarn.lock b/yarn.lock index c3bef5cad..8a1dfeaaf 100644 --- a/yarn.lock +++ b/yarn.lock @@ -940,10 +940,10 @@ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@cspell/cspell-bundled-dicts@^5.18.5": - version "5.18.5" - resolved "https://registry.yarnpkg.com/@cspell/cspell-bundled-dicts/-/cspell-bundled-dicts-5.18.5.tgz#76beb90ad6e0ae5c42a2d2177c300f5a6d98f1b5" - integrity sha512-jFvwF8bb8HUYqMUPQiGZUHAf8zfriZRagzoCW8w4NLLJB1IZNGlQvQCQskQG9cYtOmKAYHCbOwm8SjA9FKwQow== +"@cspell/cspell-bundled-dicts@^5.19.0": + version "5.19.0" + resolved "https://registry.yarnpkg.com/@cspell/cspell-bundled-dicts/-/cspell-bundled-dicts-5.19.0.tgz#5c0670bae042efccaec94766eb600c47db9fedda" + integrity sha512-0wgsBcxsJXgkei+aW4OgqEeuGFCk0KOa9VufNmVUTS9fO2zzkXu/0oeROjUFQSp+vwPjhatEpRGNehM69PbxdQ== dependencies: "@cspell/dict-ada" "^2.0.0" "@cspell/dict-aws" "^2.0.0" @@ -956,7 +956,7 @@ "@cspell/dict-dart" "^1.1.0" "@cspell/dict-django" "^2.0.0" "@cspell/dict-dotnet" "^2.0.0" - "@cspell/dict-elixir" "^2.0.0" + "@cspell/dict-elixir" "^2.0.1" "@cspell/dict-en-gb" "^1.1.33" "@cspell/dict-en_us" "^2.1.7" "@cspell/dict-filetypes" "^2.0.1" @@ -964,36 +964,36 @@ "@cspell/dict-fullstack" "^2.0.4" "@cspell/dict-golang" "^2.0.0" "@cspell/dict-haskell" "^2.0.0" - "@cspell/dict-html" "^3.0.0" + "@cspell/dict-html" "^3.0.1" "@cspell/dict-html-symbol-entities" "^2.0.0" "@cspell/dict-java" "^2.0.0" "@cspell/dict-latex" "^2.0.0" "@cspell/dict-lorem-ipsum" "^2.0.0" "@cspell/dict-lua" "^2.0.0" "@cspell/dict-node" "^2.0.0" - "@cspell/dict-npm" "^2.0.1" + "@cspell/dict-npm" "^2.0.2" "@cspell/dict-php" "^2.0.0" "@cspell/dict-powershell" "^2.0.0" "@cspell/dict-public-licenses" "^1.0.4" "@cspell/dict-python" "^2.0.6" "@cspell/dict-r" "^1.0.2" - "@cspell/dict-ruby" "^2.0.0" + "@cspell/dict-ruby" "^2.0.1" "@cspell/dict-rust" "^2.0.0" "@cspell/dict-scala" "^2.0.0" - "@cspell/dict-software-terms" "^2.1.0" + "@cspell/dict-software-terms" "^2.1.3" "@cspell/dict-swift" "^1.0.2" "@cspell/dict-typescript" "^2.0.0" "@cspell/dict-vue" "^2.0.2" -"@cspell/cspell-pipe@^5.18.5": - version "5.18.5" - resolved "https://registry.yarnpkg.com/@cspell/cspell-pipe/-/cspell-pipe-5.18.5.tgz#d8a1cdf0aa4c0e3383ec4ffca7112b10cd8bb43a" - integrity sha512-U/4e4Zm7Mm23SuJu6b49+9Do/2aS+c9sPQa1Z9ZZqHQ4BqswJagk5oZ0V45BjYJ/0acHSRpIxbndpVJ01cjf8A== +"@cspell/cspell-pipe@^5.19.0": + version "5.19.0" + resolved "https://registry.yarnpkg.com/@cspell/cspell-pipe/-/cspell-pipe-5.19.0.tgz#a6cc4b7c47ed17ea5ccb4ca57cc534905fb09972" + integrity sha512-vHSGQxHfY1VjFnRB481DSNgOkbA/x59kpfCe6XQq3CzzmR7kiaUs3p478WU5JHNoTKdesoDFyct36VZT58/oWQ== -"@cspell/cspell-types@^5.18.5": - version "5.18.5" - resolved "https://registry.yarnpkg.com/@cspell/cspell-types/-/cspell-types-5.18.5.tgz#7d3e6c8cdef15255aacfbdb2e3c8bb949fe2540d" - integrity sha512-yvDFCUa1CbjBuMkFCh+yUAAaG6VW5WXoewzLwhMFsMV1GZmkbftOcvZq0YuZviNsjdBViDH0dhKdlzwC953upg== +"@cspell/cspell-types@^5.19.0": + version "5.19.0" + resolved "https://registry.yarnpkg.com/@cspell/cspell-types/-/cspell-types-5.19.0.tgz#ad127703481850d17368750723a6dfb33acf7d96" + integrity sha512-AoQu0lNNoyWVSSBgjzozg9wso8dlVwiLrEcFqtT4mGPgxg6vD5AyBuGmkoP8qPfYC/YU28mIhDFOJ8qNuuOtHw== "@cspell/dict-ada@^2.0.0": version "2.0.0" @@ -1050,10 +1050,10 @@ resolved "https://registry.yarnpkg.com/@cspell/dict-dotnet/-/dict-dotnet-2.0.0.tgz#92729d95a71b9f72bf264fbba0c66a7b29f3993a" integrity sha512-WOHfjwMuLbo76khDsDa1lJvP/dXcwXVwonWwfUFRt82BL/GtyMalh1HEtCWwKDuK/9f8PCEt/EZMkHT3D5ZV3w== -"@cspell/dict-elixir@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@cspell/dict-elixir/-/dict-elixir-2.0.0.tgz#2633a290d2eab068ce6035d76529b24abd295b3b" - integrity sha512-NeDObcqiYuqWRrzMAQLZDSrZlChTEZwTA2zHdI2nPtpeDl4FQcTz2BHP8zVt6Lj6G2QHJmNGmQtSmDguX86NYA== +"@cspell/dict-elixir@^2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@cspell/dict-elixir/-/dict-elixir-2.0.1.tgz#1a9b422215b5edabb84568cfa5c0c70bc164a2ce" + integrity sha512-eTTTxZt1FqGkM780yFDxsGHvTbWqvlK8YISSccK8FyrB6ULW+uflQlNS5AnWg3uWKC48b7pQott+odYCsPJ+Ow== "@cspell/dict-en-gb@^1.1.33": version "1.1.33" @@ -1095,10 +1095,10 @@ resolved "https://registry.yarnpkg.com/@cspell/dict-html-symbol-entities/-/dict-html-symbol-entities-2.0.0.tgz#a25d39e62bd2dd7191ca5612714aa0a1b90ca10f" integrity sha512-71S5wGCe7dq6C+zGDwsEAe5msub/irrLi6SExeG11a/EkpA3RKAEheDGPk0hOY4+vOcIFHaApxOjLTtgQfYWfA== -"@cspell/dict-html@^3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@cspell/dict-html/-/dict-html-3.0.0.tgz#0f5411518eb3cb5b069fbcad70b16829f1733208" - integrity sha512-VzZs/UtyRe4spdaH5SWakik+K3vB2fTyW3kdgGQbzjPGHyb5OXI5fmxQcX0yaSv5RkL0igVROHhu2ARUudoTpw== +"@cspell/dict-html@^3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@cspell/dict-html/-/dict-html-3.0.1.tgz#d5d10ef9b62361d8250cf9fe8564606993faa9df" + integrity sha512-sbuFd+nSjgbrGf5eYwSddFhm1eLLePKWyH6Zn8Zb0OODrBK5e4vGn1/scI/MOH5a2IvNs8W9wp84uMBFJcQZtw== "@cspell/dict-java@^2.0.0": version "2.0.0" @@ -1125,10 +1125,10 @@ resolved "https://registry.yarnpkg.com/@cspell/dict-node/-/dict-node-2.0.0.tgz#f89ca72deac5bfc7ccd46b6b8880fad52ab44843" integrity sha512-tPPl3liJORa/l6AoYqh/7rjoM7bdtaIXnIN6ox7CE0flZcBS5rWOB6mzEY3rpu/XJX0pjbBiIoqrolDkVl1RTQ== -"@cspell/dict-npm@^2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@cspell/dict-npm/-/dict-npm-2.0.1.tgz#90f9a0ffe0dfcdf998bf1a260b93a3d5ef47ff91" - integrity sha512-LRaJFSQfI0BIbbksPFE6fUjAyRFZRcknfOnYC/5c1wB/vsKH6KsqxTeCWNmHTYrk4KdBLZROhsHJXQIoqVTd4w== +"@cspell/dict-npm@^2.0.2": + version "2.0.2" + resolved "https://registry.yarnpkg.com/@cspell/dict-npm/-/dict-npm-2.0.2.tgz#8ad78bc23d10aa1dd295bf2de6078a02d3a91766" + integrity sha512-Q5ua0aeKTxW4WxvtU+UMdct46hCStOTeEiiG8iinTh/mH5brmdtMEj4olO8+mmkAKPpIC4TI3TmaaN6RN+Vpgw== "@cspell/dict-php@^2.0.0": version "2.0.0" @@ -1155,10 +1155,10 @@ resolved "https://registry.yarnpkg.com/@cspell/dict-r/-/dict-r-1.0.2.tgz#4f21b240427e9bbaab8f82e0e20122d6b3cf7cee" integrity sha512-Rp3d4sgD6izW9TW5yVI3D//3HTl9oOGBuzTvXRdoHksVPRvzIu2liVhj8MnQ3XIRe5Kc6IhLBAm6izuV2BpGwQ== -"@cspell/dict-ruby@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@cspell/dict-ruby/-/dict-ruby-2.0.0.tgz#3f2c78ceb38bec272adc7187fda72bb47799cf4e" - integrity sha512-ux73GEIZrApxIG/BDnpdxWE7r9TY3n+3HFAEp+LDJjSjpwpn2VXopd7GsjwsvmlAv5F3Jch8tzgzujFZkvqdoA== +"@cspell/dict-ruby@^2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@cspell/dict-ruby/-/dict-ruby-2.0.1.tgz#1cbd4d8803428bd421a5562b2d2bb4b3bae80bce" + integrity sha512-qGqhYfFeoBOashv/l0Kj5o4ilyvfq0s+t+r32juPOkOnbHz+hzxnJo2tMMg/L/UdjVV7Y8ovg4LDBC/seVrMYQ== "@cspell/dict-rust@^2.0.0": version "2.0.0" @@ -1170,10 +1170,10 @@ resolved "https://registry.yarnpkg.com/@cspell/dict-scala/-/dict-scala-2.0.0.tgz#b8098103bb03a13406c1c79f1769052353aafac4" integrity sha512-MUwA2YKpqaQOSR4V1/CVGRNk8Ii5kf6I8Ch+4/BhRZRQXuwWbi21rDRYWPqdQWps7VNzAbbMA+PQDWsD5YY38g== -"@cspell/dict-software-terms@^2.1.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@cspell/dict-software-terms/-/dict-software-terms-2.1.0.tgz#de835c9b9312de404bddfb21504ba5fa7938c2f9" - integrity sha512-R9vfnNqp+cUqILsK3wofGvMrerr6biq+pIY1ayobLf4vUU8Wo4lK+DwRBUd7mHOu1GjXGM/scU54BP19BcYoTw== +"@cspell/dict-software-terms@^2.1.3": + version "2.1.3" + resolved "https://registry.yarnpkg.com/@cspell/dict-software-terms/-/dict-software-terms-2.1.3.tgz#033f93d4cfa03e21b03ad0861ee74560b204a841" + integrity sha512-JmMfRa9Xl0MCD/z5gYUnY05BNxSMnx25Ky6kO/Cs0gBYZZdYzHZNqrbfnqBMsB9PpOzn2uqrYUmAEusoI1WyMQ== "@cspell/dict-swift@^1.0.2": version "1.0.2" @@ -1198,16 +1198,16 @@ escape-string-regexp "^4.0.0" rollup-plugin-node-polyfills "^0.2.1" -"@eslint/eslintrc@^1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.2.0.tgz#7ce1547a5c46dfe56e1e45c3c9ed18038c721c6a" - integrity sha512-igm9SjJHNEJRiUnecP/1R5T3wKLEJ7pL6e2P+GUSfCd0dGjPYYZve08uzw8L2J8foVHFz+NGu12JxRcU2gGo6w== +"@eslint/eslintrc@^1.2.1": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.2.1.tgz#8b5e1c49f4077235516bc9ec7d41378c0f69b8c6" + integrity sha512-bxvbYnBPN1Gibwyp6NrpnFzA3YtRL3BBAyEAFVIpNTm2Rn4Vy87GA5M4aSn3InRrlsbX5N0GW7XIx+U4SAEKdQ== dependencies: ajv "^6.12.4" debug "^4.3.2" espree "^9.3.1" globals "^13.9.0" - ignore "^4.0.6" + ignore "^5.2.0" import-fresh "^3.2.1" js-yaml "^4.1.0" minimatch "^3.0.4" @@ -1310,6 +1310,18 @@ resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98" integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== +"@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.5.0" + "@types/node" "*" + chalk "^4.0.0" + jest-message-util "^27.5.0" + jest-util "^27.5.0" + slash "^3.0.0" + "@jest/console@^27.5.1": version "27.5.1" resolved "https://registry.yarnpkg.com/@jest/console/-/console-27.5.1.tgz#260fe7239602fe5130a94f1aa386eff54b014bba" @@ -1436,6 +1448,16 @@ graceful-fs "^4.2.9" source-map "^0.6.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" + integrity sha512-Lxecvx5mN6WIeynIyW0dWDQm8UPGMHvTwxUPK+OsZaqBDMGaNDSZtw53VoVk7HyT6AcRblMR/pfa0XucmH4hGw== + dependencies: + "@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-result@^27.5.1": version "27.5.1" resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-27.5.1.tgz#56a6585fa80f7cdab72b8c5fc2e871d03832f5bb" @@ -1659,7 +1681,7 @@ 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": +"@types/normalize-package-data@^2.4.0": 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== @@ -2215,9 +2237,9 @@ char-regex@^1.0.2: integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== char-regex@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-2.0.1.tgz#6dafdb25f9d3349914079f010ba8d0e6ff9cd01e" - integrity sha512-oSvEeo6ZUD7NepqAat3RqoucZ5SeqLJgOvVIwkafu6IP3V0pO38s/ypdVUmDDK6qIIHNlYHJAKX9E7R7HoKElw== + version "2.0.0" + resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-2.0.0.tgz#16f98f3f874edceddd300fda5d58df380a7641a6" + integrity sha512-oGu2QekBMXgyQNWPDRQ001bjvDnZe4/zBTz37TMbiKz1NbNiyiH5hRkobe7npRN6GfbGbxMYFck/vQ1r9c1VMA== character-entities-legacy@^1.0.0: version "1.1.4" @@ -2455,73 +2477,75 @@ crypto-random-string@^4.0.0: dependencies: type-fest "^1.0.1" -cspell-gitignore@^5.18.5: - version "5.18.5" - resolved "https://registry.yarnpkg.com/cspell-gitignore/-/cspell-gitignore-5.18.5.tgz#fc8024f13475d85dae1f447864ef56aed3966fe3" - integrity sha512-YKYFYMswkia0Uc5CMOapLwo8OKRfP+QbqyODTJ7IJACT7KCOSEj7A3B250LR2mWyvThyIUB+2c7+6ePdFCnh2g== +cspell-gitignore@^5.19.0: + version "5.19.0" + resolved "https://registry.yarnpkg.com/cspell-gitignore/-/cspell-gitignore-5.19.0.tgz#f431f66b15a6fcda74a99cade067cdb317f4dadc" + integrity sha512-pNKubcQLmx7MabfbaiSymXR0pIf22J6IZv7ftXpVnNONe1oef6P5Os+/uPN9ieHAIYITFjdNvVqIr1EjDqJBwA== dependencies: - cspell-glob "^5.18.5" + cspell-glob "^5.19.0" find-up "^5.0.0" -cspell-glob@^5.18.5: - version "5.18.5" - resolved "https://registry.yarnpkg.com/cspell-glob/-/cspell-glob-5.18.5.tgz#1cc757bb2028cc12bf5acd9336cfc505cd5cd311" - integrity sha512-Tr/wMHpJ5zvD4qV4d5is1WJ6OQZSQSjiWoLCQ8pslpltGJhjYXPh3W9A8n4Ghr4AUUJNLKEQyCX+Z1kcA3hgOQ== +cspell-glob@^5.19.0: + version "5.19.0" + resolved "https://registry.yarnpkg.com/cspell-glob/-/cspell-glob-5.19.0.tgz#42efcc6415d035039a56461ade313860160db434" + integrity sha512-LyU4CL/5tRC/9KmyK/L2fO8lTmJO7L1c2ouAJXx7ehlj26n2v4ZFzUQCHrW5/ba2eiyhuRHq43QHpLFyO/ORaw== dependencies: micromatch "^4.0.4" -cspell-io@^5.18.5: - version "5.18.5" - resolved "https://registry.yarnpkg.com/cspell-io/-/cspell-io-5.18.5.tgz#320c0c67b7f0f5046b1d7e31d4372fe1a65366a6" - integrity sha512-Ar2shXmKtLP935Linv+162xY6SNqIrwLI3rBRXs0/KnD/YdcLJQB0iBgFqvfvg7TcPg+EZOf9Oc6EvTLg2eprg== +cspell-io@^5.19.0: + version "5.19.0" + resolved "https://registry.yarnpkg.com/cspell-io/-/cspell-io-5.19.0.tgz#a192cbae02ea565ecb26d76a310daf3b6439eb30" + integrity sha512-hNiHPrixk2XDRlC/Gf+yMk1lBjrQJZS8/BLyvxHkE7RJ4cO77NbmHZrPP7oIhwicKQIEhEisqC1NtXrGxLyD8g== -cspell-lib@^5.18.5: - version "5.18.5" - resolved "https://registry.yarnpkg.com/cspell-lib/-/cspell-lib-5.18.5.tgz#76b169399c5e635cde59381d86260019b6b42909" - integrity sha512-yrUk3MbRXy/YGNIcLfURDnw4fRiXcbHo9K5B6IhwYfHKc3VM6QgvEQ0ce44uzZ+AEZzWuQ++GbhUih+bSJ87DQ== +cspell-lib@^5.19.0: + version "5.19.0" + resolved "https://registry.yarnpkg.com/cspell-lib/-/cspell-lib-5.19.0.tgz#40f7b74906e678adf8b6bea571d9a9b76b5e2ee9" + integrity sha512-s6V1jBn9RbveUMj/5PJOois0BcTvurbhwR+xMpK5j6M9hLAuTiLZZJPHygfQbCE/GJCXDCb7nn1ABHceEn3BVQ== dependencies: - "@cspell/cspell-bundled-dicts" "^5.18.5" - "@cspell/cspell-types" "^5.18.5" + "@cspell/cspell-bundled-dicts" "^5.19.0" + "@cspell/cspell-pipe" "^5.19.0" + "@cspell/cspell-types" "^5.19.0" clear-module "^4.1.2" comment-json "^4.2.2" configstore "^5.0.1" cosmiconfig "^7.0.1" - cspell-glob "^5.18.5" - cspell-io "^5.18.5" - cspell-trie-lib "^5.18.5" + cspell-glob "^5.19.0" + cspell-io "^5.19.0" + cspell-trie-lib "^5.19.0" fast-equals "^3.0.0" find-up "^5.0.0" - fs-extra "^10.0.0" + fs-extra "^10.0.1" gensequence "^3.1.1" import-fresh "^3.3.0" resolve-from "^5.0.0" resolve-global "^1.0.0" + vscode-languageserver-textdocument "^1.0.4" vscode-uri "^3.0.3" -cspell-trie-lib@^5.18.5: - version "5.18.5" - resolved "https://registry.yarnpkg.com/cspell-trie-lib/-/cspell-trie-lib-5.18.5.tgz#dff995e8773857564d4bda91e64626838c69674a" - integrity sha512-FifImmkcArPYiE8fLXcbB/yS15QyWwvHw/gpCPEkcuJMJH2gxC+HOE909JnBsyPyjCaX5gHWiIf7ePjdXlWsDg== +cspell-trie-lib@^5.19.0: + version "5.19.0" + resolved "https://registry.yarnpkg.com/cspell-trie-lib/-/cspell-trie-lib-5.19.0.tgz#50b4943b677ddbc824e94935f4edc81aa6bb2e05" + integrity sha512-GyViUJj35u3MY3R2YF/n4yc48Irem4DHpANSEbweNtxVtYM+SJpAxZZ8YLkneOgsqhp8I90zmRZpNHrqo/TaxA== dependencies: - "@cspell/cspell-pipe" "^5.18.5" - fs-extra "^10.0.0" + "@cspell/cspell-pipe" "^5.19.0" + fs-extra "^10.0.1" gensequence "^3.1.1" -cspell@5.18.5: - version "5.18.5" - resolved "https://registry.yarnpkg.com/cspell/-/cspell-5.18.5.tgz#944b27def0607d8938bcffeae6df38f60b26bf11" - integrity sha512-rfk7sSZO304olxBXUFfec3YZL0gIyvjggwicGEgsweuh0Efdeq0zMmUV2sMckSOH9TVJdxW/DxTqjG+DLz8w+A== +cspell@5.19.0: + version "5.19.0" + resolved "https://registry.yarnpkg.com/cspell/-/cspell-5.19.0.tgz#6db14ecb8ec61604335db39ede4c3ba97163ecf7" + integrity sha512-13dB2WHkWYVh322dk3hmBiLTG93BOTkGFw/l5oCM6dKJgNmBFjnSmIVi0prGY3rSR6SKYHkKfIWK9RG0WouXsQ== dependencies: - "@cspell/cspell-pipe" "^5.18.5" + "@cspell/cspell-pipe" "^5.19.0" chalk "^4.1.2" commander "^9.0.0" comment-json "^4.2.2" - cspell-gitignore "^5.18.5" - cspell-glob "^5.18.5" - cspell-lib "^5.18.5" + cspell-gitignore "^5.19.0" + cspell-glob "^5.19.0" + cspell-lib "^5.19.0" fast-json-stable-stringify "^2.1.0" file-entry-cache "^6.0.1" - fs-extra "^10.0.0" + fs-extra "^10.0.1" get-stdin "^8.0.0" glob "^7.2.0" imurmurhash "^0.1.4" @@ -3126,12 +3150,12 @@ eslint-visitor-keys@^3.0.0, eslint-visitor-keys@^3.3.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826" integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== -eslint@8.10.0: - version "8.10.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.10.0.tgz#931be395eb60f900c01658b278e05b6dae47199d" - integrity sha512-tcI1D9lfVec+R4LE1mNDnzoJ/f71Kl/9Cv4nG47jOueCMBrCCKYXr4AUVS7go6mWYGFD4+EoN6+eXSrEbRzXVw== +eslint@8.11.0: + version "8.11.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.11.0.tgz#88b91cfba1356fc10bb9eb592958457dfe09fb37" + integrity sha512-/KRpd9mIRg2raGxHRGwW9ZywYNAClZrHjdueHcrVDuO3a6bj83eoTirCCk0M0yPwOjWYKHwRVRid+xK4F/GHgA== dependencies: - "@eslint/eslintrc" "^1.2.0" + "@eslint/eslintrc" "^1.2.1" "@humanwhocodes/config-array" "^0.9.2" ajv "^6.10.0" chalk "^4.0.0" @@ -3382,14 +3406,6 @@ find-up@^5.0.0: locate-path "^6.0.0" path-exists "^4.0.0" -find-up@^6.3.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-6.3.0.tgz#2abab3d3280b2dc7ac10199ef324c4e002c8c790" - integrity sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw== - dependencies: - locate-path "^7.1.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" @@ -3437,10 +3453,10 @@ formdata-polyfill@^4.0.10: dependencies: fetch-blob "^3.1.2" -fs-extra@^10.0.0: - version "10.0.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.0.0.tgz#9ff61b655dde53fb34a82df84bb214ce802e17c1" - integrity sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ== +fs-extra@^10.0.1: + version "10.0.1" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.0.1.tgz#27de43b4320e833f6867cc044bfce29fdf0ef3b8" + integrity sha512-NbdoVMZso2Lsrn/QwLXOy6rm0ufY2zEOKCDzJR/0kBsb0E6qed0P3iYK+Ath3BfvXEeu4JhEtXLgILx5psUfag== dependencies: graceful-fs "^4.2.0" jsonfile "^6.0.1" @@ -3650,13 +3666,6 @@ 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@3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/html-element-attributes/-/html-element-attributes-3.1.0.tgz#07869037b9020bec3bb1897263e97dd65829d15b" @@ -3728,11 +3737,6 @@ ignore@5.2.0, ignore@^5.1.8, ignore@^5.2.0: resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a" integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ== -ignore@^4.0.6: - version "4.0.6" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" - integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== - import-fresh@^3.0.0, import-fresh@^3.2.1, import-fresh@^3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" @@ -3841,7 +3845,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.5.0, is-core-module@^2.8.0, is-core-module@^2.8.1: +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== @@ -4331,16 +4335,16 @@ 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.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-27.5.1.tgz#4da143f7e9fd1e542d4aa69617b38e4a78365b95" - integrity sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg== - -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== +jest-regex-util@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-27.5.1.tgz#4da143f7e9fd1e542d4aa69617b38e4a78365b95" + integrity sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg== + jest-resolve-dependencies@^27.5.1: version "27.5.1" resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz#d811ecc8305e731cc86dd79741ee98fed06f1da8" @@ -4555,7 +4559,20 @@ jest-watch-typeahead@1.0.0: string-length "^5.0.1" strip-ansi "^7.0.1" -jest-watcher@^27.0.0, jest-watcher@^27.5.1: +jest-watcher@^27.0.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.5.0" + "@jest/types" "^27.5.0" + "@types/node" "*" + ansi-escapes "^4.2.1" + chalk "^4.0.0" + jest-util "^27.5.0" + string-length "^4.0.1" + +jest-watcher@^27.5.1: version "27.5.1" resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-27.5.1.tgz#71bd85fb9bde3a2c2ec4dc353437971c43c642a2" integrity sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw== @@ -4797,13 +4814,6 @@ locate-path@^6.0.0: dependencies: p-locate "^5.0.0" -locate-path@^7.1.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-7.1.0.tgz#241d62af60739f6097c055efe10329c88b798425" - integrity sha512-HNx5uOnYeK4SxEoid5qnhRfprlJeGMzFRKPLCf/15N3/B4AiofNwC/yq7VBKdVk9dx7m+PiYCJOGg55JYTAqoQ== - dependencies: - p-locate "^6.0.0" - lodash-es@4.17.21: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.21.tgz#43e626c46e6591b7750beb2b50117390c609e3ee" @@ -5036,10 +5046,10 @@ node-domexception@^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.2: - version "3.2.2" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-3.2.2.tgz#16d33fbe32ca7c6ca1ca8ba5dfea1dd885c59f04" - integrity sha512-Cwhq1JFIoon15wcIkFzubVNFE5GvXGV82pKf4knXXjvGmn7RJKcypeuqcVNZMGDZsAFWyIRya/anwAJr7TWJ7w== +node-fetch@3.2.3: + version "3.2.3" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-3.2.3.tgz#a03c9cc2044d21d1a021566bd52f080f333719a6" + integrity sha512-AXP18u4pidSZ1xYXRDPY/8jdv3RAozIt/WLNR/MBGZAz+xjtlr90RvCnsvHQRiXyWliZF/CpytExp32UU67/SA== dependencies: data-uri-to-buffer "^4.0.0" fetch-blob "^3.1.4" @@ -5070,16 +5080,6 @@ 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" @@ -5263,13 +5263,6 @@ 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" @@ -5291,13 +5284,6 @@ 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" @@ -5393,11 +5379,6 @@ 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" @@ -5613,15 +5594,6 @@ 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.1.0: - version "9.1.0" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-9.1.0.tgz#38ca48e0bc6c6b260464b14aad9bcd4e5b1fbdc3" - integrity sha512-vaMRR1AC1nrd5CQM0PhlRsO5oc2AAigqr7cCrZ/MW/Rsaflz4RlgzkpL4qoU/z1F6wrbd85iFv1OQj/y5RdGvg== - dependencies: - find-up "^6.3.0" - read-pkg "^7.1.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" @@ -5650,16 +5622,6 @@ read-pkg@^5.2.0: parse-json "^5.0.0" type-fest "^0.6.0" -read-pkg@^7.1.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-7.1.0.tgz#438b4caed1ad656ba359b3e00fd094f3c427a43e" - integrity sha512-5iOehe+WF75IccPc30bWTbpdDQLOCc3Uu8bi3Dte3Eueij81yx1Mrufk8qBx/YAbR4uL1FdUr+7BKXDwEtisXg== - 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" @@ -5949,7 +5911,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.4, 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== @@ -6490,7 +6452,7 @@ type-fest@^1.0.1: resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-1.4.0.tgz#e9fb813fe3bf1744ec359d55d1affefa76f14be1" integrity sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA== -type-fest@^2.0.0, type-fest@^2.5.0: +type-fest@^2.0.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== @@ -6705,6 +6667,11 @@ vnopts@1.0.2: leven "^2.1.0" tslib "^1.9.3" +vscode-languageserver-textdocument@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.4.tgz#3cd56dd14cec1d09e86c4bb04b09a246cb3df157" + integrity sha512-/xhqXP/2A2RSs+J8JNXpiiNVvvNM0oTosNVmQnunlKvq9o4mupHOBAnnzH0lwIPKazXKvAKsVp1kr+H/K4lgoQ== + vscode-uri@^3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/vscode-uri/-/vscode-uri-3.0.3.tgz#a95c1ce2e6f41b7549f86279d19f47951e4f4d84" @@ -6904,8 +6871,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== - -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==