From 05f47bfc55ec213193685cb4dd8754a37c6445cd Mon Sep 17 00:00:00 2001 From: joluj Date: Thu, 2 May 2024 11:04:00 +0200 Subject: [PATCH 01/38] Change build targets to esbuild esm --- apps/docs/tsconfig.app.json | 1 - apps/docs/tsconfig.spec.json | 1 - apps/interpreter/project.json | 17 ++----------- apps/interpreter/tsconfig.app.json | 1 - .../tsconfig.spec.json | 1 - libs/execution/package.json | 3 +-- libs/execution/project.json | 11 +-------- libs/execution/tsconfig.json | 1 - libs/execution/tsconfig.spec.json | 3 +-- libs/extensions/rdbms/exec/package.json | 3 +-- libs/extensions/rdbms/exec/project.json | 11 +-------- libs/extensions/rdbms/exec/tsconfig.json | 1 - libs/extensions/rdbms/exec/tsconfig.spec.json | 1 - libs/extensions/std/exec/package.json | 3 +-- libs/extensions/std/exec/project.json | 11 +-------- libs/extensions/std/exec/tsconfig.json | 1 - libs/extensions/std/exec/tsconfig.spec.json | 1 - libs/extensions/tabular/exec/package.json | 3 +-- libs/extensions/tabular/exec/project.json | 11 +-------- libs/extensions/tabular/exec/tsconfig.json | 1 - .../tabular/exec/tsconfig.spec.json | 1 - libs/interpreter-lib/package.json | 1 - libs/interpreter-lib/project.json | 12 +--------- libs/interpreter-lib/tsconfig.json | 1 - libs/interpreter-lib/tsconfig.spec.json | 1 - libs/language-server/project.json | 16 +------------ libs/language-server/tsconfig.lib.json | 1 - libs/monaco-editor/tsconfig.spec.json | 1 - nx.json | 24 ++++++++++++++++++- package-lock.json | 14 +++++------ package.json | 2 +- tsconfig.base.json | 8 ++++--- 32 files changed, 49 insertions(+), 119 deletions(-) diff --git a/apps/docs/tsconfig.app.json b/apps/docs/tsconfig.app.json index ed7754c7f..39798c9eb 100644 --- a/apps/docs/tsconfig.app.json +++ b/apps/docs/tsconfig.app.json @@ -3,7 +3,6 @@ "compilerOptions": { "jsx": "react", "outDir": "../../dist/out-tsc", - "module": "commonjs", "types": ["node"], "lib": ["DOM", "ESNext"], "esModuleInterop": true, diff --git a/apps/docs/tsconfig.spec.json b/apps/docs/tsconfig.spec.json index 9a176fbe3..a18954201 100644 --- a/apps/docs/tsconfig.spec.json +++ b/apps/docs/tsconfig.spec.json @@ -2,7 +2,6 @@ "extends": "./tsconfig.json", "compilerOptions": { "outDir": "../../dist/out-tsc", - "module": "commonjs", "types": ["jest", "node"] }, "include": [ diff --git a/apps/interpreter/project.json b/apps/interpreter/project.json index a077e2596..cf5cf2341 100644 --- a/apps/interpreter/project.json +++ b/apps/interpreter/project.json @@ -5,22 +5,9 @@ "projectType": "application", "targets": { "build": { - "executor": "@nx/webpack:webpack", - "outputs": ["{options.outputPath}"], "options": { - "target": "node", - "compiler": "tsc", - "outputPath": "dist/apps/interpreter", - "main": "apps/interpreter/src/index.ts", - "tsConfig": "apps/interpreter/tsconfig.app.json", - "webpackConfig": "apps/interpreter/webpack.config.js", - "generatePackageJson": true - }, - "configurations": { - "dev": {}, - "prod": {} - }, - "defaultConfiguration": "dev" + "tsConfig": "{projectRoot}/tsconfig.app.json" + } }, "lint": { "executor": "@nx/eslint:lint", diff --git a/apps/interpreter/tsconfig.app.json b/apps/interpreter/tsconfig.app.json index 5e57b69ba..715ec5595 100644 --- a/apps/interpreter/tsconfig.app.json +++ b/apps/interpreter/tsconfig.app.json @@ -2,7 +2,6 @@ "extends": "./tsconfig.json", "compilerOptions": { "resolveJsonModule": true, - "module": "commonjs", "types": ["node"] }, "exclude": ["jest.config.ts", "**/*.spec.ts", "**/*.test.ts"], diff --git a/apps/language-server-web-worker/tsconfig.spec.json b/apps/language-server-web-worker/tsconfig.spec.json index 9b2a121d1..d41aea47f 100644 --- a/apps/language-server-web-worker/tsconfig.spec.json +++ b/apps/language-server-web-worker/tsconfig.spec.json @@ -2,7 +2,6 @@ "extends": "./tsconfig.json", "compilerOptions": { "outDir": "../../dist/out-tsc", - "module": "commonjs", "types": ["jest", "node"] }, "include": [ diff --git a/libs/execution/package.json b/libs/execution/package.json index 7a7cd3d38..0ba36b4b7 100644 --- a/libs/execution/package.json +++ b/libs/execution/package.json @@ -1,4 +1,3 @@ { - "name": "@jvalue/jayvee-execution", - "type": "commonjs" + "name": "@jvalue/jayvee-execution" } diff --git a/libs/execution/project.json b/libs/execution/project.json index 6c04f95f8..d0f55ccb6 100644 --- a/libs/execution/project.json +++ b/libs/execution/project.json @@ -4,16 +4,7 @@ "sourceRoot": "libs/execution/src", "projectType": "library", "targets": { - "build": { - "executor": "@nx/js:tsc", - "outputs": ["{options.outputPath}"], - "options": { - "outputPath": "dist/libs/execution", - "main": "libs/execution/src/index.ts", - "tsConfig": "libs/execution/tsconfig.lib.json", - "assets": ["libs/execution/*.md"] - } - }, + "build": {}, "lint": { "executor": "@nx/eslint:lint", "outputs": ["{options.outputFile}"] diff --git a/libs/execution/tsconfig.json b/libs/execution/tsconfig.json index f5b85657a..0e8e67d56 100644 --- a/libs/execution/tsconfig.json +++ b/libs/execution/tsconfig.json @@ -1,7 +1,6 @@ { "extends": "../../tsconfig.base.json", "compilerOptions": { - "module": "commonjs", "forceConsistentCasingInFileNames": true, "strict": true, "noImplicitOverride": true, diff --git a/libs/execution/tsconfig.spec.json b/libs/execution/tsconfig.spec.json index 54386f991..1f154dcfa 100644 --- a/libs/execution/tsconfig.spec.json +++ b/libs/execution/tsconfig.spec.json @@ -2,14 +2,13 @@ "extends": "./tsconfig.json", "compilerOptions": { "outDir": "../../dist/out-tsc", - "module": "commonjs", "types": ["jest", "node"] }, "include": [ "jest.config.ts", "src/**/*.test.ts", "src/**/*.spec.ts", - "src/**/*.d.ts", + "src/**/*.d.ts", "test/**/*.ts" ] } diff --git a/libs/extensions/rdbms/exec/package.json b/libs/extensions/rdbms/exec/package.json index 71dba8743..e620ee4b4 100644 --- a/libs/extensions/rdbms/exec/package.json +++ b/libs/extensions/rdbms/exec/package.json @@ -1,4 +1,3 @@ { - "name": "@jvalue/jayvee-extensions/rdbms/exec", - "type": "commonjs" + "name": "@jvalue/jayvee-extensions/rdbms/exec" } diff --git a/libs/extensions/rdbms/exec/project.json b/libs/extensions/rdbms/exec/project.json index d47b4396c..947e20f0b 100644 --- a/libs/extensions/rdbms/exec/project.json +++ b/libs/extensions/rdbms/exec/project.json @@ -4,16 +4,7 @@ "sourceRoot": "libs/extensions/rdbms/exec/src", "projectType": "library", "targets": { - "build": { - "executor": "@nx/js:tsc", - "outputs": ["{options.outputPath}"], - "options": { - "outputPath": "dist/libs/extensions/rdbms/exec", - "main": "libs/extensions/rdbms/exec/src/index.ts", - "tsConfig": "libs/extensions/rdbms/exec/tsconfig.lib.json", - "assets": ["libs/extensions/rdbms/exec/*.md"] - } - }, + "build": {}, "lint": { "executor": "@nx/eslint:lint", "outputs": ["{options.outputFile}"] diff --git a/libs/extensions/rdbms/exec/tsconfig.json b/libs/extensions/rdbms/exec/tsconfig.json index 4022fd4d0..d2cccb9fd 100644 --- a/libs/extensions/rdbms/exec/tsconfig.json +++ b/libs/extensions/rdbms/exec/tsconfig.json @@ -1,7 +1,6 @@ { "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "module": "commonjs", "forceConsistentCasingInFileNames": true, "strict": true, "noImplicitOverride": true, diff --git a/libs/extensions/rdbms/exec/tsconfig.spec.json b/libs/extensions/rdbms/exec/tsconfig.spec.json index ab8d1573c..0ff741b40 100644 --- a/libs/extensions/rdbms/exec/tsconfig.spec.json +++ b/libs/extensions/rdbms/exec/tsconfig.spec.json @@ -2,7 +2,6 @@ "extends": "./tsconfig.json", "compilerOptions": { "outDir": "../../../../dist/out-tsc", - "module": "commonjs", "types": ["jest", "node"] }, "include": [ diff --git a/libs/extensions/std/exec/package.json b/libs/extensions/std/exec/package.json index 0bd468dd6..547d74359 100644 --- a/libs/extensions/std/exec/package.json +++ b/libs/extensions/std/exec/package.json @@ -1,4 +1,3 @@ { - "name": "@jvalue/jayvee-extensions/std/exec", - "type": "commonjs" + "name": "@jvalue/jayvee-extensions/std/exec" } diff --git a/libs/extensions/std/exec/project.json b/libs/extensions/std/exec/project.json index 25d049e08..2229d7a3f 100644 --- a/libs/extensions/std/exec/project.json +++ b/libs/extensions/std/exec/project.json @@ -4,16 +4,7 @@ "sourceRoot": "libs/extensions/std/exec/src", "projectType": "library", "targets": { - "build": { - "executor": "@nx/js:tsc", - "outputs": ["{options.outputPath}"], - "options": { - "outputPath": "dist/libs/extensions/std/exec", - "main": "libs/extensions/std/exec/src/index.ts", - "tsConfig": "libs/extensions/std/exec/tsconfig.lib.json", - "assets": ["libs/extensions/std/exec/*.md"] - } - }, + "build": {}, "lint": { "executor": "@nx/eslint:lint", "outputs": ["{options.outputFile}"] diff --git a/libs/extensions/std/exec/tsconfig.json b/libs/extensions/std/exec/tsconfig.json index 4022fd4d0..d2cccb9fd 100644 --- a/libs/extensions/std/exec/tsconfig.json +++ b/libs/extensions/std/exec/tsconfig.json @@ -1,7 +1,6 @@ { "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "module": "commonjs", "forceConsistentCasingInFileNames": true, "strict": true, "noImplicitOverride": true, diff --git a/libs/extensions/std/exec/tsconfig.spec.json b/libs/extensions/std/exec/tsconfig.spec.json index ab8d1573c..0ff741b40 100644 --- a/libs/extensions/std/exec/tsconfig.spec.json +++ b/libs/extensions/std/exec/tsconfig.spec.json @@ -2,7 +2,6 @@ "extends": "./tsconfig.json", "compilerOptions": { "outDir": "../../../../dist/out-tsc", - "module": "commonjs", "types": ["jest", "node"] }, "include": [ diff --git a/libs/extensions/tabular/exec/package.json b/libs/extensions/tabular/exec/package.json index e5d0b0136..cc24f1414 100644 --- a/libs/extensions/tabular/exec/package.json +++ b/libs/extensions/tabular/exec/package.json @@ -1,4 +1,3 @@ { - "name": "@jvalue/jayvee-extensions/tabular/exec", - "type": "commonjs" + "name": "@jvalue/jayvee-extensions/tabular/exec" } diff --git a/libs/extensions/tabular/exec/project.json b/libs/extensions/tabular/exec/project.json index e8d198bcf..b4c0b17ab 100644 --- a/libs/extensions/tabular/exec/project.json +++ b/libs/extensions/tabular/exec/project.json @@ -4,16 +4,7 @@ "sourceRoot": "libs/extensions/tabular/exec/src", "projectType": "library", "targets": { - "build": { - "executor": "@nx/js:tsc", - "outputs": ["{options.outputPath}"], - "options": { - "outputPath": "dist/libs/extensions/tabular/exec", - "main": "libs/extensions/tabular/exec/src/index.ts", - "tsConfig": "libs/extensions/tabular/exec/tsconfig.lib.json", - "assets": ["libs/extensions/tabular/exec/*.md"] - } - }, + "build": {}, "lint": { "executor": "@nx/eslint:lint", "outputs": ["{options.outputFile}"] diff --git a/libs/extensions/tabular/exec/tsconfig.json b/libs/extensions/tabular/exec/tsconfig.json index 4022fd4d0..d2cccb9fd 100644 --- a/libs/extensions/tabular/exec/tsconfig.json +++ b/libs/extensions/tabular/exec/tsconfig.json @@ -1,7 +1,6 @@ { "extends": "../../../../tsconfig.base.json", "compilerOptions": { - "module": "commonjs", "forceConsistentCasingInFileNames": true, "strict": true, "noImplicitOverride": true, diff --git a/libs/extensions/tabular/exec/tsconfig.spec.json b/libs/extensions/tabular/exec/tsconfig.spec.json index ab8d1573c..0ff741b40 100644 --- a/libs/extensions/tabular/exec/tsconfig.spec.json +++ b/libs/extensions/tabular/exec/tsconfig.spec.json @@ -2,7 +2,6 @@ "extends": "./tsconfig.json", "compilerOptions": { "outDir": "../../../../dist/out-tsc", - "module": "commonjs", "types": ["jest", "node"] }, "include": [ diff --git a/libs/interpreter-lib/package.json b/libs/interpreter-lib/package.json index 71532b62f..469b2a434 100644 --- a/libs/interpreter-lib/package.json +++ b/libs/interpreter-lib/package.json @@ -1,6 +1,5 @@ { "name": "@jvalue/jayvee-interpreter-lib", - "type": "commonjs", "bugs": { "url": "https://github.com/jvalue/jayvee/issues" }, diff --git a/libs/interpreter-lib/project.json b/libs/interpreter-lib/project.json index 8f6e86fa1..55c4dcad7 100644 --- a/libs/interpreter-lib/project.json +++ b/libs/interpreter-lib/project.json @@ -4,17 +4,7 @@ "sourceRoot": "libs/interpreter-lib/src", "projectType": "library", "targets": { - "build": { - "executor": "@nx/js:tsc", - "outputs": ["{options.outputPath}"], - "options": { - "external": "none", - "outputPath": "dist/libs/interpreter-lib", - "main": "libs/interpreter-lib/src/index.ts", - "tsConfig": "libs/interpreter-lib/tsconfig.lib.json", - "assets": ["libs/interpreter-lib/*.md"] - } - }, + "build": {}, "lint": { "executor": "@nx/eslint:lint", "outputs": ["{options.outputFile}"] diff --git a/libs/interpreter-lib/tsconfig.json b/libs/interpreter-lib/tsconfig.json index f5b85657a..0e8e67d56 100644 --- a/libs/interpreter-lib/tsconfig.json +++ b/libs/interpreter-lib/tsconfig.json @@ -1,7 +1,6 @@ { "extends": "../../tsconfig.base.json", "compilerOptions": { - "module": "commonjs", "forceConsistentCasingInFileNames": true, "strict": true, "noImplicitOverride": true, diff --git a/libs/interpreter-lib/tsconfig.spec.json b/libs/interpreter-lib/tsconfig.spec.json index 9b2a121d1..d41aea47f 100644 --- a/libs/interpreter-lib/tsconfig.spec.json +++ b/libs/interpreter-lib/tsconfig.spec.json @@ -2,7 +2,6 @@ "extends": "./tsconfig.json", "compilerOptions": { "outDir": "../../dist/out-tsc", - "module": "commonjs", "types": ["jest", "node"] }, "include": [ diff --git a/libs/language-server/project.json b/libs/language-server/project.json index 413f089f3..4367d1729 100644 --- a/libs/language-server/project.json +++ b/libs/language-server/project.json @@ -16,21 +16,7 @@ "parallel": false } }, - "build": { - "dependsOn": ["generate"], - "executor": "@nx/js:tsc", - "outputs": ["{options.outputPath}"], - "options": { - "outputPath": "dist/libs/language-server", - "main": "libs/language-server/src/index.ts", - "tsConfig": "libs/language-server/tsconfig.lib.json" - }, - "configurations": { - "dev": {}, - "prod": {} - }, - "defaultConfiguration": "dev" - }, + "build": {}, "lint": { "executor": "@nx/eslint:lint", "outputs": ["{options.outputFile}"] diff --git a/libs/language-server/tsconfig.lib.json b/libs/language-server/tsconfig.lib.json index e8e140d08..547e21dd6 100644 --- a/libs/language-server/tsconfig.lib.json +++ b/libs/language-server/tsconfig.lib.json @@ -3,7 +3,6 @@ "compilerOptions": { "declaration": true, "types": ["node"], - "module": "CommonJS" }, "include": ["**/*.ts"], "exclude": ["jest.config.ts", "**/*.spec.ts", "**/*.test.ts", "./src/test/**/*.ts"] diff --git a/libs/monaco-editor/tsconfig.spec.json b/libs/monaco-editor/tsconfig.spec.json index 26ef046ac..fb16ed682 100644 --- a/libs/monaco-editor/tsconfig.spec.json +++ b/libs/monaco-editor/tsconfig.spec.json @@ -2,7 +2,6 @@ "extends": "./tsconfig.json", "compilerOptions": { "outDir": "../../dist/out-tsc", - "module": "commonjs", "types": ["jest", "node"] }, "include": [ diff --git a/nx.json b/nx.json index bdf46dae6..c41d3d3fd 100644 --- a/nx.json +++ b/nx.json @@ -2,9 +2,31 @@ "$schema": "./node_modules/nx/schemas/nx-schema.json", "targetDefaults": { "build": { + "cache": true, + "executor": "@nx/esbuild:esbuild", "dependsOn": ["^build"], "inputs": ["production", "^production"], - "cache": true + "outputs": ["{options.outputPath}"], + "defaultConfiguration": "production", + "options": { + "main": "{projectRoot}/src/index.ts", + "outputPath": "dist/{projectRoot}", + "outputFileName": "main.js", + "tsConfig": "{projectRoot}/tsconfig.lib.json", + "assets": [ + { + "glob": "{projectRoot}/README.md", + "input": ".", + "output": "." + } + ], +// "platform": "node", + "generatePackageJson": true + }, + "configurations": { + "development": {}, + "production": {} + } }, "@nx/eslint:lint": { "inputs": ["default", "{workspaceRoot}/.eslintrc.json"], diff --git a/package-lock.json b/package-lock.json index 2d1e5d563..31cb655db 100644 --- a/package-lock.json +++ b/package-lock.json @@ -19,7 +19,7 @@ "exceljs": "^4.3.0", "fast-csv": "^4.3.6", "follow-redirects": "^1.15.2", - "fp-ts": "^2.13.1", + "fp-ts": "^2.16.5", "gtfs-realtime-bindings": "^1.1.1", "jszip": "^3.10.1", "langium": "^1.3.0", @@ -14934,9 +14934,9 @@ } }, "node_modules/fp-ts": { - "version": "2.13.1", - "resolved": "https://registry.npmjs.org/fp-ts/-/fp-ts-2.13.1.tgz", - "integrity": "sha512-0eu5ULPS2c/jsa1lGFneEFFEdTbembJv8e4QKXeVJ3lm/5hyve06dlKZrpxmMwJt6rYen7sxmHHK2CLaXvWuWQ==" + "version": "2.16.5", + "resolved": "https://registry.npmjs.org/fp-ts/-/fp-ts-2.16.5.tgz", + "integrity": "sha512-N8T8PwMSeTKKtkm9lkj/zSTAnPC/aJIIrQhnHxxkL0KLsRCNUPANksJOlMXxcKKCo7H1ORP3No9EMD+fP0tsdA==" }, "node_modules/fraction.js": { "version": "4.2.0", @@ -37396,9 +37396,9 @@ "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==" }, "fp-ts": { - "version": "2.13.1", - "resolved": "https://registry.npmjs.org/fp-ts/-/fp-ts-2.13.1.tgz", - "integrity": "sha512-0eu5ULPS2c/jsa1lGFneEFFEdTbembJv8e4QKXeVJ3lm/5hyve06dlKZrpxmMwJt6rYen7sxmHHK2CLaXvWuWQ==" + "version": "2.16.5", + "resolved": "https://registry.npmjs.org/fp-ts/-/fp-ts-2.16.5.tgz", + "integrity": "sha512-N8T8PwMSeTKKtkm9lkj/zSTAnPC/aJIIrQhnHxxkL0KLsRCNUPANksJOlMXxcKKCo7H1ORP3No9EMD+fP0tsdA==" }, "fraction.js": { "version": "4.2.0", diff --git a/package.json b/package.json index ea0aa1b9b..62c937097 100644 --- a/package.json +++ b/package.json @@ -28,7 +28,7 @@ "exceljs": "^4.3.0", "fast-csv": "^4.3.6", "follow-redirects": "^1.15.2", - "fp-ts": "^2.13.1", + "fp-ts": "^2.16.5", "gtfs-realtime-bindings": "^1.1.1", "jszip": "^3.10.1", "langium": "^1.3.0", diff --git a/tsconfig.base.json b/tsconfig.base.json index 7b1cf8845..fbecaa484 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -6,10 +6,12 @@ "emitDecoratorMetadata": true, "experimentalDecorators": true, "importHelpers": true, - "target": "ES6", + "target": "ES2015", "module": "ESNext", - "moduleResolution": "node", - "lib": ["ES2017"], + "moduleResolution": "Bundler", + "lib": ["ES2020"], + "esModuleInterop": true, + "allowSyntheticDefaultImports": true, "skipLibCheck": true, "skipDefaultLibCheck": true, "strict": true, From a8142ea715d7bf4da7243be9a7a2caf956045dda Mon Sep 17 00:00:00 2001 From: Georg Schwarz Date: Thu, 2 May 2024 12:10:47 +0200 Subject: [PATCH 02/38] Fix import of JSZip --- libs/extensions/std/exec/src/archive-interpreter-executor.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libs/extensions/std/exec/src/archive-interpreter-executor.ts b/libs/extensions/std/exec/src/archive-interpreter-executor.ts index d0491fdc4..962626ebb 100644 --- a/libs/extensions/std/exec/src/archive-interpreter-executor.ts +++ b/libs/extensions/std/exec/src/archive-interpreter-executor.ts @@ -22,7 +22,7 @@ import { inferMimeTypeFromFileExtensionString, } from '@jvalue/jayvee-execution'; import { IOType } from '@jvalue/jayvee-language-server'; -import * as JSZip from 'jszip'; +import JSZip from 'jszip'; @implementsStatic() export class ArchiveInterpreterExecutor extends AbstractBlockExecutor< From 0fb701bd04df1ca9e4462da420eeda021dbb3114 Mon Sep 17 00:00:00 2001 From: Georg Schwarz Date: Thu, 2 May 2024 12:19:22 +0200 Subject: [PATCH 03/38] Fix import from langium in DefaultLogger --- libs/execution/src/lib/logging/default-logger.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libs/execution/src/lib/logging/default-logger.ts b/libs/execution/src/lib/logging/default-logger.ts index 7dcca9605..56b938c8e 100644 --- a/libs/execution/src/lib/logging/default-logger.ts +++ b/libs/execution/src/lib/logging/default-logger.ts @@ -4,7 +4,7 @@ import * as chalk from 'chalk'; import { type LangiumDocument } from 'langium'; -import { assertUnreachable } from 'langium/lib/utils/errors'; +import { assertUnreachable } from 'langium'; import { type Range } from 'vscode-languageserver'; import { uinteger } from 'vscode-languageserver-types'; From d19b3416f76c15c36e716587fe24bb7645c99d71 Mon Sep 17 00:00:00 2001 From: Georg Schwarz Date: Thu, 2 May 2024 12:33:52 +0200 Subject: [PATCH 04/38] Adjust imports to make esbuild work --- apps/docs/generator/src/main.ts | 2 +- apps/interpreter/src/examples-smoke-test.spec.ts | 2 +- apps/vs-code-extension/src/language-server.ts | 2 +- libs/execution/src/lib/blocks/execution-result.ts | 2 +- .../default-constraint-executors-extension.spec.ts | 2 +- .../executors/allowlist-constraint-executor.spec.ts | 2 +- .../executors/denylist-constraint-executor.spec.ts | 2 +- .../executors/expression-constraint-executor.spec.ts | 2 +- .../executors/length-constraint-executor.spec.ts | 2 +- .../executors/range-constraint-executor.spec.ts | 2 +- .../executors/regex-constraint-executor.spec.ts | 2 +- libs/execution/src/lib/logging/default-logger.ts | 2 +- .../src/lib/transforms/transform-executor.spec.ts | 2 +- .../rdbms/exec/src/lib/postgres-loader-executor.spec.ts | 2 +- .../rdbms/exec/src/lib/postgres-loader-executor.ts | 4 +++- .../rdbms/exec/src/lib/sqlite-loader-executor.spec.ts | 2 +- .../rdbms/exec/src/lib/sqlite-loader-executor.ts | 2 +- .../std/exec/src/archive-interpreter-executor.spec.ts | 2 +- libs/extensions/std/exec/src/file-picker-executor.spec.ts | 2 +- .../std/exec/src/gtfs-rt-interpreter-executor.spec.ts | 2 +- .../std/exec/src/gtfs-rt-interpreter-executor.ts | 4 ++-- .../std/exec/src/http-extractor-executor.spec.ts | 2 +- libs/extensions/std/exec/src/http-extractor-executor.ts | 6 ++++-- .../std/exec/src/local-file-extractor-executor.spec.ts | 2 +- .../std/exec/src/text-file-interpreter-executor.spec.ts | 2 +- .../std/exec/src/text-line-deleter-executor.spec.ts | 2 +- .../std/exec/src/text-range-selector-executor.spec.ts | 2 +- .../exec/src/lib/cell-range-selector-executor.spec.ts | 2 +- .../tabular/exec/src/lib/cell-writer-executor.spec.ts | 2 +- .../tabular/exec/src/lib/column-deleter-executor.spec.ts | 2 +- .../tabular/exec/src/lib/csv-interpreter-executor.spec.ts | 2 +- .../tabular/exec/src/lib/csv-interpreter-executor.ts | 8 ++++---- .../tabular/exec/src/lib/row-deleter-executor.spec.ts | 2 +- .../tabular/exec/src/lib/sheet-picker-executor.spec.ts | 2 +- .../exec/src/lib/table-interpreter-executor.spec.ts | 2 +- .../exec/src/lib/table-transformer-executor.spec.ts | 2 +- .../exec/src/lib/xlsx-interpreter-executor.spec.ts | 2 +- libs/interpreter-lib/src/interpreter.ts | 4 ++-- libs/interpreter-lib/src/parsing-util.spec.ts | 2 +- libs/interpreter-lib/src/parsing-util.ts | 4 +++- libs/interpreter-lib/src/std-extension.spec.ts | 2 +- .../validation-checks/runtime-parameter-literal.spec.ts | 2 +- .../language-server/src/lib/ast/expressions/test-utils.ts | 2 +- libs/language-server/src/lib/ast/value-definition.spec.ts | 2 +- .../src/lib/builtin-library/jayvee-workspace-manager.ts | 4 +++- .../lib/validation/checks/block-type-definition.spec.ts | 2 +- .../block-type-specific/property-assignment.spec.ts | 2 +- .../checks/block-type-specific/property-body.spec.ts | 2 +- .../src/lib/validation/checks/column-id.spec.ts | 2 +- .../checks/composite-block-type-definition.spec.ts | 2 +- .../constrainttype-specific/property-assignment.spec.ts | 2 +- .../checks/constrainttype-specific/property-body.spec.ts | 2 +- .../checks/expression-constraint-definition.spec.ts | 2 +- .../src/lib/validation/checks/jayvee-model.spec.ts | 2 +- .../src/lib/validation/checks/pipe-definition.spec.ts | 2 +- .../src/lib/validation/checks/pipeline-definition.spec.ts | 2 +- .../src/lib/validation/checks/property-assignment.spec.ts | 2 +- .../src/lib/validation/checks/property-body.spec.ts | 2 +- .../src/lib/validation/checks/range-literal.spec.ts | 2 +- .../src/lib/validation/checks/regex-literal.spec.ts | 2 +- .../src/lib/validation/checks/transform-body.spec.ts | 2 +- .../validation/checks/transform-output-assignment.spec.ts | 2 +- .../validation/checks/typed-constraint-definition.spec.ts | 2 +- .../lib/validation/checks/value-type-definition.spec.ts | 2 +- .../lib/validation/checks/value-type-reference.spec.ts | 2 +- .../src/lib/validation/docs-constraint-examples.spec.ts | 2 +- .../src/lib/validation/validation-utils.spec.ts | 2 +- libs/language-server/src/test/langium-utils.ts | 4 +++- 68 files changed, 84 insertions(+), 74 deletions(-) diff --git a/apps/docs/generator/src/main.ts b/apps/docs/generator/src/main.ts index b93afc3d9..9e6aa9416 100644 --- a/apps/docs/generator/src/main.ts +++ b/apps/docs/generator/src/main.ts @@ -12,7 +12,7 @@ import { getAllBuiltinConstraintTypes, initializeWorkspace, } from '@jvalue/jayvee-language-server'; -import { NodeFileSystem } from 'langium/node'; +import { NodeFileSystem } from 'langium/node.js'; import { UserDocGenerator } from './user-doc-generator'; diff --git a/apps/interpreter/src/examples-smoke-test.spec.ts b/apps/interpreter/src/examples-smoke-test.spec.ts index 43532847a..20ea99283 100644 --- a/apps/interpreter/src/examples-smoke-test.spec.ts +++ b/apps/interpreter/src/examples-smoke-test.spec.ts @@ -14,7 +14,7 @@ import { createJayveeServices, initializeWorkspace, } from '@jvalue/jayvee-language-server'; -import { NodeFileSystem } from 'langium/node'; +import { NodeFileSystem } from 'langium/node.js'; import * as nock from 'nock'; import { runAction } from './run-action'; diff --git a/apps/vs-code-extension/src/language-server.ts b/apps/vs-code-extension/src/language-server.ts index e03b1c248..d3d7dfc75 100644 --- a/apps/vs-code-extension/src/language-server.ts +++ b/apps/vs-code-extension/src/language-server.ts @@ -4,7 +4,7 @@ import { createJayveeServices } from '@jvalue/jayvee-language-server'; import { startLanguageServer } from 'langium'; -import { NodeFileSystem } from 'langium/node'; +import { NodeFileSystem } from 'langium/node.js'; import { ProposedFeatures, createConnection } from 'vscode-languageserver/node'; // Create a connection to the client diff --git a/libs/execution/src/lib/blocks/execution-result.ts b/libs/execution/src/lib/blocks/execution-result.ts index 10a384fba..642a54851 100644 --- a/libs/execution/src/lib/blocks/execution-result.ts +++ b/libs/execution/src/lib/blocks/execution-result.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import * as E from 'fp-ts/lib/Either'; +import E from 'fp-ts/lib/Either.js'; import { type AstNode, type DiagnosticInfo } from 'langium'; export interface ExecutionErrorDetails { diff --git a/libs/execution/src/lib/constraints/default-constraint-executors-extension.spec.ts b/libs/execution/src/lib/constraints/default-constraint-executors-extension.spec.ts index f3630ec3e..b37d45e16 100644 --- a/libs/execution/src/lib/constraints/default-constraint-executors-extension.spec.ts +++ b/libs/execution/src/lib/constraints/default-constraint-executors-extension.spec.ts @@ -7,7 +7,7 @@ import { getAllBuiltinConstraintTypes, initializeWorkspace, } from '@jvalue/jayvee-language-server'; -import { NodeFileSystem } from 'langium/node'; +import { NodeFileSystem } from 'langium/node.js'; import { DefaultConstraintExtension } from './constraint-executor-extension'; diff --git a/libs/execution/src/lib/constraints/executors/allowlist-constraint-executor.spec.ts b/libs/execution/src/lib/constraints/executors/allowlist-constraint-executor.spec.ts index 9bb4ad884..b166fc45e 100644 --- a/libs/execution/src/lib/constraints/executors/allowlist-constraint-executor.spec.ts +++ b/libs/execution/src/lib/constraints/executors/allowlist-constraint-executor.spec.ts @@ -20,7 +20,7 @@ import { type AstNodeLocator, type LangiumDocument, } from 'langium'; -import { NodeFileSystem } from 'langium/node'; +import { NodeFileSystem } from 'langium/node.js'; import { getTestExecutionContext } from '../../../../test/utils'; diff --git a/libs/execution/src/lib/constraints/executors/denylist-constraint-executor.spec.ts b/libs/execution/src/lib/constraints/executors/denylist-constraint-executor.spec.ts index 86e08e0f5..1947984bd 100644 --- a/libs/execution/src/lib/constraints/executors/denylist-constraint-executor.spec.ts +++ b/libs/execution/src/lib/constraints/executors/denylist-constraint-executor.spec.ts @@ -20,7 +20,7 @@ import { type AstNodeLocator, type LangiumDocument, } from 'langium'; -import { NodeFileSystem } from 'langium/node'; +import { NodeFileSystem } from 'langium/node.js'; import { getTestExecutionContext } from '../../../../test/utils'; diff --git a/libs/execution/src/lib/constraints/executors/expression-constraint-executor.spec.ts b/libs/execution/src/lib/constraints/executors/expression-constraint-executor.spec.ts index eb64d0790..472ae88f6 100644 --- a/libs/execution/src/lib/constraints/executors/expression-constraint-executor.spec.ts +++ b/libs/execution/src/lib/constraints/executors/expression-constraint-executor.spec.ts @@ -20,7 +20,7 @@ import { type AstNodeLocator, type LangiumDocument, } from 'langium'; -import { NodeFileSystem } from 'langium/node'; +import { NodeFileSystem } from 'langium/node.js'; import { getTestExecutionContext } from '../../../../test/utils'; diff --git a/libs/execution/src/lib/constraints/executors/length-constraint-executor.spec.ts b/libs/execution/src/lib/constraints/executors/length-constraint-executor.spec.ts index e8dfec3a1..a24fbbb86 100644 --- a/libs/execution/src/lib/constraints/executors/length-constraint-executor.spec.ts +++ b/libs/execution/src/lib/constraints/executors/length-constraint-executor.spec.ts @@ -20,7 +20,7 @@ import { type AstNodeLocator, type LangiumDocument, } from 'langium'; -import { NodeFileSystem } from 'langium/node'; +import { NodeFileSystem } from 'langium/node.js'; import { getTestExecutionContext } from '../../../../test/utils'; diff --git a/libs/execution/src/lib/constraints/executors/range-constraint-executor.spec.ts b/libs/execution/src/lib/constraints/executors/range-constraint-executor.spec.ts index 571be846c..a33fd5182 100644 --- a/libs/execution/src/lib/constraints/executors/range-constraint-executor.spec.ts +++ b/libs/execution/src/lib/constraints/executors/range-constraint-executor.spec.ts @@ -21,7 +21,7 @@ import { type AstNodeLocator, type LangiumDocument, } from 'langium'; -import { NodeFileSystem } from 'langium/node'; +import { NodeFileSystem } from 'langium/node.js'; import { getTestExecutionContext } from '../../../../test/utils'; diff --git a/libs/execution/src/lib/constraints/executors/regex-constraint-executor.spec.ts b/libs/execution/src/lib/constraints/executors/regex-constraint-executor.spec.ts index 8bbd9aceb..0c656cdf8 100644 --- a/libs/execution/src/lib/constraints/executors/regex-constraint-executor.spec.ts +++ b/libs/execution/src/lib/constraints/executors/regex-constraint-executor.spec.ts @@ -20,7 +20,7 @@ import { type AstNodeLocator, type LangiumDocument, } from 'langium'; -import { NodeFileSystem } from 'langium/node'; +import { NodeFileSystem } from 'langium/node.js'; import { getTestExecutionContext } from '../../../../test/utils'; diff --git a/libs/execution/src/lib/logging/default-logger.ts b/libs/execution/src/lib/logging/default-logger.ts index 56b938c8e..a61b63f50 100644 --- a/libs/execution/src/lib/logging/default-logger.ts +++ b/libs/execution/src/lib/logging/default-logger.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import * as chalk from 'chalk'; +import chalk from 'chalk'; import { type LangiumDocument } from 'langium'; import { assertUnreachable } from 'langium'; import { type Range } from 'vscode-languageserver'; diff --git a/libs/execution/src/lib/transforms/transform-executor.spec.ts b/libs/execution/src/lib/transforms/transform-executor.spec.ts index 4fa4a8579..ff9bc61e1 100644 --- a/libs/execution/src/lib/transforms/transform-executor.spec.ts +++ b/libs/execution/src/lib/transforms/transform-executor.spec.ts @@ -23,7 +23,7 @@ import { type AstNodeLocator, type LangiumDocument, } from 'langium'; -import { NodeFileSystem } from 'langium/node'; +import { NodeFileSystem } from 'langium/node.js'; import { constructTable, getTestExecutionContext } from '../../../test/utils'; import { type Table, type TableColumn } from '../types/io-types/table'; diff --git a/libs/extensions/rdbms/exec/src/lib/postgres-loader-executor.spec.ts b/libs/extensions/rdbms/exec/src/lib/postgres-loader-executor.spec.ts index 28f6d568b..27d4edf0e 100644 --- a/libs/extensions/rdbms/exec/src/lib/postgres-loader-executor.spec.ts +++ b/libs/extensions/rdbms/exec/src/lib/postgres-loader-executor.spec.ts @@ -27,7 +27,7 @@ import { type AstNodeLocator, type LangiumDocument, } from 'langium'; -import { NodeFileSystem } from 'langium/node'; +import { NodeFileSystem } from 'langium/node.js'; import { PostgresLoaderExecutor } from './postgres-loader-executor'; diff --git a/libs/extensions/rdbms/exec/src/lib/postgres-loader-executor.ts b/libs/extensions/rdbms/exec/src/lib/postgres-loader-executor.ts index b4afec135..6778a599c 100644 --- a/libs/extensions/rdbms/exec/src/lib/postgres-loader-executor.ts +++ b/libs/extensions/rdbms/exec/src/lib/postgres-loader-executor.ts @@ -13,7 +13,9 @@ import { implementsStatic, } from '@jvalue/jayvee-execution'; import { IOType } from '@jvalue/jayvee-language-server'; -import { Client } from 'pg'; +import pg from 'pg'; + +const { Client } = pg; // work around import issue with ESM @implementsStatic() export class PostgresLoaderExecutor extends AbstractBlockExecutor< diff --git a/libs/extensions/rdbms/exec/src/lib/sqlite-loader-executor.spec.ts b/libs/extensions/rdbms/exec/src/lib/sqlite-loader-executor.spec.ts index 25852951b..4e8b36160 100644 --- a/libs/extensions/rdbms/exec/src/lib/sqlite-loader-executor.spec.ts +++ b/libs/extensions/rdbms/exec/src/lib/sqlite-loader-executor.spec.ts @@ -27,7 +27,7 @@ import { type AstNodeLocator, type LangiumDocument, } from 'langium'; -import { NodeFileSystem } from 'langium/node'; +import { NodeFileSystem } from 'langium/node.js'; import type * as sqlite3 from 'sqlite3'; import { SQLiteLoaderExecutor } from './sqlite-loader-executor'; diff --git a/libs/extensions/rdbms/exec/src/lib/sqlite-loader-executor.ts b/libs/extensions/rdbms/exec/src/lib/sqlite-loader-executor.ts index 66aa6195e..5bb2109c0 100644 --- a/libs/extensions/rdbms/exec/src/lib/sqlite-loader-executor.ts +++ b/libs/extensions/rdbms/exec/src/lib/sqlite-loader-executor.ts @@ -13,7 +13,7 @@ import { implementsStatic, } from '@jvalue/jayvee-execution'; import { IOType } from '@jvalue/jayvee-language-server'; -import * as sqlite3 from 'sqlite3'; +import sqlite3 from 'sqlite3'; @implementsStatic() export class SQLiteLoaderExecutor extends AbstractBlockExecutor< diff --git a/libs/extensions/std/exec/src/archive-interpreter-executor.spec.ts b/libs/extensions/std/exec/src/archive-interpreter-executor.spec.ts index 0340c4438..8063e1f22 100644 --- a/libs/extensions/std/exec/src/archive-interpreter-executor.spec.ts +++ b/libs/extensions/std/exec/src/archive-interpreter-executor.spec.ts @@ -27,7 +27,7 @@ import { type AstNodeLocator, type LangiumDocument, } from 'langium'; -import { NodeFileSystem } from 'langium/node'; +import { NodeFileSystem } from 'langium/node.js'; import { ArchiveInterpreterExecutor } from './archive-interpreter-executor'; diff --git a/libs/extensions/std/exec/src/file-picker-executor.spec.ts b/libs/extensions/std/exec/src/file-picker-executor.spec.ts index 917888e59..02c9c134a 100644 --- a/libs/extensions/std/exec/src/file-picker-executor.spec.ts +++ b/libs/extensions/std/exec/src/file-picker-executor.spec.ts @@ -27,7 +27,7 @@ import { type AstNodeLocator, type LangiumDocument, } from 'langium'; -import { NodeFileSystem } from 'langium/node'; +import { NodeFileSystem } from 'langium/node.js'; import { FilePickerExecutor } from './file-picker-executor'; diff --git a/libs/extensions/std/exec/src/gtfs-rt-interpreter-executor.spec.ts b/libs/extensions/std/exec/src/gtfs-rt-interpreter-executor.spec.ts index bea4fb497..0e230b8c1 100644 --- a/libs/extensions/std/exec/src/gtfs-rt-interpreter-executor.spec.ts +++ b/libs/extensions/std/exec/src/gtfs-rt-interpreter-executor.spec.ts @@ -27,7 +27,7 @@ import { type AstNodeLocator, type LangiumDocument, } from 'langium'; -import { NodeFileSystem } from 'langium/node'; +import { NodeFileSystem } from 'langium/node.js'; import { GtfsRTInterpreterExecutor } from './gtfs-rt-interpreter-executor'; diff --git a/libs/extensions/std/exec/src/gtfs-rt-interpreter-executor.ts b/libs/extensions/std/exec/src/gtfs-rt-interpreter-executor.ts index c3f1f4cf6..c0f976373 100644 --- a/libs/extensions/std/exec/src/gtfs-rt-interpreter-executor.ts +++ b/libs/extensions/std/exec/src/gtfs-rt-interpreter-executor.ts @@ -12,8 +12,8 @@ import { implementsStatic, } from '@jvalue/jayvee-execution'; import { IOType } from '@jvalue/jayvee-language-server'; -import * as E from 'fp-ts/lib/Either'; -import { type Either } from 'fp-ts/lib/Either'; +import E from 'fp-ts/lib/Either.js'; +import { type Either } from 'fp-ts/lib/Either.js'; import * as GtfsRealtimeBindings from 'gtfs-realtime-bindings'; @implementsStatic() diff --git a/libs/extensions/std/exec/src/http-extractor-executor.spec.ts b/libs/extensions/std/exec/src/http-extractor-executor.spec.ts index a28de076a..0b131a2b9 100644 --- a/libs/extensions/std/exec/src/http-extractor-executor.spec.ts +++ b/libs/extensions/std/exec/src/http-extractor-executor.spec.ts @@ -24,7 +24,7 @@ import { type AstNodeLocator, type LangiumDocument, } from 'langium'; -import { NodeFileSystem } from 'langium/node'; +import { NodeFileSystem } from 'langium/node.js'; import * as nock from 'nock'; import { HttpExtractorExecutor } from './http-extractor-executor'; diff --git a/libs/extensions/std/exec/src/http-extractor-executor.ts b/libs/extensions/std/exec/src/http-extractor-executor.ts index 8e565c638..171eaf3a2 100644 --- a/libs/extensions/std/exec/src/http-extractor-executor.ts +++ b/libs/extensions/std/exec/src/http-extractor-executor.ts @@ -21,14 +21,16 @@ import { inferMimeTypeFromFileExtensionString, } from '@jvalue/jayvee-execution'; import { IOType } from '@jvalue/jayvee-language-server'; -import { http, https } from 'follow-redirects'; -import { type AstNode } from 'langium'; +import followRedirects from 'follow-redirects'; +import { type AstNode } from 'langium'; // work around import issue with ESM import { createBackoffStrategy, isBackoffStrategyHandle, } from './util/backoff-strategy'; +const { http, https } = followRedirects; + type HttpGetFunction = typeof http.get; @implementsStatic() diff --git a/libs/extensions/std/exec/src/local-file-extractor-executor.spec.ts b/libs/extensions/std/exec/src/local-file-extractor-executor.spec.ts index df1fa20ff..90cb12d00 100644 --- a/libs/extensions/std/exec/src/local-file-extractor-executor.spec.ts +++ b/libs/extensions/std/exec/src/local-file-extractor-executor.spec.ts @@ -23,7 +23,7 @@ import { type AstNodeLocator, type LangiumDocument, } from 'langium'; -import { NodeFileSystem } from 'langium/node'; +import { NodeFileSystem } from 'langium/node.js'; import * as nock from 'nock'; import { LocalFileExtractorExecutor } from './local-file-extractor-executor'; diff --git a/libs/extensions/std/exec/src/text-file-interpreter-executor.spec.ts b/libs/extensions/std/exec/src/text-file-interpreter-executor.spec.ts index aded5b58e..7f44a143c 100644 --- a/libs/extensions/std/exec/src/text-file-interpreter-executor.spec.ts +++ b/libs/extensions/std/exec/src/text-file-interpreter-executor.spec.ts @@ -27,7 +27,7 @@ import { type AstNodeLocator, type LangiumDocument, } from 'langium'; -import { NodeFileSystem } from 'langium/node'; +import { NodeFileSystem } from 'langium/node.js'; import { TextFileInterpreterExecutor } from './text-file-interpreter-executor'; diff --git a/libs/extensions/std/exec/src/text-line-deleter-executor.spec.ts b/libs/extensions/std/exec/src/text-line-deleter-executor.spec.ts index 313b78bf1..0d9895c91 100644 --- a/libs/extensions/std/exec/src/text-line-deleter-executor.spec.ts +++ b/libs/extensions/std/exec/src/text-line-deleter-executor.spec.ts @@ -27,7 +27,7 @@ import { type AstNodeLocator, type LangiumDocument, } from 'langium'; -import { NodeFileSystem } from 'langium/node'; +import { NodeFileSystem } from 'langium/node.js'; import { TextLineDeleterExecutor } from './text-line-deleter-executor'; diff --git a/libs/extensions/std/exec/src/text-range-selector-executor.spec.ts b/libs/extensions/std/exec/src/text-range-selector-executor.spec.ts index b5c19d661..ba1969114 100644 --- a/libs/extensions/std/exec/src/text-range-selector-executor.spec.ts +++ b/libs/extensions/std/exec/src/text-range-selector-executor.spec.ts @@ -27,7 +27,7 @@ import { type AstNodeLocator, type LangiumDocument, } from 'langium'; -import { NodeFileSystem } from 'langium/node'; +import { NodeFileSystem } from 'langium/node.js'; import { TextRangeSelectorExecutor } from './text-range-selector-executor'; diff --git a/libs/extensions/tabular/exec/src/lib/cell-range-selector-executor.spec.ts b/libs/extensions/tabular/exec/src/lib/cell-range-selector-executor.spec.ts index f12654b68..f42a1414c 100644 --- a/libs/extensions/tabular/exec/src/lib/cell-range-selector-executor.spec.ts +++ b/libs/extensions/tabular/exec/src/lib/cell-range-selector-executor.spec.ts @@ -24,7 +24,7 @@ import { type AstNodeLocator, type LangiumDocument, } from 'langium'; -import { NodeFileSystem } from 'langium/node'; +import { NodeFileSystem } from 'langium/node.js'; import { createWorkbookFromLocalExcelFile } from '../../test/util'; diff --git a/libs/extensions/tabular/exec/src/lib/cell-writer-executor.spec.ts b/libs/extensions/tabular/exec/src/lib/cell-writer-executor.spec.ts index e7bce014d..935dcfa6c 100644 --- a/libs/extensions/tabular/exec/src/lib/cell-writer-executor.spec.ts +++ b/libs/extensions/tabular/exec/src/lib/cell-writer-executor.spec.ts @@ -24,7 +24,7 @@ import { type AstNodeLocator, type LangiumDocument, } from 'langium'; -import { NodeFileSystem } from 'langium/node'; +import { NodeFileSystem } from 'langium/node.js'; import { createWorkbookFromLocalExcelFile } from '../../test/util'; diff --git a/libs/extensions/tabular/exec/src/lib/column-deleter-executor.spec.ts b/libs/extensions/tabular/exec/src/lib/column-deleter-executor.spec.ts index 2b202ce9f..eac9bf96b 100644 --- a/libs/extensions/tabular/exec/src/lib/column-deleter-executor.spec.ts +++ b/libs/extensions/tabular/exec/src/lib/column-deleter-executor.spec.ts @@ -24,7 +24,7 @@ import { type AstNodeLocator, type LangiumDocument, } from 'langium'; -import { NodeFileSystem } from 'langium/node'; +import { NodeFileSystem } from 'langium/node.js'; import { createWorkbookFromLocalExcelFile } from '../../test/util'; diff --git a/libs/extensions/tabular/exec/src/lib/csv-interpreter-executor.spec.ts b/libs/extensions/tabular/exec/src/lib/csv-interpreter-executor.spec.ts index 32613ecca..1267c918d 100644 --- a/libs/extensions/tabular/exec/src/lib/csv-interpreter-executor.spec.ts +++ b/libs/extensions/tabular/exec/src/lib/csv-interpreter-executor.spec.ts @@ -27,7 +27,7 @@ import { type AstNodeLocator, type LangiumDocument, } from 'langium'; -import { NodeFileSystem } from 'langium/node'; +import { NodeFileSystem } from 'langium/node.js'; import { CSVInterpreterExecutor } from './csv-interpreter-executor'; diff --git a/libs/extensions/tabular/exec/src/lib/csv-interpreter-executor.ts b/libs/extensions/tabular/exec/src/lib/csv-interpreter-executor.ts index 4312ecc50..93f127894 100644 --- a/libs/extensions/tabular/exec/src/lib/csv-interpreter-executor.ts +++ b/libs/extensions/tabular/exec/src/lib/csv-interpreter-executor.ts @@ -14,8 +14,8 @@ import { implementsStatic, } from '@jvalue/jayvee-execution'; import { IOType } from '@jvalue/jayvee-language-server'; -import * as E from 'fp-ts/lib/Either'; -import { type Either, isLeft } from 'fp-ts/lib/Either'; +import E from 'fp-ts/lib/Either.js'; +import { type Either } from 'fp-ts/lib/Either.js'; @implementsStatic() export class CSVInterpreterExecutor extends AbstractBlockExecutor< @@ -56,7 +56,7 @@ export class CSVInterpreterExecutor extends AbstractBlockExecutor< }; const csvData = await parseAsCsv(file.content, parseOptions); - if (isLeft(csvData)) { + if (E.isLeft(csvData)) { return Promise.resolve( R.err({ message: `CSV parse failed in line ${csvData.left.lineNumber}: ${csvData.left.error.message}`, @@ -79,7 +79,7 @@ async function parseAsCsv( const rows: string[][] = []; for await (const line of lines) { const rowParseResult = await parseLineAsRow(line, parseOptions); - if (isLeft(rowParseResult)) { + if (E.isLeft(rowParseResult)) { return E.left({ error: rowParseResult.left, lineNumber }); } rows.push(rowParseResult.right); diff --git a/libs/extensions/tabular/exec/src/lib/row-deleter-executor.spec.ts b/libs/extensions/tabular/exec/src/lib/row-deleter-executor.spec.ts index 764802120..8620509b0 100644 --- a/libs/extensions/tabular/exec/src/lib/row-deleter-executor.spec.ts +++ b/libs/extensions/tabular/exec/src/lib/row-deleter-executor.spec.ts @@ -24,7 +24,7 @@ import { type AstNodeLocator, type LangiumDocument, } from 'langium'; -import { NodeFileSystem } from 'langium/node'; +import { NodeFileSystem } from 'langium/node.js'; import { createWorkbookFromLocalExcelFile } from '../../test/util'; diff --git a/libs/extensions/tabular/exec/src/lib/sheet-picker-executor.spec.ts b/libs/extensions/tabular/exec/src/lib/sheet-picker-executor.spec.ts index e5c9af260..ff88b3063 100644 --- a/libs/extensions/tabular/exec/src/lib/sheet-picker-executor.spec.ts +++ b/libs/extensions/tabular/exec/src/lib/sheet-picker-executor.spec.ts @@ -24,7 +24,7 @@ import { type AstNodeLocator, type LangiumDocument, } from 'langium'; -import { NodeFileSystem } from 'langium/node'; +import { NodeFileSystem } from 'langium/node.js'; import { createWorkbookFromLocalExcelFile } from '../../test/util'; diff --git a/libs/extensions/tabular/exec/src/lib/table-interpreter-executor.spec.ts b/libs/extensions/tabular/exec/src/lib/table-interpreter-executor.spec.ts index 492348c4a..0c7ac3ba3 100644 --- a/libs/extensions/tabular/exec/src/lib/table-interpreter-executor.spec.ts +++ b/libs/extensions/tabular/exec/src/lib/table-interpreter-executor.spec.ts @@ -24,7 +24,7 @@ import { type AstNodeLocator, type LangiumDocument, } from 'langium'; -import { NodeFileSystem } from 'langium/node'; +import { NodeFileSystem } from 'langium/node.js'; import { createWorkbookFromLocalExcelFile } from '../../test/util'; diff --git a/libs/extensions/tabular/exec/src/lib/table-transformer-executor.spec.ts b/libs/extensions/tabular/exec/src/lib/table-transformer-executor.spec.ts index 6522ee1d0..35317520f 100644 --- a/libs/extensions/tabular/exec/src/lib/table-transformer-executor.spec.ts +++ b/libs/extensions/tabular/exec/src/lib/table-transformer-executor.spec.ts @@ -24,7 +24,7 @@ import { type AstNodeLocator, type LangiumDocument, } from 'langium'; -import { NodeFileSystem } from 'langium/node'; +import { NodeFileSystem } from 'langium/node.js'; import { type ReducedColumnDefinitionEntry, diff --git a/libs/extensions/tabular/exec/src/lib/xlsx-interpreter-executor.spec.ts b/libs/extensions/tabular/exec/src/lib/xlsx-interpreter-executor.spec.ts index 364c03bce..3700bac7f 100644 --- a/libs/extensions/tabular/exec/src/lib/xlsx-interpreter-executor.spec.ts +++ b/libs/extensions/tabular/exec/src/lib/xlsx-interpreter-executor.spec.ts @@ -27,7 +27,7 @@ import { type AstNodeLocator, type LangiumDocument, } from 'langium'; -import { NodeFileSystem } from 'langium/node'; +import { NodeFileSystem } from 'langium/node.js'; import { XLSXInterpreterExecutor } from './xlsx-interpreter-executor'; diff --git a/libs/interpreter-lib/src/interpreter.ts b/libs/interpreter-lib/src/interpreter.ts index 2911d1c5c..e3fc44856 100644 --- a/libs/interpreter-lib/src/interpreter.ts +++ b/libs/interpreter-lib/src/interpreter.ts @@ -30,8 +30,8 @@ import { initializeWorkspace, internalValueToString, } from '@jvalue/jayvee-language-server'; -import * as chalk from 'chalk'; -import { NodeFileSystem } from 'langium/node'; +import chalk from 'chalk'; +import { NodeFileSystem } from 'langium/node.js'; import { LoggerFactory } from './logging'; import { ExitCode, extractAstNodeFromString } from './parsing-util'; diff --git a/libs/interpreter-lib/src/parsing-util.spec.ts b/libs/interpreter-lib/src/parsing-util.spec.ts index fce4a6f4f..bb076ee5d 100644 --- a/libs/interpreter-lib/src/parsing-util.spec.ts +++ b/libs/interpreter-lib/src/parsing-util.spec.ts @@ -17,7 +17,7 @@ import { readJvTestAssetHelper, } from '@jvalue/jayvee-language-server/test'; import { type AstNode, type LangiumDocument } from 'langium'; -import { NodeFileSystem } from 'langium/node'; +import { NodeFileSystem } from 'langium/node.js'; import { extractDocumentFromFile, validateDocument } from './parsing-util'; diff --git a/libs/interpreter-lib/src/parsing-util.ts b/libs/interpreter-lib/src/parsing-util.ts index ddb72827e..fe908fc4f 100644 --- a/libs/interpreter-lib/src/parsing-util.ts +++ b/libs/interpreter-lib/src/parsing-util.ts @@ -13,7 +13,9 @@ import { type LangiumServices, } from 'langium'; import { DiagnosticSeverity } from 'vscode-languageserver-protocol'; -import { URI } from 'vscode-uri'; +import vscodeUri from 'vscode-uri'; + +const { URI } = vscodeUri; // work around import issue with ESM export enum ExitCode { SUCCESS = 0, diff --git a/libs/interpreter-lib/src/std-extension.spec.ts b/libs/interpreter-lib/src/std-extension.spec.ts index eaae4f752..048ff4818 100644 --- a/libs/interpreter-lib/src/std-extension.spec.ts +++ b/libs/interpreter-lib/src/std-extension.spec.ts @@ -11,7 +11,7 @@ import { getAllBuiltinBlockTypes, initializeWorkspace, } from '@jvalue/jayvee-language-server'; -import { NodeFileSystem } from 'langium/node'; +import { NodeFileSystem } from 'langium/node.js'; async function loadAllBuiltinBlockTypes(): Promise { const services = createJayveeServices(NodeFileSystem).Jayvee; diff --git a/libs/interpreter-lib/src/validation-checks/runtime-parameter-literal.spec.ts b/libs/interpreter-lib/src/validation-checks/runtime-parameter-literal.spec.ts index c2d82f482..45fd8b185 100644 --- a/libs/interpreter-lib/src/validation-checks/runtime-parameter-literal.spec.ts +++ b/libs/interpreter-lib/src/validation-checks/runtime-parameter-literal.spec.ts @@ -30,7 +30,7 @@ import { type AstNodeLocator, type LangiumDocument, } from 'langium'; -import { NodeFileSystem } from 'langium/node'; +import { NodeFileSystem } from 'langium/node.js'; import { validateRuntimeParameterLiteral } from './runtime-parameter-literal'; diff --git a/libs/language-server/src/lib/ast/expressions/test-utils.ts b/libs/language-server/src/lib/ast/expressions/test-utils.ts index bc6eff62e..8dfccc06b 100644 --- a/libs/language-server/src/lib/ast/expressions/test-utils.ts +++ b/libs/language-server/src/lib/ast/expressions/test-utils.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import { NodeFileSystem } from 'langium/node'; +import { NodeFileSystem } from 'langium/node.js'; import { parseHelper } from '../../../test/langium-utils'; import { createJayveeServices } from '../../jayvee-module'; diff --git a/libs/language-server/src/lib/ast/value-definition.spec.ts b/libs/language-server/src/lib/ast/value-definition.spec.ts index 11df61fd7..b4101126f 100644 --- a/libs/language-server/src/lib/ast/value-definition.spec.ts +++ b/libs/language-server/src/lib/ast/value-definition.spec.ts @@ -3,7 +3,7 @@ // SPDX-License-Identifier: AGPL-3.0-only import { type AstNode, type LangiumDocument } from 'langium'; -import { NodeFileSystem } from 'langium/node'; +import { NodeFileSystem } from 'langium/node.js'; import { type ParseHelperOptions, parseHelper } from '../../test/langium-utils'; import { readJvTestAssetHelper } from '../../test/utils'; diff --git a/libs/language-server/src/lib/builtin-library/jayvee-workspace-manager.ts b/libs/language-server/src/lib/builtin-library/jayvee-workspace-manager.ts index 8afad828d..9cf2fcd23 100644 --- a/libs/language-server/src/lib/builtin-library/jayvee-workspace-manager.ts +++ b/libs/language-server/src/lib/builtin-library/jayvee-workspace-manager.ts @@ -10,7 +10,9 @@ import { type LangiumSharedServices, } from 'langium'; import { type WorkspaceFolder } from 'vscode-languageserver'; -import { URI } from 'vscode-uri'; +import vscodeUri from 'vscode-uri'; + +const { URI } = vscodeUri; // work around import issue with ESM import { getStdLib } from './stdlib'; diff --git a/libs/language-server/src/lib/validation/checks/block-type-definition.spec.ts b/libs/language-server/src/lib/validation/checks/block-type-definition.spec.ts index 53a348235..013f2c51f 100644 --- a/libs/language-server/src/lib/validation/checks/block-type-definition.spec.ts +++ b/libs/language-server/src/lib/validation/checks/block-type-definition.spec.ts @@ -7,7 +7,7 @@ import { type AstNodeLocator, type LangiumDocument, } from 'langium'; -import { NodeFileSystem } from 'langium/node'; +import { NodeFileSystem } from 'langium/node.js'; import { type BuiltinBlockTypeDefinition, diff --git a/libs/language-server/src/lib/validation/checks/block-type-specific/property-assignment.spec.ts b/libs/language-server/src/lib/validation/checks/block-type-specific/property-assignment.spec.ts index d78257345..4f1c5a004 100644 --- a/libs/language-server/src/lib/validation/checks/block-type-specific/property-assignment.spec.ts +++ b/libs/language-server/src/lib/validation/checks/block-type-specific/property-assignment.spec.ts @@ -7,7 +7,7 @@ import { type AstNodeLocator, type LangiumDocument, } from 'langium'; -import { NodeFileSystem } from 'langium/node'; +import { NodeFileSystem } from 'langium/node.js'; import { type JayveeServices, diff --git a/libs/language-server/src/lib/validation/checks/block-type-specific/property-body.spec.ts b/libs/language-server/src/lib/validation/checks/block-type-specific/property-body.spec.ts index 497fb477b..ded4556f7 100644 --- a/libs/language-server/src/lib/validation/checks/block-type-specific/property-body.spec.ts +++ b/libs/language-server/src/lib/validation/checks/block-type-specific/property-body.spec.ts @@ -7,7 +7,7 @@ import { type AstNodeLocator, type LangiumDocument, } from 'langium'; -import { NodeFileSystem } from 'langium/node'; +import { NodeFileSystem } from 'langium/node.js'; import { type JayveeServices, diff --git a/libs/language-server/src/lib/validation/checks/column-id.spec.ts b/libs/language-server/src/lib/validation/checks/column-id.spec.ts index fc503f603..979354ea4 100644 --- a/libs/language-server/src/lib/validation/checks/column-id.spec.ts +++ b/libs/language-server/src/lib/validation/checks/column-id.spec.ts @@ -7,7 +7,7 @@ import { type AstNodeLocator, type LangiumDocument, } from 'langium'; -import { NodeFileSystem } from 'langium/node'; +import { NodeFileSystem } from 'langium/node.js'; import { type ColumnId, diff --git a/libs/language-server/src/lib/validation/checks/composite-block-type-definition.spec.ts b/libs/language-server/src/lib/validation/checks/composite-block-type-definition.spec.ts index eb932e5c8..a0a5cd6e6 100644 --- a/libs/language-server/src/lib/validation/checks/composite-block-type-definition.spec.ts +++ b/libs/language-server/src/lib/validation/checks/composite-block-type-definition.spec.ts @@ -7,7 +7,7 @@ import { type AstNodeLocator, type LangiumDocument, } from 'langium'; -import { NodeFileSystem } from 'langium/node'; +import { NodeFileSystem } from 'langium/node.js'; import { type CompositeBlockTypeDefinition, diff --git a/libs/language-server/src/lib/validation/checks/constrainttype-specific/property-assignment.spec.ts b/libs/language-server/src/lib/validation/checks/constrainttype-specific/property-assignment.spec.ts index cae4851b5..47c87f6cd 100644 --- a/libs/language-server/src/lib/validation/checks/constrainttype-specific/property-assignment.spec.ts +++ b/libs/language-server/src/lib/validation/checks/constrainttype-specific/property-assignment.spec.ts @@ -7,7 +7,7 @@ import { type AstNodeLocator, type LangiumDocument, } from 'langium'; -import { NodeFileSystem } from 'langium/node'; +import { NodeFileSystem } from 'langium/node.js'; import { type JayveeServices, diff --git a/libs/language-server/src/lib/validation/checks/constrainttype-specific/property-body.spec.ts b/libs/language-server/src/lib/validation/checks/constrainttype-specific/property-body.spec.ts index 8757a2512..53a1ff135 100644 --- a/libs/language-server/src/lib/validation/checks/constrainttype-specific/property-body.spec.ts +++ b/libs/language-server/src/lib/validation/checks/constrainttype-specific/property-body.spec.ts @@ -7,7 +7,7 @@ import { type AstNodeLocator, type LangiumDocument, } from 'langium'; -import { NodeFileSystem } from 'langium/node'; +import { NodeFileSystem } from 'langium/node.js'; import { type JayveeServices, diff --git a/libs/language-server/src/lib/validation/checks/expression-constraint-definition.spec.ts b/libs/language-server/src/lib/validation/checks/expression-constraint-definition.spec.ts index 58209ecaa..6f4067674 100644 --- a/libs/language-server/src/lib/validation/checks/expression-constraint-definition.spec.ts +++ b/libs/language-server/src/lib/validation/checks/expression-constraint-definition.spec.ts @@ -7,7 +7,7 @@ import { type AstNodeLocator, type LangiumDocument, } from 'langium'; -import { NodeFileSystem } from 'langium/node'; +import { NodeFileSystem } from 'langium/node.js'; import { type ExpressionConstraintDefinition, diff --git a/libs/language-server/src/lib/validation/checks/jayvee-model.spec.ts b/libs/language-server/src/lib/validation/checks/jayvee-model.spec.ts index 06c0f8d70..8276f827c 100644 --- a/libs/language-server/src/lib/validation/checks/jayvee-model.spec.ts +++ b/libs/language-server/src/lib/validation/checks/jayvee-model.spec.ts @@ -3,7 +3,7 @@ // SPDX-License-Identifier: AGPL-3.0-only import { type AstNode, type LangiumDocument } from 'langium'; -import { NodeFileSystem } from 'langium/node'; +import { NodeFileSystem } from 'langium/node.js'; import { type JayveeModel, diff --git a/libs/language-server/src/lib/validation/checks/pipe-definition.spec.ts b/libs/language-server/src/lib/validation/checks/pipe-definition.spec.ts index c6b69a46e..e89e0917f 100644 --- a/libs/language-server/src/lib/validation/checks/pipe-definition.spec.ts +++ b/libs/language-server/src/lib/validation/checks/pipe-definition.spec.ts @@ -7,7 +7,7 @@ import { type AstNodeLocator, type LangiumDocument, } from 'langium'; -import { NodeFileSystem } from 'langium/node'; +import { NodeFileSystem } from 'langium/node.js'; import { type JayveeServices, diff --git a/libs/language-server/src/lib/validation/checks/pipeline-definition.spec.ts b/libs/language-server/src/lib/validation/checks/pipeline-definition.spec.ts index fe430c712..ccb2a5817 100644 --- a/libs/language-server/src/lib/validation/checks/pipeline-definition.spec.ts +++ b/libs/language-server/src/lib/validation/checks/pipeline-definition.spec.ts @@ -7,7 +7,7 @@ import { type AstNodeLocator, type LangiumDocument, } from 'langium'; -import { NodeFileSystem } from 'langium/node'; +import { NodeFileSystem } from 'langium/node.js'; import { type JayveeServices, diff --git a/libs/language-server/src/lib/validation/checks/property-assignment.spec.ts b/libs/language-server/src/lib/validation/checks/property-assignment.spec.ts index 9568058d0..9e778cfc2 100644 --- a/libs/language-server/src/lib/validation/checks/property-assignment.spec.ts +++ b/libs/language-server/src/lib/validation/checks/property-assignment.spec.ts @@ -7,7 +7,7 @@ import { type AstNodeLocator, type LangiumDocument, } from 'langium'; -import { NodeFileSystem } from 'langium/node'; +import { NodeFileSystem } from 'langium/node.js'; import { type JayveeServices, diff --git a/libs/language-server/src/lib/validation/checks/property-body.spec.ts b/libs/language-server/src/lib/validation/checks/property-body.spec.ts index 2297be7b2..4bbc6b1f7 100644 --- a/libs/language-server/src/lib/validation/checks/property-body.spec.ts +++ b/libs/language-server/src/lib/validation/checks/property-body.spec.ts @@ -7,7 +7,7 @@ import { type AstNodeLocator, type LangiumDocument, } from 'langium'; -import { NodeFileSystem } from 'langium/node'; +import { NodeFileSystem } from 'langium/node.js'; import { type JayveeServices, diff --git a/libs/language-server/src/lib/validation/checks/range-literal.spec.ts b/libs/language-server/src/lib/validation/checks/range-literal.spec.ts index 01701a176..cabbb6f0b 100644 --- a/libs/language-server/src/lib/validation/checks/range-literal.spec.ts +++ b/libs/language-server/src/lib/validation/checks/range-literal.spec.ts @@ -7,7 +7,7 @@ import { type AstNodeLocator, type LangiumDocument, } from 'langium'; -import { NodeFileSystem } from 'langium/node'; +import { NodeFileSystem } from 'langium/node.js'; import { type JayveeServices, diff --git a/libs/language-server/src/lib/validation/checks/regex-literal.spec.ts b/libs/language-server/src/lib/validation/checks/regex-literal.spec.ts index 46f984349..8a9c79f57 100644 --- a/libs/language-server/src/lib/validation/checks/regex-literal.spec.ts +++ b/libs/language-server/src/lib/validation/checks/regex-literal.spec.ts @@ -7,7 +7,7 @@ import { type AstNodeLocator, type LangiumDocument, } from 'langium'; -import { NodeFileSystem } from 'langium/node'; +import { NodeFileSystem } from 'langium/node.js'; import { type JayveeServices, diff --git a/libs/language-server/src/lib/validation/checks/transform-body.spec.ts b/libs/language-server/src/lib/validation/checks/transform-body.spec.ts index 8e3fbfa73..b3d9d5021 100644 --- a/libs/language-server/src/lib/validation/checks/transform-body.spec.ts +++ b/libs/language-server/src/lib/validation/checks/transform-body.spec.ts @@ -7,7 +7,7 @@ import { type AstNodeLocator, type LangiumDocument, } from 'langium'; -import { NodeFileSystem } from 'langium/node'; +import { NodeFileSystem } from 'langium/node.js'; import { type JayveeServices, diff --git a/libs/language-server/src/lib/validation/checks/transform-output-assignment.spec.ts b/libs/language-server/src/lib/validation/checks/transform-output-assignment.spec.ts index 6e1cbaa34..256663698 100644 --- a/libs/language-server/src/lib/validation/checks/transform-output-assignment.spec.ts +++ b/libs/language-server/src/lib/validation/checks/transform-output-assignment.spec.ts @@ -7,7 +7,7 @@ import { type AstNodeLocator, type LangiumDocument, } from 'langium'; -import { NodeFileSystem } from 'langium/node'; +import { NodeFileSystem } from 'langium/node.js'; import { type JayveeServices, diff --git a/libs/language-server/src/lib/validation/checks/typed-constraint-definition.spec.ts b/libs/language-server/src/lib/validation/checks/typed-constraint-definition.spec.ts index 4bc409b93..96a559437 100644 --- a/libs/language-server/src/lib/validation/checks/typed-constraint-definition.spec.ts +++ b/libs/language-server/src/lib/validation/checks/typed-constraint-definition.spec.ts @@ -7,7 +7,7 @@ import { type AstNodeLocator, type LangiumDocument, } from 'langium'; -import { NodeFileSystem } from 'langium/node'; +import { NodeFileSystem } from 'langium/node.js'; import { type JayveeServices, diff --git a/libs/language-server/src/lib/validation/checks/value-type-definition.spec.ts b/libs/language-server/src/lib/validation/checks/value-type-definition.spec.ts index e25199e56..e451e0538 100644 --- a/libs/language-server/src/lib/validation/checks/value-type-definition.spec.ts +++ b/libs/language-server/src/lib/validation/checks/value-type-definition.spec.ts @@ -7,7 +7,7 @@ import { type AstNodeLocator, type LangiumDocument, } from 'langium'; -import { NodeFileSystem } from 'langium/node'; +import { NodeFileSystem } from 'langium/node.js'; import { type JayveeServices, diff --git a/libs/language-server/src/lib/validation/checks/value-type-reference.spec.ts b/libs/language-server/src/lib/validation/checks/value-type-reference.spec.ts index 1e153198f..4830a66f5 100644 --- a/libs/language-server/src/lib/validation/checks/value-type-reference.spec.ts +++ b/libs/language-server/src/lib/validation/checks/value-type-reference.spec.ts @@ -9,7 +9,7 @@ import { type AstNodeLocator, type LangiumDocument, } from 'langium'; -import { NodeFileSystem } from 'langium/node'; +import { NodeFileSystem } from 'langium/node.js'; import { type JayveeServices, diff --git a/libs/language-server/src/lib/validation/docs-constraint-examples.spec.ts b/libs/language-server/src/lib/validation/docs-constraint-examples.spec.ts index 62f0473cf..1b83dbe9c 100644 --- a/libs/language-server/src/lib/validation/docs-constraint-examples.spec.ts +++ b/libs/language-server/src/lib/validation/docs-constraint-examples.spec.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import { NodeFileSystem } from 'langium/node'; +import { NodeFileSystem } from 'langium/node.js'; import { validationHelper } from '../../test/langium-utils'; import { getAllBuiltinConstraintTypes } from '../ast'; diff --git a/libs/language-server/src/lib/validation/validation-utils.spec.ts b/libs/language-server/src/lib/validation/validation-utils.spec.ts index ae68f18f9..d2088bc7d 100644 --- a/libs/language-server/src/lib/validation/validation-utils.spec.ts +++ b/libs/language-server/src/lib/validation/validation-utils.spec.ts @@ -7,7 +7,7 @@ import { type AstNodeLocator, type LangiumDocument, } from 'langium'; -import { NodeFileSystem } from 'langium/node'; +import { NodeFileSystem } from 'langium/node.js'; import { DefaultOperatorEvaluatorRegistry, diff --git a/libs/language-server/src/test/langium-utils.ts b/libs/language-server/src/test/langium-utils.ts index b746716b7..1cf66d73e 100644 --- a/libs/language-server/src/test/langium-utils.ts +++ b/libs/language-server/src/test/langium-utils.ts @@ -13,7 +13,9 @@ import { type LangiumServices, } from 'langium'; import { type Diagnostic } from 'vscode-languageserver'; -import { URI } from 'vscode-uri'; +import vscodeUri from 'vscode-uri'; + +const { URI } = vscodeUri; // work around import issue with ESM import { initializeWorkspace } from '../lib/builtin-library/jayvee-workspace-manager'; From 12299a05c70afdcf45e0735207a78fcc38cbb281 Mon Sep 17 00:00:00 2001 From: Georg Schwarz Date: Thu, 2 May 2024 12:45:52 +0200 Subject: [PATCH 05/38] Simplify imports from fp-ts --- libs/execution/src/lib/blocks/execution-result.ts | 2 +- .../std/exec/src/gtfs-rt-interpreter-executor.ts | 11 +++++------ .../tabular/exec/src/lib/csv-interpreter-executor.ts | 7 +++---- 3 files changed, 9 insertions(+), 11 deletions(-) diff --git a/libs/execution/src/lib/blocks/execution-result.ts b/libs/execution/src/lib/blocks/execution-result.ts index 642a54851..265e3a14c 100644 --- a/libs/execution/src/lib/blocks/execution-result.ts +++ b/libs/execution/src/lib/blocks/execution-result.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import E from 'fp-ts/lib/Either.js'; +import { either as E } from 'fp-ts'; import { type AstNode, type DiagnosticInfo } from 'langium'; export interface ExecutionErrorDetails { diff --git a/libs/extensions/std/exec/src/gtfs-rt-interpreter-executor.ts b/libs/extensions/std/exec/src/gtfs-rt-interpreter-executor.ts index c0f976373..3a351d7d8 100644 --- a/libs/extensions/std/exec/src/gtfs-rt-interpreter-executor.ts +++ b/libs/extensions/std/exec/src/gtfs-rt-interpreter-executor.ts @@ -12,8 +12,7 @@ import { implementsStatic, } from '@jvalue/jayvee-execution'; import { IOType } from '@jvalue/jayvee-language-server'; -import E from 'fp-ts/lib/Either.js'; -import { type Either } from 'fp-ts/lib/Either.js'; +import { either as E } from 'fp-ts'; import * as GtfsRealtimeBindings from 'gtfs-realtime-bindings'; @implementsStatic() @@ -76,7 +75,7 @@ export class GtfsRTInterpreterExecutor extends AbstractBlockExecutor< entityType: string, feedMessage: GtfsRealtimeBindings.transit_realtime.FeedMessage, context: ExecutionContext, - ): Promise> { + ): Promise> { switch (entityType) { case 'trip_update': // Extract the trip updates from thee feed message @@ -100,7 +99,7 @@ export class GtfsRTInterpreterExecutor extends AbstractBlockExecutor< private parseTripUpdates( feedMessage: GtfsRealtimeBindings.transit_realtime.FeedMessage, context: ExecutionContext, - ): Promise> { + ): Promise> { return new Promise((resolve) => { context.logger.logDebug(`Parsing raw gtfs-rt feed data as TripUpdate"`); const rows: string[][] = []; @@ -160,7 +159,7 @@ export class GtfsRTInterpreterExecutor extends AbstractBlockExecutor< private parseVehiclePositions( feedMessage: GtfsRealtimeBindings.transit_realtime.FeedMessage, context: ExecutionContext, - ): Promise> { + ): Promise> { return new Promise((resolve) => { context.logger.logDebug( `Parsing raw gtfs-rt feed data as VehiclePosition"`, @@ -210,7 +209,7 @@ export class GtfsRTInterpreterExecutor extends AbstractBlockExecutor< private parseAlerts( feedMessage: GtfsRealtimeBindings.transit_realtime.FeedMessage, context: ExecutionContext, - ): Promise> { + ): Promise> { return new Promise((resolve) => { context.logger.logDebug(`Parsing raw gtfs-rt feed data as Alerts"`); const rows: string[][] = []; diff --git a/libs/extensions/tabular/exec/src/lib/csv-interpreter-executor.ts b/libs/extensions/tabular/exec/src/lib/csv-interpreter-executor.ts index 93f127894..6671f964c 100644 --- a/libs/extensions/tabular/exec/src/lib/csv-interpreter-executor.ts +++ b/libs/extensions/tabular/exec/src/lib/csv-interpreter-executor.ts @@ -14,8 +14,7 @@ import { implementsStatic, } from '@jvalue/jayvee-execution'; import { IOType } from '@jvalue/jayvee-language-server'; -import E from 'fp-ts/lib/Either.js'; -import { type Either } from 'fp-ts/lib/Either.js'; +import { either as E } from 'fp-ts'; @implementsStatic() export class CSVInterpreterExecutor extends AbstractBlockExecutor< @@ -74,7 +73,7 @@ export class CSVInterpreterExecutor extends AbstractBlockExecutor< async function parseAsCsv( lines: string[], parseOptions: ParserOptionsArgs, -): Promise> { +): Promise> { let lineNumber = 1; const rows: string[][] = []; for await (const line of lines) { @@ -92,7 +91,7 @@ async function parseAsCsv( async function parseLineAsRow( line: string, parseOptions: ParserOptionsArgs, -): Promise> { +): Promise> { return new Promise((resolve) => { let row: string[]; parseStringAsCsv(line, parseOptions) From 0499a33258de4942deefb111e6876dd87e39727a Mon Sep 17 00:00:00 2001 From: Georg Schwarz Date: Thu, 2 May 2024 12:47:23 +0200 Subject: [PATCH 06/38] Turn off importHelpers as it led to warnings in VSCode IDE --- tsconfig.base.json | 1 - 1 file changed, 1 deletion(-) diff --git a/tsconfig.base.json b/tsconfig.base.json index fbecaa484..e586a062b 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -5,7 +5,6 @@ "declaration": false, "emitDecoratorMetadata": true, "experimentalDecorators": true, - "importHelpers": true, "target": "ES2015", "module": "ESNext", "moduleResolution": "Bundler", From b73964ec26055ff749b88b97e9b15c0d83d031eb Mon Sep 17 00:00:00 2001 From: Georg Schwarz Date: Thu, 2 May 2024 13:20:00 +0200 Subject: [PATCH 07/38] Make VSCode extension work with new build setup --- apps/interpreter/src/run-action.ts | 2 +- apps/vs-code-extension/project.json | 12 +++++------- apps/vs-code-extension/src/extension.ts | 10 +++++----- libs/interpreter-lib/src/parsing-util.ts | 4 +--- .../lib/builtin-library/jayvee-workspace-manager.ts | 4 +--- libs/language-server/src/test/langium-utils.ts | 4 +--- 6 files changed, 14 insertions(+), 22 deletions(-) diff --git a/apps/interpreter/src/run-action.ts b/apps/interpreter/src/run-action.ts index 2fd31b8c7..a461f53fc 100644 --- a/apps/interpreter/src/run-action.ts +++ b/apps/interpreter/src/run-action.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import * as process from 'process'; +import process from 'node:process'; import { type LoggerFactory, diff --git a/apps/vs-code-extension/project.json b/apps/vs-code-extension/project.json index 77fd7b9c8..90fdf3e1b 100644 --- a/apps/vs-code-extension/project.json +++ b/apps/vs-code-extension/project.json @@ -5,25 +5,23 @@ "projectType": "application", "targets": { "build": { - "executor": "@nx/esbuild:esbuild", "options": { - "tsConfig": "apps/vs-code-extension/tsconfig.app.json", - "outputPath": "dist/apps/vs-code-extension", - "main": "apps/vs-code-extension/src/extension.ts", + "tsConfig": "{projectRoot}/tsconfig.app.json", + "main": "{projectRoot}/src/extension.ts", + "outputFileName": "", "additionalEntryPoints": [ - "apps/vs-code-extension/src/language-server.ts" + "{projectRoot}/src/language-server.ts" ], "external": ["vscode"], "platform": "node", "format": ["cjs"], "assets": [ { - "input": "apps/vs-code-extension/assets", + "input": "{projectRoot}/assets", "glob": "*", "output": "/" } ], - "generatePackageJson": true, "thirdParty": true }, "configurations": { diff --git a/apps/vs-code-extension/src/extension.ts b/apps/vs-code-extension/src/extension.ts index 3092514a2..770e0132f 100644 --- a/apps/vs-code-extension/src/extension.ts +++ b/apps/vs-code-extension/src/extension.ts @@ -2,9 +2,9 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import * as path from 'path'; +import path from 'node:path'; -import * as vscode from 'vscode'; +import { type ExtensionContext, workspace } from 'vscode'; import { LanguageClient, type LanguageClientOptions, @@ -17,7 +17,7 @@ import { StandardLibraryFileSystemProvider } from './standard-library-file-syste let client: LanguageClient; // This function is called when the extension is activated. -export function activate(context: vscode.ExtensionContext): void { +export function activate(context: ExtensionContext): void { StandardLibraryFileSystemProvider.register(context); client = startLanguageClient(context); } @@ -27,7 +27,7 @@ export function deactivate(): Thenable | undefined { return client.stop(); } -function startLanguageClient(context: vscode.ExtensionContext): LanguageClient { +function startLanguageClient(context: ExtensionContext): LanguageClient { const serverModule = context.asAbsolutePath(path.join('language-server.cjs')); // The debug options for the server // --inspect=6009: runs the server in Node's Inspector mode so VS Code can attach to the server for debugging. @@ -52,7 +52,7 @@ function startLanguageClient(context: vscode.ExtensionContext): LanguageClient { }, }; - const fileSystemWatcher = vscode.workspace.createFileSystemWatcher('**/*.jv'); + const fileSystemWatcher = workspace.createFileSystemWatcher('**/*.jv'); context.subscriptions.push(fileSystemWatcher); // Options to control the language client diff --git a/libs/interpreter-lib/src/parsing-util.ts b/libs/interpreter-lib/src/parsing-util.ts index fe908fc4f..323cd16ea 100644 --- a/libs/interpreter-lib/src/parsing-util.ts +++ b/libs/interpreter-lib/src/parsing-util.ts @@ -13,9 +13,7 @@ import { type LangiumServices, } from 'langium'; import { DiagnosticSeverity } from 'vscode-languageserver-protocol'; -import vscodeUri from 'vscode-uri'; - -const { URI } = vscodeUri; // work around import issue with ESM +import { URI } from 'vscode-uri/lib/umd/uri.js'; // direct import as work around for issues bundling as commonjs (vs-code-plugin) and esm (interpreter) export enum ExitCode { SUCCESS = 0, diff --git a/libs/language-server/src/lib/builtin-library/jayvee-workspace-manager.ts b/libs/language-server/src/lib/builtin-library/jayvee-workspace-manager.ts index 9cf2fcd23..fd4f29ace 100644 --- a/libs/language-server/src/lib/builtin-library/jayvee-workspace-manager.ts +++ b/libs/language-server/src/lib/builtin-library/jayvee-workspace-manager.ts @@ -10,9 +10,7 @@ import { type LangiumSharedServices, } from 'langium'; import { type WorkspaceFolder } from 'vscode-languageserver'; -import vscodeUri from 'vscode-uri'; - -const { URI } = vscodeUri; // work around import issue with ESM +import { URI } from 'vscode-uri/lib/umd/uri.js'; // direct import as work around for issues bundling as commonjs (vs-code-plugin) and esm (interpreter) import { getStdLib } from './stdlib'; diff --git a/libs/language-server/src/test/langium-utils.ts b/libs/language-server/src/test/langium-utils.ts index 1cf66d73e..1551be62c 100644 --- a/libs/language-server/src/test/langium-utils.ts +++ b/libs/language-server/src/test/langium-utils.ts @@ -13,9 +13,7 @@ import { type LangiumServices, } from 'langium'; import { type Diagnostic } from 'vscode-languageserver'; -import vscodeUri from 'vscode-uri'; - -const { URI } = vscodeUri; // work around import issue with ESM +import { URI } from 'vscode-uri/lib/umd/uri.js'; // direct import as work around for issues bundling as commonjs (vs-code-plugin) and esm (interpreter) import { initializeWorkspace } from '../lib/builtin-library/jayvee-workspace-manager'; From 4e6b30f782d445e3fa8402188c260c4f72f0317b Mon Sep 17 00:00:00 2001 From: Georg Schwarz Date: Thu, 2 May 2024 16:45:05 +0200 Subject: [PATCH 08/38] Upgrade vscode-uri to get rid of weird imports --- libs/interpreter-lib/src/parsing-util.ts | 2 +- .../builtin-library/jayvee-workspace-manager.ts | 2 +- libs/language-server/src/test/langium-utils.ts | 2 +- package-lock.json | 14 +++++++------- package.json | 2 +- 5 files changed, 11 insertions(+), 11 deletions(-) diff --git a/libs/interpreter-lib/src/parsing-util.ts b/libs/interpreter-lib/src/parsing-util.ts index 323cd16ea..ee8a95c8a 100644 --- a/libs/interpreter-lib/src/parsing-util.ts +++ b/libs/interpreter-lib/src/parsing-util.ts @@ -13,7 +13,7 @@ import { type LangiumServices, } from 'langium'; import { DiagnosticSeverity } from 'vscode-languageserver-protocol'; -import { URI } from 'vscode-uri/lib/umd/uri.js'; // direct import as work around for issues bundling as commonjs (vs-code-plugin) and esm (interpreter) +import { URI } from 'vscode-uri'; // direct import as work around for issues bundling as commonjs (vs-code-plugin) and esm (interpreter) export enum ExitCode { SUCCESS = 0, diff --git a/libs/language-server/src/lib/builtin-library/jayvee-workspace-manager.ts b/libs/language-server/src/lib/builtin-library/jayvee-workspace-manager.ts index fd4f29ace..dcf47e431 100644 --- a/libs/language-server/src/lib/builtin-library/jayvee-workspace-manager.ts +++ b/libs/language-server/src/lib/builtin-library/jayvee-workspace-manager.ts @@ -10,7 +10,7 @@ import { type LangiumSharedServices, } from 'langium'; import { type WorkspaceFolder } from 'vscode-languageserver'; -import { URI } from 'vscode-uri/lib/umd/uri.js'; // direct import as work around for issues bundling as commonjs (vs-code-plugin) and esm (interpreter) +import { URI } from 'vscode-uri'; // direct import as work around for issues bundling as commonjs (vs-code-plugin) and esm (interpreter) import { getStdLib } from './stdlib'; diff --git a/libs/language-server/src/test/langium-utils.ts b/libs/language-server/src/test/langium-utils.ts index 1551be62c..4673aa1f7 100644 --- a/libs/language-server/src/test/langium-utils.ts +++ b/libs/language-server/src/test/langium-utils.ts @@ -13,7 +13,7 @@ import { type LangiumServices, } from 'langium'; import { type Diagnostic } from 'vscode-languageserver'; -import { URI } from 'vscode-uri/lib/umd/uri.js'; // direct import as work around for issues bundling as commonjs (vs-code-plugin) and esm (interpreter) +import { URI } from 'vscode-uri'; // direct import as work around for issues bundling as commonjs (vs-code-plugin) and esm (interpreter) import { initializeWorkspace } from '../lib/builtin-library/jayvee-workspace-manager'; diff --git a/package-lock.json b/package-lock.json index 31cb655db..31c0995cc 100644 --- a/package-lock.json +++ b/package-lock.json @@ -35,7 +35,7 @@ "vscode-languageclient": "^8.0.2", "vscode-languageserver": "^8.0.2", "vscode-languageserver-protocol": "^3.17.2", - "vscode-uri": "^3.0.2" + "vscode-uri": "^3.0.8" }, "devDependencies": { "@babel/core": "^7.14.5", @@ -25850,9 +25850,9 @@ "integrity": "sha512-zHhCWatviizPIq9B7Vh9uvrH6x3sK8itC84HkamnBWoDFJtzBf7SWlpLCZUit72b3os45h6RWQNC9xHRDF8dRA==" }, "node_modules/vscode-uri": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.0.7.tgz", - "integrity": "sha512-eOpPHogvorZRobNqJGhapa0JdwaxpjVvyBp0QIUMRMSf8ZAlqOdEquKuRmw9Qwu0qXtJIWqFtMkmvJjUZmMjVA==" + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.0.8.tgz", + "integrity": "sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==" }, "node_modules/w3c-xmlserializer": { "version": "4.0.0", @@ -45361,9 +45361,9 @@ "integrity": "sha512-zHhCWatviizPIq9B7Vh9uvrH6x3sK8itC84HkamnBWoDFJtzBf7SWlpLCZUit72b3os45h6RWQNC9xHRDF8dRA==" }, "vscode-uri": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.0.7.tgz", - "integrity": "sha512-eOpPHogvorZRobNqJGhapa0JdwaxpjVvyBp0QIUMRMSf8ZAlqOdEquKuRmw9Qwu0qXtJIWqFtMkmvJjUZmMjVA==" + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.0.8.tgz", + "integrity": "sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==" }, "w3c-xmlserializer": { "version": "4.0.0", diff --git a/package.json b/package.json index 62c937097..68c8bf42b 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,7 @@ "vscode-languageclient": "^8.0.2", "vscode-languageserver": "^8.0.2", "vscode-languageserver-protocol": "^3.17.2", - "vscode-uri": "^3.0.2" + "vscode-uri": "^3.0.8" }, "devDependencies": { "@babel/core": "^7.14.5", From 62d297ad5c3c746e49adeea5ae92c7433e1b5e49 Mon Sep 17 00:00:00 2001 From: Georg Schwarz Date: Thu, 2 May 2024 17:27:14 +0200 Subject: [PATCH 09/38] Upgrade langium to version 3.0.0 --- apps/docs/generator/src/main.ts | 2 +- .../src/examples-smoke-test.spec.ts | 2 +- apps/interpreter/src/index.ts | 2 +- apps/language-server-web-worker/src/main.ts | 3 +- apps/vs-code-extension/src/language-server.ts | 4 +- ...ult-constraint-executors-extension.spec.ts | 2 +- .../allowlist-constraint-executor.spec.ts | 2 +- .../denylist-constraint-executor.spec.ts | 2 +- .../expression-constraint-executor.spec.ts | 2 +- .../length-constraint-executor.spec.ts | 2 +- .../range-constraint-executor.spec.ts | 2 +- .../regex-constraint-executor.spec.ts | 2 +- libs/execution/src/lib/logging/logger.ts | 4 +- .../lib/transforms/transform-executor.spec.ts | 2 +- .../src/lib/postgres-loader-executor.spec.ts | 2 +- .../src/lib/sqlite-loader-executor.spec.ts | 2 +- .../src/archive-interpreter-executor.spec.ts | 2 +- .../std/exec/src/file-picker-executor.spec.ts | 2 +- .../src/gtfs-rt-interpreter-executor.spec.ts | 2 +- .../exec/src/http-extractor-executor.spec.ts | 2 +- .../src/local-file-extractor-executor.spec.ts | 2 +- .../text-file-interpreter-executor.spec.ts | 2 +- .../src/text-line-deleter-executor.spec.ts | 2 +- .../src/text-range-selector-executor.spec.ts | 2 +- .../lib/cell-range-selector-executor.spec.ts | 2 +- .../exec/src/lib/cell-writer-executor.spec.ts | 2 +- .../src/lib/column-deleter-executor.spec.ts | 2 +- .../src/lib/csv-interpreter-executor.spec.ts | 2 +- .../exec/src/lib/row-deleter-executor.spec.ts | 2 +- .../src/lib/sheet-picker-executor.spec.ts | 2 +- .../lib/table-interpreter-executor.spec.ts | 2 +- .../lib/table-transformer-executor.spec.ts | 2 +- .../src/lib/xlsx-interpreter-executor.spec.ts | 2 +- libs/interpreter-lib/src/interpreter.ts | 2 +- libs/interpreter-lib/src/parsing-util.spec.ts | 2 +- libs/interpreter-lib/src/parsing-util.ts | 11 +- .../interpreter-lib/src/std-extension.spec.ts | 2 +- .../runtime-parameter-literal.spec.ts | 2 +- .../src/lib/ast/expressions/test-utils.ts | 2 +- .../src/lib/ast/value-definition.spec.ts | 2 +- .../jayvee-workspace-manager.ts | 8 +- .../completion/jayvee-completion-provider.ts | 5 +- .../src/lib/hover/jayvee-hover-provider.ts | 3 +- libs/language-server/src/lib/jayvee-module.ts | 6 +- .../src/lib/jayvee-value-converter.ts | 10 +- .../checks/block-type-definition.spec.ts | 2 +- .../property-assignment.spec.ts | 2 +- .../block-type-specific/property-body.spec.ts | 2 +- .../lib/validation/checks/column-id.spec.ts | 2 +- .../composite-block-type-definition.spec.ts | 2 +- .../property-assignment.spec.ts | 2 +- .../property-body.spec.ts | 2 +- .../expression-constraint-definition.spec.ts | 2 +- .../validation/checks/jayvee-model.spec.ts | 2 +- .../validation/checks/pipe-definition.spec.ts | 2 +- .../checks/pipeline-definition.spec.ts | 2 +- .../checks/property-assignment.spec.ts | 2 +- .../validation/checks/property-body.spec.ts | 2 +- .../validation/checks/range-literal.spec.ts | 2 +- .../validation/checks/regex-literal.spec.ts | 2 +- .../validation/checks/transform-body.spec.ts | 2 +- .../transform-output-assignment.spec.ts | 2 +- .../typed-constraint-definition.spec.ts | 2 +- .../checks/value-type-definition.spec.ts | 2 +- .../checks/value-type-reference.spec.ts | 2 +- .../docs-constraint-examples.spec.ts | 2 +- .../src/lib/validation/validation-registry.ts | 5 +- .../lib/validation/validation-utils.spec.ts | 2 +- .../language-server/src/test/langium-utils.ts | 10 +- package-lock.json | 493 ++++++++++++------ package.json | 8 +- 71 files changed, 435 insertions(+), 251 deletions(-) diff --git a/apps/docs/generator/src/main.ts b/apps/docs/generator/src/main.ts index 9e6aa9416..b93afc3d9 100644 --- a/apps/docs/generator/src/main.ts +++ b/apps/docs/generator/src/main.ts @@ -12,7 +12,7 @@ import { getAllBuiltinConstraintTypes, initializeWorkspace, } from '@jvalue/jayvee-language-server'; -import { NodeFileSystem } from 'langium/node.js'; +import { NodeFileSystem } from 'langium/node'; import { UserDocGenerator } from './user-doc-generator'; diff --git a/apps/interpreter/src/examples-smoke-test.spec.ts b/apps/interpreter/src/examples-smoke-test.spec.ts index 20ea99283..43532847a 100644 --- a/apps/interpreter/src/examples-smoke-test.spec.ts +++ b/apps/interpreter/src/examples-smoke-test.spec.ts @@ -14,7 +14,7 @@ import { createJayveeServices, initializeWorkspace, } from '@jvalue/jayvee-language-server'; -import { NodeFileSystem } from 'langium/node.js'; +import { NodeFileSystem } from 'langium/node'; import * as nock from 'nock'; import { runAction } from './run-action'; diff --git a/apps/interpreter/src/index.ts b/apps/interpreter/src/index.ts index b5520eca5..f7d473370 100644 --- a/apps/interpreter/src/index.ts +++ b/apps/interpreter/src/index.ts @@ -33,7 +33,7 @@ function collectRuntimeParameters( assertNodeVersion(); const program = new Command(); -const version: string = packageJsonVersion as string; +const version: string = packageJsonVersion; program.version(version); program diff --git a/apps/language-server-web-worker/src/main.ts b/apps/language-server-web-worker/src/main.ts index 44d09d6b1..214c8a0eb 100644 --- a/apps/language-server-web-worker/src/main.ts +++ b/apps/language-server-web-worker/src/main.ts @@ -3,7 +3,8 @@ // SPDX-License-Identifier: AGPL-3.0-only import { createJayveeServices } from '@jvalue/jayvee-language-server'; -import { EmptyFileSystem, startLanguageServer } from 'langium'; +import { EmptyFileSystem } from 'langium'; +import { startLanguageServer } from 'langium/lsp'; import { BrowserMessageReader, BrowserMessageWriter, diff --git a/apps/vs-code-extension/src/language-server.ts b/apps/vs-code-extension/src/language-server.ts index d3d7dfc75..2c4114834 100644 --- a/apps/vs-code-extension/src/language-server.ts +++ b/apps/vs-code-extension/src/language-server.ts @@ -3,8 +3,8 @@ // SPDX-License-Identifier: AGPL-3.0-only import { createJayveeServices } from '@jvalue/jayvee-language-server'; -import { startLanguageServer } from 'langium'; -import { NodeFileSystem } from 'langium/node.js'; +import { startLanguageServer } from 'langium/lsp'; +import { NodeFileSystem } from 'langium/node'; import { ProposedFeatures, createConnection } from 'vscode-languageserver/node'; // Create a connection to the client diff --git a/libs/execution/src/lib/constraints/default-constraint-executors-extension.spec.ts b/libs/execution/src/lib/constraints/default-constraint-executors-extension.spec.ts index b37d45e16..f3630ec3e 100644 --- a/libs/execution/src/lib/constraints/default-constraint-executors-extension.spec.ts +++ b/libs/execution/src/lib/constraints/default-constraint-executors-extension.spec.ts @@ -7,7 +7,7 @@ import { getAllBuiltinConstraintTypes, initializeWorkspace, } from '@jvalue/jayvee-language-server'; -import { NodeFileSystem } from 'langium/node.js'; +import { NodeFileSystem } from 'langium/node'; import { DefaultConstraintExtension } from './constraint-executor-extension'; diff --git a/libs/execution/src/lib/constraints/executors/allowlist-constraint-executor.spec.ts b/libs/execution/src/lib/constraints/executors/allowlist-constraint-executor.spec.ts index b166fc45e..9bb4ad884 100644 --- a/libs/execution/src/lib/constraints/executors/allowlist-constraint-executor.spec.ts +++ b/libs/execution/src/lib/constraints/executors/allowlist-constraint-executor.spec.ts @@ -20,7 +20,7 @@ import { type AstNodeLocator, type LangiumDocument, } from 'langium'; -import { NodeFileSystem } from 'langium/node.js'; +import { NodeFileSystem } from 'langium/node'; import { getTestExecutionContext } from '../../../../test/utils'; diff --git a/libs/execution/src/lib/constraints/executors/denylist-constraint-executor.spec.ts b/libs/execution/src/lib/constraints/executors/denylist-constraint-executor.spec.ts index 1947984bd..86e08e0f5 100644 --- a/libs/execution/src/lib/constraints/executors/denylist-constraint-executor.spec.ts +++ b/libs/execution/src/lib/constraints/executors/denylist-constraint-executor.spec.ts @@ -20,7 +20,7 @@ import { type AstNodeLocator, type LangiumDocument, } from 'langium'; -import { NodeFileSystem } from 'langium/node.js'; +import { NodeFileSystem } from 'langium/node'; import { getTestExecutionContext } from '../../../../test/utils'; diff --git a/libs/execution/src/lib/constraints/executors/expression-constraint-executor.spec.ts b/libs/execution/src/lib/constraints/executors/expression-constraint-executor.spec.ts index 472ae88f6..eb64d0790 100644 --- a/libs/execution/src/lib/constraints/executors/expression-constraint-executor.spec.ts +++ b/libs/execution/src/lib/constraints/executors/expression-constraint-executor.spec.ts @@ -20,7 +20,7 @@ import { type AstNodeLocator, type LangiumDocument, } from 'langium'; -import { NodeFileSystem } from 'langium/node.js'; +import { NodeFileSystem } from 'langium/node'; import { getTestExecutionContext } from '../../../../test/utils'; diff --git a/libs/execution/src/lib/constraints/executors/length-constraint-executor.spec.ts b/libs/execution/src/lib/constraints/executors/length-constraint-executor.spec.ts index a24fbbb86..e8dfec3a1 100644 --- a/libs/execution/src/lib/constraints/executors/length-constraint-executor.spec.ts +++ b/libs/execution/src/lib/constraints/executors/length-constraint-executor.spec.ts @@ -20,7 +20,7 @@ import { type AstNodeLocator, type LangiumDocument, } from 'langium'; -import { NodeFileSystem } from 'langium/node.js'; +import { NodeFileSystem } from 'langium/node'; import { getTestExecutionContext } from '../../../../test/utils'; diff --git a/libs/execution/src/lib/constraints/executors/range-constraint-executor.spec.ts b/libs/execution/src/lib/constraints/executors/range-constraint-executor.spec.ts index a33fd5182..571be846c 100644 --- a/libs/execution/src/lib/constraints/executors/range-constraint-executor.spec.ts +++ b/libs/execution/src/lib/constraints/executors/range-constraint-executor.spec.ts @@ -21,7 +21,7 @@ import { type AstNodeLocator, type LangiumDocument, } from 'langium'; -import { NodeFileSystem } from 'langium/node.js'; +import { NodeFileSystem } from 'langium/node'; import { getTestExecutionContext } from '../../../../test/utils'; diff --git a/libs/execution/src/lib/constraints/executors/regex-constraint-executor.spec.ts b/libs/execution/src/lib/constraints/executors/regex-constraint-executor.spec.ts index 0c656cdf8..8bbd9aceb 100644 --- a/libs/execution/src/lib/constraints/executors/regex-constraint-executor.spec.ts +++ b/libs/execution/src/lib/constraints/executors/regex-constraint-executor.spec.ts @@ -20,7 +20,7 @@ import { type AstNodeLocator, type LangiumDocument, } from 'langium'; -import { NodeFileSystem } from 'langium/node.js'; +import { NodeFileSystem } from 'langium/node'; import { getTestExecutionContext } from '../../../../test/utils'; diff --git a/libs/execution/src/lib/logging/logger.ts b/libs/execution/src/lib/logging/logger.ts index aecbd1357..7ff68188d 100644 --- a/libs/execution/src/lib/logging/logger.ts +++ b/libs/execution/src/lib/logging/logger.ts @@ -9,8 +9,8 @@ import { type DiagnosticInfo, type LangiumDocument, getDiagnosticRange, - getDocument, } from 'langium'; +import { AstUtils } from 'langium'; import * as ls from 'vscode-languageserver'; export enum DiagnosticSeverity { @@ -49,7 +49,7 @@ export abstract class Logger { severity, message, getDiagnosticRange(diagnostic), - getDocument(diagnostic.node), + AstUtils.getDocument(diagnostic.node), ); } diff --git a/libs/execution/src/lib/transforms/transform-executor.spec.ts b/libs/execution/src/lib/transforms/transform-executor.spec.ts index ff9bc61e1..4fa4a8579 100644 --- a/libs/execution/src/lib/transforms/transform-executor.spec.ts +++ b/libs/execution/src/lib/transforms/transform-executor.spec.ts @@ -23,7 +23,7 @@ import { type AstNodeLocator, type LangiumDocument, } from 'langium'; -import { NodeFileSystem } from 'langium/node.js'; +import { NodeFileSystem } from 'langium/node'; import { constructTable, getTestExecutionContext } from '../../../test/utils'; import { type Table, type TableColumn } from '../types/io-types/table'; diff --git a/libs/extensions/rdbms/exec/src/lib/postgres-loader-executor.spec.ts b/libs/extensions/rdbms/exec/src/lib/postgres-loader-executor.spec.ts index 27d4edf0e..28f6d568b 100644 --- a/libs/extensions/rdbms/exec/src/lib/postgres-loader-executor.spec.ts +++ b/libs/extensions/rdbms/exec/src/lib/postgres-loader-executor.spec.ts @@ -27,7 +27,7 @@ import { type AstNodeLocator, type LangiumDocument, } from 'langium'; -import { NodeFileSystem } from 'langium/node.js'; +import { NodeFileSystem } from 'langium/node'; import { PostgresLoaderExecutor } from './postgres-loader-executor'; diff --git a/libs/extensions/rdbms/exec/src/lib/sqlite-loader-executor.spec.ts b/libs/extensions/rdbms/exec/src/lib/sqlite-loader-executor.spec.ts index 4e8b36160..25852951b 100644 --- a/libs/extensions/rdbms/exec/src/lib/sqlite-loader-executor.spec.ts +++ b/libs/extensions/rdbms/exec/src/lib/sqlite-loader-executor.spec.ts @@ -27,7 +27,7 @@ import { type AstNodeLocator, type LangiumDocument, } from 'langium'; -import { NodeFileSystem } from 'langium/node.js'; +import { NodeFileSystem } from 'langium/node'; import type * as sqlite3 from 'sqlite3'; import { SQLiteLoaderExecutor } from './sqlite-loader-executor'; diff --git a/libs/extensions/std/exec/src/archive-interpreter-executor.spec.ts b/libs/extensions/std/exec/src/archive-interpreter-executor.spec.ts index 8063e1f22..0340c4438 100644 --- a/libs/extensions/std/exec/src/archive-interpreter-executor.spec.ts +++ b/libs/extensions/std/exec/src/archive-interpreter-executor.spec.ts @@ -27,7 +27,7 @@ import { type AstNodeLocator, type LangiumDocument, } from 'langium'; -import { NodeFileSystem } from 'langium/node.js'; +import { NodeFileSystem } from 'langium/node'; import { ArchiveInterpreterExecutor } from './archive-interpreter-executor'; diff --git a/libs/extensions/std/exec/src/file-picker-executor.spec.ts b/libs/extensions/std/exec/src/file-picker-executor.spec.ts index 02c9c134a..917888e59 100644 --- a/libs/extensions/std/exec/src/file-picker-executor.spec.ts +++ b/libs/extensions/std/exec/src/file-picker-executor.spec.ts @@ -27,7 +27,7 @@ import { type AstNodeLocator, type LangiumDocument, } from 'langium'; -import { NodeFileSystem } from 'langium/node.js'; +import { NodeFileSystem } from 'langium/node'; import { FilePickerExecutor } from './file-picker-executor'; diff --git a/libs/extensions/std/exec/src/gtfs-rt-interpreter-executor.spec.ts b/libs/extensions/std/exec/src/gtfs-rt-interpreter-executor.spec.ts index 0e230b8c1..bea4fb497 100644 --- a/libs/extensions/std/exec/src/gtfs-rt-interpreter-executor.spec.ts +++ b/libs/extensions/std/exec/src/gtfs-rt-interpreter-executor.spec.ts @@ -27,7 +27,7 @@ import { type AstNodeLocator, type LangiumDocument, } from 'langium'; -import { NodeFileSystem } from 'langium/node.js'; +import { NodeFileSystem } from 'langium/node'; import { GtfsRTInterpreterExecutor } from './gtfs-rt-interpreter-executor'; diff --git a/libs/extensions/std/exec/src/http-extractor-executor.spec.ts b/libs/extensions/std/exec/src/http-extractor-executor.spec.ts index 0b131a2b9..a28de076a 100644 --- a/libs/extensions/std/exec/src/http-extractor-executor.spec.ts +++ b/libs/extensions/std/exec/src/http-extractor-executor.spec.ts @@ -24,7 +24,7 @@ import { type AstNodeLocator, type LangiumDocument, } from 'langium'; -import { NodeFileSystem } from 'langium/node.js'; +import { NodeFileSystem } from 'langium/node'; import * as nock from 'nock'; import { HttpExtractorExecutor } from './http-extractor-executor'; diff --git a/libs/extensions/std/exec/src/local-file-extractor-executor.spec.ts b/libs/extensions/std/exec/src/local-file-extractor-executor.spec.ts index 90cb12d00..df1fa20ff 100644 --- a/libs/extensions/std/exec/src/local-file-extractor-executor.spec.ts +++ b/libs/extensions/std/exec/src/local-file-extractor-executor.spec.ts @@ -23,7 +23,7 @@ import { type AstNodeLocator, type LangiumDocument, } from 'langium'; -import { NodeFileSystem } from 'langium/node.js'; +import { NodeFileSystem } from 'langium/node'; import * as nock from 'nock'; import { LocalFileExtractorExecutor } from './local-file-extractor-executor'; diff --git a/libs/extensions/std/exec/src/text-file-interpreter-executor.spec.ts b/libs/extensions/std/exec/src/text-file-interpreter-executor.spec.ts index 7f44a143c..aded5b58e 100644 --- a/libs/extensions/std/exec/src/text-file-interpreter-executor.spec.ts +++ b/libs/extensions/std/exec/src/text-file-interpreter-executor.spec.ts @@ -27,7 +27,7 @@ import { type AstNodeLocator, type LangiumDocument, } from 'langium'; -import { NodeFileSystem } from 'langium/node.js'; +import { NodeFileSystem } from 'langium/node'; import { TextFileInterpreterExecutor } from './text-file-interpreter-executor'; diff --git a/libs/extensions/std/exec/src/text-line-deleter-executor.spec.ts b/libs/extensions/std/exec/src/text-line-deleter-executor.spec.ts index 0d9895c91..313b78bf1 100644 --- a/libs/extensions/std/exec/src/text-line-deleter-executor.spec.ts +++ b/libs/extensions/std/exec/src/text-line-deleter-executor.spec.ts @@ -27,7 +27,7 @@ import { type AstNodeLocator, type LangiumDocument, } from 'langium'; -import { NodeFileSystem } from 'langium/node.js'; +import { NodeFileSystem } from 'langium/node'; import { TextLineDeleterExecutor } from './text-line-deleter-executor'; diff --git a/libs/extensions/std/exec/src/text-range-selector-executor.spec.ts b/libs/extensions/std/exec/src/text-range-selector-executor.spec.ts index ba1969114..b5c19d661 100644 --- a/libs/extensions/std/exec/src/text-range-selector-executor.spec.ts +++ b/libs/extensions/std/exec/src/text-range-selector-executor.spec.ts @@ -27,7 +27,7 @@ import { type AstNodeLocator, type LangiumDocument, } from 'langium'; -import { NodeFileSystem } from 'langium/node.js'; +import { NodeFileSystem } from 'langium/node'; import { TextRangeSelectorExecutor } from './text-range-selector-executor'; diff --git a/libs/extensions/tabular/exec/src/lib/cell-range-selector-executor.spec.ts b/libs/extensions/tabular/exec/src/lib/cell-range-selector-executor.spec.ts index f42a1414c..f12654b68 100644 --- a/libs/extensions/tabular/exec/src/lib/cell-range-selector-executor.spec.ts +++ b/libs/extensions/tabular/exec/src/lib/cell-range-selector-executor.spec.ts @@ -24,7 +24,7 @@ import { type AstNodeLocator, type LangiumDocument, } from 'langium'; -import { NodeFileSystem } from 'langium/node.js'; +import { NodeFileSystem } from 'langium/node'; import { createWorkbookFromLocalExcelFile } from '../../test/util'; diff --git a/libs/extensions/tabular/exec/src/lib/cell-writer-executor.spec.ts b/libs/extensions/tabular/exec/src/lib/cell-writer-executor.spec.ts index 935dcfa6c..e7bce014d 100644 --- a/libs/extensions/tabular/exec/src/lib/cell-writer-executor.spec.ts +++ b/libs/extensions/tabular/exec/src/lib/cell-writer-executor.spec.ts @@ -24,7 +24,7 @@ import { type AstNodeLocator, type LangiumDocument, } from 'langium'; -import { NodeFileSystem } from 'langium/node.js'; +import { NodeFileSystem } from 'langium/node'; import { createWorkbookFromLocalExcelFile } from '../../test/util'; diff --git a/libs/extensions/tabular/exec/src/lib/column-deleter-executor.spec.ts b/libs/extensions/tabular/exec/src/lib/column-deleter-executor.spec.ts index eac9bf96b..2b202ce9f 100644 --- a/libs/extensions/tabular/exec/src/lib/column-deleter-executor.spec.ts +++ b/libs/extensions/tabular/exec/src/lib/column-deleter-executor.spec.ts @@ -24,7 +24,7 @@ import { type AstNodeLocator, type LangiumDocument, } from 'langium'; -import { NodeFileSystem } from 'langium/node.js'; +import { NodeFileSystem } from 'langium/node'; import { createWorkbookFromLocalExcelFile } from '../../test/util'; diff --git a/libs/extensions/tabular/exec/src/lib/csv-interpreter-executor.spec.ts b/libs/extensions/tabular/exec/src/lib/csv-interpreter-executor.spec.ts index 1267c918d..32613ecca 100644 --- a/libs/extensions/tabular/exec/src/lib/csv-interpreter-executor.spec.ts +++ b/libs/extensions/tabular/exec/src/lib/csv-interpreter-executor.spec.ts @@ -27,7 +27,7 @@ import { type AstNodeLocator, type LangiumDocument, } from 'langium'; -import { NodeFileSystem } from 'langium/node.js'; +import { NodeFileSystem } from 'langium/node'; import { CSVInterpreterExecutor } from './csv-interpreter-executor'; diff --git a/libs/extensions/tabular/exec/src/lib/row-deleter-executor.spec.ts b/libs/extensions/tabular/exec/src/lib/row-deleter-executor.spec.ts index 8620509b0..764802120 100644 --- a/libs/extensions/tabular/exec/src/lib/row-deleter-executor.spec.ts +++ b/libs/extensions/tabular/exec/src/lib/row-deleter-executor.spec.ts @@ -24,7 +24,7 @@ import { type AstNodeLocator, type LangiumDocument, } from 'langium'; -import { NodeFileSystem } from 'langium/node.js'; +import { NodeFileSystem } from 'langium/node'; import { createWorkbookFromLocalExcelFile } from '../../test/util'; diff --git a/libs/extensions/tabular/exec/src/lib/sheet-picker-executor.spec.ts b/libs/extensions/tabular/exec/src/lib/sheet-picker-executor.spec.ts index ff88b3063..e5c9af260 100644 --- a/libs/extensions/tabular/exec/src/lib/sheet-picker-executor.spec.ts +++ b/libs/extensions/tabular/exec/src/lib/sheet-picker-executor.spec.ts @@ -24,7 +24,7 @@ import { type AstNodeLocator, type LangiumDocument, } from 'langium'; -import { NodeFileSystem } from 'langium/node.js'; +import { NodeFileSystem } from 'langium/node'; import { createWorkbookFromLocalExcelFile } from '../../test/util'; diff --git a/libs/extensions/tabular/exec/src/lib/table-interpreter-executor.spec.ts b/libs/extensions/tabular/exec/src/lib/table-interpreter-executor.spec.ts index 0c7ac3ba3..492348c4a 100644 --- a/libs/extensions/tabular/exec/src/lib/table-interpreter-executor.spec.ts +++ b/libs/extensions/tabular/exec/src/lib/table-interpreter-executor.spec.ts @@ -24,7 +24,7 @@ import { type AstNodeLocator, type LangiumDocument, } from 'langium'; -import { NodeFileSystem } from 'langium/node.js'; +import { NodeFileSystem } from 'langium/node'; import { createWorkbookFromLocalExcelFile } from '../../test/util'; diff --git a/libs/extensions/tabular/exec/src/lib/table-transformer-executor.spec.ts b/libs/extensions/tabular/exec/src/lib/table-transformer-executor.spec.ts index 35317520f..6522ee1d0 100644 --- a/libs/extensions/tabular/exec/src/lib/table-transformer-executor.spec.ts +++ b/libs/extensions/tabular/exec/src/lib/table-transformer-executor.spec.ts @@ -24,7 +24,7 @@ import { type AstNodeLocator, type LangiumDocument, } from 'langium'; -import { NodeFileSystem } from 'langium/node.js'; +import { NodeFileSystem } from 'langium/node'; import { type ReducedColumnDefinitionEntry, diff --git a/libs/extensions/tabular/exec/src/lib/xlsx-interpreter-executor.spec.ts b/libs/extensions/tabular/exec/src/lib/xlsx-interpreter-executor.spec.ts index 3700bac7f..364c03bce 100644 --- a/libs/extensions/tabular/exec/src/lib/xlsx-interpreter-executor.spec.ts +++ b/libs/extensions/tabular/exec/src/lib/xlsx-interpreter-executor.spec.ts @@ -27,7 +27,7 @@ import { type AstNodeLocator, type LangiumDocument, } from 'langium'; -import { NodeFileSystem } from 'langium/node.js'; +import { NodeFileSystem } from 'langium/node'; import { XLSXInterpreterExecutor } from './xlsx-interpreter-executor'; diff --git a/libs/interpreter-lib/src/interpreter.ts b/libs/interpreter-lib/src/interpreter.ts index e3fc44856..862251526 100644 --- a/libs/interpreter-lib/src/interpreter.ts +++ b/libs/interpreter-lib/src/interpreter.ts @@ -31,7 +31,7 @@ import { internalValueToString, } from '@jvalue/jayvee-language-server'; import chalk from 'chalk'; -import { NodeFileSystem } from 'langium/node.js'; +import { NodeFileSystem } from 'langium/node'; import { LoggerFactory } from './logging'; import { ExitCode, extractAstNodeFromString } from './parsing-util'; diff --git a/libs/interpreter-lib/src/parsing-util.spec.ts b/libs/interpreter-lib/src/parsing-util.spec.ts index bb076ee5d..fce4a6f4f 100644 --- a/libs/interpreter-lib/src/parsing-util.spec.ts +++ b/libs/interpreter-lib/src/parsing-util.spec.ts @@ -17,7 +17,7 @@ import { readJvTestAssetHelper, } from '@jvalue/jayvee-language-server/test'; import { type AstNode, type LangiumDocument } from 'langium'; -import { NodeFileSystem } from 'langium/node.js'; +import { NodeFileSystem } from 'langium/node'; import { extractDocumentFromFile, validateDocument } from './parsing-util'; diff --git a/libs/interpreter-lib/src/parsing-util.ts b/libs/interpreter-lib/src/parsing-util.ts index ee8a95c8a..844c7797f 100644 --- a/libs/interpreter-lib/src/parsing-util.ts +++ b/libs/interpreter-lib/src/parsing-util.ts @@ -7,11 +7,8 @@ import * as path from 'path'; import { type Logger } from '@jvalue/jayvee-execution'; import { initializeWorkspace } from '@jvalue/jayvee-language-server'; -import { - type AstNode, - type LangiumDocument, - type LangiumServices, -} from 'langium'; +import { type AstNode, type LangiumDocument } from 'langium'; +import { type LangiumServices } from 'langium/lsp'; import { DiagnosticSeverity } from 'vscode-languageserver-protocol'; import { URI } from 'vscode-uri'; // direct import as work around for issues bundling as commonjs (vs-code-plugin) and esm (interpreter) @@ -41,7 +38,7 @@ export async function extractDocumentFromFile( } const document = - services.shared.workspace.LangiumDocuments.getOrCreateDocument( + await services.shared.workspace.LangiumDocuments.getOrCreateDocument( URI.file(path.resolve(fileName)), ); @@ -71,7 +68,7 @@ export async function validateDocument( logger: Logger, ): Promise { await services.shared.workspace.DocumentBuilder.build([document], { - validationChecks: 'all', + validation: true, }); const diagnostics = document.diagnostics ?? []; diff --git a/libs/interpreter-lib/src/std-extension.spec.ts b/libs/interpreter-lib/src/std-extension.spec.ts index 048ff4818..eaae4f752 100644 --- a/libs/interpreter-lib/src/std-extension.spec.ts +++ b/libs/interpreter-lib/src/std-extension.spec.ts @@ -11,7 +11,7 @@ import { getAllBuiltinBlockTypes, initializeWorkspace, } from '@jvalue/jayvee-language-server'; -import { NodeFileSystem } from 'langium/node.js'; +import { NodeFileSystem } from 'langium/node'; async function loadAllBuiltinBlockTypes(): Promise { const services = createJayveeServices(NodeFileSystem).Jayvee; diff --git a/libs/interpreter-lib/src/validation-checks/runtime-parameter-literal.spec.ts b/libs/interpreter-lib/src/validation-checks/runtime-parameter-literal.spec.ts index 45fd8b185..c2d82f482 100644 --- a/libs/interpreter-lib/src/validation-checks/runtime-parameter-literal.spec.ts +++ b/libs/interpreter-lib/src/validation-checks/runtime-parameter-literal.spec.ts @@ -30,7 +30,7 @@ import { type AstNodeLocator, type LangiumDocument, } from 'langium'; -import { NodeFileSystem } from 'langium/node.js'; +import { NodeFileSystem } from 'langium/node'; import { validateRuntimeParameterLiteral } from './runtime-parameter-literal'; diff --git a/libs/language-server/src/lib/ast/expressions/test-utils.ts b/libs/language-server/src/lib/ast/expressions/test-utils.ts index 8dfccc06b..bc6eff62e 100644 --- a/libs/language-server/src/lib/ast/expressions/test-utils.ts +++ b/libs/language-server/src/lib/ast/expressions/test-utils.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import { NodeFileSystem } from 'langium/node.js'; +import { NodeFileSystem } from 'langium/node'; import { parseHelper } from '../../../test/langium-utils'; import { createJayveeServices } from '../../jayvee-module'; diff --git a/libs/language-server/src/lib/ast/value-definition.spec.ts b/libs/language-server/src/lib/ast/value-definition.spec.ts index b4101126f..11df61fd7 100644 --- a/libs/language-server/src/lib/ast/value-definition.spec.ts +++ b/libs/language-server/src/lib/ast/value-definition.spec.ts @@ -3,7 +3,7 @@ // SPDX-License-Identifier: AGPL-3.0-only import { type AstNode, type LangiumDocument } from 'langium'; -import { NodeFileSystem } from 'langium/node.js'; +import { NodeFileSystem } from 'langium/node'; import { type ParseHelperOptions, parseHelper } from '../../test/langium-utils'; import { readJvTestAssetHelper } from '../../test/utils'; diff --git a/libs/language-server/src/lib/builtin-library/jayvee-workspace-manager.ts b/libs/language-server/src/lib/builtin-library/jayvee-workspace-manager.ts index dcf47e431..1b9b1b28e 100644 --- a/libs/language-server/src/lib/builtin-library/jayvee-workspace-manager.ts +++ b/libs/language-server/src/lib/builtin-library/jayvee-workspace-manager.ts @@ -4,10 +4,10 @@ import { DefaultWorkspaceManager, + type LangiumCoreServices, type LangiumDocument, type LangiumDocumentFactory, - type LangiumServices, - type LangiumSharedServices, + type LangiumSharedCoreServices, } from 'langium'; import { type WorkspaceFolder } from 'vscode-languageserver'; import { URI } from 'vscode-uri'; // direct import as work around for issues bundling as commonjs (vs-code-plugin) and esm (interpreter) @@ -17,7 +17,7 @@ import { getStdLib } from './stdlib'; export class JayveeWorkspaceManager extends DefaultWorkspaceManager { private documentFactory: LangiumDocumentFactory; - constructor(services: LangiumSharedServices) { + constructor(services: LangiumSharedCoreServices) { super(services); this.documentFactory = services.workspace.LangiumDocumentFactory; } @@ -39,7 +39,7 @@ export class JayveeWorkspaceManager extends DefaultWorkspaceManager { * Also loads additional required files, e.g., the standard library */ export async function initializeWorkspace( - services: LangiumServices, + services: LangiumCoreServices, workspaceFolders: WorkspaceFolder[] = [], ): Promise { await services.shared.workspace.WorkspaceManager.initializeWorkspace( diff --git a/libs/language-server/src/lib/completion/jayvee-completion-provider.ts b/libs/language-server/src/lib/completion/jayvee-completion-provider.ts index 077b09f67..fcf79c28c 100644 --- a/libs/language-server/src/lib/completion/jayvee-completion-provider.ts +++ b/libs/language-server/src/lib/completion/jayvee-completion-provider.ts @@ -4,15 +4,14 @@ import { strict as assert } from 'assert'; +import { type LangiumDocuments, type MaybePromise } from 'langium'; import { type CompletionAcceptor, type CompletionContext, type CompletionValueItem, DefaultCompletionProvider, - type LangiumDocuments, - type MaybePromise, type NextFeature, -} from 'langium'; +} from 'langium/lsp'; import { CompletionItemKind } from 'vscode-languageserver'; import { type TypedObjectWrapper, type WrapperFactoryProvider } from '../ast'; diff --git a/libs/language-server/src/lib/hover/jayvee-hover-provider.ts b/libs/language-server/src/lib/hover/jayvee-hover-provider.ts index 2565b77a6..e9e516f64 100644 --- a/libs/language-server/src/lib/hover/jayvee-hover-provider.ts +++ b/libs/language-server/src/lib/hover/jayvee-hover-provider.ts @@ -2,7 +2,8 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import { type AstNode, AstNodeHoverProvider, type MaybePromise } from 'langium'; +import { type AstNode, type MaybePromise } from 'langium'; +import { AstNodeHoverProvider } from 'langium/lsp'; import { type Hover } from 'vscode-languageserver-protocol'; import { diff --git a/libs/language-server/src/lib/jayvee-module.ts b/libs/language-server/src/lib/jayvee-module.ts index da6fb10c9..a9150dffe 100644 --- a/libs/language-server/src/lib/jayvee-module.ts +++ b/libs/language-server/src/lib/jayvee-module.ts @@ -2,17 +2,15 @@ // // SPDX-License-Identifier: AGPL-3.0-only +import { type DeepPartial, type Module, inject } from 'langium'; import { - type DeepPartial, type DefaultSharedModuleContext, type LangiumServices, type LangiumSharedServices, - type Module, type PartialLangiumServices, createDefaultModule, createDefaultSharedModule, - inject, -} from 'langium'; +} from 'langium/lsp'; import { DefaultOperatorEvaluatorRegistry, diff --git a/libs/language-server/src/lib/jayvee-value-converter.ts b/libs/language-server/src/lib/jayvee-value-converter.ts index 2dc0b2f25..40585eda2 100644 --- a/libs/language-server/src/lib/jayvee-value-converter.ts +++ b/libs/language-server/src/lib/jayvee-value-converter.ts @@ -2,12 +2,16 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import { type CstNode, DefaultValueConverter, type ValueType } from 'langium'; -import { type AbstractRule } from 'langium/lib/grammar/generated/ast'; +import { + type CstNode, + DefaultValueConverter, + type GrammarAST, + type ValueType, +} from 'langium'; export class JayveeValueConverter extends DefaultValueConverter { protected override runConverter( - rule: AbstractRule, + rule: GrammarAST.AbstractRule, input: string, cstNode: CstNode, ): ValueType { diff --git a/libs/language-server/src/lib/validation/checks/block-type-definition.spec.ts b/libs/language-server/src/lib/validation/checks/block-type-definition.spec.ts index 013f2c51f..53a348235 100644 --- a/libs/language-server/src/lib/validation/checks/block-type-definition.spec.ts +++ b/libs/language-server/src/lib/validation/checks/block-type-definition.spec.ts @@ -7,7 +7,7 @@ import { type AstNodeLocator, type LangiumDocument, } from 'langium'; -import { NodeFileSystem } from 'langium/node.js'; +import { NodeFileSystem } from 'langium/node'; import { type BuiltinBlockTypeDefinition, diff --git a/libs/language-server/src/lib/validation/checks/block-type-specific/property-assignment.spec.ts b/libs/language-server/src/lib/validation/checks/block-type-specific/property-assignment.spec.ts index 4f1c5a004..d78257345 100644 --- a/libs/language-server/src/lib/validation/checks/block-type-specific/property-assignment.spec.ts +++ b/libs/language-server/src/lib/validation/checks/block-type-specific/property-assignment.spec.ts @@ -7,7 +7,7 @@ import { type AstNodeLocator, type LangiumDocument, } from 'langium'; -import { NodeFileSystem } from 'langium/node.js'; +import { NodeFileSystem } from 'langium/node'; import { type JayveeServices, diff --git a/libs/language-server/src/lib/validation/checks/block-type-specific/property-body.spec.ts b/libs/language-server/src/lib/validation/checks/block-type-specific/property-body.spec.ts index ded4556f7..497fb477b 100644 --- a/libs/language-server/src/lib/validation/checks/block-type-specific/property-body.spec.ts +++ b/libs/language-server/src/lib/validation/checks/block-type-specific/property-body.spec.ts @@ -7,7 +7,7 @@ import { type AstNodeLocator, type LangiumDocument, } from 'langium'; -import { NodeFileSystem } from 'langium/node.js'; +import { NodeFileSystem } from 'langium/node'; import { type JayveeServices, diff --git a/libs/language-server/src/lib/validation/checks/column-id.spec.ts b/libs/language-server/src/lib/validation/checks/column-id.spec.ts index 979354ea4..fc503f603 100644 --- a/libs/language-server/src/lib/validation/checks/column-id.spec.ts +++ b/libs/language-server/src/lib/validation/checks/column-id.spec.ts @@ -7,7 +7,7 @@ import { type AstNodeLocator, type LangiumDocument, } from 'langium'; -import { NodeFileSystem } from 'langium/node.js'; +import { NodeFileSystem } from 'langium/node'; import { type ColumnId, diff --git a/libs/language-server/src/lib/validation/checks/composite-block-type-definition.spec.ts b/libs/language-server/src/lib/validation/checks/composite-block-type-definition.spec.ts index a0a5cd6e6..eb932e5c8 100644 --- a/libs/language-server/src/lib/validation/checks/composite-block-type-definition.spec.ts +++ b/libs/language-server/src/lib/validation/checks/composite-block-type-definition.spec.ts @@ -7,7 +7,7 @@ import { type AstNodeLocator, type LangiumDocument, } from 'langium'; -import { NodeFileSystem } from 'langium/node.js'; +import { NodeFileSystem } from 'langium/node'; import { type CompositeBlockTypeDefinition, diff --git a/libs/language-server/src/lib/validation/checks/constrainttype-specific/property-assignment.spec.ts b/libs/language-server/src/lib/validation/checks/constrainttype-specific/property-assignment.spec.ts index 47c87f6cd..cae4851b5 100644 --- a/libs/language-server/src/lib/validation/checks/constrainttype-specific/property-assignment.spec.ts +++ b/libs/language-server/src/lib/validation/checks/constrainttype-specific/property-assignment.spec.ts @@ -7,7 +7,7 @@ import { type AstNodeLocator, type LangiumDocument, } from 'langium'; -import { NodeFileSystem } from 'langium/node.js'; +import { NodeFileSystem } from 'langium/node'; import { type JayveeServices, diff --git a/libs/language-server/src/lib/validation/checks/constrainttype-specific/property-body.spec.ts b/libs/language-server/src/lib/validation/checks/constrainttype-specific/property-body.spec.ts index 53a1ff135..8757a2512 100644 --- a/libs/language-server/src/lib/validation/checks/constrainttype-specific/property-body.spec.ts +++ b/libs/language-server/src/lib/validation/checks/constrainttype-specific/property-body.spec.ts @@ -7,7 +7,7 @@ import { type AstNodeLocator, type LangiumDocument, } from 'langium'; -import { NodeFileSystem } from 'langium/node.js'; +import { NodeFileSystem } from 'langium/node'; import { type JayveeServices, diff --git a/libs/language-server/src/lib/validation/checks/expression-constraint-definition.spec.ts b/libs/language-server/src/lib/validation/checks/expression-constraint-definition.spec.ts index 6f4067674..58209ecaa 100644 --- a/libs/language-server/src/lib/validation/checks/expression-constraint-definition.spec.ts +++ b/libs/language-server/src/lib/validation/checks/expression-constraint-definition.spec.ts @@ -7,7 +7,7 @@ import { type AstNodeLocator, type LangiumDocument, } from 'langium'; -import { NodeFileSystem } from 'langium/node.js'; +import { NodeFileSystem } from 'langium/node'; import { type ExpressionConstraintDefinition, diff --git a/libs/language-server/src/lib/validation/checks/jayvee-model.spec.ts b/libs/language-server/src/lib/validation/checks/jayvee-model.spec.ts index 8276f827c..06c0f8d70 100644 --- a/libs/language-server/src/lib/validation/checks/jayvee-model.spec.ts +++ b/libs/language-server/src/lib/validation/checks/jayvee-model.spec.ts @@ -3,7 +3,7 @@ // SPDX-License-Identifier: AGPL-3.0-only import { type AstNode, type LangiumDocument } from 'langium'; -import { NodeFileSystem } from 'langium/node.js'; +import { NodeFileSystem } from 'langium/node'; import { type JayveeModel, diff --git a/libs/language-server/src/lib/validation/checks/pipe-definition.spec.ts b/libs/language-server/src/lib/validation/checks/pipe-definition.spec.ts index e89e0917f..c6b69a46e 100644 --- a/libs/language-server/src/lib/validation/checks/pipe-definition.spec.ts +++ b/libs/language-server/src/lib/validation/checks/pipe-definition.spec.ts @@ -7,7 +7,7 @@ import { type AstNodeLocator, type LangiumDocument, } from 'langium'; -import { NodeFileSystem } from 'langium/node.js'; +import { NodeFileSystem } from 'langium/node'; import { type JayveeServices, diff --git a/libs/language-server/src/lib/validation/checks/pipeline-definition.spec.ts b/libs/language-server/src/lib/validation/checks/pipeline-definition.spec.ts index ccb2a5817..fe430c712 100644 --- a/libs/language-server/src/lib/validation/checks/pipeline-definition.spec.ts +++ b/libs/language-server/src/lib/validation/checks/pipeline-definition.spec.ts @@ -7,7 +7,7 @@ import { type AstNodeLocator, type LangiumDocument, } from 'langium'; -import { NodeFileSystem } from 'langium/node.js'; +import { NodeFileSystem } from 'langium/node'; import { type JayveeServices, diff --git a/libs/language-server/src/lib/validation/checks/property-assignment.spec.ts b/libs/language-server/src/lib/validation/checks/property-assignment.spec.ts index 9e778cfc2..9568058d0 100644 --- a/libs/language-server/src/lib/validation/checks/property-assignment.spec.ts +++ b/libs/language-server/src/lib/validation/checks/property-assignment.spec.ts @@ -7,7 +7,7 @@ import { type AstNodeLocator, type LangiumDocument, } from 'langium'; -import { NodeFileSystem } from 'langium/node.js'; +import { NodeFileSystem } from 'langium/node'; import { type JayveeServices, diff --git a/libs/language-server/src/lib/validation/checks/property-body.spec.ts b/libs/language-server/src/lib/validation/checks/property-body.spec.ts index 4bbc6b1f7..2297be7b2 100644 --- a/libs/language-server/src/lib/validation/checks/property-body.spec.ts +++ b/libs/language-server/src/lib/validation/checks/property-body.spec.ts @@ -7,7 +7,7 @@ import { type AstNodeLocator, type LangiumDocument, } from 'langium'; -import { NodeFileSystem } from 'langium/node.js'; +import { NodeFileSystem } from 'langium/node'; import { type JayveeServices, diff --git a/libs/language-server/src/lib/validation/checks/range-literal.spec.ts b/libs/language-server/src/lib/validation/checks/range-literal.spec.ts index cabbb6f0b..01701a176 100644 --- a/libs/language-server/src/lib/validation/checks/range-literal.spec.ts +++ b/libs/language-server/src/lib/validation/checks/range-literal.spec.ts @@ -7,7 +7,7 @@ import { type AstNodeLocator, type LangiumDocument, } from 'langium'; -import { NodeFileSystem } from 'langium/node.js'; +import { NodeFileSystem } from 'langium/node'; import { type JayveeServices, diff --git a/libs/language-server/src/lib/validation/checks/regex-literal.spec.ts b/libs/language-server/src/lib/validation/checks/regex-literal.spec.ts index 8a9c79f57..46f984349 100644 --- a/libs/language-server/src/lib/validation/checks/regex-literal.spec.ts +++ b/libs/language-server/src/lib/validation/checks/regex-literal.spec.ts @@ -7,7 +7,7 @@ import { type AstNodeLocator, type LangiumDocument, } from 'langium'; -import { NodeFileSystem } from 'langium/node.js'; +import { NodeFileSystem } from 'langium/node'; import { type JayveeServices, diff --git a/libs/language-server/src/lib/validation/checks/transform-body.spec.ts b/libs/language-server/src/lib/validation/checks/transform-body.spec.ts index b3d9d5021..8e3fbfa73 100644 --- a/libs/language-server/src/lib/validation/checks/transform-body.spec.ts +++ b/libs/language-server/src/lib/validation/checks/transform-body.spec.ts @@ -7,7 +7,7 @@ import { type AstNodeLocator, type LangiumDocument, } from 'langium'; -import { NodeFileSystem } from 'langium/node.js'; +import { NodeFileSystem } from 'langium/node'; import { type JayveeServices, diff --git a/libs/language-server/src/lib/validation/checks/transform-output-assignment.spec.ts b/libs/language-server/src/lib/validation/checks/transform-output-assignment.spec.ts index 256663698..6e1cbaa34 100644 --- a/libs/language-server/src/lib/validation/checks/transform-output-assignment.spec.ts +++ b/libs/language-server/src/lib/validation/checks/transform-output-assignment.spec.ts @@ -7,7 +7,7 @@ import { type AstNodeLocator, type LangiumDocument, } from 'langium'; -import { NodeFileSystem } from 'langium/node.js'; +import { NodeFileSystem } from 'langium/node'; import { type JayveeServices, diff --git a/libs/language-server/src/lib/validation/checks/typed-constraint-definition.spec.ts b/libs/language-server/src/lib/validation/checks/typed-constraint-definition.spec.ts index 96a559437..4bc409b93 100644 --- a/libs/language-server/src/lib/validation/checks/typed-constraint-definition.spec.ts +++ b/libs/language-server/src/lib/validation/checks/typed-constraint-definition.spec.ts @@ -7,7 +7,7 @@ import { type AstNodeLocator, type LangiumDocument, } from 'langium'; -import { NodeFileSystem } from 'langium/node.js'; +import { NodeFileSystem } from 'langium/node'; import { type JayveeServices, diff --git a/libs/language-server/src/lib/validation/checks/value-type-definition.spec.ts b/libs/language-server/src/lib/validation/checks/value-type-definition.spec.ts index e451e0538..e25199e56 100644 --- a/libs/language-server/src/lib/validation/checks/value-type-definition.spec.ts +++ b/libs/language-server/src/lib/validation/checks/value-type-definition.spec.ts @@ -7,7 +7,7 @@ import { type AstNodeLocator, type LangiumDocument, } from 'langium'; -import { NodeFileSystem } from 'langium/node.js'; +import { NodeFileSystem } from 'langium/node'; import { type JayveeServices, diff --git a/libs/language-server/src/lib/validation/checks/value-type-reference.spec.ts b/libs/language-server/src/lib/validation/checks/value-type-reference.spec.ts index 4830a66f5..1e153198f 100644 --- a/libs/language-server/src/lib/validation/checks/value-type-reference.spec.ts +++ b/libs/language-server/src/lib/validation/checks/value-type-reference.spec.ts @@ -9,7 +9,7 @@ import { type AstNodeLocator, type LangiumDocument, } from 'langium'; -import { NodeFileSystem } from 'langium/node.js'; +import { NodeFileSystem } from 'langium/node'; import { type JayveeServices, diff --git a/libs/language-server/src/lib/validation/docs-constraint-examples.spec.ts b/libs/language-server/src/lib/validation/docs-constraint-examples.spec.ts index 1b83dbe9c..62f0473cf 100644 --- a/libs/language-server/src/lib/validation/docs-constraint-examples.spec.ts +++ b/libs/language-server/src/lib/validation/docs-constraint-examples.spec.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import { NodeFileSystem } from 'langium/node.js'; +import { NodeFileSystem } from 'langium/node'; import { validationHelper } from '../../test/langium-utils'; import { getAllBuiltinConstraintTypes } from '../ast'; diff --git a/libs/language-server/src/lib/validation/validation-registry.ts b/libs/language-server/src/lib/validation/validation-registry.ts index 71dfd37ce..cb8741a84 100644 --- a/libs/language-server/src/lib/validation/validation-registry.ts +++ b/libs/language-server/src/lib/validation/validation-registry.ts @@ -87,7 +87,10 @@ export class JayveeValidationRegistry extends ValidationRegistry { this.valueTypeProvider, ); - this.doRegister(type, this.wrapValidationException(wrappedCheck, this)); + this.addEntry(type, { + category: 'fast', // TODO: figure out what category fits here + check: this.wrapValidationException(wrappedCheck, this), + }); } } diff --git a/libs/language-server/src/lib/validation/validation-utils.spec.ts b/libs/language-server/src/lib/validation/validation-utils.spec.ts index d2088bc7d..ae68f18f9 100644 --- a/libs/language-server/src/lib/validation/validation-utils.spec.ts +++ b/libs/language-server/src/lib/validation/validation-utils.spec.ts @@ -7,7 +7,7 @@ import { type AstNodeLocator, type LangiumDocument, } from 'langium'; -import { NodeFileSystem } from 'langium/node.js'; +import { NodeFileSystem } from 'langium/node'; import { DefaultOperatorEvaluatorRegistry, diff --git a/libs/language-server/src/test/langium-utils.ts b/libs/language-server/src/test/langium-utils.ts index 4673aa1f7..34b17f6dc 100644 --- a/libs/language-server/src/test/langium-utils.ts +++ b/libs/language-server/src/test/langium-utils.ts @@ -6,12 +6,8 @@ * The content of this file was copied from the official langium github repo * https://github.com/langium/langium/blob/main/packages/langium/src/test/langium-test.ts */ -import { - type AstNode, - type BuildOptions, - type LangiumDocument, - type LangiumServices, -} from 'langium'; +import { type AstNode, type BuildOptions, type LangiumDocument } from 'langium'; +import { type LangiumServices } from 'langium/lsp'; import { type Diagnostic } from 'vscode-languageserver'; import { URI } from 'vscode-uri'; // direct import as work around for issues bundling as commonjs (vs-code-plugin) and esm (interpreter) @@ -57,7 +53,7 @@ export function validationHelper( ): (input: string) => Promise> { const parse = parseHelper(services); return async (input) => { - const document = await parse(input, { validationChecks: 'all' }); + const document = await parse(input, { validation: true }); return { document, diagnostics: document.diagnostics ?? [] }; }; } diff --git a/package-lock.json b/package-lock.json index 31c0995cc..179b902e5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -22,7 +22,7 @@ "fp-ts": "^2.16.5", "gtfs-realtime-bindings": "^1.1.1", "jszip": "^3.10.1", - "langium": "^1.3.0", + "langium": "^3.0.0", "mime-types": "^2.1.35", "monaco-editor": "^0.34.1", "monaco-languageclient": "^4.0.3", @@ -32,8 +32,8 @@ "react-dom": "18.2.0", "sqlite3": "^5.1.5", "tslib": "^2.3.0", - "vscode-languageclient": "^8.0.2", - "vscode-languageserver": "^8.0.2", + "vscode-languageclient": "^9.0.1", + "vscode-languageserver": "^9.0.1", "vscode-languageserver-protocol": "^3.17.2", "vscode-uri": "^3.0.8" }, @@ -76,7 +76,7 @@ "eslint-plugin-react-hooks": "^4.6.0", "jest": "29.4.3", "jest-environment-jsdom": "29.4.3", - "langium-cli": "^1.3.0", + "langium-cli": "^3.0.0", "nock": "13.3.1", "nx": "18.0.1", "prettier": "^2.8.7", @@ -2408,33 +2408,38 @@ "integrity": "sha512-Tbsj02wXCbqGmzdnXNk0SOF19ChhRU70BsroIi4Pm6Ehp56in6vch94mfbdQ17DozxkL3BAVjbZ4Qc1a0HFRAg==" }, "node_modules/@chevrotain/cst-dts-gen": { - "version": "10.4.2", - "resolved": "https://registry.npmjs.org/@chevrotain/cst-dts-gen/-/cst-dts-gen-10.4.2.tgz", - "integrity": "sha512-0+4bNjlndNWMoVLH/+y4uHnf6GrTipsC+YTppJxelVJo+xeRVQ0s2PpkdDCVTsu7efyj+8r1gFiwVXsp6JZ0iQ==", + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/@chevrotain/cst-dts-gen/-/cst-dts-gen-11.0.3.tgz", + "integrity": "sha512-BvIKpRLeS/8UbfxXxgC33xOumsacaeCKAjAeLyOn7Pcp95HiRbrpl14S+9vaZLolnbssPIUuiUd8IvgkRyt6NQ==", "dependencies": { - "@chevrotain/gast": "10.4.2", - "@chevrotain/types": "10.4.2", - "lodash": "4.17.21" + "@chevrotain/gast": "11.0.3", + "@chevrotain/types": "11.0.3", + "lodash-es": "4.17.21" } }, "node_modules/@chevrotain/gast": { - "version": "10.4.2", - "resolved": "https://registry.npmjs.org/@chevrotain/gast/-/gast-10.4.2.tgz", - "integrity": "sha512-4ZAn8/mjkmYonilSJ60gGj1tAF0cVWYUMlIGA0e4ATAc3a648aCnvpBw7zlPHDQjFp50XC13iyWEgWAKiRKTOA==", + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/@chevrotain/gast/-/gast-11.0.3.tgz", + "integrity": "sha512-+qNfcoNk70PyS/uxmj3li5NiECO+2YKZZQMbmjTqRI3Qchu8Hig/Q9vgkHpI3alNjr7M+a2St5pw5w5F6NL5/Q==", "dependencies": { - "@chevrotain/types": "10.4.2", - "lodash": "4.17.21" + "@chevrotain/types": "11.0.3", + "lodash-es": "4.17.21" } }, + "node_modules/@chevrotain/regexp-to-ast": { + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/@chevrotain/regexp-to-ast/-/regexp-to-ast-11.0.3.tgz", + "integrity": "sha512-1fMHaBZxLFvWI067AVbGJav1eRY7N8DDvYCTwGBiE/ytKBgP8azTdgyrKyWZ9Mfh09eHWb5PgTSO8wi7U824RA==" + }, "node_modules/@chevrotain/types": { - "version": "10.4.2", - "resolved": "https://registry.npmjs.org/@chevrotain/types/-/types-10.4.2.tgz", - "integrity": "sha512-QzSCjg6G4MvIoLeIgOiMR0IgzkGEQqrNJJIr3T5ETRa7l4Av4AMIiEctV99mvDr57iXwwk0/kr3RJxiU36Nevw==" + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/@chevrotain/types/-/types-11.0.3.tgz", + "integrity": "sha512-gsiM3G8b58kZC2HaWR50gu6Y1440cHiJ+i3JUvcp/35JchYejb2+5MVeJK0iKThYpAa/P2PYFV4hoi44HD+aHQ==" }, "node_modules/@chevrotain/utils": { - "version": "10.4.2", - "resolved": "https://registry.npmjs.org/@chevrotain/utils/-/utils-10.4.2.tgz", - "integrity": "sha512-V34dacxWLwKcvcy32dx96ADJVdB7kOJLm7LyBkBQw5u5HC9WdEFw2G17zml+U3ivavGTrGPJHl8o9/UJm0PlUw==" + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/@chevrotain/utils/-/utils-11.0.3.tgz", + "integrity": "sha512-YslZMgtJUyuMbZ+aKvfF3x1f5liK4mWNxghFRv7jqRR9C3R3fAOGTTKvxXDa2Y1s9zSbcpuO0cAxDYsc9SrXoQ==" }, "node_modules/@colors/colors": { "version": "1.5.0", @@ -10319,25 +10324,27 @@ } }, "node_modules/chevrotain": { - "version": "10.4.2", - "resolved": "https://registry.npmjs.org/chevrotain/-/chevrotain-10.4.2.tgz", - "integrity": "sha512-gzF5GxE0Ckti5kZVuKEZycLntB5X2aj9RVY0r4/220GwQjdnljU+/t3kP74/FMWC7IzCDDEjQ9wsFUf0WCdSHg==", + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/chevrotain/-/chevrotain-11.0.3.tgz", + "integrity": "sha512-ci2iJH6LeIkvP9eJW6gpueU8cnZhv85ELY8w8WiFtNjMHA5ad6pQLaJo9mEly/9qUyCpvqX8/POVUTf18/HFdw==", "dependencies": { - "@chevrotain/cst-dts-gen": "10.4.2", - "@chevrotain/gast": "10.4.2", - "@chevrotain/types": "10.4.2", - "@chevrotain/utils": "10.4.2", - "lodash": "4.17.21", - "regexp-to-ast": "0.5.0" + "@chevrotain/cst-dts-gen": "11.0.3", + "@chevrotain/gast": "11.0.3", + "@chevrotain/regexp-to-ast": "11.0.3", + "@chevrotain/types": "11.0.3", + "@chevrotain/utils": "11.0.3", + "lodash-es": "4.17.21" } }, "node_modules/chevrotain-allstar": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/chevrotain-allstar/-/chevrotain-allstar-0.1.4.tgz", - "integrity": "sha512-gr5PNT8keiOTt19r+XkRY19unZw7rUE/erXgfFMEJnk1ZTuiVGWREfzVPSlz9u6DxbR0zJ9NQzdQS0a/3SVKFw==", + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/chevrotain-allstar/-/chevrotain-allstar-0.3.1.tgz", + "integrity": "sha512-b7g+y9A0v4mxCW1qUhf3BSVPg+/NvGErk/dOkrDaHA0nQIQGAtrOjlX//9OQtRlSCy+x9rfB5N8yC71lH1nvMw==", "dependencies": { - "chevrotain": "^10.4.1", - "lodash": "^4.17.21" + "lodash-es": "^4.17.21" + }, + "peerDependencies": { + "chevrotain": "^11.0.0" } }, "node_modules/chokidar": { @@ -17929,48 +17936,60 @@ } }, "node_modules/langium": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/langium/-/langium-1.3.1.tgz", - "integrity": "sha512-xC+DnAunl6cZIgYjRpgm3s1kYAB5/Wycsj24iYaXG9uai7SgvMaFZSrRvdA5rUK/lSta/CRvgF+ZFoEKEOFJ5w==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/langium/-/langium-3.0.0.tgz", + "integrity": "sha512-+Ez9EoiByeoTu/2BXmEaZ06iPNXM6thWJp02KfBO/raSMyCJ4jw7AkWWa+zBCTm0+Tw1Fj9FOxdqSskyN5nAwg==", "dependencies": { - "chevrotain": "~10.4.2", - "chevrotain-allstar": "~0.1.4", - "vscode-languageserver": "~8.0.2", - "vscode-languageserver-textdocument": "~1.0.8", - "vscode-uri": "~3.0.7" + "chevrotain": "~11.0.3", + "chevrotain-allstar": "~0.3.0", + "vscode-languageserver": "~9.0.1", + "vscode-languageserver-textdocument": "~1.0.11", + "vscode-uri": "~3.0.8" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.0.0" } }, "node_modules/langium-cli": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/langium-cli/-/langium-cli-1.3.1.tgz", - "integrity": "sha512-9faKpioKCjBD0Z4y165+wQlDFiDHOXYBlhPVgbV+neSnSB70belZLNfykAVa564360h7Br/5PogR5jW2n/tOKw==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/langium-cli/-/langium-cli-3.0.3.tgz", + "integrity": "sha512-g6PdhEq5IiYWK/oiySILglPvFdK6ofQdzC+U7PJmFH++bDKu0DGdxjWzDauUN5WUDyVQETWKgtYDmmbcxPzN0w==", "dev": true, "dependencies": { - "chalk": "~4.1.2", - "commander": "~10.0.0", - "fs-extra": "~11.1.0", + "chalk": "~5.3.0", + "commander": "~11.0.0", + "fs-extra": "~11.1.1", "jsonschema": "~1.4.1", - "langium": "~1.3.0", - "langium-railroad": "~1.3.0", + "langium": "~3.0.0", + "langium-railroad": "~3.0.0", "lodash": "~4.17.21" }, "bin": { "langium": "bin/langium.js" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.0.0" + } + }, + "node_modules/langium-cli/node_modules/chalk": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", + "dev": true, + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, "node_modules/langium-cli/node_modules/commander": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", - "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-11.0.0.tgz", + "integrity": "sha512-9HMlXtt/BNoYr8ooyjjNRdIilOTkVJXB+GhxMTtOKwk0R4j4lS4NpjuqmRxroBfnfTSHQIHQB7wryHhXarNjmQ==", "dev": true, "engines": { - "node": ">=14" + "node": ">=16" } }, "node_modules/langium-cli/node_modules/fs-extra": { @@ -17988,13 +18007,13 @@ } }, "node_modules/langium-railroad": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/langium-railroad/-/langium-railroad-1.3.0.tgz", - "integrity": "sha512-I3gx79iF+Qpn2UjzfHLf2GENAD9mPdSZHL3juAZLBsxznw4se7MBrJX32oPr/35DTjU9q99wFCQoCXu7mcf+Bg==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/langium-railroad/-/langium-railroad-3.0.0.tgz", + "integrity": "sha512-GQOnQBGl5gJqzgK/4bKvJO5QhJGNnprpYH6Fghbl4FviVLHwP6yzyqiouDelLSoCadChCr2JqKaBp5HXv7CgWw==", "dev": true, "dependencies": { - "langium": "~1.3.0", - "railroad-diagrams": "^1.0.0" + "langium": "~3.0.0", + "railroad-diagrams": "~1.0.0" } }, "node_modules/language-subtag-registry": { @@ -18982,6 +19001,33 @@ "vscode": ">= npm:@codingame/monaco-vscode-api@1.69.0 < npm:@codingame/monaco-vscode-api@1.70.0" } }, + "node_modules/monaco-languageclient/node_modules/semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/monaco-languageclient/node_modules/vscode-languageclient": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/vscode-languageclient/-/vscode-languageclient-8.0.2.tgz", + "integrity": "sha512-lHlthJtphG9gibGb/y72CKqQUxwPsMXijJVpHEC2bvbFqxmkj9LwQ3aGU9dwjBLqsX1S4KjShYppLvg1UJDF/Q==", + "dependencies": { + "minimatch": "^3.0.4", + "semver": "^7.3.5", + "vscode-languageserver-protocol": "3.17.2" + }, + "engines": { + "vscode": "^1.67.0" + } + }, "node_modules/mrmime": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-1.0.1.tgz", @@ -22402,11 +22448,6 @@ "@babel/runtime": "^7.8.4" } }, - "node_modules/regexp-to-ast": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/regexp-to-ast/-/regexp-to-ast-0.5.0.tgz", - "integrity": "sha512-tlbJqcMHnPKI9zSrystikWKwHkBqu2a/Sgw01h3zFjvYrMxEDYHzzoMZnUrbIfpTFEsoRnnviOXNCzFiSc54Qw==" - }, "node_modules/regexp.prototype.flags": { "version": "1.4.3", "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", @@ -25793,16 +25834,35 @@ } }, "node_modules/vscode-languageclient": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/vscode-languageclient/-/vscode-languageclient-8.0.2.tgz", - "integrity": "sha512-lHlthJtphG9gibGb/y72CKqQUxwPsMXijJVpHEC2bvbFqxmkj9LwQ3aGU9dwjBLqsX1S4KjShYppLvg1UJDF/Q==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/vscode-languageclient/-/vscode-languageclient-9.0.1.tgz", + "integrity": "sha512-JZiimVdvimEuHh5olxhxkht09m3JzUGwggb5eRUkzzJhZ2KjCN0nh55VfiED9oez9DyF8/fz1g1iBV3h+0Z2EA==", "dependencies": { - "minimatch": "^3.0.4", - "semver": "^7.3.5", - "vscode-languageserver-protocol": "3.17.2" + "minimatch": "^5.1.0", + "semver": "^7.3.7", + "vscode-languageserver-protocol": "3.17.5" }, "engines": { - "vscode": "^1.67.0" + "vscode": "^1.82.0" + } + }, + "node_modules/vscode-languageclient/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/vscode-languageclient/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" } }, "node_modules/vscode-languageclient/node_modules/semver": { @@ -25819,12 +25879,34 @@ "node": ">=10" } }, + "node_modules/vscode-languageclient/node_modules/vscode-jsonrpc": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-8.2.0.tgz", + "integrity": "sha512-C+r0eKJUIfiDIfwJhria30+TYWPtuHJXHtI7J0YlOmKAo7ogxP20T0zxB7HZQIFhIyvoBPwWskjxrvAtfjyZfA==", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/vscode-languageclient/node_modules/vscode-languageserver-protocol": { + "version": "3.17.5", + "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.5.tgz", + "integrity": "sha512-mb1bvRJN8SVznADSGWM9u/b07H7Ecg0I3OgXDuLdn307rl/J3A9YD6/eYOssqhecL27hK1IPZAsaqh00i/Jljg==", + "dependencies": { + "vscode-jsonrpc": "8.2.0", + "vscode-languageserver-types": "3.17.5" + } + }, + "node_modules/vscode-languageclient/node_modules/vscode-languageserver-types": { + "version": "3.17.5", + "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.5.tgz", + "integrity": "sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg==" + }, "node_modules/vscode-languageserver": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-8.0.2.tgz", - "integrity": "sha512-bpEt2ggPxKzsAOZlXmCJ50bV7VrxwCS5BI4+egUmure/oI/t4OlFzi/YNtVvY24A2UDOZAgwFGgnZPwqSJubkA==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-9.0.1.tgz", + "integrity": "sha512-woByF3PDpkHFUreUa7Hos7+pUWdeWMXRd26+ZX2A8cFx6v/JPTtd4/uN0/jB6XQHYaOlHbio03NTHCqrgG5n7g==", "dependencies": { - "vscode-languageserver-protocol": "3.17.2" + "vscode-languageserver-protocol": "3.17.5" }, "bin": { "installServerIntoExtension": "bin/installServerIntoExtension" @@ -25840,15 +25922,37 @@ } }, "node_modules/vscode-languageserver-textdocument": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.8.tgz", - "integrity": "sha512-1bonkGqQs5/fxGT5UchTgjGVnfysL0O8v1AYMBjqTbWQTFn721zaPGDYFkOKtfDgFiSgXM3KwaG3FMGfW4Ed9Q==" + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.11.tgz", + "integrity": "sha512-X+8T3GoiwTVlJbicx/sIAF+yuJAqz8VvwJyoMVhwEMoEKE/fkDmrqUgDMyBECcM2A2frVZIUj5HI/ErRXCfOeA==" }, "node_modules/vscode-languageserver-types": { "version": "3.17.2", "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.2.tgz", "integrity": "sha512-zHhCWatviizPIq9B7Vh9uvrH6x3sK8itC84HkamnBWoDFJtzBf7SWlpLCZUit72b3os45h6RWQNC9xHRDF8dRA==" }, + "node_modules/vscode-languageserver/node_modules/vscode-jsonrpc": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-8.2.0.tgz", + "integrity": "sha512-C+r0eKJUIfiDIfwJhria30+TYWPtuHJXHtI7J0YlOmKAo7ogxP20T0zxB7HZQIFhIyvoBPwWskjxrvAtfjyZfA==", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/vscode-languageserver/node_modules/vscode-languageserver-protocol": { + "version": "3.17.5", + "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.5.tgz", + "integrity": "sha512-mb1bvRJN8SVznADSGWM9u/b07H7Ecg0I3OgXDuLdn307rl/J3A9YD6/eYOssqhecL27hK1IPZAsaqh00i/Jljg==", + "dependencies": { + "vscode-jsonrpc": "8.2.0", + "vscode-languageserver-types": "3.17.5" + } + }, + "node_modules/vscode-languageserver/node_modules/vscode-languageserver-types": { + "version": "3.17.5", + "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.5.tgz", + "integrity": "sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg==" + }, "node_modules/vscode-uri": { "version": "3.0.8", "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.0.8.tgz", @@ -28374,33 +28478,38 @@ "integrity": "sha512-Tbsj02wXCbqGmzdnXNk0SOF19ChhRU70BsroIi4Pm6Ehp56in6vch94mfbdQ17DozxkL3BAVjbZ4Qc1a0HFRAg==" }, "@chevrotain/cst-dts-gen": { - "version": "10.4.2", - "resolved": "https://registry.npmjs.org/@chevrotain/cst-dts-gen/-/cst-dts-gen-10.4.2.tgz", - "integrity": "sha512-0+4bNjlndNWMoVLH/+y4uHnf6GrTipsC+YTppJxelVJo+xeRVQ0s2PpkdDCVTsu7efyj+8r1gFiwVXsp6JZ0iQ==", + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/@chevrotain/cst-dts-gen/-/cst-dts-gen-11.0.3.tgz", + "integrity": "sha512-BvIKpRLeS/8UbfxXxgC33xOumsacaeCKAjAeLyOn7Pcp95HiRbrpl14S+9vaZLolnbssPIUuiUd8IvgkRyt6NQ==", "requires": { - "@chevrotain/gast": "10.4.2", - "@chevrotain/types": "10.4.2", - "lodash": "4.17.21" + "@chevrotain/gast": "11.0.3", + "@chevrotain/types": "11.0.3", + "lodash-es": "4.17.21" } }, "@chevrotain/gast": { - "version": "10.4.2", - "resolved": "https://registry.npmjs.org/@chevrotain/gast/-/gast-10.4.2.tgz", - "integrity": "sha512-4ZAn8/mjkmYonilSJ60gGj1tAF0cVWYUMlIGA0e4ATAc3a648aCnvpBw7zlPHDQjFp50XC13iyWEgWAKiRKTOA==", + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/@chevrotain/gast/-/gast-11.0.3.tgz", + "integrity": "sha512-+qNfcoNk70PyS/uxmj3li5NiECO+2YKZZQMbmjTqRI3Qchu8Hig/Q9vgkHpI3alNjr7M+a2St5pw5w5F6NL5/Q==", "requires": { - "@chevrotain/types": "10.4.2", - "lodash": "4.17.21" + "@chevrotain/types": "11.0.3", + "lodash-es": "4.17.21" } }, + "@chevrotain/regexp-to-ast": { + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/@chevrotain/regexp-to-ast/-/regexp-to-ast-11.0.3.tgz", + "integrity": "sha512-1fMHaBZxLFvWI067AVbGJav1eRY7N8DDvYCTwGBiE/ytKBgP8azTdgyrKyWZ9Mfh09eHWb5PgTSO8wi7U824RA==" + }, "@chevrotain/types": { - "version": "10.4.2", - "resolved": "https://registry.npmjs.org/@chevrotain/types/-/types-10.4.2.tgz", - "integrity": "sha512-QzSCjg6G4MvIoLeIgOiMR0IgzkGEQqrNJJIr3T5ETRa7l4Av4AMIiEctV99mvDr57iXwwk0/kr3RJxiU36Nevw==" + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/@chevrotain/types/-/types-11.0.3.tgz", + "integrity": "sha512-gsiM3G8b58kZC2HaWR50gu6Y1440cHiJ+i3JUvcp/35JchYejb2+5MVeJK0iKThYpAa/P2PYFV4hoi44HD+aHQ==" }, "@chevrotain/utils": { - "version": "10.4.2", - "resolved": "https://registry.npmjs.org/@chevrotain/utils/-/utils-10.4.2.tgz", - "integrity": "sha512-V34dacxWLwKcvcy32dx96ADJVdB7kOJLm7LyBkBQw5u5HC9WdEFw2G17zml+U3ivavGTrGPJHl8o9/UJm0PlUw==" + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/@chevrotain/utils/-/utils-11.0.3.tgz", + "integrity": "sha512-YslZMgtJUyuMbZ+aKvfF3x1f5liK4mWNxghFRv7jqRR9C3R3fAOGTTKvxXDa2Y1s9zSbcpuO0cAxDYsc9SrXoQ==" }, "@colors/colors": { "version": "1.5.0", @@ -34088,25 +34197,24 @@ } }, "chevrotain": { - "version": "10.4.2", - "resolved": "https://registry.npmjs.org/chevrotain/-/chevrotain-10.4.2.tgz", - "integrity": "sha512-gzF5GxE0Ckti5kZVuKEZycLntB5X2aj9RVY0r4/220GwQjdnljU+/t3kP74/FMWC7IzCDDEjQ9wsFUf0WCdSHg==", + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/chevrotain/-/chevrotain-11.0.3.tgz", + "integrity": "sha512-ci2iJH6LeIkvP9eJW6gpueU8cnZhv85ELY8w8WiFtNjMHA5ad6pQLaJo9mEly/9qUyCpvqX8/POVUTf18/HFdw==", "requires": { - "@chevrotain/cst-dts-gen": "10.4.2", - "@chevrotain/gast": "10.4.2", - "@chevrotain/types": "10.4.2", - "@chevrotain/utils": "10.4.2", - "lodash": "4.17.21", - "regexp-to-ast": "0.5.0" + "@chevrotain/cst-dts-gen": "11.0.3", + "@chevrotain/gast": "11.0.3", + "@chevrotain/regexp-to-ast": "11.0.3", + "@chevrotain/types": "11.0.3", + "@chevrotain/utils": "11.0.3", + "lodash-es": "4.17.21" } }, "chevrotain-allstar": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/chevrotain-allstar/-/chevrotain-allstar-0.1.4.tgz", - "integrity": "sha512-gr5PNT8keiOTt19r+XkRY19unZw7rUE/erXgfFMEJnk1ZTuiVGWREfzVPSlz9u6DxbR0zJ9NQzdQS0a/3SVKFw==", + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/chevrotain-allstar/-/chevrotain-allstar-0.3.1.tgz", + "integrity": "sha512-b7g+y9A0v4mxCW1qUhf3BSVPg+/NvGErk/dOkrDaHA0nQIQGAtrOjlX//9OQtRlSCy+x9rfB5N8yC71lH1nvMw==", "requires": { - "chevrotain": "^10.4.1", - "lodash": "^4.17.21" + "lodash-es": "^4.17.21" } }, "chokidar": { @@ -39625,36 +39733,42 @@ "integrity": "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==" }, "langium": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/langium/-/langium-1.3.1.tgz", - "integrity": "sha512-xC+DnAunl6cZIgYjRpgm3s1kYAB5/Wycsj24iYaXG9uai7SgvMaFZSrRvdA5rUK/lSta/CRvgF+ZFoEKEOFJ5w==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/langium/-/langium-3.0.0.tgz", + "integrity": "sha512-+Ez9EoiByeoTu/2BXmEaZ06iPNXM6thWJp02KfBO/raSMyCJ4jw7AkWWa+zBCTm0+Tw1Fj9FOxdqSskyN5nAwg==", "requires": { - "chevrotain": "~10.4.2", - "chevrotain-allstar": "~0.1.4", - "vscode-languageserver": "~8.0.2", - "vscode-languageserver-textdocument": "~1.0.8", - "vscode-uri": "~3.0.7" + "chevrotain": "~11.0.3", + "chevrotain-allstar": "~0.3.0", + "vscode-languageserver": "~9.0.1", + "vscode-languageserver-textdocument": "~1.0.11", + "vscode-uri": "~3.0.8" } }, "langium-cli": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/langium-cli/-/langium-cli-1.3.1.tgz", - "integrity": "sha512-9faKpioKCjBD0Z4y165+wQlDFiDHOXYBlhPVgbV+neSnSB70belZLNfykAVa564360h7Br/5PogR5jW2n/tOKw==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/langium-cli/-/langium-cli-3.0.3.tgz", + "integrity": "sha512-g6PdhEq5IiYWK/oiySILglPvFdK6ofQdzC+U7PJmFH++bDKu0DGdxjWzDauUN5WUDyVQETWKgtYDmmbcxPzN0w==", "dev": true, "requires": { - "chalk": "~4.1.2", - "commander": "~10.0.0", - "fs-extra": "~11.1.0", + "chalk": "~5.3.0", + "commander": "~11.0.0", + "fs-extra": "~11.1.1", "jsonschema": "~1.4.1", - "langium": "~1.3.0", - "langium-railroad": "~1.3.0", + "langium": "~3.0.0", + "langium-railroad": "~3.0.0", "lodash": "~4.17.21" }, "dependencies": { + "chalk": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", + "dev": true + }, "commander": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", - "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-11.0.0.tgz", + "integrity": "sha512-9HMlXtt/BNoYr8ooyjjNRdIilOTkVJXB+GhxMTtOKwk0R4j4lS4NpjuqmRxroBfnfTSHQIHQB7wryHhXarNjmQ==", "dev": true }, "fs-extra": { @@ -39671,13 +39785,13 @@ } }, "langium-railroad": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/langium-railroad/-/langium-railroad-1.3.0.tgz", - "integrity": "sha512-I3gx79iF+Qpn2UjzfHLf2GENAD9mPdSZHL3juAZLBsxznw4se7MBrJX32oPr/35DTjU9q99wFCQoCXu7mcf+Bg==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/langium-railroad/-/langium-railroad-3.0.0.tgz", + "integrity": "sha512-GQOnQBGl5gJqzgK/4bKvJO5QhJGNnprpYH6Fghbl4FviVLHwP6yzyqiouDelLSoCadChCr2JqKaBp5HXv7CgWw==", "dev": true, "requires": { - "langium": "~1.3.0", - "railroad-diagrams": "^1.0.0" + "langium": "~3.0.0", + "railroad-diagrams": "~1.0.0" } }, "language-subtag-registry": { @@ -40449,6 +40563,26 @@ "vscode": "npm:@codingame/monaco-vscode-api@1.69.13", "vscode-jsonrpc": "8.0.2", "vscode-languageclient": "8.0.2" + }, + "dependencies": { + "semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "requires": { + "lru-cache": "^6.0.0" + } + }, + "vscode-languageclient": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/vscode-languageclient/-/vscode-languageclient-8.0.2.tgz", + "integrity": "sha512-lHlthJtphG9gibGb/y72CKqQUxwPsMXijJVpHEC2bvbFqxmkj9LwQ3aGU9dwjBLqsX1S4KjShYppLvg1UJDF/Q==", + "requires": { + "minimatch": "^3.0.4", + "semver": "^7.3.5", + "vscode-languageserver-protocol": "3.17.2" + } + } } }, "mrmime": { @@ -42888,11 +43022,6 @@ "@babel/runtime": "^7.8.4" } }, - "regexp-to-ast": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/regexp-to-ast/-/regexp-to-ast-0.5.0.tgz", - "integrity": "sha512-tlbJqcMHnPKI9zSrystikWKwHkBqu2a/Sgw01h3zFjvYrMxEDYHzzoMZnUrbIfpTFEsoRnnviOXNCzFiSc54Qw==" - }, "regexp.prototype.flags": { "version": "1.4.3", "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", @@ -45314,15 +45443,31 @@ "integrity": "sha512-RY7HwI/ydoC1Wwg4gJ3y6LpU9FJRZAUnTYMXthqhFXXu77ErDd/xkREpGuk4MyYkk4a+XDWAMqe0S3KkelYQEQ==" }, "vscode-languageclient": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/vscode-languageclient/-/vscode-languageclient-8.0.2.tgz", - "integrity": "sha512-lHlthJtphG9gibGb/y72CKqQUxwPsMXijJVpHEC2bvbFqxmkj9LwQ3aGU9dwjBLqsX1S4KjShYppLvg1UJDF/Q==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/vscode-languageclient/-/vscode-languageclient-9.0.1.tgz", + "integrity": "sha512-JZiimVdvimEuHh5olxhxkht09m3JzUGwggb5eRUkzzJhZ2KjCN0nh55VfiED9oez9DyF8/fz1g1iBV3h+0Z2EA==", "requires": { - "minimatch": "^3.0.4", - "semver": "^7.3.5", - "vscode-languageserver-protocol": "3.17.2" + "minimatch": "^5.1.0", + "semver": "^7.3.7", + "vscode-languageserver-protocol": "3.17.5" }, "dependencies": { + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "requires": { + "balanced-match": "^1.0.0" + } + }, + "minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "requires": { + "brace-expansion": "^2.0.1" + } + }, "semver": { "version": "7.3.8", "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", @@ -45330,15 +45475,55 @@ "requires": { "lru-cache": "^6.0.0" } + }, + "vscode-jsonrpc": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-8.2.0.tgz", + "integrity": "sha512-C+r0eKJUIfiDIfwJhria30+TYWPtuHJXHtI7J0YlOmKAo7ogxP20T0zxB7HZQIFhIyvoBPwWskjxrvAtfjyZfA==" + }, + "vscode-languageserver-protocol": { + "version": "3.17.5", + "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.5.tgz", + "integrity": "sha512-mb1bvRJN8SVznADSGWM9u/b07H7Ecg0I3OgXDuLdn307rl/J3A9YD6/eYOssqhecL27hK1IPZAsaqh00i/Jljg==", + "requires": { + "vscode-jsonrpc": "8.2.0", + "vscode-languageserver-types": "3.17.5" + } + }, + "vscode-languageserver-types": { + "version": "3.17.5", + "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.5.tgz", + "integrity": "sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg==" } } }, "vscode-languageserver": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-8.0.2.tgz", - "integrity": "sha512-bpEt2ggPxKzsAOZlXmCJ50bV7VrxwCS5BI4+egUmure/oI/t4OlFzi/YNtVvY24A2UDOZAgwFGgnZPwqSJubkA==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-9.0.1.tgz", + "integrity": "sha512-woByF3PDpkHFUreUa7Hos7+pUWdeWMXRd26+ZX2A8cFx6v/JPTtd4/uN0/jB6XQHYaOlHbio03NTHCqrgG5n7g==", "requires": { - "vscode-languageserver-protocol": "3.17.2" + "vscode-languageserver-protocol": "3.17.5" + }, + "dependencies": { + "vscode-jsonrpc": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-8.2.0.tgz", + "integrity": "sha512-C+r0eKJUIfiDIfwJhria30+TYWPtuHJXHtI7J0YlOmKAo7ogxP20T0zxB7HZQIFhIyvoBPwWskjxrvAtfjyZfA==" + }, + "vscode-languageserver-protocol": { + "version": "3.17.5", + "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.5.tgz", + "integrity": "sha512-mb1bvRJN8SVznADSGWM9u/b07H7Ecg0I3OgXDuLdn307rl/J3A9YD6/eYOssqhecL27hK1IPZAsaqh00i/Jljg==", + "requires": { + "vscode-jsonrpc": "8.2.0", + "vscode-languageserver-types": "3.17.5" + } + }, + "vscode-languageserver-types": { + "version": "3.17.5", + "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.5.tgz", + "integrity": "sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg==" + } } }, "vscode-languageserver-protocol": { @@ -45351,9 +45536,9 @@ } }, "vscode-languageserver-textdocument": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.8.tgz", - "integrity": "sha512-1bonkGqQs5/fxGT5UchTgjGVnfysL0O8v1AYMBjqTbWQTFn721zaPGDYFkOKtfDgFiSgXM3KwaG3FMGfW4Ed9Q==" + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.11.tgz", + "integrity": "sha512-X+8T3GoiwTVlJbicx/sIAF+yuJAqz8VvwJyoMVhwEMoEKE/fkDmrqUgDMyBECcM2A2frVZIUj5HI/ErRXCfOeA==" }, "vscode-languageserver-types": { "version": "3.17.2", diff --git a/package.json b/package.json index 68c8bf42b..a16049234 100644 --- a/package.json +++ b/package.json @@ -31,7 +31,7 @@ "fp-ts": "^2.16.5", "gtfs-realtime-bindings": "^1.1.1", "jszip": "^3.10.1", - "langium": "^1.3.0", + "langium": "^3.0.0", "mime-types": "^2.1.35", "monaco-editor": "^0.34.1", "monaco-languageclient": "^4.0.3", @@ -41,8 +41,8 @@ "react-dom": "18.2.0", "sqlite3": "^5.1.5", "tslib": "^2.3.0", - "vscode-languageclient": "^8.0.2", - "vscode-languageserver": "^8.0.2", + "vscode-languageclient": "^9.0.1", + "vscode-languageserver": "^9.0.1", "vscode-languageserver-protocol": "^3.17.2", "vscode-uri": "^3.0.8" }, @@ -85,7 +85,7 @@ "eslint-plugin-react-hooks": "^4.6.0", "jest": "29.4.3", "jest-environment-jsdom": "29.4.3", - "langium-cli": "^1.3.0", + "langium-cli": "^3.0.0", "nock": "13.3.1", "nx": "18.0.1", "prettier": "^2.8.7", From 3928f8e9fde3bb9c0cdfe590e05ae88a32408bb4 Mon Sep 17 00:00:00 2001 From: Georg Schwarz Date: Thu, 2 May 2024 17:33:35 +0200 Subject: [PATCH 10/38] Remove solved work around comments --- libs/extensions/std/exec/src/http-extractor-executor.ts | 2 +- libs/interpreter-lib/src/parsing-util.ts | 2 +- .../src/lib/builtin-library/jayvee-workspace-manager.ts | 2 +- libs/language-server/src/lib/validation/validation-registry.ts | 2 +- libs/language-server/src/test/langium-utils.ts | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/libs/extensions/std/exec/src/http-extractor-executor.ts b/libs/extensions/std/exec/src/http-extractor-executor.ts index 171eaf3a2..dc44a5402 100644 --- a/libs/extensions/std/exec/src/http-extractor-executor.ts +++ b/libs/extensions/std/exec/src/http-extractor-executor.ts @@ -22,7 +22,7 @@ import { } from '@jvalue/jayvee-execution'; import { IOType } from '@jvalue/jayvee-language-server'; import followRedirects from 'follow-redirects'; -import { type AstNode } from 'langium'; // work around import issue with ESM +import { type AstNode } from 'langium'; import { createBackoffStrategy, diff --git a/libs/interpreter-lib/src/parsing-util.ts b/libs/interpreter-lib/src/parsing-util.ts index 844c7797f..6711ba361 100644 --- a/libs/interpreter-lib/src/parsing-util.ts +++ b/libs/interpreter-lib/src/parsing-util.ts @@ -10,7 +10,7 @@ import { initializeWorkspace } from '@jvalue/jayvee-language-server'; import { type AstNode, type LangiumDocument } from 'langium'; import { type LangiumServices } from 'langium/lsp'; import { DiagnosticSeverity } from 'vscode-languageserver-protocol'; -import { URI } from 'vscode-uri'; // direct import as work around for issues bundling as commonjs (vs-code-plugin) and esm (interpreter) +import { URI } from 'vscode-uri'; export enum ExitCode { SUCCESS = 0, diff --git a/libs/language-server/src/lib/builtin-library/jayvee-workspace-manager.ts b/libs/language-server/src/lib/builtin-library/jayvee-workspace-manager.ts index 1b9b1b28e..f16f6cd5d 100644 --- a/libs/language-server/src/lib/builtin-library/jayvee-workspace-manager.ts +++ b/libs/language-server/src/lib/builtin-library/jayvee-workspace-manager.ts @@ -10,7 +10,7 @@ import { type LangiumSharedCoreServices, } from 'langium'; import { type WorkspaceFolder } from 'vscode-languageserver'; -import { URI } from 'vscode-uri'; // direct import as work around for issues bundling as commonjs (vs-code-plugin) and esm (interpreter) +import { URI } from 'vscode-uri'; import { getStdLib } from './stdlib'; diff --git a/libs/language-server/src/lib/validation/validation-registry.ts b/libs/language-server/src/lib/validation/validation-registry.ts index cb8741a84..50656bf08 100644 --- a/libs/language-server/src/lib/validation/validation-registry.ts +++ b/libs/language-server/src/lib/validation/validation-registry.ts @@ -88,7 +88,7 @@ export class JayveeValidationRegistry extends ValidationRegistry { ); this.addEntry(type, { - category: 'fast', // TODO: figure out what category fits here + category: 'fast', check: this.wrapValidationException(wrappedCheck, this), }); } diff --git a/libs/language-server/src/test/langium-utils.ts b/libs/language-server/src/test/langium-utils.ts index 34b17f6dc..1b2aa32d2 100644 --- a/libs/language-server/src/test/langium-utils.ts +++ b/libs/language-server/src/test/langium-utils.ts @@ -9,7 +9,7 @@ import { type AstNode, type BuildOptions, type LangiumDocument } from 'langium'; import { type LangiumServices } from 'langium/lsp'; import { type Diagnostic } from 'vscode-languageserver'; -import { URI } from 'vscode-uri'; // direct import as work around for issues bundling as commonjs (vs-code-plugin) and esm (interpreter) +import { URI } from 'vscode-uri'; import { initializeWorkspace } from '../lib/builtin-library/jayvee-workspace-manager'; From bd00ecbd302d3081add96a8897569c5cc43b000a Mon Sep 17 00:00:00 2001 From: Georg Schwarz Date: Fri, 3 May 2024 08:35:27 +0200 Subject: [PATCH 11/38] Separate docs-generator as standalone app to keep docs as commonjs --- .vscode/extensions.json | 3 +- apps/docs-generator/.eslintrc.json | 18 ++++++ apps/docs-generator/package.json | 3 + apps/docs-generator/project.json | 30 ++++++++++ apps/docs-generator/src/assets/.gitkeep | 0 .../generator => docs-generator}/src/main.ts | 58 +++++++------------ .../src/user-doc-generator.ts | 0 apps/docs-generator/tsconfig.app.json | 8 +++ apps/docs-generator/tsconfig.json | 13 +++++ apps/docs/jest.config.ts | 20 ------- apps/docs/project.json | 25 +------- apps/docs/tsconfig.app.json | 5 +- apps/docs/tsconfig.spec.json | 3 - apps/docs/webpack.config.js | 9 --- 14 files changed, 99 insertions(+), 96 deletions(-) create mode 100644 apps/docs-generator/.eslintrc.json create mode 100644 apps/docs-generator/package.json create mode 100644 apps/docs-generator/project.json create mode 100644 apps/docs-generator/src/assets/.gitkeep rename apps/{docs/generator => docs-generator}/src/main.ts (72%) rename apps/{docs/generator => docs-generator}/src/user-doc-generator.ts (100%) create mode 100644 apps/docs-generator/tsconfig.app.json create mode 100644 apps/docs-generator/tsconfig.json delete mode 100644 apps/docs/jest.config.ts delete mode 100644 apps/docs/webpack.config.js diff --git a/.vscode/extensions.json b/.vscode/extensions.json index b32a0181f..b259f78b3 100644 --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -2,6 +2,7 @@ "recommendations": [ "nrwl.angular-console", "langium.langium-vscode", - "firsttris.vscode-jest-runner" + "firsttris.vscode-jest-runner", + "esbenp.prettier-vscode" ] } diff --git a/apps/docs-generator/.eslintrc.json b/apps/docs-generator/.eslintrc.json new file mode 100644 index 000000000..9d9c0db55 --- /dev/null +++ b/apps/docs-generator/.eslintrc.json @@ -0,0 +1,18 @@ +{ + "extends": ["../../.eslintrc.json"], + "ignorePatterns": ["!**/*"], + "overrides": [ + { + "files": ["*.ts", "*.tsx", "*.js", "*.jsx"], + "rules": {} + }, + { + "files": ["*.ts", "*.tsx"], + "rules": {} + }, + { + "files": ["*.js", "*.jsx"], + "rules": {} + } + ] +} diff --git a/apps/docs-generator/package.json b/apps/docs-generator/package.json new file mode 100644 index 000000000..3dbc1ca59 --- /dev/null +++ b/apps/docs-generator/package.json @@ -0,0 +1,3 @@ +{ + "type": "module" +} diff --git a/apps/docs-generator/project.json b/apps/docs-generator/project.json new file mode 100644 index 000000000..e65ee3aa5 --- /dev/null +++ b/apps/docs-generator/project.json @@ -0,0 +1,30 @@ +{ + "name": "docs-generator", + "$schema": "../../node_modules/nx/schemas/project-schema.json", + "sourceRoot": "apps/docs-generator/src", + "projectType": "application", + "targets": { + "build": { + "dependsOn": ["generate-language-server"], + "options": { + "main": "{projectRoot}/src/main.ts", + "tsConfig": "{projectRoot}/tsconfig.app.json" + } + }, + "start": { + "executor": "@nx/js:node", + "options": { + "watch": false, + "buildTarget": "docs-generator:build" + } + }, + "generate-language-server": { + "executor": "nx:run-commands", + "options": { + "commands": ["nx run language-server:generate"], + "parallel": false + } + } + }, + "tags": [] +} diff --git a/apps/docs-generator/src/assets/.gitkeep b/apps/docs-generator/src/assets/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/apps/docs/generator/src/main.ts b/apps/docs-generator/src/main.ts similarity index 72% rename from apps/docs/generator/src/main.ts rename to apps/docs-generator/src/main.ts index b93afc3d9..a0a35cd68 100644 --- a/apps/docs/generator/src/main.ts +++ b/apps/docs-generator/src/main.ts @@ -2,8 +2,9 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import { readFileSync, readdirSync, writeFileSync } from 'fs'; -import { join } from 'path'; +import { readFileSync, readdirSync, writeFileSync } from 'node:fs'; +import path, { join } from 'node:path'; +import { fileURLToPath } from 'node:url'; import { type JayveeServices, @@ -16,35 +17,33 @@ import { NodeFileSystem } from 'langium/node'; import { UserDocGenerator } from './user-doc-generator'; +/** ESM does not know __filename and __dirname, so defined here */ +const __filename = fileURLToPath(import.meta.url); +const __dirname = path.dirname(__filename); + async function main(): Promise { - const rootPath = join(__dirname, '..', '..', '..', '..'); + const docsAppPath = join(__dirname, '..', '..', '..', 'apps', 'docs'); + const jayveeExamplesPath = join(__dirname, '..', '..', '..', 'example'); const services = createJayveeServices(NodeFileSystem).Jayvee; await initializeWorkspace(services); - generateBlockTypeDocs(services, rootPath); - generateConstraintTypeDocs(services, rootPath); - generateValueTypeDocs(services, rootPath); - generateExampleDocs(rootPath); + generateBlockTypeDocs(services, docsAppPath); + generateConstraintTypeDocs(services, docsAppPath); + generateValueTypeDocs(services, docsAppPath); + generateExampleDocs(jayveeExamplesPath, docsAppPath); } function generateBlockTypeDocs( services: JayveeServices, - rootPath: string, + docsAppPath: string, ): void { const blockTypes = getAllBuiltinBlockTypes( services.shared.workspace.LangiumDocuments, services.WrapperFactories, ); - const docsPath = join( - rootPath, - 'apps', - 'docs', - 'docs', - 'user', - 'block-types', - ); + const docsPath = join(docsAppPath, 'docs', 'user', 'block-types'); for (const blockType of blockTypes) { const userDocBuilder = new UserDocGenerator(services); @@ -60,16 +59,9 @@ function generateBlockTypeDocs( function generateConstraintTypeDocs( services: JayveeServices, - rootPath: string, + docsAppPath: string, ): void { - const docsPath = join( - rootPath, - 'apps', - 'docs', - 'docs', - 'user', - 'constraint-types', - ); + const docsPath = join(docsAppPath, 'docs', 'user', 'constraint-types'); const constraintTypes = getAllBuiltinConstraintTypes( services.shared.workspace.LangiumDocuments, services.WrapperFactories, @@ -90,16 +82,9 @@ function generateConstraintTypeDocs( function generateValueTypeDocs( services: JayveeServices, - rootPath: string, + docsAppPath: string, ): void { - const docsPath = join( - rootPath, - 'apps', - 'docs', - 'docs', - 'user', - 'value-types', - ); + const docsPath = join(docsAppPath, 'docs', 'user', 'value-types'); const userDocBuilder = new UserDocGenerator(services); const valueTypeDoc = userDocBuilder.generateValueTypesDoc( services.ValueTypeProvider.Primitives.getAll(), @@ -112,9 +97,8 @@ function generateValueTypeDocs( console.info(`Generated file ${fileName}`); } -function generateExampleDocs(rootPath: string): void { - const docsPath = join(rootPath, 'apps', 'docs', 'docs', 'user', 'examples'); - const examplesPath = join(rootPath, 'example'); +function generateExampleDocs(examplesPath: string, docsAppPath: string): void { + const docsPath = join(docsAppPath, 'docs', 'user', 'examples'); for (const file of readdirSync(examplesPath)) { if (file.endsWith('.jv')) { diff --git a/apps/docs/generator/src/user-doc-generator.ts b/apps/docs-generator/src/user-doc-generator.ts similarity index 100% rename from apps/docs/generator/src/user-doc-generator.ts rename to apps/docs-generator/src/user-doc-generator.ts diff --git a/apps/docs-generator/tsconfig.app.json b/apps/docs-generator/tsconfig.app.json new file mode 100644 index 000000000..33eb220a3 --- /dev/null +++ b/apps/docs-generator/tsconfig.app.json @@ -0,0 +1,8 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "types": ["node"] + }, + "exclude": ["jest.config.ts", "src/**/*.spec.ts", "src/**/*.test.ts"], + "include": ["src/**/*.ts"] +} diff --git a/apps/docs-generator/tsconfig.json b/apps/docs-generator/tsconfig.json new file mode 100644 index 000000000..3685ac7fc --- /dev/null +++ b/apps/docs-generator/tsconfig.json @@ -0,0 +1,13 @@ +{ + "extends": "../../tsconfig.base.json", + "files": [], + "include": [], + "references": [ + { + "path": "./tsconfig.app.json" + } + ], + "compilerOptions": { + "esModuleInterop": true + } +} diff --git a/apps/docs/jest.config.ts b/apps/docs/jest.config.ts deleted file mode 100644 index 1e9221ea8..000000000 --- a/apps/docs/jest.config.ts +++ /dev/null @@ -1,20 +0,0 @@ -// SPDX-FileCopyrightText: 2023 Friedrich-Alexander-Universitat Erlangen-Nurnberg -// -// SPDX-License-Identifier: AGPL-3.0-only - -export default { - displayName: 'docs-generator', - preset: '../../jest.preset.js', - globals: {}, - testEnvironment: 'node', - transform: { - '^.+\\.[tj]s$': [ - 'ts-jest', - { - tsconfig: '/tsconfig.spec.json', - }, - ], - }, - moduleFileExtensions: ['ts', 'js', 'html'], - coverageDirectory: '../../coverage/apps/docs-generator', -}; diff --git a/apps/docs/project.json b/apps/docs/project.json index 9e382c1fd..3f65d2292 100644 --- a/apps/docs/project.json +++ b/apps/docs/project.json @@ -18,32 +18,11 @@ }, "dependsOn": ["generate"] }, - "build-generator": { - "executor": "@nx/webpack:webpack", - "outputs": ["{options.outputPath}"], - "options": { - "target": "node", - "compiler": "tsc", - "outputPath": "dist/apps/docs/generator", - "main": "apps/docs/generator/src/main.ts", - "tsConfig": "apps/docs/tsconfig.json", - "webpackConfig": "apps/docs/webpack.config.js" - }, - "dependsOn": ["prepare-generator"] - }, - "prepare-generator": { - "executor": "nx:run-commands", - "options": { - "commands": ["nx run language-server:generate"], - "parallel": false - } - }, "generate": { "executor": "nx:run-commands", "options": { - "command": "node dist/apps/docs/generator/main.js" - }, - "dependsOn": ["build-generator"] + "command": "npx nx start docs-generator" + } }, "lint": { "executor": "@nx/eslint:lint", diff --git a/apps/docs/tsconfig.app.json b/apps/docs/tsconfig.app.json index 39798c9eb..5ddb870a8 100644 --- a/apps/docs/tsconfig.app.json +++ b/apps/docs/tsconfig.app.json @@ -2,14 +2,13 @@ "extends": "./tsconfig.json", "compilerOptions": { "jsx": "react", - "outDir": "../../dist/out-tsc", "types": ["node"], "lib": ["DOM", "ESNext"], "esModuleInterop": true, "skipLibCheck": false, }, - "exclude": ["jest.config.ts", "src/**/*.spec.ts", "src/**/*.test.ts", "generator/src/**/*.spec.ts", "generator/src/**/*.test.ts"], - "include": ["src/**/*.ts", "generator/src/**/*.ts", "src/**/*.tsx"], + "exclude": ["jest.config.ts", "src/**/*.spec.ts", "src/**/*.test.ts"], + "include": ["src/**/*.ts", "src/**/*.tsx"], "types": [ "node", "@docusaurus/module-type-aliases", diff --git a/apps/docs/tsconfig.spec.json b/apps/docs/tsconfig.spec.json index a18954201..d41aea47f 100644 --- a/apps/docs/tsconfig.spec.json +++ b/apps/docs/tsconfig.spec.json @@ -9,8 +9,5 @@ "src/**/*.test.ts", "src/**/*.spec.ts", "src/**/*.d.ts" - "generator/src/**/*.test.ts", - "generator/src/**/*.spec.ts", - "generator/src/**/*.d.ts" ] } diff --git a/apps/docs/webpack.config.js b/apps/docs/webpack.config.js deleted file mode 100644 index bdfcb75fa..000000000 --- a/apps/docs/webpack.config.js +++ /dev/null @@ -1,9 +0,0 @@ -// SPDX-FileCopyrightText: 2023 Friedrich-Alexander-Universitat Erlangen-Nurnberg -// -// SPDX-License-Identifier: AGPL-3.0-only - -const { composePlugins, withNx } = require('@nx/webpack'); - -module.exports = composePlugins(withNx(), (config) => { - return config; -}); From 46ed68b7215ae182da481a1c846561b80bfdb601 Mon Sep 17 00:00:00 2001 From: Georg Schwarz Date: Fri, 3 May 2024 08:55:20 +0200 Subject: [PATCH 12/38] Fix build of web-worker --- .../language-server-web-worker/jest.config.ts | 20 ----------- apps/language-server-web-worker/project.json | 34 ++++--------------- apps/language-server-web-worker/src/main.ts | 2 +- .../tsconfig.spec.json | 13 ------- .../tsconfig.spec.json.license | 3 -- .../webpack.config.js | 9 ----- 6 files changed, 7 insertions(+), 74 deletions(-) delete mode 100644 apps/language-server-web-worker/jest.config.ts delete mode 100644 apps/language-server-web-worker/tsconfig.spec.json delete mode 100644 apps/language-server-web-worker/tsconfig.spec.json.license delete mode 100644 apps/language-server-web-worker/webpack.config.js diff --git a/apps/language-server-web-worker/jest.config.ts b/apps/language-server-web-worker/jest.config.ts deleted file mode 100644 index 2c4527571..000000000 --- a/apps/language-server-web-worker/jest.config.ts +++ /dev/null @@ -1,20 +0,0 @@ -// SPDX-FileCopyrightText: 2023 Friedrich-Alexander-Universitat Erlangen-Nurnberg -// -// SPDX-License-Identifier: AGPL-3.0-only - -export default { - displayName: 'language-server-web', - preset: '../../jest.preset.js', - globals: {}, - testEnvironment: 'node', - transform: { - '^.+\\.[tj]s$': [ - 'ts-jest', - { - tsconfig: '/tsconfig.spec.json', - }, - ], - }, - moduleFileExtensions: ['ts', 'js', 'html'], - coverageDirectory: '../../coverage/apps/language-server-web', -}; diff --git a/apps/language-server-web-worker/project.json b/apps/language-server-web-worker/project.json index 2f0f3abe6..26554814b 100644 --- a/apps/language-server-web-worker/project.json +++ b/apps/language-server-web-worker/project.json @@ -5,47 +5,25 @@ "projectType": "application", "targets": { "build": { - "executor": "@nx/webpack:webpack", - "outputs": ["{options.outputPath}"], "options": { - "outputPath": "dist/apps/language-server-web-worker", - "main": "apps/language-server-web-worker/src/main.ts", - "tsConfig": "apps/language-server-web-worker/tsconfig.app.json", - "webpackConfig": "apps/language-server-web-worker/webpack.config.js", - "target": "web", - "runtimeChunk": false, + "main": "{projectRoot}/src/main.ts", + "tsConfig": "{projectRoot}/tsconfig.app.json", + "generatePackageJson": true, + "platform": "browser", "vendorChunk": false, - "externalDependencies": "none", - "generatePackageJson": true - }, - "configurations": { - "dev": {}, - "prod": {} - }, - "defaultConfiguration": "dev" + "runtimeChunk": false + } }, "serve": { "executor": "@nx/js:node", "options": { "buildTarget": "language-server-web-worker:build" - }, - "configurations": { - "production": { - "buildTarget": "language-server-web-worker:build:production" - } } }, "lint": { "executor": "@nx/eslint:lint", "outputs": ["{options.outputFile}"] }, - "test": { - "executor": "@nx/jest:jest", - "outputs": ["{workspaceRoot}/coverage/{projectRoot}"], - "options": { - "jestConfig": "apps/language-server-web-worker/jest.config.ts" - } - }, "pre-publish": { "executor": "nx:run-commands", "dependsOn": ["build"], diff --git a/apps/language-server-web-worker/src/main.ts b/apps/language-server-web-worker/src/main.ts index 214c8a0eb..641e6aa77 100644 --- a/apps/language-server-web-worker/src/main.ts +++ b/apps/language-server-web-worker/src/main.ts @@ -9,7 +9,7 @@ import { BrowserMessageReader, BrowserMessageWriter, createConnection, -} from 'vscode-languageserver/browser.js'; +} from 'vscode-languageserver/lib/browser/main.js'; declare const self: DedicatedWorkerGlobalScope; diff --git a/apps/language-server-web-worker/tsconfig.spec.json b/apps/language-server-web-worker/tsconfig.spec.json deleted file mode 100644 index d41aea47f..000000000 --- a/apps/language-server-web-worker/tsconfig.spec.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "extends": "./tsconfig.json", - "compilerOptions": { - "outDir": "../../dist/out-tsc", - "types": ["jest", "node"] - }, - "include": [ - "jest.config.ts", - "src/**/*.test.ts", - "src/**/*.spec.ts", - "src/**/*.d.ts" - ] -} diff --git a/apps/language-server-web-worker/tsconfig.spec.json.license b/apps/language-server-web-worker/tsconfig.spec.json.license deleted file mode 100644 index 17c5d2bad..000000000 --- a/apps/language-server-web-worker/tsconfig.spec.json.license +++ /dev/null @@ -1,3 +0,0 @@ -SPDX-FileCopyrightText: 2023 Friedrich-Alexander-Universitat Erlangen-Nurnberg - -SPDX-License-Identifier: AGPL-3.0-only diff --git a/apps/language-server-web-worker/webpack.config.js b/apps/language-server-web-worker/webpack.config.js deleted file mode 100644 index bdfcb75fa..000000000 --- a/apps/language-server-web-worker/webpack.config.js +++ /dev/null @@ -1,9 +0,0 @@ -// SPDX-FileCopyrightText: 2023 Friedrich-Alexander-Universitat Erlangen-Nurnberg -// -// SPDX-License-Identifier: AGPL-3.0-only - -const { composePlugins, withNx } = require('@nx/webpack'); - -module.exports = composePlugins(withNx(), (config) => { - return config; -}); From b491022fcde370a0fa0f5f047562e1ebf7ab7c65 Mon Sep 17 00:00:00 2001 From: Georg Schwarz Date: Fri, 3 May 2024 09:24:55 +0200 Subject: [PATCH 13/38] Fix linter errors in tests --- apps/interpreter/src/examples-smoke-test.spec.ts | 2 +- libs/extensions/std/exec/src/http-extractor-executor.spec.ts | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/interpreter/src/examples-smoke-test.spec.ts b/apps/interpreter/src/examples-smoke-test.spec.ts index 43532847a..c079582b7 100644 --- a/apps/interpreter/src/examples-smoke-test.spec.ts +++ b/apps/interpreter/src/examples-smoke-test.spec.ts @@ -15,7 +15,7 @@ import { initializeWorkspace, } from '@jvalue/jayvee-language-server'; import { NodeFileSystem } from 'langium/node'; -import * as nock from 'nock'; +import nock from 'nock'; import { runAction } from './run-action'; diff --git a/libs/extensions/std/exec/src/http-extractor-executor.spec.ts b/libs/extensions/std/exec/src/http-extractor-executor.spec.ts index a28de076a..9f50d19c7 100644 --- a/libs/extensions/std/exec/src/http-extractor-executor.spec.ts +++ b/libs/extensions/std/exec/src/http-extractor-executor.spec.ts @@ -25,7 +25,7 @@ import { type LangiumDocument, } from 'langium'; import { NodeFileSystem } from 'langium/node'; -import * as nock from 'nock'; +import nock from 'nock'; import { HttpExtractorExecutor } from './http-extractor-executor'; @@ -46,7 +46,7 @@ describe('Validation of HttpExtractorExecutor', () => { async function parseAndExecuteExecutor( input: string, ): Promise> { - const document = await parse(input, { validationChecks: 'all' }); + const document = await parse(input, { validation: true }); expectNoParserAndLexerErrors(document); const block = locator.getAstNode( From 0a1ebf8f8886380401537cb4315ed34c599bfbf9 Mon Sep 17 00:00:00 2001 From: Georg Schwarz Date: Fri, 3 May 2024 09:40:48 +0200 Subject: [PATCH 14/38] Add global setup for vitest --- nx.json | 1 - package-lock.json | 5524 +++++++++++++++++++++++++++++++++++++++---- package.json | 14 +- vitest.workspace.ts | 1 + 4 files changed, 5127 insertions(+), 413 deletions(-) create mode 100644 vitest.workspace.ts diff --git a/nx.json b/nx.json index c41d3d3fd..5d83ccdb6 100644 --- a/nx.json +++ b/nx.json @@ -20,7 +20,6 @@ "output": "." } ], -// "platform": "node", "generatePackageJson": true }, "configurations": { diff --git a/package-lock.json b/package-lock.json index 179b902e5..938c616c1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -47,13 +47,17 @@ "@nx/eslint": "18.0.1", "@nx/eslint-plugin": "18.0.1", "@nx/jest": "18.0.1", - "@nx/js": "18.0.1", + "@nx/js": "18.3.4", "@nx/node": "18.0.1", "@nx/react": "18.0.1", "@nx/rollup": "18.0.1", - "@nx/web": "18.0.1", + "@nx/vite": "^18.3.4", + "@nx/web": "18.3.4", "@nx/webpack": "18.0.1", "@nx/workspace": "18.0.1", + "@swc-node/register": "~1.8.0", + "@swc/core": "~1.3.85", + "@swc/helpers": "~0.5.2", "@types/follow-redirects": "^1.14.1", "@types/jest": "29.4.4", "@types/mime-types": "^2.1.1", @@ -64,6 +68,8 @@ "@types/vscode": "^1.56.0", "@typescript-eslint/eslint-plugin": "6.20.0", "@typescript-eslint/parser": "6.20.0", + "@vitest/coverage-v8": "^1.0.4", + "@vitest/ui": "^1.3.1", "@vscode/vsce": "^2.19.0", "esbuild": "^0.19.2", "eslint": "8.48.0", @@ -82,7 +88,9 @@ "prettier": "^2.8.7", "ts-jest": "29.1.2", "ts-node": "10.9.1", - "typescript": "^5.0.4" + "typescript": "^5.0.4", + "vite": "~5.0.0", + "vitest": "^1.3.1" } }, "node_modules/@aashutoshrathi/word-wrap": { @@ -262,12 +270,12 @@ } }, "node_modules/@ampproject/remapping": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", - "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", "dependencies": { - "@jridgewell/gen-mapping": "^0.1.0", - "@jridgewell/trace-mapping": "^0.3.9" + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" }, "engines": { "node": ">=6.0.0" @@ -441,19 +449,6 @@ "node": ">=6.9.0" } }, - "node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", - "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", - "dependencies": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" - } - }, "node_modules/@babel/helper-annotate-as-pure": { "version": "7.22.5", "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", @@ -737,17 +732,17 @@ } }, "node_modules/@babel/helper-string-parser": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz", - "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.1.tgz", + "integrity": "sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", - "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.5.tgz", + "integrity": "sha512-3q93SSKX2TWCG30M2G2kwaKeTYgEUp5Snjuj8qm729SObL6nbtUldAi37qbxkD5gg3xnBio+f9nqpSepGZMvxA==", "engines": { "node": ">=6.9.0" } @@ -856,9 +851,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.23.9", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.9.tgz", - "integrity": "sha512-9tcKgqKbs3xGJ+NtKF2ndOBBLVwPjl1SHxPQkd36r3Dlirw3xWUeGaTbqr7uGZcTaxkVNwc+03SVP7aCdWrTlA==", + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.5.tgz", + "integrity": "sha512-EOv5IK8arwh3LI47dz1b0tKUb/1uhHAnHJOrjgtQMIpu1uXd9mlFrJg9IUgGUgZ41Ch0K8REPTYpO7B76b4vJg==", "bin": { "parser": "bin/babel-parser.js" }, @@ -2384,12 +2379,12 @@ } }, "node_modules/@babel/types": { - "version": "7.23.9", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.9.tgz", - "integrity": "sha512-dQjSq/7HaSjRM43FFGnv5keM2HsxpmyV1PfaSVm0nzzjwwTmjOe6J4bC8e3+pTEIgHaHj+1ZlLThRJ2auc/w1Q==", + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.5.tgz", + "integrity": "sha512-6mQNsaLeXTw0nxYUYu+NSa4Hx4BlF1x1x8/PMFbiR+GBSr+2DkECc69b8hgy2frEodNcvPffeH8YfWd3LI6jhQ==", "dependencies": { - "@babel/helper-string-parser": "^7.23.4", - "@babel/helper-validator-identifier": "^7.22.20", + "@babel/helper-string-parser": "^7.24.1", + "@babel/helper-validator-identifier": "^7.24.5", "to-fast-properties": "^2.0.0" }, "engines": { @@ -4338,12 +4333,13 @@ } }, "node_modules/@jridgewell/gen-mapping": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", - "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", "dependencies": { - "@jridgewell/set-array": "^1.0.0", - "@jridgewell/sourcemap-codec": "^1.4.10" + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" }, "engines": { "node": ">=6.0.0" @@ -4358,9 +4354,9 @@ } }, "node_modules/@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", "engines": { "node": ">=6.0.0" } @@ -4374,28 +4370,15 @@ "@jridgewell/trace-mapping": "^0.3.9" } }, - "node_modules/@jridgewell/source-map/node_modules/@jridgewell/gen-mapping": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", - "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", - "dependencies": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" - } - }, "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==" + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" }, "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.22", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.22.tgz", - "integrity": "sha512-Wf963MzWtA2sjrNt+g18IAln9lKnlRp+K2eH4jjIoF1wYeq3aMREpG09xhlhdzS0EjwU7qmUJYangWa+151vZw==", + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" @@ -4735,12 +4718,12 @@ } }, "node_modules/@nrwl/js": { - "version": "18.0.1", - "resolved": "https://registry.npmjs.org/@nrwl/js/-/js-18.0.1.tgz", - "integrity": "sha512-O1wfFdDMvObgqZgH/5qebm9YeN5cJ+UL2fJV2ZnsWVz3e8jhOQLflN3J7jXUWxzsz5stYiplsGpBjgXQRcNwaQ==", + "version": "18.3.4", + "resolved": "https://registry.npmjs.org/@nrwl/js/-/js-18.3.4.tgz", + "integrity": "sha512-oyiMoxzDVGQe5E4UFGO/WAOU211HEIdRxSEOfs1lPhvA8lKbUa0IWDqPOugNws/YHAr+vUTU3sZDJ3uU3RJuYQ==", "dev": true, "dependencies": { - "@nx/js": "18.0.1" + "@nx/js": "18.3.4" } }, "node_modules/@nrwl/node": { @@ -4783,13 +4766,22 @@ "tao": "index.js" } }, + "node_modules/@nrwl/vite": { + "version": "18.3.4", + "resolved": "https://registry.npmjs.org/@nrwl/vite/-/vite-18.3.4.tgz", + "integrity": "sha512-0lUQqgui2oWFLUK9bT5XwyyC321tmiKetRxuSvzv+hJZQbMBz6LrYLAWXyEHtLkSVszBqeh8rt8hcrXcIxDfCA==", + "dev": true, + "dependencies": { + "@nx/vite": "18.3.4" + } + }, "node_modules/@nrwl/web": { - "version": "18.0.1", - "resolved": "https://registry.npmjs.org/@nrwl/web/-/web-18.0.1.tgz", - "integrity": "sha512-x6EXhFpgNsLHWQMVilkQBsXI2+otLbTT5TnpwfVUkulNXtA79M6rfnikzt+gQS/vp7l10dXb84Ys2yd4eUyaFQ==", + "version": "18.3.4", + "resolved": "https://registry.npmjs.org/@nrwl/web/-/web-18.3.4.tgz", + "integrity": "sha512-Zdi0WCAq6+JD1/H8FwzGNjSrHNZWMTN8uPCCV4re3rr2M7oJ+0NqMTATHNqsWGMr2C3HANRuxqC9wDa9Av0XCQ==", "dev": true, "dependencies": { - "@nx/web": "18.0.1" + "@nx/web": "18.3.4" } }, "node_modules/@nrwl/webpack": { @@ -4889,6 +4881,82 @@ } } }, + "node_modules/@nx/esbuild/node_modules/@nrwl/js": { + "version": "18.0.1", + "resolved": "https://registry.npmjs.org/@nrwl/js/-/js-18.0.1.tgz", + "integrity": "sha512-O1wfFdDMvObgqZgH/5qebm9YeN5cJ+UL2fJV2ZnsWVz3e8jhOQLflN3J7jXUWxzsz5stYiplsGpBjgXQRcNwaQ==", + "dev": true, + "dependencies": { + "@nx/js": "18.0.1" + } + }, + "node_modules/@nx/esbuild/node_modules/@nx/js": { + "version": "18.0.1", + "resolved": "https://registry.npmjs.org/@nx/js/-/js-18.0.1.tgz", + "integrity": "sha512-U/l8K09UMrE4zVXEpmwpRWaY4fCrdcaaB3NXsEUwghJE6OuacADdaQ5ZWPxa0ji3nARKW7Umj87sOlUu8YjpTQ==", + "dev": true, + "dependencies": { + "@babel/core": "^7.23.2", + "@babel/plugin-proposal-decorators": "^7.22.7", + "@babel/plugin-transform-class-properties": "^7.22.5", + "@babel/plugin-transform-runtime": "^7.23.2", + "@babel/preset-env": "^7.23.2", + "@babel/preset-typescript": "^7.22.5", + "@babel/runtime": "^7.22.6", + "@nrwl/js": "18.0.1", + "@nx/devkit": "18.0.1", + "@nx/workspace": "18.0.1", + "@phenomnomnominal/tsquery": "~5.0.1", + "babel-plugin-const-enum": "^1.0.1", + "babel-plugin-macros": "^2.8.0", + "babel-plugin-transform-typescript-metadata": "^0.3.1", + "chalk": "^4.1.0", + "columnify": "^1.6.0", + "detect-port": "^1.5.1", + "fast-glob": "3.2.7", + "fs-extra": "^11.1.0", + "ignore": "^5.0.4", + "js-tokens": "^4.0.0", + "minimatch": "9.0.3", + "npm-package-arg": "11.0.1", + "npm-run-path": "^4.0.1", + "ora": "5.3.0", + "semver": "^7.5.3", + "source-map-support": "0.5.19", + "ts-node": "10.9.1", + "tsconfig-paths": "^4.1.2", + "tslib": "^2.3.0" + }, + "peerDependencies": { + "verdaccio": "^5.0.4" + }, + "peerDependenciesMeta": { + "verdaccio": { + "optional": true + } + } + }, + "node_modules/@nx/esbuild/node_modules/@phenomnomnominal/tsquery": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@phenomnomnominal/tsquery/-/tsquery-5.0.1.tgz", + "integrity": "sha512-3nVv+e2FQwsW8Aw6qTU6f+1rfcJ3hrcnvH/mu9i8YhxO+9sqbOfpL8m6PbET5+xKOlz/VSbp0RoYWYCtIsnmuA==", + "dev": true, + "dependencies": { + "esquery": "^1.4.0" + }, + "peerDependencies": { + "typescript": "^3 || ^4 || ^5" + } + }, + "node_modules/@nx/esbuild/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, "node_modules/@nx/esbuild/node_modules/fs-extra": { "version": "11.2.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", @@ -4903,6 +4971,36 @@ "node": ">=14.14" } }, + "node_modules/@nx/esbuild/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@nx/esbuild/node_modules/semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/@nx/esbuild/node_modules/strip-bom": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", @@ -4975,6 +5073,89 @@ } } }, + "node_modules/@nx/eslint-plugin/node_modules/@nrwl/js": { + "version": "18.0.1", + "resolved": "https://registry.npmjs.org/@nrwl/js/-/js-18.0.1.tgz", + "integrity": "sha512-O1wfFdDMvObgqZgH/5qebm9YeN5cJ+UL2fJV2ZnsWVz3e8jhOQLflN3J7jXUWxzsz5stYiplsGpBjgXQRcNwaQ==", + "dev": true, + "dependencies": { + "@nx/js": "18.0.1" + } + }, + "node_modules/@nx/eslint-plugin/node_modules/@nx/js": { + "version": "18.0.1", + "resolved": "https://registry.npmjs.org/@nx/js/-/js-18.0.1.tgz", + "integrity": "sha512-U/l8K09UMrE4zVXEpmwpRWaY4fCrdcaaB3NXsEUwghJE6OuacADdaQ5ZWPxa0ji3nARKW7Umj87sOlUu8YjpTQ==", + "dev": true, + "dependencies": { + "@babel/core": "^7.23.2", + "@babel/plugin-proposal-decorators": "^7.22.7", + "@babel/plugin-transform-class-properties": "^7.22.5", + "@babel/plugin-transform-runtime": "^7.23.2", + "@babel/preset-env": "^7.23.2", + "@babel/preset-typescript": "^7.22.5", + "@babel/runtime": "^7.22.6", + "@nrwl/js": "18.0.1", + "@nx/devkit": "18.0.1", + "@nx/workspace": "18.0.1", + "@phenomnomnominal/tsquery": "~5.0.1", + "babel-plugin-const-enum": "^1.0.1", + "babel-plugin-macros": "^2.8.0", + "babel-plugin-transform-typescript-metadata": "^0.3.1", + "chalk": "^4.1.0", + "columnify": "^1.6.0", + "detect-port": "^1.5.1", + "fast-glob": "3.2.7", + "fs-extra": "^11.1.0", + "ignore": "^5.0.4", + "js-tokens": "^4.0.0", + "minimatch": "9.0.3", + "npm-package-arg": "11.0.1", + "npm-run-path": "^4.0.1", + "ora": "5.3.0", + "semver": "^7.5.3", + "source-map-support": "0.5.19", + "ts-node": "10.9.1", + "tsconfig-paths": "^4.1.2", + "tslib": "^2.3.0" + }, + "peerDependencies": { + "verdaccio": "^5.0.4" + }, + "peerDependenciesMeta": { + "verdaccio": { + "optional": true + } + } + }, + "node_modules/@nx/eslint-plugin/node_modules/@nx/js/node_modules/fast-glob": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz", + "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==", + "dev": true, + "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" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@nx/eslint-plugin/node_modules/@phenomnomnominal/tsquery": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@phenomnomnominal/tsquery/-/tsquery-5.0.1.tgz", + "integrity": "sha512-3nVv+e2FQwsW8Aw6qTU6f+1rfcJ3hrcnvH/mu9i8YhxO+9sqbOfpL8m6PbET5+xKOlz/VSbp0RoYWYCtIsnmuA==", + "dev": true, + "dependencies": { + "esquery": "^1.4.0" + }, + "peerDependencies": { + "typescript": "^3 || ^4 || ^5" + } + }, "node_modules/@nx/eslint-plugin/node_modules/@typescript-eslint/scope-manager": { "version": "6.20.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.20.0.tgz", @@ -5130,6 +5311,20 @@ "node": ">=8.6.0" } }, + "node_modules/@nx/eslint-plugin/node_modules/fs-extra": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", + "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, "node_modules/@nx/eslint-plugin/node_modules/globby": { "version": "11.1.0", "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", @@ -5180,65 +5375,39 @@ "node": ">=10" } }, - "node_modules/@nx/jest": { - "version": "18.0.1", - "resolved": "https://registry.npmjs.org/@nx/jest/-/jest-18.0.1.tgz", - "integrity": "sha512-ILBur8l4pKxpBCPQzIooPxGpV2NcwK2qLydskZhxyu+vm36kp3py5CyKo+j8HLlskJ7M6QGZf08l3DgsG+CYbQ==", + "node_modules/@nx/eslint-plugin/node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", "dev": true, - "dependencies": { - "@jest/reporters": "^29.4.1", - "@jest/test-result": "^29.4.1", - "@nrwl/jest": "18.0.1", - "@nx/devkit": "18.0.1", - "@nx/js": "18.0.1", - "@phenomnomnominal/tsquery": "~5.0.1", - "chalk": "^4.1.0", - "identity-obj-proxy": "3.0.0", - "jest-config": "^29.4.1", - "jest-resolve": "^29.4.1", - "jest-util": "^29.4.1", - "minimatch": "9.0.3", - "resolve.exports": "1.1.0", - "tslib": "^2.3.0" + "engines": { + "node": ">=4" } }, - "node_modules/@nx/jest/node_modules/@phenomnomnominal/tsquery": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@phenomnomnominal/tsquery/-/tsquery-5.0.1.tgz", - "integrity": "sha512-3nVv+e2FQwsW8Aw6qTU6f+1rfcJ3hrcnvH/mu9i8YhxO+9sqbOfpL8m6PbET5+xKOlz/VSbp0RoYWYCtIsnmuA==", + "node_modules/@nx/eslint-plugin/node_modules/tsconfig-paths": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz", + "integrity": "sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==", "dev": true, "dependencies": { - "esquery": "^1.4.0" + "json5": "^2.2.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" }, - "peerDependencies": { - "typescript": "^3 || ^4 || ^5" - } - }, - "node_modules/@nx/jest/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" + "engines": { + "node": ">=6" } }, - "node_modules/@nx/jest/node_modules/minimatch": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", - "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "node_modules/@nx/eslint/node_modules/@nrwl/js": { + "version": "18.0.1", + "resolved": "https://registry.npmjs.org/@nrwl/js/-/js-18.0.1.tgz", + "integrity": "sha512-O1wfFdDMvObgqZgH/5qebm9YeN5cJ+UL2fJV2ZnsWVz3e8jhOQLflN3J7jXUWxzsz5stYiplsGpBjgXQRcNwaQ==", "dev": true, "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "@nx/js": "18.0.1" } }, - "node_modules/@nx/js": { + "node_modules/@nx/eslint/node_modules/@nx/js": { "version": "18.0.1", "resolved": "https://registry.npmjs.org/@nx/js/-/js-18.0.1.tgz", "integrity": "sha512-U/l8K09UMrE4zVXEpmwpRWaY4fCrdcaaB3NXsEUwghJE6OuacADdaQ5ZWPxa0ji3nARKW7Umj87sOlUu8YjpTQ==", @@ -5284,6 +5453,530 @@ } } }, + "node_modules/@nx/eslint/node_modules/@phenomnomnominal/tsquery": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@phenomnomnominal/tsquery/-/tsquery-5.0.1.tgz", + "integrity": "sha512-3nVv+e2FQwsW8Aw6qTU6f+1rfcJ3hrcnvH/mu9i8YhxO+9sqbOfpL8m6PbET5+xKOlz/VSbp0RoYWYCtIsnmuA==", + "dev": true, + "dependencies": { + "esquery": "^1.4.0" + }, + "peerDependencies": { + "typescript": "^3 || ^4 || ^5" + } + }, + "node_modules/@nx/eslint/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@nx/eslint/node_modules/fs-extra": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", + "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/@nx/eslint/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@nx/eslint/node_modules/semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@nx/eslint/node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@nx/eslint/node_modules/tsconfig-paths": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz", + "integrity": "sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==", + "dev": true, + "dependencies": { + "json5": "^2.2.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@nx/jest": { + "version": "18.0.1", + "resolved": "https://registry.npmjs.org/@nx/jest/-/jest-18.0.1.tgz", + "integrity": "sha512-ILBur8l4pKxpBCPQzIooPxGpV2NcwK2qLydskZhxyu+vm36kp3py5CyKo+j8HLlskJ7M6QGZf08l3DgsG+CYbQ==", + "dev": true, + "dependencies": { + "@jest/reporters": "^29.4.1", + "@jest/test-result": "^29.4.1", + "@nrwl/jest": "18.0.1", + "@nx/devkit": "18.0.1", + "@nx/js": "18.0.1", + "@phenomnomnominal/tsquery": "~5.0.1", + "chalk": "^4.1.0", + "identity-obj-proxy": "3.0.0", + "jest-config": "^29.4.1", + "jest-resolve": "^29.4.1", + "jest-util": "^29.4.1", + "minimatch": "9.0.3", + "resolve.exports": "1.1.0", + "tslib": "^2.3.0" + } + }, + "node_modules/@nx/jest/node_modules/@nrwl/js": { + "version": "18.0.1", + "resolved": "https://registry.npmjs.org/@nrwl/js/-/js-18.0.1.tgz", + "integrity": "sha512-O1wfFdDMvObgqZgH/5qebm9YeN5cJ+UL2fJV2ZnsWVz3e8jhOQLflN3J7jXUWxzsz5stYiplsGpBjgXQRcNwaQ==", + "dev": true, + "dependencies": { + "@nx/js": "18.0.1" + } + }, + "node_modules/@nx/jest/node_modules/@nx/js": { + "version": "18.0.1", + "resolved": "https://registry.npmjs.org/@nx/js/-/js-18.0.1.tgz", + "integrity": "sha512-U/l8K09UMrE4zVXEpmwpRWaY4fCrdcaaB3NXsEUwghJE6OuacADdaQ5ZWPxa0ji3nARKW7Umj87sOlUu8YjpTQ==", + "dev": true, + "dependencies": { + "@babel/core": "^7.23.2", + "@babel/plugin-proposal-decorators": "^7.22.7", + "@babel/plugin-transform-class-properties": "^7.22.5", + "@babel/plugin-transform-runtime": "^7.23.2", + "@babel/preset-env": "^7.23.2", + "@babel/preset-typescript": "^7.22.5", + "@babel/runtime": "^7.22.6", + "@nrwl/js": "18.0.1", + "@nx/devkit": "18.0.1", + "@nx/workspace": "18.0.1", + "@phenomnomnominal/tsquery": "~5.0.1", + "babel-plugin-const-enum": "^1.0.1", + "babel-plugin-macros": "^2.8.0", + "babel-plugin-transform-typescript-metadata": "^0.3.1", + "chalk": "^4.1.0", + "columnify": "^1.6.0", + "detect-port": "^1.5.1", + "fast-glob": "3.2.7", + "fs-extra": "^11.1.0", + "ignore": "^5.0.4", + "js-tokens": "^4.0.0", + "minimatch": "9.0.3", + "npm-package-arg": "11.0.1", + "npm-run-path": "^4.0.1", + "ora": "5.3.0", + "semver": "^7.5.3", + "source-map-support": "0.5.19", + "ts-node": "10.9.1", + "tsconfig-paths": "^4.1.2", + "tslib": "^2.3.0" + }, + "peerDependencies": { + "verdaccio": "^5.0.4" + }, + "peerDependenciesMeta": { + "verdaccio": { + "optional": true + } + } + }, + "node_modules/@nx/jest/node_modules/@phenomnomnominal/tsquery": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@phenomnomnominal/tsquery/-/tsquery-5.0.1.tgz", + "integrity": "sha512-3nVv+e2FQwsW8Aw6qTU6f+1rfcJ3hrcnvH/mu9i8YhxO+9sqbOfpL8m6PbET5+xKOlz/VSbp0RoYWYCtIsnmuA==", + "dev": true, + "dependencies": { + "esquery": "^1.4.0" + }, + "peerDependencies": { + "typescript": "^3 || ^4 || ^5" + } + }, + "node_modules/@nx/jest/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@nx/jest/node_modules/fs-extra": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", + "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/@nx/jest/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@nx/jest/node_modules/semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@nx/jest/node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@nx/jest/node_modules/tsconfig-paths": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz", + "integrity": "sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==", + "dev": true, + "dependencies": { + "json5": "^2.2.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@nx/js": { + "version": "18.3.4", + "resolved": "https://registry.npmjs.org/@nx/js/-/js-18.3.4.tgz", + "integrity": "sha512-+MPacp/B09e5QwaFQBkev9pW862ZpmesqR2lUUnFAXUBKtjYVIAmhJWHOtevqC1om4OxvTsbluYHsbAkAUzlMA==", + "dev": true, + "dependencies": { + "@babel/core": "^7.23.2", + "@babel/plugin-proposal-decorators": "^7.22.7", + "@babel/plugin-transform-class-properties": "^7.22.5", + "@babel/plugin-transform-runtime": "^7.23.2", + "@babel/preset-env": "^7.23.2", + "@babel/preset-typescript": "^7.22.5", + "@babel/runtime": "^7.22.6", + "@nrwl/js": "18.3.4", + "@nx/devkit": "18.3.4", + "@nx/workspace": "18.3.4", + "@phenomnomnominal/tsquery": "~5.0.1", + "babel-plugin-const-enum": "^1.0.1", + "babel-plugin-macros": "^2.8.0", + "babel-plugin-transform-typescript-metadata": "^0.3.1", + "chalk": "^4.1.0", + "columnify": "^1.6.0", + "detect-port": "^1.5.1", + "fast-glob": "3.2.7", + "fs-extra": "^11.1.0", + "ignore": "^5.0.4", + "js-tokens": "^4.0.0", + "minimatch": "9.0.3", + "npm-package-arg": "11.0.1", + "npm-run-path": "^4.0.1", + "ora": "5.3.0", + "semver": "^7.5.3", + "source-map-support": "0.5.19", + "ts-node": "10.9.1", + "tsconfig-paths": "^4.1.2", + "tslib": "^2.3.0" + }, + "peerDependencies": { + "verdaccio": "^5.0.4" + }, + "peerDependenciesMeta": { + "verdaccio": { + "optional": true + } + } + }, + "node_modules/@nx/js/node_modules/@nrwl/devkit": { + "version": "18.3.4", + "resolved": "https://registry.npmjs.org/@nrwl/devkit/-/devkit-18.3.4.tgz", + "integrity": "sha512-Fty9Huqm12OYueU3uLJl3uvBUl5BvEyPfvw8+rLiNx9iftdEattM8C+268eAbIRRSLSOVXlWsJH4brlc6QZYYw==", + "dev": true, + "dependencies": { + "@nx/devkit": "18.3.4" + } + }, + "node_modules/@nx/js/node_modules/@nrwl/tao": { + "version": "18.3.4", + "resolved": "https://registry.npmjs.org/@nrwl/tao/-/tao-18.3.4.tgz", + "integrity": "sha512-+7KsDYmGj1cvNaXZcjSYOPN1h17hsGFBtVX7MqnpJLLkQTUhKg2rQxqyluzshJ+RoDUVtYPGyHg1AizlB66RIA==", + "dev": true, + "dependencies": { + "nx": "18.3.4", + "tslib": "^2.3.0" + }, + "bin": { + "tao": "index.js" + } + }, + "node_modules/@nx/js/node_modules/@nrwl/workspace": { + "version": "18.3.4", + "resolved": "https://registry.npmjs.org/@nrwl/workspace/-/workspace-18.3.4.tgz", + "integrity": "sha512-ziPHZcSYj46aPYrRHaKu56/SmYCijLT5vIm/UaoWD5v5Fy5CRigO/ezUImsHGHMEZWfHt44s4jsv7QdJWAXe7w==", + "dev": true, + "dependencies": { + "@nx/workspace": "18.3.4" + } + }, + "node_modules/@nx/js/node_modules/@nx/devkit": { + "version": "18.3.4", + "resolved": "https://registry.npmjs.org/@nx/devkit/-/devkit-18.3.4.tgz", + "integrity": "sha512-M3htxl5WvlNKK5KNOndCAApbyBCZNTFFs+rtdwvudNZk5+84zAAPaWzSoX9C4XLAW78/f98LzF68/ch05aN12A==", + "dev": true, + "dependencies": { + "@nrwl/devkit": "18.3.4", + "ejs": "^3.1.7", + "enquirer": "~2.3.6", + "ignore": "^5.0.4", + "semver": "^7.5.3", + "tmp": "~0.2.1", + "tslib": "^2.3.0", + "yargs-parser": "21.1.1" + }, + "peerDependencies": { + "nx": ">= 16 <= 19" + } + }, + "node_modules/@nx/js/node_modules/@nx/nx-darwin-arm64": { + "version": "18.3.4", + "resolved": "https://registry.npmjs.org/@nx/nx-darwin-arm64/-/nx-darwin-arm64-18.3.4.tgz", + "integrity": "sha512-MOGk9z4fIoOkJB68diH3bwoWrC8X9IzMNsz1mu0cbVfgCRAfIV3b+lMsiwQYzWal3UWW5DE5Rkss4F8whiV5Uw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/js/node_modules/@nx/nx-darwin-x64": { + "version": "18.3.4", + "resolved": "https://registry.npmjs.org/@nx/nx-darwin-x64/-/nx-darwin-x64-18.3.4.tgz", + "integrity": "sha512-tSzPRnNB3QdPM+KYiIuRCUtyCwcuIRC95FfP0ZB3WvfDeNxJChEAChNqmCMDE4iFvZhGuze8WqkJuIVdte+lyQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/js/node_modules/@nx/nx-freebsd-x64": { + "version": "18.3.4", + "resolved": "https://registry.npmjs.org/@nx/nx-freebsd-x64/-/nx-freebsd-x64-18.3.4.tgz", + "integrity": "sha512-bjSPak/d+bcR95/pxHMRhnnpHc6MnrQcG6f5AjX15Esm4JdrdQKPBmG1RybuK0WKSyD5wgVhkAGc/QQUom9l8g==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/js/node_modules/@nx/nx-linux-arm-gnueabihf": { + "version": "18.3.4", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-18.3.4.tgz", + "integrity": "sha512-/1HnUL7jhH0S7PxJqf6R1pk3QlAU22GY89EQV9fd+RDUtp7IyzaTlkebijTIqfxlSjC4OO3bPizaxEaxdd3uKQ==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/js/node_modules/@nx/nx-linux-arm64-gnu": { + "version": "18.3.4", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-18.3.4.tgz", + "integrity": "sha512-g/2IaB2bZTKaBNPEf9LxtIXb1XHdhh3VO9PnePIrwkkixPMLN0dTxT5Sttt75lvLP3EU1AUR5w3Aaz2Q1mYtWA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/js/node_modules/@nx/nx-linux-arm64-musl": { + "version": "18.3.4", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-18.3.4.tgz", + "integrity": "sha512-MgfKLoEF6I1cCS+0ooFLEjJSSVdCYyCT9Q96IHRJntAEL8u/0GR2OUoBoLC+q1lnbIkJr/uqTJxA2Jh+sJTIbA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/js/node_modules/@nx/nx-linux-x64-gnu": { + "version": "18.3.4", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-18.3.4.tgz", + "integrity": "sha512-vbHxv7m3gjthBvw50EYCtgyY0Zg5nVTaQtX+wRsmKybV2i7wHbw5zIe1aL4zHUm6TcPGbIQK+utVM+hyCqKHVA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/js/node_modules/@nx/nx-linux-x64-musl": { + "version": "18.3.4", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-18.3.4.tgz", + "integrity": "sha512-qIJKJCYFRLVSALsvg3avjReOjuYk91Q0hFXMJ2KaEM1Y3tdzcFN0fKBiaHexgbFIUk8zJuS4dJObTqSYMXowbg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/js/node_modules/@nx/nx-win32-arm64-msvc": { + "version": "18.3.4", + "resolved": "https://registry.npmjs.org/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-18.3.4.tgz", + "integrity": "sha512-UxC8mRkFTPdZbKFprZkiBqVw8624xU38kI0xyooxKlFpt5lccTBwJ0B7+R8p1RoWyvh2DSyFI9VvfD7lczg1lA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/js/node_modules/@nx/nx-win32-x64-msvc": { + "version": "18.3.4", + "resolved": "https://registry.npmjs.org/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-18.3.4.tgz", + "integrity": "sha512-/RqEjNU9hxIBxRLafCNKoH3SaB2FShf+1ZnIYCdAoCZBxLJebDpnhiyrVs0lPnMj9248JbizEMdJj1+bs/bXig==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/js/node_modules/@nx/workspace": { + "version": "18.3.4", + "resolved": "https://registry.npmjs.org/@nx/workspace/-/workspace-18.3.4.tgz", + "integrity": "sha512-H5HmEOWb9wnrNXfI2DhK6AmMVz1snuJvjT2jcMf9kxlVW0pKGTFW+OyHfSYq6Ni3OGWb1f9O63erLYHo45zPeA==", + "dev": true, + "dependencies": { + "@nrwl/workspace": "18.3.4", + "@nx/devkit": "18.3.4", + "chalk": "^4.1.0", + "enquirer": "~2.3.6", + "nx": "18.3.4", + "tslib": "^2.3.0", + "yargs-parser": "21.1.1" + } + }, "node_modules/@nx/js/node_modules/@phenomnomnominal/tsquery": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/@phenomnomnominal/tsquery/-/tsquery-5.0.1.tgz", @@ -5296,7 +5989,271 @@ "typescript": "^3 || ^4 || ^5" } }, - "node_modules/@nx/js/node_modules/brace-expansion": { + "node_modules/@nx/js/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/@nx/js/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@nx/js/node_modules/fs-extra": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", + "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/@nx/js/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/@nx/js/node_modules/lines-and-columns": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-2.0.4.tgz", + "integrity": "sha512-wM1+Z03eypVAVUCE7QdSqpVIvelbOakn1M0bPDoA4SGWPx3sNDVUiMo3L6To6WWGClB7VyXnhQ4Sn7gxiJbE6A==", + "dev": true, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + } + }, + "node_modules/@nx/js/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@nx/js/node_modules/nx": { + "version": "18.3.4", + "resolved": "https://registry.npmjs.org/nx/-/nx-18.3.4.tgz", + "integrity": "sha512-7rOHRyxpnZGJ3pHnwmpoAMHt9hNuwibWhOhPBJDhJVcbQJtGfwcWWyV/iSEnVXwKZ2lfHVE3TwE+gXFdT/GFiw==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "@nrwl/tao": "18.3.4", + "@yarnpkg/lockfile": "^1.1.0", + "@yarnpkg/parsers": "3.0.0-rc.46", + "@zkochan/js-yaml": "0.0.6", + "axios": "^1.6.0", + "chalk": "^4.1.0", + "cli-cursor": "3.1.0", + "cli-spinners": "2.6.1", + "cliui": "^8.0.1", + "dotenv": "~16.3.1", + "dotenv-expand": "~10.0.0", + "enquirer": "~2.3.6", + "figures": "3.2.0", + "flat": "^5.0.2", + "fs-extra": "^11.1.0", + "ignore": "^5.0.4", + "jest-diff": "^29.4.1", + "js-yaml": "4.1.0", + "jsonc-parser": "3.2.0", + "lines-and-columns": "~2.0.3", + "minimatch": "9.0.3", + "node-machine-id": "1.1.12", + "npm-run-path": "^4.0.1", + "open": "^8.4.0", + "ora": "5.3.0", + "semver": "^7.5.3", + "string-width": "^4.2.3", + "strong-log-transformer": "^2.1.0", + "tar-stream": "~2.2.0", + "tmp": "~0.2.1", + "tsconfig-paths": "^4.1.2", + "tslib": "^2.3.0", + "yargs": "^17.6.2", + "yargs-parser": "21.1.1" + }, + "bin": { + "nx": "bin/nx.js", + "nx-cloud": "bin/nx-cloud.js" + }, + "optionalDependencies": { + "@nx/nx-darwin-arm64": "18.3.4", + "@nx/nx-darwin-x64": "18.3.4", + "@nx/nx-freebsd-x64": "18.3.4", + "@nx/nx-linux-arm-gnueabihf": "18.3.4", + "@nx/nx-linux-arm64-gnu": "18.3.4", + "@nx/nx-linux-arm64-musl": "18.3.4", + "@nx/nx-linux-x64-gnu": "18.3.4", + "@nx/nx-linux-x64-musl": "18.3.4", + "@nx/nx-win32-arm64-msvc": "18.3.4", + "@nx/nx-win32-x64-msvc": "18.3.4" + }, + "peerDependencies": { + "@swc-node/register": "^1.8.0", + "@swc/core": "^1.3.85" + }, + "peerDependenciesMeta": { + "@swc-node/register": { + "optional": true + }, + "@swc/core": { + "optional": true + } + } + }, + "node_modules/@nx/js/node_modules/semver": { + "version": "7.5.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.3.tgz", + "integrity": "sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@nx/js/node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@nx/js/node_modules/tsconfig-paths": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz", + "integrity": "sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==", + "dev": true, + "dependencies": { + "json5": "^2.2.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@nx/linter": { + "version": "18.0.1", + "resolved": "https://registry.npmjs.org/@nx/linter/-/linter-18.0.1.tgz", + "integrity": "sha512-RE24Jjdi3R56g9r05hOe37oXx8d5VkVvUC/njgxdaVYy569lgPdiXD9FHaHBXOwjQ3JF7ItVOd2zNhTiZA1S4Q==", + "dev": true, + "dependencies": { + "@nx/eslint": "18.0.1" + } + }, + "node_modules/@nx/node": { + "version": "18.0.1", + "resolved": "https://registry.npmjs.org/@nx/node/-/node-18.0.1.tgz", + "integrity": "sha512-SG9RapK6OQsOpv+LdD+7UErmN7jjc4WJHoIRjE3NCJQVJYP2zLaus8kfdSBjF6x+jx/y9fyn/Bxhtznp1IjeLw==", + "dev": true, + "dependencies": { + "@nrwl/node": "18.0.1", + "@nx/devkit": "18.0.1", + "@nx/eslint": "18.0.1", + "@nx/jest": "18.0.1", + "@nx/js": "18.0.1", + "tslib": "^2.3.0" + } + }, + "node_modules/@nx/node/node_modules/@nrwl/js": { + "version": "18.0.1", + "resolved": "https://registry.npmjs.org/@nrwl/js/-/js-18.0.1.tgz", + "integrity": "sha512-O1wfFdDMvObgqZgH/5qebm9YeN5cJ+UL2fJV2ZnsWVz3e8jhOQLflN3J7jXUWxzsz5stYiplsGpBjgXQRcNwaQ==", + "dev": true, + "dependencies": { + "@nx/js": "18.0.1" + } + }, + "node_modules/@nx/node/node_modules/@nx/js": { + "version": "18.0.1", + "resolved": "https://registry.npmjs.org/@nx/js/-/js-18.0.1.tgz", + "integrity": "sha512-U/l8K09UMrE4zVXEpmwpRWaY4fCrdcaaB3NXsEUwghJE6OuacADdaQ5ZWPxa0ji3nARKW7Umj87sOlUu8YjpTQ==", + "dev": true, + "dependencies": { + "@babel/core": "^7.23.2", + "@babel/plugin-proposal-decorators": "^7.22.7", + "@babel/plugin-transform-class-properties": "^7.22.5", + "@babel/plugin-transform-runtime": "^7.23.2", + "@babel/preset-env": "^7.23.2", + "@babel/preset-typescript": "^7.22.5", + "@babel/runtime": "^7.22.6", + "@nrwl/js": "18.0.1", + "@nx/devkit": "18.0.1", + "@nx/workspace": "18.0.1", + "@phenomnomnominal/tsquery": "~5.0.1", + "babel-plugin-const-enum": "^1.0.1", + "babel-plugin-macros": "^2.8.0", + "babel-plugin-transform-typescript-metadata": "^0.3.1", + "chalk": "^4.1.0", + "columnify": "^1.6.0", + "detect-port": "^1.5.1", + "fast-glob": "3.2.7", + "fs-extra": "^11.1.0", + "ignore": "^5.0.4", + "js-tokens": "^4.0.0", + "minimatch": "9.0.3", + "npm-package-arg": "11.0.1", + "npm-run-path": "^4.0.1", + "ora": "5.3.0", + "semver": "^7.5.3", + "source-map-support": "0.5.19", + "ts-node": "10.9.1", + "tsconfig-paths": "^4.1.2", + "tslib": "^2.3.0" + }, + "peerDependencies": { + "verdaccio": "^5.0.4" + }, + "peerDependenciesMeta": { + "verdaccio": { + "optional": true + } + } + }, + "node_modules/@nx/node/node_modules/@phenomnomnominal/tsquery": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@phenomnomnominal/tsquery/-/tsquery-5.0.1.tgz", + "integrity": "sha512-3nVv+e2FQwsW8Aw6qTU6f+1rfcJ3hrcnvH/mu9i8YhxO+9sqbOfpL8m6PbET5+xKOlz/VSbp0RoYWYCtIsnmuA==", + "dev": true, + "dependencies": { + "esquery": "^1.4.0" + }, + "peerDependencies": { + "typescript": "^3 || ^4 || ^5" + } + }, + "node_modules/@nx/node/node_modules/brace-expansion": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", @@ -5305,7 +6262,7 @@ "balanced-match": "^1.0.0" } }, - "node_modules/@nx/js/node_modules/fs-extra": { + "node_modules/@nx/node/node_modules/fs-extra": { "version": "11.2.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", @@ -5319,7 +6276,7 @@ "node": ">=14.14" } }, - "node_modules/@nx/js/node_modules/minimatch": { + "node_modules/@nx/node/node_modules/minimatch": { "version": "9.0.3", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", @@ -5334,10 +6291,10 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@nx/js/node_modules/semver": { - "version": "7.5.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.3.tgz", - "integrity": "sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==", + "node_modules/@nx/node/node_modules/semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", "dev": true, "dependencies": { "lru-cache": "^6.0.0" @@ -5349,7 +6306,7 @@ "node": ">=10" } }, - "node_modules/@nx/js/node_modules/strip-bom": { + "node_modules/@nx/node/node_modules/strip-bom": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", @@ -5358,7 +6315,7 @@ "node": ">=4" } }, - "node_modules/@nx/js/node_modules/tsconfig-paths": { + "node_modules/@nx/node/node_modules/tsconfig-paths": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz", "integrity": "sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==", @@ -5372,29 +6329,6 @@ "node": ">=6" } }, - "node_modules/@nx/linter": { - "version": "18.0.1", - "resolved": "https://registry.npmjs.org/@nx/linter/-/linter-18.0.1.tgz", - "integrity": "sha512-RE24Jjdi3R56g9r05hOe37oXx8d5VkVvUC/njgxdaVYy569lgPdiXD9FHaHBXOwjQ3JF7ItVOd2zNhTiZA1S4Q==", - "dev": true, - "dependencies": { - "@nx/eslint": "18.0.1" - } - }, - "node_modules/@nx/node": { - "version": "18.0.1", - "resolved": "https://registry.npmjs.org/@nx/node/-/node-18.0.1.tgz", - "integrity": "sha512-SG9RapK6OQsOpv+LdD+7UErmN7jjc4WJHoIRjE3NCJQVJYP2zLaus8kfdSBjF6x+jx/y9fyn/Bxhtznp1IjeLw==", - "dev": true, - "dependencies": { - "@nrwl/node": "18.0.1", - "@nx/devkit": "18.0.1", - "@nx/eslint": "18.0.1", - "@nx/jest": "18.0.1", - "@nx/js": "18.0.1", - "tslib": "^2.3.0" - } - }, "node_modules/@nx/nx-darwin-arm64": { "version": "18.0.1", "resolved": "https://registry.npmjs.org/@nx/nx-darwin-arm64/-/nx-darwin-arm64-18.0.1.tgz", @@ -5573,6 +6507,85 @@ "tslib": "^2.3.0" } }, + "node_modules/@nx/react/node_modules/@nrwl/js": { + "version": "18.0.1", + "resolved": "https://registry.npmjs.org/@nrwl/js/-/js-18.0.1.tgz", + "integrity": "sha512-O1wfFdDMvObgqZgH/5qebm9YeN5cJ+UL2fJV2ZnsWVz3e8jhOQLflN3J7jXUWxzsz5stYiplsGpBjgXQRcNwaQ==", + "dev": true, + "dependencies": { + "@nx/js": "18.0.1" + } + }, + "node_modules/@nx/react/node_modules/@nrwl/web": { + "version": "18.0.1", + "resolved": "https://registry.npmjs.org/@nrwl/web/-/web-18.0.1.tgz", + "integrity": "sha512-x6EXhFpgNsLHWQMVilkQBsXI2+otLbTT5TnpwfVUkulNXtA79M6rfnikzt+gQS/vp7l10dXb84Ys2yd4eUyaFQ==", + "dev": true, + "dependencies": { + "@nx/web": "18.0.1" + } + }, + "node_modules/@nx/react/node_modules/@nx/js": { + "version": "18.0.1", + "resolved": "https://registry.npmjs.org/@nx/js/-/js-18.0.1.tgz", + "integrity": "sha512-U/l8K09UMrE4zVXEpmwpRWaY4fCrdcaaB3NXsEUwghJE6OuacADdaQ5ZWPxa0ji3nARKW7Umj87sOlUu8YjpTQ==", + "dev": true, + "dependencies": { + "@babel/core": "^7.23.2", + "@babel/plugin-proposal-decorators": "^7.22.7", + "@babel/plugin-transform-class-properties": "^7.22.5", + "@babel/plugin-transform-runtime": "^7.23.2", + "@babel/preset-env": "^7.23.2", + "@babel/preset-typescript": "^7.22.5", + "@babel/runtime": "^7.22.6", + "@nrwl/js": "18.0.1", + "@nx/devkit": "18.0.1", + "@nx/workspace": "18.0.1", + "@phenomnomnominal/tsquery": "~5.0.1", + "babel-plugin-const-enum": "^1.0.1", + "babel-plugin-macros": "^2.8.0", + "babel-plugin-transform-typescript-metadata": "^0.3.1", + "chalk": "^4.1.0", + "columnify": "^1.6.0", + "detect-port": "^1.5.1", + "fast-glob": "3.2.7", + "fs-extra": "^11.1.0", + "ignore": "^5.0.4", + "js-tokens": "^4.0.0", + "minimatch": "9.0.3", + "npm-package-arg": "11.0.1", + "npm-run-path": "^4.0.1", + "ora": "5.3.0", + "semver": "^7.5.3", + "source-map-support": "0.5.19", + "ts-node": "10.9.1", + "tsconfig-paths": "^4.1.2", + "tslib": "^2.3.0" + }, + "peerDependencies": { + "verdaccio": "^5.0.4" + }, + "peerDependenciesMeta": { + "verdaccio": { + "optional": true + } + } + }, + "node_modules/@nx/react/node_modules/@nx/web": { + "version": "18.0.1", + "resolved": "https://registry.npmjs.org/@nx/web/-/web-18.0.1.tgz", + "integrity": "sha512-F/O/hhbk/tdqbLPfWg+fRVOUVzpmZr6m1tNiHMnK0FPY6r7i66JdhzA/KaaiuH2PD0VJ6gXvkYEauPRvvuOqjQ==", + "dev": true, + "dependencies": { + "@nrwl/web": "18.0.1", + "@nx/devkit": "18.0.1", + "@nx/js": "18.0.1", + "chalk": "^4.1.0", + "detect-port": "^1.5.1", + "http-server": "^14.1.0", + "tslib": "^2.3.0" + } + }, "node_modules/@nx/react/node_modules/@phenomnomnominal/tsquery": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/@phenomnomnominal/tsquery/-/tsquery-5.0.1.tgz", @@ -5898,195 +6911,530 @@ "source-map-js": "^1.0.1" }, "engines": { - "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" + } + }, + "node_modules/@nx/react/node_modules/csso": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz", + "integrity": "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==", + "dev": true, + "dependencies": { + "css-tree": "~2.2.0" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/@nx/react/node_modules/csso/node_modules/css-tree": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz", + "integrity": "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==", + "dev": true, + "dependencies": { + "mdn-data": "2.0.28", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/@nx/react/node_modules/csso/node_modules/mdn-data": { + "version": "2.0.28", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz", + "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==", + "dev": true + }, + "node_modules/@nx/react/node_modules/dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "dev": true, + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/@nx/react/node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "dev": true, + "dependencies": { + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/@nx/react/node_modules/domutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", + "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", + "dev": true, + "dependencies": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/@nx/react/node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true, + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/@nx/react/node_modules/fs-extra": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", + "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/@nx/react/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/@nx/react/node_modules/mdn-data": { + "version": "2.0.30", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", + "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==", + "dev": true + }, + "node_modules/@nx/react/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@nx/react/node_modules/semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@nx/react/node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@nx/react/node_modules/svgo": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-3.2.0.tgz", + "integrity": "sha512-4PP6CMW/V7l/GmKRKzsLR8xxjdHTV4IMvhTnpuHwwBazSIlw5W/5SmPjN8Dwyt7lKbSJrRDgp4t9ph0HgChFBQ==", + "dev": true, + "dependencies": { + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^5.1.0", + "css-tree": "^2.3.1", + "css-what": "^6.1.0", + "csso": "^5.0.5", + "picocolors": "^1.0.0" + }, + "bin": { + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/svgo" + } + }, + "node_modules/@nx/react/node_modules/tsconfig-paths": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz", + "integrity": "sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==", + "dev": true, + "dependencies": { + "json5": "^2.2.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@nx/rollup": { + "version": "18.0.1", + "resolved": "https://registry.npmjs.org/@nx/rollup/-/rollup-18.0.1.tgz", + "integrity": "sha512-VEAGyLV+1NLtPCgO03JwPuWl2kgGrcGA3/QiDMfvBkzXOXr2dY3rZd9qiGmDMeKXhQX6mI9QghIF8SWQWP/kSw==", + "dev": true, + "dependencies": { + "@nrwl/rollup": "18.0.1", + "@nx/devkit": "18.0.1", + "@nx/js": "18.0.1", + "@rollup/plugin-babel": "^5.3.0", + "@rollup/plugin-commonjs": "^20.0.0", + "@rollup/plugin-image": "^2.1.0", + "@rollup/plugin-json": "^4.1.0", + "@rollup/plugin-node-resolve": "^13.0.4", + "autoprefixer": "^10.4.9", + "babel-plugin-transform-async-to-promises": "^0.8.15", + "chalk": "^4.1.0", + "postcss": "^8.4.14", + "rollup": "^2.56.2", + "rollup-plugin-copy": "^3.4.0", + "rollup-plugin-peer-deps-external": "^2.2.4", + "rollup-plugin-postcss": "^4.0.1", + "rollup-plugin-typescript2": "0.34.1", + "rxjs": "^7.8.0", + "tslib": "^2.3.0" + } + }, + "node_modules/@nx/rollup/node_modules/@nrwl/js": { + "version": "18.0.1", + "resolved": "https://registry.npmjs.org/@nrwl/js/-/js-18.0.1.tgz", + "integrity": "sha512-O1wfFdDMvObgqZgH/5qebm9YeN5cJ+UL2fJV2ZnsWVz3e8jhOQLflN3J7jXUWxzsz5stYiplsGpBjgXQRcNwaQ==", + "dev": true, + "dependencies": { + "@nx/js": "18.0.1" + } + }, + "node_modules/@nx/rollup/node_modules/@nx/js": { + "version": "18.0.1", + "resolved": "https://registry.npmjs.org/@nx/js/-/js-18.0.1.tgz", + "integrity": "sha512-U/l8K09UMrE4zVXEpmwpRWaY4fCrdcaaB3NXsEUwghJE6OuacADdaQ5ZWPxa0ji3nARKW7Umj87sOlUu8YjpTQ==", + "dev": true, + "dependencies": { + "@babel/core": "^7.23.2", + "@babel/plugin-proposal-decorators": "^7.22.7", + "@babel/plugin-transform-class-properties": "^7.22.5", + "@babel/plugin-transform-runtime": "^7.23.2", + "@babel/preset-env": "^7.23.2", + "@babel/preset-typescript": "^7.22.5", + "@babel/runtime": "^7.22.6", + "@nrwl/js": "18.0.1", + "@nx/devkit": "18.0.1", + "@nx/workspace": "18.0.1", + "@phenomnomnominal/tsquery": "~5.0.1", + "babel-plugin-const-enum": "^1.0.1", + "babel-plugin-macros": "^2.8.0", + "babel-plugin-transform-typescript-metadata": "^0.3.1", + "chalk": "^4.1.0", + "columnify": "^1.6.0", + "detect-port": "^1.5.1", + "fast-glob": "3.2.7", + "fs-extra": "^11.1.0", + "ignore": "^5.0.4", + "js-tokens": "^4.0.0", + "minimatch": "9.0.3", + "npm-package-arg": "11.0.1", + "npm-run-path": "^4.0.1", + "ora": "5.3.0", + "semver": "^7.5.3", + "source-map-support": "0.5.19", + "ts-node": "10.9.1", + "tsconfig-paths": "^4.1.2", + "tslib": "^2.3.0" + }, + "peerDependencies": { + "verdaccio": "^5.0.4" + }, + "peerDependenciesMeta": { + "verdaccio": { + "optional": true + } + } + }, + "node_modules/@nx/rollup/node_modules/@phenomnomnominal/tsquery": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@phenomnomnominal/tsquery/-/tsquery-5.0.1.tgz", + "integrity": "sha512-3nVv+e2FQwsW8Aw6qTU6f+1rfcJ3hrcnvH/mu9i8YhxO+9sqbOfpL8m6PbET5+xKOlz/VSbp0RoYWYCtIsnmuA==", + "dev": true, + "dependencies": { + "esquery": "^1.4.0" + }, + "peerDependencies": { + "typescript": "^3 || ^4 || ^5" + } + }, + "node_modules/@nx/rollup/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@nx/rollup/node_modules/fs-extra": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", + "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/@nx/rollup/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@nx/rollup/node_modules/semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" } }, - "node_modules/@nx/react/node_modules/csso": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz", - "integrity": "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==", + "node_modules/@nx/rollup/node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", "dev": true, - "dependencies": { - "css-tree": "~2.2.0" - }, "engines": { - "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", - "npm": ">=7.0.0" + "node": ">=4" } }, - "node_modules/@nx/react/node_modules/csso/node_modules/css-tree": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz", - "integrity": "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==", + "node_modules/@nx/rollup/node_modules/tsconfig-paths": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz", + "integrity": "sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==", "dev": true, "dependencies": { - "mdn-data": "2.0.28", - "source-map-js": "^1.0.1" + "json5": "^2.2.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" }, "engines": { - "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", - "npm": ">=7.0.0" + "node": ">=6" } }, - "node_modules/@nx/react/node_modules/csso/node_modules/mdn-data": { - "version": "2.0.28", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz", - "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==", - "dev": true - }, - "node_modules/@nx/react/node_modules/dom-serializer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", - "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "node_modules/@nx/vite": { + "version": "18.3.4", + "resolved": "https://registry.npmjs.org/@nx/vite/-/vite-18.3.4.tgz", + "integrity": "sha512-ZEynabx+GVjUF7t3I4VlY5ivXA2mOTQ4t+pjN9SNs9JdnLTMK/b/rErkNV7Bn2oQK56Ks74Tfbx9r7Dc5S4exg==", "dev": true, "dependencies": { - "domelementtype": "^2.3.0", - "domhandler": "^5.0.2", - "entities": "^4.2.0" + "@nrwl/vite": "18.3.4", + "@nx/devkit": "18.3.4", + "@nx/js": "18.3.4", + "@phenomnomnominal/tsquery": "~5.0.1", + "@swc/helpers": "~0.5.0", + "enquirer": "~2.3.6", + "tsconfig-paths": "^4.1.2" }, - "funding": { - "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + "peerDependencies": { + "vite": "^5.0.0", + "vitest": "^1.3.1" } }, - "node_modules/@nx/react/node_modules/domhandler": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", - "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "node_modules/@nx/vite/node_modules/@nrwl/devkit": { + "version": "18.3.4", + "resolved": "https://registry.npmjs.org/@nrwl/devkit/-/devkit-18.3.4.tgz", + "integrity": "sha512-Fty9Huqm12OYueU3uLJl3uvBUl5BvEyPfvw8+rLiNx9iftdEattM8C+268eAbIRRSLSOVXlWsJH4brlc6QZYYw==", "dev": true, "dependencies": { - "domelementtype": "^2.3.0" - }, - "engines": { - "node": ">= 4" - }, - "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" + "@nx/devkit": "18.3.4" } }, - "node_modules/@nx/react/node_modules/domutils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", - "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", + "node_modules/@nx/vite/node_modules/@nx/devkit": { + "version": "18.3.4", + "resolved": "https://registry.npmjs.org/@nx/devkit/-/devkit-18.3.4.tgz", + "integrity": "sha512-M3htxl5WvlNKK5KNOndCAApbyBCZNTFFs+rtdwvudNZk5+84zAAPaWzSoX9C4XLAW78/f98LzF68/ch05aN12A==", "dev": true, "dependencies": { - "dom-serializer": "^2.0.0", - "domelementtype": "^2.3.0", - "domhandler": "^5.0.3" + "@nrwl/devkit": "18.3.4", + "ejs": "^3.1.7", + "enquirer": "~2.3.6", + "ignore": "^5.0.4", + "semver": "^7.5.3", + "tmp": "~0.2.1", + "tslib": "^2.3.0", + "yargs-parser": "21.1.1" }, - "funding": { - "url": "https://github.com/fb55/domutils?sponsor=1" + "peerDependencies": { + "nx": ">= 16 <= 19" } }, - "node_modules/@nx/react/node_modules/entities": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", - "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "node_modules/@nx/vite/node_modules/@phenomnomnominal/tsquery": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@phenomnomnominal/tsquery/-/tsquery-5.0.1.tgz", + "integrity": "sha512-3nVv+e2FQwsW8Aw6qTU6f+1rfcJ3hrcnvH/mu9i8YhxO+9sqbOfpL8m6PbET5+xKOlz/VSbp0RoYWYCtIsnmuA==", "dev": true, - "engines": { - "node": ">=0.12" + "dependencies": { + "esquery": "^1.4.0" }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" + "peerDependencies": { + "typescript": "^3 || ^4 || ^5" } }, - "node_modules/@nx/react/node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "node_modules/@nx/vite/node_modules/semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", "dev": true, "dependencies": { - "argparse": "^2.0.1" + "lru-cache": "^6.0.0" }, "bin": { - "js-yaml": "bin/js-yaml.js" + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" } }, - "node_modules/@nx/react/node_modules/mdn-data": { - "version": "2.0.30", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", - "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==", - "dev": true - }, - "node_modules/@nx/react/node_modules/minimatch": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", - "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "node_modules/@nx/vite/node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">=4" } }, - "node_modules/@nx/react/node_modules/svgo": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-3.2.0.tgz", - "integrity": "sha512-4PP6CMW/V7l/GmKRKzsLR8xxjdHTV4IMvhTnpuHwwBazSIlw5W/5SmPjN8Dwyt7lKbSJrRDgp4t9ph0HgChFBQ==", + "node_modules/@nx/vite/node_modules/tsconfig-paths": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz", + "integrity": "sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==", "dev": true, "dependencies": { - "@trysound/sax": "0.2.0", - "commander": "^7.2.0", - "css-select": "^5.1.0", - "css-tree": "^2.3.1", - "css-what": "^6.1.0", - "csso": "^5.0.5", - "picocolors": "^1.0.0" - }, - "bin": { - "svgo": "bin/svgo" + "json5": "^2.2.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" }, "engines": { - "node": ">=14.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/svgo" + "node": ">=6" } }, - "node_modules/@nx/rollup": { - "version": "18.0.1", - "resolved": "https://registry.npmjs.org/@nx/rollup/-/rollup-18.0.1.tgz", - "integrity": "sha512-VEAGyLV+1NLtPCgO03JwPuWl2kgGrcGA3/QiDMfvBkzXOXr2dY3rZd9qiGmDMeKXhQX6mI9QghIF8SWQWP/kSw==", + "node_modules/@nx/web": { + "version": "18.3.4", + "resolved": "https://registry.npmjs.org/@nx/web/-/web-18.3.4.tgz", + "integrity": "sha512-d+BCmJyELI2JXMtqnF7re8g/98pEyej8gUhL7ewywZ/LMEWJ8toG7yrEZoA6o2tlO3Fn63+7kUun7s5ZpkRElA==", "dev": true, "dependencies": { - "@nrwl/rollup": "18.0.1", - "@nx/devkit": "18.0.1", - "@nx/js": "18.0.1", - "@rollup/plugin-babel": "^5.3.0", - "@rollup/plugin-commonjs": "^20.0.0", - "@rollup/plugin-image": "^2.1.0", - "@rollup/plugin-json": "^4.1.0", - "@rollup/plugin-node-resolve": "^13.0.4", - "autoprefixer": "^10.4.9", - "babel-plugin-transform-async-to-promises": "^0.8.15", + "@nrwl/web": "18.3.4", + "@nx/devkit": "18.3.4", + "@nx/js": "18.3.4", "chalk": "^4.1.0", - "postcss": "^8.4.14", - "rollup": "^2.56.2", - "rollup-plugin-copy": "^3.4.0", - "rollup-plugin-peer-deps-external": "^2.2.4", - "rollup-plugin-postcss": "^4.0.1", - "rollup-plugin-typescript2": "0.34.1", - "rxjs": "^7.8.0", + "detect-port": "^1.5.1", + "http-server": "^14.1.0", "tslib": "^2.3.0" } }, - "node_modules/@nx/web": { - "version": "18.0.1", - "resolved": "https://registry.npmjs.org/@nx/web/-/web-18.0.1.tgz", - "integrity": "sha512-F/O/hhbk/tdqbLPfWg+fRVOUVzpmZr6m1tNiHMnK0FPY6r7i66JdhzA/KaaiuH2PD0VJ6gXvkYEauPRvvuOqjQ==", + "node_modules/@nx/web/node_modules/@nrwl/devkit": { + "version": "18.3.4", + "resolved": "https://registry.npmjs.org/@nrwl/devkit/-/devkit-18.3.4.tgz", + "integrity": "sha512-Fty9Huqm12OYueU3uLJl3uvBUl5BvEyPfvw8+rLiNx9iftdEattM8C+268eAbIRRSLSOVXlWsJH4brlc6QZYYw==", "dev": true, "dependencies": { - "@nrwl/web": "18.0.1", - "@nx/devkit": "18.0.1", - "@nx/js": "18.0.1", - "chalk": "^4.1.0", - "detect-port": "^1.5.1", - "http-server": "^14.1.0", - "tslib": "^2.3.0" + "@nx/devkit": "18.3.4" + } + }, + "node_modules/@nx/web/node_modules/@nx/devkit": { + "version": "18.3.4", + "resolved": "https://registry.npmjs.org/@nx/devkit/-/devkit-18.3.4.tgz", + "integrity": "sha512-M3htxl5WvlNKK5KNOndCAApbyBCZNTFFs+rtdwvudNZk5+84zAAPaWzSoX9C4XLAW78/f98LzF68/ch05aN12A==", + "dev": true, + "dependencies": { + "@nrwl/devkit": "18.3.4", + "ejs": "^3.1.7", + "enquirer": "~2.3.6", + "ignore": "^5.0.4", + "semver": "^7.5.3", + "tmp": "~0.2.1", + "tslib": "^2.3.0", + "yargs-parser": "21.1.1" + }, + "peerDependencies": { + "nx": ">= 16 <= 19" + } + }, + "node_modules/@nx/web/node_modules/semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" } }, "node_modules/@nx/webpack": { @@ -6133,6 +7481,73 @@ "webpack-subresource-integrity": "^5.1.0" } }, + "node_modules/@nx/webpack/node_modules/@nrwl/js": { + "version": "18.0.1", + "resolved": "https://registry.npmjs.org/@nrwl/js/-/js-18.0.1.tgz", + "integrity": "sha512-O1wfFdDMvObgqZgH/5qebm9YeN5cJ+UL2fJV2ZnsWVz3e8jhOQLflN3J7jXUWxzsz5stYiplsGpBjgXQRcNwaQ==", + "dev": true, + "dependencies": { + "@nx/js": "18.0.1" + } + }, + "node_modules/@nx/webpack/node_modules/@nx/js": { + "version": "18.0.1", + "resolved": "https://registry.npmjs.org/@nx/js/-/js-18.0.1.tgz", + "integrity": "sha512-U/l8K09UMrE4zVXEpmwpRWaY4fCrdcaaB3NXsEUwghJE6OuacADdaQ5ZWPxa0ji3nARKW7Umj87sOlUu8YjpTQ==", + "dev": true, + "dependencies": { + "@babel/core": "^7.23.2", + "@babel/plugin-proposal-decorators": "^7.22.7", + "@babel/plugin-transform-class-properties": "^7.22.5", + "@babel/plugin-transform-runtime": "^7.23.2", + "@babel/preset-env": "^7.23.2", + "@babel/preset-typescript": "^7.22.5", + "@babel/runtime": "^7.22.6", + "@nrwl/js": "18.0.1", + "@nx/devkit": "18.0.1", + "@nx/workspace": "18.0.1", + "@phenomnomnominal/tsquery": "~5.0.1", + "babel-plugin-const-enum": "^1.0.1", + "babel-plugin-macros": "^2.8.0", + "babel-plugin-transform-typescript-metadata": "^0.3.1", + "chalk": "^4.1.0", + "columnify": "^1.6.0", + "detect-port": "^1.5.1", + "fast-glob": "3.2.7", + "fs-extra": "^11.1.0", + "ignore": "^5.0.4", + "js-tokens": "^4.0.0", + "minimatch": "9.0.3", + "npm-package-arg": "11.0.1", + "npm-run-path": "^4.0.1", + "ora": "5.3.0", + "semver": "^7.5.3", + "source-map-support": "0.5.19", + "ts-node": "10.9.1", + "tsconfig-paths": "^4.1.2", + "tslib": "^2.3.0" + }, + "peerDependencies": { + "verdaccio": "^5.0.4" + }, + "peerDependenciesMeta": { + "verdaccio": { + "optional": true + } + } + }, + "node_modules/@nx/webpack/node_modules/@phenomnomnominal/tsquery": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@phenomnomnominal/tsquery/-/tsquery-5.0.1.tgz", + "integrity": "sha512-3nVv+e2FQwsW8Aw6qTU6f+1rfcJ3hrcnvH/mu9i8YhxO+9sqbOfpL8m6PbET5+xKOlz/VSbp0RoYWYCtIsnmuA==", + "dev": true, + "dependencies": { + "esquery": "^1.4.0" + }, + "peerDependencies": { + "typescript": "^3 || ^4 || ^5" + } + }, "node_modules/@nx/webpack/node_modules/ajv": { "version": "8.12.0", "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", @@ -6178,6 +7593,15 @@ "webpack": ">=5" } }, + "node_modules/@nx/webpack/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, "node_modules/@nx/webpack/node_modules/find-cache-dir": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-4.0.0.tgz", @@ -6210,6 +7634,20 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/@nx/webpack/node_modules/fs-extra": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", + "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, "node_modules/@nx/webpack/node_modules/json-schema-traverse": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", @@ -6231,6 +7669,21 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/@nx/webpack/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/@nx/webpack/node_modules/p-limit": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", @@ -6310,6 +7763,44 @@ "url": "https://opencollective.com/webpack" } }, + "node_modules/@nx/webpack/node_modules/semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@nx/webpack/node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@nx/webpack/node_modules/tsconfig-paths": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz", + "integrity": "sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==", + "dev": true, + "dependencies": { + "json5": "^2.2.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, "node_modules/@nx/webpack/node_modules/yocto-queue": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz", @@ -6350,9 +7841,9 @@ } }, "node_modules/@polka/url": { - "version": "1.0.0-next.21", - "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.21.tgz", - "integrity": "sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==" + "version": "1.0.0-next.25", + "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.25.tgz", + "integrity": "sha512-j7P6Rgr3mmtdkeDGTe0E/aYyWEWVtc5yFXtHCRHs28/jptDEWfaVOc5T7cblqy1XKPPfCxJc/8DwQ5YgLOZOVQ==" }, "node_modules/@protobufjs/aspromise": { "version": "1.1.2", @@ -6529,6 +8020,214 @@ "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", "dev": true }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.17.2.tgz", + "integrity": "sha512-NM0jFxY8bB8QLkoKxIQeObCaDlJKewVlIEkuyYKm5An1tdVZ966w2+MPQ2l8LBZLjR+SgyV+nRkTIunzOYBMLQ==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.17.2.tgz", + "integrity": "sha512-yeX/Usk7daNIVwkq2uGoq2BYJKZY1JfyLTaHO/jaiSwi/lsf8fTFoQW/n6IdAsx5tx+iotu2zCJwz8MxI6D/Bw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.17.2.tgz", + "integrity": "sha512-kcMLpE6uCwls023+kknm71ug7MZOrtXo+y5p/tsg6jltpDtgQY1Eq5sGfHcQfb+lfuKwhBmEURDga9N0ol4YPw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.17.2.tgz", + "integrity": "sha512-AtKwD0VEx0zWkL0ZjixEkp5tbNLzX+FCqGG1SvOu993HnSz4qDI6S4kGzubrEJAljpVkhRSlg5bzpV//E6ysTQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.17.2.tgz", + "integrity": "sha512-3reX2fUHqN7sffBNqmEyMQVj/CKhIHZd4y631duy0hZqI8Qoqf6lTtmAKvJFYa6bhU95B1D0WgzHkmTg33In0A==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.17.2.tgz", + "integrity": "sha512-uSqpsp91mheRgw96xtyAGP9FW5ChctTFEoXP0r5FAzj/3ZRv3Uxjtc7taRQSaQM/q85KEKjKsZuiZM3GyUivRg==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.17.2.tgz", + "integrity": "sha512-EMMPHkiCRtE8Wdk3Qhtciq6BndLtstqZIroHiiGzB3C5LDJmIZcSzVtLRbwuXuUft1Cnv+9fxuDtDxz3k3EW2A==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.17.2.tgz", + "integrity": "sha512-NMPylUUZ1i0z/xJUIx6VUhISZDRT+uTWpBcjdv0/zkp7b/bQDF+NfnfdzuTiB1G6HTodgoFa93hp0O1xl+/UbA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.17.2.tgz", + "integrity": "sha512-T19My13y8uYXPw/L/k0JYaX1fJKFT/PWdXiHr8mTbXWxjVF1t+8Xl31DgBBvEKclw+1b00Chg0hxE2O7bTG7GQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.17.2.tgz", + "integrity": "sha512-BOaNfthf3X3fOWAB+IJ9kxTgPmMqPPH5f5k2DcCsRrBIbWnaJCgX2ll77dV1TdSy9SaXTR5iDXRL8n7AnoP5cg==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.17.2.tgz", + "integrity": "sha512-W0UP/x7bnn3xN2eYMql2T/+wpASLE5SjObXILTMPUBDB/Fg/FxC+gX4nvCfPBCbNhz51C+HcqQp2qQ4u25ok6g==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.17.2.tgz", + "integrity": "sha512-Hy7pLwByUOuyaFC6mAr7m+oMC+V7qyifzs/nW2OJfC8H4hbCzOX07Ov0VFk/zP3kBsELWNFi7rJtgbKYsav9QQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.17.2.tgz", + "integrity": "sha512-h1+yTWeYbRdAyJ/jMiVw0l6fOOm/0D1vNLui9iPuqgRGnXA0u21gAqOyB5iHjlM9MMfNOm9RHCQ7zLIzT0x11Q==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.17.2.tgz", + "integrity": "sha512-tmdtXMfKAjy5+IQsVtDiCfqbynAQE/TQRpWdVataHmhMb9DCoJxp9vLcCBjEQWMiUYxO1QprH/HbY9ragCEFLA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.17.2.tgz", + "integrity": "sha512-7II/QCSTAHuE5vdZaQEwJq2ZACkBpQDOmQsE6D6XUbnBHW8IAhm4eTufL6msLJorzrHDFv3CF8oCA/hSIRuZeQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.17.2.tgz", + "integrity": "sha512-TGGO7v7qOq4CYmSBVEYpI1Y5xDuCEnbVC5Vth8mOsW0gDSzxNrVERPc790IGHsrT2dQSimgMr9Ub3Y1Jci5/8w==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, "node_modules/@rushstack/eslint-patch": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.2.0.tgz", @@ -6854,6 +8553,287 @@ "url": "https://github.com/sponsors/gregberge" } }, + "node_modules/@swc-node/core": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/@swc-node/core/-/core-1.13.1.tgz", + "integrity": "sha512-emB5l2nZsXjUEAuusqjYvWnQMLWZp6K039Mv8aq5SX1rsNM/N7DNhw1i4/DX7AyzNZ0tT+ASWyTvqEURldp5HA==", + "dev": true, + "engines": { + "node": ">= 10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + }, + "peerDependencies": { + "@swc/core": ">= 1.4.13", + "@swc/types": ">= 0.1" + } + }, + "node_modules/@swc-node/register": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@swc-node/register/-/register-1.8.0.tgz", + "integrity": "sha512-8K3589HoBSmVmrEVrtr4K5sWEithpGDzcFGic81OW0A9sZY38IV5EGRODQWCk0SBDyLhaF+pid120vJAtsHo1A==", + "dev": true, + "dependencies": { + "@swc-node/core": "^1.12.0", + "@swc-node/sourcemap-support": "^0.4.0", + "colorette": "^2.0.20", + "debug": "^4.3.4", + "pirates": "^4.0.6", + "tslib": "^2.6.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + }, + "peerDependencies": { + "@swc/core": ">= 1.3", + "typescript": ">= 4.3" + } + }, + "node_modules/@swc-node/sourcemap-support": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@swc-node/sourcemap-support/-/sourcemap-support-0.4.0.tgz", + "integrity": "sha512-weuRmYTO+4yOtHtPZHXlPdA1dJJJp3QOoZAFZ6uZidu992F2X5v1fQdnb26xs1o3Ex/e2sYhRyY5R6NGNuoATQ==", + "dev": true, + "dependencies": { + "source-map-support": "^0.5.21", + "tslib": "^2.6.2" + } + }, + "node_modules/@swc-node/sourcemap-support/node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/@swc/core": { + "version": "1.3.107", + "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.3.107.tgz", + "integrity": "sha512-zKhqDyFcTsyLIYK1iEmavljZnf4CCor5pF52UzLAz4B6Nu/4GLU+2LQVAf+oRHjusG39PTPjd2AlRT3f3QWfsQ==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "@swc/counter": "^0.1.1", + "@swc/types": "^0.1.5" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/swc" + }, + "optionalDependencies": { + "@swc/core-darwin-arm64": "1.3.107", + "@swc/core-darwin-x64": "1.3.107", + "@swc/core-linux-arm-gnueabihf": "1.3.107", + "@swc/core-linux-arm64-gnu": "1.3.107", + "@swc/core-linux-arm64-musl": "1.3.107", + "@swc/core-linux-x64-gnu": "1.3.107", + "@swc/core-linux-x64-musl": "1.3.107", + "@swc/core-win32-arm64-msvc": "1.3.107", + "@swc/core-win32-ia32-msvc": "1.3.107", + "@swc/core-win32-x64-msvc": "1.3.107" + }, + "peerDependencies": { + "@swc/helpers": "^0.5.0" + }, + "peerDependenciesMeta": { + "@swc/helpers": { + "optional": true + } + } + }, + "node_modules/@swc/core-darwin-arm64": { + "version": "1.3.107", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.3.107.tgz", + "integrity": "sha512-47tD/5vSXWxPd0j/ZllyQUg4bqalbQTsmqSw0J4dDdS82MWqCAwUErUrAZPRjBkjNQ6Kmrf5rpCWaGTtPw+ngw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-darwin-x64": { + "version": "1.3.107", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.3.107.tgz", + "integrity": "sha512-hwiLJ2ulNkBGAh1m1eTfeY1417OAYbRGcb/iGsJ+LuVLvKAhU/itzsl535CvcwAlt2LayeCFfcI8gdeOLeZa9A==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-arm-gnueabihf": { + "version": "1.3.107", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.3.107.tgz", + "integrity": "sha512-I2wzcC0KXqh0OwymCmYwNRgZ9nxX7DWnOOStJXV3pS0uB83TXAkmqd7wvMBuIl9qu4Hfomi9aDM7IlEEn9tumQ==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-arm64-gnu": { + "version": "1.3.107", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.3.107.tgz", + "integrity": "sha512-HWgnn7JORYlOYnGsdunpSF8A+BCZKPLzLtEUA27/M/ZuANcMZabKL9Zurt7XQXq888uJFAt98Gy+59PU90aHKg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-arm64-musl": { + "version": "1.3.107", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.3.107.tgz", + "integrity": "sha512-vfPF74cWfAm8hyhS8yvYI94ucMHIo8xIYU+oFOW9uvDlGQRgnUf/6DEVbLyt/3yfX5723Ln57U8uiMALbX5Pyw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-x64-gnu": { + "version": "1.3.107", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.3.107.tgz", + "integrity": "sha512-uBVNhIg0ip8rH9OnOsCARUFZ3Mq3tbPHxtmWk9uAa5u8jQwGWeBx5+nTHpDOVd3YxKb6+5xDEI/edeeLpha/9g==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-x64-musl": { + "version": "1.3.107", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.3.107.tgz", + "integrity": "sha512-mvACkUvzSIB12q1H5JtabWATbk3AG+pQgXEN95AmEX2ZA5gbP9+B+mijsg7Sd/3tboHr7ZHLz/q3SHTvdFJrEw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-win32-arm64-msvc": { + "version": "1.3.107", + "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.3.107.tgz", + "integrity": "sha512-J3P14Ngy/1qtapzbguEH41kY109t6DFxfbK4Ntz9dOWNuVY3o9/RTB841ctnJk0ZHEG+BjfCJjsD2n8H5HcaOA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-win32-ia32-msvc": { + "version": "1.3.107", + "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.3.107.tgz", + "integrity": "sha512-ZBUtgyjTHlz8TPJh7kfwwwFma+ktr6OccB1oXC8fMSopD0AxVnQasgun3l3099wIsAB9eEsJDQ/3lDkOLs1gBA==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-win32-x64-msvc": { + "version": "1.3.107", + "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.3.107.tgz", + "integrity": "sha512-Eyzo2XRqWOxqhE1gk9h7LWmUf4Bp4Xn2Ttb0ayAXFp6YSTxQIThXcT9kipXZqcpxcmDwoq8iWbbf2P8XL743EA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/counter": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz", + "integrity": "sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==", + "dev": true + }, + "node_modules/@swc/helpers": { + "version": "0.5.11", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.11.tgz", + "integrity": "sha512-YNlnKRWF2sVojTpIyzwou9XoTNbzbzONwRhOoniEioF1AtaitTvVZblaQRrAzChWQ1bLYyYSWzM18y4WwgzJ+A==", + "dev": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@swc/types": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/@swc/types/-/types-0.1.6.tgz", + "integrity": "sha512-/JLo/l2JsT/LRd80C3HfbmVpxOAJ11FO2RCEslFrgzLltoP9j8XIbsyDcfCt2WWyX+CM96rBoNM+IToAkFOugg==", + "dev": true, + "dependencies": { + "@swc/counter": "^0.1.3" + } + }, "node_modules/@tootallnate/once": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", @@ -8321,6 +10301,239 @@ "url": "https://opencollective.com/typescript-eslint" } }, + "node_modules/@vitest/coverage-v8": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-1.5.3.tgz", + "integrity": "sha512-DPyGSu/fPHOJuPxzFSQoT4N/Fu/2aJfZRtEpEp8GI7NHsXBGE94CQ+pbEGBUMFjatsHPDJw/+TAF9r4ens2CNw==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "^2.2.1", + "@bcoe/v8-coverage": "^0.2.3", + "debug": "^4.3.4", + "istanbul-lib-coverage": "^3.2.2", + "istanbul-lib-report": "^3.0.1", + "istanbul-lib-source-maps": "^5.0.4", + "istanbul-reports": "^3.1.6", + "magic-string": "^0.30.5", + "magicast": "^0.3.3", + "picocolors": "^1.0.0", + "std-env": "^3.5.0", + "strip-literal": "^2.0.0", + "test-exclude": "^6.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "vitest": "1.5.3" + } + }, + "node_modules/@vitest/coverage-v8/node_modules/istanbul-lib-source-maps": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-5.0.4.tgz", + "integrity": "sha512-wHOoEsNJTVltaJp8eVkm8w+GVkVNHT2YDYo53YdzQEL2gWm1hBX5cGFR9hQJtuGLebidVX7et3+dmDZrmclduw==", + "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.23", + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@vitest/coverage-v8/node_modules/magic-string": { + "version": "0.30.10", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.10.tgz", + "integrity": "sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==", + "dev": true, + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.15" + } + }, + "node_modules/@vitest/expect": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-1.5.3.tgz", + "integrity": "sha512-y+waPz31pOFr3rD7vWTbwiLe5+MgsMm40jTZbQE8p8/qXyBX3CQsIXRx9XK12IbY7q/t5a5aM/ckt33b4PxK2g==", + "dev": true, + "dependencies": { + "@vitest/spy": "1.5.3", + "@vitest/utils": "1.5.3", + "chai": "^4.3.10" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/runner": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-1.5.3.tgz", + "integrity": "sha512-7PlfuReN8692IKQIdCxwir1AOaP5THfNkp0Uc4BKr2na+9lALNit7ub9l3/R7MP8aV61+mHKRGiqEKRIwu6iiQ==", + "dev": true, + "dependencies": { + "@vitest/utils": "1.5.3", + "p-limit": "^5.0.0", + "pathe": "^1.1.1" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/runner/node_modules/p-limit": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-5.0.0.tgz", + "integrity": "sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^1.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@vitest/runner/node_modules/yocto-queue": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz", + "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==", + "dev": true, + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@vitest/snapshot": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-1.5.3.tgz", + "integrity": "sha512-K3mvIsjyKYBhNIDujMD2gfQEzddLe51nNOAf45yKRt/QFJcUIeTQd2trRvv6M6oCBHNVnZwFWbQ4yj96ibiDsA==", + "dev": true, + "dependencies": { + "magic-string": "^0.30.5", + "pathe": "^1.1.1", + "pretty-format": "^29.7.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/snapshot/node_modules/magic-string": { + "version": "0.30.10", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.10.tgz", + "integrity": "sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==", + "dev": true, + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.15" + } + }, + "node_modules/@vitest/spy": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-1.5.3.tgz", + "integrity": "sha512-Llj7Jgs6lbnL55WoshJUUacdJfjU2honvGcAJBxhra5TPEzTJH8ZuhI3p/JwqqfnTr4PmP7nDmOXP53MS7GJlg==", + "dev": true, + "dependencies": { + "tinyspy": "^2.2.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/ui": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/@vitest/ui/-/ui-1.5.3.tgz", + "integrity": "sha512-DoSA5YxcUmeBEK7kJHzXiL2I0d9AijWI33arnUrwiWFDxgZPDxTjvSVsiXhe8qfqhloIHkwazl5E2rhlDd/ErA==", + "dev": true, + "dependencies": { + "@vitest/utils": "1.5.3", + "fast-glob": "^3.3.2", + "fflate": "^0.8.1", + "flatted": "^3.2.9", + "pathe": "^1.1.1", + "picocolors": "^1.0.0", + "sirv": "^2.0.4" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "vitest": "1.5.3" + } + }, + "node_modules/@vitest/ui/node_modules/fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "dev": true, + "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" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/@vitest/ui/node_modules/mrmime": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.0.tgz", + "integrity": "sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/@vitest/ui/node_modules/sirv": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/sirv/-/sirv-2.0.4.tgz", + "integrity": "sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==", + "dev": true, + "dependencies": { + "@polka/url": "^1.0.0-next.24", + "mrmime": "^2.0.0", + "totalist": "^3.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@vitest/ui/node_modules/totalist": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz", + "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/@vitest/utils": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-1.5.3.tgz", + "integrity": "sha512-rE9DTN1BRhzkzqNQO+kw8ZgfeEBCLXiHJwetk668shmNBpSagQxneT5eSqEBLP+cqSiAeecvQmbpFfdMyLcIQA==", + "dev": true, + "dependencies": { + "diff-sequences": "^29.6.3", + "estree-walker": "^3.0.3", + "loupe": "^2.3.7", + "pretty-format": "^29.7.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/utils/node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "dev": true, + "dependencies": { + "@types/estree": "^1.0.0" + } + }, "node_modules/@vscode/vsce": { "version": "2.19.0", "resolved": "https://registry.npmjs.org/@vscode/vsce/-/vsce-2.19.0.tgz", @@ -8678,9 +10891,9 @@ } }, "node_modules/acorn-walk": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", - "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.2.tgz", + "integrity": "sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==", "engines": { "node": ">=0.4.0" } @@ -9099,6 +11312,15 @@ "util": "^0.12.0" } }, + "node_modules/assertion-error": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", + "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", + "dev": true, + "engines": { + "node": "*" + } + }, "node_modules/ast-types-flow": { "version": "0.0.7", "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", @@ -9983,6 +12205,15 @@ "node": ">= 0.8" } }, + "node_modules/cac": { + "version": "6.7.14", + "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", + "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/cacache": { "version": "15.3.0", "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz", @@ -10108,6 +12339,24 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/chai": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.4.1.tgz", + "integrity": "sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==", + "dev": true, + "dependencies": { + "assertion-error": "^1.1.0", + "check-error": "^1.0.3", + "deep-eql": "^4.1.3", + "get-func-name": "^2.0.2", + "loupe": "^2.3.6", + "pathval": "^1.1.1", + "type-detect": "^4.0.8" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/chainsaw": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/chainsaw/-/chainsaw-0.1.0.tgz", @@ -10170,6 +12419,18 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/check-error": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz", + "integrity": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==", + "dev": true, + "dependencies": { + "get-func-name": "^2.0.2" + }, + "engines": { + "node": "*" + } + }, "node_modules/cheerio": { "version": "1.0.0-rc.12", "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz", @@ -10586,9 +12847,9 @@ "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==" }, "node_modules/colorette": { - "version": "2.0.19", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz", - "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==" + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==" }, "node_modules/columnify": { "version": "1.6.0", @@ -10725,6 +12986,12 @@ "source-map": "^0.6.1" } }, + "node_modules/confbox": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.1.7.tgz", + "integrity": "sha512-uJcB/FKZtBMCJpK8MQji6bJHgu1tixKPxRLeGkNzBoOZzpnZUJm0jm2/sBDWcuBx1dYgxV4JU+g5hmNxCyAmdA==", + "dev": true + }, "node_modules/configstore": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz", @@ -12641,6 +14908,18 @@ } } }, + "node_modules/deep-eql": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz", + "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==", + "dev": true, + "dependencies": { + "type-detect": "^4.0.0" + }, + "engines": { + "node": ">=6" + } + }, "node_modules/deep-extend": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", @@ -14614,6 +16893,12 @@ "node": ">=0.4.0" } }, + "node_modules/fflate": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.8.2.tgz", + "integrity": "sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==", + "dev": true + }, "node_modules/figures": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", @@ -14807,9 +17092,9 @@ } }, "node_modules/flatted": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", - "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", + "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", "dev": true }, "node_modules/flux": { @@ -15005,9 +17290,9 @@ "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" }, "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", "hasInstallScript": true, "optional": true, "os": [ @@ -15139,6 +17424,15 @@ "node": "6.* || 8.* || >= 10.*" } }, + "node_modules/get-func-name": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", + "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==", + "dev": true, + "engines": { + "node": "*" + } + }, "node_modules/get-intrinsic": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz", @@ -18258,6 +20552,22 @@ "node": ">=8.9.0" } }, + "node_modules/local-pkg": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.5.0.tgz", + "integrity": "sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==", + "dev": true, + "dependencies": { + "mlly": "^1.4.2", + "pkg-types": "^1.0.3" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, "node_modules/locate-path": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", @@ -18408,6 +20718,15 @@ "loose-envify": "cli.js" } }, + "node_modules/loupe": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.7.tgz", + "integrity": "sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==", + "dev": true, + "dependencies": { + "get-func-name": "^2.0.1" + } + }, "node_modules/lower-case": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", @@ -18436,6 +20755,17 @@ "sourcemap-codec": "^1.4.8" } }, + "node_modules/magicast": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/magicast/-/magicast-0.3.4.tgz", + "integrity": "sha512-TyDF/Pn36bBji9rWKHlZe+PZb6Mx5V8IHCSxk7X4aljM4e/vyDvZZYwHewdVaqiA0nb3ghfHU/6AUpDxWoER2Q==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.24.4", + "@babel/types": "^7.24.0", + "source-map-js": "^1.2.0" + } + }, "node_modules/make-dir": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", @@ -18979,6 +21309,18 @@ "dev": true, "optional": true }, + "node_modules/mlly": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.7.0.tgz", + "integrity": "sha512-U9SDaXGEREBYQgfejV97coK0UL1r+qnF2SyO9A3qcI8MzKnsIFKHNVEkrDyNncQTKQQumsasmeq84eNMdBfsNQ==", + "dev": true, + "dependencies": { + "acorn": "^8.11.3", + "pathe": "^1.1.2", + "pkg-types": "^1.1.0", + "ufo": "^1.5.3" + } + }, "node_modules/monaco-editor": { "version": "0.34.1", "resolved": "https://registry.npmjs.org/monaco-editor/-/monaco-editor-0.34.1.tgz", @@ -20346,6 +22688,21 @@ "node": ">=8" } }, + "node_modules/pathe": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz", + "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==", + "dev": true + }, + "node_modules/pathval": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", + "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", + "dev": true, + "engines": { + "node": "*" + } + }, "node_modules/pend": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", @@ -20474,6 +22831,17 @@ "node": ">=8" } }, + "node_modules/pkg-types": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.1.0.tgz", + "integrity": "sha512-/RpmvKdxKf8uILTtoOhAgf30wYbP2Qw+L9p3Rvshx1JZVX+XQNZQFjlbmGHEGIm4CkVPlSn+NXmIM8+9oWQaSA==", + "dev": true, + "dependencies": { + "confbox": "^0.1.7", + "mlly": "^1.6.1", + "pathe": "^1.1.2" + } + }, "node_modules/pkg-up": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", @@ -23674,6 +26042,12 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/siginfo": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz", + "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==", + "dev": true + }, "node_modules/signal-exit": { "version": "3.0.7", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", @@ -23855,9 +26229,9 @@ } }, "node_modules/source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", + "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", "engines": { "node": ">=0.10.0" } @@ -24016,6 +26390,12 @@ "node": ">=8" } }, + "node_modules/stackback": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", + "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==", + "dev": true + }, "node_modules/state-toggle": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/state-toggle/-/state-toggle-1.0.3.tgz", @@ -24034,9 +26414,9 @@ } }, "node_modules/std-env": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.3.2.tgz", - "integrity": "sha512-uUZI65yrV2Qva5gqE0+A7uVAvO40iPo6jGhs7s8keRfHCmtg+uB2X6EiLGCI9IgL1J17xGhvoOqSz79lzICPTA==" + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.7.0.tgz", + "integrity": "sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==" }, "node_modules/string_decoder": { "version": "1.3.0", @@ -24191,6 +26571,24 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/strip-literal": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-2.1.0.tgz", + "integrity": "sha512-Op+UycaUt/8FbN/Z2TWPBLge3jWrP3xj10f3fnYxf052bKuS3EKs1ZQcVGjnEMdsNVAM+plXRdmjrZ/KgG3Skw==", + "dev": true, + "dependencies": { + "js-tokens": "^9.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/strip-literal/node_modules/js-tokens": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-9.0.0.tgz", + "integrity": "sha512-WriZw1luRMlmV3LGJaR6QOJjWwgLUTf89OwT2lUOyjX2dJGBwgmIkbcz+7WFZjrZM635JOIR517++e/67CP9dQ==", + "dev": true + }, "node_modules/strong-log-transformer": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/strong-log-transformer/-/strong-log-transformer-2.1.0.tgz", @@ -24594,6 +26992,30 @@ "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz", "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==" }, + "node_modules/tinybench": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.8.0.tgz", + "integrity": "sha512-1/eK7zUnIklz4JUUlL+658n58XO2hHLQfSk1Zf2LKieUjxidN16eKFEoDEfjHc3ohofSSqK3X5yO6VGb6iW8Lw==", + "dev": true + }, + "node_modules/tinypool": { + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-0.8.4.tgz", + "integrity": "sha512-i11VH5gS6IFeLY3gMBQ00/MmLncVP7JLXOw1vlgkytLmJK7QnEr7NXf0LBdxfmNPAeyetukOk0bOYrJrFGjYJQ==", + "dev": true, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/tinyspy": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-2.2.1.tgz", + "integrity": "sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==", + "dev": true, + "engines": { + "node": ">=14.0.0" + } + }, "node_modules/tmp": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", @@ -24935,9 +27357,9 @@ } }, "node_modules/tslib": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz", - "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==" + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" }, "node_modules/tsutils": { "version": "3.21.0", @@ -25088,6 +27510,12 @@ "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz", "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==" }, + "node_modules/ufo": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.5.3.tgz", + "integrity": "sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==", + "dev": true + }, "node_modules/uglify-js": { "version": "3.17.4", "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.4.tgz", @@ -25814,6 +28242,326 @@ "node": ">=4" } }, + "node_modules/vite": { + "version": "5.0.13", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.0.13.tgz", + "integrity": "sha512-/9ovhv2M2dGTuA+dY93B9trfyWMDRQw2jdVBhHNP6wr0oF34wG2i/N55801iZIpgUpnHDm4F/FabGQLyc+eOgg==", + "dev": true, + "dependencies": { + "esbuild": "^0.19.3", + "postcss": "^8.4.32", + "rollup": "^4.2.0" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || >=20.0.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/vite-node": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-1.5.3.tgz", + "integrity": "sha512-axFo00qiCpU/JLd8N1gu9iEYL3xTbMbMrbe5nDp9GL0nb6gurIdZLkkFogZXWnE8Oyy5kfSLwNVIcVsnhE7lgQ==", + "dev": true, + "dependencies": { + "cac": "^6.7.14", + "debug": "^4.3.4", + "pathe": "^1.1.1", + "picocolors": "^1.0.0", + "vite": "^5.0.0" + }, + "bin": { + "vite-node": "vite-node.mjs" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/vite/node_modules/rollup": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.17.2.tgz", + "integrity": "sha512-/9ClTJPByC0U4zNLowV1tMBe8yMEAxewtR3cUNX5BoEpGH3dQEWpJLr6CLp0fPdYRF/fzVOgvDb1zXuakwF5kQ==", + "dev": true, + "dependencies": { + "@types/estree": "1.0.5" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.17.2", + "@rollup/rollup-android-arm64": "4.17.2", + "@rollup/rollup-darwin-arm64": "4.17.2", + "@rollup/rollup-darwin-x64": "4.17.2", + "@rollup/rollup-linux-arm-gnueabihf": "4.17.2", + "@rollup/rollup-linux-arm-musleabihf": "4.17.2", + "@rollup/rollup-linux-arm64-gnu": "4.17.2", + "@rollup/rollup-linux-arm64-musl": "4.17.2", + "@rollup/rollup-linux-powerpc64le-gnu": "4.17.2", + "@rollup/rollup-linux-riscv64-gnu": "4.17.2", + "@rollup/rollup-linux-s390x-gnu": "4.17.2", + "@rollup/rollup-linux-x64-gnu": "4.17.2", + "@rollup/rollup-linux-x64-musl": "4.17.2", + "@rollup/rollup-win32-arm64-msvc": "4.17.2", + "@rollup/rollup-win32-ia32-msvc": "4.17.2", + "@rollup/rollup-win32-x64-msvc": "4.17.2", + "fsevents": "~2.3.2" + } + }, + "node_modules/vitest": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-1.5.3.tgz", + "integrity": "sha512-2oM7nLXylw3mQlW6GXnRriw+7YvZFk/YNV8AxIC3Z3MfFbuziLGWP9GPxxu/7nRlXhqyxBikpamr+lEEj1sUEw==", + "dev": true, + "dependencies": { + "@vitest/expect": "1.5.3", + "@vitest/runner": "1.5.3", + "@vitest/snapshot": "1.5.3", + "@vitest/spy": "1.5.3", + "@vitest/utils": "1.5.3", + "acorn-walk": "^8.3.2", + "chai": "^4.3.10", + "debug": "^4.3.4", + "execa": "^8.0.1", + "local-pkg": "^0.5.0", + "magic-string": "^0.30.5", + "pathe": "^1.1.1", + "picocolors": "^1.0.0", + "std-env": "^3.5.0", + "strip-literal": "^2.0.0", + "tinybench": "^2.5.1", + "tinypool": "^0.8.3", + "vite": "^5.0.0", + "vite-node": "1.5.3", + "why-is-node-running": "^2.2.2" + }, + "bin": { + "vitest": "vitest.mjs" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "@edge-runtime/vm": "*", + "@types/node": "^18.0.0 || >=20.0.0", + "@vitest/browser": "1.5.3", + "@vitest/ui": "1.5.3", + "happy-dom": "*", + "jsdom": "*" + }, + "peerDependenciesMeta": { + "@edge-runtime/vm": { + "optional": true + }, + "@types/node": { + "optional": true + }, + "@vitest/browser": { + "optional": true + }, + "@vitest/ui": { + "optional": true + }, + "happy-dom": { + "optional": true + }, + "jsdom": { + "optional": true + } + } + }, + "node_modules/vitest/node_modules/execa": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", + "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^8.0.1", + "human-signals": "^5.0.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^4.1.0", + "strip-final-newline": "^3.0.0" + }, + "engines": { + "node": ">=16.17" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/vitest/node_modules/get-stream": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", + "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", + "dev": true, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/vitest/node_modules/human-signals": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", + "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", + "dev": true, + "engines": { + "node": ">=16.17.0" + } + }, + "node_modules/vitest/node_modules/is-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", + "dev": true, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/vitest/node_modules/magic-string": { + "version": "0.30.10", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.10.tgz", + "integrity": "sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==", + "dev": true, + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.15" + } + }, + "node_modules/vitest/node_modules/mimic-fn": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/vitest/node_modules/npm-run-path": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", + "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", + "dev": true, + "dependencies": { + "path-key": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/vitest/node_modules/onetime": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", + "dev": true, + "dependencies": { + "mimic-fn": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/vitest/node_modules/path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/vitest/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/vitest/node_modules/strip-final-newline": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/vscode": { "name": "@codingame/monaco-vscode-api", "version": "1.69.13", @@ -26516,6 +29264,22 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/why-is-node-running": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.2.2.tgz", + "integrity": "sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==", + "dev": true, + "dependencies": { + "siginfo": "^2.0.0", + "stackback": "0.0.2" + }, + "bin": { + "why-is-node-running": "cli.js" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/wide-align": { "version": "1.1.5", "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", @@ -27014,12 +29778,12 @@ } }, "@ampproject/remapping": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", - "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", "requires": { - "@jridgewell/gen-mapping": "^0.1.0", - "@jridgewell/trace-mapping": "^0.3.9" + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" } }, "@babel/code-frame": { @@ -27150,18 +29914,6 @@ "@jridgewell/gen-mapping": "^0.3.2", "@jridgewell/trace-mapping": "^0.3.17", "jsesc": "^2.5.1" - }, - "dependencies": { - "@jridgewell/gen-mapping": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", - "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", - "requires": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - } - } } }, "@babel/helper-annotate-as-pure": { @@ -27372,14 +30124,14 @@ } }, "@babel/helper-string-parser": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz", - "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==" + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.1.tgz", + "integrity": "sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==" }, "@babel/helper-validator-identifier": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", - "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==" + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.5.tgz", + "integrity": "sha512-3q93SSKX2TWCG30M2G2kwaKeTYgEUp5Snjuj8qm729SObL6nbtUldAi37qbxkD5gg3xnBio+f9nqpSepGZMvxA==" }, "@babel/helper-validator-option": { "version": "7.23.5", @@ -27463,9 +30215,9 @@ } }, "@babel/parser": { - "version": "7.23.9", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.9.tgz", - "integrity": "sha512-9tcKgqKbs3xGJ+NtKF2ndOBBLVwPjl1SHxPQkd36r3Dlirw3xWUeGaTbqr7uGZcTaxkVNwc+03SVP7aCdWrTlA==" + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.5.tgz", + "integrity": "sha512-EOv5IK8arwh3LI47dz1b0tKUb/1uhHAnHJOrjgtQMIpu1uXd9mlFrJg9IUgGUgZ41Ch0K8REPTYpO7B76b4vJg==" }, "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { "version": "7.23.3", @@ -28457,12 +31209,12 @@ } }, "@babel/types": { - "version": "7.23.9", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.9.tgz", - "integrity": "sha512-dQjSq/7HaSjRM43FFGnv5keM2HsxpmyV1PfaSVm0nzzjwwTmjOe6J4bC8e3+pTEIgHaHj+1ZlLThRJ2auc/w1Q==", + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.5.tgz", + "integrity": "sha512-6mQNsaLeXTw0nxYUYu+NSa4Hx4BlF1x1x8/PMFbiR+GBSr+2DkECc69b8hgy2frEodNcvPffeH8YfWd3LI6jhQ==", "requires": { - "@babel/helper-string-parser": "^7.23.4", - "@babel/helper-validator-identifier": "^7.22.20", + "@babel/helper-string-parser": "^7.24.1", + "@babel/helper-validator-identifier": "^7.24.5", "to-fast-properties": "^2.0.0" } }, @@ -29802,12 +32554,13 @@ } }, "@jridgewell/gen-mapping": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", - "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", "requires": { - "@jridgewell/set-array": "^1.0.0", - "@jridgewell/sourcemap-codec": "^1.4.10" + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" } }, "@jridgewell/resolve-uri": { @@ -29816,9 +32569,9 @@ "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==" }, "@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==" + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==" }, "@jridgewell/source-map": { "version": "0.3.5", @@ -29827,29 +32580,17 @@ "requires": { "@jridgewell/gen-mapping": "^0.3.0", "@jridgewell/trace-mapping": "^0.3.9" - }, - "dependencies": { - "@jridgewell/gen-mapping": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", - "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", - "requires": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - } - } } }, "@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==" + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" }, "@jridgewell/trace-mapping": { - "version": "0.3.22", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.22.tgz", - "integrity": "sha512-Wf963MzWtA2sjrNt+g18IAln9lKnlRp+K2eH4jjIoF1wYeq3aMREpG09xhlhdzS0EjwU7qmUJYangWa+151vZw==", + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", "requires": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" @@ -30106,12 +32847,12 @@ } }, "@nrwl/js": { - "version": "18.0.1", - "resolved": "https://registry.npmjs.org/@nrwl/js/-/js-18.0.1.tgz", - "integrity": "sha512-O1wfFdDMvObgqZgH/5qebm9YeN5cJ+UL2fJV2ZnsWVz3e8jhOQLflN3J7jXUWxzsz5stYiplsGpBjgXQRcNwaQ==", + "version": "18.3.4", + "resolved": "https://registry.npmjs.org/@nrwl/js/-/js-18.3.4.tgz", + "integrity": "sha512-oyiMoxzDVGQe5E4UFGO/WAOU211HEIdRxSEOfs1lPhvA8lKbUa0IWDqPOugNws/YHAr+vUTU3sZDJ3uU3RJuYQ==", "dev": true, "requires": { - "@nx/js": "18.0.1" + "@nx/js": "18.3.4" } }, "@nrwl/node": { @@ -30151,13 +32892,22 @@ "tslib": "^2.3.0" } }, + "@nrwl/vite": { + "version": "18.3.4", + "resolved": "https://registry.npmjs.org/@nrwl/vite/-/vite-18.3.4.tgz", + "integrity": "sha512-0lUQqgui2oWFLUK9bT5XwyyC321tmiKetRxuSvzv+hJZQbMBz6LrYLAWXyEHtLkSVszBqeh8rt8hcrXcIxDfCA==", + "dev": true, + "requires": { + "@nx/vite": "18.3.4" + } + }, "@nrwl/web": { - "version": "18.0.1", - "resolved": "https://registry.npmjs.org/@nrwl/web/-/web-18.0.1.tgz", - "integrity": "sha512-x6EXhFpgNsLHWQMVilkQBsXI2+otLbTT5TnpwfVUkulNXtA79M6rfnikzt+gQS/vp7l10dXb84Ys2yd4eUyaFQ==", + "version": "18.3.4", + "resolved": "https://registry.npmjs.org/@nrwl/web/-/web-18.3.4.tgz", + "integrity": "sha512-Zdi0WCAq6+JD1/H8FwzGNjSrHNZWMTN8uPCCV4re3rr2M7oJ+0NqMTATHNqsWGMr2C3HANRuxqC9wDa9Av0XCQ==", "dev": true, "requires": { - "@nx/web": "18.0.1" + "@nx/web": "18.3.4" } }, "@nrwl/webpack": { @@ -30239,6 +32989,71 @@ "tslib": "^2.3.0" }, "dependencies": { + "@nrwl/js": { + "version": "18.0.1", + "resolved": "https://registry.npmjs.org/@nrwl/js/-/js-18.0.1.tgz", + "integrity": "sha512-O1wfFdDMvObgqZgH/5qebm9YeN5cJ+UL2fJV2ZnsWVz3e8jhOQLflN3J7jXUWxzsz5stYiplsGpBjgXQRcNwaQ==", + "dev": true, + "requires": { + "@nx/js": "18.0.1" + } + }, + "@nx/js": { + "version": "18.0.1", + "resolved": "https://registry.npmjs.org/@nx/js/-/js-18.0.1.tgz", + "integrity": "sha512-U/l8K09UMrE4zVXEpmwpRWaY4fCrdcaaB3NXsEUwghJE6OuacADdaQ5ZWPxa0ji3nARKW7Umj87sOlUu8YjpTQ==", + "dev": true, + "requires": { + "@babel/core": "^7.23.2", + "@babel/plugin-proposal-decorators": "^7.22.7", + "@babel/plugin-transform-class-properties": "^7.22.5", + "@babel/plugin-transform-runtime": "^7.23.2", + "@babel/preset-env": "^7.23.2", + "@babel/preset-typescript": "^7.22.5", + "@babel/runtime": "^7.22.6", + "@nrwl/js": "18.0.1", + "@nx/devkit": "18.0.1", + "@nx/workspace": "18.0.1", + "@phenomnomnominal/tsquery": "~5.0.1", + "babel-plugin-const-enum": "^1.0.1", + "babel-plugin-macros": "^2.8.0", + "babel-plugin-transform-typescript-metadata": "^0.3.1", + "chalk": "^4.1.0", + "columnify": "^1.6.0", + "detect-port": "^1.5.1", + "fast-glob": "3.2.7", + "fs-extra": "^11.1.0", + "ignore": "^5.0.4", + "js-tokens": "^4.0.0", + "minimatch": "9.0.3", + "npm-package-arg": "11.0.1", + "npm-run-path": "^4.0.1", + "ora": "5.3.0", + "semver": "^7.5.3", + "source-map-support": "0.5.19", + "ts-node": "10.9.1", + "tsconfig-paths": "^4.1.2", + "tslib": "^2.3.0" + } + }, + "@phenomnomnominal/tsquery": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@phenomnomnominal/tsquery/-/tsquery-5.0.1.tgz", + "integrity": "sha512-3nVv+e2FQwsW8Aw6qTU6f+1rfcJ3hrcnvH/mu9i8YhxO+9sqbOfpL8m6PbET5+xKOlz/VSbp0RoYWYCtIsnmuA==", + "dev": true, + "requires": { + "esquery": "^1.4.0" + } + }, + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0" + } + }, "fs-extra": { "version": "11.2.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", @@ -30250,6 +33065,24 @@ "universalify": "^2.0.0" } }, + "minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dev": true, + "requires": { + "brace-expansion": "^2.0.1" + } + }, + "semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, "strip-bom": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", @@ -30281,6 +33114,119 @@ "eslint": "^8.0.0", "tslib": "^2.3.0", "typescript": "~5.3.2" + }, + "dependencies": { + "@nrwl/js": { + "version": "18.0.1", + "resolved": "https://registry.npmjs.org/@nrwl/js/-/js-18.0.1.tgz", + "integrity": "sha512-O1wfFdDMvObgqZgH/5qebm9YeN5cJ+UL2fJV2ZnsWVz3e8jhOQLflN3J7jXUWxzsz5stYiplsGpBjgXQRcNwaQ==", + "dev": true, + "requires": { + "@nx/js": "18.0.1" + } + }, + "@nx/js": { + "version": "18.0.1", + "resolved": "https://registry.npmjs.org/@nx/js/-/js-18.0.1.tgz", + "integrity": "sha512-U/l8K09UMrE4zVXEpmwpRWaY4fCrdcaaB3NXsEUwghJE6OuacADdaQ5ZWPxa0ji3nARKW7Umj87sOlUu8YjpTQ==", + "dev": true, + "requires": { + "@babel/core": "^7.23.2", + "@babel/plugin-proposal-decorators": "^7.22.7", + "@babel/plugin-transform-class-properties": "^7.22.5", + "@babel/plugin-transform-runtime": "^7.23.2", + "@babel/preset-env": "^7.23.2", + "@babel/preset-typescript": "^7.22.5", + "@babel/runtime": "^7.22.6", + "@nrwl/js": "18.0.1", + "@nx/devkit": "18.0.1", + "@nx/workspace": "18.0.1", + "@phenomnomnominal/tsquery": "~5.0.1", + "babel-plugin-const-enum": "^1.0.1", + "babel-plugin-macros": "^2.8.0", + "babel-plugin-transform-typescript-metadata": "^0.3.1", + "chalk": "^4.1.0", + "columnify": "^1.6.0", + "detect-port": "^1.5.1", + "fast-glob": "3.2.7", + "fs-extra": "^11.1.0", + "ignore": "^5.0.4", + "js-tokens": "^4.0.0", + "minimatch": "9.0.3", + "npm-package-arg": "11.0.1", + "npm-run-path": "^4.0.1", + "ora": "5.3.0", + "semver": "^7.5.3", + "source-map-support": "0.5.19", + "ts-node": "10.9.1", + "tsconfig-paths": "^4.1.2", + "tslib": "^2.3.0" + } + }, + "@phenomnomnominal/tsquery": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@phenomnomnominal/tsquery/-/tsquery-5.0.1.tgz", + "integrity": "sha512-3nVv+e2FQwsW8Aw6qTU6f+1rfcJ3hrcnvH/mu9i8YhxO+9sqbOfpL8m6PbET5+xKOlz/VSbp0RoYWYCtIsnmuA==", + "dev": true, + "requires": { + "esquery": "^1.4.0" + } + }, + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0" + } + }, + "fs-extra": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", + "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dev": true, + "requires": { + "brace-expansion": "^2.0.1" + } + }, + "semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true + }, + "tsconfig-paths": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz", + "integrity": "sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==", + "dev": true, + "requires": { + "json5": "^2.2.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + } + } } }, "@nx/eslint-plugin": { @@ -30301,6 +33247,77 @@ "tslib": "^2.3.0" }, "dependencies": { + "@nrwl/js": { + "version": "18.0.1", + "resolved": "https://registry.npmjs.org/@nrwl/js/-/js-18.0.1.tgz", + "integrity": "sha512-O1wfFdDMvObgqZgH/5qebm9YeN5cJ+UL2fJV2ZnsWVz3e8jhOQLflN3J7jXUWxzsz5stYiplsGpBjgXQRcNwaQ==", + "dev": true, + "requires": { + "@nx/js": "18.0.1" + } + }, + "@nx/js": { + "version": "18.0.1", + "resolved": "https://registry.npmjs.org/@nx/js/-/js-18.0.1.tgz", + "integrity": "sha512-U/l8K09UMrE4zVXEpmwpRWaY4fCrdcaaB3NXsEUwghJE6OuacADdaQ5ZWPxa0ji3nARKW7Umj87sOlUu8YjpTQ==", + "dev": true, + "requires": { + "@babel/core": "^7.23.2", + "@babel/plugin-proposal-decorators": "^7.22.7", + "@babel/plugin-transform-class-properties": "^7.22.5", + "@babel/plugin-transform-runtime": "^7.23.2", + "@babel/preset-env": "^7.23.2", + "@babel/preset-typescript": "^7.22.5", + "@babel/runtime": "^7.22.6", + "@nrwl/js": "18.0.1", + "@nx/devkit": "18.0.1", + "@nx/workspace": "18.0.1", + "@phenomnomnominal/tsquery": "~5.0.1", + "babel-plugin-const-enum": "^1.0.1", + "babel-plugin-macros": "^2.8.0", + "babel-plugin-transform-typescript-metadata": "^0.3.1", + "chalk": "^4.1.0", + "columnify": "^1.6.0", + "detect-port": "^1.5.1", + "fast-glob": "3.2.7", + "fs-extra": "^11.1.0", + "ignore": "^5.0.4", + "js-tokens": "^4.0.0", + "minimatch": "9.0.3", + "npm-package-arg": "11.0.1", + "npm-run-path": "^4.0.1", + "ora": "5.3.0", + "semver": "^7.5.3", + "source-map-support": "0.5.19", + "ts-node": "10.9.1", + "tsconfig-paths": "^4.1.2", + "tslib": "^2.3.0" + }, + "dependencies": { + "fast-glob": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz", + "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==", + "dev": true, + "requires": { + "@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" + } + } + } + }, + "@phenomnomnominal/tsquery": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@phenomnomnominal/tsquery/-/tsquery-5.0.1.tgz", + "integrity": "sha512-3nVv+e2FQwsW8Aw6qTU6f+1rfcJ3hrcnvH/mu9i8YhxO+9sqbOfpL8m6PbET5+xKOlz/VSbp0RoYWYCtIsnmuA==", + "dev": true, + "requires": { + "esquery": "^1.4.0" + } + }, "@typescript-eslint/scope-manager": { "version": "6.20.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.20.0.tgz", @@ -30402,6 +33419,17 @@ "micromatch": "^4.0.4" } }, + "fs-extra": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", + "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, "globby": { "version": "11.1.0", "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", @@ -30433,6 +33461,23 @@ "requires": { "lru-cache": "^6.0.0" } + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true + }, + "tsconfig-paths": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz", + "integrity": "sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==", + "dev": true, + "requires": { + "json5": "^2.2.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + } } } }, @@ -30458,6 +33503,53 @@ "tslib": "^2.3.0" }, "dependencies": { + "@nrwl/js": { + "version": "18.0.1", + "resolved": "https://registry.npmjs.org/@nrwl/js/-/js-18.0.1.tgz", + "integrity": "sha512-O1wfFdDMvObgqZgH/5qebm9YeN5cJ+UL2fJV2ZnsWVz3e8jhOQLflN3J7jXUWxzsz5stYiplsGpBjgXQRcNwaQ==", + "dev": true, + "requires": { + "@nx/js": "18.0.1" + } + }, + "@nx/js": { + "version": "18.0.1", + "resolved": "https://registry.npmjs.org/@nx/js/-/js-18.0.1.tgz", + "integrity": "sha512-U/l8K09UMrE4zVXEpmwpRWaY4fCrdcaaB3NXsEUwghJE6OuacADdaQ5ZWPxa0ji3nARKW7Umj87sOlUu8YjpTQ==", + "dev": true, + "requires": { + "@babel/core": "^7.23.2", + "@babel/plugin-proposal-decorators": "^7.22.7", + "@babel/plugin-transform-class-properties": "^7.22.5", + "@babel/plugin-transform-runtime": "^7.23.2", + "@babel/preset-env": "^7.23.2", + "@babel/preset-typescript": "^7.22.5", + "@babel/runtime": "^7.22.6", + "@nrwl/js": "18.0.1", + "@nx/devkit": "18.0.1", + "@nx/workspace": "18.0.1", + "@phenomnomnominal/tsquery": "~5.0.1", + "babel-plugin-const-enum": "^1.0.1", + "babel-plugin-macros": "^2.8.0", + "babel-plugin-transform-typescript-metadata": "^0.3.1", + "chalk": "^4.1.0", + "columnify": "^1.6.0", + "detect-port": "^1.5.1", + "fast-glob": "3.2.7", + "fs-extra": "^11.1.0", + "ignore": "^5.0.4", + "js-tokens": "^4.0.0", + "minimatch": "9.0.3", + "npm-package-arg": "11.0.1", + "npm-run-path": "^4.0.1", + "ora": "5.3.0", + "semver": "^7.5.3", + "source-map-support": "0.5.19", + "ts-node": "10.9.1", + "tsconfig-paths": "^4.1.2", + "tslib": "^2.3.0" + } + }, "@phenomnomnominal/tsquery": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/@phenomnomnominal/tsquery/-/tsquery-5.0.1.tgz", @@ -30476,6 +33568,17 @@ "balanced-match": "^1.0.0" } }, + "fs-extra": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", + "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, "minimatch": { "version": "9.0.3", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", @@ -30484,13 +33587,39 @@ "requires": { "brace-expansion": "^2.0.1" } + }, + "semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true + }, + "tsconfig-paths": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz", + "integrity": "sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==", + "dev": true, + "requires": { + "json5": "^2.2.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + } } } }, "@nx/js": { - "version": "18.0.1", - "resolved": "https://registry.npmjs.org/@nx/js/-/js-18.0.1.tgz", - "integrity": "sha512-U/l8K09UMrE4zVXEpmwpRWaY4fCrdcaaB3NXsEUwghJE6OuacADdaQ5ZWPxa0ji3nARKW7Umj87sOlUu8YjpTQ==", + "version": "18.3.4", + "resolved": "https://registry.npmjs.org/@nx/js/-/js-18.3.4.tgz", + "integrity": "sha512-+MPacp/B09e5QwaFQBkev9pW862ZpmesqR2lUUnFAXUBKtjYVIAmhJWHOtevqC1om4OxvTsbluYHsbAkAUzlMA==", "dev": true, "requires": { "@babel/core": "^7.23.2", @@ -30500,9 +33629,9 @@ "@babel/preset-env": "^7.23.2", "@babel/preset-typescript": "^7.22.5", "@babel/runtime": "^7.22.6", - "@nrwl/js": "18.0.1", - "@nx/devkit": "18.0.1", - "@nx/workspace": "18.0.1", + "@nrwl/js": "18.3.4", + "@nx/devkit": "18.3.4", + "@nx/workspace": "18.3.4", "@phenomnomnominal/tsquery": "~5.0.1", "babel-plugin-const-enum": "^1.0.1", "babel-plugin-macros": "^2.8.0", @@ -30525,6 +33654,135 @@ "tslib": "^2.3.0" }, "dependencies": { + "@nrwl/devkit": { + "version": "18.3.4", + "resolved": "https://registry.npmjs.org/@nrwl/devkit/-/devkit-18.3.4.tgz", + "integrity": "sha512-Fty9Huqm12OYueU3uLJl3uvBUl5BvEyPfvw8+rLiNx9iftdEattM8C+268eAbIRRSLSOVXlWsJH4brlc6QZYYw==", + "dev": true, + "requires": { + "@nx/devkit": "18.3.4" + } + }, + "@nrwl/tao": { + "version": "18.3.4", + "resolved": "https://registry.npmjs.org/@nrwl/tao/-/tao-18.3.4.tgz", + "integrity": "sha512-+7KsDYmGj1cvNaXZcjSYOPN1h17hsGFBtVX7MqnpJLLkQTUhKg2rQxqyluzshJ+RoDUVtYPGyHg1AizlB66RIA==", + "dev": true, + "requires": { + "nx": "18.3.4", + "tslib": "^2.3.0" + } + }, + "@nrwl/workspace": { + "version": "18.3.4", + "resolved": "https://registry.npmjs.org/@nrwl/workspace/-/workspace-18.3.4.tgz", + "integrity": "sha512-ziPHZcSYj46aPYrRHaKu56/SmYCijLT5vIm/UaoWD5v5Fy5CRigO/ezUImsHGHMEZWfHt44s4jsv7QdJWAXe7w==", + "dev": true, + "requires": { + "@nx/workspace": "18.3.4" + } + }, + "@nx/devkit": { + "version": "18.3.4", + "resolved": "https://registry.npmjs.org/@nx/devkit/-/devkit-18.3.4.tgz", + "integrity": "sha512-M3htxl5WvlNKK5KNOndCAApbyBCZNTFFs+rtdwvudNZk5+84zAAPaWzSoX9C4XLAW78/f98LzF68/ch05aN12A==", + "dev": true, + "requires": { + "@nrwl/devkit": "18.3.4", + "ejs": "^3.1.7", + "enquirer": "~2.3.6", + "ignore": "^5.0.4", + "semver": "^7.5.3", + "tmp": "~0.2.1", + "tslib": "^2.3.0", + "yargs-parser": "21.1.1" + } + }, + "@nx/nx-darwin-arm64": { + "version": "18.3.4", + "resolved": "https://registry.npmjs.org/@nx/nx-darwin-arm64/-/nx-darwin-arm64-18.3.4.tgz", + "integrity": "sha512-MOGk9z4fIoOkJB68diH3bwoWrC8X9IzMNsz1mu0cbVfgCRAfIV3b+lMsiwQYzWal3UWW5DE5Rkss4F8whiV5Uw==", + "dev": true, + "optional": true + }, + "@nx/nx-darwin-x64": { + "version": "18.3.4", + "resolved": "https://registry.npmjs.org/@nx/nx-darwin-x64/-/nx-darwin-x64-18.3.4.tgz", + "integrity": "sha512-tSzPRnNB3QdPM+KYiIuRCUtyCwcuIRC95FfP0ZB3WvfDeNxJChEAChNqmCMDE4iFvZhGuze8WqkJuIVdte+lyQ==", + "dev": true, + "optional": true + }, + "@nx/nx-freebsd-x64": { + "version": "18.3.4", + "resolved": "https://registry.npmjs.org/@nx/nx-freebsd-x64/-/nx-freebsd-x64-18.3.4.tgz", + "integrity": "sha512-bjSPak/d+bcR95/pxHMRhnnpHc6MnrQcG6f5AjX15Esm4JdrdQKPBmG1RybuK0WKSyD5wgVhkAGc/QQUom9l8g==", + "dev": true, + "optional": true + }, + "@nx/nx-linux-arm-gnueabihf": { + "version": "18.3.4", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-18.3.4.tgz", + "integrity": "sha512-/1HnUL7jhH0S7PxJqf6R1pk3QlAU22GY89EQV9fd+RDUtp7IyzaTlkebijTIqfxlSjC4OO3bPizaxEaxdd3uKQ==", + "dev": true, + "optional": true + }, + "@nx/nx-linux-arm64-gnu": { + "version": "18.3.4", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-18.3.4.tgz", + "integrity": "sha512-g/2IaB2bZTKaBNPEf9LxtIXb1XHdhh3VO9PnePIrwkkixPMLN0dTxT5Sttt75lvLP3EU1AUR5w3Aaz2Q1mYtWA==", + "dev": true, + "optional": true + }, + "@nx/nx-linux-arm64-musl": { + "version": "18.3.4", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-18.3.4.tgz", + "integrity": "sha512-MgfKLoEF6I1cCS+0ooFLEjJSSVdCYyCT9Q96IHRJntAEL8u/0GR2OUoBoLC+q1lnbIkJr/uqTJxA2Jh+sJTIbA==", + "dev": true, + "optional": true + }, + "@nx/nx-linux-x64-gnu": { + "version": "18.3.4", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-18.3.4.tgz", + "integrity": "sha512-vbHxv7m3gjthBvw50EYCtgyY0Zg5nVTaQtX+wRsmKybV2i7wHbw5zIe1aL4zHUm6TcPGbIQK+utVM+hyCqKHVA==", + "dev": true, + "optional": true + }, + "@nx/nx-linux-x64-musl": { + "version": "18.3.4", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-18.3.4.tgz", + "integrity": "sha512-qIJKJCYFRLVSALsvg3avjReOjuYk91Q0hFXMJ2KaEM1Y3tdzcFN0fKBiaHexgbFIUk8zJuS4dJObTqSYMXowbg==", + "dev": true, + "optional": true + }, + "@nx/nx-win32-arm64-msvc": { + "version": "18.3.4", + "resolved": "https://registry.npmjs.org/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-18.3.4.tgz", + "integrity": "sha512-UxC8mRkFTPdZbKFprZkiBqVw8624xU38kI0xyooxKlFpt5lccTBwJ0B7+R8p1RoWyvh2DSyFI9VvfD7lczg1lA==", + "dev": true, + "optional": true + }, + "@nx/nx-win32-x64-msvc": { + "version": "18.3.4", + "resolved": "https://registry.npmjs.org/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-18.3.4.tgz", + "integrity": "sha512-/RqEjNU9hxIBxRLafCNKoH3SaB2FShf+1ZnIYCdAoCZBxLJebDpnhiyrVs0lPnMj9248JbizEMdJj1+bs/bXig==", + "dev": true, + "optional": true + }, + "@nx/workspace": { + "version": "18.3.4", + "resolved": "https://registry.npmjs.org/@nx/workspace/-/workspace-18.3.4.tgz", + "integrity": "sha512-H5HmEOWb9wnrNXfI2DhK6AmMVz1snuJvjT2jcMf9kxlVW0pKGTFW+OyHfSYq6Ni3OGWb1f9O63erLYHo45zPeA==", + "dev": true, + "requires": { + "@nrwl/workspace": "18.3.4", + "@nx/devkit": "18.3.4", + "chalk": "^4.1.0", + "enquirer": "~2.3.6", + "nx": "18.3.4", + "tslib": "^2.3.0", + "yargs-parser": "21.1.1" + } + }, "@phenomnomnominal/tsquery": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/@phenomnomnominal/tsquery/-/tsquery-5.0.1.tgz", @@ -30534,6 +33792,12 @@ "esquery": "^1.4.0" } }, + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, "brace-expansion": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", @@ -30554,6 +33818,21 @@ "universalify": "^2.0.0" } }, + "js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "requires": { + "argparse": "^2.0.1" + } + }, + "lines-and-columns": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-2.0.4.tgz", + "integrity": "sha512-wM1+Z03eypVAVUCE7QdSqpVIvelbOakn1M0bPDoA4SGWPx3sNDVUiMo3L6To6WWGClB7VyXnhQ4Sn7gxiJbE6A==", + "dev": true + }, "minimatch": { "version": "9.0.3", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", @@ -30563,6 +33842,58 @@ "brace-expansion": "^2.0.1" } }, + "nx": { + "version": "18.3.4", + "resolved": "https://registry.npmjs.org/nx/-/nx-18.3.4.tgz", + "integrity": "sha512-7rOHRyxpnZGJ3pHnwmpoAMHt9hNuwibWhOhPBJDhJVcbQJtGfwcWWyV/iSEnVXwKZ2lfHVE3TwE+gXFdT/GFiw==", + "dev": true, + "requires": { + "@nrwl/tao": "18.3.4", + "@nx/nx-darwin-arm64": "18.3.4", + "@nx/nx-darwin-x64": "18.3.4", + "@nx/nx-freebsd-x64": "18.3.4", + "@nx/nx-linux-arm-gnueabihf": "18.3.4", + "@nx/nx-linux-arm64-gnu": "18.3.4", + "@nx/nx-linux-arm64-musl": "18.3.4", + "@nx/nx-linux-x64-gnu": "18.3.4", + "@nx/nx-linux-x64-musl": "18.3.4", + "@nx/nx-win32-arm64-msvc": "18.3.4", + "@nx/nx-win32-x64-msvc": "18.3.4", + "@yarnpkg/lockfile": "^1.1.0", + "@yarnpkg/parsers": "3.0.0-rc.46", + "@zkochan/js-yaml": "0.0.6", + "axios": "^1.6.0", + "chalk": "^4.1.0", + "cli-cursor": "3.1.0", + "cli-spinners": "2.6.1", + "cliui": "^8.0.1", + "dotenv": "~16.3.1", + "dotenv-expand": "~10.0.0", + "enquirer": "~2.3.6", + "figures": "3.2.0", + "flat": "^5.0.2", + "fs-extra": "^11.1.0", + "ignore": "^5.0.4", + "jest-diff": "^29.4.1", + "js-yaml": "4.1.0", + "jsonc-parser": "3.2.0", + "lines-and-columns": "~2.0.3", + "minimatch": "9.0.3", + "node-machine-id": "1.1.12", + "npm-run-path": "^4.0.1", + "open": "^8.4.0", + "ora": "5.3.0", + "semver": "^7.5.3", + "string-width": "^4.2.3", + "strong-log-transformer": "^2.1.0", + "tar-stream": "~2.2.0", + "tmp": "~0.2.1", + "tsconfig-paths": "^4.1.2", + "tslib": "^2.3.0", + "yargs": "^17.6.2", + "yargs-parser": "21.1.1" + } + }, "semver": { "version": "7.5.3", "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.3.tgz", @@ -30612,6 +33943,119 @@ "@nx/jest": "18.0.1", "@nx/js": "18.0.1", "tslib": "^2.3.0" + }, + "dependencies": { + "@nrwl/js": { + "version": "18.0.1", + "resolved": "https://registry.npmjs.org/@nrwl/js/-/js-18.0.1.tgz", + "integrity": "sha512-O1wfFdDMvObgqZgH/5qebm9YeN5cJ+UL2fJV2ZnsWVz3e8jhOQLflN3J7jXUWxzsz5stYiplsGpBjgXQRcNwaQ==", + "dev": true, + "requires": { + "@nx/js": "18.0.1" + } + }, + "@nx/js": { + "version": "18.0.1", + "resolved": "https://registry.npmjs.org/@nx/js/-/js-18.0.1.tgz", + "integrity": "sha512-U/l8K09UMrE4zVXEpmwpRWaY4fCrdcaaB3NXsEUwghJE6OuacADdaQ5ZWPxa0ji3nARKW7Umj87sOlUu8YjpTQ==", + "dev": true, + "requires": { + "@babel/core": "^7.23.2", + "@babel/plugin-proposal-decorators": "^7.22.7", + "@babel/plugin-transform-class-properties": "^7.22.5", + "@babel/plugin-transform-runtime": "^7.23.2", + "@babel/preset-env": "^7.23.2", + "@babel/preset-typescript": "^7.22.5", + "@babel/runtime": "^7.22.6", + "@nrwl/js": "18.0.1", + "@nx/devkit": "18.0.1", + "@nx/workspace": "18.0.1", + "@phenomnomnominal/tsquery": "~5.0.1", + "babel-plugin-const-enum": "^1.0.1", + "babel-plugin-macros": "^2.8.0", + "babel-plugin-transform-typescript-metadata": "^0.3.1", + "chalk": "^4.1.0", + "columnify": "^1.6.0", + "detect-port": "^1.5.1", + "fast-glob": "3.2.7", + "fs-extra": "^11.1.0", + "ignore": "^5.0.4", + "js-tokens": "^4.0.0", + "minimatch": "9.0.3", + "npm-package-arg": "11.0.1", + "npm-run-path": "^4.0.1", + "ora": "5.3.0", + "semver": "^7.5.3", + "source-map-support": "0.5.19", + "ts-node": "10.9.1", + "tsconfig-paths": "^4.1.2", + "tslib": "^2.3.0" + } + }, + "@phenomnomnominal/tsquery": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@phenomnomnominal/tsquery/-/tsquery-5.0.1.tgz", + "integrity": "sha512-3nVv+e2FQwsW8Aw6qTU6f+1rfcJ3hrcnvH/mu9i8YhxO+9sqbOfpL8m6PbET5+xKOlz/VSbp0RoYWYCtIsnmuA==", + "dev": true, + "requires": { + "esquery": "^1.4.0" + } + }, + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0" + } + }, + "fs-extra": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", + "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dev": true, + "requires": { + "brace-expansion": "^2.0.1" + } + }, + "semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true + }, + "tsconfig-paths": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz", + "integrity": "sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==", + "dev": true, + "requires": { + "json5": "^2.2.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + } + } } }, "@nx/nx-darwin-arm64": { @@ -30702,6 +34146,77 @@ "tslib": "^2.3.0" }, "dependencies": { + "@nrwl/js": { + "version": "18.0.1", + "resolved": "https://registry.npmjs.org/@nrwl/js/-/js-18.0.1.tgz", + "integrity": "sha512-O1wfFdDMvObgqZgH/5qebm9YeN5cJ+UL2fJV2ZnsWVz3e8jhOQLflN3J7jXUWxzsz5stYiplsGpBjgXQRcNwaQ==", + "dev": true, + "requires": { + "@nx/js": "18.0.1" + } + }, + "@nrwl/web": { + "version": "18.0.1", + "resolved": "https://registry.npmjs.org/@nrwl/web/-/web-18.0.1.tgz", + "integrity": "sha512-x6EXhFpgNsLHWQMVilkQBsXI2+otLbTT5TnpwfVUkulNXtA79M6rfnikzt+gQS/vp7l10dXb84Ys2yd4eUyaFQ==", + "dev": true, + "requires": { + "@nx/web": "18.0.1" + } + }, + "@nx/js": { + "version": "18.0.1", + "resolved": "https://registry.npmjs.org/@nx/js/-/js-18.0.1.tgz", + "integrity": "sha512-U/l8K09UMrE4zVXEpmwpRWaY4fCrdcaaB3NXsEUwghJE6OuacADdaQ5ZWPxa0ji3nARKW7Umj87sOlUu8YjpTQ==", + "dev": true, + "requires": { + "@babel/core": "^7.23.2", + "@babel/plugin-proposal-decorators": "^7.22.7", + "@babel/plugin-transform-class-properties": "^7.22.5", + "@babel/plugin-transform-runtime": "^7.23.2", + "@babel/preset-env": "^7.23.2", + "@babel/preset-typescript": "^7.22.5", + "@babel/runtime": "^7.22.6", + "@nrwl/js": "18.0.1", + "@nx/devkit": "18.0.1", + "@nx/workspace": "18.0.1", + "@phenomnomnominal/tsquery": "~5.0.1", + "babel-plugin-const-enum": "^1.0.1", + "babel-plugin-macros": "^2.8.0", + "babel-plugin-transform-typescript-metadata": "^0.3.1", + "chalk": "^4.1.0", + "columnify": "^1.6.0", + "detect-port": "^1.5.1", + "fast-glob": "3.2.7", + "fs-extra": "^11.1.0", + "ignore": "^5.0.4", + "js-tokens": "^4.0.0", + "minimatch": "9.0.3", + "npm-package-arg": "11.0.1", + "npm-run-path": "^4.0.1", + "ora": "5.3.0", + "semver": "^7.5.3", + "source-map-support": "0.5.19", + "ts-node": "10.9.1", + "tsconfig-paths": "^4.1.2", + "tslib": "^2.3.0" + } + }, + "@nx/web": { + "version": "18.0.1", + "resolved": "https://registry.npmjs.org/@nx/web/-/web-18.0.1.tgz", + "integrity": "sha512-F/O/hhbk/tdqbLPfWg+fRVOUVzpmZr6m1tNiHMnK0FPY6r7i66JdhzA/KaaiuH2PD0VJ6gXvkYEauPRvvuOqjQ==", + "dev": true, + "requires": { + "@nrwl/web": "18.0.1", + "@nx/devkit": "18.0.1", + "@nx/js": "18.0.1", + "chalk": "^4.1.0", + "detect-port": "^1.5.1", + "http-server": "^14.1.0", + "tslib": "^2.3.0" + } + }, "@phenomnomnominal/tsquery": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/@phenomnomnominal/tsquery/-/tsquery-5.0.1.tgz", @@ -30951,6 +34466,17 @@ "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", "dev": true }, + "fs-extra": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", + "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, "js-yaml": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", @@ -30975,6 +34501,21 @@ "brace-expansion": "^2.0.1" } }, + "semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true + }, "svgo": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/svgo/-/svgo-3.2.0.tgz", @@ -30989,6 +34530,17 @@ "csso": "^5.0.5", "picocolors": "^1.0.0" } + }, + "tsconfig-paths": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz", + "integrity": "sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==", + "dev": true, + "requires": { + "json5": "^2.2.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + } } } }, @@ -31017,21 +34569,247 @@ "rollup-plugin-typescript2": "0.34.1", "rxjs": "^7.8.0", "tslib": "^2.3.0" + }, + "dependencies": { + "@nrwl/js": { + "version": "18.0.1", + "resolved": "https://registry.npmjs.org/@nrwl/js/-/js-18.0.1.tgz", + "integrity": "sha512-O1wfFdDMvObgqZgH/5qebm9YeN5cJ+UL2fJV2ZnsWVz3e8jhOQLflN3J7jXUWxzsz5stYiplsGpBjgXQRcNwaQ==", + "dev": true, + "requires": { + "@nx/js": "18.0.1" + } + }, + "@nx/js": { + "version": "18.0.1", + "resolved": "https://registry.npmjs.org/@nx/js/-/js-18.0.1.tgz", + "integrity": "sha512-U/l8K09UMrE4zVXEpmwpRWaY4fCrdcaaB3NXsEUwghJE6OuacADdaQ5ZWPxa0ji3nARKW7Umj87sOlUu8YjpTQ==", + "dev": true, + "requires": { + "@babel/core": "^7.23.2", + "@babel/plugin-proposal-decorators": "^7.22.7", + "@babel/plugin-transform-class-properties": "^7.22.5", + "@babel/plugin-transform-runtime": "^7.23.2", + "@babel/preset-env": "^7.23.2", + "@babel/preset-typescript": "^7.22.5", + "@babel/runtime": "^7.22.6", + "@nrwl/js": "18.0.1", + "@nx/devkit": "18.0.1", + "@nx/workspace": "18.0.1", + "@phenomnomnominal/tsquery": "~5.0.1", + "babel-plugin-const-enum": "^1.0.1", + "babel-plugin-macros": "^2.8.0", + "babel-plugin-transform-typescript-metadata": "^0.3.1", + "chalk": "^4.1.0", + "columnify": "^1.6.0", + "detect-port": "^1.5.1", + "fast-glob": "3.2.7", + "fs-extra": "^11.1.0", + "ignore": "^5.0.4", + "js-tokens": "^4.0.0", + "minimatch": "9.0.3", + "npm-package-arg": "11.0.1", + "npm-run-path": "^4.0.1", + "ora": "5.3.0", + "semver": "^7.5.3", + "source-map-support": "0.5.19", + "ts-node": "10.9.1", + "tsconfig-paths": "^4.1.2", + "tslib": "^2.3.0" + } + }, + "@phenomnomnominal/tsquery": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@phenomnomnominal/tsquery/-/tsquery-5.0.1.tgz", + "integrity": "sha512-3nVv+e2FQwsW8Aw6qTU6f+1rfcJ3hrcnvH/mu9i8YhxO+9sqbOfpL8m6PbET5+xKOlz/VSbp0RoYWYCtIsnmuA==", + "dev": true, + "requires": { + "esquery": "^1.4.0" + } + }, + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0" + } + }, + "fs-extra": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", + "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dev": true, + "requires": { + "brace-expansion": "^2.0.1" + } + }, + "semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true + }, + "tsconfig-paths": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz", + "integrity": "sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==", + "dev": true, + "requires": { + "json5": "^2.2.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + } + } + } + }, + "@nx/vite": { + "version": "18.3.4", + "resolved": "https://registry.npmjs.org/@nx/vite/-/vite-18.3.4.tgz", + "integrity": "sha512-ZEynabx+GVjUF7t3I4VlY5ivXA2mOTQ4t+pjN9SNs9JdnLTMK/b/rErkNV7Bn2oQK56Ks74Tfbx9r7Dc5S4exg==", + "dev": true, + "requires": { + "@nrwl/vite": "18.3.4", + "@nx/devkit": "18.3.4", + "@nx/js": "18.3.4", + "@phenomnomnominal/tsquery": "~5.0.1", + "@swc/helpers": "~0.5.0", + "enquirer": "~2.3.6", + "tsconfig-paths": "^4.1.2" + }, + "dependencies": { + "@nrwl/devkit": { + "version": "18.3.4", + "resolved": "https://registry.npmjs.org/@nrwl/devkit/-/devkit-18.3.4.tgz", + "integrity": "sha512-Fty9Huqm12OYueU3uLJl3uvBUl5BvEyPfvw8+rLiNx9iftdEattM8C+268eAbIRRSLSOVXlWsJH4brlc6QZYYw==", + "dev": true, + "requires": { + "@nx/devkit": "18.3.4" + } + }, + "@nx/devkit": { + "version": "18.3.4", + "resolved": "https://registry.npmjs.org/@nx/devkit/-/devkit-18.3.4.tgz", + "integrity": "sha512-M3htxl5WvlNKK5KNOndCAApbyBCZNTFFs+rtdwvudNZk5+84zAAPaWzSoX9C4XLAW78/f98LzF68/ch05aN12A==", + "dev": true, + "requires": { + "@nrwl/devkit": "18.3.4", + "ejs": "^3.1.7", + "enquirer": "~2.3.6", + "ignore": "^5.0.4", + "semver": "^7.5.3", + "tmp": "~0.2.1", + "tslib": "^2.3.0", + "yargs-parser": "21.1.1" + } + }, + "@phenomnomnominal/tsquery": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@phenomnomnominal/tsquery/-/tsquery-5.0.1.tgz", + "integrity": "sha512-3nVv+e2FQwsW8Aw6qTU6f+1rfcJ3hrcnvH/mu9i8YhxO+9sqbOfpL8m6PbET5+xKOlz/VSbp0RoYWYCtIsnmuA==", + "dev": true, + "requires": { + "esquery": "^1.4.0" + } + }, + "semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true + }, + "tsconfig-paths": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz", + "integrity": "sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==", + "dev": true, + "requires": { + "json5": "^2.2.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + } + } } }, "@nx/web": { - "version": "18.0.1", - "resolved": "https://registry.npmjs.org/@nx/web/-/web-18.0.1.tgz", - "integrity": "sha512-F/O/hhbk/tdqbLPfWg+fRVOUVzpmZr6m1tNiHMnK0FPY6r7i66JdhzA/KaaiuH2PD0VJ6gXvkYEauPRvvuOqjQ==", + "version": "18.3.4", + "resolved": "https://registry.npmjs.org/@nx/web/-/web-18.3.4.tgz", + "integrity": "sha512-d+BCmJyELI2JXMtqnF7re8g/98pEyej8gUhL7ewywZ/LMEWJ8toG7yrEZoA6o2tlO3Fn63+7kUun7s5ZpkRElA==", "dev": true, "requires": { - "@nrwl/web": "18.0.1", - "@nx/devkit": "18.0.1", - "@nx/js": "18.0.1", + "@nrwl/web": "18.3.4", + "@nx/devkit": "18.3.4", + "@nx/js": "18.3.4", "chalk": "^4.1.0", "detect-port": "^1.5.1", "http-server": "^14.1.0", "tslib": "^2.3.0" + }, + "dependencies": { + "@nrwl/devkit": { + "version": "18.3.4", + "resolved": "https://registry.npmjs.org/@nrwl/devkit/-/devkit-18.3.4.tgz", + "integrity": "sha512-Fty9Huqm12OYueU3uLJl3uvBUl5BvEyPfvw8+rLiNx9iftdEattM8C+268eAbIRRSLSOVXlWsJH4brlc6QZYYw==", + "dev": true, + "requires": { + "@nx/devkit": "18.3.4" + } + }, + "@nx/devkit": { + "version": "18.3.4", + "resolved": "https://registry.npmjs.org/@nx/devkit/-/devkit-18.3.4.tgz", + "integrity": "sha512-M3htxl5WvlNKK5KNOndCAApbyBCZNTFFs+rtdwvudNZk5+84zAAPaWzSoX9C4XLAW78/f98LzF68/ch05aN12A==", + "dev": true, + "requires": { + "@nrwl/devkit": "18.3.4", + "ejs": "^3.1.7", + "enquirer": "~2.3.6", + "ignore": "^5.0.4", + "semver": "^7.5.3", + "tmp": "~0.2.1", + "tslib": "^2.3.0", + "yargs-parser": "21.1.1" + } + }, + "semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + } } }, "@nx/webpack": { @@ -31078,6 +34856,62 @@ "webpack-subresource-integrity": "^5.1.0" }, "dependencies": { + "@nrwl/js": { + "version": "18.0.1", + "resolved": "https://registry.npmjs.org/@nrwl/js/-/js-18.0.1.tgz", + "integrity": "sha512-O1wfFdDMvObgqZgH/5qebm9YeN5cJ+UL2fJV2ZnsWVz3e8jhOQLflN3J7jXUWxzsz5stYiplsGpBjgXQRcNwaQ==", + "dev": true, + "requires": { + "@nx/js": "18.0.1" + } + }, + "@nx/js": { + "version": "18.0.1", + "resolved": "https://registry.npmjs.org/@nx/js/-/js-18.0.1.tgz", + "integrity": "sha512-U/l8K09UMrE4zVXEpmwpRWaY4fCrdcaaB3NXsEUwghJE6OuacADdaQ5ZWPxa0ji3nARKW7Umj87sOlUu8YjpTQ==", + "dev": true, + "requires": { + "@babel/core": "^7.23.2", + "@babel/plugin-proposal-decorators": "^7.22.7", + "@babel/plugin-transform-class-properties": "^7.22.5", + "@babel/plugin-transform-runtime": "^7.23.2", + "@babel/preset-env": "^7.23.2", + "@babel/preset-typescript": "^7.22.5", + "@babel/runtime": "^7.22.6", + "@nrwl/js": "18.0.1", + "@nx/devkit": "18.0.1", + "@nx/workspace": "18.0.1", + "@phenomnomnominal/tsquery": "~5.0.1", + "babel-plugin-const-enum": "^1.0.1", + "babel-plugin-macros": "^2.8.0", + "babel-plugin-transform-typescript-metadata": "^0.3.1", + "chalk": "^4.1.0", + "columnify": "^1.6.0", + "detect-port": "^1.5.1", + "fast-glob": "3.2.7", + "fs-extra": "^11.1.0", + "ignore": "^5.0.4", + "js-tokens": "^4.0.0", + "minimatch": "9.0.3", + "npm-package-arg": "11.0.1", + "npm-run-path": "^4.0.1", + "ora": "5.3.0", + "semver": "^7.5.3", + "source-map-support": "0.5.19", + "ts-node": "10.9.1", + "tsconfig-paths": "^4.1.2", + "tslib": "^2.3.0" + } + }, + "@phenomnomnominal/tsquery": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@phenomnomnominal/tsquery/-/tsquery-5.0.1.tgz", + "integrity": "sha512-3nVv+e2FQwsW8Aw6qTU6f+1rfcJ3hrcnvH/mu9i8YhxO+9sqbOfpL8m6PbET5+xKOlz/VSbp0RoYWYCtIsnmuA==", + "dev": true, + "requires": { + "esquery": "^1.4.0" + } + }, "ajv": { "version": "8.12.0", "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", @@ -31109,6 +34943,15 @@ "schema-utils": "^4.0.0" } }, + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0" + } + }, "find-cache-dir": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-4.0.0.tgz", @@ -31129,6 +34972,17 @@ "path-exists": "^5.0.0" } }, + "fs-extra": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", + "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, "json-schema-traverse": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", @@ -31144,6 +34998,15 @@ "p-locate": "^6.0.0" } }, + "minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dev": true, + "requires": { + "brace-expansion": "^2.0.1" + } + }, "p-limit": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", @@ -31195,6 +35058,32 @@ "ajv-keywords": "^5.1.0" } }, + "semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true + }, + "tsconfig-paths": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz", + "integrity": "sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==", + "dev": true, + "requires": { + "json5": "^2.2.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + } + }, "yocto-queue": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz", @@ -31228,9 +35117,9 @@ } }, "@polka/url": { - "version": "1.0.0-next.21", - "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.21.tgz", - "integrity": "sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==" + "version": "1.0.0-next.25", + "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.25.tgz", + "integrity": "sha512-j7P6Rgr3mmtdkeDGTe0E/aYyWEWVtc5yFXtHCRHs28/jptDEWfaVOc5T7cblqy1XKPPfCxJc/8DwQ5YgLOZOVQ==" }, "@protobufjs/aspromise": { "version": "1.1.2", @@ -31369,6 +35258,118 @@ } } }, + "@rollup/rollup-android-arm-eabi": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.17.2.tgz", + "integrity": "sha512-NM0jFxY8bB8QLkoKxIQeObCaDlJKewVlIEkuyYKm5An1tdVZ966w2+MPQ2l8LBZLjR+SgyV+nRkTIunzOYBMLQ==", + "dev": true, + "optional": true + }, + "@rollup/rollup-android-arm64": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.17.2.tgz", + "integrity": "sha512-yeX/Usk7daNIVwkq2uGoq2BYJKZY1JfyLTaHO/jaiSwi/lsf8fTFoQW/n6IdAsx5tx+iotu2zCJwz8MxI6D/Bw==", + "dev": true, + "optional": true + }, + "@rollup/rollup-darwin-arm64": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.17.2.tgz", + "integrity": "sha512-kcMLpE6uCwls023+kknm71ug7MZOrtXo+y5p/tsg6jltpDtgQY1Eq5sGfHcQfb+lfuKwhBmEURDga9N0ol4YPw==", + "dev": true, + "optional": true + }, + "@rollup/rollup-darwin-x64": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.17.2.tgz", + "integrity": "sha512-AtKwD0VEx0zWkL0ZjixEkp5tbNLzX+FCqGG1SvOu993HnSz4qDI6S4kGzubrEJAljpVkhRSlg5bzpV//E6ysTQ==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.17.2.tgz", + "integrity": "sha512-3reX2fUHqN7sffBNqmEyMQVj/CKhIHZd4y631duy0hZqI8Qoqf6lTtmAKvJFYa6bhU95B1D0WgzHkmTg33In0A==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-arm-musleabihf": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.17.2.tgz", + "integrity": "sha512-uSqpsp91mheRgw96xtyAGP9FW5ChctTFEoXP0r5FAzj/3ZRv3Uxjtc7taRQSaQM/q85KEKjKsZuiZM3GyUivRg==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-arm64-gnu": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.17.2.tgz", + "integrity": "sha512-EMMPHkiCRtE8Wdk3Qhtciq6BndLtstqZIroHiiGzB3C5LDJmIZcSzVtLRbwuXuUft1Cnv+9fxuDtDxz3k3EW2A==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-arm64-musl": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.17.2.tgz", + "integrity": "sha512-NMPylUUZ1i0z/xJUIx6VUhISZDRT+uTWpBcjdv0/zkp7b/bQDF+NfnfdzuTiB1G6HTodgoFa93hp0O1xl+/UbA==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-powerpc64le-gnu": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.17.2.tgz", + "integrity": "sha512-T19My13y8uYXPw/L/k0JYaX1fJKFT/PWdXiHr8mTbXWxjVF1t+8Xl31DgBBvEKclw+1b00Chg0hxE2O7bTG7GQ==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-riscv64-gnu": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.17.2.tgz", + "integrity": "sha512-BOaNfthf3X3fOWAB+IJ9kxTgPmMqPPH5f5k2DcCsRrBIbWnaJCgX2ll77dV1TdSy9SaXTR5iDXRL8n7AnoP5cg==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-s390x-gnu": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.17.2.tgz", + "integrity": "sha512-W0UP/x7bnn3xN2eYMql2T/+wpASLE5SjObXILTMPUBDB/Fg/FxC+gX4nvCfPBCbNhz51C+HcqQp2qQ4u25ok6g==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-x64-gnu": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.17.2.tgz", + "integrity": "sha512-Hy7pLwByUOuyaFC6mAr7m+oMC+V7qyifzs/nW2OJfC8H4hbCzOX07Ov0VFk/zP3kBsELWNFi7rJtgbKYsav9QQ==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-x64-musl": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.17.2.tgz", + "integrity": "sha512-h1+yTWeYbRdAyJ/jMiVw0l6fOOm/0D1vNLui9iPuqgRGnXA0u21gAqOyB5iHjlM9MMfNOm9RHCQ7zLIzT0x11Q==", + "dev": true, + "optional": true + }, + "@rollup/rollup-win32-arm64-msvc": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.17.2.tgz", + "integrity": "sha512-tmdtXMfKAjy5+IQsVtDiCfqbynAQE/TQRpWdVataHmhMb9DCoJxp9vLcCBjEQWMiUYxO1QprH/HbY9ragCEFLA==", + "dev": true, + "optional": true + }, + "@rollup/rollup-win32-ia32-msvc": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.17.2.tgz", + "integrity": "sha512-7II/QCSTAHuE5vdZaQEwJq2ZACkBpQDOmQsE6D6XUbnBHW8IAhm4eTufL6msLJorzrHDFv3CF8oCA/hSIRuZeQ==", + "dev": true, + "optional": true + }, + "@rollup/rollup-win32-x64-msvc": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.17.2.tgz", + "integrity": "sha512-TGGO7v7qOq4CYmSBVEYpI1Y5xDuCEnbVC5Vth8mOsW0gDSzxNrVERPc790IGHsrT2dQSimgMr9Ub3Y1Jci5/8w==", + "dev": true, + "optional": true + }, "@rushstack/eslint-patch": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.2.0.tgz", @@ -31552,6 +35553,162 @@ "@svgr/plugin-svgo": "^6.5.1" } }, + "@swc-node/core": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/@swc-node/core/-/core-1.13.1.tgz", + "integrity": "sha512-emB5l2nZsXjUEAuusqjYvWnQMLWZp6K039Mv8aq5SX1rsNM/N7DNhw1i4/DX7AyzNZ0tT+ASWyTvqEURldp5HA==", + "dev": true + }, + "@swc-node/register": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@swc-node/register/-/register-1.8.0.tgz", + "integrity": "sha512-8K3589HoBSmVmrEVrtr4K5sWEithpGDzcFGic81OW0A9sZY38IV5EGRODQWCk0SBDyLhaF+pid120vJAtsHo1A==", + "dev": true, + "requires": { + "@swc-node/core": "^1.12.0", + "@swc-node/sourcemap-support": "^0.4.0", + "colorette": "^2.0.20", + "debug": "^4.3.4", + "pirates": "^4.0.6", + "tslib": "^2.6.2" + } + }, + "@swc-node/sourcemap-support": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@swc-node/sourcemap-support/-/sourcemap-support-0.4.0.tgz", + "integrity": "sha512-weuRmYTO+4yOtHtPZHXlPdA1dJJJp3QOoZAFZ6uZidu992F2X5v1fQdnb26xs1o3Ex/e2sYhRyY5R6NGNuoATQ==", + "dev": true, + "requires": { + "source-map-support": "^0.5.21", + "tslib": "^2.6.2" + }, + "dependencies": { + "source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + } + } + }, + "@swc/core": { + "version": "1.3.107", + "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.3.107.tgz", + "integrity": "sha512-zKhqDyFcTsyLIYK1iEmavljZnf4CCor5pF52UzLAz4B6Nu/4GLU+2LQVAf+oRHjusG39PTPjd2AlRT3f3QWfsQ==", + "dev": true, + "requires": { + "@swc/core-darwin-arm64": "1.3.107", + "@swc/core-darwin-x64": "1.3.107", + "@swc/core-linux-arm-gnueabihf": "1.3.107", + "@swc/core-linux-arm64-gnu": "1.3.107", + "@swc/core-linux-arm64-musl": "1.3.107", + "@swc/core-linux-x64-gnu": "1.3.107", + "@swc/core-linux-x64-musl": "1.3.107", + "@swc/core-win32-arm64-msvc": "1.3.107", + "@swc/core-win32-ia32-msvc": "1.3.107", + "@swc/core-win32-x64-msvc": "1.3.107", + "@swc/counter": "^0.1.1", + "@swc/types": "^0.1.5" + } + }, + "@swc/core-darwin-arm64": { + "version": "1.3.107", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.3.107.tgz", + "integrity": "sha512-47tD/5vSXWxPd0j/ZllyQUg4bqalbQTsmqSw0J4dDdS82MWqCAwUErUrAZPRjBkjNQ6Kmrf5rpCWaGTtPw+ngw==", + "dev": true, + "optional": true + }, + "@swc/core-darwin-x64": { + "version": "1.3.107", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.3.107.tgz", + "integrity": "sha512-hwiLJ2ulNkBGAh1m1eTfeY1417OAYbRGcb/iGsJ+LuVLvKAhU/itzsl535CvcwAlt2LayeCFfcI8gdeOLeZa9A==", + "dev": true, + "optional": true + }, + "@swc/core-linux-arm-gnueabihf": { + "version": "1.3.107", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.3.107.tgz", + "integrity": "sha512-I2wzcC0KXqh0OwymCmYwNRgZ9nxX7DWnOOStJXV3pS0uB83TXAkmqd7wvMBuIl9qu4Hfomi9aDM7IlEEn9tumQ==", + "dev": true, + "optional": true + }, + "@swc/core-linux-arm64-gnu": { + "version": "1.3.107", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.3.107.tgz", + "integrity": "sha512-HWgnn7JORYlOYnGsdunpSF8A+BCZKPLzLtEUA27/M/ZuANcMZabKL9Zurt7XQXq888uJFAt98Gy+59PU90aHKg==", + "dev": true, + "optional": true + }, + "@swc/core-linux-arm64-musl": { + "version": "1.3.107", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.3.107.tgz", + "integrity": "sha512-vfPF74cWfAm8hyhS8yvYI94ucMHIo8xIYU+oFOW9uvDlGQRgnUf/6DEVbLyt/3yfX5723Ln57U8uiMALbX5Pyw==", + "dev": true, + "optional": true + }, + "@swc/core-linux-x64-gnu": { + "version": "1.3.107", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.3.107.tgz", + "integrity": "sha512-uBVNhIg0ip8rH9OnOsCARUFZ3Mq3tbPHxtmWk9uAa5u8jQwGWeBx5+nTHpDOVd3YxKb6+5xDEI/edeeLpha/9g==", + "dev": true, + "optional": true + }, + "@swc/core-linux-x64-musl": { + "version": "1.3.107", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.3.107.tgz", + "integrity": "sha512-mvACkUvzSIB12q1H5JtabWATbk3AG+pQgXEN95AmEX2ZA5gbP9+B+mijsg7Sd/3tboHr7ZHLz/q3SHTvdFJrEw==", + "dev": true, + "optional": true + }, + "@swc/core-win32-arm64-msvc": { + "version": "1.3.107", + "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.3.107.tgz", + "integrity": "sha512-J3P14Ngy/1qtapzbguEH41kY109t6DFxfbK4Ntz9dOWNuVY3o9/RTB841ctnJk0ZHEG+BjfCJjsD2n8H5HcaOA==", + "dev": true, + "optional": true + }, + "@swc/core-win32-ia32-msvc": { + "version": "1.3.107", + "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.3.107.tgz", + "integrity": "sha512-ZBUtgyjTHlz8TPJh7kfwwwFma+ktr6OccB1oXC8fMSopD0AxVnQasgun3l3099wIsAB9eEsJDQ/3lDkOLs1gBA==", + "dev": true, + "optional": true + }, + "@swc/core-win32-x64-msvc": { + "version": "1.3.107", + "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.3.107.tgz", + "integrity": "sha512-Eyzo2XRqWOxqhE1gk9h7LWmUf4Bp4Xn2Ttb0ayAXFp6YSTxQIThXcT9kipXZqcpxcmDwoq8iWbbf2P8XL743EA==", + "dev": true, + "optional": true + }, + "@swc/counter": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz", + "integrity": "sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==", + "dev": true + }, + "@swc/helpers": { + "version": "0.5.11", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.11.tgz", + "integrity": "sha512-YNlnKRWF2sVojTpIyzwou9XoTNbzbzONwRhOoniEioF1AtaitTvVZblaQRrAzChWQ1bLYyYSWzM18y4WwgzJ+A==", + "dev": true, + "requires": { + "tslib": "^2.4.0" + } + }, + "@swc/types": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/@swc/types/-/types-0.1.6.tgz", + "integrity": "sha512-/JLo/l2JsT/LRd80C3HfbmVpxOAJ11FO2RCEslFrgzLltoP9j8XIbsyDcfCt2WWyX+CM96rBoNM+IToAkFOugg==", + "dev": true, + "requires": { + "@swc/counter": "^0.1.3" + } + }, "@tootallnate/once": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", @@ -32665,6 +36822,195 @@ "eslint-visitor-keys": "^3.3.0" } }, + "@vitest/coverage-v8": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-1.5.3.tgz", + "integrity": "sha512-DPyGSu/fPHOJuPxzFSQoT4N/Fu/2aJfZRtEpEp8GI7NHsXBGE94CQ+pbEGBUMFjatsHPDJw/+TAF9r4ens2CNw==", + "dev": true, + "requires": { + "@ampproject/remapping": "^2.2.1", + "@bcoe/v8-coverage": "^0.2.3", + "debug": "^4.3.4", + "istanbul-lib-coverage": "^3.2.2", + "istanbul-lib-report": "^3.0.1", + "istanbul-lib-source-maps": "^5.0.4", + "istanbul-reports": "^3.1.6", + "magic-string": "^0.30.5", + "magicast": "^0.3.3", + "picocolors": "^1.0.0", + "std-env": "^3.5.0", + "strip-literal": "^2.0.0", + "test-exclude": "^6.0.0" + }, + "dependencies": { + "istanbul-lib-source-maps": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-5.0.4.tgz", + "integrity": "sha512-wHOoEsNJTVltaJp8eVkm8w+GVkVNHT2YDYo53YdzQEL2gWm1hBX5cGFR9hQJtuGLebidVX7et3+dmDZrmclduw==", + "dev": true, + "requires": { + "@jridgewell/trace-mapping": "^0.3.23", + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0" + } + }, + "magic-string": { + "version": "0.30.10", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.10.tgz", + "integrity": "sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==", + "dev": true, + "requires": { + "@jridgewell/sourcemap-codec": "^1.4.15" + } + } + } + }, + "@vitest/expect": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-1.5.3.tgz", + "integrity": "sha512-y+waPz31pOFr3rD7vWTbwiLe5+MgsMm40jTZbQE8p8/qXyBX3CQsIXRx9XK12IbY7q/t5a5aM/ckt33b4PxK2g==", + "dev": true, + "requires": { + "@vitest/spy": "1.5.3", + "@vitest/utils": "1.5.3", + "chai": "^4.3.10" + } + }, + "@vitest/runner": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-1.5.3.tgz", + "integrity": "sha512-7PlfuReN8692IKQIdCxwir1AOaP5THfNkp0Uc4BKr2na+9lALNit7ub9l3/R7MP8aV61+mHKRGiqEKRIwu6iiQ==", + "dev": true, + "requires": { + "@vitest/utils": "1.5.3", + "p-limit": "^5.0.0", + "pathe": "^1.1.1" + }, + "dependencies": { + "p-limit": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-5.0.0.tgz", + "integrity": "sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==", + "dev": true, + "requires": { + "yocto-queue": "^1.0.0" + } + }, + "yocto-queue": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz", + "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==", + "dev": true + } + } + }, + "@vitest/snapshot": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-1.5.3.tgz", + "integrity": "sha512-K3mvIsjyKYBhNIDujMD2gfQEzddLe51nNOAf45yKRt/QFJcUIeTQd2trRvv6M6oCBHNVnZwFWbQ4yj96ibiDsA==", + "dev": true, + "requires": { + "magic-string": "^0.30.5", + "pathe": "^1.1.1", + "pretty-format": "^29.7.0" + }, + "dependencies": { + "magic-string": { + "version": "0.30.10", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.10.tgz", + "integrity": "sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==", + "dev": true, + "requires": { + "@jridgewell/sourcemap-codec": "^1.4.15" + } + } + } + }, + "@vitest/spy": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-1.5.3.tgz", + "integrity": "sha512-Llj7Jgs6lbnL55WoshJUUacdJfjU2honvGcAJBxhra5TPEzTJH8ZuhI3p/JwqqfnTr4PmP7nDmOXP53MS7GJlg==", + "dev": true, + "requires": { + "tinyspy": "^2.2.0" + } + }, + "@vitest/ui": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/@vitest/ui/-/ui-1.5.3.tgz", + "integrity": "sha512-DoSA5YxcUmeBEK7kJHzXiL2I0d9AijWI33arnUrwiWFDxgZPDxTjvSVsiXhe8qfqhloIHkwazl5E2rhlDd/ErA==", + "dev": true, + "requires": { + "@vitest/utils": "1.5.3", + "fast-glob": "^3.3.2", + "fflate": "^0.8.1", + "flatted": "^3.2.9", + "pathe": "^1.1.1", + "picocolors": "^1.0.0", + "sirv": "^2.0.4" + }, + "dependencies": { + "fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "dev": true, + "requires": { + "@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" + } + }, + "mrmime": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.0.tgz", + "integrity": "sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==", + "dev": true + }, + "sirv": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/sirv/-/sirv-2.0.4.tgz", + "integrity": "sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==", + "dev": true, + "requires": { + "@polka/url": "^1.0.0-next.24", + "mrmime": "^2.0.0", + "totalist": "^3.0.0" + } + }, + "totalist": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz", + "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==", + "dev": true + } + } + }, + "@vitest/utils": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-1.5.3.tgz", + "integrity": "sha512-rE9DTN1BRhzkzqNQO+kw8ZgfeEBCLXiHJwetk668shmNBpSagQxneT5eSqEBLP+cqSiAeecvQmbpFfdMyLcIQA==", + "dev": true, + "requires": { + "diff-sequences": "^29.6.3", + "estree-walker": "^3.0.3", + "loupe": "^2.3.7", + "pretty-format": "^29.7.0" + }, + "dependencies": { + "estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "dev": true, + "requires": { + "@types/estree": "^1.0.0" + } + } + } + }, "@vscode/vsce": { "version": "2.19.0", "resolved": "https://registry.npmjs.org/@vscode/vsce/-/vsce-2.19.0.tgz", @@ -32978,9 +37324,9 @@ "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==" }, "acorn-walk": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", - "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==" + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.2.tgz", + "integrity": "sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==" }, "address": { "version": "1.2.2", @@ -33308,6 +37654,12 @@ "util": "^0.12.0" } }, + "assertion-error": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", + "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", + "dev": true + }, "ast-types-flow": { "version": "0.0.7", "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", @@ -33960,6 +38312,12 @@ "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==" }, + "cac": { + "version": "6.7.14", + "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", + "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==", + "dev": true + }, "cacache": { "version": "15.3.0", "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz", @@ -34049,6 +38407,21 @@ "resolved": "https://registry.npmjs.org/ccount/-/ccount-1.1.0.tgz", "integrity": "sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg==" }, + "chai": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.4.1.tgz", + "integrity": "sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==", + "dev": true, + "requires": { + "assertion-error": "^1.1.0", + "check-error": "^1.0.3", + "deep-eql": "^4.1.3", + "get-func-name": "^2.0.2", + "loupe": "^2.3.6", + "pathval": "^1.1.1", + "type-detect": "^4.0.8" + } + }, "chainsaw": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/chainsaw/-/chainsaw-0.1.0.tgz", @@ -34087,6 +38460,15 @@ "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz", "integrity": "sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==" }, + "check-error": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz", + "integrity": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==", + "dev": true, + "requires": { + "get-func-name": "^2.0.2" + } + }, "cheerio": { "version": "1.0.0-rc.12", "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz", @@ -34383,9 +38765,9 @@ "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==" }, "colorette": { - "version": "2.0.19", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz", - "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==" + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==" }, "columnify": { "version": "1.6.0", @@ -34499,6 +38881,12 @@ "source-map": "^0.6.1" } }, + "confbox": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.1.7.tgz", + "integrity": "sha512-uJcB/FKZtBMCJpK8MQji6bJHgu1tixKPxRLeGkNzBoOZzpnZUJm0jm2/sBDWcuBx1dYgxV4JU+g5hmNxCyAmdA==", + "dev": true + }, "configstore": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz", @@ -35811,6 +40199,15 @@ "integrity": "sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg==", "dev": true }, + "deep-eql": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz", + "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==", + "dev": true, + "requires": { + "type-detect": "^4.0.0" + } + }, "deep-extend": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", @@ -37272,6 +41669,12 @@ "xml-js": "^1.6.11" } }, + "fflate": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.8.2.tgz", + "integrity": "sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==", + "dev": true + }, "figures": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", @@ -37418,9 +41821,9 @@ } }, "flatted": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", - "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", + "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", "dev": true }, "flux": { @@ -37552,9 +41955,9 @@ "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" }, "fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", "optional": true }, "fstream": { @@ -37653,6 +42056,12 @@ "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", "dev": true }, + "get-func-name": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", + "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==", + "dev": true + }, "get-intrinsic": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz", @@ -39983,6 +44392,16 @@ "json5": "^2.1.2" } }, + "local-pkg": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.5.0.tgz", + "integrity": "sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==", + "dev": true, + "requires": { + "mlly": "^1.4.2", + "pkg-types": "^1.0.3" + } + }, "locate-path": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", @@ -40121,6 +44540,15 @@ "js-tokens": "^3.0.0 || ^4.0.0" } }, + "loupe": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.7.tgz", + "integrity": "sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==", + "dev": true, + "requires": { + "get-func-name": "^2.0.1" + } + }, "lower-case": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", @@ -40146,6 +44574,17 @@ "sourcemap-codec": "^1.4.8" } }, + "magicast": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/magicast/-/magicast-0.3.4.tgz", + "integrity": "sha512-TyDF/Pn36bBji9rWKHlZe+PZb6Mx5V8IHCSxk7X4aljM4e/vyDvZZYwHewdVaqiA0nb3ghfHU/6AUpDxWoER2Q==", + "dev": true, + "requires": { + "@babel/parser": "^7.24.4", + "@babel/types": "^7.24.0", + "source-map-js": "^1.2.0" + } + }, "make-dir": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", @@ -40550,6 +44989,18 @@ "dev": true, "optional": true }, + "mlly": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.7.0.tgz", + "integrity": "sha512-U9SDaXGEREBYQgfejV97coK0UL1r+qnF2SyO9A3qcI8MzKnsIFKHNVEkrDyNncQTKQQumsasmeq84eNMdBfsNQ==", + "dev": true, + "requires": { + "acorn": "^8.11.3", + "pathe": "^1.1.2", + "pkg-types": "^1.1.0", + "ufo": "^1.5.3" + } + }, "monaco-editor": { "version": "0.34.1", "resolved": "https://registry.npmjs.org/monaco-editor/-/monaco-editor-0.34.1.tgz", @@ -41561,6 +46012,18 @@ "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" }, + "pathe": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz", + "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==", + "dev": true + }, + "pathval": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", + "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", + "dev": true + }, "pend": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", @@ -41651,6 +46114,17 @@ "find-up": "^4.0.0" } }, + "pkg-types": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.1.0.tgz", + "integrity": "sha512-/RpmvKdxKf8uILTtoOhAgf30wYbP2Qw+L9p3Rvshx1JZVX+XQNZQFjlbmGHEGIm4CkVPlSn+NXmIM8+9oWQaSA==", + "dev": true, + "requires": { + "confbox": "^0.1.7", + "mlly": "^1.6.1", + "pathe": "^1.1.2" + } + }, "pkg-up": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", @@ -43931,6 +48405,12 @@ "object-inspect": "^1.9.0" } }, + "siginfo": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz", + "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==", + "dev": true + }, "signal-exit": { "version": "3.0.7", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", @@ -44056,9 +48536,9 @@ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" }, "source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==" + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", + "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==" }, "source-map-loader": { "version": "3.0.2", @@ -44176,6 +48656,12 @@ } } }, + "stackback": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", + "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==", + "dev": true + }, "state-toggle": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/state-toggle/-/state-toggle-1.0.3.tgz", @@ -44187,9 +48673,9 @@ "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==" }, "std-env": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.3.2.tgz", - "integrity": "sha512-uUZI65yrV2Qva5gqE0+A7uVAvO40iPo6jGhs7s8keRfHCmtg+uB2X6EiLGCI9IgL1J17xGhvoOqSz79lzICPTA==" + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.7.0.tgz", + "integrity": "sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==" }, "string_decoder": { "version": "1.3.0", @@ -44308,6 +48794,23 @@ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==" }, + "strip-literal": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-2.1.0.tgz", + "integrity": "sha512-Op+UycaUt/8FbN/Z2TWPBLge3jWrP3xj10f3fnYxf052bKuS3EKs1ZQcVGjnEMdsNVAM+plXRdmjrZ/KgG3Skw==", + "dev": true, + "requires": { + "js-tokens": "^9.0.0" + }, + "dependencies": { + "js-tokens": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-9.0.0.tgz", + "integrity": "sha512-WriZw1luRMlmV3LGJaR6QOJjWwgLUTf89OwT2lUOyjX2dJGBwgmIkbcz+7WFZjrZM635JOIR517++e/67CP9dQ==", + "dev": true + } + } + }, "strong-log-transformer": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/strong-log-transformer/-/strong-log-transformer-2.1.0.tgz", @@ -44602,6 +49105,24 @@ "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz", "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==" }, + "tinybench": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.8.0.tgz", + "integrity": "sha512-1/eK7zUnIklz4JUUlL+658n58XO2hHLQfSk1Zf2LKieUjxidN16eKFEoDEfjHc3ohofSSqK3X5yO6VGb6iW8Lw==", + "dev": true + }, + "tinypool": { + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-0.8.4.tgz", + "integrity": "sha512-i11VH5gS6IFeLY3gMBQ00/MmLncVP7JLXOw1vlgkytLmJK7QnEr7NXf0LBdxfmNPAeyetukOk0bOYrJrFGjYJQ==", + "dev": true + }, + "tinyspy": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-2.2.1.tgz", + "integrity": "sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==", + "dev": true + }, "tmp": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", @@ -44828,9 +49349,9 @@ } }, "tslib": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz", - "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==" + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" }, "tsutils": { "version": "3.21.0", @@ -44936,6 +49457,12 @@ "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz", "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==" }, + "ufo": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.5.3.tgz", + "integrity": "sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==", + "dev": true + }, "uglify-js": { "version": "3.17.4", "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.4.tgz", @@ -45432,6 +49959,175 @@ "unist-util-stringify-position": "^2.0.0" } }, + "vite": { + "version": "5.0.13", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.0.13.tgz", + "integrity": "sha512-/9ovhv2M2dGTuA+dY93B9trfyWMDRQw2jdVBhHNP6wr0oF34wG2i/N55801iZIpgUpnHDm4F/FabGQLyc+eOgg==", + "dev": true, + "requires": { + "esbuild": "^0.19.3", + "fsevents": "~2.3.3", + "postcss": "^8.4.32", + "rollup": "^4.2.0" + }, + "dependencies": { + "rollup": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.17.2.tgz", + "integrity": "sha512-/9ClTJPByC0U4zNLowV1tMBe8yMEAxewtR3cUNX5BoEpGH3dQEWpJLr6CLp0fPdYRF/fzVOgvDb1zXuakwF5kQ==", + "dev": true, + "requires": { + "@rollup/rollup-android-arm-eabi": "4.17.2", + "@rollup/rollup-android-arm64": "4.17.2", + "@rollup/rollup-darwin-arm64": "4.17.2", + "@rollup/rollup-darwin-x64": "4.17.2", + "@rollup/rollup-linux-arm-gnueabihf": "4.17.2", + "@rollup/rollup-linux-arm-musleabihf": "4.17.2", + "@rollup/rollup-linux-arm64-gnu": "4.17.2", + "@rollup/rollup-linux-arm64-musl": "4.17.2", + "@rollup/rollup-linux-powerpc64le-gnu": "4.17.2", + "@rollup/rollup-linux-riscv64-gnu": "4.17.2", + "@rollup/rollup-linux-s390x-gnu": "4.17.2", + "@rollup/rollup-linux-x64-gnu": "4.17.2", + "@rollup/rollup-linux-x64-musl": "4.17.2", + "@rollup/rollup-win32-arm64-msvc": "4.17.2", + "@rollup/rollup-win32-ia32-msvc": "4.17.2", + "@rollup/rollup-win32-x64-msvc": "4.17.2", + "@types/estree": "1.0.5", + "fsevents": "~2.3.2" + } + } + } + }, + "vite-node": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-1.5.3.tgz", + "integrity": "sha512-axFo00qiCpU/JLd8N1gu9iEYL3xTbMbMrbe5nDp9GL0nb6gurIdZLkkFogZXWnE8Oyy5kfSLwNVIcVsnhE7lgQ==", + "dev": true, + "requires": { + "cac": "^6.7.14", + "debug": "^4.3.4", + "pathe": "^1.1.1", + "picocolors": "^1.0.0", + "vite": "^5.0.0" + } + }, + "vitest": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-1.5.3.tgz", + "integrity": "sha512-2oM7nLXylw3mQlW6GXnRriw+7YvZFk/YNV8AxIC3Z3MfFbuziLGWP9GPxxu/7nRlXhqyxBikpamr+lEEj1sUEw==", + "dev": true, + "requires": { + "@vitest/expect": "1.5.3", + "@vitest/runner": "1.5.3", + "@vitest/snapshot": "1.5.3", + "@vitest/spy": "1.5.3", + "@vitest/utils": "1.5.3", + "acorn-walk": "^8.3.2", + "chai": "^4.3.10", + "debug": "^4.3.4", + "execa": "^8.0.1", + "local-pkg": "^0.5.0", + "magic-string": "^0.30.5", + "pathe": "^1.1.1", + "picocolors": "^1.0.0", + "std-env": "^3.5.0", + "strip-literal": "^2.0.0", + "tinybench": "^2.5.1", + "tinypool": "^0.8.3", + "vite": "^5.0.0", + "vite-node": "1.5.3", + "why-is-node-running": "^2.2.2" + }, + "dependencies": { + "execa": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", + "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.3", + "get-stream": "^8.0.1", + "human-signals": "^5.0.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^4.1.0", + "strip-final-newline": "^3.0.0" + } + }, + "get-stream": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", + "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", + "dev": true + }, + "human-signals": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", + "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", + "dev": true + }, + "is-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", + "dev": true + }, + "magic-string": { + "version": "0.30.10", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.10.tgz", + "integrity": "sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==", + "dev": true, + "requires": { + "@jridgewell/sourcemap-codec": "^1.4.15" + } + }, + "mimic-fn": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", + "dev": true + }, + "npm-run-path": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", + "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", + "dev": true, + "requires": { + "path-key": "^4.0.0" + } + }, + "onetime": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", + "dev": true, + "requires": { + "mimic-fn": "^4.0.0" + } + }, + "path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "dev": true + }, + "signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true + }, + "strip-final-newline": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", + "dev": true + } + } + }, "vscode": { "version": "npm:@codingame/monaco-vscode-api@1.69.13", "resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-api/-/monaco-vscode-api-1.69.13.tgz", @@ -45940,6 +50636,16 @@ "is-typed-array": "^1.1.10" } }, + "why-is-node-running": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.2.2.tgz", + "integrity": "sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==", + "dev": true, + "requires": { + "siginfo": "^2.0.0", + "stackback": "0.0.2" + } + }, "wide-align": { "version": "1.1.5", "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", diff --git a/package.json b/package.json index a16049234..6c18cf914 100644 --- a/package.json +++ b/package.json @@ -56,13 +56,17 @@ "@nx/eslint": "18.0.1", "@nx/eslint-plugin": "18.0.1", "@nx/jest": "18.0.1", - "@nx/js": "18.0.1", + "@nx/js": "18.3.4", "@nx/node": "18.0.1", "@nx/react": "18.0.1", "@nx/rollup": "18.0.1", - "@nx/web": "18.0.1", + "@nx/vite": "^18.3.4", + "@nx/web": "18.3.4", "@nx/webpack": "18.0.1", "@nx/workspace": "18.0.1", + "@swc-node/register": "~1.8.0", + "@swc/core": "~1.3.85", + "@swc/helpers": "~0.5.2", "@types/follow-redirects": "^1.14.1", "@types/jest": "29.4.4", "@types/mime-types": "^2.1.1", @@ -73,6 +77,8 @@ "@types/vscode": "^1.56.0", "@typescript-eslint/eslint-plugin": "6.20.0", "@typescript-eslint/parser": "6.20.0", + "@vitest/coverage-v8": "^1.0.4", + "@vitest/ui": "^1.3.1", "@vscode/vsce": "^2.19.0", "esbuild": "^0.19.2", "eslint": "8.48.0", @@ -91,7 +97,9 @@ "prettier": "^2.8.7", "ts-jest": "29.1.2", "ts-node": "10.9.1", - "typescript": "^5.0.4" + "typescript": "^5.0.4", + "vite": "~5.0.0", + "vitest": "^1.3.1" }, "overrides": { "remark-parse@8.0.3": { diff --git a/vitest.workspace.ts b/vitest.workspace.ts new file mode 100644 index 000000000..3c983a248 --- /dev/null +++ b/vitest.workspace.ts @@ -0,0 +1 @@ +export default ['**/*/vite.config.ts', '**/*/vitest.config.ts']; From 1644295af8afa91cdce0233b3a0f7214b126033f Mon Sep 17 00:00:00 2001 From: Georg Schwarz Date: Fri, 3 May 2024 09:41:04 +0200 Subject: [PATCH 15/38] Use vitest in language-server instead of jest --- libs/language-server/jest.config.ts | 19 --------------- libs/language-server/project.json | 4 ++-- .../checks/block-type-definition.spec.ts | 3 ++- .../property-assignment.spec.ts | 3 ++- .../block-type-specific/property-body.spec.ts | 3 ++- .../lib/validation/checks/column-id.spec.ts | 3 ++- .../composite-block-type-definition.spec.ts | 3 ++- .../property-assignment.spec.ts | 3 ++- .../property-body.spec.ts | 3 ++- .../expression-constraint-definition.spec.ts | 3 ++- .../validation/checks/jayvee-model.spec.ts | 3 ++- .../validation/checks/pipe-definition.spec.ts | 3 ++- .../checks/pipeline-definition.spec.ts | 3 ++- .../checks/property-assignment.spec.ts | 3 ++- .../validation/checks/property-body.spec.ts | 3 ++- .../validation/checks/range-literal.spec.ts | 3 ++- .../validation/checks/regex-literal.spec.ts | 3 ++- .../validation/checks/transform-body.spec.ts | 3 ++- .../transform-output-assignment.spec.ts | 3 ++- .../typed-constraint-definition.spec.ts | 3 ++- .../checks/value-type-definition.spec.ts | 3 ++- .../checks/value-type-reference.spec.ts | 3 ++- .../lib/validation/validation-utils.spec.ts | 3 ++- libs/language-server/tsconfig.spec.json | 23 +++++++++++++++++-- libs/language-server/vite.config.ts | 23 +++++++++++++++++++ 25 files changed, 88 insertions(+), 44 deletions(-) delete mode 100644 libs/language-server/jest.config.ts create mode 100644 libs/language-server/vite.config.ts diff --git a/libs/language-server/jest.config.ts b/libs/language-server/jest.config.ts deleted file mode 100644 index fe67eaa56..000000000 --- a/libs/language-server/jest.config.ts +++ /dev/null @@ -1,19 +0,0 @@ -// SPDX-FileCopyrightText: 2023 Friedrich-Alexander-Universitat Erlangen-Nurnberg -// -// SPDX-License-Identifier: AGPL-3.0-only - -export default { - displayName: 'language-server', - preset: '../../jest.preset.js', - globals: {}, - transform: { - '^.+\\.[tj]s$': [ - 'ts-jest', - { - tsconfig: '/tsconfig.spec.json', - }, - ], - }, - moduleFileExtensions: ['ts', 'js', 'html'], - coverageDirectory: '../../coverage/libs/language-server', -}; diff --git a/libs/language-server/project.json b/libs/language-server/project.json index 4367d1729..4005729af 100644 --- a/libs/language-server/project.json +++ b/libs/language-server/project.json @@ -22,10 +22,10 @@ "outputs": ["{options.outputFile}"] }, "test": { - "executor": "@nx/jest:jest", + "executor": "@nx/vite:test", "outputs": ["{workspaceRoot}/coverage/{projectRoot}"], "options": { - "jestConfig": "libs/language-server/jest.config.ts", + "configFile": "{projectRoot}/vite.config.ts", "passWithNoTests": false } }, diff --git a/libs/language-server/src/lib/validation/checks/block-type-definition.spec.ts b/libs/language-server/src/lib/validation/checks/block-type-definition.spec.ts index 53a348235..5ecf49868 100644 --- a/libs/language-server/src/lib/validation/checks/block-type-definition.spec.ts +++ b/libs/language-server/src/lib/validation/checks/block-type-definition.spec.ts @@ -8,6 +8,7 @@ import { type LangiumDocument, } from 'langium'; import { NodeFileSystem } from 'langium/node'; +import { vi } from 'vitest'; import { type BuiltinBlockTypeDefinition, @@ -31,7 +32,7 @@ describe('Validation of BuiltinBlockTypeDefinition', () => { options?: ParseHelperOptions, ) => Promise>; - const validationAcceptorMock = jest.fn(validationAcceptorMockImpl); + const validationAcceptorMock = vi.fn(validationAcceptorMockImpl); let locator: AstNodeLocator; let services: JayveeServices; diff --git a/libs/language-server/src/lib/validation/checks/block-type-specific/property-assignment.spec.ts b/libs/language-server/src/lib/validation/checks/block-type-specific/property-assignment.spec.ts index d78257345..dec8260ad 100644 --- a/libs/language-server/src/lib/validation/checks/block-type-specific/property-assignment.spec.ts +++ b/libs/language-server/src/lib/validation/checks/block-type-specific/property-assignment.spec.ts @@ -8,6 +8,7 @@ import { type LangiumDocument, } from 'langium'; import { NodeFileSystem } from 'langium/node'; +import { vi } from 'vitest'; import { type JayveeServices, @@ -33,7 +34,7 @@ describe('Validation of block type specific properties', () => { options?: ParseHelperOptions, ) => Promise>; - const validationAcceptorMock = jest.fn(validationAcceptorMockImpl); + const validationAcceptorMock = vi.fn(validationAcceptorMockImpl); let locator: AstNodeLocator; let services: JayveeServices; diff --git a/libs/language-server/src/lib/validation/checks/block-type-specific/property-body.spec.ts b/libs/language-server/src/lib/validation/checks/block-type-specific/property-body.spec.ts index 497fb477b..b1c3783ec 100644 --- a/libs/language-server/src/lib/validation/checks/block-type-specific/property-body.spec.ts +++ b/libs/language-server/src/lib/validation/checks/block-type-specific/property-body.spec.ts @@ -8,6 +8,7 @@ import { type LangiumDocument, } from 'langium'; import { NodeFileSystem } from 'langium/node'; +import { vi } from 'vitest'; import { type JayveeServices, @@ -31,7 +32,7 @@ describe('Validation of block type specific property bodies', () => { options?: ParseHelperOptions, ) => Promise>; - const validationAcceptorMock = jest.fn(validationAcceptorMockImpl); + const validationAcceptorMock = vi.fn(validationAcceptorMockImpl); let locator: AstNodeLocator; let services: JayveeServices; diff --git a/libs/language-server/src/lib/validation/checks/column-id.spec.ts b/libs/language-server/src/lib/validation/checks/column-id.spec.ts index fc503f603..583e1e606 100644 --- a/libs/language-server/src/lib/validation/checks/column-id.spec.ts +++ b/libs/language-server/src/lib/validation/checks/column-id.spec.ts @@ -8,6 +8,7 @@ import { type LangiumDocument, } from 'langium'; import { NodeFileSystem } from 'langium/node'; +import { vi } from 'vitest'; import { type ColumnId, @@ -31,7 +32,7 @@ describe('Validation of ColumnId', () => { options?: ParseHelperOptions, ) => Promise>; - const validationAcceptorMock = jest.fn(validationAcceptorMockImpl); + const validationAcceptorMock = vi.fn(validationAcceptorMockImpl); let locator: AstNodeLocator; let services: JayveeServices; diff --git a/libs/language-server/src/lib/validation/checks/composite-block-type-definition.spec.ts b/libs/language-server/src/lib/validation/checks/composite-block-type-definition.spec.ts index eb932e5c8..5a4da6455 100644 --- a/libs/language-server/src/lib/validation/checks/composite-block-type-definition.spec.ts +++ b/libs/language-server/src/lib/validation/checks/composite-block-type-definition.spec.ts @@ -8,6 +8,7 @@ import { type LangiumDocument, } from 'langium'; import { NodeFileSystem } from 'langium/node'; +import { vi } from 'vitest'; import { type CompositeBlockTypeDefinition, @@ -31,7 +32,7 @@ describe('Validation of CompositeBlockTypeDefinition', () => { options?: ParseHelperOptions, ) => Promise>; - const validationAcceptorMock = jest.fn(validationAcceptorMockImpl); + const validationAcceptorMock = vi.fn(validationAcceptorMockImpl); let locator: AstNodeLocator; let services: JayveeServices; diff --git a/libs/language-server/src/lib/validation/checks/constrainttype-specific/property-assignment.spec.ts b/libs/language-server/src/lib/validation/checks/constrainttype-specific/property-assignment.spec.ts index cae4851b5..89ec0fcc7 100644 --- a/libs/language-server/src/lib/validation/checks/constrainttype-specific/property-assignment.spec.ts +++ b/libs/language-server/src/lib/validation/checks/constrainttype-specific/property-assignment.spec.ts @@ -8,6 +8,7 @@ import { type LangiumDocument, } from 'langium'; import { NodeFileSystem } from 'langium/node'; +import { vi } from 'vitest'; import { type JayveeServices, @@ -33,7 +34,7 @@ describe('Validation of constraint type specific properties', () => { options?: ParseHelperOptions, ) => Promise>; - const validationAcceptorMock = jest.fn(validationAcceptorMockImpl); + const validationAcceptorMock = vi.fn(validationAcceptorMockImpl); let locator: AstNodeLocator; let services: JayveeServices; diff --git a/libs/language-server/src/lib/validation/checks/constrainttype-specific/property-body.spec.ts b/libs/language-server/src/lib/validation/checks/constrainttype-specific/property-body.spec.ts index 8757a2512..bd86cdc84 100644 --- a/libs/language-server/src/lib/validation/checks/constrainttype-specific/property-body.spec.ts +++ b/libs/language-server/src/lib/validation/checks/constrainttype-specific/property-body.spec.ts @@ -8,6 +8,7 @@ import { type LangiumDocument, } from 'langium'; import { NodeFileSystem } from 'langium/node'; +import { vi } from 'vitest'; import { type JayveeServices, @@ -31,7 +32,7 @@ describe('Validation of constraint type specific property bodies', () => { options?: ParseHelperOptions, ) => Promise>; - const validationAcceptorMock = jest.fn(validationAcceptorMockImpl); + const validationAcceptorMock = vi.fn(validationAcceptorMockImpl); let locator: AstNodeLocator; let services: JayveeServices; diff --git a/libs/language-server/src/lib/validation/checks/expression-constraint-definition.spec.ts b/libs/language-server/src/lib/validation/checks/expression-constraint-definition.spec.ts index 58209ecaa..a05aba331 100644 --- a/libs/language-server/src/lib/validation/checks/expression-constraint-definition.spec.ts +++ b/libs/language-server/src/lib/validation/checks/expression-constraint-definition.spec.ts @@ -8,6 +8,7 @@ import { type LangiumDocument, } from 'langium'; import { NodeFileSystem } from 'langium/node'; +import { vi } from 'vitest'; import { type ExpressionConstraintDefinition, @@ -31,7 +32,7 @@ describe('Validation of ConstraintDefinition (expression syntax)', () => { options?: ParseHelperOptions, ) => Promise>; - const validationAcceptorMock = jest.fn(validationAcceptorMockImpl); + const validationAcceptorMock = vi.fn(validationAcceptorMockImpl); let locator: AstNodeLocator; let services: JayveeServices; diff --git a/libs/language-server/src/lib/validation/checks/jayvee-model.spec.ts b/libs/language-server/src/lib/validation/checks/jayvee-model.spec.ts index 06c0f8d70..51c04a2da 100644 --- a/libs/language-server/src/lib/validation/checks/jayvee-model.spec.ts +++ b/libs/language-server/src/lib/validation/checks/jayvee-model.spec.ts @@ -4,6 +4,7 @@ import { type AstNode, type LangiumDocument } from 'langium'; import { NodeFileSystem } from 'langium/node'; +import { vi } from 'vitest'; import { type JayveeModel, @@ -29,7 +30,7 @@ describe('Validation of JayveeModel', () => { let services: JayveeServices; - const validationAcceptorMock = jest.fn(validationAcceptorMockImpl); + const validationAcceptorMock = vi.fn(validationAcceptorMockImpl); const readJvTestAsset = readJvTestAssetHelper( __dirname, diff --git a/libs/language-server/src/lib/validation/checks/pipe-definition.spec.ts b/libs/language-server/src/lib/validation/checks/pipe-definition.spec.ts index c6b69a46e..d884298b6 100644 --- a/libs/language-server/src/lib/validation/checks/pipe-definition.spec.ts +++ b/libs/language-server/src/lib/validation/checks/pipe-definition.spec.ts @@ -8,6 +8,7 @@ import { type LangiumDocument, } from 'langium'; import { NodeFileSystem } from 'langium/node'; +import { vi } from 'vitest'; import { type JayveeServices, @@ -31,7 +32,7 @@ describe('Validation of PipeDefinition', () => { options?: ParseHelperOptions, ) => Promise>; - const validationAcceptorMock = jest.fn(validationAcceptorMockImpl); + const validationAcceptorMock = vi.fn(validationAcceptorMockImpl); let locator: AstNodeLocator; let services: JayveeServices; diff --git a/libs/language-server/src/lib/validation/checks/pipeline-definition.spec.ts b/libs/language-server/src/lib/validation/checks/pipeline-definition.spec.ts index fe430c712..71cd94718 100644 --- a/libs/language-server/src/lib/validation/checks/pipeline-definition.spec.ts +++ b/libs/language-server/src/lib/validation/checks/pipeline-definition.spec.ts @@ -8,6 +8,7 @@ import { type LangiumDocument, } from 'langium'; import { NodeFileSystem } from 'langium/node'; +import { vi } from 'vitest'; import { type JayveeServices, @@ -31,7 +32,7 @@ describe('Validation of PipelineDefinition', () => { options?: ParseHelperOptions, ) => Promise>; - const validationAcceptorMock = jest.fn(validationAcceptorMockImpl); + const validationAcceptorMock = vi.fn(validationAcceptorMockImpl); let locator: AstNodeLocator; let services: JayveeServices; diff --git a/libs/language-server/src/lib/validation/checks/property-assignment.spec.ts b/libs/language-server/src/lib/validation/checks/property-assignment.spec.ts index 9568058d0..08b3e6649 100644 --- a/libs/language-server/src/lib/validation/checks/property-assignment.spec.ts +++ b/libs/language-server/src/lib/validation/checks/property-assignment.spec.ts @@ -8,6 +8,7 @@ import { type LangiumDocument, } from 'langium'; import { NodeFileSystem } from 'langium/node'; +import { vi } from 'vitest'; import { type JayveeServices, @@ -33,7 +34,7 @@ describe('Validation of PropertyAssignment', () => { options?: ParseHelperOptions, ) => Promise>; - const validationAcceptorMock = jest.fn(validationAcceptorMockImpl); + const validationAcceptorMock = vi.fn(validationAcceptorMockImpl); let locator: AstNodeLocator; let services: JayveeServices; diff --git a/libs/language-server/src/lib/validation/checks/property-body.spec.ts b/libs/language-server/src/lib/validation/checks/property-body.spec.ts index 2297be7b2..215d416bd 100644 --- a/libs/language-server/src/lib/validation/checks/property-body.spec.ts +++ b/libs/language-server/src/lib/validation/checks/property-body.spec.ts @@ -8,6 +8,7 @@ import { type LangiumDocument, } from 'langium'; import { NodeFileSystem } from 'langium/node'; +import { vi } from 'vitest'; import { type JayveeServices, @@ -31,7 +32,7 @@ describe('Validation PropertyBody', () => { options?: ParseHelperOptions, ) => Promise>; - const validationAcceptorMock = jest.fn(validationAcceptorMockImpl); + const validationAcceptorMock = vi.fn(validationAcceptorMockImpl); let locator: AstNodeLocator; let services: JayveeServices; diff --git a/libs/language-server/src/lib/validation/checks/range-literal.spec.ts b/libs/language-server/src/lib/validation/checks/range-literal.spec.ts index 01701a176..175a5f216 100644 --- a/libs/language-server/src/lib/validation/checks/range-literal.spec.ts +++ b/libs/language-server/src/lib/validation/checks/range-literal.spec.ts @@ -8,6 +8,7 @@ import { type LangiumDocument, } from 'langium'; import { NodeFileSystem } from 'langium/node'; +import { vi } from 'vitest'; import { type JayveeServices, @@ -31,7 +32,7 @@ describe('Validation of RangeLiteral', () => { options?: ParseHelperOptions, ) => Promise>; - const validationAcceptorMock = jest.fn(validationAcceptorMockImpl); + const validationAcceptorMock = vi.fn(validationAcceptorMockImpl); let locator: AstNodeLocator; let services: JayveeServices; diff --git a/libs/language-server/src/lib/validation/checks/regex-literal.spec.ts b/libs/language-server/src/lib/validation/checks/regex-literal.spec.ts index 46f984349..81561f705 100644 --- a/libs/language-server/src/lib/validation/checks/regex-literal.spec.ts +++ b/libs/language-server/src/lib/validation/checks/regex-literal.spec.ts @@ -8,6 +8,7 @@ import { type LangiumDocument, } from 'langium'; import { NodeFileSystem } from 'langium/node'; +import { vi } from 'vitest'; import { type JayveeServices, @@ -31,7 +32,7 @@ describe('Validation of RegexLiteral', () => { options?: ParseHelperOptions, ) => Promise>; - const validationAcceptorMock = jest.fn(validationAcceptorMockImpl); + const validationAcceptorMock = vi.fn(validationAcceptorMockImpl); let locator: AstNodeLocator; let services: JayveeServices; diff --git a/libs/language-server/src/lib/validation/checks/transform-body.spec.ts b/libs/language-server/src/lib/validation/checks/transform-body.spec.ts index 8e3fbfa73..e1ce55e9f 100644 --- a/libs/language-server/src/lib/validation/checks/transform-body.spec.ts +++ b/libs/language-server/src/lib/validation/checks/transform-body.spec.ts @@ -8,6 +8,7 @@ import { type LangiumDocument, } from 'langium'; import { NodeFileSystem } from 'langium/node'; +import { vi } from 'vitest'; import { type JayveeServices, @@ -31,7 +32,7 @@ describe('Validation of TransformBody', () => { options?: ParseHelperOptions, ) => Promise>; - const validationAcceptorMock = jest.fn(validationAcceptorMockImpl); + const validationAcceptorMock = vi.fn(validationAcceptorMockImpl); let locator: AstNodeLocator; let services: JayveeServices; diff --git a/libs/language-server/src/lib/validation/checks/transform-output-assignment.spec.ts b/libs/language-server/src/lib/validation/checks/transform-output-assignment.spec.ts index 6e1cbaa34..03e0e89c8 100644 --- a/libs/language-server/src/lib/validation/checks/transform-output-assignment.spec.ts +++ b/libs/language-server/src/lib/validation/checks/transform-output-assignment.spec.ts @@ -8,6 +8,7 @@ import { type LangiumDocument, } from 'langium'; import { NodeFileSystem } from 'langium/node'; +import { vi } from 'vitest'; import { type JayveeServices, @@ -31,7 +32,7 @@ describe('Validation of TransformOutputAssignment', () => { options?: ParseHelperOptions, ) => Promise>; - const validationAcceptorMock = jest.fn(validationAcceptorMockImpl); + const validationAcceptorMock = vi.fn(validationAcceptorMockImpl); let locator: AstNodeLocator; let services: JayveeServices; diff --git a/libs/language-server/src/lib/validation/checks/typed-constraint-definition.spec.ts b/libs/language-server/src/lib/validation/checks/typed-constraint-definition.spec.ts index 4bc409b93..fbf314963 100644 --- a/libs/language-server/src/lib/validation/checks/typed-constraint-definition.spec.ts +++ b/libs/language-server/src/lib/validation/checks/typed-constraint-definition.spec.ts @@ -8,6 +8,7 @@ import { type LangiumDocument, } from 'langium'; import { NodeFileSystem } from 'langium/node'; +import { vi } from 'vitest'; import { type JayveeServices, @@ -32,7 +33,7 @@ describe('Validation of ConstraintDefinition (typed syntax)', () => { options?: ParseHelperOptions, ) => Promise>; - const validationAcceptorMock = jest.fn(validationAcceptorMockImpl); + const validationAcceptorMock = vi.fn(validationAcceptorMockImpl); let locator: AstNodeLocator; let services: JayveeServices; diff --git a/libs/language-server/src/lib/validation/checks/value-type-definition.spec.ts b/libs/language-server/src/lib/validation/checks/value-type-definition.spec.ts index e25199e56..ba6d52964 100644 --- a/libs/language-server/src/lib/validation/checks/value-type-definition.spec.ts +++ b/libs/language-server/src/lib/validation/checks/value-type-definition.spec.ts @@ -8,6 +8,7 @@ import { type LangiumDocument, } from 'langium'; import { NodeFileSystem } from 'langium/node'; +import { vi } from 'vitest'; import { type JayveeServices, @@ -31,7 +32,7 @@ describe('Validation of ValuetypeDefinition', () => { options?: ParseHelperOptions, ) => Promise>; - const validationAcceptorMock = jest.fn(validationAcceptorMockImpl); + const validationAcceptorMock = vi.fn(validationAcceptorMockImpl); let locator: AstNodeLocator; let services: JayveeServices; diff --git a/libs/language-server/src/lib/validation/checks/value-type-reference.spec.ts b/libs/language-server/src/lib/validation/checks/value-type-reference.spec.ts index 1e153198f..fb244e0f2 100644 --- a/libs/language-server/src/lib/validation/checks/value-type-reference.spec.ts +++ b/libs/language-server/src/lib/validation/checks/value-type-reference.spec.ts @@ -10,6 +10,7 @@ import { type LangiumDocument, } from 'langium'; import { NodeFileSystem } from 'langium/node'; +import { vi } from 'vitest'; import { type JayveeServices, @@ -34,7 +35,7 @@ describe('Validation of ValueTypeReference', () => { options?: ParseHelperOptions, ) => Promise>; - const validationAcceptorMock = jest.fn(validationAcceptorMockImpl); + const validationAcceptorMock = vi.fn(validationAcceptorMockImpl); let locator: AstNodeLocator; let services: JayveeServices; diff --git a/libs/language-server/src/lib/validation/validation-utils.spec.ts b/libs/language-server/src/lib/validation/validation-utils.spec.ts index ae68f18f9..093d3053a 100644 --- a/libs/language-server/src/lib/validation/validation-utils.spec.ts +++ b/libs/language-server/src/lib/validation/validation-utils.spec.ts @@ -8,6 +8,7 @@ import { type LangiumDocument, } from 'langium'; import { NodeFileSystem } from 'langium/node'; +import { vi } from 'vitest'; import { DefaultOperatorEvaluatorRegistry, @@ -63,7 +64,7 @@ describe('Validation of validation-utils', () => { }); describe('Validation of checkUniqueNames', () => { - const validationAcceptorMock = jest.fn(validationAcceptorMockImpl); + const validationAcceptorMock = vi.fn(validationAcceptorMockImpl); afterEach(() => { // Reset mock diff --git a/libs/language-server/tsconfig.spec.json b/libs/language-server/tsconfig.spec.json index 4e614096b..3c002c215 100644 --- a/libs/language-server/tsconfig.spec.json +++ b/libs/language-server/tsconfig.spec.json @@ -1,7 +1,26 @@ { "extends": "./tsconfig.json", "compilerOptions": { - "types": ["jest", "node"] + "outDir": "../../dist/out-tsc", + "types": [ + "vitest/globals", + "vitest/importMeta", + "vite/client", + "node", + "vitest" + ] }, - "include": ["jest.config.ts", "**/*.test.ts", "**/*.spec.ts", "**/*.d.ts", "./src/test/**/*.ts"] + "include": [ + "vite.config.ts", + "vitest.config.ts", + "src/**/*.test.ts", + "src/**/*.spec.ts", + "src/**/*.test.tsx", + "src/**/*.spec.tsx", + "src/**/*.test.js", + "src/**/*.spec.js", + "src/**/*.test.jsx", + "src/**/*.spec.jsx", + "src/**/*.d.ts" + ] } diff --git a/libs/language-server/vite.config.ts b/libs/language-server/vite.config.ts new file mode 100644 index 000000000..0b304c626 --- /dev/null +++ b/libs/language-server/vite.config.ts @@ -0,0 +1,23 @@ +// / +import { nxViteTsPaths } from '@nx/vite/plugins/nx-tsconfig-paths.plugin'; +import { defineConfig } from 'vite'; + +export default defineConfig({ + root: __dirname, + cacheDir: '../../node_modules/.vite/libs/language-server', + + plugins: [nxViteTsPaths()], + + test: { + globals: true, + cacheDir: '../../node_modules/.vitest', + environment: 'node', + include: ['src/**/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}'], + + reporters: ['default'], + coverage: { + reportsDirectory: '../../coverage/libs/language-server', + provider: 'v8', + }, + }, +}); From 34acd6f2c0405e2ecbadeda27dd7d2d88d2524ff Mon Sep 17 00:00:00 2001 From: Georg Schwarz Date: Fri, 3 May 2024 09:58:38 +0200 Subject: [PATCH 16/38] Use vitest in execution instead of jest --- libs/execution/jest.config.ts | 19 --------------- libs/execution/project.json | 5 ++-- .../lib/transforms/transform-executor.spec.ts | 4 ++-- libs/execution/tsconfig.spec.json | 20 ++++++++++++---- libs/execution/vite.config.ts | 23 +++++++++++++++++++ libs/language-server/src/test/utils.ts | 2 +- 6 files changed, 45 insertions(+), 28 deletions(-) delete mode 100644 libs/execution/jest.config.ts create mode 100644 libs/execution/vite.config.ts diff --git a/libs/execution/jest.config.ts b/libs/execution/jest.config.ts deleted file mode 100644 index 8e39ef957..000000000 --- a/libs/execution/jest.config.ts +++ /dev/null @@ -1,19 +0,0 @@ -// SPDX-FileCopyrightText: 2023 Friedrich-Alexander-Universitat Erlangen-Nurnberg -// -// SPDX-License-Identifier: AGPL-3.0-only - -export default { - displayName: 'execution', - preset: '../../jest.preset.js', - globals: {}, - transform: { - '^.+\\.[tj]s$': [ - 'ts-jest', - { - tsconfig: '/tsconfig.spec.json', - }, - ], - }, - moduleFileExtensions: ['ts', 'js', 'html'], - coverageDirectory: '../../coverage/libs/execution', -}; diff --git a/libs/execution/project.json b/libs/execution/project.json index d0f55ccb6..5bd7e6148 100644 --- a/libs/execution/project.json +++ b/libs/execution/project.json @@ -10,10 +10,11 @@ "outputs": ["{options.outputFile}"] }, "test": { - "executor": "@nx/jest:jest", + "executor": "@nx/vite:test", "outputs": ["{workspaceRoot}/coverage/{projectRoot}"], "options": { - "jestConfig": "libs/execution/jest.config.ts" + "configFile": "{projectRoot}/vite.config.ts", + "passWithNoTests": false } } }, diff --git a/libs/execution/src/lib/transforms/transform-executor.spec.ts b/libs/execution/src/lib/transforms/transform-executor.spec.ts index 4fa4a8579..eec924ee0 100644 --- a/libs/execution/src/lib/transforms/transform-executor.spec.ts +++ b/libs/execution/src/lib/transforms/transform-executor.spec.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import assert = require('assert'); +import assert from 'assert'; import * as path from 'path'; import { @@ -73,7 +73,7 @@ describe('Validation of TransformExecutor', () => { resultingColumn: TableColumn; rowsToDelete: number[]; }> { - const document = await parse(input, { validationChecks: 'all' }); + const document = await parse(input, { validation: true }); expectNoParserAndLexerErrors(document); const transform = locator.getAstNode( diff --git a/libs/execution/tsconfig.spec.json b/libs/execution/tsconfig.spec.json index 1f154dcfa..3c002c215 100644 --- a/libs/execution/tsconfig.spec.json +++ b/libs/execution/tsconfig.spec.json @@ -2,13 +2,25 @@ "extends": "./tsconfig.json", "compilerOptions": { "outDir": "../../dist/out-tsc", - "types": ["jest", "node"] + "types": [ + "vitest/globals", + "vitest/importMeta", + "vite/client", + "node", + "vitest" + ] }, "include": [ - "jest.config.ts", + "vite.config.ts", + "vitest.config.ts", "src/**/*.test.ts", "src/**/*.spec.ts", - "src/**/*.d.ts", - "test/**/*.ts" + "src/**/*.test.tsx", + "src/**/*.spec.tsx", + "src/**/*.test.js", + "src/**/*.spec.js", + "src/**/*.test.jsx", + "src/**/*.spec.jsx", + "src/**/*.d.ts" ] } diff --git a/libs/execution/vite.config.ts b/libs/execution/vite.config.ts new file mode 100644 index 000000000..25bdf322d --- /dev/null +++ b/libs/execution/vite.config.ts @@ -0,0 +1,23 @@ +// / +import { nxViteTsPaths } from '@nx/vite/plugins/nx-tsconfig-paths.plugin'; +import { defineConfig } from 'vite'; + +export default defineConfig({ + root: __dirname, + cacheDir: '../../node_modules/.vite/libs/execution', + + plugins: [nxViteTsPaths()], + + test: { + globals: true, + cacheDir: '../../node_modules/.vitest', + environment: 'jsdom', + include: ['src/**/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}'], + + reporters: ['default'], + coverage: { + reportsDirectory: '../../coverage/libs/execution', + provider: 'v8', + }, + }, +}); diff --git a/libs/language-server/src/test/utils.ts b/libs/language-server/src/test/utils.ts index cf2d74057..79ed048c3 100644 --- a/libs/language-server/src/test/utils.ts +++ b/libs/language-server/src/test/utils.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import * as assert from 'assert'; +import { strict as assert } from 'assert'; import { readFileSync } from 'fs'; import * as path from 'path'; From 2f9de07d8c0ff130398cbe2a49dae13d196763e8 Mon Sep 17 00:00:00 2001 From: Georg Schwarz Date: Fri, 3 May 2024 10:32:01 +0200 Subject: [PATCH 17/38] Use vitest in extensions instead of jest --- libs/extensions/rdbms/exec/project.json | 5 ++-- .../src/lib/postgres-loader-executor.spec.ts | 26 ++++++++++++------- .../src/lib/sqlite-loader-executor.spec.ts | 24 ++++++++++------- libs/extensions/rdbms/exec/tsconfig.spec.json | 20 +++++++++++--- libs/extensions/rdbms/exec/vite.config.ts | 23 ++++++++++++++++ libs/extensions/std/exec/project.json | 5 ++-- .../src/archive-interpreter-executor.spec.ts | 2 +- .../src/text-file-interpreter-executor.ts | 2 +- libs/extensions/std/exec/tsconfig.spec.json | 20 +++++++++++--- libs/extensions/std/exec/vite.config.ts | 23 ++++++++++++++++ libs/extensions/tabular/exec/project.json | 5 ++-- .../tabular/exec/tsconfig.spec.json | 20 +++++++++++--- libs/extensions/tabular/exec/vite.config.ts | 22 ++++++++++++++++ 13 files changed, 157 insertions(+), 40 deletions(-) create mode 100644 libs/extensions/rdbms/exec/vite.config.ts create mode 100644 libs/extensions/std/exec/vite.config.ts create mode 100644 libs/extensions/tabular/exec/vite.config.ts diff --git a/libs/extensions/rdbms/exec/project.json b/libs/extensions/rdbms/exec/project.json index 947e20f0b..a8e879a4f 100644 --- a/libs/extensions/rdbms/exec/project.json +++ b/libs/extensions/rdbms/exec/project.json @@ -10,10 +10,11 @@ "outputs": ["{options.outputFile}"] }, "test": { - "executor": "@nx/jest:jest", + "executor": "@nx/vite:test", "outputs": ["{workspaceRoot}/coverage/{projectRoot}"], "options": { - "jestConfig": "libs/extensions/rdbms/exec/jest.config.ts" + "configFile": "{projectRoot}/vite.config.ts", + "passWithNoTests": false } } }, diff --git a/libs/extensions/rdbms/exec/src/lib/postgres-loader-executor.spec.ts b/libs/extensions/rdbms/exec/src/lib/postgres-loader-executor.spec.ts index 28f6d568b..d94eca67d 100644 --- a/libs/extensions/rdbms/exec/src/lib/postgres-loader-executor.spec.ts +++ b/libs/extensions/rdbms/exec/src/lib/postgres-loader-executor.spec.ts @@ -28,25 +28,31 @@ import { type LangiumDocument, } from 'langium'; import { NodeFileSystem } from 'langium/node'; +import { type Mock, vi } from 'vitest'; import { PostgresLoaderExecutor } from './postgres-loader-executor'; // eslint-disable-next-line no-var -var databaseConnectMock: jest.Mock; +var databaseConnectMock: Mock; // eslint-disable-next-line no-var -var databaseQueryMock: jest.Mock; +var databaseQueryMock: Mock; // eslint-disable-next-line no-var -var databaseEndMock: jest.Mock; -jest.mock('pg', () => { - databaseConnectMock = jest.fn(); - databaseQueryMock = jest.fn(); - databaseEndMock = jest.fn(); +var databaseEndMock: Mock; +vi.mock('pg', () => { + databaseConnectMock = vi.fn(); + databaseQueryMock = vi.fn(); + databaseEndMock = vi.fn(); const mClient = { connect: databaseConnectMock, query: databaseQueryMock, end: databaseEndMock, }; - return { Client: jest.fn(() => mClient) }; + return { + __esModule: true, + default: { + Client: vi.fn(() => mClient), + }, + }; }); describe('Validation of PostgresLoaderExecutor', () => { @@ -67,7 +73,7 @@ describe('Validation of PostgresLoaderExecutor', () => { input: string, IOInput: R.Table, ): Promise> { - const document = await parse(input, { validationChecks: 'all' }); + const document = await parse(input, { validation: true }); expectNoParserAndLexerErrors(document); const block = locator.getAstNode( @@ -92,7 +98,7 @@ describe('Validation of PostgresLoaderExecutor', () => { parse = parseHelper(services); }); afterEach(() => { - jest.clearAllMocks(); + vi.clearAllMocks(); }); it('should diagnose no error on valid loader config', async () => { diff --git a/libs/extensions/rdbms/exec/src/lib/sqlite-loader-executor.spec.ts b/libs/extensions/rdbms/exec/src/lib/sqlite-loader-executor.spec.ts index 25852951b..440d08f4c 100644 --- a/libs/extensions/rdbms/exec/src/lib/sqlite-loader-executor.spec.ts +++ b/libs/extensions/rdbms/exec/src/lib/sqlite-loader-executor.spec.ts @@ -29,6 +29,7 @@ import { } from 'langium'; import { NodeFileSystem } from 'langium/node'; import type * as sqlite3 from 'sqlite3'; +import { type Mock, vi } from 'vitest'; import { SQLiteLoaderExecutor } from './sqlite-loader-executor'; @@ -37,17 +38,20 @@ type SqliteRunCallbackType = ( err: Error | null, ) => void; // eslint-disable-next-line no-var -var databaseMock: jest.Mock; +var databaseMock: Mock; // eslint-disable-next-line no-var -var databaseRunMock: jest.Mock; +var databaseRunMock: Mock; // eslint-disable-next-line no-var -var databaseCloseMock: jest.Mock; -jest.mock('sqlite3', () => { - databaseMock = jest.fn(); - databaseRunMock = jest.fn(); - databaseCloseMock = jest.fn(); +var databaseCloseMock: Mock; +vi.mock('sqlite3', () => { + databaseMock = vi.fn(); + databaseRunMock = vi.fn(); + databaseCloseMock = vi.fn(); return { - Database: databaseMock, + __esModule: true, + default: { + Database: databaseMock, + }, }; }); function mockDatabaseDefault() { @@ -78,7 +82,7 @@ describe('Validation of SQLiteLoaderExecutor', () => { input: string, IOInput: R.Table, ): Promise> { - const document = await parse(input, { validationChecks: 'all' }); + const document = await parse(input, { validation: true }); expectNoParserAndLexerErrors(document); const block = locator.getAstNode( @@ -103,7 +107,7 @@ describe('Validation of SQLiteLoaderExecutor', () => { parse = parseHelper(services); }); afterEach(() => { - jest.clearAllMocks(); + vi.clearAllMocks(); }); it('should diagnose no error on valid loader config', async () => { diff --git a/libs/extensions/rdbms/exec/tsconfig.spec.json b/libs/extensions/rdbms/exec/tsconfig.spec.json index 0ff741b40..71aaed798 100644 --- a/libs/extensions/rdbms/exec/tsconfig.spec.json +++ b/libs/extensions/rdbms/exec/tsconfig.spec.json @@ -2,13 +2,25 @@ "extends": "./tsconfig.json", "compilerOptions": { "outDir": "../../../../dist/out-tsc", - "types": ["jest", "node"] + "types": [ + "vitest/globals", + "vitest/importMeta", + "vite/client", + "node", + "vitest" + ] }, "include": [ - "jest.config.ts", + "vite.config.ts", + "vitest.config.ts", "src/**/*.test.ts", "src/**/*.spec.ts", - "src/**/*.d.ts", - "test/**/*.ts" + "src/**/*.test.tsx", + "src/**/*.spec.tsx", + "src/**/*.test.js", + "src/**/*.spec.js", + "src/**/*.test.jsx", + "src/**/*.spec.jsx", + "src/**/*.d.ts" ] } diff --git a/libs/extensions/rdbms/exec/vite.config.ts b/libs/extensions/rdbms/exec/vite.config.ts new file mode 100644 index 000000000..7b5f9c0f3 --- /dev/null +++ b/libs/extensions/rdbms/exec/vite.config.ts @@ -0,0 +1,23 @@ +// / +import { nxViteTsPaths } from '@nx/vite/plugins/nx-tsconfig-paths.plugin'; +import { defineConfig } from 'vite'; + +export default defineConfig({ + root: __dirname, + cacheDir: '../../../../node_modules/.vite/libs/extensions/rdbms/exec', + + plugins: [nxViteTsPaths()], + + test: { + globals: true, + cacheDir: '../../../../node_modules/.vitest', + environment: 'jsdom', + include: ['src/**/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}'], + + reporters: ['default'], + coverage: { + reportsDirectory: '../../../../coverage/libs/extensions/rdbms/exec', + provider: 'v8', + }, + }, +}); diff --git a/libs/extensions/std/exec/project.json b/libs/extensions/std/exec/project.json index 2229d7a3f..b422bc6a0 100644 --- a/libs/extensions/std/exec/project.json +++ b/libs/extensions/std/exec/project.json @@ -10,10 +10,11 @@ "outputs": ["{options.outputFile}"] }, "test": { - "executor": "@nx/jest:jest", + "executor": "@nx/vite:test", "outputs": ["{workspaceRoot}/coverage/{projectRoot}"], "options": { - "jestConfig": "libs/extensions/std/exec/jest.config.ts" + "configFile": "{projectRoot}/vite.config.ts", + "passWithNoTests": false } } }, diff --git a/libs/extensions/std/exec/src/archive-interpreter-executor.spec.ts b/libs/extensions/std/exec/src/archive-interpreter-executor.spec.ts index 0340c4438..00d2f2545 100644 --- a/libs/extensions/std/exec/src/archive-interpreter-executor.spec.ts +++ b/libs/extensions/std/exec/src/archive-interpreter-executor.spec.ts @@ -131,7 +131,7 @@ describe('Validation of ArchiveInterpreterExecutor', () => { expect(R.isOk(result)).toEqual(false); if (R.isErr(result)) { expect(result.left.message).toEqual( - 'Unexpected Error undefined occured during processing', + 'Unexpected Error incorrect header check occured during processing', ); } }); diff --git a/libs/extensions/std/exec/src/text-file-interpreter-executor.ts b/libs/extensions/std/exec/src/text-file-interpreter-executor.ts index 1edafdad8..b7417507c 100644 --- a/libs/extensions/std/exec/src/text-file-interpreter-executor.ts +++ b/libs/extensions/std/exec/src/text-file-interpreter-executor.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import { TextDecoder } from 'util'; +import { TextDecoder } from 'node:util'; import * as R from '@jvalue/jayvee-execution'; import { diff --git a/libs/extensions/std/exec/tsconfig.spec.json b/libs/extensions/std/exec/tsconfig.spec.json index 0ff741b40..71aaed798 100644 --- a/libs/extensions/std/exec/tsconfig.spec.json +++ b/libs/extensions/std/exec/tsconfig.spec.json @@ -2,13 +2,25 @@ "extends": "./tsconfig.json", "compilerOptions": { "outDir": "../../../../dist/out-tsc", - "types": ["jest", "node"] + "types": [ + "vitest/globals", + "vitest/importMeta", + "vite/client", + "node", + "vitest" + ] }, "include": [ - "jest.config.ts", + "vite.config.ts", + "vitest.config.ts", "src/**/*.test.ts", "src/**/*.spec.ts", - "src/**/*.d.ts", - "test/**/*.ts" + "src/**/*.test.tsx", + "src/**/*.spec.tsx", + "src/**/*.test.js", + "src/**/*.spec.js", + "src/**/*.test.jsx", + "src/**/*.spec.jsx", + "src/**/*.d.ts" ] } diff --git a/libs/extensions/std/exec/vite.config.ts b/libs/extensions/std/exec/vite.config.ts new file mode 100644 index 000000000..661441331 --- /dev/null +++ b/libs/extensions/std/exec/vite.config.ts @@ -0,0 +1,23 @@ +// / +import { nxViteTsPaths } from '@nx/vite/plugins/nx-tsconfig-paths.plugin'; +import { defineConfig } from 'vite'; + +export default defineConfig({ + root: __dirname, + cacheDir: '../../../../node_modules/.vite/libs/extensions/std/exec', + + plugins: [nxViteTsPaths()], + + test: { + globals: true, + cacheDir: '../../../../node_modules/.vitest', + environment: 'jsdom', + include: ['src/**/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}'], + + reporters: ['default'], + coverage: { + reportsDirectory: '../../../../coverage/libs/extensions/std/exec', + provider: 'v8', + }, + }, +}); diff --git a/libs/extensions/tabular/exec/project.json b/libs/extensions/tabular/exec/project.json index b4c0b17ab..e58d2ba97 100644 --- a/libs/extensions/tabular/exec/project.json +++ b/libs/extensions/tabular/exec/project.json @@ -10,10 +10,11 @@ "outputs": ["{options.outputFile}"] }, "test": { - "executor": "@nx/jest:jest", + "executor": "@nx/vite:test", "outputs": ["{workspaceRoot}/coverage/{projectRoot}"], "options": { - "jestConfig": "libs/extensions/tabular/exec/jest.config.ts" + "configFile": "{projectRoot}/vite.config.ts", + "passWithNoTests": false } } }, diff --git a/libs/extensions/tabular/exec/tsconfig.spec.json b/libs/extensions/tabular/exec/tsconfig.spec.json index 0ff741b40..71aaed798 100644 --- a/libs/extensions/tabular/exec/tsconfig.spec.json +++ b/libs/extensions/tabular/exec/tsconfig.spec.json @@ -2,13 +2,25 @@ "extends": "./tsconfig.json", "compilerOptions": { "outDir": "../../../../dist/out-tsc", - "types": ["jest", "node"] + "types": [ + "vitest/globals", + "vitest/importMeta", + "vite/client", + "node", + "vitest" + ] }, "include": [ - "jest.config.ts", + "vite.config.ts", + "vitest.config.ts", "src/**/*.test.ts", "src/**/*.spec.ts", - "src/**/*.d.ts", - "test/**/*.ts" + "src/**/*.test.tsx", + "src/**/*.spec.tsx", + "src/**/*.test.js", + "src/**/*.spec.js", + "src/**/*.test.jsx", + "src/**/*.spec.jsx", + "src/**/*.d.ts" ] } diff --git a/libs/extensions/tabular/exec/vite.config.ts b/libs/extensions/tabular/exec/vite.config.ts new file mode 100644 index 000000000..00b4a9174 --- /dev/null +++ b/libs/extensions/tabular/exec/vite.config.ts @@ -0,0 +1,22 @@ +// / +import { nxViteTsPaths } from '@nx/vite/plugins/nx-tsconfig-paths.plugin'; +import { defineConfig } from 'vite'; + +export default defineConfig({ + root: __dirname, + cacheDir: '../../../../node_modules/.vite/libs/extensions/tabular/exec', + + plugins: [nxViteTsPaths()], + test: { + globals: true, + cacheDir: '../../../../node_modules/.vitest', + environment: 'jsdom', + include: ['src/**/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}'], + + reporters: ['default'], + coverage: { + reportsDirectory: '../../../../coverage/libs/extensions/tabular/exec', + provider: 'v8', + }, + }, +}); From 37a302ae786e6d5db409f842785fdd85317f177c Mon Sep 17 00:00:00 2001 From: Georg Schwarz Date: Fri, 3 May 2024 10:39:27 +0200 Subject: [PATCH 18/38] Use vitest in interpreter-lib instead of jest --- libs/interpreter-lib/jest.config.ts | 20 ---------------- libs/interpreter-lib/project.json | 7 +++--- .../runtime-parameter-literal.spec.ts | 3 ++- libs/interpreter-lib/tsconfig.spec.json | 17 ++++++++++++-- libs/interpreter-lib/vite.config.ts | 23 +++++++++++++++++++ 5 files changed, 44 insertions(+), 26 deletions(-) delete mode 100644 libs/interpreter-lib/jest.config.ts create mode 100644 libs/interpreter-lib/vite.config.ts diff --git a/libs/interpreter-lib/jest.config.ts b/libs/interpreter-lib/jest.config.ts deleted file mode 100644 index 7eb76537d..000000000 --- a/libs/interpreter-lib/jest.config.ts +++ /dev/null @@ -1,20 +0,0 @@ -// SPDX-FileCopyrightText: 2023 Friedrich-Alexander-Universitat Erlangen-Nurnberg -// -// SPDX-License-Identifier: AGPL-3.0-only - -export default { - displayName: 'jayvee-interpreter-lib', - preset: '../../jest.preset.js', - globals: {}, - testEnvironment: 'node', - transform: { - '^.+\\.[tj]sx?$': [ - 'ts-jest', - { - tsconfig: '/tsconfig.spec.json', - }, - ], - }, - moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx'], - coverageDirectory: '../../coverage/libs/@jvalue/jayvee-interpreter-lib', -}; diff --git a/libs/interpreter-lib/project.json b/libs/interpreter-lib/project.json index 55c4dcad7..be1704370 100644 --- a/libs/interpreter-lib/project.json +++ b/libs/interpreter-lib/project.json @@ -10,10 +10,11 @@ "outputs": ["{options.outputFile}"] }, "test": { - "executor": "@nx/jest:jest", + "executor": "@nx/vite:test", "outputs": ["{workspaceRoot}/coverage/{projectRoot}"], "options": { - "jestConfig": "libs/interpreter-lib/jest.config.ts" + "configFile": "{projectRoot}/vite.config.ts", + "passWithNoTests": false } }, "pre-publish": { @@ -23,7 +24,7 @@ "commands": [ "node tools/scripts/relax-peer-dependency-versions.mjs interpreter-lib", "node tools/scripts/add-package-json-version.mjs interpreter-lib", - "node tools/scripts/publish.mjs interpreter-lib false" // dry-run + "node tools/scripts/publish.mjs interpreter-lib false" ], "parallel": false } diff --git a/libs/interpreter-lib/src/validation-checks/runtime-parameter-literal.spec.ts b/libs/interpreter-lib/src/validation-checks/runtime-parameter-literal.spec.ts index c2d82f482..9c6bb885b 100644 --- a/libs/interpreter-lib/src/validation-checks/runtime-parameter-literal.spec.ts +++ b/libs/interpreter-lib/src/validation-checks/runtime-parameter-literal.spec.ts @@ -31,6 +31,7 @@ import { type LangiumDocument, } from 'langium'; import { NodeFileSystem } from 'langium/node'; +import { vi } from 'vitest'; import { validateRuntimeParameterLiteral } from './runtime-parameter-literal'; @@ -43,7 +44,7 @@ describe('Validation of validateRuntimeParameterLiteral', () => { let locator: AstNodeLocator; let services: JayveeServices; - const validationAcceptorMock = jest.fn(validationAcceptorMockImpl); + const validationAcceptorMock = vi.fn(validationAcceptorMockImpl); const readJvTestAsset = readJvTestAssetHelper( __dirname, diff --git a/libs/interpreter-lib/tsconfig.spec.json b/libs/interpreter-lib/tsconfig.spec.json index d41aea47f..3c002c215 100644 --- a/libs/interpreter-lib/tsconfig.spec.json +++ b/libs/interpreter-lib/tsconfig.spec.json @@ -2,12 +2,25 @@ "extends": "./tsconfig.json", "compilerOptions": { "outDir": "../../dist/out-tsc", - "types": ["jest", "node"] + "types": [ + "vitest/globals", + "vitest/importMeta", + "vite/client", + "node", + "vitest" + ] }, "include": [ - "jest.config.ts", + "vite.config.ts", + "vitest.config.ts", "src/**/*.test.ts", "src/**/*.spec.ts", + "src/**/*.test.tsx", + "src/**/*.spec.tsx", + "src/**/*.test.js", + "src/**/*.spec.js", + "src/**/*.test.jsx", + "src/**/*.spec.jsx", "src/**/*.d.ts" ] } diff --git a/libs/interpreter-lib/vite.config.ts b/libs/interpreter-lib/vite.config.ts new file mode 100644 index 000000000..d2d30b4af --- /dev/null +++ b/libs/interpreter-lib/vite.config.ts @@ -0,0 +1,23 @@ +// / +import { nxViteTsPaths } from '@nx/vite/plugins/nx-tsconfig-paths.plugin'; +import { defineConfig } from 'vite'; + +export default defineConfig({ + root: __dirname, + cacheDir: '../../node_modules/.vite/libs/interpreter-lib', + + plugins: [nxViteTsPaths()], + + test: { + globals: true, + cacheDir: '../../node_modules/.vitest', + environment: 'jsdom', + include: ['src/**/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}'], + + reporters: ['default'], + coverage: { + reportsDirectory: '../../coverage/libs/interpreter-lib', + provider: 'v8', + }, + }, +}); From ae4e2a00c7d13a3531bcbcb369c28b1a405c36ee Mon Sep 17 00:00:00 2001 From: Georg Schwarz Date: Fri, 3 May 2024 10:40:57 +0200 Subject: [PATCH 19/38] Remove test setup from monaco-editor --- libs/monaco-editor/jest.config.ts | 15 --------------- libs/monaco-editor/project.json | 7 ------- libs/monaco-editor/tsconfig.json | 3 --- libs/monaco-editor/tsconfig.spec.json | 19 ------------------- libs/monaco-editor/tsconfig.spec.json.license | 3 --- 5 files changed, 47 deletions(-) delete mode 100644 libs/monaco-editor/jest.config.ts delete mode 100644 libs/monaco-editor/tsconfig.spec.json delete mode 100644 libs/monaco-editor/tsconfig.spec.json.license diff --git a/libs/monaco-editor/jest.config.ts b/libs/monaco-editor/jest.config.ts deleted file mode 100644 index c42e9b57e..000000000 --- a/libs/monaco-editor/jest.config.ts +++ /dev/null @@ -1,15 +0,0 @@ -// SPDX-FileCopyrightText: 2023 Friedrich-Alexander-Universitat Erlangen-Nurnberg -// -// SPDX-License-Identifier: AGPL-3.0-only - -/* eslint-disable */ -export default { - displayName: 'monaco-editor', - preset: '../../jest.preset.js', - transform: { - '^(?!.*\\.(js|jsx|ts|tsx|css|json)$)': '@nx/react/plugins/jest', - '^.+\\.[tj]sx?$': ['babel-jest', { presets: ['@nx/react/babel'] }], - }, - moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx'], - coverageDirectory: '../../coverage/libs/monaco-editor', -}; diff --git a/libs/monaco-editor/project.json b/libs/monaco-editor/project.json index 286b3e688..07c5964f1 100644 --- a/libs/monaco-editor/project.json +++ b/libs/monaco-editor/project.json @@ -36,13 +36,6 @@ }, "defaultConfiguration": "dev" }, - "test": { - "executor": "@nx/jest:jest", - "outputs": ["{workspaceRoot}/coverage/{projectRoot}"], - "options": { - "jestConfig": "libs/monaco-editor/jest.config.ts" - } - }, "pre-publish": { "executor": "nx:run-commands", "dependsOn": ["build"], diff --git a/libs/monaco-editor/tsconfig.json b/libs/monaco-editor/tsconfig.json index c55077968..1d48585ca 100644 --- a/libs/monaco-editor/tsconfig.json +++ b/libs/monaco-editor/tsconfig.json @@ -13,9 +13,6 @@ { "path": "./tsconfig.lib.json" }, - { - "path": "./tsconfig.spec.json" - } ], "extends": "../../tsconfig.base.json" } diff --git a/libs/monaco-editor/tsconfig.spec.json b/libs/monaco-editor/tsconfig.spec.json deleted file mode 100644 index fb16ed682..000000000 --- a/libs/monaco-editor/tsconfig.spec.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "extends": "./tsconfig.json", - "compilerOptions": { - "outDir": "../../dist/out-tsc", - "types": ["jest", "node"] - }, - "include": [ - "jest.config.ts", - "src/**/*.test.ts", - "src/**/*.spec.ts", - "src/**/*.test.tsx", - "src/**/*.spec.tsx", - "src/**/*.test.js", - "src/**/*.spec.js", - "src/**/*.test.jsx", - "src/**/*.spec.jsx", - "src/**/*.d.ts" - ] -} diff --git a/libs/monaco-editor/tsconfig.spec.json.license b/libs/monaco-editor/tsconfig.spec.json.license deleted file mode 100644 index 17c5d2bad..000000000 --- a/libs/monaco-editor/tsconfig.spec.json.license +++ /dev/null @@ -1,3 +0,0 @@ -SPDX-FileCopyrightText: 2023 Friedrich-Alexander-Universitat Erlangen-Nurnberg - -SPDX-License-Identifier: AGPL-3.0-only From b306ad148b595255b564f9451d23c2b592134388 Mon Sep 17 00:00:00 2001 From: Georg Schwarz Date: Fri, 3 May 2024 10:50:43 +0200 Subject: [PATCH 20/38] Remove test setup from docs app --- apps/docs/tsconfig.spec.json | 13 ------------- apps/docs/tsconfig.spec.json.license | 3 --- 2 files changed, 16 deletions(-) delete mode 100644 apps/docs/tsconfig.spec.json delete mode 100644 apps/docs/tsconfig.spec.json.license diff --git a/apps/docs/tsconfig.spec.json b/apps/docs/tsconfig.spec.json deleted file mode 100644 index d41aea47f..000000000 --- a/apps/docs/tsconfig.spec.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "extends": "./tsconfig.json", - "compilerOptions": { - "outDir": "../../dist/out-tsc", - "types": ["jest", "node"] - }, - "include": [ - "jest.config.ts", - "src/**/*.test.ts", - "src/**/*.spec.ts", - "src/**/*.d.ts" - ] -} diff --git a/apps/docs/tsconfig.spec.json.license b/apps/docs/tsconfig.spec.json.license deleted file mode 100644 index 17c5d2bad..000000000 --- a/apps/docs/tsconfig.spec.json.license +++ /dev/null @@ -1,3 +0,0 @@ -SPDX-FileCopyrightText: 2023 Friedrich-Alexander-Universitat Erlangen-Nurnberg - -SPDX-License-Identifier: AGPL-3.0-only From 8a166866d6c6b909484f87fedf0e8ddef5c3147b Mon Sep 17 00:00:00 2001 From: Georg Schwarz Date: Fri, 3 May 2024 10:51:20 +0200 Subject: [PATCH 21/38] Remove test setup from vs-code-extension app --- apps/vs-code-extension/jest.config.ts | 20 ------------------- apps/vs-code-extension/project.json | 7 ------- apps/vs-code-extension/tsconfig.json | 3 --- apps/vs-code-extension/tsconfig.spec.json | 7 ------- .../tsconfig.spec.json.license | 3 --- 5 files changed, 40 deletions(-) delete mode 100644 apps/vs-code-extension/jest.config.ts delete mode 100644 apps/vs-code-extension/tsconfig.spec.json delete mode 100644 apps/vs-code-extension/tsconfig.spec.json.license diff --git a/apps/vs-code-extension/jest.config.ts b/apps/vs-code-extension/jest.config.ts deleted file mode 100644 index 7dfb45e58..000000000 --- a/apps/vs-code-extension/jest.config.ts +++ /dev/null @@ -1,20 +0,0 @@ -// SPDX-FileCopyrightText: 2023 Friedrich-Alexander-Universitat Erlangen-Nurnberg -// -// SPDX-License-Identifier: AGPL-3.0-only - -export default { - displayName: 'vs-code-extension', - preset: '../../jest.preset.js', - globals: {}, - testEnvironment: 'node', - transform: { - '^.+\\.[tj]s$': [ - 'ts-jest', - { - tsconfig: '/tsconfig.spec.json', - }, - ], - }, - moduleFileExtensions: ['ts', 'js', 'html'], - coverageDirectory: '../../coverage/apps/vs-code-extension', -}; diff --git a/apps/vs-code-extension/project.json b/apps/vs-code-extension/project.json index 90fdf3e1b..74cd987cf 100644 --- a/apps/vs-code-extension/project.json +++ b/apps/vs-code-extension/project.json @@ -45,13 +45,6 @@ "executor": "@nx/eslint:lint", "outputs": ["{options.outputFile}"] }, - "test": { - "executor": "@nx/jest:jest", - "outputs": ["{workspaceRoot}/coverage/{projectRoot}"], - "options": { - "jestConfig": "apps/vs-code-extension/jest.config.ts" - } - }, "pack": { "executor": "nx:run-commands", "dependsOn": ["build"], diff --git a/apps/vs-code-extension/tsconfig.json b/apps/vs-code-extension/tsconfig.json index 63dbe35fb..816e3f36f 100644 --- a/apps/vs-code-extension/tsconfig.json +++ b/apps/vs-code-extension/tsconfig.json @@ -5,9 +5,6 @@ "references": [ { "path": "./tsconfig.app.json" - }, - { - "path": "./tsconfig.spec.json" } ] } diff --git a/apps/vs-code-extension/tsconfig.spec.json b/apps/vs-code-extension/tsconfig.spec.json deleted file mode 100644 index ac7972d7b..000000000 --- a/apps/vs-code-extension/tsconfig.spec.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "extends": "./tsconfig.json", - "compilerOptions": { - "types": ["jest", "node"] - }, - "include": ["jest.config.ts", "**/*.test.ts", "**/*.spec.ts", "**/*.d.ts"] -} diff --git a/apps/vs-code-extension/tsconfig.spec.json.license b/apps/vs-code-extension/tsconfig.spec.json.license deleted file mode 100644 index 17c5d2bad..000000000 --- a/apps/vs-code-extension/tsconfig.spec.json.license +++ /dev/null @@ -1,3 +0,0 @@ -SPDX-FileCopyrightText: 2023 Friedrich-Alexander-Universitat Erlangen-Nurnberg - -SPDX-License-Identifier: AGPL-3.0-only From 5b6969d5c254389500ec56e1182e65ac7a621350 Mon Sep 17 00:00:00 2001 From: Georg Schwarz Date: Fri, 3 May 2024 10:51:49 +0200 Subject: [PATCH 22/38] Remove test setup from language-server-web-worker --- apps/language-server-web-worker/tsconfig.json | 3 --- 1 file changed, 3 deletions(-) diff --git a/apps/language-server-web-worker/tsconfig.json b/apps/language-server-web-worker/tsconfig.json index 63dbe35fb..816e3f36f 100644 --- a/apps/language-server-web-worker/tsconfig.json +++ b/apps/language-server-web-worker/tsconfig.json @@ -5,9 +5,6 @@ "references": [ { "path": "./tsconfig.app.json" - }, - { - "path": "./tsconfig.spec.json" } ] } From 182a132cb35a3b982f5939198c73c08b15e80ce7 Mon Sep 17 00:00:00 2001 From: Georg Schwarz Date: Fri, 3 May 2024 11:28:37 +0200 Subject: [PATCH 23/38] Use vitest in interpreter app instead of jest --- apps/interpreter/jest.config.ts | 20 ------------ apps/interpreter/project.json | 7 +++-- .../src/examples-smoke-test.spec.ts | 31 ++++++++++++------- apps/interpreter/src/parse-only.spec.ts | 21 +++++++------ apps/interpreter/tsconfig.spec.json | 23 ++++++++++++-- apps/interpreter/vite.config.ts | 23 ++++++++++++++ .../mocks/postgres-loader-executor-mock.ts | 15 +++++---- .../test/mocks/sqlite-loader-executor-mock.ts | 11 ++++--- 8 files changed, 95 insertions(+), 56 deletions(-) delete mode 100644 apps/interpreter/jest.config.ts create mode 100644 apps/interpreter/vite.config.ts diff --git a/apps/interpreter/jest.config.ts b/apps/interpreter/jest.config.ts deleted file mode 100644 index 969d1fa4b..000000000 --- a/apps/interpreter/jest.config.ts +++ /dev/null @@ -1,20 +0,0 @@ -// SPDX-FileCopyrightText: 2023 Friedrich-Alexander-Universitat Erlangen-Nurnberg -// -// SPDX-License-Identifier: AGPL-3.0-only - -export default { - displayName: 'interpreter', - preset: '../../jest.preset.js', - globals: {}, - testEnvironment: 'node', - transform: { - '^.+\\.[tj]s$': [ - 'ts-jest', - { - tsconfig: '/tsconfig.spec.json', - }, - ], - }, - moduleFileExtensions: ['ts', 'js', 'html'], - coverageDirectory: '../../coverage/apps/interpreter', -}; diff --git a/apps/interpreter/project.json b/apps/interpreter/project.json index cf5cf2341..6733eb1e6 100644 --- a/apps/interpreter/project.json +++ b/apps/interpreter/project.json @@ -22,10 +22,11 @@ } }, "test": { - "executor": "@nx/jest:jest", + "executor": "@nx/vite:test", "outputs": ["{workspaceRoot}/coverage/{projectRoot}"], "options": { - "jestConfig": "apps/interpreter/jest.config.ts" + "configFile": "{projectRoot}/vite.config.ts", + "passWithNoTests": false } }, "pre-publish": { @@ -36,7 +37,7 @@ "node tools/scripts/interpreter/prepend-shebang.mjs interpreter main.js", "node tools/scripts/add-package-json-version.mjs interpreter", "node tools/scripts/interpreter/rewrite-version-mainjs.mjs interpreter", - "node tools/scripts/publish.mjs interpreter false" // dry-run + "node tools/scripts/publish.mjs interpreter false" ], "parallel": false } diff --git a/apps/interpreter/src/examples-smoke-test.spec.ts b/apps/interpreter/src/examples-smoke-test.spec.ts index c079582b7..488899163 100644 --- a/apps/interpreter/src/examples-smoke-test.spec.ts +++ b/apps/interpreter/src/examples-smoke-test.spec.ts @@ -16,24 +16,33 @@ import { } from '@jvalue/jayvee-language-server'; import { NodeFileSystem } from 'langium/node'; import nock from 'nock'; +import { type MockInstance, vi } from 'vitest'; import { runAction } from './run-action'; // Mock global imports -jest.mock('pg', () => { +vi.mock('pg', () => { const mClient = { - connect: jest.fn(), - query: jest.fn(), - end: jest.fn(), + connect: vi.fn(), + query: vi.fn(), + end: vi.fn(), + }; + return { + __esModule: true, + default: { + Client: vi.fn(() => mClient), + }, }; - return { Client: jest.fn(() => mClient) }; }); -jest.mock('sqlite3', () => { +vi.mock('sqlite3', () => { const mockDB = { - close: jest.fn(), - run: jest.fn(), + close: vi.fn(), + run: vi.fn(), + }; + return { + __esModule: true, + default: { Database: vi.fn(() => mockDB) }, }; - return { Database: jest.fn(() => mockDB) }; }); describe('jv example smoke tests', () => { @@ -46,7 +55,7 @@ describe('jv example smoke tests', () => { debugTarget: undefined, }; - let exitSpy: jest.SpyInstance; + let exitSpy: MockInstance; let httpExtractorMock: HttpExtractorExecutorMock; let postgresLoaderMock: PostgresLoaderExecutorMock; let sqliteLoaderMock: SQLiteLoaderExecutorMock; @@ -55,7 +64,7 @@ describe('jv example smoke tests', () => { const services = createJayveeServices(NodeFileSystem).Jayvee; await initializeWorkspace(services); - exitSpy = jest + exitSpy = vi .spyOn(process, 'exit') .mockImplementation(processExitMockImplementation); httpExtractorMock = new HttpExtractorExecutorMock(); diff --git a/apps/interpreter/src/parse-only.spec.ts b/apps/interpreter/src/parse-only.spec.ts index abc01042c..01e56427b 100644 --- a/apps/interpreter/src/parse-only.spec.ts +++ b/apps/interpreter/src/parse-only.spec.ts @@ -2,24 +2,27 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import * as fs from 'node:fs'; -import * as path from 'path'; -import * as process from 'process'; +import fs from 'node:fs'; +import path from 'node:path'; +import process from 'node:process'; import { type RunOptions, interpretModel, interpretString, } from '@jvalue/jayvee-interpreter-lib'; +import { vi } from 'vitest'; import { runAction } from './run-action'; -jest.mock('@jvalue/jayvee-interpreter-lib', () => { - const original: object = jest.requireActual('@jvalue/jayvee-interpreter-lib'); +vi.mock('@jvalue/jayvee-interpreter-lib', async () => { + const original: object = await vi.importActual( + '@jvalue/jayvee-interpreter-lib', + ); return { ...original, - interpretModel: jest.fn(), - interpretString: jest.fn(), + interpretModel: vi.fn(), + interpretString: vi.fn(), }; }); @@ -44,8 +47,8 @@ describe('Parse Only', () => { }); beforeEach(() => { - jest.clearAllMocks(); - jest.spyOn(process, 'exit').mockImplementation(() => { + vi.clearAllMocks(); + vi.spyOn(process, 'exit').mockImplementation(() => { throw new Error(); }); }); diff --git a/apps/interpreter/tsconfig.spec.json b/apps/interpreter/tsconfig.spec.json index ac7972d7b..3c002c215 100644 --- a/apps/interpreter/tsconfig.spec.json +++ b/apps/interpreter/tsconfig.spec.json @@ -1,7 +1,26 @@ { "extends": "./tsconfig.json", "compilerOptions": { - "types": ["jest", "node"] + "outDir": "../../dist/out-tsc", + "types": [ + "vitest/globals", + "vitest/importMeta", + "vite/client", + "node", + "vitest" + ] }, - "include": ["jest.config.ts", "**/*.test.ts", "**/*.spec.ts", "**/*.d.ts"] + "include": [ + "vite.config.ts", + "vitest.config.ts", + "src/**/*.test.ts", + "src/**/*.spec.ts", + "src/**/*.test.tsx", + "src/**/*.spec.tsx", + "src/**/*.test.js", + "src/**/*.spec.js", + "src/**/*.test.jsx", + "src/**/*.spec.jsx", + "src/**/*.d.ts" + ] } diff --git a/apps/interpreter/vite.config.ts b/apps/interpreter/vite.config.ts new file mode 100644 index 000000000..576e1eeab --- /dev/null +++ b/apps/interpreter/vite.config.ts @@ -0,0 +1,23 @@ +// / +import { nxViteTsPaths } from '@nx/vite/plugins/nx-tsconfig-paths.plugin'; +import { defineConfig } from 'vite'; + +export default defineConfig({ + root: __dirname, + cacheDir: '../../node_modules/.vite/apps/interpreter', + + plugins: [nxViteTsPaths()], + + test: { + globals: true, + cacheDir: '../../node_modules/.vitest', + environment: 'jsdom', + include: ['src/**/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}'], + + reporters: ['default'], + coverage: { + reportsDirectory: '../../coverage/apps/interpreter', + provider: 'v8', + }, + }, +}); diff --git a/libs/extensions/rdbms/exec/test/mocks/postgres-loader-executor-mock.ts b/libs/extensions/rdbms/exec/test/mocks/postgres-loader-executor-mock.ts index c614dc457..71787587c 100644 --- a/libs/extensions/rdbms/exec/test/mocks/postgres-loader-executor-mock.ts +++ b/libs/extensions/rdbms/exec/test/mocks/postgres-loader-executor-mock.ts @@ -2,12 +2,15 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import * as assert from 'assert'; +import assert from 'assert'; import { type BlockExecutorMock } from '@jvalue/jayvee-execution/test'; -import { Client } from 'pg'; +import pg from 'pg'; +import { type Mock, type Mocked, vi } from 'vitest'; -type MockedPgClient = jest.Mocked; +const { Client } = pg; // work around import issue with ESM + +type MockedPgClient = Mocked; export class PostgresLoaderExecutorMock implements BlockExecutorMock { private _pgClient: MockedPgClient | undefined; @@ -26,15 +29,15 @@ export class PostgresLoaderExecutorMock implements BlockExecutorMock { ) => void = defaultPostgresMockRegistration, ) { // setup pg mock - this._pgClient = new Client() as MockedPgClient; + this._pgClient = new Client() as unknown as MockedPgClient; registerMocks(this._pgClient); } restore() { // cleanup pg mock - jest.clearAllMocks(); + vi.clearAllMocks(); } } export function defaultPostgresMockRegistration(pgClient: MockedPgClient) { - (pgClient.query as jest.Mock).mockResolvedValue('Success'); + (pgClient.query as Mock).mockResolvedValue('Success'); } diff --git a/libs/extensions/rdbms/exec/test/mocks/sqlite-loader-executor-mock.ts b/libs/extensions/rdbms/exec/test/mocks/sqlite-loader-executor-mock.ts index 21c321d6d..624b7055f 100644 --- a/libs/extensions/rdbms/exec/test/mocks/sqlite-loader-executor-mock.ts +++ b/libs/extensions/rdbms/exec/test/mocks/sqlite-loader-executor-mock.ts @@ -2,12 +2,13 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import * as assert from 'assert'; +import assert from 'assert'; import { type BlockExecutorMock } from '@jvalue/jayvee-execution/test'; -import * as sqlite3 from 'sqlite3'; +import sqlite3 from 'sqlite3'; +import { type Mock, type Mocked, vi } from 'vitest'; -type MockedSqlite3Database = jest.Mocked; +type MockedSqlite3Database = Mocked; export class SQLiteLoaderExecutorMock implements BlockExecutorMock { private _sqliteClient: MockedSqlite3Database | undefined; @@ -31,14 +32,14 @@ export class SQLiteLoaderExecutorMock implements BlockExecutorMock { } restore() { // cleanup sqlite3 mock - jest.clearAllMocks(); + vi.clearAllMocks(); } } export function defaultSQLiteMockRegistration( sqliteClient: MockedSqlite3Database, ) { - (sqliteClient.run as jest.Mock).mockImplementation( + (sqliteClient.run as Mock).mockImplementation( (query: string, callback: (result: unknown, err: Error | null) => void) => callback('Success', null), ); From 7fd7b68b81da947d6a9894d2923816ed3eda9a68 Mon Sep 17 00:00:00 2001 From: Georg Schwarz Date: Fri, 3 May 2024 11:31:15 +0200 Subject: [PATCH 24/38] Remove test job from docs app --- apps/docs/project.json | 7 ------- 1 file changed, 7 deletions(-) diff --git a/apps/docs/project.json b/apps/docs/project.json index 3f65d2292..1b678d37b 100644 --- a/apps/docs/project.json +++ b/apps/docs/project.json @@ -28,13 +28,6 @@ "executor": "@nx/eslint:lint", "outputs": ["{options.outputFile}"] }, - "test": { - "executor": "@nx/jest:jest", - "outputs": ["{workspaceRoot}/coverage/{projectRoot}"], - "options": { - "jestConfig": "apps/docs/jest.config.ts" - } - }, "version-snapshot": { "executor": "nx:run-commands", "dependsOn": ["generate"], From 49b26802a985144c2f02ad68ff9c7e24f871ab6c Mon Sep 17 00:00:00 2001 From: Georg Schwarz Date: Fri, 3 May 2024 11:50:04 +0200 Subject: [PATCH 25/38] Remove remainders of previous jest setup --- .eslintrc.json | 8 +- apps/docs-generator/tsconfig.app.json | 2 +- apps/docs/tsconfig.app.json | 2 +- apps/interpreter/tsconfig.app.json | 2 +- .../tsconfig.app.json | 2 +- apps/vs-code-extension/tsconfig.app.json | 2 +- jest.config.ts | 9 - jest.preset.js | 10 - libs/execution/README.md | 2 +- libs/execution/tsconfig.lib.json | 2 +- libs/extensions/rdbms/exec/README.md | 2 +- libs/extensions/rdbms/exec/jest.config.ts | 19 - libs/extensions/rdbms/exec/tsconfig.lib.json | 2 +- libs/extensions/std/exec/README.md | 2 +- libs/extensions/std/exec/jest.config.ts | 19 - libs/extensions/std/exec/tsconfig.lib.json | 2 +- libs/extensions/tabular/exec/README.md | 2 +- libs/extensions/tabular/exec/jest.config.ts | 20 - .../exec/test/jsdom-environment-fix.ts | 19 - .../extensions/tabular/exec/tsconfig.lib.json | 2 +- libs/interpreter-lib/README.md | 2 +- libs/interpreter-lib/tsconfig.lib.json | 2 +- libs/language-server/tsconfig.lib.json | 2 +- libs/monaco-editor/tsconfig.lib.json | 1 - nx.json | 14 - package-lock.json | 861 +++++++----------- package.json | 8 +- 27 files changed, 362 insertions(+), 658 deletions(-) delete mode 100644 jest.config.ts delete mode 100644 jest.preset.js delete mode 100644 libs/extensions/rdbms/exec/jest.config.ts delete mode 100644 libs/extensions/std/exec/jest.config.ts delete mode 100644 libs/extensions/tabular/exec/jest.config.ts delete mode 100644 libs/extensions/tabular/exec/test/jsdom-environment-fix.ts diff --git a/.eslintrc.json b/.eslintrc.json index 179914509..f70e393d0 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -49,14 +49,10 @@ }, { "files": ["*.spec.ts", "*.spec.tsx", "*.spec.js", "*.spec.jsx"], - "plugins": ["jest"], - "env": { - "jest": true - }, + "plugins": ["vitest"], "rules": { // you should turn the original rule off *only* for test files - "@typescript-eslint/unbound-method": "off", - "jest/unbound-method": "error" + "@typescript-eslint/unbound-method": "off" } } ] diff --git a/apps/docs-generator/tsconfig.app.json b/apps/docs-generator/tsconfig.app.json index 33eb220a3..0adcbec80 100644 --- a/apps/docs-generator/tsconfig.app.json +++ b/apps/docs-generator/tsconfig.app.json @@ -3,6 +3,6 @@ "compilerOptions": { "types": ["node"] }, - "exclude": ["jest.config.ts", "src/**/*.spec.ts", "src/**/*.test.ts"], + "exclude": ["src/**/*.spec.ts", "src/**/*.test.ts"], "include": ["src/**/*.ts"] } diff --git a/apps/docs/tsconfig.app.json b/apps/docs/tsconfig.app.json index 5ddb870a8..365e7fd68 100644 --- a/apps/docs/tsconfig.app.json +++ b/apps/docs/tsconfig.app.json @@ -7,7 +7,7 @@ "esModuleInterop": true, "skipLibCheck": false, }, - "exclude": ["jest.config.ts", "src/**/*.spec.ts", "src/**/*.test.ts"], + "exclude": ["src/**/*.spec.ts", "src/**/*.test.ts"], "include": ["src/**/*.ts", "src/**/*.tsx"], "types": [ "node", diff --git a/apps/interpreter/tsconfig.app.json b/apps/interpreter/tsconfig.app.json index 715ec5595..e75627084 100644 --- a/apps/interpreter/tsconfig.app.json +++ b/apps/interpreter/tsconfig.app.json @@ -4,6 +4,6 @@ "resolveJsonModule": true, "types": ["node"] }, - "exclude": ["jest.config.ts", "**/*.spec.ts", "**/*.test.ts"], + "exclude": ["**/*.spec.ts", "**/*.test.ts"], "include": ["**/*.ts"] } diff --git a/apps/language-server-web-worker/tsconfig.app.json b/apps/language-server-web-worker/tsconfig.app.json index 93c241889..d2aae0ebd 100644 --- a/apps/language-server-web-worker/tsconfig.app.json +++ b/apps/language-server-web-worker/tsconfig.app.json @@ -5,6 +5,6 @@ "module": "esnext", "lib": ["esnext", "DOM", "WebWorker"] }, - "exclude": ["jest.config.ts", "src/**/*.spec.ts", "src/**/*.test.ts"], + "exclude": ["src/**/*.spec.ts", "src/**/*.test.ts"], "include": ["src/**/*.ts"] } diff --git a/apps/vs-code-extension/tsconfig.app.json b/apps/vs-code-extension/tsconfig.app.json index 449d8dd37..402ff358c 100644 --- a/apps/vs-code-extension/tsconfig.app.json +++ b/apps/vs-code-extension/tsconfig.app.json @@ -3,6 +3,6 @@ "compilerOptions": { "types": ["node"] }, - "exclude": ["jest.config.ts", "**/*.spec.ts", "**/*.test.ts"], + "exclude": ["**/*.spec.ts", "**/*.test.ts"], "include": ["**/*.ts"] } diff --git a/jest.config.ts b/jest.config.ts deleted file mode 100644 index 94a9a2fde..000000000 --- a/jest.config.ts +++ /dev/null @@ -1,9 +0,0 @@ -// SPDX-FileCopyrightText: 2023 Friedrich-Alexander-Universitat Erlangen-Nurnberg -// -// SPDX-License-Identifier: AGPL-3.0-only - -import { getJestProjects } from '@nx/jest'; - -export default { - projects: getJestProjects(), -}; diff --git a/jest.preset.js b/jest.preset.js deleted file mode 100644 index 01a7d4054..000000000 --- a/jest.preset.js +++ /dev/null @@ -1,10 +0,0 @@ -// SPDX-FileCopyrightText: 2023 Friedrich-Alexander-Universitat Erlangen-Nurnberg -// -// SPDX-License-Identifier: AGPL-3.0-only - -const nxPreset = require('@nx/jest/preset').default; - -module.exports = { - ...nxPreset, - snapshotFormat: { escapeString: true, printBasicPrototype: true }, -}; diff --git a/libs/execution/README.md b/libs/execution/README.md index 38694baba..5498dbc47 100644 --- a/libs/execution/README.md +++ b/libs/execution/README.md @@ -14,4 +14,4 @@ Run `nx build execution` to build the library. ## Running unit tests -Run `nx test execution` to execute the unit tests via [Jest](https://jestjs.io). +Run `nx test execution` to execute the unit tests via [vitest](https://vitest.dev). diff --git a/libs/execution/tsconfig.lib.json b/libs/execution/tsconfig.lib.json index a24a519e2..5bcc684b4 100644 --- a/libs/execution/tsconfig.lib.json +++ b/libs/execution/tsconfig.lib.json @@ -6,5 +6,5 @@ "types": ["node"] }, "include": ["src/**/*.ts"], - "exclude": ["jest.config.ts", "src/**/*.spec.ts", "src/**/*.test.ts", "test/**/*.ts"] + "exclude": ["src/**/*.spec.ts", "src/**/*.test.ts", "test/**/*.ts"] } diff --git a/libs/extensions/rdbms/exec/README.md b/libs/extensions/rdbms/exec/README.md index ac036e93e..9a9bb022b 100644 --- a/libs/extensions/rdbms/exec/README.md +++ b/libs/extensions/rdbms/exec/README.md @@ -14,4 +14,4 @@ Run `nx build extensions-rdbms-exec` to build the library. ## Running unit tests -Run `nx test extensions-rdbms-exec` to execute the unit tests via [Jest](https://jestjs.io). +Run `nx test extensions-rdbms-exec` to execute the unit tests via [vitest](https://vitest.dev/). diff --git a/libs/extensions/rdbms/exec/jest.config.ts b/libs/extensions/rdbms/exec/jest.config.ts deleted file mode 100644 index 10af9d106..000000000 --- a/libs/extensions/rdbms/exec/jest.config.ts +++ /dev/null @@ -1,19 +0,0 @@ -// SPDX-FileCopyrightText: 2023 Friedrich-Alexander-Universitat Erlangen-Nurnberg -// -// SPDX-License-Identifier: AGPL-3.0-only - -export default { - displayName: 'extensions-rdbms-exec', - preset: '../../../../jest.preset.js', - globals: {}, - transform: { - '^.+\\.[tj]s$': [ - 'ts-jest', - { - tsconfig: '/tsconfig.spec.json', - }, - ], - }, - moduleFileExtensions: ['ts', 'js', 'html'], - coverageDirectory: '../../../../coverage/libs/extensions/rdbms/exec', -}; diff --git a/libs/extensions/rdbms/exec/tsconfig.lib.json b/libs/extensions/rdbms/exec/tsconfig.lib.json index 9df4f660f..d132f22d2 100644 --- a/libs/extensions/rdbms/exec/tsconfig.lib.json +++ b/libs/extensions/rdbms/exec/tsconfig.lib.json @@ -6,5 +6,5 @@ "types": ["node"] }, "include": ["src/**/*.ts"], - "exclude": ["jest.config.ts", "src/**/*.spec.ts", "src/**/*.test.ts", "test/**/*.ts"] + "exclude": ["src/**/*.spec.ts", "src/**/*.test.ts", "test/**/*.ts"] } diff --git a/libs/extensions/std/exec/README.md b/libs/extensions/std/exec/README.md index 48f3e6d72..03ac50168 100644 --- a/libs/extensions/std/exec/README.md +++ b/libs/extensions/std/exec/README.md @@ -14,4 +14,4 @@ Run `nx build extensions-std-exec` to build the library. ## Running unit tests -Run `nx test extensions-std-exec` to execute the unit tests via [Jest](https://jestjs.io). +Run `nx test extensions-std-exec` to execute the unit tests via [vitest](https://vitest.dev). diff --git a/libs/extensions/std/exec/jest.config.ts b/libs/extensions/std/exec/jest.config.ts deleted file mode 100644 index 8e237634f..000000000 --- a/libs/extensions/std/exec/jest.config.ts +++ /dev/null @@ -1,19 +0,0 @@ -// SPDX-FileCopyrightText: 2023 Friedrich-Alexander-Universitat Erlangen-Nurnberg -// -// SPDX-License-Identifier: AGPL-3.0-only - -export default { - displayName: 'extensions-std-exec', - preset: '../../../../jest.preset.js', - globals: {}, - transform: { - '^.+\\.[tj]s$': [ - 'ts-jest', - { - tsconfig: '/tsconfig.spec.json', - }, - ], - }, - moduleFileExtensions: ['ts', 'js', 'html'], - coverageDirectory: '../../../../coverage/libs/extensions/std/exec', -}; diff --git a/libs/extensions/std/exec/tsconfig.lib.json b/libs/extensions/std/exec/tsconfig.lib.json index 9df4f660f..d132f22d2 100644 --- a/libs/extensions/std/exec/tsconfig.lib.json +++ b/libs/extensions/std/exec/tsconfig.lib.json @@ -6,5 +6,5 @@ "types": ["node"] }, "include": ["src/**/*.ts"], - "exclude": ["jest.config.ts", "src/**/*.spec.ts", "src/**/*.test.ts", "test/**/*.ts"] + "exclude": ["src/**/*.spec.ts", "src/**/*.test.ts", "test/**/*.ts"] } diff --git a/libs/extensions/tabular/exec/README.md b/libs/extensions/tabular/exec/README.md index 2fd9126d7..c410786eb 100644 --- a/libs/extensions/tabular/exec/README.md +++ b/libs/extensions/tabular/exec/README.md @@ -14,4 +14,4 @@ Run `nx build extensions-tabular-exec` to build the library. ## Running unit tests -Run `nx test extensions-tabular-exec` to execute the unit tests via [Jest](https://jestjs.io). +Run `nx test extensions-tabular-exec` to execute the unit tests via [vitest](https://vitest.dev). diff --git a/libs/extensions/tabular/exec/jest.config.ts b/libs/extensions/tabular/exec/jest.config.ts deleted file mode 100644 index c9ced9c71..000000000 --- a/libs/extensions/tabular/exec/jest.config.ts +++ /dev/null @@ -1,20 +0,0 @@ -// SPDX-FileCopyrightText: 2023 Friedrich-Alexander-Universitat Erlangen-Nurnberg -// -// SPDX-License-Identifier: AGPL-3.0-only - -export default { - displayName: 'extensions-tabular-exec', - preset: '../../../../jest.preset.js', - testEnvironment: './test/jsdom-environment-fix.ts', - globals: {}, - transform: { - '^.+\\.[tj]s$': [ - 'ts-jest', - { - tsconfig: '/tsconfig.spec.json', - }, - ], - }, - moduleFileExtensions: ['ts', 'js', 'html'], - coverageDirectory: '../../../../coverage/libs/extensions/tabular/exec', -}; diff --git a/libs/extensions/tabular/exec/test/jsdom-environment-fix.ts b/libs/extensions/tabular/exec/test/jsdom-environment-fix.ts deleted file mode 100644 index ea38a0f71..000000000 --- a/libs/extensions/tabular/exec/test/jsdom-environment-fix.ts +++ /dev/null @@ -1,19 +0,0 @@ -// SPDX-FileCopyrightText: 2023 Friedrich-Alexander-Universitat Erlangen-Nurnberg -// -// SPDX-License-Identifier: AGPL-3.0-only - -import JSDOMEnvironment from 'jest-environment-jsdom'; - -// @nx/jest/preset loads in jsdom environment which does not support a few node.js functions. -// This class adds these node.js functions. -export default class JSDOMEnvironmentFix extends JSDOMEnvironment { - constructor(...args: ConstructorParameters) { - super(...args); - - // https://github.com/jsdom/jsdom/issues/3363 - this.global.structuredClone = structuredClone; - // https://github.com/jestjs/jest/issues/11204 - // https://github.com/jestjs/jest/issues/12622 - this.global.setImmediate = setImmediate; - } -} diff --git a/libs/extensions/tabular/exec/tsconfig.lib.json b/libs/extensions/tabular/exec/tsconfig.lib.json index 18f2d37a1..bcd1fedd0 100644 --- a/libs/extensions/tabular/exec/tsconfig.lib.json +++ b/libs/extensions/tabular/exec/tsconfig.lib.json @@ -6,5 +6,5 @@ "types": ["node"] }, "include": ["src/**/*.ts"], - "exclude": ["jest.config.ts", "src/**/*.spec.ts", "src/**/*.test.ts"] + "exclude": ["src/**/*.spec.ts", "src/**/*.test.ts"] } diff --git a/libs/interpreter-lib/README.md b/libs/interpreter-lib/README.md index 27af0194c..22f5080ca 100644 --- a/libs/interpreter-lib/README.md +++ b/libs/interpreter-lib/README.md @@ -38,4 +38,4 @@ Run `nx build interpreter-lib` to build the library. ## Running unit tests -Run `nx test interpreter-lib` to execute the unit tests via [Jest](https://jestjs.io). +Run `nx test interpreter-lib` to execute the unit tests via [vitest](https://vitest.dev). diff --git a/libs/interpreter-lib/tsconfig.lib.json b/libs/interpreter-lib/tsconfig.lib.json index 33eca2c2c..faa09cc18 100644 --- a/libs/interpreter-lib/tsconfig.lib.json +++ b/libs/interpreter-lib/tsconfig.lib.json @@ -6,5 +6,5 @@ "types": ["node"] }, "include": ["src/**/*.ts"], - "exclude": ["jest.config.ts", "src/**/*.spec.ts", "src/**/*.test.ts"] + "exclude": ["src/**/*.spec.ts", "src/**/*.test.ts"] } diff --git a/libs/language-server/tsconfig.lib.json b/libs/language-server/tsconfig.lib.json index 547e21dd6..99e67e2e6 100644 --- a/libs/language-server/tsconfig.lib.json +++ b/libs/language-server/tsconfig.lib.json @@ -5,5 +5,5 @@ "types": ["node"], }, "include": ["**/*.ts"], - "exclude": ["jest.config.ts", "**/*.spec.ts", "**/*.test.ts", "./src/test/**/*.ts"] + "exclude": ["**/*.spec.ts", "**/*.test.ts", "./src/test/**/*.ts"] } diff --git a/libs/monaco-editor/tsconfig.lib.json b/libs/monaco-editor/tsconfig.lib.json index 06e3087e4..116fc93f9 100644 --- a/libs/monaco-editor/tsconfig.lib.json +++ b/libs/monaco-editor/tsconfig.lib.json @@ -9,7 +9,6 @@ "../../node_modules/@nx/react/typings/image.d.ts" ], "exclude": [ - "jest.config.ts", "src/**/*.spec.ts", "src/**/*.test.ts", "src/**/*.spec.tsx", diff --git a/nx.json b/nx.json index 5d83ccdb6..6486dab45 100644 --- a/nx.json +++ b/nx.json @@ -30,19 +30,6 @@ "@nx/eslint:lint": { "inputs": ["default", "{workspaceRoot}/.eslintrc.json"], "cache": true - }, - "@nx/jest:jest": { - "inputs": ["default", "^production", "{workspaceRoot}/jest.preset.js"], - "cache": true, - "options": { - "passWithNoTests": true - }, - "configurations": { - "ci": { - "ci": true, - "codeCoverage": true - } - } } }, "namedInputs": { @@ -51,7 +38,6 @@ "default", "!{projectRoot}/**/?(*.)+(spec|test).[jt]s?(x)?(.snap)", "!{projectRoot}/tsconfig.spec.json", - "!{projectRoot}/jest.config.[jt]s", "!{projectRoot}/.eslintrc.json", "!{projectRoot}/src/test-setup.[jt]s" ], diff --git a/package-lock.json b/package-lock.json index 938c616c1..00789f6df 100644 --- a/package-lock.json +++ b/package-lock.json @@ -16,6 +16,7 @@ "chalk": "^4.1.2", "clsx": "^1.2.1", "commander": "^8.0.0", + "eslint-plugin-vitest": "^0.5.4", "exceljs": "^4.3.0", "fast-csv": "^4.3.6", "follow-redirects": "^1.15.2", @@ -46,7 +47,6 @@ "@nx/esbuild": "18.0.1", "@nx/eslint": "18.0.1", "@nx/eslint-plugin": "18.0.1", - "@nx/jest": "18.0.1", "@nx/js": "18.3.4", "@nx/node": "18.0.1", "@nx/react": "18.0.1", @@ -59,7 +59,6 @@ "@swc/core": "~1.3.85", "@swc/helpers": "~0.5.2", "@types/follow-redirects": "^1.14.1", - "@types/jest": "29.4.4", "@types/mime-types": "^2.1.1", "@types/node": "18.19.11", "@types/pg": "^8.6.5", @@ -76,17 +75,14 @@ "eslint-config-prettier": "9.1.0", "eslint-config-react-app": "^7.0.1", "eslint-plugin-import": "2.27.5", - "eslint-plugin-jest": "^27.2.1", "eslint-plugin-prettier": "^4.2.1", "eslint-plugin-react": "7.32.2", "eslint-plugin-react-hooks": "^4.6.0", - "jest": "29.4.3", - "jest-environment-jsdom": "29.4.3", + "jest-environment-jsdom": "^29.7.0", "langium-cli": "^3.0.0", "nock": "13.3.1", "nx": "18.0.1", "prettier": "^2.8.7", - "ts-jest": "29.1.2", "ts-node": "10.9.1", "typescript": "^5.0.4", "vite": "~5.0.0", @@ -3827,7 +3823,6 @@ "version": "4.4.0", "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", - "dev": true, "dependencies": { "eslint-visitor-keys": "^3.3.0" }, @@ -4067,53 +4062,6 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@jest/core": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.7.0.tgz", - "integrity": "sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==", - "dev": true, - "dependencies": { - "@jest/console": "^29.7.0", - "@jest/reporters": "^29.7.0", - "@jest/test-result": "^29.7.0", - "@jest/transform": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "jest-changed-files": "^29.7.0", - "jest-config": "^29.7.0", - "jest-haste-map": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-regex-util": "^29.6.3", - "jest-resolve": "^29.7.0", - "jest-resolve-dependencies": "^29.7.0", - "jest-runner": "^29.7.0", - "jest-runtime": "^29.7.0", - "jest-snapshot": "^29.7.0", - "jest-util": "^29.7.0", - "jest-validate": "^29.7.0", - "jest-watcher": "^29.7.0", - "micromatch": "^4.0.4", - "pretty-format": "^29.7.0", - "slash": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } - }, "node_modules/@jest/environment": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz", @@ -9094,16 +9042,6 @@ "@types/istanbul-lib-report": "*" } }, - "node_modules/@types/jest": { - "version": "29.4.4", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.4.4.tgz", - "integrity": "sha512-qezb65VIH7X1wobSnd6Lvdve7PXSyQRa3dljTkhTtDhi603RvHQCshSlJcuyMLHJpeHgY3NKwvDJWxMOOHxGDQ==", - "dev": true, - "dependencies": { - "expect": "^29.0.0", - "pretty-format": "^29.0.0" - } - }, "node_modules/@types/jsdom": { "version": "20.0.1", "resolved": "https://registry.npmjs.org/@types/jsdom/-/jsdom-20.0.1.tgz", @@ -9301,10 +9239,9 @@ "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==" }, "node_modules/@types/semver": { - "version": "7.5.6", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.6.tgz", - "integrity": "sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==", - "dev": true + "version": "7.5.8", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", + "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==" }, "node_modules/@types/serve-index": { "version": "1.9.1", @@ -12095,18 +12032,6 @@ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, - "node_modules/bs-logger": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", - "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", - "dev": true, - "dependencies": { - "fast-json-stable-stringify": "2.x" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/bser": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", @@ -13328,27 +13253,6 @@ "node": ">= 10" } }, - "node_modules/create-jest": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/create-jest/-/create-jest-29.7.0.tgz", - "integrity": "sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==", - "dev": true, - "dependencies": { - "@jest/types": "^29.6.3", - "chalk": "^4.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "jest-config": "^29.7.0", - "jest-util": "^29.7.0", - "prompts": "^2.0.1" - }, - "bin": { - "create-jest": "bin/create-jest.js" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, "node_modules/create-require": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", @@ -16068,30 +15972,6 @@ "semver": "bin/semver.js" } }, - "node_modules/eslint-plugin-jest": { - "version": "27.2.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-27.2.1.tgz", - "integrity": "sha512-l067Uxx7ZT8cO9NJuf+eJHvt6bqJyz2Z29wykyEdz/OtmcELQl2MQGQLX8J94O1cSJWAwUSEvCjwjA7KEK3Hmg==", - "dev": true, - "dependencies": { - "@typescript-eslint/utils": "^5.10.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "@typescript-eslint/eslint-plugin": "^5.0.0", - "eslint": "^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "@typescript-eslint/eslint-plugin": { - "optional": true - }, - "jest": { - "optional": true - } - } - }, "node_modules/eslint-plugin-jsx-a11y": { "version": "6.6.1", "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.6.1.tgz", @@ -16287,6 +16167,194 @@ "eslint": "^7.5.0 || ^8.0.0" } }, + "node_modules/eslint-plugin-vitest": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/eslint-plugin-vitest/-/eslint-plugin-vitest-0.5.4.tgz", + "integrity": "sha512-um+odCkccAHU53WdKAw39MY61+1x990uXjSPguUCq3VcEHdqJrOb8OTMrbYlY6f9jAKx7x98kLVlIe3RJeJqoQ==", + "dependencies": { + "@typescript-eslint/utils": "^7.7.1" + }, + "engines": { + "node": "^18.0.0 || >= 20.0.0" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "vitest": "*" + }, + "peerDependenciesMeta": { + "@typescript-eslint/eslint-plugin": { + "optional": true + }, + "vitest": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-vitest/node_modules/@typescript-eslint/scope-manager": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.8.0.tgz", + "integrity": "sha512-viEmZ1LmwsGcnr85gIq+FCYI7nO90DVbE37/ll51hjv9aG+YZMb4WDE2fyWpUR4O/UrhGRpYXK/XajcGTk2B8g==", + "dependencies": { + "@typescript-eslint/types": "7.8.0", + "@typescript-eslint/visitor-keys": "7.8.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/eslint-plugin-vitest/node_modules/@typescript-eslint/types": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.8.0.tgz", + "integrity": "sha512-wf0peJ+ZGlcH+2ZS23aJbOv+ztjeeP8uQ9GgwMJGVLx/Nj9CJt17GWgWWoSmoRVKAX2X+7fzEnAjxdvK2gqCLw==", + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/eslint-plugin-vitest/node_modules/@typescript-eslint/typescript-estree": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.8.0.tgz", + "integrity": "sha512-5pfUCOwK5yjPaJQNy44prjCwtr981dO8Qo9J9PwYXZ0MosgAbfEMB008dJ5sNo3+/BN6ytBPuSvXUg9SAqB0dg==", + "dependencies": { + "@typescript-eslint/types": "7.8.0", + "@typescript-eslint/visitor-keys": "7.8.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "minimatch": "^9.0.4", + "semver": "^7.6.0", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-vitest/node_modules/@typescript-eslint/utils": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.8.0.tgz", + "integrity": "sha512-L0yFqOCflVqXxiZyXrDr80lnahQfSOfc9ELAAZ75sqicqp2i36kEZZGuUymHNFoYOqxRT05up760b4iGsl02nQ==", + "dependencies": { + "@eslint-community/eslint-utils": "^4.4.0", + "@types/json-schema": "^7.0.15", + "@types/semver": "^7.5.8", + "@typescript-eslint/scope-manager": "7.8.0", + "@typescript-eslint/types": "7.8.0", + "@typescript-eslint/typescript-estree": "7.8.0", + "semver": "^7.6.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.56.0" + } + }, + "node_modules/eslint-plugin-vitest/node_modules/@typescript-eslint/visitor-keys": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.8.0.tgz", + "integrity": "sha512-q4/gibTNBQNA0lGyYQCmWRS5D15n8rXh4QjK3KV+MBPlTYHpfBUT3D3PaPR/HeNiI9W6R7FvlkcGhNyAoP+caA==", + "dependencies": { + "@typescript-eslint/types": "7.8.0", + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/eslint-plugin-vitest/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/eslint-plugin-vitest/node_modules/fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "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" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/eslint-plugin-vitest/node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint-plugin-vitest/node_modules/minimatch": { + "version": "9.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", + "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/eslint-plugin-vitest/node_modules/semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/eslint-scope": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", @@ -18417,25 +18485,6 @@ "node": ">=4" } }, - "node_modules/import-local": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", - "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", - "dev": true, - "dependencies": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - }, - "bin": { - "import-local-fixture": "fixtures/cli.js" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", @@ -19258,46 +19307,6 @@ "node": ">=10" } }, - "node_modules/jest": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/jest/-/jest-29.4.3.tgz", - "integrity": "sha512-XvK65feuEFGZT8OO0fB/QAQS+LGHvQpaadkH5p47/j3Ocqq3xf2pK9R+G0GzgfuhXVxEv76qCOOcMb5efLk6PA==", - "dev": true, - "dependencies": { - "@jest/core": "^29.4.3", - "@jest/types": "^29.4.3", - "import-local": "^3.0.2", - "jest-cli": "^29.4.3" - }, - "bin": { - "jest": "bin/jest.js" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } - }, - "node_modules/jest-changed-files": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.7.0.tgz", - "integrity": "sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==", - "dev": true, - "dependencies": { - "execa": "^5.0.0", - "jest-util": "^29.7.0", - "p-limit": "^3.1.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, "node_modules/jest-circus": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.7.0.tgz", @@ -19329,39 +19338,6 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-cli": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.7.0.tgz", - "integrity": "sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==", - "dev": true, - "dependencies": { - "@jest/core": "^29.7.0", - "@jest/test-result": "^29.7.0", - "@jest/types": "^29.6.3", - "chalk": "^4.0.0", - "create-jest": "^29.7.0", - "exit": "^0.1.2", - "import-local": "^3.0.2", - "jest-config": "^29.7.0", - "jest-util": "^29.7.0", - "jest-validate": "^29.7.0", - "yargs": "^17.3.1" - }, - "bin": { - "jest": "bin/jest.js" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } - }, "node_modules/jest-config": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.7.0.tgz", @@ -19451,18 +19427,18 @@ } }, "node_modules/jest-environment-jsdom": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-29.4.3.tgz", - "integrity": "sha512-rFjf8JXrw3OjUzzmSE5l0XjMj0/MSVEUMCSXBGPDkfwb1T03HZI7iJSL0cGctZApPSyJxbjyKDVxkZuyhHkuTw==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-29.7.0.tgz", + "integrity": "sha512-k9iQbsf9OyOfdzWH8HDmrRT0gSIcX+FLNW7IQq94tFX0gynPwqDTW0Ho6iMVNjGz/nb+l/vW3dWM2bbLLpkbXA==", "dev": true, "dependencies": { - "@jest/environment": "^29.4.3", - "@jest/fake-timers": "^29.4.3", - "@jest/types": "^29.4.3", + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", "@types/jsdom": "^20.0.0", "@types/node": "*", - "jest-mock": "^29.4.3", - "jest-util": "^29.4.3", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0", "jsdom": "^20.0.0" }, "engines": { @@ -19636,19 +19612,6 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-resolve-dependencies": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz", - "integrity": "sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==", - "dev": true, - "dependencies": { - "jest-regex-util": "^29.6.3", - "jest-snapshot": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, "node_modules/jest-resolve/node_modules/resolve.exports": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", @@ -21808,9 +21771,9 @@ } }, "node_modules/nwsapi": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.7.tgz", - "integrity": "sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==", + "version": "2.2.9", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.9.tgz", + "integrity": "sha512-2f3F0SEEer8bBu0dsNCFF50N0cTThV1nWFYcEYFZttdW0lDAoybv9cQoK7X7/68Z89S7FoRrVjP1LPX4XRf9vg==", "dev": true }, "node_modules/nx": { @@ -25194,18 +25157,6 @@ "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz", "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==" }, - "node_modules/resolve-cwd": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", - "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", - "dev": true, - "dependencies": { - "resolve-from": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/resolve-from": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", @@ -27069,9 +27020,9 @@ } }, "node_modules/tough-cookie": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz", - "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==", + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.4.tgz", + "integrity": "sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==", "dev": true, "dependencies": { "psl": "^1.1.33", @@ -27137,12 +27088,11 @@ } }, "node_modules/ts-api-utils": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.0.3.tgz", - "integrity": "sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==", - "dev": true, + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz", + "integrity": "sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==", "engines": { - "node": ">=16.13.0" + "node": ">=16" }, "peerDependencies": { "typescript": ">=4.2.0" @@ -27156,64 +27106,6 @@ "node": ">=6.10" } }, - "node_modules/ts-jest": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.1.2.tgz", - "integrity": "sha512-br6GJoH/WUX4pu7FbZXuWGKGNDuU7b8Uj77g/Sp7puZV6EXzuByl6JrECvm0MzVzSTkSHWTihsXt+5XYER5b+g==", - "dev": true, - "dependencies": { - "bs-logger": "0.x", - "fast-json-stable-stringify": "2.x", - "jest-util": "^29.0.0", - "json5": "^2.2.3", - "lodash.memoize": "4.x", - "make-error": "1.x", - "semver": "^7.5.3", - "yargs-parser": "^21.0.1" - }, - "bin": { - "ts-jest": "cli.js" - }, - "engines": { - "node": "^16.10.0 || ^18.0.0 || >=20.0.0" - }, - "peerDependencies": { - "@babel/core": ">=7.0.0-beta.0 <8", - "@jest/types": "^29.0.0", - "babel-jest": "^29.0.0", - "jest": "^29.0.0", - "typescript": ">=4.3 <6" - }, - "peerDependenciesMeta": { - "@babel/core": { - "optional": true - }, - "@jest/types": { - "optional": true - }, - "babel-jest": { - "optional": true - }, - "esbuild": { - "optional": true - } - } - }, - "node_modules/ts-jest/node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/ts-loader": { "version": "9.5.1", "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.5.1.tgz", @@ -32150,7 +32042,6 @@ "version": "4.4.0", "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", - "dev": true, "requires": { "eslint-visitor-keys": "^3.3.0" } @@ -32341,42 +32232,6 @@ "slash": "^3.0.0" } }, - "@jest/core": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.7.0.tgz", - "integrity": "sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==", - "dev": true, - "requires": { - "@jest/console": "^29.7.0", - "@jest/reporters": "^29.7.0", - "@jest/test-result": "^29.7.0", - "@jest/transform": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "jest-changed-files": "^29.7.0", - "jest-config": "^29.7.0", - "jest-haste-map": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-regex-util": "^29.6.3", - "jest-resolve": "^29.7.0", - "jest-resolve-dependencies": "^29.7.0", - "jest-runner": "^29.7.0", - "jest-runtime": "^29.7.0", - "jest-snapshot": "^29.7.0", - "jest-util": "^29.7.0", - "jest-validate": "^29.7.0", - "jest-watcher": "^29.7.0", - "micromatch": "^4.0.4", - "pretty-format": "^29.7.0", - "slash": "^3.0.0", - "strip-ansi": "^6.0.0" - } - }, "@jest/environment": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz", @@ -35963,16 +35818,6 @@ "@types/istanbul-lib-report": "*" } }, - "@types/jest": { - "version": "29.4.4", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.4.4.tgz", - "integrity": "sha512-qezb65VIH7X1wobSnd6Lvdve7PXSyQRa3dljTkhTtDhi603RvHQCshSlJcuyMLHJpeHgY3NKwvDJWxMOOHxGDQ==", - "dev": true, - "requires": { - "expect": "^29.0.0", - "pretty-format": "^29.0.0" - } - }, "@types/jsdom": { "version": "20.0.1", "resolved": "https://registry.npmjs.org/@types/jsdom/-/jsdom-20.0.1.tgz", @@ -36170,10 +36015,9 @@ "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==" }, "@types/semver": { - "version": "7.5.6", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.6.tgz", - "integrity": "sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==", - "dev": true + "version": "7.5.8", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", + "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==" }, "@types/serve-index": { "version": "1.9.1", @@ -38240,15 +38084,6 @@ "update-browserslist-db": "^1.0.13" } }, - "bs-logger": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", - "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", - "dev": true, - "requires": { - "fast-json-stable-stringify": "2.x" - } - }, "bser": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", @@ -39129,21 +38964,6 @@ "readable-stream": "^3.4.0" } }, - "create-jest": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/create-jest/-/create-jest-29.7.0.tgz", - "integrity": "sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==", - "dev": true, - "requires": { - "@jest/types": "^29.6.3", - "chalk": "^4.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "jest-config": "^29.7.0", - "jest-util": "^29.7.0", - "prompts": "^2.0.1" - } - }, "create-require": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", @@ -41151,15 +40971,6 @@ } } }, - "eslint-plugin-jest": { - "version": "27.2.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-27.2.1.tgz", - "integrity": "sha512-l067Uxx7ZT8cO9NJuf+eJHvt6bqJyz2Z29wykyEdz/OtmcELQl2MQGQLX8J94O1cSJWAwUSEvCjwjA7KEK3Hmg==", - "dev": true, - "requires": { - "@typescript-eslint/utils": "^5.10.0" - } - }, "eslint-plugin-jsx-a11y": { "version": "6.6.1", "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.6.1.tgz", @@ -41298,6 +41109,117 @@ "@typescript-eslint/utils": "^5.13.0" } }, + "eslint-plugin-vitest": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/eslint-plugin-vitest/-/eslint-plugin-vitest-0.5.4.tgz", + "integrity": "sha512-um+odCkccAHU53WdKAw39MY61+1x990uXjSPguUCq3VcEHdqJrOb8OTMrbYlY6f9jAKx7x98kLVlIe3RJeJqoQ==", + "requires": { + "@typescript-eslint/utils": "^7.7.1" + }, + "dependencies": { + "@typescript-eslint/scope-manager": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.8.0.tgz", + "integrity": "sha512-viEmZ1LmwsGcnr85gIq+FCYI7nO90DVbE37/ll51hjv9aG+YZMb4WDE2fyWpUR4O/UrhGRpYXK/XajcGTk2B8g==", + "requires": { + "@typescript-eslint/types": "7.8.0", + "@typescript-eslint/visitor-keys": "7.8.0" + } + }, + "@typescript-eslint/types": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.8.0.tgz", + "integrity": "sha512-wf0peJ+ZGlcH+2ZS23aJbOv+ztjeeP8uQ9GgwMJGVLx/Nj9CJt17GWgWWoSmoRVKAX2X+7fzEnAjxdvK2gqCLw==" + }, + "@typescript-eslint/typescript-estree": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.8.0.tgz", + "integrity": "sha512-5pfUCOwK5yjPaJQNy44prjCwtr981dO8Qo9J9PwYXZ0MosgAbfEMB008dJ5sNo3+/BN6ytBPuSvXUg9SAqB0dg==", + "requires": { + "@typescript-eslint/types": "7.8.0", + "@typescript-eslint/visitor-keys": "7.8.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "minimatch": "^9.0.4", + "semver": "^7.6.0", + "ts-api-utils": "^1.3.0" + } + }, + "@typescript-eslint/utils": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.8.0.tgz", + "integrity": "sha512-L0yFqOCflVqXxiZyXrDr80lnahQfSOfc9ELAAZ75sqicqp2i36kEZZGuUymHNFoYOqxRT05up760b4iGsl02nQ==", + "requires": { + "@eslint-community/eslint-utils": "^4.4.0", + "@types/json-schema": "^7.0.15", + "@types/semver": "^7.5.8", + "@typescript-eslint/scope-manager": "7.8.0", + "@typescript-eslint/types": "7.8.0", + "@typescript-eslint/typescript-estree": "7.8.0", + "semver": "^7.6.0" + } + }, + "@typescript-eslint/visitor-keys": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.8.0.tgz", + "integrity": "sha512-q4/gibTNBQNA0lGyYQCmWRS5D15n8rXh4QjK3KV+MBPlTYHpfBUT3D3PaPR/HeNiI9W6R7FvlkcGhNyAoP+caA==", + "requires": { + "@typescript-eslint/types": "7.8.0", + "eslint-visitor-keys": "^3.4.3" + } + }, + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "requires": { + "balanced-match": "^1.0.0" + } + }, + "fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "requires": { + "@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" + } + }, + "globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + } + }, + "minimatch": { + "version": "9.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", + "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", + "requires": { + "brace-expansion": "^2.0.1" + } + }, + "semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "requires": { + "lru-cache": "^6.0.0" + } + } + } + }, "eslint-scope": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", @@ -42798,16 +42720,6 @@ "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", "integrity": "sha512-m7ZEHgtw69qOGw+jwxXkHlrlIPdTGkyh66zXZ1ajZbxkDBNjSY/LGbmjc7h0s2ELsUDTAhFr55TrPSSqJGPG0A==" }, - "import-local": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", - "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", - "dev": true, - "requires": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - } - }, "imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", @@ -43372,29 +43284,6 @@ "minimatch": "^3.0.4" } }, - "jest": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/jest/-/jest-29.4.3.tgz", - "integrity": "sha512-XvK65feuEFGZT8OO0fB/QAQS+LGHvQpaadkH5p47/j3Ocqq3xf2pK9R+G0GzgfuhXVxEv76qCOOcMb5efLk6PA==", - "dev": true, - "requires": { - "@jest/core": "^29.4.3", - "@jest/types": "^29.4.3", - "import-local": "^3.0.2", - "jest-cli": "^29.4.3" - } - }, - "jest-changed-files": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.7.0.tgz", - "integrity": "sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==", - "dev": true, - "requires": { - "execa": "^5.0.0", - "jest-util": "^29.7.0", - "p-limit": "^3.1.0" - } - }, "jest-circus": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.7.0.tgz", @@ -43423,25 +43312,6 @@ "stack-utils": "^2.0.3" } }, - "jest-cli": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.7.0.tgz", - "integrity": "sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==", - "dev": true, - "requires": { - "@jest/core": "^29.7.0", - "@jest/test-result": "^29.7.0", - "@jest/types": "^29.6.3", - "chalk": "^4.0.0", - "create-jest": "^29.7.0", - "exit": "^0.1.2", - "import-local": "^3.0.2", - "jest-config": "^29.7.0", - "jest-util": "^29.7.0", - "jest-validate": "^29.7.0", - "yargs": "^17.3.1" - } - }, "jest-config": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.7.0.tgz", @@ -43507,18 +43377,18 @@ } }, "jest-environment-jsdom": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-29.4.3.tgz", - "integrity": "sha512-rFjf8JXrw3OjUzzmSE5l0XjMj0/MSVEUMCSXBGPDkfwb1T03HZI7iJSL0cGctZApPSyJxbjyKDVxkZuyhHkuTw==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-29.7.0.tgz", + "integrity": "sha512-k9iQbsf9OyOfdzWH8HDmrRT0gSIcX+FLNW7IQq94tFX0gynPwqDTW0Ho6iMVNjGz/nb+l/vW3dWM2bbLLpkbXA==", "dev": true, "requires": { - "@jest/environment": "^29.4.3", - "@jest/fake-timers": "^29.4.3", - "@jest/types": "^29.4.3", + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", "@types/jsdom": "^20.0.0", "@types/node": "*", - "jest-mock": "^29.4.3", - "jest-util": "^29.4.3", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0", "jsdom": "^20.0.0" } }, @@ -43649,16 +43519,6 @@ } } }, - "jest-resolve-dependencies": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz", - "integrity": "sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==", - "dev": true, - "requires": { - "jest-regex-util": "^29.6.3", - "jest-snapshot": "^29.7.0" - } - }, "jest-runner": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.7.0.tgz", @@ -45377,9 +45237,9 @@ } }, "nwsapi": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.7.tgz", - "integrity": "sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==", + "version": "2.2.9", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.9.tgz", + "integrity": "sha512-2f3F0SEEer8bBu0dsNCFF50N0cTThV1nWFYcEYFZttdW0lDAoybv9cQoK7X7/68Z89S7FoRrVjP1LPX4XRf9vg==", "dev": true }, "nx": { @@ -47772,15 +47632,6 @@ "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz", "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==" }, - "resolve-cwd": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", - "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", - "dev": true, - "requires": { - "resolve-from": "^5.0.0" - } - }, "resolve-from": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", @@ -49161,9 +49012,9 @@ "integrity": "sha512-gduQwd1rOdDMGxFG1gEvhV88Oirdo2p+KjoYFU7k2g+i7n6AFFbDQ5kMPUsW0pNbfQsB/cwXvT1i4Bue0s9g5g==" }, "tough-cookie": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz", - "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==", + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.4.tgz", + "integrity": "sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==", "dev": true, "requires": { "psl": "^1.1.33", @@ -49210,43 +49061,15 @@ "integrity": "sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==" }, "ts-api-utils": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.0.3.tgz", - "integrity": "sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==", - "dev": true + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz", + "integrity": "sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==" }, "ts-dedent": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/ts-dedent/-/ts-dedent-2.2.0.tgz", "integrity": "sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==" }, - "ts-jest": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.1.2.tgz", - "integrity": "sha512-br6GJoH/WUX4pu7FbZXuWGKGNDuU7b8Uj77g/Sp7puZV6EXzuByl6JrECvm0MzVzSTkSHWTihsXt+5XYER5b+g==", - "dev": true, - "requires": { - "bs-logger": "0.x", - "fast-json-stable-stringify": "2.x", - "jest-util": "^29.0.0", - "json5": "^2.2.3", - "lodash.memoize": "4.x", - "make-error": "1.x", - "semver": "^7.5.3", - "yargs-parser": "^21.0.1" - }, - "dependencies": { - "semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - } - } - }, "ts-loader": { "version": "9.5.1", "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.5.1.tgz", diff --git a/package.json b/package.json index 6c18cf914..0616b1f13 100644 --- a/package.json +++ b/package.json @@ -25,6 +25,7 @@ "chalk": "^4.1.2", "clsx": "^1.2.1", "commander": "^8.0.0", + "eslint-plugin-vitest": "^0.5.4", "exceljs": "^4.3.0", "fast-csv": "^4.3.6", "follow-redirects": "^1.15.2", @@ -55,7 +56,6 @@ "@nx/esbuild": "18.0.1", "@nx/eslint": "18.0.1", "@nx/eslint-plugin": "18.0.1", - "@nx/jest": "18.0.1", "@nx/js": "18.3.4", "@nx/node": "18.0.1", "@nx/react": "18.0.1", @@ -68,7 +68,6 @@ "@swc/core": "~1.3.85", "@swc/helpers": "~0.5.2", "@types/follow-redirects": "^1.14.1", - "@types/jest": "29.4.4", "@types/mime-types": "^2.1.1", "@types/node": "18.19.11", "@types/pg": "^8.6.5", @@ -85,17 +84,14 @@ "eslint-config-prettier": "9.1.0", "eslint-config-react-app": "^7.0.1", "eslint-plugin-import": "2.27.5", - "eslint-plugin-jest": "^27.2.1", "eslint-plugin-prettier": "^4.2.1", "eslint-plugin-react": "7.32.2", "eslint-plugin-react-hooks": "^4.6.0", - "jest": "29.4.3", - "jest-environment-jsdom": "29.4.3", + "jest-environment-jsdom": "^29.7.0", "langium-cli": "^3.0.0", "nock": "13.3.1", "nx": "18.0.1", "prettier": "^2.8.7", - "ts-jest": "29.1.2", "ts-node": "10.9.1", "typescript": "^5.0.4", "vite": "~5.0.0", From a7c9b8c6d941d03661d08098974b3c85b4eb1ef4 Mon Sep 17 00:00:00 2001 From: Georg Schwarz Date: Fri, 3 May 2024 11:51:06 +0200 Subject: [PATCH 26/38] Add license headers to newly added files --- apps/docs-generator/.eslintrc.json.license | 3 +++ apps/docs-generator/package.json.license | 3 +++ apps/docs-generator/project.json.license | 3 +++ apps/docs-generator/src/assets/.gitkeep | 0 apps/docs-generator/tsconfig.app.json.license | 3 +++ apps/docs-generator/tsconfig.json.license | 3 +++ apps/interpreter/vite.config.ts | 4 ++++ libs/execution/vite.config.ts | 4 ++++ libs/extensions/rdbms/exec/vite.config.ts | 4 ++++ libs/extensions/std/exec/vite.config.ts | 4 ++++ libs/extensions/tabular/exec/vite.config.ts | 4 ++++ libs/interpreter-lib/vite.config.ts | 4 ++++ libs/language-server/vite.config.ts | 4 ++++ vitest.workspace.ts | 4 ++++ 14 files changed, 47 insertions(+) create mode 100644 apps/docs-generator/.eslintrc.json.license create mode 100644 apps/docs-generator/package.json.license create mode 100644 apps/docs-generator/project.json.license delete mode 100644 apps/docs-generator/src/assets/.gitkeep create mode 100644 apps/docs-generator/tsconfig.app.json.license create mode 100644 apps/docs-generator/tsconfig.json.license diff --git a/apps/docs-generator/.eslintrc.json.license b/apps/docs-generator/.eslintrc.json.license new file mode 100644 index 000000000..17c5d2bad --- /dev/null +++ b/apps/docs-generator/.eslintrc.json.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: 2023 Friedrich-Alexander-Universitat Erlangen-Nurnberg + +SPDX-License-Identifier: AGPL-3.0-only diff --git a/apps/docs-generator/package.json.license b/apps/docs-generator/package.json.license new file mode 100644 index 000000000..17c5d2bad --- /dev/null +++ b/apps/docs-generator/package.json.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: 2023 Friedrich-Alexander-Universitat Erlangen-Nurnberg + +SPDX-License-Identifier: AGPL-3.0-only diff --git a/apps/docs-generator/project.json.license b/apps/docs-generator/project.json.license new file mode 100644 index 000000000..17c5d2bad --- /dev/null +++ b/apps/docs-generator/project.json.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: 2023 Friedrich-Alexander-Universitat Erlangen-Nurnberg + +SPDX-License-Identifier: AGPL-3.0-only diff --git a/apps/docs-generator/src/assets/.gitkeep b/apps/docs-generator/src/assets/.gitkeep deleted file mode 100644 index e69de29bb..000000000 diff --git a/apps/docs-generator/tsconfig.app.json.license b/apps/docs-generator/tsconfig.app.json.license new file mode 100644 index 000000000..17c5d2bad --- /dev/null +++ b/apps/docs-generator/tsconfig.app.json.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: 2023 Friedrich-Alexander-Universitat Erlangen-Nurnberg + +SPDX-License-Identifier: AGPL-3.0-only diff --git a/apps/docs-generator/tsconfig.json.license b/apps/docs-generator/tsconfig.json.license new file mode 100644 index 000000000..17c5d2bad --- /dev/null +++ b/apps/docs-generator/tsconfig.json.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: 2023 Friedrich-Alexander-Universitat Erlangen-Nurnberg + +SPDX-License-Identifier: AGPL-3.0-only diff --git a/apps/interpreter/vite.config.ts b/apps/interpreter/vite.config.ts index 576e1eeab..c5336a4a7 100644 --- a/apps/interpreter/vite.config.ts +++ b/apps/interpreter/vite.config.ts @@ -1,3 +1,7 @@ +// SPDX-FileCopyrightText: 2023 Friedrich-Alexander-Universitat Erlangen-Nurnberg +// +// SPDX-License-Identifier: AGPL-3.0-only + // / import { nxViteTsPaths } from '@nx/vite/plugins/nx-tsconfig-paths.plugin'; import { defineConfig } from 'vite'; diff --git a/libs/execution/vite.config.ts b/libs/execution/vite.config.ts index 25bdf322d..66268bdcb 100644 --- a/libs/execution/vite.config.ts +++ b/libs/execution/vite.config.ts @@ -1,3 +1,7 @@ +// SPDX-FileCopyrightText: 2023 Friedrich-Alexander-Universitat Erlangen-Nurnberg +// +// SPDX-License-Identifier: AGPL-3.0-only + // / import { nxViteTsPaths } from '@nx/vite/plugins/nx-tsconfig-paths.plugin'; import { defineConfig } from 'vite'; diff --git a/libs/extensions/rdbms/exec/vite.config.ts b/libs/extensions/rdbms/exec/vite.config.ts index 7b5f9c0f3..5d3c77a6a 100644 --- a/libs/extensions/rdbms/exec/vite.config.ts +++ b/libs/extensions/rdbms/exec/vite.config.ts @@ -1,3 +1,7 @@ +// SPDX-FileCopyrightText: 2023 Friedrich-Alexander-Universitat Erlangen-Nurnberg +// +// SPDX-License-Identifier: AGPL-3.0-only + // / import { nxViteTsPaths } from '@nx/vite/plugins/nx-tsconfig-paths.plugin'; import { defineConfig } from 'vite'; diff --git a/libs/extensions/std/exec/vite.config.ts b/libs/extensions/std/exec/vite.config.ts index 661441331..e78834c86 100644 --- a/libs/extensions/std/exec/vite.config.ts +++ b/libs/extensions/std/exec/vite.config.ts @@ -1,3 +1,7 @@ +// SPDX-FileCopyrightText: 2023 Friedrich-Alexander-Universitat Erlangen-Nurnberg +// +// SPDX-License-Identifier: AGPL-3.0-only + // / import { nxViteTsPaths } from '@nx/vite/plugins/nx-tsconfig-paths.plugin'; import { defineConfig } from 'vite'; diff --git a/libs/extensions/tabular/exec/vite.config.ts b/libs/extensions/tabular/exec/vite.config.ts index 00b4a9174..3b9aa309a 100644 --- a/libs/extensions/tabular/exec/vite.config.ts +++ b/libs/extensions/tabular/exec/vite.config.ts @@ -1,3 +1,7 @@ +// SPDX-FileCopyrightText: 2023 Friedrich-Alexander-Universitat Erlangen-Nurnberg +// +// SPDX-License-Identifier: AGPL-3.0-only + // / import { nxViteTsPaths } from '@nx/vite/plugins/nx-tsconfig-paths.plugin'; import { defineConfig } from 'vite'; diff --git a/libs/interpreter-lib/vite.config.ts b/libs/interpreter-lib/vite.config.ts index d2d30b4af..b08e3baf5 100644 --- a/libs/interpreter-lib/vite.config.ts +++ b/libs/interpreter-lib/vite.config.ts @@ -1,3 +1,7 @@ +// SPDX-FileCopyrightText: 2023 Friedrich-Alexander-Universitat Erlangen-Nurnberg +// +// SPDX-License-Identifier: AGPL-3.0-only + // / import { nxViteTsPaths } from '@nx/vite/plugins/nx-tsconfig-paths.plugin'; import { defineConfig } from 'vite'; diff --git a/libs/language-server/vite.config.ts b/libs/language-server/vite.config.ts index 0b304c626..436706988 100644 --- a/libs/language-server/vite.config.ts +++ b/libs/language-server/vite.config.ts @@ -1,3 +1,7 @@ +// SPDX-FileCopyrightText: 2023 Friedrich-Alexander-Universitat Erlangen-Nurnberg +// +// SPDX-License-Identifier: AGPL-3.0-only + // / import { nxViteTsPaths } from '@nx/vite/plugins/nx-tsconfig-paths.plugin'; import { defineConfig } from 'vite'; diff --git a/vitest.workspace.ts b/vitest.workspace.ts index 3c983a248..7eea0b665 100644 --- a/vitest.workspace.ts +++ b/vitest.workspace.ts @@ -1 +1,5 @@ +// SPDX-FileCopyrightText: 2023 Friedrich-Alexander-Universitat Erlangen-Nurnberg +// +// SPDX-License-Identifier: AGPL-3.0-only + export default ['**/*/vite.config.ts', '**/*/vitest.config.ts']; From 37510d072ea89e903201e2cf9715720b6faee882 Mon Sep 17 00:00:00 2001 From: Georg Schwarz Date: Fri, 3 May 2024 12:01:32 +0200 Subject: [PATCH 27/38] Exclude vite.config.ts files from production builds --- apps/interpreter/tsconfig.app.json | 2 +- libs/execution/tsconfig.lib.json | 2 +- libs/extensions/rdbms/exec/tsconfig.lib.json | 2 +- libs/extensions/std/exec/tsconfig.lib.json | 2 +- libs/extensions/tabular/exec/tsconfig.lib.json | 2 +- libs/interpreter-lib/tsconfig.lib.json | 2 +- libs/language-server/tsconfig.lib.json | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/apps/interpreter/tsconfig.app.json b/apps/interpreter/tsconfig.app.json index e75627084..b6f711b06 100644 --- a/apps/interpreter/tsconfig.app.json +++ b/apps/interpreter/tsconfig.app.json @@ -4,6 +4,6 @@ "resolveJsonModule": true, "types": ["node"] }, - "exclude": ["**/*.spec.ts", "**/*.test.ts"], + "exclude": ["vite.config.ts", "**/*.spec.ts", "**/*.test.ts"], "include": ["**/*.ts"] } diff --git a/libs/execution/tsconfig.lib.json b/libs/execution/tsconfig.lib.json index 5bcc684b4..231d6a15a 100644 --- a/libs/execution/tsconfig.lib.json +++ b/libs/execution/tsconfig.lib.json @@ -6,5 +6,5 @@ "types": ["node"] }, "include": ["src/**/*.ts"], - "exclude": ["src/**/*.spec.ts", "src/**/*.test.ts", "test/**/*.ts"] + "exclude": ["vite.config.ts", "src/**/*.spec.ts", "src/**/*.test.ts", "test/**/*.ts"] } diff --git a/libs/extensions/rdbms/exec/tsconfig.lib.json b/libs/extensions/rdbms/exec/tsconfig.lib.json index d132f22d2..6e6931cbd 100644 --- a/libs/extensions/rdbms/exec/tsconfig.lib.json +++ b/libs/extensions/rdbms/exec/tsconfig.lib.json @@ -6,5 +6,5 @@ "types": ["node"] }, "include": ["src/**/*.ts"], - "exclude": ["src/**/*.spec.ts", "src/**/*.test.ts", "test/**/*.ts"] + "exclude": ["vite.config.ts", "src/**/*.spec.ts", "src/**/*.test.ts", "test/**/*.ts"] } diff --git a/libs/extensions/std/exec/tsconfig.lib.json b/libs/extensions/std/exec/tsconfig.lib.json index d132f22d2..6e6931cbd 100644 --- a/libs/extensions/std/exec/tsconfig.lib.json +++ b/libs/extensions/std/exec/tsconfig.lib.json @@ -6,5 +6,5 @@ "types": ["node"] }, "include": ["src/**/*.ts"], - "exclude": ["src/**/*.spec.ts", "src/**/*.test.ts", "test/**/*.ts"] + "exclude": ["vite.config.ts", "src/**/*.spec.ts", "src/**/*.test.ts", "test/**/*.ts"] } diff --git a/libs/extensions/tabular/exec/tsconfig.lib.json b/libs/extensions/tabular/exec/tsconfig.lib.json index bcd1fedd0..827c0721a 100644 --- a/libs/extensions/tabular/exec/tsconfig.lib.json +++ b/libs/extensions/tabular/exec/tsconfig.lib.json @@ -6,5 +6,5 @@ "types": ["node"] }, "include": ["src/**/*.ts"], - "exclude": ["src/**/*.spec.ts", "src/**/*.test.ts"] + "exclude": ["vite.config.ts", "src/**/*.spec.ts", "src/**/*.test.ts"] } diff --git a/libs/interpreter-lib/tsconfig.lib.json b/libs/interpreter-lib/tsconfig.lib.json index faa09cc18..ce3b531ce 100644 --- a/libs/interpreter-lib/tsconfig.lib.json +++ b/libs/interpreter-lib/tsconfig.lib.json @@ -6,5 +6,5 @@ "types": ["node"] }, "include": ["src/**/*.ts"], - "exclude": ["src/**/*.spec.ts", "src/**/*.test.ts"] + "exclude": ["vite.config.ts", "src/**/*.spec.ts", "src/**/*.test.ts"] } diff --git a/libs/language-server/tsconfig.lib.json b/libs/language-server/tsconfig.lib.json index 99e67e2e6..39d7077ab 100644 --- a/libs/language-server/tsconfig.lib.json +++ b/libs/language-server/tsconfig.lib.json @@ -5,5 +5,5 @@ "types": ["node"], }, "include": ["**/*.ts"], - "exclude": ["**/*.spec.ts", "**/*.test.ts", "./src/test/**/*.ts"] + "exclude": ["vite.config.ts", "**/*.spec.ts", "**/*.test.ts", "./src/test/**/*.ts"] } From 1f4b93ea26ad80827ab5f79ab6403c5561862150 Mon Sep 17 00:00:00 2001 From: Georg Schwarz Date: Mon, 6 May 2024 11:37:37 +0200 Subject: [PATCH 28/38] Define tsconfig path locally in lib/app instead of globally to make vite globals work --- .eslintrc.json | 3 --- apps/docs-generator/.eslintrc.json | 3 +++ apps/docs/.eslintrc.json | 12 +++++++++++- apps/docs/tsconfig.app.json | 2 +- apps/interpreter/.eslintrc.json | 5 ++++- apps/interpreter/tsconfig.spec.json | 3 ++- apps/interpreter/webpack.config.js | 9 --------- apps/language-server-web-worker/.eslintrc.json | 3 +++ apps/vs-code-extension/.eslintrc.json | 3 +++ libs/execution/.eslintrc.json | 3 +++ libs/execution/tsconfig.spec.json | 3 ++- libs/extensions/rdbms/exec/.eslintrc.json | 3 +++ libs/extensions/rdbms/exec/tsconfig.spec.json | 3 ++- libs/extensions/std/exec/.eslintrc.json | 3 +++ libs/extensions/std/exec/tsconfig.spec.json | 3 ++- libs/extensions/tabular/exec/.eslintrc.json | 3 +++ libs/interpreter-lib/.eslintrc.json | 3 +++ libs/language-server/.eslintrc.json | 3 +++ 18 files changed, 51 insertions(+), 19 deletions(-) delete mode 100644 apps/interpreter/webpack.config.js diff --git a/.eslintrc.json b/.eslintrc.json index f70e393d0..16b0e4e82 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -3,9 +3,6 @@ "extends": "@jvalue/eslint-config-jvalue", "ignorePatterns": ["**/*"], "plugins": ["@nx"], - "parserOptions": { - "project": ["./tsconfig.base.json"] - }, "overrides": [ { "files": ["*.ts", ".tsx"], diff --git a/apps/docs-generator/.eslintrc.json b/apps/docs-generator/.eslintrc.json index 9d9c0db55..7707693a8 100644 --- a/apps/docs-generator/.eslintrc.json +++ b/apps/docs-generator/.eslintrc.json @@ -1,6 +1,9 @@ { "extends": ["../../.eslintrc.json"], "ignorePatterns": ["!**/*"], + "parserOptions": { + "project": ["apps/docs-generator/tsconfig.app.json"] + }, "overrides": [ { "files": ["*.ts", "*.tsx", "*.js", "*.jsx"], diff --git a/apps/docs/.eslintrc.json b/apps/docs/.eslintrc.json index 33f5ea21a..505b12ceb 100644 --- a/apps/docs/.eslintrc.json +++ b/apps/docs/.eslintrc.json @@ -1,6 +1,16 @@ { "extends": ["../../.eslintrc.json"], - "ignorePatterns": ["!**/*", "**/.docusaurus/**", "**/theme/prism-jayvee.js"], + "ignorePatterns": [ + "!**/*", + "**/.docusaurus/**", + "**/theme/prism-jayvee.js", + "*.config.js", + "**/prism-include-languages.js", + "**/sidebars.js" + ], + "parserOptions": { + "project": ["apps/docs/tsconfig.app.json"] + }, "overrides": [ { "files": ["*.ts", "*.tsx", "*.js", "*.jsx"], diff --git a/apps/docs/tsconfig.app.json b/apps/docs/tsconfig.app.json index 365e7fd68..84170911e 100644 --- a/apps/docs/tsconfig.app.json +++ b/apps/docs/tsconfig.app.json @@ -5,7 +5,7 @@ "types": ["node"], "lib": ["DOM", "ESNext"], "esModuleInterop": true, - "skipLibCheck": false, + "skipLibCheck": false }, "exclude": ["src/**/*.spec.ts", "src/**/*.test.ts"], "include": ["src/**/*.ts", "src/**/*.tsx"], diff --git a/apps/interpreter/.eslintrc.json b/apps/interpreter/.eslintrc.json index 9d9c0db55..42abee8ec 100644 --- a/apps/interpreter/.eslintrc.json +++ b/apps/interpreter/.eslintrc.json @@ -1,6 +1,9 @@ { "extends": ["../../.eslintrc.json"], - "ignorePatterns": ["!**/*"], + "ignorePatterns": ["!**/*"], + "parserOptions": { + "project": ["apps/interpreter/tsconfig.app.json", "apps/interpreter/tsconfig.spec.json"] + }, "overrides": [ { "files": ["*.ts", "*.tsx", "*.js", "*.jsx"], diff --git a/apps/interpreter/tsconfig.spec.json b/apps/interpreter/tsconfig.spec.json index 3c002c215..b201da932 100644 --- a/apps/interpreter/tsconfig.spec.json +++ b/apps/interpreter/tsconfig.spec.json @@ -21,6 +21,7 @@ "src/**/*.spec.js", "src/**/*.test.jsx", "src/**/*.spec.jsx", - "src/**/*.d.ts" + "src/**/*.d.ts", + "test/**/*.ts" ] } diff --git a/apps/interpreter/webpack.config.js b/apps/interpreter/webpack.config.js deleted file mode 100644 index bdfcb75fa..000000000 --- a/apps/interpreter/webpack.config.js +++ /dev/null @@ -1,9 +0,0 @@ -// SPDX-FileCopyrightText: 2023 Friedrich-Alexander-Universitat Erlangen-Nurnberg -// -// SPDX-License-Identifier: AGPL-3.0-only - -const { composePlugins, withNx } = require('@nx/webpack'); - -module.exports = composePlugins(withNx(), (config) => { - return config; -}); diff --git a/apps/language-server-web-worker/.eslintrc.json b/apps/language-server-web-worker/.eslintrc.json index 9d9c0db55..eb39373f6 100644 --- a/apps/language-server-web-worker/.eslintrc.json +++ b/apps/language-server-web-worker/.eslintrc.json @@ -1,6 +1,9 @@ { "extends": ["../../.eslintrc.json"], "ignorePatterns": ["!**/*"], + "parserOptions": { + "project": ["apps/language-server-web-worker/tsconfig.app.json"] + }, "overrides": [ { "files": ["*.ts", "*.tsx", "*.js", "*.jsx"], diff --git a/apps/vs-code-extension/.eslintrc.json b/apps/vs-code-extension/.eslintrc.json index 9d9c0db55..1a122c7c1 100644 --- a/apps/vs-code-extension/.eslintrc.json +++ b/apps/vs-code-extension/.eslintrc.json @@ -1,6 +1,9 @@ { "extends": ["../../.eslintrc.json"], "ignorePatterns": ["!**/*"], + "parserOptions": { + "project": ["apps/vs-code-extension/tsconfig.app.json"] + }, "overrides": [ { "files": ["*.ts", "*.tsx", "*.js", "*.jsx"], diff --git a/libs/execution/.eslintrc.json b/libs/execution/.eslintrc.json index 9d9c0db55..eb4abff29 100644 --- a/libs/execution/.eslintrc.json +++ b/libs/execution/.eslintrc.json @@ -1,6 +1,9 @@ { "extends": ["../../.eslintrc.json"], "ignorePatterns": ["!**/*"], + "parserOptions": { + "project": ["libs/execution/tsconfig.lib.json", "libs/execution/tsconfig.spec.json"] + }, "overrides": [ { "files": ["*.ts", "*.tsx", "*.js", "*.jsx"], diff --git a/libs/execution/tsconfig.spec.json b/libs/execution/tsconfig.spec.json index 3c002c215..b201da932 100644 --- a/libs/execution/tsconfig.spec.json +++ b/libs/execution/tsconfig.spec.json @@ -21,6 +21,7 @@ "src/**/*.spec.js", "src/**/*.test.jsx", "src/**/*.spec.jsx", - "src/**/*.d.ts" + "src/**/*.d.ts", + "test/**/*.ts" ] } diff --git a/libs/extensions/rdbms/exec/.eslintrc.json b/libs/extensions/rdbms/exec/.eslintrc.json index 632e9b0e2..d0cefdc88 100644 --- a/libs/extensions/rdbms/exec/.eslintrc.json +++ b/libs/extensions/rdbms/exec/.eslintrc.json @@ -1,6 +1,9 @@ { "extends": ["../../../../.eslintrc.json"], "ignorePatterns": ["!**/*"], + "parserOptions": { + "project": ["libs/extensions/rdbms/exec/tsconfig.lib.json", "libs/extensions/rdbms/exec/tsconfig.spec.json"] + }, "overrides": [ { "files": ["*.ts", "*.tsx", "*.js", "*.jsx"], diff --git a/libs/extensions/rdbms/exec/tsconfig.spec.json b/libs/extensions/rdbms/exec/tsconfig.spec.json index 71aaed798..1be3260bb 100644 --- a/libs/extensions/rdbms/exec/tsconfig.spec.json +++ b/libs/extensions/rdbms/exec/tsconfig.spec.json @@ -21,6 +21,7 @@ "src/**/*.spec.js", "src/**/*.test.jsx", "src/**/*.spec.jsx", - "src/**/*.d.ts" + "src/**/*.d.ts", + "test/**/*.ts", ] } diff --git a/libs/extensions/std/exec/.eslintrc.json b/libs/extensions/std/exec/.eslintrc.json index 632e9b0e2..47701c9ec 100644 --- a/libs/extensions/std/exec/.eslintrc.json +++ b/libs/extensions/std/exec/.eslintrc.json @@ -1,6 +1,9 @@ { "extends": ["../../../../.eslintrc.json"], "ignorePatterns": ["!**/*"], + "parserOptions": { + "project": ["libs/extensions/std/exec/tsconfig.lib.json", "libs/extensions/std/exec/tsconfig.spec.json"] + }, "overrides": [ { "files": ["*.ts", "*.tsx", "*.js", "*.jsx"], diff --git a/libs/extensions/std/exec/tsconfig.spec.json b/libs/extensions/std/exec/tsconfig.spec.json index 71aaed798..1ddf3dc61 100644 --- a/libs/extensions/std/exec/tsconfig.spec.json +++ b/libs/extensions/std/exec/tsconfig.spec.json @@ -21,6 +21,7 @@ "src/**/*.spec.js", "src/**/*.test.jsx", "src/**/*.spec.jsx", - "src/**/*.d.ts" + "src/**/*.d.ts", + "test/**/*.ts" ] } diff --git a/libs/extensions/tabular/exec/.eslintrc.json b/libs/extensions/tabular/exec/.eslintrc.json index 632e9b0e2..67b3411f4 100644 --- a/libs/extensions/tabular/exec/.eslintrc.json +++ b/libs/extensions/tabular/exec/.eslintrc.json @@ -1,6 +1,9 @@ { "extends": ["../../../../.eslintrc.json"], "ignorePatterns": ["!**/*"], + "parserOptions": { + "project": ["libs/extensions/tabular/exec/tsconfig.lib.json", "libs/extensions/tabular/exec/tsconfig.spec.json"] + }, "overrides": [ { "files": ["*.ts", "*.tsx", "*.js", "*.jsx"], diff --git a/libs/interpreter-lib/.eslintrc.json b/libs/interpreter-lib/.eslintrc.json index 9d9c0db55..da5b38f65 100644 --- a/libs/interpreter-lib/.eslintrc.json +++ b/libs/interpreter-lib/.eslintrc.json @@ -1,6 +1,9 @@ { "extends": ["../../.eslintrc.json"], "ignorePatterns": ["!**/*"], + "parserOptions": { + "project": ["libs/interpreter-lib/tsconfig.lib.json", "libs/interpreter-lib/tsconfig.spec.json"] + }, "overrides": [ { "files": ["*.ts", "*.tsx", "*.js", "*.jsx"], diff --git a/libs/language-server/.eslintrc.json b/libs/language-server/.eslintrc.json index 68d4b997d..8c95ea130 100644 --- a/libs/language-server/.eslintrc.json +++ b/libs/language-server/.eslintrc.json @@ -1,6 +1,9 @@ { "extends": ["../../.eslintrc.json"], "ignorePatterns": ["!**/*", "src/lib/**/generated"], + "parserOptions": { + "project": ["libs/language-server/tsconfig.lib.json", "libs/language-server/tsconfig.spec.json"] + }, "overrides": [ { "files": ["*.ts", "*.tsx", "*.js", "*.jsx"], From 9c0e2670119415b02a5994d2322c15f9c04b161d Mon Sep 17 00:00:00 2001 From: Georg Schwarz Date: Mon, 6 May 2024 11:47:48 +0200 Subject: [PATCH 29/38] Update vscode extension recommendations --- .vscode/extensions.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.vscode/extensions.json b/.vscode/extensions.json index b259f78b3..e656551d6 100644 --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -2,7 +2,7 @@ "recommendations": [ "nrwl.angular-console", "langium.langium-vscode", - "firsttris.vscode-jest-runner", - "esbenp.prettier-vscode" + "esbenp.prettier-vscode", + "vitest.explorer" ] } From e54255823026fb7c2d774b8e4de4f753a8b8b0c2 Mon Sep 17 00:00:00 2001 From: Georg Schwarz Date: Mon, 6 May 2024 11:53:45 +0200 Subject: [PATCH 30/38] Update testing docs to change to vitest --- apps/docs/docs/dev/12-jayvee-testing.md | 100 ++++++++++++++---------- 1 file changed, 59 insertions(+), 41 deletions(-) diff --git a/apps/docs/docs/dev/12-jayvee-testing.md b/apps/docs/docs/dev/12-jayvee-testing.md index 1a5bada75..211ebfa2e 100644 --- a/apps/docs/docs/dev/12-jayvee-testing.md +++ b/apps/docs/docs/dev/12-jayvee-testing.md @@ -2,35 +2,42 @@ title: Writing tests for Jayvee --- -In order to ensure that Jayvee works as intended and to catch breaking changes, we have implemented the following components for regression testing: -- Testing utils: utils to create Langium Typescript objects from *.jv test assets (see [here](#testing-utils)) as well as mocks for execution testing (see [here](#testing-utils-1)) +In order to ensure that Jayvee works as intended and to catch breaking changes, we have implemented the following components for regression testing: + +- Testing utils: utils to create Langium Typescript objects from \*.jv test assets (see [here](#testing-utils)) as well as mocks for execution testing (see [here](#testing-utils-1)) - [Grammar tests](#grammar-tests): test the grammar parsing and validation - [Execution tests](#execution-tests): test the execution of blocks ## Conventions + All of the existing tests follow these conventions: + 1. The `.spec.ts` file is located next to the `.ts` file itself. 2. The `*.jv` assets are located inside a `test/assets/` folder. -Take a look at one of the exisiting tests for more details. + Take a look at one of the exisiting tests for more details. ## Grammar tests + These kind of tests are mainly located inside the [language-server](https://github.com/jvalue/jayvee/tree/main/libs/language-server) as well as the language parts of each extension (for example [std/lang](https://github.com/jvalue/jayvee/tree/main/libs/extensions/std/lang)). ### Testing utils + The testing utils are located inside the `language-server` in a dedicated [test folder](https://github.com/jvalue/jayvee/tree/main/libs/language-server/src/test). These utils can be imported using `@jvalue/jayvee-language-server/test` and contain the following parts: [**langium-utils.ts**](https://github.com/jvalue/jayvee/blob/main/libs/language-server/src/test/langium-utils.ts): -This utils file contains two functions: -- `parseHelper` to simplify parsing the input (content of a *.jv file) and returning the corresponding `LangiumDocument`, and -- `validationHelper` parse and validate the created document. -They are kept in a separate file due to being copied from the Langium repository and thus subject to a different code license and copyright. +This utils file contains two functions: + +- `parseHelper` to simplify parsing the input (content of a \*.jv file) and returning the corresponding `LangiumDocument`, and +- `validationHelper` parse and validate the created document. + They are kept in a separate file due to being copied from the Langium repository and thus subject to a different code license and copyright. [**utils.ts**](https://github.com/jvalue/jayvee/blob/main/libs/language-server/src/test/utils.ts): -This file contains custom testing utility utils functions, like `readJvTestAssetHelper` for reading jv test assets. +This file contains custom testing utility utils functions, like `readJvTestAssetHelper` for reading jv test assets. Example: -``` ts -import * as path from 'path'; + +```ts +import path from 'node:path'; import { createJayveeServices } from '@jvalue/jayvee-language-server'; import { @@ -70,6 +77,7 @@ describe('My example test', () => { }); }); ``` + If you want to simply validate the test assets, simply replace `parseHelper` with `validationHelper` (and adjust the types). You can find detailed documentation of all the utility functions directly in the code. @@ -82,7 +90,8 @@ The extension provides loader and extractor blocks for all IOTypes without any p These blocks are automatically generated at runtime with the following naming scheme: `Test${ioType}${io === 'input' ? 'Loader' : 'Extractor'}` (Example: `TestFileExtractor`). This allows for easy (grammar) testing of non loader/extractor blocks: -``` jv + +```jv pipeline Pipeline { TestExtractor -> BlockUnderTest -> TestLoader; @@ -98,7 +107,9 @@ pipeline Pipeline { ``` ### Existing tests + Currently there are already tests for the following parts: + - Language-server validation checks (located [here](https://github.com/jvalue/jayvee/tree/main/libs/language-server/src/lib/validation)) - Language-server constraint validation (located [here](https://github.com/jvalue/jayvee/tree/main/libs/language-server/src/lib/constraint)) - Custom block (property) validation of the three existing extensions (std extension located [here](https://github.com/jvalue/jayvee/blob/main/libs/extensions/std/lang/src)) @@ -106,9 +117,11 @@ Currently there are already tests for the following parts: - Grammar validation tests for all block examples of the std extension (located [here](https://github.com/jvalue/jayvee/blob/main/libs/extensions/std/lang/src/meta-inf-example-validation.spec.ts)) ## Execution tests + These kind of tests are mainly located inside the [interpreter](https://github.com/jvalue/jayvee/tree/main/libs/language-server), the [interpreter-lib](https://github.com/jvalue/jayvee/tree/main/libs/interpreter-lib), the [execution lib](https://github.com/jvalue/jayvee/tree/main/libs/execution) as well as the execution parts of each extension (for example [std/exec](https://github.com/jvalue/jayvee/tree/main/libs/extensions/std/exec)). ### Testing utils + The testing utils for execution tests are spread between the extensions, with the interfaces and base utils located inside the [execution lib](https://github.com/jvalue/jayvee/tree/main/libs/execution). They can be imported using `@jvalue/jayvee-extensions/rdbms/test`, `@jvalue/jayvee-extensions/std/test` and `@jvalue/jayvee-execution/test`. @@ -118,34 +131,45 @@ Due to how vastly different each `BlockExecutor` can be, this interface is very [**rdbms/exec/test**](https://github.com/jvalue/jayvee/tree/main/libs/extensions/rdbms/exec/test): Contains the implementation of `BlockExecutorMock` for `PostgresLoaderExecutor` and `SQLiteLoaderExecutor`. -Both of these executors are mocked using `jest.mock` to mock the corresponding libraries (`pg` and `sqlite3`) +Both of these executors are mocked using `vi.mock` to mock the corresponding libraries (`pg` and `sqlite3`) **Usage:** -``` ts + +```ts import { PostgresLoaderExecutorMock, SQLiteLoaderExecutorMock, } from '@jvalue/jayvee-extensions/rdbms/test'; -// Global mocking of external library at the top of test file required, +// Global mocking of external library at the top of test file required, // even though the mocking is encapsulated in helper classes -jest.mock('pg', () => { +vi.mock('pg', () => { const mClient = { - connect: jest.fn(), - query: jest.fn(), - end: jest.fn(), + connect: vi.fn(), + query: vi.fn(), + end: vi.fn(), + }; + return { + __esModule: true, + default: { + Client: vi.fn(() => mClient), + }, }; - return { Client: jest.fn(() => mClient) }; }); -jest.mock('sqlite3', () => { +vi.mock('sqlite3', () => { const mockDB = { - close: jest.fn(), - run: jest.fn(), + close: vi.fn(), + run: vi.fn(), + }; + return { + __esModule: true, + default: { + Database: vi.fn(() => mockDB), + }, }; - return { Database: jest.fn(() => mockDB) }; }); describe('Dummy describe', () => { - // [...] + // [...] let postgresLoaderMock: PostgresLoaderExecutorMock; let sqliteLoaderMock: SQLiteLoaderExecutorMock; @@ -181,8 +205,9 @@ Contains the implementation of `BlockExecutorMock` for `HttpExtractorExecutorMoc This implementation uses [nock](https://www.npmjs.com/package/nock) for mocking HTTP(S) responses. The `setup` method is further specified requiring one parameter `registerMocks: () => Array`, which returns all used `nock.Scope` (i.e. the return value of `nock('')`), see usage below: **Usage:** -``` ts -import * as path from 'path'; + +```ts +import path from 'node:path'; import { HttpExtractorExecutorMock } from '@jvalue/jayvee-extensions/std/test'; @@ -203,9 +228,7 @@ describe('Dummy describe', () => { // Prepare mocks httpExtractorMock.setup(() => { return [ - nock( - '', - ) + nock('') .get('') .replyWithFile( 200, @@ -216,20 +239,13 @@ describe('Dummy describe', () => { ), nock('') .get('') - .replyWithFile( - 200, - path.resolve( - __dirname, - '../test/assets/file2', - ), - { - 'Content-Type': 'application/octet-stream', - }, - ) + .replyWithFile(200, path.resolve(__dirname, '../test/assets/file2'), { + 'Content-Type': 'application/octet-stream', + }) .get('') - .reply(200, { content: "My dummy json reply." }), + .reply(200, { content: 'My dummy json reply.' }), ]; - }) + }); // [...] execute test @@ -239,5 +255,7 @@ describe('Dummy describe', () => { ``` ### Existing tests + Currently there are already tests for the following parts: + - Smoke test for official examples (located [here](https://github.com/jvalue/jayvee/blob/main/apps/interpreter/src/examples-smoke-test.spec.ts)) From 204618f85430d37096ad555d7bae88eb8cd12e2e Mon Sep 17 00:00:00 2001 From: Georg Schwarz Date: Mon, 6 May 2024 13:31:56 +0200 Subject: [PATCH 31/38] Add linter rule "unicorn/prefer-node-protocol" --- .eslintrc.json | 7 + .../src/examples-smoke-test.spec.ts | 2 +- .../src/lib/blocks/block-executor.ts | 2 +- .../lib/blocks/composite-block-executor.ts | 2 +- .../constraint-executor-extension.ts | 2 +- .../expression-constraint-executor.ts | 2 +- libs/execution/src/lib/execution-context.ts | 2 +- libs/execution/src/lib/extension.ts | 2 +- libs/execution/src/lib/logging/logger.ts | 2 +- .../lib/transforms/transform-executor.spec.ts | 4 +- .../src/lib/transforms/transform-executor.ts | 2 +- .../execution/src/lib/types/io-types/sheet.ts | 2 +- .../execution/src/lib/types/io-types/table.ts | 2 +- .../internal-representation-parsing.ts | 2 +- .../value-representation-validity.ts | 2 +- .../visitors/sql-column-type-visitor.ts | 2 +- .../sql-value-representation-visitor.ts | 2 +- libs/execution/test/utils/file-util.ts | 4 +- .../src/lib/postgres-loader-executor.spec.ts | 2 +- .../src/lib/sqlite-loader-executor.spec.ts | 2 +- .../mocks/postgres-loader-executor-mock.ts | 2 +- .../test/mocks/sqlite-loader-executor-mock.ts | 2 +- .../src/archive-interpreter-executor.spec.ts | 2 +- .../exec/src/archive-interpreter-executor.ts | 4 +- .../std/exec/src/file-picker-executor.spec.ts | 2 +- .../std/exec/src/file-picker-executor.ts | 2 +- .../src/gtfs-rt-interpreter-executor.spec.ts | 2 +- .../exec/src/http-extractor-executor.spec.ts | 2 +- .../std/exec/src/http-extractor-executor.ts | 4 +- .../src/local-file-extractor-executor.spec.ts | 2 +- .../exec/src/local-file-extractor-executor.ts | 4 +- .../text-file-interpreter-executor.spec.ts | 2 +- .../src/text-line-deleter-executor.spec.ts | 2 +- .../src/text-range-selector-executor.spec.ts | 2 +- .../lib/cell-range-selector-executor.spec.ts | 2 +- .../exec/src/lib/cell-writer-executor.spec.ts | 2 +- .../exec/src/lib/cell-writer-executor.ts | 2 +- .../src/lib/column-deleter-executor.spec.ts | 2 +- .../exec/src/lib/column-deleter-executor.ts | 2 +- .../src/lib/csv-interpreter-executor.spec.ts | 2 +- .../exec/src/lib/row-deleter-executor.spec.ts | 2 +- .../exec/src/lib/row-deleter-executor.ts | 2 +- .../src/lib/sheet-picker-executor.spec.ts | 2 +- .../lib/table-interpreter-executor.spec.ts | 2 +- .../src/lib/table-interpreter-executor.ts | 2 +- .../lib/table-transformer-executor.spec.ts | 2 +- .../src/lib/table-transformer-executor.ts | 2 +- .../src/lib/xlsx-interpreter-executor.spec.ts | 2 +- libs/extensions/tabular/exec/test/util.ts | 2 +- libs/interpreter-lib/src/interpreter.ts | 2 +- libs/interpreter-lib/src/parsing-util.spec.ts | 2 +- libs/interpreter-lib/src/parsing-util.ts | 4 +- .../interpreter-lib/src/std-extension.spec.ts | 2 +- .../runtime-parameter-literal.spec.ts | 2 +- .../ast/expressions/evaluate-expression.ts | 2 +- .../lib/ast/expressions/evaluation-context.ts | 2 +- .../evaluators/division-operator-evaluator.ts | 2 +- .../evaluators/sqrt-operator-evaluator.ts | 2 +- .../lib/ast/expressions/operator-evaluator.ts | 2 +- .../in-operator-type-computer.ts | 2 +- libs/language-server/src/lib/ast/io-type.ts | 2 +- .../lib/ast/wrappers/cell-range-wrapper.ts | 2 +- .../src/lib/ast/wrappers/pipe-wrapper.ts | 2 +- .../src/lib/ast/wrappers/pipeline-wrapper.ts | 2 +- .../typed-object/block-type-wrapper.ts | 2 +- .../typed-object/constrainttype-wrapper.ts | 2 +- .../lib/ast/wrappers/util/cell-range-util.ts | 2 +- .../lib/ast/wrappers/util/value-type-util.ts | 2 +- .../wrappers/value-type/atomic-value-type.ts | 2 +- .../ast/wrappers/wrapper-factory-provider.ts | 2 +- .../completion/jayvee-completion-provider.ts | 2 +- libs/language-server/src/lib/util/registry.ts | 2 +- .../checks/block-type-definition.ts | 2 +- .../checks/value-type-definition.ts | 2 +- .../checks/value-type-reference.spec.ts | 2 +- .../src/lib/validation/validation-util.ts | 2 +- libs/language-server/src/test/utils.ts | 6 +- package-lock.json | 488 +++++++++++++++++- package.json | 3 +- 79 files changed, 580 insertions(+), 86 deletions(-) diff --git a/.eslintrc.json b/.eslintrc.json index 16b0e4e82..f0f0f2861 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -34,6 +34,13 @@ ] } }, + { + "files": ["*.ts", "*.tsx", "*.js", "*.jsx"], + "plugins": ["unicorn"], + "rules": { + "unicorn/prefer-node-protocol": "warn" + } + }, { "files": ["*.ts", "*.tsx"], "extends": ["plugin:@nx/typescript"], diff --git a/apps/interpreter/src/examples-smoke-test.spec.ts b/apps/interpreter/src/examples-smoke-test.spec.ts index 488899163..452fe9607 100644 --- a/apps/interpreter/src/examples-smoke-test.spec.ts +++ b/apps/interpreter/src/examples-smoke-test.spec.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import * as path from 'path'; +import * as path from 'node:path'; import { processExitMockImplementation } from '@jvalue/jayvee-execution/test'; import { diff --git a/libs/execution/src/lib/blocks/block-executor.ts b/libs/execution/src/lib/blocks/block-executor.ts index 65d0d15d6..119b29cad 100644 --- a/libs/execution/src/lib/blocks/block-executor.ts +++ b/libs/execution/src/lib/blocks/block-executor.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import { strict as assert } from 'assert'; +import { strict as assert } from 'node:assert'; import { type IOType, isBlockDefinition } from '@jvalue/jayvee-language-server'; diff --git a/libs/execution/src/lib/blocks/composite-block-executor.ts b/libs/execution/src/lib/blocks/composite-block-executor.ts index 92008920e..64c93320e 100644 --- a/libs/execution/src/lib/blocks/composite-block-executor.ts +++ b/libs/execution/src/lib/blocks/composite-block-executor.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import { strict as assert } from 'assert/strict'; +import { strict as assert } from 'node:assert/strict'; import { type BlockDefinition, diff --git a/libs/execution/src/lib/constraints/constraint-executor-extension.ts b/libs/execution/src/lib/constraints/constraint-executor-extension.ts index 51defd52d..07abe9e39 100644 --- a/libs/execution/src/lib/constraints/constraint-executor-extension.ts +++ b/libs/execution/src/lib/constraints/constraint-executor-extension.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import { strict as assert } from 'assert'; +import { strict as assert } from 'node:assert'; import { type ConstraintDefinition, diff --git a/libs/execution/src/lib/constraints/executors/expression-constraint-executor.ts b/libs/execution/src/lib/constraints/executors/expression-constraint-executor.ts index a9b69fd95..9e21f7132 100644 --- a/libs/execution/src/lib/constraints/executors/expression-constraint-executor.ts +++ b/libs/execution/src/lib/constraints/executors/expression-constraint-executor.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import { strict as assert } from 'assert'; +import { strict as assert } from 'node:assert'; import { type AstNodeWrapper, diff --git a/libs/execution/src/lib/execution-context.ts b/libs/execution/src/lib/execution-context.ts index 58bf95bc2..ad6680b7c 100644 --- a/libs/execution/src/lib/execution-context.ts +++ b/libs/execution/src/lib/execution-context.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import { strict as assert } from 'assert'; +import { strict as assert } from 'node:assert'; import { type BlockDefinition, diff --git a/libs/execution/src/lib/extension.ts b/libs/execution/src/lib/extension.ts index c124db3e6..a5a18fd9d 100644 --- a/libs/execution/src/lib/extension.ts +++ b/libs/execution/src/lib/extension.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import { strict as assert } from 'assert'; +import { strict as assert } from 'node:assert'; import { type BlockDefinition, diff --git a/libs/execution/src/lib/logging/logger.ts b/libs/execution/src/lib/logging/logger.ts index 7ff68188d..74b42fdf1 100644 --- a/libs/execution/src/lib/logging/logger.ts +++ b/libs/execution/src/lib/logging/logger.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import { strict as assert } from 'assert'; +import { strict as assert } from 'node:assert'; import { type AstNode, diff --git a/libs/execution/src/lib/transforms/transform-executor.spec.ts b/libs/execution/src/lib/transforms/transform-executor.spec.ts index eec924ee0..86d37bf1e 100644 --- a/libs/execution/src/lib/transforms/transform-executor.spec.ts +++ b/libs/execution/src/lib/transforms/transform-executor.spec.ts @@ -2,8 +2,8 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import assert from 'assert'; -import * as path from 'path'; +import assert from 'node:assert'; +import * as path from 'node:path'; import { type InternalValueRepresentation, diff --git a/libs/execution/src/lib/transforms/transform-executor.ts b/libs/execution/src/lib/transforms/transform-executor.ts index 4647b19ae..08c749f7d 100644 --- a/libs/execution/src/lib/transforms/transform-executor.ts +++ b/libs/execution/src/lib/transforms/transform-executor.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import { strict as assert } from 'assert'; +import { strict as assert } from 'node:assert'; import { type InternalValueRepresentation, diff --git a/libs/execution/src/lib/types/io-types/sheet.ts b/libs/execution/src/lib/types/io-types/sheet.ts index 130a533ea..d728abcc2 100644 --- a/libs/execution/src/lib/types/io-types/sheet.ts +++ b/libs/execution/src/lib/types/io-types/sheet.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import { strict as assert } from 'assert'; +import { strict as assert } from 'node:assert'; import { CellIndex, diff --git a/libs/execution/src/lib/types/io-types/table.ts b/libs/execution/src/lib/types/io-types/table.ts index 86894492e..d87e84e53 100644 --- a/libs/execution/src/lib/types/io-types/table.ts +++ b/libs/execution/src/lib/types/io-types/table.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import { strict as assert } from 'assert'; +import { strict as assert } from 'node:assert'; import { IOType, diff --git a/libs/execution/src/lib/types/value-types/internal-representation-parsing.ts b/libs/execution/src/lib/types/value-types/internal-representation-parsing.ts index bc4ce7efd..cefa84e44 100644 --- a/libs/execution/src/lib/types/value-types/internal-representation-parsing.ts +++ b/libs/execution/src/lib/types/value-types/internal-representation-parsing.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import { strict as assert } from 'assert'; +import { strict as assert } from 'node:assert'; import { type AtomicValueType, diff --git a/libs/execution/src/lib/types/value-types/value-representation-validity.ts b/libs/execution/src/lib/types/value-types/value-representation-validity.ts index 972114711..635374905 100644 --- a/libs/execution/src/lib/types/value-types/value-representation-validity.ts +++ b/libs/execution/src/lib/types/value-types/value-representation-validity.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import { strict as assert } from 'assert'; +import { strict as assert } from 'node:assert'; import { type AtomicValueType, diff --git a/libs/execution/src/lib/types/value-types/visitors/sql-column-type-visitor.ts b/libs/execution/src/lib/types/value-types/visitors/sql-column-type-visitor.ts index de86854cd..b31f143be 100644 --- a/libs/execution/src/lib/types/value-types/visitors/sql-column-type-visitor.ts +++ b/libs/execution/src/lib/types/value-types/visitors/sql-column-type-visitor.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import { strict as assert } from 'assert'; +import { strict as assert } from 'node:assert'; import { type AtomicValueType, diff --git a/libs/execution/src/lib/types/value-types/visitors/sql-value-representation-visitor.ts b/libs/execution/src/lib/types/value-types/visitors/sql-value-representation-visitor.ts index a44f38352..bbb46c5d5 100644 --- a/libs/execution/src/lib/types/value-types/visitors/sql-value-representation-visitor.ts +++ b/libs/execution/src/lib/types/value-types/visitors/sql-value-representation-visitor.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import { strict as assert } from 'assert'; +import { strict as assert } from 'node:assert'; import { type AtomicValueType, diff --git a/libs/execution/test/utils/file-util.ts b/libs/execution/test/utils/file-util.ts index f1b70efed..915d58561 100644 --- a/libs/execution/test/utils/file-util.ts +++ b/libs/execution/test/utils/file-util.ts @@ -2,8 +2,8 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import { readFileSync } from 'fs'; -import * as path from 'path'; +import { readFileSync } from 'node:fs'; +import * as path from 'node:path'; import { BinaryFile, diff --git a/libs/extensions/rdbms/exec/src/lib/postgres-loader-executor.spec.ts b/libs/extensions/rdbms/exec/src/lib/postgres-loader-executor.spec.ts index d94eca67d..20f204324 100644 --- a/libs/extensions/rdbms/exec/src/lib/postgres-loader-executor.spec.ts +++ b/libs/extensions/rdbms/exec/src/lib/postgres-loader-executor.spec.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import * as path from 'path'; +import * as path from 'node:path'; import * as R from '@jvalue/jayvee-execution'; import { diff --git a/libs/extensions/rdbms/exec/src/lib/sqlite-loader-executor.spec.ts b/libs/extensions/rdbms/exec/src/lib/sqlite-loader-executor.spec.ts index 440d08f4c..6c6703233 100644 --- a/libs/extensions/rdbms/exec/src/lib/sqlite-loader-executor.spec.ts +++ b/libs/extensions/rdbms/exec/src/lib/sqlite-loader-executor.spec.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import * as path from 'path'; +import * as path from 'node:path'; import * as R from '@jvalue/jayvee-execution'; import { diff --git a/libs/extensions/rdbms/exec/test/mocks/postgres-loader-executor-mock.ts b/libs/extensions/rdbms/exec/test/mocks/postgres-loader-executor-mock.ts index 71787587c..9ba8fcdf3 100644 --- a/libs/extensions/rdbms/exec/test/mocks/postgres-loader-executor-mock.ts +++ b/libs/extensions/rdbms/exec/test/mocks/postgres-loader-executor-mock.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import assert from 'assert'; +import assert from 'node:assert'; import { type BlockExecutorMock } from '@jvalue/jayvee-execution/test'; import pg from 'pg'; diff --git a/libs/extensions/rdbms/exec/test/mocks/sqlite-loader-executor-mock.ts b/libs/extensions/rdbms/exec/test/mocks/sqlite-loader-executor-mock.ts index 624b7055f..4a8e6b23d 100644 --- a/libs/extensions/rdbms/exec/test/mocks/sqlite-loader-executor-mock.ts +++ b/libs/extensions/rdbms/exec/test/mocks/sqlite-loader-executor-mock.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import assert from 'assert'; +import assert from 'node:assert'; import { type BlockExecutorMock } from '@jvalue/jayvee-execution/test'; import sqlite3 from 'sqlite3'; diff --git a/libs/extensions/std/exec/src/archive-interpreter-executor.spec.ts b/libs/extensions/std/exec/src/archive-interpreter-executor.spec.ts index 00d2f2545..87cb4f5a2 100644 --- a/libs/extensions/std/exec/src/archive-interpreter-executor.spec.ts +++ b/libs/extensions/std/exec/src/archive-interpreter-executor.spec.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import * as path from 'path'; +import * as path from 'node:path'; import * as R from '@jvalue/jayvee-execution'; import { diff --git a/libs/extensions/std/exec/src/archive-interpreter-executor.ts b/libs/extensions/std/exec/src/archive-interpreter-executor.ts index 962626ebb..03377b3a2 100644 --- a/libs/extensions/std/exec/src/archive-interpreter-executor.ts +++ b/libs/extensions/std/exec/src/archive-interpreter-executor.ts @@ -2,9 +2,9 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import { strict as assert } from 'assert'; +import { strict as assert } from 'node:assert'; +import * as path from 'node:path'; import * as zlib from 'node:zlib'; -import * as path from 'path'; import * as R from '@jvalue/jayvee-execution'; import { diff --git a/libs/extensions/std/exec/src/file-picker-executor.spec.ts b/libs/extensions/std/exec/src/file-picker-executor.spec.ts index 917888e59..c74b15cb7 100644 --- a/libs/extensions/std/exec/src/file-picker-executor.spec.ts +++ b/libs/extensions/std/exec/src/file-picker-executor.spec.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import * as path from 'path'; +import * as path from 'node:path'; import * as R from '@jvalue/jayvee-execution'; import { diff --git a/libs/extensions/std/exec/src/file-picker-executor.ts b/libs/extensions/std/exec/src/file-picker-executor.ts index b57b50fcc..cb0dbb983 100644 --- a/libs/extensions/std/exec/src/file-picker-executor.ts +++ b/libs/extensions/std/exec/src/file-picker-executor.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import { strict as assert } from 'assert'; +import { strict as assert } from 'node:assert'; import * as R from '@jvalue/jayvee-execution'; import { diff --git a/libs/extensions/std/exec/src/gtfs-rt-interpreter-executor.spec.ts b/libs/extensions/std/exec/src/gtfs-rt-interpreter-executor.spec.ts index bea4fb497..566f7c1d4 100644 --- a/libs/extensions/std/exec/src/gtfs-rt-interpreter-executor.spec.ts +++ b/libs/extensions/std/exec/src/gtfs-rt-interpreter-executor.spec.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import * as path from 'path'; +import * as path from 'node:path'; import * as R from '@jvalue/jayvee-execution'; import { diff --git a/libs/extensions/std/exec/src/http-extractor-executor.spec.ts b/libs/extensions/std/exec/src/http-extractor-executor.spec.ts index 9f50d19c7..2cce2a71d 100644 --- a/libs/extensions/std/exec/src/http-extractor-executor.spec.ts +++ b/libs/extensions/std/exec/src/http-extractor-executor.spec.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import * as path from 'path'; +import * as path from 'node:path'; import * as R from '@jvalue/jayvee-execution'; import { getTestExecutionContext } from '@jvalue/jayvee-execution/test'; diff --git a/libs/extensions/std/exec/src/http-extractor-executor.ts b/libs/extensions/std/exec/src/http-extractor-executor.ts index dc44a5402..3ec5b610c 100644 --- a/libs/extensions/std/exec/src/http-extractor-executor.ts +++ b/libs/extensions/std/exec/src/http-extractor-executor.ts @@ -2,8 +2,8 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import { strict as assert } from 'assert'; -import * as path from 'path'; +import { strict as assert } from 'node:assert'; +import * as path from 'node:path'; import * as R from '@jvalue/jayvee-execution'; import { diff --git a/libs/extensions/std/exec/src/local-file-extractor-executor.spec.ts b/libs/extensions/std/exec/src/local-file-extractor-executor.spec.ts index df1fa20ff..6b3f5e573 100644 --- a/libs/extensions/std/exec/src/local-file-extractor-executor.spec.ts +++ b/libs/extensions/std/exec/src/local-file-extractor-executor.spec.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import * as path from 'path'; +import * as path from 'node:path'; import * as R from '@jvalue/jayvee-execution'; import { getTestExecutionContext } from '@jvalue/jayvee-execution/test'; diff --git a/libs/extensions/std/exec/src/local-file-extractor-executor.ts b/libs/extensions/std/exec/src/local-file-extractor-executor.ts index 921a357b4..9413e4eb0 100644 --- a/libs/extensions/std/exec/src/local-file-extractor-executor.ts +++ b/libs/extensions/std/exec/src/local-file-extractor-executor.ts @@ -2,8 +2,8 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import * as fs from 'fs/promises'; -import * as path from 'path'; +import * as fs from 'node:fs/promises'; +import * as path from 'node:path'; import * as R from '@jvalue/jayvee-execution'; import { diff --git a/libs/extensions/std/exec/src/text-file-interpreter-executor.spec.ts b/libs/extensions/std/exec/src/text-file-interpreter-executor.spec.ts index aded5b58e..7aa315198 100644 --- a/libs/extensions/std/exec/src/text-file-interpreter-executor.spec.ts +++ b/libs/extensions/std/exec/src/text-file-interpreter-executor.spec.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import * as path from 'path'; +import * as path from 'node:path'; import * as R from '@jvalue/jayvee-execution'; import { diff --git a/libs/extensions/std/exec/src/text-line-deleter-executor.spec.ts b/libs/extensions/std/exec/src/text-line-deleter-executor.spec.ts index 313b78bf1..4ccad22a4 100644 --- a/libs/extensions/std/exec/src/text-line-deleter-executor.spec.ts +++ b/libs/extensions/std/exec/src/text-line-deleter-executor.spec.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import * as path from 'path'; +import * as path from 'node:path'; import * as R from '@jvalue/jayvee-execution'; import { diff --git a/libs/extensions/std/exec/src/text-range-selector-executor.spec.ts b/libs/extensions/std/exec/src/text-range-selector-executor.spec.ts index b5c19d661..72a52f8d2 100644 --- a/libs/extensions/std/exec/src/text-range-selector-executor.spec.ts +++ b/libs/extensions/std/exec/src/text-range-selector-executor.spec.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import * as path from 'path'; +import * as path from 'node:path'; import * as R from '@jvalue/jayvee-execution'; import { diff --git a/libs/extensions/tabular/exec/src/lib/cell-range-selector-executor.spec.ts b/libs/extensions/tabular/exec/src/lib/cell-range-selector-executor.spec.ts index f12654b68..c0c091d78 100644 --- a/libs/extensions/tabular/exec/src/lib/cell-range-selector-executor.spec.ts +++ b/libs/extensions/tabular/exec/src/lib/cell-range-selector-executor.spec.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import * as path from 'path'; +import * as path from 'node:path'; import * as R from '@jvalue/jayvee-execution'; import { getTestExecutionContext } from '@jvalue/jayvee-execution/test'; diff --git a/libs/extensions/tabular/exec/src/lib/cell-writer-executor.spec.ts b/libs/extensions/tabular/exec/src/lib/cell-writer-executor.spec.ts index e7bce014d..f390e32c7 100644 --- a/libs/extensions/tabular/exec/src/lib/cell-writer-executor.spec.ts +++ b/libs/extensions/tabular/exec/src/lib/cell-writer-executor.spec.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import * as path from 'path'; +import * as path from 'node:path'; import * as R from '@jvalue/jayvee-execution'; import { getTestExecutionContext } from '@jvalue/jayvee-execution/test'; diff --git a/libs/extensions/tabular/exec/src/lib/cell-writer-executor.ts b/libs/extensions/tabular/exec/src/lib/cell-writer-executor.ts index 2483a4687..b6f797bd3 100644 --- a/libs/extensions/tabular/exec/src/lib/cell-writer-executor.ts +++ b/libs/extensions/tabular/exec/src/lib/cell-writer-executor.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import { strict as assert } from 'assert'; +import { strict as assert } from 'node:assert'; import * as R from '@jvalue/jayvee-execution'; import { diff --git a/libs/extensions/tabular/exec/src/lib/column-deleter-executor.spec.ts b/libs/extensions/tabular/exec/src/lib/column-deleter-executor.spec.ts index 2b202ce9f..ef0e48ea0 100644 --- a/libs/extensions/tabular/exec/src/lib/column-deleter-executor.spec.ts +++ b/libs/extensions/tabular/exec/src/lib/column-deleter-executor.spec.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import * as path from 'path'; +import * as path from 'node:path'; import * as R from '@jvalue/jayvee-execution'; import { getTestExecutionContext } from '@jvalue/jayvee-execution/test'; diff --git a/libs/extensions/tabular/exec/src/lib/column-deleter-executor.ts b/libs/extensions/tabular/exec/src/lib/column-deleter-executor.ts index 369064796..69223a4a2 100644 --- a/libs/extensions/tabular/exec/src/lib/column-deleter-executor.ts +++ b/libs/extensions/tabular/exec/src/lib/column-deleter-executor.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import { strict as assert } from 'assert'; +import { strict as assert } from 'node:assert'; import * as R from '@jvalue/jayvee-execution'; import { diff --git a/libs/extensions/tabular/exec/src/lib/csv-interpreter-executor.spec.ts b/libs/extensions/tabular/exec/src/lib/csv-interpreter-executor.spec.ts index 32613ecca..26cb2dc81 100644 --- a/libs/extensions/tabular/exec/src/lib/csv-interpreter-executor.spec.ts +++ b/libs/extensions/tabular/exec/src/lib/csv-interpreter-executor.spec.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import * as path from 'path'; +import * as path from 'node:path'; import * as R from '@jvalue/jayvee-execution'; import { diff --git a/libs/extensions/tabular/exec/src/lib/row-deleter-executor.spec.ts b/libs/extensions/tabular/exec/src/lib/row-deleter-executor.spec.ts index 764802120..82e0b7467 100644 --- a/libs/extensions/tabular/exec/src/lib/row-deleter-executor.spec.ts +++ b/libs/extensions/tabular/exec/src/lib/row-deleter-executor.spec.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import * as path from 'path'; +import * as path from 'node:path'; import * as R from '@jvalue/jayvee-execution'; import { getTestExecutionContext } from '@jvalue/jayvee-execution/test'; diff --git a/libs/extensions/tabular/exec/src/lib/row-deleter-executor.ts b/libs/extensions/tabular/exec/src/lib/row-deleter-executor.ts index b99968446..29362949d 100644 --- a/libs/extensions/tabular/exec/src/lib/row-deleter-executor.ts +++ b/libs/extensions/tabular/exec/src/lib/row-deleter-executor.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import { strict as assert } from 'assert'; +import { strict as assert } from 'node:assert'; import * as R from '@jvalue/jayvee-execution'; import { diff --git a/libs/extensions/tabular/exec/src/lib/sheet-picker-executor.spec.ts b/libs/extensions/tabular/exec/src/lib/sheet-picker-executor.spec.ts index e5c9af260..a0c7c9dc3 100644 --- a/libs/extensions/tabular/exec/src/lib/sheet-picker-executor.spec.ts +++ b/libs/extensions/tabular/exec/src/lib/sheet-picker-executor.spec.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import * as path from 'path'; +import * as path from 'node:path'; import * as R from '@jvalue/jayvee-execution'; import { getTestExecutionContext } from '@jvalue/jayvee-execution/test'; diff --git a/libs/extensions/tabular/exec/src/lib/table-interpreter-executor.spec.ts b/libs/extensions/tabular/exec/src/lib/table-interpreter-executor.spec.ts index 492348c4a..f9318f9ce 100644 --- a/libs/extensions/tabular/exec/src/lib/table-interpreter-executor.spec.ts +++ b/libs/extensions/tabular/exec/src/lib/table-interpreter-executor.spec.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import * as path from 'path'; +import * as path from 'node:path'; import * as R from '@jvalue/jayvee-execution'; import { getTestExecutionContext } from '@jvalue/jayvee-execution/test'; diff --git a/libs/extensions/tabular/exec/src/lib/table-interpreter-executor.ts b/libs/extensions/tabular/exec/src/lib/table-interpreter-executor.ts index 7942a0b90..748df5c13 100644 --- a/libs/extensions/tabular/exec/src/lib/table-interpreter-executor.ts +++ b/libs/extensions/tabular/exec/src/lib/table-interpreter-executor.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import { strict as assert } from 'assert'; +import { strict as assert } from 'node:assert'; import * as R from '@jvalue/jayvee-execution'; import { diff --git a/libs/extensions/tabular/exec/src/lib/table-transformer-executor.spec.ts b/libs/extensions/tabular/exec/src/lib/table-transformer-executor.spec.ts index 6522ee1d0..13bd18905 100644 --- a/libs/extensions/tabular/exec/src/lib/table-transformer-executor.spec.ts +++ b/libs/extensions/tabular/exec/src/lib/table-transformer-executor.spec.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import * as path from 'path'; +import * as path from 'node:path'; import * as R from '@jvalue/jayvee-execution'; import { getTestExecutionContext } from '@jvalue/jayvee-execution/test'; diff --git a/libs/extensions/tabular/exec/src/lib/table-transformer-executor.ts b/libs/extensions/tabular/exec/src/lib/table-transformer-executor.ts index 1e7314ce1..6ba55edee 100644 --- a/libs/extensions/tabular/exec/src/lib/table-transformer-executor.ts +++ b/libs/extensions/tabular/exec/src/lib/table-transformer-executor.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import { strict as assert } from 'assert'; +import { strict as assert } from 'node:assert'; import * as R from '@jvalue/jayvee-execution'; import { diff --git a/libs/extensions/tabular/exec/src/lib/xlsx-interpreter-executor.spec.ts b/libs/extensions/tabular/exec/src/lib/xlsx-interpreter-executor.spec.ts index 364c03bce..0b724fefb 100644 --- a/libs/extensions/tabular/exec/src/lib/xlsx-interpreter-executor.spec.ts +++ b/libs/extensions/tabular/exec/src/lib/xlsx-interpreter-executor.spec.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import * as path from 'path'; +import * as path from 'node:path'; import * as R from '@jvalue/jayvee-execution'; import { diff --git a/libs/extensions/tabular/exec/test/util.ts b/libs/extensions/tabular/exec/test/util.ts index 6d4a79454..4b9bb31ff 100644 --- a/libs/extensions/tabular/exec/test/util.ts +++ b/libs/extensions/tabular/exec/test/util.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import * as path from 'path'; +import * as path from 'node:path'; import { Table, diff --git a/libs/interpreter-lib/src/interpreter.ts b/libs/interpreter-lib/src/interpreter.ts index 862251526..35e95683e 100644 --- a/libs/interpreter-lib/src/interpreter.ts +++ b/libs/interpreter-lib/src/interpreter.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import { strict as assert } from 'assert'; +import { strict as assert } from 'node:assert'; import * as R from '@jvalue/jayvee-execution'; import { diff --git a/libs/interpreter-lib/src/parsing-util.spec.ts b/libs/interpreter-lib/src/parsing-util.spec.ts index fce4a6f4f..acc2d420f 100644 --- a/libs/interpreter-lib/src/parsing-util.spec.ts +++ b/libs/interpreter-lib/src/parsing-util.spec.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import * as path from 'path'; +import * as path from 'node:path'; import { CachedLogger, DiagnosticSeverity } from '@jvalue/jayvee-execution'; import { diff --git a/libs/interpreter-lib/src/parsing-util.ts b/libs/interpreter-lib/src/parsing-util.ts index 6711ba361..34911c816 100644 --- a/libs/interpreter-lib/src/parsing-util.ts +++ b/libs/interpreter-lib/src/parsing-util.ts @@ -2,8 +2,8 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import * as fs from 'fs'; -import * as path from 'path'; +import * as fs from 'node:fs'; +import * as path from 'node:path'; import { type Logger } from '@jvalue/jayvee-execution'; import { initializeWorkspace } from '@jvalue/jayvee-language-server'; diff --git a/libs/interpreter-lib/src/std-extension.spec.ts b/libs/interpreter-lib/src/std-extension.spec.ts index eaae4f752..55e06041b 100644 --- a/libs/interpreter-lib/src/std-extension.spec.ts +++ b/libs/interpreter-lib/src/std-extension.spec.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import { strict as assert } from 'assert'; +import { strict as assert } from 'node:assert'; import { StdExecExtension } from '@jvalue/jayvee-extensions/std/exec'; import { diff --git a/libs/interpreter-lib/src/validation-checks/runtime-parameter-literal.spec.ts b/libs/interpreter-lib/src/validation-checks/runtime-parameter-literal.spec.ts index 9c6bb885b..14224ce20 100644 --- a/libs/interpreter-lib/src/validation-checks/runtime-parameter-literal.spec.ts +++ b/libs/interpreter-lib/src/validation-checks/runtime-parameter-literal.spec.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import * as path from 'path'; +import * as path from 'node:path'; import { parseValueToInternalRepresentation } from '@jvalue/jayvee-execution'; import { diff --git a/libs/language-server/src/lib/ast/expressions/evaluate-expression.ts b/libs/language-server/src/lib/ast/expressions/evaluate-expression.ts index 0d160f825..051329c87 100644 --- a/libs/language-server/src/lib/ast/expressions/evaluate-expression.ts +++ b/libs/language-server/src/lib/ast/expressions/evaluate-expression.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import { strict as assert } from 'assert'; +import { strict as assert } from 'node:assert'; import { assertUnreachable } from 'langium'; diff --git a/libs/language-server/src/lib/ast/expressions/evaluation-context.ts b/libs/language-server/src/lib/ast/expressions/evaluation-context.ts index b059b260d..4d3c44c28 100644 --- a/libs/language-server/src/lib/ast/expressions/evaluation-context.ts +++ b/libs/language-server/src/lib/ast/expressions/evaluation-context.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import { strict as assert } from 'assert'; +import { strict as assert } from 'node:assert'; import { assertUnreachable } from 'langium'; diff --git a/libs/language-server/src/lib/ast/expressions/evaluators/division-operator-evaluator.ts b/libs/language-server/src/lib/ast/expressions/evaluators/division-operator-evaluator.ts index fc486b8c4..277e89bee 100644 --- a/libs/language-server/src/lib/ast/expressions/evaluators/division-operator-evaluator.ts +++ b/libs/language-server/src/lib/ast/expressions/evaluators/division-operator-evaluator.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import { strict as assert } from 'assert'; +import { strict as assert } from 'node:assert'; import { type ValidationContext } from '../../../validation/validation-context'; import { type BinaryExpression } from '../../generated/ast'; diff --git a/libs/language-server/src/lib/ast/expressions/evaluators/sqrt-operator-evaluator.ts b/libs/language-server/src/lib/ast/expressions/evaluators/sqrt-operator-evaluator.ts index bf64a1f5c..e95b6fe15 100644 --- a/libs/language-server/src/lib/ast/expressions/evaluators/sqrt-operator-evaluator.ts +++ b/libs/language-server/src/lib/ast/expressions/evaluators/sqrt-operator-evaluator.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import { strict as assert } from 'assert'; +import { strict as assert } from 'node:assert'; import { type ValidationContext } from '../../../validation/validation-context'; import { type UnaryExpression } from '../../generated/ast'; diff --git a/libs/language-server/src/lib/ast/expressions/operator-evaluator.ts b/libs/language-server/src/lib/ast/expressions/operator-evaluator.ts index 7569011f5..9ee292330 100644 --- a/libs/language-server/src/lib/ast/expressions/operator-evaluator.ts +++ b/libs/language-server/src/lib/ast/expressions/operator-evaluator.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import { strict as assert } from 'assert'; +import { strict as assert } from 'node:assert'; import { type ValidationContext } from '../../validation/validation-context'; import { diff --git a/libs/language-server/src/lib/ast/expressions/type-computers/in-operator-type-computer.ts b/libs/language-server/src/lib/ast/expressions/type-computers/in-operator-type-computer.ts index 5b3b726cb..3dad1cc96 100644 --- a/libs/language-server/src/lib/ast/expressions/type-computers/in-operator-type-computer.ts +++ b/libs/language-server/src/lib/ast/expressions/type-computers/in-operator-type-computer.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import { strict as assert } from 'assert'; +import { strict as assert } from 'node:assert'; import { type ValidationContext } from '../../../validation/validation-context'; import { type BinaryExpression } from '../../generated/ast'; diff --git a/libs/language-server/src/lib/ast/io-type.ts b/libs/language-server/src/lib/ast/io-type.ts index de4882856..21612ab15 100644 --- a/libs/language-server/src/lib/ast/io-type.ts +++ b/libs/language-server/src/lib/ast/io-type.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import { strict as assert } from 'assert'; +import { strict as assert } from 'node:assert'; import { type BlockTypeInput, type BlockTypeOutput } from './generated/ast'; diff --git a/libs/language-server/src/lib/ast/wrappers/cell-range-wrapper.ts b/libs/language-server/src/lib/ast/wrappers/cell-range-wrapper.ts index 2bf4f3189..2c85bf5de 100644 --- a/libs/language-server/src/lib/ast/wrappers/cell-range-wrapper.ts +++ b/libs/language-server/src/lib/ast/wrappers/cell-range-wrapper.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import { strict as assert } from 'assert'; +import { strict as assert } from 'node:assert'; import { assertUnreachable } from 'langium'; diff --git a/libs/language-server/src/lib/ast/wrappers/pipe-wrapper.ts b/libs/language-server/src/lib/ast/wrappers/pipe-wrapper.ts index 8960dee51..2e103a82d 100644 --- a/libs/language-server/src/lib/ast/wrappers/pipe-wrapper.ts +++ b/libs/language-server/src/lib/ast/wrappers/pipe-wrapper.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import { strict as assert } from 'assert'; +import { strict as assert } from 'node:assert'; import { type DiagnosticInfo } from 'langium'; diff --git a/libs/language-server/src/lib/ast/wrappers/pipeline-wrapper.ts b/libs/language-server/src/lib/ast/wrappers/pipeline-wrapper.ts index f3001294f..0eda6ba58 100644 --- a/libs/language-server/src/lib/ast/wrappers/pipeline-wrapper.ts +++ b/libs/language-server/src/lib/ast/wrappers/pipeline-wrapper.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import { strict as assert } from 'assert'; +import { strict as assert } from 'node:assert'; import { type BlockDefinition, diff --git a/libs/language-server/src/lib/ast/wrappers/typed-object/block-type-wrapper.ts b/libs/language-server/src/lib/ast/wrappers/typed-object/block-type-wrapper.ts index 8beaf78ae..1c6981044 100644 --- a/libs/language-server/src/lib/ast/wrappers/typed-object/block-type-wrapper.ts +++ b/libs/language-server/src/lib/ast/wrappers/typed-object/block-type-wrapper.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import { strict as assert } from 'assert'; +import { strict as assert } from 'node:assert'; import { type Reference, isReference } from 'langium'; diff --git a/libs/language-server/src/lib/ast/wrappers/typed-object/constrainttype-wrapper.ts b/libs/language-server/src/lib/ast/wrappers/typed-object/constrainttype-wrapper.ts index 2fdbb6c8a..49efc8281 100644 --- a/libs/language-server/src/lib/ast/wrappers/typed-object/constrainttype-wrapper.ts +++ b/libs/language-server/src/lib/ast/wrappers/typed-object/constrainttype-wrapper.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import { strict as assert } from 'assert'; +import { strict as assert } from 'node:assert'; import { type Reference, isReference } from 'langium'; diff --git a/libs/language-server/src/lib/ast/wrappers/util/cell-range-util.ts b/libs/language-server/src/lib/ast/wrappers/util/cell-range-util.ts index ecd070ec4..bb45d9767 100644 --- a/libs/language-server/src/lib/ast/wrappers/util/cell-range-util.ts +++ b/libs/language-server/src/lib/ast/wrappers/util/cell-range-util.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import { strict as assert } from 'assert'; +import { strict as assert } from 'node:assert'; import { isCellLiteral, diff --git a/libs/language-server/src/lib/ast/wrappers/util/value-type-util.ts b/libs/language-server/src/lib/ast/wrappers/util/value-type-util.ts index 69be6e8a2..d9643080f 100644 --- a/libs/language-server/src/lib/ast/wrappers/util/value-type-util.ts +++ b/libs/language-server/src/lib/ast/wrappers/util/value-type-util.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import { strict as assert } from 'assert'; +import { strict as assert } from 'node:assert'; import { type AtomicValueType, diff --git a/libs/language-server/src/lib/ast/wrappers/value-type/atomic-value-type.ts b/libs/language-server/src/lib/ast/wrappers/value-type/atomic-value-type.ts index 49acf1aba..dc71120ff 100644 --- a/libs/language-server/src/lib/ast/wrappers/value-type/atomic-value-type.ts +++ b/libs/language-server/src/lib/ast/wrappers/value-type/atomic-value-type.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import { strict as assert } from 'assert'; +import { strict as assert } from 'node:assert'; import { evaluateExpression } from '../../expressions/evaluate-expression'; import { type EvaluationContext } from '../../expressions/evaluation-context'; diff --git a/libs/language-server/src/lib/ast/wrappers/wrapper-factory-provider.ts b/libs/language-server/src/lib/ast/wrappers/wrapper-factory-provider.ts index de553fbee..017a9b57f 100644 --- a/libs/language-server/src/lib/ast/wrappers/wrapper-factory-provider.ts +++ b/libs/language-server/src/lib/ast/wrappers/wrapper-factory-provider.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import { strict as assert } from 'assert'; +import { strict as assert } from 'node:assert'; import { type AstNode, diff --git a/libs/language-server/src/lib/completion/jayvee-completion-provider.ts b/libs/language-server/src/lib/completion/jayvee-completion-provider.ts index fcf79c28c..949145888 100644 --- a/libs/language-server/src/lib/completion/jayvee-completion-provider.ts +++ b/libs/language-server/src/lib/completion/jayvee-completion-provider.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import { strict as assert } from 'assert'; +import { strict as assert } from 'node:assert'; import { type LangiumDocuments, type MaybePromise } from 'langium'; import { diff --git a/libs/language-server/src/lib/util/registry.ts b/libs/language-server/src/lib/util/registry.ts index 7ba731af6..7ed8a677b 100644 --- a/libs/language-server/src/lib/util/registry.ts +++ b/libs/language-server/src/lib/util/registry.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import { strict as assert } from 'assert'; +import { strict as assert } from 'node:assert'; export class Registry { protected readonly registry = new Map(); diff --git a/libs/language-server/src/lib/validation/checks/block-type-definition.ts b/libs/language-server/src/lib/validation/checks/block-type-definition.ts index 83ff0fdfb..a25d0d2fd 100644 --- a/libs/language-server/src/lib/validation/checks/block-type-definition.ts +++ b/libs/language-server/src/lib/validation/checks/block-type-definition.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import { strict as assert } from 'assert'; +import { strict as assert } from 'node:assert'; import { type BlockTypeProperty, diff --git a/libs/language-server/src/lib/validation/checks/value-type-definition.ts b/libs/language-server/src/lib/validation/checks/value-type-definition.ts index d46fcd53f..0a2684d9e 100644 --- a/libs/language-server/src/lib/validation/checks/value-type-definition.ts +++ b/libs/language-server/src/lib/validation/checks/value-type-definition.ts @@ -7,7 +7,7 @@ */ /* eslint-disable @typescript-eslint/no-unnecessary-condition */ -import { strict as assert } from 'assert'; +import { strict as assert } from 'node:assert'; import { assertUnreachable } from 'langium'; diff --git a/libs/language-server/src/lib/validation/checks/value-type-reference.spec.ts b/libs/language-server/src/lib/validation/checks/value-type-reference.spec.ts index fb244e0f2..36d73ec00 100644 --- a/libs/language-server/src/lib/validation/checks/value-type-reference.spec.ts +++ b/libs/language-server/src/lib/validation/checks/value-type-reference.spec.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import { strict as assert } from 'assert'; +import { strict as assert } from 'node:assert'; import { type AstNode, diff --git a/libs/language-server/src/lib/validation/validation-util.ts b/libs/language-server/src/lib/validation/validation-util.ts index 1481b5830..e96862a15 100644 --- a/libs/language-server/src/lib/validation/validation-util.ts +++ b/libs/language-server/src/lib/validation/validation-util.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import { strict as assert } from 'assert'; +import { strict as assert } from 'node:assert'; import { type AstNode, MultiMap, assertUnreachable } from 'langium'; diff --git a/libs/language-server/src/test/utils.ts b/libs/language-server/src/test/utils.ts index 79ed048c3..7cb692655 100644 --- a/libs/language-server/src/test/utils.ts +++ b/libs/language-server/src/test/utils.ts @@ -2,9 +2,9 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import { strict as assert } from 'assert'; -import { readFileSync } from 'fs'; -import * as path from 'path'; +import { strict as assert } from 'node:assert'; +import { readFileSync } from 'node:fs'; +import * as path from 'node:path'; import { type AstNode, diff --git a/package-lock.json b/package-lock.json index 00789f6df..c6d5b8dd7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -71,13 +71,14 @@ "@vitest/ui": "^1.3.1", "@vscode/vsce": "^2.19.0", "esbuild": "^0.19.2", - "eslint": "8.48.0", + "eslint": "^8.48.0", "eslint-config-prettier": "9.1.0", "eslint-config-react-app": "^7.0.1", "eslint-plugin-import": "2.27.5", "eslint-plugin-prettier": "^4.2.1", "eslint-plugin-react": "7.32.2", "eslint-plugin-react-hooks": "^4.6.0", + "eslint-plugin-unicorn": "^52.0.0", "jest-environment-jsdom": "^29.7.0", "langium-cli": "^3.0.0", "nock": "13.3.1", @@ -9124,6 +9125,12 @@ "undici-types": "~5.26.4" } }, + "node_modules/@types/normalize-package-data": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz", + "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==", + "dev": true + }, "node_modules/@types/parse-json": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", @@ -12597,6 +12604,18 @@ "node": ">= 10.0" } }, + "node_modules/clean-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/clean-regexp/-/clean-regexp-1.0.0.tgz", + "integrity": "sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/clean-stack": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", @@ -16167,6 +16186,102 @@ "eslint": "^7.5.0 || ^8.0.0" } }, + "node_modules/eslint-plugin-unicorn": { + "version": "52.0.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-52.0.0.tgz", + "integrity": "sha512-1Yzm7/m+0R4djH0tjDjfVei/ju2w3AzUGjG6q8JnuNIL5xIwsflyCooW5sfBvQp2pMYQFSWWCFONsjCax1EHng==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.22.20", + "@eslint-community/eslint-utils": "^4.4.0", + "@eslint/eslintrc": "^2.1.4", + "ci-info": "^4.0.0", + "clean-regexp": "^1.0.0", + "core-js-compat": "^3.34.0", + "esquery": "^1.5.0", + "indent-string": "^4.0.0", + "is-builtin-module": "^3.2.1", + "jsesc": "^3.0.2", + "pluralize": "^8.0.0", + "read-pkg-up": "^7.0.1", + "regexp-tree": "^0.1.27", + "regjsparser": "^0.10.0", + "semver": "^7.5.4", + "strip-indent": "^3.0.0" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sindresorhus/eslint-plugin-unicorn?sponsor=1" + }, + "peerDependencies": { + "eslint": ">=8.56.0" + } + }, + "node_modules/eslint-plugin-unicorn/node_modules/ci-info": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.0.0.tgz", + "integrity": "sha512-TdHqgGf9odd8SXNuxtUBVx8Nv+qZOejE6qyqiy5NtbYYQOeFa6zmHkxlPzmaLxWWHsU6nJmB7AETdVPi+2NBUg==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint-plugin-unicorn/node_modules/jsesc": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz", + "integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/eslint-plugin-unicorn/node_modules/regjsparser": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.10.0.tgz", + "integrity": "sha512-qx+xQGZVsy55CH0a1hiVwHmqjLryfh7wQyF5HO07XJ9f7dQMY/gPQHhlyDkIzJKC+x2fUCpCcUODUUUFrm7SHA==", + "dev": true, + "dependencies": { + "jsesc": "~0.5.0" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/eslint-plugin-unicorn/node_modules/regjsparser/node_modules/jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + } + }, + "node_modules/eslint-plugin-unicorn/node_modules/semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/eslint-plugin-vitest": { "version": "0.5.4", "resolved": "https://registry.npmjs.org/eslint-plugin-vitest/-/eslint-plugin-vitest-0.5.4.tgz", @@ -21061,6 +21176,15 @@ "node": ">=6" } }, + "node_modules/min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", + "dev": true, + "engines": { + "node": ">=4" + } + }, "node_modules/mini-css-extract-plugin": { "version": "2.4.7", "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.4.7.tgz", @@ -21665,6 +21789,33 @@ "node": ">=6" } }, + "node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/normalize-package-data/node_modules/hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true + }, + "node_modules/normalize-package-data/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, "node_modules/normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", @@ -22872,6 +23023,15 @@ "node": ">=4" } }, + "node_modules/pluralize": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz", + "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, "node_modules/portfinder": { "version": "1.0.32", "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.32.tgz", @@ -24672,6 +24832,56 @@ "node": ">=0.10.0" } }, + "node_modules/read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "dev": true, + "dependencies": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "dev": true, + "dependencies": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/read-pkg-up/node_modules/type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg/node_modules/type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/readable-stream": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", @@ -24779,6 +24989,15 @@ "@babel/runtime": "^7.8.4" } }, + "node_modules/regexp-tree": { + "version": "0.1.27", + "resolved": "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.27.tgz", + "integrity": "sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==", + "dev": true, + "bin": { + "regexp-tree": "bin/regexp-tree" + } + }, "node_modules/regexp.prototype.flags": { "version": "1.4.3", "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", @@ -26234,6 +26453,38 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/spdx-correct": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", + "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", + "dev": true, + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", + "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==", + "dev": true + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.17", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.17.tgz", + "integrity": "sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg==", + "dev": true + }, "node_modules/spdy": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", @@ -26511,6 +26762,18 @@ "node": ">=6" } }, + "node_modules/strip-indent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "dev": true, + "dependencies": { + "min-indent": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/strip-json-comments": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", @@ -28050,6 +28313,16 @@ "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", "dev": true }, + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, "node_modules/validate-npm-package-name": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-5.0.0.tgz", @@ -35900,6 +36173,12 @@ "undici-types": "~5.26.4" } }, + "@types/normalize-package-data": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz", + "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==", + "dev": true + }, "@types/parse-json": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", @@ -38478,6 +38757,15 @@ "source-map": "~0.6.0" } }, + "clean-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/clean-regexp/-/clean-regexp-1.0.0.tgz", + "integrity": "sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5" + } + }, "clean-stack": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", @@ -41109,6 +41397,70 @@ "@typescript-eslint/utils": "^5.13.0" } }, + "eslint-plugin-unicorn": { + "version": "52.0.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-52.0.0.tgz", + "integrity": "sha512-1Yzm7/m+0R4djH0tjDjfVei/ju2w3AzUGjG6q8JnuNIL5xIwsflyCooW5sfBvQp2pMYQFSWWCFONsjCax1EHng==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.22.20", + "@eslint-community/eslint-utils": "^4.4.0", + "@eslint/eslintrc": "^2.1.4", + "ci-info": "^4.0.0", + "clean-regexp": "^1.0.0", + "core-js-compat": "^3.34.0", + "esquery": "^1.5.0", + "indent-string": "^4.0.0", + "is-builtin-module": "^3.2.1", + "jsesc": "^3.0.2", + "pluralize": "^8.0.0", + "read-pkg-up": "^7.0.1", + "regexp-tree": "^0.1.27", + "regjsparser": "^0.10.0", + "semver": "^7.5.4", + "strip-indent": "^3.0.0" + }, + "dependencies": { + "ci-info": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.0.0.tgz", + "integrity": "sha512-TdHqgGf9odd8SXNuxtUBVx8Nv+qZOejE6qyqiy5NtbYYQOeFa6zmHkxlPzmaLxWWHsU6nJmB7AETdVPi+2NBUg==", + "dev": true + }, + "jsesc": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz", + "integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==", + "dev": true + }, + "regjsparser": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.10.0.tgz", + "integrity": "sha512-qx+xQGZVsy55CH0a1hiVwHmqjLryfh7wQyF5HO07XJ9f7dQMY/gPQHhlyDkIzJKC+x2fUCpCcUODUUUFrm7SHA==", + "dev": true, + "requires": { + "jsesc": "~0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", + "dev": true + } + } + }, + "semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + } + } + }, "eslint-plugin-vitest": { "version": "0.5.4", "resolved": "https://registry.npmjs.org/eslint-plugin-vitest/-/eslint-plugin-vitest-0.5.4.tgz", @@ -44698,6 +45050,12 @@ "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" }, + "min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", + "dev": true + }, "mini-css-extract-plugin": { "version": "2.4.7", "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.4.7.tgz", @@ -45154,6 +45512,32 @@ "abbrev": "1" } }, + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + }, + "dependencies": { + "hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true + }, + "semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true + } + } + }, "normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", @@ -46033,6 +46417,12 @@ } } }, + "pluralize": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz", + "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==", + "dev": true + }, "portfinder": { "version": "1.0.32", "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.32.tgz", @@ -47265,6 +47655,45 @@ } } }, + "read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "dev": true, + "requires": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "dependencies": { + "type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "dev": true + } + } + }, + "read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "dev": true, + "requires": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, + "dependencies": { + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true + } + } + }, "readable-stream": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", @@ -47356,6 +47785,12 @@ "@babel/runtime": "^7.8.4" } }, + "regexp-tree": { + "version": "0.1.27", + "resolved": "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.27.tgz", + "integrity": "sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==", + "dev": true + }, "regexp.prototype.flags": { "version": "1.4.3", "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", @@ -48423,6 +48858,38 @@ "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-1.1.5.tgz", "integrity": "sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA==" }, + "spdx-correct": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", + "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", + "dev": true, + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", + "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==", + "dev": true + }, + "spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.17", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.17.tgz", + "integrity": "sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg==", + "dev": true + }, "spdy": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", @@ -48640,6 +49107,15 @@ "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==" }, + "strip-indent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "dev": true, + "requires": { + "min-indent": "^1.0.0" + } + }, "strip-json-comments": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", @@ -49731,6 +50207,16 @@ } } }, + "validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, "validate-npm-package-name": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-5.0.0.tgz", diff --git a/package.json b/package.json index 0616b1f13..7e43a66a4 100644 --- a/package.json +++ b/package.json @@ -80,13 +80,14 @@ "@vitest/ui": "^1.3.1", "@vscode/vsce": "^2.19.0", "esbuild": "^0.19.2", - "eslint": "8.48.0", + "eslint": "^8.48.0", "eslint-config-prettier": "9.1.0", "eslint-config-react-app": "^7.0.1", "eslint-plugin-import": "2.27.5", "eslint-plugin-prettier": "^4.2.1", "eslint-plugin-react": "7.32.2", "eslint-plugin-react-hooks": "^4.6.0", + "eslint-plugin-unicorn": "^52.0.0", "jest-environment-jsdom": "^29.7.0", "langium-cli": "^3.0.0", "nock": "13.3.1", From 5f74ce52faafa075f09381eaa3ba76be83bf8a53 Mon Sep 17 00:00:00 2001 From: Georg Schwarz Date: Mon, 6 May 2024 13:39:59 +0200 Subject: [PATCH 32/38] Add linter rule "unicorn/import-style" --- .eslintrc.json | 3 ++- apps/interpreter/src/examples-smoke-test.spec.ts | 2 +- .../executors/allowlist-constraint-executor.spec.ts | 2 +- .../executors/denylist-constraint-executor.spec.ts | 2 +- .../constraints/executors/length-constraint-executor.spec.ts | 2 +- .../constraints/executors/range-constraint-executor.spec.ts | 2 +- .../constraints/executors/regex-constraint-executor.spec.ts | 2 +- libs/execution/src/lib/logging/cached-logger.ts | 2 +- libs/execution/src/lib/transforms/transform-executor.spec.ts | 2 +- libs/execution/test/utils/file-util.ts | 2 +- .../rdbms/exec/src/lib/postgres-loader-executor.spec.ts | 2 +- .../rdbms/exec/src/lib/sqlite-loader-executor.spec.ts | 2 +- .../std/exec/src/archive-interpreter-executor.spec.ts | 4 ++-- libs/extensions/std/exec/src/archive-interpreter-executor.ts | 2 +- libs/extensions/std/exec/src/file-picker-executor.spec.ts | 4 ++-- .../std/exec/src/gtfs-rt-interpreter-executor.spec.ts | 4 ++-- libs/extensions/std/exec/src/http-extractor-executor.spec.ts | 2 +- libs/extensions/std/exec/src/http-extractor-executor.ts | 2 +- .../std/exec/src/local-file-extractor-executor.spec.ts | 2 +- libs/extensions/std/exec/src/local-file-extractor-executor.ts | 2 +- .../std/exec/src/text-file-interpreter-executor.spec.ts | 4 ++-- .../std/exec/src/text-line-deleter-executor.spec.ts | 4 ++-- .../std/exec/src/text-range-selector-executor.spec.ts | 4 ++-- .../tabular/exec/src/lib/cell-range-selector-executor.spec.ts | 4 ++-- .../tabular/exec/src/lib/cell-writer-executor.spec.ts | 4 ++-- .../tabular/exec/src/lib/column-deleter-executor.spec.ts | 4 ++-- .../tabular/exec/src/lib/csv-interpreter-executor.spec.ts | 4 ++-- .../tabular/exec/src/lib/row-deleter-executor.spec.ts | 4 ++-- .../tabular/exec/src/lib/sheet-picker-executor.spec.ts | 4 ++-- .../tabular/exec/src/lib/table-interpreter-executor.spec.ts | 4 ++-- .../tabular/exec/src/lib/table-transformer-executor.spec.ts | 4 ++-- .../tabular/exec/src/lib/xlsx-interpreter-executor.spec.ts | 4 ++-- libs/extensions/tabular/exec/test/util.ts | 2 +- libs/interpreter-lib/src/parsing-util.spec.ts | 2 +- libs/interpreter-lib/src/parsing-util.ts | 2 +- .../src/validation-checks/runtime-parameter-literal.spec.ts | 2 +- libs/language-server/src/test/utils.ts | 2 +- tools/scripts/check-for-invalid-windows-paths.mjs | 2 +- 38 files changed, 54 insertions(+), 53 deletions(-) diff --git a/.eslintrc.json b/.eslintrc.json index f0f0f2861..fc6d4fc0b 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -38,7 +38,8 @@ "files": ["*.ts", "*.tsx", "*.js", "*.jsx"], "plugins": ["unicorn"], "rules": { - "unicorn/prefer-node-protocol": "warn" + "unicorn/prefer-node-protocol": "warn", + "unicorn/import-style": "warn" } }, { diff --git a/apps/interpreter/src/examples-smoke-test.spec.ts b/apps/interpreter/src/examples-smoke-test.spec.ts index 452fe9607..4bc06141c 100644 --- a/apps/interpreter/src/examples-smoke-test.spec.ts +++ b/apps/interpreter/src/examples-smoke-test.spec.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import * as path from 'node:path'; +import path from 'node:path'; import { processExitMockImplementation } from '@jvalue/jayvee-execution/test'; import { diff --git a/libs/execution/src/lib/constraints/executors/allowlist-constraint-executor.spec.ts b/libs/execution/src/lib/constraints/executors/allowlist-constraint-executor.spec.ts index 9bb4ad884..d623ff64c 100644 --- a/libs/execution/src/lib/constraints/executors/allowlist-constraint-executor.spec.ts +++ b/libs/execution/src/lib/constraints/executors/allowlist-constraint-executor.spec.ts @@ -44,7 +44,7 @@ describe('Validation of AllowlistConstraintExecutor', () => { input: string, value: InternalValueRepresentation, ): Promise { - const document = await parse(input, { validationChecks: 'all' }); + const document = await parse(input, { validation: true }); expectNoParserAndLexerErrors(document); const usageBlock = locator.getAstNode( diff --git a/libs/execution/src/lib/constraints/executors/denylist-constraint-executor.spec.ts b/libs/execution/src/lib/constraints/executors/denylist-constraint-executor.spec.ts index 86e08e0f5..8a0fefb03 100644 --- a/libs/execution/src/lib/constraints/executors/denylist-constraint-executor.spec.ts +++ b/libs/execution/src/lib/constraints/executors/denylist-constraint-executor.spec.ts @@ -44,7 +44,7 @@ describe('Validation of DenylistConstraintExecutor', () => { input: string, value: InternalValueRepresentation, ): Promise { - const document = await parse(input, { validationChecks: 'all' }); + const document = await parse(input, { validation: true }); expectNoParserAndLexerErrors(document); const usageBlock = locator.getAstNode( diff --git a/libs/execution/src/lib/constraints/executors/length-constraint-executor.spec.ts b/libs/execution/src/lib/constraints/executors/length-constraint-executor.spec.ts index e8dfec3a1..c12aa1c9a 100644 --- a/libs/execution/src/lib/constraints/executors/length-constraint-executor.spec.ts +++ b/libs/execution/src/lib/constraints/executors/length-constraint-executor.spec.ts @@ -44,7 +44,7 @@ describe('Validation of LengthConstraintExecutor', () => { input: string, value: InternalValueRepresentation, ): Promise { - const document = await parse(input, { validationChecks: 'all' }); + const document = await parse(input, { validation: true }); expectNoParserAndLexerErrors(document); const usageBlock = locator.getAstNode( diff --git a/libs/execution/src/lib/constraints/executors/range-constraint-executor.spec.ts b/libs/execution/src/lib/constraints/executors/range-constraint-executor.spec.ts index 571be846c..25d7729a1 100644 --- a/libs/execution/src/lib/constraints/executors/range-constraint-executor.spec.ts +++ b/libs/execution/src/lib/constraints/executors/range-constraint-executor.spec.ts @@ -45,7 +45,7 @@ describe('Validation of RangeConstraintExecutor', () => { input: string, value: InternalValueRepresentation, ): Promise { - const document = await parse(input, { validationChecks: 'all' }); + const document = await parse(input, { validation: true }); expectNoParserAndLexerErrors(document); const usageBlock = locator.getAstNode( diff --git a/libs/execution/src/lib/constraints/executors/regex-constraint-executor.spec.ts b/libs/execution/src/lib/constraints/executors/regex-constraint-executor.spec.ts index 8bbd9aceb..e1b9c764f 100644 --- a/libs/execution/src/lib/constraints/executors/regex-constraint-executor.spec.ts +++ b/libs/execution/src/lib/constraints/executors/regex-constraint-executor.spec.ts @@ -44,7 +44,7 @@ describe('Validation of RegexConstraintExecutor', () => { input: string, value: InternalValueRepresentation, ): Promise { - const document = await parse(input, { validationChecks: 'all' }); + const document = await parse(input, { validation: true }); expectNoParserAndLexerErrors(document); const usageBlock = locator.getAstNode( diff --git a/libs/execution/src/lib/logging/cached-logger.ts b/libs/execution/src/lib/logging/cached-logger.ts index 295247a09..4dcee74f9 100644 --- a/libs/execution/src/lib/logging/cached-logger.ts +++ b/libs/execution/src/lib/logging/cached-logger.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import * as chalk from 'chalk'; +import chalk from 'chalk'; import { type LangiumDocument } from 'langium'; import { type Range } from 'vscode-languageserver'; diff --git a/libs/execution/src/lib/transforms/transform-executor.spec.ts b/libs/execution/src/lib/transforms/transform-executor.spec.ts index 86d37bf1e..ca0ce5ec8 100644 --- a/libs/execution/src/lib/transforms/transform-executor.spec.ts +++ b/libs/execution/src/lib/transforms/transform-executor.spec.ts @@ -3,7 +3,7 @@ // SPDX-License-Identifier: AGPL-3.0-only import assert from 'node:assert'; -import * as path from 'node:path'; +import path from 'node:path'; import { type InternalValueRepresentation, diff --git a/libs/execution/test/utils/file-util.ts b/libs/execution/test/utils/file-util.ts index 915d58561..577812f5a 100644 --- a/libs/execution/test/utils/file-util.ts +++ b/libs/execution/test/utils/file-util.ts @@ -3,7 +3,7 @@ // SPDX-License-Identifier: AGPL-3.0-only import { readFileSync } from 'node:fs'; -import * as path from 'node:path'; +import path from 'node:path'; import { BinaryFile, diff --git a/libs/extensions/rdbms/exec/src/lib/postgres-loader-executor.spec.ts b/libs/extensions/rdbms/exec/src/lib/postgres-loader-executor.spec.ts index 20f204324..75cfa8de7 100644 --- a/libs/extensions/rdbms/exec/src/lib/postgres-loader-executor.spec.ts +++ b/libs/extensions/rdbms/exec/src/lib/postgres-loader-executor.spec.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import * as path from 'node:path'; +import path from 'node:path'; import * as R from '@jvalue/jayvee-execution'; import { diff --git a/libs/extensions/rdbms/exec/src/lib/sqlite-loader-executor.spec.ts b/libs/extensions/rdbms/exec/src/lib/sqlite-loader-executor.spec.ts index 6c6703233..06be7d520 100644 --- a/libs/extensions/rdbms/exec/src/lib/sqlite-loader-executor.spec.ts +++ b/libs/extensions/rdbms/exec/src/lib/sqlite-loader-executor.spec.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import * as path from 'node:path'; +import path from 'node:path'; import * as R from '@jvalue/jayvee-execution'; import { diff --git a/libs/extensions/std/exec/src/archive-interpreter-executor.spec.ts b/libs/extensions/std/exec/src/archive-interpreter-executor.spec.ts index 87cb4f5a2..73c3860fe 100644 --- a/libs/extensions/std/exec/src/archive-interpreter-executor.spec.ts +++ b/libs/extensions/std/exec/src/archive-interpreter-executor.spec.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import * as path from 'node:path'; +import path from 'node:path'; import * as R from '@jvalue/jayvee-execution'; import { @@ -57,7 +57,7 @@ describe('Validation of ArchiveInterpreterExecutor', () => { input: string, IOInput: R.BinaryFile, ): Promise> { - const document = await parse(input, { validationChecks: 'all' }); + const document = await parse(input, { validation: true }); expectNoParserAndLexerErrors(document); const block = locator.getAstNode( diff --git a/libs/extensions/std/exec/src/archive-interpreter-executor.ts b/libs/extensions/std/exec/src/archive-interpreter-executor.ts index 03377b3a2..73a96010e 100644 --- a/libs/extensions/std/exec/src/archive-interpreter-executor.ts +++ b/libs/extensions/std/exec/src/archive-interpreter-executor.ts @@ -3,7 +3,7 @@ // SPDX-License-Identifier: AGPL-3.0-only import { strict as assert } from 'node:assert'; -import * as path from 'node:path'; +import path from 'node:path'; import * as zlib from 'node:zlib'; import * as R from '@jvalue/jayvee-execution'; diff --git a/libs/extensions/std/exec/src/file-picker-executor.spec.ts b/libs/extensions/std/exec/src/file-picker-executor.spec.ts index c74b15cb7..0acae962e 100644 --- a/libs/extensions/std/exec/src/file-picker-executor.spec.ts +++ b/libs/extensions/std/exec/src/file-picker-executor.spec.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import * as path from 'node:path'; +import path from 'node:path'; import * as R from '@jvalue/jayvee-execution'; import { @@ -62,7 +62,7 @@ describe('Validation of FilePickerExecutor', () => { input: string, IOInput: R.FileSystem, ): Promise> { - const document = await parse(input, { validationChecks: 'all' }); + const document = await parse(input, { validation: true }); expectNoParserAndLexerErrors(document); const block = locator.getAstNode( diff --git a/libs/extensions/std/exec/src/gtfs-rt-interpreter-executor.spec.ts b/libs/extensions/std/exec/src/gtfs-rt-interpreter-executor.spec.ts index 566f7c1d4..150d0c5de 100644 --- a/libs/extensions/std/exec/src/gtfs-rt-interpreter-executor.spec.ts +++ b/libs/extensions/std/exec/src/gtfs-rt-interpreter-executor.spec.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import * as path from 'node:path'; +import path from 'node:path'; import * as R from '@jvalue/jayvee-execution'; import { @@ -58,7 +58,7 @@ describe('Validation of GtfsRTInterpreterExecutor', () => { input: string, IOInput: R.BinaryFile, ): Promise> { - const document = await parse(input, { validationChecks: 'all' }); + const document = await parse(input, { validation: true }); expectNoParserAndLexerErrors(document); const block = locator.getAstNode( diff --git a/libs/extensions/std/exec/src/http-extractor-executor.spec.ts b/libs/extensions/std/exec/src/http-extractor-executor.spec.ts index 2cce2a71d..be6e4eb7a 100644 --- a/libs/extensions/std/exec/src/http-extractor-executor.spec.ts +++ b/libs/extensions/std/exec/src/http-extractor-executor.spec.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import * as path from 'node:path'; +import path from 'node:path'; import * as R from '@jvalue/jayvee-execution'; import { getTestExecutionContext } from '@jvalue/jayvee-execution/test'; diff --git a/libs/extensions/std/exec/src/http-extractor-executor.ts b/libs/extensions/std/exec/src/http-extractor-executor.ts index 3ec5b610c..2f5c86646 100644 --- a/libs/extensions/std/exec/src/http-extractor-executor.ts +++ b/libs/extensions/std/exec/src/http-extractor-executor.ts @@ -3,7 +3,7 @@ // SPDX-License-Identifier: AGPL-3.0-only import { strict as assert } from 'node:assert'; -import * as path from 'node:path'; +import path from 'node:path'; import * as R from '@jvalue/jayvee-execution'; import { diff --git a/libs/extensions/std/exec/src/local-file-extractor-executor.spec.ts b/libs/extensions/std/exec/src/local-file-extractor-executor.spec.ts index 6b3f5e573..b06200362 100644 --- a/libs/extensions/std/exec/src/local-file-extractor-executor.spec.ts +++ b/libs/extensions/std/exec/src/local-file-extractor-executor.spec.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import * as path from 'node:path'; +import path from 'node:path'; import * as R from '@jvalue/jayvee-execution'; import { getTestExecutionContext } from '@jvalue/jayvee-execution/test'; diff --git a/libs/extensions/std/exec/src/local-file-extractor-executor.ts b/libs/extensions/std/exec/src/local-file-extractor-executor.ts index 9413e4eb0..23ea6780b 100644 --- a/libs/extensions/std/exec/src/local-file-extractor-executor.ts +++ b/libs/extensions/std/exec/src/local-file-extractor-executor.ts @@ -3,7 +3,7 @@ // SPDX-License-Identifier: AGPL-3.0-only import * as fs from 'node:fs/promises'; -import * as path from 'node:path'; +import path from 'node:path'; import * as R from '@jvalue/jayvee-execution'; import { diff --git a/libs/extensions/std/exec/src/text-file-interpreter-executor.spec.ts b/libs/extensions/std/exec/src/text-file-interpreter-executor.spec.ts index 7aa315198..2dcbe3141 100644 --- a/libs/extensions/std/exec/src/text-file-interpreter-executor.spec.ts +++ b/libs/extensions/std/exec/src/text-file-interpreter-executor.spec.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import * as path from 'node:path'; +import path from 'node:path'; import * as R from '@jvalue/jayvee-execution'; import { @@ -58,7 +58,7 @@ describe('Validation of TextFileInterpreterExecutor', () => { input: string, IOInput: R.BinaryFile, ): Promise> { - const document = await parse(input, { validationChecks: 'all' }); + const document = await parse(input, { validation: true }); expectNoParserAndLexerErrors(document); const block = locator.getAstNode( diff --git a/libs/extensions/std/exec/src/text-line-deleter-executor.spec.ts b/libs/extensions/std/exec/src/text-line-deleter-executor.spec.ts index 4ccad22a4..adeb91588 100644 --- a/libs/extensions/std/exec/src/text-line-deleter-executor.spec.ts +++ b/libs/extensions/std/exec/src/text-line-deleter-executor.spec.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import * as path from 'node:path'; +import path from 'node:path'; import * as R from '@jvalue/jayvee-execution'; import { @@ -58,7 +58,7 @@ describe('Validation of TextLineDeleterExecutor', () => { input: string, IOInput: R.TextFile, ): Promise> { - const document = await parse(input, { validationChecks: 'all' }); + const document = await parse(input, { validation: true }); expectNoParserAndLexerErrors(document); const block = locator.getAstNode( diff --git a/libs/extensions/std/exec/src/text-range-selector-executor.spec.ts b/libs/extensions/std/exec/src/text-range-selector-executor.spec.ts index 72a52f8d2..29a0eac4e 100644 --- a/libs/extensions/std/exec/src/text-range-selector-executor.spec.ts +++ b/libs/extensions/std/exec/src/text-range-selector-executor.spec.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import * as path from 'node:path'; +import path from 'node:path'; import * as R from '@jvalue/jayvee-execution'; import { @@ -58,7 +58,7 @@ describe('Validation of TextRangeSelectorExecutor', () => { input: string, IOInput: R.TextFile, ): Promise> { - const document = await parse(input, { validationChecks: 'all' }); + const document = await parse(input, { validation: true }); expectNoParserAndLexerErrors(document); const block = locator.getAstNode( diff --git a/libs/extensions/tabular/exec/src/lib/cell-range-selector-executor.spec.ts b/libs/extensions/tabular/exec/src/lib/cell-range-selector-executor.spec.ts index c0c091d78..1f03f6fc9 100644 --- a/libs/extensions/tabular/exec/src/lib/cell-range-selector-executor.spec.ts +++ b/libs/extensions/tabular/exec/src/lib/cell-range-selector-executor.spec.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import * as path from 'node:path'; +import path from 'node:path'; import * as R from '@jvalue/jayvee-execution'; import { getTestExecutionContext } from '@jvalue/jayvee-execution/test'; @@ -57,7 +57,7 @@ describe('Validation of CellRangeSelectorExecutor', () => { input: string, IOInput: R.Sheet, ): Promise> { - const document = await parse(input, { validationChecks: 'all' }); + const document = await parse(input, { validation: true }); expectNoParserAndLexerErrors(document); const block = locator.getAstNode( diff --git a/libs/extensions/tabular/exec/src/lib/cell-writer-executor.spec.ts b/libs/extensions/tabular/exec/src/lib/cell-writer-executor.spec.ts index f390e32c7..7f2c77a49 100644 --- a/libs/extensions/tabular/exec/src/lib/cell-writer-executor.spec.ts +++ b/libs/extensions/tabular/exec/src/lib/cell-writer-executor.spec.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import * as path from 'node:path'; +import path from 'node:path'; import * as R from '@jvalue/jayvee-execution'; import { getTestExecutionContext } from '@jvalue/jayvee-execution/test'; @@ -57,7 +57,7 @@ describe('Validation of CellWriterExecutor', () => { input: string, IOInput: R.Sheet, ): Promise> { - const document = await parse(input, { validationChecks: 'all' }); + const document = await parse(input, { validation: true }); expectNoParserAndLexerErrors(document); const block = locator.getAstNode( diff --git a/libs/extensions/tabular/exec/src/lib/column-deleter-executor.spec.ts b/libs/extensions/tabular/exec/src/lib/column-deleter-executor.spec.ts index ef0e48ea0..ca80bda84 100644 --- a/libs/extensions/tabular/exec/src/lib/column-deleter-executor.spec.ts +++ b/libs/extensions/tabular/exec/src/lib/column-deleter-executor.spec.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import * as path from 'node:path'; +import path from 'node:path'; import * as R from '@jvalue/jayvee-execution'; import { getTestExecutionContext } from '@jvalue/jayvee-execution/test'; @@ -57,7 +57,7 @@ describe('Validation of ColumnDeleterExecutor', () => { input: string, IOInput: R.Sheet, ): Promise> { - const document = await parse(input, { validationChecks: 'all' }); + const document = await parse(input, { validation: true }); expectNoParserAndLexerErrors(document); const block = locator.getAstNode( diff --git a/libs/extensions/tabular/exec/src/lib/csv-interpreter-executor.spec.ts b/libs/extensions/tabular/exec/src/lib/csv-interpreter-executor.spec.ts index 26cb2dc81..47be1e61b 100644 --- a/libs/extensions/tabular/exec/src/lib/csv-interpreter-executor.spec.ts +++ b/libs/extensions/tabular/exec/src/lib/csv-interpreter-executor.spec.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import * as path from 'node:path'; +import path from 'node:path'; import * as R from '@jvalue/jayvee-execution'; import { @@ -58,7 +58,7 @@ describe('Validation of CSVInterpreterExecutor', () => { input: string, IOInput: R.TextFile, ): Promise> { - const document = await parse(input, { validationChecks: 'all' }); + const document = await parse(input, { validation: true }); expectNoParserAndLexerErrors(document); const block = locator.getAstNode( diff --git a/libs/extensions/tabular/exec/src/lib/row-deleter-executor.spec.ts b/libs/extensions/tabular/exec/src/lib/row-deleter-executor.spec.ts index 82e0b7467..44d9106e6 100644 --- a/libs/extensions/tabular/exec/src/lib/row-deleter-executor.spec.ts +++ b/libs/extensions/tabular/exec/src/lib/row-deleter-executor.spec.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import * as path from 'node:path'; +import path from 'node:path'; import * as R from '@jvalue/jayvee-execution'; import { getTestExecutionContext } from '@jvalue/jayvee-execution/test'; @@ -57,7 +57,7 @@ describe('Validation of RowDeleterExecutor', () => { input: string, IOInput: R.Sheet, ): Promise> { - const document = await parse(input, { validationChecks: 'all' }); + const document = await parse(input, { validation: true }); expectNoParserAndLexerErrors(document); const block = locator.getAstNode( diff --git a/libs/extensions/tabular/exec/src/lib/sheet-picker-executor.spec.ts b/libs/extensions/tabular/exec/src/lib/sheet-picker-executor.spec.ts index a0c7c9dc3..d656e161e 100644 --- a/libs/extensions/tabular/exec/src/lib/sheet-picker-executor.spec.ts +++ b/libs/extensions/tabular/exec/src/lib/sheet-picker-executor.spec.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import * as path from 'node:path'; +import path from 'node:path'; import * as R from '@jvalue/jayvee-execution'; import { getTestExecutionContext } from '@jvalue/jayvee-execution/test'; @@ -57,7 +57,7 @@ describe('Validation of SheetPickerExecutor', () => { input: string, IOInput: R.Workbook, ): Promise> { - const document = await parse(input, { validationChecks: 'all' }); + const document = await parse(input, { validation: true }); expectNoParserAndLexerErrors(document); const block = locator.getAstNode( diff --git a/libs/extensions/tabular/exec/src/lib/table-interpreter-executor.spec.ts b/libs/extensions/tabular/exec/src/lib/table-interpreter-executor.spec.ts index f9318f9ce..cf41dfecd 100644 --- a/libs/extensions/tabular/exec/src/lib/table-interpreter-executor.spec.ts +++ b/libs/extensions/tabular/exec/src/lib/table-interpreter-executor.spec.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import * as path from 'node:path'; +import path from 'node:path'; import * as R from '@jvalue/jayvee-execution'; import { getTestExecutionContext } from '@jvalue/jayvee-execution/test'; @@ -57,7 +57,7 @@ describe('Validation of TableInterpreterExecutor', () => { input: string, IOInput: R.Sheet, ): Promise> { - const document = await parse(input, { validationChecks: 'all' }); + const document = await parse(input, { validation: true }); expectNoParserAndLexerErrors(document); const block = locator.getAstNode( diff --git a/libs/extensions/tabular/exec/src/lib/table-transformer-executor.spec.ts b/libs/extensions/tabular/exec/src/lib/table-transformer-executor.spec.ts index 13bd18905..e5d02126c 100644 --- a/libs/extensions/tabular/exec/src/lib/table-transformer-executor.spec.ts +++ b/libs/extensions/tabular/exec/src/lib/table-transformer-executor.spec.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import * as path from 'node:path'; +import path from 'node:path'; import * as R from '@jvalue/jayvee-execution'; import { getTestExecutionContext } from '@jvalue/jayvee-execution/test'; @@ -85,7 +85,7 @@ describe('Validation of TableTransformerExecutor', () => { input: string, IOInput: R.Table, ): Promise> { - const document = await parse(input, { validationChecks: 'all' }); + const document = await parse(input, { validation: true }); expectNoParserAndLexerErrors(document); const block = locator.getAstNode( diff --git a/libs/extensions/tabular/exec/src/lib/xlsx-interpreter-executor.spec.ts b/libs/extensions/tabular/exec/src/lib/xlsx-interpreter-executor.spec.ts index 0b724fefb..5ce21e68a 100644 --- a/libs/extensions/tabular/exec/src/lib/xlsx-interpreter-executor.spec.ts +++ b/libs/extensions/tabular/exec/src/lib/xlsx-interpreter-executor.spec.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import * as path from 'node:path'; +import path from 'node:path'; import * as R from '@jvalue/jayvee-execution'; import { @@ -67,7 +67,7 @@ describe('Validation of XLSXInterpreterExecutor', () => { input: string, IOInput: R.BinaryFile, ): Promise> { - const document = await parse(input, { validationChecks: 'all' }); + const document = await parse(input, { validation: true }); expectNoParserAndLexerErrors(document); const block = locator.getAstNode( diff --git a/libs/extensions/tabular/exec/test/util.ts b/libs/extensions/tabular/exec/test/util.ts index 4b9bb31ff..8e536d236 100644 --- a/libs/extensions/tabular/exec/test/util.ts +++ b/libs/extensions/tabular/exec/test/util.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import * as path from 'node:path'; +import path from 'node:path'; import { Table, diff --git a/libs/interpreter-lib/src/parsing-util.spec.ts b/libs/interpreter-lib/src/parsing-util.spec.ts index acc2d420f..a253399e4 100644 --- a/libs/interpreter-lib/src/parsing-util.spec.ts +++ b/libs/interpreter-lib/src/parsing-util.spec.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import * as path from 'node:path'; +import path from 'node:path'; import { CachedLogger, DiagnosticSeverity } from '@jvalue/jayvee-execution'; import { diff --git a/libs/interpreter-lib/src/parsing-util.ts b/libs/interpreter-lib/src/parsing-util.ts index 34911c816..8edccae71 100644 --- a/libs/interpreter-lib/src/parsing-util.ts +++ b/libs/interpreter-lib/src/parsing-util.ts @@ -3,7 +3,7 @@ // SPDX-License-Identifier: AGPL-3.0-only import * as fs from 'node:fs'; -import * as path from 'node:path'; +import path from 'node:path'; import { type Logger } from '@jvalue/jayvee-execution'; import { initializeWorkspace } from '@jvalue/jayvee-language-server'; diff --git a/libs/interpreter-lib/src/validation-checks/runtime-parameter-literal.spec.ts b/libs/interpreter-lib/src/validation-checks/runtime-parameter-literal.spec.ts index 14224ce20..e9b922b90 100644 --- a/libs/interpreter-lib/src/validation-checks/runtime-parameter-literal.spec.ts +++ b/libs/interpreter-lib/src/validation-checks/runtime-parameter-literal.spec.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import * as path from 'node:path'; +import path from 'node:path'; import { parseValueToInternalRepresentation } from '@jvalue/jayvee-execution'; import { diff --git a/libs/language-server/src/test/utils.ts b/libs/language-server/src/test/utils.ts index 7cb692655..045b89545 100644 --- a/libs/language-server/src/test/utils.ts +++ b/libs/language-server/src/test/utils.ts @@ -4,7 +4,7 @@ import { strict as assert } from 'node:assert'; import { readFileSync } from 'node:fs'; -import * as path from 'node:path'; +import path from 'node:path'; import { type AstNode, diff --git a/tools/scripts/check-for-invalid-windows-paths.mjs b/tools/scripts/check-for-invalid-windows-paths.mjs index c4b996b5b..4ff572516 100644 --- a/tools/scripts/check-for-invalid-windows-paths.mjs +++ b/tools/scripts/check-for-invalid-windows-paths.mjs @@ -3,7 +3,7 @@ // SPDX-License-Identifier: AGPL-3.0-only import * as fs from 'node:fs'; -import * as path from 'node:path'; +import path from 'node:path'; /** * Checks if a path contains characters not valid for windows. From 318651cba1155d75013a1f61fbd6153054c67ed6 Mon Sep 17 00:00:00 2001 From: Georg Schwarz Date: Mon, 6 May 2024 14:04:18 +0200 Subject: [PATCH 33/38] Don't import from "node:assert" to keep browser compatibility --- apps/docs-generator/src/user-doc-generator.ts | 1 + apps/docs/docs/dev/04-guides/02-working-with-the-ast.md | 4 +++- apps/language-server-web-worker/tsconfig.app.json | 2 +- libs/execution/src/lib/blocks/block-executor.ts | 3 ++- .../src/lib/constraints/constraint-executor-extension.ts | 3 ++- .../constraints/executors/expression-constraint-executor.ts | 3 ++- libs/execution/src/lib/execution-context.ts | 3 ++- libs/execution/src/lib/extension.ts | 3 ++- libs/execution/src/lib/logging/logger.ts | 3 ++- libs/execution/src/lib/transforms/transform-executor.spec.ts | 3 ++- libs/execution/src/lib/transforms/transform-executor.ts | 3 ++- libs/execution/src/lib/types/io-types/sheet.ts | 3 ++- libs/execution/src/lib/types/io-types/table.ts | 3 ++- .../lib/types/value-types/internal-representation-parsing.ts | 3 ++- .../lib/types/value-types/value-representation-validity.ts | 3 ++- .../lib/types/value-types/visitors/sql-column-type-visitor.ts | 3 ++- .../value-types/visitors/sql-value-representation-visitor.ts | 3 ++- .../rdbms/exec/test/mocks/postgres-loader-executor-mock.ts | 3 ++- .../rdbms/exec/test/mocks/sqlite-loader-executor-mock.ts | 3 ++- libs/extensions/std/exec/src/archive-interpreter-executor.ts | 3 ++- libs/extensions/std/exec/src/file-picker-executor.ts | 3 ++- libs/extensions/std/exec/src/http-extractor-executor.ts | 3 ++- libs/extensions/tabular/exec/src/lib/cell-writer-executor.ts | 3 ++- .../tabular/exec/src/lib/column-deleter-executor.ts | 3 ++- libs/extensions/tabular/exec/src/lib/row-deleter-executor.ts | 3 ++- .../tabular/exec/src/lib/table-interpreter-executor.ts | 3 ++- .../tabular/exec/src/lib/table-transformer-executor.ts | 3 ++- libs/interpreter-lib/src/interpreter.ts | 3 ++- libs/interpreter-lib/src/std-extension.spec.ts | 3 ++- .../src/lib/ast/expressions/evaluate-expression.ts | 3 ++- .../src/lib/ast/expressions/evaluation-context.ts | 3 ++- .../ast/expressions/evaluators/division-operator-evaluator.ts | 3 ++- .../lib/ast/expressions/evaluators/sqrt-operator-evaluator.ts | 3 ++- .../src/lib/ast/expressions/operator-evaluator.ts | 3 ++- .../expressions/type-computers/in-operator-type-computer.ts | 3 ++- libs/language-server/src/lib/ast/io-type.ts | 3 ++- .../src/lib/ast/wrappers/cell-range-wrapper.ts | 3 ++- libs/language-server/src/lib/ast/wrappers/pipe-wrapper.ts | 3 ++- libs/language-server/src/lib/ast/wrappers/pipeline-wrapper.ts | 3 ++- .../src/lib/ast/wrappers/typed-object/block-type-wrapper.ts | 3 ++- .../lib/ast/wrappers/typed-object/constrainttype-wrapper.ts | 3 ++- .../src/lib/ast/wrappers/util/cell-range-util.ts | 3 ++- .../src/lib/ast/wrappers/util/value-type-util.ts | 3 ++- .../src/lib/ast/wrappers/value-type/atomic-value-type.ts | 3 ++- .../src/lib/ast/wrappers/wrapper-factory-provider.ts | 3 ++- .../src/lib/completion/jayvee-completion-provider.ts | 3 ++- libs/language-server/src/lib/util/registry.ts | 3 ++- .../src/lib/validation/checks/block-type-definition.ts | 3 ++- .../src/lib/validation/checks/value-type-definition.ts | 3 ++- .../src/lib/validation/checks/value-type-reference.spec.ts | 3 ++- libs/language-server/src/lib/validation/validation-util.ts | 3 ++- libs/language-server/src/test/utils.ts | 3 ++- 52 files changed, 103 insertions(+), 51 deletions(-) diff --git a/apps/docs-generator/src/user-doc-generator.ts b/apps/docs-generator/src/user-doc-generator.ts index cf458fc66..771aa31dd 100644 --- a/apps/docs-generator/src/user-doc-generator.ts +++ b/apps/docs-generator/src/user-doc-generator.ts @@ -2,6 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0-only +// eslint-disable-next-line unicorn/prefer-node-protocol import { strict as assert } from 'assert'; import { diff --git a/apps/docs/docs/dev/04-guides/02-working-with-the-ast.md b/apps/docs/docs/dev/04-guides/02-working-with-the-ast.md index 895cae12c..bb5a300a3 100644 --- a/apps/docs/docs/dev/04-guides/02-working-with-the-ast.md +++ b/apps/docs/docs/dev/04-guides/02-working-with-the-ast.md @@ -124,7 +124,9 @@ After calling `assert`, the type system of TypeScript assumes the condition to b Here is an example of how to use it in practice: ```typescript -// Import the `assert` function like this: +// We use the `assert` function from the `assert` library, not `node:assert` (to preserve browser compatibility) + +// eslint-disable-next-line unicorn/prefer-node-protocol import { strict as assert } from 'assert'; import { A, B, isB } from './ast'; diff --git a/apps/language-server-web-worker/tsconfig.app.json b/apps/language-server-web-worker/tsconfig.app.json index d2aae0ebd..020db56ce 100644 --- a/apps/language-server-web-worker/tsconfig.app.json +++ b/apps/language-server-web-worker/tsconfig.app.json @@ -3,7 +3,7 @@ "compilerOptions": { "outDir": "../../dist/out-tsc", "module": "esnext", - "lib": ["esnext", "DOM", "WebWorker"] + "lib": ["esnext", "DOM", "WebWorker"], }, "exclude": ["src/**/*.spec.ts", "src/**/*.test.ts"], "include": ["src/**/*.ts"] diff --git a/libs/execution/src/lib/blocks/block-executor.ts b/libs/execution/src/lib/blocks/block-executor.ts index 119b29cad..c0126c221 100644 --- a/libs/execution/src/lib/blocks/block-executor.ts +++ b/libs/execution/src/lib/blocks/block-executor.ts @@ -2,7 +2,8 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import { strict as assert } from 'node:assert'; +// eslint-disable-next-line unicorn/prefer-node-protocol +import { strict as assert } from 'assert'; import { type IOType, isBlockDefinition } from '@jvalue/jayvee-language-server'; diff --git a/libs/execution/src/lib/constraints/constraint-executor-extension.ts b/libs/execution/src/lib/constraints/constraint-executor-extension.ts index 07abe9e39..e7fa23956 100644 --- a/libs/execution/src/lib/constraints/constraint-executor-extension.ts +++ b/libs/execution/src/lib/constraints/constraint-executor-extension.ts @@ -2,7 +2,8 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import { strict as assert } from 'node:assert'; +// eslint-disable-next-line unicorn/prefer-node-protocol +import { strict as assert } from 'assert'; import { type ConstraintDefinition, diff --git a/libs/execution/src/lib/constraints/executors/expression-constraint-executor.ts b/libs/execution/src/lib/constraints/executors/expression-constraint-executor.ts index 9e21f7132..ac019538f 100644 --- a/libs/execution/src/lib/constraints/executors/expression-constraint-executor.ts +++ b/libs/execution/src/lib/constraints/executors/expression-constraint-executor.ts @@ -2,7 +2,8 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import { strict as assert } from 'node:assert'; +// eslint-disable-next-line unicorn/prefer-node-protocol +import { strict as assert } from 'assert'; import { type AstNodeWrapper, diff --git a/libs/execution/src/lib/execution-context.ts b/libs/execution/src/lib/execution-context.ts index ad6680b7c..8c6c9a1b5 100644 --- a/libs/execution/src/lib/execution-context.ts +++ b/libs/execution/src/lib/execution-context.ts @@ -2,7 +2,8 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import { strict as assert } from 'node:assert'; +// eslint-disable-next-line unicorn/prefer-node-protocol +import { strict as assert } from 'assert'; import { type BlockDefinition, diff --git a/libs/execution/src/lib/extension.ts b/libs/execution/src/lib/extension.ts index a5a18fd9d..a6b1c9af1 100644 --- a/libs/execution/src/lib/extension.ts +++ b/libs/execution/src/lib/extension.ts @@ -2,7 +2,8 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import { strict as assert } from 'node:assert'; +// eslint-disable-next-line unicorn/prefer-node-protocol +import { strict as assert } from 'assert'; import { type BlockDefinition, diff --git a/libs/execution/src/lib/logging/logger.ts b/libs/execution/src/lib/logging/logger.ts index 74b42fdf1..7dc91f3f9 100644 --- a/libs/execution/src/lib/logging/logger.ts +++ b/libs/execution/src/lib/logging/logger.ts @@ -2,7 +2,8 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import { strict as assert } from 'node:assert'; +// eslint-disable-next-line unicorn/prefer-node-protocol +import { strict as assert } from 'assert'; import { type AstNode, diff --git a/libs/execution/src/lib/transforms/transform-executor.spec.ts b/libs/execution/src/lib/transforms/transform-executor.spec.ts index ca0ce5ec8..dd1bf462e 100644 --- a/libs/execution/src/lib/transforms/transform-executor.spec.ts +++ b/libs/execution/src/lib/transforms/transform-executor.spec.ts @@ -2,7 +2,8 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import assert from 'node:assert'; +// eslint-disable-next-line unicorn/prefer-node-protocol +import assert from 'assert'; import path from 'node:path'; import { diff --git a/libs/execution/src/lib/transforms/transform-executor.ts b/libs/execution/src/lib/transforms/transform-executor.ts index 08c749f7d..471453b05 100644 --- a/libs/execution/src/lib/transforms/transform-executor.ts +++ b/libs/execution/src/lib/transforms/transform-executor.ts @@ -2,7 +2,8 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import { strict as assert } from 'node:assert'; +// eslint-disable-next-line unicorn/prefer-node-protocol +import { strict as assert } from 'assert'; import { type InternalValueRepresentation, diff --git a/libs/execution/src/lib/types/io-types/sheet.ts b/libs/execution/src/lib/types/io-types/sheet.ts index d728abcc2..70989b1e8 100644 --- a/libs/execution/src/lib/types/io-types/sheet.ts +++ b/libs/execution/src/lib/types/io-types/sheet.ts @@ -2,7 +2,8 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import { strict as assert } from 'node:assert'; +// eslint-disable-next-line unicorn/prefer-node-protocol +import { strict as assert } from 'assert'; import { CellIndex, diff --git a/libs/execution/src/lib/types/io-types/table.ts b/libs/execution/src/lib/types/io-types/table.ts index d87e84e53..a037c52f0 100644 --- a/libs/execution/src/lib/types/io-types/table.ts +++ b/libs/execution/src/lib/types/io-types/table.ts @@ -2,7 +2,8 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import { strict as assert } from 'node:assert'; +// eslint-disable-next-line unicorn/prefer-node-protocol +import { strict as assert } from 'assert'; import { IOType, diff --git a/libs/execution/src/lib/types/value-types/internal-representation-parsing.ts b/libs/execution/src/lib/types/value-types/internal-representation-parsing.ts index cefa84e44..860bf488d 100644 --- a/libs/execution/src/lib/types/value-types/internal-representation-parsing.ts +++ b/libs/execution/src/lib/types/value-types/internal-representation-parsing.ts @@ -2,7 +2,8 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import { strict as assert } from 'node:assert'; +// eslint-disable-next-line unicorn/prefer-node-protocol +import { strict as assert } from 'assert'; import { type AtomicValueType, diff --git a/libs/execution/src/lib/types/value-types/value-representation-validity.ts b/libs/execution/src/lib/types/value-types/value-representation-validity.ts index 635374905..a99b71b0d 100644 --- a/libs/execution/src/lib/types/value-types/value-representation-validity.ts +++ b/libs/execution/src/lib/types/value-types/value-representation-validity.ts @@ -2,7 +2,8 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import { strict as assert } from 'node:assert'; +// eslint-disable-next-line unicorn/prefer-node-protocol +import { strict as assert } from 'assert'; import { type AtomicValueType, diff --git a/libs/execution/src/lib/types/value-types/visitors/sql-column-type-visitor.ts b/libs/execution/src/lib/types/value-types/visitors/sql-column-type-visitor.ts index b31f143be..538594ba0 100644 --- a/libs/execution/src/lib/types/value-types/visitors/sql-column-type-visitor.ts +++ b/libs/execution/src/lib/types/value-types/visitors/sql-column-type-visitor.ts @@ -2,7 +2,8 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import { strict as assert } from 'node:assert'; +// eslint-disable-next-line unicorn/prefer-node-protocol +import { strict as assert } from 'assert'; import { type AtomicValueType, diff --git a/libs/execution/src/lib/types/value-types/visitors/sql-value-representation-visitor.ts b/libs/execution/src/lib/types/value-types/visitors/sql-value-representation-visitor.ts index bbb46c5d5..08fc10842 100644 --- a/libs/execution/src/lib/types/value-types/visitors/sql-value-representation-visitor.ts +++ b/libs/execution/src/lib/types/value-types/visitors/sql-value-representation-visitor.ts @@ -2,7 +2,8 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import { strict as assert } from 'node:assert'; +// eslint-disable-next-line unicorn/prefer-node-protocol +import { strict as assert } from 'assert'; import { type AtomicValueType, diff --git a/libs/extensions/rdbms/exec/test/mocks/postgres-loader-executor-mock.ts b/libs/extensions/rdbms/exec/test/mocks/postgres-loader-executor-mock.ts index 9ba8fcdf3..7e0d7d8ac 100644 --- a/libs/extensions/rdbms/exec/test/mocks/postgres-loader-executor-mock.ts +++ b/libs/extensions/rdbms/exec/test/mocks/postgres-loader-executor-mock.ts @@ -2,7 +2,8 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import assert from 'node:assert'; +// eslint-disable-next-line unicorn/prefer-node-protocol +import assert from 'assert'; import { type BlockExecutorMock } from '@jvalue/jayvee-execution/test'; import pg from 'pg'; diff --git a/libs/extensions/rdbms/exec/test/mocks/sqlite-loader-executor-mock.ts b/libs/extensions/rdbms/exec/test/mocks/sqlite-loader-executor-mock.ts index 4a8e6b23d..c7e80a1e6 100644 --- a/libs/extensions/rdbms/exec/test/mocks/sqlite-loader-executor-mock.ts +++ b/libs/extensions/rdbms/exec/test/mocks/sqlite-loader-executor-mock.ts @@ -2,7 +2,8 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import assert from 'node:assert'; +// eslint-disable-next-line unicorn/prefer-node-protocol +import assert from 'assert'; import { type BlockExecutorMock } from '@jvalue/jayvee-execution/test'; import sqlite3 from 'sqlite3'; diff --git a/libs/extensions/std/exec/src/archive-interpreter-executor.ts b/libs/extensions/std/exec/src/archive-interpreter-executor.ts index 73a96010e..f37724127 100644 --- a/libs/extensions/std/exec/src/archive-interpreter-executor.ts +++ b/libs/extensions/std/exec/src/archive-interpreter-executor.ts @@ -2,7 +2,8 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import { strict as assert } from 'node:assert'; +// eslint-disable-next-line unicorn/prefer-node-protocol +import { strict as assert } from 'assert'; import path from 'node:path'; import * as zlib from 'node:zlib'; diff --git a/libs/extensions/std/exec/src/file-picker-executor.ts b/libs/extensions/std/exec/src/file-picker-executor.ts index cb0dbb983..8f7f6afcc 100644 --- a/libs/extensions/std/exec/src/file-picker-executor.ts +++ b/libs/extensions/std/exec/src/file-picker-executor.ts @@ -2,7 +2,8 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import { strict as assert } from 'node:assert'; +// eslint-disable-next-line unicorn/prefer-node-protocol +import { strict as assert } from 'assert'; import * as R from '@jvalue/jayvee-execution'; import { diff --git a/libs/extensions/std/exec/src/http-extractor-executor.ts b/libs/extensions/std/exec/src/http-extractor-executor.ts index 2f5c86646..ffada2a6a 100644 --- a/libs/extensions/std/exec/src/http-extractor-executor.ts +++ b/libs/extensions/std/exec/src/http-extractor-executor.ts @@ -2,7 +2,8 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import { strict as assert } from 'node:assert'; +// eslint-disable-next-line unicorn/prefer-node-protocol +import { strict as assert } from 'assert'; import path from 'node:path'; import * as R from '@jvalue/jayvee-execution'; diff --git a/libs/extensions/tabular/exec/src/lib/cell-writer-executor.ts b/libs/extensions/tabular/exec/src/lib/cell-writer-executor.ts index b6f797bd3..08199135e 100644 --- a/libs/extensions/tabular/exec/src/lib/cell-writer-executor.ts +++ b/libs/extensions/tabular/exec/src/lib/cell-writer-executor.ts @@ -2,7 +2,8 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import { strict as assert } from 'node:assert'; +// eslint-disable-next-line unicorn/prefer-node-protocol +import { strict as assert } from 'assert'; import * as R from '@jvalue/jayvee-execution'; import { diff --git a/libs/extensions/tabular/exec/src/lib/column-deleter-executor.ts b/libs/extensions/tabular/exec/src/lib/column-deleter-executor.ts index 69223a4a2..53b7f0d8f 100644 --- a/libs/extensions/tabular/exec/src/lib/column-deleter-executor.ts +++ b/libs/extensions/tabular/exec/src/lib/column-deleter-executor.ts @@ -2,7 +2,8 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import { strict as assert } from 'node:assert'; +// eslint-disable-next-line unicorn/prefer-node-protocol +import { strict as assert } from 'assert'; import * as R from '@jvalue/jayvee-execution'; import { diff --git a/libs/extensions/tabular/exec/src/lib/row-deleter-executor.ts b/libs/extensions/tabular/exec/src/lib/row-deleter-executor.ts index 29362949d..f0509a032 100644 --- a/libs/extensions/tabular/exec/src/lib/row-deleter-executor.ts +++ b/libs/extensions/tabular/exec/src/lib/row-deleter-executor.ts @@ -2,7 +2,8 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import { strict as assert } from 'node:assert'; +// eslint-disable-next-line unicorn/prefer-node-protocol +import { strict as assert } from 'assert'; import * as R from '@jvalue/jayvee-execution'; import { diff --git a/libs/extensions/tabular/exec/src/lib/table-interpreter-executor.ts b/libs/extensions/tabular/exec/src/lib/table-interpreter-executor.ts index 748df5c13..ffab27b84 100644 --- a/libs/extensions/tabular/exec/src/lib/table-interpreter-executor.ts +++ b/libs/extensions/tabular/exec/src/lib/table-interpreter-executor.ts @@ -2,7 +2,8 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import { strict as assert } from 'node:assert'; +// eslint-disable-next-line unicorn/prefer-node-protocol +import { strict as assert } from 'assert'; import * as R from '@jvalue/jayvee-execution'; import { diff --git a/libs/extensions/tabular/exec/src/lib/table-transformer-executor.ts b/libs/extensions/tabular/exec/src/lib/table-transformer-executor.ts index 6ba55edee..9d5240748 100644 --- a/libs/extensions/tabular/exec/src/lib/table-transformer-executor.ts +++ b/libs/extensions/tabular/exec/src/lib/table-transformer-executor.ts @@ -2,7 +2,8 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import { strict as assert } from 'node:assert'; +// eslint-disable-next-line unicorn/prefer-node-protocol +import { strict as assert } from 'assert'; import * as R from '@jvalue/jayvee-execution'; import { diff --git a/libs/interpreter-lib/src/interpreter.ts b/libs/interpreter-lib/src/interpreter.ts index 35e95683e..1d8fb72c3 100644 --- a/libs/interpreter-lib/src/interpreter.ts +++ b/libs/interpreter-lib/src/interpreter.ts @@ -2,7 +2,8 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import { strict as assert } from 'node:assert'; +// eslint-disable-next-line unicorn/prefer-node-protocol +import { strict as assert } from 'assert'; import * as R from '@jvalue/jayvee-execution'; import { diff --git a/libs/interpreter-lib/src/std-extension.spec.ts b/libs/interpreter-lib/src/std-extension.spec.ts index 55e06041b..aa30d9654 100644 --- a/libs/interpreter-lib/src/std-extension.spec.ts +++ b/libs/interpreter-lib/src/std-extension.spec.ts @@ -2,7 +2,8 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import { strict as assert } from 'node:assert'; +// eslint-disable-next-line unicorn/prefer-node-protocol +import { strict as assert } from 'assert'; import { StdExecExtension } from '@jvalue/jayvee-extensions/std/exec'; import { diff --git a/libs/language-server/src/lib/ast/expressions/evaluate-expression.ts b/libs/language-server/src/lib/ast/expressions/evaluate-expression.ts index 051329c87..ae193ec52 100644 --- a/libs/language-server/src/lib/ast/expressions/evaluate-expression.ts +++ b/libs/language-server/src/lib/ast/expressions/evaluate-expression.ts @@ -2,7 +2,8 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import { strict as assert } from 'node:assert'; +// eslint-disable-next-line unicorn/prefer-node-protocol +import { strict as assert } from 'assert'; import { assertUnreachable } from 'langium'; diff --git a/libs/language-server/src/lib/ast/expressions/evaluation-context.ts b/libs/language-server/src/lib/ast/expressions/evaluation-context.ts index 4d3c44c28..e24837944 100644 --- a/libs/language-server/src/lib/ast/expressions/evaluation-context.ts +++ b/libs/language-server/src/lib/ast/expressions/evaluation-context.ts @@ -2,7 +2,8 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import { strict as assert } from 'node:assert'; +// eslint-disable-next-line unicorn/prefer-node-protocol +import { strict as assert } from 'assert'; import { assertUnreachable } from 'langium'; diff --git a/libs/language-server/src/lib/ast/expressions/evaluators/division-operator-evaluator.ts b/libs/language-server/src/lib/ast/expressions/evaluators/division-operator-evaluator.ts index 277e89bee..7351211de 100644 --- a/libs/language-server/src/lib/ast/expressions/evaluators/division-operator-evaluator.ts +++ b/libs/language-server/src/lib/ast/expressions/evaluators/division-operator-evaluator.ts @@ -2,7 +2,8 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import { strict as assert } from 'node:assert'; +// eslint-disable-next-line unicorn/prefer-node-protocol +import { strict as assert } from 'assert'; import { type ValidationContext } from '../../../validation/validation-context'; import { type BinaryExpression } from '../../generated/ast'; diff --git a/libs/language-server/src/lib/ast/expressions/evaluators/sqrt-operator-evaluator.ts b/libs/language-server/src/lib/ast/expressions/evaluators/sqrt-operator-evaluator.ts index e95b6fe15..1c169fc93 100644 --- a/libs/language-server/src/lib/ast/expressions/evaluators/sqrt-operator-evaluator.ts +++ b/libs/language-server/src/lib/ast/expressions/evaluators/sqrt-operator-evaluator.ts @@ -2,7 +2,8 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import { strict as assert } from 'node:assert'; +// eslint-disable-next-line unicorn/prefer-node-protocol +import { strict as assert } from 'assert'; import { type ValidationContext } from '../../../validation/validation-context'; import { type UnaryExpression } from '../../generated/ast'; diff --git a/libs/language-server/src/lib/ast/expressions/operator-evaluator.ts b/libs/language-server/src/lib/ast/expressions/operator-evaluator.ts index 9ee292330..8985bf935 100644 --- a/libs/language-server/src/lib/ast/expressions/operator-evaluator.ts +++ b/libs/language-server/src/lib/ast/expressions/operator-evaluator.ts @@ -2,7 +2,8 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import { strict as assert } from 'node:assert'; +// eslint-disable-next-line unicorn/prefer-node-protocol +import { strict as assert } from 'assert'; import { type ValidationContext } from '../../validation/validation-context'; import { diff --git a/libs/language-server/src/lib/ast/expressions/type-computers/in-operator-type-computer.ts b/libs/language-server/src/lib/ast/expressions/type-computers/in-operator-type-computer.ts index 3dad1cc96..7a7b7e09f 100644 --- a/libs/language-server/src/lib/ast/expressions/type-computers/in-operator-type-computer.ts +++ b/libs/language-server/src/lib/ast/expressions/type-computers/in-operator-type-computer.ts @@ -2,7 +2,8 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import { strict as assert } from 'node:assert'; +// eslint-disable-next-line unicorn/prefer-node-protocol +import { strict as assert } from 'assert'; import { type ValidationContext } from '../../../validation/validation-context'; import { type BinaryExpression } from '../../generated/ast'; diff --git a/libs/language-server/src/lib/ast/io-type.ts b/libs/language-server/src/lib/ast/io-type.ts index 21612ab15..1ae880346 100644 --- a/libs/language-server/src/lib/ast/io-type.ts +++ b/libs/language-server/src/lib/ast/io-type.ts @@ -2,7 +2,8 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import { strict as assert } from 'node:assert'; +// eslint-disable-next-line unicorn/prefer-node-protocol +import { strict as assert } from 'assert'; import { type BlockTypeInput, type BlockTypeOutput } from './generated/ast'; diff --git a/libs/language-server/src/lib/ast/wrappers/cell-range-wrapper.ts b/libs/language-server/src/lib/ast/wrappers/cell-range-wrapper.ts index 2c85bf5de..9a8f8e877 100644 --- a/libs/language-server/src/lib/ast/wrappers/cell-range-wrapper.ts +++ b/libs/language-server/src/lib/ast/wrappers/cell-range-wrapper.ts @@ -2,7 +2,8 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import { strict as assert } from 'node:assert'; +// eslint-disable-next-line unicorn/prefer-node-protocol +import { strict as assert } from 'assert'; import { assertUnreachable } from 'langium'; diff --git a/libs/language-server/src/lib/ast/wrappers/pipe-wrapper.ts b/libs/language-server/src/lib/ast/wrappers/pipe-wrapper.ts index 2e103a82d..fb627290a 100644 --- a/libs/language-server/src/lib/ast/wrappers/pipe-wrapper.ts +++ b/libs/language-server/src/lib/ast/wrappers/pipe-wrapper.ts @@ -2,7 +2,8 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import { strict as assert } from 'node:assert'; +// eslint-disable-next-line unicorn/prefer-node-protocol +import { strict as assert } from 'assert'; import { type DiagnosticInfo } from 'langium'; diff --git a/libs/language-server/src/lib/ast/wrappers/pipeline-wrapper.ts b/libs/language-server/src/lib/ast/wrappers/pipeline-wrapper.ts index 0eda6ba58..03e9f3de8 100644 --- a/libs/language-server/src/lib/ast/wrappers/pipeline-wrapper.ts +++ b/libs/language-server/src/lib/ast/wrappers/pipeline-wrapper.ts @@ -2,7 +2,8 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import { strict as assert } from 'node:assert'; +// eslint-disable-next-line unicorn/prefer-node-protocol +import { strict as assert } from 'assert'; import { type BlockDefinition, diff --git a/libs/language-server/src/lib/ast/wrappers/typed-object/block-type-wrapper.ts b/libs/language-server/src/lib/ast/wrappers/typed-object/block-type-wrapper.ts index 1c6981044..f61dd2c71 100644 --- a/libs/language-server/src/lib/ast/wrappers/typed-object/block-type-wrapper.ts +++ b/libs/language-server/src/lib/ast/wrappers/typed-object/block-type-wrapper.ts @@ -2,7 +2,8 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import { strict as assert } from 'node:assert'; +// eslint-disable-next-line unicorn/prefer-node-protocol +import { strict as assert } from 'assert'; import { type Reference, isReference } from 'langium'; diff --git a/libs/language-server/src/lib/ast/wrappers/typed-object/constrainttype-wrapper.ts b/libs/language-server/src/lib/ast/wrappers/typed-object/constrainttype-wrapper.ts index 49efc8281..1889c53e4 100644 --- a/libs/language-server/src/lib/ast/wrappers/typed-object/constrainttype-wrapper.ts +++ b/libs/language-server/src/lib/ast/wrappers/typed-object/constrainttype-wrapper.ts @@ -2,7 +2,8 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import { strict as assert } from 'node:assert'; +// eslint-disable-next-line unicorn/prefer-node-protocol +import { strict as assert } from 'assert'; import { type Reference, isReference } from 'langium'; diff --git a/libs/language-server/src/lib/ast/wrappers/util/cell-range-util.ts b/libs/language-server/src/lib/ast/wrappers/util/cell-range-util.ts index bb45d9767..cf62d4540 100644 --- a/libs/language-server/src/lib/ast/wrappers/util/cell-range-util.ts +++ b/libs/language-server/src/lib/ast/wrappers/util/cell-range-util.ts @@ -2,7 +2,8 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import { strict as assert } from 'node:assert'; +// eslint-disable-next-line unicorn/prefer-node-protocol +import { strict as assert } from 'assert'; import { isCellLiteral, diff --git a/libs/language-server/src/lib/ast/wrappers/util/value-type-util.ts b/libs/language-server/src/lib/ast/wrappers/util/value-type-util.ts index d9643080f..2451431cf 100644 --- a/libs/language-server/src/lib/ast/wrappers/util/value-type-util.ts +++ b/libs/language-server/src/lib/ast/wrappers/util/value-type-util.ts @@ -2,7 +2,8 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import { strict as assert } from 'node:assert'; +// eslint-disable-next-line unicorn/prefer-node-protocol +import { strict as assert } from 'assert'; import { type AtomicValueType, diff --git a/libs/language-server/src/lib/ast/wrappers/value-type/atomic-value-type.ts b/libs/language-server/src/lib/ast/wrappers/value-type/atomic-value-type.ts index dc71120ff..ddacba036 100644 --- a/libs/language-server/src/lib/ast/wrappers/value-type/atomic-value-type.ts +++ b/libs/language-server/src/lib/ast/wrappers/value-type/atomic-value-type.ts @@ -2,7 +2,8 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import { strict as assert } from 'node:assert'; +// eslint-disable-next-line unicorn/prefer-node-protocol +import { strict as assert } from 'assert'; import { evaluateExpression } from '../../expressions/evaluate-expression'; import { type EvaluationContext } from '../../expressions/evaluation-context'; diff --git a/libs/language-server/src/lib/ast/wrappers/wrapper-factory-provider.ts b/libs/language-server/src/lib/ast/wrappers/wrapper-factory-provider.ts index 017a9b57f..c94d3058d 100644 --- a/libs/language-server/src/lib/ast/wrappers/wrapper-factory-provider.ts +++ b/libs/language-server/src/lib/ast/wrappers/wrapper-factory-provider.ts @@ -2,7 +2,8 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import { strict as assert } from 'node:assert'; +// eslint-disable-next-line unicorn/prefer-node-protocol +import { strict as assert } from 'assert'; import { type AstNode, diff --git a/libs/language-server/src/lib/completion/jayvee-completion-provider.ts b/libs/language-server/src/lib/completion/jayvee-completion-provider.ts index 949145888..9f3fc3256 100644 --- a/libs/language-server/src/lib/completion/jayvee-completion-provider.ts +++ b/libs/language-server/src/lib/completion/jayvee-completion-provider.ts @@ -2,7 +2,8 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import { strict as assert } from 'node:assert'; +// eslint-disable-next-line unicorn/prefer-node-protocol +import { strict as assert } from 'assert'; import { type LangiumDocuments, type MaybePromise } from 'langium'; import { diff --git a/libs/language-server/src/lib/util/registry.ts b/libs/language-server/src/lib/util/registry.ts index 7ed8a677b..4aa6bb65e 100644 --- a/libs/language-server/src/lib/util/registry.ts +++ b/libs/language-server/src/lib/util/registry.ts @@ -2,7 +2,8 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import { strict as assert } from 'node:assert'; +// eslint-disable-next-line unicorn/prefer-node-protocol +import { strict as assert } from 'assert'; export class Registry { protected readonly registry = new Map(); diff --git a/libs/language-server/src/lib/validation/checks/block-type-definition.ts b/libs/language-server/src/lib/validation/checks/block-type-definition.ts index a25d0d2fd..4bbebd1fb 100644 --- a/libs/language-server/src/lib/validation/checks/block-type-definition.ts +++ b/libs/language-server/src/lib/validation/checks/block-type-definition.ts @@ -2,7 +2,8 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import { strict as assert } from 'node:assert'; +// eslint-disable-next-line unicorn/prefer-node-protocol +import { strict as assert } from 'assert'; import { type BlockTypeProperty, diff --git a/libs/language-server/src/lib/validation/checks/value-type-definition.ts b/libs/language-server/src/lib/validation/checks/value-type-definition.ts index 0a2684d9e..daa60be65 100644 --- a/libs/language-server/src/lib/validation/checks/value-type-definition.ts +++ b/libs/language-server/src/lib/validation/checks/value-type-definition.ts @@ -7,7 +7,8 @@ */ /* eslint-disable @typescript-eslint/no-unnecessary-condition */ -import { strict as assert } from 'node:assert'; +// eslint-disable-next-line unicorn/prefer-node-protocol +import { strict as assert } from 'assert'; import { assertUnreachable } from 'langium'; diff --git a/libs/language-server/src/lib/validation/checks/value-type-reference.spec.ts b/libs/language-server/src/lib/validation/checks/value-type-reference.spec.ts index 36d73ec00..96f5fd49a 100644 --- a/libs/language-server/src/lib/validation/checks/value-type-reference.spec.ts +++ b/libs/language-server/src/lib/validation/checks/value-type-reference.spec.ts @@ -2,7 +2,8 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import { strict as assert } from 'node:assert'; +// eslint-disable-next-line unicorn/prefer-node-protocol +import { strict as assert } from 'assert'; import { type AstNode, diff --git a/libs/language-server/src/lib/validation/validation-util.ts b/libs/language-server/src/lib/validation/validation-util.ts index e96862a15..5cd977dcb 100644 --- a/libs/language-server/src/lib/validation/validation-util.ts +++ b/libs/language-server/src/lib/validation/validation-util.ts @@ -2,7 +2,8 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import { strict as assert } from 'node:assert'; +// eslint-disable-next-line unicorn/prefer-node-protocol +import { strict as assert } from 'assert'; import { type AstNode, MultiMap, assertUnreachable } from 'langium'; diff --git a/libs/language-server/src/test/utils.ts b/libs/language-server/src/test/utils.ts index 045b89545..faa868c17 100644 --- a/libs/language-server/src/test/utils.ts +++ b/libs/language-server/src/test/utils.ts @@ -2,7 +2,8 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import { strict as assert } from 'node:assert'; +// eslint-disable-next-line unicorn/prefer-node-protocol +import { strict as assert } from 'assert'; import { readFileSync } from 'node:fs'; import path from 'node:path'; From 2c1963b845c28a1fffad65b97b9f4a183a952787 Mon Sep 17 00:00:00 2001 From: Georg Schwarz Date: Mon, 6 May 2024 14:09:31 +0200 Subject: [PATCH 34/38] Prevent import from "node:assert" --- .eslintrc.json | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/.eslintrc.json b/.eslintrc.json index fc6d4fc0b..b3a076454 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -39,7 +39,18 @@ "plugins": ["unicorn"], "rules": { "unicorn/prefer-node-protocol": "warn", - "unicorn/import-style": "warn" + "unicorn/import-style": "warn", + "no-restricted-imports": [ + "error", + { + "paths": [ + { + "name": "node:assert", + "message": "Please use the library `assert` instead to keep browser compatibility. You might need to disable rule `unicorn/prefer-node-protocol` to do so." + } + ] + } + ] } }, { From bac368be26d9e38cb1126bb53781a1d24fe65d61 Mon Sep 17 00:00:00 2001 From: Georg Schwarz Date: Mon, 6 May 2024 14:30:00 +0200 Subject: [PATCH 35/38] Don't run docs generation for docs app in parallel --- apps/docs/project.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/apps/docs/project.json b/apps/docs/project.json index 1b678d37b..e65276f19 100644 --- a/apps/docs/project.json +++ b/apps/docs/project.json @@ -21,7 +21,8 @@ "generate": { "executor": "nx:run-commands", "options": { - "command": "npx nx start docs-generator" + "command": "npx nx start docs-generator", + "parallel": false } }, "lint": { From 9e6c1c3b101d4c7187d1bffc0fe549e6868f3ea4 Mon Sep 17 00:00:00 2001 From: Georg Schwarz Date: Mon, 6 May 2024 15:04:47 +0200 Subject: [PATCH 36/38] Apply code review feedback --- apps/language-server-web-worker/src/main.ts | 2 +- .../lib/blocks/composite-block-executor.ts | 3 +- package-lock.json | 38 ++++++++++++++++--- package.json | 2 +- 4 files changed, 37 insertions(+), 8 deletions(-) diff --git a/apps/language-server-web-worker/src/main.ts b/apps/language-server-web-worker/src/main.ts index 641e6aa77..d532ac45f 100644 --- a/apps/language-server-web-worker/src/main.ts +++ b/apps/language-server-web-worker/src/main.ts @@ -9,7 +9,7 @@ import { BrowserMessageReader, BrowserMessageWriter, createConnection, -} from 'vscode-languageserver/lib/browser/main.js'; +} from 'vscode-languageserver/browser'; declare const self: DedicatedWorkerGlobalScope; diff --git a/libs/execution/src/lib/blocks/composite-block-executor.ts b/libs/execution/src/lib/blocks/composite-block-executor.ts index 64c93320e..9acb5ddc4 100644 --- a/libs/execution/src/lib/blocks/composite-block-executor.ts +++ b/libs/execution/src/lib/blocks/composite-block-executor.ts @@ -2,7 +2,8 @@ // // SPDX-License-Identifier: AGPL-3.0-only -import { strict as assert } from 'node:assert/strict'; +// eslint-disable-next-line unicorn/prefer-node-protocol +import { strict as assert } from 'assert'; import { type BlockDefinition, diff --git a/package-lock.json b/package-lock.json index c6d5b8dd7..d8bfad5fa 100644 --- a/package-lock.json +++ b/package-lock.json @@ -16,7 +16,6 @@ "chalk": "^4.1.2", "clsx": "^1.2.1", "commander": "^8.0.0", - "eslint-plugin-vitest": "^0.5.4", "exceljs": "^4.3.0", "fast-csv": "^4.3.6", "follow-redirects": "^1.15.2", @@ -79,6 +78,7 @@ "eslint-plugin-react": "7.32.2", "eslint-plugin-react-hooks": "^4.6.0", "eslint-plugin-unicorn": "^52.0.0", + "eslint-plugin-vitest": "^0.5.4", "jest-environment-jsdom": "^29.7.0", "langium-cli": "^3.0.0", "nock": "13.3.1", @@ -3824,6 +3824,7 @@ "version": "4.4.0", "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, "dependencies": { "eslint-visitor-keys": "^3.3.0" }, @@ -9248,7 +9249,8 @@ "node_modules/@types/semver": { "version": "7.5.8", "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", - "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==" + "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==", + "dev": true }, "node_modules/@types/serve-index": { "version": "1.9.1", @@ -16286,6 +16288,7 @@ "version": "0.5.4", "resolved": "https://registry.npmjs.org/eslint-plugin-vitest/-/eslint-plugin-vitest-0.5.4.tgz", "integrity": "sha512-um+odCkccAHU53WdKAw39MY61+1x990uXjSPguUCq3VcEHdqJrOb8OTMrbYlY6f9jAKx7x98kLVlIe3RJeJqoQ==", + "dev": true, "dependencies": { "@typescript-eslint/utils": "^7.7.1" }, @@ -16309,6 +16312,7 @@ "version": "7.8.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.8.0.tgz", "integrity": "sha512-viEmZ1LmwsGcnr85gIq+FCYI7nO90DVbE37/ll51hjv9aG+YZMb4WDE2fyWpUR4O/UrhGRpYXK/XajcGTk2B8g==", + "dev": true, "dependencies": { "@typescript-eslint/types": "7.8.0", "@typescript-eslint/visitor-keys": "7.8.0" @@ -16325,6 +16329,7 @@ "version": "7.8.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.8.0.tgz", "integrity": "sha512-wf0peJ+ZGlcH+2ZS23aJbOv+ztjeeP8uQ9GgwMJGVLx/Nj9CJt17GWgWWoSmoRVKAX2X+7fzEnAjxdvK2gqCLw==", + "dev": true, "engines": { "node": "^18.18.0 || >=20.0.0" }, @@ -16337,6 +16342,7 @@ "version": "7.8.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.8.0.tgz", "integrity": "sha512-5pfUCOwK5yjPaJQNy44prjCwtr981dO8Qo9J9PwYXZ0MosgAbfEMB008dJ5sNo3+/BN6ytBPuSvXUg9SAqB0dg==", + "dev": true, "dependencies": { "@typescript-eslint/types": "7.8.0", "@typescript-eslint/visitor-keys": "7.8.0", @@ -16364,6 +16370,7 @@ "version": "7.8.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.8.0.tgz", "integrity": "sha512-L0yFqOCflVqXxiZyXrDr80lnahQfSOfc9ELAAZ75sqicqp2i36kEZZGuUymHNFoYOqxRT05up760b4iGsl02nQ==", + "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", "@types/json-schema": "^7.0.15", @@ -16388,6 +16395,7 @@ "version": "7.8.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.8.0.tgz", "integrity": "sha512-q4/gibTNBQNA0lGyYQCmWRS5D15n8rXh4QjK3KV+MBPlTYHpfBUT3D3PaPR/HeNiI9W6R7FvlkcGhNyAoP+caA==", + "dev": true, "dependencies": { "@typescript-eslint/types": "7.8.0", "eslint-visitor-keys": "^3.4.3" @@ -16404,6 +16412,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, "dependencies": { "balanced-match": "^1.0.0" } @@ -16412,6 +16421,7 @@ "version": "3.3.2", "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "dev": true, "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", @@ -16427,6 +16437,7 @@ "version": "11.1.0", "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, "dependencies": { "array-union": "^2.1.0", "dir-glob": "^3.0.1", @@ -16446,6 +16457,7 @@ "version": "9.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", + "dev": true, "dependencies": { "brace-expansion": "^2.0.1" }, @@ -16460,6 +16472,7 @@ "version": "7.6.0", "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dev": true, "dependencies": { "lru-cache": "^6.0.0" }, @@ -27354,6 +27367,7 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz", "integrity": "sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==", + "dev": true, "engines": { "node": ">=16" }, @@ -32315,6 +32329,7 @@ "version": "4.4.0", "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, "requires": { "eslint-visitor-keys": "^3.3.0" } @@ -36296,7 +36311,8 @@ "@types/semver": { "version": "7.5.8", "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", - "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==" + "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==", + "dev": true }, "@types/serve-index": { "version": "1.9.1", @@ -41465,6 +41481,7 @@ "version": "0.5.4", "resolved": "https://registry.npmjs.org/eslint-plugin-vitest/-/eslint-plugin-vitest-0.5.4.tgz", "integrity": "sha512-um+odCkccAHU53WdKAw39MY61+1x990uXjSPguUCq3VcEHdqJrOb8OTMrbYlY6f9jAKx7x98kLVlIe3RJeJqoQ==", + "dev": true, "requires": { "@typescript-eslint/utils": "^7.7.1" }, @@ -41473,6 +41490,7 @@ "version": "7.8.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.8.0.tgz", "integrity": "sha512-viEmZ1LmwsGcnr85gIq+FCYI7nO90DVbE37/ll51hjv9aG+YZMb4WDE2fyWpUR4O/UrhGRpYXK/XajcGTk2B8g==", + "dev": true, "requires": { "@typescript-eslint/types": "7.8.0", "@typescript-eslint/visitor-keys": "7.8.0" @@ -41481,12 +41499,14 @@ "@typescript-eslint/types": { "version": "7.8.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.8.0.tgz", - "integrity": "sha512-wf0peJ+ZGlcH+2ZS23aJbOv+ztjeeP8uQ9GgwMJGVLx/Nj9CJt17GWgWWoSmoRVKAX2X+7fzEnAjxdvK2gqCLw==" + "integrity": "sha512-wf0peJ+ZGlcH+2ZS23aJbOv+ztjeeP8uQ9GgwMJGVLx/Nj9CJt17GWgWWoSmoRVKAX2X+7fzEnAjxdvK2gqCLw==", + "dev": true }, "@typescript-eslint/typescript-estree": { "version": "7.8.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.8.0.tgz", "integrity": "sha512-5pfUCOwK5yjPaJQNy44prjCwtr981dO8Qo9J9PwYXZ0MosgAbfEMB008dJ5sNo3+/BN6ytBPuSvXUg9SAqB0dg==", + "dev": true, "requires": { "@typescript-eslint/types": "7.8.0", "@typescript-eslint/visitor-keys": "7.8.0", @@ -41502,6 +41522,7 @@ "version": "7.8.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.8.0.tgz", "integrity": "sha512-L0yFqOCflVqXxiZyXrDr80lnahQfSOfc9ELAAZ75sqicqp2i36kEZZGuUymHNFoYOqxRT05up760b4iGsl02nQ==", + "dev": true, "requires": { "@eslint-community/eslint-utils": "^4.4.0", "@types/json-schema": "^7.0.15", @@ -41516,6 +41537,7 @@ "version": "7.8.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.8.0.tgz", "integrity": "sha512-q4/gibTNBQNA0lGyYQCmWRS5D15n8rXh4QjK3KV+MBPlTYHpfBUT3D3PaPR/HeNiI9W6R7FvlkcGhNyAoP+caA==", + "dev": true, "requires": { "@typescript-eslint/types": "7.8.0", "eslint-visitor-keys": "^3.4.3" @@ -41525,6 +41547,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, "requires": { "balanced-match": "^1.0.0" } @@ -41533,6 +41556,7 @@ "version": "3.3.2", "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "dev": true, "requires": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", @@ -41545,6 +41569,7 @@ "version": "11.1.0", "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, "requires": { "array-union": "^2.1.0", "dir-glob": "^3.0.1", @@ -41558,6 +41583,7 @@ "version": "9.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", + "dev": true, "requires": { "brace-expansion": "^2.0.1" } @@ -41566,6 +41592,7 @@ "version": "7.6.0", "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dev": true, "requires": { "lru-cache": "^6.0.0" } @@ -49539,7 +49566,8 @@ "ts-api-utils": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz", - "integrity": "sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==" + "integrity": "sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==", + "dev": true }, "ts-dedent": { "version": "2.2.0", diff --git a/package.json b/package.json index 7e43a66a4..24304d596 100644 --- a/package.json +++ b/package.json @@ -25,7 +25,6 @@ "chalk": "^4.1.2", "clsx": "^1.2.1", "commander": "^8.0.0", - "eslint-plugin-vitest": "^0.5.4", "exceljs": "^4.3.0", "fast-csv": "^4.3.6", "follow-redirects": "^1.15.2", @@ -88,6 +87,7 @@ "eslint-plugin-react": "7.32.2", "eslint-plugin-react-hooks": "^4.6.0", "eslint-plugin-unicorn": "^52.0.0", + "eslint-plugin-vitest": "^0.5.4", "jest-environment-jsdom": "^29.7.0", "langium-cli": "^3.0.0", "nock": "13.3.1", From b203542d15a645b75a7b7c01ba8688ca28fac7fd Mon Sep 17 00:00:00 2001 From: Georg Schwarz Date: Mon, 6 May 2024 15:06:29 +0200 Subject: [PATCH 37/38] Remove unnecessary __esModule flag from mocks --- apps/docs/docs/dev/12-jayvee-testing.md | 2 -- apps/interpreter/src/examples-smoke-test.spec.ts | 2 -- .../rdbms/exec/src/lib/postgres-loader-executor.spec.ts | 1 - .../rdbms/exec/src/lib/sqlite-loader-executor.spec.ts | 1 - 4 files changed, 6 deletions(-) diff --git a/apps/docs/docs/dev/12-jayvee-testing.md b/apps/docs/docs/dev/12-jayvee-testing.md index 211ebfa2e..47b086edf 100644 --- a/apps/docs/docs/dev/12-jayvee-testing.md +++ b/apps/docs/docs/dev/12-jayvee-testing.md @@ -149,7 +149,6 @@ vi.mock('pg', () => { end: vi.fn(), }; return { - __esModule: true, default: { Client: vi.fn(() => mClient), }, @@ -161,7 +160,6 @@ vi.mock('sqlite3', () => { run: vi.fn(), }; return { - __esModule: true, default: { Database: vi.fn(() => mockDB), }, diff --git a/apps/interpreter/src/examples-smoke-test.spec.ts b/apps/interpreter/src/examples-smoke-test.spec.ts index 4bc06141c..f4dfc2a63 100644 --- a/apps/interpreter/src/examples-smoke-test.spec.ts +++ b/apps/interpreter/src/examples-smoke-test.spec.ts @@ -28,7 +28,6 @@ vi.mock('pg', () => { end: vi.fn(), }; return { - __esModule: true, default: { Client: vi.fn(() => mClient), }, @@ -40,7 +39,6 @@ vi.mock('sqlite3', () => { run: vi.fn(), }; return { - __esModule: true, default: { Database: vi.fn(() => mockDB) }, }; }); diff --git a/libs/extensions/rdbms/exec/src/lib/postgres-loader-executor.spec.ts b/libs/extensions/rdbms/exec/src/lib/postgres-loader-executor.spec.ts index 75cfa8de7..51e9d4e19 100644 --- a/libs/extensions/rdbms/exec/src/lib/postgres-loader-executor.spec.ts +++ b/libs/extensions/rdbms/exec/src/lib/postgres-loader-executor.spec.ts @@ -48,7 +48,6 @@ vi.mock('pg', () => { end: databaseEndMock, }; return { - __esModule: true, default: { Client: vi.fn(() => mClient), }, diff --git a/libs/extensions/rdbms/exec/src/lib/sqlite-loader-executor.spec.ts b/libs/extensions/rdbms/exec/src/lib/sqlite-loader-executor.spec.ts index 06be7d520..7cfc883bc 100644 --- a/libs/extensions/rdbms/exec/src/lib/sqlite-loader-executor.spec.ts +++ b/libs/extensions/rdbms/exec/src/lib/sqlite-loader-executor.spec.ts @@ -48,7 +48,6 @@ vi.mock('sqlite3', () => { databaseRunMock = vi.fn(); databaseCloseMock = vi.fn(); return { - __esModule: true, default: { Database: databaseMock, }, From 7345e037e65fb27b8d53bb805f87e58f2e0f0d00 Mon Sep 17 00:00:00 2001 From: Georg Schwarz Date: Mon, 6 May 2024 15:10:42 +0200 Subject: [PATCH 38/38] Apply further code review feedback --- apps/docs/project.json | 2 +- libs/extensions/rdbms/exec/tsconfig.spec.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/docs/project.json b/apps/docs/project.json index e65276f19..39b7bfd03 100644 --- a/apps/docs/project.json +++ b/apps/docs/project.json @@ -21,7 +21,7 @@ "generate": { "executor": "nx:run-commands", "options": { - "command": "npx nx start docs-generator", + "command": "nx start docs-generator", "parallel": false } }, diff --git a/libs/extensions/rdbms/exec/tsconfig.spec.json b/libs/extensions/rdbms/exec/tsconfig.spec.json index 1be3260bb..1ddf3dc61 100644 --- a/libs/extensions/rdbms/exec/tsconfig.spec.json +++ b/libs/extensions/rdbms/exec/tsconfig.spec.json @@ -22,6 +22,6 @@ "src/**/*.test.jsx", "src/**/*.spec.jsx", "src/**/*.d.ts", - "test/**/*.ts", + "test/**/*.ts" ] }