diff --git a/.prettierrc b/.prettierrc index af25a135e..865c74b2a 100644 --- a/.prettierrc +++ b/.prettierrc @@ -1,4 +1,4 @@ overrides: - - files: "**/*.{js,mjs}" + - files: "**/*.{js,mjs,cjs}" options: parser: meriyah diff --git a/changelog_unreleased/graphql/12519.md b/changelog_unreleased/graphql/12519.md new file mode 100644 index 000000000..16e13ba3f --- /dev/null +++ b/changelog_unreleased/graphql/12519.md @@ -0,0 +1,17 @@ +#### Add support for printing SchemaExtension nodes (#12519 by @trevor-scheer) + + +```graphql +# Input +extend schema { subscription: Subscription } +extend schema @directive + +# Prettier stable +N/A - throws error + +# Prettier main +extend schema { + subscription: Subscription +} +extend schema @directive +``` diff --git a/changelog_unreleased/less/12536.md b/changelog_unreleased/less/12536.md new file mode 100644 index 000000000..e73796d3a --- /dev/null +++ b/changelog_unreleased/less/12536.md @@ -0,0 +1,29 @@ +#### Fix LESS/SCSS format error (#12536 by @fisker) + + +```less +// Input +.background-gradient(@cut) { + background: linear-gradient( + to right, + @white 0%, + @white (@cut - 0.01%), + @portal-background @cut, + @portal-background 100% + ); +} + +// Prettier stable +TypeError: Cannot read properties of undefined (reading 'endOffset') + +// Prettier main +.background-gradient(@cut) { + background: linear-gradient( + to right, + @white 0%, + @white (@cut - 0.01%), + @portal-background @cut, + @portal-background 100% + ); +} +``` diff --git a/cspell.json b/cspell.json index 06c87346f..1be5b6c0e 100644 --- a/cspell.json +++ b/cspell.json @@ -265,6 +265,7 @@ "Raghuvir", "Rasmus", "Rattray", + "raquo", "rattrayalex", "readline", "readlines", diff --git a/docs/integrating-with-linters.md b/docs/integrating-with-linters.md index 25a10e5b9..bd6c125d0 100644 --- a/docs/integrating-with-linters.md +++ b/docs/integrating-with-linters.md @@ -8,7 +8,6 @@ Linters usually contain not only code quality rules, but also stylistic rules. M Luckily it’s easy to turn off rules that conflict or are unnecessary with Prettier, by using these pre-made configs: - [eslint-config-prettier](https://github.com/prettier/eslint-config-prettier) -- [tslint-config-prettier](https://github.com/alexjoverm/tslint-config-prettier) - [stylelint-config-prettier](https://github.com/prettier/stylelint-config-prettier) Check out the above links for instructions on how to install and set things up. @@ -20,7 +19,6 @@ When searching for both Prettier and your linter on the Internet you’ll probab First, we have plugins that let you run Prettier as if it was a linter rule: - [eslint-plugin-prettier](https://github.com/prettier/eslint-plugin-prettier) -- [tslint-plugin-prettier](https://github.com/ikatyang/tslint-plugin-prettier) - [stylelint-prettier](https://github.com/prettier/stylelint-prettier) These plugins were especially useful when Prettier was new. By running Prettier inside your linters, you didn’t have to set up any new infrastructure and you could re-use your editor integrations for the linters. But these days you can run `prettier --check .` and most editors have Prettier support. @@ -34,7 +32,6 @@ The downsides of those plugins are: Finally, we have tools that run `prettier` and then immediately for example `eslint --fix` on files. - [prettier-eslint](https://github.com/prettier/prettier-eslint) -- [prettier-tslint](https://github.com/azz/prettier-tslint) - [prettier-stylelint](https://github.com/hugomrdias/prettier-stylelint) Those are useful if some aspect of Prettier’s output makes Prettier completely unusable to you. Then you can have for example `eslint --fix` fix that up for you. The downside is that these tools are much slower than just running Prettier. diff --git a/docs/related-projects.md b/docs/related-projects.md index b4041468b..75d160ce9 100644 --- a/docs/related-projects.md +++ b/docs/related-projects.md @@ -16,12 +16,6 @@ title: Related Projects - [stylelint-prettier](https://github.com/prettier/stylelint-prettier) runs Prettier as a stylelint rule and reports differences as individual stylelint issues - [prettier-stylelint](https://github.com/hugomrdias/prettier-stylelint) passes `prettier` output to `stylelint --fix` -## TSLint Integrations - -- [tslint-config-prettier](https://github.com/alexjoverm/tslint-config-prettier) use TSLint with Prettier without any conflict -- [tslint-plugin-prettier](https://github.com/ikatyang/tslint-plugin-prettier) runs Prettier as a TSLint rule and reports differences as individual TSLint issues -- [prettier-tslint](https://github.com/azz/prettier-tslint) passes `prettier` output to `tslint --fix` - ## Forks - [prettierx](https://github.com/brodybits/prettierx) less opinionated fork of Prettier diff --git a/package.json b/package.json index 972e9563d..b0a9cf459 100644 --- a/package.json +++ b/package.json @@ -65,7 +65,7 @@ "lodash-es": "4.17.21", "mem": "9.0.2", "meriyah": "4.2.0", - "micromatch": "4.0.4", + "micromatch": "4.0.5", "minimist": "1.2.6", "n-readlines": "1.0.1", "outdent": "0.8.0", @@ -85,11 +85,9 @@ "semver": "7.3.5", "string-width": "5.0.1", "strip-ansi": "7.0.1", - "typescript": "4.6.2", - "unicode-regex": "3.0.0", + "typescript": "4.6.3", "unified": "9.2.1", "vnopts": "1.0.2", - "wcwidth": "1.0.1", "yaml-unist-parser": "1.3.1" }, "devDependencies": { @@ -102,21 +100,21 @@ "@prettier/jest-light-runner": "file:./tests/config/jest-light-runner", "@types/estree": "0.0.51", "@types/jest": "27.4.1", - "@typescript-eslint/eslint-plugin": "5.16.0", + "@typescript-eslint/eslint-plugin": "5.17.0", "babel-jest": "27.5.1", "benchmark": "2.1.4", "browserslist-to-esbuild": "1.1.1", "cross-env": "7.0.3", - "cspell": "5.19.2", + "cspell": "5.19.3", "enquirer": "2.3.6", - "esbuild": "0.14.27", + "esbuild": "0.14.29", "esbuild-visualizer": "0.3.1", - "eslint": "8.11.0", + "eslint": "8.12.0", "eslint-config-prettier": "8.5.0", "eslint-formatter-friendly": "7.0.0", "eslint-plugin-compat": "4.0.2", "eslint-plugin-import": "2.25.4", - "eslint-plugin-jest": "26.1.2", + "eslint-plugin-jest": "26.1.3", "eslint-plugin-prettier-internal-rules": "2.0.1", "eslint-plugin-react": "7.29.4", "eslint-plugin-regexp": "1.6.0", diff --git a/scripts/release/package.json b/scripts/release/package.json index 607c9172c..ea33a56c3 100644 --- a/scripts/release/package.json +++ b/scripts/release/package.json @@ -8,7 +8,7 @@ "chalk": "4.1.2", "enquirer": "2.3.6", "execa": "6.1.0", - "minimist": "1.2.5", + "minimist": "1.2.6", "node-fetch": "3.2.3", "outdent": "0.8.0", "semver": "7.3.5", diff --git a/scripts/release/steps/install-dependencies.js b/scripts/release/steps/install-dependencies.js index 02d0d61da..106d879d9 100644 --- a/scripts/release/steps/install-dependencies.js +++ b/scripts/release/steps/install-dependencies.js @@ -5,6 +5,9 @@ async function install() { await execa("rm", ["-rf", "node_modules"]); await runYarn(["install"]); + await execa("rm", ["-rf", "node_modules"], { cwd: "./website" }); + await runYarn(["install"], { cwd: "./website" }); + const { stdout: status } = await runGit(["ls-files", "-m"]); if (status) { throw new Error( diff --git a/scripts/release/yarn.lock b/scripts/release/yarn.lock index 21467141e..96914c343 100644 --- a/scripts/release/yarn.lock +++ b/scripts/release/yarn.lock @@ -1993,10 +1993,10 @@ minimatch@^3.0.4: dependencies: brace-expansion "^1.1.7" -minimist@1.2.5, minimist@^1.2.5: - version "1.2.5" - resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz" - integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== +minimist@1.2.6, minimist@^1.2.5: + version "1.2.6" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44" + integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q== ms@2.1.2: version "2.1.2" diff --git a/src/language-css/printer-postcss.js b/src/language-css/printer-postcss.js index 766447c91..8d370770c 100644 --- a/src/language-css/printer-postcss.js +++ b/src/language-css/printer-postcss.js @@ -933,15 +933,16 @@ function genericPrint(path, options, print) { if ( !isLast && child.type === "value-comma_group" && - child.groups && - child.groups[0].type !== "value-paren_group" && - isNextLineEmpty( - options.originalText, - getLast(child.groups), - locEnd - ) + isNonEmptyArray(child.groups) ) { - printed.push(hardline); + const last = getLast(child.groups); + if ( + // `value-paren_group` missing location info + last.source && + isNextLineEmpty(options.originalText, last, locEnd) + ) { + printed.push(hardline); + } } return printed; diff --git a/src/language-graphql/printer-graphql.js b/src/language-graphql/printer-graphql.js index b6b2b041c..c8852cbe4 100644 --- a/src/language-graphql/printer-graphql.js +++ b/src/language-graphql/printer-graphql.js @@ -91,13 +91,7 @@ function genericPrint(path, options, print) { "{", indent([ hardline, - join( - hardline, - path.call( - (selectionsPath) => printSequence(selectionsPath, options, print), - "selections" - ) - ), + join(hardline, printSequence(path, options, print, "selections")), ]), hardline, "}", @@ -114,10 +108,7 @@ function genericPrint(path, options, print) { softline, join( [ifBreak("", ", "), softline], - path.call( - (argsPath) => printSequence(argsPath, options, print), - "arguments" - ) + printSequence(path, options, print, "arguments") ), ]), softline, @@ -205,10 +196,7 @@ function genericPrint(path, options, print) { softline, join( [ifBreak("", ", "), softline], - path.call( - (argsPath) => printSequence(argsPath, options, print), - "arguments" - ) + printSequence(path, options, print, "arguments") ), ]), softline, @@ -249,13 +237,7 @@ function genericPrint(path, options, print) { " {", indent([ hardline, - join( - hardline, - path.call( - (fieldsPath) => printSequence(fieldsPath, options, print), - "fields" - ) - ), + join(hardline, printSequence(path, options, print, "fields")), ]), hardline, "}", @@ -276,10 +258,7 @@ function genericPrint(path, options, print) { softline, join( [ifBreak("", ", "), softline], - path.call( - (argsPath) => printSequence(argsPath, options, print), - "arguments" - ) + printSequence(path, options, print, "arguments") ), ]), softline, @@ -306,10 +285,7 @@ function genericPrint(path, options, print) { softline, join( [ifBreak("", ", "), softline], - path.call( - (argsPath) => printSequence(argsPath, options, print), - "arguments" - ) + printSequence(path, options, print, "arguments") ), ]), softline, @@ -337,13 +313,7 @@ function genericPrint(path, options, print) { " {", indent([ hardline, - join( - hardline, - path.call( - (valuesPath) => printSequence(valuesPath, options, print), - "values" - ) - ), + join(hardline, printSequence(path, options, print, "values")), ]), hardline, "}", @@ -387,13 +357,7 @@ function genericPrint(path, options, print) { " {", indent([ hardline, - join( - hardline, - path.call( - (fieldsPath) => printSequence(fieldsPath, options, print), - "fields" - ) - ), + join(hardline, printSequence(path, options, print, "fields")), ]), hardline, "}", @@ -402,6 +366,26 @@ function genericPrint(path, options, print) { ]; } + case "SchemaExtension": { + return [ + "extend schema", + printDirectives(path, print, node), + ...(node.operationTypes.length > 0 + ? [ + " {", + indent([ + hardline, + join( + hardline, + printSequence(path, options, print, "operationTypes") + ), + ]), + hardline, + "}", + ] + : []), + ]; + } case "SchemaDefinition": { return [ print("description"), @@ -414,10 +398,7 @@ function genericPrint(path, options, print) { hardline, join( hardline, - path.call( - (opsPath) => printSequence(opsPath, options, print), - "operationTypes" - ) + printSequence(path, options, print, "operationTypes") ), ]) : "", @@ -447,13 +428,7 @@ function genericPrint(path, options, print) { " {", indent([ hardline, - join( - hardline, - path.call( - (fieldsPath) => printSequence(fieldsPath, options, print), - "fields" - ) - ), + join(hardline, printSequence(path, options, print, "fields")), ]), hardline, "}", @@ -543,21 +518,19 @@ function printDirectives(path, print, node) { return [" ", group(indent([softline, printed]))]; } -function printSequence(sequencePath, options, print) { - const count = sequencePath.getValue().length; - - return sequencePath.map((path, i) => { +function printSequence(path, options, print, property) { + return path.map((path, index, sequence) => { const printed = print(); if ( - isNextLineEmpty(options.originalText, path.getValue(), locEnd) && - i < count - 1 + index < sequence.length - 1 && + isNextLineEmpty(options.originalText, path.getValue(), locEnd) ) { return [printed, hardline]; } return printed; - }); + }, property); } function canAttachComment(node) { diff --git a/tests/config/format-test.js b/tests/config/format-test.js index 5b44913e4..c52f9672c 100644 --- a/tests/config/format-test.js +++ b/tests/config/format-test.js @@ -235,9 +235,19 @@ function runSpec(fixtures, parsers, options) { filepath: filename, parser, }; - const mainParserFormatResult = shouldThrowOnFormat(name, formatOptions) - ? { options: formatOptions, error: true } - : format(code, formatOptions); + const shouldThrowOnMainParserFormat = shouldThrowOnFormat( + name, + formatOptions + ); + + let mainParserFormatResult; + if (shouldThrowOnMainParserFormat) { + mainParserFormatResult = { options: formatOptions, error: true }; + } else { + beforeAll(async () => { + mainParserFormatResult = await format(code, formatOptions); + }); + } for (const currentParser of allParsers) { if ( @@ -247,22 +257,31 @@ function runSpec(fixtures, parsers, options) { ) { continue; } - runTest({ - parsers, - name, - filename, - code, - output, - parser: currentParser, - mainParserFormatResult, - mainParserFormatOptions: formatOptions, + + const testTitle = + shouldThrowOnMainParserFormat || + formatOptions.parser !== currentParser + ? `[${currentParser}] format` + : "format"; + + test(testTitle, async () => { + await runTest({ + parsers, + name, + filename, + code, + output, + parser: currentParser, + mainParserFormatResult, + mainParserFormatOptions: formatOptions, + }); }); } }); } } -function runTest({ +async function runTest({ parsers, name, filename, @@ -274,52 +293,46 @@ function runTest({ }) { let formatOptions = mainParserFormatOptions; let formatResult = mainParserFormatResult; - let formatTestTitle = "format"; // Verify parsers or error tests if ( mainParserFormatResult.error || mainParserFormatOptions.parser !== parser ) { - formatTestTitle = `[${parser}] format`; formatOptions = { ...mainParserFormatResult.options, parser }; const runFormat = () => format(code, formatOptions); if (shouldThrowOnFormat(name, formatOptions)) { - test(formatTestTitle, () => { - expect(runFormat).toThrowErrorMatchingSnapshot(); - }); + await expect(runFormat()).rejects.toThrowErrorMatchingSnapshot(); return; } // Verify parsers format result should be the same as main parser output = mainParserFormatResult.outputWithCursor; - formatResult = runFormat(); + formatResult = await runFormat(); } - test(formatTestTitle, () => { - // Make sure output has consistent EOL + // Make sure output has consistent EOL + expect(formatResult.eolVisualizedOutput).toEqual( + visualizeEndOfLine(consistentEndOfLine(formatResult.outputWithCursor)) + ); + + // The result is assert to equals to `output` + if (typeof output === "string") { expect(formatResult.eolVisualizedOutput).toEqual( - visualizeEndOfLine(consistentEndOfLine(formatResult.outputWithCursor)) + visualizeEndOfLine(output) ); + return; + } - // The result is assert to equals to `output` - if (typeof output === "string") { - expect(formatResult.eolVisualizedOutput).toEqual( - visualizeEndOfLine(output) - ); - return; - } - - // All parsers have the same result, only snapshot the result from main parser - expect( - createSnapshot(formatResult, { - parsers, - formatOptions, - CURSOR_PLACEHOLDER, - }) - ).toMatchSnapshot(); - }); + // All parsers have the same result, only snapshot the result from main parser + expect( + createSnapshot(formatResult, { + parsers, + formatOptions, + CURSOR_PLACEHOLDER, + }) + ).toMatchSnapshot(); if (!FULL_TEST) { return; @@ -331,63 +344,58 @@ function runTest({ // No range and cursor formatResult.input === code ) { - test(`[${parser}] second format`, () => { - const { eolVisualizedOutput: firstOutput, output } = formatResult; - const { eolVisualizedOutput: secondOutput } = format( - output, - formatOptions - ); - if (isUnstableTest) { - // To keep eye on failed tests, this assert never supposed to pass, - // if it fails, just remove the file from `unstableTests` - expect(secondOutput).not.toEqual(firstOutput); - } else { - expect(secondOutput).toEqual(firstOutput); - } - }); + const { eolVisualizedOutput: firstOutput, output } = formatResult; + const { eolVisualizedOutput: secondOutput } = await format( + output, + formatOptions + ); + if (isUnstableTest) { + // To keep eye on failed tests, this assert never supposed to pass, + // if it fails, just remove the file from `unstableTests` + expect(secondOutput).not.toEqual(firstOutput); + } else { + expect(secondOutput).toEqual(firstOutput); + } } const isAstUnstableTest = isAstUnstable(filename, formatOptions); // Some parsers skip parsing empty files if (formatResult.changed && code.trim()) { - test(`[${parser}] compare AST`, () => { - const { input, output } = formatResult; - const originalAst = parse(input, formatOptions); - const formattedAst = parse(output, formatOptions); - if (isAstUnstableTest) { - expect(formattedAst).not.toEqual(originalAst); - } else { - expect(formattedAst).toEqual(originalAst); - } - }); + const { input, output } = formatResult; + const originalAst = parse(input, formatOptions); + const formattedAst = parse(output, formatOptions); + if (isAstUnstableTest) { + expect(formattedAst).not.toEqual(originalAst); + } else { + expect(formattedAst).toEqual(originalAst); + } } if (!shouldSkipEolTest(code, formatResult.options)) { for (const eol of ["\r\n", "\r"]) { - test(`[${parser}] EOL ${JSON.stringify(eol)}`, () => { - const output = format( - code.replace(/\n/g, eol), - formatOptions - ).eolVisualizedOutput; - // Only if `endOfLine: "auto"` the result will be different - const expected = - formatOptions.endOfLine === "auto" - ? visualizeEndOfLine( - // All `code` use `LF`, so the `eol` of result is always `LF` - formatResult.outputWithCursor.replace(/\n/g, eol) - ) - : formatResult.eolVisualizedOutput; - expect(output).toEqual(expected); - }); + const { eolVisualizedOutput: output } = await format( + code.replace(/\n/g, eol), + formatOptions + ); + // Only if `endOfLine: "auto"` the result will be different + const expected = + formatOptions.endOfLine === "auto" + ? visualizeEndOfLine( + // All `code` use `LF`, so the `eol` of result is always `LF` + formatResult.outputWithCursor.replace(/\n/g, eol) + ) + : formatResult.eolVisualizedOutput; + expect(output).toEqual(expected); } } if (code.charAt(0) !== BOM) { - test(`[${parser}] BOM`, () => { - const output = format(BOM + code, formatOptions).eolVisualizedOutput; - const expected = BOM + formatResult.eolVisualizedOutput; - expect(output).toEqual(expected); - }); + const { eolVisualizedOutput: output } = await format( + BOM + code, + formatOptions + ); + const expected = BOM + formatResult.eolVisualizedOutput; + expect(output).toEqual(expected); } } @@ -454,7 +462,8 @@ const insertCursor = (text, cursorOffset) => CURSOR_PLACEHOLDER + text.slice(cursorOffset) : text; -function format(originalText, originalOptions) { +// eslint-disable-next-line require-await +async function format(originalText, originalOptions) { const { text: input, options } = replacePlaceholders( originalText, originalOptions diff --git a/tests/format/graphql/kitchen-sink/__snapshots__/jsfmt.spec.js.snap b/tests/format/graphql/kitchen-sink/__snapshots__/jsfmt.spec.js.snap index c930d15b2..bc9c3d3e3 100644 --- a/tests/format/graphql/kitchen-sink/__snapshots__/jsfmt.spec.js.snap +++ b/tests/format/graphql/kitchen-sink/__snapshots__/jsfmt.spec.js.snap @@ -149,6 +149,10 @@ schema { mutation: MutationType } +extend schema @directive { + subscription: Subscription +} + """ This is a description of the \`Foo\` type. @@ -271,6 +275,10 @@ schema { mutation: MutationType } +extend schema @directive { + subscription: Subscription +} + """ This is a description of the \`Foo\` type. diff --git a/tests/format/graphql/kitchen-sink/schema_kitchen_sink.graphql b/tests/format/graphql/kitchen-sink/schema_kitchen_sink.graphql index 0c72dcca2..e4a5327bf 100644 --- a/tests/format/graphql/kitchen-sink/schema_kitchen_sink.graphql +++ b/tests/format/graphql/kitchen-sink/schema_kitchen_sink.graphql @@ -8,6 +8,10 @@ schema { mutation: MutationType } +extend schema @directive { + subscription: Subscription +} + """ This is a description of the `Foo` type. diff --git a/tests/format/graphql/schema/__snapshots__/jsfmt.spec.js.snap b/tests/format/graphql/schema/__snapshots__/jsfmt.spec.js.snap index 250af029e..280b7dafd 100644 --- a/tests/format/graphql/schema/__snapshots__/jsfmt.spec.js.snap +++ b/tests/format/graphql/schema/__snapshots__/jsfmt.spec.js.snap @@ -13,6 +13,13 @@ schema { subscription: Subscription } +extend schema { subscription: Subscription } + +# \`SchemaExtension\`s don't require any operation types and doesn't print +# curlies in their abscence. +extend schema + @directive + =====================================output===================================== """ Schema definition description @@ -23,5 +30,13 @@ schema { subscription: Subscription } +extend schema { + subscription: Subscription +} + +# \`SchemaExtension\`s don't require any operation types and doesn't print +# curlies in their abscence. +extend schema @directive + ================================================================================ `; diff --git a/tests/format/graphql/schema/schema.graphql b/tests/format/graphql/schema/schema.graphql index 4ffc3dcfe..f426bfad4 100644 --- a/tests/format/graphql/schema/schema.graphql +++ b/tests/format/graphql/schema/schema.graphql @@ -4,3 +4,10 @@ schema { mutation: Mutation subscription: Subscription } + +extend schema { subscription: Subscription } + +# `SchemaExtension`s don't require any operation types and doesn't print +# curlies in their abscence. +extend schema + @directive diff --git a/tests/format/less/parens/2.less b/tests/format/less/parens/2.less new file mode 100644 index 000000000..4f008166a --- /dev/null +++ b/tests/format/less/parens/2.less @@ -0,0 +1,12 @@ +.background-gradient(@cut) { + background: linear-gradient( + to right, + + + /* Should preserve empty lines */ + @white 0%, + @white (@cut - 0.01%), + @portal-background @cut, + @portal-background 100% + ); +} diff --git a/tests/format/less/parens/__snapshots__/jsfmt.spec.js.snap b/tests/format/less/parens/__snapshots__/jsfmt.spec.js.snap index a0a9d2b86..46f778ccb 100644 --- a/tests/format/less/parens/__snapshots__/jsfmt.spec.js.snap +++ b/tests/format/less/parens/__snapshots__/jsfmt.spec.js.snap @@ -1,5 +1,39 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP +exports[`2.less format 1`] = ` +====================================options===================================== +parsers: ["less"] +printWidth: 80 + | printWidth +=====================================input====================================== +.background-gradient(@cut) { + background: linear-gradient( + to right, + + + /* Should preserve empty lines */ + @white 0%, + @white (@cut - 0.01%), + @portal-background @cut, + @portal-background 100% + ); +} + +=====================================output===================================== +.background-gradient(@cut) { + background: linear-gradient( + to right, + + /* Should preserve empty lines */ @white 0%, + @white (@cut - 0.01%), + @portal-background @cut, + @portal-background 100% + ); +} + +================================================================================ +`; + exports[`parens.less format 1`] = ` ====================================options===================================== parsers: ["less"] diff --git a/tests/format/scss/parens/2.scss b/tests/format/scss/parens/2.scss new file mode 100644 index 000000000..78ab1c32e --- /dev/null +++ b/tests/format/scss/parens/2.scss @@ -0,0 +1,15 @@ +$icons: ( + cal-day-group: + ( + left: 253, + top: 73, + ), + + + /* Should preserve empty lines */ + cal-week-group: + ( + left: 1, + top: 169, + ) +); diff --git a/tests/format/scss/parens/__snapshots__/jsfmt.spec.js.snap b/tests/format/scss/parens/__snapshots__/jsfmt.spec.js.snap index 04daff232..5a8c9e105 100644 --- a/tests/format/scss/parens/__snapshots__/jsfmt.spec.js.snap +++ b/tests/format/scss/parens/__snapshots__/jsfmt.spec.js.snap @@ -1,5 +1,43 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP +exports[`2.scss format 1`] = ` +====================================options===================================== +parsers: ["scss"] +printWidth: 80 + | printWidth +=====================================input====================================== +$icons: ( + cal-day-group: + ( + left: 253, + top: 73, + ), + + + /* Should preserve empty lines */ + cal-week-group: + ( + left: 1, + top: 169, + ) +); + +=====================================output===================================== +$icons: ( + cal-day-group: ( + left: 253, + top: 73, + ), + /* Should preserve empty lines */ cal-week-group: + ( + left: 1, + top: 169, + ), +); + +================================================================================ +`; + exports[`parens.scss format 1`] = ` ====================================options===================================== parsers: ["scss"] diff --git a/website/package.json b/website/package.json index bf9b66c65..8f56e46f5 100644 --- a/website/package.json +++ b/website/package.json @@ -8,7 +8,7 @@ }, "dependencies": { "clipboard": "2.0.10", - "codemirror-graphql": "1.2.13", + "codemirror-graphql": "1.2.14", "lz-string": "1.4.4", "prop-types": "15.8.1", "react": "17.0.2", @@ -19,7 +19,7 @@ "@babel/preset-env": "7.16.7", "@babel/preset-react": "7.16.7", "@sandhose/prettier-animated-logo": "1.0.3", - "babel-loader": "8.2.3", + "babel-loader": "8.2.4", "concurrently": "7.0.0", "docusaurus": "1.14.7", "js-yaml": "4.1.0", diff --git a/website/pages/en/index.js b/website/pages/en/index.js index 00127fbd8..a0ffe46c7 100755 --- a/website/pages/en/index.js +++ b/website/pages/en/index.js @@ -100,7 +100,12 @@ const TldrSection = ({ language }) => (
  • No need to discuss style in code review
  • Saves you time and energy
  • - And more + + And more » +
  • diff --git a/website/yarn.lock b/website/yarn.lock index fe00a8a4c..5fae06235 100644 --- a/website/yarn.lock +++ b/website/yarn.lock @@ -2511,13 +2511,13 @@ aws4@^1.8.0: resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59" integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA== -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== +babel-loader@8.2.4: + version "8.2.4" + resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.2.4.tgz#95f5023c791b2e9e2ca6f67b0984f39c82ff384b" + integrity sha512-8dytA3gcvPPPv4Grjhnt8b5IIiTcq/zeXOPk4iTYI0SVXcsmuGg7JtBRDp8S9X+gJfhQ8ektjXZlDu1Bb33U8A== dependencies: find-cache-dir "^3.3.1" - loader-utils "^1.4.0" + loader-utils "^2.0.0" make-dir "^3.1.0" schema-utils "^2.6.5" @@ -3075,13 +3075,13 @@ coa@^2.0.2: chalk "^2.4.1" q "^1.1.2" -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== +codemirror-graphql@1.2.14: + version "1.2.14" + resolved "https://registry.yarnpkg.com/codemirror-graphql/-/codemirror-graphql-1.2.14.tgz#069df62347a1db5aca6a1a74ad2f933392d2a6b9" + integrity sha512-zt2N0sZgaZZUOp8eTNIy2d364gGKjtAu0PKHMjQqogB2S4KrD/z/wICCjRf0JXskPM8jN/kNqufhHt59UKf6gQ== dependencies: "@codemirror/stream-parser" "^0.19.2" - graphql-language-service "^5.0.0" + graphql-language-service "^5.0.1" coffee-script@^1.12.4: version "1.12.7" @@ -4974,10 +4974,10 @@ graphql-config@^4.1.0: minimatch "3.0.4" string-env-interpolation "1.0.1" -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== +graphql-language-service@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/graphql-language-service/-/graphql-language-service-5.0.1.tgz#de72d12051fa48deec3883f4980f6ff3475ab8d6" + integrity sha512-DGaGtCyU5ugCJIkTWqFxNESFCqjNEHJGWDhcu2jXY28GcPnTSqfKAk4ryCK4E514AKNFrvX9WwZEB6Csi+xbdQ== dependencies: graphql-config "^4.1.0" nullthrows "^1.0.0" @@ -5835,13 +5835,6 @@ json-stringify-safe@~5.0.1: resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= -json5@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" - integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow== - dependencies: - minimist "^1.2.0" - json5@^2.1.2: version "2.2.0" resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.0.tgz#2dfefe720c6ba525d9ebd909950f0515316c89a3" @@ -5956,14 +5949,14 @@ loader-utils@2.0.0: emojis-list "^3.0.0" json5 "^2.1.2" -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== +loader-utils@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.2.tgz#d6e3b4fb81870721ae4e0868ab11dd638368c129" + integrity sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A== dependencies: big.js "^5.2.2" emojis-list "^3.0.0" - json5 "^1.0.1" + json5 "^2.1.2" locate-path@^3.0.0: version "3.0.0" diff --git a/yarn.lock b/yarn.lock index 5bcabe4b2..5a37fe39f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -952,25 +952,25 @@ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@cspell/cspell-bundled-dicts@^5.19.2": - version "5.19.2" - resolved "https://registry.yarnpkg.com/@cspell/cspell-bundled-dicts/-/cspell-bundled-dicts-5.19.2.tgz#c20d05d0ff5f3850bb62a32a95e05abd94673936" - integrity sha512-R+12xDw5iLCJH3O0n8t1D7acZrO/bjuULU3rs3CEt+i84/85b27shywc3E/vOiOt9613bpFNOL52J27Tu52YPQ== +"@cspell/cspell-bundled-dicts@^5.19.3": + version "5.19.3" + resolved "https://registry.yarnpkg.com/@cspell/cspell-bundled-dicts/-/cspell-bundled-dicts-5.19.3.tgz#826e166eb56f193c2d770575adfbb1557816f1af" + integrity sha512-YAz68AgXTFFtrBUhNJlOQ7KOjUE6ncYt578/esa2GStMJHgJoUtPnOZsE41hh+cVWXqO5yRRI+Qkwub99zLMgQ== dependencies: "@cspell/dict-ada" "^2.0.0" "@cspell/dict-aws" "^2.0.0" "@cspell/dict-bash" "^2.0.1" - "@cspell/dict-companies" "^2.0.2" + "@cspell/dict-companies" "^2.0.3" "@cspell/dict-cpp" "^2.0.0" "@cspell/dict-cryptocurrencies" "^2.0.0" "@cspell/dict-csharp" "^2.0.1" "@cspell/dict-css" "^2.0.0" "@cspell/dict-dart" "^1.1.0" "@cspell/dict-django" "^2.0.0" - "@cspell/dict-dotnet" "^2.0.0" + "@cspell/dict-dotnet" "^2.0.1" "@cspell/dict-elixir" "^2.0.1" "@cspell/dict-en-gb" "^1.1.33" - "@cspell/dict-en_us" "^2.1.7" + "@cspell/dict-en_us" "^2.2.0" "@cspell/dict-filetypes" "^2.0.1" "@cspell/dict-fonts" "^2.0.0" "@cspell/dict-fullstack" "^2.0.4" @@ -992,20 +992,20 @@ "@cspell/dict-ruby" "^2.0.1" "@cspell/dict-rust" "^2.0.0" "@cspell/dict-scala" "^2.0.0" - "@cspell/dict-software-terms" "^2.1.3" + "@cspell/dict-software-terms" "^2.1.4" "@cspell/dict-swift" "^1.0.2" "@cspell/dict-typescript" "^2.0.0" "@cspell/dict-vue" "^2.0.2" -"@cspell/cspell-pipe@^5.19.2": - version "5.19.2" - resolved "https://registry.yarnpkg.com/@cspell/cspell-pipe/-/cspell-pipe-5.19.2.tgz#40bf46fae7aa0697f9ab9e36d165fe149b9b5f36" - integrity sha512-mFFSn4ZgNgIOM0iBT0+xKBhRTQd/ecrWVvPfJpHxXIFwTt0neD19hqK54RDedLf8Hjds5cBHvS1EjMNARju/bQ== +"@cspell/cspell-pipe@^5.19.3": + version "5.19.3" + resolved "https://registry.yarnpkg.com/@cspell/cspell-pipe/-/cspell-pipe-5.19.3.tgz#af818c0362786f61ac8741947e1819f94b55ec3b" + integrity sha512-3RKntgGRxYYzoxoH3VBPvnNMYkHKPq0U+U7qogcWxDkgAUgKXlBP0oc2mw96grJQ4HIzOL1vBnaVAWAqteY9Kw== -"@cspell/cspell-types@^5.19.2": - version "5.19.2" - resolved "https://registry.yarnpkg.com/@cspell/cspell-types/-/cspell-types-5.19.2.tgz#faae04c918dca53d6a266d86d00c3bd1682ebe16" - integrity sha512-IkMQpa7IzoFm9NXzRz8Gp38f3aoMZf6xjT7J3FvWtIntPvkIFaY53R1/I9U/gujH/zflf2VmZGxoDuFg1VcD0g== +"@cspell/cspell-types@^5.19.3": + version "5.19.3" + resolved "https://registry.yarnpkg.com/@cspell/cspell-types/-/cspell-types-5.19.3.tgz#37a64db00e33a1c8bb8aa3bf86d503689b3afbf5" + integrity sha512-tub7PW/I6qB6o+ZtlahAZjm5O5cnzj88HRiC8nAbJFpa7q0mrdpFMYhd7ksWtyFLlNbuDkCsfzXGamAhIQnnIw== "@cspell/dict-ada@^2.0.0": version "2.0.0" @@ -1022,10 +1022,10 @@ resolved "https://registry.yarnpkg.com/@cspell/dict-bash/-/dict-bash-2.0.1.tgz#76f6be974e9a968235d4e1b04c4ae76b16169057" integrity sha512-pBx3T/5w7fPF8XD5cx3NwtRFvNpQYmYqzM043NKP2hDmlx4uFwbH599Lvt5mwCMZKfIoRXaNUQvq7se2gstQjw== -"@cspell/dict-companies@^2.0.2": - version "2.0.2" - resolved "https://registry.yarnpkg.com/@cspell/dict-companies/-/dict-companies-2.0.2.tgz#de315b8315b868f877e6161f9fe70e8efc769931" - integrity sha512-LPKwBMAWRz+p1R8q+TV6E1sGOOTvxJOaJeXNN++CZQ7i6JMn5Rf+BSxagwkeK6z3o9vIC5ZE4AcQ5BMkvyjqGw== +"@cspell/dict-companies@^2.0.3": + version "2.0.3" + resolved "https://registry.yarnpkg.com/@cspell/dict-companies/-/dict-companies-2.0.3.tgz#9e0f93a2cc884ff0b98d019123d1dbfb853da872" + integrity sha512-O622rMAaHm85AmqNyMki5je8HB/1XlTKbGOXh2UUhooI5qdgdfrjTQ6VBuHwHrfEfuODBHYTNYXVB2m23XqHCg== "@cspell/dict-cpp@^2.0.0": version "2.0.0" @@ -1057,10 +1057,10 @@ resolved "https://registry.yarnpkg.com/@cspell/dict-django/-/dict-django-2.0.0.tgz#a5f5f693a686e5873f9dfb547ee3b3142ef760b1" integrity sha512-GkJdJv6cmzrKcmq2/oxTXjKF5uv71r4eTqnFmgPbNBW1t+G4VYpzOf0QrVQrhx2RC4DdW5XfcTf+iS0FxHOTmw== -"@cspell/dict-dotnet@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@cspell/dict-dotnet/-/dict-dotnet-2.0.0.tgz#92729d95a71b9f72bf264fbba0c66a7b29f3993a" - integrity sha512-WOHfjwMuLbo76khDsDa1lJvP/dXcwXVwonWwfUFRt82BL/GtyMalh1HEtCWwKDuK/9f8PCEt/EZMkHT3D5ZV3w== +"@cspell/dict-dotnet@^2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@cspell/dict-dotnet/-/dict-dotnet-2.0.1.tgz#8ef56df758b63f0a2ba4d8681a427a6861ed34d5" + integrity sha512-b1n4crJRW0WZVf9Gp/52j/tDtjYiZ3N81fIyfqPlBrjsh/5AivfA697DYwQ2mr8ngNX7RsqRtYNQjealA1rEnQ== "@cspell/dict-elixir@^2.0.1": version "2.0.1" @@ -1072,10 +1072,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.7": - version "2.1.7" - resolved "https://registry.yarnpkg.com/@cspell/dict-en_us/-/dict-en_us-2.1.7.tgz#1acb710b72364898a832b300d3e77211027efac0" - integrity sha512-7IeAHZjXiWSIKFx/3CIlY6misvg2KyJ2KO3tSVSKuAlC3UXHGVOcbcY0kQ95IJeKbB6Ot6aW/Aaw73Nzhuurrg== +"@cspell/dict-en_us@^2.2.0": + version "2.2.0" + resolved "https://registry.yarnpkg.com/@cspell/dict-en_us/-/dict-en_us-2.2.0.tgz#33ee50fac4c42036ce98b9c9925cc86b16b0f2c3" + integrity sha512-IJWu8MI2NdLyPzekrMi9K+v71b0qjDE+z/BccoMA/APnphqgSNM8BDUAzhio6mPKi1AvPRCNUjk79oiUfp+1Gw== "@cspell/dict-filetypes@^2.0.1": version "2.0.1" @@ -1182,10 +1182,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.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-software-terms@^2.1.4": + version "2.1.4" + resolved "https://registry.yarnpkg.com/@cspell/dict-software-terms/-/dict-software-terms-2.1.4.tgz#4a3e1d62abcaa237b98510638e279bae7712e97f" + integrity sha512-MB2eT9qhbnIEJajGv+ndzzi6S8NCJ9cMyeGJYMoRAiJobTKP6xPrT37VjPzhckRtrHJGG//UgtQ4NsiK5aBITw== "@cspell/dict-swift@^1.0.2": version "1.0.2" @@ -1730,14 +1730,14 @@ dependencies: "@types/yargs-parser" "*" -"@typescript-eslint/eslint-plugin@5.16.0": - version "5.16.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.16.0.tgz#78f246dd8d1b528fc5bfca99a8a64d4023a3d86d" - integrity sha512-SJoba1edXvQRMmNI505Uo4XmGbxCK9ARQpkvOd00anxzri9RNQk0DDCxD+LIl+jYhkzOJiOMMKYEHnHEODjdCw== +"@typescript-eslint/eslint-plugin@5.17.0": + version "5.17.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.17.0.tgz#704eb4e75039000531255672bf1c85ee85cf1d67" + integrity sha512-qVstvQilEd89HJk3qcbKt/zZrfBZ+9h2ynpAGlWjWiizA7m/MtLT9RoX6gjtpE500vfIg8jogAkDzdCxbsFASQ== dependencies: - "@typescript-eslint/scope-manager" "5.16.0" - "@typescript-eslint/type-utils" "5.16.0" - "@typescript-eslint/utils" "5.16.0" + "@typescript-eslint/scope-manager" "5.17.0" + "@typescript-eslint/type-utils" "5.17.0" + "@typescript-eslint/utils" "5.17.0" debug "^4.3.2" functional-red-black-tree "^1.0.1" ignore "^5.1.8" @@ -1745,20 +1745,20 @@ semver "^7.3.5" tsutils "^3.21.0" -"@typescript-eslint/scope-manager@5.16.0": - version "5.16.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.16.0.tgz#7e7909d64bd0c4d8aef629cdc764b9d3e1d3a69a" - integrity sha512-P+Yab2Hovg8NekLIR/mOElCDPyGgFZKhGoZA901Yax6WR6HVeGLbsqJkZ+Cvk5nts/dAlFKm8PfL43UZnWdpIQ== +"@typescript-eslint/scope-manager@5.17.0": + version "5.17.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.17.0.tgz#4cea7d0e0bc0e79eb60cad431c89120987c3f952" + integrity sha512-062iCYQF/doQ9T2WWfJohQKKN1zmmXVfAcS3xaiialiw8ZUGy05Em6QVNYJGO34/sU1a7a+90U3dUNfqUDHr3w== dependencies: - "@typescript-eslint/types" "5.16.0" - "@typescript-eslint/visitor-keys" "5.16.0" + "@typescript-eslint/types" "5.17.0" + "@typescript-eslint/visitor-keys" "5.17.0" -"@typescript-eslint/type-utils@5.16.0": - version "5.16.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.16.0.tgz#b482bdde1d7d7c0c7080f7f2f67ea9580b9e0692" - integrity sha512-SKygICv54CCRl1Vq5ewwQUJV/8padIWvPgCxlWPGO/OgQLCijY9G7lDu6H+mqfQtbzDNlVjzVWQmeqbLMBLEwQ== +"@typescript-eslint/type-utils@5.17.0": + version "5.17.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.17.0.tgz#1c4549d68c89877662224aabb29fbbebf5fc9672" + integrity sha512-3hU0RynUIlEuqMJA7dragb0/75gZmwNwFf/QJokWzPehTZousP/MNifVSgjxNcDCkM5HI2K22TjQWUmmHUINSg== dependencies: - "@typescript-eslint/utils" "5.16.0" + "@typescript-eslint/utils" "5.17.0" debug "^4.3.2" tsutils "^3.21.0" @@ -1767,6 +1767,11 @@ resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.16.0.tgz#5827b011982950ed350f075eaecb7f47d3c643ee" integrity sha512-oUorOwLj/3/3p/HFwrp6m/J2VfbLC8gjW5X3awpQJ/bSG+YRGFS4dpsvtQ8T2VNveV+LflQHjlLvB6v0R87z4g== +"@typescript-eslint/types@5.17.0": + version "5.17.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.17.0.tgz#861ec9e669ffa2aa9b873dd4d28d9b1ce26d216f" + integrity sha512-AgQ4rWzmCxOZLioFEjlzOI3Ch8giDWx8aUDxyNw9iOeCvD3GEYAB7dxWGQy4T/rPVe8iPmu73jPHuaSqcjKvxw== + "@typescript-eslint/typescript-estree@5.16.0": version "5.16.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.16.0.tgz#32259459ec62f5feddca66adc695342f30101f61" @@ -1780,15 +1785,28 @@ semver "^7.3.5" tsutils "^3.21.0" -"@typescript-eslint/utils@5.16.0", "@typescript-eslint/utils@^5.10.0": - version "5.16.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.16.0.tgz#42218b459d6d66418a4eb199a382bdc261650679" - integrity sha512-iYej2ER6AwmejLWMWzJIHy3nPJeGDuCqf8Jnb+jAQVoPpmWzwQOfa9hWVB8GIQE5gsCv/rfN4T+AYb/V06WseQ== +"@typescript-eslint/typescript-estree@5.17.0": + version "5.17.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.17.0.tgz#a7cba7dfc8f9cc2ac78c18584e684507df4f2488" + integrity sha512-X1gtjEcmM7Je+qJRhq7ZAAaNXYhTgqMkR10euC4Si6PIjb+kwEQHSxGazXUQXFyqfEXdkGf6JijUu5R0uceQzg== + dependencies: + "@typescript-eslint/types" "5.17.0" + "@typescript-eslint/visitor-keys" "5.17.0" + 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.17.0", "@typescript-eslint/utils@^5.10.0": + version "5.17.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.17.0.tgz#549a9e1d491c6ccd3624bc3c1b098f5cfb45f306" + integrity sha512-DVvndq1QoxQH+hFv+MUQHrrWZ7gQ5KcJzyjhzcqB1Y2Xes1UQQkTRPUfRpqhS8mhTWsSb2+iyvDW1Lef5DD7vA== dependencies: "@types/json-schema" "^7.0.9" - "@typescript-eslint/scope-manager" "5.16.0" - "@typescript-eslint/types" "5.16.0" - "@typescript-eslint/typescript-estree" "5.16.0" + "@typescript-eslint/scope-manager" "5.17.0" + "@typescript-eslint/types" "5.17.0" + "@typescript-eslint/typescript-estree" "5.17.0" eslint-scope "^5.1.1" eslint-utils "^3.0.0" @@ -1800,6 +1818,14 @@ "@typescript-eslint/types" "5.16.0" eslint-visitor-keys "^3.0.0" +"@typescript-eslint/visitor-keys@5.17.0": + version "5.17.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.17.0.tgz#52daae45c61b0211b4c81b53a71841911e479128" + integrity sha512-6K/zlc4OfCagUu7Am/BD5k8PSWQOgh34Nrv9Rxe2tBzlJ7uOeJ/h7ugCGDCeEZHT6k2CJBhbk9IsbkPI0uvUkA== + dependencies: + "@typescript-eslint/types" "5.17.0" + 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" @@ -2123,7 +2149,7 @@ brace-expansion@^1.1.7: balanced-match "^1.0.0" concat-map "0.0.1" -braces@^3.0.1: +braces@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== @@ -2315,11 +2341,6 @@ cliui@^7.0.2: strip-ansi "^6.0.0" wrap-ansi "^7.0.0" -clone@^1.0.2: - version "1.0.4" - resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" - integrity sha1-2jCcwmPfFZlMaIypAheco8fNfH4= - co@^4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" @@ -2371,10 +2392,10 @@ 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@^9.0.0: - version "9.0.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-9.0.0.tgz#86d58f24ee98126568936bd1d3574e0308a99a40" - integrity sha512-JJfP2saEKbQqvW+FI93OYUB4ByV5cizMpFMiiJI8xDbBvQvSkIk0VvQdn1CZ8mqAO8Loq2h0gYTYtDFUZUeERw== +commander@^9.1.0: + version "9.1.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-9.1.0.tgz#a6b263b2327f2e188c6402c42623327909f2dbec" + integrity sha512-i0/MaqBtdbnJ4XQs4Pmyb+oFQl+q0lsAmokVUH92SlSw4fkeAcG3bVon+Qt7hmtF+u3Het6o4VgrcY3qAoEB6w== comment-json@^4.2.2: version "4.2.2" @@ -2489,41 +2510,41 @@ crypto-random-string@^4.0.0: dependencies: type-fest "^1.0.1" -cspell-gitignore@^5.19.2: - version "5.19.2" - resolved "https://registry.yarnpkg.com/cspell-gitignore/-/cspell-gitignore-5.19.2.tgz#8a364a18fbeef7b35356f2537933ea4fc1761063" - integrity sha512-j0iMQoLmq4J/19hM0j0rNUQoHsw1b9Yg1AZMus8WJgABPUPGgk4fRKJChUQu0+ys3wwWT/4vhKt7hU89ScphJQ== +cspell-gitignore@^5.19.3: + version "5.19.3" + resolved "https://registry.yarnpkg.com/cspell-gitignore/-/cspell-gitignore-5.19.3.tgz#c27780dc1b43cb48705dc3695c3875f001d7b038" + integrity sha512-Q67uHcf0qNgOoanRLhatapjWpLiftT+MuLIyAaSLe5eNVzQurQIc+UnXhtaslkVyOTqQt4NJFqLgtf5ZSGz1bg== dependencies: - cspell-glob "^5.19.2" + cspell-glob "^5.19.3" find-up "^5.0.0" -cspell-glob@^5.19.2: - version "5.19.2" - resolved "https://registry.yarnpkg.com/cspell-glob/-/cspell-glob-5.19.2.tgz#57a208bbb583d8385403d35fa2f1a1351b50e883" - integrity sha512-23pgM0KzWsnNv6zwC/xnxdE86MfLU7NWbBqDmn1KixhJjezOhg/LiSjnJuRVUuLR+4qApzjrBRpk+Rj1jzYi6A== +cspell-glob@^5.19.3: + version "5.19.3" + resolved "https://registry.yarnpkg.com/cspell-glob/-/cspell-glob-5.19.3.tgz#f6b423523a0c2d77d244ecfc7c48ef320f4d122a" + integrity sha512-qp2Oe/euzTu3e0zZrQxHuTrqRo418tYfh4CnCa+DKU6lWKKcF4zCEhOGJHPsYak8SFIXZ4ZE360wHFxB/JDutQ== dependencies: micromatch "^4.0.4" -cspell-io@^5.19.2: - version "5.19.2" - resolved "https://registry.yarnpkg.com/cspell-io/-/cspell-io-5.19.2.tgz#32ae634cccc73c8a0b8f1c83038301fbe137c85f" - integrity sha512-TLlXMmDdZQold3ZsbHEpwKjUIRtYksp7Qr9Z0Rt9JpII6riliUPdB0SMFgtrqAvV1+bhJEPPmSxts8SdtLkdnA== +cspell-io@^5.19.3: + version "5.19.3" + resolved "https://registry.yarnpkg.com/cspell-io/-/cspell-io-5.19.3.tgz#89ab249dc53206651a7833399a83b04a7d8a8a63" + integrity sha512-dE9eBvHgIJ11DelWtyehMU3W3bCpcB+0nS6uOZJ2d8fDu13m5BebpLrXZ2dKfY4cjksJUhRPatt14uwQSeUp2A== -cspell-lib@^5.19.2: - version "5.19.2" - resolved "https://registry.yarnpkg.com/cspell-lib/-/cspell-lib-5.19.2.tgz#678ade6f3217e0ca3bb12efca55871912d90d2ff" - integrity sha512-x8NhOiXKRj6PHQty9RmaujE8dywzX0ZJr6AlPE/0N8IHmOg0Y8gAs7aN45l3PjFz+vaWfCghPbCIyxE/fdXNaw== +cspell-lib@^5.19.3: + version "5.19.3" + resolved "https://registry.yarnpkg.com/cspell-lib/-/cspell-lib-5.19.3.tgz#6efc9ee5620d427e2f20c000b60a3b3d0ce6cd4c" + integrity sha512-peMJggwJpxCXKZZ0DuHyDtZmf66POKaHf5Im8LGEyMKFARUIq6O2WvaUGggYjyRe3Ng/f5G+EYTcIHbF9pZYcg== dependencies: - "@cspell/cspell-bundled-dicts" "^5.19.2" - "@cspell/cspell-pipe" "^5.19.2" - "@cspell/cspell-types" "^5.19.2" + "@cspell/cspell-bundled-dicts" "^5.19.3" + "@cspell/cspell-pipe" "^5.19.3" + "@cspell/cspell-types" "^5.19.3" clear-module "^4.1.2" comment-json "^4.2.2" configstore "^5.0.1" cosmiconfig "^7.0.1" - cspell-glob "^5.19.2" - cspell-io "^5.19.2" - cspell-trie-lib "^5.19.2" + cspell-glob "^5.19.3" + cspell-io "^5.19.3" + cspell-trie-lib "^5.19.3" fast-equals "^3.0.0" find-up "^5.0.0" fs-extra "^10.0.1" @@ -2534,27 +2555,27 @@ cspell-lib@^5.19.2: vscode-languageserver-textdocument "^1.0.4" vscode-uri "^3.0.3" -cspell-trie-lib@^5.19.2: - version "5.19.2" - resolved "https://registry.yarnpkg.com/cspell-trie-lib/-/cspell-trie-lib-5.19.2.tgz#4573f897de9ad1200390c14b73d43066acdf8746" - integrity sha512-JCPBuA6XtIRuMZtIzRAV/nk/NmTQwxcQA4GEAkdxYZ9aUPTpMDItxQkrKrlEvAuqt8hKZkOpE6ZpChdLW7aKsg== +cspell-trie-lib@^5.19.3: + version "5.19.3" + resolved "https://registry.yarnpkg.com/cspell-trie-lib/-/cspell-trie-lib-5.19.3.tgz#0a0f8d9300f95188f2f2b1831bd7fea2e9c9d6ee" + integrity sha512-Io8EB7E1pmttHzZvgvPEF0b87qlq8G5uA4B+sbqCxrUf5l4JDcK/UYLih0+rekLTbv4Q68zqgCTASvqxgqnoAg== dependencies: - "@cspell/cspell-pipe" "^5.19.2" + "@cspell/cspell-pipe" "^5.19.3" fs-extra "^10.0.1" gensequence "^3.1.1" -cspell@5.19.2: - version "5.19.2" - resolved "https://registry.yarnpkg.com/cspell/-/cspell-5.19.2.tgz#79de5ab9335b089058fb9765fbdf39aebade3aa7" - integrity sha512-HqjwOZ5iJ4WBfl6TfQkGXax0uYVL3SI9XAsstFs7yQW+6/DwjgvR7GFTkGH+rZgN5hdGZPk81NYbfNLm0uyKCQ== +cspell@5.19.3: + version "5.19.3" + resolved "https://registry.yarnpkg.com/cspell/-/cspell-5.19.3.tgz#0f2c6cf529fb3f0b721b380f81b04e9c22272c05" + integrity sha512-JJBH8iqtHYmxqLQZ+7GAMTVvc6SAoHVgn1tdYknOI2/uxAbZVH29eaxINY7JfjwPuxPPVAvttRetBAIRiu6ZYw== dependencies: - "@cspell/cspell-pipe" "^5.19.2" + "@cspell/cspell-pipe" "^5.19.3" chalk "^4.1.2" - commander "^9.0.0" + commander "^9.1.0" comment-json "^4.2.2" - cspell-gitignore "^5.19.2" - cspell-glob "^5.19.2" - cspell-lib "^5.19.2" + cspell-gitignore "^5.19.3" + cspell-glob "^5.19.3" + cspell-lib "^5.19.3" fast-json-stable-stringify "^2.1.0" file-entry-cache "^6.0.1" fs-extra "^10.0.1" @@ -2647,13 +2668,6 @@ deepmerge@^4.2.2: resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== -defaults@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.3.tgz#c656051e9817d9ff08ed881477f3fe4019f3ef7d" - integrity sha1-xlYFHpgX2f8I7YgUd/P+QBnz730= - dependencies: - clone "^1.0.2" - define-properties@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" @@ -2819,90 +2833,90 @@ es-to-primitive@^1.2.1: is-date-object "^1.0.1" is-symbol "^1.0.2" -esbuild-android-64@0.14.27: - version "0.14.27" - resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.27.tgz#b868bbd9955a92309c69df628d8dd1945478b45c" - integrity sha512-LuEd4uPuj/16Y8j6kqy3Z2E9vNY9logfq8Tq+oTE2PZVuNs3M1kj5Qd4O95ee66yDGb3isaOCV7sOLDwtMfGaQ== +esbuild-android-64@0.14.29: + version "0.14.29" + resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.29.tgz#c0960c84c9b832bade20831515e89d32549d4769" + integrity sha512-tJuaN33SVZyiHxRaVTo1pwW+rn3qetJX/SRuc/83rrKYtyZG0XfsQ1ao1nEudIt9w37ZSNXR236xEfm2C43sbw== -esbuild-android-arm64@0.14.27: - version "0.14.27" - resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.27.tgz#e7d6430555e8e9c505fd87266bbc709f25f1825c" - integrity sha512-E8Ktwwa6vX8q7QeJmg8yepBYXaee50OdQS3BFtEHKrzbV45H4foMOeEE7uqdjGQZFBap5VAqo7pvjlyA92wznQ== +esbuild-android-arm64@0.14.29: + version "0.14.29" + resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.29.tgz#8eceb3abe5abde5489d6a5cbe6a7c1044f71115f" + integrity sha512-D74dCv6yYnMTlofVy1JKiLM5JdVSQd60/rQfJSDP9qvRAI0laPXIG/IXY1RG6jobmFMUfL38PbFnCqyI/6fPXg== -esbuild-darwin-64@0.14.27: - version "0.14.27" - resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.27.tgz#4dc7484127564e89b4445c0a560a3cb50b3d68e1" - integrity sha512-czw/kXl/1ZdenPWfw9jDc5iuIYxqUxgQ/Q+hRd4/3udyGGVI31r29LCViN2bAJgGvQkqyLGVcG03PJPEXQ5i2g== +esbuild-darwin-64@0.14.29: + version "0.14.29" + resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.29.tgz#26f3f14102310ecb8f2d9351c5b7a47a60d2cc8a" + integrity sha512-+CJaRvfTkzs9t+CjGa0Oa28WoXa7EeLutQhxus+fFcu0MHhsBhlmeWHac3Cc/Sf/xPi1b2ccDFfzGYJCfV0RrA== -esbuild-darwin-arm64@0.14.27: - version "0.14.27" - resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.27.tgz#469e59c665f84a8ed323166624c5e7b9b2d22ac1" - integrity sha512-BEsv2U2U4o672oV8+xpXNxN9bgqRCtddQC6WBh4YhXKDcSZcdNh7+6nS+DM2vu7qWIWNA4JbRG24LUUYXysimQ== +esbuild-darwin-arm64@0.14.29: + version "0.14.29" + resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.29.tgz#6d2d89dfd937992649239711ed5b86e51b13bd89" + integrity sha512-5Wgz/+zK+8X2ZW7vIbwoZ613Vfr4A8HmIs1XdzRmdC1kG0n5EG5fvKk/jUxhNlrYPx1gSY7XadQ3l4xAManPSw== -esbuild-freebsd-64@0.14.27: - version "0.14.27" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.27.tgz#895df03bf5f87094a56c9a5815bf92e591903d70" - integrity sha512-7FeiFPGBo+ga+kOkDxtPmdPZdayrSzsV9pmfHxcyLKxu+3oTcajeZlOO1y9HW+t5aFZPiv7czOHM4KNd0tNwCA== +esbuild-freebsd-64@0.14.29: + version "0.14.29" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.29.tgz#2cb41a0765d0040f0838280a213c81bbe62d6394" + integrity sha512-VTfS7Bm9QA12JK1YXF8+WyYOfvD7WMpbArtDj6bGJ5Sy5xp01c/q70Arkn596aGcGj0TvQRplaaCIrfBG1Wdtg== -esbuild-freebsd-arm64@0.14.27: - version "0.14.27" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.27.tgz#0b72a41a6b8655e9a8c5608f2ec1afdcf6958441" - integrity sha512-8CK3++foRZJluOWXpllG5zwAVlxtv36NpHfsbWS7TYlD8S+QruXltKlXToc/5ZNzBK++l6rvRKELu/puCLc7jA== +esbuild-freebsd-arm64@0.14.29: + version "0.14.29" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.29.tgz#e1b79fbb63eaeff324cf05519efa7ff12ce4586a" + integrity sha512-WP5L4ejwLWWvd3Fo2J5mlXvG3zQHaw5N1KxFGnUc4+2ZFZknP0ST63i0IQhpJLgEJwnQpXv2uZlU1iWZjFqEIg== -esbuild-linux-32@0.14.27: - version "0.14.27" - resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.27.tgz#43b8ba3803b0bbe7f051869c6a8bf6de1e95de28" - integrity sha512-qhNYIcT+EsYSBClZ5QhLzFzV5iVsP1YsITqblSaztr3+ZJUI+GoK8aXHyzKd7/CKKuK93cxEMJPpfi1dfsOfdw== +esbuild-linux-32@0.14.29: + version "0.14.29" + resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.29.tgz#a4a5a0b165b15081bc3227986e10dd4943edb7d6" + integrity sha512-4myeOvFmQBWdI2U1dEBe2DCSpaZyjdQtmjUY11Zu2eQg4ynqLb8Y5mNjNU9UN063aVsCYYfbs8jbken/PjyidA== -esbuild-linux-64@0.14.27: - version "0.14.27" - resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.27.tgz#dc8072097327ecfadba1735562824ce8c05dd0bd" - integrity sha512-ESjck9+EsHoTaKWlFKJpPZRN26uiav5gkI16RuI8WBxUdLrrAlYuYSndxxKgEn1csd968BX/8yQZATYf/9+/qg== +esbuild-linux-64@0.14.29: + version "0.14.29" + resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.29.tgz#4c450088c84f8bfd22c51d116f59416864b85481" + integrity sha512-iaEuLhssReAKE7HMwxwFJFn7D/EXEs43fFy5CJeA4DGmU6JHh0qVJD2p/UP46DvUXLRKXsXw0i+kv5TdJ1w5pg== -esbuild-linux-arm64@0.14.27: - version "0.14.27" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.27.tgz#c52b58cbe948426b1559910f521b0a3f396f10b8" - integrity sha512-no6Mi17eV2tHlJnqBHRLekpZ2/VYx+NfGxKcBE/2xOMYwctsanCaXxw4zapvNrGE9X38vefVXLz6YCF8b1EHiQ== +esbuild-linux-arm64@0.14.29: + version "0.14.29" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.29.tgz#d1a23993b26cb1f63f740329b2fc09218e498bd1" + integrity sha512-KYf7s8wDfUy+kjKymW3twyGT14OABjGHRkm9gPJ0z4BuvqljfOOUbq9qT3JYFnZJHOgkr29atT//hcdD0Pi7Mw== -esbuild-linux-arm@0.14.27: - version "0.14.27" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.27.tgz#df869dbd67d4ee3a04b3c7273b6bd2b233e78a18" - integrity sha512-JnnmgUBdqLQO9hoNZQqNHFWlNpSX82vzB3rYuCJMhtkuaWQEmQz6Lec1UIxJdC38ifEghNTBsF9bbe8dFilnCw== +esbuild-linux-arm@0.14.29: + version "0.14.29" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.29.tgz#a7e2fea558525eab812b1fe27d7a2659cd1bb723" + integrity sha512-OXa9D9QL1hwrAnYYAHt/cXAuSCmoSqYfTW/0CEY0LgJNyTxJKtqc5mlwjAZAvgyjmha0auS/sQ0bXfGf2wAokQ== -esbuild-linux-mips64le@0.14.27: - version "0.14.27" - resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.27.tgz#a2b646d9df368b01aa970a7b8968be6dd6b01d19" - integrity sha512-NolWP2uOvIJpbwpsDbwfeExZOY1bZNlWE/kVfkzLMsSgqeVcl5YMen/cedRe9mKnpfLli+i0uSp7N+fkKNU27A== +esbuild-linux-mips64le@0.14.29: + version "0.14.29" + resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.29.tgz#e708c527f0785574e400828cdbed3d9b17b5ddff" + integrity sha512-05jPtWQMsZ1aMGfHOvnR5KrTvigPbU35BtuItSSWLI2sJu5VrM8Pr9Owym4wPvA4153DFcOJ1EPN/2ujcDt54g== -esbuild-linux-ppc64le@0.14.27: - version "0.14.27" - resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.27.tgz#9a21af766a0292578a3009c7408b8509cac7cefd" - integrity sha512-/7dTjDvXMdRKmsSxKXeWyonuGgblnYDn0MI1xDC7J1VQXny8k1qgNp6VmrlsawwnsymSUUiThhkJsI+rx0taNA== +esbuild-linux-ppc64le@0.14.29: + version "0.14.29" + resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.29.tgz#0137d1b38beae36a57176ef45e90740e734df502" + integrity sha512-FYhBqn4Ir9xG+f6B5VIQVbRuM4S6qwy29dDNYFPoxLRnwTEKToIYIUESN1qHyUmIbfO0YB4phG2JDV2JDN9Kgw== -esbuild-linux-riscv64@0.14.27: - version "0.14.27" - resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.27.tgz#344a27f91568056a5903ad5841b447e00e78d740" - integrity sha512-D+aFiUzOJG13RhrSmZgrcFaF4UUHpqj7XSKrIiCXIj1dkIkFqdrmqMSOtSs78dOtObWiOrFCDDzB24UyeEiNGg== +esbuild-linux-riscv64@0.14.29: + version "0.14.29" + resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.29.tgz#a2f73235347a58029dcacf0fb91c9eb8bebc8abb" + integrity sha512-eqZMqPehkb4nZcffnuOpXJQdGURGd6GXQ4ZsDHSWyIUaA+V4FpMBe+5zMPtXRD2N4BtyzVvnBko6K8IWWr36ew== -esbuild-linux-s390x@0.14.27: - version "0.14.27" - resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.27.tgz#73a7309bd648a07ef58f069658f989a5096130db" - integrity sha512-CD/D4tj0U4UQjELkdNlZhQ8nDHU5rBn6NGp47Hiz0Y7/akAY5i0oGadhEIg0WCY/HYVXFb3CsSPPwaKcTOW3bg== +esbuild-linux-s390x@0.14.29: + version "0.14.29" + resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.29.tgz#0f7310ff1daec463ead9b9e26b7aa083a9f9f1ee" + integrity sha512-o7EYajF1rC/4ho7kpSG3gENVx0o2SsHm7cJ5fvewWB/TEczWU7teDgusGSujxCYcMottE3zqa423VTglNTYhjg== -esbuild-netbsd-64@0.14.27: - version "0.14.27" - resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.27.tgz#482a587cdbd18a6c264a05136596927deb46c30a" - integrity sha512-h3mAld69SrO1VoaMpYl3a5FNdGRE/Nqc+E8VtHOag4tyBwhCQXxtvDDOAKOUQexBGca0IuR6UayQ4ntSX5ij1Q== +esbuild-netbsd-64@0.14.29: + version "0.14.29" + resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.29.tgz#ba9a0d9cb8aed73b684825126927f75d4fe44ff9" + integrity sha512-/esN6tb6OBSot6+JxgeOZeBk6P8V/WdR3GKBFeFpSqhgw4wx7xWUqPrdx4XNpBVO7X4Ipw9SAqgBrWHlXfddww== -esbuild-openbsd-64@0.14.27: - version "0.14.27" - resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.27.tgz#e99f8cdc63f1628747b63edd124d53cf7796468d" - integrity sha512-xwSje6qIZaDHXWoPpIgvL+7fC6WeubHHv18tusLYMwL+Z6bEa4Pbfs5IWDtQdHkArtfxEkIZz77944z8MgDxGw== +esbuild-openbsd-64@0.14.29: + version "0.14.29" + resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.29.tgz#36dbe2c32d899106791b5f3af73f359213f71b8a" + integrity sha512-jUTdDzhEKrD0pLpjmk0UxwlfNJNg/D50vdwhrVcW/D26Vg0hVbthMfb19PJMatzclbK7cmgk1Nu0eNS+abzoHw== -esbuild-sunos-64@0.14.27: - version "0.14.27" - resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.27.tgz#8611d825bcb8239c78d57452e83253a71942f45c" - integrity sha512-/nBVpWIDjYiyMhuqIqbXXsxBc58cBVH9uztAOIfWShStxq9BNBik92oPQPJ57nzWXRNKQUEFWr4Q98utDWz7jg== +esbuild-sunos-64@0.14.29: + version "0.14.29" + resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.29.tgz#e5f857c121441ec63bf9b399a2131409a7d344e5" + integrity sha512-EfhQN/XO+TBHTbkxwsxwA7EfiTHFe+MNDfxcf0nj97moCppD9JHPq48MLtOaDcuvrTYOcrMdJVeqmmeQ7doTcg== esbuild-visualizer@0.3.1: version "0.3.1" @@ -2913,46 +2927,46 @@ esbuild-visualizer@0.3.1: open "^7.4.2" yargs "^16.2.0" -esbuild-windows-32@0.14.27: - version "0.14.27" - resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.27.tgz#c06374206d4d92dd31d4fda299b09f51a35e82f6" - integrity sha512-Q9/zEjhZJ4trtWhFWIZvS/7RUzzi8rvkoaS9oiizkHTTKd8UxFwn/Mm2OywsAfYymgUYm8+y2b+BKTNEFxUekw== +esbuild-windows-32@0.14.29: + version "0.14.29" + resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.29.tgz#9c2f1ab071a828f3901d1d79d205982a74bdda6e" + integrity sha512-uoyb0YAJ6uWH4PYuYjfGNjvgLlb5t6b3zIaGmpWPOjgpr1Nb3SJtQiK4YCPGhONgfg2v6DcJgSbOteuKXhwqAw== -esbuild-windows-64@0.14.27: - version "0.14.27" - resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.27.tgz#756631c1d301dfc0d1a887deed2459ce4079582f" - integrity sha512-b3y3vTSl5aEhWHK66ngtiS/c6byLf6y/ZBvODH1YkBM+MGtVL6jN38FdHUsZasCz9gFwYs/lJMVY9u7GL6wfYg== +esbuild-windows-64@0.14.29: + version "0.14.29" + resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.29.tgz#85fbce7c2492521896451b98d649a7db93e52667" + integrity sha512-X9cW/Wl95QjsH8WUyr3NqbmfdU72jCp71cH3pwPvI4CgBM2IeOUDdbt6oIGljPu2bf5eGDIo8K3Y3vvXCCTd8A== -esbuild-windows-arm64@0.14.27: - version "0.14.27" - resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.27.tgz#ad7e187193dcd18768b16065a950f4441d7173f4" - integrity sha512-I/reTxr6TFMcR5qbIkwRGvldMIaiBu2+MP0LlD7sOlNXrfqIl9uNjsuxFPGEG4IRomjfQ5q8WT+xlF/ySVkqKg== +esbuild-windows-arm64@0.14.29: + version "0.14.29" + resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.29.tgz#0aa7a9a1bc43a63350bcf574d94b639176f065b5" + integrity sha512-+O/PI+68fbUZPpl3eXhqGHTGK7DjLcexNnyJqtLZXOFwoAjaXlS5UBCvVcR3o2va+AqZTj8o6URaz8D2K+yfQQ== -esbuild@0.14.27: - version "0.14.27" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.27.tgz#41fe0f1b6b68b9f77cac025009bc54bb96e616f1" - integrity sha512-MZQt5SywZS3hA9fXnMhR22dv0oPGh6QtjJRIYbgL1AeqAoQZE+Qn5ppGYQAoHv/vq827flj4tIJ79Mrdiwk46Q== +esbuild@0.14.29: + version "0.14.29" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.29.tgz#24ad09c0674cbcb4aa2fe761485524eb1f6b1419" + integrity sha512-SQS8cO8xFEqevYlrHt6exIhK853Me4nZ4aMW6ieysInLa0FMAL+AKs87HYNRtR2YWRcEIqoXAHh+Ytt5/66qpg== optionalDependencies: - esbuild-android-64 "0.14.27" - esbuild-android-arm64 "0.14.27" - esbuild-darwin-64 "0.14.27" - esbuild-darwin-arm64 "0.14.27" - esbuild-freebsd-64 "0.14.27" - esbuild-freebsd-arm64 "0.14.27" - esbuild-linux-32 "0.14.27" - esbuild-linux-64 "0.14.27" - esbuild-linux-arm "0.14.27" - esbuild-linux-arm64 "0.14.27" - esbuild-linux-mips64le "0.14.27" - esbuild-linux-ppc64le "0.14.27" - esbuild-linux-riscv64 "0.14.27" - esbuild-linux-s390x "0.14.27" - esbuild-netbsd-64 "0.14.27" - esbuild-openbsd-64 "0.14.27" - esbuild-sunos-64 "0.14.27" - esbuild-windows-32 "0.14.27" - esbuild-windows-64 "0.14.27" - esbuild-windows-arm64 "0.14.27" + esbuild-android-64 "0.14.29" + esbuild-android-arm64 "0.14.29" + esbuild-darwin-64 "0.14.29" + esbuild-darwin-arm64 "0.14.29" + esbuild-freebsd-64 "0.14.29" + esbuild-freebsd-arm64 "0.14.29" + esbuild-linux-32 "0.14.29" + esbuild-linux-64 "0.14.29" + esbuild-linux-arm "0.14.29" + esbuild-linux-arm64 "0.14.29" + esbuild-linux-mips64le "0.14.29" + esbuild-linux-ppc64le "0.14.29" + esbuild-linux-riscv64 "0.14.29" + esbuild-linux-s390x "0.14.29" + esbuild-netbsd-64 "0.14.29" + esbuild-openbsd-64 "0.14.29" + esbuild-sunos-64 "0.14.29" + esbuild-windows-32 "0.14.29" + esbuild-windows-64 "0.14.29" + esbuild-windows-arm64 "0.14.29" escalade@^3.1.1: version "3.1.1" @@ -3056,10 +3070,10 @@ eslint-plugin-import@2.25.4: resolve "^1.20.0" tsconfig-paths "^3.12.0" -eslint-plugin-jest@26.1.2: - version "26.1.2" - resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-26.1.2.tgz#0f1a15c62889fffc3f78a773749d672f1bedb15f" - integrity sha512-1bXCoRODPkGN06n9KAMls4Jm0eyS+0Q/LWcIxhqWR2ycV0Z7lnx2c10idk4dtFIJY5xStgiIr5snC6/rxcXpbw== +eslint-plugin-jest@26.1.3: + version "26.1.3" + resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-26.1.3.tgz#e722e5efeea18aa9dec7c7349987b641db19feb7" + integrity sha512-Pju+T7MFpo5VFhFlwrkK/9jRUu18r2iugvgyrWOnnGRaVTFFmFXp+xFJpHyqmjjLmGJPKLeEFLVTAxezkApcpQ== dependencies: "@typescript-eslint/utils" "^5.10.0" @@ -3155,10 +3169,10 @@ 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.11.0: - version "8.11.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.11.0.tgz#88b91cfba1356fc10bb9eb592958457dfe09fb37" - integrity sha512-/KRpd9mIRg2raGxHRGwW9ZywYNAClZrHjdueHcrVDuO3a6bj83eoTirCCk0M0yPwOjWYKHwRVRid+xK4F/GHgA== +eslint@8.12.0: + version "8.12.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.12.0.tgz#c7a5bd1cfa09079aae64c9076c07eada66a46e8e" + integrity sha512-it1oBL9alZg1S8UycLm5YDMAkIhtH6FtAzuZs6YvoGVldWjbS08BkAdb/ymP9LlAyq8koANu32U7Ib/w+UNh8Q== dependencies: "@eslint/eslintrc" "^1.2.1" "@humanwhocodes/config-array" "^0.9.2" @@ -4925,13 +4939,13 @@ meriyah@4.2.0: resolved "https://registry.yarnpkg.com/meriyah/-/meriyah-4.2.0.tgz#29d28c37ac7b67f8b9aaa92df0b8ac12469fe98b" integrity sha512-fCVh5GB9YT53Bq14l00HLYE3i9DywrY0JVZxbk0clXWDuMsUKKwluvC5sY0bMBqHbnIbpIjfSSIsnrzbauA8Yw== -micromatch@4.0.4, micromatch@^4.0.4: - version "4.0.4" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.4.tgz#896d519dfe9db25fce94ceb7a500919bf881ebf9" - integrity sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg== +micromatch@4.0.5, micromatch@^4.0.4: + version "4.0.5" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" + integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== dependencies: - braces "^3.0.1" - picomatch "^2.2.3" + braces "^3.0.2" + picomatch "^2.3.1" mime-db@1.51.0: version "1.51.0" @@ -5424,7 +5438,7 @@ picocolors@^1.0.0: resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== -picomatch@^2.0.4, picomatch@^2.2.3: +picomatch@^2.0.4, picomatch@^2.2.3, picomatch@^2.3.1: version "2.3.1" resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== @@ -6460,10 +6474,10 @@ typedarray-to-buffer@^3.1.5: dependencies: is-typedarray "^1.0.0" -typescript@4.6.2: - version "4.6.2" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.6.2.tgz#fe12d2727b708f4eef40f51598b3398baa9611d4" - integrity sha512-HM/hFigTBHZhLXshn9sN37H085+hQGeJHJ/X7LpBWLID/fbc2acUMfU+lGD98X81sKP+pFa9f0DZmCwB9GnbAg== +typescript@4.6.3: + version "4.6.3" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.6.3.tgz#eefeafa6afdd31d725584c67a0eaba80f6fc6c6c" + integrity sha512-yNIatDa5iaofVozS/uQJEl3JRWLKKGJKh6Yaiv0GLGSuhpFJe7P3SbHZ8/yjAHRQwKRoA6YZqlfjXWmVzoVSMw== unbox-primitive@^1.0.1: version "1.0.1" @@ -6506,13 +6520,6 @@ unicode-property-aliases-ecmascript@^2.0.0: resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz#0a36cb9a585c4f6abd51ad1deddb285c165297c8" integrity sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ== -unicode-regex@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/unicode-regex/-/unicode-regex-3.0.0.tgz#0c20df914c6da0412b3714cd300726e0f7f24698" - integrity sha512-WiDJdORsqgxkZrjC8WsIP573130HNn7KsB0IDnUccW2BG2b19QQNloNhVe6DKk3Aef0UcoIHhNVj7IkkcYWrNw== - dependencies: - regexp-util "^1.2.0" - unicode-regex@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/unicode-regex/-/unicode-regex-2.0.0.tgz#ef8f6642c37dddcaa0c09af5b9456aabf6b436a3" @@ -6694,13 +6701,6 @@ walker@^1.0.7: dependencies: makeerror "1.0.12" -wcwidth@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8" - integrity sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g= - dependencies: - defaults "^1.0.3" - web-streams-polyfill@^3.0.3: version "3.2.0" resolved "https://registry.yarnpkg.com/web-streams-polyfill/-/web-streams-polyfill-3.2.0.tgz#a6b74026b38e4885869fb5c589e90b95ccfc7965"