From 53020ed15291aaf4062956da8d75b7d94b8c1675 Mon Sep 17 00:00:00 2001 From: Julien Capellari Date: Tue, 5 Jul 2022 13:34:46 +0200 Subject: [PATCH] chore: move builders to new aegis package --- .idea/aegis.iml | 2 + packages/aegis/.eslintrc.json | 5 + packages/aegis/.gitignore | 3 + packages/aegis/.swcrc | 15 ++ packages/aegis/LICENSE | 21 ++ packages/aegis/README.md | 7 + packages/aegis/gulpfile.ts | 45 ++++ packages/aegis/jest.config.ts | 197 ++++++++++++++++++ packages/aegis/package.json | 63 ++++++ .../entities => aegis/src}/entity.builder.ts | 20 +- packages/aegis/src/index.ts | 2 + .../src/stores => aegis/src}/store.builder.ts | 4 +- .../tests}/entity.builder.test.ts | 4 +- .../tests}/store.builder.test.ts | 4 +- packages/aegis/tsconfig.json | 11 + packages/api/package.json | 1 - packages/core/src/entities/index.ts | 1 - packages/core/src/stores/index.ts | 1 - packages/react/package.json | 2 + packages/react/src/hook.builder.ts | 3 +- yarn.lock | 151 +++++++++++++- 21 files changed, 544 insertions(+), 18 deletions(-) create mode 100644 packages/aegis/.eslintrc.json create mode 100644 packages/aegis/.gitignore create mode 100644 packages/aegis/.swcrc create mode 100644 packages/aegis/LICENSE create mode 100644 packages/aegis/README.md create mode 100644 packages/aegis/gulpfile.ts create mode 100644 packages/aegis/jest.config.ts create mode 100644 packages/aegis/package.json rename packages/{core/src/entities => aegis/src}/entity.builder.ts (95%) create mode 100644 packages/aegis/src/index.ts rename packages/{core/src/stores => aegis/src}/store.builder.ts (71%) rename packages/{core/tests/entities => aegis/tests}/entity.builder.test.ts (98%) rename packages/{core/tests/stores => aegis/tests}/store.builder.test.ts (87%) create mode 100644 packages/aegis/tsconfig.json diff --git a/.idea/aegis.iml b/.idea/aegis.iml index 72b54572..790bbea6 100644 --- a/.idea/aegis.iml +++ b/.idea/aegis.iml @@ -5,12 +5,14 @@ + + diff --git a/packages/aegis/.eslintrc.json b/packages/aegis/.eslintrc.json new file mode 100644 index 00000000..128cd29f --- /dev/null +++ b/packages/aegis/.eslintrc.json @@ -0,0 +1,5 @@ +{ + "extends": [ + "../../.eslintrc.json" + ] +} diff --git a/packages/aegis/.gitignore b/packages/aegis/.gitignore new file mode 100644 index 00000000..e3c0b53b --- /dev/null +++ b/packages/aegis/.gitignore @@ -0,0 +1,3 @@ +# Generated files +coverage +dist diff --git a/packages/aegis/.swcrc b/packages/aegis/.swcrc new file mode 100644 index 00000000..17c7b024 --- /dev/null +++ b/packages/aegis/.swcrc @@ -0,0 +1,15 @@ +{ + "jsc": { + "parser": { + "syntax": "typescript" + }, + "target": "es2022", + "loose": true + }, + "module": { + "type": "es6" + }, + "env": { + "coreJs": "3.22" + } +} diff --git a/packages/aegis/LICENSE b/packages/aegis/LICENSE new file mode 100644 index 00000000..fb8e1a2a --- /dev/null +++ b/packages/aegis/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2022 Julien Capellari + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/packages/aegis/README.md b/packages/aegis/README.md new file mode 100644 index 00000000..e7404e28 --- /dev/null +++ b/packages/aegis/README.md @@ -0,0 +1,7 @@ +# @jujulego/aegis-api +[![Version](https://img.shields.io/npm/v/@jujulego/aegis-api)](https://www.npmjs.com/package/@jujulego/aegis-api) +![Licence](https://img.shields.io/github/license/jujulego/aegis) +[![Bundled size](https://badgen.net/bundlephobia/minzip/@jujulego/aegis-api)](https://bundlephobia.com/package/@jujulego/aegis-api) +[![Tree shaking](https://badgen.net/bundlephobia/tree-shaking/@jujulego/aegis-api)](https://bundlephobia.com/package/@jujulego/aegis-api) + +## Description diff --git a/packages/aegis/gulpfile.ts b/packages/aegis/gulpfile.ts new file mode 100644 index 00000000..e39dc037 --- /dev/null +++ b/packages/aegis/gulpfile.ts @@ -0,0 +1,45 @@ +import { flow, src, dest, swc, dts } from 'aegis-tools'; +import del from 'del'; +import gulp from 'gulp'; +import path from 'path'; + +// Config +const options = { + src: 'src/**/*.ts', + output: 'dist', + tsconfig: 'tsconfig.json', + deps: [ + '../../.pnp.*', + '../core/dist/types/**/*.d.ts' + ] +}; + +// Tasks +gulp.task('clean', () => del(options.output)); + +gulp.task('build:esm', () => flow( + src(options.src, { since: gulp.lastRun('build:esm') }), + swc({ module: { type: 'es6' } }), + dest(path.join(options.output, 'esm')) +)); + +gulp.task('build:cjs', () => flow( + src(options.src, { since: gulp.lastRun('build:cjs') }), + swc({ module: { type: 'commonjs' } }), + dest(path.join(options.output, 'cjs')) +)); + +gulp.task('build:types', () => flow( + src(options.src, { since: gulp.lastRun('build:types') }), + dts(options.tsconfig), + dest(path.join(options.output, 'types')) +)); + +gulp.task('build', gulp.series( + 'clean', + gulp.parallel('build:cjs', 'build:esm', 'build:types'), +)); + +gulp.task('watch', () => gulp.watch([options.src, ...options.deps], { ignoreInitial: false }, + gulp.parallel('build:cjs', 'build:esm', 'build:types'), +)); diff --git a/packages/aegis/jest.config.ts b/packages/aegis/jest.config.ts new file mode 100644 index 00000000..0b1e33da --- /dev/null +++ b/packages/aegis/jest.config.ts @@ -0,0 +1,197 @@ +/* + * For a detailed explanation regarding each configuration property and type check, visit: + * https://jestjs.io/docs/configuration + */ + +export default { + // All imported modules in your tests should be mocked automatically + // automock: false, + + // Stop running tests after `n` failures + // bail: 0, + + // The directory where Jest should store its cached dependency information + // cacheDirectory: "C:\\Users\\julie\\AppData\\Local\\Temp\\jest", + + // Automatically clear mock calls, instances, contexts and results before every test + // clearMocks: false, + + // Indicates whether the coverage information should be collected while executing the test + collectCoverage: true, + + // An array of glob patterns indicating a set of files for which coverage information should be collected + collectCoverageFrom: ['src/**'], + + // The directory where Jest should output its coverage files + coverageDirectory: 'coverage', + + // An array of regexp pattern strings used to skip coverage collection + // coveragePathIgnorePatterns: [ + // "\\\\node_modules\\\\" + // ], + + // Indicates which provider should be used to instrument code for coverage + // coverageProvider: "v8", + + // A list of reporter names that Jest uses when writing coverage reports + // coverageReporters: [ + // "json", + // "text", + // "lcov", + // "clover" + // ], + + // An object that configures minimum threshold enforcement for coverage results + // coverageThreshold: undefined, + + // A path to a custom dependency extractor + // dependencyExtractor: undefined, + + // Make calling deprecated APIs throw helpful error messages + // errorOnDeprecated: false, + + // The default configuration for fake timers + // fakeTimers: { + // "enableGlobally": false + // }, + + // Force coverage collection from ignored files using an array of glob patterns + // forceCoverageMatch: [], + + // A path to a module which exports an async function that is triggered once before all test suites + // globalSetup: undefined, + + // A path to a module which exports an async function that is triggered once after all test suites + // globalTeardown: undefined, + + // A set of global variables that need to be available in all test environments + // globals: {}, + + // The maximum amount of workers used to run your tests. Can be specified as % or a number. E.g. maxWorkers: 10% will use 10% of your CPU amount + 1 as the maximum worker number. maxWorkers: 2 will use a maximum of 2 workers. + // maxWorkers: "50%", + + // An array of directory names to be searched recursively up from the requiring module's location + // moduleDirectories: [ + // "node_modules" + // ], + + // An array of file extensions your modules use + // moduleFileExtensions: [ + // "js", + // "mjs", + // "cjs", + // "jsx", + // "ts", + // "tsx", + // "json", + // "node" + // ], + + // A map from regular expressions to module names or to arrays of module names that allow to stub out resources with a single module + // moduleNameMapper: {}, + + // An array of regexp pattern strings, matched against all module paths before considered 'visible' to the module loader + // modulePathIgnorePatterns: [], + + // Activates notifications for test results + // notify: false, + + // An enum that specifies notification mode. Requires { notify: true } + // notifyMode: "failure-change", + + // A preset that is used as a base for Jest's configuration + // preset: 'ts-jest', + + // Run tests from one or more projects + // projects: undefined, + + // Use this configuration option to add custom reporters to Jest + // reporters: undefined, + + // Automatically reset mock state before every test + // resetMocks: false, + + // Reset the module registry before running each individual test + // resetModules: false, + + // A path to a custom resolver + // resolver: undefined, + + // Automatically restore mock state and implementation before every test + // restoreMocks: false, + + // The root directory that Jest should scan for tests and modules within + // rootDir: undefined, + + // A list of paths to directories that Jest should use to search for files in + roots: [ + '/tests' + ], + + // Allows you to use a custom runner instead of Jest's default test runner + // runner: "jest-runner", + + // The paths to modules that run some code to configure or set up the testing environment before each test + // setupFiles: [], + + // A list of paths to modules that run some code to configure or set up the testing framework before each test + // setupFilesAfterEnv: [], + + // The number of seconds after which a test is considered as slow and reported as such in the results. + // slowTestThreshold: 5, + + // A list of paths to snapshot serializer modules Jest should use for snapshot testing + // snapshotSerializers: [], + + // The test environment that will be used for testing + // testEnvironment: 'jsdom', + + // Options that will be passed to the testEnvironment + // testEnvironmentOptions: {}, + + // Adds a location field to test results + // testLocationInResults: false, + + // The glob patterns Jest uses to detect test files + // testMatch: [ + // "**/__tests__/**/*.[jt]s?(x)", + // "**/?(*.)+(spec|test).[tj]s?(x)" + // ], + + // An array of regexp pattern strings that are matched against all test paths, matched tests are skipped + // testPathIgnorePatterns: [ + // "\\\\node_modules\\\\" + // ], + + // The regexp pattern or array of patterns that Jest uses to detect test files + // testRegex: [], + + // This option allows the use of a custom results processor + // testResultsProcessor: undefined, + + // This option allows use of a custom test runner + // testRunner: "jest-circus/runner", + + // A map from regular expressions to paths to transformers + transform: { + '^.+\\.(t|j)sx?$': ['@swc/jest'] + }, + + // An array of regexp pattern strings that are matched against all source file paths, matched files will skip transformation + // transformIgnorePatterns: [ + // "\\\\node_modules\\\\", + // "\\.pnp\\.[^\\\\]+$" + // ], + + // An array of regexp pattern strings that are matched against all modules before the module loader will automatically return a mock for them + // unmockedModulePathPatterns: undefined, + + // Indicates whether each individual test should be reported during the run + // verbose: undefined, + + // An array of regexp patterns that are matched against all source file paths before re-running tests in watch mode + // watchPathIgnorePatterns: [], + + // Whether to use watchman for file crawling + // watchman: true, +}; diff --git a/packages/aegis/package.json b/packages/aegis/package.json new file mode 100644 index 00000000..9de577e4 --- /dev/null +++ b/packages/aegis/package.json @@ -0,0 +1,63 @@ +{ + "name": "@jujulego/aegis", + "version": "1.0.0-alpha.1", + "license": "MIT", + "author": "Julien Capellari ", + "repository": { + "type": "git", + "url": "https://github.com/jujulego/aegis", + "directory": "packages/aegis" + }, + "publishConfig": { + "access": "public" + }, + "sideEffects": false, + "files": [ + "dist" + ], + "main": "./dist/cjs/index.js", + "module": "./dist/esm/index.js", + "types": "./dist/types/index.d.ts", + "exports": { + "types": "./dist/types/index.d.ts", + "import": "./dist/esm/index.js", + "require": "./dist/cjs/index.js", + "default": "./dist/esm/index.js" + }, + "scripts": { + "lint": "eslint {src,tests}/**/*.*", + "clean": "gulp clean", + "build": "gulp build", + "watch": "gulp watch", + "test": "jest" + }, + "peerDependencies": { + "regenerator-runtime": "^0.13.0" + }, + "dependencies": { + "@jujulego/aegis-core": "^1.0.0-alpha.21" + }, + "devDependencies": { + "@jujulego/flow": "1.1.0", + "@swc/cli": "0.1.57", + "@swc/core": "1.2.209", + "@swc/jest": "0.2.21", + "@types/gulp": "4.0.9", + "@types/jest": "28.1.4", + "@types/node": "16.11.43", + "@typescript-eslint/eslint-plugin": "5.30.4", + "@typescript-eslint/parser": "5.30.4", + "aegis-tools": "1.0.0", + "browserslist": "4.21.1", + "del": "6.1.1", + "eslint": "8.19.0", + "eslint-plugin-jest": "26.5.3", + "eslint-plugin-workspaces": "0.7.0", + "gulp": "4.0.2", + "gulp-cli": "2.3.0", + "jest": "28.1.2", + "regenerator-runtime": "0.13.9", + "ts-node": "10.8.2", + "typescript": "4.7.4" + } +} diff --git a/packages/core/src/entities/entity.builder.ts b/packages/aegis/src/entity.builder.ts similarity index 95% rename from packages/core/src/entities/entity.builder.ts rename to packages/aegis/src/entity.builder.ts index 8c6eb53c..f385b591 100644 --- a/packages/core/src/entities/entity.builder.ts +++ b/packages/aegis/src/entity.builder.ts @@ -1,12 +1,14 @@ -import { AegisQuery } from '../protocols'; -import { AegisStore } from '../stores'; - -import { AegisItem } from './item'; -import { AegisList } from './list'; - -import { AegisEntity, EntityIdExtractor, EntityMerge } from './entity'; - -// Type +import { + AegisEntity, + AegisItem, + AegisList, + AegisQuery, + AegisStore, + EntityIdExtractor, + EntityMerge +} from '@jujulego/aegis-core'; + +// Types export type Aegis = M & { $entity: AegisEntity; diff --git a/packages/aegis/src/index.ts b/packages/aegis/src/index.ts new file mode 100644 index 00000000..7d86b893 --- /dev/null +++ b/packages/aegis/src/index.ts @@ -0,0 +1,2 @@ +export * from './entity.builder'; +export * from './store.builder'; diff --git a/packages/core/src/stores/store.builder.ts b/packages/aegis/src/store.builder.ts similarity index 71% rename from packages/core/src/stores/store.builder.ts rename to packages/aegis/src/store.builder.ts index 53cc6357..2a9fec2d 100644 --- a/packages/core/src/stores/store.builder.ts +++ b/packages/aegis/src/store.builder.ts @@ -1,5 +1,5 @@ -import { AegisMemoryStore } from './memory.store'; -import { AegisStorageStore } from './storage.store'; +import { AegisMemoryStore } from '@jujulego/aegis-core/src/stores/memory.store'; +import { AegisStorageStore } from '@jujulego/aegis-core/src/stores/storage.store'; // Store builders export const $store = { diff --git a/packages/core/tests/entities/entity.builder.test.ts b/packages/aegis/tests/entity.builder.test.ts similarity index 98% rename from packages/core/tests/entities/entity.builder.test.ts rename to packages/aegis/tests/entity.builder.test.ts index 482dd9e6..2633d82d 100644 --- a/packages/core/tests/entities/entity.builder.test.ts +++ b/packages/aegis/tests/entity.builder.test.ts @@ -1,4 +1,6 @@ -import { $entity, $store, AegisEntity, AegisItem, AegisList, AegisQuery } from '../../src'; +import { $store, AegisEntity, AegisItem, AegisList, AegisQuery } from '@jujulego/aegis-core'; + +import { $entity } from '../src'; // Types interface TestEntity { diff --git a/packages/core/tests/stores/store.builder.test.ts b/packages/aegis/tests/store.builder.test.ts similarity index 87% rename from packages/core/tests/stores/store.builder.test.ts rename to packages/aegis/tests/store.builder.test.ts index 1cc9fa92..0a7b576d 100644 --- a/packages/core/tests/stores/store.builder.test.ts +++ b/packages/aegis/tests/store.builder.test.ts @@ -1,4 +1,6 @@ -import { $store, AegisMemoryStore, AegisStorageStore } from '../../src'; +import { AegisMemoryStore, AegisStorageStore } from '@jujulego/aegis-core'; + +import { $store } from '../src'; // Tests describe('$store', () => { diff --git a/packages/aegis/tsconfig.json b/packages/aegis/tsconfig.json new file mode 100644 index 00000000..16100216 --- /dev/null +++ b/packages/aegis/tsconfig.json @@ -0,0 +1,11 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "incremental": true, + "rootDir": ".", + "tsBuildInfoFile": "./dist/.tsbuildinfo" + }, + "ts-node": { + "swc": true + } +} diff --git a/packages/api/package.json b/packages/api/package.json index 77581e4e..46607062 100644 --- a/packages/api/package.json +++ b/packages/api/package.json @@ -45,7 +45,6 @@ "@types/gulp": "4.0.9", "@types/jest": "28.1.4", "@types/node": "16.11.43", - "@types/use-sync-external-store": "0.0.3", "@typescript-eslint/eslint-plugin": "5.30.5", "@typescript-eslint/parser": "5.30.5", "aegis-tools": "1.0.0", diff --git a/packages/core/src/entities/index.ts b/packages/core/src/entities/index.ts index 59352213..b61494e0 100644 --- a/packages/core/src/entities/index.ts +++ b/packages/core/src/entities/index.ts @@ -1,4 +1,3 @@ export * from './entity'; -export * from './entity.builder'; export * from './item'; export * from './list'; diff --git a/packages/core/src/stores/index.ts b/packages/core/src/stores/index.ts index 4f534923..6586378f 100644 --- a/packages/core/src/stores/index.ts +++ b/packages/core/src/stores/index.ts @@ -1,4 +1,3 @@ export * from './memory.store'; export * from './storage.store'; export * from './store'; -export * from './store.builder'; diff --git a/packages/react/package.json b/packages/react/package.json index bc351bfc..17a53570 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -32,6 +32,7 @@ "test": "jest" }, "peerDependencies": { + "@jujulego/aegis": "^1.0.0-alpha.1", "react": "^17.0.0 || ^18.0.0", "regenerator-runtime": "^0.13.0" }, @@ -41,6 +42,7 @@ "use-sync-external-store": "^1.1.0" }, "devDependencies": { + "@jujulego/aegis": "^1.0.0-alpha.1", "@jujulego/flow": "1.1.0", "@swc/cli": "0.1.57", "@swc/core": "1.2.209", diff --git a/packages/react/src/hook.builder.ts b/packages/react/src/hook.builder.ts index 3715b947..df047dbf 100644 --- a/packages/react/src/hook.builder.ts +++ b/packages/react/src/hook.builder.ts @@ -1,4 +1,5 @@ -import { Aegis, AegisItem, AegisList } from '@jujulego/aegis-core'; +import { Aegis } from '@jujulego/aegis'; +import { AegisItem, AegisList } from '@jujulego/aegis-core'; import { useCallback, useEffect, useMemo } from 'react'; import { useAegisItem, useAegisList, useDeepMemo } from './hooks'; diff --git a/yarn.lock b/yarn.lock index 320c48a8..11180a45 100644 --- a/yarn.lock +++ b/yarn.lock @@ -848,7 +848,6 @@ __metadata: "@types/gulp": 4.0.9 "@types/jest": 28.1.4 "@types/node": 16.11.43 - "@types/use-sync-external-store": 0.0.3 "@typescript-eslint/eslint-plugin": 5.30.5 "@typescript-eslint/parser": 5.30.5 aegis-tools: 1.0.0 @@ -906,6 +905,7 @@ __metadata: version: 0.0.0-use.local resolution: "@jujulego/aegis-react@workspace:packages/react" dependencies: + "@jujulego/aegis": ^1.0.0-alpha.1 "@jujulego/aegis-core": ^1.0.0-alpha.21 "@jujulego/flow": 1.1.0 "@swc/cli": 0.1.57 @@ -941,11 +941,43 @@ __metadata: typescript: 4.7.4 use-sync-external-store: ^1.1.0 peerDependencies: + "@jujulego/aegis": ^1.0.0-alpha.1 react: ^17.0.0 || ^18.0.0 regenerator-runtime: ^0.13.0 languageName: unknown linkType: soft +"@jujulego/aegis@^1.0.0-alpha.1, @jujulego/aegis@workspace:packages/aegis": + version: 0.0.0-use.local + resolution: "@jujulego/aegis@workspace:packages/aegis" + dependencies: + "@jujulego/aegis-core": ^1.0.0-alpha.21 + "@jujulego/flow": 1.1.0 + "@swc/cli": 0.1.57 + "@swc/core": 1.2.209 + "@swc/jest": 0.2.21 + "@types/gulp": 4.0.9 + "@types/jest": 28.1.4 + "@types/node": 16.11.43 + "@typescript-eslint/eslint-plugin": 5.30.4 + "@typescript-eslint/parser": 5.30.4 + aegis-tools: 1.0.0 + browserslist: 4.21.1 + del: 6.1.1 + eslint: 8.19.0 + eslint-plugin-jest: 26.5.3 + eslint-plugin-workspaces: 0.7.0 + gulp: 4.0.2 + gulp-cli: 2.3.0 + jest: 28.1.2 + regenerator-runtime: 0.13.9 + ts-node: 10.8.2 + typescript: 4.7.4 + peerDependencies: + regenerator-runtime: ^0.13.0 + languageName: unknown + linkType: soft + "@jujulego/flow@npm:1.1.0": version: 1.1.0 resolution: "@jujulego/flow@npm:1.1.0" @@ -1664,6 +1696,29 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/eslint-plugin@npm:5.30.4": + version: 5.30.4 + resolution: "@typescript-eslint/eslint-plugin@npm:5.30.4" + dependencies: + "@typescript-eslint/scope-manager": 5.30.4 + "@typescript-eslint/type-utils": 5.30.4 + "@typescript-eslint/utils": 5.30.4 + debug: ^4.3.4 + functional-red-black-tree: ^1.0.1 + ignore: ^5.2.0 + regexpp: ^3.2.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: 9b9290448b3009b93dc9bbc263049103f48c006d395351695486f7ab156f24b3f3e9e83a9f68a8cf73afc036c2d1092005446085f171afc9cdcb0b1b475443e3 + languageName: node + linkType: hard + "@typescript-eslint/eslint-plugin@npm:5.30.5": version: 5.30.5 resolution: "@typescript-eslint/eslint-plugin@npm:5.30.5" @@ -1687,6 +1742,23 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/parser@npm:5.30.4": + version: 5.30.4 + resolution: "@typescript-eslint/parser@npm:5.30.4" + dependencies: + "@typescript-eslint/scope-manager": 5.30.4 + "@typescript-eslint/types": 5.30.4 + "@typescript-eslint/typescript-estree": 5.30.4 + debug: ^4.3.4 + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + peerDependenciesMeta: + typescript: + optional: true + checksum: e13ffd0cbb691b5b82038a5a1475a7771409398bc90e0430e9b3818174926c5af7c637d5915f7c2949f38201c04bfe57dfc91f4d9052a48ee551faba3b8c7349 + languageName: node + linkType: hard + "@typescript-eslint/parser@npm:5.30.5": version: 5.30.5 resolution: "@typescript-eslint/parser@npm:5.30.5" @@ -1724,6 +1796,16 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/scope-manager@npm:5.30.4": + version: 5.30.4 + resolution: "@typescript-eslint/scope-manager@npm:5.30.4" + dependencies: + "@typescript-eslint/types": 5.30.4 + "@typescript-eslint/visitor-keys": 5.30.4 + checksum: 3da442dc113ee821c6b1c4510ee4cfd6f6f34838587785b7c486d262af913dca66229a47ebb9a63ad605f8edbe57a8387be24c817c8091783b57c33b7862cbcc + languageName: node + linkType: hard + "@typescript-eslint/scope-manager@npm:5.30.5": version: 5.30.5 resolution: "@typescript-eslint/scope-manager@npm:5.30.5" @@ -1734,6 +1816,22 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/type-utils@npm:5.30.4": + version: 5.30.4 + resolution: "@typescript-eslint/type-utils@npm:5.30.4" + dependencies: + "@typescript-eslint/utils": 5.30.4 + debug: ^4.3.4 + tsutils: ^3.21.0 + peerDependencies: + eslint: "*" + peerDependenciesMeta: + typescript: + optional: true + checksum: 552eb1a5b11787d3b98dc454a80153b05bcb6d58aeb97c861d6b006f3eb6af95d117a3f9a679b41a8b6d58ac0dceaaeafd23ce28d83881a363e51bbc1a088936 + languageName: node + linkType: hard + "@typescript-eslint/type-utils@npm:5.30.5": version: 5.30.5 resolution: "@typescript-eslint/type-utils@npm:5.30.5" @@ -1764,6 +1862,13 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/types@npm:5.30.4": + version: 5.30.4 + resolution: "@typescript-eslint/types@npm:5.30.4" + checksum: 06181c33551850492ccfd48232f93083c6cf9205d26b26fe6e356b7a4ebb08beffd89ae3b84011da94ffd0e6948422d91d94df7005edeca1c8348117d4776715 + languageName: node + linkType: hard + "@typescript-eslint/types@npm:5.30.5": version: 5.30.5 resolution: "@typescript-eslint/types@npm:5.30.5" @@ -1807,6 +1912,24 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/typescript-estree@npm:5.30.4": + version: 5.30.4 + resolution: "@typescript-eslint/typescript-estree@npm:5.30.4" + dependencies: + "@typescript-eslint/types": 5.30.4 + "@typescript-eslint/visitor-keys": 5.30.4 + 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: 1aaa414993a4e35927e93f929d34a6e07cb8ec46c4ea9a58f018c36ff1fc3027ca5007e6abe922c5869557cd2d7f319e8c57cccd618517781979e669d3b704d0 + languageName: node + linkType: hard + "@typescript-eslint/typescript-estree@npm:5.30.5": version: 5.30.5 resolution: "@typescript-eslint/typescript-estree@npm:5.30.5" @@ -1825,6 +1948,22 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/utils@npm:5.30.4": + version: 5.30.4 + resolution: "@typescript-eslint/utils@npm:5.30.4" + dependencies: + "@types/json-schema": ^7.0.9 + "@typescript-eslint/scope-manager": 5.30.4 + "@typescript-eslint/types": 5.30.4 + "@typescript-eslint/typescript-estree": 5.30.4 + eslint-scope: ^5.1.1 + eslint-utils: ^3.0.0 + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + checksum: 0f680d366701c6ca5a4e1fc53247876e6f6acaee498400d32a7cb767e6187d0d75bc4488350cf6dc6e7c373ea023d62e395ea14ba56ad246b458d6853b213782 + languageName: node + linkType: hard + "@typescript-eslint/utils@npm:5.30.5": version: 5.30.5 resolution: "@typescript-eslint/utils@npm:5.30.5" @@ -1893,6 +2032,16 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/visitor-keys@npm:5.30.4": + version: 5.30.4 + resolution: "@typescript-eslint/visitor-keys@npm:5.30.4" + dependencies: + "@typescript-eslint/types": 5.30.4 + eslint-visitor-keys: ^3.3.0 + checksum: ec39680a89b058e8350adc084c2a957e83161e87ac9732c9fef8fd3045ce5004e059b2ddb0c366192806e3998bf3263c8bbb2cc74a4f2ad3313154ed35dd479a + languageName: node + linkType: hard + "@typescript-eslint/visitor-keys@npm:5.30.5": version: 5.30.5 resolution: "@typescript-eslint/visitor-keys@npm:5.30.5"