diff --git a/packages/dmn-feel-antlr4-parser/src/parser/VariablesRepository.ts b/packages/dmn-feel-antlr4-parser/src/parser/VariablesRepository.ts
index 5f137916a3f..a923a0186f7 100644
--- a/packages/dmn-feel-antlr4-parser/src/parser/VariablesRepository.ts
+++ b/packages/dmn-feel-antlr4-parser/src/parser/VariablesRepository.ts
@@ -379,6 +379,35 @@ export class VariablesRepository {
this.addVariable(id, "", FeelSyntacticSymbolNature.LocalVariable, parent);
}
+ private addDecisionTableEntryNode(parent: VariableContext, entryId: string) {
+ const ruleInputElementNode = this.addVariable(entryId, "", FeelSyntacticSymbolNature.LocalVariable, parent);
+ parent.children.set(ruleInputElementNode.uuid, ruleInputElementNode);
+ this.addVariable(ruleInputElementNode.uuid, "", FeelSyntacticSymbolNature.LocalVariable, ruleInputElementNode);
+ }
+
+ private addDecisionTable(parent: VariableContext, decisionTable: DmnDecisionTable) {
+ const variableNode = this.addVariable(
+ decisionTable["@_id"] ?? "",
+ "",
+ FeelSyntacticSymbolNature.LocalVariable,
+ parent
+ );
+ parent.children.set(variableNode.uuid, variableNode);
+
+ if (decisionTable.rule) {
+ for (const ruleElement of decisionTable.rule) {
+ ruleElement.inputEntry?.forEach((ruleInputElement) =>
+ this.addDecisionTableEntryNode(parent, ruleInputElement["@_id"] ?? "")
+ );
+ ruleElement.outputEntry?.forEach((ruleOutputElement) =>
+ this.addDecisionTableEntryNode(parent, ruleOutputElement["@_id"] ?? "")
+ );
+ }
+ }
+
+ this.addVariable(variableNode.uuid, "", FeelSyntacticSymbolNature.LocalVariable, parent);
+ }
+
private addInvocation(parent: VariableContext, element: DmnInvocation) {
if (element.binding) {
for (const bindingElement of element.binding) {
@@ -594,7 +623,8 @@ export class VariablesRepository {
break;
case "decisionTable":
- // Do nothing because DecisionTable does not define variables
+ // It doesn't define variables but we need it to create its own context to use variables inside of Decision Table.
+ this.addDecisionTable(parent, expression);
break;
case "context":
diff --git a/packages/feel-input-component/package.json b/packages/feel-input-component/package.json
index be2dfee300d..da5dc24036d 100644
--- a/packages/feel-input-component/package.json
+++ b/packages/feel-input-component/package.json
@@ -30,6 +30,7 @@
"@babel/preset-env": "^7.16.0",
"@babel/preset-react": "^7.16.0",
"@kie-tools-core/webpack-base": "workspace:*",
+ "@kie-tools/dmn-marshaller": "workspace:*",
"@kie-tools/eslint": "workspace:*",
"@kie-tools/jest-base": "workspace:*",
"@kie-tools/root-env": "workspace:*",
diff --git a/packages/feel-input-component/tests-data/variables-inside-decision-tables/included.dmn b/packages/feel-input-component/tests-data/variables-inside-decision-tables/included.dmn
new file mode 100644
index 00000000000..20e48f0279a
--- /dev/null
+++ b/packages/feel-input-component/tests-data/variables-inside-decision-tables/included.dmn
@@ -0,0 +1,106 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Input
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 190
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/packages/feel-input-component/tests-data/variables-inside-decision-tables/modelWithInclude.dmn b/packages/feel-input-component/tests-data/variables-inside-decision-tables/modelWithInclude.dmn
new file mode 100644
index 00000000000..29d96398958
--- /dev/null
+++ b/packages/feel-input-component/tests-data/variables-inside-decision-tables/modelWithInclude.dmn
@@ -0,0 +1,188 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Input
+
+
+
+
+
+
+ -
+
+
+ MyIncludedModel.MyDS(LocalInput) + MyIncludedModel.RemoteInput
+
+
+
+
+
+
+
+ -
+
+
+ LocalInput + LocalDecision
+
+
+
+
+
+
+
+ -
+
+
+ MyIncludedModel.MyDS(LocalInput) + MyIncludedModel.RemoteInput + LocalInput + LocalDecision
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 60
+ 118
+ 773
+ 240
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/packages/feel-input-component/tests/semanticTokensProvider.test.ts b/packages/feel-input-component/tests/semanticTokensProvider.test.ts
index 644547c8dac..44d2261587c 100644
--- a/packages/feel-input-component/tests/semanticTokensProvider.test.ts
+++ b/packages/feel-input-component/tests/semanticTokensProvider.test.ts
@@ -22,6 +22,9 @@ import { BuiltInTypes, DmnDefinitions, FeelVariables } from "@kie-tools/dmn-feel
import * as Monaco from "@kie-tools-core/monaco-editor";
import { Element } from "@kie-tools/feel-input-component/dist/themes/Element";
+import * as fs from "fs";
+import * as path from "path";
+import { getMarshaller } from "@kie-tools/dmn-marshaller";
describe("Semantic Tokens Provider", () => {
const cancellationTokenMock = {
@@ -286,6 +289,145 @@ ThatShouldFailWhenBreakLine`,
}
});
});
+
+ describe("variables inside Decision Tables", () => {
+ const dmnModelWithIncludesPosixPathRelativeToTheTestFile =
+ "../tests-data/variables-inside-decision-tables/modelWithInclude.dmn";
+ const includedDmnModelPosixPathRelativeToTheTestFile =
+ "../tests-data/variables-inside-decision-tables/included.dmn";
+ const localModel = getDmnModelFromFilePath(dmnModelWithIncludesPosixPathRelativeToTheTestFile);
+ const includedModel = getDmnModelFromFilePath(includedDmnModelPosixPathRelativeToTheTestFile);
+
+ test("should recognize local nodes", async () => {
+ const expression = "LocalInput + LocalDecision";
+ const id = "_AEC3EEB0-8436-4767-A214-20FF5E5CB7BE";
+ const modelMock = createModelMockForExpression(expression);
+
+ const feelVariables = new FeelVariables(
+ localModel.definitions,
+ new Map([[includedModel.definitions["@_namespace"] ?? "", includedModel]])
+ );
+
+ const semanticTokensProvider = new SemanticTokensProvider(feelVariables, id, () => {});
+
+ const semanticMonacoTokens = await semanticTokensProvider.provideDocumentSemanticTokens(
+ modelMock as unknown as Monaco.editor.ITextModel,
+ null,
+ cancellationTokenMock
+ );
+
+ const expected = [
+ ...getMonacoSemanticToken({
+ startLineRelativeToPreviousLine: 0,
+ startIndexRelativeToPreviousStartIndex: 0,
+ tokenLength: "LocalInput".length,
+ }),
+ ...getMonacoSemanticToken({
+ startLineRelativeToPreviousLine: 0,
+ startIndexRelativeToPreviousStartIndex: "LocalInput".length + 3, // +3 because of the " + "
+ tokenLength: "LocalDecision".length,
+ }),
+ ];
+
+ for (let i = 0; i < expected.length; i++) {
+ expect(semanticMonacoTokens?.data[i]).toEqual(expected[i]);
+ }
+ });
+
+ test("should recognize included nodes", async () => {
+ const expression = "MyIncludedModel.MyDS(LocalInput) + MyIncludedModel.RemoteInput";
+ const id = "_206131ED-0B81-4013-980A-4BB2539A53D0";
+ const modelMock = createModelMockForExpression(expression);
+
+ const feelVariables = new FeelVariables(
+ localModel.definitions,
+ new Map([[includedModel.definitions["@_namespace"] ?? "", includedModel]])
+ );
+
+ const semanticTokensProvider = new SemanticTokensProvider(feelVariables, id, () => {});
+
+ const semanticMonacoTokens = await semanticTokensProvider.provideDocumentSemanticTokens(
+ modelMock as unknown as Monaco.editor.ITextModel,
+ null,
+ cancellationTokenMock
+ );
+
+ const expected = [
+ ...getMonacoSemanticToken({
+ startLineRelativeToPreviousLine: 0,
+ startIndexRelativeToPreviousStartIndex: 0,
+ tokenLength: "MyIncludedModel.MyDS".length,
+ tokenType: Element.FunctionCall,
+ }),
+ ...getMonacoSemanticToken({
+ startLineRelativeToPreviousLine: 0,
+ startIndexRelativeToPreviousStartIndex: "MyIncludedModel.MyDS".length + 1, // +1 because of the "("
+ tokenLength: "LocalInput".length,
+ }),
+ ...getMonacoSemanticToken({
+ startLineRelativeToPreviousLine: 0,
+ startIndexRelativeToPreviousStartIndex: "LocalInput".length + ") + ".length,
+ tokenLength: "MyIncludedModel.RemoteInput".length,
+ }),
+ ];
+
+ for (let i = 0; i < expected.length; i++) {
+ expect(semanticMonacoTokens?.data[i]).toEqual(expected[i]);
+ }
+ });
+
+ test("should recognize included nodes mixed with included nodes", async () => {
+ const expression = "MyIncludedModel.MyDS(LocalInput) + MyIncludedModel.RemoteInput + LocalInput + LocalDecision";
+ const id = "_18832484-9481-49BC-BD40-927CB9872C6B";
+ const modelMock = createModelMockForExpression(expression);
+
+ const feelVariables = new FeelVariables(
+ localModel.definitions,
+ new Map([[includedModel.definitions["@_namespace"] ?? "", includedModel]])
+ );
+
+ const semanticTokensProvider = new SemanticTokensProvider(feelVariables, id, () => {});
+
+ const semanticMonacoTokens = await semanticTokensProvider.provideDocumentSemanticTokens(
+ modelMock as unknown as Monaco.editor.ITextModel,
+ null,
+ cancellationTokenMock
+ );
+
+ const expected = [
+ ...getMonacoSemanticToken({
+ startLineRelativeToPreviousLine: 0,
+ startIndexRelativeToPreviousStartIndex: 0,
+ tokenLength: "MyIncludedModel.MyDS".length,
+ tokenType: Element.FunctionCall,
+ }),
+ ...getMonacoSemanticToken({
+ startLineRelativeToPreviousLine: 0,
+ startIndexRelativeToPreviousStartIndex: "MyIncludedModel.MyDS".length + 1, // +1 because of the "("
+ tokenLength: "LocalInput".length,
+ }),
+ ...getMonacoSemanticToken({
+ startLineRelativeToPreviousLine: 0,
+ startIndexRelativeToPreviousStartIndex: "LocalInput".length + ") + ".length,
+ tokenLength: "MyIncludedModel.RemoteInput".length,
+ }),
+ ...getMonacoSemanticToken({
+ startLineRelativeToPreviousLine: 0,
+ startIndexRelativeToPreviousStartIndex: "MyIncludedModel.RemoteInput".length + " + ".length,
+ tokenLength: "LocalInput".length,
+ }),
+ ...getMonacoSemanticToken({
+ startLineRelativeToPreviousLine: 0,
+ startIndexRelativeToPreviousStartIndex: "LocalInput".length + " + ".length,
+ tokenLength: "LocalDecision".length,
+ }),
+ ];
+
+ for (let i = 0; i < expected.length; i++) {
+ expect(semanticMonacoTokens?.data[i]).toEqual(expected[i]);
+ }
+ });
+ });
});
function getDmnModelWithContextEntry({
@@ -377,3 +519,11 @@ function createModelMockForExpression(expression: string) {
getLinesContent: jest.fn().mockReturnValue(expression.split("\n")),
};
}
+
+function getDmnModelFromFilePath(modelFilePosixPathRelativeToTheTestFile: string) {
+ const { parser } = getMarshaller(
+ fs.readFileSync(path.join(__dirname, modelFilePosixPathRelativeToTheTestFile), "utf-8"),
+ { upgradeTo: "latest" }
+ );
+ return parser.parse();
+}
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index a7977bd811f..7be777f4158 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -852,13 +852,13 @@ importers:
version: 1.67.0
jest:
specifier: ^29.7.0
- version: 29.7.0(@types/node@22.5.2)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@22.5.2)(typescript@5.5.3))
+ version: 29.7.0(@types/node@20.14.2)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@20.14.2)(typescript@5.5.3))
jest-junit:
specifier: ^16.0.0
version: 16.0.0
jest-when:
specifier: ^3.6.0
- version: 3.6.0(jest@29.7.0(@types/node@22.5.2)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@22.5.2)(typescript@5.5.3)))
+ version: 3.6.0(jest@29.7.0(@types/node@20.14.2)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@20.14.2)(typescript@5.5.3)))
rimraf:
specifier: ^3.0.2
version: 3.0.2
@@ -867,7 +867,7 @@ importers:
version: 0.0.2
ts-jest:
specifier: ^29.1.5
- version: 29.1.5(@babel/core@7.16.12)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.16.12))(jest@29.7.0(@types/node@22.5.2)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@22.5.2)(typescript@5.5.3)))(typescript@5.5.3)
+ version: 29.1.5(@babel/core@7.16.12)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.16.12))(jest@29.7.0(@types/node@20.14.2)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@20.14.2)(typescript@5.5.3)))(typescript@5.5.3)
typescript:
specifier: ^5.5.3
version: 5.5.3
@@ -1021,13 +1021,13 @@ importers:
version: 6.2.0(webpack@5.94.0(@swc/core@1.3.92)(esbuild@0.18.20)(webpack-cli@4.10.0))
jest:
specifier: ^29.7.0
- version: 29.7.0(@types/node@20.14.2)(node-notifier@8.0.2)(ts-node@10.9.2(@swc/core@1.3.92)(@types/node@20.14.2)(typescript@5.5.3))
+ version: 29.7.0(@types/node@22.5.2)(node-notifier@8.0.2)(ts-node@10.9.2(@swc/core@1.3.92)(@types/node@22.5.2)(typescript@5.5.3))
jest-junit:
specifier: ^16.0.0
version: 16.0.0
jest-when:
specifier: ^3.6.0
- version: 3.6.0(jest@29.7.0(@types/node@20.14.2)(node-notifier@8.0.2)(ts-node@10.9.2(@swc/core@1.3.92)(@types/node@20.14.2)(typescript@5.5.3)))
+ version: 3.6.0(jest@29.7.0(@types/node@22.5.2)(node-notifier@8.0.2)(ts-node@10.9.2(@swc/core@1.3.92)(@types/node@22.5.2)(typescript@5.5.3)))
react-json-view:
specifier: ^1.21.3
version: 1.21.3(@types/react@17.0.21)(react-dom@17.0.2(react@17.0.2))(react@17.0.2)
@@ -1042,7 +1042,7 @@ importers:
version: 7.4.6
ts-jest:
specifier: ^29.1.5
- version: 29.1.5(@babel/core@7.16.12)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.16.12))(esbuild@0.18.20)(jest@29.7.0(@types/node@20.14.2)(node-notifier@8.0.2)(ts-node@10.9.2(@swc/core@1.3.92)(@types/node@20.14.2)(typescript@5.5.3)))(typescript@5.5.3)
+ version: 29.1.5(@babel/core@7.16.12)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.16.12))(esbuild@0.18.20)(jest@29.7.0(@types/node@22.5.2)(node-notifier@8.0.2)(ts-node@10.9.2(@swc/core@1.3.92)(@types/node@22.5.2)(typescript@5.5.3)))(typescript@5.5.3)
typescript:
specifier: ^5.5.3
version: 5.5.3
@@ -4532,6 +4532,9 @@ importers:
'@kie-tools-core/webpack-base':
specifier: workspace:*
version: link:../webpack-base
+ '@kie-tools/dmn-marshaller':
+ specifier: workspace:*
+ version: link:../dmn-marshaller
'@kie-tools/eslint':
specifier: workspace:*
version: link:../eslint
@@ -19436,9 +19439,6 @@ packages:
'@types/http-proxy@1.17.14':
resolution: {integrity: sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==}
- '@types/inquirer@7.3.3':
- resolution: {integrity: sha512-HhxyLejTHMfohAuhRun4csWigAMjXTmRyiJTU1Y/I1xmggikFMkOUoMQRlFm+zQcPEGHSs3io/0FAmNZf8EymQ==}
-
'@types/invariant@2.2.35':
resolution: {integrity: sha512-DxX1V9P8zdJPYQat1gHyY0xj3efl8gnMVjiM9iCY6y27lj+PoQWkgjt8jDqmovPqULkKVpKRg8J36iQiA+EtEg==}
@@ -19709,9 +19709,6 @@ packages:
'@types/testing-library__jest-dom@5.14.9':
resolution: {integrity: sha512-FSYhIjFlfOpGSRyVoMBMuS3ws5ehFQODymf3vlI7U1K8c7PHwWwFY7VREfmsuzHSOnoKs/9/Y983ayOs7eRzqw==}
- '@types/through@0.0.30':
- resolution: {integrity: sha512-FvnCJljyxhPM3gkRgWmxmDZyAQSiBQQWLI0A0VFL0K7W1oRUrPJSqNO0NvTnLkBcotdlp3lKvaT0JrnyRDkzOg==}
-
'@types/tough-cookie@4.0.2':
resolution: {integrity: sha512-Q5vtl1W5ue16D+nIaW8JWebSSraJVlK+EthKn7e7UcD4KWsaSJ8BqGPXNaPghgtcn/fhvrN17Tv8ksUsQpiplw==}
@@ -24213,10 +24210,6 @@ packages:
resolution: {integrity: sha512-X7rqawQBvfdjS10YU1y1YVreA3SsLrW9dX2CewP2EbBJM4ypVNLDkO5y04gejPwKIY9lR+7r9gn3rFPt/kmWFg==}
engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
- inquirer@8.2.0:
- resolution: {integrity: sha512-0crLweprevJ02tTuA6ThpoAERAGyVILC4sS74uib58Xf/zSr1/ZWtmm7D5CI+bSQEaA04f0K7idaHpQbSWgiVQ==}
- engines: {node: '>=8.0.0'}
-
inquirer@8.2.4:
resolution: {integrity: sha512-nn4F01dxU8VeKfq192IjLsxu0/OmMZ4Lg3xKAns148rCaXP6ntAoEkVYZThWjwON8AlzdZZi6oqnhNbxUG9hVg==}
engines: {node: '>=12.0.0'}
@@ -28105,10 +28098,6 @@ packages:
resolution: {integrity: sha512-ql6P2LzhBTTDfzKts+Qo4H94VUKpxKDFz6QxxwaUZN0mwvi7L3lpOI7BqPCq7lgDh3XLl0dpeXwfcVIitlrYrw==}
hasBin: true
- rxjs@6.6.7:
- resolution: {integrity: sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==}
- engines: {npm: '>=2.0.0'}
-
rxjs@7.5.2:
resolution: {integrity: sha512-PwDt186XaL3QN5qXj/H9DGyHhP3/RYYgZZwqBv9Tv8rsAaiwFH1IsJJlcgD37J7UW5a6O67qX0KWKS3/pu0m4w==}
@@ -37826,41 +37815,6 @@ snapshots:
- supports-color
- ts-node
- '@jest/core@29.7.0(ts-node@10.9.2(@types/node@22.5.2)(typescript@5.5.3))':
- 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': 20.14.2
- ansi-escapes: 4.3.2
- chalk: 4.1.2
- ci-info: 3.3.2
- exit: 0.1.2
- graceful-fs: 4.2.11
- jest-changed-files: 29.7.0
- jest-config: 29.7.0(@types/node@20.14.2)(ts-node@10.9.2(@types/node@22.5.2)(typescript@5.5.3))
- 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.5
- pretty-format: 29.7.0
- slash: 3.0.0
- strip-ansi: 6.0.1
- transitivePeerDependencies:
- - babel-plugin-macros
- - supports-color
- - ts-node
-
'@jest/environment@29.7.0':
dependencies:
'@jest/fake-timers': 29.7.0
@@ -37925,6 +37879,7 @@ snapshots:
v8-to-istanbul: 9.1.3
transitivePeerDependencies:
- supports-color
+ optional: true
'@jest/reporters@29.7.0(node-notifier@8.0.2)':
dependencies:
@@ -42116,21 +42071,6 @@ snapshots:
'@types/jest': 29.5.12
jest: 29.7.0(@types/node@22.5.2)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@22.5.2)(typescript@5.5.3))
- '@testing-library/jest-dom@6.4.6(@jest/globals@29.7.0)(@types/jest@29.5.12)(jest@29.7.0(@types/node@22.5.2)(ts-node@10.9.2(@types/node@22.5.2)(typescript@5.5.3)))':
- dependencies:
- '@adobe/css-tools': 4.4.0
- '@babel/runtime': 7.23.6
- aria-query: 5.1.3
- chalk: 3.0.0
- css.escape: 1.5.1
- dom-accessibility-api: 0.6.3
- lodash: 4.17.21
- redent: 3.0.0
- optionalDependencies:
- '@jest/globals': 29.7.0
- '@types/jest': 29.5.12
- jest: 29.7.0(@types/node@22.5.2)(ts-node@10.9.2(@types/node@22.5.2)(typescript@5.5.3))
-
'@testing-library/react-hooks@8.0.1(@types/react@17.0.21)(react-dom@17.0.2(react@17.0.2))(react-test-renderer@17.0.2(react@17.0.2))(react@17.0.2)':
dependencies:
'@babel/runtime': 7.23.6
@@ -42530,11 +42470,6 @@ snapshots:
dependencies:
'@types/node': 20.14.13
- '@types/inquirer@7.3.3':
- dependencies:
- '@types/through': 0.0.30
- rxjs: 6.6.7
-
'@types/invariant@2.2.35': {}
'@types/istanbul-lib-coverage@2.0.1': {}
@@ -42840,10 +42775,6 @@ snapshots:
dependencies:
'@types/jest': 29.5.12
- '@types/through@0.0.30':
- dependencies:
- '@types/node': 20.14.2
-
'@types/tough-cookie@4.0.2': {}
'@types/treeify@1.0.0': {}
@@ -49507,23 +49438,6 @@ snapshots:
ini@4.1.3: {}
- inquirer@8.2.0:
- dependencies:
- ansi-escapes: 4.3.2
- chalk: 4.1.2
- cli-cursor: 3.1.0
- cli-width: 3.0.0
- external-editor: 3.1.0
- figures: 3.2.0
- lodash: 4.17.21
- mute-stream: 0.0.8
- ora: 5.4.1
- run-async: 2.4.1
- rxjs: 7.5.2
- string-width: 4.2.3
- strip-ansi: 6.0.1
- through: 2.3.8
-
inquirer@8.2.4:
dependencies:
ansi-escapes: 4.3.2
@@ -50127,25 +50041,6 @@ snapshots:
- supports-color
- ts-node
- jest-cli@29.7.0(@types/node@22.5.2)(ts-node@10.9.2(@types/node@22.5.2)(typescript@5.5.3)):
- dependencies:
- '@jest/core': 29.7.0(ts-node@10.9.2(@types/node@22.5.2)(typescript@5.5.3))
- '@jest/test-result': 29.7.0
- '@jest/types': 29.6.3
- chalk: 4.1.2
- create-jest: 29.7.0(@types/node@22.5.2)(ts-node@10.9.2(@types/node@22.5.2)(typescript@5.5.3))
- exit: 0.1.2
- import-local: 3.0.2
- jest-config: 29.7.0(@types/node@22.5.2)(ts-node@10.9.2(@types/node@22.5.2)(typescript@5.5.3))
- jest-util: 29.7.0
- jest-validate: 29.7.0
- yargs: 17.7.2
- transitivePeerDependencies:
- - '@types/node'
- - babel-plugin-macros
- - supports-color
- - ts-node
-
jest-config@29.7.0(@types/node@20.14.2):
dependencies:
'@babel/core': 7.24.9
@@ -50732,6 +50627,10 @@ snapshots:
dependencies:
jest: 29.7.0(@types/node@20.14.2)(node-notifier@8.0.2)(ts-node@10.9.2(@swc/core@1.3.92)(@types/node@20.14.2)(typescript@5.5.3))
+ jest-when@3.6.0(jest@29.7.0(@types/node@20.14.2)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@20.14.2)(typescript@5.5.3))):
+ dependencies:
+ jest: 29.7.0(@types/node@20.14.2)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@20.14.2)(typescript@5.5.3))
+
jest-when@3.6.0(jest@29.7.0(@types/node@22.5.2)(node-notifier@8.0.2)(ts-node@10.9.2(@swc/core@1.3.92)(@types/node@22.5.2)(typescript@5.5.3))):
dependencies:
jest: 29.7.0(@types/node@22.5.2)(node-notifier@8.0.2)(ts-node@10.9.2(@swc/core@1.3.92)(@types/node@22.5.2)(typescript@5.5.3))
@@ -50740,10 +50639,6 @@ snapshots:
dependencies:
jest: 29.7.0(@types/node@22.5.2)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@22.5.2)(typescript@5.5.3))
- jest-when@3.6.0(jest@29.7.0(@types/node@22.5.2)(ts-node@10.9.2(@types/node@22.5.2)(typescript@5.5.3))):
- dependencies:
- jest: 29.7.0(@types/node@22.5.2)(ts-node@10.9.2(@types/node@22.5.2)(typescript@5.5.3))
-
jest-worker@25.5.0:
dependencies:
merge-stream: 2.0.0
@@ -50851,18 +50746,6 @@ snapshots:
- supports-color
- ts-node
- jest@29.7.0(@types/node@22.5.2)(ts-node@10.9.2(@types/node@22.5.2)(typescript@5.5.3)):
- dependencies:
- '@jest/core': 29.7.0(ts-node@10.9.2(@types/node@22.5.2)(typescript@5.5.3))
- '@jest/types': 29.6.3
- import-local: 3.0.2
- jest-cli: 29.7.0(@types/node@22.5.2)(ts-node@10.9.2(@types/node@22.5.2)(typescript@5.5.3))
- transitivePeerDependencies:
- - '@types/node'
- - babel-plugin-macros
- - supports-color
- - ts-node
-
jiti@1.17.1: {}
jiti@1.21.6: {}
@@ -54750,10 +54633,6 @@ snapshots:
run-script-os@1.1.6: {}
- rxjs@6.6.7:
- dependencies:
- tslib: 1.14.1
-
rxjs@7.5.2:
dependencies:
tslib: 2.3.1
@@ -56280,11 +56159,11 @@ snapshots:
babel-jest: 29.7.0(@babel/core@7.16.12)
esbuild: 0.15.13
- ts-jest@29.1.5(@babel/core@7.16.12)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.16.12))(esbuild@0.18.20)(jest@29.7.0(@types/node@20.14.2)(node-notifier@8.0.2)(ts-node@10.9.2(@swc/core@1.3.92)(@types/node@20.14.2)(typescript@5.5.3)))(typescript@5.5.3):
+ ts-jest@29.1.5(@babel/core@7.16.12)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.16.12))(esbuild@0.18.20)(jest@29.7.0(@types/node@22.5.2)(node-notifier@8.0.2)(ts-node@10.9.2(@swc/core@1.3.92)(@types/node@22.5.2)(typescript@5.5.3)))(typescript@5.5.3):
dependencies:
bs-logger: 0.2.6
fast-json-stable-stringify: 2.1.0
- jest: 29.7.0(@types/node@20.14.2)(node-notifier@8.0.2)(ts-node@10.9.2(@swc/core@1.3.92)(@types/node@20.14.2)(typescript@5.5.3))
+ jest: 29.7.0(@types/node@22.5.2)(node-notifier@8.0.2)(ts-node@10.9.2(@swc/core@1.3.92)(@types/node@22.5.2)(typescript@5.5.3))
jest-util: 29.7.0
json5: 2.2.3
lodash.memoize: 4.1.2
@@ -56299,11 +56178,11 @@ snapshots:
babel-jest: 29.7.0(@babel/core@7.16.12)
esbuild: 0.18.20
- ts-jest@29.1.5(@babel/core@7.16.12)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.16.12))(jest@29.7.0(@types/node@22.5.2)(node-notifier@8.0.2)(ts-node@10.9.2(@swc/core@1.3.92)(@types/node@22.5.2)(typescript@5.5.3)))(typescript@5.5.3):
+ ts-jest@29.1.5(@babel/core@7.16.12)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.16.12))(jest@29.7.0(@types/node@20.14.2)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@20.14.2)(typescript@5.5.3)))(typescript@5.5.3):
dependencies:
bs-logger: 0.2.6
fast-json-stable-stringify: 2.1.0
- jest: 29.7.0(@types/node@22.5.2)(node-notifier@8.0.2)(ts-node@10.9.2(@swc/core@1.3.92)(@types/node@22.5.2)(typescript@5.5.3))
+ jest: 29.7.0(@types/node@20.14.2)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@20.14.2)(typescript@5.5.3))
jest-util: 29.7.0
json5: 2.2.3
lodash.memoize: 4.1.2
@@ -56317,11 +56196,11 @@ snapshots:
'@jest/types': 29.6.3
babel-jest: 29.7.0(@babel/core@7.16.12)
- ts-jest@29.1.5(@babel/core@7.16.12)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.16.12))(jest@29.7.0(@types/node@22.5.2)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@22.5.2)(typescript@5.5.3)))(typescript@5.5.3):
+ ts-jest@29.1.5(@babel/core@7.16.12)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.16.12))(jest@29.7.0(@types/node@22.5.2)(node-notifier@8.0.2)(ts-node@10.9.2(@swc/core@1.3.92)(@types/node@22.5.2)(typescript@5.5.3)))(typescript@5.5.3):
dependencies:
bs-logger: 0.2.6
fast-json-stable-stringify: 2.1.0
- jest: 29.7.0(@types/node@22.5.2)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@22.5.2)(typescript@5.5.3))
+ jest: 29.7.0(@types/node@22.5.2)(node-notifier@8.0.2)(ts-node@10.9.2(@swc/core@1.3.92)(@types/node@22.5.2)(typescript@5.5.3))
jest-util: 29.7.0
json5: 2.2.3
lodash.memoize: 4.1.2
@@ -56335,11 +56214,11 @@ snapshots:
'@jest/types': 29.6.3
babel-jest: 29.7.0(@babel/core@7.16.12)
- ts-jest@29.1.5(@babel/core@7.16.12)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.16.12))(jest@29.7.0(@types/node@22.5.2)(ts-node@10.9.2(@types/node@22.5.2)(typescript@5.5.3)))(typescript@5.5.3):
+ ts-jest@29.1.5(@babel/core@7.16.12)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.16.12))(jest@29.7.0(@types/node@22.5.2)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@22.5.2)(typescript@5.5.3)))(typescript@5.5.3):
dependencies:
bs-logger: 0.2.6
fast-json-stable-stringify: 2.1.0
- jest: 29.7.0(@types/node@22.5.2)(ts-node@10.9.2(@types/node@22.5.2)(typescript@5.5.3))
+ jest: 29.7.0(@types/node@22.5.2)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@22.5.2)(typescript@5.5.3))
jest-util: 29.7.0
json5: 2.2.3
lodash.memoize: 4.1.2