From 7b6395c34891f363982c07f42f4f1b9a0bac1640 Mon Sep 17 00:00:00 2001 From: Ramon Date: Thu, 29 Jan 2026 14:42:52 +0100 Subject: [PATCH] fix: improve NX caching (#11434) # Which Problems Are Solved This PR improves our NX caching, especially for the console and api. It makes sure that if the console is changed the api is also rebuilt and if the api is changed the functional-ui tests are rerun. It is important to note this only fixes a subset of our problems. # How the Problems Are Solved NX ignores .gitignored files even if they are explicitly added to the inputs of an NX target. To counteract this one can add these files to a .nxignore file with a negated pattern. https://nx.dev/docs/reference/inputs#token-behavior-with-nested-projects . This solution is not documented per se but can be find in this Github issue: https://github.com/nrwl/nx/issues/6821 . Further more nx calculates the hashes of inputs at the start and does not recalculate them even if a dependency of a target changes. To solve this problem one needs to use https://nx.dev/docs/reference/inputs#outputs-of-dependent-tasks . This comment of an NX developer helped me further to understand the actual behaviour of NX: https://github.com/nrwl/nx/issues/33379#issuecomment-3657929455 . # Additional Changes Because the functional-ui tests now correctly run again they had to be fixed. This pr unifies the field names in the user create v1 and v2 ui. # Additional Context To document this somewhere, this proposed fix does not work: https://github.com/nrwl/nx/issues/6821#issuecomment-1309475504 . In my local testing NX runtime inputs also get executed at the beginning of the NX loop and ignore subsequent changes by targets. While testing this fix and browsing through NX code I found this, which could be helpful in the future and isn't documented: https://github.com/nrwl/nx/pull/31428 --- .devcontainer/project.json | 2 +- .github/workflows/lint_test_build.yml | 5 +- .gitignore | 15 +- .nxignore | 4 + apps/api/project.json | 7 +- console/.gitignore | 51 ---- console/project.json | 95 +++--- .../user-create-v2.component.html | 6 +- .../user-create-v2.component.ts | 13 +- .../user-create/user-create.component.ts | 2 +- package.json | 2 +- pnpm-lock.yaml | 270 +++++++----------- tests/functional-ui/project.json | 22 +- 13 files changed, 189 insertions(+), 305 deletions(-) create mode 100644 .nxignore delete mode 100644 console/.gitignore diff --git a/.devcontainer/project.json b/.devcontainer/project.json index 8b43310eb..11a596313 100644 --- a/.devcontainer/project.json +++ b/.devcontainer/project.json @@ -11,4 +11,4 @@ } } } -} \ No newline at end of file +} diff --git a/.github/workflows/lint_test_build.yml b/.github/workflows/lint_test_build.yml index 9bc2efca1..7440980e8 100644 --- a/.github/workflows/lint_test_build.yml +++ b/.github/workflows/lint_test_build.yml @@ -64,7 +64,10 @@ jobs: - name: Lint, Test and Build env: NX_CLOUD_ACCESS_TOKEN: ${{ secrets.NX_CLOUD_ACCESS_TOKEN || secrets.NX_CLOUD_ACCESS_TOKEN_READONLY }} - run: pnpm nx affected --nxBail --targets lint test build --exclude @zitadel/docs +# NX_NATIVE_LOGGING: "nx::native::cache,nx::native::db" + NX_DAEMON: "false" + NX_DISABLE_DB: "true" + run: pnpm nx affected --nxBail --targets lint test build --exclude @zitadel/docs - name: Suggest Pipeline Fix By Nx Cloud AI if: failure() || cancelled() env: diff --git a/.gitignore b/.gitignore index 8263cdcad..b464368fb 100644 --- a/.gitignore +++ b/.gitignore @@ -47,7 +47,9 @@ cmd/zitadel/zitadel /zitadel # buildfolders and generated files -console/src/app/proto/generated/ +console/dist +console/src/app/proto/generated +console/.angular **.pb.go !pkg/grpc/protoc/v2/options.pb.go **.proto.mock.go @@ -57,8 +59,8 @@ pkg/**/**.connect.go openapi/**/*.json /internal/api/assets/authz.go /internal/api/assets/router.go -/internal/api/ui/console/static/* -!/internal/api/ui/console/static/gitkeep +internal/api/ui/console/static +!internal/api/ui/console/static/gitkeep docs/docs/apis/auth docs/docs/apis/admin docs/docs/apis/mgmt @@ -73,8 +75,10 @@ zitadel-*-* # local build/local/*.env .notifications -/.artifacts/* -!/.artifacts/zitadel +.artifacts/* +!.artifacts/bin +.artifacts/bin/*/*/**/* +!.artifacts/zitadel /zitadel node_modules/ .kreya @@ -87,7 +91,6 @@ go.work.sum # Local Netlify folder .netlify -dist .vercel # PNPM diff --git a/.nxignore b/.nxignore new file mode 100644 index 000000000..5d94a71cb --- /dev/null +++ b/.nxignore @@ -0,0 +1,4 @@ +!console/dist +!console/src/app/proto/generated +!internal/api/ui/console/static +!.artifacts/bin/*/*/zitadel.local diff --git a/apps/api/project.json b/apps/api/project.json index 7eb82a9fe..e56a32dbc 100644 --- a/apps/api/project.json +++ b/apps/api/project.json @@ -67,7 +67,8 @@ "inputs": [ { "runtime": "go env GOOS" }, { "runtime": "go env GOARCH" }, - "runtime" + "runtime", + {"dependentTasksOutputFiles": "internal/api/ui/console/static/**/*"} ], "outputs": [ "{workspaceRoot}/.artifacts/bin/*/*/zitadel.local" @@ -211,10 +212,10 @@ "dependsOn": [ "@zitadel/console:build" ], - "command": "cp -r console/dist/console/* internal/api/ui/console/static", + "command": "find internal/api/ui/console/static -mindepth 1 ! -name 'gitkeep' -delete -print && cp -r -v console/dist/console/* internal/api/ui/console/static", "cache": true, "inputs": [ - "{workspaceRoot}/console/dist/console/**/*" + {"dependentTasksOutputFiles": "console/dist/console/**/*"} ], "outputs": [ "{workspaceRoot}/internal/api/ui/console/static" diff --git a/console/.gitignore b/console/.gitignore deleted file mode 100644 index 5edbdebe9..000000000 --- a/console/.gitignore +++ /dev/null @@ -1,51 +0,0 @@ -# See http://help.github.com/ignore-files/ for more about ignoring files. - -# compiled output -dist/ -tmp/ -out-tsc/ - -# dependencies -node_modules/ - -# profiling files -chrome-profiler-events*.json -speed-measure-plugin*.json - -# IDEs and editors -/.idea -.project -.classpath -.c9/ -*.launch -.settings/ -*.sublime-workspace - -# IDE - VSCode -.vscode/* -!.vscode/settings.json -!.vscode/tasks.json -!.vscode/launch.json -!.vscode/extensions.json -.history/* - -# misc -/.angular/cache -/.sass-cache -/connect.lock -/coverage -/libpeerconnection.log -npm-debug.log -pnpm-debug.log -testem.log -/typings - -# System Files -.DS_Store -Thumbs.db -.vscode/settings.json - -# Proto generated js files -src/app/proto - - diff --git a/console/project.json b/console/project.json index c4b52e1a4..55ddd43bf 100644 --- a/console/project.json +++ b/console/project.json @@ -1,56 +1,45 @@ { - "$schema": "../node_modules/nx/schemas/project-schema.json", - "targets": { - "lint": { - "description": "Runs all linters", - "dependsOn": [ - "lint-check-*" - ] - }, - "lint-check-prettier": { - "description": "Checks code formatting with Prettier", - "cache": true, - "inputs": [ - "default" - ] - }, - "lint-check-ng": { - "description": "Runs Angular specific lint checks", - "cache": true, - "inputs": [ - "default" - ] - }, - "generate": { - "description": "Generates code from protobuf definitions for API v1 endpoints", - "inputs": [ - "{workspaceRoot}/proto/**/*", - "{projectRoot}/buf.gen.yaml", - "{projectRoot}/package.json", - "{workspaceRoot}/pnpm-lock.yaml" - ], - "outputs": [ - "{projectRoot}/src/app/proto/generated" - ] - }, - "build": { - "description": "Builds the Management Console for production", - "inputs": [ - "default", - "{workspaceRoot}/pnpm-lock.yaml", - "{workspaceRoot}/docs/frameworks.json" - ], - "outputs": [ - "{projectRoot}/dist" - ] - }, - "dev": { - "description": "Runs the Management Console in development mode with hot-reloading", - "continuous": true, - "dependsOn": [ - "generate", - "^build" - ] - } + "$schema": "../node_modules/nx/schemas/project-schema.json", + "targets": { + "lint": { + "description": "Runs all linters", + "dependsOn": ["lint-check-*"] + }, + "lint-check-prettier": { + "description": "Checks code formatting with Prettier", + "cache": true, + "inputs": ["default"] + }, + "lint-check-ng": { + "description": "Runs Angular specific lint checks", + "cache": true, + "inputs": ["default"] + }, + "generate": { + "description": "Generates code from protobuf definitions for API v1 endpoints", + "inputs": [ + "{workspaceRoot}/proto/**/*", + "{projectRoot}/buf.gen.yaml", + "{projectRoot}/package.json", + "{workspaceRoot}/pnpm-lock.yaml" + ], + "outputs": ["{projectRoot}/src/app/proto/generated"] + }, + "build": { + "description": "Builds the Management Console for production", + "inputs": [ + "{projectRoot}/**/*", + "!{projectRoot}/dist/**/*", + "!{projectRoot}/.angular/**/*", + "{workspaceRoot}/pnpm-lock.yaml", + "{workspaceRoot}/docs/frameworks.json" + ], + "outputs": ["{projectRoot}/dist"] + }, + "dev": { + "description": "Runs the Management Console in development mode with hot-reloading", + "continuous": true, + "dependsOn": ["generate", "^build"] } + } } diff --git a/console/src/app/pages/users/user-create/user-create-v2/user-create-v2.component.html b/console/src/app/pages/users/user-create/user-create-v2/user-create-v2.component.html index 7e2a0e7d7..98fe40859 100644 --- a/console/src/app/pages/users/user-create/user-create-v2/user-create-v2.component.html +++ b/console/src/app/pages/users/user-create/user-create-v2/user-create-v2.component.html @@ -23,16 +23,16 @@ {{ 'USER.PROFILE.USERNAME' | translate }} - + {{ 'USER.PROFILE.FIRSTNAME' | translate }} - + {{ 'USER.PROFILE.LASTNAME' | translate }} - +
diff --git a/console/src/app/pages/users/user-create/user-create-v2/user-create-v2.component.ts b/console/src/app/pages/users/user-create/user-create-v2/user-create-v2.component.ts index 33b51b3e7..97eb88d8d 100644 --- a/console/src/app/pages/users/user-create/user-create-v2/user-create-v2.component.ts +++ b/console/src/app/pages/users/user-create/user-create-v2/user-create-v2.component.ts @@ -33,7 +33,6 @@ import { PasswordComplexityValidatorFactoryService } from 'src/app/services/pass import { NewFeatureService } from 'src/app/services/new-feature.service'; import { takeUntilDestroyed } from '@angular/core/rxjs-interop'; import { GrpcAuthService } from 'src/app/services/grpc-auth.service'; -import { NewOrganizationService } from '../../../../services/new-organization.service'; type PwdForm = ReturnType; type AuthenticationFactor = @@ -98,9 +97,9 @@ export class UserCreateV2Component implements OnInit { return this.fb.group({ email: new FormControl('', { nonNullable: true, validators: [requiredValidator, emailValidator] }), - username: new FormControl('', { nonNullable: true, validators: [requiredValidator, minLengthValidator(2)] }), - givenName: new FormControl('', { nonNullable: true, validators: [requiredValidator] }), - familyName: new FormControl('', { nonNullable: true, validators: [requiredValidator] }), + userName: new FormControl('', { nonNullable: true, validators: [requiredValidator, minLengthValidator(2)] }), + firstName: new FormControl('', { nonNullable: true, validators: [requiredValidator] }), + lastName: new FormControl('', { nonNullable: true, validators: [requiredValidator] }), emailVerified: new FormControl(false, { nonNullable: true }), authenticationFactor: new FormControl(authenticationFactor, { nonNullable: true, @@ -189,10 +188,10 @@ export class UserCreateV2Component implements OnInit { const humanReq: MessageInitShape = { organization: { org: { case: 'orgId', value: activeOrg.id } }, - username: userValues.username, + username: userValues.userName, profile: { - givenName: userValues.givenName, - familyName: userValues.familyName, + givenName: userValues.firstName, + familyName: userValues.lastName, }, email: { email: userValues.email, diff --git a/console/src/app/pages/users/user-create/user-create.component.ts b/console/src/app/pages/users/user-create/user-create.component.ts index 0405b5694..9f790e0b7 100644 --- a/console/src/app/pages/users/user-create/user-create.component.ts +++ b/console/src/app/pages/users/user-create/user-create.component.ts @@ -142,7 +142,7 @@ export class UserCreateComponent implements OnInit { private getUseV2Api() { return defer(() => this.featureService.getInstanceFeatures()).pipe( map((features) => features.consoleUseV2UserApi?.enabled ?? false), - timeout(1000), + timeout(5000), catchError((err) => { if (!(err instanceof TimeoutError)) { this.toast.showError(err); diff --git a/package.json b/package.json index 609ebae79..9ae544614 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,7 @@ }, "devDependencies": { "@changesets/cli": "^2.29.8", - "nx": "21.6.1", + "nx": "21.6.9", "sass": "^1.97.1", "wait-on": "^9.0.3" } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 4c011a9f8..aedf49371 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -15,8 +15,8 @@ importers: specifier: ^2.29.8 version: 2.29.8(@types/node@24.10.4) nx: - specifier: 21.6.1 - version: 21.6.1(@swc/core@1.15.3(@swc/helpers@0.5.17)) + specifier: 21.6.9 + version: 21.6.9(@swc/core@1.15.3(@swc/helpers@0.5.17)) sass: specifier: ^1.97.1 version: 1.97.2 @@ -2388,15 +2388,9 @@ packages: resolution: {integrity: sha512-lBSBiRruFurFKXr5Hbsl2thmGweAPmddhF3jb99U4EMDA5L+e5Y1rAkOS07Nvrup7HUMBDrCV45meaxZnt28nQ==} engines: {node: '>=20.0'} - '@emnapi/core@1.5.0': - resolution: {integrity: sha512-sbP8GzB1WDzacS8fgNPpHlp6C9VZe+SJP3F90W9rLemaQj2PzIuTEl1qDOYQf58YIpyjViI24y9aPWCjEzY2cg==} - '@emnapi/core@1.8.1': resolution: {integrity: sha512-AvT9QFpxK0Zd8J0jopedNm+w/2fIzvtPKPjqyw9jwvBaReTTqPBk9Hixaz7KbjimP+QNz605/XnjFcDAL2pqBg==} - '@emnapi/runtime@1.5.0': - resolution: {integrity: sha512-97/BJ3iXHww3djw6hYIfErCZFee7qCtrneuLa20UXFCOTCfBM2cvQHjWJ2EG0s0MtdNwInarqCTz35i4wWXHsQ==} - '@emnapi/runtime@1.7.1': resolution: {integrity: sha512-PVtJr5CmLwYAU9PZDMITZoR5iAOShYREoR45EyyLrbntV50mdePTgUn4AmOw90Ifcj+x2kRjdzr1HP3RrNiHGA==} @@ -3684,9 +3678,6 @@ packages: '@napi-rs/wasm-runtime@0.2.4': resolution: {integrity: sha512-9zESzOO5aDByvhIAsOy9TbpZ0Ur2AJbUI7UT73kcUTS2mxAMHOBaa1st/jAymNoCtvrit99kkzT1FZuXVcgfIQ==} - '@napi-rs/wasm-runtime@1.0.4': - resolution: {integrity: sha512-+ZEtJPp8EF8h4kN6rLQECRor00H7jtDgBVtttIUoxuDkXLiQMaSBqju3LV/IEsMvqVG5pviUvR4jYhIA1xNm8w==} - '@napi-rs/wasm-runtime@1.1.1': resolution: {integrity: sha512-p64ah1M1ld8xjWv3qbvFwHiFVWrq1yFvV4f7w+mzaqiR4IlSgkqhcRdHwsGgomwzBH51sRY4NEowLxnaBjcW/A==} @@ -3821,53 +3812,53 @@ packages: resolution: {integrity: sha512-aoNSbxtkePXUlbZB+anS1LqsJdctG5n3UVhfU47+CDdwMi6uNTBMF9gPcQRnqghQd2FGzcwwIFBruFMxjhBewg==} engines: {node: ^18.17.0 || >=20.5.0} - '@nx/nx-darwin-arm64@21.6.3': - resolution: {integrity: sha512-y/Wuo+FEky/ehah5UyERpQpUOm+KOc437zRwUrMGumNUFk73DaHVMmqABCZ1J5eqam60XgRZhq05qpRn+8dhtA==} + '@nx/nx-darwin-arm64@21.6.9': + resolution: {integrity: sha512-rN5cJAjKvyXfi+Zep7wvSNtGr35X1/qrm96K/Sf4sybvowyHmDdEMYxkR6BPNT8ct5JGMm35xPfx1yF/rJek3w==} cpu: [arm64] os: [darwin] - '@nx/nx-darwin-x64@21.6.3': - resolution: {integrity: sha512-+9rogeP6EmlMBcUwflfOmFbQOWgAnJdupeJJuSenzWJCn/bE1C2iIGhuq4u4zajo2VceyN7uirlAWc8cQWCevw==} + '@nx/nx-darwin-x64@21.6.9': + resolution: {integrity: sha512-rb/Dtum094nfJL8lYohne1duZr8uNQ4gvWTq/Cw/xowJwXGq3xzsSS2WTpDpRBMF45K+42fipGHNeHbCyYSF7g==} cpu: [x64] os: [darwin] - '@nx/nx-freebsd-x64@21.6.3': - resolution: {integrity: sha512-jrewLpv/J84ze+sC+P0x1INVuXTWqU4qdZIPe0ItrRMDMmxiHdhm6LtHEEo5JYezqM/LgB87yjFE49Qsudtadw==} + '@nx/nx-freebsd-x64@21.6.9': + resolution: {integrity: sha512-Cd7QHeivvLBiQ6iRTsvprGk1YS+CaUCMw4A+3TOvHz608a/U3mEye8oRy2fyFTTL/lsH6dlihT3xi+HNyXKAyA==} cpu: [x64] os: [freebsd] - '@nx/nx-linux-arm-gnueabihf@21.6.3': - resolution: {integrity: sha512-VyMIKSp1N2ulA2wkAKIH+9a8k4tl67bH2wnvYROTRnfFykeczodfOxWeCAggS//1ccBM05pRxBklMt7fgAqV8w==} + '@nx/nx-linux-arm-gnueabihf@21.6.9': + resolution: {integrity: sha512-ASXay2jKhSU4tfY9Z2ByysqDQxYgTHCtoJ+XR5xRv9aoIos6oYeKAqQV/RLXpTklugu08nBtL/4IRw58x4oU4A==} cpu: [arm] os: [linux] - '@nx/nx-linux-arm64-gnu@21.6.3': - resolution: {integrity: sha512-l6/YZp5MJ5TYWbHoaR31lsqd4Ia2AnaGSACeNCUAsUsUNaa099nwmvFaKQEJxUX1aMpe4kHLyVbomK7ydEX+pg==} + '@nx/nx-linux-arm64-gnu@21.6.9': + resolution: {integrity: sha512-1VS38xnAC8iH05A0nnbNn1hi9ypRnEPUfgLL3tPhAwQTWX2DQz4xR/j0NYNcCzL6yBe/JhdKlYoN/LI38lj2UA==} cpu: [arm64] os: [linux] - '@nx/nx-linux-arm64-musl@21.6.3': - resolution: {integrity: sha512-klidxt4eiSxgLa1LW7YUHstm3qsptz+XD1+3w0ofX1rkdVkK1afrfcolzoeZ5nc4Av7MzZB0g0PoFTGHUIBkrw==} + '@nx/nx-linux-arm64-musl@21.6.9': + resolution: {integrity: sha512-PScHPs0dp+Cc17RvY4Y5wlDXT6xdDlsyhna2JLawodVCyUVArtnbF7whn/VEZKesDD/vAf1avCt4oAjuYS8VXg==} cpu: [arm64] os: [linux] - '@nx/nx-linux-x64-gnu@21.6.3': - resolution: {integrity: sha512-B5ZvolVUIKKmacbZw1XD2nBIbebE2T6vBbMYq6kZP7PfSsfO5Y0HaWIsK8ulwCj35TPaEn9x/XbHJp5RakU7Ng==} + '@nx/nx-linux-x64-gnu@21.6.9': + resolution: {integrity: sha512-s8oX6/pLolHH3EyFJPcKITv+rzN/IZuidMCNkGfcr0jYVqrTZcJo8xUEwAQzf6u6J6urOm0bUK3BDuwJLEKESg==} cpu: [x64] os: [linux] - '@nx/nx-linux-x64-musl@21.6.3': - resolution: {integrity: sha512-11L6SigPvjnIFbr4ivXlcH0fOPs55SvT8gkg2TOsSohKFY/Ze4O43NuoZe/7dilLjNgq8aWTbnbSuRK/kFGdBQ==} + '@nx/nx-linux-x64-musl@21.6.9': + resolution: {integrity: sha512-bojpGcscRrnet5N3waeHYnBHW0y6r5tSQ1phnwMjgoBFmWXw+0M+z/f2dfZcTtBmWc7Y/TnzaGb8EenC3a63cQ==} cpu: [x64] os: [linux] - '@nx/nx-win32-arm64-msvc@21.6.3': - resolution: {integrity: sha512-hC84RvGp5YxGhQLitHcg3cohTy7sdsvIRIErq3EsJNlHIaUTZJAegno26sRpRE4Y/5G5RWqfzDCCERg9c3Askw==} + '@nx/nx-win32-arm64-msvc@21.6.9': + resolution: {integrity: sha512-cS1bdMiJBs4AcykJ3+vtAdw4RkZLLfXT20o+k07dEskRFADIa5yXdOs2j0qKoe7iCiORKCH+gI/YsPHCyHfV9Q==} cpu: [arm64] os: [win32] - '@nx/nx-win32-x64-msvc@21.6.3': - resolution: {integrity: sha512-vcnVwrTsOVdN6ovKO6qFDHXYRa+lxKFLRGCUHvJvjTOddT1/xJqkL8NE4i1YDWZiCQCck0BizR3Kvs+N0DqHoQ==} + '@nx/nx-win32-x64-msvc@21.6.9': + resolution: {integrity: sha512-EX0ja8gWnmomiSbK9K58oATpTn/+KU6RKcrfzqA3yL5x/a+kEPSf66QOXGQjDpCGKWMoxN+6ex7zhpmqbqKxgg==} cpu: [x64] os: [win32] @@ -5474,9 +5465,6 @@ packages: resolution: {integrity: sha512-UUYHISyhCU3ZgN8yaear3cGATHb3SMuKHsQ/nVbHXcmnBf+LzQ/cQfhNG+rfaSHgqGKNEm2cOCLVLELStUQ1JA==} engines: {node: ^18.17.0 || >=20.5.0} - '@tybys/wasm-util@0.10.0': - resolution: {integrity: sha512-VyyPYFlOMNylG45GoAe0xDoLwWuowvf92F9kySqzYh8vmYm7D2u4iUJKa1tOUpS70Ku13ASrOkS4ScXFsTaCNQ==} - '@tybys/wasm-util@0.10.1': resolution: {integrity: sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==} @@ -6471,9 +6459,6 @@ packages: resolution: {integrity: sha512-Xm7bpRXnDSX2YE2YFfBk2FnF0ep6tmG7xPh8iHee8MIcrgq762Nkce856dYtJYLkuIoYZvGfTs/PbZhideTcEg==} engines: {node: '>=4'} - axios@1.12.2: - resolution: {integrity: sha512-vMJzPewAlRyOgxV2dU0Cuz2O8zzzx9VYtbJOaBgXFeLc4IV/Eg50n4LowmehOOR61S8ZMpc2K5Sa7g6A4jfkUw==} - axios@1.13.2: resolution: {integrity: sha512-VPk9ebNqPcy5lRGuSlKx752IlDatOjT9paPlm8A7yOuW2Fbvp4X3JznJtT4f0GzGLLiWE9W8onz51SqLYwzGaA==} @@ -10583,10 +10568,6 @@ packages: minimalistic-assert@1.0.1: resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} - minimatch@10.0.3: - resolution: {integrity: sha512-IPZ167aShDZZUMdRk66cyQAW3qr0WzbHkPdMYa8bzZhlHhO3jALbKdxcaak7W9FfT2rZNpQuUu4Od7ILEpXSaw==} - engines: {node: 20 || >=22} - minimatch@10.1.1: resolution: {integrity: sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==} engines: {node: 20 || >=22} @@ -10944,8 +10925,8 @@ packages: nwsapi@2.2.22: resolution: {integrity: sha512-ujSMe1OWVn55euT1ihwCI1ZcAaAU3nxUiDwfDQldc51ZXaB9m2AyOn6/jh1BLe2t/G8xd6uKG1UBF2aZJeg2SQ==} - nx@21.6.1: - resolution: {integrity: sha512-sVz4kXPxhHm+jyLpRlQblHP3ltlkivUc2psl6WpEbS3Z1pV5cMg6H/GDLohLt5VyQ8tgqKNA+mXQqljVUh8hWg==} + nx@21.6.9: + resolution: {integrity: sha512-RPuIb04QIOE2WLDcvKDjrAQlkI9+EnP8/9KyG/I296JA1lJhlIk7BH3F6Py7uLHD7B1adSBsCDf/tT6540Ng7A==} hasBin: true peerDependencies: '@swc-node/register': ^1.8.0 @@ -15035,7 +15016,7 @@ snapshots: '@babel/traverse': 7.28.5 '@babel/types': 7.28.4 convert-source-map: 2.0.0 - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@8.1.1) gensync: 1.0.0-beta.2 json5: 2.2.3 semver: 6.3.1 @@ -15055,7 +15036,7 @@ snapshots: '@babel/traverse': 7.28.5 '@babel/types': 7.28.5 convert-source-map: 2.0.0 - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@8.1.1) gensync: 1.0.0-beta.2 json5: 2.2.3 semver: 6.3.1 @@ -15075,7 +15056,7 @@ snapshots: '@babel/types': 7.28.5 '@jridgewell/remapping': 2.3.5 convert-source-map: 2.0.0 - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@8.1.1) gensync: 1.0.0-beta.2 json5: 2.2.3 semver: 6.3.1 @@ -15135,7 +15116,7 @@ snapshots: '@babel/core': 7.28.5 '@babel/helper-compilation-targets': 7.27.2 '@babel/helper-plugin-utils': 7.27.1 - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@8.1.1) lodash.debounce: 4.0.8 resolve: 1.22.11 transitivePeerDependencies: @@ -15846,7 +15827,7 @@ snapshots: '@babel/parser': 7.28.5 '@babel/template': 7.27.2 '@babel/types': 7.28.5 - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@8.1.1) transitivePeerDependencies: - supports-color @@ -16473,7 +16454,7 @@ snapshots: '@babel/preset-env': 7.28.5(@babel/core@7.28.5) '@babel/preset-react': 7.28.5(@babel/core@7.28.5) '@babel/preset-typescript': 7.28.5(@babel/core@7.28.5) - '@babel/runtime': 7.28.4 + '@babel/runtime': 7.28.6 '@babel/runtime-corejs3': 7.28.4 '@babel/traverse': 7.28.5 '@docusaurus/logger': 3.9.2 @@ -17262,25 +17243,14 @@ snapshots: - uglify-js - webpack-cli - '@emnapi/core@1.5.0': - dependencies: - '@emnapi/wasi-threads': 1.1.0 - tslib: 2.8.1 - '@emnapi/core@1.8.1': dependencies: '@emnapi/wasi-threads': 1.1.0 tslib: 2.8.1 - optional: true - - '@emnapi/runtime@1.5.0': - dependencies: - tslib: 2.8.1 '@emnapi/runtime@1.7.1': dependencies: tslib: 2.8.1 - optional: true '@emnapi/wasi-threads@1.1.0': dependencies: @@ -17703,7 +17673,7 @@ snapshots: '@antfu/install-pkg': 1.1.0 '@antfu/utils': 9.2.0 '@iconify/types': 2.0.0 - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@8.1.1) globals: 15.15.0 kolorist: 1.8.0 local-pkg: 1.1.2 @@ -18199,14 +18169,14 @@ snapshots: '@manypkg/find-root@1.1.0': dependencies: - '@babel/runtime': 7.28.4 + '@babel/runtime': 7.28.6 '@types/node': 12.20.55 find-up: 4.1.0 fs-extra: 8.1.0 '@manypkg/get-packages@1.1.3': dependencies: - '@babel/runtime': 7.28.4 + '@babel/runtime': 7.28.6 '@changesets/types': 4.1.0 '@manypkg/find-root': 1.1.0 fs-extra: 8.1.0 @@ -18405,23 +18375,16 @@ snapshots: '@napi-rs/wasm-runtime@0.2.12': dependencies: - '@emnapi/core': 1.5.0 + '@emnapi/core': 1.8.1 '@emnapi/runtime': 1.7.1 - '@tybys/wasm-util': 0.10.0 + '@tybys/wasm-util': 0.10.1 optional: true '@napi-rs/wasm-runtime@0.2.4': dependencies: - '@emnapi/core': 1.5.0 - '@emnapi/runtime': 1.5.0 - '@tybys/wasm-util': 0.9.0 - - '@napi-rs/wasm-runtime@1.0.4': - dependencies: - '@emnapi/core': 1.5.0 + '@emnapi/core': 1.8.1 '@emnapi/runtime': 1.7.1 - '@tybys/wasm-util': 0.10.0 - optional: true + '@tybys/wasm-util': 0.9.0 '@napi-rs/wasm-runtime@1.1.1': dependencies: @@ -18566,34 +18529,34 @@ snapshots: transitivePeerDependencies: - supports-color - '@nx/nx-darwin-arm64@21.6.3': + '@nx/nx-darwin-arm64@21.6.9': optional: true - '@nx/nx-darwin-x64@21.6.3': + '@nx/nx-darwin-x64@21.6.9': optional: true - '@nx/nx-freebsd-x64@21.6.3': + '@nx/nx-freebsd-x64@21.6.9': optional: true - '@nx/nx-linux-arm-gnueabihf@21.6.3': + '@nx/nx-linux-arm-gnueabihf@21.6.9': optional: true - '@nx/nx-linux-arm64-gnu@21.6.3': + '@nx/nx-linux-arm64-gnu@21.6.9': optional: true - '@nx/nx-linux-arm64-musl@21.6.3': + '@nx/nx-linux-arm64-musl@21.6.9': optional: true - '@nx/nx-linux-x64-gnu@21.6.3': + '@nx/nx-linux-x64-gnu@21.6.9': optional: true - '@nx/nx-linux-x64-musl@21.6.3': + '@nx/nx-linux-x64-musl@21.6.9': optional: true - '@nx/nx-win32-arm64-msvc@21.6.3': + '@nx/nx-win32-arm64-msvc@21.6.9': optional: true - '@nx/nx-win32-x64-msvc@21.6.3': + '@nx/nx-win32-x64-msvc@21.6.9': optional: true '@opentelemetry/api@1.9.0': {} @@ -18784,7 +18747,7 @@ snapshots: '@puppeteer/browsers@2.3.0': dependencies: - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@8.1.1) extract-zip: 2.0.1(supports-color@8.1.1) progress: 2.0.3 proxy-agent: 6.5.0 @@ -19707,7 +19670,7 @@ snapshots: '@rspack/binding-wasm32-wasi@1.5.3': dependencies: - '@napi-rs/wasm-runtime': 1.0.4 + '@napi-rs/wasm-runtime': 1.1.1 optional: true '@rspack/binding-win32-arm64-msvc@1.5.3': @@ -20165,11 +20128,6 @@ snapshots: '@tufjs/canonical-json': 2.0.0 minimatch: 9.0.5 - '@tybys/wasm-util@0.10.0': - dependencies: - tslib: 2.8.1 - optional: true - '@tybys/wasm-util@0.10.1': dependencies: tslib: 2.8.1 @@ -20402,9 +20360,9 @@ snapshots: '@types/history@4.7.11': {} - '@types/hoist-non-react-statics@3.3.7(@types/react@19.2.8)': + '@types/hoist-non-react-statics@3.3.7(@types/react@19.2.7)': dependencies: - '@types/react': 19.2.8 + '@types/react': 19.2.7 hoist-non-react-statics: 3.3.2 '@types/html-minifier-terser@6.1.0': {} @@ -20510,8 +20468,8 @@ snapshots: '@types/react-redux@7.1.34': dependencies: - '@types/hoist-non-react-statics': 3.3.7(@types/react@19.2.8) - '@types/react': 19.2.8 + '@types/hoist-non-react-statics': 3.3.7(@types/react@19.2.7) + '@types/react': 19.2.7 hoist-non-react-statics: 3.3.2 redux: 4.2.1 @@ -20641,7 +20599,7 @@ snapshots: '@typescript-eslint/types': 8.52.0 '@typescript-eslint/typescript-estree': 8.52.0(typescript@5.9.2) '@typescript-eslint/visitor-keys': 8.52.0 - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@8.1.1) eslint: 8.57.1 typescript: 5.9.2 transitivePeerDependencies: @@ -20653,7 +20611,7 @@ snapshots: '@typescript-eslint/types': 8.52.0 '@typescript-eslint/typescript-estree': 8.52.0(typescript@5.9.3) '@typescript-eslint/visitor-keys': 8.52.0 - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@8.1.1) eslint: 8.57.1 typescript: 5.9.3 transitivePeerDependencies: @@ -20663,7 +20621,7 @@ snapshots: dependencies: '@typescript-eslint/tsconfig-utils': 8.52.0(typescript@5.9.2) '@typescript-eslint/types': 8.52.0 - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@8.1.1) typescript: 5.9.2 transitivePeerDependencies: - supports-color @@ -20672,7 +20630,7 @@ snapshots: dependencies: '@typescript-eslint/tsconfig-utils': 8.52.0(typescript@5.9.3) '@typescript-eslint/types': 8.52.0 - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@8.1.1) typescript: 5.9.3 transitivePeerDependencies: - supports-color @@ -20700,7 +20658,7 @@ snapshots: '@typescript-eslint/types': 8.52.0 '@typescript-eslint/typescript-estree': 8.52.0(typescript@5.9.2) '@typescript-eslint/utils': 8.52.0(eslint@8.57.1)(typescript@5.9.2) - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@8.1.1) eslint: 8.57.1 ts-api-utils: 2.4.0(typescript@5.9.2) typescript: 5.9.2 @@ -20712,7 +20670,7 @@ snapshots: '@typescript-eslint/types': 8.52.0 '@typescript-eslint/typescript-estree': 8.52.0(typescript@5.9.3) '@typescript-eslint/utils': 8.52.0(eslint@8.57.1)(typescript@5.9.3) - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@8.1.1) eslint: 8.57.1 ts-api-utils: 2.4.0(typescript@5.9.3) typescript: 5.9.3 @@ -20727,7 +20685,7 @@ snapshots: dependencies: '@typescript-eslint/types': 8.0.0-alpha.20 '@typescript-eslint/visitor-keys': 8.0.0-alpha.20 - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@8.1.1) globby: 11.1.0 is-glob: 4.0.3 minimatch: 9.0.5 @@ -20744,7 +20702,7 @@ snapshots: '@typescript-eslint/tsconfig-utils': 8.52.0(typescript@5.9.2) '@typescript-eslint/types': 8.52.0 '@typescript-eslint/visitor-keys': 8.52.0 - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@8.1.1) minimatch: 9.0.5 semver: 7.7.3 tinyglobby: 0.2.15 @@ -20759,7 +20717,7 @@ snapshots: '@typescript-eslint/tsconfig-utils': 8.52.0(typescript@5.9.3) '@typescript-eslint/types': 8.52.0 '@typescript-eslint/visitor-keys': 8.52.0 - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@8.1.1) minimatch: 9.0.5 semver: 7.7.3 tinyglobby: 0.2.15 @@ -21405,14 +21363,6 @@ snapshots: axe-core@4.10.3: {} - axios@1.12.2: - dependencies: - follow-redirects: 1.15.11(debug@4.4.3) - form-data: 4.0.4 - proxy-from-env: 1.1.0 - transitivePeerDependencies: - - debug - axios@1.13.2(debug@4.4.3): dependencies: follow-redirects: 1.15.11(debug@4.4.3) @@ -21574,7 +21524,7 @@ snapshots: dependencies: bytes: 3.1.2 content-type: 1.0.5 - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@8.1.1) http-errors: 2.0.0 iconv-lite: 0.6.3 on-finished: 2.4.1 @@ -22729,7 +22679,7 @@ snapshots: detect-port@1.6.1: dependencies: address: 1.2.2 - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@8.1.1) transitivePeerDependencies: - supports-color @@ -23706,7 +23656,7 @@ snapshots: content-type: 1.0.5 cookie: 0.7.2 cookie-signature: 1.2.2 - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@8.1.1) encodeurl: 2.0.0 escape-html: 1.0.3 etag: 1.8.1 @@ -23866,7 +23816,7 @@ snapshots: finalhandler@2.1.0: dependencies: - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@8.1.1) encodeurl: 2.0.0 escape-html: 1.0.3 on-finished: 2.4.1 @@ -23921,7 +23871,7 @@ snapshots: follow-redirects@1.15.11(debug@4.4.3): optionalDependencies: - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@8.1.1) for-each@0.3.5: dependencies: @@ -24100,7 +24050,7 @@ snapshots: dependencies: basic-ftp: 5.0.5 data-uri-to-buffer: 6.0.2 - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@8.1.1) transitivePeerDependencies: - supports-color optional: true @@ -24559,7 +24509,7 @@ snapshots: history@4.10.1: dependencies: - '@babel/runtime': 7.28.4 + '@babel/runtime': 7.28.6 loose-envify: 1.4.0 resolve-pathname: 3.0.0 tiny-invariant: 1.3.3 @@ -24769,7 +24719,7 @@ snapshots: ignore-walk@8.0.0: dependencies: - minimatch: 10.0.3 + minimatch: 10.1.1 ignore@5.3.2: {} @@ -25117,7 +25067,7 @@ snapshots: istanbul-lib-source-maps@3.0.6: dependencies: - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@8.1.1) istanbul-lib-coverage: 2.0.5 make-dir: 2.1.0 rimraf: 2.7.1 @@ -25127,7 +25077,7 @@ snapshots: istanbul-lib-source-maps@4.0.1: dependencies: - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@8.1.1) istanbul-lib-coverage: 3.2.2 source-map: 0.6.1 transitivePeerDependencies: @@ -25736,7 +25686,7 @@ snapshots: log4js@6.9.1: dependencies: date-format: 4.0.14 - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@8.1.1) flatted: 3.3.3 rfdc: 1.4.1 streamroller: 3.1.5 @@ -26770,7 +26720,7 @@ snapshots: micromark@3.2.0: dependencies: '@types/debug': 4.1.12 - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@8.1.1) decode-named-character-reference: 1.2.0 micromark-core-commonmark: 1.1.0 micromark-factory-space: 1.1.0 @@ -26792,7 +26742,7 @@ snapshots: micromark@4.0.2: dependencies: '@types/debug': 4.1.12 - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@8.1.1) decode-named-character-reference: 1.2.0 devlop: 1.1.0 micromark-core-commonmark: 2.0.3 @@ -26864,10 +26814,6 @@ snapshots: minimalistic-assert@1.0.1: {} - minimatch@10.0.3: - dependencies: - '@isaacs/brace-expansion': 5.0.0 - minimatch@10.1.1: dependencies: '@isaacs/brace-expansion': 5.0.0 @@ -27291,13 +27237,13 @@ snapshots: nwsapi@2.2.22: {} - nx@21.6.1(@swc/core@1.15.3(@swc/helpers@0.5.17)): + nx@21.6.9(@swc/core@1.15.3(@swc/helpers@0.5.17)): dependencies: '@napi-rs/wasm-runtime': 0.2.4 '@yarnpkg/lockfile': 1.1.0 '@yarnpkg/parsers': 3.0.2 '@zkochan/js-yaml': 0.0.7 - axios: 1.12.2 + axios: 1.13.2(debug@4.4.3) chalk: 4.1.2 cli-cursor: 3.1.0 cli-spinners: 2.6.1 @@ -27318,7 +27264,7 @@ snapshots: open: 8.4.2 ora: 5.3.0 resolve.exports: 2.0.3 - semver: 7.7.2 + semver: 7.7.3 string-width: 4.2.3 tar-stream: 2.2.0 tmp: 0.2.5 @@ -27329,16 +27275,16 @@ snapshots: yargs: 17.7.2 yargs-parser: 21.1.1 optionalDependencies: - '@nx/nx-darwin-arm64': 21.6.3 - '@nx/nx-darwin-x64': 21.6.3 - '@nx/nx-freebsd-x64': 21.6.3 - '@nx/nx-linux-arm-gnueabihf': 21.6.3 - '@nx/nx-linux-arm64-gnu': 21.6.3 - '@nx/nx-linux-arm64-musl': 21.6.3 - '@nx/nx-linux-x64-gnu': 21.6.3 - '@nx/nx-linux-x64-musl': 21.6.3 - '@nx/nx-win32-arm64-msvc': 21.6.3 - '@nx/nx-win32-x64-msvc': 21.6.3 + '@nx/nx-darwin-arm64': 21.6.9 + '@nx/nx-darwin-x64': 21.6.9 + '@nx/nx-freebsd-x64': 21.6.9 + '@nx/nx-linux-arm-gnueabihf': 21.6.9 + '@nx/nx-linux-arm64-gnu': 21.6.9 + '@nx/nx-linux-arm64-musl': 21.6.9 + '@nx/nx-linux-x64-gnu': 21.6.9 + '@nx/nx-linux-x64-musl': 21.6.9 + '@nx/nx-win32-arm64-msvc': 21.6.9 + '@nx/nx-win32-x64-msvc': 21.6.9 '@swc/core': 1.15.3(@swc/helpers@0.5.17) transitivePeerDependencies: - debug @@ -27652,7 +27598,7 @@ snapshots: dependencies: '@tootallnate/quickjs-emscripten': 0.23.0 agent-base: 7.1.4 - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@8.1.1) get-uri: 6.0.5 http-proxy-agent: 7.0.2 https-proxy-agent: 7.0.6 @@ -28528,7 +28474,7 @@ snapshots: proxy-agent@6.5.0: dependencies: agent-base: 7.1.4 - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@8.1.1) http-proxy-agent: 7.0.2 https-proxy-agent: 7.0.6 lru-cache: 7.18.3 @@ -28571,7 +28517,7 @@ snapshots: dependencies: '@puppeteer/browsers': 2.3.0 chromium-bidi: 0.6.3(devtools-protocol@0.0.1312386) - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@8.1.1) devtools-protocol: 0.0.1312386 ws: 8.18.3 transitivePeerDependencies: @@ -28711,7 +28657,7 @@ snapshots: react-loadable-ssr-addon-v5-slorber@1.0.1(@docusaurus/react-loadable@6.0.0(react@19.2.3))(webpack@5.102.1(@swc/core@1.13.5(@swc/helpers@0.5.17))): dependencies: - '@babel/runtime': 7.28.4 + '@babel/runtime': 7.28.6 react-loadable: '@docusaurus/react-loadable@6.0.0(react@19.2.3)' webpack: 5.102.1(@swc/core@1.13.5(@swc/helpers@0.5.17)) @@ -28809,13 +28755,13 @@ snapshots: react-router-config@5.1.1(react-router@5.3.4(react@19.2.3))(react@19.2.3): dependencies: - '@babel/runtime': 7.28.4 + '@babel/runtime': 7.28.6 react: 19.2.3 react-router: 5.3.4(react@19.2.3) react-router-dom@5.3.4(react@19.2.3): dependencies: - '@babel/runtime': 7.28.4 + '@babel/runtime': 7.28.6 history: 4.10.1 loose-envify: 1.4.0 prop-types: 15.8.1 @@ -28826,7 +28772,7 @@ snapshots: react-router@5.3.4(react@19.2.3): dependencies: - '@babel/runtime': 7.28.4 + '@babel/runtime': 7.28.6 history: 4.10.1 hoist-non-react-statics: 3.3.2 loose-envify: 1.4.0 @@ -29270,7 +29216,7 @@ snapshots: router@2.2.0: dependencies: - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@8.1.1) depd: 2.0.0 is-promise: 4.0.0 parseurl: 1.3.3 @@ -29437,7 +29383,7 @@ snapshots: send@1.2.0: dependencies: - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@8.1.1) encodeurl: 2.0.0 escape-html: 1.0.3 etag: 1.8.1 @@ -29745,7 +29691,7 @@ snapshots: socks-proxy-agent@8.0.5: dependencies: agent-base: 7.1.4 - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@8.1.1) socks: 2.8.7 transitivePeerDependencies: - supports-color @@ -29793,7 +29739,7 @@ snapshots: spdy-transport@3.0.0: dependencies: - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@8.1.1) detect-node: 2.1.0 hpack.js: 2.1.6 obuf: 1.1.2 @@ -29804,7 +29750,7 @@ snapshots: spdy@4.0.2: dependencies: - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@8.1.1) handle-thing: 2.0.1 http-deceiver: 1.2.7 select-hose: 2.0.0 @@ -29851,7 +29797,7 @@ snapshots: arg: 5.0.2 bluebird: 3.7.2 check-more-types: 2.24.0 - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@8.1.1) execa: 5.1.1 lazy-ass: 1.6.0 ps-tree: 1.2.0 @@ -29879,7 +29825,7 @@ snapshots: streamroller@3.1.5: dependencies: date-format: 4.0.14 - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@8.1.1) fs-extra: 8.1.0 transitivePeerDependencies: - supports-color @@ -30411,7 +30357,7 @@ snapshots: cac: 6.7.14 chokidar: 4.0.3 consola: 3.4.2 - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@8.1.1) esbuild: 0.27.2 fix-dts-default-cjs-exports: 1.0.1 joycon: 3.1.1 @@ -30437,7 +30383,7 @@ snapshots: tuf-js@3.1.0: dependencies: '@tufjs/models': 3.0.1 - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@8.1.1) make-fetch-happen: 14.0.3 transitivePeerDependencies: - supports-color @@ -30902,7 +30848,7 @@ snapshots: vite-node@2.1.9(@types/node@22.19.3)(less@4.1.3)(lightningcss@1.30.1)(sass@1.97.2)(terser@5.44.0): dependencies: cac: 6.7.14 - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@8.1.1) es-module-lexer: 1.7.0 pathe: 1.1.2 vite: 5.4.20(@types/node@22.19.3)(less@4.1.3)(lightningcss@1.30.1)(sass@1.97.2)(terser@5.44.0) @@ -30920,7 +30866,7 @@ snapshots: vite-node@2.1.9(@types/node@24.10.4)(less@4.1.3)(lightningcss@1.30.1)(sass@1.97.2)(terser@5.44.0): dependencies: cac: 6.7.14 - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@8.1.1) es-module-lexer: 1.7.0 pathe: 1.1.2 vite: 5.4.20(@types/node@24.10.4)(less@4.1.3)(lightningcss@1.30.1)(sass@1.97.2)(terser@5.44.0) @@ -31017,7 +30963,7 @@ snapshots: '@vitest/spy': 2.1.9 '@vitest/utils': 2.1.9 chai: 5.3.3 - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@8.1.1) expect-type: 1.2.2 magic-string: 0.30.19 pathe: 1.1.2 @@ -31053,7 +30999,7 @@ snapshots: '@vitest/spy': 2.1.9 '@vitest/utils': 2.1.9 chai: 5.3.3 - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@8.1.1) expect-type: 1.2.2 magic-string: 0.30.19 pathe: 1.1.2 diff --git a/tests/functional-ui/project.json b/tests/functional-ui/project.json index f62c5e1bc..542b0e55a 100644 --- a/tests/functional-ui/project.json +++ b/tests/functional-ui/project.json @@ -1,5 +1,6 @@ { "$schema": "../../node_modules/nx/schemas/project-schema.json", + "implicitDependencies": ["@zitadel/api"], "targets": { "run-db": { "continuous": true, @@ -9,9 +10,7 @@ "run-api": { "description": "Sets up and runs the Zitadel API with the embedded Management Console against which the functional UI tests are run.", "continuous": true, - "dependsOn": [ - "@zitadel/api:build" - ], + "dependsOn": ["@zitadel/api:build"], "executor": "nx:run-commands", "options": { "command": "nx run @zitadel/api:prod:test-functional-ui --excludeTaskDependencies" @@ -20,18 +19,11 @@ "open": { "description": "Opens the Cypress Test Runner for interactive testing.", "continuous": true, - "dependsOn": [ - "@zitadel/console:dev", - "run-db", - "run-api" - ] + "dependsOn": ["@zitadel/console:dev", "run-db", "run-api"] }, "test": { "description": "Runs the functional UI (Console) tests against a Zitadel API and a specified browser. Pass an installed browser as an argument, like --browser electron. The 'electron' browser should always be available.", - "dependsOn": [ - "run-db", - "run-api" - ], + "dependsOn": ["run-db", "run-api", "@zitadel/api:build"], "executor": "nx:run-commands", "options": { "parallel": false, @@ -44,13 +36,11 @@ ] }, "cache": true, - "inputs": [ - "default" - ] + "inputs": ["default", { "dependentTasksOutputFiles": ".artifacts/bin/*/*/zitadel.local" }] }, "stop": { "description": "Stops the local Postgres database used for functional UI (Console) tests.", "command": "nx run @zitadel/devcontainer:compose down --volumes db-functional-ui" } } -} \ No newline at end of file +}