diff --git a/.eslintrc.js b/.eslintrc.js
index 2cef63a500b..2fe883f22c0 100644
--- a/.eslintrc.js
+++ b/.eslintrc.js
@@ -43,7 +43,14 @@ module.exports = {
'plugin:react/jsx-runtime',
'prettier',
],
-
+ plugins: [
+ 'promise',
+ 'sonarjs',
+ 'unicorn',
+ '@arthurgeron/react-usememo',
+ 'sonar',
+ '@shopify',
+ ],
globals: {
atom: false,
document: false,
@@ -52,8 +59,9 @@ module.exports = {
Map: true,
Set: true,
},
-
rules: {
+ '@shopify/prefer-early-return': ['error', { maximumStatements: 2 }],
+ 'sonarjs/no-inverted-boolean-check': 'error',
'@arthurgeron/react-usememo/require-usememo': [
'error',
{ checkHookCalls: false },
@@ -314,14 +322,6 @@ module.exports = {
// TODO: Fix all errors for the following rules included in recommended config
'@typescript-eslint/no-var-requires': 'off',
},
-
- plugins: [
- 'promise',
- 'sonarjs',
- 'unicorn',
- '@arthurgeron/react-usememo',
- 'sonar',
- ],
},
{
// Rules that requires type information
diff --git a/examples/monaco-graphql-nextjs/src/components/editor.tsx b/examples/monaco-graphql-nextjs/src/components/editor.tsx
index 6937b40fcb1..c2d7ab503d4 100644
--- a/examples/monaco-graphql-nextjs/src/components/editor.tsx
+++ b/examples/monaco-graphql-nextjs/src/components/editor.tsx
@@ -4,6 +4,7 @@ import { Uri, editor, KeyMod, KeyCode, languages } from 'monaco-editor';
import { initializeMode } from 'monaco-graphql/esm/initializeMode';
import { createGraphiQLFetcher } from '@graphiql/toolkit';
import * as JSONC from 'jsonc-parser';
+
/**
* Copied from graphql/graphiql/examples/monaco-graphql-vite
*/
@@ -154,42 +155,44 @@ export default function Editor() {
* Handle the initial schema load
*/
useEffect(() => {
- if (!schema && !loading) {
- setLoading(true);
- void getSchema()
- .then(data => {
- if (!('data' in data)) {
- throw new Error(
- 'this demo does not support subscriptions or http multipart yet',
- );
- }
- initializeMode({
- diagnosticSettings: {
- validateVariablesJSON: {
- [Uri.file('operation.graphql').toString()]: [
- Uri.file('variables.json').toString(),
- ],
- },
- jsonDiagnosticSettings: {
- validate: true,
- schemaValidation: 'error',
- // set these again, because we are entirely re-setting them here
- allowComments: true,
- trailingCommas: 'ignore',
- },
+ if (schema || loading) {
+ return;
+ }
+
+ setLoading(true);
+ void getSchema()
+ .then(data => {
+ if (!('data' in data)) {
+ throw new Error(
+ 'this demo does not support subscriptions or http multipart yet',
+ );
+ }
+ initializeMode({
+ diagnosticSettings: {
+ validateVariablesJSON: {
+ [Uri.file('operation.graphql').toString()]: [
+ Uri.file('variables.json').toString(),
+ ],
},
- schemas: [
- {
- introspectionJSON: data.data as unknown as IntrospectionQuery,
- uri: 'myschema.graphql',
- },
- ],
- });
+ jsonDiagnosticSettings: {
+ validate: true,
+ schemaValidation: 'error',
+ // set these again, because we are entirely re-setting them here
+ allowComments: true,
+ trailingCommas: 'ignore',
+ },
+ },
+ schemas: [
+ {
+ introspectionJSON: data.data as unknown as IntrospectionQuery,
+ uri: 'myschema.graphql',
+ },
+ ],
+ });
- setSchema(data.data);
- })
- .then(() => setLoading(false));
- }
+ setSchema(data.data);
+ })
+ .then(() => setLoading(false));
}, [schema, loading]);
return (
diff --git a/examples/monaco-graphql-react-vite/src/App.tsx b/examples/monaco-graphql-react-vite/src/App.tsx
index e7018397c73..a4d88b7907a 100644
--- a/examples/monaco-graphql-react-vite/src/App.tsx
+++ b/examples/monaco-graphql-react-vite/src/App.tsx
@@ -156,42 +156,43 @@ export default function App() {
* Handle the initial schema load
*/
useEffect(() => {
- if (!schema && !loading) {
- setLoading(true);
- void getSchema()
- .then(data => {
- if (!('data' in data)) {
- throw new Error(
- 'this demo does not support subscriptions or http multipart yet',
- );
- }
- initializeMode({
- diagnosticSettings: {
- validateVariablesJSON: {
- [Uri.file('operation.graphql').toString()]: [
- Uri.file('variables.json').toString(),
- ],
- },
- jsonDiagnosticSettings: {
- validate: true,
- schemaValidation: 'error',
- // set these again, because we are entirely re-setting them here
- allowComments: true,
- trailingCommas: 'ignore',
- },
+ if (schema || loading) {
+ return;
+ }
+ setLoading(true);
+ void getSchema()
+ .then(data => {
+ if (!('data' in data)) {
+ throw new Error(
+ 'this demo does not support subscriptions or http multipart yet',
+ );
+ }
+ initializeMode({
+ diagnosticSettings: {
+ validateVariablesJSON: {
+ [Uri.file('operation.graphql').toString()]: [
+ Uri.file('variables.json').toString(),
+ ],
+ },
+ jsonDiagnosticSettings: {
+ validate: true,
+ schemaValidation: 'error',
+ // set these again, because we are entirely re-setting them here
+ allowComments: true,
+ trailingCommas: 'ignore',
},
- schemas: [
- {
- introspectionJSON: data.data as unknown as IntrospectionQuery,
- uri: 'myschema.graphql',
- },
- ],
- });
+ },
+ schemas: [
+ {
+ introspectionJSON: data.data as unknown as IntrospectionQuery,
+ uri: 'myschema.graphql',
+ },
+ ],
+ });
- setSchema(data.data);
- })
- .then(() => setLoading(false));
- }
+ setSchema(data.data);
+ })
+ .then(() => setLoading(false));
}, [schema, loading]);
return (
diff --git a/examples/monaco-graphql-webpack/src/index.ts b/examples/monaco-graphql-webpack/src/index.ts
index 20ab3e320a7..8c31b56e556 100644
--- a/examples/monaco-graphql-webpack/src/index.ts
+++ b/examples/monaco-graphql-webpack/src/index.ts
@@ -111,19 +111,19 @@ async function render() {
schemaPicker.addEventListener(
'input',
async function SchemaSelectionHandler(_ev: Event) {
- if (schemaPicker.value !== schemaFetcher.currentSchema.value) {
- const schemaResult = await schemaFetcher.changeSchema(
- schemaPicker.value,
- );
- if (schemaResult && monacoGraphQLAPI) {
- monacoGraphQLAPI.setSchemaConfig([
- {
- ...schemaResult,
- fileMatch: [operationModel.uri.toString()],
- },
- ]);
- schemaEditor.setValue(schemaResult.documentString || '');
- }
+ if (schemaPicker.value === schemaFetcher.currentSchema.value) {
+ return;
+ }
+
+ const schemaResult = await schemaFetcher.changeSchema(schemaPicker.value);
+ if (schemaResult && monacoGraphQLAPI) {
+ monacoGraphQLAPI.setSchemaConfig([
+ {
+ ...schemaResult,
+ fileMatch: [operationModel.uri.toString()],
+ },
+ ]);
+ schemaEditor.setValue(schemaResult.documentString || '');
}
},
);
diff --git a/package.json b/package.json
index 8ca597f37e8..7d5b23cd4ef 100644
--- a/package.json
+++ b/package.json
@@ -94,6 +94,7 @@
"@changesets/changelog-github": "^0.4.7",
"@changesets/cli": "^2.25.2",
"@manypkg/get-packages": "^1.1.3",
+ "@shopify/eslint-plugin": "^42.1.0",
"@strictsoftware/typedoc-plugin-monorepo": "^0.3.1",
"@testing-library/jest-dom": "5.16.5",
"@types/aws-serverless-express": "^3.3.3",
diff --git a/packages/graphiql-react/src/editor/completion.ts b/packages/graphiql-react/src/editor/completion.ts
index b60e4b6d050..231a53851ec 100644
--- a/packages/graphiql-react/src/editor/completion.ts
+++ b/packages/graphiql-react/src/editor/completion.ts
@@ -161,26 +161,27 @@ export function onHasCompletion(
hintsUl.addEventListener(
'DOMNodeRemoved',
(onRemoveFn = (event: Event) => {
- if (event.target === hintsUl) {
- hintsUl.removeEventListener('scroll', handleScroll);
- hintsUl.removeEventListener('DOMNodeRemoved', onRemoveFn);
- if (information) {
- information.removeEventListener(
- 'click',
- onClickHintInformation,
- );
- }
- information = null;
- fieldName = null;
- typeNamePill = null;
- typeNamePrefix = null;
- typeName = null;
- typeNameSuffix = null;
- description = null;
- deprecation = null;
- deprecationReason = null;
- onRemoveFn = null;
+ if (event.target !== hintsUl) {
+ return;
}
+ hintsUl.removeEventListener('scroll', handleScroll);
+ hintsUl.removeEventListener('DOMNodeRemoved', onRemoveFn);
+ if (information) {
+ information.removeEventListener(
+ 'click',
+ onClickHintInformation,
+ );
+ }
+ information = null;
+ fieldName = null;
+ typeNamePill = null;
+ typeNamePrefix = null;
+ typeName = null;
+ typeNameSuffix = null;
+ description = null;
+ deprecation = null;
+ deprecationReason = null;
+ onRemoveFn = null;
}),
);
}
diff --git a/packages/graphiql-toolkit/src/storage/history.ts b/packages/graphiql-toolkit/src/storage/history.ts
index fdb7b6f9fd4..50fad886609 100644
--- a/packages/graphiql-toolkit/src/storage/history.ts
+++ b/packages/graphiql-toolkit/src/storage/history.ts
@@ -75,23 +75,24 @@ export class HistoryStore {
operationName?: string,
) => {
if (
- this.shouldSaveQuery(
+ !this.shouldSaveQuery(
query,
variables,
headers,
this.history.fetchRecent(),
)
) {
- this.history.push({
- query,
- variables,
- headers,
- operationName,
- });
- const historyQueries = this.history.items;
- const favoriteQueries = this.favorite.items;
- this.queries = historyQueries.concat(favoriteQueries);
+ return;
}
+ this.history.push({
+ query,
+ variables,
+ headers,
+ operationName,
+ });
+ const historyQueries = this.history.items;
+ const favoriteQueries = this.favorite.items;
+ this.queries = historyQueries.concat(favoriteQueries);
};
toggleFavorite(
diff --git a/packages/graphiql/__mocks__/codemirror.ts b/packages/graphiql/__mocks__/codemirror.ts
index 24efe344a7c..da0e7e838a6 100644
--- a/packages/graphiql/__mocks__/codemirror.ts
+++ b/packages/graphiql/__mocks__/codemirror.ts
@@ -36,15 +36,16 @@ function CodeMirror(node: HTMLElement, { value, ...options }) {
},
off(event) {
- if (Object.prototype.hasOwnProperty.call(_eventListeners, event)) {
- const updatedEventListeners = {};
- for (const e in _eventListeners) {
- if (e !== event) {
- updatedEventListeners[e] = _eventListeners[e];
- }
+ if (!Object.prototype.hasOwnProperty.call(_eventListeners, event)) {
+ return;
+ }
+ const updatedEventListeners = {};
+ for (const e in _eventListeners) {
+ if (e !== event) {
+ updatedEventListeners[e] = _eventListeners[e];
}
- _eventListeners = updatedEventListeners;
}
+ _eventListeners = updatedEventListeners;
},
getValue() {
diff --git a/packages/graphql-language-service-server/src/findGraphQLTags.ts b/packages/graphql-language-service-server/src/findGraphQLTags.ts
index 478b4ae3966..b415fd59f9b 100644
--- a/packages/graphql-language-service-server/src/findGraphQLTags.ts
+++ b/packages/graphql-language-service-server/src/findGraphQLTags.ts
@@ -80,6 +80,7 @@ type ParseVueSFCResult =
scriptSetupAst?: import('@babel/types').Statement[];
scriptAst?: import('@babel/types').Statement[];
};
+
function parseVueSFC(source: string): ParseVueSFCResult {
const { errors, descriptor } = VueParser.parse(source);
@@ -199,24 +200,25 @@ export function findGraphQLTags(
};
const visitors = {
- CallExpression: (node: Expression) => {
- if ('callee' in node) {
- const { callee } = node;
-
- if (
- callee.type === 'Identifier' &&
- getGraphQLTagName(callee) &&
- 'arguments' in node
- ) {
- const templateLiteral = node.arguments[0];
- if (templateLiteral && templateLiteral.type === 'TemplateLiteral') {
- parseTemplateLiteral(templateLiteral);
- return;
- }
+ CallExpression(node: Expression) {
+ if (!('callee' in node)) {
+ return;
+ }
+ const { callee } = node;
+
+ if (
+ callee.type === 'Identifier' &&
+ getGraphQLTagName(callee) &&
+ 'arguments' in node
+ ) {
+ const templateLiteral = node.arguments[0];
+ if (templateLiteral && templateLiteral.type === 'TemplateLiteral') {
+ parseTemplateLiteral(templateLiteral);
+ return;
}
-
- traverse(node, visitors);
}
+
+ traverse(node, visitors);
},
TaggedTemplateExpression: (node: TaggedTemplateExpression) => {
const tagName = getGraphQLTagName(node.tag);
diff --git a/packages/graphql-language-service-server/src/startServer.ts b/packages/graphql-language-service-server/src/startServer.ts
index 0f9cf102f0d..89250907096 100644
--- a/packages/graphql-language-service-server/src/startServer.ts
+++ b/packages/graphql-language-service-server/src/startServer.ts
@@ -149,58 +149,59 @@ const buildOptions = (options: ServerOptions): MappedServerOptions => {
export default async function startServer(
options: ServerOptions,
): Promise {
- if (options?.method) {
- const finalOptions = buildOptions(options);
- let reader;
- let writer;
- switch (options.method) {
- case 'socket':
- // For socket connection, the message connection needs to be
- // established before the server socket starts listening.
- // Do that, and return at the end of this block.
- if (!options.port) {
- process.stderr.write(
- '--port is required to establish socket connection.',
- );
- process.exit(1);
- }
-
- const { port, hostname } = options;
- const socket = net
- .createServer(async client => {
- client.setEncoding('utf8');
- reader = new SocketMessageReader(client);
- writer = new SocketMessageWriter(client);
- client.on('end', () => {
- socket.close();
- process.exit(0);
- });
- const s = await initializeHandlers({
- reader,
- writer,
- options: finalOptions,
- });
- s.listen();
- })
- .listen(port, hostname);
- return;
- case 'stream':
- reader = new StreamMessageReader(process.stdin);
- writer = new StreamMessageWriter(process.stdout);
- break;
- default:
- reader = new IPCMessageReader(process);
- writer = new IPCMessageWriter(process);
- break;
- }
+ if (!options?.method) {
+ return;
+ }
+ const finalOptions = buildOptions(options);
+ let reader;
+ let writer;
+ switch (options.method) {
+ case 'socket':
+ // For socket connection, the message connection needs to be
+ // established before the server socket starts listening.
+ // Do that, and return at the end of this block.
+ if (!options.port) {
+ process.stderr.write(
+ '--port is required to establish socket connection.',
+ );
+ process.exit(1);
+ }
- const serverWithHandlers = await initializeHandlers({
- reader,
- writer,
- options: finalOptions,
- });
- serverWithHandlers.listen();
+ const { port, hostname } = options;
+ const socket = net
+ .createServer(async client => {
+ client.setEncoding('utf8');
+ reader = new SocketMessageReader(client);
+ writer = new SocketMessageWriter(client);
+ client.on('end', () => {
+ socket.close();
+ process.exit(0);
+ });
+ const s = await initializeHandlers({
+ reader,
+ writer,
+ options: finalOptions,
+ });
+ s.listen();
+ })
+ .listen(port, hostname);
+ return;
+ case 'stream':
+ reader = new StreamMessageReader(process.stdin);
+ writer = new StreamMessageWriter(process.stdout);
+ break;
+ default:
+ reader = new IPCMessageReader(process);
+ writer = new IPCMessageWriter(process);
+ break;
}
+
+ const serverWithHandlers = await initializeHandlers({
+ reader,
+ writer,
+ options: finalOptions,
+ });
+ serverWithHandlers.listen();
}
type InitializerParams = {
diff --git a/packages/graphql-language-service/src/interface/getAutocompleteSuggestions.ts b/packages/graphql-language-service/src/interface/getAutocompleteSuggestions.ts
index 3f4d79ded27..5c01896a22d 100644
--- a/packages/graphql-language-service/src/interface/getAutocompleteSuggestions.ts
+++ b/packages/graphql-language-service/src/interface/getAutocompleteSuggestions.ts
@@ -970,14 +970,15 @@ export function getTokenAtPosition(
let stringAtCursor = null;
const token = runOnlineParser(queryText, (stream, state, style, index) => {
if (
- index === cursor.line &&
- stream.getCurrentPosition() + offset >= cursor.character + 1
+ index !== cursor.line ||
+ stream.getCurrentPosition() + offset < cursor.character + 1
) {
- styleAtCursor = style;
- stateAtCursor = { ...state };
- stringAtCursor = stream.current();
- return 'BREAK';
+ return;
}
+ styleAtCursor = style;
+ stateAtCursor = { ...state };
+ stringAtCursor = stream.current();
+ return 'BREAK';
});
// Return the state/style of parsed token in case those at cursor aren't
diff --git a/yarn.lock b/yarn.lock
index 6e6083dfc76..42b0ad06d42 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -169,7 +169,7 @@
json5 "^2.1.2"
semver "^6.3.0"
-"@babel/eslint-parser@^7.22.5":
+"@babel/eslint-parser@^7.16.3", "@babel/eslint-parser@^7.22.5":
version "7.22.5"
resolved "https://registry.yarnpkg.com/@babel/eslint-parser/-/eslint-parser-7.22.5.tgz#fa032503b9e2d188e25b1b95d29e8b8431042d78"
integrity sha512-C69RWYNYtrgIRE5CmTd77ZiLDXqgBipahJc/jHP3sLcAGj6AJzxNIuKNpVnICqbyK7X3pFUfEvL++rvtbQpZkQ==
@@ -178,6 +178,13 @@
eslint-visitor-keys "^2.1.0"
semver "^6.3.0"
+"@babel/eslint-plugin@^7.14.5":
+ version "7.22.5"
+ resolved "https://registry.yarnpkg.com/@babel/eslint-plugin/-/eslint-plugin-7.22.5.tgz#47407d8c9e527b62ff75ee11e4baa6de3da7cf0e"
+ integrity sha512-lDXW06rf1sXywWWw+UdS/iYxRjrqhH4AXdPeKE4+fEgEoGBXcdIDQ+uCJOUcvCb0jCTvfwHOSXkwnfd24EAkLQ==
+ dependencies:
+ eslint-rule-composer "^0.3.0"
+
"@babel/generator@^7.17.3", "@babel/generator@^7.17.7":
version "7.17.7"
resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.17.7.tgz#8da2599beb4a86194a3b24df6c085931d9ee45ad"
@@ -1514,6 +1521,13 @@
dependencies:
regenerator-runtime "^0.13.11"
+"@babel/runtime@^7.20.7":
+ version "7.22.5"
+ resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.22.5.tgz#8564dd588182ce0047d55d7a75e93921107b57ec"
+ integrity sha512-ecjvYlnAaZ/KVneE/OdKYBYfgXV3Ptu6zQWmgEF7vwKhQnvVS6bjMD2XYgj+SNvQ1GfK/pjgokfPkC/2CO8CuA==
+ dependencies:
+ regenerator-runtime "^0.13.11"
+
"@babel/template@^7.16.7":
version "7.16.7"
resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.16.7.tgz#8d126c8701fde4d66b264b3eba3d96f07666d155"
@@ -3912,6 +3926,35 @@
dependencies:
any-observable "^0.3.0"
+"@shopify/eslint-plugin@^42.1.0":
+ version "42.1.0"
+ resolved "https://registry.yarnpkg.com/@shopify/eslint-plugin/-/eslint-plugin-42.1.0.tgz#77588f5529d56eab1335d4ecf1c92a36cc69ff0e"
+ integrity sha512-b45SXfXoE9+BvQjHrhInWlOMhsXrqIzts+setaXecR5WW6NcEKeeSfHvTvLVk231NHnrE5h+MuHp1Ci1pR5nfA==
+ dependencies:
+ "@babel/eslint-parser" "^7.16.3"
+ "@babel/eslint-plugin" "^7.14.5"
+ "@typescript-eslint/eslint-plugin" "^5.4.0"
+ "@typescript-eslint/parser" "^5.4.0"
+ change-case "^4.1.2"
+ common-tags "^1.8.2"
+ doctrine "^2.1.0"
+ eslint-config-prettier "^8.3.0"
+ eslint-module-utils "^2.7.1"
+ eslint-plugin-eslint-comments "^3.2.0"
+ eslint-plugin-import "^2.26.0"
+ eslint-plugin-jest "^25.3.0"
+ eslint-plugin-jest-formatting "^3.1.0"
+ eslint-plugin-jsx-a11y "^6.5.0"
+ eslint-plugin-node "^11.1.0"
+ eslint-plugin-prettier "^4.1.0"
+ eslint-plugin-promise "^6.0.0"
+ eslint-plugin-react "^7.30.0"
+ eslint-plugin-react-hooks "^4.3.0"
+ eslint-plugin-sort-class-members "^1.14.0"
+ jsx-ast-utils "^3.2.1"
+ pkg-dir "^5.0.0"
+ pluralize "^8.0.0"
+
"@sideway/address@^4.1.0":
version "4.1.1"
resolved "https://registry.yarnpkg.com/@sideway/address/-/address-4.1.1.tgz#9e321e74310963fdf8eebfbee09c7bd69972de4d"
@@ -4824,7 +4867,7 @@
semver "^7.5.0"
ts-api-utils "^1.0.0"
-"@typescript-eslint/eslint-plugin@^5.60.0":
+"@typescript-eslint/eslint-plugin@^5.4.0", "@typescript-eslint/eslint-plugin@^5.60.0":
version "5.60.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.60.0.tgz#2f4bea6a3718bed2ba52905358d0f45cd3620d31"
integrity sha512-78B+anHLF1TI8Jn/cD0Q00TBYdMgjdOn980JfAVa9yw5sop8nyTfVOQAv6LWywkOGLclDBtv5z3oxN4w7jxyNg==
@@ -4840,6 +4883,13 @@
semver "^7.3.7"
tsutils "^3.21.0"
+"@typescript-eslint/experimental-utils@^5.0.0":
+ version "5.60.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-5.60.0.tgz#48ffa47238592397c3d857fe1403eed3b1d5e604"
+ integrity sha512-ovid3u7CNBrr0Ct35LUPkNYH4e+z4Kc6dPfSG99oMmH9SfoEoefq09uSnJI4mUb/UM7a/peVM03G+MzLxrD16g==
+ dependencies:
+ "@typescript-eslint/utils" "5.60.0"
+
"@typescript-eslint/parser@6.0.0-alpha.159":
version "6.0.0-alpha.159"
resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-6.0.0-alpha.159.tgz#50c7472dc7ebc8ecb19190774e2176d2cb889bbf"
@@ -4851,6 +4901,16 @@
"@typescript-eslint/visitor-keys" "6.0.0-alpha.159+36b65ebc7"
debug "^4.3.4"
+"@typescript-eslint/parser@^5.4.0":
+ version "5.60.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.60.0.tgz#08f4daf5fc6548784513524f4f2f359cebb4068a"
+ integrity sha512-jBONcBsDJ9UoTWrARkRRCgDz6wUggmH5RpQVlt7BimSwaTkTjwypGzKORXbR4/2Hqjk9hgwlon2rVQAjWNpkyQ==
+ dependencies:
+ "@typescript-eslint/scope-manager" "5.60.0"
+ "@typescript-eslint/types" "5.60.0"
+ "@typescript-eslint/typescript-estree" "5.60.0"
+ debug "^4.3.4"
+
"@typescript-eslint/scope-manager@5.27.0":
version "5.27.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.27.0.tgz#a272178f613050ed62f51f69aae1e19e870a8bbb"
@@ -5632,7 +5692,7 @@ aria-query@5.1.3, aria-query@^5.0.0:
dependencies:
deep-equal "^2.0.5"
-aria-query@^5.2.1:
+aria-query@^5.1.3, aria-query@^5.2.1:
version "5.2.1"
resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-5.2.1.tgz#bc285d9d654d1df121bcd0c134880d415ca67c15"
integrity sha512-7uFg4b+lETFgdaJyETnILsXgnnzVnkHcgRbwbPwevm5x/LmUlt3MjczMRe1zg824iBgXZNRPTBftNYyRSKLp2g==
@@ -5682,7 +5742,7 @@ array-includes@^3.1.4:
get-intrinsic "^1.1.1"
is-string "^1.0.7"
-array-includes@^3.1.6:
+array-includes@^3.1.5, array-includes@^3.1.6:
version "3.1.6"
resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.6.tgz#9e9e720e194f198266ba9e18c29e6a9b0e4b225f"
integrity sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==
@@ -5775,6 +5835,11 @@ assert-plus@1.0.0, assert-plus@^1.0.0:
resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525"
integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=
+ast-types-flow@^0.0.7:
+ version "0.0.7"
+ resolved "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.7.tgz#f70b735c6bca1a5c9c22d982c3e39e7feba3bdad"
+ integrity sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==
+
astral-regex@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31"
@@ -5846,6 +5911,11 @@ aws4@^1.8.0:
resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59"
integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==
+axe-core@^4.6.2:
+ version "4.7.2"
+ resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.7.2.tgz#040a7342b20765cb18bb50b628394c21bccc17a0"
+ integrity sha512-zIURGIS1E1Q4pcrMjp+nnEh+16G56eG/MUllJH8yEvw7asDo7Ac9uhC9KIH5jzpITueEZolfYglnCGIuSBz39g==
+
axios@^0.21.1:
version "0.21.4"
resolved "https://registry.yarnpkg.com/axios/-/axios-0.21.4.tgz#c67b90dc0568e5c1cf2b0b858c43ba28e2eda575"
@@ -5853,7 +5923,7 @@ axios@^0.21.1:
dependencies:
follow-redirects "^1.14.0"
-axobject-query@^3.2.1:
+axobject-query@^3.1.1, axobject-query@^3.2.1:
version "3.2.1"
resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-3.2.1.tgz#39c378a6e3b06ca679f29138151e45b2b32da62a"
integrity sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==
@@ -6415,6 +6485,15 @@ caniuse-lite@^1.0.30001426, caniuse-lite@^1.0.30001449:
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001457.tgz#6af34bb5d720074e2099432aa522c21555a18301"
integrity sha512-SDIV6bgE1aVbK6XyxdURbUE89zY7+k1BBBaOwYwkNCglXlel/E7mELiHC64HQ+W0xSKlqWhV9Wh7iHxUjMs4fA==
+capital-case@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/capital-case/-/capital-case-1.0.4.tgz#9d130292353c9249f6b00fa5852bee38a717e669"
+ integrity sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A==
+ dependencies:
+ no-case "^3.0.4"
+ tslib "^2.0.3"
+ upper-case-first "^2.0.2"
+
capitalize@2.0.4:
version "2.0.4"
resolved "https://registry.yarnpkg.com/capitalize/-/capitalize-2.0.4.tgz#eed7f94c6699a318eeef6e68967fe139c764b866"
@@ -6483,6 +6562,24 @@ chalk@^4.0.0, chalk@^4.1.0:
ansi-styles "^4.1.0"
supports-color "^7.1.0"
+change-case@^4.1.2:
+ version "4.1.2"
+ resolved "https://registry.yarnpkg.com/change-case/-/change-case-4.1.2.tgz#fedfc5f136045e2398c0410ee441f95704641e12"
+ integrity sha512-bSxY2ws9OtviILG1EiY5K7NNxkqg/JnRnFxLtKQ96JaviiIxi7djMrSd0ECT9AC+lttClmYwKw53BWpOMblo7A==
+ dependencies:
+ camel-case "^4.1.2"
+ capital-case "^1.0.4"
+ constant-case "^3.0.4"
+ dot-case "^3.0.4"
+ header-case "^2.0.4"
+ no-case "^3.0.4"
+ param-case "^3.0.4"
+ pascal-case "^3.1.2"
+ path-case "^3.0.4"
+ sentence-case "^3.0.4"
+ snake-case "^3.0.4"
+ tslib "^2.0.3"
+
char-regex@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf"
@@ -6894,6 +6991,11 @@ common-tags@^1.8.0:
resolved "https://registry.yarnpkg.com/common-tags/-/common-tags-1.8.0.tgz#8e3153e542d4a39e9b10554434afaaf98956a937"
integrity sha512-6P6g0uetGpW/sdyUy/iQQCbFF0kWVMSIVSyYz7Zgjcgh8mgw8PQzDNZeyZ5DQ2gM7LBoZPHmnjz8rUthkBG5tw==
+common-tags@^1.8.2:
+ version "1.8.2"
+ resolved "https://registry.yarnpkg.com/common-tags/-/common-tags-1.8.2.tgz#94ebb3c076d26032745fd54face7f688ef5ac9c6"
+ integrity sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==
+
commondir@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b"
@@ -6995,6 +7097,15 @@ console-control-strings@^1.0.0, console-control-strings@~1.1.0:
resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e"
integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=
+constant-case@^3.0.4:
+ version "3.0.4"
+ resolved "https://registry.yarnpkg.com/constant-case/-/constant-case-3.0.4.tgz#3b84a9aeaf4cf31ec45e6bf5de91bdfb0589faf1"
+ integrity sha512-I2hSBi7Vvs7BEuJDr5dDHfzb/Ruj3FyvFyh7KLilAjNQw3Be+xgqUBA2W6scVEcL0hL1dwPRtIqEPVUCKkSsyQ==
+ dependencies:
+ no-case "^3.0.4"
+ tslib "^2.0.3"
+ upper-case "^2.0.2"
+
content-disposition@0.5.2:
version "0.5.2"
resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.2.tgz#0cf68bb9ddf5f2be7961c3a85178cb85dba78cb4"
@@ -7532,6 +7643,11 @@ cypress@^12.6.0:
untildify "^4.0.0"
yauzl "^2.10.0"
+damerau-levenshtein@^1.0.8:
+ version "1.0.8"
+ resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz#b43d286ccbd36bc5b2f7ed41caf2d0aba1f8a6e7"
+ integrity sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==
+
dashdash@^1.12.0:
version "1.14.1"
resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0"
@@ -8529,7 +8645,7 @@ escodegen@^2.0.0:
optionalDependencies:
source-map "~0.6.1"
-eslint-config-prettier@^8.8.0:
+eslint-config-prettier@^8.3.0, eslint-config-prettier@^8.8.0:
version "8.8.0"
resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.8.0.tgz#bfda738d412adc917fd7b038857110efe98c9348"
integrity sha512-wLbQiFre3tdGgpDv67NQKnJuTlcUVYHas3k+DZCc2U2BadthoEY4B7hLPvAxaqdyOGCzuLfii2fqGph10va7oA==
@@ -8577,7 +8693,7 @@ eslint-mdx@^2.1.0:
uvu "^0.5.6"
vfile "^5.3.7"
-eslint-module-utils@^2.7.4:
+eslint-module-utils@^2.7.1, eslint-module-utils@^2.7.4:
version "2.8.0"
resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz#e439fee65fc33f6bba630ff621efc38ec0375c49"
integrity sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==
@@ -8591,7 +8707,23 @@ eslint-plugin-cypress@^2.13.3:
dependencies:
globals "^11.12.0"
-eslint-plugin-import@^2.27.5:
+eslint-plugin-es@^3.0.0:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz#75a7cdfdccddc0589934aeeb384175f221c57893"
+ integrity sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ==
+ dependencies:
+ eslint-utils "^2.0.0"
+ regexpp "^3.0.0"
+
+eslint-plugin-eslint-comments@^3.2.0:
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-eslint-comments/-/eslint-plugin-eslint-comments-3.2.0.tgz#9e1cd7b4413526abb313933071d7aba05ca12ffa"
+ integrity sha512-0jkOl0hfojIHHmEHgmNdqv4fmh7300NdpA9FFpF7zaoLvB/QeXOGNLIo86oAveJFrfB1p05kC8hpEMHM8DwWVQ==
+ dependencies:
+ escape-string-regexp "^1.0.5"
+ ignore "^5.0.5"
+
+eslint-plugin-import@^2.26.0, eslint-plugin-import@^2.27.5:
version "2.27.5"
resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.27.5.tgz#876a6d03f52608a3e5bb439c2550588e51dd6c65"
integrity sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==
@@ -8612,6 +8744,18 @@ eslint-plugin-import@^2.27.5:
semver "^6.3.0"
tsconfig-paths "^3.14.1"
+eslint-plugin-jest-formatting@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-jest-formatting/-/eslint-plugin-jest-formatting-3.1.0.tgz#b26dd5a40f432b642dcc880021a771bb1c93dcd2"
+ integrity sha512-XyysraZ1JSgGbLSDxjj5HzKKh0glgWf+7CkqxbTqb7zEhW7X2WHo5SBQ8cGhnszKN+2Lj3/oevBlHNbHezoc/A==
+
+eslint-plugin-jest@^25.3.0:
+ version "25.7.0"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-25.7.0.tgz#ff4ac97520b53a96187bad9c9814e7d00de09a6a"
+ integrity sha512-PWLUEXeeF7C9QGKqvdSbzLOiLTx+bno7/HC9eefePfEb257QFHg7ye3dh80AZVkaa/RQsBB1Q/ORQvg2X7F0NQ==
+ dependencies:
+ "@typescript-eslint/experimental-utils" "^5.0.0"
+
eslint-plugin-jest@^27.2.2:
version "27.2.2"
resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-27.2.2.tgz#be4ded5f91905d9ec89aa8968d39c71f3b072c0c"
@@ -8619,6 +8763,28 @@ eslint-plugin-jest@^27.2.2:
dependencies:
"@typescript-eslint/utils" "^5.10.0"
+eslint-plugin-jsx-a11y@^6.5.0:
+ version "6.7.1"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.7.1.tgz#fca5e02d115f48c9a597a6894d5bcec2f7a76976"
+ integrity sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA==
+ dependencies:
+ "@babel/runtime" "^7.20.7"
+ aria-query "^5.1.3"
+ array-includes "^3.1.6"
+ array.prototype.flatmap "^1.3.1"
+ ast-types-flow "^0.0.7"
+ axe-core "^4.6.2"
+ axobject-query "^3.1.1"
+ damerau-levenshtein "^1.0.8"
+ emoji-regex "^9.2.2"
+ has "^1.0.3"
+ jsx-ast-utils "^3.3.3"
+ language-tags "=1.0.5"
+ minimatch "^3.1.2"
+ object.entries "^1.1.6"
+ object.fromentries "^2.0.6"
+ semver "^6.3.0"
+
eslint-plugin-markdown@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/eslint-plugin-markdown/-/eslint-plugin-markdown-3.0.0.tgz#69a63ab3445076a3c2eb6fce6f5114785b19d318"
@@ -8640,17 +8806,36 @@ eslint-plugin-mdx@^2.1.0:
unified "^10.1.2"
vfile "^5.3.7"
-eslint-plugin-promise@^6.1.1:
+eslint-plugin-node@^11.1.0:
+ version "11.1.0"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz#c95544416ee4ada26740a30474eefc5402dc671d"
+ integrity sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g==
+ dependencies:
+ eslint-plugin-es "^3.0.0"
+ eslint-utils "^2.0.0"
+ ignore "^5.1.1"
+ minimatch "^3.0.4"
+ resolve "^1.10.1"
+ semver "^6.1.0"
+
+eslint-plugin-prettier@^4.1.0:
+ version "4.2.1"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-4.2.1.tgz#651cbb88b1dab98bfd42f017a12fa6b2d993f94b"
+ integrity sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==
+ dependencies:
+ prettier-linter-helpers "^1.0.0"
+
+eslint-plugin-promise@^6.0.0, eslint-plugin-promise@^6.1.1:
version "6.1.1"
resolved "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-6.1.1.tgz#269a3e2772f62875661220631bd4dafcb4083816"
integrity sha512-tjqWDwVZQo7UIPMeDReOpUgHCmCiH+ePnVT+5zVapL0uuHnegBUs2smM13CzOs2Xb5+MHMRFTs9v24yjba4Oig==
-eslint-plugin-react-hooks@^4.6.0:
+eslint-plugin-react-hooks@^4.3.0, eslint-plugin-react-hooks@^4.6.0:
version "4.6.0"
resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz#4c3e697ad95b77e93f8646aaa1630c1ba607edd3"
integrity sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==
-eslint-plugin-react@^7.32.2:
+eslint-plugin-react@^7.30.0, eslint-plugin-react@^7.32.2:
version "7.32.2"
resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.32.2.tgz#e71f21c7c265ebce01bcbc9d0955170c55571f10"
integrity sha512-t2fBMa+XzonrrNkyVirzKlvn5RXzzPwRHtMvLAtVZrt8oxgnTQaYbU6SXTOO1mwQgp1y5+toMSKInnzGr0Knqg==
@@ -8693,6 +8878,11 @@ eslint-plugin-sonarjs@^0.19.0:
resolved "https://registry.yarnpkg.com/eslint-plugin-sonarjs/-/eslint-plugin-sonarjs-0.19.0.tgz#6654bc1c6d24c2183891b8bfe1175004dbba1e3c"
integrity sha512-6+s5oNk5TFtVlbRxqZN7FIGmjdPCYQKaTzFPmqieCmsU1kBYDzndTeQav0xtQNwZJWu5awWfTGe8Srq9xFOGnw==
+eslint-plugin-sort-class-members@^1.14.0:
+ version "1.18.0"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-sort-class-members/-/eslint-plugin-sort-class-members-1.18.0.tgz#561746eb30abc4e8bb8d582d359c652299e450d8"
+ integrity sha512-y4r5OC3LJNHJZCWfVwFnnRiNrQ/LRf7Pb1wD6/CP8Y4qmUvjtmkwrLvyY755p8SFTOOXVd33HgFuF3XxVW1xbg==
+
eslint-plugin-unicorn@^47.0.0:
version "47.0.0"
resolved "https://registry.yarnpkg.com/eslint-plugin-unicorn/-/eslint-plugin-unicorn-47.0.0.tgz#960e9d3789f656ba3e21982420793b069a911011"
@@ -8715,6 +8905,11 @@ eslint-plugin-unicorn@^47.0.0:
semver "^7.3.8"
strip-indent "^3.0.0"
+eslint-rule-composer@^0.3.0:
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/eslint-rule-composer/-/eslint-rule-composer-0.3.0.tgz#79320c927b0c5c0d3d3d2b76c8b4a488f25bbaf9"
+ integrity sha512-bt+Sh8CtDmn2OajxvNO+BX7Wn4CIWMpTRm3MaiKPCQcnnlm0CS2mhui6QaoeQugs+3Kj2ESKEEGJUdVafwhiCg==
+
eslint-scope@5.1.1, eslint-scope@^5.1.1:
version "5.1.1"
resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c"
@@ -8731,6 +8926,13 @@ eslint-scope@^7.2.0:
esrecurse "^4.3.0"
estraverse "^5.2.0"
+eslint-utils@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27"
+ integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==
+ dependencies:
+ eslint-visitor-keys "^1.1.0"
+
eslint-utils@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672"
@@ -8738,6 +8940,11 @@ eslint-utils@^3.0.0:
dependencies:
eslint-visitor-keys "^2.0.0"
+eslint-visitor-keys@^1.1.0:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e"
+ integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==
+
eslint-visitor-keys@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz#21fdc8fbcd9c795cc0321f0563702095751511a8"
@@ -9257,6 +9464,11 @@ fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3:
resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525"
integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==
+fast-diff@^1.1.2:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.3.0.tgz#ece407fa550a64d638536cd727e129c61616e0f0"
+ integrity sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==
+
fast-glob@^3.1.1:
version "3.2.5"
resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.5.tgz#7939af2a656de79a4f1901903ee8adcaa7cb9661"
@@ -10408,6 +10620,14 @@ he@1.2.0, he@^1.2.0:
resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f"
integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==
+header-case@^2.0.4:
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/header-case/-/header-case-2.0.4.tgz#5a42e63b55177349cf405beb8d775acabb92c063"
+ integrity sha512-H/vuk5TEEVZwrR0lp2zed9OCo1uAILMlx0JEMgC26rzyJJ3N1v6XkwHHXJQdR2doSjcGPM6OKPYoJgf0plJ11Q==
+ dependencies:
+ capital-case "^1.0.4"
+ tslib "^2.0.3"
+
helpertypes@^0.0.18:
version "0.0.18"
resolved "https://registry.yarnpkg.com/helpertypes/-/helpertypes-0.0.18.tgz#fd2bf5d3351cc7d80f7876732361d3adba63e5b4"
@@ -10702,7 +10922,7 @@ ieee754@^1.1.13:
resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352"
integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==
-ignore@^5.0.0, ignore@^5.2.4:
+ignore@^5.0.0, ignore@^5.0.5, ignore@^5.1.1, ignore@^5.2.4:
version "5.2.4"
resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.4.tgz#a291c0c6178ff1b960befe47fcdec301674a6324"
integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==
@@ -12233,6 +12453,14 @@ jsprim@^2.0.2:
array-includes "^3.1.4"
object.assign "^4.1.2"
+jsx-ast-utils@^3.2.1, jsx-ast-utils@^3.3.3:
+ version "3.3.3"
+ resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz#76b3e6e6cece5c69d49a5792c3d01bd1a0cdc7ea"
+ integrity sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw==
+ dependencies:
+ array-includes "^3.1.5"
+ object.assign "^4.1.3"
+
jszip@^3.10.0:
version "3.10.0"
resolved "https://registry.yarnpkg.com/jszip/-/jszip-3.10.0.tgz#faf3db2b4b8515425e34effcdbb086750a346061"
@@ -12290,6 +12518,18 @@ klona@^2.0.5:
resolved "https://registry.yarnpkg.com/klona/-/klona-2.0.6.tgz#85bffbf819c03b2f53270412420a4555ef882e22"
integrity sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==
+language-subtag-registry@~0.3.2:
+ version "0.3.22"
+ resolved "https://registry.yarnpkg.com/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz#2e1500861b2e457eba7e7ae86877cbd08fa1fd1d"
+ integrity sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==
+
+language-tags@=1.0.5:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/language-tags/-/language-tags-1.0.5.tgz#d321dbc4da30ba8bf3024e040fa5c14661f9193a"
+ integrity sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==
+ dependencies:
+ language-subtag-registry "~0.3.2"
+
lazy-ass@1.6.0, lazy-ass@^1.6.0:
version "1.6.0"
resolved "https://registry.yarnpkg.com/lazy-ass/-/lazy-ass-1.6.0.tgz#7999655e8646c17f089fdd187d150d3324d54513"
@@ -13853,7 +14093,7 @@ object.assign@^4.1.2:
has-symbols "^1.0.1"
object-keys "^1.1.1"
-object.assign@^4.1.4:
+object.assign@^4.1.3, object.assign@^4.1.4:
version "4.1.4"
resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.4.tgz#9673c7c7c351ab8c4d0b516f4343ebf4dfb7799f"
integrity sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==
@@ -14254,6 +14494,14 @@ pascal-case@^3.1.1, pascal-case@^3.1.2:
no-case "^3.0.4"
tslib "^2.0.3"
+path-case@^3.0.4:
+ version "3.0.4"
+ resolved "https://registry.yarnpkg.com/path-case/-/path-case-3.0.4.tgz#9168645334eb942658375c56f80b4c0cb5f82c6f"
+ integrity sha512-qO4qCFjXqVTrcbPt/hQfhTQ+VhFsqNKOPtytgNKkKxSoEp3XPUQ8ObFuePylOIok5gjn69ry8XiULxCwot3Wfg==
+ dependencies:
+ dot-case "^3.0.4"
+ tslib "^2.0.3"
+
path-exists@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515"
@@ -15047,6 +15295,13 @@ preserve@^0.2.0:
resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b"
integrity sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=
+prettier-linter-helpers@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz#d23d41fe1375646de2d0104d3454a3008802cf7b"
+ integrity sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==
+ dependencies:
+ fast-diff "^1.1.2"
+
prettier@3.0.0-alpha.12:
version "3.0.0-alpha.12"
resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.0.0-alpha.12.tgz#c38228f277e870298b6d95e579e54ea500487505"
@@ -15618,7 +15873,7 @@ regexp.prototype.flags@^1.4.3:
define-properties "^1.1.3"
functions-have-names "^1.2.2"
-regexpp@^3.2.0:
+regexpp@^3.0.0, regexpp@^3.2.0:
version "3.2.0"
resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2"
integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==
@@ -15849,7 +16104,7 @@ resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.14.2, resolve@^1.15.
path-parse "^1.0.7"
supports-preserve-symlinks-flag "^1.0.0"
-resolve@^1.22.1:
+resolve@^1.10.1, resolve@^1.22.1:
version "1.22.2"
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.2.tgz#0ed0943d4e301867955766c9f3e1ae6d01c6845f"
integrity sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==
@@ -16142,7 +16397,7 @@ semver@7.x, semver@^7.3.7:
dependencies:
lru-cache "^6.0.0"
-semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.2.0, semver@^6.3.0:
+semver@^6.0.0, semver@^6.1.0, semver@^6.1.1, semver@^6.1.2, semver@^6.2.0, semver@^6.3.0:
version "6.3.0"
resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"
integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
@@ -16213,6 +16468,15 @@ send@0.18.0:
range-parser "~1.2.1"
statuses "2.0.1"
+sentence-case@^3.0.4:
+ version "3.0.4"
+ resolved "https://registry.yarnpkg.com/sentence-case/-/sentence-case-3.0.4.tgz#3645a7b8c117c787fde8702056225bb62a45131f"
+ integrity sha512-8LS0JInaQMCRoQ7YUytAo/xUu5W2XnQxV2HI/6uM6U7CITS1RqPElr30V6uIqyMKM9lJGRVFy5/4CuzcixNYSg==
+ dependencies:
+ no-case "^3.0.4"
+ tslib "^2.0.3"
+ upper-case-first "^2.0.2"
+
serialize-javascript@6.0.0:
version "6.0.0"
resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.0.tgz#efae5d88f45d7924141da8b5c3a7a7e663fefeb8"
@@ -16481,6 +16745,14 @@ smartwrap@^2.0.2:
wcwidth "^1.0.1"
yargs "^15.1.0"
+snake-case@^3.0.4:
+ version "3.0.4"
+ resolved "https://registry.yarnpkg.com/snake-case/-/snake-case-3.0.4.tgz#4f2bbd568e9935abdfd593f34c691dadb49c452c"
+ integrity sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==
+ dependencies:
+ dot-case "^3.0.4"
+ tslib "^2.0.3"
+
sockjs@^0.3.24:
version "0.3.24"
resolved "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.24.tgz#c9bc8995f33a111bea0395ec30aa3206bdb5ccce"
@@ -17856,6 +18128,20 @@ update-check@1.5.2:
registry-auth-token "3.3.2"
registry-url "3.1.0"
+upper-case-first@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/upper-case-first/-/upper-case-first-2.0.2.tgz#992c3273f882abd19d1e02894cc147117f844324"
+ integrity sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg==
+ dependencies:
+ tslib "^2.0.3"
+
+upper-case@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/upper-case/-/upper-case-2.0.2.tgz#d89810823faab1df1549b7d97a76f8662bae6f7a"
+ integrity sha512-KgdgDGJt2TpuwBUIjgG6lzw2GWFRCW9Qkfkiv0DxqHHLYJHmtmdUIKcZd8rHgFSjopVTlw6ggzCm1b8MFQwikg==
+ dependencies:
+ tslib "^2.0.3"
+
uri-js@^4.2.2:
version "4.4.1"
resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e"