diff --git a/CHANGELOG.adoc b/CHANGELOG.adoc index b94d65b30..e58016af0 100644 --- a/CHANGELOG.adoc +++ b/CHANGELOG.adoc @@ -20,10 +20,13 @@ As a result, the following GraphQL mutations have been removed `exposeRequiremen === Dependency update - [releng] As of version 2026.5.0, SysON now requires **Java 21** or later. -- [releng] Update to https://github.com/eclipse-sirius/sirius-web[Sirius Web 2026.3.1] +- [releng] Update to https://github.com/eclipse-sirius/sirius-web[Sirius Web 2026.3.2] - [releng] Update to `jacoco-maven-plugin` 0.8.14. - [releng] Update to `maven-checkstyle-plugin` 3.6.0 and CheckStyle 3.13.0. - [releng] Update to lexical 0.42.0 +- [releng] Update to https://vite.dev/blog/announcing-vite8[Vite 8.0.1] and @vitejs/plugin-react 6.0.1 +- [releng] Update to https://github.com/spring-projects/spring-boot/releases/tag/v4.0.5[Spring Boot 4.0.5] +- [releng] Update to `com.tngtech.archunit:archunit-junit5` 1.4.1 === Bug fixes diff --git a/backend/application/syson-application-configuration/pom.xml b/backend/application/syson-application-configuration/pom.xml index 70a9d0e96..e3c8ca4e3 100644 --- a/backend/application/syson-application-configuration/pom.xml +++ b/backend/application/syson-application-configuration/pom.xml @@ -18,7 +18,7 @@ org.springframework.boot spring-boot-starter-parent - 3.5.11 + 4.0.5 org.eclipse.syson @@ -29,7 +29,7 @@ 21 - 2026.3.1 + 2026.3.2 @@ -114,7 +114,7 @@ org.testcontainers - junit-jupiter + testcontainers-junit-jupiter test diff --git a/backend/application/syson-application-configuration/src/main/java/org/eclipse/syson/application/migration/StandardLibrariesElementsDiagramMigrationParticipant.java b/backend/application/syson-application-configuration/src/main/java/org/eclipse/syson/application/migration/StandardLibrariesElementsDiagramMigrationParticipant.java index 9483d2f37..335721665 100644 --- a/backend/application/syson-application-configuration/src/main/java/org/eclipse/syson/application/migration/StandardLibrariesElementsDiagramMigrationParticipant.java +++ b/backend/application/syson-application-configuration/src/main/java/org/eclipse/syson/application/migration/StandardLibrariesElementsDiagramMigrationParticipant.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2025 Obeo. + * Copyright (c) 2025, 2026 Obeo. * This program and the accompanying materials * are made available under the terms of the Eclipse Public License v2.0 * which accompanies this distribution, and is available at @@ -12,10 +12,6 @@ *******************************************************************************/ package org.eclipse.syson.application.migration; -import com.fasterxml.jackson.databind.JsonNode; -import com.fasterxml.jackson.databind.node.ObjectNode; -import com.fasterxml.jackson.databind.node.TextNode; - import java.util.Objects; import org.eclipse.sirius.components.collaborative.representations.migration.IRepresentationMigrationParticipant; @@ -25,6 +21,9 @@ import org.eclipse.syson.sysml.util.ElementUtil; import org.springframework.stereotype.Service; +import tools.jackson.databind.JsonNode; +import tools.jackson.databind.node.ObjectNode; + /** * Diagram migration participant used to migrate SysON diagrams with diagram elements having "targetObjectId" pointing * to standard libraries Elements previous to 2025.8.0. @@ -66,8 +65,8 @@ public String getKind() { @Override public void replaceJsonNode(IEditingContext editingContext, ObjectNode root, String currentAttribute, JsonNode currentValue) { - if (currentAttribute.equals("targetObjectId") && currentValue instanceof TextNode textNode) { - String oldId = textNode.asText(); + if (currentAttribute.equals("targetObjectId") && currentValue.isString()) { + String oldId = currentValue.asString(); var optElement = this.objectSearchService.getObject(editingContext, oldId) .filter(Element.class::isInstance) .map(Element.class::cast); diff --git a/backend/application/syson-application-configuration/src/main/java/org/eclipse/syson/application/nodes/SysMLImportedPackageNodeStyleDeserializer.java b/backend/application/syson-application-configuration/src/main/java/org/eclipse/syson/application/nodes/SysMLImportedPackageNodeStyleDeserializer.java index 9da95b10b..720c4165c 100644 --- a/backend/application/syson-application-configuration/src/main/java/org/eclipse/syson/application/nodes/SysMLImportedPackageNodeStyleDeserializer.java +++ b/backend/application/syson-application-configuration/src/main/java/org/eclipse/syson/application/nodes/SysMLImportedPackageNodeStyleDeserializer.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2025 Obeo. + * Copyright (c) 2025, 2026 Obeo. * This program and the accompanying materials * are made available under the terms of the Eclipse Public License v2.0 * which accompanies this distribution, and is available at @@ -12,13 +12,15 @@ *******************************************************************************/ package org.eclipse.syson.application.nodes; -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.ObjectMapper; - import org.eclipse.sirius.components.collaborative.diagrams.api.ICustomNodeStyleDeserializer; import org.eclipse.sirius.components.diagrams.INodeStyle; import org.springframework.stereotype.Service; +import tools.jackson.core.JacksonException; +import tools.jackson.core.JsonParser; +import tools.jackson.databind.DeserializationContext; +import tools.jackson.databind.node.ObjectNode; + /** * Use to correctly deserialize custom node style. * @@ -33,7 +35,7 @@ public boolean canHandle(String type) { } @Override - public INodeStyle handle(ObjectMapper mapper, String root) throws JsonProcessingException { - return mapper.readValue(root, SysMLImportedPackageNodeStyle.class); + public INodeStyle handle(ObjectNode root, JsonParser jsonParser, DeserializationContext context) throws JacksonException { + return context.readTreeAsValue(root, SysMLImportedPackageNodeStyle.class); } } diff --git a/backend/application/syson-application-configuration/src/main/java/org/eclipse/syson/application/nodes/SysMLNoteNodeStyleDeserializer.java b/backend/application/syson-application-configuration/src/main/java/org/eclipse/syson/application/nodes/SysMLNoteNodeStyleDeserializer.java index 9abab6da8..ce05d5b26 100644 --- a/backend/application/syson-application-configuration/src/main/java/org/eclipse/syson/application/nodes/SysMLNoteNodeStyleDeserializer.java +++ b/backend/application/syson-application-configuration/src/main/java/org/eclipse/syson/application/nodes/SysMLNoteNodeStyleDeserializer.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2025 Obeo. + * Copyright (c) 2025, 2026 Obeo. * This program and the accompanying materials * are made available under the terms of the Eclipse Public License v2.0 * which accompanies this distribution, and is available at @@ -12,13 +12,15 @@ *******************************************************************************/ package org.eclipse.syson.application.nodes; -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.ObjectMapper; - import org.eclipse.sirius.components.collaborative.diagrams.api.ICustomNodeStyleDeserializer; import org.eclipse.sirius.components.diagrams.INodeStyle; import org.springframework.stereotype.Service; +import tools.jackson.core.JacksonException; +import tools.jackson.core.JsonParser; +import tools.jackson.databind.DeserializationContext; +import tools.jackson.databind.node.ObjectNode; + /** * Use to correctly deserialize custom node style. * @@ -33,7 +35,7 @@ public boolean canHandle(String type) { } @Override - public INodeStyle handle(ObjectMapper mapper, String root) throws JsonProcessingException { - return mapper.readValue(root, SysMLNoteNodeStyle.class); + public INodeStyle handle(ObjectNode root, JsonParser jsonParser, DeserializationContext context) throws JacksonException { + return context.readTreeAsValue(root, SysMLNoteNodeStyle.class); } } diff --git a/backend/application/syson-application-configuration/src/main/java/org/eclipse/syson/application/nodes/SysMLPackageNodeStyleDeserializer.java b/backend/application/syson-application-configuration/src/main/java/org/eclipse/syson/application/nodes/SysMLPackageNodeStyleDeserializer.java index 55d4d21e5..883c0706e 100644 --- a/backend/application/syson-application-configuration/src/main/java/org/eclipse/syson/application/nodes/SysMLPackageNodeStyleDeserializer.java +++ b/backend/application/syson-application-configuration/src/main/java/org/eclipse/syson/application/nodes/SysMLPackageNodeStyleDeserializer.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2025 Obeo. + * Copyright (c) 2025, 2026 Obeo. * This program and the accompanying materials * are made available under the terms of the Eclipse Public License v2.0 * which accompanies this distribution, and is available at @@ -12,13 +12,15 @@ *******************************************************************************/ package org.eclipse.syson.application.nodes; -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.ObjectMapper; - import org.eclipse.sirius.components.collaborative.diagrams.api.ICustomNodeStyleDeserializer; import org.eclipse.sirius.components.diagrams.INodeStyle; import org.springframework.stereotype.Service; +import tools.jackson.core.JacksonException; +import tools.jackson.core.JsonParser; +import tools.jackson.databind.DeserializationContext; +import tools.jackson.databind.node.ObjectNode; + /** * Use to correctly deserialize custom node style. * @@ -33,7 +35,7 @@ public boolean canHandle(String type) { } @Override - public INodeStyle handle(ObjectMapper mapper, String root) throws JsonProcessingException { - return mapper.readValue(root, SysMLPackageNodeStyle.class); + public INodeStyle handle(ObjectNode root, JsonParser jsonParser, DeserializationContext context) throws JacksonException { + return context.readTreeAsValue(root, SysMLPackageNodeStyle.class); } } diff --git a/backend/application/syson-application-configuration/src/main/java/org/eclipse/syson/application/nodes/SysMLViewFrameNodeStyleDeserializer.java b/backend/application/syson-application-configuration/src/main/java/org/eclipse/syson/application/nodes/SysMLViewFrameNodeStyleDeserializer.java index df9703268..c69a20026 100644 --- a/backend/application/syson-application-configuration/src/main/java/org/eclipse/syson/application/nodes/SysMLViewFrameNodeStyleDeserializer.java +++ b/backend/application/syson-application-configuration/src/main/java/org/eclipse/syson/application/nodes/SysMLViewFrameNodeStyleDeserializer.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2025 Obeo. + * Copyright (c) 2025, 2026 Obeo. * This program and the accompanying materials * are made available under the terms of the Eclipse Public License v2.0 * which accompanies this distribution, and is available at @@ -12,13 +12,15 @@ *******************************************************************************/ package org.eclipse.syson.application.nodes; -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.ObjectMapper; - import org.eclipse.sirius.components.collaborative.diagrams.api.ICustomNodeStyleDeserializer; import org.eclipse.sirius.components.diagrams.INodeStyle; import org.springframework.stereotype.Service; +import tools.jackson.core.JacksonException; +import tools.jackson.core.JsonParser; +import tools.jackson.databind.DeserializationContext; +import tools.jackson.databind.node.ObjectNode; + /** * Use to correctly deserialize custom node style. * @@ -33,7 +35,7 @@ public boolean canHandle(String type) { } @Override - public INodeStyle handle(ObjectMapper mapper, String root) throws JsonProcessingException { - return mapper.readValue(root, SysMLViewFrameNodeStyle.class); + public INodeStyle handle(ObjectNode root, JsonParser jsonParser, DeserializationContext context) throws JacksonException { + return context.readTreeAsValue(root, SysMLViewFrameNodeStyle.class); } } diff --git a/backend/application/syson-application-configuration/src/main/java/org/eclipse/syson/application/nodes/graphql/MutationEditSysMLImportedPackageNodeAppearanceDataFetcher.java b/backend/application/syson-application-configuration/src/main/java/org/eclipse/syson/application/nodes/graphql/MutationEditSysMLImportedPackageNodeAppearanceDataFetcher.java index e83cb1878..2d47dfcbe 100644 --- a/backend/application/syson-application-configuration/src/main/java/org/eclipse/syson/application/nodes/graphql/MutationEditSysMLImportedPackageNodeAppearanceDataFetcher.java +++ b/backend/application/syson-application-configuration/src/main/java/org/eclipse/syson/application/nodes/graphql/MutationEditSysMLImportedPackageNodeAppearanceDataFetcher.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2025 Obeo. + * Copyright (c) 2025, 2026 Obeo. * This program and the accompanying materials * are made available under the terms of the Eclipse Public License v2.0 * which accompanies this distribution, and is available at @@ -12,8 +12,6 @@ *******************************************************************************/ package org.eclipse.syson.application.nodes.graphql; -import com.fasterxml.jackson.databind.ObjectMapper; - import java.util.Objects; import java.util.concurrent.CompletableFuture; @@ -25,6 +23,7 @@ import org.eclipse.syson.application.nodes.dto.EditSysMLImportedPackageNodeAppearanceInput; import graphql.schema.DataFetchingEnvironment; +import tools.jackson.databind.ObjectMapper; /** * The data fetcher used to edit the appearance of a SysMLImportedPackage node. diff --git a/backend/application/syson-application-configuration/src/main/java/org/eclipse/syson/application/nodes/graphql/MutationEditSysMLNoteNodeAppearanceDataFetcher.java b/backend/application/syson-application-configuration/src/main/java/org/eclipse/syson/application/nodes/graphql/MutationEditSysMLNoteNodeAppearanceDataFetcher.java index 2b9a630cb..1223b3c0e 100644 --- a/backend/application/syson-application-configuration/src/main/java/org/eclipse/syson/application/nodes/graphql/MutationEditSysMLNoteNodeAppearanceDataFetcher.java +++ b/backend/application/syson-application-configuration/src/main/java/org/eclipse/syson/application/nodes/graphql/MutationEditSysMLNoteNodeAppearanceDataFetcher.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2025 Obeo. + * Copyright (c) 2025, 2026 Obeo. * This program and the accompanying materials * are made available under the terms of the Eclipse Public License v2.0 * which accompanies this distribution, and is available at @@ -12,8 +12,6 @@ *******************************************************************************/ package org.eclipse.syson.application.nodes.graphql; -import com.fasterxml.jackson.databind.ObjectMapper; - import java.util.Objects; import java.util.concurrent.CompletableFuture; @@ -25,6 +23,7 @@ import org.eclipse.syson.application.nodes.dto.EditSysMLNoteNodeAppearanceInput; import graphql.schema.DataFetchingEnvironment; +import tools.jackson.databind.ObjectMapper; /** * The data fetcher used to edit the appearance of a SysMLNote node. diff --git a/backend/application/syson-application-configuration/src/main/java/org/eclipse/syson/application/nodes/graphql/MutationEditSysMLPackageNodeAppearanceDataFetcher.java b/backend/application/syson-application-configuration/src/main/java/org/eclipse/syson/application/nodes/graphql/MutationEditSysMLPackageNodeAppearanceDataFetcher.java index 3b461268f..dff2d2197 100644 --- a/backend/application/syson-application-configuration/src/main/java/org/eclipse/syson/application/nodes/graphql/MutationEditSysMLPackageNodeAppearanceDataFetcher.java +++ b/backend/application/syson-application-configuration/src/main/java/org/eclipse/syson/application/nodes/graphql/MutationEditSysMLPackageNodeAppearanceDataFetcher.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2025 Obeo. + * Copyright (c) 2025, 2026 Obeo. * This program and the accompanying materials * are made available under the terms of the Eclipse Public License v2.0 * which accompanies this distribution, and is available at @@ -12,8 +12,6 @@ *******************************************************************************/ package org.eclipse.syson.application.nodes.graphql; -import com.fasterxml.jackson.databind.ObjectMapper; - import java.util.Objects; import java.util.concurrent.CompletableFuture; @@ -25,6 +23,7 @@ import org.eclipse.syson.application.nodes.dto.EditSysMLPackageNodeAppearanceInput; import graphql.schema.DataFetchingEnvironment; +import tools.jackson.databind.ObjectMapper; /** * The data fetcher used to edit the appearance of a SysMLPackage node. diff --git a/backend/application/syson-application-configuration/src/main/java/org/eclipse/syson/application/nodes/graphql/MutationEditSysMLViewFrameNodeAppearanceDataFetcher.java b/backend/application/syson-application-configuration/src/main/java/org/eclipse/syson/application/nodes/graphql/MutationEditSysMLViewFrameNodeAppearanceDataFetcher.java index 8d74b5b26..0592f5504 100644 --- a/backend/application/syson-application-configuration/src/main/java/org/eclipse/syson/application/nodes/graphql/MutationEditSysMLViewFrameNodeAppearanceDataFetcher.java +++ b/backend/application/syson-application-configuration/src/main/java/org/eclipse/syson/application/nodes/graphql/MutationEditSysMLViewFrameNodeAppearanceDataFetcher.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2025 Obeo. + * Copyright (c) 2025, 2026 Obeo. * This program and the accompanying materials * are made available under the terms of the Eclipse Public License v2.0 * which accompanies this distribution, and is available at @@ -12,8 +12,6 @@ *******************************************************************************/ package org.eclipse.syson.application.nodes.graphql; -import com.fasterxml.jackson.databind.ObjectMapper; - import java.util.Objects; import java.util.concurrent.CompletableFuture; @@ -25,6 +23,7 @@ import org.eclipse.syson.application.nodes.dto.EditSysMLViewFrameNodeAppearanceInput; import graphql.schema.DataFetchingEnvironment; +import tools.jackson.databind.ObjectMapper; /** * The data fetcher used to edit the appearance of a SysMLViewFrame node. diff --git a/backend/application/syson-application/pom.xml b/backend/application/syson-application/pom.xml index e843430a8..52b576d6c 100644 --- a/backend/application/syson-application/pom.xml +++ b/backend/application/syson-application/pom.xml @@ -18,7 +18,7 @@ org.springframework.boot spring-boot-starter-parent - 3.5.11 + 4.0.5 org.eclipse.syson @@ -29,7 +29,7 @@ 21 - 2026.3.1 + 2026.3.2 @@ -182,17 +182,17 @@ org.testcontainers - postgresql + testcontainers-postgresql test org.testcontainers - elasticsearch + testcontainers-elasticsearch test org.testcontainers - junit-jupiter + testcontainers-junit-jupiter test diff --git a/backend/application/syson-application/src/test/java/org/eclipse/syson/application/controllers/objects/ObjectRestControllerIntegrationTests.java b/backend/application/syson-application/src/test/java/org/eclipse/syson/application/controllers/objects/ObjectRestControllerIntegrationTests.java index 135f78f1b..db221ebfa 100644 --- a/backend/application/syson-application/src/test/java/org/eclipse/syson/application/controllers/objects/ObjectRestControllerIntegrationTests.java +++ b/backend/application/syson-application/src/test/java/org/eclipse/syson/application/controllers/objects/ObjectRestControllerIntegrationTests.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2024, 2025 Obeo. + * Copyright (c) 2024, 2026 Obeo. * This program and the accompanying materials * are made available under the terms of the Eclipse Public License v2.0 * which accompanies this distribution, and is available at @@ -20,6 +20,7 @@ import org.apache.commons.io.FileUtils; import org.eclipse.sirius.web.tests.services.api.IGivenInitialServerState; import org.eclipse.syson.AbstractIntegrationTests; +import org.eclipse.syson.GivenSysONServer; import org.eclipse.syson.application.data.SimpleProjectElementsTestProjectData; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.DisplayName; @@ -28,8 +29,6 @@ import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.web.server.LocalServerPort; import org.springframework.core.io.ClassPathResource; -import org.springframework.test.context.jdbc.Sql; -import org.springframework.test.context.jdbc.SqlConfig; import org.springframework.test.web.reactive.server.WebTestClient; import org.springframework.transaction.annotation.Transactional; @@ -64,11 +63,9 @@ public void beforeEach() { this.givenInitialServerState.initialize(); } - @Test @DisplayName("GIVEN the SysON REST API, WHEN we ask for all elements, THEN all elements should be returned") - @Sql(scripts = { SimpleProjectElementsTestProjectData.SCRIPT_PATH }, executionPhase = Sql.ExecutionPhase.BEFORE_TEST_METHOD, - config = @SqlConfig(transactionMode = SqlConfig.TransactionMode.ISOLATED)) - @Sql(scripts = { "/scripts/cleanup.sql" }, executionPhase = Sql.ExecutionPhase.AFTER_TEST_METHOD, config = @SqlConfig(transactionMode = SqlConfig.TransactionMode.ISOLATED)) + @GivenSysONServer({ SimpleProjectElementsTestProjectData.SCRIPT_PATH }) + @Test public void givenSysONRestAPIWhenWeAskForAllElementsThenAllElementsShouldBeReturned() { var webTestClient = WebTestClient.bindToServer() .baseUrl(this.getHTTPBaseUrl()) @@ -92,11 +89,9 @@ public void givenSysONRestAPIWhenWeAskForAllElementsThenAllElementsShouldBeRetur .json(expectedJSON); } - @Test @DisplayName("GIVEN the SysON REST API, WHEN we ask for all elements in an unknown project, THEN it should return an error") - @Sql(scripts = { SimpleProjectElementsTestProjectData.SCRIPT_PATH }, executionPhase = Sql.ExecutionPhase.BEFORE_TEST_METHOD, - config = @SqlConfig(transactionMode = SqlConfig.TransactionMode.ISOLATED)) - @Sql(scripts = { "/scripts/cleanup.sql" }, executionPhase = Sql.ExecutionPhase.AFTER_TEST_METHOD, config = @SqlConfig(transactionMode = SqlConfig.TransactionMode.ISOLATED)) + @GivenSysONServer({ SimpleProjectElementsTestProjectData.SCRIPT_PATH }) + @Test public void givenSysONRestAPIWhenWeAskForAllElementsInUnknownProjectThenItShouldReturnAnError() { var webTestClient = WebTestClient.bindToServer() .baseUrl(this.getHTTPBaseUrl()) @@ -110,11 +105,9 @@ public void givenSysONRestAPIWhenWeAskForAllElementsInUnknownProjectThenItShould .isNotFound(); } - @Test @DisplayName("GIVEN the SysON REST API, WHEN we ask for a specific element, THEN it should return the element") - @Sql(scripts = { SimpleProjectElementsTestProjectData.SCRIPT_PATH }, executionPhase = Sql.ExecutionPhase.BEFORE_TEST_METHOD, - config = @SqlConfig(transactionMode = SqlConfig.TransactionMode.ISOLATED)) - @Sql(scripts = { "/scripts/cleanup.sql" }, executionPhase = Sql.ExecutionPhase.AFTER_TEST_METHOD, config = @SqlConfig(transactionMode = SqlConfig.TransactionMode.ISOLATED)) + @GivenSysONServer({ SimpleProjectElementsTestProjectData.SCRIPT_PATH }) + @Test public void givenSysONRestAPIWhenWeAskForSpecificElementThenItShouldReturnTheElement() { var webTestClient = WebTestClient.bindToServer() .baseUrl(this.getHTTPBaseUrl()) @@ -138,11 +131,9 @@ public void givenSysONRestAPIWhenWeAskForSpecificElementThenItShouldReturnTheEle .json(expectedJSON); } - @Test @DisplayName("GIVEN the SysON REST API, WHEN we ask for a specific element in an unknown project, THEN it should return an error") - @Sql(scripts = { SimpleProjectElementsTestProjectData.SCRIPT_PATH }, executionPhase = Sql.ExecutionPhase.BEFORE_TEST_METHOD, - config = @SqlConfig(transactionMode = SqlConfig.TransactionMode.ISOLATED)) - @Sql(scripts = { "/scripts/cleanup.sql" }, executionPhase = Sql.ExecutionPhase.AFTER_TEST_METHOD, config = @SqlConfig(transactionMode = SqlConfig.TransactionMode.ISOLATED)) + @GivenSysONServer({ SimpleProjectElementsTestProjectData.SCRIPT_PATH }) + @Test public void givenSysONRestAPIWhenWeAskForSpecificElementInUnknownProjectThenItShouldReturnAnError() { var webTestClient = WebTestClient.bindToServer() .baseUrl(this.getHTTPBaseUrl()) @@ -155,11 +146,9 @@ public void givenSysONRestAPIWhenWeAskForSpecificElementInUnknownProjectThenItSh .expectStatus().isNotFound(); } - @Test @DisplayName("GIVEN the SysON REST API, WHEN we ask for the relationships of an element, THEN it should return the relationships") - @Sql(scripts = { SimpleProjectElementsTestProjectData.SCRIPT_PATH }, executionPhase = Sql.ExecutionPhase.BEFORE_TEST_METHOD, - config = @SqlConfig(transactionMode = SqlConfig.TransactionMode.ISOLATED)) - @Sql(scripts = { "/scripts/cleanup.sql" }, executionPhase = Sql.ExecutionPhase.AFTER_TEST_METHOD, config = @SqlConfig(transactionMode = SqlConfig.TransactionMode.ISOLATED)) + @GivenSysONServer({ SimpleProjectElementsTestProjectData.SCRIPT_PATH }) + @Test public void givenSysONRestAPIWhenWeAskForRelationshipsOfAnElementThenItShouldReturnTheRelationships() { var webTestClient = WebTestClient.bindToServer() .baseUrl(this.getHTTPBaseUrl()) @@ -184,11 +173,9 @@ public void givenSysONRestAPIWhenWeAskForRelationshipsOfAnElementThenItShouldRet .json(expectedJSON); } - @Test @DisplayName("GIVEN the SysON REST API, WHEN we ask for the relationships of an element in an unknown project, THEN it should return an error") - @Sql(scripts = { SimpleProjectElementsTestProjectData.SCRIPT_PATH }, executionPhase = Sql.ExecutionPhase.BEFORE_TEST_METHOD, - config = @SqlConfig(transactionMode = SqlConfig.TransactionMode.ISOLATED)) - @Sql(scripts = { "/scripts/cleanup.sql" }, executionPhase = Sql.ExecutionPhase.AFTER_TEST_METHOD, config = @SqlConfig(transactionMode = SqlConfig.TransactionMode.ISOLATED)) + @GivenSysONServer({ SimpleProjectElementsTestProjectData.SCRIPT_PATH }) + @Test public void givenSysONRestAPIWhenWeAskForRelationshipsOfAnElementInAnUnknownProjectThenItShouldReturnAnError() { var webTestClient = WebTestClient.bindToServer() .baseUrl(this.getHTTPBaseUrl()) @@ -202,11 +189,9 @@ public void givenSysONRestAPIWhenWeAskForRelationshipsOfAnElementInAnUnknownProj .isNotFound(); } - @Test @DisplayName("GIVEN the SysON REST API, WHEN we ask for the root elements, THEN it should return the root elements") - @Sql(scripts = { SimpleProjectElementsTestProjectData.SCRIPT_PATH }, executionPhase = Sql.ExecutionPhase.BEFORE_TEST_METHOD, - config = @SqlConfig(transactionMode = SqlConfig.TransactionMode.ISOLATED)) - @Sql(scripts = { "/scripts/cleanup.sql" }, executionPhase = Sql.ExecutionPhase.AFTER_TEST_METHOD, config = @SqlConfig(transactionMode = SqlConfig.TransactionMode.ISOLATED)) + @GivenSysONServer({ SimpleProjectElementsTestProjectData.SCRIPT_PATH }) + @Test public void givenSysONRestAPIWhenWeAskForTheRootElementsThenItShouldReturnTheRootElements() { var webTestClient = WebTestClient.bindToServer() .baseUrl(this.getHTTPBaseUrl()) @@ -230,11 +215,9 @@ public void givenSysONRestAPIWhenWeAskForTheRootElementsThenItShouldReturnTheRoo .json(expectedJSON); } - @Test @DisplayName("GIVEN the SysON REST API, WHEN we ask for the root elements of an unknown project, THEN it should return an error") - @Sql(scripts = { SimpleProjectElementsTestProjectData.SCRIPT_PATH }, executionPhase = Sql.ExecutionPhase.BEFORE_TEST_METHOD, - config = @SqlConfig(transactionMode = SqlConfig.TransactionMode.ISOLATED)) - @Sql(scripts = { "/scripts/cleanup.sql" }, executionPhase = Sql.ExecutionPhase.AFTER_TEST_METHOD, config = @SqlConfig(transactionMode = SqlConfig.TransactionMode.ISOLATED)) + @GivenSysONServer({ SimpleProjectElementsTestProjectData.SCRIPT_PATH }) + @Test public void givenSysONRestAPIWhenWeAskForTheRootElementsOfUnknownProjectThenItShouldReturnAnError() { var webTestClient = WebTestClient.bindToServer() .baseUrl(this.getHTTPBaseUrl()) diff --git a/backend/application/syson-application/src/test/java/org/eclipse/syson/application/controllers/rest/RestControllerIntegrationTests.java b/backend/application/syson-application/src/test/java/org/eclipse/syson/application/controllers/rest/RestControllerIntegrationTests.java index 3cfe7301d..72afa05b8 100644 --- a/backend/application/syson-application/src/test/java/org/eclipse/syson/application/controllers/rest/RestControllerIntegrationTests.java +++ b/backend/application/syson-application/src/test/java/org/eclipse/syson/application/controllers/rest/RestControllerIntegrationTests.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2025 Obeo. + * Copyright (c) 2025, 2026 Obeo. * This program and the accompanying materials * are made available under the terms of the Eclipse Public License v2.0 * which accompanies this distribution, and is available at @@ -14,6 +14,7 @@ import org.eclipse.sirius.web.tests.services.api.IGivenInitialServerState; import org.eclipse.syson.AbstractIntegrationTests; +import org.eclipse.syson.GivenSysONServer; import org.eclipse.syson.SysONTestsProperties; import org.eclipse.syson.application.data.SimpleProjectElementsTestProjectData; import org.junit.jupiter.api.BeforeEach; @@ -22,8 +23,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.web.server.LocalServerPort; -import org.springframework.test.context.jdbc.Sql; -import org.springframework.test.context.jdbc.SqlConfig; import org.springframework.test.web.reactive.server.WebTestClient; import org.springframework.transaction.annotation.Transactional; @@ -52,11 +51,9 @@ public void beforeEach() { this.givenInitialServerState.initialize(); } - @Test @DisplayName("GIVEN the SysON REST API, WHEN we ask for several queries involving dates, THEN all queries should return correctly") - @Sql(scripts = { SimpleProjectElementsTestProjectData.SCRIPT_PATH }, executionPhase = Sql.ExecutionPhase.BEFORE_TEST_METHOD, - config = @SqlConfig(transactionMode = SqlConfig.TransactionMode.ISOLATED)) - @Sql(scripts = { "/scripts/cleanup.sql" }, executionPhase = Sql.ExecutionPhase.AFTER_TEST_METHOD, config = @SqlConfig(transactionMode = SqlConfig.TransactionMode.ISOLATED)) + @GivenSysONServer({ SimpleProjectElementsTestProjectData.SCRIPT_PATH }) + @Test public void givenSysONRestAPIWhenWeAskForSeveralQueriesInvolvingDatesThenAllQueriesShouldReturnCorrectly() { var webTestClient = WebTestClient.bindToServer() .baseUrl(this.getHTTPBaseUrl()) @@ -83,4 +80,22 @@ public void givenSysONRestAPIWhenWeAskForSeveralQueriesInvolvingDatesThenAllQuer .expectStatus() .isOk(); } + + @DisplayName("GIVEN the SysON REST API, WHEN we ask for projects, THEN created dates should be serialized as ISO-8601 strings") + @GivenSysONServer({ SimpleProjectElementsTestProjectData.SCRIPT_PATH }) + @Test + public void givenSysONRestAPIWhenWeAskForProjectsThenCreatedDatesShouldBeSerializedAsISO8601Strings() { + var webTestClient = WebTestClient.bindToServer() + .baseUrl(this.getHTTPBaseUrl()) + .build(); + + var uri = String.format("/api/rest/projects"); + webTestClient.get() + .uri(uri) + .exchange() + .expectStatus() + .isOk() + .expectBody() + .jsonPath("$[0].created").isEqualTo("1970-01-01T00:00:00Z"); + } } diff --git a/backend/application/syson-application/src/test/java/org/eclipse/syson/application/controllers/templates/TemplatesControllerIntegrationTests.java b/backend/application/syson-application/src/test/java/org/eclipse/syson/application/controllers/templates/TemplatesControllerIntegrationTests.java index c521244c1..78b932c72 100644 --- a/backend/application/syson-application/src/test/java/org/eclipse/syson/application/controllers/templates/TemplatesControllerIntegrationTests.java +++ b/backend/application/syson-application/src/test/java/org/eclipse/syson/application/controllers/templates/TemplatesControllerIntegrationTests.java @@ -12,13 +12,13 @@ *******************************************************************************/ package org.eclipse.syson.application.controllers.templates; -import static java.util.Collections.EMPTY_LIST; import static org.assertj.core.api.Assertions.assertThat; -import static org.junit.Assert.assertNotNull; import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; import com.jayway.jsonpath.JsonPath; +import java.util.Collections; import java.util.List; import java.util.Optional; import java.util.UUID; @@ -143,7 +143,7 @@ public void givenSysMLv2ProjectTemplateWhenMutationIsPerformedThenTheProjectIsCr .flatMap(this.editingContextSearchService::findById); var representationMetadatas = optionalSemanticData.map( semanticData -> this.representationMetadataSearchService.findAllRepresentationMetadataBySemanticData(semanticData)) - .orElse(EMPTY_LIST); + .orElse(Collections.emptyList()); assertThat(optionalEditingContext).isPresent(); diff --git a/backend/application/syson-application/src/test/java/org/eclipse/syson/application/imports/ImportSysMLModelTest.java b/backend/application/syson-application/src/test/java/org/eclipse/syson/application/imports/ImportSysMLModelTest.java index f885e170d..02c2960c4 100644 --- a/backend/application/syson-application/src/test/java/org/eclipse/syson/application/imports/ImportSysMLModelTest.java +++ b/backend/application/syson-application/src/test/java/org/eclipse/syson/application/imports/ImportSysMLModelTest.java @@ -13,9 +13,9 @@ package org.eclipse.syson.application.imports; import static org.assertj.core.api.Assertions.assertThat; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertNull; import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertNull; import java.io.IOException; import java.util.List; diff --git a/backend/application/syson-application/src/test/java/org/eclipse/syson/application/imports/SysMLv2SemanticImportChecker.java b/backend/application/syson-application/src/test/java/org/eclipse/syson/application/imports/SysMLv2SemanticImportChecker.java index 7c9ce8f0b..7bcf69c8d 100644 --- a/backend/application/syson-application/src/test/java/org/eclipse/syson/application/imports/SysMLv2SemanticImportChecker.java +++ b/backend/application/syson-application/src/test/java/org/eclipse/syson/application/imports/SysMLv2SemanticImportChecker.java @@ -13,7 +13,7 @@ package org.eclipse.syson.application.imports; import static org.assertj.core.api.Assertions.assertThat; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.assertTrue; import java.io.ByteArrayInputStream; import java.io.IOException; diff --git a/backend/application/syson-application/src/test/java/org/eclipse/syson/application/libraries/update/SysONLibraryUpdateImpactAnalysisControllerIntegrationTests.java b/backend/application/syson-application/src/test/java/org/eclipse/syson/application/libraries/update/SysONLibraryUpdateImpactAnalysisControllerIntegrationTests.java index d525ea6c3..874bdc67f 100644 --- a/backend/application/syson-application/src/test/java/org/eclipse/syson/application/libraries/update/SysONLibraryUpdateImpactAnalysisControllerIntegrationTests.java +++ b/backend/application/syson-application/src/test/java/org/eclipse/syson/application/libraries/update/SysONLibraryUpdateImpactAnalysisControllerIntegrationTests.java @@ -15,10 +15,7 @@ import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.fail; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.jayway.jsonpath.Configuration; import com.jayway.jsonpath.JsonPath; -import com.jayway.jsonpath.spi.mapper.JacksonMappingProvider; import java.util.List; import java.util.Map; @@ -42,6 +39,8 @@ import org.springframework.boot.test.context.SpringBootTest; import org.springframework.transaction.annotation.Transactional; +import tools.jackson.databind.ObjectMapper; + /** * Integration tests of the library controllers when computing the impact analysis of a library update. * @@ -69,9 +68,9 @@ public void beforeEach() { this.givenInitialServerState.initialize(); } - @Test - @SysONLibraryImportTestServer @DisplayName("GIVEN a project with dependencies, WHEN an impact analysis report is requested for the update of a dependency, THEN the report is returned") + @SysONLibraryImportTestServer + @Test public void givenProjectWithDependenciesWhenImpactAnalysisReportIsRequestedForTheUpdateOfADependencyThenTheReportIsReturned() { Optional optionalLibrary = this.librarySearchService.findByNamespaceAndNameAndVersion(ProjectWithLibraryDependencyTestProjectData.LIBRARY_PROJECT_ID, "MyLibrary", "v2"); assertThat(optionalLibrary).isPresent(); @@ -85,8 +84,10 @@ public void givenProjectWithDependenciesWhenImpactAnalysisReportIsRequestedForTh int nbElementCreated = JsonPath.read(result.data(), "$.data.viewer.editingContext.updateLibraryImpactAnalysisReport.nbElementCreated"); assertThat(nbElementCreated).isEqualTo(0); - Configuration configuration = Configuration.defaultConfiguration().mappingProvider(new JacksonMappingProvider(this.objectMapper)); - DataTree dataTree = JsonPath.parse(result.data(), configuration).read("$.data.viewer.editingContext.updateLibraryImpactAnalysisReport.impactTree", DataTree.class); + DataTree dataTree = this.objectMapper.convertValue( + JsonPath.parse(result.data()).read("$.data.viewer.editingContext.updateLibraryImpactAnalysisReport.impactTree"), + DataTree.class + ); assertThat(dataTree.id()).isEqualTo("impact_tree"); this.assertHasNode(dataTree, "LibraryResource1 (MyLibrary@v1)", null, ChangeKind.DELETION); diff --git a/backend/application/syson-application/src/test/java/org/eclipse/syson/application/migration/StandardLibrariesIdsMigrationParticipantTest.java b/backend/application/syson-application/src/test/java/org/eclipse/syson/application/migration/StandardLibrariesIdsMigrationParticipantTest.java index 370420ed9..2b828641f 100644 --- a/backend/application/syson-application/src/test/java/org/eclipse/syson/application/migration/StandardLibrariesIdsMigrationParticipantTest.java +++ b/backend/application/syson-application/src/test/java/org/eclipse/syson/application/migration/StandardLibrariesIdsMigrationParticipantTest.java @@ -13,8 +13,8 @@ package org.eclipse.syson.application.migration; import static org.assertj.core.api.Assertions.assertThat; -import static org.junit.Assert.assertTrue; import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; import java.time.Duration; import java.util.List; diff --git a/backend/application/syson-application/src/test/java/org/eclipse/syson/application/validation/ValidationRulesTests.java b/backend/application/syson-application/src/test/java/org/eclipse/syson/application/validation/ValidationRulesTests.java index 2a8b64f26..45f1bb995 100644 --- a/backend/application/syson-application/src/test/java/org/eclipse/syson/application/validation/ValidationRulesTests.java +++ b/backend/application/syson-application/src/test/java/org/eclipse/syson/application/validation/ValidationRulesTests.java @@ -12,8 +12,8 @@ *******************************************************************************/ package org.eclipse.syson.application.validation; -import static org.junit.Assert.assertNotNull; import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertTrue; import static org.junit.jupiter.api.Assertions.fail; diff --git a/backend/application/syson-application/src/test/java/org/eclipse/syson/sysml/textual/SysMLElementSerializerTest.java b/backend/application/syson-application/src/test/java/org/eclipse/syson/sysml/textual/SysMLElementSerializerTest.java index de62abab5..cfba17f92 100644 --- a/backend/application/syson-application/src/test/java/org/eclipse/syson/sysml/textual/SysMLElementSerializerTest.java +++ b/backend/application/syson-application/src/test/java/org/eclipse/syson/sysml/textual/SysMLElementSerializerTest.java @@ -12,8 +12,8 @@ *******************************************************************************/ package org.eclipse.syson.sysml.textual; -import static org.junit.Assert.assertTrue; import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; import java.io.IOException; import java.util.ArrayList; diff --git a/backend/application/syson-frontend/pom.xml b/backend/application/syson-frontend/pom.xml index d01a65583..2bebcbb06 100644 --- a/backend/application/syson-frontend/pom.xml +++ b/backend/application/syson-frontend/pom.xml @@ -18,7 +18,7 @@ org.springframework.boot spring-boot-starter-parent - 3.5.11 + 4.0.5 org.eclipse.syson diff --git a/backend/application/syson-sysml-export/pom.xml b/backend/application/syson-sysml-export/pom.xml index 27d19e007..5e3723dd3 100644 --- a/backend/application/syson-sysml-export/pom.xml +++ b/backend/application/syson-sysml-export/pom.xml @@ -18,7 +18,7 @@ org.springframework.boot spring-boot-starter-parent - 3.5.11 + 4.0.5 org.eclipse.syson @@ -29,7 +29,7 @@ 21 - 2026.3.1 + 2026.3.2 @@ -79,7 +79,7 @@ org.testcontainers - junit-jupiter + testcontainers-junit-jupiter test diff --git a/backend/application/syson-sysml-import/pom.xml b/backend/application/syson-sysml-import/pom.xml index 73a4b8a4c..e205b24c0 100644 --- a/backend/application/syson-sysml-import/pom.xml +++ b/backend/application/syson-sysml-import/pom.xml @@ -18,7 +18,7 @@ org.springframework.boot spring-boot-starter-parent - 3.5.11 + 4.0.5 org.eclipse.syson @@ -29,7 +29,7 @@ 21 - 2026.3.1 + 2026.3.2 @@ -80,7 +80,7 @@ org.testcontainers - junit-jupiter + testcontainers-junit-jupiter test diff --git a/backend/application/syson-sysml-import/src/main/java/org/eclipse/syson/sysml/ASTTransformer.java b/backend/application/syson-sysml-import/src/main/java/org/eclipse/syson/sysml/ASTTransformer.java index e0e06612d..38c897125 100644 --- a/backend/application/syson-sysml-import/src/main/java/org/eclipse/syson/sysml/ASTTransformer.java +++ b/backend/application/syson-sysml-import/src/main/java/org/eclipse/syson/sysml/ASTTransformer.java @@ -14,10 +14,6 @@ import static java.util.stream.Collectors.joining; -import com.fasterxml.jackson.databind.JsonNode; -import com.fasterxml.jackson.databind.ObjectMapper; - -import java.io.IOException; import java.io.InputStream; import java.util.ArrayList; import java.util.List; @@ -42,6 +38,10 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import tools.jackson.core.JacksonException; +import tools.jackson.databind.JsonNode; +import tools.jackson.databind.ObjectMapper; + /** * Transforms AST data using defined mappings and updates resources accordingly. * @@ -422,7 +422,7 @@ private JsonNode readAst(final InputStream input) { try { // Read JSON file and map to JSON Object return objectMapper.readTree(input); - } catch (final IOException e) { + } catch (final JacksonException e) { this.logger.error(e.getMessage()); this.messageReporter.error(e.getMessage()); return null; diff --git a/backend/application/syson-sysml-import/src/main/java/org/eclipse/syson/sysml/SysmlToAst.java b/backend/application/syson-sysml-import/src/main/java/org/eclipse/syson/sysml/SysmlToAst.java index bff7ee46e..8c20eabee 100644 --- a/backend/application/syson-sysml-import/src/main/java/org/eclipse/syson/sysml/SysmlToAst.java +++ b/backend/application/syson-sysml-import/src/main/java/org/eclipse/syson/sysml/SysmlToAst.java @@ -105,7 +105,7 @@ public AstParsingResult convert(final InputStream input, final String fileExtens if (sysmlInputPath != null) { sysmlInputPath.toFile().delete(); } - if (this.cliPath == null) { + if (this.cliPath == null && sysIdeInputPath != null) { sysIdeInputPath.toFile().delete(); } } diff --git a/backend/application/syson-sysml-import/src/main/java/org/eclipse/syson/sysml/datafetchers/MutationInsertTextualSysMLv2DataFetcher.java b/backend/application/syson-sysml-import/src/main/java/org/eclipse/syson/sysml/datafetchers/MutationInsertTextualSysMLv2DataFetcher.java index 3e4d20030..c5a9bd87e 100644 --- a/backend/application/syson-sysml-import/src/main/java/org/eclipse/syson/sysml/datafetchers/MutationInsertTextualSysMLv2DataFetcher.java +++ b/backend/application/syson-sysml-import/src/main/java/org/eclipse/syson/sysml/datafetchers/MutationInsertTextualSysMLv2DataFetcher.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2024 Obeo. + * Copyright (c) 2024, 2026 Obeo. * This program and the accompanying materials * are made available under the terms of the Eclipse Public License v2.0 * which accompanies this distribution, and is available at @@ -12,8 +12,6 @@ *******************************************************************************/ package org.eclipse.syson.sysml.datafetchers; -import com.fasterxml.jackson.databind.ObjectMapper; - import java.util.Objects; import java.util.concurrent.CompletableFuture; @@ -25,6 +23,7 @@ import org.eclipse.syson.sysml.dto.InsertTextualSysMLv2Input; import graphql.schema.DataFetchingEnvironment; +import tools.jackson.databind.ObjectMapper; /** * Data fetcher for the field Mutation#insertTextualSysMLv2. diff --git a/backend/application/syson-sysml-import/src/main/java/org/eclipse/syson/sysml/parser/AstTreeParser.java b/backend/application/syson-sysml-import/src/main/java/org/eclipse/syson/sysml/parser/AstTreeParser.java index 491c0843b..c407ac8a2 100644 --- a/backend/application/syson-sysml-import/src/main/java/org/eclipse/syson/sysml/parser/AstTreeParser.java +++ b/backend/application/syson-sysml-import/src/main/java/org/eclipse/syson/sysml/parser/AstTreeParser.java @@ -12,17 +12,12 @@ *******************************************************************************/ package org.eclipse.syson.sysml.parser; -import com.fasterxml.jackson.databind.JsonNode; - import java.text.MessageFormat; import java.util.ArrayList; import java.util.Comparator; -import java.util.Iterator; import java.util.List; import java.util.Map; -import java.util.Map.Entry; import java.util.stream.Collectors; -import java.util.stream.StreamSupport; import org.eclipse.emf.ecore.EObject; import org.eclipse.emf.ecore.EReference; @@ -40,6 +35,8 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import tools.jackson.databind.JsonNode; + /** * AstTreeParser. * @@ -120,29 +117,24 @@ private List parseJsonObject(final JsonNode astJson) { * the {@link EObject} to fill */ private void fillElementWith(final JsonNode astJson, final EObject eObject) { - Iterator> fiedIterator = astJson.fields(); - while (fiedIterator.hasNext()) { - Entry node = fiedIterator.next(); - String key = node.getKey(); + astJson.propertyStream().forEach(node -> { + var key = node.getKey(); // Ignore meta information if (!key.startsWith("$")) { - JsonNode valueNode = node.getValue(); final List values; if (valueNode.isArray()) { - Iterable iterable = () -> valueNode.elements(); - values = StreamSupport.stream(iterable.spliterator(), false).toList(); + values = valueNode.valueStream().toList(); } else { values = List.of(valueNode); } for (JsonNode value : values) { this.handleNodeValue(eObject, key, value); } - } else { LOGGER.trace("Ignoring field " + key); } - } + }); } private void handleNodeValue(final EObject eObject, String key, JsonNode value) { diff --git a/backend/application/syson-sysml-import/src/main/java/org/eclipse/syson/sysml/parser/ContainmentReferenceHandler.java b/backend/application/syson-sysml-import/src/main/java/org/eclipse/syson/sysml/parser/ContainmentReferenceHandler.java index dd051470a..efd05db4a 100644 --- a/backend/application/syson-sysml-import/src/main/java/org/eclipse/syson/sysml/parser/ContainmentReferenceHandler.java +++ b/backend/application/syson-sysml-import/src/main/java/org/eclipse/syson/sysml/parser/ContainmentReferenceHandler.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2024, 2025 Obeo. + * Copyright (c) 2024, 2026 Obeo. * This program and the accompanying materials * are made available under the terms of the Eclipse Public License v2.0 * which accompanies this distribution, and is available at @@ -12,8 +12,6 @@ *******************************************************************************/ package org.eclipse.syson.sysml.parser; -import com.fasterxml.jackson.databind.JsonNode; - import java.text.MessageFormat; import java.util.List; import java.util.Objects; @@ -34,6 +32,8 @@ import org.eclipse.syson.sysml.utils.LogNameProvider; import org.eclipse.syson.sysml.utils.MessageReporter; +import tools.jackson.databind.JsonNode; + /** * Handler of containment references. * @@ -56,9 +56,9 @@ public ContainmentReferenceHandler(MessageReporter messageReporter) { } public boolean isContainmentReference(final EObject eObject, String referenceName, final JsonNode astValue) { - if (astValue.isContainerNode()) { + if (astValue.isContainer()) { JsonNode referenceTypeNode = astValue.get("$type"); - return referenceTypeNode != null && referenceTypeNode.isTextual() && !this.referenceNodeTester.test(astValue); + return referenceTypeNode != null && referenceTypeNode.isString() && !this.referenceNodeTester.test(astValue); } return false; } diff --git a/backend/application/syson-sysml-import/src/main/java/org/eclipse/syson/sysml/parser/EAttributeHandler.java b/backend/application/syson-sysml-import/src/main/java/org/eclipse/syson/sysml/parser/EAttributeHandler.java index 883887a35..c8a55cc2a 100644 --- a/backend/application/syson-sysml-import/src/main/java/org/eclipse/syson/sysml/parser/EAttributeHandler.java +++ b/backend/application/syson-sysml-import/src/main/java/org/eclipse/syson/sysml/parser/EAttributeHandler.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2024 Obeo. + * Copyright (c) 2024, 2026 Obeo. * This program and the accompanying materials * are made available under the terms of the Eclipse Public License v2.0 * which accompanies this distribution, and is available at @@ -12,8 +12,6 @@ *******************************************************************************/ package org.eclipse.syson.sysml.parser; -import com.fasterxml.jackson.databind.JsonNode; - import java.text.MessageFormat; import java.util.List; @@ -25,6 +23,8 @@ import org.eclipse.syson.sysml.parser.translation.EAttributeTranslator; import org.eclipse.syson.sysml.utils.MessageReporter; +import tools.jackson.databind.JsonNode; + /** * Class that handles EAttribute. * @@ -39,7 +39,7 @@ public EAttributeHandler(MessageReporter messageReporter) { } public boolean isAttribute(final EObject eObject, String attrName, final JsonNode value) { - return value.isTextual() || value.isNumber() || value.isBoolean(); + return value.isString() || value.isNumber() || value.isBoolean(); } public void setAttribute(final EObject eObject, String attrName, final JsonNode value) { diff --git a/backend/application/syson-sysml-import/src/main/java/org/eclipse/syson/sysml/parser/NonContainmentReferenceHandler.java b/backend/application/syson-sysml-import/src/main/java/org/eclipse/syson/sysml/parser/NonContainmentReferenceHandler.java index c45442bff..4cec750bd 100644 --- a/backend/application/syson-sysml-import/src/main/java/org/eclipse/syson/sysml/parser/NonContainmentReferenceHandler.java +++ b/backend/application/syson-sysml-import/src/main/java/org/eclipse/syson/sysml/parser/NonContainmentReferenceHandler.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2024, 2025 Obeo. + * Copyright (c) 2024, 2026 Obeo. * This program and the accompanying materials * are made available under the terms of the Eclipse Public License v2.0 * which accompanies this distribution, and is available at @@ -12,8 +12,6 @@ *******************************************************************************/ package org.eclipse.syson.sysml.parser; -import com.fasterxml.jackson.databind.JsonNode; - import java.text.MessageFormat; import java.util.ArrayList; import java.util.List; @@ -30,6 +28,8 @@ import org.eclipse.syson.sysml.utils.LogNameProvider; import org.eclipse.syson.sysml.utils.MessageReporter; +import tools.jackson.databind.JsonNode; + /** * Class that handles non containment references. * @@ -59,7 +59,7 @@ public NonContainmentReferenceHandler(MessageReporter messageReporter) { } public boolean isNonContainmentReference(final Element owner, String referenceName, final JsonNode astValue) { - if (astValue.isContainerNode()) { + if (astValue.isContainer()) { JsonNode referenceTypeNode = astValue.get("$type"); return referenceTypeNode != null && this.referenceNodeTester.test(astValue); } @@ -71,11 +71,11 @@ public void createProxy(final Element owner, String referenceName, final JsonNod if (!handled) { JsonNode referenceTypeNode = astValue.get("$type"); JsonNode textNode = astValue.get("text"); - String referenceType = referenceTypeNode.asText(); + String referenceType = referenceTypeNode.asString(); final EObject refrenceTypeInstance = this.typeBuilder.createObject(astValue); if (refrenceTypeInstance instanceof InternalEObject internalTarget) { - String qualifiedNameTarget = textNode.asText(); + String qualifiedNameTarget = textNode.asString(); internalTarget.eSetProxyURI(URI.createGenericURI("syson-import", QUALIFIED_CONST, qualifiedNameTarget)); // It should be a reference Optional optEReference = this.referenceComputer.getNonContainmentReference(owner.eClass(), refrenceTypeInstance.eClass(), referenceName); diff --git a/backend/application/syson-sysml-import/src/main/java/org/eclipse/syson/sysml/parser/ReferenceNodeTester.java b/backend/application/syson-sysml-import/src/main/java/org/eclipse/syson/sysml/parser/ReferenceNodeTester.java index 1fe3415ab..6c317946a 100644 --- a/backend/application/syson-sysml-import/src/main/java/org/eclipse/syson/sysml/parser/ReferenceNodeTester.java +++ b/backend/application/syson-sysml-import/src/main/java/org/eclipse/syson/sysml/parser/ReferenceNodeTester.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2025 Obeo. + * Copyright (c) 2025, 2026 Obeo. * This program and the accompanying materials * are made available under the terms of the Eclipse Public License v2.0 * which accompanies this distribution, and is available at @@ -12,10 +12,10 @@ *******************************************************************************/ package org.eclipse.syson.sysml.parser; -import com.fasterxml.jackson.databind.JsonNode; - import java.util.function.Predicate; +import tools.jackson.databind.JsonNode; + /** * Check if a given {@link JsonNode} represent a reference node in the AST. A reference node in the AST represent * "reference" between the parent node an element identified by two fields: @@ -44,11 +44,11 @@ private boolean hasNullableTextualField(JsonNode node, String field) { private boolean hasNonNullTextualField(JsonNode node, String field) { JsonNode nodeField = node.get(field); - return nodeField != null && nodeField.isTextual(); + return nodeField != null && nodeField.isString(); } private boolean isTextualOrNull(JsonNode node) { - return node != null && (node.isTextual() || node.isNull()); + return node != null && (node.isString() || node.isNull()); } } diff --git a/backend/application/syson-sysml-import/src/main/java/org/eclipse/syson/sysml/parser/SysIDENonContainmentIncompatibilitiesHandler.java b/backend/application/syson-sysml-import/src/main/java/org/eclipse/syson/sysml/parser/SysIDENonContainmentIncompatibilitiesHandler.java index 407836f3a..0d3fade7e 100644 --- a/backend/application/syson-sysml-import/src/main/java/org/eclipse/syson/sysml/parser/SysIDENonContainmentIncompatibilitiesHandler.java +++ b/backend/application/syson-sysml-import/src/main/java/org/eclipse/syson/sysml/parser/SysIDENonContainmentIncompatibilitiesHandler.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2025 Obeo. + * Copyright (c) 2025, 2026 Obeo. * This program and the accompanying materials * are made available under the terms of the Eclipse Public License v2.0 * which accompanies this distribution, and is available at @@ -12,8 +12,6 @@ *******************************************************************************/ package org.eclipse.syson.sysml.parser; -import com.fasterxml.jackson.databind.JsonNode; - import java.util.Objects; import org.eclipse.syson.sysml.Element; @@ -21,6 +19,8 @@ import org.eclipse.syson.sysml.MetadataAccessExpression; import org.eclipse.syson.sysml.SysmlFactory; +import tools.jackson.databind.JsonNode; + /** * In charge of handling non containment reference incompatibilities between the AST provided by SysIDE and the current * version of SysON SysML metamodel. diff --git a/backend/application/syson-sysml-import/src/main/java/org/eclipse/syson/sysml/parser/translation/EAttributeTranslator.java b/backend/application/syson-sysml-import/src/main/java/org/eclipse/syson/sysml/parser/translation/EAttributeTranslator.java index 87c05e4fd..55c98d4aa 100644 --- a/backend/application/syson-sysml-import/src/main/java/org/eclipse/syson/sysml/parser/translation/EAttributeTranslator.java +++ b/backend/application/syson-sysml-import/src/main/java/org/eclipse/syson/sysml/parser/translation/EAttributeTranslator.java @@ -12,8 +12,6 @@ *******************************************************************************/ package org.eclipse.syson.sysml.parser.translation; -import com.fasterxml.jackson.databind.JsonNode; - import java.util.Optional; import org.eclipse.emf.ecore.EAttribute; @@ -24,6 +22,8 @@ import org.eclipse.syson.sysml.SysmlPackage; import org.eclipse.syson.sysml.TransitionFeatureKind; +import tools.jackson.databind.JsonNode; + /** * Transforms a feature name and value in the AST in an EAttribute with a value that can be set in SysON metamodel. * @@ -50,7 +50,6 @@ public class EAttributeTranslator { * the value of that feature in the AST */ public void computeAttributeAndValueToSet(EClass ownerType, String astFeatureName, JsonNode astValue) { - // Use to force the value of an attribute Object forcedValue = null; @@ -123,7 +122,7 @@ private Object handleCommentBody(EClass ownerType, String astFeatureName, JsonNo } private Object handleLiteralStringValue(EClass ownerType, String astFeatureName, JsonNode astValue) { - String literalValue = astValue.asText().replace(DOUBLE_QUOTE_CONST, ""); + String literalValue = astValue.asString().replace(DOUBLE_QUOTE_CONST, ""); // Unescape backslash return literalValue.replace("\\\\", "\\"); } @@ -139,7 +138,7 @@ public EAttribute getAttribute() { private Object getValue(EAttribute attr, JsonNode astValue) { final Object result; - if (astValue.isTextual() || astValue.isNumber()) { + if (astValue.isString() || astValue.isNumber()) { String cleanedValue = this.asCleanedText(astValue); EDataType eAttributeType = attr.getEAttributeType(); if (this.isSpecialEnum(eAttributeType)) { @@ -225,7 +224,7 @@ private boolean handleBooleansAsString(JsonNode astJson, String mappedName) { } private boolean handleBooleanAsString(String attributeName, String mappedName, String stringValueIfTrue, JsonNode astValue) { - return attributeName.equals(mappedName) && stringValueIfTrue.equals(astValue.asText()); + return attributeName.equals(mappedName) && stringValueIfTrue.equals(astValue.asString()); } private Optional getAttribute(EClass ownerType, String name) { @@ -240,11 +239,11 @@ private Optional getAttribute(EClass ownerType, String name) { private String asCleanedText(final JsonNode node) { String result = null; - if (node.isTextual()) { - result = node.asText().replace(QUOTE_CONST, ""); + if (node.isString()) { + result = node.asString().replace(QUOTE_CONST, ""); } if (node.isNumber()) { - result = node.asText(); + result = node.asString(); } return result; diff --git a/backend/application/syson-sysml-import/src/main/java/org/eclipse/syson/sysml/parser/translation/EClassifierTranslator.java b/backend/application/syson-sysml-import/src/main/java/org/eclipse/syson/sysml/parser/translation/EClassifierTranslator.java index fe1ab2423..5c6fa9b48 100644 --- a/backend/application/syson-sysml-import/src/main/java/org/eclipse/syson/sysml/parser/translation/EClassifierTranslator.java +++ b/backend/application/syson-sysml-import/src/main/java/org/eclipse/syson/sysml/parser/translation/EClassifierTranslator.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2024, 2025 Obeo. + * Copyright (c) 2024, 2026 Obeo. * This program and the accompanying materials * are made available under the terms of the Eclipse Public License v2.0 * which accompanies this distribution, and is available at @@ -12,13 +12,13 @@ *******************************************************************************/ package org.eclipse.syson.sysml.parser.translation; -import com.fasterxml.jackson.databind.JsonNode; - import org.eclipse.emf.ecore.EClass; import org.eclipse.emf.ecore.EClassifier; import org.eclipse.emf.ecore.EObject; import org.eclipse.syson.sysml.SysmlPackage; +import tools.jackson.databind.JsonNode; + /** * Class in charge of translating a Type field in the AST into a valid {@link EClassifier}. * @@ -26,8 +26,6 @@ */ public class EClassifierTranslator { - private static final String LITERAL_CONST = "literal"; - private static final String TYPE_CONST = "$type"; public EObject createObject(JsonNode astJson) { @@ -40,7 +38,7 @@ public EObject createObject(JsonNode astJson) { } private EClassifier toEClassifier(JsonNode astJson) { - String type = astJson.findValue(TYPE_CONST).textValue(); + String type = astJson.findValue(TYPE_CONST).stringValue(); if ("MembershipReference".equals(type)) { type = "Membership"; @@ -61,8 +59,8 @@ private EClassifier toEClassifier(JsonNode astJson) { } else if (type.equals("LiteralNumber")) { // There is a bug in AST provided by SysIDE, the literal fields converts some the value from 1.0 to 1 making hard to distinguish between RationalLiteral and IntegerLiteral final var textValueNode = astJson.at("/$cstNode/text"); - if (textValueNode != null && textValueNode.asText() != null) { - final String textValue = textValueNode.asText(); + if (textValueNode != null && textValueNode.asString() != null) { + final String textValue = textValueNode.asString(); if (textValue.contains(".") || textValue.contains("E") || textValue.contains("e")) { /* *

RealValue : Real = DECIMAL_VALUE? '.' ( DECIMAL_VALUE | EXPONENTIAL_VALUE ) | EXPONENTIAL_VALUE

@@ -73,8 +71,6 @@ private EClassifier toEClassifier(JsonNode astJson) { type = "LiteralInteger"; } } - - // to remove when SysIDE will release a SysMLv2 2025-04 compliant version } else if ("FlowConnectionUsage".equals(type)) { type = "FlowUsage"; diff --git a/backend/application/syson-sysml-import/src/test/java/org/eclipse/syson/sysml/ContainmentReferenceHandlerTest.java b/backend/application/syson-sysml-import/src/test/java/org/eclipse/syson/sysml/ContainmentReferenceHandlerTest.java index 862dedd74..9f677413e 100644 --- a/backend/application/syson-sysml-import/src/test/java/org/eclipse/syson/sysml/ContainmentReferenceHandlerTest.java +++ b/backend/application/syson-sysml-import/src/test/java/org/eclipse/syson/sysml/ContainmentReferenceHandlerTest.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2025 Obeo. + * Copyright (c) 2025, 2026 Obeo. * This program and the accompanying materials * are made available under the terms of the Eclipse Public License v2.0 * which accompanies this distribution, and is available at @@ -13,19 +13,19 @@ package org.eclipse.syson.sysml; import static org.assertj.core.api.Assertions.assertThat; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNull; - -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.JsonMappingException; -import com.fasterxml.jackson.databind.JsonNode; -import com.fasterxml.jackson.databind.ObjectMapper; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertNull; import org.eclipse.syson.sysml.parser.ContainmentReferenceHandler; import org.eclipse.syson.sysml.utils.MessageReporter; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; +import tools.jackson.core.JacksonException; +import tools.jackson.databind.DatabindException; +import tools.jackson.databind.JsonNode; +import tools.jackson.databind.ObjectMapper; + /** * Test class for {@link ContainmentReferenceHandler}. * @@ -45,12 +45,12 @@ public void beforeEach() { } @Test - public void checkInvalidContainementNode() throws JsonMappingException, JsonProcessingException { + public void checkInvalidContainementNode() throws DatabindException, JacksonException { assertFalse(this.refHandler.isContainmentReference(SysmlFactory.eINSTANCE.createPartDefinition(), "", this.read(""))); } @Test - public void checkInvalidTypeName() throws JsonMappingException, JsonProcessingException { + public void checkInvalidTypeName() throws DatabindException, JacksonException { assertNull(this.refHandler.handleContainmentReference(SysmlFactory.eINSTANCE.createPartDefinition(), "", this.read(""" { "$type" : "InvalidType" @@ -59,7 +59,7 @@ public void checkInvalidTypeName() throws JsonMappingException, JsonProcessingEx assertThat(this.msgReporter.getReportedMessages()).hasSize(1); } - private JsonNode read(String input) throws JsonMappingException, JsonProcessingException { + private JsonNode read(String input) throws DatabindException, JacksonException { ObjectMapper objectMapper = new ObjectMapper(); return objectMapper.readTree(input); } diff --git a/backend/application/syson-sysml-import/src/test/java/org/eclipse/syson/sysml/NonContainmentReferenceHandlerTest.java b/backend/application/syson-sysml-import/src/test/java/org/eclipse/syson/sysml/NonContainmentReferenceHandlerTest.java index 2c0644a75..b995cdf2e 100644 --- a/backend/application/syson-sysml-import/src/test/java/org/eclipse/syson/sysml/NonContainmentReferenceHandlerTest.java +++ b/backend/application/syson-sysml-import/src/test/java/org/eclipse/syson/sysml/NonContainmentReferenceHandlerTest.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2025 Obeo. + * Copyright (c) 2025, 2026 Obeo. * This program and the accompanying materials * are made available under the terms of the Eclipse Public License v2.0 * which accompanies this distribution, and is available at @@ -15,16 +15,16 @@ import static org.assertj.core.api.Assertions.assertThat; import static org.junit.jupiter.api.Assertions.assertFalse; -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.JsonMappingException; -import com.fasterxml.jackson.databind.JsonNode; -import com.fasterxml.jackson.databind.ObjectMapper; - import org.eclipse.syson.sysml.parser.NonContainmentReferenceHandler; import org.eclipse.syson.sysml.utils.MessageReporter; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; +import tools.jackson.core.JacksonException; +import tools.jackson.databind.DatabindException; +import tools.jackson.databind.JsonNode; +import tools.jackson.databind.ObjectMapper; + /** * Test class for {@link NonContainmentReferenceHandler}. * @@ -43,7 +43,7 @@ public void beforeEach() { } @Test - public void checkInvalidTypeName() throws JsonMappingException, JsonProcessingException { + public void checkInvalidTypeName() throws DatabindException, JacksonException { this.refHandler.createProxy(SysmlFactory.eINSTANCE.createPartDefinition(), "", this.read(""" { "$type" : "InvalidType" @@ -55,7 +55,7 @@ public void checkInvalidTypeName() throws JsonMappingException, JsonProcessingEx } @Test - public void checkInvalidReferenceName() throws JsonMappingException, JsonProcessingException { + public void checkInvalidReferenceName() throws DatabindException, JacksonException { this.refHandler.createProxy(SysmlFactory.eINSTANCE.createPartDefinition(), "", this.read(""" { "$type" : "PartUsage", @@ -68,7 +68,7 @@ public void checkInvalidReferenceName() throws JsonMappingException, JsonProcess } @Test - public void checkisNonContainmentReference() throws JsonMappingException, JsonProcessingException { + public void checkisNonContainmentReference() throws DatabindException, JacksonException { assertFalse(this.refHandler.isNonContainmentReference(SysmlFactory.eINSTANCE.createPartDefinition(), "", this.read(""" { "attr" : "value" @@ -76,7 +76,7 @@ public void checkisNonContainmentReference() throws JsonMappingException, JsonPr """))); } - private JsonNode read(String input) throws JsonMappingException, JsonProcessingException { + private JsonNode read(String input) throws DatabindException, JacksonException { ObjectMapper objectMapper = new ObjectMapper(); return objectMapper.readTree(input); } diff --git a/backend/application/syson-sysml-import/src/test/java/org/eclipse/syson/sysml/SysMLExternalResourceLoaderServiceTests.java b/backend/application/syson-sysml-import/src/test/java/org/eclipse/syson/sysml/SysMLExternalResourceLoaderServiceTests.java index 1fba3faa6..011ced43e 100644 --- a/backend/application/syson-sysml-import/src/test/java/org/eclipse/syson/sysml/SysMLExternalResourceLoaderServiceTests.java +++ b/backend/application/syson-sysml-import/src/test/java/org/eclipse/syson/sysml/SysMLExternalResourceLoaderServiceTests.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2024, 2025 Obeo. + * Copyright (c) 2024, 2026 Obeo. * This program and the accompanying materials * are made available under the terms of the Eclipse Public License v2.0 * which accompanies this distribution, and is available at @@ -12,8 +12,8 @@ *******************************************************************************/ package org.eclipse.syson.sysml; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; import java.io.ByteArrayInputStream; diff --git a/backend/application/syson-sysml-validation/pom.xml b/backend/application/syson-sysml-validation/pom.xml index b378ae7c1..c8d9fcbf4 100644 --- a/backend/application/syson-sysml-validation/pom.xml +++ b/backend/application/syson-sysml-validation/pom.xml @@ -18,7 +18,7 @@ org.springframework.boot spring-boot-starter-parent - 3.5.11 + 4.0.5 org.eclipse.syson @@ -29,7 +29,7 @@ 21 - 2026.3.1 + 2026.3.2 @@ -89,7 +89,7 @@
org.testcontainers - junit-jupiter + testcontainers-junit-jupiter test diff --git a/backend/metamodel/syson-siriusweb-customnodes-metamodel-edit/pom.xml b/backend/metamodel/syson-siriusweb-customnodes-metamodel-edit/pom.xml index 8dc18b198..8bd21297d 100644 --- a/backend/metamodel/syson-siriusweb-customnodes-metamodel-edit/pom.xml +++ b/backend/metamodel/syson-siriusweb-customnodes-metamodel-edit/pom.xml @@ -18,7 +18,7 @@ org.springframework.boot spring-boot-starter-parent - 3.5.11 + 4.0.5 org.eclipse.syson @@ -29,7 +29,7 @@ 21 - 2026.3.1 + 2026.3.2 diff --git a/backend/metamodel/syson-siriusweb-customnodes-metamodel/pom.xml b/backend/metamodel/syson-siriusweb-customnodes-metamodel/pom.xml index 5396e0b33..905692d21 100644 --- a/backend/metamodel/syson-siriusweb-customnodes-metamodel/pom.xml +++ b/backend/metamodel/syson-siriusweb-customnodes-metamodel/pom.xml @@ -18,7 +18,7 @@ org.springframework.boot spring-boot-starter-parent - 3.5.11 + 4.0.5 org.eclipse.syson @@ -29,7 +29,7 @@ 21 - 2026.3.1 + 2026.3.2 diff --git a/backend/metamodel/syson-sysml-metamodel-edit/pom.xml b/backend/metamodel/syson-sysml-metamodel-edit/pom.xml index 1b8f418c1..401a9609d 100644 --- a/backend/metamodel/syson-sysml-metamodel-edit/pom.xml +++ b/backend/metamodel/syson-sysml-metamodel-edit/pom.xml @@ -18,7 +18,7 @@ org.springframework.boot spring-boot-starter-parent - 3.5.11 + 4.0.5 org.eclipse.syson diff --git a/backend/metamodel/syson-sysml-metamodel/pom.xml b/backend/metamodel/syson-sysml-metamodel/pom.xml index b9cac5b75..95b67231a 100644 --- a/backend/metamodel/syson-sysml-metamodel/pom.xml +++ b/backend/metamodel/syson-sysml-metamodel/pom.xml @@ -18,7 +18,7 @@ org.springframework.boot spring-boot-starter-parent - 3.5.11 + 4.0.5 org.eclipse.syson @@ -88,7 +88,7 @@ org.testcontainers - junit-jupiter + testcontainers-junit-jupiter test diff --git a/backend/metamodel/syson-sysml-metamodel/src/test/java/org/eclipse/syson/sysml/impl/CaseUsageImplTest.java b/backend/metamodel/syson-sysml-metamodel/src/test/java/org/eclipse/syson/sysml/impl/CaseUsageImplTest.java index 98b377c6b..6ca6c0f0f 100644 --- a/backend/metamodel/syson-sysml-metamodel/src/test/java/org/eclipse/syson/sysml/impl/CaseUsageImplTest.java +++ b/backend/metamodel/syson-sysml-metamodel/src/test/java/org/eclipse/syson/sysml/impl/CaseUsageImplTest.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2025 Obeo. + * Copyright (c) 2025, 2026 Obeo. * This program and the accompanying materials * are made available under the terms of the Eclipse Public License v2.0 * which accompanies this distribution, and is available at @@ -12,9 +12,9 @@ *******************************************************************************/ package org.eclipse.syson.sysml.impl; -import static org.junit.Assert.assertSame; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertSame; import org.eclipse.syson.sysml.ActorMembership; import org.eclipse.syson.sysml.CaseUsage; diff --git a/backend/metamodel/syson-sysml-metamodel/src/test/java/org/eclipse/syson/sysml/impl/CommentImplTest.java b/backend/metamodel/syson-sysml-metamodel/src/test/java/org/eclipse/syson/sysml/impl/CommentImplTest.java index d89a4c1dc..4c9a8c67a 100644 --- a/backend/metamodel/syson-sysml-metamodel/src/test/java/org/eclipse/syson/sysml/impl/CommentImplTest.java +++ b/backend/metamodel/syson-sysml-metamodel/src/test/java/org/eclipse/syson/sysml/impl/CommentImplTest.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2024, 2025 Obeo. + * Copyright (c) 2024, 2026 Obeo. * This program and the accompanying materials * are made available under the terms of the Eclipse Public License v2.0 * which accompanies this distribution, and is available at @@ -12,8 +12,8 @@ *******************************************************************************/ package org.eclipse.syson.sysml.impl; -import static org.junit.Assert.assertTrue; import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; import org.eclipse.emf.common.util.EList; import org.eclipse.syson.sysml.Annotation; diff --git a/backend/metamodel/syson-sysml-metamodel/src/test/java/org/eclipse/syson/sysml/impl/NamespaceImplTest.java b/backend/metamodel/syson-sysml-metamodel/src/test/java/org/eclipse/syson/sysml/impl/NamespaceImplTest.java index 47183b0e7..a6ee6de64 100644 --- a/backend/metamodel/syson-sysml-metamodel/src/test/java/org/eclipse/syson/sysml/impl/NamespaceImplTest.java +++ b/backend/metamodel/syson-sysml-metamodel/src/test/java/org/eclipse/syson/sysml/impl/NamespaceImplTest.java @@ -13,8 +13,8 @@ package org.eclipse.syson.sysml.impl; import static org.eclipse.syson.sysml.util.TestUtils.assertContentEquals; -import static org.junit.Assert.assertNull; import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNull; import org.eclipse.emf.ecore.resource.Resource; import org.eclipse.emf.ecore.resource.ResourceSet; diff --git a/backend/metamodel/syson-sysml-metamodel/src/test/java/org/eclipse/syson/sysml/impl/SuccessionAsUsageTest.java b/backend/metamodel/syson-sysml-metamodel/src/test/java/org/eclipse/syson/sysml/impl/SuccessionAsUsageTest.java index 76bf4ad16..4edd0a266 100644 --- a/backend/metamodel/syson-sysml-metamodel/src/test/java/org/eclipse/syson/sysml/impl/SuccessionAsUsageTest.java +++ b/backend/metamodel/syson-sysml-metamodel/src/test/java/org/eclipse/syson/sysml/impl/SuccessionAsUsageTest.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2025 Obeo. + * Copyright (c) 2025, 2026 Obeo. * This program and the accompanying materials * are made available under the terms of the Eclipse Public License v2.0 * which accompanies this distribution, and is available at @@ -13,8 +13,8 @@ package org.eclipse.syson.sysml.impl; import static org.assertj.core.api.Assertions.assertThat; -import static org.junit.Assert.assertTrue; import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; import org.eclipse.syson.sysml.ActionDefinition; import org.eclipse.syson.sysml.ActionUsage; diff --git a/backend/metamodel/syson-sysml-metamodel/src/test/java/org/eclipse/syson/sysml/impl/UsageImplTest.java b/backend/metamodel/syson-sysml-metamodel/src/test/java/org/eclipse/syson/sysml/impl/UsageImplTest.java index 56ee5021c..a6b1d8818 100644 --- a/backend/metamodel/syson-sysml-metamodel/src/test/java/org/eclipse/syson/sysml/impl/UsageImplTest.java +++ b/backend/metamodel/syson-sysml-metamodel/src/test/java/org/eclipse/syson/sysml/impl/UsageImplTest.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2024 Obeo. + * Copyright (c) 2024, 2026 Obeo. * This program and the accompanying materials * are made available under the terms of the Eclipse Public License v2.0 * which accompanies this distribution, and is available at @@ -12,8 +12,8 @@ *******************************************************************************/ package org.eclipse.syson.sysml.impl; -import static org.junit.Assert.assertNull; import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNull; import org.eclipse.syson.sysml.Feature; import org.eclipse.syson.sysml.Usage; diff --git a/backend/metamodel/syson-sysml-metamodel/src/test/java/org/eclipse/syson/sysml/impl/UseCaseDefinitionImplTest.java b/backend/metamodel/syson-sysml-metamodel/src/test/java/org/eclipse/syson/sysml/impl/UseCaseDefinitionImplTest.java index de52fd742..23b2999c6 100644 --- a/backend/metamodel/syson-sysml-metamodel/src/test/java/org/eclipse/syson/sysml/impl/UseCaseDefinitionImplTest.java +++ b/backend/metamodel/syson-sysml-metamodel/src/test/java/org/eclipse/syson/sysml/impl/UseCaseDefinitionImplTest.java @@ -18,7 +18,7 @@ import org.eclipse.syson.sysml.UseCaseDefinition; import org.eclipse.syson.sysml.UseCaseUsage; import org.eclipse.syson.sysml.util.ModelBuilder; -import org.junit.Test; +import org.junit.jupiter.api.Test; /** * {@link UseCaseDefinitionImpl} related tests. diff --git a/backend/metamodel/syson-sysml-metamodel/src/test/java/org/eclipse/syson/sysml/impl/UseCaseUsageImplTest.java b/backend/metamodel/syson-sysml-metamodel/src/test/java/org/eclipse/syson/sysml/impl/UseCaseUsageImplTest.java index 9aa872399..d31d7a20b 100644 --- a/backend/metamodel/syson-sysml-metamodel/src/test/java/org/eclipse/syson/sysml/impl/UseCaseUsageImplTest.java +++ b/backend/metamodel/syson-sysml-metamodel/src/test/java/org/eclipse/syson/sysml/impl/UseCaseUsageImplTest.java @@ -17,7 +17,7 @@ import org.eclipse.syson.sysml.IncludeUseCaseUsage; import org.eclipse.syson.sysml.UseCaseUsage; import org.eclipse.syson.sysml.util.ModelBuilder; -import org.junit.Test; +import org.junit.jupiter.api.Test; /** * {@link UseCaseUsageImpl} related tests. diff --git a/backend/releng/syson-test-coverage/pom.xml b/backend/releng/syson-test-coverage/pom.xml index 5b3038d70..7ea8a9106 100644 --- a/backend/releng/syson-test-coverage/pom.xml +++ b/backend/releng/syson-test-coverage/pom.xml @@ -18,7 +18,7 @@ org.springframework.boot spring-boot-starter-parent - 3.5.11 + 4.0.5 org.eclipse.syson diff --git a/backend/services/syson-diagram-services/pom.xml b/backend/services/syson-diagram-services/pom.xml index 2ad6fc1f9..f1d261512 100644 --- a/backend/services/syson-diagram-services/pom.xml +++ b/backend/services/syson-diagram-services/pom.xml @@ -18,7 +18,7 @@ org.springframework.boot spring-boot-starter-parent - 3.5.11 + 4.0.5 org.eclipse.syson @@ -29,7 +29,7 @@ 21 - 2026.3.1 + 2026.3.2 @@ -80,7 +80,7 @@ org.testcontainers - junit-jupiter + testcontainers-junit-jupiter test diff --git a/backend/services/syson-direct-edit-grammar/pom.xml b/backend/services/syson-direct-edit-grammar/pom.xml index ace77d8b1..424257d42 100644 --- a/backend/services/syson-direct-edit-grammar/pom.xml +++ b/backend/services/syson-direct-edit-grammar/pom.xml @@ -18,7 +18,7 @@ org.springframework.boot spring-boot-starter-parent - 3.5.11 + 4.0.5 org.eclipse.syson @@ -29,7 +29,7 @@ 21 - 2026.3.1 + 2026.3.2 4.13.2 diff --git a/backend/services/syson-direct-edit-grammar/src/main/java/org/eclipse/syson/direct/edit/grammars/DirectEditLexer.java b/backend/services/syson-direct-edit-grammar/src/main/java/org/eclipse/syson/direct/edit/grammars/DirectEditLexer.java index 3c0253bc5..c3e001ee5 100644 --- a/backend/services/syson-direct-edit-grammar/src/main/java/org/eclipse/syson/direct/edit/grammars/DirectEditLexer.java +++ b/backend/services/syson-direct-edit-grammar/src/main/java/org/eclipse/syson/direct/edit/grammars/DirectEditLexer.java @@ -14,14 +14,16 @@ *******************************************************************************/ package org.eclipse.syson.direct.edit.grammars; -import org.antlr.v4.runtime.Lexer; import org.antlr.v4.runtime.CharStream; -import org.antlr.v4.runtime.Token; -import org.antlr.v4.runtime.TokenStream; -import org.antlr.v4.runtime.*; -import org.antlr.v4.runtime.atn.*; +import org.antlr.v4.runtime.Lexer; +import org.antlr.v4.runtime.RuntimeMetaData; +import org.antlr.v4.runtime.Vocabulary; +import org.antlr.v4.runtime.VocabularyImpl; +import org.antlr.v4.runtime.atn.ATN; +import org.antlr.v4.runtime.atn.ATNDeserializer; +import org.antlr.v4.runtime.atn.LexerATNSimulator; +import org.antlr.v4.runtime.atn.PredictionContextCache; import org.antlr.v4.runtime.dfa.DFA; -import org.antlr.v4.runtime.misc.*; @SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast", "CheckReturnValue", "this-escape"}) public class DirectEditLexer extends Lexer { diff --git a/backend/services/syson-direct-edit-grammar/src/main/java/org/eclipse/syson/direct/edit/grammars/DirectEditParser.java b/backend/services/syson-direct-edit-grammar/src/main/java/org/eclipse/syson/direct/edit/grammars/DirectEditParser.java index 2268553f2..d478369fa 100644 --- a/backend/services/syson-direct-edit-grammar/src/main/java/org/eclipse/syson/direct/edit/grammars/DirectEditParser.java +++ b/backend/services/syson-direct-edit-grammar/src/main/java/org/eclipse/syson/direct/edit/grammars/DirectEditParser.java @@ -14,14 +14,26 @@ *******************************************************************************/ package org.eclipse.syson.direct.edit.grammars; -import org.antlr.v4.runtime.atn.*; -import org.antlr.v4.runtime.dfa.DFA; -import org.antlr.v4.runtime.*; -import org.antlr.v4.runtime.misc.*; -import org.antlr.v4.runtime.tree.*; import java.util.List; -import java.util.Iterator; -import java.util.ArrayList; + +import org.antlr.v4.runtime.FailedPredicateException; +import org.antlr.v4.runtime.NoViableAltException; +import org.antlr.v4.runtime.Parser; +import org.antlr.v4.runtime.ParserRuleContext; +import org.antlr.v4.runtime.RecognitionException; +import org.antlr.v4.runtime.RuleContext; +import org.antlr.v4.runtime.RuntimeMetaData; +import org.antlr.v4.runtime.Token; +import org.antlr.v4.runtime.TokenStream; +import org.antlr.v4.runtime.Vocabulary; +import org.antlr.v4.runtime.VocabularyImpl; +import org.antlr.v4.runtime.atn.ATN; +import org.antlr.v4.runtime.atn.ATNDeserializer; +import org.antlr.v4.runtime.atn.ParserATNSimulator; +import org.antlr.v4.runtime.atn.PredictionContextCache; +import org.antlr.v4.runtime.dfa.DFA; +import org.antlr.v4.runtime.tree.ParseTreeListener; +import org.antlr.v4.runtime.tree.TerminalNode; @SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast", "CheckReturnValue", "this-escape"}) public class DirectEditParser extends Parser { diff --git a/backend/services/syson-form-services/pom.xml b/backend/services/syson-form-services/pom.xml index 58b9ff0db..97ed223c0 100644 --- a/backend/services/syson-form-services/pom.xml +++ b/backend/services/syson-form-services/pom.xml @@ -18,7 +18,7 @@ org.springframework.boot spring-boot-starter-parent - 3.5.11 + 4.0.5 org.eclipse.syson @@ -29,7 +29,7 @@ 21 - 2026.3.1 + 2026.3.2 @@ -65,7 +65,7 @@ org.testcontainers - junit-jupiter + testcontainers-junit-jupiter test diff --git a/backend/services/syson-model-services/pom.xml b/backend/services/syson-model-services/pom.xml index 4b3edb842..c4dd61745 100644 --- a/backend/services/syson-model-services/pom.xml +++ b/backend/services/syson-model-services/pom.xml @@ -18,7 +18,7 @@ org.springframework.boot spring-boot-starter-parent - 3.5.11 + 4.0.5 org.eclipse.syson @@ -29,7 +29,7 @@ 21 - 2026.3.1 + 2026.3.2 @@ -80,7 +80,7 @@ org.testcontainers - junit-jupiter + testcontainers-junit-jupiter test diff --git a/backend/services/syson-representation-services/pom.xml b/backend/services/syson-representation-services/pom.xml index 0e0d97e39..da26b1cd1 100644 --- a/backend/services/syson-representation-services/pom.xml +++ b/backend/services/syson-representation-services/pom.xml @@ -18,7 +18,7 @@ org.springframework.boot spring-boot-starter-parent - 3.5.11 + 4.0.5 org.eclipse.syson @@ -29,7 +29,7 @@ 21 - 2026.3.1 + 2026.3.2 @@ -65,7 +65,7 @@ org.testcontainers - junit-jupiter + testcontainers-junit-jupiter test diff --git a/backend/services/syson-services/pom.xml b/backend/services/syson-services/pom.xml index e40c8626b..f031e4905 100644 --- a/backend/services/syson-services/pom.xml +++ b/backend/services/syson-services/pom.xml @@ -18,7 +18,7 @@ org.springframework.boot spring-boot-starter-parent - 3.5.11 + 4.0.5 org.eclipse.syson @@ -29,7 +29,7 @@ 21 - 2026.3.1 + 2026.3.2 4.10.1 @@ -91,7 +91,7 @@ org.testcontainers - junit-jupiter + testcontainers-junit-jupiter test diff --git a/backend/services/syson-services/src/main/java/org/eclipse/syson/services/api/IDirectEditNamespaceProvider.java b/backend/services/syson-services/src/main/java/org/eclipse/syson/services/api/IDirectEditNamespaceProvider.java index 66b22bda5..6600c3b1a 100644 --- a/backend/services/syson-services/src/main/java/org/eclipse/syson/services/api/IDirectEditNamespaceProvider.java +++ b/backend/services/syson-services/src/main/java/org/eclipse/syson/services/api/IDirectEditNamespaceProvider.java @@ -12,11 +12,11 @@ *******************************************************************************/ package org.eclipse.syson.services.api; +import java.util.Optional; + import org.eclipse.syson.sysml.Membership; import org.eclipse.syson.util.NamedProxy; -import java.util.Optional; - /** * Service use to resolve a proxy if the namespace provided was not resolved by default, usually if it was not imported. * diff --git a/backend/services/syson-services/src/test/java/org/eclipse/syson/services/SysMLMoveElementServiceTest.java b/backend/services/syson-services/src/test/java/org/eclipse/syson/services/SysMLMoveElementServiceTest.java index a4e526203..7abcc0c5e 100644 --- a/backend/services/syson-services/src/test/java/org/eclipse/syson/services/SysMLMoveElementServiceTest.java +++ b/backend/services/syson-services/src/test/java/org/eclipse/syson/services/SysMLMoveElementServiceTest.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2024, 2025 Obeo. + * Copyright (c) 2024, 2026 Obeo. * This program and the accompanying materials * are made available under the terms of the Eclipse Public License v2.0 * which accompanies this distribution, and is available at @@ -13,7 +13,7 @@ package org.eclipse.syson.services; import static org.assertj.core.api.Assertions.assertThat; -import static org.junit.Assert.assertFalse; +import static org.junit.jupiter.api.Assertions.assertFalse; import java.util.ArrayList; import java.util.List; diff --git a/backend/services/syson-sysml-metamodel-services/pom.xml b/backend/services/syson-sysml-metamodel-services/pom.xml index 37b32f554..64c789b81 100644 --- a/backend/services/syson-sysml-metamodel-services/pom.xml +++ b/backend/services/syson-sysml-metamodel-services/pom.xml @@ -18,7 +18,7 @@ org.springframework.boot spring-boot-starter-parent - 3.5.11 + 4.0.5 org.eclipse.syson @@ -29,7 +29,7 @@ 21 - 2026.3.1 + 2026.3.2 @@ -60,7 +60,7 @@ org.testcontainers - junit-jupiter + testcontainers-junit-jupiter test diff --git a/backend/services/syson-sysml-metamodel-services/src/test/java/org/eclipse/syson/sysml/metamodel/services/FeatureChainComputerTest.java b/backend/services/syson-sysml-metamodel-services/src/test/java/org/eclipse/syson/sysml/metamodel/services/FeatureChainComputerTest.java index 875668fc6..35b14100e 100644 --- a/backend/services/syson-sysml-metamodel-services/src/test/java/org/eclipse/syson/sysml/metamodel/services/FeatureChainComputerTest.java +++ b/backend/services/syson-sysml-metamodel-services/src/test/java/org/eclipse/syson/sysml/metamodel/services/FeatureChainComputerTest.java @@ -14,7 +14,7 @@ import static java.util.stream.Collectors.joining; import static org.assertj.core.api.Assertions.assertThat; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.assertTrue; import java.util.List; import java.util.Optional; diff --git a/backend/services/syson-sysml-rest-api-services/pom.xml b/backend/services/syson-sysml-rest-api-services/pom.xml index 2c1be3297..7c0967b5b 100644 --- a/backend/services/syson-sysml-rest-api-services/pom.xml +++ b/backend/services/syson-sysml-rest-api-services/pom.xml @@ -18,7 +18,7 @@ org.springframework.boot spring-boot-starter-parent - 3.5.11 + 4.0.5 org.eclipse.syson @@ -29,7 +29,7 @@ 21 - 2026.3.1 + 2026.3.2 @@ -56,10 +56,6 @@ - - com.fasterxml.jackson.datatype - jackson-datatype-jsr310 - org.eclipse.sirius sirius-web-starter @@ -83,7 +79,7 @@ org.testcontainers - junit-jupiter + testcontainers-junit-jupiter test diff --git a/backend/services/syson-sysml-rest-api-services/src/main/java/org/eclipse/syson/sysml/rest/api/SysMLv2JsonSerializer.java b/backend/services/syson-sysml-rest-api-services/src/main/java/org/eclipse/syson/sysml/rest/api/SysMLv2JsonSerializer.java index 74dcae066..32c8445b0 100644 --- a/backend/services/syson-sysml-rest-api-services/src/main/java/org/eclipse/syson/sysml/rest/api/SysMLv2JsonSerializer.java +++ b/backend/services/syson-sysml-rest-api-services/src/main/java/org/eclipse/syson/sysml/rest/api/SysMLv2JsonSerializer.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2024, 2025 Obeo. + * Copyright (c) 2024, 2026 Obeo. * This program and the accompanying materials * are made available under the terms of the Eclipse Public License v2.0 * which accompanies this distribution, and is available at @@ -12,11 +12,6 @@ *******************************************************************************/ package org.eclipse.syson.sysml.rest.api; -import com.fasterxml.jackson.core.JsonGenerator; -import com.fasterxml.jackson.databind.JsonSerializer; -import com.fasterxml.jackson.databind.SerializerProvider; - -import java.io.IOException; import java.util.Comparator; import java.util.List; import java.util.Optional; @@ -32,19 +27,24 @@ import org.eclipse.syson.sysml.util.ElementUtil; import org.eclipse.syson.sysml.util.VirtualLinkAdapter; +import tools.jackson.core.JacksonException; +import tools.jackson.core.JsonGenerator; +import tools.jackson.databind.SerializationContext; +import tools.jackson.databind.ValueSerializer; + /** * Custom JSON Serializer for SysMLv2 Elements. * * @author arichard */ -public class SysMLv2JsonSerializer extends JsonSerializer { +public class SysMLv2JsonSerializer extends ValueSerializer { private static final String ID = "@id"; private final EObjectIDManager eObjectIDManager = new EObjectIDManager(); @Override - public void serialize(EObject value, JsonGenerator gen, SerializerProvider serializers) throws IOException { + public void serialize(EObject value, JsonGenerator gen, SerializationContext provider) throws JacksonException { gen.writeStartObject(); Optional id = Optional.empty(); if (value instanceof Element elt) { @@ -53,9 +53,9 @@ public void serialize(EObject value, JsonGenerator gen, SerializerProvider seria id = this.eObjectIDManager.findId(value); } if (id.isPresent()) { - gen.writeStringField(ID, id.get()); + gen.writeStringProperty(ID, id.get()); } - gen.writeStringField("@type", value.eClass().getName()); + gen.writeStringProperty("@type", value.eClass().getName()); var eAllSFs = value.eClass().getEAllStructuralFeatures().stream().sorted(Comparator.comparing(EStructuralFeature::getName)).toList(); for (EStructuralFeature eSF : eAllSFs) { if (eSF instanceof EAttribute eAttribute) { @@ -67,7 +67,7 @@ public void serialize(EObject value, JsonGenerator gen, SerializerProvider seria gen.writeEndObject(); } - private void serializeAttribute(EObject value, JsonGenerator gen, EAttribute eAttribute) throws IOException { + private void serializeAttribute(EObject value, JsonGenerator gen, EAttribute eAttribute) throws JacksonException { Object objectValue = value.eGet(eAttribute); if (objectValue != null) { // The writeObjectField does not handle enum values properly, as it generates the value in uppercase @@ -75,13 +75,13 @@ private void serializeAttribute(EObject value, JsonGenerator gen, EAttribute eAt if (objectValue instanceof Enumerator enumerator) { objectValue = enumerator.getLiteral(); } - gen.writeObjectField(eAttribute.getName(), objectValue); + gen.writePOJOProperty(eAttribute.getName(), objectValue); } else { - gen.writeStringField(eAttribute.getName(), null); + gen.writeStringProperty(eAttribute.getName(), null); } } - private void serializeReference(EObject value, JsonGenerator gen, EReference eReference) throws IOException { + private void serializeReference(EObject value, JsonGenerator gen, EReference eReference) throws JacksonException { Object objectValue = value.eGet(eReference); if (EcorePackage.eINSTANCE.getEModelElement_EAnnotations().equals(eReference)) { // nothing to do, the eAnnotations reference is not coming from SysMLv2 @@ -92,18 +92,18 @@ private void serializeReference(EObject value, JsonGenerator gen, EReference eRe // !VirtualLinkAdapter.hasVirtualLink(elt) allows to not serialize implicit elements var refElementId = elt.getElementId(); if (refElementId != null) { - gen.writeObjectFieldStart(eReference.getName()); - gen.writeStringField(ID, refElementId); + gen.writeObjectPropertyStart(eReference.getName()); + gen.writeStringProperty(ID, refElementId); gen.writeEndObject(); } } } else { - gen.writeStringField(eReference.getName(), null); + gen.writeStringProperty(eReference.getName(), null); } } - private void writeArray(JsonGenerator gen, String arrayName, Object objectValue) throws IOException { - gen.writeArrayFieldStart(arrayName); + private void writeArray(JsonGenerator gen, String arrayName, Object objectValue) throws JacksonException { + gen.writeArrayPropertyStart(arrayName); if (objectValue instanceof List listValue && !listValue.isEmpty()) { for (Object listElementValue : listValue) { // !ElementUtil.isFromStandardLibrary(elt) to avoid serializing all inherited elements from standard @@ -117,7 +117,7 @@ private void writeArray(JsonGenerator gen, String arrayName, Object objectValue) var listElementId = elt.getElementId(); if (listElementId != null) { gen.writeStartObject(); - gen.writeStringField(ID, listElementId); + gen.writeStringProperty(ID, listElementId); gen.writeEndObject(); } } diff --git a/backend/services/syson-sysml-rest-api-services/src/main/java/org/eclipse/syson/sysml/rest/api/SysMLv2SerializerConfig.java b/backend/services/syson-sysml-rest-api-services/src/main/java/org/eclipse/syson/sysml/rest/api/SysMLv2SerializerConfig.java index 8e9e1512f..c2ff5532e 100644 --- a/backend/services/syson-sysml-rest-api-services/src/main/java/org/eclipse/syson/sysml/rest/api/SysMLv2SerializerConfig.java +++ b/backend/services/syson-sysml-rest-api-services/src/main/java/org/eclipse/syson/sysml/rest/api/SysMLv2SerializerConfig.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2024, 2025 Obeo. + * Copyright (c) 2024, 2026 Obeo. * This program and the accompanying materials * are made available under the terms of the Eclipse Public License v2.0 * which accompanies this distribution, and is available at @@ -12,23 +12,20 @@ *******************************************************************************/ package org.eclipse.syson.sysml.rest.api; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.databind.SerializationFeature; -import com.fasterxml.jackson.databind.module.SimpleModule; -import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule; - import org.eclipse.syson.sysml.Element; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.core.MethodParameter; import org.springframework.http.MediaType; import org.springframework.http.converter.HttpMessageConverter; -import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter; import org.springframework.http.server.ServerHttpRequest; import org.springframework.http.server.ServerHttpResponse; import org.springframework.web.bind.annotation.ControllerAdvice; import org.springframework.web.servlet.mvc.method.annotation.ResponseBodyAdvice; import io.swagger.v3.oas.annotations.Hidden; +import tools.jackson.databind.ObjectMapper; +import tools.jackson.databind.cfg.DateTimeFeature; +import tools.jackson.databind.json.JsonMapper; +import tools.jackson.databind.module.SimpleModule; /** * Custom JSON ResponseBodyAdvice for SysMLv2 Elements. @@ -39,18 +36,15 @@ @ControllerAdvice("org.eclipse.sirius.web.application.object.controllers") public class SysMLv2SerializerConfig implements ResponseBodyAdvice { - @Autowired - private MappingJackson2HttpMessageConverter converter; - private final ObjectMapper customObjectMapper; public SysMLv2SerializerConfig() { - this.customObjectMapper = new ObjectMapper(); SimpleModule module = new SimpleModule(); module.addSerializer(Element.class, new SysMLv2JsonSerializer()); - this.customObjectMapper.registerModule(module); - this.customObjectMapper.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS); - this.customObjectMapper.registerModule(new JavaTimeModule()); + this.customObjectMapper = JsonMapper.builder() + .addModule(module) + .disable(DateTimeFeature.WRITE_DATES_AS_TIMESTAMPS) + .build(); } @Override @@ -61,8 +55,10 @@ public boolean supports(MethodParameter returnType, Class> selectedConverterType, ServerHttpRequest request, ServerHttpResponse response) { - this.converter.setObjectMapper(this.customObjectMapper); - return body; + if (body == null || !selectedContentType.isCompatibleWith(MediaType.APPLICATION_JSON)) { + return body; + } + return this.customObjectMapper.valueToTree(body); } public ObjectMapper getCustomObjectMapper() { diff --git a/backend/services/syson-sysml-rest-api-services/src/main/java/org/eclipse/syson/sysml/rest/api/SysONProjectDataVersioningRestService.java b/backend/services/syson-sysml-rest-api-services/src/main/java/org/eclipse/syson/sysml/rest/api/SysONProjectDataVersioningRestService.java index d4bc95bcf..94bccd648 100644 --- a/backend/services/syson-sysml-rest-api-services/src/main/java/org/eclipse/syson/sysml/rest/api/SysONProjectDataVersioningRestService.java +++ b/backend/services/syson-sysml-rest-api-services/src/main/java/org/eclipse/syson/sysml/rest/api/SysONProjectDataVersioningRestService.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2024, 2025 Obeo. + * Copyright (c) 2024, 2026 Obeo. * This program and the accompanying materials * are made available under the terms of the Eclipse Public License v2.0 * which accompanies this distribution, and is available at @@ -12,8 +12,6 @@ *******************************************************************************/ package org.eclipse.syson.sysml.rest.api; -import com.fasterxml.jackson.core.type.TypeReference; - import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -36,6 +34,8 @@ import org.springframework.data.jdbc.core.mapping.AggregateReference; import org.springframework.stereotype.Service; +import tools.jackson.core.type.TypeReference; + /** * SysON implementation of the Sirius Web delegate service used by project-data-versioning-related REST APIs. * diff --git a/backend/services/syson-table-services/pom.xml b/backend/services/syson-table-services/pom.xml index 91c28587d..e8820d446 100644 --- a/backend/services/syson-table-services/pom.xml +++ b/backend/services/syson-table-services/pom.xml @@ -18,7 +18,7 @@ org.springframework.boot spring-boot-starter-parent - 3.5.11 + 4.0.5 org.eclipse.syson @@ -29,7 +29,7 @@ 21 - 2026.3.1 + 2026.3.2 @@ -65,7 +65,7 @@ org.testcontainers - junit-jupiter + testcontainers-junit-jupiter test diff --git a/backend/services/syson-tree-services/pom.xml b/backend/services/syson-tree-services/pom.xml index 472190311..de22344f5 100644 --- a/backend/services/syson-tree-services/pom.xml +++ b/backend/services/syson-tree-services/pom.xml @@ -18,7 +18,7 @@ org.springframework.boot spring-boot-starter-parent - 3.5.11 + 4.0.5 org.eclipse.syson @@ -29,7 +29,7 @@ 21 - 2026.3.1 + 2026.3.2 @@ -75,7 +75,7 @@ org.testcontainers - junit-jupiter + testcontainers-junit-jupiter test diff --git a/backend/tests/syson-tests/pom.xml b/backend/tests/syson-tests/pom.xml index c2a16d96b..f737588ff 100644 --- a/backend/tests/syson-tests/pom.xml +++ b/backend/tests/syson-tests/pom.xml @@ -18,7 +18,7 @@ org.springframework.boot spring-boot-starter-parent - 3.5.11 + 4.0.5 org.eclipse.syson @@ -47,7 +47,7 @@ com.tngtech.archunit archunit-junit5 - 1.3.0 + 1.4.1 diff --git a/backend/views/syson-common-view/pom.xml b/backend/views/syson-common-view/pom.xml index afcd97d4f..86ea2aeab 100644 --- a/backend/views/syson-common-view/pom.xml +++ b/backend/views/syson-common-view/pom.xml @@ -18,7 +18,7 @@ org.springframework.boot spring-boot-starter-parent - 3.5.11 + 4.0.5 org.eclipse.syson @@ -29,7 +29,7 @@ 21 - 2026.3.1 + 2026.3.2 @@ -93,7 +93,7 @@ org.testcontainers - junit-jupiter + testcontainers-junit-jupiter test diff --git a/backend/views/syson-diagram-common-view/pom.xml b/backend/views/syson-diagram-common-view/pom.xml index 193c756c8..2dcd876fe 100644 --- a/backend/views/syson-diagram-common-view/pom.xml +++ b/backend/views/syson-diagram-common-view/pom.xml @@ -18,9 +18,10 @@ org.springframework.boot spring-boot-starter-parent - 3.5.11 + 4.0.5 + org.eclipse.syson syson-diagram-common-view 2026.3.1 @@ -29,7 +30,7 @@ 21 - 2026.3.1 + 2026.3.2 @@ -103,7 +104,7 @@ org.testcontainers - junit-jupiter + testcontainers-junit-jupiter test diff --git a/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/services/datafetchers/MutationShowDiagramsIconsDataFetcher.java b/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/services/datafetchers/MutationShowDiagramsIconsDataFetcher.java index 772d161a8..a94d5b0e6 100644 --- a/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/services/datafetchers/MutationShowDiagramsIconsDataFetcher.java +++ b/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/services/datafetchers/MutationShowDiagramsIconsDataFetcher.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2024 Obeo. + * Copyright (c) 2024, 2026 Obeo. * This program and the accompanying materials * are made available under the terms of the Eclipse Public License v2.0 * which accompanies this distribution, and is available at @@ -12,8 +12,6 @@ *******************************************************************************/ package org.eclipse.syson.diagram.common.view.services.datafetchers; -import com.fasterxml.jackson.databind.ObjectMapper; - import java.util.Objects; import java.util.concurrent.CompletableFuture; @@ -25,6 +23,7 @@ import org.eclipse.syson.diagram.common.view.services.dto.ShowDiagramsIconsInput; import graphql.schema.DataFetchingEnvironment; +import tools.jackson.databind.ObjectMapper; /** * Data fetcher for the field Mutation#showDiagramsIcons. diff --git a/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/services/datafetchers/MutationShowDiagramsInheritedMembersDataFetcher.java b/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/services/datafetchers/MutationShowDiagramsInheritedMembersDataFetcher.java index 5a43c9831..e86b4cae1 100644 --- a/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/services/datafetchers/MutationShowDiagramsInheritedMembersDataFetcher.java +++ b/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/services/datafetchers/MutationShowDiagramsInheritedMembersDataFetcher.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2024 Obeo. + * Copyright (c) 2024, 2026 Obeo. * This program and the accompanying materials * are made available under the terms of the Eclipse Public License v2.0 * which accompanies this distribution, and is available at @@ -12,8 +12,6 @@ *******************************************************************************/ package org.eclipse.syson.diagram.common.view.services.datafetchers; -import com.fasterxml.jackson.databind.ObjectMapper; - import java.util.Objects; import java.util.concurrent.CompletableFuture; @@ -25,6 +23,7 @@ import org.eclipse.syson.diagram.common.view.services.dto.ShowDiagramsInheritedMembersInput; import graphql.schema.DataFetchingEnvironment; +import tools.jackson.databind.ObjectMapper; /** * Data fetcher for the field Mutation#showDiagramsInheritedMembers. diff --git a/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/services/datafetchers/MutationShowDiagramsInheritedMembersFromStandardLibrariesDataFetcher.java b/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/services/datafetchers/MutationShowDiagramsInheritedMembersFromStandardLibrariesDataFetcher.java index 87fb0c670..99ecbcfc2 100644 --- a/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/services/datafetchers/MutationShowDiagramsInheritedMembersFromStandardLibrariesDataFetcher.java +++ b/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/services/datafetchers/MutationShowDiagramsInheritedMembersFromStandardLibrariesDataFetcher.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2024 Obeo. + * Copyright (c) 2024, 2026 Obeo. * This program and the accompanying materials * are made available under the terms of the Eclipse Public License v2.0 * which accompanies this distribution, and is available at @@ -12,8 +12,6 @@ *******************************************************************************/ package org.eclipse.syson.diagram.common.view.services.datafetchers; -import com.fasterxml.jackson.databind.ObjectMapper; - import java.util.Objects; import java.util.concurrent.CompletableFuture; @@ -25,6 +23,7 @@ import org.eclipse.syson.diagram.common.view.services.dto.ShowDiagramsInheritedMembersFromStandardLibrariesInput; import graphql.schema.DataFetchingEnvironment; +import tools.jackson.databind.ObjectMapper; /** * Data fetcher for the field Mutation#showDiagramsInheritedMembersFromStandardLibraries. diff --git a/backend/views/syson-diagram-tests/pom.xml b/backend/views/syson-diagram-tests/pom.xml index 5728e9f10..f0e1822cf 100644 --- a/backend/views/syson-diagram-tests/pom.xml +++ b/backend/views/syson-diagram-tests/pom.xml @@ -18,7 +18,7 @@ org.springframework.boot spring-boot-starter-parent - 3.5.11 + 4.0.5 org.eclipse.syson @@ -29,7 +29,7 @@ 21 - 2026.3.1 + 2026.3.2 @@ -111,7 +111,7 @@ org.testcontainers - junit-jupiter + testcontainers-junit-jupiter test diff --git a/backend/views/syson-standard-diagrams-view/pom.xml b/backend/views/syson-standard-diagrams-view/pom.xml index c8fd0afa8..b04dc3e50 100644 --- a/backend/views/syson-standard-diagrams-view/pom.xml +++ b/backend/views/syson-standard-diagrams-view/pom.xml @@ -18,7 +18,7 @@ org.springframework.boot spring-boot-starter-parent - 3.5.11 + 4.0.5 org.eclipse.syson @@ -29,7 +29,7 @@ 21 - 2026.3.1 + 2026.3.2 @@ -138,7 +138,7 @@ org.testcontainers - junit-jupiter + testcontainers-junit-jupiter test diff --git a/backend/views/syson-table-requirements-view/pom.xml b/backend/views/syson-table-requirements-view/pom.xml index 7f245f4c7..976223eb2 100644 --- a/backend/views/syson-table-requirements-view/pom.xml +++ b/backend/views/syson-table-requirements-view/pom.xml @@ -18,7 +18,7 @@ org.springframework.boot spring-boot-starter-parent - 3.5.11 + 4.0.5 org.eclipse.syson @@ -29,7 +29,7 @@ 21 - 2026.3.1 + 2026.3.2 @@ -98,7 +98,7 @@ org.testcontainers - junit-jupiter + testcontainers-junit-jupiter test diff --git a/backend/views/syson-table-requirements-view/src/main/java/org/eclipse/syson/table/requirements/view/services/RTVQueryServices.java b/backend/views/syson-table-requirements-view/src/main/java/org/eclipse/syson/table/requirements/view/services/RTVQueryServices.java index 53f14a6d8..b60510f30 100644 --- a/backend/views/syson-table-requirements-view/src/main/java/org/eclipse/syson/table/requirements/view/services/RTVQueryServices.java +++ b/backend/views/syson-table-requirements-view/src/main/java/org/eclipse/syson/table/requirements/view/services/RTVQueryServices.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2025 Obeo. + * Copyright (c) 2025, 2026 Obeo. * This program and the accompanying materials * are made available under the terms of the Eclipse Public License v2.0 * which accompanies this distribution, and is available at @@ -12,10 +12,6 @@ *******************************************************************************/ package org.eclipse.syson.table.requirements.view.services; -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.core.type.TypeReference; -import com.fasterxml.jackson.databind.ObjectMapper; - import java.util.Comparator; import java.util.List; import java.util.stream.Collectors; @@ -28,6 +24,10 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import tools.jackson.core.JacksonException; +import tools.jackson.databind.JavaType; +import tools.jackson.databind.ObjectMapper; + /** * Query services for the Requirements Table View. The services declared in this class must not modify the model or the * table view. @@ -58,16 +58,16 @@ public String getDocumentationBody(RequirementUsage requirementUsage) { .orElse(""); } - public List sortAndFilterRequirements(List objects, List columnSort, List columnFilters, String gloablFilterData) { + public List sortAndFilterRequirements(List objects, List columnSort, List columnFilters, String globalFilterData) { var requirementsElements = objects.stream().filter(RequirementUsage.class::isInstance).map(RequirementUsage.class::cast).collect(Collectors.toList()); - this.filterRequirements(columnFilters, gloablFilterData, requirementsElements); + this.filterRequirements(columnFilters, globalFilterData, requirementsElements); this.sortRequirements(columnSort, requirementsElements); return requirementsElements; } - private void filterRequirements(List columnFilters, String gloablFilterData, List requirementsElements) { - if (gloablFilterData != null && !gloablFilterData.isBlank()) { - requirementsElements.removeIf(r -> !this.isValidGlobalFilterCandidate(r, gloablFilterData)); + private void filterRequirements(List columnFilters, String globalFilterData, List requirementsElements) { + if (globalFilterData != null && !globalFilterData.isBlank()) { + requirementsElements.removeIf(r -> !this.isValidGlobalFilterCandidate(r, globalFilterData)); } for (ColumnFilter columnFilter : columnFilters) { if ("DeclaredName".equals(columnFilter.id())) { @@ -107,11 +107,10 @@ private void sortRequirements(List columnSort, List() { - - }); + JavaType javaType = objectMapper.getTypeFactory().constructType(String.class); + String filterValue = this.objectMapper.readValue(columnFilter.value(), javaType); isValid = candidate != null && candidate.contains(filterValue); - } catch (JsonProcessingException exception) { + } catch (JacksonException exception) { this.logger.warn(exception.getMessage(), exception); } return isValid; diff --git a/backend/views/syson-tree-explorer-view/pom.xml b/backend/views/syson-tree-explorer-view/pom.xml index c7aafebe9..9e1cc530e 100644 --- a/backend/views/syson-tree-explorer-view/pom.xml +++ b/backend/views/syson-tree-explorer-view/pom.xml @@ -18,7 +18,7 @@ org.springframework.boot spring-boot-starter-parent - 3.5.11 + 4.0.5 org.eclipse.syson @@ -29,7 +29,7 @@ 21 - 2026.3.1 + 2026.3.2 @@ -88,7 +88,7 @@ org.testcontainers - junit-jupiter + testcontainers-junit-jupiter test diff --git a/frontend/syson-components/package.json b/frontend/syson-components/package.json index bb92932bb..19eda437b 100644 --- a/frontend/syson-components/package.json +++ b/frontend/syson-components/package.json @@ -31,31 +31,32 @@ }, "peerDependencies": { "@apollo/client": "3.10.4", - "@eclipse-sirius/sirius-components-browser": "2026.3.1", - "@eclipse-sirius/sirius-components-charts": "2026.3.1", - "@eclipse-sirius/sirius-components-core": "2026.3.1", - "@eclipse-sirius/sirius-components-datatree": "2026.3.1", - "@eclipse-sirius/sirius-components-deck": "2026.3.1", - "@eclipse-sirius/sirius-components-diagrams": "2026.3.1", - "@eclipse-sirius/sirius-components-formdescriptioneditors": "2026.3.1", - "@eclipse-sirius/sirius-components-forms": "2026.3.1", - "@eclipse-sirius/sirius-components-gantt": "2026.3.1", - "@eclipse-sirius/sirius-components-impactanalysis": "2026.3.1", - "@eclipse-sirius/sirius-components-omnibox": "2026.3.1", - "@eclipse-sirius/sirius-components-palette": "2026.3.1", - "@eclipse-sirius/sirius-components-portals": "2026.3.1", - "@eclipse-sirius/sirius-components-selection": "2026.3.1", - "@eclipse-sirius/sirius-components-tables": "2026.3.1", - "@eclipse-sirius/sirius-components-trees": "2026.3.1", - "@eclipse-sirius/sirius-components-tsconfig": "2026.3.1", - "@eclipse-sirius/sirius-components-validation": "2026.3.1", - "@eclipse-sirius/sirius-components-widget-reference": "2026.3.1", - "@eclipse-sirius/sirius-components-widget-table": "2026.3.1", - "@eclipse-sirius/sirius-web-application": "2026.3.1", + "@eclipse-sirius/sirius-components-browser": "2026.3.2", + "@eclipse-sirius/sirius-components-charts": "2026.3.2", + "@eclipse-sirius/sirius-components-core": "2026.3.2", + "@eclipse-sirius/sirius-components-datatree": "2026.3.2", + "@eclipse-sirius/sirius-components-deck": "2026.3.2", + "@eclipse-sirius/sirius-components-diagrams": "2026.3.2", + "@eclipse-sirius/sirius-components-formdescriptioneditors": "2026.3.2", + "@eclipse-sirius/sirius-components-forms": "2026.3.2", + "@eclipse-sirius/sirius-components-gantt": "2026.3.2", + "@eclipse-sirius/sirius-components-impactanalysis": "2026.3.2", + "@eclipse-sirius/sirius-components-omnibox": "2026.3.2", + "@eclipse-sirius/sirius-components-palette": "2026.3.2", + "@eclipse-sirius/sirius-components-portals": "2026.3.2", + "@eclipse-sirius/sirius-components-selection": "2026.3.2", + "@eclipse-sirius/sirius-components-tables": "2026.3.2", + "@eclipse-sirius/sirius-components-trees": "2026.3.2", + "@eclipse-sirius/sirius-components-tsconfig": "2026.3.2", + "@eclipse-sirius/sirius-components-validation": "2026.3.2", + "@eclipse-sirius/sirius-components-widget-reference": "2026.3.2", + "@eclipse-sirius/sirius-components-widget-table": "2026.3.2", + "@eclipse-sirius/sirius-web-application": "2026.3.2", "@lexical/code": "0.42.0", "@lexical/react": "0.42.0", "@mui/icons-material": "7.0.2", "@mui/material": "7.0.2", + "@mui/x-date-pickers": "8.27.2", "@mui/x-tree-view": "7.29.1", "@ObeoNetwork/gantt-task-react": "0.6.3", "@ObeoNetwork/react-trello": "2.4.11", @@ -85,31 +86,32 @@ }, "devDependencies": { "@apollo/client": "3.10.4", - "@eclipse-sirius/sirius-components-browser": "2026.3.1", - "@eclipse-sirius/sirius-components-charts": "2026.3.1", - "@eclipse-sirius/sirius-components-core": "2026.3.1", - "@eclipse-sirius/sirius-components-datatree": "2026.3.1", - "@eclipse-sirius/sirius-components-deck": "2026.3.1", - "@eclipse-sirius/sirius-components-diagrams": "2026.3.1", - "@eclipse-sirius/sirius-components-formdescriptioneditors": "2026.3.1", - "@eclipse-sirius/sirius-components-forms": "2026.3.1", - "@eclipse-sirius/sirius-components-gantt": "2026.3.1", - "@eclipse-sirius/sirius-components-impactanalysis": "2026.3.1", - "@eclipse-sirius/sirius-components-omnibox": "2026.3.1", - "@eclipse-sirius/sirius-components-palette": "2026.3.1", - "@eclipse-sirius/sirius-components-portals": "2026.3.1", - "@eclipse-sirius/sirius-components-selection": "2026.3.1", - "@eclipse-sirius/sirius-components-tables": "2026.3.1", - "@eclipse-sirius/sirius-components-trees": "2026.3.1", - "@eclipse-sirius/sirius-components-tsconfig": "2026.3.1", - "@eclipse-sirius/sirius-components-validation": "2026.3.1", - "@eclipse-sirius/sirius-components-widget-reference": "2026.3.1", - "@eclipse-sirius/sirius-components-widget-table": "2026.3.1", - "@eclipse-sirius/sirius-web-application": "2026.3.1", + "@eclipse-sirius/sirius-components-browser": "2026.3.2", + "@eclipse-sirius/sirius-components-charts": "2026.3.2", + "@eclipse-sirius/sirius-components-core": "2026.3.2", + "@eclipse-sirius/sirius-components-datatree": "2026.3.2", + "@eclipse-sirius/sirius-components-deck": "2026.3.2", + "@eclipse-sirius/sirius-components-diagrams": "2026.3.2", + "@eclipse-sirius/sirius-components-formdescriptioneditors": "2026.3.2", + "@eclipse-sirius/sirius-components-forms": "2026.3.2", + "@eclipse-sirius/sirius-components-gantt": "2026.3.2", + "@eclipse-sirius/sirius-components-impactanalysis": "2026.3.2", + "@eclipse-sirius/sirius-components-omnibox": "2026.3.2", + "@eclipse-sirius/sirius-components-palette": "2026.3.2", + "@eclipse-sirius/sirius-components-portals": "2026.3.2", + "@eclipse-sirius/sirius-components-selection": "2026.3.2", + "@eclipse-sirius/sirius-components-tables": "2026.3.2", + "@eclipse-sirius/sirius-components-trees": "2026.3.2", + "@eclipse-sirius/sirius-components-tsconfig": "2026.3.2", + "@eclipse-sirius/sirius-components-validation": "2026.3.2", + "@eclipse-sirius/sirius-components-widget-reference": "2026.3.2", + "@eclipse-sirius/sirius-components-widget-table": "2026.3.2", + "@eclipse-sirius/sirius-web-application": "2026.3.2", "@lexical/code": "0.42.0", "@lexical/react": "0.42.0", "@mui/icons-material": "7.0.2", "@mui/material": "7.0.2", + "@mui/x-date-pickers": "8.27.2", "@mui/x-tree-view": "7.29.1", "@ObeoNetwork/gantt-task-react": "0.6.3", "@ObeoNetwork/react-trello": "2.4.11", @@ -117,7 +119,7 @@ "@types/react-dom": "18.3.0", "@types/react-resizable": "3.0.8", "@types/react-router-dom": "5.3.3", - "@vitejs/plugin-react": "5.0.0", + "@vitejs/plugin-react": "6.0.1", "@vitest/coverage-v8": "3.2.4", "@xyflow/react": "12.6.0", "d3": "7.0.0", @@ -144,7 +146,7 @@ "svg-path-parser": "1.1.0", "tss-react": "4.9.16", "typescript": "5.4.5", - "vite": "7.1.1", + "vite": "8.0.1", "vitest": "3.2.4" } } diff --git a/frontend/syson/package.json b/frontend/syson/package.json index fd15768b7..909828093 100644 --- a/frontend/syson/package.json +++ b/frontend/syson/package.json @@ -13,32 +13,33 @@ "private": true, "dependencies": { "@apollo/client": "3.10.4", - "@eclipse-sirius/sirius-components-browser": "2026.3.1", - "@eclipse-sirius/sirius-components-charts": "2026.3.1", - "@eclipse-sirius/sirius-components-core": "2026.3.1", - "@eclipse-sirius/sirius-components-datatree": "2026.3.1", - "@eclipse-sirius/sirius-components-deck": "2026.3.1", - "@eclipse-sirius/sirius-components-diagrams": "2026.3.1", - "@eclipse-sirius/sirius-components-formdescriptioneditors": "2026.3.1", - "@eclipse-sirius/sirius-components-forms": "2026.3.1", - "@eclipse-sirius/sirius-components-gantt": "2026.3.1", - "@eclipse-sirius/sirius-components-impactanalysis": "2026.3.1", - "@eclipse-sirius/sirius-components-omnibox": "2026.3.1", - "@eclipse-sirius/sirius-components-palette": "2026.3.1", - "@eclipse-sirius/sirius-components-portals": "2026.3.1", - "@eclipse-sirius/sirius-components-selection": "2026.3.1", - "@eclipse-sirius/sirius-components-tables": "2026.3.1", - "@eclipse-sirius/sirius-components-trees": "2026.3.1", - "@eclipse-sirius/sirius-components-tsconfig": "2026.3.1", - "@eclipse-sirius/sirius-components-validation": "2026.3.1", - "@eclipse-sirius/sirius-components-widget-reference": "2026.3.1", - "@eclipse-sirius/sirius-components-widget-table": "2026.3.1", - "@eclipse-sirius/sirius-web-application": "2026.3.1", + "@eclipse-sirius/sirius-components-browser": "2026.3.2", + "@eclipse-sirius/sirius-components-charts": "2026.3.2", + "@eclipse-sirius/sirius-components-core": "2026.3.2", + "@eclipse-sirius/sirius-components-datatree": "2026.3.2", + "@eclipse-sirius/sirius-components-deck": "2026.3.2", + "@eclipse-sirius/sirius-components-diagrams": "2026.3.2", + "@eclipse-sirius/sirius-components-formdescriptioneditors": "2026.3.2", + "@eclipse-sirius/sirius-components-forms": "2026.3.2", + "@eclipse-sirius/sirius-components-gantt": "2026.3.2", + "@eclipse-sirius/sirius-components-impactanalysis": "2026.3.2", + "@eclipse-sirius/sirius-components-omnibox": "2026.3.2", + "@eclipse-sirius/sirius-components-palette": "2026.3.2", + "@eclipse-sirius/sirius-components-portals": "2026.3.2", + "@eclipse-sirius/sirius-components-selection": "2026.3.2", + "@eclipse-sirius/sirius-components-tables": "2026.3.2", + "@eclipse-sirius/sirius-components-trees": "2026.3.2", + "@eclipse-sirius/sirius-components-tsconfig": "2026.3.2", + "@eclipse-sirius/sirius-components-validation": "2026.3.2", + "@eclipse-sirius/sirius-components-widget-reference": "2026.3.2", + "@eclipse-sirius/sirius-components-widget-table": "2026.3.2", + "@eclipse-sirius/sirius-web-application": "2026.3.2", "@eclipse-syson/syson-components": "2026.3.1", "@lexical/code": "0.42.0", "@lexical/react": "0.42.0", "@mui/icons-material": "7.0.2", "@mui/material": "7.0.2", + "@mui/x-date-pickers": "8.27.2", "@mui/x-tree-view": "7.29.1", "@ObeoNetwork/gantt-task-react": "0.6.3", "@ObeoNetwork/react-trello": "2.4.11", @@ -81,12 +82,12 @@ "@types/react-dom": "18.3.0", "@types/react-resizable": "3.0.8", "@types/react-router-dom": "5.3.3", - "@vitejs/plugin-react": "5.0.0", + "@vitejs/plugin-react": "6.0.1", "@vitest/coverage-v8": "3.2.4", "jest-junit-reporter": "1.1.0", "prettier": "2.7.1", "typescript": "5.4.5", - "vite": "7.1.1", + "vite": "8.0.1", "vitest": "3.2.4" }, "overrides": { diff --git a/package-lock.json b/package-lock.json index 26aca041d..20d530f2c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -25,32 +25,33 @@ "license": "EPL-2.0", "dependencies": { "@apollo/client": "3.10.4", - "@eclipse-sirius/sirius-components-browser": "2026.3.1", - "@eclipse-sirius/sirius-components-charts": "2026.3.1", - "@eclipse-sirius/sirius-components-core": "2026.3.1", - "@eclipse-sirius/sirius-components-datatree": "2026.3.1", - "@eclipse-sirius/sirius-components-deck": "2026.3.1", - "@eclipse-sirius/sirius-components-diagrams": "2026.3.1", - "@eclipse-sirius/sirius-components-formdescriptioneditors": "2026.3.1", - "@eclipse-sirius/sirius-components-forms": "2026.3.1", - "@eclipse-sirius/sirius-components-gantt": "2026.3.1", - "@eclipse-sirius/sirius-components-impactanalysis": "2026.3.1", - "@eclipse-sirius/sirius-components-omnibox": "2026.3.1", - "@eclipse-sirius/sirius-components-palette": "2026.3.1", - "@eclipse-sirius/sirius-components-portals": "2026.3.1", - "@eclipse-sirius/sirius-components-selection": "2026.3.1", - "@eclipse-sirius/sirius-components-tables": "2026.3.1", - "@eclipse-sirius/sirius-components-trees": "2026.3.1", - "@eclipse-sirius/sirius-components-tsconfig": "2026.3.1", - "@eclipse-sirius/sirius-components-validation": "2026.3.1", - "@eclipse-sirius/sirius-components-widget-reference": "2026.3.1", - "@eclipse-sirius/sirius-components-widget-table": "2026.3.1", - "@eclipse-sirius/sirius-web-application": "2026.3.1", + "@eclipse-sirius/sirius-components-browser": "2026.3.2", + "@eclipse-sirius/sirius-components-charts": "2026.3.2", + "@eclipse-sirius/sirius-components-core": "2026.3.2", + "@eclipse-sirius/sirius-components-datatree": "2026.3.2", + "@eclipse-sirius/sirius-components-deck": "2026.3.2", + "@eclipse-sirius/sirius-components-diagrams": "2026.3.2", + "@eclipse-sirius/sirius-components-formdescriptioneditors": "2026.3.2", + "@eclipse-sirius/sirius-components-forms": "2026.3.2", + "@eclipse-sirius/sirius-components-gantt": "2026.3.2", + "@eclipse-sirius/sirius-components-impactanalysis": "2026.3.2", + "@eclipse-sirius/sirius-components-omnibox": "2026.3.2", + "@eclipse-sirius/sirius-components-palette": "2026.3.2", + "@eclipse-sirius/sirius-components-portals": "2026.3.2", + "@eclipse-sirius/sirius-components-selection": "2026.3.2", + "@eclipse-sirius/sirius-components-tables": "2026.3.2", + "@eclipse-sirius/sirius-components-trees": "2026.3.2", + "@eclipse-sirius/sirius-components-tsconfig": "2026.3.2", + "@eclipse-sirius/sirius-components-validation": "2026.3.2", + "@eclipse-sirius/sirius-components-widget-reference": "2026.3.2", + "@eclipse-sirius/sirius-components-widget-table": "2026.3.2", + "@eclipse-sirius/sirius-web-application": "2026.3.2", "@eclipse-syson/syson-components": "2026.3.1", "@lexical/code": "0.42.0", "@lexical/react": "0.42.0", "@mui/icons-material": "7.0.2", "@mui/material": "7.0.2", + "@mui/x-date-pickers": "8.27.2", "@mui/x-tree-view": "7.29.1", "@ObeoNetwork/gantt-task-react": "0.6.3", "@ObeoNetwork/react-trello": "2.4.11", @@ -93,12 +94,12 @@ "@types/react-dom": "18.3.0", "@types/react-resizable": "3.0.8", "@types/react-router-dom": "5.3.3", - "@vitejs/plugin-react": "5.0.0", + "@vitejs/plugin-react": "6.0.1", "@vitest/coverage-v8": "3.2.4", "jest-junit-reporter": "1.1.0", "prettier": "2.7.1", "typescript": "5.4.5", - "vite": "7.1.1", + "vite": "8.0.1", "vitest": "3.2.4" } }, @@ -108,31 +109,32 @@ "license": "EPL-2.0", "devDependencies": { "@apollo/client": "3.10.4", - "@eclipse-sirius/sirius-components-browser": "2026.3.1", - "@eclipse-sirius/sirius-components-charts": "2026.3.1", - "@eclipse-sirius/sirius-components-core": "2026.3.1", - "@eclipse-sirius/sirius-components-datatree": "2026.3.1", - "@eclipse-sirius/sirius-components-deck": "2026.3.1", - "@eclipse-sirius/sirius-components-diagrams": "2026.3.1", - "@eclipse-sirius/sirius-components-formdescriptioneditors": "2026.3.1", - "@eclipse-sirius/sirius-components-forms": "2026.3.1", - "@eclipse-sirius/sirius-components-gantt": "2026.3.1", - "@eclipse-sirius/sirius-components-impactanalysis": "2026.3.1", - "@eclipse-sirius/sirius-components-omnibox": "2026.3.1", - "@eclipse-sirius/sirius-components-palette": "2026.3.1", - "@eclipse-sirius/sirius-components-portals": "2026.3.1", - "@eclipse-sirius/sirius-components-selection": "2026.3.1", - "@eclipse-sirius/sirius-components-tables": "2026.3.1", - "@eclipse-sirius/sirius-components-trees": "2026.3.1", - "@eclipse-sirius/sirius-components-tsconfig": "2026.3.1", - "@eclipse-sirius/sirius-components-validation": "2026.3.1", - "@eclipse-sirius/sirius-components-widget-reference": "2026.3.1", - "@eclipse-sirius/sirius-components-widget-table": "2026.3.1", - "@eclipse-sirius/sirius-web-application": "2026.3.1", + "@eclipse-sirius/sirius-components-browser": "2026.3.2", + "@eclipse-sirius/sirius-components-charts": "2026.3.2", + "@eclipse-sirius/sirius-components-core": "2026.3.2", + "@eclipse-sirius/sirius-components-datatree": "2026.3.2", + "@eclipse-sirius/sirius-components-deck": "2026.3.2", + "@eclipse-sirius/sirius-components-diagrams": "2026.3.2", + "@eclipse-sirius/sirius-components-formdescriptioneditors": "2026.3.2", + "@eclipse-sirius/sirius-components-forms": "2026.3.2", + "@eclipse-sirius/sirius-components-gantt": "2026.3.2", + "@eclipse-sirius/sirius-components-impactanalysis": "2026.3.2", + "@eclipse-sirius/sirius-components-omnibox": "2026.3.2", + "@eclipse-sirius/sirius-components-palette": "2026.3.2", + "@eclipse-sirius/sirius-components-portals": "2026.3.2", + "@eclipse-sirius/sirius-components-selection": "2026.3.2", + "@eclipse-sirius/sirius-components-tables": "2026.3.2", + "@eclipse-sirius/sirius-components-trees": "2026.3.2", + "@eclipse-sirius/sirius-components-tsconfig": "2026.3.2", + "@eclipse-sirius/sirius-components-validation": "2026.3.2", + "@eclipse-sirius/sirius-components-widget-reference": "2026.3.2", + "@eclipse-sirius/sirius-components-widget-table": "2026.3.2", + "@eclipse-sirius/sirius-web-application": "2026.3.2", "@lexical/code": "0.42.0", "@lexical/react": "0.42.0", "@mui/icons-material": "7.0.2", "@mui/material": "7.0.2", + "@mui/x-date-pickers": "8.27.2", "@mui/x-tree-view": "7.29.1", "@ObeoNetwork/gantt-task-react": "0.6.3", "@ObeoNetwork/react-trello": "2.4.11", @@ -140,7 +142,7 @@ "@types/react-dom": "18.3.0", "@types/react-resizable": "3.0.8", "@types/react-router-dom": "5.3.3", - "@vitejs/plugin-react": "5.0.0", + "@vitejs/plugin-react": "6.0.1", "@vitest/coverage-v8": "3.2.4", "@xyflow/react": "12.6.0", "d3": "7.0.0", @@ -167,36 +169,37 @@ "svg-path-parser": "1.1.0", "tss-react": "4.9.16", "typescript": "5.4.5", - "vite": "7.1.1", + "vite": "8.0.1", "vitest": "3.2.4" }, "peerDependencies": { "@apollo/client": "3.10.4", - "@eclipse-sirius/sirius-components-browser": "2026.3.1", - "@eclipse-sirius/sirius-components-charts": "2026.3.1", - "@eclipse-sirius/sirius-components-core": "2026.3.1", - "@eclipse-sirius/sirius-components-datatree": "2026.3.1", - "@eclipse-sirius/sirius-components-deck": "2026.3.1", - "@eclipse-sirius/sirius-components-diagrams": "2026.3.1", - "@eclipse-sirius/sirius-components-formdescriptioneditors": "2026.3.1", - "@eclipse-sirius/sirius-components-forms": "2026.3.1", - "@eclipse-sirius/sirius-components-gantt": "2026.3.1", - "@eclipse-sirius/sirius-components-impactanalysis": "2026.3.1", - "@eclipse-sirius/sirius-components-omnibox": "2026.3.1", - "@eclipse-sirius/sirius-components-palette": "2026.3.1", - "@eclipse-sirius/sirius-components-portals": "2026.3.1", - "@eclipse-sirius/sirius-components-selection": "2026.3.1", - "@eclipse-sirius/sirius-components-tables": "2026.3.1", - "@eclipse-sirius/sirius-components-trees": "2026.3.1", - "@eclipse-sirius/sirius-components-tsconfig": "2026.3.1", - "@eclipse-sirius/sirius-components-validation": "2026.3.1", - "@eclipse-sirius/sirius-components-widget-reference": "2026.3.1", - "@eclipse-sirius/sirius-components-widget-table": "2026.3.1", - "@eclipse-sirius/sirius-web-application": "2026.3.1", + "@eclipse-sirius/sirius-components-browser": "2026.3.2", + "@eclipse-sirius/sirius-components-charts": "2026.3.2", + "@eclipse-sirius/sirius-components-core": "2026.3.2", + "@eclipse-sirius/sirius-components-datatree": "2026.3.2", + "@eclipse-sirius/sirius-components-deck": "2026.3.2", + "@eclipse-sirius/sirius-components-diagrams": "2026.3.2", + "@eclipse-sirius/sirius-components-formdescriptioneditors": "2026.3.2", + "@eclipse-sirius/sirius-components-forms": "2026.3.2", + "@eclipse-sirius/sirius-components-gantt": "2026.3.2", + "@eclipse-sirius/sirius-components-impactanalysis": "2026.3.2", + "@eclipse-sirius/sirius-components-omnibox": "2026.3.2", + "@eclipse-sirius/sirius-components-palette": "2026.3.2", + "@eclipse-sirius/sirius-components-portals": "2026.3.2", + "@eclipse-sirius/sirius-components-selection": "2026.3.2", + "@eclipse-sirius/sirius-components-tables": "2026.3.2", + "@eclipse-sirius/sirius-components-trees": "2026.3.2", + "@eclipse-sirius/sirius-components-tsconfig": "2026.3.2", + "@eclipse-sirius/sirius-components-validation": "2026.3.2", + "@eclipse-sirius/sirius-components-widget-reference": "2026.3.2", + "@eclipse-sirius/sirius-components-widget-table": "2026.3.2", + "@eclipse-sirius/sirius-web-application": "2026.3.2", "@lexical/code": "0.42.0", "@lexical/react": "0.42.0", "@mui/icons-material": "7.0.2", "@mui/material": "7.0.2", + "@mui/x-date-pickers": "8.27.2", "@mui/x-tree-view": "7.29.1", "@ObeoNetwork/gantt-task-react": "0.6.3", "@ObeoNetwork/react-trello": "2.4.11", @@ -225,6 +228,1310 @@ "tss-react": "4.9.16" } }, + "frontend/syson-components/node_modules/@esbuild/aix-ppc64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.7.tgz", + "integrity": "sha512-EKX3Qwmhz1eMdEJokhALr0YiD0lhQNwDqkPYyPhiSwKrh7/4KRjQc04sZ8db+5DVVnZ1LmbNDI1uAMPEUBnQPg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "frontend/syson-components/node_modules/@esbuild/android-arm": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.7.tgz", + "integrity": "sha512-jbPXvB4Yj2yBV7HUfE2KHe4GJX51QplCN1pGbYjvsyCZbQmies29EoJbkEc+vYuU5o45AfQn37vZlyXy4YJ8RQ==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "frontend/syson-components/node_modules/@esbuild/android-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.7.tgz", + "integrity": "sha512-62dPZHpIXzvChfvfLJow3q5dDtiNMkwiRzPylSCfriLvZeq0a1bWChrGx/BbUbPwOrsWKMn8idSllklzBy+dgQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "frontend/syson-components/node_modules/@esbuild/android-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.7.tgz", + "integrity": "sha512-x5VpMODneVDb70PYV2VQOmIUUiBtY3D3mPBG8NxVk5CogneYhkR7MmM3yR/uMdITLrC1ml/NV1rj4bMJuy9MCg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "frontend/syson-components/node_modules/@esbuild/darwin-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.7.tgz", + "integrity": "sha512-5lckdqeuBPlKUwvoCXIgI2D9/ABmPq3Rdp7IfL70393YgaASt7tbju3Ac+ePVi3KDH6N2RqePfHnXkaDtY9fkw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "frontend/syson-components/node_modules/@esbuild/darwin-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.7.tgz", + "integrity": "sha512-rYnXrKcXuT7Z+WL5K980jVFdvVKhCHhUwid+dDYQpH+qu+TefcomiMAJpIiC2EM3Rjtq0sO3StMV/+3w3MyyqQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "frontend/syson-components/node_modules/@esbuild/freebsd-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.7.tgz", + "integrity": "sha512-B48PqeCsEgOtzME2GbNM2roU29AMTuOIN91dsMO30t+Ydis3z/3Ngoj5hhnsOSSwNzS+6JppqWsuhTp6E82l2w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "frontend/syson-components/node_modules/@esbuild/freebsd-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.7.tgz", + "integrity": "sha512-jOBDK5XEjA4m5IJK3bpAQF9/Lelu/Z9ZcdhTRLf4cajlB+8VEhFFRjWgfy3M1O4rO2GQ/b2dLwCUGpiF/eATNQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "frontend/syson-components/node_modules/@esbuild/linux-arm": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.7.tgz", + "integrity": "sha512-RkT/YXYBTSULo3+af8Ib0ykH8u2MBh57o7q/DAs3lTJlyVQkgQvlrPTnjIzzRPQyavxtPtfg0EopvDyIt0j1rA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "frontend/syson-components/node_modules/@esbuild/linux-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.7.tgz", + "integrity": "sha512-RZPHBoxXuNnPQO9rvjh5jdkRmVizktkT7TCDkDmQ0W2SwHInKCAV95GRuvdSvA7w4VMwfCjUiPwDi0ZO6Nfe9A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "frontend/syson-components/node_modules/@esbuild/linux-ia32": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.7.tgz", + "integrity": "sha512-GA48aKNkyQDbd3KtkplYWT102C5sn/EZTY4XROkxONgruHPU72l+gW+FfF8tf2cFjeHaRbWpOYa/uRBz/Xq1Pg==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "frontend/syson-components/node_modules/@esbuild/linux-loong64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.7.tgz", + "integrity": "sha512-a4POruNM2oWsD4WKvBSEKGIiWQF8fZOAsycHOt6JBpZ+JN2n2JH9WAv56SOyu9X5IqAjqSIPTaJkqN8F7XOQ5Q==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "frontend/syson-components/node_modules/@esbuild/linux-mips64el": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.7.tgz", + "integrity": "sha512-KabT5I6StirGfIz0FMgl1I+R1H73Gp0ofL9A3nG3i/cYFJzKHhouBV5VWK1CSgKvVaG4q1RNpCTR2LuTVB3fIw==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "frontend/syson-components/node_modules/@esbuild/linux-ppc64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.7.tgz", + "integrity": "sha512-gRsL4x6wsGHGRqhtI+ifpN/vpOFTQtnbsupUF5R5YTAg+y/lKelYR1hXbnBdzDjGbMYjVJLJTd2OFmMewAgwlQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "frontend/syson-components/node_modules/@esbuild/linux-riscv64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.7.tgz", + "integrity": "sha512-hL25LbxO1QOngGzu2U5xeXtxXcW+/GvMN3ejANqXkxZ/opySAZMrc+9LY/WyjAan41unrR3YrmtTsUpwT66InQ==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "frontend/syson-components/node_modules/@esbuild/linux-s390x": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.7.tgz", + "integrity": "sha512-2k8go8Ycu1Kb46vEelhu1vqEP+UeRVj2zY1pSuPdgvbd5ykAw82Lrro28vXUrRmzEsUV0NzCf54yARIK8r0fdw==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "frontend/syson-components/node_modules/@esbuild/linux-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.7.tgz", + "integrity": "sha512-hzznmADPt+OmsYzw1EE33ccA+HPdIqiCRq7cQeL1Jlq2gb1+OyWBkMCrYGBJ+sxVzve2ZJEVeePbLM2iEIZSxA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "frontend/syson-components/node_modules/@esbuild/netbsd-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.7.tgz", + "integrity": "sha512-b6pqtrQdigZBwZxAn1UpazEisvwaIDvdbMbmrly7cDTMFnw/+3lVxxCTGOrkPVnsYIosJJXAsILG9XcQS+Yu6w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "frontend/syson-components/node_modules/@esbuild/netbsd-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.7.tgz", + "integrity": "sha512-OfatkLojr6U+WN5EDYuoQhtM+1xco+/6FSzJJnuWiUw5eVcicbyK3dq5EeV/QHT1uy6GoDhGbFpprUiHUYggrw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "frontend/syson-components/node_modules/@esbuild/openbsd-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.7.tgz", + "integrity": "sha512-AFuojMQTxAz75Fo8idVcqoQWEHIXFRbOc1TrVcFSgCZtQfSdc1RXgB3tjOn/krRHENUB4j00bfGjyl2mJrU37A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "frontend/syson-components/node_modules/@esbuild/openbsd-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.7.tgz", + "integrity": "sha512-+A1NJmfM8WNDv5CLVQYJ5PshuRm/4cI6WMZRg1by1GwPIQPCTs1GLEUHwiiQGT5zDdyLiRM/l1G0Pv54gvtKIg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "frontend/syson-components/node_modules/@esbuild/openharmony-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.7.tgz", + "integrity": "sha512-+KrvYb/C8zA9CU/g0sR6w2RBw7IGc5J2BPnc3dYc5VJxHCSF1yNMxTV5LQ7GuKteQXZtspjFbiuW5/dOj7H4Yw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "frontend/syson-components/node_modules/@esbuild/sunos-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.7.tgz", + "integrity": "sha512-ikktIhFBzQNt/QDyOL580ti9+5mL/YZeUPKU2ivGtGjdTYoqz6jObj6nOMfhASpS4GU4Q/Clh1QtxWAvcYKamA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "frontend/syson-components/node_modules/@esbuild/win32-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.7.tgz", + "integrity": "sha512-7yRhbHvPqSpRUV7Q20VuDwbjW5kIMwTHpptuUzV+AA46kiPze5Z7qgt6CLCK3pWFrHeNfDd1VKgyP4O+ng17CA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "frontend/syson-components/node_modules/@esbuild/win32-ia32": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.7.tgz", + "integrity": "sha512-SmwKXe6VHIyZYbBLJrhOoCJRB/Z1tckzmgTLfFYOfpMAx63BJEaL9ExI8x7v0oAO3Zh6D/Oi1gVxEYr5oUCFhw==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "frontend/syson-components/node_modules/@esbuild/win32-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.7.tgz", + "integrity": "sha512-56hiAJPhwQ1R4i+21FVF7V8kSD5zZTdHcVuRFMW0hn753vVfQN8xlx4uOPT4xoGH0Z/oVATuR82AiqSTDIpaHg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "frontend/syson-components/node_modules/@rolldown/pluginutils": { + "version": "1.0.0-rc.7", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-rc.7.tgz", + "integrity": "sha512-qujRfC8sFVInYSPPMLQByRh7zhwkGFS4+tyMQ83srV1qrxL4g8E2tyxVVyxd0+8QeBM1mIk9KbWxkegRr76XzA==", + "dev": true, + "license": "MIT" + }, + "frontend/syson-components/node_modules/@vitejs/plugin-react": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-6.0.1.tgz", + "integrity": "sha512-l9X/E3cDb+xY3SWzlG1MOGt2usfEHGMNIaegaUGFsLkb3RCn/k8/TOXBcab+OndDI4TBtktT8/9BwwW8Vi9KUQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@rolldown/pluginutils": "1.0.0-rc.7" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "peerDependencies": { + "@rolldown/plugin-babel": "^0.1.7 || ^0.2.0", + "babel-plugin-react-compiler": "^1.0.0", + "vite": "^8.0.0" + }, + "peerDependenciesMeta": { + "@rolldown/plugin-babel": { + "optional": true + }, + "babel-plugin-react-compiler": { + "optional": true + } + } + }, + "frontend/syson-components/node_modules/esbuild": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.7.tgz", + "integrity": "sha512-IxpibTjyVnmrIQo5aqNpCgoACA/dTKLTlhMHihVHhdkxKyPO1uBBthumT0rdHmcsk9uMonIWS0m4FljWzILh3w==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "peer": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.27.7", + "@esbuild/android-arm": "0.27.7", + "@esbuild/android-arm64": "0.27.7", + "@esbuild/android-x64": "0.27.7", + "@esbuild/darwin-arm64": "0.27.7", + "@esbuild/darwin-x64": "0.27.7", + "@esbuild/freebsd-arm64": "0.27.7", + "@esbuild/freebsd-x64": "0.27.7", + "@esbuild/linux-arm": "0.27.7", + "@esbuild/linux-arm64": "0.27.7", + "@esbuild/linux-ia32": "0.27.7", + "@esbuild/linux-loong64": "0.27.7", + "@esbuild/linux-mips64el": "0.27.7", + "@esbuild/linux-ppc64": "0.27.7", + "@esbuild/linux-riscv64": "0.27.7", + "@esbuild/linux-s390x": "0.27.7", + "@esbuild/linux-x64": "0.27.7", + "@esbuild/netbsd-arm64": "0.27.7", + "@esbuild/netbsd-x64": "0.27.7", + "@esbuild/openbsd-arm64": "0.27.7", + "@esbuild/openbsd-x64": "0.27.7", + "@esbuild/openharmony-arm64": "0.27.7", + "@esbuild/sunos-x64": "0.27.7", + "@esbuild/win32-arm64": "0.27.7", + "@esbuild/win32-ia32": "0.27.7", + "@esbuild/win32-x64": "0.27.7" + } + }, + "frontend/syson-components/node_modules/postcss": { + "version": "8.5.9", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.9.tgz", + "integrity": "sha512-7a70Nsot+EMX9fFU3064K/kdHWZqGVY+BADLyXc8Dfv+mTLLVl6JzJpPaCZ2kQL9gIJvKXSLMHhqdRRjwQeFtw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.11", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "frontend/syson-components/node_modules/vite": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/vite/-/vite-8.0.1.tgz", + "integrity": "sha512-wt+Z2qIhfFt85uiyRt5LPU4oVEJBXj8hZNWKeqFG4gRG/0RaRGJ7njQCwzFVjO+v4+Ipmf5CY7VdmZRAYYBPHw==", + "dev": true, + "license": "MIT", + "dependencies": { + "lightningcss": "^1.32.0", + "picomatch": "^4.0.3", + "postcss": "^8.5.8", + "rolldown": "1.0.0-rc.10", + "tinyglobby": "^0.2.15" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^20.19.0 || >=22.12.0", + "@vitejs/devtools": "^0.1.0", + "esbuild": "^0.27.0", + "jiti": ">=1.21.0", + "less": "^4.0.0", + "sass": "^1.70.0", + "sass-embedded": "^1.70.0", + "stylus": ">=0.54.8", + "sugarss": "^5.0.0", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "@vitejs/devtools": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "jiti": { + "optional": true + }, + "less": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } + } + }, + "frontend/syson/node_modules/@esbuild/aix-ppc64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.7.tgz", + "integrity": "sha512-EKX3Qwmhz1eMdEJokhALr0YiD0lhQNwDqkPYyPhiSwKrh7/4KRjQc04sZ8db+5DVVnZ1LmbNDI1uAMPEUBnQPg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "frontend/syson/node_modules/@esbuild/android-arm": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.7.tgz", + "integrity": "sha512-jbPXvB4Yj2yBV7HUfE2KHe4GJX51QplCN1pGbYjvsyCZbQmies29EoJbkEc+vYuU5o45AfQn37vZlyXy4YJ8RQ==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "frontend/syson/node_modules/@esbuild/android-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.7.tgz", + "integrity": "sha512-62dPZHpIXzvChfvfLJow3q5dDtiNMkwiRzPylSCfriLvZeq0a1bWChrGx/BbUbPwOrsWKMn8idSllklzBy+dgQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "frontend/syson/node_modules/@esbuild/android-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.7.tgz", + "integrity": "sha512-x5VpMODneVDb70PYV2VQOmIUUiBtY3D3mPBG8NxVk5CogneYhkR7MmM3yR/uMdITLrC1ml/NV1rj4bMJuy9MCg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "frontend/syson/node_modules/@esbuild/darwin-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.7.tgz", + "integrity": "sha512-5lckdqeuBPlKUwvoCXIgI2D9/ABmPq3Rdp7IfL70393YgaASt7tbju3Ac+ePVi3KDH6N2RqePfHnXkaDtY9fkw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "frontend/syson/node_modules/@esbuild/darwin-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.7.tgz", + "integrity": "sha512-rYnXrKcXuT7Z+WL5K980jVFdvVKhCHhUwid+dDYQpH+qu+TefcomiMAJpIiC2EM3Rjtq0sO3StMV/+3w3MyyqQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "frontend/syson/node_modules/@esbuild/freebsd-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.7.tgz", + "integrity": "sha512-B48PqeCsEgOtzME2GbNM2roU29AMTuOIN91dsMO30t+Ydis3z/3Ngoj5hhnsOSSwNzS+6JppqWsuhTp6E82l2w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "frontend/syson/node_modules/@esbuild/freebsd-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.7.tgz", + "integrity": "sha512-jOBDK5XEjA4m5IJK3bpAQF9/Lelu/Z9ZcdhTRLf4cajlB+8VEhFFRjWgfy3M1O4rO2GQ/b2dLwCUGpiF/eATNQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "frontend/syson/node_modules/@esbuild/linux-arm": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.7.tgz", + "integrity": "sha512-RkT/YXYBTSULo3+af8Ib0ykH8u2MBh57o7q/DAs3lTJlyVQkgQvlrPTnjIzzRPQyavxtPtfg0EopvDyIt0j1rA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "frontend/syson/node_modules/@esbuild/linux-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.7.tgz", + "integrity": "sha512-RZPHBoxXuNnPQO9rvjh5jdkRmVizktkT7TCDkDmQ0W2SwHInKCAV95GRuvdSvA7w4VMwfCjUiPwDi0ZO6Nfe9A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "frontend/syson/node_modules/@esbuild/linux-ia32": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.7.tgz", + "integrity": "sha512-GA48aKNkyQDbd3KtkplYWT102C5sn/EZTY4XROkxONgruHPU72l+gW+FfF8tf2cFjeHaRbWpOYa/uRBz/Xq1Pg==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "frontend/syson/node_modules/@esbuild/linux-loong64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.7.tgz", + "integrity": "sha512-a4POruNM2oWsD4WKvBSEKGIiWQF8fZOAsycHOt6JBpZ+JN2n2JH9WAv56SOyu9X5IqAjqSIPTaJkqN8F7XOQ5Q==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "frontend/syson/node_modules/@esbuild/linux-mips64el": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.7.tgz", + "integrity": "sha512-KabT5I6StirGfIz0FMgl1I+R1H73Gp0ofL9A3nG3i/cYFJzKHhouBV5VWK1CSgKvVaG4q1RNpCTR2LuTVB3fIw==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "frontend/syson/node_modules/@esbuild/linux-ppc64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.7.tgz", + "integrity": "sha512-gRsL4x6wsGHGRqhtI+ifpN/vpOFTQtnbsupUF5R5YTAg+y/lKelYR1hXbnBdzDjGbMYjVJLJTd2OFmMewAgwlQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "frontend/syson/node_modules/@esbuild/linux-riscv64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.7.tgz", + "integrity": "sha512-hL25LbxO1QOngGzu2U5xeXtxXcW+/GvMN3ejANqXkxZ/opySAZMrc+9LY/WyjAan41unrR3YrmtTsUpwT66InQ==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "frontend/syson/node_modules/@esbuild/linux-s390x": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.7.tgz", + "integrity": "sha512-2k8go8Ycu1Kb46vEelhu1vqEP+UeRVj2zY1pSuPdgvbd5ykAw82Lrro28vXUrRmzEsUV0NzCf54yARIK8r0fdw==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "frontend/syson/node_modules/@esbuild/linux-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.7.tgz", + "integrity": "sha512-hzznmADPt+OmsYzw1EE33ccA+HPdIqiCRq7cQeL1Jlq2gb1+OyWBkMCrYGBJ+sxVzve2ZJEVeePbLM2iEIZSxA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "frontend/syson/node_modules/@esbuild/netbsd-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.7.tgz", + "integrity": "sha512-b6pqtrQdigZBwZxAn1UpazEisvwaIDvdbMbmrly7cDTMFnw/+3lVxxCTGOrkPVnsYIosJJXAsILG9XcQS+Yu6w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "frontend/syson/node_modules/@esbuild/netbsd-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.7.tgz", + "integrity": "sha512-OfatkLojr6U+WN5EDYuoQhtM+1xco+/6FSzJJnuWiUw5eVcicbyK3dq5EeV/QHT1uy6GoDhGbFpprUiHUYggrw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "frontend/syson/node_modules/@esbuild/openbsd-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.7.tgz", + "integrity": "sha512-AFuojMQTxAz75Fo8idVcqoQWEHIXFRbOc1TrVcFSgCZtQfSdc1RXgB3tjOn/krRHENUB4j00bfGjyl2mJrU37A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "frontend/syson/node_modules/@esbuild/openbsd-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.7.tgz", + "integrity": "sha512-+A1NJmfM8WNDv5CLVQYJ5PshuRm/4cI6WMZRg1by1GwPIQPCTs1GLEUHwiiQGT5zDdyLiRM/l1G0Pv54gvtKIg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "frontend/syson/node_modules/@esbuild/openharmony-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.7.tgz", + "integrity": "sha512-+KrvYb/C8zA9CU/g0sR6w2RBw7IGc5J2BPnc3dYc5VJxHCSF1yNMxTV5LQ7GuKteQXZtspjFbiuW5/dOj7H4Yw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "frontend/syson/node_modules/@esbuild/sunos-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.7.tgz", + "integrity": "sha512-ikktIhFBzQNt/QDyOL580ti9+5mL/YZeUPKU2ivGtGjdTYoqz6jObj6nOMfhASpS4GU4Q/Clh1QtxWAvcYKamA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "frontend/syson/node_modules/@esbuild/win32-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.7.tgz", + "integrity": "sha512-7yRhbHvPqSpRUV7Q20VuDwbjW5kIMwTHpptuUzV+AA46kiPze5Z7qgt6CLCK3pWFrHeNfDd1VKgyP4O+ng17CA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "frontend/syson/node_modules/@esbuild/win32-ia32": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.7.tgz", + "integrity": "sha512-SmwKXe6VHIyZYbBLJrhOoCJRB/Z1tckzmgTLfFYOfpMAx63BJEaL9ExI8x7v0oAO3Zh6D/Oi1gVxEYr5oUCFhw==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "frontend/syson/node_modules/@esbuild/win32-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.7.tgz", + "integrity": "sha512-56hiAJPhwQ1R4i+21FVF7V8kSD5zZTdHcVuRFMW0hn753vVfQN8xlx4uOPT4xoGH0Z/oVATuR82AiqSTDIpaHg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "frontend/syson/node_modules/@rolldown/pluginutils": { + "version": "1.0.0-rc.7", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-rc.7.tgz", + "integrity": "sha512-qujRfC8sFVInYSPPMLQByRh7zhwkGFS4+tyMQ83srV1qrxL4g8E2tyxVVyxd0+8QeBM1mIk9KbWxkegRr76XzA==", + "dev": true, + "license": "MIT" + }, + "frontend/syson/node_modules/@vitejs/plugin-react": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-6.0.1.tgz", + "integrity": "sha512-l9X/E3cDb+xY3SWzlG1MOGt2usfEHGMNIaegaUGFsLkb3RCn/k8/TOXBcab+OndDI4TBtktT8/9BwwW8Vi9KUQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@rolldown/pluginutils": "1.0.0-rc.7" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "peerDependencies": { + "@rolldown/plugin-babel": "^0.1.7 || ^0.2.0", + "babel-plugin-react-compiler": "^1.0.0", + "vite": "^8.0.0" + }, + "peerDependenciesMeta": { + "@rolldown/plugin-babel": { + "optional": true + }, + "babel-plugin-react-compiler": { + "optional": true + } + } + }, + "frontend/syson/node_modules/esbuild": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.7.tgz", + "integrity": "sha512-IxpibTjyVnmrIQo5aqNpCgoACA/dTKLTlhMHihVHhdkxKyPO1uBBthumT0rdHmcsk9uMonIWS0m4FljWzILh3w==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "peer": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.27.7", + "@esbuild/android-arm": "0.27.7", + "@esbuild/android-arm64": "0.27.7", + "@esbuild/android-x64": "0.27.7", + "@esbuild/darwin-arm64": "0.27.7", + "@esbuild/darwin-x64": "0.27.7", + "@esbuild/freebsd-arm64": "0.27.7", + "@esbuild/freebsd-x64": "0.27.7", + "@esbuild/linux-arm": "0.27.7", + "@esbuild/linux-arm64": "0.27.7", + "@esbuild/linux-ia32": "0.27.7", + "@esbuild/linux-loong64": "0.27.7", + "@esbuild/linux-mips64el": "0.27.7", + "@esbuild/linux-ppc64": "0.27.7", + "@esbuild/linux-riscv64": "0.27.7", + "@esbuild/linux-s390x": "0.27.7", + "@esbuild/linux-x64": "0.27.7", + "@esbuild/netbsd-arm64": "0.27.7", + "@esbuild/netbsd-x64": "0.27.7", + "@esbuild/openbsd-arm64": "0.27.7", + "@esbuild/openbsd-x64": "0.27.7", + "@esbuild/openharmony-arm64": "0.27.7", + "@esbuild/sunos-x64": "0.27.7", + "@esbuild/win32-arm64": "0.27.7", + "@esbuild/win32-ia32": "0.27.7", + "@esbuild/win32-x64": "0.27.7" + } + }, + "frontend/syson/node_modules/postcss": { + "version": "8.5.9", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.9.tgz", + "integrity": "sha512-7a70Nsot+EMX9fFU3064K/kdHWZqGVY+BADLyXc8Dfv+mTLLVl6JzJpPaCZ2kQL9gIJvKXSLMHhqdRRjwQeFtw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.11", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "frontend/syson/node_modules/vite": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/vite/-/vite-8.0.1.tgz", + "integrity": "sha512-wt+Z2qIhfFt85uiyRt5LPU4oVEJBXj8hZNWKeqFG4gRG/0RaRGJ7njQCwzFVjO+v4+Ipmf5CY7VdmZRAYYBPHw==", + "dev": true, + "license": "MIT", + "dependencies": { + "lightningcss": "^1.32.0", + "picomatch": "^4.0.3", + "postcss": "^8.5.8", + "rolldown": "1.0.0-rc.10", + "tinyglobby": "^0.2.15" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^20.19.0 || >=22.12.0", + "@vitejs/devtools": "^0.1.0", + "esbuild": "^0.27.0", + "jiti": ">=1.21.0", + "less": "^4.0.0", + "sass": "^1.70.0", + "sass-embedded": "^1.70.0", + "stylus": ">=0.54.8", + "sugarss": "^5.0.0", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "@vitejs/devtools": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "jiti": { + "optional": true + }, + "less": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } + } + }, "node_modules/@ampproject/remapping": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", @@ -296,59 +1603,12 @@ "node": ">=6.9.0" } }, - "node_modules/@babel/compat-data": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.29.0.tgz", - "integrity": "sha512-T1NCJqT/j9+cn8fvkt7jtwbLBfLC/1y1c7NtCeXFRgzGTsafi68MRv8yzkYSapBnFA6L3U2VSc02ciDzoAJhJg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.0.tgz", - "integrity": "sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.29.0", - "@babel/generator": "^7.29.0", - "@babel/helper-compilation-targets": "^7.28.6", - "@babel/helper-module-transforms": "^7.28.6", - "@babel/helpers": "^7.28.6", - "@babel/parser": "^7.29.0", - "@babel/template": "^7.28.6", - "@babel/traverse": "^7.29.0", - "@babel/types": "^7.29.0", - "@jridgewell/remapping": "^2.3.5", - "convert-source-map": "^2.0.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.3", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@babel/core/node_modules/convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true, - "license": "MIT" - }, "node_modules/@babel/generator": { "version": "7.29.1", "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.1.tgz", "integrity": "sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==", "license": "MIT", + "peer": true, "dependencies": { "@babel/parser": "^7.29.0", "@babel/types": "^7.29.0", @@ -360,28 +1620,12 @@ "node": ">=6.9.0" } }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.28.6.tgz", - "integrity": "sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/compat-data": "^7.28.6", - "@babel/helper-validator-option": "^7.27.1", - "browserslist": "^4.24.0", - "lru-cache": "^5.1.1", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/helper-globals": { "version": "7.28.0", "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==", "license": "MIT", + "peer": true, "engines": { "node": ">=6.9.0" } @@ -391,6 +1635,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.28.6.tgz", "integrity": "sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==", "license": "MIT", + "peer": true, "dependencies": { "@babel/traverse": "^7.28.6", "@babel/types": "^7.28.6" @@ -399,34 +1644,6 @@ "node": ">=6.9.0" } }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.6.tgz", - "integrity": "sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-module-imports": "^7.28.6", - "@babel/helper-validator-identifier": "^7.28.5", - "@babel/traverse": "^7.28.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.28.6.tgz", - "integrity": "sha512-S9gzZ/bz83GRysI7gAD4wPT/AI3uCnY+9xn+Mx/KPs2JwHJIz1W8PZkg2cqyt3RNOBM8ejcXhV6y8Og7ly/Dug==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/helper-string-parser": { "version": "7.27.1", "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", @@ -445,30 +1662,6 @@ "node": ">=6.9.0" } }, - "node_modules/@babel/helper-validator-option": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", - "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helpers": { - "version": "7.29.2", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.29.2.tgz", - "integrity": "sha512-HoGuUs4sCZNezVEKdVcwqmZN8GoHirLUcLaYVNBK2J0DadGtdcqgr3BCbvH8+XUo4NGjNl3VOtSjEKNzqfFgKw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/template": "^7.28.6", - "@babel/types": "^7.29.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/parser": { "version": "7.29.2", "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.2.tgz", @@ -480,40 +1673,8 @@ "bin": { "parser": "bin/babel-parser.js" }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/plugin-transform-react-jsx-self": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.27.1.tgz", - "integrity": "sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-jsx-source": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.27.1.tgz", - "integrity": "sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": ">=6.0.0" } }, "node_modules/@babel/runtime": { @@ -543,6 +1704,7 @@ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.28.6.tgz", "integrity": "sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==", "license": "MIT", + "peer": true, "dependencies": { "@babel/code-frame": "^7.28.6", "@babel/parser": "^7.28.6", @@ -557,6 +1719,7 @@ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.0.tgz", "integrity": "sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==", "license": "MIT", + "peer": true, "dependencies": { "@babel/code-frame": "^7.29.0", "@babel/generator": "^7.29.0", @@ -594,9 +1757,9 @@ } }, "node_modules/@eclipse-sirius/sirius-components-browser": { - "version": "2026.3.1", - "resolved": "https://npm.pkg.github.com/download/@eclipse-sirius/sirius-components-browser/2026.3.1/f3b80cc26a0ed1ae85018a6ceb3b70ed5c75f941", - "integrity": "sha512-ZzfP1qBCFtH5JJHpQT9es6Ady/0vb2wavACXd+yY+FGcbvHGFyDGzJIKEANpCcgavessY6TuO89Za8ME9l9eUg==", + "version": "2026.3.2", + "resolved": "https://npm.pkg.github.com/download/@eclipse-sirius/sirius-components-browser/2026.3.2/ee06cb85298b22d774bf0c6bc4176954353e2030", + "integrity": "sha512-A/oMnHfb+yppCUnv/1he1CmbW7oPPUsAmDFB950PYbw6fT1A0aQJ/4PVDIxVlM/Hn4Z9R+SgnZJBAOo26+t19g==", "license": "EPL-2.0", "peerDependencies": { "@apollo/client": "3.10.4", @@ -619,9 +1782,9 @@ } }, "node_modules/@eclipse-sirius/sirius-components-charts": { - "version": "2026.3.1", - "resolved": "https://npm.pkg.github.com/download/@eclipse-sirius/sirius-components-charts/2026.3.1/459f8ae9e433f6ed3f0f8d65f57259ec23fc288f", - "integrity": "sha512-dgKQyCzXVuqMxJBrqv4AoZMxPx7uXn+lveUl2xRounZDjAfLcG3Oeff7h7L8Tc8/IaK8O7Y4YMeO4SzQWXJ8Rw==", + "version": "2026.3.2", + "resolved": "https://npm.pkg.github.com/download/@eclipse-sirius/sirius-components-charts/2026.3.2/d1505d635dbcbd01bebb24e60af21235ea176b28", + "integrity": "sha512-d906EiZ21VKl7l7tV/CR/+HetJWmJVjiRxREh6nCu3dgdEsg55xxti/TGU0JkL3zh686n/k5rVwrI08wzqfXXQ==", "license": "EPL-2.0", "peerDependencies": { "d3": "7.0.0", @@ -629,9 +1792,9 @@ } }, "node_modules/@eclipse-sirius/sirius-components-core": { - "version": "2026.3.1", - "resolved": "https://npm.pkg.github.com/download/@eclipse-sirius/sirius-components-core/2026.3.1/e8601603d2ee510ea8212c583d6dac81d04ec0c8", - "integrity": "sha512-DixeWeDwfsOD+dr0wc9VGrmA9TxJa6rZEmZFZa1Ldym6fQq5gM8esi9VQ1wvguFJgs0SS2JWEHKwKL8G8qMABA==", + "version": "2026.3.2", + "resolved": "https://npm.pkg.github.com/download/@eclipse-sirius/sirius-components-core/2026.3.2/318caa11f8d7bb91f733d98f8079b355b0a72fcb", + "integrity": "sha512-1IcuaCCAOyFg9UkZ5NPaNZ0v6D5099LnZUIRydaqxQUxHeZPdFQS4RtgCYP9RHUov7huRf16NTeo4ae8W+QZeA==", "license": "EPL-2.0", "peerDependencies": { "@apollo/client": "3.10.4", @@ -646,9 +1809,9 @@ } }, "node_modules/@eclipse-sirius/sirius-components-datatree": { - "version": "2026.3.1", - "resolved": "https://npm.pkg.github.com/download/@eclipse-sirius/sirius-components-datatree/2026.3.1/2d817e6ddce79088646e2b2d9ed1bc32ae9d9ee0", - "integrity": "sha512-0cn2jw3v/hkGekSy8pRjO+B/r8Bc3EBwXKNBor/27ANdqSIAW2EMEa/qNUblmjUd1bNBfoqPI27odiiTgsB+BA==", + "version": "2026.3.2", + "resolved": "https://npm.pkg.github.com/download/@eclipse-sirius/sirius-components-datatree/2026.3.2/c7366634675b1a77dbe13b3c1e9fd050a553708c", + "integrity": "sha512-jdD7tTzQt7ZqHM7SDuGv8t+aqO8TdPfYwq3G03lzjJ3yJuZfbzxs9WBFWPyjz0uSklSvimLSHhx2ASJCYqOouA==", "license": "EPL-2.0", "peerDependencies": { "@apollo/client": "3.10.4", @@ -664,9 +1827,9 @@ } }, "node_modules/@eclipse-sirius/sirius-components-deck": { - "version": "2026.3.1", - "resolved": "https://npm.pkg.github.com/download/@eclipse-sirius/sirius-components-deck/2026.3.1/78903a976a3bbf6e2f937d81e27df7be93aea8ea", - "integrity": "sha512-hesq86H+guSEBRjWHrh/IMaZFmlr8LCGXT4DVo88Vz1pFes4JvGg/AW6lpqTmrWZkxqMGGc6a13OYsgRG8M9fQ==", + "version": "2026.3.2", + "resolved": "https://npm.pkg.github.com/download/@eclipse-sirius/sirius-components-deck/2026.3.2/8f05422fb7137f6d12b721a78a5eeda9f80d2603", + "integrity": "sha512-QZVROnpSsX3ZZ1F7NFPBhSvbK4ItDxd154TuyV/voA2z0ePPZDuonqeCSKwVddQxb7YznLkJIjF289c00LAJUQ==", "license": "EPL-2.0", "peerDependencies": { "@apollo/client": "3.10.4", @@ -683,9 +1846,9 @@ } }, "node_modules/@eclipse-sirius/sirius-components-diagrams": { - "version": "2026.3.1", - "resolved": "https://npm.pkg.github.com/download/@eclipse-sirius/sirius-components-diagrams/2026.3.1/9776b036cb4d5b723b83b0e77b7408b6f5d2b006", - "integrity": "sha512-tWVMVje+TN/B/y7xMA0OLPogjtUWALGzUqYoHa05SIXyB1Z+j8hyJKe0ByKn/QNsfm+eZazEV7O8cWwWsQoLZQ==", + "version": "2026.3.2", + "resolved": "https://npm.pkg.github.com/download/@eclipse-sirius/sirius-components-diagrams/2026.3.2/495ea5a571910ccbe3a4fa2f6c65aec156153db1", + "integrity": "sha512-eiyWkp5bVRCtvSB5xNCwsZDSitBj+OCiiwJo7JoxZU2BwuQ+xIClLMDfz/lyp0Ogln9NMubo1gS+Rf1zPRUTIA==", "license": "EPL-2.0", "peerDependencies": { "@apollo/client": "3.10.4", @@ -710,9 +1873,9 @@ } }, "node_modules/@eclipse-sirius/sirius-components-formdescriptioneditors": { - "version": "2026.3.1", - "resolved": "https://npm.pkg.github.com/download/@eclipse-sirius/sirius-components-formdescriptioneditors/2026.3.1/dde47390e20f2655b818393b5fe23f5943ebf759", - "integrity": "sha512-AFlfCz/NgNSd+FzAykjjYtH3GpJGWMxUfVTpTZeYX9pMFRfMAvCYEbhj9QU3ZQDanVmDMW/lVuU4/P4Y3IRLcA==", + "version": "2026.3.2", + "resolved": "https://npm.pkg.github.com/download/@eclipse-sirius/sirius-components-formdescriptioneditors/2026.3.2/baafdaac298276df4a875ad56b77f00e04c58222", + "integrity": "sha512-yLQB438uDI+QbDcZp80pDDIF6U2y6HS5clhFekE8a42D/bfCoBuvX0ezUeox3W4sUPG8/6pde8FgOTZSiqhoRw==", "license": "EPL-2.0", "peerDependencies": { "@apollo/client": "3.10.4", @@ -737,9 +1900,9 @@ } }, "node_modules/@eclipse-sirius/sirius-components-forms": { - "version": "2026.3.1", - "resolved": "https://npm.pkg.github.com/download/@eclipse-sirius/sirius-components-forms/2026.3.1/d41a54cb9a15ad57994788d9c2b732273fed4ad7", - "integrity": "sha512-9uS8gC9/92W2+dsqDckLe4BAjQZEUSQkEltcEPB5+Hc9mHwG7cMFucIXdYuSUjM4EkR0/yfiaNEEgC5ic4upYw==", + "version": "2026.3.2", + "resolved": "https://npm.pkg.github.com/download/@eclipse-sirius/sirius-components-forms/2026.3.2/d3e4e7dc8b0ff6e88b18802738b8700cabcf46ff", + "integrity": "sha512-gpPDTU408ww1KjW2K/rFBnBVpfK454UPCJl2G1EWMLJYb8HwD+oYZJdtmbgN7NJinPZzVKeqcgJSLW0C6WdWsQ==", "license": "EPL-2.0", "peerDependencies": { "@apollo/client": "3.10.4", @@ -763,9 +1926,9 @@ } }, "node_modules/@eclipse-sirius/sirius-components-gantt": { - "version": "2026.3.1", - "resolved": "https://npm.pkg.github.com/download/@eclipse-sirius/sirius-components-gantt/2026.3.1/283725850b87bcc9cac86b72b55c2e5abcf0d11f", - "integrity": "sha512-zbfMcATzCXJZe50MeQip0qx2dXbc1oscJs+cwj11FC1zYDQbq9tgT9TnCV7icef+2aMkZ0z3MNss+E5J/232VQ==", + "version": "2026.3.2", + "resolved": "https://npm.pkg.github.com/download/@eclipse-sirius/sirius-components-gantt/2026.3.2/26cd1169fb7ca00f564b24d01b3ea3a821cb96f8", + "integrity": "sha512-AHuh8gAXUvv2TJv7FiL1zDQ+Zhs5aQdUUyRmx/iJyHOapQgncWVqr3vRTCgNTCxXtVetUBolBFmwjrVoQvAbrQ==", "license": "EPL-2.0", "peerDependencies": { "@apollo/client": "3.10.4", @@ -782,9 +1945,9 @@ } }, "node_modules/@eclipse-sirius/sirius-components-impactanalysis": { - "version": "2026.3.1", - "resolved": "https://npm.pkg.github.com/download/@eclipse-sirius/sirius-components-impactanalysis/2026.3.1/36c2e1fcb3f01e5c415ceead3b7b7caa33e80ac8", - "integrity": "sha512-uj+RRzkNLFTWDJ5ib4Ofj6tsSCG3n/oQW0nSqSlv8LysW9pBfsL6HPYU1dWbudzbrl1QznHxlsmry1KbW3XzWA==", + "version": "2026.3.2", + "resolved": "https://npm.pkg.github.com/download/@eclipse-sirius/sirius-components-impactanalysis/2026.3.2/3baa682650de05f710aba86cd36375bce961c2be", + "integrity": "sha512-PqbxXxjQiizYv/5qWa1xjSYIObgRA6AE/oLi7ZFhsDDnFRQNxi/uoHW9sANyCqsL5keyyvdvbONWBRaGtHcPxA==", "license": "EPL-2.0", "peerDependencies": { "@apollo/client": "3.10.4", @@ -801,9 +1964,9 @@ } }, "node_modules/@eclipse-sirius/sirius-components-omnibox": { - "version": "2026.3.1", - "resolved": "https://npm.pkg.github.com/download/@eclipse-sirius/sirius-components-omnibox/2026.3.1/020748fe4f1ee48d97a94d996844c331ee43ee4d", - "integrity": "sha512-Odv0JPmcm84sfvRDtBfAUvAyPMCJtI+I/zJaLmO/6nPt0sjYlGF1ff2KtWp9sNerl1GimIvD/E2q25DPh712Ig==", + "version": "2026.3.2", + "resolved": "https://npm.pkg.github.com/download/@eclipse-sirius/sirius-components-omnibox/2026.3.2/e1b698f957322d20022065ddb7193240f04a1b07", + "integrity": "sha512-zJ9WraknT2Jn7hLihVkjTxfLLiqpFpCurhGv4zO4QsEDll96Gdb5/9aPE2J85plgl9vxHIZ5Yd3uwmiDG4sFJg==", "license": "EPL-2.0", "peerDependencies": { "@apollo/client": "3.10.4", @@ -819,9 +1982,9 @@ } }, "node_modules/@eclipse-sirius/sirius-components-palette": { - "version": "2026.3.1", - "resolved": "https://npm.pkg.github.com/download/@eclipse-sirius/sirius-components-palette/2026.3.1/099f5efe4337317138c0388e32be888346e08dd3", - "integrity": "sha512-4IA2iafd7TrchKR2CQGEqYvw9RLu7Tnnc621g7tlVIepeM6HsXeGr3Lt5p1nq3GrPA2sb0d6KZvg7NT/+zv67w==", + "version": "2026.3.2", + "resolved": "https://npm.pkg.github.com/download/@eclipse-sirius/sirius-components-palette/2026.3.2/42cb5cca8ffd47f82d731fc70ca6994e8b41d82b", + "integrity": "sha512-wIXGVQAfVo+/RVGi2Sj6hv+s6ySsufOvLcwlgNig4zQ0Z1bcsVM9nhsFuwX7/sMRmSV4yG5OA4elF+eEHpGVNA==", "license": "EPL-2.0", "peerDependencies": { "@apollo/client": "3.10.4", @@ -837,9 +2000,9 @@ } }, "node_modules/@eclipse-sirius/sirius-components-portals": { - "version": "2026.3.1", - "resolved": "https://npm.pkg.github.com/download/@eclipse-sirius/sirius-components-portals/2026.3.1/0a12e81126d9410d3e3f2c5ab9e2ec1f2f191053", - "integrity": "sha512-92QHXnKA6AIjQnk6AGbFX8QyQxd5pKmmQyX8Z2mXBVlUc/kGAN7bibM+OYo/zHzGmLwwa9UFS8tghOegoQSeQQ==", + "version": "2026.3.2", + "resolved": "https://npm.pkg.github.com/download/@eclipse-sirius/sirius-components-portals/2026.3.2/cd373ad2330bb9d662c727bbba0e7480792748f7", + "integrity": "sha512-F+Tzr1iAibES/jcFce6MleMyKDdknHqdM4vymcFYO3BD+NgcE8uDaKiVWHo0qFnqYtik/Z7cgH2O5+vV8X5ogQ==", "license": "EPL-2.0", "peerDependencies": { "@apollo/client": "3.10.4", @@ -856,9 +2019,9 @@ } }, "node_modules/@eclipse-sirius/sirius-components-selection": { - "version": "2026.3.1", - "resolved": "https://npm.pkg.github.com/download/@eclipse-sirius/sirius-components-selection/2026.3.1/0700e7b55588898c24b5c3cb742ecf51bf5bc7af", - "integrity": "sha512-ZuoSHuaDhNgrKz6Brast0GNhozUUrapAM93UsQhMHbnhvR6KswepxxoMXW5Zk6nwgrGkMI/ApGiKwqlWbmCy7A==", + "version": "2026.3.2", + "resolved": "https://npm.pkg.github.com/download/@eclipse-sirius/sirius-components-selection/2026.3.2/0eb38bf72628313e5f3aa81dce392bff36760014", + "integrity": "sha512-RPDynCji3XebSX2hACTwtWJ4Tsd2Ccr7gcTC0wrq/1gdUw5bJfZQTt6ND82RT1PqEkj2KO2nN7k+VLKZBRFAnA==", "license": "EPL-2.0", "peerDependencies": { "@apollo/client": "3.10.4", @@ -885,9 +2048,9 @@ } }, "node_modules/@eclipse-sirius/sirius-components-tables": { - "version": "2026.3.1", - "resolved": "https://npm.pkg.github.com/download/@eclipse-sirius/sirius-components-tables/2026.3.1/da1ddadc31fcad3aff4b8f52b5f979a6603a90ad", - "integrity": "sha512-xxHxpp3gVaPtwzp8oR+lYBGNvQ7XrMxslMkVyWQmZ8/uZahh+manW9glfRQlwWMjINq6FfSMSLqfT+ZnTAgViw==", + "version": "2026.3.2", + "resolved": "https://npm.pkg.github.com/download/@eclipse-sirius/sirius-components-tables/2026.3.2/77925b8e8cc24ea211853a0f09f24beec1acfbcb", + "integrity": "sha512-PuMeqpwGTnlFk9RkXV052xfZeLAyhYeDQswFjowTmT5667mVetd4Of27u6dNY/sIvEBGmt2swLu41TUYaJqH/w==", "license": "EPL-2.0", "peerDependencies": { "@apollo/client": "3.10.4", @@ -905,9 +2068,9 @@ } }, "node_modules/@eclipse-sirius/sirius-components-trees": { - "version": "2026.3.1", - "resolved": "https://npm.pkg.github.com/download/@eclipse-sirius/sirius-components-trees/2026.3.1/a4b20fa4d3511400728a399c6b0ecd7110422677", - "integrity": "sha512-6tr3L/tuozDYBiQa3gdsgdOOI0oB5RZgWgsFJZ1ApbR/icFLi8o0NdAqygI36he8TFOTc8b+G/ryu27S00QyUA==", + "version": "2026.3.2", + "resolved": "https://npm.pkg.github.com/download/@eclipse-sirius/sirius-components-trees/2026.3.2/f34cb111294d98ad324943daa7d33adcbae09626", + "integrity": "sha512-Gd+0Ez7pvYaUDwlfTqFRXMm724WZn3/YLofOZOi/itPbppjCzY0QhjZZQFS9EkvDjvMIW14HFcSgS0BZXmqEKg==", "license": "EPL-2.0", "peerDependencies": { "@apollo/client": "3.10.4", @@ -925,15 +2088,15 @@ } }, "node_modules/@eclipse-sirius/sirius-components-tsconfig": { - "version": "2026.3.1", - "resolved": "https://npm.pkg.github.com/download/@eclipse-sirius/sirius-components-tsconfig/2026.3.1/25812a1657958827a3f35b3ba3e8b1e478f5d723", - "integrity": "sha512-Rt6T4KYIMips0dCHzKwyHywZAQSJo05uPbFGn1F9gZ0+McEGqnnAOYc4R2Nk1Vnx8zbkjOjcZLb9yjmQQdE57g==", + "version": "2026.3.2", + "resolved": "https://npm.pkg.github.com/download/@eclipse-sirius/sirius-components-tsconfig/2026.3.2/e19ff3a97d0b923ae49871bbd5b5b9bfd9700cc6", + "integrity": "sha512-P1QQGiVjNH656whnrobu9h6C1tf+rraOsNvuDKcS2bVvei/Q/0r90x58D6g7Eb1S2d9w97PFKOAu5NVXejMZkg==", "license": "EPL-2.0" }, "node_modules/@eclipse-sirius/sirius-components-validation": { - "version": "2026.3.1", - "resolved": "https://npm.pkg.github.com/download/@eclipse-sirius/sirius-components-validation/2026.3.1/752f03d887dd9b1f96722834b2da7faa2ec9147a", - "integrity": "sha512-fazanmvj+K50Z/VpHuQGLcq572jBOkDCenAM+LI8D2r+T2HF2xlA5yQ0Qk6PypJQi4JdKe2FotwskqtxUagj4Q==", + "version": "2026.3.2", + "resolved": "https://npm.pkg.github.com/download/@eclipse-sirius/sirius-components-validation/2026.3.2/ac160eeb1ce04f6e5318df5e9aaadb8935fc4f50", + "integrity": "sha512-xThdbAb/xFz0buMNAkhPCCWOE+dmDYRZzx/PLKUENUvHF8fqUWixzktyY+QyRIdOQoWyXHi85Vfv6yjXIs3ahA==", "license": "EPL-2.0", "peerDependencies": { "@apollo/client": "3.10.4", @@ -949,9 +2112,9 @@ } }, "node_modules/@eclipse-sirius/sirius-components-widget-reference": { - "version": "2026.3.1", - "resolved": "https://npm.pkg.github.com/download/@eclipse-sirius/sirius-components-widget-reference/2026.3.1/93cf73d08c69e5ef5720fbd990d988c105567060", - "integrity": "sha512-wU2xMyqPOtE6eoMNtQEhE/+pGV+UBe1GnMw86JXZUCegDxjnvHGb9SILB8gMeuXzUqThfqxaX2kCPbtinjELhg==", + "version": "2026.3.2", + "resolved": "https://npm.pkg.github.com/download/@eclipse-sirius/sirius-components-widget-reference/2026.3.2/870b407d231ec97c1b16f3d2654976299100abf7", + "integrity": "sha512-gAr4bPHnXBkleX0nACU0kWJfXuM62whKHxEb86voKGzruyKkXCFLRkN8jAtnDhtEa5SQIVyQNWuMz71P9lMnpg==", "license": "EPL-2.0", "peerDependencies": { "@apollo/client": "3.10.4", @@ -980,9 +2143,9 @@ } }, "node_modules/@eclipse-sirius/sirius-components-widget-table": { - "version": "2026.3.1", - "resolved": "https://npm.pkg.github.com/download/@eclipse-sirius/sirius-components-widget-table/2026.3.1/5c341d09db4b05c23e25fea4134d1d0eefc6d0dc", - "integrity": "sha512-BPUguGHsH04VGGKiGqAFVvLW19OWupx5lDwBtW3uYqxZgkFXs79yawsTg+2KO2GBsJCtf5VN5PZLakMBK6KG0A==", + "version": "2026.3.2", + "resolved": "https://npm.pkg.github.com/download/@eclipse-sirius/sirius-components-widget-table/2026.3.2/0e0bda2c466d269e4d4cddc3ae55ae729e9f2005", + "integrity": "sha512-dmjhMLcuPbCbMLFvvQQMZRwHkk0XsCrPMEU6kjnZXoofbU0PFOjrye9FwP5NNVaLkw15ZoWItD46/sqp7I3JOg==", "license": "EPL-2.0", "peerDependencies": { "@apollo/client": "3.10.4", @@ -1008,9 +2171,9 @@ } }, "node_modules/@eclipse-sirius/sirius-web-application": { - "version": "2026.3.1", - "resolved": "https://npm.pkg.github.com/download/@eclipse-sirius/sirius-web-application/2026.3.1/444cdda68066a07581e077cdc39570d6de5ca19c", - "integrity": "sha512-TCCcISdb4blc+uoGj/BljYKs/Nxhuaaqgg5NBJ+Yo56dm2SJfjAkkzJ55ePOIdUARdYp6aLaZ6nf6B6dNbNRhg==", + "version": "2026.3.2", + "resolved": "https://npm.pkg.github.com/download/@eclipse-sirius/sirius-web-application/2026.3.2/733757ab28b0ea63b25e2433c130c5c190004df5", + "integrity": "sha512-FaLF2dEjx4omtffLKMf82iB0VbxK14o/JXkeENs0ybrtKT6X4k29quvAtoHv8paY61ekH/Ab79Qucn/BEsEGyw==", "license": "EPL-2.0", "peerDependencies": { "@apollo/client": "3.10.4", @@ -1072,6 +2235,43 @@ "resolved": "frontend/syson-components", "link": true }, + "node_modules/@emnapi/core": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.9.2.tgz", + "integrity": "sha512-UC+ZhH3XtczQYfOlu3lNEkdW/p4dsJ1r/bP7H8+rhao3TTTMO1ATq/4DdIi23XuGoFY+Cz0JmCbdVl0hz9jZcA==", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "@emnapi/wasi-threads": "1.2.1", + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/runtime": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.9.2.tgz", + "integrity": "sha512-3U4+MIWHImeyu1wnmVygh5WlgfYDtyf0k8AbLhMFxOipihf6nrWC4syIm/SwEeec0mNSafiiNnMJwbza/Is6Lw==", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/wasi-threads": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.1.tgz", + "integrity": "sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, "node_modules/@emotion/babel-plugin": { "version": "11.13.5", "resolved": "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.13.5.tgz", @@ -1798,17 +2998,6 @@ "@jridgewell/trace-mapping": "^0.3.24" } }, - "node_modules/@jridgewell/remapping": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", - "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.24" - } - }, "node_modules/@jridgewell/resolve-uri": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", @@ -2365,7 +3554,6 @@ "resolved": "https://registry.npmjs.org/@mui/x-date-pickers/-/x-date-pickers-8.27.2.tgz", "integrity": "sha512-06LFkHFRXJ2O9DMXtWAA3kY0jpbL7XH8iqa8L5cBlN+8bRx/UVLKlZYlhGv06C88jF9kuZWY1bUgrv/EoY/2Ww==", "license": "MIT", - "peer": true, "dependencies": { "@babel/runtime": "^7.28.4", "@mui/utils": "^7.3.5", @@ -2432,7 +3620,6 @@ "resolved": "https://registry.npmjs.org/@mui/x-internals/-/x-internals-8.26.0.tgz", "integrity": "sha512-B9OZau5IQUvIxwpJZhoFJKqRpmWf5r0yMmSXjQuqb5WuqM755EuzWJOenY48denGoENzMLT8hQpA0hRTeU2IPA==", "license": "MIT", - "peer": true, "dependencies": { "@babel/runtime": "^7.28.4", "@mui/utils": "^7.3.5", @@ -2508,6 +3695,25 @@ "react": "^17.0.0 || ^18.0.0 || ^19.0.0" } }, + "node_modules/@napi-rs/wasm-runtime": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.3.tgz", + "integrity": "sha512-xK9sGVbJWYb08+mTJt3/YV24WxvxpXcXtP6B172paPZ+Ts69Re9dAr7lKwJoeIx8OoeuimEiRZ7umkiUVClmmQ==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@tybys/wasm-util": "^0.10.1" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + }, + "peerDependencies": { + "@emnapi/core": "^1.7.1", + "@emnapi/runtime": "^1.7.1" + } + }, "node_modules/@ObeoNetwork/gantt-task-react": { "version": "0.6.3", "resolved": "https://npm.pkg.github.com/download/@ObeoNetwork/gantt-task-react/0.6.3/06bb4553a180609d213dd4753fa5ef1e3335b710", @@ -2536,120 +3742,378 @@ "@floating-ui/core": "^1.1.0" } }, - "node_modules/@ObeoNetwork/gantt-task-react/node_modules/@floating-ui/react": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/@floating-ui/react/-/react-0.19.0.tgz", - "integrity": "sha512-fgYvN4ksCi5OvmPXkyOT8o5a8PSKHMzPHt+9mR6KYWdF16IAjWRLZPAAziI2sznaWT23drRFrYw64wdvYqqaQw==", + "node_modules/@ObeoNetwork/gantt-task-react/node_modules/@floating-ui/react": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@floating-ui/react/-/react-0.19.0.tgz", + "integrity": "sha512-fgYvN4ksCi5OvmPXkyOT8o5a8PSKHMzPHt+9mR6KYWdF16IAjWRLZPAAziI2sznaWT23drRFrYw64wdvYqqaQw==", + "license": "MIT", + "dependencies": { + "@floating-ui/react-dom": "^1.2.2", + "aria-hidden": "^1.1.3", + "tabbable": "^6.0.1" + }, + "peerDependencies": { + "react": ">=16.8.0", + "react-dom": ">=16.8.0" + } + }, + "node_modules/@ObeoNetwork/gantt-task-react/node_modules/@floating-ui/react-dom": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-1.3.0.tgz", + "integrity": "sha512-htwHm67Ji5E/pROEAr7f8IKFShuiCKHwUC/UY4vC3I5jiSvGFAYnSYiZO5MlGmads+QqvUkR9ANHEguGrDv72g==", + "license": "MIT", + "dependencies": { + "@floating-ui/dom": "^1.2.1" + }, + "peerDependencies": { + "react": ">=16.8.0", + "react-dom": ">=16.8.0" + } + }, + "node_modules/@ObeoNetwork/gantt-task-react/node_modules/@floating-ui/react-dom/node_modules/@floating-ui/dom": { + "version": "1.7.6", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.7.6.tgz", + "integrity": "sha512-9gZSAI5XM36880PPMm//9dfiEngYoC6Am2izES1FF406YFsjvyBMmeJ2g4SAju3xWwtuynNRFL2s9hgxpLI5SQ==", + "license": "MIT", + "dependencies": { + "@floating-ui/core": "^1.7.5", + "@floating-ui/utils": "^0.2.11" + } + }, + "node_modules/@ObeoNetwork/react-trello": { + "version": "2.4.11", + "resolved": "https://npm.pkg.github.com/download/@ObeoNetwork/react-trello/2.4.11/384ada405b80fc7105583b43f6aef05e1f26bf3b", + "integrity": "sha512-Zrs2hw1hbUVMf7LTlAXm45x0CRp9ivTD+oifOM0aQvou1vrUXj5uHCz3/8c0jefxResoXoylw6o64oyFONy2Rw==", + "license": "MIT", + "dependencies": { + "autosize": "^4.0.2", + "classnames": "^2.2.6", + "immutability-helper": "^2.8.1", + "lodash": "^4.17.11", + "prop-types": "^15.7.2", + "react-popopo": "^2.1.9", + "react-redux": "^7.2.3", + "redux": "^5.0.1", + "redux-actions": "^2.6.1", + "redux-logger": "^3.0.6", + "trello-smooth-dnd": "1.0.0", + "uuid": "^3.3.2" + }, + "peerDependencies": { + "lodash": ">= 4.17.11", + "react": "*", + "react-dom": "*", + "react-redux": ">= 7.2.3", + "redux": "^5.0.1", + "redux-actions": ">= 2.6.1", + "redux-logger": ">= 3.0.6", + "styled-components": ">= 4.0.3" + } + }, + "node_modules/@oxc-project/types": { + "version": "0.120.0", + "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.120.0.tgz", + "integrity": "sha512-k1YNu55DuvAip/MGE1FTsIuU3FUCn6v/ujG9V7Nq5Df/kX2CWb13hhwD0lmJGMGqE+bE1MXvv9SZVnMzEXlWcg==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/Boshen" + } + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@popperjs/core": { + "version": "2.11.8", + "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz", + "integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/popperjs" + } + }, + "node_modules/@preact/signals-core": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@preact/signals-core/-/signals-core-1.14.1.tgz", + "integrity": "sha512-vxPpfXqrwUe9lpjqfYNjAF/0RF/eFGeLgdJzdmIIZjpOnTmGmAB4BjWone562mJGMRP4frU6iZ6ei3PDsu52Ng==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/preact" + } + }, + "node_modules/@remix-run/router": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.19.0.tgz", + "integrity": "sha512-zDICCLKEwbVYTS6TjYaWtHXxkdoUvD/QXvyVZjGCsWz5vyH7aFeONlPffPdW+Y/t6KT0MgXb2Mfjun9YpWN1dA==", + "license": "MIT", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@rolldown/binding-android-arm64": { + "version": "1.0.0-rc.10", + "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.0-rc.10.tgz", + "integrity": "sha512-jOHxwXhxmFKuXztiu1ORieJeTbx5vrTkcOkkkn2d35726+iwhrY1w/+nYY/AGgF12thg33qC3R1LMBF5tHTZHg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-darwin-arm64": { + "version": "1.0.0-rc.10", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.0.0-rc.10.tgz", + "integrity": "sha512-gED05Teg/vtTZbIJBc4VNMAxAFDUPkuO/rAIyyxZjTj1a1/s6z5TII/5yMGZ0uLRCifEtwUQn8OlYzuYc0m70w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-darwin-x64": { + "version": "1.0.0-rc.10", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.0.0-rc.10.tgz", + "integrity": "sha512-rI15NcM1mA48lqrIxVkHfAqcyFLcQwyXWThy+BQ5+mkKKPvSO26ir+ZDp36AgYoYVkqvMcdS8zOE6SeBsR9e8A==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-freebsd-x64": { + "version": "1.0.0-rc.10", + "resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.0.0-rc.10.tgz", + "integrity": "sha512-XZRXHdTa+4ME1MuDVp021+doQ+z6Ei4CCFmNc5/sKbqb8YmkiJdj8QKlV3rCI0AJtAeSB5n0WGPuJWNL9p/L2w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-arm-gnueabihf": { + "version": "1.0.0-rc.10", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.0.0-rc.10.tgz", + "integrity": "sha512-R0SQMRluISSLzFE20sPWYHVmJdDQnRyc/FzSCN72BqQmh2SOZUFG+N3/vBZpR4C6WpEUVYJLrYUXaj43sJsNLA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-arm64-gnu": { + "version": "1.0.0-rc.10", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.0.0-rc.10.tgz", + "integrity": "sha512-Y1reMrV/o+cwpduYhJuOE3OMKx32RMYCidf14y+HssARRmhDuWXJ4yVguDg2R/8SyyGNo+auzz64LnPK9Hq6jg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-arm64-musl": { + "version": "1.0.0-rc.10", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.0.0-rc.10.tgz", + "integrity": "sha512-vELN+HNb2IzuzSBUOD4NHmP9yrGwl1DVM29wlQvx1OLSclL0NgVWnVDKl/8tEks79EFek/kebQKnNJkIAA4W2g==", + "cpu": [ + "arm64" + ], + "dev": true, "license": "MIT", - "dependencies": { - "@floating-ui/react-dom": "^1.2.2", - "aria-hidden": "^1.1.3", - "tabbable": "^6.0.1" - }, - "peerDependencies": { - "react": ">=16.8.0", - "react-dom": ">=16.8.0" + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" } }, - "node_modules/@ObeoNetwork/gantt-task-react/node_modules/@floating-ui/react-dom": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-1.3.0.tgz", - "integrity": "sha512-htwHm67Ji5E/pROEAr7f8IKFShuiCKHwUC/UY4vC3I5jiSvGFAYnSYiZO5MlGmads+QqvUkR9ANHEguGrDv72g==", + "node_modules/@rolldown/binding-linux-ppc64-gnu": { + "version": "1.0.0-rc.10", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.0.0-rc.10.tgz", + "integrity": "sha512-ZqrufYTgzxbHwpqOjzSsb0UV/aV2TFIY5rP8HdsiPTv/CuAgCRjM6s9cYFwQ4CNH+hf9Y4erHW1GjZuZ7WoI7w==", + "cpu": [ + "ppc64" + ], + "dev": true, "license": "MIT", - "dependencies": { - "@floating-ui/dom": "^1.2.1" - }, - "peerDependencies": { - "react": ">=16.8.0", - "react-dom": ">=16.8.0" + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" } }, - "node_modules/@ObeoNetwork/gantt-task-react/node_modules/@floating-ui/react-dom/node_modules/@floating-ui/dom": { - "version": "1.7.6", - "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.7.6.tgz", - "integrity": "sha512-9gZSAI5XM36880PPMm//9dfiEngYoC6Am2izES1FF406YFsjvyBMmeJ2g4SAju3xWwtuynNRFL2s9hgxpLI5SQ==", + "node_modules/@rolldown/binding-linux-s390x-gnu": { + "version": "1.0.0-rc.10", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.0.0-rc.10.tgz", + "integrity": "sha512-gSlmVS1FZJSRicA6IyjoRoKAFK7IIHBs7xJuHRSmjImqk3mPPWbR7RhbnfH2G6bcmMEllCt2vQ/7u9e6bBnByg==", + "cpu": [ + "s390x" + ], + "dev": true, "license": "MIT", - "dependencies": { - "@floating-ui/core": "^1.7.5", - "@floating-ui/utils": "^0.2.11" + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" } }, - "node_modules/@ObeoNetwork/react-trello": { - "version": "2.4.11", - "resolved": "https://npm.pkg.github.com/download/@ObeoNetwork/react-trello/2.4.11/384ada405b80fc7105583b43f6aef05e1f26bf3b", - "integrity": "sha512-Zrs2hw1hbUVMf7LTlAXm45x0CRp9ivTD+oifOM0aQvou1vrUXj5uHCz3/8c0jefxResoXoylw6o64oyFONy2Rw==", + "node_modules/@rolldown/binding-linux-x64-gnu": { + "version": "1.0.0-rc.10", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.0.0-rc.10.tgz", + "integrity": "sha512-eOCKUpluKgfObT2pHjztnaWEIbUabWzk3qPZ5PuacuPmr4+JtQG4k2vGTY0H15edaTnicgU428XW/IH6AimcQw==", + "cpu": [ + "x64" + ], + "dev": true, "license": "MIT", - "dependencies": { - "autosize": "^4.0.2", - "classnames": "^2.2.6", - "immutability-helper": "^2.8.1", - "lodash": "^4.17.11", - "prop-types": "^15.7.2", - "react-popopo": "^2.1.9", - "react-redux": "^7.2.3", - "redux": "^5.0.1", - "redux-actions": "^2.6.1", - "redux-logger": "^3.0.6", - "trello-smooth-dnd": "1.0.0", - "uuid": "^3.3.2" - }, - "peerDependencies": { - "lodash": ">= 4.17.11", - "react": "*", - "react-dom": "*", - "react-redux": ">= 7.2.3", - "redux": "^5.0.1", - "redux-actions": ">= 2.6.1", - "redux-logger": ">= 3.0.6", - "styled-components": ">= 4.0.3" + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" } }, - "node_modules/@pkgjs/parseargs": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", - "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "node_modules/@rolldown/binding-linux-x64-musl": { + "version": "1.0.0-rc.10", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.0.0-rc.10.tgz", + "integrity": "sha512-Xdf2jQbfQowJnLcgYfD/m0Uu0Qj5OdxKallD78/IPPfzaiaI4KRAwZzHcKQ4ig1gtg1SuzC7jovNiM2TzQsBXA==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=14" + "node": "^20.19.0 || >=22.12.0" } }, - "node_modules/@popperjs/core": { - "version": "2.11.8", - "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz", - "integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==", + "node_modules/@rolldown/binding-openharmony-arm64": { + "version": "1.0.0-rc.10", + "resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.0.0-rc.10.tgz", + "integrity": "sha512-o1hYe8hLi1EY6jgPFyxQgQ1wcycX+qz8eEbVmot2hFkgUzPxy9+kF0u0NIQBeDq+Mko47AkaFFaChcvZa9UX9Q==", + "cpu": [ + "arm64" + ], + "dev": true, "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/popperjs" + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" } }, - "node_modules/@preact/signals-core": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@preact/signals-core/-/signals-core-1.14.1.tgz", - "integrity": "sha512-vxPpfXqrwUe9lpjqfYNjAF/0RF/eFGeLgdJzdmIIZjpOnTmGmAB4BjWone562mJGMRP4frU6iZ6ei3PDsu52Ng==", + "node_modules/@rolldown/binding-wasm32-wasi": { + "version": "1.0.0-rc.10", + "resolved": "https://registry.npmjs.org/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.0.0-rc.10.tgz", + "integrity": "sha512-Ugv9o7qYJudqQO5Y5y2N2SOo6S4WiqiNOpuQyoPInnhVzCY+wi/GHltcLHypG9DEUYMB0iTB/huJrpadiAcNcA==", + "cpu": [ + "wasm32" + ], + "dev": true, "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/preact" + "optional": true, + "dependencies": { + "@napi-rs/wasm-runtime": "^1.1.1" + }, + "engines": { + "node": ">=14.0.0" } }, - "node_modules/@remix-run/router": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.19.0.tgz", - "integrity": "sha512-zDICCLKEwbVYTS6TjYaWtHXxkdoUvD/QXvyVZjGCsWz5vyH7aFeONlPffPdW+Y/t6KT0MgXb2Mfjun9YpWN1dA==", + "node_modules/@rolldown/binding-win32-arm64-msvc": { + "version": "1.0.0-rc.10", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.0.0-rc.10.tgz", + "integrity": "sha512-7UODQb4fQUNT/vmgDZBl3XOBAIOutP5R3O/rkxg0aLfEGQ4opbCgU5vOw/scPe4xOqBwL9fw7/RP1vAMZ6QlAQ==", + "cpu": [ + "arm64" + ], + "dev": true, "license": "MIT", + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">=14.0.0" + "node": "^20.19.0 || >=22.12.0" } }, - "node_modules/@rolldown/pluginutils": { - "version": "1.0.0-beta.30", - "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.30.tgz", - "integrity": "sha512-whXaSoNUFiyDAjkUF8OBpOm77Szdbk5lGNqFe6CbVbJFrhCCPinCbRA3NjawwlNHla1No7xvXXh+CpSxnPfUEw==", + "node_modules/@rolldown/binding-win32-x64-msvc": { + "version": "1.0.0-rc.10", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.0.0-rc.10.tgz", + "integrity": "sha512-PYxKHMVHOb5NJuDL53vBUl1VwUjymDcYI6rzpIni0C9+9mTiJedvUxSk7/RPp7OOAm3v+EjgMu9bIy3N6b408w==", + "cpu": [ + "x64" + ], "dev": true, - "license": "MIT" + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, "node_modules/@rollup/rollup-android-arm-eabi": { "version": "4.60.1", @@ -3227,57 +4691,23 @@ "node": ">= 6" } }, - "node_modules/@types/aria-query": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.4.tgz", - "integrity": "sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/babel__core": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", - "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" - } - }, - "node_modules/@types/babel__generator": { - "version": "7.27.0", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz", - "integrity": "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__template": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", - "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", + "node_modules/@tybys/wasm-util": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.1.tgz", + "integrity": "sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==", "dev": true, "license": "MIT", + "optional": true, "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" + "tslib": "^2.4.0" } }, - "node_modules/@types/babel__traverse": { - "version": "7.28.0", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.28.0.tgz", - "integrity": "sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==", + "node_modules/@types/aria-query": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.4.tgz", + "integrity": "sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==", "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.28.2" - } + "license": "MIT" }, "node_modules/@types/chai": { "version": "5.2.3", @@ -3807,27 +5237,6 @@ "dev": true, "license": "MIT" }, - "node_modules/@vitejs/plugin-react": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-5.0.0.tgz", - "integrity": "sha512-Jx9JfsTa05bYkS9xo0hkofp2dCmp1blrKjw9JONs5BTHOvJCgLbaPSuZLGSVJW6u2qe0tc4eevY0+gSNNi0YCw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/core": "^7.28.0", - "@babel/plugin-transform-react-jsx-self": "^7.27.1", - "@babel/plugin-transform-react-jsx-source": "^7.27.1", - "@rolldown/pluginutils": "1.0.0-beta.30", - "@types/babel__core": "^7.20.5", - "react-refresh": "^0.17.0" - }, - "engines": { - "node": "^20.19.0 || >=22.12.0" - }, - "peerDependencies": { - "vite": "^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0" - } - }, "node_modules/@vitest/coverage-v8": { "version": "3.2.4", "resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-3.2.4.tgz", @@ -4292,19 +5701,6 @@ "node": "18 || 20 || >=22" } }, - "node_modules/baseline-browser-mapping": { - "version": "2.10.13", - "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.13.tgz", - "integrity": "sha512-BL2sTuHOdy0YT1lYieUxTw/QMtPBC3pmlJC6xk8BBYVv6vcw3SGdKemQ+Xsx9ik2F/lYDO9tqsFQH1r9PFuHKw==", - "dev": true, - "license": "Apache-2.0", - "bin": { - "baseline-browser-mapping": "dist/cli.cjs" - }, - "engines": { - "node": ">=6.0.0" - } - }, "node_modules/brace-expansion": { "version": "5.0.5", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz", @@ -4325,40 +5721,6 @@ "dev": true, "license": "BSD-2-Clause" }, - "node_modules/browserslist": { - "version": "4.28.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.2.tgz", - "integrity": "sha512-48xSriZYYg+8qXna9kwqjIVzuQxi+KYWp2+5nCYnYKPTr0LvD89Jqk2Or5ogxz0NUMfIjhh2lIUX/LyX9B4oIg==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "baseline-browser-mapping": "^2.10.12", - "caniuse-lite": "^1.0.30001782", - "electron-to-chromium": "^1.5.328", - "node-releases": "^2.0.36", - "update-browserslist-db": "^1.2.3" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - } - }, "node_modules/cac": { "version": "6.7.14", "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", @@ -4438,27 +5800,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/caniuse-lite": { - "version": "1.0.30001784", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001784.tgz", - "integrity": "sha512-WU346nBTklUV9YfUl60fqRbU5ZqyXlqvo1SgigE1OAXK5bFL8LL9q1K7aap3N739l4BvNqnkm3YrGHiY9sfUQw==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "CC-BY-4.0" - }, "node_modules/chai": { "version": "5.3.3", "resolved": "https://registry.npmjs.org/chai/-/chai-5.3.3.tgz", @@ -5291,7 +6632,17 @@ "license": "MIT", "peer": true, "engines": { - "node": ">=6" + "node": ">=6" + } + }, + "node_modules/detect-libc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=8" } }, "node_modules/diff-sequences": { @@ -5367,13 +6718,6 @@ "dev": true, "license": "MIT" }, - "node_modules/electron-to-chromium": { - "version": "1.5.331", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.331.tgz", - "integrity": "sha512-IbxXrsTlD3hRodkLnbxAPP4OuJYdWCeM3IOdT+CpcMoIwIoDfCmRpEtSPfwBXxVkg9xmBeY7Lz2Eo2TDn/HC3Q==", - "dev": true, - "license": "ISC" - }, "node_modules/elkjs": { "version": "0.11.0", "resolved": "https://registry.npmjs.org/elkjs/-/elkjs-0.11.0.tgz", @@ -5516,16 +6860,6 @@ "@esbuild/win32-x64": "0.25.12" } }, - "node_modules/escalade": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", - "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, "node_modules/escape-string-regexp": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", @@ -5763,16 +7097,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/get-intrinsic": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", @@ -6729,6 +8053,7 @@ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", "license": "MIT", + "peer": true, "bin": { "jsesc": "bin/jsesc" }, @@ -6743,19 +8068,6 @@ "license": "MIT", "peer": true }, - "node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true, - "license": "MIT", - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/just-curry-it": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/just-curry-it/-/just-curry-it-3.2.1.tgz", @@ -6790,6 +8102,267 @@ "url": "https://github.com/sponsors/dmonad" } }, + "node_modules/lightningcss": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.32.0.tgz", + "integrity": "sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==", + "dev": true, + "license": "MPL-2.0", + "dependencies": { + "detect-libc": "^2.0.3" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "lightningcss-android-arm64": "1.32.0", + "lightningcss-darwin-arm64": "1.32.0", + "lightningcss-darwin-x64": "1.32.0", + "lightningcss-freebsd-x64": "1.32.0", + "lightningcss-linux-arm-gnueabihf": "1.32.0", + "lightningcss-linux-arm64-gnu": "1.32.0", + "lightningcss-linux-arm64-musl": "1.32.0", + "lightningcss-linux-x64-gnu": "1.32.0", + "lightningcss-linux-x64-musl": "1.32.0", + "lightningcss-win32-arm64-msvc": "1.32.0", + "lightningcss-win32-x64-msvc": "1.32.0" + } + }, + "node_modules/lightningcss-android-arm64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.32.0.tgz", + "integrity": "sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-arm64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.32.0.tgz", + "integrity": "sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-x64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.32.0.tgz", + "integrity": "sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-freebsd-x64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.32.0.tgz", + "integrity": "sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm-gnueabihf": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.32.0.tgz", + "integrity": "sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-gnu": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.32.0.tgz", + "integrity": "sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-musl": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.32.0.tgz", + "integrity": "sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-gnu": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.32.0.tgz", + "integrity": "sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-musl": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.32.0.tgz", + "integrity": "sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-arm64-msvc": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.32.0.tgz", + "integrity": "sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-x64-msvc": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.32.0.tgz", + "integrity": "sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, "node_modules/lines-and-columns": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", @@ -6822,16 +8395,6 @@ "dev": true, "license": "MIT" }, - "node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^3.0.2" - } - }, "node_modules/lz-string": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz", @@ -7056,13 +8619,6 @@ "webidl-conversions": "^3.0.0" } }, - "node_modules/node-releases": { - "version": "2.0.37", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.37.tgz", - "integrity": "sha512-1h5gKZCF+pO/o3Iqt5Jp7wc9rH3eJJ0+nh/CIoiRwjRxde/hAHyLPXYN4V3CqKAbiZPSeJFSWHmJsbkicta0Eg==", - "dev": true, - "license": "MIT" - }, "node_modules/notistack": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/notistack/-/notistack-3.0.1.tgz", @@ -7633,16 +9189,6 @@ "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", "license": "MIT" }, - "node_modules/react-refresh": { - "version": "0.17.0", - "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.17.0.tgz", - "integrity": "sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/react-resizable": { "version": "3.0.5", "resolved": "https://registry.npmjs.org/react-resizable/-/react-resizable-3.0.5.tgz", @@ -7828,8 +9374,7 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/reselect/-/reselect-5.1.1.tgz", "integrity": "sha512-K/BG6eIky/SBpzfHZv/dd+9JBFiS4SWV7FIujVyJRux6e45+73RaUHXLmIR1f7WOMaQ0U1km6qwklRQxpJJY0w==", - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/resize-observer-polyfill": { "version": "1.5.1", @@ -7883,6 +9428,47 @@ "integrity": "sha512-NS3levdsRIUOmiJ8FZWCP7LG3QpJyrs/TE0Zpf1yvZu8cAJJ6QMW92H1c7kWpdIHo8RvmLxN/o2JXTKHp74lUA==", "license": "Unlicense" }, + "node_modules/rolldown": { + "version": "1.0.0-rc.10", + "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.0.0-rc.10.tgz", + "integrity": "sha512-q7j6vvarRFmKpgJUT8HCAUljkgzEp4LAhPlJUvQhA5LA1SUL36s5QCysMutErzL3EbNOZOkoziSx9iZC4FddKA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@oxc-project/types": "=0.120.0", + "@rolldown/pluginutils": "1.0.0-rc.10" + }, + "bin": { + "rolldown": "bin/cli.mjs" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "optionalDependencies": { + "@rolldown/binding-android-arm64": "1.0.0-rc.10", + "@rolldown/binding-darwin-arm64": "1.0.0-rc.10", + "@rolldown/binding-darwin-x64": "1.0.0-rc.10", + "@rolldown/binding-freebsd-x64": "1.0.0-rc.10", + "@rolldown/binding-linux-arm-gnueabihf": "1.0.0-rc.10", + "@rolldown/binding-linux-arm64-gnu": "1.0.0-rc.10", + "@rolldown/binding-linux-arm64-musl": "1.0.0-rc.10", + "@rolldown/binding-linux-ppc64-gnu": "1.0.0-rc.10", + "@rolldown/binding-linux-s390x-gnu": "1.0.0-rc.10", + "@rolldown/binding-linux-x64-gnu": "1.0.0-rc.10", + "@rolldown/binding-linux-x64-musl": "1.0.0-rc.10", + "@rolldown/binding-openharmony-arm64": "1.0.0-rc.10", + "@rolldown/binding-wasm32-wasi": "1.0.0-rc.10", + "@rolldown/binding-win32-arm64-msvc": "1.0.0-rc.10", + "@rolldown/binding-win32-x64-msvc": "1.0.0-rc.10" + } + }, + "node_modules/rolldown/node_modules/@rolldown/pluginutils": { + "version": "1.0.0-rc.10", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-rc.10.tgz", + "integrity": "sha512-UkVDEFk1w3mveXeKgaTuYfKWtPbvgck1dT8TUG3bnccrH0XtLTuAyfCoks4Q/M5ZGToSVJTIQYCzy2g/atAOeg==", + "dev": true, + "license": "MIT" + }, "node_modules/rollup": { "version": "4.60.1", "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.60.1.tgz", @@ -7990,16 +9576,6 @@ "loose-envify": "^1.1.0" } }, - "node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/set-function-length": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", @@ -8785,37 +10361,6 @@ "node": ">= 4.0.0" } }, - "node_modules/update-browserslist-db": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", - "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "escalade": "^3.2.0", - "picocolors": "^1.1.1" - }, - "bin": { - "update-browserslist-db": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" - } - }, "node_modules/url-parse": { "version": "1.5.10", "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", @@ -9356,13 +10901,6 @@ "dev": true, "license": "MIT" }, - "node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true, - "license": "ISC" - }, "node_modules/yaml": { "version": "2.8.3", "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.3.tgz",