This is an automated email from the ASF dual-hosted git repository.
tiagobento pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-kie-tools.git
The following commit(s) were added to refs/heads/main by this push:
new ecebc29afdb kie-issues#1435: Included Decisions with InputData node
dependencies can not be run on DMN Runner (#3256)
ecebc29afdb is described below
commit ecebc29afdb44ad1d878de55675f33bf68acb756
Author: Kusuma04-dev <[email protected]>
AuthorDate: Fri Aug 29 04:56:43 2025 +0530
kie-issues#1435: Included Decisions with InputData node dependencies can
not be run on DMN Runner (#3256)
Co-authored-by: Kusuma <[email protected]>
---
packages/dmn-language-service/package.json | 3 +
.../dmn-language-service/src/DmnLanguageService.ts | 323 ++++++++++++++++++++-
packages/dmn-language-service/tsconfig.json | 5 +-
.../src/dmnRunner/DmnRunnerContextProvider.tsx | 156 +++++++---
pnpm-lock.yaml | 247 +++++++++++++---
5 files changed, 643 insertions(+), 91 deletions(-)
diff --git a/packages/dmn-language-service/package.json
b/packages/dmn-language-service/package.json
index c590846f928..989c7827b34 100644
--- a/packages/dmn-language-service/package.json
+++ b/packages/dmn-language-service/package.json
@@ -28,6 +28,7 @@
"@kie-tools/dmn-feel-antlr4-parser": "workspace:*",
"@kie-tools/dmn-marshaller": "workspace:*",
"antlr4": "^4.13.0",
+ "lodash": "^4.17.21",
"uuid": "^8.3.2"
},
"devDependencies": {
@@ -39,6 +40,8 @@
"@kie-tools/root-env": "workspace:*",
"@kie-tools/tsconfig": "workspace:*",
"@types/jest": "^29.5.12",
+ "@types/json-schema": "^7.0.11",
+ "@types/lodash": "^4.14.168",
"@types/uuid": "^8.3.0",
"jest": "^29.7.0",
"jest-environment-jsdom": "^29.7.0",
diff --git a/packages/dmn-language-service/src/DmnLanguageService.ts
b/packages/dmn-language-service/src/DmnLanguageService.ts
index 2559540263a..e41d637329f 100644
--- a/packages/dmn-language-service/src/DmnLanguageService.ts
+++ b/packages/dmn-language-service/src/DmnLanguageService.ts
@@ -20,11 +20,13 @@
import { DmnDocumentData } from "./DmnDocumentData";
import { DmnDecision } from "./DmnDecision";
import * as path from "path";
-import { getMarshaller } from "@kie-tools/dmn-marshaller";
+import { DMN_LATEST__tImport, DMN_LATEST__tInformationRequirement,
getMarshaller } from "@kie-tools/dmn-marshaller";
import { DMN_LATEST__tDefinitions } from "@kie-tools/dmn-marshaller";
import { ns as dmn16ns } from
"@kie-tools/dmn-marshaller/dist/schemas/dmn-1_6/ts-gen/meta";
import { DMN16_SPEC } from
"@kie-tools/dmn-marshaller/dist/schemas/dmn-1_6/Dmn16Spec";
import { v4 as uuid } from "uuid";
+import { JSONSchema4 } from "json-schema";
+import { cloneDeep } from "lodash";
const INPUT_DATA = "inputData";
const XML_MIME = "text/xml";
@@ -60,6 +62,13 @@ export interface DmnLanguageServiceResource {
normalizedPosixPathRelativeToTheWorkspaceRoot:
NormalizedPosixPathRelativeToWorkspaceRoot;
}
+type DrgElement = NonNullable<DMN_LATEST__tDefinitions["drgElement"]>[number];
+
+interface Model {
+ definitions: DMN_LATEST__tDefinitions;
+ xml: string;
+}
+
/**
* The hierarchy is a map of NormalizedPosixPathRelativeToWorkspaceRoot to
`deep` and `immediate` sets
* The `deep` Set contains all direct and indirect imported DMNs of the given
DMN
@@ -78,13 +87,7 @@ type ImportIndexHierarchy = Map<
* The `definitions` is the parsed definitions of the given DMN
* The `xml` is the plain text of the given DMN
*/
-type ImportIndexModels = Map<
- NormalizedPosixPathRelativeToWorkspaceRoot,
- {
- definitions: DMN_LATEST__tDefinitions;
- xml: string;
- }
->;
+type ImportIndexModels = Map<NormalizedPosixPathRelativeToWorkspaceRoot,
Model>;
/**
* The ImportIndex collects the hierarchy and the models of all imported DMNs
@@ -253,6 +256,310 @@ Error details: ${error}`);
return "";
}
+ //To get namespace with decision and it's related inputs
+ public getDecisionInputDataNodes(
+ decisionId: string,
+ modelNamespace: string,
+ namespaceDrgElementsMap: Map<string, Map<string, DrgElement>>,
+ namespaceToImportedModelsMap: Map<string, Model>,
+ decisionToInputDataMap: Map<string, Set<string>>
+ ): Set<string> {
+ const inputDataIds = new Set<string>();
+ decisionToInputDataMap.set(`${modelNamespace}#${decisionId}`,
inputDataIds);
+ const drgElementsMap = namespaceDrgElementsMap.get(modelNamespace);
+
+ if (!drgElementsMap) return inputDataIds;
+ const decision = drgElementsMap.get(decisionId);
+
+ if (!decision || decision["__$$element"] !== "decision") return
inputDataIds;
+
+ decision.informationRequirement?.forEach((requirement) => {
+ if (requirement.requiredInput) {
+ const inputHref = requirement.requiredInput["@_href"];
+ const inputDataId = inputHref.startsWith("#") ? inputHref.substring(1)
: inputHref;
+ inputDataIds.add(inputDataId);
+ } else if (requirement.requiredDecision) {
+ const decisionHref = requirement.requiredDecision["@_href"];
+ const [namespace, decisionId] = decisionHref.includes("#") ?
decisionHref.split("#") : ["", decisionHref];
+ const includedModelNamespace = namespace.startsWith("http") ?
namespace : modelNamespace;
+ const IncludedModelName =
namespaceToImportedModelsMap.get(includedModelNamespace);
+ if (IncludedModelName) {
+ this.getDecisionInputDataNodes(
+ decisionId,
+ includedModelNamespace,
+ namespaceDrgElementsMap,
+ namespaceToImportedModelsMap,
+ decisionToInputDataMap
+ ).forEach((inputId) => inputDataIds.add(inputId));
+ }
+ }
+ });
+ return inputDataIds;
+ }
+
+ //To get imports model data
+ public getNamespaceToImportedModelData(model: Model, namespaceToModelsMap:
Map<string, Model>) {
+ model.definitions.import?.forEach((importedDmn) => {
+ if (importedDmn?.["@_namespace"]) {
+ namespaceToModelsMap.set(importedDmn["@_namespace"], model);
+ }
+ });
+ }
+
+ public getNamespaceToDrgElementsData(model: Model,
namespaceToDrgElementsMap: Map<string, Map<string, DrgElement>>) {
+ const idToDrgElementsMap = new Map<string, DrgElement>();
+ model.definitions?.drgElement?.forEach((element) => {
+ idToDrgElementsMap.set(element["@_id"]!, element);
+ });
+ namespaceToDrgElementsMap.set(model.definitions?.["@_namespace"] ?? "",
idToDrgElementsMap);
+ }
+
+ //To filter only included inputs for decisions / decisionService
+ public filterRequiredDecisionInputDataNodes = (
+ namespace: string | undefined,
+ namespaceToElementsMap: Map<string, Map<string, DrgElement>>,
+ decisionIdToInputIdsMap: Map<string, Set<string>>,
+ requiredDecisionsHref: Set<string>
+ ) => {
+ if (!namespace) return;
+ const drgElementsMap = namespaceToElementsMap.get(namespace);
+ if (!drgElementsMap) return;
+ drgElementsMap.forEach((drgElement) => {
+ if (drgElement.__$$element === "decision") {
+ drgElement.informationRequirement?.forEach((decision) => {
+ if (decision.requiredDecision) {
+ const decisionHref = decision.requiredDecision["@_href"];
+ if (decisionIdToInputIdsMap.has(decisionHref)) {
+ requiredDecisionsHref.add(decisionHref);
+ }
+
+ if (decisionHref.includes("#")) {
+ const [namespace] = decisionHref.split("#");
+ if (namespace) {
+ this.filterRequiredDecisionInputDataNodes(
+ namespace,
+ namespaceToElementsMap,
+ decisionIdToInputIdsMap,
+ requiredDecisionsHref
+ );
+ }
+ }
+ }
+ });
+ }
+
+ if (drgElement.__$$element === "decisionService" &&
drgElement.outputDecision) {
+ drgElement.outputDecision.forEach((outputDecision) => {
+ const decisionHref = outputDecision["@_href"];
+ if (decisionIdToInputIdsMap.has(decisionHref)) {
+ requiredDecisionsHref.add(decisionHref);
+ }
+
+ if (decisionHref.includes("#")) {
+ const [namespace] = decisionHref.split("#");
+ if (namespace)
+ this.filterRequiredDecisionInputDataNodes(
+ namespace,
+ namespaceToElementsMap,
+ decisionIdToInputIdsMap,
+ requiredDecisionsHref
+ );
+ }
+ });
+ }
+ });
+ };
+
+ public buildIncludedModelsSchema(
+ parentSchema: JSONSchema4,
+ readonly__modelName: string,
+ readonly__importIndex: ImportIndex,
+ readonly__modelNameToImportDefinition: Map<string, DMN_LATEST__tImport>,
+ readonly__requiredDecisions: Set<string>,
+ readonly__namespaceToDrgElementsMap: Map<string, Map<string, DrgElement>>,
+ readonly__modifiedJsonSchema: JSONSchema4,
+ readonly__inputSet: JSONSchema4,
+ alreadyProcessedIncludedModelNames = new Set<string>()
+ ) {
+ if (alreadyProcessedIncludedModelNames.has(readonly__modelName)) return;
+ alreadyProcessedIncludedModelNames.add(readonly__modelName);
+
+ const modelHierarchy =
readonly__importIndex.hierarchy.get(readonly__modelName);
+ if (!modelHierarchy) return;
+
+ // For immediate imported models
+ modelHierarchy.immediate.forEach((importedModelName: string) => {
+ const importedModel =
readonly__modelNameToImportDefinition.get(importedModelName);
+ if (!importedModel) return;
+
+ const dmnDefinition =
Object.values(readonly__modifiedJsonSchema.definitions!).find((definition) =>
+ definition?.["x-dmn-type"]?.includes(importedModel["@_namespace"])
+ ) as JSONSchema4 | undefined;
+
+ if (!dmnDefinition?.properties) return;
+
+ // Get required inputs for this namespace
+ const inputDataNames = new Set<string>();
+ readonly__requiredDecisions.forEach((namespaceDecisionId) => {
+ const [namespace, decisionId] = namespaceDecisionId.split("#");
+ if (namespace !== importedModel["@_namespace"]) return;
+
+ const drgElementsMap =
readonly__namespaceToDrgElementsMap.get(namespace);
+ if (!drgElementsMap) return;
+
+ const drgElement = drgElementsMap.get(decisionId);
+ if (!drgElement) return;
+
+ if (drgElement.__$$element !== "decision") return;
+
+ drgElement.informationRequirement?.forEach((requirement:
DMN_LATEST__tInformationRequirement) => {
+ if (requirement.requiredInput) {
+ const inputDataId =
requirement.requiredInput["@_href"].split("#")[1];
+ const inputElement = drgElementsMap.get(inputDataId);
+ if (inputElement && inputElement["@_name"]) {
+ inputDataNames.add(inputElement["@_name"]);
+ }
+ }
+ });
+ });
+
+ // Filter properties to only include required inputs
+ const filteredProperties = Object.fromEntries(
+ Object.entries(dmnDefinition.properties).filter(([inputDataName]) => {
+ const isInInputDataNames = inputDataNames.has(inputDataName);
+ const shouldInclude = !(
+ !importedModel["@_name"] &&
+ readonly__inputSet.properties &&
+ inputDataName in readonly__inputSet.properties
+ );
+ return isInInputDataNames && shouldInclude;
+ })
+ );
+
+ if (Object.keys(filteredProperties).length > 0) {
+ if (!parentSchema.properties) parentSchema.properties = {};
+
+ if (importedModel["@_name"]) {
+ // If we have an import name, nest under that importName
+ if (!parentSchema.properties[importedModel["@_name"]]) {
+ parentSchema.properties[importedModel["@_name"]] = {
+ type: "object" as const,
+ properties: {},
+ };
+ }
+ const importSchema =
parentSchema.properties[importedModel["@_name"]] as JSONSchema4;
+ if (!importSchema.properties) importSchema.properties = {};
+ Object.assign(importSchema.properties, filteredProperties);
+
+ // Recursively build inputs for import's dependencies
+ this.buildIncludedModelsSchema(
+ importSchema,
+ importedModelName,
+ readonly__importIndex,
+ readonly__modelNameToImportDefinition,
+ readonly__requiredDecisions,
+ readonly__namespaceToDrgElementsMap,
+ readonly__modifiedJsonSchema,
+ readonly__inputSet,
+ alreadyProcessedIncludedModelNames
+ );
+ } else {
+ // If no import name, add directly to properties
+ Object.assign(parentSchema.properties, filteredProperties);
+ this.buildIncludedModelsSchema(
+ parentSchema,
+ importedModelName,
+ readonly__importIndex,
+ readonly__modelNameToImportDefinition,
+ readonly__requiredDecisions,
+ readonly__namespaceToDrgElementsMap,
+ readonly__modifiedJsonSchema,
+ readonly__inputSet,
+ alreadyProcessedIncludedModelNames
+ );
+ }
+ }
+ });
+ }
+
+ public buildModifiedJsonSchemaWithIncludedModels(jsonSchema: JSONSchema4,
importIndex: ImportIndex) {
+ if (!jsonSchema.definitions) return jsonSchema;
+
+ const modifiedJsonSchema = cloneDeep(jsonSchema);
+ const inputSet = modifiedJsonSchema.definitions?.InputSet || {};
+ if (!inputSet.properties) {
+ inputSet.properties = {};
+ }
+
+ const namespaceToImportedModelsMap = new Map<string, Model>();
+ const namespaceToIdToDrgElementsMap = new Map<string, Map<string,
DrgElement>>();
+ const decisionIdToInputIdsMap = new Map<string, Set<string>>();
+
+ Array.from(importIndex.models.values()).forEach((model) => {
+ this.getNamespaceToImportedModelData(model,
namespaceToImportedModelsMap);
+ this.getNamespaceToDrgElementsData(model, namespaceToIdToDrgElementsMap);
+ });
+
+ namespaceToIdToDrgElementsMap.forEach((elementsMap, namespace) => {
+ elementsMap.forEach((element, decisionId) => {
+ if (element["__$$element"] === "decision") {
+ this.getDecisionInputDataNodes(
+ decisionId,
+ namespace,
+ namespaceToIdToDrgElementsMap,
+ namespaceToImportedModelsMap,
+ decisionIdToInputIdsMap
+ );
+ }
+ });
+ });
+
+ const requiredDecisionsHref = new Set<string>();
+ const currentModel = importIndex.models.values().next().value;
+ this.filterRequiredDecisionInputDataNodes(
+ currentModel.definitions?.["@_namespace"],
+ namespaceToIdToDrgElementsMap,
+ decisionIdToInputIdsMap,
+ requiredDecisionsHref
+ );
+
+ // Create a map of model filenames to their import definitions
+ const modelNameToImportDefinition = new Map<string, DMN_LATEST__tImport>();
+ Array.from(importIndex.models.values()).forEach((model) => {
+ model.definitions?.import?.forEach((importDefinition) => {
+ const locationUri = importDefinition["@_locationURI"];
+ if (locationUri) {
+ const modelName = locationUri.replace("./", "");
+ modelNameToImportDefinition.set(modelName, importDefinition);
+ }
+ });
+ });
+
+ const includedModelSchema: JSONSchema4 = {
+ type: "object",
+ properties: {},
+ };
+
+ // Start building inputs for the current model
+ const rootModelFile = Array.from(importIndex.hierarchy.keys())[0];
+ this.buildIncludedModelsSchema(
+ includedModelSchema,
+ rootModelFile,
+ importIndex,
+ modelNameToImportDefinition,
+ requiredDecisionsHref,
+ namespaceToIdToDrgElementsMap,
+ modifiedJsonSchema,
+ inputSet
+ );
+
+ if (Object.keys(includedModelSchema.properties!).length > 0) {
+ inputSet.properties["Included Models"] = includedModelSchema;
+ }
+
+ return modifiedJsonSchema;
+ }
+
// TODO: Rewrite this using the new Marshaller.
public getDmnDocumentData(xml: string): DmnDocumentData {
const xmlContent = this.parser.parseFromString(xml, XML_MIME);
diff --git a/packages/dmn-language-service/tsconfig.json
b/packages/dmn-language-service/tsconfig.json
index 8cb7f1eed0e..ba4d0fd82da 100644
--- a/packages/dmn-language-service/tsconfig.json
+++ b/packages/dmn-language-service/tsconfig.json
@@ -1,3 +1,6 @@
{
- "extends": "@kie-tools/tsconfig/tsconfig.esm.json"
+ "extends": "@kie-tools/tsconfig/tsconfig.esm.json",
+ "compilerOptions": {
+ "esModuleInterop": true
+ }
}
diff --git a/packages/online-editor/src/dmnRunner/DmnRunnerContextProvider.tsx
b/packages/online-editor/src/dmnRunner/DmnRunnerContextProvider.tsx
index 8a2776b6f0b..1cdeb552064 100644
--- a/packages/online-editor/src/dmnRunner/DmnRunnerContextProvider.tsx
+++ b/packages/online-editor/src/dmnRunner/DmnRunnerContextProvider.tsx
@@ -28,7 +28,11 @@ import {
useReducer,
useRef,
} from "react";
-import { useWorkspaces, WorkspaceFile } from
"@kie-tools-core/workspaces-git-fs/dist/context/WorkspacesContext";
+import {
+ useWorkspaces,
+ WorkspaceFile,
+ WorkspacesContextType,
+} from "@kie-tools-core/workspaces-git-fs/dist/context/WorkspacesContext";
import { DmnRunnerMode, DmnRunnerStatus } from "./DmnRunnerStatus";
import { DmnRunnerDispatchContext, DmnRunnerStateContext } from
"./DmnRunnerContext";
import { ExtendedServicesStatus } from
"../extendedServices/ExtendedServicesStatus";
@@ -309,21 +313,20 @@ export function DmnRunnerContextProvider(props:
PropsWithChildren<Props>) {
const extendedServicesModelPayload = useCallback<(formInputs?: InputRow) =>
Promise<ExtendedServicesModelPayload>>(
async (formInputs) => {
- const fileContent = await workspaces.getFileContent({
- workspaceId: props.workspaceFile.workspaceId,
- relativePath: props.workspaceFile.relativePath,
- });
-
- const decodedFileContent = decoder.decode(fileContent);
- const importIndex = await props.dmnLanguageService?.buildImportIndex([
- {
- content: decodedFileContent,
- normalizedPosixPathRelativeToTheWorkspaceRoot:
props.workspaceFile.relativePath,
- },
- ]);
+ const importIndex = await getImportIndex(
+ workspaces,
+ props.workspaceFile.workspaceId,
+ props.workspaceFile.relativePath,
+ props.dmnLanguageService
+ );
+ const { ["Included Models"]: includedModelInputs, ...rest } = formInputs
?? {};
+ const modifiedFormInputs = {
+ ...rest,
+ ...includedModelInputs,
+ };
return {
- context: formInputs,
+ context: modifiedFormInputs,
mainURI: props.workspaceFile.relativePath,
resources: [...(importIndex?.models.entries() ?? [])].map(
([normalizedPosixPathRelativeToTheWorkspaceRoot, model]) => ({
@@ -633,9 +636,19 @@ export function DmnRunnerContextProvider(props:
PropsWithChildren<Props>) {
workspaceFileEvent.content
);
+ const importIndex = await getImportIndex(
+ workspaces,
+ props.workspaceFile.workspaceId,
+ props.workspaceFile.relativePath,
+ props.dmnLanguageService
+ );
+ const modifiedSchema = importIndex
+ ?
props.dmnLanguageService?.buildModifiedJsonSchemaWithIncludedModels(jsonSchema,
importIndex) ?? jsonSchema
+ : jsonSchema;
+
// Remove incompatible values and add default values;
try {
- const validate = dmnRunnerAjv.compile(jsonSchema);
+ const validate = dmnRunnerAjv.compile(modifiedSchema);
dmnRunnerPersistenceJson.inputs.forEach((input) => {
// save id;
const id = input.id;
@@ -649,7 +662,7 @@ export function DmnRunnerContextProvider(props:
PropsWithChildren<Props>) {
setDmnRunnerPersistenceJson({
newConfigInputs:
cloneDeep(dmnRunnerPersistenceJson.configs.inputs),
newInputsRow:
cloneDeep(dmnRunnerPersistenceJson.inputs).map((dmnRunnerInput) => ({
- ...getDefaultValues(jsonSchema),
+ ...getDefaultValues(modifiedSchema),
...dmnRunnerInput,
})),
shouldUpdateFs: false,
@@ -684,7 +697,16 @@ export function DmnRunnerContextProvider(props:
PropsWithChildren<Props>) {
}
return;
},
- [dmnRunnerAjv, dmnRunnerPersistenceService, jsonSchema,
setDmnRunnerPersistenceJson]
+ [
+ dmnRunnerAjv,
+ dmnRunnerPersistenceService,
+ jsonSchema,
+ props.dmnLanguageService,
+ props.workspaceFile.relativePath,
+ props.workspaceFile.workspaceId,
+ setDmnRunnerPersistenceJson,
+ workspaces,
+ ]
)
);
@@ -719,39 +741,52 @@ export function DmnRunnerContextProvider(props:
PropsWithChildren<Props>) {
const jsonSchema =
openapiSchemaToJsonSchema(dereferencedOpenApiSchema, {
definitionKeywords: ["definitions"],
});
-
- setJsonSchema((previousJsonSchema) => {
- // Early bailout in the DMN first render;
- // This prevents to set the inputs from the previous DMN
- if (!previousJsonSchema) {
- return jsonSchema;
+ return getImportIndex(
+ workspaces,
+ props.workspaceFile.workspaceId,
+ props.workspaceFile.relativePath,
+ props.dmnLanguageService
+ ).then((importIndex) => {
+ if (canceled.get()) {
+ return;
}
-
- const validateInputs = dmnRunnerAjv.compile(jsonSchema);
-
- // Add default values and delete changed data types;
- setDmnRunnerPersistenceJson({
- newConfigInputs: (previousConfigInputs) => {
- const newConfigInputs =
cloneDeep(previousConfigInputs);
-
removeChangedPropertiesAndAdditionalProperties(validateInputs, newConfigInputs);
- return newConfigInputs;
- },
- newInputsRow: (previousInputs) => {
- return cloneDeep(previousInputs).map((input) => {
- const id = input.id;
-
removeChangedPropertiesAndAdditionalProperties(validateInputs, input);
- input.id = id;
- return { ...getDefaultValues(jsonSchema), ...input };
- });
- },
- cancellationToken: canceled,
+ const modifiedSchema = importIndex
+ ?
props.dmnLanguageService?.buildModifiedJsonSchemaWithIncludedModels(jsonSchema,
importIndex) ??
+ jsonSchema
+ : jsonSchema;
+ setJsonSchema((previousJsonSchema) => {
+ // Early bailout in the DMN first render;
+ // This prevents to set the inputs from the previous DMN
+ if (!previousJsonSchema) {
+ return modifiedSchema;
+ }
+
+ const validateInputs =
dmnRunnerAjv.compile(modifiedSchema);
+
+ // Add default values and delete changed data types;
+ setDmnRunnerPersistenceJson({
+ newConfigInputs: (previousConfigInputs) => {
+ const newConfigInputs =
cloneDeep(previousConfigInputs);
+
removeChangedPropertiesAndAdditionalProperties(validateInputs, newConfigInputs);
+ return newConfigInputs;
+ },
+ newInputsRow: (previousInputs) => {
+ return cloneDeep(previousInputs).map((input) => {
+ const id = input.id;
+
removeChangedPropertiesAndAdditionalProperties(validateInputs, input);
+ input.id = id;
+ return { ...getDefaultValues(modifiedSchema),
...input };
+ });
+ },
+ cancellationToken: canceled,
+ });
+
+ // This should be done to remove any previous errors or
to add new errors
+ if (Object.keys(diff(previousJsonSchema,
modifiedSchema)).length > 0) {
+ forceDmnRunnerReRender();
+ }
+ return modifiedSchema;
});
-
- // This should be done to remove any previous errors or to
add new errors
- if (Object.keys(diff(previousJsonSchema,
jsonSchema)).length > 0) {
- forceDmnRunnerReRender();
- }
- return jsonSchema;
});
})
.catch((err) => {
@@ -775,6 +810,10 @@ export function DmnRunnerContextProvider(props:
PropsWithChildren<Props>) {
extendedServicesModelPayload,
props.workspaceFile.extension,
setDmnRunnerPersistenceJson,
+ props.dmnLanguageService,
+ props.workspaceFile.relativePath,
+ props.workspaceFile.workspaceId,
+ workspaces,
]
)
);
@@ -911,6 +950,27 @@ export function DmnRunnerContextProvider(props:
PropsWithChildren<Props>) {
);
}
+async function getImportIndex(
+ workspaces: WorkspacesContextType,
+ workspaceId: string,
+ normalizedPosixPathRelativeToTheWorkspaceRoot: string,
+ dmnLanguageService?: DmnLanguageService
+) {
+ const fileContent = await workspaces.getFileContent({
+ workspaceId,
+ relativePath: normalizedPosixPathRelativeToTheWorkspaceRoot,
+ });
+
+ const decodedFileContent = decoder.decode(fileContent);
+ const importIndex = await dmnLanguageService?.buildImportIndex([
+ {
+ content: decodedFileContent,
+ normalizedPosixPathRelativeToTheWorkspaceRoot,
+ },
+ ]);
+ return importIndex;
+}
+
export function DmnRunnerExtendedServicesError() {
return (
<div>
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index d466d98fe98..7640a57a794 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -4322,7 +4322,7 @@ importers:
version: 7.6.13([email protected])
'@storybook/addon-webpack5-compiler-babel':
specifier: ^3.0.5
- version: 3.0.5([email protected]([email protected]))
+ version:
3.0.5([email protected](@swc/[email protected])([email protected])([email protected]))
'@storybook/blocks':
specifier: ^7.3.2
version:
7.6.13(@types/[email protected])(@types/[email protected])([email protected])([email protected]([email protected]))([email protected])
@@ -4337,7 +4337,7 @@ importers:
version:
7.6.13([email protected])([email protected]([email protected]))([email protected])([email protected])
'@storybook/react-webpack5':
specifier: ^7.3.2
- version:
7.6.13(@babel/[email protected])(@types/[email protected])([email protected])([email protected]([email protected]))([email protected])([email protected])([email protected])([email protected]([email protected])([email protected]))([email protected]([email protected])([email protected]))([email protected])
+ version:
7.6.13(@babel/[email protected])(@swc/[email protected])(@types/[email protected])([email protected])([email protected])([email protected]([email protected]))([email protected])([email protected])([email protected])([email protected]([email protected])([email protected]))([email protected]([email protected])([email protected]))([email protected])
'@types/d3-drag':
specifier: ^3.0.3
version: 3.0.7
@@ -4367,7 +4367,7 @@ importers:
version: 8.3.0
copy-webpack-plugin:
specifier: ^11.0.0
- version: 11.0.0([email protected]([email protected]))
+ version:
11.0.0([email protected](@swc/[email protected])([email protected])([email protected]))
copyfiles:
specifier: ^2.4.1
version: 2.4.1
@@ -4379,16 +4379,16 @@ importers:
version: 1.1.9
file-loader:
specifier: ^6.2.0
- version: 6.2.0([email protected]([email protected]))
+ version:
6.2.0([email protected](@swc/[email protected])([email protected])([email protected]))
jest:
specifier: ^29.7.0
- version:
29.7.0(@types/[email protected])([email protected])([email protected](@types/[email protected])([email protected]))
+ version:
29.7.0(@types/[email protected])([email protected])([email protected](@swc/[email protected])(@types/[email protected])([email protected]))
jest-junit:
specifier: ^16.0.0
version: 16.0.0
jest-when:
specifier: ^3.6.0
- version:
3.6.0([email protected](@types/[email protected])([email protected])([email protected](@types/[email protected])([email protected])))
+ version:
3.6.0([email protected](@types/[email protected])([email protected])([email protected](@swc/[email protected])(@types/[email protected])([email protected])))
lodash:
specifier: ^4.17.21
version: 4.17.21
@@ -4406,13 +4406,13 @@ importers:
version: 7.6.13([email protected])
ts-jest:
specifier: ^29.1.5
- version:
29.1.5(@babel/[email protected])(@jest/[email protected])(@jest/[email protected])([email protected](@babel/[email protected]))([email protected](@types/[email protected])([email protected])([email protected](@types/[email protected])([email protected])))([email protected])
+ version:
29.1.5(@babel/[email protected])(@jest/[email protected])(@jest/[email protected])([email protected](@babel/[email protected]))([email protected])([email protected](@types/[email protected])([email protected])([email protected](@swc/[email protected])(@types/[email protected])([email protected])))([email protected])
typescript:
specifier: ^5.5.3
version: 5.5.3
webpack:
specifier: ^5.94.0
- version: 5.94.0([email protected])
+ version: 5.94.0(@swc/[email protected])([email protected])([email protected])
webpack-cli:
specifier: ^4.10.0
version: 4.10.0([email protected])([email protected])
@@ -4581,7 +4581,7 @@ importers:
version: 7.6.13([email protected])
'@storybook/addon-webpack5-compiler-babel':
specifier: ^3.0.5
- version:
3.0.5([email protected](@swc/[email protected])([email protected])([email protected]))
+ version: 3.0.5([email protected]([email protected]))
'@storybook/blocks':
specifier: ^7.3.2
version:
7.6.13(@types/[email protected])(@types/[email protected])([email protected])([email protected]([email protected]))([email protected])
@@ -4596,7 +4596,7 @@ importers:
version:
7.6.13([email protected])([email protected]([email protected]))([email protected])([email protected])
'@storybook/react-webpack5':
specifier: ^7.3.2
- version:
7.6.13(@babel/[email protected])(@swc/[email protected])(@types/[email protected])([email protected])([email protected])([email protected]([email protected]))([email protected])([email protected])([email protected])([email protected]([email protected])([email protected])([email protected]))([email protected]([email protected])([email protected]))([email protected])
+ version:
7.6.13(@babel/[email protected])(@types/[email protected])([email protected])([email protected]([email protected]))([email protected])([email protected])([email protected])([email protected]([email protected])([email protected])([email protected]))([email protected]([email protected])([email protected]))([email protected])
'@types/jest-when':
specifier: ^3.5.5
version: 3.5.5
@@ -4629,7 +4629,7 @@ importers:
version: 9.5.1
html-webpack-plugin:
specifier: ^5.3.2
- version:
5.5.3([email protected](@swc/[email protected])([email protected])([email protected]))
+ version: 5.5.3([email protected]([email protected]))
junit-report-merger:
specifier: ^4.0.0
version: 4.0.0
@@ -4650,7 +4650,7 @@ importers:
version: 0.11.10
raw-loader:
specifier: ^4.0.2
- version:
4.0.2([email protected](@swc/[email protected])([email protected])([email protected]))
+ version: 4.0.2([email protected]([email protected]))
react:
specifier: ^17.0.2
version: 17.0.2
@@ -4671,7 +4671,7 @@ importers:
version: 5.5.3
webpack:
specifier: ^5.94.0
- version: 5.94.0(@swc/[email protected])([email protected])([email protected])
+ version: 5.94.0([email protected])
webpack-bundle-analyzer:
specifier: ^4.10.2
version: 4.10.2
@@ -4733,6 +4733,9 @@ importers:
antlr4:
specifier: ^4.13.0
version: 4.13.0
+ lodash:
+ specifier: ^4.17.21
+ version: 4.17.21
uuid:
specifier: ^8.3.2
version: 8.3.2
@@ -4761,6 +4764,12 @@ importers:
'@types/jest':
specifier: ^29.5.12
version: 29.5.12
+ '@types/json-schema':
+ specifier: ^7.0.11
+ version: 7.0.15
+ '@types/lodash':
+ specifier: ^4.14.168
+ version: 4.14.202
'@types/uuid':
specifier: ^8.3.0
version: 8.3.0
@@ -42419,7 +42428,7 @@ snapshots:
- uglify-js
- webpack-cli
-
'@storybook/[email protected]([email protected])([email protected])([email protected])([email protected]([email protected])([email protected])([email protected]))':
+
'@storybook/[email protected]([email protected])([email protected])([email protected])([email protected]([email protected])([email protected]))':
dependencies:
'@babel/core': 7.24.9
'@storybook/channels': 7.6.13
@@ -42469,6 +42478,56 @@ snapshots:
- uglify-js
- webpack-cli
+
'@storybook/[email protected]([email protected])([email protected])([email protected]([email protected])([email protected])([email protected]))':
+ dependencies:
+ '@babel/core': 7.24.9
+ '@storybook/channels': 7.6.13
+ '@storybook/client-logger': 7.6.13
+ '@storybook/core-common': 7.6.13([email protected])
+ '@storybook/core-events': 7.6.13
+ '@storybook/core-webpack': 7.6.13([email protected])
+ '@storybook/node-logger': 7.6.13
+ '@storybook/preview': 7.6.13
+ '@storybook/preview-api': 7.6.13
+ '@swc/core': 1.3.92
+ '@types/node': 18.17.18
+ '@types/semver': 7.5.2
+ babel-loader:
9.1.3(@babel/[email protected])([email protected](@swc/[email protected])([email protected]([email protected])([email protected])([email protected])))
+ browser-assert: 1.2.1
+ case-sensitive-paths-webpack-plugin: 2.4.0
+ cjs-module-lexer: 1.2.3
+ constants-browserify: 1.0.0
+ css-loader:
6.7.1([email protected](@swc/[email protected])([email protected]([email protected])([email protected])([email protected])))
+ es-module-lexer: 1.4.1
+ express: 4.21.2
+ fork-ts-checker-webpack-plugin:
8.0.0([email protected])([email protected](@swc/[email protected])([email protected]([email protected])([email protected])([email protected])))
+ fs-extra: 11.1.1
+ html-webpack-plugin:
5.5.3([email protected](@swc/[email protected])([email protected]([email protected])([email protected])([email protected])))
+ magic-string: 0.30.7
+ path-browserify: 1.0.1
+ process: 0.11.10
+ semver: 7.5.4
+ style-loader:
3.3.3([email protected](@swc/[email protected])([email protected]([email protected])([email protected])([email protected])))
+ swc-loader:
0.2.3(@swc/[email protected])([email protected](@swc/[email protected])([email protected]([email protected])([email protected])([email protected])))
+ terser-webpack-plugin:
5.3.10(@swc/[email protected])([email protected](@swc/[email protected])([email protected]([email protected])([email protected])([email protected])))
+ ts-dedent: 2.2.0
+ url: 0.11.3
+ util: 0.12.5
+ util-deprecate: 1.0.2
+ webpack:
5.94.0(@swc/[email protected])([email protected]([email protected])([email protected])([email protected]))
+ webpack-dev-middleware:
6.1.1([email protected](@swc/[email protected])([email protected]([email protected])([email protected])([email protected])))
+ webpack-hot-middleware: 2.25.4
+ webpack-virtual-modules: 0.5.0
+ optionalDependencies:
+ typescript: 5.5.3
+ transitivePeerDependencies:
+ - '@swc/helpers'
+ - encoding
+ - esbuild
+ - supports-color
+ - uglify-js
+ - webpack-cli
+
'@storybook/[email protected]([email protected])([email protected])([email protected]([email protected])([email protected]))':
dependencies:
'@babel/core': 7.24.9
@@ -43303,16 +43362,16 @@ snapshots:
- webpack-hot-middleware
- webpack-plugin-serve
-
'@storybook/[email protected](@babel/[email protected])(@types/[email protected])([email protected])([email protected]([email protected]))([email protected])([email protected])([email protected])([email protected]([email protected])([email protected]))([email protected]([email protected])([email protected]))([email protected])':
+
'@storybook/[email protected](@babel/[email protected])(@swc/[email protected])(@types/[email protected])([email protected])([email protected])([email protected]([email protected]))([email protected])([email protected])([email protected])([email protected]([email protected])([email protected]))([email protected]([email protected])([email protected]))([email protected])':
dependencies:
'@babel/preset-flow': 7.22.15(@babel/[email protected])
'@babel/preset-react': 7.22.15(@babel/[email protected])
- '@pmmmwh/react-refresh-webpack-plugin':
0.5.11(@types/[email protected])([email protected])([email protected])([email protected]([email protected])([email protected]))([email protected])([email protected]([email protected]))
+ '@pmmmwh/react-refresh-webpack-plugin':
0.5.11(@types/[email protected])([email protected])([email protected])([email protected]([email protected])([email protected]))([email protected])([email protected](@swc/[email protected])([email protected])([email protected]))
'@storybook/core-webpack': 7.6.13([email protected])
'@storybook/docs-tools': 7.6.13([email protected])
'@storybook/node-logger': 7.6.13
'@storybook/react':
7.6.13([email protected])([email protected]([email protected]))([email protected])([email protected])
- '@storybook/react-docgen-typescript-plugin':
1.0.6--canary.9.0c3f3b7.0([email protected])([email protected]([email protected]))
+ '@storybook/react-docgen-typescript-plugin':
1.0.6--canary.9.0c3f3b7.0([email protected])([email protected](@swc/[email protected])([email protected])([email protected]))
'@types/node': 18.17.18
'@types/semver': 7.5.2
babel-plugin-add-react-displayname: 0.0.5
@@ -43323,7 +43382,7 @@ snapshots:
react-dom: 17.0.2([email protected])
react-refresh: 0.14.0
semver: 7.5.4
- webpack: 5.94.0([email protected])
+ webpack: 5.94.0(@swc/[email protected])([email protected])([email protected])
optionalDependencies:
'@babel/core': 7.23.0
typescript: 5.5.3
@@ -43341,16 +43400,16 @@ snapshots:
- webpack-hot-middleware
- webpack-plugin-serve
-
'@storybook/[email protected](@babel/[email protected])(@swc/[email protected])(@types/[email protected])([email protected])([email protected])([email protected]([email protected]))([email protected])([email protected])([email protected])([email protected]([email protected])([email protected])([email protected]))([email protected]([email protected])([email protected]))([email protected])':
+
'@storybook/[email protected](@babel/[email protected])(@types/[email protected])([email protected])([email protected]([email protected]))([email protected])([email protected])([email protected])([email protected]([email protected])([email protected])([email protected]))([email protected]([email protected])([email protected]))([email protected])':
dependencies:
'@babel/preset-flow': 7.22.15(@babel/[email protected])
'@babel/preset-react': 7.22.15(@babel/[email protected])
- '@pmmmwh/react-refresh-webpack-plugin':
0.5.11(@types/[email protected])([email protected])([email protected])([email protected]([email protected])([email protected]))([email protected])([email protected](@swc/[email protected])([email protected])([email protected]))
+ '@pmmmwh/react-refresh-webpack-plugin':
0.5.11(@types/[email protected])([email protected])([email protected])([email protected]([email protected])([email protected]))([email protected])([email protected]([email protected]))
'@storybook/core-webpack': 7.6.13([email protected])
'@storybook/docs-tools': 7.6.13([email protected])
'@storybook/node-logger': 7.6.13
'@storybook/react':
7.6.13([email protected])([email protected]([email protected]))([email protected])([email protected])
- '@storybook/react-docgen-typescript-plugin':
1.0.6--canary.9.0c3f3b7.0([email protected])([email protected](@swc/[email protected])([email protected])([email protected]))
+ '@storybook/react-docgen-typescript-plugin':
1.0.6--canary.9.0c3f3b7.0([email protected])([email protected]([email protected]))
'@types/node': 18.17.18
'@types/semver': 7.5.2
babel-plugin-add-react-displayname: 0.0.5
@@ -43361,7 +43420,7 @@ snapshots:
react-dom: 17.0.2([email protected])
react-refresh: 0.14.0
semver: 7.5.4
- webpack: 5.94.0(@swc/[email protected])([email protected])([email protected])
+ webpack: 5.94.0([email protected])
optionalDependencies:
'@babel/core': 7.23.9
typescript: 5.5.3
@@ -43551,10 +43610,10 @@ snapshots:
- webpack-hot-middleware
- webpack-plugin-serve
-
'@storybook/[email protected](@babel/[email protected])(@types/[email protected])([email protected])([email protected]([email protected]))([email protected])([email protected])([email protected])([email protected]([email protected])([email protected]))([email protected]([email protected])([email protected]))([email protected])':
+
'@storybook/[email protected](@babel/[email protected])(@swc/[email protected])(@types/[email protected])([email protected])([email protected])([email protected]([email protected]))([email protected])([email protected])([email protected])([email protected]([email protected])([email protected]))([email protected]([email protected])([email protected]))([email protected])':
dependencies:
- '@storybook/builder-webpack5':
7.6.13([email protected])([email protected])([email protected]([email protected])([email protected]))
- '@storybook/preset-react-webpack':
7.6.13(@babel/[email protected])(@types/[email protected])([email protected])([email protected]([email protected]))([email protected])([email protected])([email protected])([email protected]([email protected])([email protected]))([email protected]([email protected])([email protected]))([email protected])
+ '@storybook/builder-webpack5':
7.6.13([email protected])([email protected])([email protected])([email protected]([email protected])([email protected]))
+ '@storybook/preset-react-webpack':
7.6.13(@babel/[email protected])(@swc/[email protected])(@types/[email protected])([email protected])([email protected])([email protected]([email protected]))([email protected])([email protected])([email protected])([email protected]([email protected])([email protected]))([email protected]([email protected])([email protected]))([email protected])
'@storybook/react':
7.6.13([email protected])([email protected]([email protected]))([email protected])([email protected])
'@types/node': 18.17.18
react: 17.0.2
@@ -43577,10 +43636,10 @@ snapshots:
- webpack-hot-middleware
- webpack-plugin-serve
-
'@storybook/[email protected](@babel/[email protected])(@swc/[email protected])(@types/[email protected])([email protected])([email protected])([email protected]([email protected]))([email protected])([email protected])([email protected])([email protected]([email protected])([email protected])([email protected]))([email protected]([email protected])([email protected]))([email protected])':
+
'@storybook/[email protected](@babel/[email protected])(@types/[email protected])([email protected])([email protected]([email protected]))([email protected])([email protected])([email protected])([email protected]([email protected])([email protected])([email protected]))([email protected]([email protected])([email protected]))([email protected])':
dependencies:
- '@storybook/builder-webpack5':
7.6.13([email protected])([email protected])([email protected])([email protected]([email protected])([email protected])([email protected]))
- '@storybook/preset-react-webpack':
7.6.13(@babel/[email protected])(@swc/[email protected])(@types/[email protected])([email protected])([email protected])([email protected]([email protected]))([email protected])([email protected])([email protected])([email protected]([email protected])([email protected])([email protected]))([email protected]([email protected])([email protected]))([email protected])
+ '@storybook/builder-webpack5':
7.6.13([email protected])([email protected])([email protected]([email protected])([email protected])([email protected]))
+ '@storybook/preset-react-webpack':
7.6.13(@babel/[email protected])(@types/[email protected])([email protected])([email protected]([email protected]))([email protected])([email protected])([email protected])([email protected]([email protected])([email protected])([email protected]))([email protected]([email protected])([email protected]))([email protected])
'@storybook/react':
7.6.13([email protected])([email protected]([email protected]))([email protected])([email protected])
'@types/node': 18.17.18
react: 17.0.2
@@ -46188,6 +46247,13 @@ snapshots:
schema-utils: 4.2.0
webpack: 5.94.0(@swc/[email protected])([email protected])
+
[email protected](@babel/[email protected])([email protected](@swc/[email protected])([email protected]([email protected])([email protected])([email protected]))):
+ dependencies:
+ '@babel/core': 7.24.9
+ find-cache-dir: 4.0.0
+ schema-utils: 4.2.0
+ webpack:
5.94.0(@swc/[email protected])([email protected]([email protected])([email protected])([email protected]))
+
[email protected](@babel/[email protected])([email protected](@swc/[email protected])([email protected]([email protected])([email protected]))):
dependencies:
'@babel/core': 7.24.9
@@ -48144,6 +48210,18 @@ snapshots:
semver: 7.6.3
webpack: 5.94.0(@swc/[email protected])([email protected])
+
[email protected]([email protected](@swc/[email protected])([email protected]([email protected])([email protected])([email protected]))):
+ dependencies:
+ icss-utils: 5.1.0([email protected])
+ postcss: 8.4.38
+ postcss-modules-extract-imports: 3.0.0([email protected])
+ postcss-modules-local-by-default: 4.0.0([email protected])
+ postcss-modules-scope: 3.0.0([email protected])
+ postcss-modules-values: 4.0.0([email protected])
+ postcss-value-parser: 4.2.0
+ semver: 7.6.3
+ webpack:
5.94.0(@swc/[email protected])([email protected]([email protected])([email protected])([email protected]))
+
[email protected]([email protected](@swc/[email protected])([email protected]([email protected])([email protected]))):
dependencies:
icss-utils: 5.1.0([email protected])
@@ -50272,6 +50350,23 @@ snapshots:
typescript: 5.5.3
webpack: 5.94.0(@swc/[email protected])([email protected])
+
[email protected]([email protected])([email protected](@swc/[email protected])([email protected]([email protected])([email protected])([email protected]))):
+ dependencies:
+ '@babel/code-frame': 7.24.7
+ chalk: 4.1.2
+ chokidar: 3.6.0
+ cosmiconfig: 7.0.1
+ deepmerge: 4.2.2
+ fs-extra: 10.1.0
+ memfs: 3.5.1
+ minimatch: 3.1.2
+ node-abort-controller: 3.1.1
+ schema-utils: 3.3.0
+ semver: 7.6.3
+ tapable: 2.2.1
+ typescript: 5.5.3
+ webpack:
5.94.0(@swc/[email protected])([email protected]([email protected])([email protected])([email protected]))
+
[email protected]([email protected])([email protected](@swc/[email protected])([email protected]([email protected])([email protected]))):
dependencies:
'@babel/code-frame': 7.24.7
@@ -50965,6 +51060,15 @@ snapshots:
tapable: 2.2.1
webpack: 5.94.0(@swc/[email protected])([email protected])
+
[email protected]([email protected](@swc/[email protected])([email protected]([email protected])([email protected])([email protected]))):
+ dependencies:
+ '@types/html-minifier-terser': 6.1.0
+ html-minifier-terser: 6.1.0
+ lodash: 4.17.21
+ pretty-error: 4.0.0
+ tapable: 2.2.1
+ webpack:
5.94.0(@swc/[email protected])([email protected]([email protected])([email protected])([email protected]))
+
[email protected]([email protected](@swc/[email protected])([email protected]([email protected])([email protected]))):
dependencies:
'@types/html-minifier-terser': 6.1.0
@@ -55285,12 +55389,6 @@ snapshots:
iconv-lite: 0.4.24
unpipe: 1.0.0
-
[email protected]([email protected](@swc/[email protected])([email protected])([email protected])):
- dependencies:
- loader-utils: 2.0.4
- schema-utils: 3.3.0
- webpack: 5.94.0(@swc/[email protected])([email protected])([email protected])
-
[email protected]([email protected](@swc/[email protected])([email protected])):
dependencies:
loader-utils: 2.0.4
@@ -57205,6 +57303,10 @@ snapshots:
dependencies:
webpack: 5.94.0(@swc/[email protected])([email protected])
+
[email protected]([email protected](@swc/[email protected])([email protected]([email protected])([email protected])([email protected]))):
+ dependencies:
+ webpack:
5.94.0(@swc/[email protected])([email protected]([email protected])([email protected])([email protected]))
+
[email protected]([email protected](@swc/[email protected])([email protected]([email protected])([email protected]))):
dependencies:
webpack:
5.94.0(@swc/[email protected])([email protected]([email protected])([email protected]))
@@ -57314,6 +57416,11 @@ snapshots:
'@swc/core': 1.3.92
webpack: 5.94.0(@swc/[email protected])([email protected])
+
[email protected](@swc/[email protected])([email protected](@swc/[email protected])([email protected]([email protected])([email protected])([email protected]))):
+ dependencies:
+ '@swc/core': 1.3.92
+ webpack:
5.94.0(@swc/[email protected])([email protected]([email protected])([email protected])([email protected]))
+
[email protected](@swc/[email protected])([email protected](@swc/[email protected])([email protected]([email protected])([email protected]))):
dependencies:
'@swc/core': 1.3.92
@@ -57480,6 +57587,17 @@ snapshots:
'@swc/core': 1.3.92
esbuild: 0.18.20
+
[email protected](@swc/[email protected])([email protected](@swc/[email protected])([email protected]([email protected])([email protected])([email protected]))):
+ dependencies:
+ '@jridgewell/trace-mapping': 0.3.25
+ jest-worker: 27.5.1
+ schema-utils: 3.3.0
+ serialize-javascript: 6.0.2
+ terser: 5.31.6
+ webpack:
5.94.0(@swc/[email protected])([email protected]([email protected])([email protected])([email protected]))
+ optionalDependencies:
+ '@swc/core': 1.3.92
+
[email protected](@swc/[email protected])([email protected](@swc/[email protected])([email protected]([email protected])([email protected]))):
dependencies:
'@jridgewell/trace-mapping': 0.3.25
@@ -57822,6 +57940,25 @@ snapshots:
'@jest/types': 29.6.3
babel-jest: 29.7.0(@babel/[email protected])
+
[email protected](@babel/[email protected])(@jest/[email protected])(@jest/[email protected])([email protected](@babel/[email protected]))([email protected])([email protected](@types/[email protected])([email protected])([email protected](@swc/[email protected])(@types/[email protected])([email protected])))([email protected]):
+ dependencies:
+ bs-logger: 0.2.6
+ fast-json-stable-stringify: 2.1.0
+ jest:
29.7.0(@types/[email protected])([email protected])([email protected](@swc/[email protected])(@types/[email protected])([email protected]))
+ jest-util: 29.7.0
+ json5: 2.2.3
+ lodash.memoize: 4.1.2
+ make-error: 1.3.6
+ semver: 7.5.4
+ typescript: 5.5.3
+ yargs-parser: 21.1.1
+ optionalDependencies:
+ '@babel/core': 7.23.0
+ '@jest/transform': 29.7.0
+ '@jest/types': 29.6.3
+ babel-jest: 29.7.0(@babel/[email protected])
+ esbuild: 0.18.20
+
[email protected](@babel/[email protected])(@jest/[email protected])(@jest/[email protected])([email protected](@babel/[email protected]))([email protected](@types/[email protected])([email protected])([email protected](@swc/[email protected])(@types/[email protected])([email protected])))([email protected]):
dependencies:
bs-logger: 0.2.6
@@ -59046,6 +59183,16 @@ snapshots:
optionalDependencies:
webpack: 5.94.0(@swc/[email protected])([email protected])
+
[email protected]([email protected](@swc/[email protected])([email protected]([email protected])([email protected])([email protected]))):
+ dependencies:
+ colorette: 2.0.20
+ memfs: 3.5.1
+ mime-types: 2.1.35
+ range-parser: 1.2.1
+ schema-utils: 4.2.0
+ optionalDependencies:
+ webpack:
5.94.0(@swc/[email protected])([email protected]([email protected])([email protected])([email protected]))
+
[email protected]([email protected](@swc/[email protected])([email protected]([email protected])([email protected]))):
dependencies:
colorette: 2.0.20
@@ -59345,6 +59492,38 @@ snapshots:
- esbuild
- uglify-js
+
[email protected](@swc/[email protected])([email protected]([email protected])([email protected])([email protected])):
+ dependencies:
+ '@types/estree': 1.0.5
+ '@webassemblyjs/ast': 1.12.1
+ '@webassemblyjs/wasm-edit': 1.12.1
+ '@webassemblyjs/wasm-parser': 1.12.1
+ acorn: 8.12.1
+ acorn-import-attributes: 1.9.5([email protected])
+ browserslist: 4.23.3
+ chrome-trace-event: 1.0.4
+ enhanced-resolve: 5.17.1
+ es-module-lexer: 1.5.4
+ eslint-scope: 5.1.1
+ events: 3.3.0
+ glob-to-regexp: 0.4.1
+ graceful-fs: 4.2.11
+ json-parse-even-better-errors: 2.3.1
+ loader-runner: 4.3.0
+ mime-types: 2.1.35
+ neo-async: 2.6.2
+ schema-utils: 3.3.0
+ tapable: 2.2.1
+ terser-webpack-plugin:
5.3.10(@swc/[email protected])([email protected](@swc/[email protected])([email protected]([email protected])([email protected])([email protected])))
+ watchpack: 2.4.2
+ webpack-sources: 3.2.3
+ optionalDependencies:
+ webpack-cli:
4.10.0([email protected])([email protected])([email protected])
+ transitivePeerDependencies:
+ - '@swc/core'
+ - esbuild
+ - uglify-js
+
[email protected](@swc/[email protected])([email protected]([email protected])([email protected])):
dependencies:
'@types/estree': 1.0.5
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]