diff --git a/package.json b/package.json index bebb9a8ca1..8434135d02 100644 --- a/package.json +++ b/package.json @@ -23,6 +23,8 @@ "examples/action-listener/*" ], "devDependencies": { + "@typescript-eslint/eslint-plugin": "6.12.0", + "@typescript-eslint/parser": "6.12.0", "eslint": "^7.25.0", "eslint-config-prettier": "^9.1.0", "eslint-config-react-app": "^7.0.1", @@ -47,7 +49,6 @@ "@babel/types": "7.19.3", "esbuild": "0.19.7", "jest-snapshot": "29.3.1", - "jscodeshift": "0.13.1", "react-redux": "npm:8.0.2", "react": "npm:18.2.0", "react-dom": "npm:18.2.0", @@ -65,9 +66,7 @@ "docs/@types/react-dom": "npm:17.0.11", "docs/@types/react": "npm:17.0.11", "type-fest": "2.19.0", - "console-testing-library@0.6.1": "patch:console-testing-library@npm%3A0.6.1#./.yarn/patches/console-testing-library-npm-0.6.1-4d9957d402.patch", - "@typescript-eslint/eslint-plugin": "6.12.0", - "@typescript-eslint/parser": "6.12.0" + "console-testing-library@0.6.1": "patch:console-testing-library@npm%3A0.6.1#./.yarn/patches/console-testing-library-npm-0.6.1-4d9957d402.patch" }, "scripts": { "build": "yarn build:packages", diff --git a/packages/rtk-codemods/.eslintignore b/packages/rtk-codemods/.eslintignore deleted file mode 100644 index 28d21228da..0000000000 --- a/packages/rtk-codemods/.eslintignore +++ /dev/null @@ -1,2 +0,0 @@ -!.* -__testfixtures__ \ No newline at end of file diff --git a/packages/rtk-codemods/.eslintrc.js b/packages/rtk-codemods/.eslintrc.js deleted file mode 100644 index 475aa701d9..0000000000 --- a/packages/rtk-codemods/.eslintrc.js +++ /dev/null @@ -1,20 +0,0 @@ -module.exports = { - parserOptions: { - ecmaVersion: 2018, - }, - - plugins: ['prettier', 'node'], - extends: ['eslint:recommended', 'plugin:prettier/recommended'], - env: { - node: true, - }, - rules: {}, - overrides: [ - { - files: ['__tests__/**/*.js'], - env: { - jest: true, - }, - }, - ], -}; diff --git a/packages/rtk-codemods/.eslintrc.json b/packages/rtk-codemods/.eslintrc.json new file mode 100644 index 0000000000..8f15e141ae --- /dev/null +++ b/packages/rtk-codemods/.eslintrc.json @@ -0,0 +1,11 @@ +{ + "env": { "node": true }, + "extends": ["eslint:recommended"], + "ignorePatterns": ["node_modules"], + "parserOptions": { "ecmaVersion": "latest" }, + "plugins": ["node"], + "rules": { + "no-unused-vars": [0], + "eol-last": [0] + } +} diff --git a/packages/rtk-codemods/.gitignore b/packages/rtk-codemods/.gitignore index 568cda7371..56fd2d9f2d 100644 --- a/packages/rtk-codemods/.gitignore +++ b/packages/rtk-codemods/.gitignore @@ -1,2 +1,32 @@ +# Dependencies /node_modules -/.eslintcache \ No newline at end of file + +# Production +/build + +# Generated files +.docusaurus +.cache-loader + +# Misc +.DS_Store +.env.local +.env.development.local +.env.test.local +.env.production.local + +npm-debug.log* +yarn-debug.log* +yarn-error.log* +.cache +.yarnrc +.yarn/* +!.yarn/patches +!.yarn/releases +!.yarn/plugins +!.yarn/sdks +!.yarn/versions +.pnp.* +*.tgz + +/.eslintcache diff --git a/packages/rtk-codemods/.prettierrc b/packages/rtk-codemods/.prettierrc deleted file mode 100644 index 7c2b752778..0000000000 --- a/packages/rtk-codemods/.prettierrc +++ /dev/null @@ -1,5 +0,0 @@ -{ - "singleQuote": true, - "trailingComma": "es5", - "printWidth": 100 -} \ No newline at end of file diff --git a/packages/rtk-codemods/.prettierrc.json b/packages/rtk-codemods/.prettierrc.json new file mode 100644 index 0000000000..44ee5173aa --- /dev/null +++ b/packages/rtk-codemods/.prettierrc.json @@ -0,0 +1,6 @@ +{ + "singleQuote": true, + "trailingComma": "none", + "printWidth": 80, + "semi": false +} diff --git a/packages/rtk-codemods/README.md b/packages/rtk-codemods/README.md index be04f2b53b..ab7f117881 100644 --- a/packages/rtk-codemods/README.md +++ b/packages/rtk-codemods/README.md @@ -27,6 +27,7 @@ node ./bin/cli.js path/of/files/ or/some**/*glob.js - [createReducerBuilder](transforms/createReducerBuilder/README.md) - [createSliceBuilder](transforms/createSliceBuilder/README.md) +- [createSliceReducerBuilder](transforms/createSliceReducerBuilder/README.md) ## Contributing diff --git a/packages/rtk-codemods/bin/cli.js b/packages/rtk-codemods/bin/cli.js index 76d86db833..53a0f8b819 100755 --- a/packages/rtk-codemods/bin/cli.js +++ b/packages/rtk-codemods/bin/cli.js @@ -1,12 +1,39 @@ #!/usr/bin/env node -const path = require('path'); +import { execaSync } from 'execa' +import { globbySync } from 'globby' +import { createRequire } from 'node:module' +import path from 'node:path' +import { fileURLToPath } from 'node:url' -require('ts-node').register({ - project: path.join(__dirname, './tsconfig.json'), -}); +const require = createRequire(import.meta.url) -require('codemod-cli').runTransform( +const __filename = fileURLToPath(import.meta.url) +const __dirname = path.dirname(__filename) + +const transformerDirectory = path.join( __dirname, - process.argv[2] /* transform name */, - process.argv.slice(3) /* paths or globs */ -); + '..', + 'transforms', + `${process.argv[2]}/index.ts` +) + +const jscodeshiftExecutable = require.resolve('.bin/jscodeshift') + +const extensions = 'ts,js,tsx,jsx' + +execaSync( + jscodeshiftExecutable, + [ + '-t', + transformerDirectory, + '--extensions', + extensions, + ...(process.argv.slice(3).length === 1 + ? globbySync(process.argv[3]) + : globbySync(process.argv.slice(3))) + ], + { + stdio: 'inherit', + stripFinalNewline: false + } +) diff --git a/packages/rtk-codemods/bin/tsconfig.json b/packages/rtk-codemods/bin/tsconfig.json deleted file mode 100644 index d472d5de40..0000000000 --- a/packages/rtk-codemods/bin/tsconfig.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "compilerOptions": { - "target": "es2017", - "module": "commonjs" , - "strict": true , - "noUnusedLocals": false, - "resolveJsonModule": true, - "moduleResolution": "node", - "types": ["node"], - "esModuleInterop": true, - "skipLibCheck": true, - "forceConsistentCasingInFileNames": true - } -} diff --git a/packages/rtk-codemods/package.json b/packages/rtk-codemods/package.json index a8ac4a2acb..5754ed4466 100644 --- a/packages/rtk-codemods/package.json +++ b/packages/rtk-codemods/package.json @@ -2,10 +2,10 @@ "name": "@reduxjs/rtk-codemods", "version": "0.1.0", "scripts": { - "lint": "eslint --cache .", - "test": "vitest", - "test:coverage": "vitest --coverage", - "update-docs": "codemod-cli update-docs" + "lint": "eslint .", + "test": "vitest --run", + "test:watch": "vitest --watch", + "test:coverage": "vitest --coverage" }, "bin": "./bin/cli.js", "files": [ @@ -22,17 +22,21 @@ "codemod" ], "dependencies": { - "@types/jscodeshift": "^0.11.5", - "codemod-cli": "^3.2.0", - "typescript": "^4.8.0" + "execa": "^8.0.1", + "globby": "^14.0.0", + "jscodeshift": "^0.15.1", + "ts-node": "^10.9.2", + "typescript": "^5.3.3" }, "devDependencies": { - "eslint": "^7.25.0", - "eslint-config-prettier": "^8.3.0", + "@types/jscodeshift": "^0.11.11", + "@typescript-eslint/parser": "^6.19.1", + "eslint": "^8.56.0", + "eslint-config-prettier": "^9.1.0", "eslint-plugin-node": "^11.1.0", - "eslint-plugin-prettier": "^3.4.0", - "prettier": "^2.2.1", - "vitest": "^0.30.1" + "eslint-plugin-prettier": "^5.1.3", + "prettier": "^3.2.4", + "vitest": "^1.2.1" }, "engines": { "node": ">= 16" diff --git a/packages/rtk-codemods/transformTestUtils.ts b/packages/rtk-codemods/transformTestUtils.ts index b49314cc73..2d4be2c0b8 100644 --- a/packages/rtk-codemods/transformTestUtils.ts +++ b/packages/rtk-codemods/transformTestUtils.ts @@ -1,61 +1,68 @@ -import { describe, vi } from 'vitest'; -import type { Transform } from 'jscodeshift'; -import globby from 'globby'; -import fs from 'fs-extra'; -import path from 'path'; -import { runInlineTest } from 'jscodeshift/dist/testUtils'; +import { globbySync } from 'globby' +import type { Transform } from 'jscodeshift' +import type { TestOptions } from 'jscodeshift/src/testUtils' +import { runInlineTest } from 'jscodeshift/src/testUtils' +import fs from 'node:fs' +import path from 'node:path' +import { describe, it } from 'vitest' -export function runTransformTest( +export const runTransformTest = ( name: string, transform: Transform, - parser: string, + parser: TestOptions['parser'], fixturePath: string -) { - describe(name, function () { - globby - .sync('**/*.input.*', { - cwd: fixturePath, - absolute: true, - }) - .map((entry) => entry.slice(fixturePath.length)) +) => { + describe(name, () => { + globbySync('**/*.input.*', { + cwd: fixturePath, + absolute: true, + objectMode: true + }) + .map((entry) => entry.name) .forEach((filename) => { - let extension = path.extname(filename); - let testName = filename.replace(`.input${extension}`, ''); - let testInputPath = path.join(fixturePath, `${testName}${extension}`); - let inputPath = path.join(fixturePath, `${testName}.input${extension}`); - let outputPath = path.join(fixturePath, `${testName}.output${extension}`); - let optionsPath = path.join(fixturePath, `${testName}.options.json`); - let options = fs.pathExistsSync(optionsPath) ? fs.readFileSync(optionsPath) : '{}'; + const extension = path.extname(filename) + const testName = filename.replace(`.input${extension}`, '') + const testInputPath = path.join(fixturePath, `${testName}${extension}`) + const inputPath = path.join( + fixturePath, + `${testName}.input${extension}` + ) + const outputPath = path.join( + fixturePath, + `${testName}.output${extension}` + ) - describe(testName, function () { - beforeEach(function () { - process.env.CODEMOD_CLI_ARGS = options; - }); + const inputFileContent = fs.readFileSync(inputPath, 'utf8') - afterEach(function () { - process.env.CODEMOD_CLI_ARGS = ''; - }); + const expectedOutput = fs.readFileSync(outputPath, 'utf8') - it('transforms correctly', function () { + describe(`${testName}${extension}`, () => { + it('transforms correctly', () => { runInlineTest( transform, {}, - { path: testInputPath, source: fs.readFileSync(inputPath, 'utf8') }, - fs.readFileSync(outputPath, 'utf8'), + { + path: testInputPath, + source: inputFileContent + }, + expectedOutput, { parser } - ); - }); + ) + }) - it('is idempotent', function () { + it('is idempotent', () => { runInlineTest( transform, {}, - { path: testInputPath, source: fs.readFileSync(outputPath, 'utf8') }, - fs.readFileSync(outputPath, 'utf8'), + { + path: testInputPath, + source: inputFileContent + }, + expectedOutput, { parser } - ); - }); - }); - }); - }); + ) + }) + }) + }) + }) } diff --git a/packages/rtk-codemods/transforms/createReducerBuilder/__testfixtures__/basic-ts.input.ts b/packages/rtk-codemods/transforms/createReducerBuilder/__testfixtures__/basic-ts.input.ts index 9d0dd79709..57f0a84cbf 100644 --- a/packages/rtk-codemods/transforms/createReducerBuilder/__testfixtures__/basic-ts.input.ts +++ b/packages/rtk-codemods/transforms/createReducerBuilder/__testfixtures__/basic-ts.input.ts @@ -1,13 +1,60 @@ -createReducer(initialState, { - [todoAdded1a]: (state: SliceState, action: PayloadAction) => { +import type { PayloadAction } from '@reduxjs/toolkit' +import { createEntityAdapter, createReducer } from '@reduxjs/toolkit' + +export interface Todo { + id: string + title: string +} + +// This only included to make sure the codemod does not +// throw a runtime error when faced with TS 4.7+ syntax such as +// the `satisfies` operator and instantiation expressions +const someString = 'someString' satisfies string + +export const todoAdapter = createEntityAdapter() + +const todoInitialState = todoAdapter.getInitialState() + +export type TodoSliceState = typeof todoInitialState + +const { addOne } = todoAdapter + +createReducer(todoInitialState, { + [todoAdded1a]: (state: TodoSliceState, action: PayloadAction) => { + // stuff + }, + [todoAdded1b]: (state: TodoSliceState, action: PayloadAction) => + action.payload, + [todoAdded1c + 'test']: (state: TodoSliceState, action: PayloadAction) => { // stuff }, - [todoAdded1b]: someFunc, - todoAdded1c: adapter.someFunc, -}); + [todoAdded1d](state: TodoSliceState, action: PayloadAction) { + // stuff + }, + [todoAdded1e]: function ( + state: TodoSliceState, + action: PayloadAction + ) { + // stuff + }, + todoAdded1f: (state: TodoSliceState, action: PayloadAction) => { + //stuff + }, + [todoAdded1g]: addOne, + todoAdded1h: todoAdapter.addOne +}) -createReducer(initialState, { - [todoAdded](state: SliceState, action: PayloadAction) { +createReducer(todoInitialState, { + [todoAdded2a]: (state: TodoSliceState, action: PayloadAction) => { + // stuff + }, + [todoAdded2b](state: TodoSliceState, action: PayloadAction) { // stuff }, -}); + [todoAdded2c]: function ( + state: TodoSliceState, + action: PayloadAction + ) { + // stuff + } +}) diff --git a/packages/rtk-codemods/transforms/createReducerBuilder/__testfixtures__/basic-ts.output.ts b/packages/rtk-codemods/transforms/createReducerBuilder/__testfixtures__/basic-ts.output.ts index b0ed567675..a3d7af1089 100644 --- a/packages/rtk-codemods/transforms/createReducerBuilder/__testfixtures__/basic-ts.output.ts +++ b/packages/rtk-codemods/transforms/createReducerBuilder/__testfixtures__/basic-ts.output.ts @@ -1,14 +1,67 @@ -createReducer(initialState, (builder) => { - builder.addCase(todoAdded1a, (state: SliceState, action: PayloadAction) => { +import type { PayloadAction } from '@reduxjs/toolkit' +import { createEntityAdapter, createReducer } from '@reduxjs/toolkit' + +export interface Todo { + id: string + title: string +} + +// This only included to make sure the codemod does not +// throw a runtime error when faced with TS 4.7+ syntax such as +// the `satisfies` operator and instantiation expressions +const someString = 'someString' satisfies string + +export const todoAdapter = createEntityAdapter() + +const todoInitialState = todoAdapter.getInitialState() + +export type TodoSliceState = typeof todoInitialState + +const { addOne } = todoAdapter + +createReducer(todoInitialState, (builder) => { + builder.addCase(todoAdded1a, (state: TodoSliceState, action: PayloadAction) => { + // stuff + }); + + builder.addCase( + todoAdded1b, + (state: TodoSliceState, action: PayloadAction) => action.payload + ); + + builder.addCase( + todoAdded1c + 'test', + (state: TodoSliceState, action: PayloadAction) => { + // stuff + } + ); + + builder.addCase(todoAdded1d, (state: TodoSliceState, action: PayloadAction) => { // stuff }); - builder.addCase(todoAdded1b, someFunc); - builder.addCase(todoAdded1c, adapter.someFunc); -}); + builder.addCase(todoAdded1e, (state: TodoSliceState, action: PayloadAction) => { + // stuff + }); + + builder.addCase(todoAdded1f, (state: TodoSliceState, action: PayloadAction) => { + //stuff + }); + + builder.addCase(todoAdded1g, addOne); + builder.addCase(todoAdded1h, todoAdapter.addOne); +}) + +createReducer(todoInitialState, (builder) => { + builder.addCase(todoAdded2a, (state: TodoSliceState, action: PayloadAction) => { + // stuff + }); + + builder.addCase(todoAdded2b, (state: TodoSliceState, action: PayloadAction) => { + // stuff + }); -createReducer(initialState, (builder) => { - builder.addCase(todoAdded, (state: SliceState, action: PayloadAction) => { + builder.addCase(todoAdded2c, (state: TodoSliceState, action: PayloadAction) => { // stuff }); -}); +}) diff --git a/packages/rtk-codemods/transforms/createReducerBuilder/__testfixtures__/basic.input.js b/packages/rtk-codemods/transforms/createReducerBuilder/__testfixtures__/basic.input.js index 29587d92ad..05897a30f3 100644 --- a/packages/rtk-codemods/transforms/createReducerBuilder/__testfixtures__/basic.input.js +++ b/packages/rtk-codemods/transforms/createReducerBuilder/__testfixtures__/basic.input.js @@ -1,33 +1,40 @@ -createReducer(initialState, { - [todoAdded1a]: (state, action) => { - // stuff - }, - [todoAdded1b]: (state, action) => action.payload, - [todoAdded1c + "test"]: (state, action) => { - // stuff - }, - [todoAdded1d](state, action) { - // stuff - }, - [todoAdded1e]: function(state, action) { - // stuff - }, - todoAdded1f: (state, action) => { - //stuff - }, - [todoAdded1g]: someFunc, - todoAdded1h: adapter.someFunc -}); +import { createEntityAdapter, createReducer } from '@reduxjs/toolkit'; + +export const todoAdapter = createEntityAdapter(); + +const todoInitialState = todoAdapter.getInitialState(); +const { addOne } = todoAdapter; -createReducer(initialState, { - [todoAdded2a]: (state, action) => { - // stuff - }, - [todoAdded2b](state, action) { - // stuff - }, - [todoAdded2c]: function(state, action) { - // stuff - } -}); \ No newline at end of file +createReducer(todoInitialState, { + [todoAdded1a]: (state, action) => { + // stuff + }, + [todoAdded1b]: (state, action) => action.payload, + [todoAdded1c + 'test']: (state, action) => { + // stuff + }, + [todoAdded1d](state, action) { + // stuff + }, + [todoAdded1e]: function (state, action) { + // stuff + }, + todoAdded1f: (state, action) => { + //stuff + }, + [todoAdded1g]: addOne, + todoAdded1h: todoAdapter.addOne, +}); + +createReducer(todoInitialState, { + [todoAdded2a]: (state, action) => { + // stuff + }, + [todoAdded2b](state, action) { + // stuff + }, + [todoAdded2c]: function (state, action) { + // stuff + } +}); diff --git a/packages/rtk-codemods/transforms/createReducerBuilder/__testfixtures__/basic.output.js b/packages/rtk-codemods/transforms/createReducerBuilder/__testfixtures__/basic.output.js index 26f3abb98b..410186ab05 100644 --- a/packages/rtk-codemods/transforms/createReducerBuilder/__testfixtures__/basic.output.js +++ b/packages/rtk-codemods/transforms/createReducerBuilder/__testfixtures__/basic.output.js @@ -1,41 +1,48 @@ -createReducer(initialState, (builder) => { - builder.addCase(todoAdded1a, (state, action) => { - // stuff - }); +import { createEntityAdapter, createReducer } from '@reduxjs/toolkit'; - builder.addCase(todoAdded1b, (state, action) => action.payload); +export const todoAdapter = createEntityAdapter(); - builder.addCase(todoAdded1c + "test", (state, action) => { - // stuff - }); +const todoInitialState = todoAdapter.getInitialState(); - builder.addCase(todoAdded1d, (state, action) => { - // stuff - }); +const { addOne } = todoAdapter; - builder.addCase(todoAdded1e, (state, action) => { - // stuff - }); +createReducer(todoInitialState, (builder) => { + builder.addCase(todoAdded1a, (state, action) => { + // stuff + }); - builder.addCase(todoAdded1f, (state, action) => { - //stuff - }); + builder.addCase(todoAdded1b, (state, action) => action.payload); - builder.addCase(todoAdded1g, someFunc); - builder.addCase(todoAdded1h, adapter.someFunc); -}); + builder.addCase(todoAdded1c + 'test', (state, action) => { + // stuff + }); + + builder.addCase(todoAdded1d, (state, action) => { + // stuff + }); + + builder.addCase(todoAdded1e, (state, action) => { + // stuff + }); + builder.addCase(todoAdded1f, (state, action) => { + //stuff + }); -createReducer(initialState, (builder) => { - builder.addCase(todoAdded2a, (state, action) => { - // stuff - }); + builder.addCase(todoAdded1g, addOne); + builder.addCase(todoAdded1h, todoAdapter.addOne); +}); + +createReducer(todoInitialState, (builder) => { + builder.addCase(todoAdded2a, (state, action) => { + // stuff + }); - builder.addCase(todoAdded2b, (state, action) => { - // stuff - }); + builder.addCase(todoAdded2b, (state, action) => { + // stuff + }); - builder.addCase(todoAdded2c, (state, action) => { - // stuff - }); -}); \ No newline at end of file + builder.addCase(todoAdded2c, (state, action) => { + // stuff + }); +}); diff --git a/packages/rtk-codemods/transforms/createReducerBuilder/createReducerBuilder.test.ts b/packages/rtk-codemods/transforms/createReducerBuilder/createReducerBuilder.test.ts index 2f1ca8f24f..24678f709a 100644 --- a/packages/rtk-codemods/transforms/createReducerBuilder/createReducerBuilder.test.ts +++ b/packages/rtk-codemods/transforms/createReducerBuilder/createReducerBuilder.test.ts @@ -1,11 +1,10 @@ -import path from 'path'; -import transform, { parser } from './index'; - -import { runTransformTest } from '../../transformTestUtils'; +import path from 'node:path' +import { runTransformTest } from '../../transformTestUtils' +import transform, { parser } from './index' runTransformTest( 'createReducerBuilder', transform, parser, path.join(__dirname, '__testfixtures__') -); +) diff --git a/packages/rtk-codemods/transforms/createReducerBuilder/index.ts b/packages/rtk-codemods/transforms/createReducerBuilder/index.ts index 715c261bd8..7fbfcff005 100644 --- a/packages/rtk-codemods/transforms/createReducerBuilder/index.ts +++ b/packages/rtk-codemods/transforms/createReducerBuilder/index.ts @@ -1,93 +1,96 @@ -import { ExpressionKind, SpreadElementKind } from 'ast-types/gen/kinds'; -import { +import type { ExpressionKind, SpreadElementKind } from 'ast-types/gen/kinds' +import type { ExpressionStatement, JSCodeshift, ObjectExpression, - ObjectMethod, - ObjectProperty, - Transform, -} from 'jscodeshift'; - -type ObjectKey = ObjectMethod['key'] & ObjectProperty['key']; + Transform +} from 'jscodeshift' +import type { TestOptions } from 'jscodeshift/src/testUtils' function wrapInAddCaseExpression( j: JSCodeshift, addCaseArgs: (ExpressionKind | SpreadElementKind)[] ) { - const identifier = j.identifier('builder'); + const identifier = j.identifier('builder') return j.expressionStatement( - j.callExpression(j.memberExpression(identifier, j.identifier('addCase'), false), addCaseArgs) - ); + j.callExpression( + j.memberExpression(identifier, j.identifier('addCase'), false), + addCaseArgs + ) + ) } -export function reducerPropsToBuilderExpression(j: JSCodeshift, defNode: ObjectExpression) { - const caseExpressions: ExpressionStatement[] = []; - for (let property of defNode.properties) { - let addCaseArgs: (ExpressionKind | SpreadElementKind)[] = []; +export function reducerPropsToBuilderExpression( + j: JSCodeshift, + defNode: ObjectExpression +) { + const caseExpressions: ExpressionStatement[] = [] + for (const property of defNode.properties) { + let addCaseArgs: (ExpressionKind | SpreadElementKind)[] = [] switch (property.type) { case 'ObjectMethod': { - const { key, params, body } = property; + const { key, params, body } = property if (body) { - addCaseArgs = [key, j.arrowFunctionExpression(params, body)]; + addCaseArgs = [key, j.arrowFunctionExpression(params, body)] } - break; + break } case 'ObjectProperty': { - const { key } = property; + const { key } = property switch (property.value.type) { case 'ArrowFunctionExpression': case 'FunctionExpression': { - const { params, body } = property.value; + const { params, body } = property.value if (body) { - addCaseArgs = [key, j.arrowFunctionExpression(params, body)]; + addCaseArgs = [key, j.arrowFunctionExpression(params, body)] } - break; + break } case 'Identifier': case 'MemberExpression': { - const { value } = property; - addCaseArgs = [key, value]; - break; + const { value } = property + addCaseArgs = [key, value] + break } } } } if (!addCaseArgs.length) { - continue; + continue } - caseExpressions.push(wrapInAddCaseExpression(j, addCaseArgs)); + caseExpressions.push(wrapInAddCaseExpression(j, addCaseArgs)) } - return j.arrowFunctionExpression([j.identifier('builder')], j.blockStatement(caseExpressions)); + return j.arrowFunctionExpression( + [j.identifier('builder')], + j.blockStatement(caseExpressions) + ) } const transform: Transform = (file, api) => { - const j = api.jscodeshift; + const j = api.jscodeshift - return ( - j(file.source) - // @ts-ignore some expression mismatch - .find(j.CallExpression, { - callee: { name: 'createReducer' }, - // @ts-ignore some expression mismatch - arguments: { 1: { type: 'ObjectExpression' } }, - }) - .forEach((path) => { - const reducerObjectExpression = path.node.arguments[1] as ObjectExpression; - j(path).replaceWith( - j.callExpression(j.identifier('createReducer'), [ - path.node.arguments[0], - reducerPropsToBuilderExpression(j, reducerObjectExpression), - ]) - ); - }) - .toSource({ - arrowParensAlways: true, - }) - ); -}; + return j(file.source) + .find(j.CallExpression, { + callee: { name: 'createReducer' }, + arguments: [{}, { type: 'ObjectExpression' }] + }) + .forEach((path) => { + const reducerObjectExpression = path.node.arguments[1] as ObjectExpression + j(path).replaceWith( + j.callExpression(j.identifier('createReducer'), [ + path.node.arguments[0], + reducerPropsToBuilderExpression(j, reducerObjectExpression) + ]) + ) + }) + .toSource({ + arrowParensAlways: true, + lineTerminator: '\n' + }) +} -export const parser = 'tsx'; +export const parser = 'tsx' satisfies TestOptions['parser'] -export default transform; +export default transform diff --git a/packages/rtk-codemods/transforms/createSliceBuilder/__testfixtures__/basic-ts.input.ts b/packages/rtk-codemods/transforms/createSliceBuilder/__testfixtures__/basic-ts.input.ts index 9539371a75..600b625912 100644 --- a/packages/rtk-codemods/transforms/createSliceBuilder/__testfixtures__/basic-ts.input.ts +++ b/packages/rtk-codemods/transforms/createSliceBuilder/__testfixtures__/basic-ts.input.ts @@ -1,21 +1,97 @@ -const slice1 = createSlice({ - name: "a", - initialState, +import type { PayloadAction } from '@reduxjs/toolkit'; +import { + createAsyncThunk, + createEntityAdapter, + createSlice +} from '@reduxjs/toolkit'; + +export interface Todo { + id: string + title: string +} + +export const todoAdapter = createEntityAdapter() + +const todoInitialState = todoAdapter.getInitialState() + +export type TodoSliceState = typeof todoInitialState + +const fetchCount = (amount = 1) => { + return new Promise<{ data: number }>((resolve) => + setTimeout(() => resolve({ data: amount }), 500) + ) +} + +export const incrementAsync = createAsyncThunk( + 'counter/fetchCount', + async (amount: number) => { + const response = await fetchCount(amount) + return response.data + } +) + +const { addOne } = todoAdapter + +const todoSlice = createSlice({ + name: 'todo', + initialState: todoInitialState, + reducers: { + deleteTodo: todoAdapter.removeOne + }, extraReducers: { - [todoAdded1a]: (state: SliceState, action: PayloadAction) => { + [incrementAsync.pending]: ( + state: TodoSliceState, + action: PayloadAction + ) => { + // stuff + }, + [incrementAsync.rejected]: todoAdapter.removeAll, + [incrementAsync.fulfilled]( + state: TodoSliceState, + action: PayloadAction) { // stuff }, - [todoAdded1b]: someFunc, - todoAdded1c: adapter.someFunc, + todoAdded: todoAdapter.addOne, + + [todoAdded1a]: (state: TodoSliceState, action: PayloadAction) => { + // stuff + }, + [todoAdded1b]: (state: TodoSliceState, action: PayloadAction) => action.payload, + [todoAdded1c + 'test']: (state:TodoSliceState, action: PayloadAction) => { + // stuff + }, + [todoAdded1d](state: TodoSliceState, action: PayloadAction) { + // stuff + }, + [todoAdded1e]: function(state: TodoSliceState, action: PayloadAction) { + // stuff + }, + todoAdded1f: (state: TodoSliceState, action: PayloadAction) => { + //stuff + }, + [todoAdded1g]: addOne, + todoAdded1h: todoAdapter.addOne, } -}); +}) + +export const { deleteTodo } = todoSlice.actions -const slice2 = createSlice({ - name: "b", - initialState, +export interface CounterSliceState { + value: number + status: 'idle' | 'loading' | 'failed' +} + +const counterInitialState: CounterSliceState = { + value: 0, + status: 'idle' +} + +const counterSlice = createSlice({ + name: 'counter', + initialState: counterInitialState, extraReducers: { - [todoAdded](state: SliceState, action: PayloadAction) { + [deleteTodo](state: CounterSliceState, action: PayloadAction) { // stuff - }, + } } -}); +}) diff --git a/packages/rtk-codemods/transforms/createSliceBuilder/__testfixtures__/basic-ts.output.ts b/packages/rtk-codemods/transforms/createSliceBuilder/__testfixtures__/basic-ts.output.ts index 815db50bff..de45f86075 100644 --- a/packages/rtk-codemods/transforms/createSliceBuilder/__testfixtures__/basic-ts.output.ts +++ b/packages/rtk-codemods/transforms/createSliceBuilder/__testfixtures__/basic-ts.output.ts @@ -1,24 +1,116 @@ -const slice1 = createSlice({ - name: "a", - initialState, +import type { PayloadAction } from '@reduxjs/toolkit'; +import { + createAsyncThunk, + createEntityAdapter, + createSlice +} from '@reduxjs/toolkit'; + +export interface Todo { + id: string + title: string +} + +export const todoAdapter = createEntityAdapter() + +const todoInitialState = todoAdapter.getInitialState() + +export type TodoSliceState = typeof todoInitialState + +const fetchCount = (amount = 1) => { + return new Promise<{ data: number }>((resolve) => + setTimeout(() => resolve({ data: amount }), 500) + ) +} + +export const incrementAsync = createAsyncThunk( + 'counter/fetchCount', + async (amount: number) => { + const response = await fetchCount(amount) + return response.data + } +) + +const { addOne } = todoAdapter + +const todoSlice = createSlice({ + name: 'todo', + initialState: todoInitialState, + + reducers: { + deleteTodo: todoAdapter.removeOne + }, extraReducers: (builder) => { - builder.addCase(todoAdded1a, (state: SliceState, action: PayloadAction) => { + builder.addCase( + incrementAsync.pending, + (state: TodoSliceState, action: PayloadAction) => { + // stuff + } + ); + + builder.addCase(incrementAsync.rejected, todoAdapter.removeAll); + + builder.addCase( + incrementAsync.fulfilled, + (state: TodoSliceState, action: PayloadAction) => { + // stuff + } + ); + + builder.addCase(todoAdded, todoAdapter.addOne); + + builder.addCase(todoAdded1a, (state: TodoSliceState, action: PayloadAction) => { // stuff }); - builder.addCase(todoAdded1b, someFunc); - builder.addCase(todoAdded1c, adapter.someFunc); + builder.addCase( + todoAdded1b, + (state: TodoSliceState, action: PayloadAction) => action.payload + ); + + builder.addCase( + todoAdded1c + 'test', + (state:TodoSliceState, action: PayloadAction) => { + // stuff + } + ); + + builder.addCase(todoAdded1d, (state: TodoSliceState, action: PayloadAction) => { + // stuff + }); + + builder.addCase(todoAdded1e, (state: TodoSliceState, action: PayloadAction) => { + // stuff + }); + + builder.addCase(todoAdded1f, (state: TodoSliceState, action: PayloadAction) => { + //stuff + }); + + builder.addCase(todoAdded1g, addOne); + builder.addCase(todoAdded1h, todoAdapter.addOne); } -}); +}) + +export const { deleteTodo } = todoSlice.actions + +export interface CounterSliceState { + value: number + status: 'idle' | 'loading' | 'failed' +} + +const counterInitialState: CounterSliceState = { + value: 0, + status: 'idle' +} -const slice2 = createSlice({ - name: "b", - initialState, +const counterSlice = createSlice({ + name: 'counter', + initialState: counterInitialState, extraReducers: (builder) => { - builder.addCase(todoAdded, (state: SliceState, action: PayloadAction) => { + builder.addCase(deleteTodo, (state: CounterSliceState, action: PayloadAction) => { // stuff }); } -}); +}) diff --git a/packages/rtk-codemods/transforms/createSliceBuilder/__testfixtures__/basic.input.js b/packages/rtk-codemods/transforms/createSliceBuilder/__testfixtures__/basic.input.js index 23d29e537c..65a12ca914 100644 --- a/packages/rtk-codemods/transforms/createSliceBuilder/__testfixtures__/basic.input.js +++ b/packages/rtk-codemods/transforms/createSliceBuilder/__testfixtures__/basic.input.js @@ -1,41 +1,70 @@ -const slice1 = createSlice({ - name: "a", - initialState: {}, - extraReducers: { - [todoAdded1a]: (state, action) => { - // stuff - }, - [todoAdded1b]: (state, action) => action.payload, - [todoAdded1c + "test"]: (state, action) => { - // stuff - }, - [todoAdded1d](state, action) { - // stuff - }, - [todoAdded1e]: function(state, action) { - // stuff - }, - todoAdded1f: (state, action) => { - //stuff - }, - [todoAdded1g]: someFunc, - todoAdded1h: adapter.someFunc - } +import { createAsyncThunk, createEntityAdapter, createSlice } from '@reduxjs/toolkit'; + +export const todoAdapter = createEntityAdapter(); + +const todoInitialState = todoAdapter.getInitialState(); + +const fetchCount = (amount = 1) => { + return new Promise((resolve) => setTimeout(() => resolve({ data: amount }), 500)); +}; + +export const incrementAsync = createAsyncThunk('counter/fetchCount', async (amount) => { + const response = await fetchCount(amount); + return response.data; }); +const { addOne } = todoAdapter; -const slice2 = createSlice({ - name: "b", - initialState: {}, - extraReducers: { - [todoAdded2a]: (state, action) => { - // stuff +const todoSlice = createSlice({ + name: 'todo', + initialState: todoInitialState, + reducers: { + deleteTodo: todoAdapter.removeOne }, - [todoAdded2b](state, action) { - // stuff - }, - [todoAdded2c]: function(state, action) { - // stuff + extraReducers: { + [incrementAsync.pending]: (state, action) => { + // stuff + }, + [incrementAsync.rejected]: todoAdapter.removeAll, + [incrementAsync.fulfilled](state, action) { + // stuff + }, + todoAdded: todoAdapter.addOne, + + [todoAdded1a]: (state, action) => { + // stuff + }, + [todoAdded1b]: (state, action) => action.payload, + [todoAdded1c + 'test']: (state, action) => { + // stuff + }, + [todoAdded1d](state, action) { + // stuff + }, + [todoAdded1e]: function (state, action) { + // stuff + }, + todoAdded1f: (state, action) => { + //stuff + }, + [todoAdded1g]: addOne, + todoAdded1h: todoAdapter.addOne, + } +}); + +export const { deleteTodo } = todoSlice.actions; + +const counterInitialState = { + value: 0, + status: 'idle' +}; + +const counterSlice = createSlice({ + name: 'counter', + initialState: counterInitialState, + extraReducers: { + [deleteTodo](state, action) { + // stuff + } } - } -}); \ No newline at end of file +}); diff --git a/packages/rtk-codemods/transforms/createSliceBuilder/__testfixtures__/basic.output.js b/packages/rtk-codemods/transforms/createSliceBuilder/__testfixtures__/basic.output.js index 00aef88efa..f1adcf7169 100644 --- a/packages/rtk-codemods/transforms/createSliceBuilder/__testfixtures__/basic.output.js +++ b/packages/rtk-codemods/transforms/createSliceBuilder/__testfixtures__/basic.output.js @@ -1,51 +1,82 @@ -const slice1 = createSlice({ - name: "a", - initialState: {}, +import { createAsyncThunk, createEntityAdapter, createSlice } from '@reduxjs/toolkit'; - extraReducers: (builder) => { - builder.addCase(todoAdded1a, (state, action) => { - // stuff - }); +export const todoAdapter = createEntityAdapter(); - builder.addCase(todoAdded1b, (state, action) => action.payload); +const todoInitialState = todoAdapter.getInitialState(); - builder.addCase(todoAdded1c + "test", (state, action) => { - // stuff - }); +const fetchCount = (amount = 1) => { + return new Promise((resolve) => setTimeout(() => resolve({ data: amount }), 500)); +}; - builder.addCase(todoAdded1d, (state, action) => { - // stuff - }); +export const incrementAsync = createAsyncThunk('counter/fetchCount', async (amount) => { + const response = await fetchCount(amount); + return response.data; +}); - builder.addCase(todoAdded1e, (state, action) => { - // stuff - }); +const { addOne } = todoAdapter; - builder.addCase(todoAdded1f, (state, action) => { - //stuff - }); +const todoSlice = createSlice({ + name: 'todo', + initialState: todoInitialState, - builder.addCase(todoAdded1g, someFunc); - builder.addCase(todoAdded1h, adapter.someFunc); - } -}); + reducers: { + deleteTodo: todoAdapter.removeOne + }, + + extraReducers: (builder) => { + builder.addCase(incrementAsync.pending, (state, action) => { + // stuff + }); + + builder.addCase(incrementAsync.rejected, todoAdapter.removeAll); + + builder.addCase(incrementAsync.fulfilled, (state, action) => { + // stuff + }); + + builder.addCase(todoAdded, todoAdapter.addOne); + + builder.addCase(todoAdded1a, (state, action) => { + // stuff + }); + builder.addCase(todoAdded1b, (state, action) => action.payload); -const slice2 = createSlice({ - name: "b", - initialState: {}, + builder.addCase(todoAdded1c + 'test', (state, action) => { + // stuff + }); - extraReducers: (builder) => { - builder.addCase(todoAdded2a, (state, action) => { - // stuff - }); + builder.addCase(todoAdded1d, (state, action) => { + // stuff + }); - builder.addCase(todoAdded2b, (state, action) => { - // stuff - }); + builder.addCase(todoAdded1e, (state, action) => { + // stuff + }); - builder.addCase(todoAdded2c, (state, action) => { - // stuff - }); - } -}); \ No newline at end of file + builder.addCase(todoAdded1f, (state, action) => { + //stuff + }); + + builder.addCase(todoAdded1g, addOne); + builder.addCase(todoAdded1h, todoAdapter.addOne); + } +}); + +export const { deleteTodo } = todoSlice.actions; + +const counterInitialState = { + value: 0, + status: 'idle' +}; + +const counterSlice = createSlice({ + name: 'counter', + initialState: counterInitialState, + + extraReducers: (builder) => { + builder.addCase(deleteTodo, (state, action) => { + // stuff + }); + } +}); diff --git a/packages/rtk-codemods/transforms/createSliceBuilder/createSliceBuilder.test.ts b/packages/rtk-codemods/transforms/createSliceBuilder/createSliceBuilder.test.ts index 348bc3d4c9..c2164bffe5 100644 --- a/packages/rtk-codemods/transforms/createSliceBuilder/createSliceBuilder.test.ts +++ b/packages/rtk-codemods/transforms/createSliceBuilder/createSliceBuilder.test.ts @@ -1,6 +1,10 @@ -import path from 'path'; -import transform, { parser } from './index'; +import path from 'node:path' +import { runTransformTest } from '../../transformTestUtils' +import transform, { parser } from './index' -import { runTransformTest } from '../../transformTestUtils'; - -runTransformTest('createSliceBuilder', transform, parser, path.join(__dirname, '__testfixtures__')); +runTransformTest( + 'createSliceBuilder', + transform, + parser, + path.join(__dirname, '__testfixtures__') +) diff --git a/packages/rtk-codemods/transforms/createSliceBuilder/index.ts b/packages/rtk-codemods/transforms/createSliceBuilder/index.ts index 95d89337b8..80856876b5 100644 --- a/packages/rtk-codemods/transforms/createSliceBuilder/index.ts +++ b/packages/rtk-codemods/transforms/createSliceBuilder/index.ts @@ -1,119 +1,122 @@ -import { ExpressionKind, SpreadElementKind } from 'ast-types/gen/kinds'; -import { +import type { ExpressionKind, SpreadElementKind } from 'ast-types/gen/kinds' +import type { ExpressionStatement, JSCodeshift, ObjectExpression, - ObjectMethod, - ObjectProperty, - Transform, -} from 'jscodeshift'; - -type ObjectKey = ObjectMethod['key'] & ObjectProperty['key']; + Transform +} from 'jscodeshift' +import type { TestOptions } from 'jscodeshift/src/testUtils' function wrapInAddCaseExpression( j: JSCodeshift, addCaseArgs: (ExpressionKind | SpreadElementKind)[] ) { - const identifier = j.identifier('builder'); + const identifier = j.identifier('builder') return j.expressionStatement( - j.callExpression(j.memberExpression(identifier, j.identifier('addCase'), false), addCaseArgs) - ); + j.callExpression( + j.memberExpression(identifier, j.identifier('addCase'), false), + addCaseArgs + ) + ) } -export function reducerPropsToBuilderExpression(j: JSCodeshift, defNode: ObjectExpression) { - const caseExpressions: ExpressionStatement[] = []; - for (let property of defNode.properties) { - let addCaseArgs: (ExpressionKind | SpreadElementKind)[] = []; +export function reducerPropsToBuilderExpression( + j: JSCodeshift, + defNode: ObjectExpression +) { + const caseExpressions: ExpressionStatement[] = [] + for (const property of defNode.properties) { + let addCaseArgs: (ExpressionKind | SpreadElementKind)[] = [] switch (property.type) { case 'ObjectMethod': { - const { key, params, body } = property; + const { key, params, body } = property if (body) { - addCaseArgs = [key, j.arrowFunctionExpression(params, body)]; + addCaseArgs = [key, j.arrowFunctionExpression(params, body)] } - break; + break } - case 'ObjectProperty': { - const { key } = property; + case 'ObjectProperty': { + const { key } = property switch (property.value.type) { case 'ArrowFunctionExpression': case 'FunctionExpression': { - const { params, body } = property.value; + const { params, body } = property.value if (body) { - addCaseArgs = [key, j.arrowFunctionExpression(params, body)]; + addCaseArgs = [key, j.arrowFunctionExpression(params, body)] } - break; + break } case 'Identifier': case 'MemberExpression': { - const { value } = property; - addCaseArgs = [key, value]; - break; + const { value } = property + addCaseArgs = [key, value] + break } } } } if (!addCaseArgs.length) { - continue; + continue } - caseExpressions.push(wrapInAddCaseExpression(j, addCaseArgs)); + caseExpressions.push(wrapInAddCaseExpression(j, addCaseArgs)) } - return j.arrowFunctionExpression([j.identifier('builder')], j.blockStatement(caseExpressions)); + return j.arrowFunctionExpression( + [j.identifier('builder')], + j.blockStatement(caseExpressions) + ) } const transform: Transform = (file, api) => { - const j = api.jscodeshift; + const j = api.jscodeshift - return ( - j(file.source) - // @ts-ignore some expression mismatch - .find(j.CallExpression, { - callee: { name: 'createSlice' }, - // @ts-ignore some expression mismatch - arguments: { 0: { type: 'ObjectExpression' } }, - }) + return j(file.source) + .find(j.CallExpression, { + callee: { name: 'createSlice' }, + arguments: [{ type: 'ObjectExpression' }] + }) - .filter((path) => { - const createSliceArgsObject = path.node.arguments[0] as ObjectExpression; - return createSliceArgsObject.properties.some( - (p) => - p.type === 'ObjectProperty' && - p.key.type === 'Identifier' && - p.key.name === 'extraReducers' && - p.value.type === 'ObjectExpression' - ); - }) - .forEach((path) => { - const createSliceArgsObject = path.node.arguments[0] as ObjectExpression; - j(path).replaceWith( - j.callExpression(j.identifier('createSlice'), [ - j.objectExpression( - createSliceArgsObject.properties.map((p) => { - if ( - p.type === 'ObjectProperty' && - p.key.type === 'Identifier' && - p.key.name === 'extraReducers' && - p.value.type === 'ObjectExpression' - ) { - const expressionStatement = reducerPropsToBuilderExpression( - j, - p.value as ObjectExpression - ); - return j.objectProperty(p.key, expressionStatement); - } - return p; - }) - ), - ]) - ); - }) - .toSource({ - arrowParensAlways: true, - }) - ); -}; + .filter((path) => { + const createSliceArgsObject = path.node.arguments[0] as ObjectExpression + return createSliceArgsObject.properties.some( + (p) => + p.type === 'ObjectProperty' && + p.key.type === 'Identifier' && + p.key.name === 'extraReducers' && + p.value.type === 'ObjectExpression' + ) + }) + .forEach((path) => { + const createSliceArgsObject = path.node.arguments[0] as ObjectExpression + j(path).replaceWith( + j.callExpression(j.identifier('createSlice'), [ + j.objectExpression( + createSliceArgsObject.properties.map((p) => { + if ( + p.type === 'ObjectProperty' && + p.key.type === 'Identifier' && + p.key.name === 'extraReducers' && + p.value.type === 'ObjectExpression' + ) { + const expressionStatement = reducerPropsToBuilderExpression( + j, + p.value as ObjectExpression + ) + return j.objectProperty(p.key, expressionStatement) + } + return p + }) + ) + ]) + ) + }) + .toSource({ + arrowParensAlways: true, + lineTerminator: '\n' + }) +} -export const parser = 'tsx'; +export const parser = 'tsx' satisfies TestOptions['parser'] -export default transform; +export default transform diff --git a/packages/rtk-codemods/transforms/createSliceReducerBuilder/__testfixtures__/basic-ts.input.ts b/packages/rtk-codemods/transforms/createSliceReducerBuilder/__testfixtures__/basic-ts.input.ts index 80614bfb8c..cdc3430fe8 100644 --- a/packages/rtk-codemods/transforms/createSliceReducerBuilder/__testfixtures__/basic-ts.input.ts +++ b/packages/rtk-codemods/transforms/createSliceReducerBuilder/__testfixtures__/basic-ts.input.ts @@ -1,27 +1,43 @@ -const aSlice = createSlice({ - name: 'name', +import type { PayloadAction } from '@reduxjs/toolkit' +import { createEntityAdapter, createSlice, nanoid } from '@reduxjs/toolkit' + +function withPayload(): any { + throw new Error('Function not implemented.') +} + +export interface Todo { + id: string + title: string +} + +export const todoAdapter = createEntityAdapter() + +const todoSlice = createSlice({ + name: 'todo', initialState: todoAdapter.getInitialState(), reducers: { property: () => {}, method(state, action: PayloadAction) { - todoAdapter.addOne(state, action); + todoAdapter.addOne(state, action) }, identifier: todoAdapter.removeOne, preparedProperty: { - prepare: (todo: Todo) => ({ payload: { id: nanoid(), ...todo } }), + prepare: (todo: Omit) => ({ + payload: { id: nanoid(), ...todo } + }), reducer: () => {} }, preparedMethod: { - prepare(todo: Todo) { + prepare(todo: Omit) { return { payload: { id: nanoid(), ...todo } } }, reducer(state, action: PayloadAction) { - todoAdapter.addOne(state, action); + todoAdapter.addOne(state, action) } }, preparedIdentifier: { prepare: withPayload(), reducer: todoAdapter.setMany - }, + } } }) \ No newline at end of file diff --git a/packages/rtk-codemods/transforms/createSliceReducerBuilder/__testfixtures__/basic-ts.output.ts b/packages/rtk-codemods/transforms/createSliceReducerBuilder/__testfixtures__/basic-ts.output.ts index b84f139846..47bcf1d400 100644 --- a/packages/rtk-codemods/transforms/createSliceReducerBuilder/__testfixtures__/basic-ts.output.ts +++ b/packages/rtk-codemods/transforms/createSliceReducerBuilder/__testfixtures__/basic-ts.output.ts @@ -1,21 +1,38 @@ -const aSlice = createSlice({ - name: 'name', +import type { PayloadAction } from '@reduxjs/toolkit' +import { createEntityAdapter, createSlice, nanoid } from '@reduxjs/toolkit' + +function withPayload(): any { + throw new Error('Function not implemented.') +} + +export interface Todo { + id: string + title: string +} + +export const todoAdapter = createEntityAdapter() + +const todoSlice = createSlice({ + name: 'todo', initialState: todoAdapter.getInitialState(), reducers: (create) => ({ property: create.reducer(() => {}), method: create.reducer((state, action: PayloadAction) => { - todoAdapter.addOne(state, action); + todoAdapter.addOne(state, action) }), identifier: create.reducer(todoAdapter.removeOne), - preparedProperty: create.preparedReducer((todo: Todo) => ({ payload: { id: nanoid(), ...todo } }), () => {}), - preparedMethod: create.preparedReducer((todo: Todo) => { + preparedProperty: create.preparedReducer((todo: Omit) => ({ + payload: { id: nanoid(), ...todo } + }), () => {}), + + preparedMethod: create.preparedReducer((todo: Omit) => { return { payload: { id: nanoid(), ...todo } } }, (state, action: PayloadAction) => { - todoAdapter.addOne(state, action); + todoAdapter.addOne(state, action) }), preparedIdentifier: create.preparedReducer(withPayload(), todoAdapter.setMany) diff --git a/packages/rtk-codemods/transforms/createSliceReducerBuilder/__testfixtures__/basic.input.js b/packages/rtk-codemods/transforms/createSliceReducerBuilder/__testfixtures__/basic.input.js index 2319c0e9f3..4ea917d5b3 100644 --- a/packages/rtk-codemods/transforms/createSliceReducerBuilder/__testfixtures__/basic.input.js +++ b/packages/rtk-codemods/transforms/createSliceReducerBuilder/__testfixtures__/basic.input.js @@ -1,27 +1,37 @@ -const aSlice = createSlice({ - name: 'name', - initialState: todoAdapter.getInitialState(), - reducers: { - property: () => {}, - method(state, action) { - todoAdapter.setMany(state, action); - }, - identifier: todoAdapter.removeOne, - preparedProperty: { - prepare: (todo) => ({ payload: { id: nanoid(), ...todo } }), - reducer: () => {} - }, - preparedMethod: { - prepare(todo) { - return { payload: { id: nanoid(), ...todo } } - }, - reducer(state, action) { - todoAdapter.setMany(state, action); - } - }, - preparedIdentifier: { - prepare: withPayload(), - reducer: todoAdapter.setMany - }, - } -}) \ No newline at end of file +import { createEntityAdapter, createSlice, nanoid } from '@reduxjs/toolkit' + +function withPayload() { + throw new Error('Function not implemented.') +} + +export const todoAdapter = createEntityAdapter() + +const todoSlice = createSlice({ + name: 'todo', + initialState: todoAdapter.getInitialState(), + reducers: { + property: () => { }, + method(state, action) { + todoAdapter.addOne(state, action) + }, + identifier: todoAdapter.removeOne, + preparedProperty: { + prepare: (todo) => ({ + payload: { id: nanoid(), ...todo } + }), + reducer: () => { } + }, + preparedMethod: { + prepare(todo) { + return { payload: { id: nanoid(), ...todo } } + }, + reducer(state, action) { + todoAdapter.addOne(state, action) + } + }, + preparedIdentifier: { + prepare: withPayload(), + reducer: todoAdapter.setMany + } + } +}) diff --git a/packages/rtk-codemods/transforms/createSliceReducerBuilder/__testfixtures__/basic.output.js b/packages/rtk-codemods/transforms/createSliceReducerBuilder/__testfixtures__/basic.output.js index 24d6672386..3c527b7e21 100644 --- a/packages/rtk-codemods/transforms/createSliceReducerBuilder/__testfixtures__/basic.output.js +++ b/packages/rtk-codemods/transforms/createSliceReducerBuilder/__testfixtures__/basic.output.js @@ -1,23 +1,34 @@ -const aSlice = createSlice({ - name: 'name', - initialState: todoAdapter.getInitialState(), +import { createEntityAdapter, createSlice, nanoid } from '@reduxjs/toolkit' - reducers: (create) => ({ - property: create.reducer(() => {}), +function withPayload() { + throw new Error('Function not implemented.') +} - method: create.reducer((state, action) => { - todoAdapter.setMany(state, action); - }), +export const todoAdapter = createEntityAdapter() - identifier: create.reducer(todoAdapter.removeOne), - preparedProperty: create.preparedReducer((todo) => ({ payload: { id: nanoid(), ...todo } }), () => {}), +const todoSlice = createSlice({ + name: 'todo', + initialState: todoAdapter.getInitialState(), - preparedMethod: create.preparedReducer((todo) => { - return { payload: { id: nanoid(), ...todo } } - }, (state, action) => { - todoAdapter.setMany(state, action); - }), + reducers: (create) => ({ + property: create.reducer(() => { }), - preparedIdentifier: create.preparedReducer(withPayload(), todoAdapter.setMany) - }) -}) \ No newline at end of file + method: create.reducer((state, action) => { + todoAdapter.addOne(state, action) + }), + + identifier: create.reducer(todoAdapter.removeOne), + + preparedProperty: create.preparedReducer((todo) => ({ + payload: { id: nanoid(), ...todo } + }), () => { }), + + preparedMethod: create.preparedReducer((todo) => { + return { payload: { id: nanoid(), ...todo } } + }, (state, action) => { + todoAdapter.addOne(state, action) + }), + + preparedIdentifier: create.preparedReducer(withPayload(), todoAdapter.setMany) + }) +}) diff --git a/packages/rtk-codemods/transforms/createSliceReducerBuilder/createSliceReducerBuilder.test.ts b/packages/rtk-codemods/transforms/createSliceReducerBuilder/createSliceReducerBuilder.test.ts index b283f1d97c..2b905aa0cc 100644 --- a/packages/rtk-codemods/transforms/createSliceReducerBuilder/createSliceReducerBuilder.test.ts +++ b/packages/rtk-codemods/transforms/createSliceReducerBuilder/createSliceReducerBuilder.test.ts @@ -1,11 +1,10 @@ -import path from 'path'; -import transform, { parser } from './index'; - -import { runTransformTest } from '../../transformTestUtils'; +import path from 'node:path' +import { runTransformTest } from '../../transformTestUtils' +import transform, { parser } from './index' runTransformTest( 'createSliceReducerBuilder', transform, parser, path.join(__dirname, '__testfixtures__') -); +) diff --git a/packages/rtk-codemods/transforms/createSliceReducerBuilder/index.ts b/packages/rtk-codemods/transforms/createSliceReducerBuilder/index.ts index 549a50e3da..e168b08eee 100644 --- a/packages/rtk-codemods/transforms/createSliceReducerBuilder/index.ts +++ b/packages/rtk-codemods/transforms/createSliceReducerBuilder/index.ts @@ -1,67 +1,70 @@ -/* eslint-disable node/no-extraneous-import */ -/* eslint-disable node/no-unsupported-features/es-syntax */ -import type { ExpressionKind, SpreadElementKind } from 'ast-types/gen/kinds'; +import type { ExpressionKind } from 'ast-types/gen/kinds' import type { - CallExpression, JSCodeshift, ObjectExpression, ObjectProperty, - Transform, -} from 'jscodeshift'; + Transform +} from 'jscodeshift' +import type { TestOptions } from 'jscodeshift/src/testUtils' -function creatorCall(j: JSCodeshift, type: 'reducer', reducer: ExpressionKind): CallExpression; -// eslint-disable-next-line no-redeclare -function creatorCall( - j: JSCodeshift, - type: 'preparedReducer', - prepare: ExpressionKind, - reducer: ExpressionKind -): CallExpression; -// eslint-disable-next-line no-redeclare -function creatorCall( - j: JSCodeshift, - type: 'reducer' | 'preparedReducer', - ...rest: Array -) { - return j.callExpression(j.memberExpression(j.identifier('create'), j.identifier(type)), rest); +type CreatorCallRestArguments = + | [type: 'reducer', reducer: ExpressionKind] + | [type: 'preparedReducer', prepare: ExpressionKind, reducer: ExpressionKind] + +function creatorCall(j: JSCodeshift, ...rest: CreatorCallRestArguments) { + const [type, ...restArgs] = rest + + return j.callExpression( + j.memberExpression(j.identifier('create'), j.identifier(type)), + restArgs + ) } -export function reducerPropsToBuilderExpression(j: JSCodeshift, defNode: ObjectExpression) { - const returnedObject = j.objectExpression([]); - for (let property of defNode.properties) { - let finalProp: ObjectProperty | undefined; +export function reducerPropsToBuilderExpression( + j: JSCodeshift, + defNode: ObjectExpression +) { + const returnedObject = j.objectExpression([]) + for (const property of defNode.properties) { + let finalProp: ObjectProperty | undefined switch (property.type) { case 'ObjectMethod': { - const { key, params, body } = property; + const { key, params, body } = property finalProp = j.objectProperty( key, creatorCall(j, 'reducer', j.arrowFunctionExpression(params, body)) - ); - break; + ) + break } case 'ObjectProperty': { - const { key } = property; + const { key } = property switch (property.value.type) { case 'ObjectExpression': { - let preparedReducerParams: { prepare?: ExpressionKind; reducer?: ExpressionKind } = {}; + const preparedReducerParams: { + prepare?: ExpressionKind + reducer?: ExpressionKind + } = {} for (const objProp of property.value.properties) { switch (objProp.type) { case 'ObjectMethod': { - const { key, params, body } = objProp; + const { key, params, body } = objProp if ( key.type === 'Identifier' && (key.name === 'reducer' || key.name === 'prepare') ) { - preparedReducerParams[key.name] = j.arrowFunctionExpression(params, body); + preparedReducerParams[key.name] = j.arrowFunctionExpression( + params, + body + ) } - break; + break } case 'ObjectProperty': { - const { key, value } = objProp; + const { key, value } = objProp - let finalExpression: ExpressionKind | undefined = undefined; + let finalExpression: ExpressionKind | undefined = undefined switch (value.type) { case 'ArrowFunctionExpression': @@ -69,7 +72,7 @@ export function reducerPropsToBuilderExpression(j: JSCodeshift, defNode: ObjectE case 'Identifier': case 'MemberExpression': case 'CallExpression': { - finalExpression = value; + finalExpression = value } } @@ -78,14 +81,17 @@ export function reducerPropsToBuilderExpression(j: JSCodeshift, defNode: ObjectE (key.name === 'reducer' || key.name === 'prepare') && finalExpression ) { - preparedReducerParams[key.name] = finalExpression; + preparedReducerParams[key.name] = finalExpression } - break; + break } } } - if (preparedReducerParams.prepare && preparedReducerParams.reducer) { + if ( + preparedReducerParams.prepare && + preparedReducerParams.reducer + ) { finalProp = j.objectProperty( key, creatorCall( @@ -94,86 +100,90 @@ export function reducerPropsToBuilderExpression(j: JSCodeshift, defNode: ObjectE preparedReducerParams.prepare, preparedReducerParams.reducer ) - ); + ) } else if (preparedReducerParams.reducer) { finalProp = j.objectProperty( key, creatorCall(j, 'reducer', preparedReducerParams.reducer) - ); + ) } - break; + break } case 'ArrowFunctionExpression': case 'FunctionExpression': case 'Identifier': case 'MemberExpression': case 'CallExpression': { - const { value } = property; - finalProp = j.objectProperty(key, creatorCall(j, 'reducer', value)); - break; + const { value } = property + finalProp = j.objectProperty(key, creatorCall(j, 'reducer', value)) + break } } - break; + break } } if (!finalProp) { - continue; + continue } - returnedObject.properties.push(finalProp); + returnedObject.properties.push(finalProp) } - return j.arrowFunctionExpression([j.identifier('create')], returnedObject, true); + return j.arrowFunctionExpression( + [j.identifier('create')], + returnedObject, + true + ) } const transform: Transform = (file, api) => { - const j = api.jscodeshift; - - return ( - j(file.source) - // @ts-ignore some expression mismatch - .find(j.CallExpression, { - callee: { name: 'createSlice' }, - // @ts-ignore some expression mismatch - arguments: { 0: { type: 'ObjectExpression' } }, - }) - - .filter((path) => { - const createSliceArgsObject = path.node.arguments[0] as ObjectExpression; - return createSliceArgsObject.properties.some( - (p) => - p.type === 'ObjectProperty' && - p.key.type === 'Identifier' && - p.key.name === 'reducers' && - p.value.type === 'ObjectExpression' - ); - }) - .forEach((path) => { - const createSliceArgsObject = path.node.arguments[0] as ObjectExpression; - j(path).replaceWith( - j.callExpression(j.identifier('createSlice'), [ - j.objectExpression( - createSliceArgsObject.properties.map((p) => { - if ( - p.type === 'ObjectProperty' && - p.key.type === 'Identifier' && - p.key.name === 'reducers' && - p.value.type === 'ObjectExpression' - ) { - const expressionStatement = reducerPropsToBuilderExpression(j, p.value); - return j.objectProperty(p.key, expressionStatement); - } - return p; - }) - ), - ]) - ); - }) - .toSource({ - arrowParensAlways: true, - }) - ); -}; - -export const parser = 'tsx'; - -export default transform; + const j = api.jscodeshift + + return j(file.source) + .find(j.CallExpression, { + callee: { name: 'createSlice' }, + arguments: [{ type: 'ObjectExpression' }] + }) + + .filter((path) => { + const createSliceArgsObject = path.node.arguments[0] as ObjectExpression + return createSliceArgsObject.properties.some( + (p) => + p.type === 'ObjectProperty' && + p.key.type === 'Identifier' && + p.key.name === 'reducers' && + p.value.type === 'ObjectExpression' + ) + }) + .forEach((path) => { + const createSliceArgsObject = path.node.arguments[0] as ObjectExpression + j(path).replaceWith( + j.callExpression(j.identifier('createSlice'), [ + j.objectExpression( + createSliceArgsObject.properties.map((p) => { + if ( + p.type === 'ObjectProperty' && + p.key.type === 'Identifier' && + p.key.name === 'reducers' && + p.value.type === 'ObjectExpression' + ) { + const expressionStatement = reducerPropsToBuilderExpression( + j, + p.value + ) + return j.objectProperty(p.key, expressionStatement) + } + return p + }) + ) + ]) + ) + }) + .toSource({ + arrowParensAlways: true, + lineTerminator: '\n' + }) +} + +export const parser = 'tsx' satisfies TestOptions['parser'] + +export default transform diff --git a/packages/rtk-codemods/transforms/createSliceReducerBuilder/test.js b/packages/rtk-codemods/transforms/createSliceReducerBuilder/test.js deleted file mode 100644 index 5e34770a22..0000000000 --- a/packages/rtk-codemods/transforms/createSliceReducerBuilder/test.js +++ /dev/null @@ -1,9 +0,0 @@ -'use strict'; - -const { runTransformTest } = require('codemod-cli'); - -runTransformTest({ - name: 'createSliceReducerBuilder', - path: require.resolve('./index.ts'), - fixtureDir: `${__dirname}/__testfixtures__/`, -}); diff --git a/packages/rtk-codemods/tsconfig.json b/packages/rtk-codemods/tsconfig.json new file mode 100644 index 0000000000..56c373cc6c --- /dev/null +++ b/packages/rtk-codemods/tsconfig.json @@ -0,0 +1,28 @@ +{ + "compilerOptions": { + "allowSyntheticDefaultImports": true, + "noUnusedLocals": false, + "noUnusedParameters": false, + "isolatedModules": true, + "checkJs": true, + "baseUrl": ".", + "noEmit": true, + "strict": true, + "target": "ESNext", + "module": "ESNext", + "moduleResolution": "Node", + "esModuleInterop": true, + "skipLibCheck": true, + "allowJs": true, + "jsx": "preserve", + "noErrorTruncation": true, + "forceConsistentCasingInFileNames": true, + "paths": { + "@reduxjs/toolkit": ["../toolkit/src/index.ts"], // @remap-prod-remove-line + "@reduxjs/toolkit/query": ["../toolkit/src/query/index.ts"], // @remap-prod-remove-line + "@reduxjs/toolkit/react": ["../toolkit/src/react/index.ts"], // @remap-prod-remove-line + "@reduxjs/toolkit/query/react": ["../toolkit/src/query/react/index.ts"] // @remap-prod-remove-line + } + }, + "include": ["**/*.ts", "**/*.tsx", "bin/cli.js"] +} diff --git a/packages/rtk-codemods/vitest.config.mts b/packages/rtk-codemods/vitest.config.mts new file mode 100644 index 0000000000..556ad64883 --- /dev/null +++ b/packages/rtk-codemods/vitest.config.mts @@ -0,0 +1,7 @@ +import { defineConfig } from 'vitest/config' + +export default defineConfig({ + test: { + globals: true + } +}) diff --git a/packages/rtk-codemods/vitest.config.ts b/packages/rtk-codemods/vitest.config.ts deleted file mode 100644 index b744c56463..0000000000 --- a/packages/rtk-codemods/vitest.config.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { defineConfig } from 'vitest/config'; - -export default defineConfig({ - test: { - globals: true, - setupFiles: [], - include: ['./transforms/**/*.(spec|test).[jt]s?(x)'], - alias: {}, - deps: { - interopDefault: true, - }, - }, -}); diff --git a/yarn.lock b/yarn.lock index 4ff0bafefc..a16121b947 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5,6 +5,13 @@ __metadata: version: 6 cacheKey: 8 +"@aashutoshrathi/word-wrap@npm:^1.2.3": + version: 1.2.6 + resolution: "@aashutoshrathi/word-wrap@npm:1.2.6" + checksum: ada901b9e7c680d190f1d012c84217ce0063d8f5c5a7725bb91ec3c5ed99bb7572680eb2d2938a531ccbaec39a95422fcd8a6b4a13110c7d98dd75402f66a0cd + languageName: node + linkType: hard + "@algolia/autocomplete-core@npm:1.7.1": version: 1.7.1 resolution: "@algolia/autocomplete-core@npm:1.7.1" @@ -367,6 +374,15 @@ __metadata: languageName: node linkType: hard +"@babel/helper-annotate-as-pure@npm:^7.22.5": + version: 7.22.5 + resolution: "@babel/helper-annotate-as-pure@npm:7.22.5" + dependencies: + "@babel/types": ^7.22.5 + checksum: 53da330f1835c46f26b7bf4da31f7a496dee9fd8696cca12366b94ba19d97421ce519a74a837f687749318f94d1a37f8d1abcbf35e8ed22c32d16373b2f6198d + languageName: node + linkType: hard + "@babel/helper-builder-binary-assignment-operator-visitor@npm:^7.16.7": version: 7.16.7 resolution: "@babel/helper-builder-binary-assignment-operator-visitor@npm:7.16.7" @@ -418,6 +434,25 @@ __metadata: languageName: node linkType: hard +"@babel/helper-create-class-features-plugin@npm:^7.22.15, @babel/helper-create-class-features-plugin@npm:^7.23.6": + version: 7.23.7 + resolution: "@babel/helper-create-class-features-plugin@npm:7.23.7" + dependencies: + "@babel/helper-annotate-as-pure": ^7.22.5 + "@babel/helper-environment-visitor": ^7.22.20 + "@babel/helper-function-name": ^7.23.0 + "@babel/helper-member-expression-to-functions": ^7.23.0 + "@babel/helper-optimise-call-expression": ^7.22.5 + "@babel/helper-replace-supers": ^7.22.20 + "@babel/helper-skip-transparent-expression-wrappers": ^7.22.5 + "@babel/helper-split-export-declaration": ^7.22.6 + semver: ^6.3.1 + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 33e60714b856c3816a7965d4c76278cc8f430644a2dfc4eeafad2f7167c4fbd2becdb74cbfeb04b02efd6bbd07176ef53c6683262b588e65d378438e9c55c26b + languageName: node + linkType: hard + "@babel/helper-create-regexp-features-plugin@npm:^7.16.7, @babel/helper-create-regexp-features-plugin@npm:^7.17.12": version: 7.17.12 resolution: "@babel/helper-create-regexp-features-plugin@npm:7.17.12" @@ -483,6 +518,13 @@ __metadata: languageName: node linkType: hard +"@babel/helper-environment-visitor@npm:^7.22.20": + version: 7.22.20 + resolution: "@babel/helper-environment-visitor@npm:7.22.20" + checksum: d80ee98ff66f41e233f36ca1921774c37e88a803b2f7dca3db7c057a5fea0473804db9fb6729e5dbfd07f4bed722d60f7852035c2c739382e84c335661590b69 + languageName: node + linkType: hard + "@babel/helper-explode-assignable-expression@npm:^7.16.7": version: 7.16.7 resolution: "@babel/helper-explode-assignable-expression@npm:7.16.7" @@ -511,6 +553,16 @@ __metadata: languageName: node linkType: hard +"@babel/helper-function-name@npm:^7.23.0": + version: 7.23.0 + resolution: "@babel/helper-function-name@npm:7.23.0" + dependencies: + "@babel/template": ^7.22.15 + "@babel/types": ^7.23.0 + checksum: e44542257b2d4634a1f979244eb2a4ad8e6d75eb6761b4cfceb56b562f7db150d134bc538c8e6adca3783e3bc31be949071527aa8e3aab7867d1ad2d84a26e10 + languageName: node + linkType: hard + "@babel/helper-hoist-variables@npm:^7.16.7, @babel/helper-hoist-variables@npm:^7.18.6": version: 7.18.6 resolution: "@babel/helper-hoist-variables@npm:7.18.6" @@ -529,6 +581,15 @@ __metadata: languageName: node linkType: hard +"@babel/helper-member-expression-to-functions@npm:^7.22.15, @babel/helper-member-expression-to-functions@npm:^7.23.0": + version: 7.23.0 + resolution: "@babel/helper-member-expression-to-functions@npm:7.23.0" + dependencies: + "@babel/types": ^7.23.0 + checksum: 494659361370c979ada711ca685e2efe9460683c36db1b283b446122596602c901e291e09f2f980ecedfe6e0f2bd5386cb59768285446530df10c14df1024e75 + languageName: node + linkType: hard + "@babel/helper-module-imports@npm:^7.10.4, @babel/helper-module-imports@npm:^7.12.13, @babel/helper-module-imports@npm:^7.16.7, @babel/helper-module-imports@npm:^7.18.6": version: 7.18.6 resolution: "@babel/helper-module-imports@npm:7.18.6" @@ -538,6 +599,15 @@ __metadata: languageName: node linkType: hard +"@babel/helper-module-imports@npm:^7.22.15": + version: 7.22.15 + resolution: "@babel/helper-module-imports@npm:7.22.15" + dependencies: + "@babel/types": ^7.22.15 + checksum: ecd7e457df0a46f889228f943ef9b4a47d485d82e030676767e6a2fdcbdaa63594d8124d4b55fd160b41c201025aec01fc27580352b1c87a37c9c6f33d116702 + languageName: node + linkType: hard + "@babel/helper-module-transforms@npm:^7.18.0, @babel/helper-module-transforms@npm:^7.18.6, @babel/helper-module-transforms@npm:^7.19.0": version: 7.19.0 resolution: "@babel/helper-module-transforms@npm:7.19.0" @@ -554,6 +624,21 @@ __metadata: languageName: node linkType: hard +"@babel/helper-module-transforms@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/helper-module-transforms@npm:7.23.3" + dependencies: + "@babel/helper-environment-visitor": ^7.22.20 + "@babel/helper-module-imports": ^7.22.15 + "@babel/helper-simple-access": ^7.22.5 + "@babel/helper-split-export-declaration": ^7.22.6 + "@babel/helper-validator-identifier": ^7.22.20 + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 5d0895cfba0e16ae16f3aa92fee108517023ad89a855289c4eb1d46f7aef4519adf8e6f971e1d55ac20c5461610e17213f1144097a8f932e768a9132e2278d71 + languageName: node + linkType: hard + "@babel/helper-optimise-call-expression@npm:^7.16.7, @babel/helper-optimise-call-expression@npm:^7.18.6": version: 7.18.6 resolution: "@babel/helper-optimise-call-expression@npm:7.18.6" @@ -563,6 +648,15 @@ __metadata: languageName: node linkType: hard +"@babel/helper-optimise-call-expression@npm:^7.22.5": + version: 7.22.5 + resolution: "@babel/helper-optimise-call-expression@npm:7.22.5" + dependencies: + "@babel/types": ^7.22.5 + checksum: c70ef6cc6b6ed32eeeec4482127e8be5451d0e5282d5495d5d569d39eb04d7f1d66ec99b327f45d1d5842a9ad8c22d48567e93fc502003a47de78d122e355f7c + languageName: node + linkType: hard + "@babel/helper-plugin-utils@npm:7.10.4": version: 7.10.4 resolution: "@babel/helper-plugin-utils@npm:7.10.4" @@ -584,6 +678,13 @@ __metadata: languageName: node linkType: hard +"@babel/helper-plugin-utils@npm:^7.22.5": + version: 7.22.5 + resolution: "@babel/helper-plugin-utils@npm:7.22.5" + checksum: c0fc7227076b6041acd2f0e818145d2e8c41968cc52fb5ca70eed48e21b8fe6dd88a0a91cbddf4951e33647336eb5ae184747ca706817ca3bef5e9e905151ff5 + languageName: node + linkType: hard + "@babel/helper-remap-async-to-generator@npm:^7.16.8": version: 7.16.8 resolution: "@babel/helper-remap-async-to-generator@npm:7.16.8" @@ -635,6 +736,19 @@ __metadata: languageName: node linkType: hard +"@babel/helper-replace-supers@npm:^7.22.20": + version: 7.22.20 + resolution: "@babel/helper-replace-supers@npm:7.22.20" + dependencies: + "@babel/helper-environment-visitor": ^7.22.20 + "@babel/helper-member-expression-to-functions": ^7.22.15 + "@babel/helper-optimise-call-expression": ^7.22.5 + peerDependencies: + "@babel/core": ^7.0.0 + checksum: a0008332e24daedea2e9498733e3c39b389d6d4512637e000f96f62b797e702ee24a407ccbcd7a236a551590a38f31282829a8ef35c50a3c0457d88218cae639 + languageName: node + linkType: hard + "@babel/helper-simple-access@npm:^7.18.6": version: 7.18.6 resolution: "@babel/helper-simple-access@npm:7.18.6" @@ -644,6 +758,15 @@ __metadata: languageName: node linkType: hard +"@babel/helper-simple-access@npm:^7.22.5": + version: 7.22.5 + resolution: "@babel/helper-simple-access@npm:7.22.5" + dependencies: + "@babel/types": ^7.22.5 + checksum: fe9686714caf7d70aedb46c3cce090f8b915b206e09225f1e4dbc416786c2fdbbee40b38b23c268b7ccef749dd2db35f255338fb4f2444429874d900dede5ad2 + languageName: node + linkType: hard + "@babel/helper-skip-transparent-expression-wrappers@npm:^7.16.0, @babel/helper-skip-transparent-expression-wrappers@npm:^7.18.9": version: 7.18.9 resolution: "@babel/helper-skip-transparent-expression-wrappers@npm:7.18.9" @@ -653,6 +776,15 @@ __metadata: languageName: node linkType: hard +"@babel/helper-skip-transparent-expression-wrappers@npm:^7.22.5": + version: 7.22.5 + resolution: "@babel/helper-skip-transparent-expression-wrappers@npm:7.22.5" + dependencies: + "@babel/types": ^7.22.5 + checksum: 1012ef2295eb12dc073f2b9edf3425661e9b8432a3387e62a8bc27c42963f1f216ab3124228015c748770b2257b4f1fda882ca8fa34c0bf485e929ae5bc45244 + languageName: node + linkType: hard + "@babel/helper-split-export-declaration@npm:^7.16.7, @babel/helper-split-export-declaration@npm:^7.18.6": version: 7.18.6 resolution: "@babel/helper-split-export-declaration@npm:7.18.6" @@ -662,6 +794,15 @@ __metadata: languageName: node linkType: hard +"@babel/helper-split-export-declaration@npm:^7.22.6": + version: 7.22.6 + resolution: "@babel/helper-split-export-declaration@npm:7.22.6" + dependencies: + "@babel/types": ^7.22.5 + checksum: e141cace583b19d9195f9c2b8e17a3ae913b7ee9b8120246d0f9ca349ca6f03cb2c001fd5ec57488c544347c0bb584afec66c936511e447fd20a360e591ac921 + languageName: node + linkType: hard + "@babel/helper-string-parser@npm:^7.18.10": version: 7.18.10 resolution: "@babel/helper-string-parser@npm:7.18.10" @@ -676,6 +817,13 @@ __metadata: languageName: node linkType: hard +"@babel/helper-validator-identifier@npm:^7.22.20": + version: 7.22.20 + resolution: "@babel/helper-validator-identifier@npm:7.22.20" + checksum: 136412784d9428266bcdd4d91c32bcf9ff0e8d25534a9d94b044f77fe76bc50f941a90319b05aafd1ec04f7d127cd57a179a3716009ff7f3412ef835ada95bdc + languageName: node + linkType: hard + "@babel/helper-validator-option@npm:^7.16.7, @babel/helper-validator-option@npm:^7.18.6": version: 7.18.6 resolution: "@babel/helper-validator-option@npm:7.18.6" @@ -683,6 +831,13 @@ __metadata: languageName: node linkType: hard +"@babel/helper-validator-option@npm:^7.22.15": + version: 7.23.5 + resolution: "@babel/helper-validator-option@npm:7.23.5" + checksum: 537cde2330a8aede223552510e8a13e9c1c8798afee3757995a7d4acae564124fe2bf7e7c3d90d62d3657434a74340a274b3b3b1c6f17e9a2be1f48af29cb09e + languageName: node + linkType: hard + "@babel/helper-wrap-function@npm:^7.16.8": version: 7.16.8 resolution: "@babel/helper-wrap-function@npm:7.16.8" @@ -738,7 +893,7 @@ __metadata: languageName: node linkType: hard -"@babel/parser@npm:^7.0.0, @babel/parser@npm:^7.1.0, @babel/parser@npm:^7.13.16, @babel/parser@npm:^7.14.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.18.10, @babel/parser@npm:^7.18.8, @babel/parser@npm:^7.19.3, @babel/parser@npm:^7.3.3": +"@babel/parser@npm:^7.0.0, @babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.18.10, @babel/parser@npm:^7.18.8, @babel/parser@npm:^7.19.3, @babel/parser@npm:^7.3.3": version: 7.19.4 resolution: "@babel/parser@npm:7.19.4" bin: @@ -747,6 +902,15 @@ __metadata: languageName: node linkType: hard +"@babel/parser@npm:^7.22.15, @babel/parser@npm:^7.23.0": + version: 7.23.6 + resolution: "@babel/parser@npm:7.23.6" + bin: + parser: ./bin/babel-parser.js + checksum: 140801c43731a6c41fd193f5c02bc71fd647a0360ca616b23d2db8be4b9739b9f951a03fc7c2db4f9b9214f4b27c1074db0f18bc3fa653783082d5af7c8860d5 + languageName: node + linkType: hard + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:^7.17.12": version: 7.17.12 resolution: "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:7.17.12" @@ -834,7 +998,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-proposal-class-properties@npm:^7.0.0, @babel/plugin-proposal-class-properties@npm:^7.13.0, @babel/plugin-proposal-class-properties@npm:^7.16.0, @babel/plugin-proposal-class-properties@npm:^7.17.12, @babel/plugin-proposal-class-properties@npm:^7.18.6": +"@babel/plugin-proposal-class-properties@npm:^7.0.0, @babel/plugin-proposal-class-properties@npm:^7.16.0, @babel/plugin-proposal-class-properties@npm:^7.17.12, @babel/plugin-proposal-class-properties@npm:^7.18.6": version: 7.18.6 resolution: "@babel/plugin-proposal-class-properties@npm:7.18.6" dependencies: @@ -984,7 +1148,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-proposal-nullish-coalescing-operator@npm:^7.13.8, @babel/plugin-proposal-nullish-coalescing-operator@npm:^7.16.0, @babel/plugin-proposal-nullish-coalescing-operator@npm:^7.17.12, @babel/plugin-proposal-nullish-coalescing-operator@npm:^7.18.6": +"@babel/plugin-proposal-nullish-coalescing-operator@npm:^7.16.0, @babel/plugin-proposal-nullish-coalescing-operator@npm:^7.17.12, @babel/plugin-proposal-nullish-coalescing-operator@npm:^7.18.6": version: 7.18.6 resolution: "@babel/plugin-proposal-nullish-coalescing-operator@npm:7.18.6" dependencies: @@ -1087,7 +1251,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-proposal-optional-chaining@npm:^7.13.12, @babel/plugin-proposal-optional-chaining@npm:^7.16.0, @babel/plugin-proposal-optional-chaining@npm:^7.17.12, @babel/plugin-proposal-optional-chaining@npm:^7.18.9": +"@babel/plugin-proposal-optional-chaining@npm:^7.16.0, @babel/plugin-proposal-optional-chaining@npm:^7.17.12, @babel/plugin-proposal-optional-chaining@npm:^7.18.9": version: 7.18.9 resolution: "@babel/plugin-proposal-optional-chaining@npm:7.18.9" dependencies: @@ -1264,6 +1428,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-syntax-flow@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-syntax-flow@npm:7.23.3" + dependencies: + "@babel/helper-plugin-utils": ^7.22.5 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: c6e6f355d6ace5f4a9e7bb19f1fed2398aeb9b62c4c671a189d81b124f9f5bb77c4225b6e85e19339268c60a021c1e49104e450375de5e6bb70612190d9678af + languageName: node + linkType: hard + "@babel/plugin-syntax-import-assertions@npm:^7.17.12": version: 7.17.12 resolution: "@babel/plugin-syntax-import-assertions@npm:7.17.12" @@ -1341,6 +1516,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-syntax-jsx@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-syntax-jsx@npm:7.23.3" + dependencies: + "@babel/helper-plugin-utils": ^7.22.5 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 89037694314a74e7f0e7a9c8d3793af5bf6b23d80950c29b360db1c66859d67f60711ea437e70ad6b5b4b29affe17eababda841b6c01107c2b638e0493bafb4e + languageName: node + linkType: hard + "@babel/plugin-syntax-logical-assignment-operators@npm:^7.10.4, @babel/plugin-syntax-logical-assignment-operators@npm:^7.8.3": version: 7.10.4 resolution: "@babel/plugin-syntax-logical-assignment-operators@npm:7.10.4" @@ -1440,6 +1626,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-syntax-typescript@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-syntax-typescript@npm:7.23.3" + dependencies: + "@babel/helper-plugin-utils": ^7.22.5 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: abfad3a19290d258b028e285a1f34c9b8a0cbe46ef79eafed4ed7ffce11b5d0720b5e536c82f91cbd8442cde35a3dd8e861fa70366d87ff06fdc0d4756e30876 + languageName: node + linkType: hard + "@babel/plugin-transform-arrow-functions@npm:^7.0.0, @babel/plugin-transform-arrow-functions@npm:^7.17.12": version: 7.17.12 resolution: "@babel/plugin-transform-arrow-functions@npm:7.17.12" @@ -1532,6 +1729,18 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-class-properties@npm:^7.22.5": + version: 7.23.3 + resolution: "@babel/plugin-transform-class-properties@npm:7.23.3" + dependencies: + "@babel/helper-create-class-features-plugin": ^7.22.15 + "@babel/helper-plugin-utils": ^7.22.5 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 9c6f8366f667897541d360246de176dd29efc7a13d80a5b48361882f7173d9173be4646c3b7d9b003ccc0e01e25df122330308f33db921fa553aa17ad544b3fc + languageName: node + linkType: hard + "@babel/plugin-transform-classes@npm:^7.0.0, @babel/plugin-transform-classes@npm:^7.17.12": version: 7.18.4 resolution: "@babel/plugin-transform-classes@npm:7.18.4" @@ -1695,6 +1904,18 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-flow-strip-types@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-transform-flow-strip-types@npm:7.23.3" + dependencies: + "@babel/helper-plugin-utils": ^7.22.5 + "@babel/plugin-syntax-flow": ^7.23.3 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: de38cc5cf948bc19405ea041292181527a36f59f08d787a590415fac36e9b0c7992f0d3e2fd3b9402089bafdaa1a893291a0edf15beebfd29bdedbbe582fee9b + languageName: node + linkType: hard + "@babel/plugin-transform-for-of@npm:^7.0.0, @babel/plugin-transform-for-of@npm:^7.18.1": version: 7.18.1 resolution: "@babel/plugin-transform-for-of@npm:7.18.1" @@ -1813,7 +2034,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-modules-commonjs@npm:^7.0.0, @babel/plugin-transform-modules-commonjs@npm:^7.13.8, @babel/plugin-transform-modules-commonjs@npm:^7.18.2, @babel/plugin-transform-modules-commonjs@npm:^7.18.6": +"@babel/plugin-transform-modules-commonjs@npm:^7.0.0, @babel/plugin-transform-modules-commonjs@npm:^7.18.2, @babel/plugin-transform-modules-commonjs@npm:^7.18.6": version: 7.18.6 resolution: "@babel/plugin-transform-modules-commonjs@npm:7.18.6" dependencies: @@ -1827,6 +2048,19 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-modules-commonjs@npm:^7.23.0, @babel/plugin-transform-modules-commonjs@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-transform-modules-commonjs@npm:7.23.3" + dependencies: + "@babel/helper-module-transforms": ^7.23.3 + "@babel/helper-plugin-utils": ^7.22.5 + "@babel/helper-simple-access": ^7.22.5 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 720a231ceade4ae4d2632478db4e7fecf21987d444942b72d523487ac8d715ca97de6c8f415c71e939595e1a4776403e7dc24ed68fe9125ad4acf57753c9bff7 + languageName: node + linkType: hard + "@babel/plugin-transform-modules-systemjs@npm:^7.18.0": version: 7.18.4 resolution: "@babel/plugin-transform-modules-systemjs@npm:7.18.4" @@ -1927,6 +2161,18 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-nullish-coalescing-operator@npm:^7.22.11": + version: 7.23.4 + resolution: "@babel/plugin-transform-nullish-coalescing-operator@npm:7.23.4" + dependencies: + "@babel/helper-plugin-utils": ^7.22.5 + "@babel/plugin-syntax-nullish-coalescing-operator": ^7.8.3 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: a27d73ea134d3d9560a6b2e26ab60012fba15f1db95865aa0153c18f5ec82cfef6a7b3d8df74e3c2fca81534fa5efeb6cacaf7b08bdb7d123e3dafdd079886a3 + languageName: node + linkType: hard + "@babel/plugin-transform-object-super@npm:^7.0.0, @babel/plugin-transform-object-super@npm:^7.16.7": version: 7.16.7 resolution: "@babel/plugin-transform-object-super@npm:7.16.7" @@ -1951,6 +2197,19 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-optional-chaining@npm:^7.23.0": + version: 7.23.4 + resolution: "@babel/plugin-transform-optional-chaining@npm:7.23.4" + dependencies: + "@babel/helper-plugin-utils": ^7.22.5 + "@babel/helper-skip-transparent-expression-wrappers": ^7.22.5 + "@babel/plugin-syntax-optional-chaining": ^7.8.3 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: e7a4c08038288057b7a08d68c4d55396ada9278095509ca51ed8dfb72a7f13f26bdd7c5185de21079fe0a9d60d22c227cb32e300d266c1bda40f70eee9f4bc1e + languageName: node + linkType: hard + "@babel/plugin-transform-parameters@npm:^7.0.0, @babel/plugin-transform-parameters@npm:^7.12.1, @babel/plugin-transform-parameters@npm:^7.17.12": version: 7.17.12 resolution: "@babel/plugin-transform-parameters@npm:7.17.12" @@ -1973,6 +2232,18 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-private-methods@npm:^7.22.5": + version: 7.23.3 + resolution: "@babel/plugin-transform-private-methods@npm:7.23.3" + dependencies: + "@babel/helper-create-class-features-plugin": ^7.22.15 + "@babel/helper-plugin-utils": ^7.22.5 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: cedc1285c49b5a6d9a3d0e5e413b756ac40b3ac2f8f68bdfc3ae268bc8d27b00abd8bb0861c72756ff5dd8bf1eb77211b7feb5baf4fdae2ebbaabe49b9adc1d0 + languageName: node + linkType: hard + "@babel/plugin-transform-property-literals@npm:^7.0.0, @babel/plugin-transform-property-literals@npm:^7.16.7": version: 7.16.7 resolution: "@babel/plugin-transform-property-literals@npm:7.16.7" @@ -2307,6 +2578,20 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-typescript@npm:^7.23.3": + version: 7.23.6 + resolution: "@babel/plugin-transform-typescript@npm:7.23.6" + dependencies: + "@babel/helper-annotate-as-pure": ^7.22.5 + "@babel/helper-create-class-features-plugin": ^7.23.6 + "@babel/helper-plugin-utils": ^7.22.5 + "@babel/plugin-syntax-typescript": ^7.23.3 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 0462241843d14dff9f1a4c49ab182a6f01a5f7679957c786b08165dac3e8d49184011f05ca204183d164c54b9d3496d1b3005f904fa8708e394e6f15bf5548e6 + languageName: node + linkType: hard + "@babel/plugin-transform-unicode-escapes@npm:^7.16.7": version: 7.16.7 resolution: "@babel/plugin-transform-unicode-escapes@npm:7.16.7" @@ -2523,7 +2808,7 @@ __metadata: languageName: node linkType: hard -"@babel/preset-flow@npm:^7.12.1, @babel/preset-flow@npm:^7.13.13": +"@babel/preset-flow@npm:^7.12.1": version: 7.18.6 resolution: "@babel/preset-flow@npm:7.18.6" dependencies: @@ -2536,6 +2821,19 @@ __metadata: languageName: node linkType: hard +"@babel/preset-flow@npm:^7.22.15": + version: 7.23.3 + resolution: "@babel/preset-flow@npm:7.23.3" + dependencies: + "@babel/helper-plugin-utils": ^7.22.5 + "@babel/helper-validator-option": ^7.22.15 + "@babel/plugin-transform-flow-strip-types": ^7.23.3 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 60b5dde79621ae89943af459c4dc5b6030795f595a20ca438c8100f8d82c9ebc986881719030521ff5925799518ac5aa7f3fe62af8c33ab96be3681a71f88d03 + languageName: node + linkType: hard + "@babel/preset-modules@npm:^0.1.5": version: 0.1.5 resolution: "@babel/preset-modules@npm:0.1.5" @@ -2583,7 +2881,7 @@ __metadata: languageName: node linkType: hard -"@babel/preset-typescript@npm:^7.12.7, @babel/preset-typescript@npm:^7.13.0, @babel/preset-typescript@npm:^7.15.0, @babel/preset-typescript@npm:^7.16.0, @babel/preset-typescript@npm:^7.18.6": +"@babel/preset-typescript@npm:^7.12.7, @babel/preset-typescript@npm:^7.15.0, @babel/preset-typescript@npm:^7.16.0, @babel/preset-typescript@npm:^7.18.6": version: 7.18.6 resolution: "@babel/preset-typescript@npm:7.18.6" dependencies: @@ -2596,18 +2894,33 @@ __metadata: languageName: node linkType: hard -"@babel/register@npm:^7.13.16": - version: 7.18.9 - resolution: "@babel/register@npm:7.18.9" +"@babel/preset-typescript@npm:^7.23.0": + version: 7.23.3 + resolution: "@babel/preset-typescript@npm:7.23.3" + dependencies: + "@babel/helper-plugin-utils": ^7.22.5 + "@babel/helper-validator-option": ^7.22.15 + "@babel/plugin-syntax-jsx": ^7.23.3 + "@babel/plugin-transform-modules-commonjs": ^7.23.3 + "@babel/plugin-transform-typescript": ^7.23.3 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 105a2d39bbc464da0f7e1ad7f535c77c5f62d6b410219355b20e552e7d29933567a5c55339b5d0aec1a5c7a0a7dfdf1b54aae601a4fe15a157d54dcbfcb3e854 + languageName: node + linkType: hard + +"@babel/register@npm:^7.22.15": + version: 7.23.7 + resolution: "@babel/register@npm:7.23.7" dependencies: clone-deep: ^4.0.1 find-cache-dir: ^2.0.0 make-dir: ^2.1.0 - pirates: ^4.0.5 + pirates: ^4.0.6 source-map-support: ^0.5.16 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 4aeaff97e061a397f632659082ba86c539ef8194697b236d991c10d1c2ea8f73213d3b5b3b2c24625951a1ef726b7a7d2e70f70ffcb37f79ef0c1a745eebef21 + checksum: c72a6d4856ef04f13490370d805854d2d98a77786bfaec7d85e2c585e1217011c4f3df18197a890e14520906c9111bef95551ba1a9b59c88df4dfc2dfe2c8d1b languageName: node linkType: hard @@ -2660,6 +2973,17 @@ __metadata: languageName: node linkType: hard +"@babel/template@npm:^7.22.15": + version: 7.22.15 + resolution: "@babel/template@npm:7.22.15" + dependencies: + "@babel/code-frame": ^7.22.13 + "@babel/parser": ^7.22.15 + "@babel/types": ^7.22.15 + checksum: 1f3e7dcd6c44f5904c184b3f7fe280394b191f2fed819919ffa1e529c259d5b197da8981b6ca491c235aee8dbad4a50b7e31304aa531271cb823a4a24a0dd8fd + languageName: node + linkType: hard + "@babel/traverse@npm:7.19.3": version: 7.19.3 resolution: "@babel/traverse@npm:7.19.3" @@ -4749,7 +5073,7 @@ __metadata: languageName: node linkType: hard -"@eslint-community/eslint-utils@npm:^4.4.0": +"@eslint-community/eslint-utils@npm:^4.2.0, @eslint-community/eslint-utils@npm:^4.4.0": version: 4.4.0 resolution: "@eslint-community/eslint-utils@npm:4.4.0" dependencies: @@ -4760,7 +5084,7 @@ __metadata: languageName: node linkType: hard -"@eslint-community/regexpp@npm:^4.5.1": +"@eslint-community/regexpp@npm:^4.4.0, @eslint-community/regexpp@npm:^4.5.1, @eslint-community/regexpp@npm:^4.6.1": version: 4.10.0 resolution: "@eslint-community/regexpp@npm:4.10.0" checksum: 2a6e345429ea8382aaaf3a61f865cae16ed44d31ca917910033c02dc00d505d939f10b81e079fa14d43b51499c640138e153b7e40743c4c094d9df97d4e56f7b @@ -4801,6 +5125,30 @@ __metadata: languageName: node linkType: hard +"@eslint/eslintrc@npm:^2.1.4": + version: 2.1.4 + resolution: "@eslint/eslintrc@npm:2.1.4" + dependencies: + ajv: ^6.12.4 + debug: ^4.3.2 + espree: ^9.6.0 + globals: ^13.19.0 + ignore: ^5.2.0 + import-fresh: ^3.2.1 + js-yaml: ^4.1.0 + minimatch: ^3.1.2 + strip-json-comments: ^3.1.1 + checksum: 10957c7592b20ca0089262d8c2a8accbad14b4f6507e35416c32ee6b4dbf9cad67dfb77096bbd405405e9ada2b107f3797fe94362e1c55e0b09d6e90dd149127 + languageName: node + linkType: hard + +"@eslint/js@npm:8.56.0": + version: 8.56.0 + resolution: "@eslint/js@npm:8.56.0" + checksum: 5804130574ef810207bdf321c265437814e7a26f4e6fac9b496de3206afd52f533e09ec002a3be06cd9adcc9da63e727f1883938e663c4e4751c007d5b58e539 + languageName: node + linkType: hard + "@examples-action-listener/counter@workspace:examples/action-listener/counter": version: 0.0.0-use.local resolution: "@examples-action-listener/counter@workspace:examples/action-listener/counter" @@ -5202,77 +5550,6 @@ __metadata: languageName: node linkType: hard -"@glimmer/env@npm:0.1.7, @glimmer/env@npm:^0.1.7": - version: 0.1.7 - resolution: "@glimmer/env@npm:0.1.7" - checksum: d46686da1b21615c177792794ed11f725fbb1c32936d69ca54a3ac40e2314638a529b81afb23759d35cdf36462a7a6b2c02604a366473cd6a8abadfe56e9c335 - languageName: node - linkType: hard - -"@glimmer/global-context@npm:0.62.5": - version: 0.62.5 - resolution: "@glimmer/global-context@npm:0.62.5" - dependencies: - "@glimmer/env": ^0.1.7 - checksum: f60e893e9ace9536713694ddd82147fa2e8ae7106617bec661ba229af718c56fc8843e2e4afef57e9ebd77b6b7a7b9c15ca533d2ddb939febae341d2bd72aca6 - languageName: node - linkType: hard - -"@glimmer/interfaces@npm:0.62.5": - version: 0.62.5 - resolution: "@glimmer/interfaces@npm:0.62.5" - dependencies: - "@simple-dom/interface": ^1.4.0 - checksum: 9d726916324cb1eff40f9b14b562bddeb4146c57b688ec06d399294818b44c44cc0c05ae178d3d0bd3f872f27513ea646335e387d6c7a7c6ab3e2fba78f30524 - languageName: node - linkType: hard - -"@glimmer/reference@npm:^0.62.4": - version: 0.62.5 - resolution: "@glimmer/reference@npm:0.62.5" - dependencies: - "@glimmer/env": ^0.1.7 - "@glimmer/global-context": 0.62.5 - "@glimmer/interfaces": 0.62.5 - "@glimmer/util": 0.62.5 - "@glimmer/validator": 0.62.5 - checksum: 009a573c60b0cc026903a57716ae1a700ff3d1078e14618805fff0416b791a0465b7f5af03d57855b01aa9cb1e17e945fe9c05c015dd46a50faa1248d1342375 - languageName: node - linkType: hard - -"@glimmer/syntax@npm:^0.62.4": - version: 0.62.5 - resolution: "@glimmer/syntax@npm:0.62.5" - dependencies: - "@glimmer/interfaces": 0.62.5 - "@glimmer/util": 0.62.5 - "@handlebars/parser": ^1.1.0 - simple-html-tokenizer: ^0.5.10 - checksum: 1a69f1aa6bd51e9e2e5f39ce2e2ccd4bc7b3e7e4e1c91ccf4527c8bd16d5f1f99d02f60e0ec2e8eb2762d75dd07a5a5793e724c09c97680c81908d5acf9b03f8 - languageName: node - linkType: hard - -"@glimmer/util@npm:0.62.5": - version: 0.62.5 - resolution: "@glimmer/util@npm:0.62.5" - dependencies: - "@glimmer/env": 0.1.7 - "@glimmer/interfaces": 0.62.5 - "@simple-dom/interface": ^1.4.0 - checksum: 38fd1578f9985803b8ad858bb259cba223ee1ecdd308c73ccc043da1e62fa0d1f10bc4aa10de860e417f27d1d8aa98f0c1cec10322ee9f1f9423edae6a3d6fb6 - languageName: node - linkType: hard - -"@glimmer/validator@npm:0.62.5, @glimmer/validator@npm:^0.62.4": - version: 0.62.5 - resolution: "@glimmer/validator@npm:0.62.5" - dependencies: - "@glimmer/env": ^0.1.7 - "@glimmer/global-context": 0.62.5 - checksum: 58559481b35a2684c421b7fe98f5e21f660bbf37aa3abd65e27b49183a16f14ac93bfe87acef6d88951d3d8778de7afe2871eedd2822583e75f292460f4f57c8 - languageName: node - linkType: hard - "@graphql-codegen/add@npm:^2.0.2": version: 2.0.2 resolution: "@graphql-codegen/add@npm:2.0.2" @@ -5841,13 +6118,6 @@ __metadata: languageName: node linkType: hard -"@handlebars/parser@npm:^1.1.0": - version: 1.1.0 - resolution: "@handlebars/parser@npm:1.1.0" - checksum: f1ded58182780e1fdc0a9d40fe8485785118f7cf684210d538ea3847198d454cb2c122fd1849dfde545aba69502b382c4711cb084c82ca96c1f313178528dd17 - languageName: node - linkType: hard - "@hapi/hoek@npm:^9.0.0": version: 9.2.0 resolution: "@hapi/hoek@npm:9.2.0" @@ -5864,6 +6134,17 @@ __metadata: languageName: node linkType: hard +"@humanwhocodes/config-array@npm:^0.11.13": + version: 0.11.14 + resolution: "@humanwhocodes/config-array@npm:0.11.14" + dependencies: + "@humanwhocodes/object-schema": ^2.0.2 + debug: ^4.3.1 + minimatch: ^3.0.5 + checksum: 861ccce9eaea5de19546653bccf75bf09fe878bc39c3aab00aeee2d2a0e654516adad38dd1098aab5e3af0145bbcbf3f309bdf4d964f8dab9dcd5834ae4c02f2 + languageName: node + linkType: hard + "@humanwhocodes/config-array@npm:^0.9.2": version: 0.9.5 resolution: "@humanwhocodes/config-array@npm:0.9.5" @@ -5875,6 +6156,13 @@ __metadata: languageName: node linkType: hard +"@humanwhocodes/module-importer@npm:^1.0.1": + version: 1.0.1 + resolution: "@humanwhocodes/module-importer@npm:1.0.1" + checksum: 0fd22007db8034a2cdf2c764b140d37d9020bbfce8a49d3ec5c05290e77d4b0263b1b972b752df8c89e5eaa94073408f2b7d977aed131faf6cf396ebb5d7fb61 + languageName: node + linkType: hard + "@humanwhocodes/object-schema@npm:^1.2.1": version: 1.2.1 resolution: "@humanwhocodes/object-schema@npm:1.2.1" @@ -5882,6 +6170,13 @@ __metadata: languageName: node linkType: hard +"@humanwhocodes/object-schema@npm:^2.0.2": + version: 2.0.2 + resolution: "@humanwhocodes/object-schema@npm:2.0.2" + checksum: 2fc11503361b5fb4f14714c700c02a3f4c7c93e9acd6b87a29f62c522d90470f364d6161b03d1cc618b979f2ae02aed1106fd29d302695d8927e2fc8165ba8ee + languageName: node + linkType: hard + "@iarna/toml@npm:2.2.5, @iarna/toml@npm:^2.2.5": version: 2.2.5 resolution: "@iarna/toml@npm:2.2.5" @@ -6500,7 +6795,7 @@ __metadata: languageName: node linkType: hard -"@jridgewell/sourcemap-codec@npm:^1.4.13, @jridgewell/sourcemap-codec@npm:^1.4.15": +"@jridgewell/sourcemap-codec@npm:^1.4.15": version: 1.4.15 resolution: "@jridgewell/sourcemap-codec@npm:1.4.15" checksum: b881c7e503db3fc7f3c1f35a1dd2655a188cc51a3612d76efc8a6eb74728bef5606e6758ee77423e564092b4a518aba569bbb21c9bac5ab7a35b0c6ae7e344c8 @@ -6795,6 +7090,16 @@ __metadata: languageName: node linkType: hard +"@nodelib/fs.walk@npm:^1.2.8": + version: 1.2.8 + resolution: "@nodelib/fs.walk@npm:1.2.8" + dependencies: + "@nodelib/fs.scandir": 2.1.5 + fastq: ^1.6.0 + checksum: 190c643f156d8f8f277bf2a6078af1ffde1fd43f498f187c2db24d35b4b4b5785c02c7dc52e356497b9a1b65b13edc996de08de0b961c32844364da02986dc53 + languageName: node + linkType: hard + "@npmcli/move-file@npm:^1.0.1": version: 1.1.2 resolution: "@npmcli/move-file@npm:1.1.2" @@ -7092,15 +7397,19 @@ __metadata: version: 0.0.0-use.local resolution: "@reduxjs/rtk-codemods@workspace:packages/rtk-codemods" dependencies: - "@types/jscodeshift": ^0.11.5 - codemod-cli: ^3.2.0 - eslint: ^7.25.0 - eslint-config-prettier: ^8.3.0 + "@types/jscodeshift": ^0.11.11 + "@typescript-eslint/parser": ^6.19.1 + eslint: ^8.56.0 + eslint-config-prettier: ^9.1.0 eslint-plugin-node: ^11.1.0 - eslint-plugin-prettier: ^3.4.0 - prettier: ^2.2.1 - typescript: ^4.8.0 - vitest: ^0.30.1 + eslint-plugin-prettier: ^5.1.3 + execa: ^8.0.1 + globby: ^14.0.0 + jscodeshift: ^0.15.1 + prettier: ^3.2.4 + ts-node: ^10.9.2 + typescript: ^5.3.3 + vitest: ^1.2.1 bin: rtk-codemods: ./bin/cli.js languageName: unknown @@ -7535,13 +7844,6 @@ __metadata: languageName: node linkType: hard -"@simple-dom/interface@npm:^1.4.0": - version: 1.4.0 - resolution: "@simple-dom/interface@npm:1.4.0" - checksum: e0ce8b6174208c5a369c2650094d16080230bf90cb95cc8258f9fd6b93be8afedbffb9d63da7f1d295a4e8d901f5fff907a69e1d55556db9e8544f2615b2f1d7 - languageName: node - linkType: hard - "@sinclair/typebox@npm:^0.23.3": version: 0.23.5 resolution: "@sinclair/typebox@npm:0.23.5" @@ -7577,6 +7879,13 @@ __metadata: languageName: node linkType: hard +"@sindresorhus/merge-streams@npm:^1.0.0": + version: 1.0.0 + resolution: "@sindresorhus/merge-streams@npm:1.0.0" + checksum: 453c2a28164113a5ec4fd23ba636e291a4112f6ee9e91cd5476b9a96e0fc9ee5ff40d405fe81bbf284c9773b7ed718a3a0f31df7895a0efd413b1f9775d154fe + languageName: node + linkType: hard + "@sinonjs/commons@npm:^1.7.0": version: 1.8.3 resolution: "@sinonjs/commons@npm:1.8.3" @@ -8176,22 +8485,6 @@ __metadata: languageName: node linkType: hard -"@types/chai-subset@npm:^1.3.3": - version: 1.3.3 - resolution: "@types/chai-subset@npm:1.3.3" - dependencies: - "@types/chai": "*" - checksum: 4481da7345022995f5a105e6683744f7203d2c3d19cfe88d8e17274d045722948abf55e0adfd97709e0f043dade37a4d4e98cd4c660e2e8a14f23e6ecf79418f - languageName: node - linkType: hard - -"@types/chai@npm:*, @types/chai@npm:^4.3.4": - version: 4.3.4 - resolution: "@types/chai@npm:4.3.4" - checksum: 571184967beb03bf64c4392a13a7d44e72da9af5a1e83077ff81c39cf59c0fda2a5c78d2005084601cf8f3d11726608574d8b5b4a0e3e9736792807afd926cd0 - languageName: node - linkType: hard - "@types/commander@npm:^2.12.2": version: 2.12.2 resolution: "@types/commander@npm:2.12.2" @@ -8464,13 +8757,13 @@ __metadata: languageName: node linkType: hard -"@types/jscodeshift@npm:^0.11.5": - version: 0.11.5 - resolution: "@types/jscodeshift@npm:0.11.5" +"@types/jscodeshift@npm:^0.11.11": + version: 0.11.11 + resolution: "@types/jscodeshift@npm:0.11.11" dependencies: ast-types: ^0.14.1 recast: ^0.20.3 - checksum: 5929f729477792a2c745289399ac0e2c0c46d4970031fa188073154262c6b0fcb03cf926d70a9fbcdc4c299df0e7fa1f0d6548e6bd1bb03c8245918c5b1a60de + checksum: 6224b781cbbc8e095cae3cb8f9dd1ca102d6c42d9c882b76ea84dfd0cd43870ce317369480ed6b593352efe9fe7199bd6c40ec2cb37646c474ba15f5b43d2109 languageName: node linkType: hard @@ -8793,6 +9086,13 @@ __metadata: languageName: node linkType: hard +"@types/semver@npm:^7.3.12, @types/semver@npm:^7.5.0": + version: 7.5.6 + resolution: "@types/semver@npm:7.5.6" + checksum: 563a0120ec0efcc326567db2ed920d5d98346f3638b6324ea6b50222b96f02a8add3c51a916b6897b51523aad8ac227d21d3dcf8913559f1bfc6c15b14d23037 + languageName: node + linkType: hard + "@types/semver@npm:^7.3.9": version: 7.3.9 resolution: "@types/semver@npm:7.3.9" @@ -8800,13 +9100,6 @@ __metadata: languageName: node linkType: hard -"@types/semver@npm:^7.5.0": - version: 7.5.6 - resolution: "@types/semver@npm:7.5.6" - checksum: 563a0120ec0efcc326567db2ed920d5d98346f3638b6324ea6b50222b96f02a8add3c51a916b6897b51523aad8ac227d21d3dcf8913559f1bfc6c15b14d23037 - languageName: node - linkType: hard - "@types/serve-index@npm:^1.9.1": version: 1.9.1 resolution: "@types/serve-index@npm:1.9.1" @@ -9002,6 +9295,55 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/eslint-plugin@npm:^5.5.0": + version: 5.62.0 + resolution: "@typescript-eslint/eslint-plugin@npm:5.62.0" + dependencies: + "@eslint-community/regexpp": ^4.4.0 + "@typescript-eslint/scope-manager": 5.62.0 + "@typescript-eslint/type-utils": 5.62.0 + "@typescript-eslint/utils": 5.62.0 + debug: ^4.3.4 + graphemer: ^1.4.0 + ignore: ^5.2.0 + natural-compare-lite: ^1.4.0 + semver: ^7.3.7 + tsutils: ^3.21.0 + peerDependencies: + "@typescript-eslint/parser": ^5.0.0 + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + peerDependenciesMeta: + typescript: + optional: true + checksum: fc104b389c768f9fa7d45a48c86d5c1ad522c1d0512943e782a56b1e3096b2cbcc1eea3fcc590647bf0658eef61aac35120a9c6daf979bf629ad2956deb516a1 + languageName: node + linkType: hard + +"@typescript-eslint/eslint-plugin@npm:^6": + version: 6.19.1 + resolution: "@typescript-eslint/eslint-plugin@npm:6.19.1" + dependencies: + "@eslint-community/regexpp": ^4.5.1 + "@typescript-eslint/scope-manager": 6.19.1 + "@typescript-eslint/type-utils": 6.19.1 + "@typescript-eslint/utils": 6.19.1 + "@typescript-eslint/visitor-keys": 6.19.1 + debug: ^4.3.4 + graphemer: ^1.4.0 + ignore: ^5.2.4 + natural-compare: ^1.4.0 + semver: ^7.5.4 + ts-api-utils: ^1.0.1 + peerDependencies: + "@typescript-eslint/parser": ^6.0.0 || ^6.0.0-alpha + eslint: ^7.0.0 || ^8.0.0 + peerDependenciesMeta: + typescript: + optional: true + checksum: ad04000cd6c15d864ff92655baa3aec99bb0ccf4714fedd145fedde60a27590a5feafe480beb2f0f3864b416098bde1e9431bada7480eb7ca4efad891e1d2f6f + languageName: node + linkType: hard + "@typescript-eslint/experimental-utils@npm:^5.0.0": version: 5.27.1 resolution: "@typescript-eslint/experimental-utils@npm:5.27.1" @@ -9031,6 +9373,41 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/parser@npm:^5.5.0": + version: 5.62.0 + resolution: "@typescript-eslint/parser@npm:5.62.0" + dependencies: + "@typescript-eslint/scope-manager": 5.62.0 + "@typescript-eslint/types": 5.62.0 + "@typescript-eslint/typescript-estree": 5.62.0 + debug: ^4.3.4 + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + peerDependenciesMeta: + typescript: + optional: true + checksum: d168f4c7f21a7a63f47002e2d319bcbb6173597af5c60c1cf2de046b46c76b4930a093619e69faf2d30214c29ab27b54dcf1efc7046a6a6bd6f37f59a990e752 + languageName: node + linkType: hard + +"@typescript-eslint/parser@npm:^6, @typescript-eslint/parser@npm:^6.19.1": + version: 6.19.1 + resolution: "@typescript-eslint/parser@npm:6.19.1" + dependencies: + "@typescript-eslint/scope-manager": 6.19.1 + "@typescript-eslint/types": 6.19.1 + "@typescript-eslint/typescript-estree": 6.19.1 + "@typescript-eslint/visitor-keys": 6.19.1 + debug: ^4.3.4 + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + peerDependenciesMeta: + typescript: + optional: true + checksum: cd29619da08a2d9b7123ba4d8240989c747f8e0d5672179d8b147e413ee1334d1fa48570b0c37cf0ae4e26a275fd2d268cbe702c6fed639d3331abbb3292570a + languageName: node + linkType: hard + "@typescript-eslint/scope-manager@npm:5.27.1": version: 5.27.1 resolution: "@typescript-eslint/scope-manager@npm:5.27.1" @@ -9041,6 +9418,16 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/scope-manager@npm:5.62.0": + version: 5.62.0 + resolution: "@typescript-eslint/scope-manager@npm:5.62.0" + dependencies: + "@typescript-eslint/types": 5.62.0 + "@typescript-eslint/visitor-keys": 5.62.0 + checksum: 6062d6b797fe1ce4d275bb0d17204c827494af59b5eaf09d8a78cdd39dadddb31074dded4297aaf5d0f839016d601032857698b0e4516c86a41207de606e9573 + languageName: node + linkType: hard + "@typescript-eslint/scope-manager@npm:6.12.0": version: 6.12.0 resolution: "@typescript-eslint/scope-manager@npm:6.12.0" @@ -9051,6 +9438,33 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/scope-manager@npm:6.19.1": + version: 6.19.1 + resolution: "@typescript-eslint/scope-manager@npm:6.19.1" + dependencies: + "@typescript-eslint/types": 6.19.1 + "@typescript-eslint/visitor-keys": 6.19.1 + checksum: 848cdebc16a3803e8a6d6035a7067605309a652bb2425f475f755b5ace4d80d2c17c8c8901f0f4759556da8d0a5b71024d472b85c3f3c70d0e6dcfe2a972ef35 + languageName: node + linkType: hard + +"@typescript-eslint/type-utils@npm:5.62.0": + version: 5.62.0 + resolution: "@typescript-eslint/type-utils@npm:5.62.0" + dependencies: + "@typescript-eslint/typescript-estree": 5.62.0 + "@typescript-eslint/utils": 5.62.0 + debug: ^4.3.4 + tsutils: ^3.21.0 + peerDependencies: + eslint: "*" + peerDependenciesMeta: + typescript: + optional: true + checksum: fc41eece5f315dfda14320be0da78d3a971d650ea41300be7196934b9715f3fe1120a80207551eb71d39568275dbbcf359bde540d1ca1439d8be15e9885d2739 + languageName: node + linkType: hard + "@typescript-eslint/type-utils@npm:6.12.0": version: 6.12.0 resolution: "@typescript-eslint/type-utils@npm:6.12.0" @@ -9068,6 +9482,23 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/type-utils@npm:6.19.1": + version: 6.19.1 + resolution: "@typescript-eslint/type-utils@npm:6.19.1" + dependencies: + "@typescript-eslint/typescript-estree": 6.19.1 + "@typescript-eslint/utils": 6.19.1 + debug: ^4.3.4 + ts-api-utils: ^1.0.1 + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + peerDependenciesMeta: + typescript: + optional: true + checksum: eab1a30f8d85f7c6e2545de5963fbec2f3bb91913d59623069b4b0db372a671ab048c7018376fc853c3af06ea39417f3e7b27dd665027dd812347a5e64cecd77 + languageName: node + linkType: hard + "@typescript-eslint/types@npm:5.27.1": version: 5.27.1 resolution: "@typescript-eslint/types@npm:5.27.1" @@ -9075,6 +9506,13 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/types@npm:5.62.0": + version: 5.62.0 + resolution: "@typescript-eslint/types@npm:5.62.0" + checksum: 48c87117383d1864766486f24de34086155532b070f6264e09d0e6139449270f8a9559cfef3c56d16e3bcfb52d83d42105d61b36743626399c7c2b5e0ac3b670 + languageName: node + linkType: hard + "@typescript-eslint/types@npm:6.12.0": version: 6.12.0 resolution: "@typescript-eslint/types@npm:6.12.0" @@ -9082,6 +9520,13 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/types@npm:6.19.1": + version: 6.19.1 + resolution: "@typescript-eslint/types@npm:6.19.1" + checksum: 598ce222b59c20432d06f60703d0c2dd16d9b2151569c192852136c57b8188e3ef6ef9fddaa2c136c9a756fcc7d873c0e29ec41cfd340564842287ef7b4571cd + languageName: node + linkType: hard + "@typescript-eslint/typescript-estree@npm:5.27.1": version: 5.27.1 resolution: "@typescript-eslint/typescript-estree@npm:5.27.1" @@ -9100,6 +9545,24 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/typescript-estree@npm:5.62.0": + version: 5.62.0 + resolution: "@typescript-eslint/typescript-estree@npm:5.62.0" + dependencies: + "@typescript-eslint/types": 5.62.0 + "@typescript-eslint/visitor-keys": 5.62.0 + debug: ^4.3.4 + globby: ^11.1.0 + is-glob: ^4.0.3 + semver: ^7.3.7 + tsutils: ^3.21.0 + peerDependenciesMeta: + typescript: + optional: true + checksum: 3624520abb5807ed8f57b1197e61c7b1ed770c56dfcaca66372d584ff50175225798bccb701f7ef129d62c5989070e1ee3a0aa2d84e56d9524dcf011a2bb1a52 + languageName: node + linkType: hard + "@typescript-eslint/typescript-estree@npm:6.12.0": version: 6.12.0 resolution: "@typescript-eslint/typescript-estree@npm:6.12.0" @@ -9118,6 +9581,25 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/typescript-estree@npm:6.19.1": + version: 6.19.1 + resolution: "@typescript-eslint/typescript-estree@npm:6.19.1" + dependencies: + "@typescript-eslint/types": 6.19.1 + "@typescript-eslint/visitor-keys": 6.19.1 + debug: ^4.3.4 + globby: ^11.1.0 + is-glob: ^4.0.3 + minimatch: 9.0.3 + semver: ^7.5.4 + ts-api-utils: ^1.0.1 + peerDependenciesMeta: + typescript: + optional: true + checksum: fb71a14aeee0468780219c5b8d39075f85d360b04ccd0ee88f4f0a615d2c232a6d3016e36d8c6eda2d9dfda86b4f4cc2c3d7582940fb29d33c7cf305e124d4e2 + languageName: node + linkType: hard + "@typescript-eslint/utils@npm:5.27.1, @typescript-eslint/utils@npm:^5.13.0": version: 5.27.1 resolution: "@typescript-eslint/utils@npm:5.27.1" @@ -9134,6 +9616,24 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/utils@npm:5.62.0": + version: 5.62.0 + resolution: "@typescript-eslint/utils@npm:5.62.0" + dependencies: + "@eslint-community/eslint-utils": ^4.2.0 + "@types/json-schema": ^7.0.9 + "@types/semver": ^7.3.12 + "@typescript-eslint/scope-manager": 5.62.0 + "@typescript-eslint/types": 5.62.0 + "@typescript-eslint/typescript-estree": 5.62.0 + eslint-scope: ^5.1.1 + semver: ^7.3.7 + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + checksum: ee9398c8c5db6d1da09463ca7bf36ed134361e20131ea354b2da16a5fdb6df9ba70c62a388d19f6eebb421af1786dbbd79ba95ddd6ab287324fc171c3e28d931 + languageName: node + linkType: hard + "@typescript-eslint/utils@npm:6.12.0": version: 6.12.0 resolution: "@typescript-eslint/utils@npm:6.12.0" @@ -9151,6 +9651,23 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/utils@npm:6.19.1": + version: 6.19.1 + resolution: "@typescript-eslint/utils@npm:6.19.1" + dependencies: + "@eslint-community/eslint-utils": ^4.4.0 + "@types/json-schema": ^7.0.12 + "@types/semver": ^7.5.0 + "@typescript-eslint/scope-manager": 6.19.1 + "@typescript-eslint/types": 6.19.1 + "@typescript-eslint/typescript-estree": 6.19.1 + semver: ^7.5.4 + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + checksum: fe72e75c3ea17a85772b83f148555ea94ff5d55d13586f3fc038833197a74f8071e14c2bbf1781c40eec20005f052f4be2513a725eea82a15da3cb9af3046c70 + languageName: node + linkType: hard + "@typescript-eslint/visitor-keys@npm:5.27.1": version: 5.27.1 resolution: "@typescript-eslint/visitor-keys@npm:5.27.1" @@ -9161,6 +9678,16 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/visitor-keys@npm:5.62.0": + version: 5.62.0 + resolution: "@typescript-eslint/visitor-keys@npm:5.62.0" + dependencies: + "@typescript-eslint/types": 5.62.0 + eslint-visitor-keys: ^3.3.0 + checksum: 976b05d103fe8335bef5c93ad3f76d781e3ce50329c0243ee0f00c0fcfb186c81df50e64bfdd34970148113f8ade90887f53e3c4938183afba830b4ba8e30a35 + languageName: node + linkType: hard + "@typescript-eslint/visitor-keys@npm:6.12.0": version: 6.12.0 resolution: "@typescript-eslint/visitor-keys@npm:6.12.0" @@ -9171,14 +9698,20 @@ __metadata: languageName: node linkType: hard -"@vitest/expect@npm:0.30.1": - version: 0.30.1 - resolution: "@vitest/expect@npm:0.30.1" +"@typescript-eslint/visitor-keys@npm:6.19.1": + version: 6.19.1 + resolution: "@typescript-eslint/visitor-keys@npm:6.19.1" dependencies: - "@vitest/spy": 0.30.1 - "@vitest/utils": 0.30.1 - chai: ^4.3.7 - checksum: cd7728d1532fd9b9d9ca52f76be14af72f7cf28686e91f99b1537a30d46a4207021410163b1c460076d4ada7246f7f3bdc14989c44aff0814ef83e1cdf5e4ecf + "@typescript-eslint/types": 6.19.1 + eslint-visitor-keys: ^3.4.1 + checksum: bdf057a42e776970a89cdd568e493e3ea7ec085544d8f318d33084da63c3395ad2c0fb9cef9f61ceeca41f5dab54ab064b7078fe596889005e412ec74d2d1ae4 + languageName: node + linkType: hard + +"@ungap/structured-clone@npm:^1.2.0": + version: 1.2.0 + resolution: "@ungap/structured-clone@npm:1.2.0" + checksum: 4f656b7b4672f2ce6e272f2427d8b0824ed11546a601d8d5412b9d7704e83db38a8d9f402ecdf2b9063fc164af842ad0ec4a55819f621ed7e7ea4d1efcc74524 languageName: node linkType: hard @@ -9193,15 +9726,14 @@ __metadata: languageName: node linkType: hard -"@vitest/runner@npm:0.30.1": - version: 0.30.1 - resolution: "@vitest/runner@npm:0.30.1" +"@vitest/expect@npm:1.2.1": + version: 1.2.1 + resolution: "@vitest/expect@npm:1.2.1" dependencies: - "@vitest/utils": 0.30.1 - concordance: ^5.0.4 - p-limit: ^4.0.0 - pathe: ^1.1.0 - checksum: b8f9faa63f3e98671804ab403a1dc466a48548fa5ee5e276855f0bcc1fae528ca65476584fb5528dd62ba9865c54d147b1ae78fb0cafe337c043669dcb93e67d + "@vitest/spy": 1.2.1 + "@vitest/utils": 1.2.1 + chai: ^4.3.10 + checksum: d87a2dd646f523eaf68185e85f05412969fda55f228be4806d038550f446d3235ebee57f7d3882d0fcf16cfe2e3ac7d10d311df4894fa71548ae9852c8dbd23d languageName: node linkType: hard @@ -9216,14 +9748,14 @@ __metadata: languageName: node linkType: hard -"@vitest/snapshot@npm:0.30.1": - version: 0.30.1 - resolution: "@vitest/snapshot@npm:0.30.1" +"@vitest/runner@npm:1.2.1": + version: 1.2.1 + resolution: "@vitest/runner@npm:1.2.1" dependencies: - magic-string: ^0.30.0 - pathe: ^1.1.0 - pretty-format: ^27.5.1 - checksum: 9e0b89ca6c2cb08f2061c3d6bf5f2a1a9481c0229b8772b8be1db515552f07ea184f4248ceb11ad976ee89e2402c14e48a5700bab6ea859167fe5d10920e939c + "@vitest/utils": 1.2.1 + p-limit: ^5.0.0 + pathe: ^1.1.1 + checksum: 3a3941392e8c6359e19c3ac5c2923150251d9d32bf1252bc2951487d799ac19a7cc43eb3c02eb642c1b02f65ad365273f053bcb37153659c35a345b628baef65 languageName: node linkType: hard @@ -9238,12 +9770,14 @@ __metadata: languageName: node linkType: hard -"@vitest/spy@npm:0.30.1": - version: 0.30.1 - resolution: "@vitest/spy@npm:0.30.1" +"@vitest/snapshot@npm:1.2.1": + version: 1.2.1 + resolution: "@vitest/snapshot@npm:1.2.1" dependencies: - tinyspy: ^2.1.0 - checksum: af2e0a3910dfaa6b5759acd4913ca3c21ac9ad543c0d1095c23bdbca1a7d4e5dab43d8bfc4b08025d24e84965d65ae83f2cdc6aad080eaf5faf06daf06af3271 + magic-string: ^0.30.5 + pathe: ^1.1.1 + pretty-format: ^29.7.0 + checksum: 6efee401eaab9868c7f7834fd8ec9495c83c0a5eeb632942e6a5eb1ae5a876e91ac9a1b0b760e7bfde5d80cfc3a618e668b080c01882f5eb3b79a4c588185aa4 languageName: node linkType: hard @@ -9256,26 +9790,36 @@ __metadata: languageName: node linkType: hard -"@vitest/utils@npm:0.30.1": - version: 0.30.1 - resolution: "@vitest/utils@npm:0.30.1" +"@vitest/spy@npm:1.2.1": + version: 1.2.1 + resolution: "@vitest/spy@npm:1.2.1" dependencies: - concordance: ^5.0.4 - loupe: ^2.3.6 - pretty-format: ^27.5.1 - checksum: a685b6ba34b0173e4da388055dc2a22ba335a74cf99679f7036cea1d183e0ee804a01984148eaad0e0f48bfb786d33800ff6dd549b94f3d064e14caa0857ee62 + tinyspy: ^2.2.0 + checksum: 22a4b4539f69b28f6b0d907d6b7997972a09d85c9a136e0f953dfea45a12bc2ec8678f8d62cbc1ecfc803a0926df8901c6b5d9f8625196f68785965e1c14172c + languageName: node + linkType: hard + +"@vitest/utils@npm:1.1.3": + version: 1.1.3 + resolution: "@vitest/utils@npm:1.1.3" + dependencies: + diff-sequences: ^29.6.3 + estree-walker: ^3.0.3 + loupe: ^2.3.7 + pretty-format: ^29.7.0 + checksum: d345b8c862c51b734d9fe53397a125485797cae2a4c1630cea1235f3f0987df479c84ac958f5250e77892afdc12f6d863628d619fc1bb5e34c05c3fa8a86d289 languageName: node linkType: hard -"@vitest/utils@npm:1.1.3": - version: 1.1.3 - resolution: "@vitest/utils@npm:1.1.3" +"@vitest/utils@npm:1.2.1": + version: 1.2.1 + resolution: "@vitest/utils@npm:1.2.1" dependencies: diff-sequences: ^29.6.3 estree-walker: ^3.0.3 loupe: ^2.3.7 pretty-format: ^29.7.0 - checksum: d345b8c862c51b734d9fe53397a125485797cae2a4c1630cea1235f3f0987df479c84ac958f5250e77892afdc12f6d863628d619fc1bb5e34c05c3fa8a86d289 + checksum: 72b54d27e55b9805ab9a8224712584e8db232bd4ce6406e845fbeaf95d8845595791071868b3fdb2ca234acfaea6e7b323d25e419059ef3eb66aa2b4f5c29354 languageName: node linkType: hard @@ -9735,7 +10279,7 @@ __metadata: languageName: node linkType: hard -"acorn-walk@npm:^8.0.0, acorn-walk@npm:^8.0.2, acorn-walk@npm:^8.1.1, acorn-walk@npm:^8.2.0": +"acorn-walk@npm:^8.0.0, acorn-walk@npm:^8.0.2, acorn-walk@npm:^8.1.1": version: 8.2.0 resolution: "acorn-walk@npm:8.2.0" checksum: 1715e76c01dd7b2d4ca472f9c58968516a4899378a63ad5b6c2d668bba8da21a71976c14ec5f5b75f887b6317c4ae0b897ab141c831d741dc76024d8745f1ad1 @@ -9749,6 +10293,13 @@ __metadata: languageName: node linkType: hard +"acorn-walk@npm:^8.3.2": + version: 8.3.2 + resolution: "acorn-walk@npm:8.3.2" + checksum: 3626b9d26a37b1b427796feaa5261faf712307a8920392c8dce9a5739fb31077667f4ad2ec71c7ac6aaf9f61f04a9d3d67ff56f459587206fc04aa31c27ef392 + languageName: node + linkType: hard + "acorn@npm:^6.4.1": version: 6.4.2 resolution: "acorn@npm:6.4.2" @@ -9785,7 +10336,7 @@ __metadata: languageName: node linkType: hard -"acorn@npm:^8.10.0": +"acorn@npm:^8.10.0, acorn@npm:^8.9.0": version: 8.11.3 resolution: "acorn@npm:8.11.3" bin: @@ -10336,6 +10887,19 @@ __metadata: languageName: node linkType: hard +"assert@npm:^2.0.0": + version: 2.1.0 + resolution: "assert@npm:2.1.0" + dependencies: + call-bind: ^1.0.2 + is-nan: ^1.3.2 + object-is: ^1.1.5 + object.assign: ^4.1.4 + util: ^0.12.5 + checksum: 1ed1cabba9abe55f4109b3f7292b4e4f3cf2953aad8dc148c0b3c3bd676675c31b1abb32ef563b7d5a19d1715bf90d1e5f09fad2a4ee655199468902da80f7c2 + languageName: node + linkType: hard + "assertion-error@npm:^1.1.0": version: 1.1.0 resolution: "assertion-error@npm:1.1.0" @@ -10366,6 +10930,15 @@ __metadata: languageName: node linkType: hard +"ast-types@npm:^0.16.1": + version: 0.16.1 + resolution: "ast-types@npm:0.16.1" + dependencies: + tslib: ^2.0.1 + checksum: 21c186da9fdb1d8087b1b7dabbc4059f91aa5a1e593a9776b4393cc1eaa857e741b2dda678d20e34b16727b78fef3ab59cf8f0c75ed1ba649c78fe194e5c114b + languageName: node + linkType: hard + "astral-regex@npm:^2.0.0": version: 2.0.0 resolution: "astral-regex@npm:2.0.0" @@ -10389,16 +10962,6 @@ __metadata: languageName: node linkType: hard -"async-promise-queue@npm:^1.0.5": - version: 1.0.5 - resolution: "async-promise-queue@npm:1.0.5" - dependencies: - async: ^2.4.1 - debug: ^2.6.8 - checksum: 6f18b65e4bac8c12822d66c532aba6c8a8d81ee6e7d790bc7c399e882ff55b642a86379a58df9129db8560f57f76dea0af39b065f43568fb4bec4edf40e415a9 - languageName: node - linkType: hard - "async-retry@npm:1.3.3": version: 1.3.3 resolution: "async-retry@npm:1.3.3" @@ -10408,15 +10971,6 @@ __metadata: languageName: node linkType: hard -"async@npm:^2.4.1": - version: 2.6.4 - resolution: "async@npm:2.6.4" - dependencies: - lodash: ^4.17.14 - checksum: a52083fb32e1ebe1d63e5c5624038bb30be68ff07a6c8d7dfe35e47c93fc144bd8652cbec869e0ac07d57dde387aa5f1386be3559cdee799cb1f789678d88e19 - languageName: node - linkType: hard - "async@npm:^3.2.3": version: 3.2.4 resolution: "async@npm:3.2.4" @@ -10479,6 +11033,13 @@ __metadata: languageName: node linkType: hard +"available-typed-arrays@npm:^1.0.5": + version: 1.0.5 + resolution: "available-typed-arrays@npm:1.0.5" + checksum: 20eb47b3cefd7db027b9bbb993c658abd36d4edd3fe1060e83699a03ee275b0c9b216cc076ff3f2db29073225fb70e7613987af14269ac1fe2a19803ccc97f1a + languageName: node + linkType: hard + "axe-core@npm:^4.3.5": version: 4.4.2 resolution: "axe-core@npm:4.4.2" @@ -11054,13 +11615,6 @@ __metadata: languageName: node linkType: hard -"blueimp-md5@npm:^2.10.0": - version: 2.19.0 - resolution: "blueimp-md5@npm:2.19.0" - checksum: 28095dcbd2c67152a2938006e8d7c74c3406ba6556071298f872505432feb2c13241b0476644160ee0a5220383ba94cb8ccdac0053b51f68d168728f9c382530 - languageName: node - linkType: hard - "bn.js@npm:^4.0.0, bn.js@npm:^4.1.0, bn.js@npm:^4.11.9": version: 4.12.0 resolution: "bn.js@npm:4.12.0" @@ -11552,6 +12106,17 @@ __metadata: languageName: node linkType: hard +"call-bind@npm:^1.0.4, call-bind@npm:^1.0.5": + version: 1.0.5 + resolution: "call-bind@npm:1.0.5" + dependencies: + function-bind: ^1.1.2 + get-intrinsic: ^1.2.1 + set-function-length: ^1.1.1 + checksum: 449e83ecbd4ba48e7eaac5af26fea3b50f8f6072202c2dd7c5a6e7a6308f2421abe5e13a3bbd55221087f76320c5e09f25a8fdad1bab2b77c68ae74d92234ea5 + languageName: node + linkType: hard + "call-me-maybe@npm:^1.0.1": version: 1.0.1 resolution: "call-me-maybe@npm:1.0.1" @@ -11709,21 +12274,6 @@ __metadata: languageName: node linkType: hard -"chai@npm:^4.3.7": - version: 4.3.7 - resolution: "chai@npm:4.3.7" - dependencies: - assertion-error: ^1.1.0 - check-error: ^1.0.2 - deep-eql: ^4.1.2 - get-func-name: ^2.0.0 - loupe: ^2.3.1 - pathval: ^1.1.1 - type-detect: ^4.0.5 - checksum: 0bba7d267848015246a66995f044ce3f0ebc35e530da3cbdf171db744e14cbe301ab913a8d07caf7952b430257ccbb1a4a983c570a7c5748dc537897e5131f7c - languageName: node - linkType: hard - "chalk-template@npm:0.4.0": version: 0.4.0 resolution: "chalk-template@npm:0.4.0" @@ -11902,13 +12452,6 @@ __metadata: languageName: node linkType: hard -"check-error@npm:^1.0.2": - version: 1.0.2 - resolution: "check-error@npm:1.0.2" - checksum: d9d106504404b8addd1ee3f63f8c0eaa7cd962a1a28eb9c519b1c4a1dc7098be38007fc0060f045ee00f075fbb7a2a4f42abcf61d68323677e11ab98dc16042e - languageName: node - linkType: hard - "check-error@npm:^1.0.3": version: 1.0.3 resolution: "check-error@npm:1.0.3" @@ -12282,30 +12825,6 @@ __metadata: languageName: node linkType: hard -"codemod-cli@npm:^3.2.0": - version: 3.2.0 - resolution: "codemod-cli@npm:3.2.0" - dependencies: - "@babel/parser": ^7.14.0 - chalk: ^4.1.1 - common-tags: ^1.8.0 - ember-template-recast: ^4.1.4 - execa: ^5.0.0 - fs-extra: ^9.1.0 - globby: ^11.0.2 - import-cwd: ^3.0.0 - import-local: ^3.0.2 - jscodeshift: ^0.11.0 - latest-version: ^5.1.0 - pkg-up: ^3.1.0 - recast: ^0.20.4 - yargs: ^16.2.0 - bin: - codemod-cli: bin/cli.js - checksum: c0448ef19a4f2b503c125236f7b4c568d43ec22b4f42a9b461645deb00ea709864646e5801cbb283dc2c2be0cd20cd953efcec043d18ffb5d4de32de3eb901c6 - languageName: node - linkType: hard - "collapse-white-space@npm:^1.0.2": version: 1.0.6 resolution: "collapse-white-space@npm:1.0.6" @@ -12403,13 +12922,6 @@ __metadata: languageName: node linkType: hard -"colors@npm:^1.4.0": - version: 1.4.0 - resolution: "colors@npm:1.4.0" - checksum: 98aa2c2418ad87dedf25d781be69dc5fc5908e279d9d30c34d8b702e586a0474605b3a189511482b9d5ed0d20c867515d22749537f7bc546256c6014f3ebdcec - languageName: node - linkType: hard - "colors@npm:~1.2.1": version: 1.2.5 resolution: "colors@npm:1.2.5" @@ -12583,22 +13095,6 @@ __metadata: languageName: node linkType: hard -"concordance@npm:^5.0.4": - version: 5.0.4 - resolution: "concordance@npm:5.0.4" - dependencies: - date-time: ^3.1.0 - esutils: ^2.0.3 - fast-diff: ^1.2.0 - js-string-escape: ^1.0.1 - lodash: ^4.17.15 - md5-hex: ^3.0.1 - semver: ^7.3.2 - well-known-symbols: ^2.0.0 - checksum: 749153ba711492feb7c3d2f5bb04c107157440b3e39509bd5dd19ee7b3ac751d1e4cd75796d9f702e0a713312dbc661421c68aa4a2c34d5f6d91f47e3a1c64a6 - languageName: node - linkType: hard - "concurrently@npm:^6.2.0": version: 6.2.0 resolution: "concurrently@npm:6.2.0" @@ -13655,15 +14151,6 @@ __metadata: languageName: node linkType: hard -"date-time@npm:^3.1.0": - version: 3.1.0 - resolution: "date-time@npm:3.1.0" - dependencies: - time-zone: ^1.0.0 - checksum: f9cfcd1b15dfeabab15c0b9d18eb9e4e2d9d4371713564178d46a8f91ad577a290b5178b80050718d02d9c0cf646f8a875011e12d1ed05871e9f72c72c8a8fe6 - languageName: node - linkType: hard - "debounce@npm:^1.2.0": version: 1.2.1 resolution: "debounce@npm:1.2.1" @@ -13671,7 +14158,7 @@ __metadata: languageName: node linkType: hard -"debug@npm:2.6.9, debug@npm:^2.2.0, debug@npm:^2.3.3, debug@npm:^2.6.0, debug@npm:^2.6.8, debug@npm:^2.6.9": +"debug@npm:2.6.9, debug@npm:^2.2.0, debug@npm:^2.3.3, debug@npm:^2.6.0, debug@npm:^2.6.9": version: 2.6.9 resolution: "debug@npm:2.6.9" dependencies: @@ -13775,7 +14262,7 @@ __metadata: languageName: node linkType: hard -"deep-eql@npm:^4.1.2, deep-eql@npm:^4.1.3": +"deep-eql@npm:^4.1.3": version: 4.1.3 resolution: "deep-eql@npm:4.1.3" dependencies: @@ -13844,6 +14331,17 @@ __metadata: languageName: node linkType: hard +"define-data-property@npm:^1.0.1, define-data-property@npm:^1.1.1": + version: 1.1.1 + resolution: "define-data-property@npm:1.1.1" + dependencies: + get-intrinsic: ^1.2.1 + gopd: ^1.0.1 + has-property-descriptors: ^1.0.0 + checksum: a29855ad3f0630ea82e3c5012c812efa6ca3078d5c2aa8df06b5f597c1cde6f7254692df41945851d903e05a1668607b6d34e778f402b9ff9ffb38111f1a3f0d + languageName: node + linkType: hard + "define-lazy-prop@npm:^2.0.0": version: 2.0.0 resolution: "define-lazy-prop@npm:2.0.0" @@ -13861,6 +14359,17 @@ __metadata: languageName: node linkType: hard +"define-properties@npm:^1.2.1": + version: 1.2.1 + resolution: "define-properties@npm:1.2.1" + dependencies: + define-data-property: ^1.0.1 + has-property-descriptors: ^1.0.0 + object-keys: ^1.1.1 + checksum: b4ccd00597dd46cb2d4a379398f5b19fca84a16f3374e2249201992f36b30f6835949a9429669ee6b41b6e837205a163eadd745e472069e70dfc10f03e5fcc12 + languageName: node + linkType: hard + "define-property@npm:^0.2.5": version: 0.2.5 resolution: "define-property@npm:0.2.5" @@ -14449,27 +14958,6 @@ __metadata: languageName: node linkType: hard -"ember-template-recast@npm:^4.1.4": - version: 4.3.0 - resolution: "ember-template-recast@npm:4.3.0" - dependencies: - "@glimmer/reference": ^0.62.4 - "@glimmer/syntax": ^0.62.4 - "@glimmer/validator": ^0.62.4 - async-promise-queue: ^1.0.5 - colors: ^1.4.0 - commander: ^6.2.0 - globby: ^11.0.1 - ora: ^5.1.0 - slash: ^3.0.0 - tmp: ^0.2.1 - workerpool: ^6.0.3 - bin: - ember-template-recast: lib/bin.js - checksum: 1ed187176ee16ba1a35920bcc3d0be85971030d111dea3bd7843c4bd84a4f6d29cda153a781190191b6bb865a2e49338591d16f4442f69c7dec932b1956cc23a - languageName: node - linkType: hard - "emittery@npm:^0.10.2": version: 0.10.2 resolution: "emittery@npm:0.10.2" @@ -14903,17 +15391,6 @@ __metadata: languageName: node linkType: hard -"eslint-config-prettier@npm:^8.3.0": - version: 8.3.0 - resolution: "eslint-config-prettier@npm:8.3.0" - peerDependencies: - eslint: ">=7.0.0" - bin: - eslint-config-prettier: bin/cli.js - checksum: df4cea3032671995bb5ab07e016169072f7fa59f44a53251664d9ca60951b66cdc872683b5c6a3729c91497c11490ca44a79654b395dd6756beb0c3903a37196 - languageName: node - linkType: hard - "eslint-config-prettier@npm:^9.1.0": version: 9.1.0 resolution: "eslint-config-prettier@npm:9.1.0" @@ -15085,21 +15562,6 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-prettier@npm:^3.4.0": - version: 3.4.0 - resolution: "eslint-plugin-prettier@npm:3.4.0" - dependencies: - prettier-linter-helpers: ^1.0.0 - peerDependencies: - eslint: ">=5.0.0" - prettier: ">=1.13.0" - peerDependenciesMeta: - eslint-config-prettier: - optional: true - checksum: 30a07e8d12637d2988e371f6a20ff4c86fd7fdc3596d1d18d62c0367804f38e06a65052d0281234aeb2552e4d1908dcb2de20543413e038251a2717a46400a9d - languageName: node - linkType: hard - "eslint-plugin-prettier@npm:^5.1.3": version: 5.1.3 resolution: "eslint-plugin-prettier@npm:5.1.3" @@ -15194,6 +15656,16 @@ __metadata: languageName: node linkType: hard +"eslint-scope@npm:^7.2.2": + version: 7.2.2 + resolution: "eslint-scope@npm:7.2.2" + dependencies: + esrecurse: ^4.3.0 + estraverse: ^5.2.0 + checksum: ec97dbf5fb04b94e8f4c5a91a7f0a6dd3c55e46bfc7bbcd0e3138c3a76977570e02ed89a1810c778dcd72072ff0e9621ba1379b4babe53921d71e2e4486fda3e + languageName: node + linkType: hard + "eslint-utils@npm:^2.0.0, eslint-utils@npm:^2.1.0": version: 2.1.0 resolution: "eslint-utils@npm:2.1.0" @@ -15235,7 +15707,7 @@ __metadata: languageName: node linkType: hard -"eslint-visitor-keys@npm:^3.4.1": +"eslint-visitor-keys@npm:^3.4.1, eslint-visitor-keys@npm:^3.4.3": version: 3.4.3 resolution: "eslint-visitor-keys@npm:3.4.3" checksum: 36e9ef87fca698b6fd7ca5ca35d7b2b6eeaaf106572e2f7fd31c12d3bfdaccdb587bba6d3621067e5aece31c8c3a348b93922ab8f7b2cbc6aaab5e1d89040c60 @@ -15352,6 +15824,54 @@ __metadata: languageName: node linkType: hard +"eslint@npm:^8.56.0": + version: 8.56.0 + resolution: "eslint@npm:8.56.0" + dependencies: + "@eslint-community/eslint-utils": ^4.2.0 + "@eslint-community/regexpp": ^4.6.1 + "@eslint/eslintrc": ^2.1.4 + "@eslint/js": 8.56.0 + "@humanwhocodes/config-array": ^0.11.13 + "@humanwhocodes/module-importer": ^1.0.1 + "@nodelib/fs.walk": ^1.2.8 + "@ungap/structured-clone": ^1.2.0 + ajv: ^6.12.4 + chalk: ^4.0.0 + cross-spawn: ^7.0.2 + debug: ^4.3.2 + doctrine: ^3.0.0 + escape-string-regexp: ^4.0.0 + eslint-scope: ^7.2.2 + eslint-visitor-keys: ^3.4.3 + espree: ^9.6.1 + esquery: ^1.4.2 + esutils: ^2.0.2 + fast-deep-equal: ^3.1.3 + file-entry-cache: ^6.0.1 + find-up: ^5.0.0 + glob-parent: ^6.0.2 + globals: ^13.19.0 + graphemer: ^1.4.0 + ignore: ^5.2.0 + imurmurhash: ^0.1.4 + is-glob: ^4.0.0 + is-path-inside: ^3.0.3 + js-yaml: ^4.1.0 + json-stable-stringify-without-jsonify: ^1.0.1 + levn: ^0.4.1 + lodash.merge: ^4.6.2 + minimatch: ^3.1.2 + natural-compare: ^1.4.0 + optionator: ^0.9.3 + strip-ansi: ^6.0.1 + text-table: ^0.2.0 + bin: + eslint: bin/eslint.js + checksum: 883436d1e809b4a25d9eb03d42f584b84c408dbac28b0019f6ea07b5177940bf3cca86208f749a6a1e0039b63e085ee47aca1236c30721e91f0deef5cc5a5136 + languageName: node + linkType: hard + "espree@npm:^7.3.0, espree@npm:^7.3.1": version: 7.3.1 resolution: "espree@npm:7.3.1" @@ -15374,6 +15894,17 @@ __metadata: languageName: node linkType: hard +"espree@npm:^9.6.0, espree@npm:^9.6.1": + version: 9.6.1 + resolution: "espree@npm:9.6.1" + dependencies: + acorn: ^8.9.0 + acorn-jsx: ^5.3.2 + eslint-visitor-keys: ^3.4.1 + checksum: eb8c149c7a2a77b3f33a5af80c10875c3abd65450f60b8af6db1bfcfa8f101e21c1e56a561c6dc13b848e18148d43469e7cd208506238554fb5395a9ea5a1ab9 + languageName: node + linkType: hard + "esprima@npm:^4.0.0, esprima@npm:^4.0.1, esprima@npm:~4.0.0": version: 4.0.1 resolution: "esprima@npm:4.0.1" @@ -15393,6 +15924,15 @@ __metadata: languageName: node linkType: hard +"esquery@npm:^1.4.2": + version: 1.5.0 + resolution: "esquery@npm:1.5.0" + dependencies: + estraverse: ^5.1.0 + checksum: aefb0d2596c230118656cd4ec7532d447333a410a48834d80ea648b1e7b5c9bc9ed8b5e33a89cb04e487b60d622f44cf5713bf4abed7c97343edefdc84a35900 + languageName: node + linkType: hard + "esrecurse@npm:^4.1.0, esrecurse@npm:^4.3.0": version: 4.3.0 resolution: "esrecurse@npm:4.3.0" @@ -15446,7 +15986,7 @@ __metadata: languageName: node linkType: hard -"esutils@npm:^2.0.2, esutils@npm:^2.0.3": +"esutils@npm:^2.0.2": version: 2.0.3 resolution: "esutils@npm:2.0.3" checksum: 22b5b08f74737379a840b8ed2036a5fb35826c709ab000683b092d9054e5c2a82c27818f12604bfc2a9a76b90b6834ef081edbc1c7ae30d1627012e067c6ec87 @@ -15756,7 +16296,7 @@ __metadata: languageName: node linkType: hard -"fast-diff@npm:^1.1.2, fast-diff@npm:^1.2.0": +"fast-diff@npm:^1.1.2": version: 1.2.0 resolution: "fast-diff@npm:1.2.0" checksum: 1b5306eaa9e826564d9e5ffcd6ebd881eb5f770b3f977fcbf38f05c824e42172b53c79920e8429c54eb742ce15a0caf268b0fdd5b38f6de52234c4a8368131ae @@ -15776,6 +16316,19 @@ __metadata: languageName: node linkType: hard +"fast-glob@npm:^3.3.2": + version: 3.3.2 + resolution: "fast-glob@npm:3.3.2" + dependencies: + "@nodelib/fs.stat": ^2.0.2 + "@nodelib/fs.walk": ^1.2.3 + glob-parent: ^5.1.2 + merge2: ^1.3.0 + micromatch: ^4.0.4 + checksum: 900e4979f4dbc3313840078419245621259f349950411ca2fa445a2f9a1a6d98c3b5e7e0660c5ccd563aa61abe133a21765c6c0dec8e57da1ba71d8000b05ec1 + languageName: node + linkType: hard + "fast-json-stable-stringify@npm:2.x, fast-json-stable-stringify@npm:^2.0.0, fast-json-stable-stringify@npm:^2.1.0": version: 2.1.0 resolution: "fast-json-stable-stringify@npm:2.1.0" @@ -16167,6 +16720,15 @@ __metadata: languageName: node linkType: hard +"for-each@npm:^0.3.3": + version: 0.3.3 + resolution: "for-each@npm:0.3.3" + dependencies: + is-callable: ^1.1.3 + checksum: 6c48ff2bc63362319c65e2edca4a8e1e3483a2fabc72fbe7feaf8c73db94fc7861bd53bc02c8a66a0c1dd709da6b04eec42e0abdd6b40ce47305ae92a25e5d28 + languageName: node + linkType: hard + "for-in@npm:^1.0.2": version: 1.0.2 resolution: "for-in@npm:1.0.2" @@ -16468,6 +17030,13 @@ fsevents@^1.2.7: languageName: node linkType: hard +"function-bind@npm:^1.1.2": + version: 1.1.2 + resolution: "function-bind@npm:1.1.2" + checksum: 2b0ff4ce708d99715ad14a6d1f894e2a83242e4a52ccfcefaee5e40050562e5f6dafc1adbb4ce2d4ab47279a45dc736ab91ea5042d843c3c092820dfe032efb1 + languageName: node + linkType: hard + "function.prototype.name@npm:^1.1.5": version: 1.1.5 resolution: "function.prototype.name@npm:1.1.5" @@ -16558,6 +17127,18 @@ fsevents@^1.2.7: languageName: node linkType: hard +"get-intrinsic@npm:^1.1.3, get-intrinsic@npm:^1.2.1, get-intrinsic@npm:^1.2.2": + version: 1.2.2 + resolution: "get-intrinsic@npm:1.2.2" + dependencies: + function-bind: ^1.1.2 + has-proto: ^1.0.1 + has-symbols: ^1.0.3 + hasown: ^2.0.0 + checksum: 447ff0724df26829908dc033b62732359596fcf66027bc131ab37984afb33842d9cd458fd6cecadfe7eac22fd8a54b349799ed334cf2726025c921c7250e7417 + languageName: node + linkType: hard + "get-nonce@npm:^1.0.0": version: 1.0.1 resolution: "get-nonce@npm:1.0.1" @@ -16769,6 +17350,15 @@ fsevents@^1.2.7: languageName: node linkType: hard +"globals@npm:^13.19.0": + version: 13.24.0 + resolution: "globals@npm:13.24.0" + dependencies: + type-fest: ^0.20.2 + checksum: 56066ef058f6867c04ff203b8a44c15b038346a62efbc3060052a1016be9f56f4cf0b2cd45b74b22b81e521a889fc7786c73691b0549c2f3a6e825b3d394f43c + languageName: node + linkType: hard + "globalyzer@npm:0.1.0": version: 0.1.0 resolution: "globalyzer@npm:0.1.0" @@ -16804,7 +17394,7 @@ fsevents@^1.2.7: languageName: node linkType: hard -"globby@npm:^11.0.1, globby@npm:^11.0.2, globby@npm:^11.0.3, globby@npm:^11.0.4, globby@npm:^11.1.0": +"globby@npm:^11.0.1, globby@npm:^11.0.3, globby@npm:^11.0.4, globby@npm:^11.1.0": version: 11.1.0 resolution: "globby@npm:11.1.0" dependencies: @@ -16831,6 +17421,20 @@ fsevents@^1.2.7: languageName: node linkType: hard +"globby@npm:^14.0.0": + version: 14.0.0 + resolution: "globby@npm:14.0.0" + dependencies: + "@sindresorhus/merge-streams": ^1.0.0 + fast-glob: ^3.3.2 + ignore: ^5.2.4 + path-type: ^5.0.0 + slash: ^5.1.0 + unicorn-magic: ^0.1.0 + checksum: f331b42993e420c8f2b61a6ca062276977ea6d95f181640ff018f00200f4fe5b50f1fae7540903483e6570ca626fe16234ab88e848d43381a2529220548a9d39 + languageName: node + linkType: hard + "globrex@npm:^0.1.2": version: 0.1.2 resolution: "globrex@npm:0.1.2" @@ -16838,6 +17442,15 @@ fsevents@^1.2.7: languageName: node linkType: hard +"gopd@npm:^1.0.1": + version: 1.0.1 + resolution: "gopd@npm:1.0.1" + dependencies: + get-intrinsic: ^1.1.3 + checksum: a5ccfb8806e0917a94e0b3de2af2ea4979c1da920bc381667c260e00e7cafdbe844e2cb9c5bcfef4e5412e8bf73bab837285bc35c7ba73aaaf0134d4583393a6 + languageName: node + linkType: hard + "got@npm:11.8.3": version: 11.8.3 resolution: "got@npm:11.8.3" @@ -17067,6 +17680,22 @@ fsevents@^1.2.7: languageName: node linkType: hard +"has-property-descriptors@npm:^1.0.1": + version: 1.0.1 + resolution: "has-property-descriptors@npm:1.0.1" + dependencies: + get-intrinsic: ^1.2.2 + checksum: 2bcc6bf6ec6af375add4e4b4ef586e43674850a91ad4d46666d0b28ba8e1fd69e424c7677d24d60f69470ad0afaa2f3197f508b20b0bb7dd99a8ab77ffc4b7c4 + languageName: node + linkType: hard + +"has-proto@npm:^1.0.1": + version: 1.0.1 + resolution: "has-proto@npm:1.0.1" + checksum: febc5b5b531de8022806ad7407935e2135f1cc9e64636c3916c6842bd7995994ca3b29871ecd7954bd35f9e2986c17b3b227880484d22259e2f8e6ce63fd383e + languageName: node + linkType: hard + "has-symbols@npm:^1.0.1, has-symbols@npm:^1.0.2, has-symbols@npm:^1.0.3": version: 1.0.3 resolution: "has-symbols@npm:1.0.3" @@ -17166,6 +17795,15 @@ fsevents@^1.2.7: languageName: node linkType: hard +"hasown@npm:^2.0.0": + version: 2.0.0 + resolution: "hasown@npm:2.0.0" + dependencies: + function-bind: ^1.1.2 + checksum: 6151c75ca12554565098641c98a40f4cc86b85b0fd5b6fe92360967e4605a4f9610f7757260b4e8098dd1c2ce7f4b095f2006fe72a570e3b6d2d28de0298c176 + languageName: node + linkType: hard + "hast-to-hyperscript@npm:^9.0.0": version: 9.0.1 resolution: "hast-to-hyperscript@npm:9.0.1" @@ -18140,6 +18778,16 @@ fsevents@^1.2.7: languageName: node linkType: hard +"is-arguments@npm:^1.0.4": + version: 1.1.1 + resolution: "is-arguments@npm:1.1.1" + dependencies: + call-bind: ^1.0.2 + has-tostringtag: ^1.0.0 + checksum: 7f02700ec2171b691ef3e4d0e3e6c0ba408e8434368504bb593d0d7c891c0dbfda6d19d30808b904a6cb1929bca648c061ba438c39f296c2a8ca083229c49f27 + languageName: node + linkType: hard + "is-arrayish@npm:^0.2.1": version: 0.2.1 resolution: "is-arrayish@npm:0.2.1" @@ -18202,6 +18850,13 @@ fsevents@^1.2.7: languageName: node linkType: hard +"is-callable@npm:^1.1.3": + version: 1.2.7 + resolution: "is-callable@npm:1.2.7" + checksum: 61fd57d03b0d984e2ed3720fb1c7a897827ea174bd44402878e059542ea8c4aeedee0ea0985998aa5cc2736b2fa6e271c08587addb5b3959ac52cf665173d1ac + languageName: node + linkType: hard + "is-callable@npm:^1.1.4, is-callable@npm:^1.2.4": version: 1.2.4 resolution: "is-callable@npm:1.2.4" @@ -18377,6 +19032,15 @@ fsevents@^1.2.7: languageName: node linkType: hard +"is-generator-function@npm:^1.0.7": + version: 1.0.10 + resolution: "is-generator-function@npm:1.0.10" + dependencies: + has-tostringtag: ^1.0.0 + checksum: d54644e7dbaccef15ceb1e5d91d680eb5068c9ee9f9eb0a9e04173eb5542c9b51b5ab52c5537f5703e48d5fddfd376817c1ca07a84a407b7115b769d4bdde72b + languageName: node + linkType: hard + "is-glob@npm:4.0.1": version: 4.0.1 resolution: "is-glob@npm:4.0.1" @@ -18451,6 +19115,16 @@ fsevents@^1.2.7: languageName: node linkType: hard +"is-nan@npm:^1.3.2": + version: 1.3.2 + resolution: "is-nan@npm:1.3.2" + dependencies: + call-bind: ^1.0.0 + define-properties: ^1.1.3 + checksum: 5dfadcef6ad12d3029d43643d9800adbba21cf3ce2ec849f734b0e14ee8da4070d82b15fdb35138716d02587c6578225b9a22779cab34888a139cc43e4e3610a + languageName: node + linkType: hard + "is-negative-zero@npm:^2.0.2": version: 2.0.2 resolution: "is-negative-zero@npm:2.0.2" @@ -18532,7 +19206,7 @@ fsevents@^1.2.7: languageName: node linkType: hard -"is-path-inside@npm:^3.0.2": +"is-path-inside@npm:^3.0.2, is-path-inside@npm:^3.0.3": version: 3.0.3 resolution: "is-path-inside@npm:3.0.3" checksum: abd50f06186a052b349c15e55b182326f1936c89a78bf6c8f2b707412517c097ce04bc49a0ca221787bc44e1049f51f09a2ffb63d22899051988d3a618ba13e9 @@ -18703,6 +19377,15 @@ fsevents@^1.2.7: languageName: node linkType: hard +"is-typed-array@npm:^1.1.3": + version: 1.1.12 + resolution: "is-typed-array@npm:1.1.12" + dependencies: + which-typed-array: ^1.1.11 + checksum: 4c89c4a3be07186caddadf92197b17fda663a9d259ea0d44a85f171558270d36059d1c386d34a12cba22dfade5aba497ce22778e866adc9406098c8fc4771796 + languageName: node + linkType: hard + "is-typedarray@npm:^1.0.0": version: 1.0.0 resolution: "is-typedarray@npm:1.0.0" @@ -19997,13 +20680,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"js-string-escape@npm:^1.0.1": - version: 1.0.1 - resolution: "js-string-escape@npm:1.0.1" - checksum: f11e0991bf57e0c183b55c547acec85bd2445f043efc9ea5aa68b41bd2a3e7d3ce94636cb233ae0d84064ba4c1a505d32e969813c5b13f81e7d4be12c59256fe - languageName: node - linkType: hard - "js-tokens@npm:^3.0.0 || ^4.0.0, js-tokens@npm:^4.0.0": version: 4.0.0 resolution: "js-tokens@npm:4.0.0" @@ -20034,34 +20710,38 @@ fsevents@^1.2.7: languageName: node linkType: hard -"jscodeshift@npm:0.13.1": - version: 0.13.1 - resolution: "jscodeshift@npm:0.13.1" - dependencies: - "@babel/core": ^7.13.16 - "@babel/parser": ^7.13.16 - "@babel/plugin-proposal-class-properties": ^7.13.0 - "@babel/plugin-proposal-nullish-coalescing-operator": ^7.13.8 - "@babel/plugin-proposal-optional-chaining": ^7.13.12 - "@babel/plugin-transform-modules-commonjs": ^7.13.8 - "@babel/preset-flow": ^7.13.13 - "@babel/preset-typescript": ^7.13.0 - "@babel/register": ^7.13.16 +"jscodeshift@npm:^0.15.1": + version: 0.15.1 + resolution: "jscodeshift@npm:0.15.1" + dependencies: + "@babel/core": ^7.23.0 + "@babel/parser": ^7.23.0 + "@babel/plugin-transform-class-properties": ^7.22.5 + "@babel/plugin-transform-modules-commonjs": ^7.23.0 + "@babel/plugin-transform-nullish-coalescing-operator": ^7.22.11 + "@babel/plugin-transform-optional-chaining": ^7.23.0 + "@babel/plugin-transform-private-methods": ^7.22.5 + "@babel/preset-flow": ^7.22.15 + "@babel/preset-typescript": ^7.23.0 + "@babel/register": ^7.22.15 babel-core: ^7.0.0-bridge.0 chalk: ^4.1.2 flow-parser: 0.* graceful-fs: ^4.2.4 - micromatch: ^3.1.10 + micromatch: ^4.0.4 neo-async: ^2.5.0 node-dir: ^0.1.17 - recast: ^0.20.4 + recast: ^0.23.3 temp: ^0.8.4 write-file-atomic: ^2.3.0 peerDependencies: "@babel/preset-env": ^7.1.6 + peerDependenciesMeta: + "@babel/preset-env": + optional: true bin: jscodeshift: bin/jscodeshift.js - checksum: 1c35938de5fc29cafec80e2c37d5c3411f85cd5d40e0243b52f2da0c1ab4b659daddfd62de558eca5d562303616f7838097727b651f4ad8e32b1e96f169cdd76 + checksum: d760dee2b634fa8a4610bdbdf787ce117a9a6bcc73e9ae55a38be77e380698d928d34a375a93ed4685e8bbdecfbd3cdbb87eb4b7e22fc58381db3d59fb554687 languageName: node linkType: hard @@ -20619,13 +21299,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"local-pkg@npm:^0.4.3": - version: 0.4.3 - resolution: "local-pkg@npm:0.4.3" - checksum: 7825aca531dd6afa3a3712a0208697aa4a5cd009065f32e3fb732aafcc42ed11f277b5ac67229222e96f4def55197171cdf3d5522d0381b489d2e5547b407d55 - languageName: node - linkType: hard - "local-pkg@npm:^0.5.0": version: 0.5.0 resolution: "local-pkg@npm:0.5.0" @@ -20828,7 +21501,7 @@ fsevents@^1.2.7: languageName: node linkType: hard -"lodash@npm:4.17.21, lodash@npm:^4.17.14, lodash@npm:^4.17.15, lodash@npm:^4.17.19, lodash@npm:^4.17.20, lodash@npm:^4.17.21, lodash@npm:^4.17.5, lodash@npm:^4.7.0, lodash@npm:~4.17.0, lodash@npm:~4.17.15": +"lodash@npm:4.17.21, lodash@npm:^4.17.15, lodash@npm:^4.17.19, lodash@npm:^4.17.20, lodash@npm:^4.17.21, lodash@npm:^4.17.5, lodash@npm:^4.7.0, lodash@npm:~4.17.0, lodash@npm:~4.17.15": version: 4.17.21 resolution: "lodash@npm:4.17.21" checksum: eb835a2e51d381e561e508ce932ea50a8e5a68f4ebdd771ea240d3048244a8d13658acbd502cd4829768c56f2e16bdd4340b9ea141297d472517b83868e677f7 @@ -20876,7 +21549,7 @@ fsevents@^1.2.7: languageName: node linkType: hard -"loupe@npm:^2.3.1, loupe@npm:^2.3.6": +"loupe@npm:^2.3.6": version: 2.3.6 resolution: "loupe@npm:2.3.6" dependencies: @@ -20969,15 +21642,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"magic-string@npm:^0.30.0": - version: 0.30.0 - resolution: "magic-string@npm:0.30.0" - dependencies: - "@jridgewell/sourcemap-codec": ^1.4.13 - checksum: 7bdf22e27334d8a393858a16f5f840af63a7c05848c000fd714da5aa5eefa09a1bc01d8469362f25cc5c4a14ec01b46557b7fff8751365522acddf21e57c488d - languageName: node - linkType: hard - "magic-string@npm:^0.30.5": version: 0.30.5 resolution: "magic-string@npm:0.30.5" @@ -21114,15 +21778,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"md5-hex@npm:^3.0.1": - version: 3.0.1 - resolution: "md5-hex@npm:3.0.1" - dependencies: - blueimp-md5: ^2.10.0 - checksum: 6799a19e8bdd3e0c2861b94c1d4d858a89220488d7885c1fa236797e367d0c2e5f2b789e05309307083503f85be3603a9686a5915568a473137d6b4117419cc2 - languageName: node - linkType: hard - "md5.js@npm:^1.3.4": version: 1.3.5 resolution: "md5.js@npm:1.3.5" @@ -21531,7 +22186,7 @@ fsevents@^1.2.7: languageName: node linkType: hard -"minimatch@npm:3.1.2, minimatch@npm:^3.0.2, minimatch@npm:^3.0.4, minimatch@npm:^3.1.2": +"minimatch@npm:3.1.2, minimatch@npm:^3.0.2, minimatch@npm:^3.0.4, minimatch@npm:^3.0.5, minimatch@npm:^3.1.2": version: 3.1.2 resolution: "minimatch@npm:3.1.2" dependencies: @@ -21540,6 +22195,15 @@ fsevents@^1.2.7: languageName: node linkType: hard +"minimatch@npm:9.0.3": + version: 9.0.3 + resolution: "minimatch@npm:9.0.3" + dependencies: + brace-expansion: ^2.0.1 + checksum: 253487976bf485b612f16bf57463520a14f512662e592e95c571afdab1442a6a6864b6c88f248ce6fc4ff0b6de04ac7aa6c8bb51e868e99d1d65eb0658a708b5 + languageName: node + linkType: hard + "minimatch@npm:^5.0.1": version: 5.1.0 resolution: "minimatch@npm:5.1.0" @@ -21931,6 +22595,13 @@ fsevents@^1.2.7: languageName: node linkType: hard +"natural-compare-lite@npm:^1.4.0": + version: 1.4.0 + resolution: "natural-compare-lite@npm:1.4.0" + checksum: 5222ac3986a2b78dd6069ac62cbb52a7bf8ffc90d972ab76dfe7b01892485d229530ed20d0c62e79a6b363a663b273db3bde195a1358ce9e5f779d4453887225 + languageName: node + linkType: hard + "natural-compare@npm:^1.4.0": version: 1.4.0 resolution: "natural-compare@npm:1.4.0" @@ -22470,6 +23141,16 @@ fsevents@^1.2.7: languageName: node linkType: hard +"object-is@npm:^1.1.5": + version: 1.1.5 + resolution: "object-is@npm:1.1.5" + dependencies: + call-bind: ^1.0.2 + define-properties: ^1.1.3 + checksum: 989b18c4cba258a6b74dc1d74a41805c1a1425bce29f6cabb50dcb1a6a651ea9104a1b07046739a49a5bb1bc49727bcb00efd5c55f932f6ea04ec8927a7901fe + languageName: node + linkType: hard + "object-keys@npm:^1.1.1": version: 1.1.1 resolution: "object-keys@npm:1.1.1" @@ -22498,6 +23179,18 @@ fsevents@^1.2.7: languageName: node linkType: hard +"object.assign@npm:^4.1.4": + version: 4.1.5 + resolution: "object.assign@npm:4.1.5" + dependencies: + call-bind: ^1.0.5 + define-properties: ^1.2.1 + has-symbols: ^1.0.3 + object-keys: ^1.1.1 + checksum: f9aeac0541661370a1fc86e6a8065eb1668d3e771f7dbb33ee54578201336c057b21ee61207a186dd42db0c62201d91aac703d20d12a79fc79c353eed44d4e25 + languageName: node + linkType: hard + "object.entries@npm:^1.1.5": version: 1.1.5 resolution: "object.entries@npm:1.1.5" @@ -22707,7 +23400,21 @@ fsevents@^1.2.7: languageName: node linkType: hard -"ora@npm:5.4.1, ora@npm:^5.1.0, ora@npm:^5.4.0, ora@npm:^5.4.1": +"optionator@npm:^0.9.3": + version: 0.9.3 + resolution: "optionator@npm:0.9.3" + dependencies: + "@aashutoshrathi/word-wrap": ^1.2.3 + deep-is: ^0.1.3 + fast-levenshtein: ^2.0.6 + levn: ^0.4.1 + prelude-ls: ^1.2.1 + type-check: ^0.4.0 + checksum: 09281999441f2fe9c33a5eeab76700795365a061563d66b098923eb719251a42bdbe432790d35064d0816ead9296dbeb1ad51a733edf4167c96bd5d0882e428a + languageName: node + linkType: hard + +"ora@npm:5.4.1, ora@npm:^5.4.0, ora@npm:^5.4.1": version: 5.4.1 resolution: "ora@npm:5.4.1" dependencies: @@ -22810,15 +23517,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"p-limit@npm:^4.0.0": - version: 4.0.0 - resolution: "p-limit@npm:4.0.0" - dependencies: - yocto-queue: ^1.0.0 - checksum: 01d9d70695187788f984226e16c903475ec6a947ee7b21948d6f597bed788e3112cc7ec2e171c1d37125057a5f45f3da21d8653e04a3a793589e12e9e80e756b - languageName: node - linkType: hard - "p-limit@npm:^5.0.0": version: 5.0.0 resolution: "p-limit@npm:5.0.0" @@ -23255,6 +23953,13 @@ fsevents@^1.2.7: languageName: node linkType: hard +"path-type@npm:^5.0.0": + version: 5.0.0 + resolution: "path-type@npm:5.0.0" + checksum: 15ec24050e8932c2c98d085b72cfa0d6b4eeb4cbde151a0a05726d8afae85784fc5544f733d8dfc68536587d5143d29c0bd793623fad03d7e61cc00067291cd5 + languageName: node + linkType: hard + "pathe@npm:^1.1.0": version: 1.1.0 resolution: "pathe@npm:1.1.0" @@ -23338,13 +24043,20 @@ fsevents@^1.2.7: languageName: node linkType: hard -"pirates@npm:^4.0.1, pirates@npm:^4.0.4, pirates@npm:^4.0.5": +"pirates@npm:^4.0.1, pirates@npm:^4.0.4": version: 4.0.5 resolution: "pirates@npm:4.0.5" checksum: c9994e61b85260bec6c4fc0307016340d9b0c4f4b6550a957afaaff0c9b1ad58fbbea5cfcf083860a25cb27a375442e2b0edf52e2e1e40e69934e08dcc52d227 languageName: node linkType: hard +"pirates@npm:^4.0.6": + version: 4.0.6 + resolution: "pirates@npm:4.0.6" + checksum: 46a65fefaf19c6f57460388a5af9ab81e3d7fd0e7bc44ca59d753cb5c4d0df97c6c6e583674869762101836d68675f027d60f841c105d72734df9dfca97cbcc6 + languageName: node + linkType: hard + "pkg-dir@npm:^3.0.0": version: 3.0.0 resolution: "pkg-dir@npm:3.0.0" @@ -24704,17 +25416,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"postcss@npm:^8.4.20": - version: 8.4.21 - resolution: "postcss@npm:8.4.21" - dependencies: - nanoid: ^3.3.4 - picocolors: ^1.0.0 - source-map-js: ^1.0.2 - checksum: e39ac60ccd1542d4f9d93d894048aac0d686b3bb38e927d8386005718e6793dbbb46930f0a523fe382f1bbd843c6d980aaea791252bf5e176180e5a4336d9679 - languageName: node - linkType: hard - "postcss@npm:^8.4.32": version: 8.4.33 resolution: "postcss@npm:8.4.33" @@ -25804,7 +26505,7 @@ fsevents@^1.2.7: languageName: node linkType: hard -"recast@npm:^0.20.3, recast@npm:^0.20.4": +"recast@npm:^0.20.3": version: 0.20.5 resolution: "recast@npm:0.20.5" dependencies: @@ -25816,6 +26517,19 @@ fsevents@^1.2.7: languageName: node linkType: hard +"recast@npm:^0.23.3": + version: 0.23.4 + resolution: "recast@npm:0.23.4" + dependencies: + assert: ^2.0.0 + ast-types: ^0.16.1 + esprima: ~4.0.0 + source-map: ~0.6.1 + tslib: ^2.0.1 + checksum: edb63bbe0457e68c0f4892f55413000e92aa7c5c53f9e109ab975d1c801cd299a62511ea72734435791f4aea6f0edf560f6a275761f66b2b6069ff6d72686029 + languageName: node + linkType: hard + "rechoir@npm:^0.6.2": version: 0.6.2 resolution: "rechoir@npm:0.6.2" @@ -26701,20 +27415,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"rollup@npm:^3.7.0": - version: 3.10.0 - resolution: "rollup@npm:3.10.0" - dependencies: - fsevents: ~2.3.2 - dependenciesMeta: - fsevents: - optional: true - bin: - rollup: dist/bin/rollup - checksum: 31a882689c58d084ac36362aeaf2422dc4b80d671bd88c856693c37d63a26ddac9b9819dfba7f79c2d50d5207868b0e3d75f728fe551bbc347cf5dedf8ece18e - languageName: node - linkType: hard - "rollup@npm:^4.2.0": version: 4.9.3 resolution: "rollup@npm:4.9.3" @@ -26780,6 +27480,8 @@ fsevents@^1.2.7: version: 0.0.0-use.local resolution: "rtk-monorepo@workspace:." dependencies: + "@typescript-eslint/eslint-plugin": 6.12.0 + "@typescript-eslint/parser": 6.12.0 eslint: ^7.25.0 eslint-config-prettier: ^9.1.0 eslint-config-react-app: ^7.0.1 @@ -27162,6 +27864,15 @@ fsevents@^1.2.7: languageName: node linkType: hard +"semver@npm:^6.3.1": + version: 6.3.1 + resolution: "semver@npm:6.3.1" + bin: + semver: bin/semver.js + checksum: ae47d06de28836adb9d3e25f22a92943477371292d9b665fb023fae278d345d508ca1958232af086d85e0155aee22e313e100971898bbb8d5d89b8b1d4054ca2 + languageName: node + linkType: hard + "semver@npm:^7.0.0, semver@npm:^7.5.4": version: 7.5.4 resolution: "semver@npm:7.5.4" @@ -27317,6 +28028,19 @@ fsevents@^1.2.7: languageName: node linkType: hard +"set-function-length@npm:^1.1.1": + version: 1.2.0 + resolution: "set-function-length@npm:1.2.0" + dependencies: + define-data-property: ^1.1.1 + function-bind: ^1.1.2 + get-intrinsic: ^1.2.2 + gopd: ^1.0.1 + has-property-descriptors: ^1.0.1 + checksum: 63e34b45a2ff9abb419f52583481bf8ba597d33c0c85e56999085eb6078a0f7fbb4222051981c287feceeb358aa7789e7803cea2c82ac94c0ab37059596aff79 + languageName: node + linkType: hard + "set-value@npm:^2.0.0, set-value@npm:^2.0.1": version: 2.0.1 resolution: "set-value@npm:2.0.1" @@ -27532,13 +28256,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"simple-html-tokenizer@npm:^0.5.10": - version: 0.5.11 - resolution: "simple-html-tokenizer@npm:0.5.11" - checksum: f834a5a0b169ffe10f74bd479a071a7161e0186669e28a1cd662efacdaedd27667469e2b965d5a8538d9d8e7373cb741ea8d748259221f40fa3e4bda2efbdbfc - languageName: node - linkType: hard - "simple-swizzle@npm:^0.2.2": version: 0.2.2 resolution: "simple-swizzle@npm:0.2.2" @@ -27621,6 +28338,13 @@ fsevents@^1.2.7: languageName: node linkType: hard +"slash@npm:^5.1.0": + version: 5.1.0 + resolution: "slash@npm:5.1.0" + checksum: 70434b34c50eb21b741d37d455110258c42d2cf18c01e6518aeb7299f3c6e626330c889c0c552b5ca2ef54a8f5a74213ab48895f0640717cacefeef6830a1ba4 + languageName: node + linkType: hard + "slice-ansi@npm:0.0.4": version: 0.0.4 resolution: "slice-ansi@npm:0.0.4" @@ -28048,13 +28772,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"std-env@npm:^3.3.2": - version: 3.3.2 - resolution: "std-env@npm:3.3.2" - checksum: c02256bb041ba1870d23f8360bc7e47a9cf1fabcd02c8b7c4246d48f2c6bb47b4f45c70964348844e6d36521df84c4a9d09d468654b51e0eb5c600e3392b4570 - languageName: node - linkType: hard - "std-env@npm:^3.5.0": version: 3.7.0 resolution: "std-env@npm:3.7.0" @@ -28391,15 +29108,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"strip-literal@npm:^1.0.1": - version: 1.0.1 - resolution: "strip-literal@npm:1.0.1" - dependencies: - acorn: ^8.8.2 - checksum: ab40496820f02220390d95cdd620a997168efb69d5bd7d180bc4ef83ca562a95447843d8c7c88b8284879a29cf4eedc89d8001d1e098c1a1e23d12a9c755dff4 - languageName: node - linkType: hard - "strip-literal@npm:^1.3.0": version: 1.3.0 resolution: "strip-literal@npm:1.3.0" @@ -28979,13 +29687,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"time-zone@npm:^1.0.0": - version: 1.0.0 - resolution: "time-zone@npm:1.0.0" - checksum: e46f5a69b8c236dcd8e91e29d40d4e7a3495ed4f59888c3f84ce1d9678e20461421a6ba41233509d47dd94bc18f1a4377764838b21b584663f942b3426dcbce8 - languageName: node - linkType: hard - "timers-browserify@npm:^2.0.4": version: 2.0.12 resolution: "timers-browserify@npm:2.0.12" @@ -29026,13 +29727,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"tinybench@npm:^2.4.0": - version: 2.4.0 - resolution: "tinybench@npm:2.4.0" - checksum: cfbe90f75755488653dde256019cc810f65e90f63fdd962e71e8b209b49598c5fc90c2227d2087eb807944895fafe7f12fe9ecae2b5e89db5adde66415e9b836 - languageName: node - linkType: hard - "tinybench@npm:^2.5.1": version: 2.5.1 resolution: "tinybench@npm:2.5.1" @@ -29047,13 +29741,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"tinypool@npm:^0.4.0": - version: 0.4.0 - resolution: "tinypool@npm:0.4.0" - checksum: 8abcac9e784793499f1eeeace8290c026454b9d7338c74029ce6a821643bab8dcab7caeb4051e39006baf681d6a62d57c3319e9c0f6e2317a45ab0fdbd76ee26 - languageName: node - linkType: hard - "tinypool@npm:^0.8.1": version: 0.8.1 resolution: "tinypool@npm:0.8.1" @@ -29061,13 +29748,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"tinyspy@npm:^2.1.0": - version: 2.1.0 - resolution: "tinyspy@npm:2.1.0" - checksum: cb83c1f74a79dd5934018bad94f60a304a29d98a2d909ea45fc367f7b80b21b0a7d8135a2ce588deb2b3ba56c7c607258b2a03e6001d89e4d564f9a95cc6a81f - languageName: node - linkType: hard - "tinyspy@npm:^2.2.0": version: 2.2.0 resolution: "tinyspy@npm:2.2.0" @@ -29093,15 +29773,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"tmp@npm:^0.2.1": - version: 0.2.1 - resolution: "tmp@npm:0.2.1" - dependencies: - rimraf: ^3.0.0 - checksum: 8b1214654182575124498c87ca986ac53dc76ff36e8f0e0b67139a8d221eaecfdec108c0e6ec54d76f49f1f72ab9325500b246f562b926f85bcdfca8bf35df9e - languageName: node - linkType: hard - "tmpl@npm:1.0.5": version: 1.0.5 resolution: "tmpl@npm:1.0.5" @@ -29579,7 +30250,7 @@ fsevents@^1.2.7: languageName: node linkType: hard -"type-detect@npm:4.0.8, type-detect@npm:^4.0.0, type-detect@npm:^4.0.5, type-detect@npm:^4.0.8": +"type-detect@npm:4.0.8, type-detect@npm:^4.0.0, type-detect@npm:^4.0.8": version: 4.0.8 resolution: "type-detect@npm:4.0.8" checksum: 62b5628bff67c0eb0b66afa371bd73e230399a8d2ad30d852716efcc4656a7516904570cd8631a49a3ce57c10225adf5d0cbdcb47f6b0255fe6557c453925a15 @@ -29639,7 +30310,7 @@ fsevents@^1.2.7: languageName: node linkType: hard -"typescript@npm:^4.1.3, typescript@npm:^4.3.4, typescript@npm:^4.8.0, typescript@npm:^4.9, typescript@npm:~4.9": +"typescript@npm:^4.1.3, typescript@npm:^4.3.4, typescript@npm:^4.9, typescript@npm:~4.9": version: 4.9.5 resolution: "typescript@npm:4.9.5" bin: @@ -29689,7 +30360,7 @@ fsevents@^1.2.7: languageName: node linkType: hard -"typescript@patch:typescript@^4.1.3#~builtin, typescript@patch:typescript@^4.3.4#~builtin, typescript@patch:typescript@^4.8.0#~builtin, typescript@patch:typescript@^4.9#~builtin, typescript@patch:typescript@~4.9#~builtin": +"typescript@patch:typescript@^4.1.3#~builtin, typescript@patch:typescript@^4.3.4#~builtin, typescript@patch:typescript@^4.9#~builtin, typescript@patch:typescript@~4.9#~builtin": version: 4.9.5 resolution: "typescript@patch:typescript@npm%3A4.9.5#~builtin::version=4.9.5&hash=701156" bin: @@ -29814,6 +30485,13 @@ fsevents@^1.2.7: languageName: node linkType: hard +"unicorn-magic@npm:^0.1.0": + version: 0.1.0 + resolution: "unicorn-magic@npm:0.1.0" + checksum: 48c5882ca3378f380318c0b4eb1d73b7e3c5b728859b060276e0a490051d4180966beeb48962d850fd0c6816543bcdfc28629dcd030bb62a286a2ae2acb5acb6 + languageName: node + linkType: hard + "unified@npm:9.2.0": version: 9.2.0 resolution: "unified@npm:9.2.0" @@ -30294,6 +30972,19 @@ fsevents@^1.2.7: languageName: node linkType: hard +"util@npm:^0.12.5": + version: 0.12.5 + resolution: "util@npm:0.12.5" + dependencies: + inherits: ^2.0.3 + is-arguments: ^1.0.4 + is-generator-function: ^1.0.7 + is-typed-array: ^1.1.3 + which-typed-array: ^1.1.2 + checksum: 705e51f0de5b446f4edec10739752ac25856541e0254ea1e7e45e5b9f9b0cb105bc4bd415736a6210edc68245a7f903bf085ffb08dd7deb8a0e847f60538a38a + languageName: node + linkType: hard + "utila@npm:~0.4": version: 0.4.0 resolution: "utila@npm:0.4.0" @@ -30443,22 +31134,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"vite-node@npm:0.30.1": - version: 0.30.1 - resolution: "vite-node@npm:0.30.1" - dependencies: - cac: ^6.7.14 - debug: ^4.3.4 - mlly: ^1.2.0 - pathe: ^1.1.0 - picocolors: ^1.0.0 - vite: ^3.0.0 || ^4.0.0 - bin: - vite-node: vite-node.mjs - checksum: 2a17cca94aaf9ea689aeff0b5e900aab9e9385e97189446a7bc9c067f094556a5fcdff4a04367811694c3dcd2001bef7f5133ac66cdf4307d90742c30aff5fea - languageName: node - linkType: hard - "vite-node@npm:1.1.3": version: 1.1.3 resolution: "vite-node@npm:1.1.3" @@ -30474,41 +31149,18 @@ fsevents@^1.2.7: languageName: node linkType: hard -"vite@npm:^3.0.0 || ^4.0.0": - version: 4.0.4 - resolution: "vite@npm:4.0.4" +"vite-node@npm:1.2.1": + version: 1.2.1 + resolution: "vite-node@npm:1.2.1" dependencies: - esbuild: ^0.16.3 - fsevents: ~2.3.2 - postcss: ^8.4.20 - resolve: ^1.22.1 - rollup: ^3.7.0 - peerDependencies: - "@types/node": ">= 14" - less: "*" - sass: "*" - stylus: "*" - sugarss: "*" - terser: ^5.4.0 - dependenciesMeta: - fsevents: - optional: true - peerDependenciesMeta: - "@types/node": - optional: true - less: - optional: true - sass: - optional: true - stylus: - optional: true - sugarss: - optional: true - terser: - optional: true + cac: ^6.7.14 + debug: ^4.3.4 + pathe: ^1.1.1 + picocolors: ^1.0.0 + vite: ^5.0.0 bin: - vite: bin/vite.js - checksum: eb86c8cdfe8dcb6644005486b31cb60bc596f2aa683cb194abb5c0afca7c2a5dfdb02bbc7f83f419ad170227ac9c3b898f4406a6d1433105fb61d79d78e47d52 + vite-node: vite-node.mjs + checksum: 2d2679a8dfecd8de6a2296c72a3d6662597ccf20cb90e4626a2df335556d8b18dbad3ae2be06e644bf905693dbdb558ff003c6dc990c6bc662adcee9e4f0fa6f languageName: node linkType: hard @@ -30552,48 +31204,43 @@ fsevents@^1.2.7: languageName: node linkType: hard -"vitest@npm:^0.30.1": - version: 0.30.1 - resolution: "vitest@npm:0.30.1" +"vitest@npm:^1.1.3": + version: 1.1.3 + resolution: "vitest@npm:1.1.3" dependencies: - "@types/chai": ^4.3.4 - "@types/chai-subset": ^1.3.3 - "@types/node": "*" - "@vitest/expect": 0.30.1 - "@vitest/runner": 0.30.1 - "@vitest/snapshot": 0.30.1 - "@vitest/spy": 0.30.1 - "@vitest/utils": 0.30.1 - acorn: ^8.8.2 - acorn-walk: ^8.2.0 + "@vitest/expect": 1.1.3 + "@vitest/runner": 1.1.3 + "@vitest/snapshot": 1.1.3 + "@vitest/spy": 1.1.3 + "@vitest/utils": 1.1.3 + acorn-walk: ^8.3.1 cac: ^6.7.14 - chai: ^4.3.7 - concordance: ^5.0.4 + chai: ^4.3.10 debug: ^4.3.4 - local-pkg: ^0.4.3 - magic-string: ^0.30.0 - pathe: ^1.1.0 + execa: ^8.0.1 + local-pkg: ^0.5.0 + magic-string: ^0.30.5 + pathe: ^1.1.1 picocolors: ^1.0.0 - source-map: ^0.6.1 - std-env: ^3.3.2 - strip-literal: ^1.0.1 - tinybench: ^2.4.0 - tinypool: ^0.4.0 - vite: ^3.0.0 || ^4.0.0 - vite-node: 0.30.1 + std-env: ^3.5.0 + strip-literal: ^1.3.0 + tinybench: ^2.5.1 + tinypool: ^0.8.1 + vite: ^5.0.0 + vite-node: 1.1.3 why-is-node-running: ^2.2.2 peerDependencies: "@edge-runtime/vm": "*" - "@vitest/browser": "*" - "@vitest/ui": "*" + "@types/node": ^18.0.0 || >=20.0.0 + "@vitest/browser": ^1.0.0 + "@vitest/ui": ^1.0.0 happy-dom: "*" jsdom: "*" - playwright: "*" - safaridriver: "*" - webdriverio: "*" peerDependenciesMeta: "@edge-runtime/vm": optional: true + "@types/node": + optional: true "@vitest/browser": optional: true "@vitest/ui": @@ -30602,28 +31249,22 @@ fsevents@^1.2.7: optional: true jsdom: optional: true - playwright: - optional: true - safaridriver: - optional: true - webdriverio: - optional: true bin: vitest: vitest.mjs - checksum: 68e33226dde914600270df9834bdc1f45fd225250051c046c9bc53ca51b8e0bf76dee29a5cf1a51a4c1524f00c414f81764bb463734bdcc9c3f483f2140ec516 + checksum: 35087400a0e2b2f0f1f451d0da41abafd8c55112e143a2643286bf0d3d4567b057b40dc391c4b2a05a947edc48d981a6b8c961dc32c6642d84cd8d717bd168bc languageName: node linkType: hard -"vitest@npm:^1.1.3": - version: 1.1.3 - resolution: "vitest@npm:1.1.3" - dependencies: - "@vitest/expect": 1.1.3 - "@vitest/runner": 1.1.3 - "@vitest/snapshot": 1.1.3 - "@vitest/spy": 1.1.3 - "@vitest/utils": 1.1.3 - acorn-walk: ^8.3.1 +"vitest@npm:^1.2.1": + version: 1.2.1 + resolution: "vitest@npm:1.2.1" + dependencies: + "@vitest/expect": 1.2.1 + "@vitest/runner": 1.2.1 + "@vitest/snapshot": 1.2.1 + "@vitest/spy": 1.2.1 + "@vitest/utils": 1.2.1 + acorn-walk: ^8.3.2 cac: ^6.7.14 chai: ^4.3.10 debug: ^4.3.4 @@ -30637,7 +31278,7 @@ fsevents@^1.2.7: tinybench: ^2.5.1 tinypool: ^0.8.1 vite: ^5.0.0 - vite-node: 1.1.3 + vite-node: 1.2.1 why-is-node-running: ^2.2.2 peerDependencies: "@edge-runtime/vm": "*" @@ -30661,7 +31302,7 @@ fsevents@^1.2.7: optional: true bin: vitest: vitest.mjs - checksum: 35087400a0e2b2f0f1f451d0da41abafd8c55112e143a2643286bf0d3d4567b057b40dc391c4b2a05a947edc48d981a6b8c961dc32c6642d84cd8d717bd168bc + checksum: be5cf1ebde0ff7fd534d4c5c710b9d63b3bd7a899f1fcceab82779949cfb8c962f82bb827652debe2d0553d6f786cf76998e6f346e46e03b14e720b121ff540e languageName: node linkType: hard @@ -31177,13 +31818,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"well-known-symbols@npm:^2.0.0": - version: 2.0.0 - resolution: "well-known-symbols@npm:2.0.0" - checksum: 4f54bbc3012371cb4d228f436891b8e7536d34ac61a57541890257e96788608e096231e0121ac24d08ef2f908b3eb2dc0adba35023eaeb2a7df655da91415402 - languageName: node - linkType: hard - "whatwg-encoding@npm:^1.0.5": version: 1.0.5 resolution: "whatwg-encoding@npm:1.0.5" @@ -31292,6 +31926,19 @@ fsevents@^1.2.7: languageName: node linkType: hard +"which-typed-array@npm:^1.1.11, which-typed-array@npm:^1.1.2": + version: 1.1.13 + resolution: "which-typed-array@npm:1.1.13" + dependencies: + available-typed-arrays: ^1.0.5 + call-bind: ^1.0.4 + for-each: ^0.3.3 + gopd: ^1.0.1 + has-tostringtag: ^1.0.0 + checksum: 3828a0d5d72c800e369d447e54c7620742a4cc0c9baf1b5e8c17e9b6ff90d8d861a3a6dd4800f1953dbf80e5e5cec954a289e5b4a223e3bee4aeb1f8c5f33309 + languageName: node + linkType: hard + "which@npm:^1.2.9, which@npm:^1.3.1": version: 1.3.1 resolution: "which@npm:1.3.1" @@ -31590,13 +32237,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"workerpool@npm:^6.0.3": - version: 6.2.1 - resolution: "workerpool@npm:6.2.1" - checksum: c2c6eebbc5225f10f758d599a5c016fa04798bcc44e4c1dffb34050cd361d7be2e97891aa44419e7afe647b1f767b1dc0b85a5e046c409d890163f655028b09d - languageName: node - linkType: hard - "wrap-ansi@npm:^3.0.1": version: 3.0.1 resolution: "wrap-ansi@npm:3.0.1"