From 142638be3b8dddfa721e80403b8ff18901138418 Mon Sep 17 00:00:00 2001
From: chrisjwalk-bot <268224883+chrisjwalk-bot@users.noreply.github.com>
Date: Sat, 30 May 2026 13:31:58 -0400
Subject: [PATCH 01/22] feat: add micro-frontend example using
@module-federation/vite (closes #168)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
- Add apps/counter-remote as MFE remote (port 4201, exposes ./Routes)
- Configure @module-federation/vite 1.16.2 on both host and remote
- Use federation() plugin disabled in test mode to avoid Vitest conflicts
- Add mfe-counter route to web-app using dynamic import('counter-remote/Routes')
- Add MFE Counter nav link in shared nav-links
- Add TypeScript module declaration for counter-remote/Routes
- Externalize virtual:pwa-register in remote build (tree-shaken, not instantiated)
- Set chrome89 build target on both host and remote for top-level await support
- Add passWithNoTests + tsconfig.spec.json to counter-remote for empty test suite
- Known limitation: LayoutStore singleton — remote bundles its own copy of
@myorg/shared, so nav title won't update when loaded as MFE (workspace libs
cannot be in MF shared config, only npm packages)
- Demo targets nx serve (dev mode); @module-federation/vite issue #707 (async
__loadShare__ wrappers) may affect production builds with ng-content components
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---
apps/counter-remote/index.html | 13 +++
apps/counter-remote/project.json | 51 ++++++++++
apps/counter-remote/src/app/app.config.ts | 18 ++++
apps/counter-remote/src/app/app.routes.ts | 7 ++
apps/counter-remote/src/app/app.ts | 11 ++
apps/counter-remote/src/main.ts | 5 +
apps/counter-remote/src/remote-routes.ts | 1 +
apps/counter-remote/src/test-setup.ts | 1 +
apps/counter-remote/tsconfig.app.json | 11 ++
apps/counter-remote/tsconfig.json | 33 ++++++
apps/counter-remote/tsconfig.spec.json | 22 ++++
apps/counter-remote/vite.config.ts | 58 +++++++++++
apps/web-app/src/app/app.routes.ts | 5 +
apps/web-app/src/types/remotes.d.ts | 4 +
apps/web-app/vite.config.ts | 48 ++++++++-
libs/shared/src/lib/components/nav-links.ts | 6 ++
package.json | 1 +
pnpm-lock.yaml | 107 ++++++++++++++++++++
18 files changed, 401 insertions(+), 1 deletion(-)
create mode 100644 apps/counter-remote/index.html
create mode 100644 apps/counter-remote/project.json
create mode 100644 apps/counter-remote/src/app/app.config.ts
create mode 100644 apps/counter-remote/src/app/app.routes.ts
create mode 100644 apps/counter-remote/src/app/app.ts
create mode 100644 apps/counter-remote/src/main.ts
create mode 100644 apps/counter-remote/src/remote-routes.ts
create mode 100644 apps/counter-remote/src/test-setup.ts
create mode 100644 apps/counter-remote/tsconfig.app.json
create mode 100644 apps/counter-remote/tsconfig.json
create mode 100644 apps/counter-remote/tsconfig.spec.json
create mode 100644 apps/counter-remote/vite.config.ts
create mode 100644 apps/web-app/src/types/remotes.d.ts
diff --git a/apps/counter-remote/index.html b/apps/counter-remote/index.html
new file mode 100644
index 00000000..532bcc0c
--- /dev/null
+++ b/apps/counter-remote/index.html
@@ -0,0 +1,13 @@
+
+
+
+
+ Counter Remote
+
+
+
+
+
+
+
+
diff --git a/apps/counter-remote/project.json b/apps/counter-remote/project.json
new file mode 100644
index 00000000..9e1fa798
--- /dev/null
+++ b/apps/counter-remote/project.json
@@ -0,0 +1,51 @@
+{
+ "name": "counter-remote",
+ "$schema": "../../node_modules/nx/schemas/project.schema.json",
+ "sourceRoot": "apps/counter-remote/src",
+ "projectType": "application",
+ "tags": ["type:app"],
+ "targets": {
+ "build": {
+ "executor": "@nx/vite:build",
+ "outputs": ["{options.outputPath}"],
+ "options": {
+ "outputPath": "dist/apps/counter-remote"
+ },
+ "configurations": {
+ "development": {
+ "mode": "development"
+ },
+ "production": {
+ "mode": "production"
+ }
+ }
+ },
+ "serve": {
+ "executor": "@nx/vite:dev-server",
+ "defaultConfiguration": "development",
+ "options": {
+ "buildTarget": "counter-remote:build",
+ "port": 4201
+ },
+ "configurations": {
+ "development": {
+ "buildTarget": "counter-remote:build:development"
+ },
+ "production": {
+ "buildTarget": "counter-remote:build:production",
+ "hmr": false
+ }
+ }
+ },
+ "test": {
+ "executor": "@nx/vitest:test",
+ "outputs": ["{projectRoot}/../../coverage/apps/counter-remote"],
+ "options": {
+ "reportsDirectory": "{projectRoot}/../../coverage/apps/counter-remote"
+ }
+ },
+ "lint": {
+ "executor": "@nx/eslint:lint"
+ }
+ }
+}
diff --git a/apps/counter-remote/src/app/app.config.ts b/apps/counter-remote/src/app/app.config.ts
new file mode 100644
index 00000000..5fda5eb8
--- /dev/null
+++ b/apps/counter-remote/src/app/app.config.ts
@@ -0,0 +1,18 @@
+import {
+ ApplicationConfig,
+ provideZonelessChangeDetection,
+} from '@angular/core';
+import { provideHttpClient, withFetch } from '@angular/common/http';
+import { provideAnimationsAsync } from '@angular/platform-browser/animations/async';
+import { provideRouter } from '@angular/router';
+
+import { routes } from './app.routes';
+
+export const appConfig: ApplicationConfig = {
+ providers: [
+ provideZonelessChangeDetection(),
+ provideHttpClient(withFetch()),
+ provideAnimationsAsync(),
+ provideRouter(routes),
+ ],
+};
diff --git a/apps/counter-remote/src/app/app.routes.ts b/apps/counter-remote/src/app/app.routes.ts
new file mode 100644
index 00000000..5f1520f5
--- /dev/null
+++ b/apps/counter-remote/src/app/app.routes.ts
@@ -0,0 +1,7 @@
+import { Route } from '@angular/router';
+import { counterRoutes } from '@myorg/counter';
+
+export const routes: Route[] = [
+ ...counterRoutes,
+ { path: '**', redirectTo: '' },
+];
diff --git a/apps/counter-remote/src/app/app.ts b/apps/counter-remote/src/app/app.ts
new file mode 100644
index 00000000..6dabd519
--- /dev/null
+++ b/apps/counter-remote/src/app/app.ts
@@ -0,0 +1,11 @@
+import { ChangeDetectionStrategy, Component } from '@angular/core';
+import { RouterOutlet } from '@angular/router';
+
+@Component({
+ selector: 'app-root',
+ imports: [RouterOutlet],
+ template: ``,
+ host: { 'data-testid': 'app-root' },
+ changeDetection: ChangeDetectionStrategy.OnPush,
+})
+export class App {}
diff --git a/apps/counter-remote/src/main.ts b/apps/counter-remote/src/main.ts
new file mode 100644
index 00000000..f7aa6df3
--- /dev/null
+++ b/apps/counter-remote/src/main.ts
@@ -0,0 +1,5 @@
+import { bootstrapApplication } from '@angular/platform-browser';
+import { App } from './app/app';
+import { appConfig } from './app/app.config';
+
+bootstrapApplication(App, appConfig).catch(console.error);
diff --git a/apps/counter-remote/src/remote-routes.ts b/apps/counter-remote/src/remote-routes.ts
new file mode 100644
index 00000000..5cfa78d7
--- /dev/null
+++ b/apps/counter-remote/src/remote-routes.ts
@@ -0,0 +1 @@
+export { counterRoutes } from '@myorg/counter';
diff --git a/apps/counter-remote/src/test-setup.ts b/apps/counter-remote/src/test-setup.ts
new file mode 100644
index 00000000..b666740f
--- /dev/null
+++ b/apps/counter-remote/src/test-setup.ts
@@ -0,0 +1 @@
+import '@myorg/shared/test-setup.shared';
diff --git a/apps/counter-remote/tsconfig.app.json b/apps/counter-remote/tsconfig.app.json
new file mode 100644
index 00000000..6d73140a
--- /dev/null
+++ b/apps/counter-remote/tsconfig.app.json
@@ -0,0 +1,11 @@
+{
+ "extends": "./tsconfig.json",
+ "compilerOptions": {
+ "outDir": "../../dist/out-tsc",
+ "types": ["vite/client", "vite-plugin-pwa/client"],
+ "moduleResolution": "bundler"
+ },
+ "files": ["src/main.ts", "src/remote-routes.ts"],
+ "include": ["src/**/*.d.ts"],
+ "exclude": ["vite.config.ts", "src/**/*.test.ts", "src/**/*.spec.ts"]
+}
diff --git a/apps/counter-remote/tsconfig.json b/apps/counter-remote/tsconfig.json
new file mode 100644
index 00000000..406c1853
--- /dev/null
+++ b/apps/counter-remote/tsconfig.json
@@ -0,0 +1,33 @@
+{
+ "compilerOptions": {
+ "target": "es2022",
+ "esModuleInterop": true,
+ "forceConsistentCasingInFileNames": true,
+ "strict": false,
+ "noImplicitOverride": true,
+ "noPropertyAccessFromIndexSignature": true,
+ "noImplicitReturns": true,
+ "noFallthroughCasesInSwitch": true,
+ "module": "preserve",
+ "moduleResolution": "bundler",
+ "lib": ["dom", "es2022"]
+ },
+ "files": [],
+ "include": [],
+ "references": [
+ {
+ "path": "./tsconfig.app.json"
+ },
+ {
+ "path": "./tsconfig.spec.json"
+ }
+ ],
+ "extends": "../../tsconfig.base.json",
+ "angularCompilerOptions": {
+ "enableI18nLegacyMessageIdFormat": false,
+ "strictInjectionParameters": true,
+ "strictInputAccessModifiers": true,
+ "strictTemplates": true,
+ "typeCheckHostBindings": true
+ }
+}
diff --git a/apps/counter-remote/tsconfig.spec.json b/apps/counter-remote/tsconfig.spec.json
new file mode 100644
index 00000000..c28d474b
--- /dev/null
+++ b/apps/counter-remote/tsconfig.spec.json
@@ -0,0 +1,22 @@
+{
+ "extends": "./tsconfig.json",
+ "compilerOptions": {
+ "outDir": "../../dist/out-tsc",
+ "types": [
+ "vitest/globals",
+ "vitest/importMeta",
+ "vite/client",
+ "vite-plugin-pwa/client",
+ "node",
+ "vitest"
+ ],
+ "isolatedModules": true
+ },
+ "include": [
+ "vite.config.ts",
+ "src/**/*.test.ts",
+ "src/**/*.spec.ts",
+ "src/**/*.d.ts"
+ ],
+ "files": ["src/test-setup.ts"]
+}
diff --git a/apps/counter-remote/vite.config.ts b/apps/counter-remote/vite.config.ts
new file mode 100644
index 00000000..3a101357
--- /dev/null
+++ b/apps/counter-remote/vite.config.ts
@@ -0,0 +1,58 @@
+import { defineConfig } from 'vite';
+import analog from '@analogjs/platform';
+import { federation } from '@module-federation/vite';
+import { nxViteTsPaths } from '@nx/vite/plugins/nx-tsconfig-paths.plugin';
+
+const sharedDeps = {
+ '@angular/animations': { singleton: true, requiredVersion: '~21.2.15' },
+ '@angular/common': { singleton: true, requiredVersion: '~21.2.15' },
+ '@angular/compiler': { singleton: true, requiredVersion: '~21.2.15' },
+ '@angular/core': { singleton: true, requiredVersion: '~21.2.15' },
+ '@angular/platform-browser': { singleton: true, requiredVersion: '~21.2.15' },
+ '@angular/platform-browser-dynamic': {
+ singleton: true,
+ requiredVersion: '~21.2.15',
+ },
+ '@angular/router': { singleton: true, requiredVersion: '~21.2.15' },
+ rxjs: { singleton: true, requiredVersion: '~7.8.2' },
+ tslib: { singleton: true, requiredVersion: '~2.8.1' },
+};
+
+export default defineConfig(({ mode }) => ({
+ root: __dirname,
+ cacheDir: '../../node_modules/.vite/counter-remote',
+ build: {
+ target: ['chrome89'],
+ outDir: '../../dist/apps/counter-remote',
+ reportCompressedSize: true,
+ rolldownOptions: {
+ external: ['virtual:pwa-register'],
+ },
+ },
+ plugins: [
+ mode !== 'test' &&
+ federation({
+ name: 'counter-remote',
+ filename: 'remoteEntry.js',
+ dts: false,
+ exposes: {
+ './Routes': './src/remote-routes.ts',
+ },
+ shared: sharedDeps,
+ }),
+ analog({ ssr: false }),
+ nxViteTsPaths(),
+ ].filter(Boolean),
+ server: {
+ port: 4201,
+ origin: 'http://localhost:4201',
+ },
+ test: {
+ globals: true,
+ environment: 'jsdom',
+ setupFiles: ['src/test-setup.ts'],
+ include: ['**/*.spec.ts'],
+ reporters: ['default'],
+ passWithNoTests: true,
+ },
+}));
diff --git a/apps/web-app/src/app/app.routes.ts b/apps/web-app/src/app/app.routes.ts
index 82edafcd..85547e5f 100644
--- a/apps/web-app/src/app/app.routes.ts
+++ b/apps/web-app/src/app/app.routes.ts
@@ -9,6 +9,11 @@ export const routes: Route[] = [
path: 'feature',
loadChildren: () => import('@myorg/counter').then((m) => m.counterRoutes),
},
+ {
+ path: 'mfe-counter',
+ loadChildren: () =>
+ import('counter-remote/Routes').then((m) => m.counterRoutes),
+ },
{
path: 'weather-forecast',
loadChildren: () =>
diff --git a/apps/web-app/src/types/remotes.d.ts b/apps/web-app/src/types/remotes.d.ts
new file mode 100644
index 00000000..862e6c69
--- /dev/null
+++ b/apps/web-app/src/types/remotes.d.ts
@@ -0,0 +1,4 @@
+declare module 'counter-remote/Routes' {
+ import type { Route } from '@angular/router';
+ export const counterRoutes: Route[];
+}
diff --git a/apps/web-app/vite.config.ts b/apps/web-app/vite.config.ts
index fdfcf844..31da7779 100644
--- a/apps/web-app/vite.config.ts
+++ b/apps/web-app/vite.config.ts
@@ -1,11 +1,28 @@
///
+import { resolve } from 'path';
import { defineConfig } from 'vite';
import analog from '@analogjs/platform';
+import { federation } from '@module-federation/vite';
import { VitePWA } from 'vite-plugin-pwa';
import { nxViteTsPaths } from '@nx/vite/plugins/nx-tsconfig-paths.plugin';
+const mfeSharedDeps = {
+ '@angular/animations': { singleton: true, requiredVersion: '~21.2.15' },
+ '@angular/common': { singleton: true, requiredVersion: '~21.2.15' },
+ '@angular/compiler': { singleton: true, requiredVersion: '~21.2.15' },
+ '@angular/core': { singleton: true, requiredVersion: '~21.2.15' },
+ '@angular/platform-browser': { singleton: true, requiredVersion: '~21.2.15' },
+ '@angular/platform-browser-dynamic': {
+ singleton: true,
+ requiredVersion: '~21.2.15',
+ },
+ '@angular/router': { singleton: true, requiredVersion: '~21.2.15' },
+ rxjs: { singleton: true, requiredVersion: '~7.8.2' },
+ tslib: { singleton: true, requiredVersion: '~2.8.1' },
+};
+
// https://vitejs.dev/config/
export default defineConfig(({ mode }) => {
return {
@@ -14,12 +31,30 @@ export default defineConfig(({ mode }) => {
build: {
outDir: '../../dist/apps/web-app/client',
reportCompressedSize: true,
- target: ['es2020'],
+ target: ['chrome89'],
},
optimizeDeps: {
include: ['front-matter'],
},
plugins: [
+ mode !== 'test' &&
+ federation({
+ name: 'host',
+ filename: 'remoteEntry.js',
+ dts: false,
+ remotes: {
+ 'counter-remote': {
+ type: 'module',
+ name: 'counter-remote',
+ entry: 'http://localhost:4201/remoteEntry.js',
+ entryGlobalName: 'counter-remote',
+ shareScope: 'default',
+ },
+ },
+ exposes: {},
+ shared: mfeSharedDeps,
+ }),
+
analog({
ssr: false,
static: true,
@@ -122,6 +157,17 @@ export default defineConfig(({ mode }) => {
allow: ['../../'],
},
},
+ resolve: {
+ alias:
+ mode === 'test'
+ ? {
+ 'counter-remote/Routes': resolve(
+ __dirname,
+ '../../libs/counter/src/lib/lib.routes.ts',
+ ),
+ }
+ : {},
+ },
test: {
globals: true,
environment: 'jsdom',
diff --git a/libs/shared/src/lib/components/nav-links.ts b/libs/shared/src/lib/components/nav-links.ts
index 68dd5194..af68207c 100644
--- a/libs/shared/src/lib/components/nav-links.ts
+++ b/libs/shared/src/lib/components/nav-links.ts
@@ -24,6 +24,12 @@ export const NAV_LINKS: NavLink[] = [
hint: 'Lazy Loaded Feature',
label: 'Counter',
},
+ {
+ routerLink: '/mfe-counter',
+ icon: 'hub',
+ hint: 'MFE Counter (requires counter-remote on :4201)',
+ label: 'MFE Counter',
+ },
{
routerLink: '/content',
icon: 'info',
diff --git a/package.json b/package.json
index f078cc46..7d41610e 100644
--- a/package.json
+++ b/package.json
@@ -103,6 +103,7 @@
"@commitlint/config-conventional": "21.0.2",
"@eslint/eslintrc": "3.3.5",
"@eslint/js": "10.0.1",
+ "@module-federation/vite": "1.16.2",
"@nx/angular": "22.7.5",
"@nx/devkit": "22.7.5",
"@nx/esbuild": "22.7.5",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index d588bef4..2a914887 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -180,6 +180,9 @@ importers:
'@eslint/js':
specifier: 10.0.1
version: 10.0.1(eslint@10.4.1(jiti@2.6.1))
+ '@module-federation/vite':
+ specifier: 1.16.2
+ version: 1.16.2(node-fetch@2.7.0(encoding@0.1.13))(typescript@6.0.3)(vite@8.0.14(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(less@4.3.0)(sass-embedded@1.89.0)(sass@1.97.3)(stylus@0.64.0)(terser@5.47.1)(yaml@2.8.3))
'@nx/angular':
specifier: 22.7.5
version: 22.7.5(9d93e046e8af5178c45b7fe7b3d6e447)
@@ -2897,6 +2900,15 @@ packages:
vue-tsc:
optional: true
+ '@module-federation/dts-plugin@2.5.0':
+ resolution: {integrity: sha512-q7KDhJ5tn2HrUV7uMuh/L3TaaztUosE+4LAb90sxx0pPPqWRwlpBpxu1REubv5BWXmU1K/Ozn14u6jRbjLVaGA==}
+ peerDependencies:
+ typescript: ^4.9.0 || ^5.0.0
+ vue-tsc: '>=1.0.24'
+ peerDependenciesMeta:
+ vue-tsc:
+ optional: true
+
'@module-federation/enhanced@0.21.6':
resolution: {integrity: sha512-8PFQxtmXc6ukBC4CqGIoc96M2Ly9WVwCPu4Ffvt+K/SB6rGbeFeZoYAwREV1zGNMJ5v5ly6+AHIEOBxNuSnzSg==}
hasBin: true
@@ -2933,6 +2945,9 @@ packages:
'@module-federation/error-codes@2.4.0':
resolution: {integrity: sha512-ktCZtwOoiKR1URJyBt223OsOFAUvc13rICYif55mt7+DomtELlh5FicnEz6mPLBUwmNM9vyBMvkxOdp+fQ5oUg==}
+ '@module-federation/error-codes@2.5.0':
+ resolution: {integrity: sha512-sq05/8Gp3csy1nr2/f76K3vLy0/xRqVtP71ibGy8BiLg7h1UxWN7G4EwAKSrPZ4FnsERGeFlIszg5Z+MqlwhFg==}
+
'@module-federation/inject-external-runtime-core-plugin@0.21.6':
resolution: {integrity: sha512-DJQne7NQ988AVi3QB8byn12FkNb+C2lBeU1NRf8/WbL0gmHsr6kW8hiEJCm8LYaURwtsQqtsEV7i+8+51qjSmQ==}
peerDependencies:
@@ -2949,6 +2964,9 @@ packages:
'@module-federation/managers@2.4.0':
resolution: {integrity: sha512-Z8j6aog44G1gt4yIAaeDowwZ7xg0aAxTA1Hq69euJK9cR9MDEaLbLUk57jDoiRj6xLwlCiw7ozY+U15BQATk6Q==}
+ '@module-federation/managers@2.5.0':
+ resolution: {integrity: sha512-9b5mU/7OYbKrYUJmhZ1kkfeJCZqR7qX6/FWp+oOfZMzUynN7Rb41dwoUs3TdnOKzbZ3CCwtZ2WsR4pF9ZNvuJA==}
+
'@module-federation/manifest@0.21.6':
resolution: {integrity: sha512-yg93+I1qjRs5B5hOSvjbjmIoI2z3th8/yst9sfwvx4UDOG1acsE3HHMyPN0GdoIGwplC/KAnU5NmUz4tREUTGQ==}
@@ -3000,6 +3018,9 @@ packages:
'@module-federation/runtime-core@2.4.0':
resolution: {integrity: sha512-0S8fDw28DXDW17lTQwq5vfJWe2lG0Lw3+w4vk3DVVImLwXXay+OGxLDxzWUfypWcMznfpnoAnFUMO3PtuXziuA==}
+ '@module-federation/runtime-core@2.5.0':
+ resolution: {integrity: sha512-STmhQ3c6/hunba2FMP6GrHazXU/8GuN7Gk4dOkWNRpnqYIoD8Wx4MNl76j3HdCzBESC7uSMXTniksVaM1+xxyA==}
+
'@module-federation/runtime-tools@0.21.6':
resolution: {integrity: sha512-fnP+ZOZTFeBGiTAnxve+axGmiYn2D60h86nUISXjXClK3LUY1krUfPgf6MaD4YDJ4i51OGXZWPekeMe16pkd8Q==}
@@ -3012,6 +3033,9 @@ packages:
'@module-federation/runtime@2.4.0':
resolution: {integrity: sha512-IrLAMwUuteRgFlEkg9jrn4bk8uC897FnXvfNmkKD8/qIoNtSd+32e5ouQn+PEYbX/RjRUB1TYveY6rYHpTPkyg==}
+ '@module-federation/runtime@2.5.0':
+ resolution: {integrity: sha512-dOc7pFEf8aruHBk5hoJLnvwkCa5ELT78q3o9dqcdaa/TT74X5z0FT0BsaGaRBPcse/iP6czK3fWd7RLv5ZKP5g==}
+
'@module-federation/sdk@0.21.6':
resolution: {integrity: sha512-x6hARETb8iqHVhEsQBysuWpznNZViUh84qV2yE7AD+g7uIzHKiYdoWqj10posbo5XKf/147qgWDzKZoKoEP2dw==}
@@ -3023,12 +3047,28 @@ packages:
node-fetch:
optional: true
+ '@module-federation/sdk@2.5.0':
+ resolution: {integrity: sha512-ScU22XDyV77l50njjzewMpMlNN1CYo0tHS1D6iy+vNKWrHGq8DWVB0vwG8dmvx/WZ4uq+sXgUsQet17MoKsfZw==}
+ peerDependencies:
+ node-fetch: ^2.7.0 || ^3.3.2
+ peerDependenciesMeta:
+ node-fetch:
+ optional: true
+
'@module-federation/third-party-dts-extractor@0.21.6':
resolution: {integrity: sha512-Il6x4hLsvCgZNk1DFwuMBNeoxD1BsZ5AW2BI/nUgu0k5FiAvfcz1OFawRFEHtaM/kVrCsymMOW7pCao90DaX3A==}
'@module-federation/third-party-dts-extractor@2.4.0':
resolution: {integrity: sha512-4v24t6L3dET/6abMOM2fiM3roT0c8mi21/i+uDc6WG7U0i+Xp2SojBppTs6gnT0lkwMTe+u6xIpNQakdUftHsg==}
+ '@module-federation/third-party-dts-extractor@2.5.0':
+ resolution: {integrity: sha512-5di43LGk2ies86Cj8QyzYr540Ijc+nyPqYziyFotL6Pparnu+uf3b3ERfEyQfBmEcyGk1MpitQIO2J3bd9BcNw==}
+
+ '@module-federation/vite@1.16.2':
+ resolution: {integrity: sha512-XjfReMlQWe+i0SCmkbhrqIuo7WEGIoWH4AsvBQ9gLBa+DxA4qnygJrL6kHi7T1z7EVNRhTTysTHm4ezXGkvr5Q==}
+ peerDependencies:
+ vite: '>=6.4.2'
+
'@module-federation/webpack-bundler-runtime@0.21.6':
resolution: {integrity: sha512-7zIp3LrcWbhGuFDTUMLJ2FJvcwjlddqhWGxi/MW3ur1a+HaO8v5tF2nl+vElKmbG1DFLU/52l3PElVcWf/YcsQ==}
@@ -14922,6 +14962,24 @@ snapshots:
- node-fetch
- utf-8-validate
+ '@module-federation/dts-plugin@2.5.0(node-fetch@2.7.0(encoding@0.1.13))(typescript@6.0.3)':
+ dependencies:
+ '@module-federation/error-codes': 2.5.0
+ '@module-federation/managers': 2.5.0(node-fetch@2.7.0(encoding@0.1.13))
+ '@module-federation/sdk': 2.5.0(node-fetch@2.7.0(encoding@0.1.13))
+ '@module-federation/third-party-dts-extractor': 2.5.0
+ adm-zip: 0.5.10
+ ansi-colors: 4.1.3
+ isomorphic-ws: 5.0.0(ws@8.21.0)
+ node-schedule: 2.1.1
+ typescript: 6.0.3
+ undici: 7.24.7
+ ws: 8.21.0
+ transitivePeerDependencies:
+ - bufferutil
+ - node-fetch
+ - utf-8-validate
+
'@module-federation/enhanced@0.21.6(@rspack/core@1.6.8(@swc/helpers@0.5.23))(react-dom@19.1.0(react@19.2.6))(react@19.2.6)(typescript@6.0.3)(webpack@5.106.2(@swc/core@1.15.40(@swc/helpers@0.5.23))(esbuild@0.28.0))':
dependencies:
'@module-federation/bridge-react-webpack-plugin': 0.21.6
@@ -14979,6 +15037,8 @@ snapshots:
'@module-federation/error-codes@2.4.0': {}
+ '@module-federation/error-codes@2.5.0': {}
+
'@module-federation/inject-external-runtime-core-plugin@0.21.6(@module-federation/runtime-tools@0.21.6)':
dependencies:
'@module-federation/runtime-tools': 0.21.6
@@ -15000,6 +15060,13 @@ snapshots:
transitivePeerDependencies:
- node-fetch
+ '@module-federation/managers@2.5.0(node-fetch@2.7.0(encoding@0.1.13))':
+ dependencies:
+ '@module-federation/sdk': 2.5.0(node-fetch@2.7.0(encoding@0.1.13))
+ find-pkg: 2.0.0
+ transitivePeerDependencies:
+ - node-fetch
+
'@module-federation/manifest@0.21.6(typescript@6.0.3)':
dependencies:
'@module-federation/dts-plugin': 0.21.6(typescript@6.0.3)
@@ -15097,6 +15164,13 @@ snapshots:
transitivePeerDependencies:
- node-fetch
+ '@module-federation/runtime-core@2.5.0(node-fetch@2.7.0(encoding@0.1.13))':
+ dependencies:
+ '@module-federation/error-codes': 2.5.0
+ '@module-federation/sdk': 2.5.0(node-fetch@2.7.0(encoding@0.1.13))
+ transitivePeerDependencies:
+ - node-fetch
+
'@module-federation/runtime-tools@0.21.6':
dependencies:
'@module-federation/runtime': 0.21.6
@@ -15123,12 +15197,24 @@ snapshots:
transitivePeerDependencies:
- node-fetch
+ '@module-federation/runtime@2.5.0(node-fetch@2.7.0(encoding@0.1.13))':
+ dependencies:
+ '@module-federation/error-codes': 2.5.0
+ '@module-federation/runtime-core': 2.5.0(node-fetch@2.7.0(encoding@0.1.13))
+ '@module-federation/sdk': 2.5.0(node-fetch@2.7.0(encoding@0.1.13))
+ transitivePeerDependencies:
+ - node-fetch
+
'@module-federation/sdk@0.21.6': {}
'@module-federation/sdk@2.4.0(node-fetch@2.7.0(encoding@0.1.13))':
optionalDependencies:
node-fetch: 2.7.0(encoding@0.1.13)
+ '@module-federation/sdk@2.5.0(node-fetch@2.7.0(encoding@0.1.13))':
+ optionalDependencies:
+ node-fetch: 2.7.0(encoding@0.1.13)
+
'@module-federation/third-party-dts-extractor@0.21.6':
dependencies:
find-pkg: 2.0.0
@@ -15140,6 +15226,27 @@ snapshots:
find-pkg: 2.0.0
resolve: 1.22.8
+ '@module-federation/third-party-dts-extractor@2.5.0':
+ dependencies:
+ find-pkg: 2.0.0
+ resolve: 1.22.8
+
+ '@module-federation/vite@1.16.2(node-fetch@2.7.0(encoding@0.1.13))(typescript@6.0.3)(vite@8.0.14(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(less@4.3.0)(sass-embedded@1.89.0)(sass@1.97.3)(stylus@0.64.0)(terser@5.47.1)(yaml@2.8.3))':
+ dependencies:
+ '@module-federation/dts-plugin': 2.5.0(node-fetch@2.7.0(encoding@0.1.13))(typescript@6.0.3)
+ '@module-federation/runtime': 2.5.0(node-fetch@2.7.0(encoding@0.1.13))
+ '@module-federation/sdk': 2.5.0(node-fetch@2.7.0(encoding@0.1.13))
+ es-module-lexer: 2.0.0
+ estree-walker: 3.0.3
+ pathe: 2.0.3
+ vite: 8.0.14(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(less@4.3.0)(sass-embedded@1.89.0)(sass@1.97.3)(stylus@0.64.0)(terser@5.47.1)(yaml@2.8.3)
+ transitivePeerDependencies:
+ - bufferutil
+ - node-fetch
+ - typescript
+ - utf-8-validate
+ - vue-tsc
+
'@module-federation/webpack-bundler-runtime@0.21.6':
dependencies:
'@module-federation/runtime': 0.21.6
From 12ad4fe2cff6b47b8d151c3bffeef6158b60c3e9 Mon Sep 17 00:00:00 2001
From: chrisjwalk-bot <268224883+chrisjwalk-bot@users.noreply.github.com>
Date: Sat, 30 May 2026 13:46:35 -0400
Subject: [PATCH 02/22] fix: normalize server.watch for @module-federation/vite
Vite 8 compatibility
@module-federation/vite crashes when server.watch is boolean false.
The @nx/vite build executor defaults watch to false, which gets merged
into the inline config before plugin config hooks run. A pre-enforce
plugin ensures server.watch is an object before the federation hook sees it.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---
apps/web-app/vite.config.ts | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/apps/web-app/vite.config.ts b/apps/web-app/vite.config.ts
index 31da7779..449bd98b 100644
--- a/apps/web-app/vite.config.ts
+++ b/apps/web-app/vite.config.ts
@@ -37,6 +37,13 @@ export default defineConfig(({ mode }) => {
include: ['front-matter'],
},
plugins: [
+ // @module-federation/vite crashes when server.watch is boolean false (Vite 8 + Nx default).
+ // This pre-enforce plugin ensures server.watch is an object before federation's config hook.
+ {
+ name: 'normalize-server-watch',
+ enforce: 'pre' as const,
+ config: () => ({ server: { watch: {} } }),
+ },
mode !== 'test' &&
federation({
name: 'host',
From ac0d20a2e795d65e15b940ef5bec69918cfe4c1c Mon Sep 17 00:00:00 2001
From: chrisjwalk-bot <268224883+chrisjwalk-bot@users.noreply.github.com>
Date: Sat, 30 May 2026 13:58:12 -0400
Subject: [PATCH 03/22] feat: auto-start counter-remote when serving web-app
- Add counter-remote:serve to web-app serve dependsOn
- Add continuous: true to counter-remote serve target
- Add normalize-server-watch plugin to counter-remote vite config
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---
apps/counter-remote/project.json | 1 +
apps/counter-remote/vite.config.ts | 6 ++++++
apps/web-app/project.json | 6 ++++++
3 files changed, 13 insertions(+)
diff --git a/apps/counter-remote/project.json b/apps/counter-remote/project.json
index 9e1fa798..2a81b8ea 100644
--- a/apps/counter-remote/project.json
+++ b/apps/counter-remote/project.json
@@ -22,6 +22,7 @@
},
"serve": {
"executor": "@nx/vite:dev-server",
+ "continuous": true,
"defaultConfiguration": "development",
"options": {
"buildTarget": "counter-remote:build",
diff --git a/apps/counter-remote/vite.config.ts b/apps/counter-remote/vite.config.ts
index 3a101357..636f4537 100644
--- a/apps/counter-remote/vite.config.ts
+++ b/apps/counter-remote/vite.config.ts
@@ -30,6 +30,12 @@ export default defineConfig(({ mode }) => ({
},
},
plugins: [
+ // @module-federation/vite crashes when server.watch is boolean false (Vite 8 + Nx default).
+ {
+ name: 'normalize-server-watch',
+ enforce: 'pre' as const,
+ config: () => ({ server: { watch: {} } }),
+ },
mode !== 'test' &&
federation({
name: 'counter-remote',
diff --git a/apps/web-app/project.json b/apps/web-app/project.json
index 45f9005d..cb090465 100644
--- a/apps/web-app/project.json
+++ b/apps/web-app/project.json
@@ -46,6 +46,12 @@
"api"
],
"params": "forward"
+ },
+ {
+ "target": "serve",
+ "projects": [
+ "counter-remote"
+ ]
}
],
"configurations": {
From 137a9a18308414abb80659cab7c0de0240054ce4 Mon Sep 17 00:00:00 2001
From: chrisjwalk-bot <268224883+chrisjwalk-bot@users.noreply.github.com>
Date: Sat, 30 May 2026 14:39:37 -0400
Subject: [PATCH 04/22] fix(counter-remote): stub virtual:pwa-register for dev
server
The host provides virtual:pwa-register via vite-plugin-pwa, but the
remote's dev server pre-transforms shared libs independently and can't
resolve it. A no-op virtual plugin stubs it out so the dev server
starts cleanly.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---
apps/counter-remote/vite.config.ts | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/apps/counter-remote/vite.config.ts b/apps/counter-remote/vite.config.ts
index 636f4537..ae2ce2ed 100644
--- a/apps/counter-remote/vite.config.ts
+++ b/apps/counter-remote/vite.config.ts
@@ -36,6 +36,17 @@ export default defineConfig(({ mode }) => ({
enforce: 'pre' as const,
config: () => ({ server: { watch: {} } }),
},
+ // virtual:pwa-register is provided by vite-plugin-pwa in the host.
+ // Stub it out in the remote so shared libs resolve cleanly during dev-server pre-transform.
+ {
+ name: 'virtual-pwa-register-stub',
+ resolveId: (id: string) =>
+ id === 'virtual:pwa-register' ? '\0virtual:pwa-register' : undefined,
+ load: (id: string) =>
+ id === '\0virtual:pwa-register'
+ ? 'export const registerSW = () => () => {};'
+ : undefined,
+ },
mode !== 'test' &&
federation({
name: 'counter-remote',
From 0af29751da625132971346fc581a3ea2cf9b551f Mon Sep 17 00:00:00 2001
From: chrisjwalk-bot <268224883+chrisjwalk-bot@users.noreply.github.com>
Date: Sat, 30 May 2026 18:49:22 -0400
Subject: [PATCH 05/22] fix: share @ngrx/signals as singleton in MFE config to
resolve NG0200
Both host and remote were bundling separate copies of @ngrx/signals,
creating duplicate DI token identities for platform-scoped services
(Dispatcher, Events, ReducerEvents). Angular's DI detected this as
a circular dependency (NG0200) when the SignalStore-based CounterStore
was instantiated via the MFE route.
Sharing @ngrx/signals and @ngrx/signals/events as singletons ensures
a single set of class tokens across the federation boundary, fixing
the circular dependency error on navigation to /mfe-counter.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---
apps/counter-remote/vite.config.ts | 2 ++
apps/web-app/vite.config.ts | 2 ++
2 files changed, 4 insertions(+)
diff --git a/apps/counter-remote/vite.config.ts b/apps/counter-remote/vite.config.ts
index ae2ce2ed..032a5f21 100644
--- a/apps/counter-remote/vite.config.ts
+++ b/apps/counter-remote/vite.config.ts
@@ -14,6 +14,8 @@ const sharedDeps = {
requiredVersion: '~21.2.15',
},
'@angular/router': { singleton: true, requiredVersion: '~21.2.15' },
+ '@ngrx/signals': { singleton: true, requiredVersion: '~21.1.0' },
+ '@ngrx/signals/events': { singleton: true, requiredVersion: '~21.1.0' },
rxjs: { singleton: true, requiredVersion: '~7.8.2' },
tslib: { singleton: true, requiredVersion: '~2.8.1' },
};
diff --git a/apps/web-app/vite.config.ts b/apps/web-app/vite.config.ts
index 449bd98b..4482264e 100644
--- a/apps/web-app/vite.config.ts
+++ b/apps/web-app/vite.config.ts
@@ -19,6 +19,8 @@ const mfeSharedDeps = {
requiredVersion: '~21.2.15',
},
'@angular/router': { singleton: true, requiredVersion: '~21.2.15' },
+ '@ngrx/signals': { singleton: true, requiredVersion: '~21.1.0' },
+ '@ngrx/signals/events': { singleton: true, requiredVersion: '~21.1.0' },
rxjs: { singleton: true, requiredVersion: '~7.8.2' },
tslib: { singleton: true, requiredVersion: '~2.8.1' },
};
From c4ce92734b2c182bdc3fbd065e94925370b1e149 Mon Sep 17 00:00:00 2001
From: chrisjwalk-bot <268224883+chrisjwalk-bot@users.noreply.github.com>
Date: Sun, 31 May 2026 10:51:02 -0400
Subject: [PATCH 06/22] fix(mfe): share Angular CDK, Material, and workspace
libs as singletons
Prevents NG0912 component ID collision warnings by ensuring all Angular
CDK and Material sub-path packages, plus workspace libs (@myorg/counter,
@myorg/shared), are shared as singletons in both host and remote vite
configs. Previously only core Angular packages were shared, causing
CDK/Material components and workspace-lib components to be bundled
separately in each app and registered twice with Angular's component ID
registry.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---
apps/counter-remote/vite.config.ts | 66 ++++++++++++++++++++++++++----
apps/web-app/vite.config.ts | 66 ++++++++++++++++++++++++++----
2 files changed, 118 insertions(+), 14 deletions(-)
diff --git a/apps/counter-remote/vite.config.ts b/apps/counter-remote/vite.config.ts
index 032a5f21..5f2eccd4 100644
--- a/apps/counter-remote/vite.config.ts
+++ b/apps/counter-remote/vite.config.ts
@@ -3,19 +3,71 @@ import analog from '@analogjs/platform';
import { federation } from '@module-federation/vite';
import { nxViteTsPaths } from '@nx/vite/plugins/nx-tsconfig-paths.plugin';
+const angVer = '~21.2.15';
+const cdkMatVer = '~21.2.13';
+
const sharedDeps = {
- '@angular/animations': { singleton: true, requiredVersion: '~21.2.15' },
- '@angular/common': { singleton: true, requiredVersion: '~21.2.15' },
- '@angular/compiler': { singleton: true, requiredVersion: '~21.2.15' },
- '@angular/core': { singleton: true, requiredVersion: '~21.2.15' },
- '@angular/platform-browser': { singleton: true, requiredVersion: '~21.2.15' },
+ // Angular core
+ '@angular/animations': { singleton: true, requiredVersion: angVer },
+ '@angular/common': { singleton: true, requiredVersion: angVer },
+ '@angular/common/http': { singleton: true, requiredVersion: angVer },
+ '@angular/compiler': { singleton: true, requiredVersion: angVer },
+ '@angular/core': { singleton: true, requiredVersion: angVer },
+ '@angular/forms': { singleton: true, requiredVersion: angVer },
+ '@angular/platform-browser': { singleton: true, requiredVersion: angVer },
+ '@angular/platform-browser/animations': {
+ singleton: true,
+ requiredVersion: angVer,
+ },
'@angular/platform-browser-dynamic': {
singleton: true,
- requiredVersion: '~21.2.15',
+ requiredVersion: angVer,
+ },
+ '@angular/router': { singleton: true, requiredVersion: angVer },
+ // Angular CDK sub-paths
+ '@angular/cdk/a11y': { singleton: true, requiredVersion: cdkMatVer },
+ '@angular/cdk/layout': { singleton: true, requiredVersion: cdkMatVer },
+ '@angular/cdk/overlay': { singleton: true, requiredVersion: cdkMatVer },
+ '@angular/cdk/portal': { singleton: true, requiredVersion: cdkMatVer },
+ '@angular/cdk/scrolling': { singleton: true, requiredVersion: cdkMatVer },
+ // Angular Material sub-paths
+ '@angular/material/badge': { singleton: true, requiredVersion: cdkMatVer },
+ '@angular/material/bottom-sheet': {
+ singleton: true,
+ requiredVersion: cdkMatVer,
+ },
+ '@angular/material/button': { singleton: true, requiredVersion: cdkMatVer },
+ '@angular/material/checkbox': { singleton: true, requiredVersion: cdkMatVer },
+ '@angular/material/core': { singleton: true, requiredVersion: cdkMatVer },
+ '@angular/material/form-field': {
+ singleton: true,
+ requiredVersion: cdkMatVer,
+ },
+ '@angular/material/icon': { singleton: true, requiredVersion: cdkMatVer },
+ '@angular/material/input': { singleton: true, requiredVersion: cdkMatVer },
+ '@angular/material/list': { singleton: true, requiredVersion: cdkMatVer },
+ '@angular/material/paginator': {
+ singleton: true,
+ requiredVersion: cdkMatVer,
+ },
+ '@angular/material/progress-spinner': {
+ singleton: true,
+ requiredVersion: cdkMatVer,
+ },
+ '@angular/material/snack-bar': {
+ singleton: true,
+ requiredVersion: cdkMatVer,
},
- '@angular/router': { singleton: true, requiredVersion: '~21.2.15' },
+ '@angular/material/table': { singleton: true, requiredVersion: cdkMatVer },
+ '@angular/material/toolbar': { singleton: true, requiredVersion: cdkMatVer },
+ '@angular/material/tooltip': { singleton: true, requiredVersion: cdkMatVer },
+ // NgRx
'@ngrx/signals': { singleton: true, requiredVersion: '~21.1.0' },
'@ngrx/signals/events': { singleton: true, requiredVersion: '~21.1.0' },
+ // Workspace libs
+ '@myorg/counter': { singleton: true, requiredVersion: false },
+ '@myorg/shared': { singleton: true, requiredVersion: false },
+ // Utilities
rxjs: { singleton: true, requiredVersion: '~7.8.2' },
tslib: { singleton: true, requiredVersion: '~2.8.1' },
};
diff --git a/apps/web-app/vite.config.ts b/apps/web-app/vite.config.ts
index 4482264e..38646e44 100644
--- a/apps/web-app/vite.config.ts
+++ b/apps/web-app/vite.config.ts
@@ -8,19 +8,71 @@ import { VitePWA } from 'vite-plugin-pwa';
import { nxViteTsPaths } from '@nx/vite/plugins/nx-tsconfig-paths.plugin';
+const angVer = '~21.2.15';
+const cdkMatVer = '~21.2.13';
+
const mfeSharedDeps = {
- '@angular/animations': { singleton: true, requiredVersion: '~21.2.15' },
- '@angular/common': { singleton: true, requiredVersion: '~21.2.15' },
- '@angular/compiler': { singleton: true, requiredVersion: '~21.2.15' },
- '@angular/core': { singleton: true, requiredVersion: '~21.2.15' },
- '@angular/platform-browser': { singleton: true, requiredVersion: '~21.2.15' },
+ // Angular core
+ '@angular/animations': { singleton: true, requiredVersion: angVer },
+ '@angular/common': { singleton: true, requiredVersion: angVer },
+ '@angular/common/http': { singleton: true, requiredVersion: angVer },
+ '@angular/compiler': { singleton: true, requiredVersion: angVer },
+ '@angular/core': { singleton: true, requiredVersion: angVer },
+ '@angular/forms': { singleton: true, requiredVersion: angVer },
+ '@angular/platform-browser': { singleton: true, requiredVersion: angVer },
+ '@angular/platform-browser/animations': {
+ singleton: true,
+ requiredVersion: angVer,
+ },
'@angular/platform-browser-dynamic': {
singleton: true,
- requiredVersion: '~21.2.15',
+ requiredVersion: angVer,
+ },
+ '@angular/router': { singleton: true, requiredVersion: angVer },
+ // Angular CDK sub-paths
+ '@angular/cdk/a11y': { singleton: true, requiredVersion: cdkMatVer },
+ '@angular/cdk/layout': { singleton: true, requiredVersion: cdkMatVer },
+ '@angular/cdk/overlay': { singleton: true, requiredVersion: cdkMatVer },
+ '@angular/cdk/portal': { singleton: true, requiredVersion: cdkMatVer },
+ '@angular/cdk/scrolling': { singleton: true, requiredVersion: cdkMatVer },
+ // Angular Material sub-paths
+ '@angular/material/badge': { singleton: true, requiredVersion: cdkMatVer },
+ '@angular/material/bottom-sheet': {
+ singleton: true,
+ requiredVersion: cdkMatVer,
+ },
+ '@angular/material/button': { singleton: true, requiredVersion: cdkMatVer },
+ '@angular/material/checkbox': { singleton: true, requiredVersion: cdkMatVer },
+ '@angular/material/core': { singleton: true, requiredVersion: cdkMatVer },
+ '@angular/material/form-field': {
+ singleton: true,
+ requiredVersion: cdkMatVer,
+ },
+ '@angular/material/icon': { singleton: true, requiredVersion: cdkMatVer },
+ '@angular/material/input': { singleton: true, requiredVersion: cdkMatVer },
+ '@angular/material/list': { singleton: true, requiredVersion: cdkMatVer },
+ '@angular/material/paginator': {
+ singleton: true,
+ requiredVersion: cdkMatVer,
+ },
+ '@angular/material/progress-spinner': {
+ singleton: true,
+ requiredVersion: cdkMatVer,
+ },
+ '@angular/material/snack-bar': {
+ singleton: true,
+ requiredVersion: cdkMatVer,
},
- '@angular/router': { singleton: true, requiredVersion: '~21.2.15' },
+ '@angular/material/table': { singleton: true, requiredVersion: cdkMatVer },
+ '@angular/material/toolbar': { singleton: true, requiredVersion: cdkMatVer },
+ '@angular/material/tooltip': { singleton: true, requiredVersion: cdkMatVer },
+ // NgRx
'@ngrx/signals': { singleton: true, requiredVersion: '~21.1.0' },
'@ngrx/signals/events': { singleton: true, requiredVersion: '~21.1.0' },
+ // Workspace libs
+ '@myorg/counter': { singleton: true, requiredVersion: false },
+ '@myorg/shared': { singleton: true, requiredVersion: false },
+ // Utilities
rxjs: { singleton: true, requiredVersion: '~7.8.2' },
tslib: { singleton: true, requiredVersion: '~2.8.1' },
};
From 694295eca7b93fbd6f9ffc143d9c32a341becb7e Mon Sep 17 00:00:00 2001
From: chrisjwalk-bot <268224883+chrisjwalk-bot@users.noreply.github.com>
Date: Sun, 31 May 2026 11:07:00 -0400
Subject: [PATCH 07/22] fix(mfe): remove workspace libs from shared (MF virtual
module limitation)
MF virtual modules can't enumerate export * chains from TypeScript path
aliases, causing [MISSING_EXPORT] build errors. Workspace libs must
remain as separate bundles in each app.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---
apps/counter-remote/vite.config.ts | 5 ++---
apps/web-app/vite.config.ts | 5 ++---
2 files changed, 4 insertions(+), 6 deletions(-)
diff --git a/apps/counter-remote/vite.config.ts b/apps/counter-remote/vite.config.ts
index 5f2eccd4..19420981 100644
--- a/apps/counter-remote/vite.config.ts
+++ b/apps/counter-remote/vite.config.ts
@@ -64,9 +64,8 @@ const sharedDeps = {
// NgRx
'@ngrx/signals': { singleton: true, requiredVersion: '~21.1.0' },
'@ngrx/signals/events': { singleton: true, requiredVersion: '~21.1.0' },
- // Workspace libs
- '@myorg/counter': { singleton: true, requiredVersion: false },
- '@myorg/shared': { singleton: true, requiredVersion: false },
+ // Workspace libs — omitted: MF virtual modules can't enumerate
+ // export * chains from TypeScript path aliases (build breaks).
// Utilities
rxjs: { singleton: true, requiredVersion: '~7.8.2' },
tslib: { singleton: true, requiredVersion: '~2.8.1' },
diff --git a/apps/web-app/vite.config.ts b/apps/web-app/vite.config.ts
index 38646e44..6b8e514a 100644
--- a/apps/web-app/vite.config.ts
+++ b/apps/web-app/vite.config.ts
@@ -69,9 +69,8 @@ const mfeSharedDeps = {
// NgRx
'@ngrx/signals': { singleton: true, requiredVersion: '~21.1.0' },
'@ngrx/signals/events': { singleton: true, requiredVersion: '~21.1.0' },
- // Workspace libs
- '@myorg/counter': { singleton: true, requiredVersion: false },
- '@myorg/shared': { singleton: true, requiredVersion: false },
+ // Workspace libs — omitted: MF virtual modules can't enumerate
+ // export * chains from TypeScript path aliases (build breaks).
// Utilities
rxjs: { singleton: true, requiredVersion: '~7.8.2' },
tslib: { singleton: true, requiredVersion: '~2.8.1' },
From 29c7e376620c59bd8baca49d83128b2febe40e29 Mon Sep 17 00:00:00 2001
From: chrisjwalk-bot <268224883+chrisjwalk-bot@users.noreply.github.com>
Date: Sun, 31 May 2026 11:23:44 -0400
Subject: [PATCH 08/22] fix(mfe): add missing material/divider and
material/sidenav to MF shared singletons
Both @angular/material/divider and @angular/material/sidenav are
imported by workspace libs (@myorg/shared) which are loaded by both
the host and remote. Adding them as singletons prevents NG0912
component ID collisions for MatDivider, MatSidenav, etc.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---
apps/counter-remote/vite.config.ts | 2 ++
apps/web-app/vite.config.ts | 2 ++
2 files changed, 4 insertions(+)
diff --git a/apps/counter-remote/vite.config.ts b/apps/counter-remote/vite.config.ts
index 19420981..dff8b252 100644
--- a/apps/counter-remote/vite.config.ts
+++ b/apps/counter-remote/vite.config.ts
@@ -43,6 +43,7 @@ const sharedDeps = {
singleton: true,
requiredVersion: cdkMatVer,
},
+ '@angular/material/divider': { singleton: true, requiredVersion: cdkMatVer },
'@angular/material/icon': { singleton: true, requiredVersion: cdkMatVer },
'@angular/material/input': { singleton: true, requiredVersion: cdkMatVer },
'@angular/material/list': { singleton: true, requiredVersion: cdkMatVer },
@@ -54,6 +55,7 @@ const sharedDeps = {
singleton: true,
requiredVersion: cdkMatVer,
},
+ '@angular/material/sidenav': { singleton: true, requiredVersion: cdkMatVer },
'@angular/material/snack-bar': {
singleton: true,
requiredVersion: cdkMatVer,
diff --git a/apps/web-app/vite.config.ts b/apps/web-app/vite.config.ts
index 6b8e514a..5d460ca2 100644
--- a/apps/web-app/vite.config.ts
+++ b/apps/web-app/vite.config.ts
@@ -48,6 +48,7 @@ const mfeSharedDeps = {
singleton: true,
requiredVersion: cdkMatVer,
},
+ '@angular/material/divider': { singleton: true, requiredVersion: cdkMatVer },
'@angular/material/icon': { singleton: true, requiredVersion: cdkMatVer },
'@angular/material/input': { singleton: true, requiredVersion: cdkMatVer },
'@angular/material/list': { singleton: true, requiredVersion: cdkMatVer },
@@ -59,6 +60,7 @@ const mfeSharedDeps = {
singleton: true,
requiredVersion: cdkMatVer,
},
+ '@angular/material/sidenav': { singleton: true, requiredVersion: cdkMatVer },
'@angular/material/snack-bar': {
singleton: true,
requiredVersion: cdkMatVer,
From 8c292731a07140ce76b6cb4aad6e6baebddafd98 Mon Sep 17 00:00:00 2001
From: chrisjwalk-bot <268224883+chrisjwalk-bot@users.noreply.github.com>
Date: Sun, 31 May 2026 20:50:41 -0400
Subject: [PATCH 09/22] feat: mfe example with counter remote (closes #168)
- add counter-remote app exposing counter lib via module federation
- fix NG0912 collisions: import:false on CDK/Material in remote sharedDeps
- fix test OXC failures: fastCompile:mode==='test' in host analog() call
(angular files outside tsconfig.spec.json compiled by fast-compile AOT;
non-Angular TS stripped by OXC lang:'ts' instead of lang:'js')
- remove /feature duplicate route; /mfe-counter is the single MFE entry
- update README with MFE architecture section
- add .claude/skills/create-mfe SKILL.md documenting the full setup
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---
.claude/skills/create-mfe/SKILL.md | 445 ++++++++++++++++++
.github/workflows/preview.yml | 10 +
README.md | 29 ++
apps/counter-remote/vite.config.ts | 132 +++++-
apps/web-app/src/app/app.integration.spec.ts | 10 +-
apps/web-app/src/app/app.routes.ts | 4 -
apps/web-app/src/staticwebapp.config.json | 5 +-
.../src/test-stubs/counter-remote-routes.ts | 15 +
apps/web-app/vite.config.ts | 19 +-
.../counter-container/counter-container.ts | 24 +-
libs/counter/src/lib/lib.routes.ts | 3 +-
libs/shared/src/index.ts | 19 +-
libs/shared/src/lib/components/nav-links.ts | 10 +-
13 files changed, 660 insertions(+), 65 deletions(-)
create mode 100644 .claude/skills/create-mfe/SKILL.md
create mode 100644 apps/web-app/src/test-stubs/counter-remote-routes.ts
diff --git a/.claude/skills/create-mfe/SKILL.md b/.claude/skills/create-mfe/SKILL.md
new file mode 100644
index 00000000..eac0be18
--- /dev/null
+++ b/.claude/skills/create-mfe/SKILL.md
@@ -0,0 +1,445 @@
+---
+name: create-mfe
+description: >
+ Add a new micro-frontend (MFE) to this workspace. Use when asked to create a
+ new remote app, expose a feature as a micro-frontend, or wire up a new remote
+ to the host. Covers vite.config setup, shared singletons, NG0912 prevention,
+ test stubs, and CI/deployment.
+---
+
+# Create a Micro-Frontend (MFE)
+
+This workspace uses `@module-federation/vite` with `@analogjs/platform` (Analog.js)
+on top of Nx. The host is `apps/web-app` (port 4200). Additional remotes follow
+the pattern of `apps/counter-remote` (port 4201+).
+
+---
+
+## Architecture overview
+
+```
+apps/
+ web-app/ ← host (Analog SPA, port 4200)
+ counter-remote/ ← remote (Analog SPA, port 4201)
+libs/
+ counter/ ← workspace lib exposed by counter-remote
+```
+
+The remote **exposes one route file** (`./Routes`). The host **lazy-loads** it
+via `loadChildren`. The two apps share Angular, CDK, Material, NgRx, and RxJS as
+MF singletons so only one copy of each runs in the browser.
+
+---
+
+## Step 0 – Generate the remote app
+
+```bash
+# Generate a new Analog app in the workspace (adjust name/port as needed)
+pnpm nx generate @analogjs/platform:app my-remote --directory=apps/my-remote
+```
+
+Then delete the generated `vite.config.ts` and replace it with the template in
+Step 2. Delete generated routes/pages you don't need — the remote only needs a
+`remote-routes.ts` entry point.
+
+---
+
+## Step 1 – Install the MF package (if not already present)
+
+```bash
+pnpm add @module-federation/vite
+```
+
+Verify it appears in `package.json` dependencies (not devDependencies — it's a
+runtime bundler plugin).
+
+---
+
+## Step 2 – Configure the remote's `vite.config.ts`
+
+Copy `apps/counter-remote/vite.config.ts` as your starting point. Key rules:
+
+### Two required workaround plugins (always include both)
+
+```typescript
+// 1. @module-federation/vite crashes when server.watch is boolean false
+// (Vite 8 + Nx sets this by default). Must run pre-enforce.
+{
+ name: 'normalize-server-watch',
+ enforce: 'pre' as const,
+ config: () => ({ server: { watch: {} } }),
+},
+
+// 2. virtual:pwa-register is provided by VitePWA in the host only.
+// The remote must stub it so shared lib pre-transforms don't fail.
+{
+ name: 'virtual-pwa-register-stub',
+ resolveId: (id: string) =>
+ id === 'virtual:pwa-register' ? '\0virtual:pwa-register' : undefined,
+ load: (id: string) =>
+ id === '\0virtual:pwa-register'
+ ? 'export const registerSW = () => () => {};'
+ : undefined,
+},
+```
+
+### Disable federation in test mode
+
+```typescript
+mode !== 'test' &&
+ federation({
+ name: 'my-remote',
+ filename: 'remoteEntry.js',
+ dts: false,
+ exposes: {
+ './Routes': './src/remote-routes.ts',
+ },
+ shared: sharedDeps,
+ }),
+```
+
+Federation must be disabled in `mode === 'test'` — the MF virtual modules break
+vitest's module resolver.
+
+### External pwa-register from the build
+
+```typescript
+build: {
+ rolldownOptions: {
+ external: ['virtual:pwa-register'],
+ },
+},
+```
+
+### `sharedDeps` for the remote — `import: false` on CDK/Material
+
+**Critical:** Angular CDK and Material packages must have `import: false` on the
+**remote** (not on the host). Without this, `@module-federation/vite` generates a
+loadShare virtual module with a top-level `import * as __mfLocalShare from
+'@angular/material/button'`. This eagerly evaluates the module from the remote's
+dev server (a different URL), causing Angular to register the same component class
+twice → **NG0912 collisions at runtime**.
+
+With `import: false`, MF generates a deferred-export module that reads Material
+from the host's shared scope (`__mfModuleCache`) instead of loading its own copy.
+
+```typescript
+const angVer = '~21.x.x'; // match your @angular/core version
+const cdkMatVer = '~21.x.x'; // match your @angular/cdk version
+
+const sharedDeps = {
+ // Angular core — no import:false needed (no component registrations that collide)
+ '@angular/animations': { singleton: true, requiredVersion: angVer },
+ '@angular/common': { singleton: true, requiredVersion: angVer },
+ '@angular/common/http': { singleton: true, requiredVersion: angVer },
+ '@angular/compiler': { singleton: true, requiredVersion: angVer },
+ '@angular/core': { singleton: true, requiredVersion: angVer },
+ '@angular/forms': { singleton: true, requiredVersion: angVer },
+ '@angular/platform-browser': { singleton: true, requiredVersion: angVer },
+ '@angular/platform-browser/animations': { singleton: true, requiredVersion: angVer },
+ '@angular/platform-browser-dynamic': { singleton: true, requiredVersion: angVer },
+ '@angular/router': { singleton: true, requiredVersion: angVer },
+
+ // CDK sub-paths — import:false prevents NG0912 (see note above)
+ '@angular/cdk/a11y': { singleton: true, requiredVersion: cdkMatVer, import: false },
+ '@angular/cdk/bidi': { singleton: true, requiredVersion: cdkMatVer, import: false },
+ '@angular/cdk/layout': { singleton: true, requiredVersion: cdkMatVer, import: false },
+ '@angular/cdk/observers': { singleton: true, requiredVersion: cdkMatVer, import: false },
+ '@angular/cdk/overlay': { singleton: true, requiredVersion: cdkMatVer, import: false },
+ '@angular/cdk/portal': { singleton: true, requiredVersion: cdkMatVer, import: false },
+ '@angular/cdk/scrolling': { singleton: true, requiredVersion: cdkMatVer, import: false },
+ '@angular/cdk/text-field': { singleton: true, requiredVersion: cdkMatVer, import: false },
+
+ // Material sub-paths — import:false for same reason
+ '@angular/material/badge': { singleton: true, requiredVersion: cdkMatVer, import: false },
+ '@angular/material/bottom-sheet': { singleton: true, requiredVersion: cdkMatVer, import: false },
+ '@angular/material/button': { singleton: true, requiredVersion: cdkMatVer, import: false },
+ '@angular/material/checkbox': { singleton: true, requiredVersion: cdkMatVer, import: false },
+ '@angular/material/core': { singleton: true, requiredVersion: cdkMatVer, import: false },
+ '@angular/material/divider': { singleton: true, requiredVersion: cdkMatVer, import: false },
+ '@angular/material/form-field': { singleton: true, requiredVersion: cdkMatVer, import: false },
+ '@angular/material/icon': { singleton: true, requiredVersion: cdkMatVer, import: false },
+ '@angular/material/input': { singleton: true, requiredVersion: cdkMatVer, import: false },
+ '@angular/material/list': { singleton: true, requiredVersion: cdkMatVer, import: false },
+ '@angular/material/paginator': { singleton: true, requiredVersion: cdkMatVer, import: false },
+ '@angular/material/progress-spinner': { singleton: true, requiredVersion: cdkMatVer, import: false },
+ '@angular/material/sidenav': { singleton: true, requiredVersion: cdkMatVer, import: false },
+ '@angular/material/snack-bar': { singleton: true, requiredVersion: cdkMatVer, import: false },
+ '@angular/material/table': { singleton: true, requiredVersion: cdkMatVer, import: false },
+ '@angular/material/toolbar': { singleton: true, requiredVersion: cdkMatVer, import: false },
+ '@angular/material/tooltip': { singleton: true, requiredVersion: cdkMatVer, import: false },
+
+ // NgRx + utilities
+ '@ngrx/signals': { singleton: true, requiredVersion: '~21.x.x' },
+ '@ngrx/signals/events': { singleton: true, requiredVersion: '~21.x.x' },
+ rxjs: { singleton: true, requiredVersion: '~7.x.x' },
+ tslib: { singleton: true, requiredVersion: '~2.x.x' },
+};
+```
+
+> **Add only the CDK/Material sub-paths your remote actually uses.** If the
+> remote later adds more Material imports, add their sub-paths here too.
+
+> **Do NOT add `@myorg/*` workspace libs to the shared config.** MF uses Rolldown
+> to build loadShare virtual modules, and Rolldown cannot enumerate `export *`
+> chains from TypeScript path aliases. This causes `[MISSING_EXPORT]` build
+> errors at runtime. Workspace libs should be bundled into the remote directly.
+
+> **Use sub-paths, not root paths.** Declaring `'@angular/material': { ... }`
+> (no trailing slash) only matches the exact bare specifier. It does NOT match
+> `@angular/material/button`. You must list each sub-path explicitly.
+
+---
+
+## Step 3 – Configure the host's `vite.config.ts`
+
+Add the remote to the host's federation config. The host's `sharedDeps` does
+**not** need `import: false` — the host is the provider of these modules.
+
+```typescript
+// In apps/web-app/vite.config.ts
+
+mode !== 'test' &&
+ federation({
+ name: 'host',
+ filename: 'remoteEntry.js',
+ dts: false,
+ remotes: {
+ 'my-remote': {
+ type: 'module',
+ name: 'my-remote',
+ entry:
+ process.env['MY_REMOTE_ENTRY'] ??
+ 'http://localhost:4202/remoteEntry.js', // remote's dev port
+ entryGlobalName: 'my-remote',
+ shareScope: 'default',
+ },
+ // keep existing remotes:
+ 'counter-remote': { ... },
+ },
+ exposes: {},
+ shared: mfeSharedDeps, // same shape as remote but WITHOUT import:false
+ }),
+```
+
+The `MY_REMOTE_ENTRY` env var lets CI inject the production URL (see Step 7).
+
+---
+
+## Step 4 – Create the remote's entry point
+
+```typescript
+// apps/my-remote/src/remote-routes.ts
+export { myFeatureRoutes } from '@myorg/my-feature';
+```
+
+This is the file exposed as `'./Routes'` in the federation config. It simply
+re-exports the routes from a workspace lib (or defines them inline).
+
+The workspace lib's route file should use `loadComponent` (not `component`) so
+the component itself is still lazy-loaded by Angular's router:
+
+```typescript
+// libs/my-feature/src/lib/lib.routes.ts
+import { Route } from '@angular/router';
+
+export const myFeatureRoutes: Route[] = [
+ {
+ path: '',
+ title: 'My Feature',
+ loadComponent: () => import('./components/my-feature/my-feature').then((m) => m.MyFeature),
+ providers: [MyFeatureStore],
+ },
+];
+```
+
+---
+
+## Step 5 – Add the route to the host app
+
+```typescript
+// apps/web-app/src/app/app.routes.ts
+{
+ path: 'my-feature',
+ loadChildren: () =>
+ import('my-remote/Routes').then((m) => m.myFeatureRoutes),
+},
+```
+
+---
+
+## Step 6 – Add a navigation link
+
+```typescript
+// libs/shared/src/lib/components/nav-links.ts
+// Add to the navLinks array:
+{ routerLink: '/my-feature', label: 'My Feature', icon: 'hub' },
+```
+
+---
+
+## Step 7 – Integration tests: fastCompile + test stub
+
+### Enable `fastCompile` on the host for test mode
+
+MFE remote files (routes, stores, components) loaded through `import('my-remote/Routes')`
+are **not in `tsconfig.spec.json`'s TypeScript program**. The standard Angular
+Vite plugin cannot compile them, causing `@analogjs/vitest-angular-sourcemap-plugin`
+to fall through to OXC in **JS mode** — which fails on TypeScript syntax like
+`readonly`, type generics, or `export type`.
+
+Fix: enable `fastCompile: mode === 'test'` in the host's `analog()` call.
+The fast-compile plugin has its own single-pass AOT compiler that works on Angular
+files _outside_ the TypeScript program, and it strips TypeScript from non-Angular
+files using OXC in `lang: 'ts'` mode — so both are handled correctly.
+
+```typescript
+// apps/web-app/vite.config.ts
+analog({
+ ssr: false,
+ static: true,
+ // Use the fast-compile path in tests: compiles Angular components outside
+ // tsconfig.spec.json (e.g. MFE stubs) and strips TS from plain .ts files.
+ fastCompile: mode === 'test',
+ prerender: { routes: [] },
+ // ... rest of analog() options
+}),
+```
+
+> `fastCompile` skips Angular's full template type-checking. This is fine for
+> tests — template type errors show up in the IDE and in `tsc`, not at test run time.
+
+### Create a test stub for the MFE route
+
+The MFE's `remoteEntry.js` isn't available in vitest — it's a network resource.
+Replace it with a local stub via a Vite alias:
+
+```typescript
+// apps/web-app/src/test-stubs/my-remote-routes.ts
+// Stub for 'my-remote/Routes' used in tests.
+// Imports the real component from the workspace lib directly so integration
+// tests navigate and render the actual component, not a fake.
+import { MyFeature } from '../../../../libs/my-feature/src/lib/components/my-feature/my-feature';
+
+export const myFeatureRoutes = [
+ {
+ path: '',
+ title: 'My Feature',
+ component: MyFeature,
+ providers: [],
+ },
+];
+```
+
+### Wire the stub in the host's vite.config (test mode only)
+
+```typescript
+// apps/web-app/vite.config.ts
+import { resolve } from 'path';
+
+resolve: {
+ alias:
+ mode === 'test'
+ ? {
+ 'my-remote/Routes': resolve(
+ __dirname,
+ 'src/test-stubs/my-remote-routes.ts',
+ ),
+ // keep existing stubs:
+ 'counter-remote/Routes': resolve(
+ __dirname,
+ 'src/test-stubs/counter-remote-routes.ts',
+ ),
+ }
+ : {},
+},
+```
+
+---
+
+## Step 8 – CI/preview deployment
+
+### Build order in CI
+
+The remote must be built **before** the host, and its output must be nested
+inside the host's output directory:
+
+```yaml
+# .github/workflows/preview.yml (excerpt)
+
+- name: Build my-remote (production)
+ run: pnpm nx build my-remote --configuration production
+
+- name: Copy my-remote output into web-app output
+ run: |
+ mkdir -p dist/apps/web-app/client/my-remote
+ cp -r dist/apps/my-remote/* dist/apps/web-app/client/my-remote/
+
+- name: Build web app (preview)
+ env:
+ COUNTER_REMOTE_ENTRY: /counter-remote/remoteEntry.js
+ MY_REMOTE_ENTRY: /my-remote/remoteEntry.js
+ run: pnpm nx build web-app --configuration preview
+```
+
+### SWA routing config
+
+Azure Static Web Apps rewrites all unknown paths to `index.html` by default.
+This breaks the remote's JS/asset requests. Exclude the remote's directory:
+
+```json
+// apps/web-app/src/staticwebapp.config.json
+{
+ "navigationFallback": {
+ "rewrite": "/index.html",
+ "exclude": ["/*.{css,js,png,gif,ico,jpg,svg,webmanifest,woff,woff2,txt}", "/counter-remote/**", "/my-remote/**"]
+ }
+}
+```
+
+---
+
+## Step 9 – Dev workflow
+
+Start both apps in separate terminals:
+
+```bash
+# Terminal 1 — remote (must start first so host can connect on load)
+pnpm nx serve my-remote
+
+# Terminal 2 — host
+pnpm nx serve web-app
+```
+
+The host references the remote at `http://localhost:4202/remoteEntry.js` (the
+port set in `server.origin` of the remote's vite.config). If the remote isn't
+running, the host still loads — the MFE route just fails to activate.
+
+---
+
+## Step 10 – Verify
+
+```bash
+# Build everything
+pnpm nx run-many -t build
+
+# Run all tests
+pnpm nx run-many -t test
+```
+
+Open `http://localhost:4200/my-feature` — the MFE should load with zero NG0912
+warnings in the browser console.
+
+---
+
+## Pitfall reference
+
+| Symptom | Root cause | Fix |
+| ------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- |
+| `NG0912` for Material/CDK components | Remote's loadShare virtual module has a top-level `import` that double-evaluates modules | Add `import: false` to all CDK/Material entries in the **remote's** `sharedDeps` |
+| `NG0912` for workspace lib components | Workspace lib bundled into both host and remote | Remove the workspace lib from MF shared config; keep it as a direct dependency of the remote only |
+| `[MISSING_EXPORT] "SomeExport"` build error | `@myorg/*` workspace lib added to MF shared config; Rolldown can't enumerate `export *` from TS path aliases | Never put `@myorg/*` libs in MF shared config |
+| `SyntaxError: Unexpected identifier` / `[PARSE_ERROR] Missing initializer` in vitest | Files reachable only via dynamic MFE import are not in `tsconfig.spec.json`'s program; `@analogjs/vitest-angular-sourcemap-plugin` falls through to OXC **JS mode** which fails on `readonly`, type generics, `export type` etc. | Add `fastCompile: mode === 'test'` to `analog()` in the host's `vite.config.ts` |
+| Remote assets return `index.html` in Azure SWA preview | SWA's `navigationFallback` rewrites all unknown paths | Add `/my-remote/**` to `navigationFallback.exclude` in `staticwebapp.config.json` |
+| `Cannot read properties of undefined (reading 'watch')` on `pnpm nx serve` | `@module-federation/vite` crashes when `server.watch` is `false` (Vite 8 + Nx default) | Add the `normalize-server-watch` pre-enforce plugin to both host and remote |
+| Remote's workspace lib styles missing | `virtual:pwa-register` not resolved in remote | Add the `virtual-pwa-register-stub` plugin to the remote |
diff --git a/.github/workflows/preview.yml b/.github/workflows/preview.yml
index aec005ab..4a7f56d6 100644
--- a/.github/workflows/preview.yml
+++ b/.github/workflows/preview.yml
@@ -32,7 +32,17 @@ jobs:
- name: Install dependencies
run: pnpm install --frozen-lockfile
+ - name: Build counter-remote (production)
+ run: pnpm nx build counter-remote --configuration production
+
+ - name: Copy counter-remote output into web-app output
+ run: |
+ mkdir -p dist/apps/web-app/client/counter-remote
+ cp -r dist/apps/counter-remote/* dist/apps/web-app/client/counter-remote/
+
- name: Build web app (preview)
+ env:
+ COUNTER_REMOTE_ENTRY: /counter-remote/remoteEntry.js
run: pnpm nx build web-app --configuration preview
- name: Copy SWA routing config
diff --git a/README.md b/README.md
index 6a4d8d34..e55e8881 100644
--- a/README.md
+++ b/README.md
@@ -10,6 +10,7 @@ A full-stack demo using an [Nx monorepo](https://nx.dev) with [Angular](https://
- **Notification center** — persistent notification panel with unread count, mark-as-read, dismiss, and action support (e.g. one-click reload on SW update)
- **PWA / service worker** — offline support; notifies users when a new app version is available with an in-app prompt to reload
- **Markdown content pages** — [Analog.js](https://analogjs.org) content feature renders pages from Markdown files with frontmatter support (see the [About](/about) page for a live demo)
+- **Counter micro frontend** — the Counter feature runs as a separate [Module Federation](https://module-federation.io/) remote (`counter-remote`), demonstrating micro-frontend architecture with shared singleton libraries
- **Debug page** (`/debug`) — trigger test notifications and inspect service worker update state during development
- **PR preview deployments** — every pull request gets a live preview URL via Azure Static Web Apps
@@ -23,6 +24,7 @@ A full-stack demo using an [Nx monorepo](https://nx.dev) with [Angular](https://
- [Analog.js](https://analogjs.org) — Vite-native Angular meta-framework; used for file-based Markdown content pages
- [Tailwind CSS v4](https://tailwindcss.com) — utility-first styling
- [Angular PWA](https://angular.dev/ecosystem/service-workers) — service worker & offline support
+- [Module Federation](https://module-federation.io/) (`@module-federation/vite`) — micro-frontend architecture
**Backend**
@@ -63,6 +65,33 @@ pnpm start
Starts both the .NET API and Angular app in dev mode. Open [http://localhost:4200](http://localhost:4200) for the app, or [https://localhost:60254/swagger](https://localhost:60254/swagger) for the API docs.
+## Micro-frontend development
+
+The Counter feature is a [Module Federation](https://module-federation.io/) micro-frontend remote. To develop with the MFE active, start both servers in separate terminals:
+
+```bash
+# Terminal 1 — remote (port 4201)
+pnpm nx serve counter-remote
+
+# Terminal 2 — host (port 4200)
+pnpm nx serve web-app
+```
+
+The host at `http://localhost:4200` will load the Counter remote automatically from `http://localhost:4201/remoteEntry.js` when you navigate to `/mfe-counter`.
+
+### Architecture
+
+| App | Role | Port | Description |
+| ---------------- | ---------- | ---- | --------------------------------------------- |
+| `web-app` | MFE host | 4200 | Main application shell |
+| `counter-remote` | MFE remote | 4201 | Counter feature exposed via Module Federation |
+
+**Shared singletons** — Angular core, CDK/Material, and NgRx are configured as Module Federation singletons so both apps share a single instance. This prevents Angular's NG0912 component-ID collision warnings that occur when the same component class is registered twice.
+
+**Remote self-containment** — workspace libs (`@myorg/shared`, `@myorg/counter`) are NOT in the MF shared config because Rolldown's static analysis cannot enumerate `export *` chains from TypeScript path aliases. Instead, the remote is designed to be self-contained: `counter-remote` bundles only `@myorg/counter` (which has no `@myorg/shared` dependencies), and the host bundles `@myorg/shared` exclusively (no duplicate registrations).
+
+**Preview deployments** — in CI, `counter-remote` is built and served from `/counter-remote/` within the same Static Web App as the host. The `COUNTER_REMOTE_ENTRY` environment variable is set to `/counter-remote/remoteEntry.js` during the host build so the baked-in import map points to the co-deployed remote instead of `localhost`.
+
## Lint
```bash
diff --git a/apps/counter-remote/vite.config.ts b/apps/counter-remote/vite.config.ts
index dff8b252..281cd3a6 100644
--- a/apps/counter-remote/vite.config.ts
+++ b/apps/counter-remote/vite.config.ts
@@ -24,50 +24,140 @@ const sharedDeps = {
requiredVersion: angVer,
},
'@angular/router': { singleton: true, requiredVersion: angVer },
- // Angular CDK sub-paths
- '@angular/cdk/a11y': { singleton: true, requiredVersion: cdkMatVer },
- '@angular/cdk/layout': { singleton: true, requiredVersion: cdkMatVer },
- '@angular/cdk/overlay': { singleton: true, requiredVersion: cdkMatVer },
- '@angular/cdk/portal': { singleton: true, requiredVersion: cdkMatVer },
- '@angular/cdk/scrolling': { singleton: true, requiredVersion: cdkMatVer },
- // Angular Material sub-paths
- '@angular/material/badge': { singleton: true, requiredVersion: cdkMatVer },
+ // Angular CDK/Material sub-paths — import:false so the remote uses the host's
+ // already-evaluated module instance rather than loading a second copy from its
+ // own dev server. A top-level `import * as __mfLocalShare` in the generated
+ // loadShare virtual module would otherwise cause Angular to register the same
+ // component class twice, triggering NG0912 collisions at runtime.
+ '@angular/cdk/a11y': {
+ singleton: true,
+ requiredVersion: cdkMatVer,
+ import: false,
+ },
+ '@angular/cdk/bidi': {
+ singleton: true,
+ requiredVersion: cdkMatVer,
+ import: false,
+ },
+ '@angular/cdk/layout': {
+ singleton: true,
+ requiredVersion: cdkMatVer,
+ import: false,
+ },
+ '@angular/cdk/observers': {
+ singleton: true,
+ requiredVersion: cdkMatVer,
+ import: false,
+ },
+ '@angular/cdk/overlay': {
+ singleton: true,
+ requiredVersion: cdkMatVer,
+ import: false,
+ },
+ '@angular/cdk/portal': {
+ singleton: true,
+ requiredVersion: cdkMatVer,
+ import: false,
+ },
+ '@angular/cdk/scrolling': {
+ singleton: true,
+ requiredVersion: cdkMatVer,
+ import: false,
+ },
+ '@angular/cdk/text-field': {
+ singleton: true,
+ requiredVersion: cdkMatVer,
+ import: false,
+ },
+ // Angular Material sub-paths — same import:false reason as CDK above
+ '@angular/material/badge': {
+ singleton: true,
+ requiredVersion: cdkMatVer,
+ import: false,
+ },
'@angular/material/bottom-sheet': {
singleton: true,
requiredVersion: cdkMatVer,
+ import: false,
+ },
+ '@angular/material/button': {
+ singleton: true,
+ requiredVersion: cdkMatVer,
+ import: false,
+ },
+ '@angular/material/checkbox': {
+ singleton: true,
+ requiredVersion: cdkMatVer,
+ import: false,
+ },
+ '@angular/material/core': {
+ singleton: true,
+ requiredVersion: cdkMatVer,
+ import: false,
},
- '@angular/material/button': { singleton: true, requiredVersion: cdkMatVer },
- '@angular/material/checkbox': { singleton: true, requiredVersion: cdkMatVer },
- '@angular/material/core': { singleton: true, requiredVersion: cdkMatVer },
'@angular/material/form-field': {
singleton: true,
requiredVersion: cdkMatVer,
+ import: false,
+ },
+ '@angular/material/divider': {
+ singleton: true,
+ requiredVersion: cdkMatVer,
+ import: false,
+ },
+ '@angular/material/icon': {
+ singleton: true,
+ requiredVersion: cdkMatVer,
+ import: false,
+ },
+ '@angular/material/input': {
+ singleton: true,
+ requiredVersion: cdkMatVer,
+ import: false,
+ },
+ '@angular/material/list': {
+ singleton: true,
+ requiredVersion: cdkMatVer,
+ import: false,
},
- '@angular/material/divider': { singleton: true, requiredVersion: cdkMatVer },
- '@angular/material/icon': { singleton: true, requiredVersion: cdkMatVer },
- '@angular/material/input': { singleton: true, requiredVersion: cdkMatVer },
- '@angular/material/list': { singleton: true, requiredVersion: cdkMatVer },
'@angular/material/paginator': {
singleton: true,
requiredVersion: cdkMatVer,
+ import: false,
},
'@angular/material/progress-spinner': {
singleton: true,
requiredVersion: cdkMatVer,
+ import: false,
+ },
+ '@angular/material/sidenav': {
+ singleton: true,
+ requiredVersion: cdkMatVer,
+ import: false,
},
- '@angular/material/sidenav': { singleton: true, requiredVersion: cdkMatVer },
'@angular/material/snack-bar': {
singleton: true,
requiredVersion: cdkMatVer,
+ import: false,
+ },
+ '@angular/material/table': {
+ singleton: true,
+ requiredVersion: cdkMatVer,
+ import: false,
+ },
+ '@angular/material/toolbar': {
+ singleton: true,
+ requiredVersion: cdkMatVer,
+ import: false,
+ },
+ '@angular/material/tooltip': {
+ singleton: true,
+ requiredVersion: cdkMatVer,
+ import: false,
},
- '@angular/material/table': { singleton: true, requiredVersion: cdkMatVer },
- '@angular/material/toolbar': { singleton: true, requiredVersion: cdkMatVer },
- '@angular/material/tooltip': { singleton: true, requiredVersion: cdkMatVer },
// NgRx
'@ngrx/signals': { singleton: true, requiredVersion: '~21.1.0' },
'@ngrx/signals/events': { singleton: true, requiredVersion: '~21.1.0' },
- // Workspace libs — omitted: MF virtual modules can't enumerate
- // export * chains from TypeScript path aliases (build breaks).
// Utilities
rxjs: { singleton: true, requiredVersion: '~7.8.2' },
tslib: { singleton: true, requiredVersion: '~2.8.1' },
diff --git a/apps/web-app/src/app/app.integration.spec.ts b/apps/web-app/src/app/app.integration.spec.ts
index 581467e6..ace7b511 100644
--- a/apps/web-app/src/app/app.integration.spec.ts
+++ b/apps/web-app/src/app/app.integration.spec.ts
@@ -81,11 +81,11 @@ describe('App Integration', () => {
expect(loginComponent).toBeTruthy();
});
- it('should navigate to /feature and load the counter feature', async () => {
+ it('should navigate to /mfe-counter and load the counter feature', async () => {
const fixture = TestBed.createComponent(App);
fixture.detectChanges();
const router = TestBed.inject(Router);
- await router.navigateByUrl('/feature');
+ await router.navigateByUrl('/mfe-counter');
const compiled = fixture.nativeElement as HTMLElement;
// Wait for the counter container to appear
const counterContainer = await waitForElement(
@@ -98,17 +98,13 @@ describe('App Integration', () => {
'[data-testid="lib-counter"]',
);
expect(counterComponent).toBeTruthy();
- const pageContainer = compiled.querySelector(
- '[data-testid="lib-page-container"]',
- );
- expect(pageContainer).toBeTruthy();
});
it('should increment and decrement the counter value when buttons are clicked', async () => {
const fixture = TestBed.createComponent(App);
fixture.detectChanges();
const router = TestBed.inject(Router);
- await router.navigateByUrl('/feature');
+ await router.navigateByUrl('/mfe-counter');
const compiled = fixture.nativeElement as HTMLElement;
// Wait for the counter container to appear
await waitForElement(
diff --git a/apps/web-app/src/app/app.routes.ts b/apps/web-app/src/app/app.routes.ts
index 85547e5f..6aeffe1a 100644
--- a/apps/web-app/src/app/app.routes.ts
+++ b/apps/web-app/src/app/app.routes.ts
@@ -5,10 +5,6 @@ export const routes: Route[] = [
path: '',
loadChildren: () => import('@myorg/home').then((m) => m.homeRoutes),
},
- {
- path: 'feature',
- loadChildren: () => import('@myorg/counter').then((m) => m.counterRoutes),
- },
{
path: 'mfe-counter',
loadChildren: () =>
diff --git a/apps/web-app/src/staticwebapp.config.json b/apps/web-app/src/staticwebapp.config.json
index a6c11734..d473a033 100644
--- a/apps/web-app/src/staticwebapp.config.json
+++ b/apps/web-app/src/staticwebapp.config.json
@@ -1,6 +1,9 @@
{
"navigationFallback": {
"rewrite": "/index.html",
- "exclude": ["/*.{css,js,png,gif,ico,jpg,svg,webmanifest,woff,woff2,txt}"]
+ "exclude": [
+ "/*.{css,js,png,gif,ico,jpg,svg,webmanifest,woff,woff2,txt}",
+ "/counter-remote/**"
+ ]
}
}
diff --git a/apps/web-app/src/test-stubs/counter-remote-routes.ts b/apps/web-app/src/test-stubs/counter-remote-routes.ts
new file mode 100644
index 00000000..6d86fc2b
--- /dev/null
+++ b/apps/web-app/src/test-stubs/counter-remote-routes.ts
@@ -0,0 +1,15 @@
+// Stub used in tests to resolve counter-remote/Routes without needing a running MFE remote.
+// Production code uses the real MFE remote via Module Federation.
+//
+// fastCompile: mode === 'test' in analog() ensures Angular files outside tsconfig.spec.json
+// are compiled via the single-pass AOT compiler, and non-Angular TypeScript files are
+// stripped safely — so imports here are unrestricted.
+import { CounterContainer } from '@myorg/counter';
+
+export const counterRoutes = [
+ {
+ path: '',
+ title: 'Counter',
+ component: CounterContainer,
+ },
+];
diff --git a/apps/web-app/vite.config.ts b/apps/web-app/vite.config.ts
index 5d460ca2..ea3277e8 100644
--- a/apps/web-app/vite.config.ts
+++ b/apps/web-app/vite.config.ts
@@ -29,12 +29,15 @@ const mfeSharedDeps = {
requiredVersion: angVer,
},
'@angular/router': { singleton: true, requiredVersion: angVer },
- // Angular CDK sub-paths
+ // Angular CDK sub-paths (all declaration-bearing sub-paths used by CDK/Material)
'@angular/cdk/a11y': { singleton: true, requiredVersion: cdkMatVer },
+ '@angular/cdk/bidi': { singleton: true, requiredVersion: cdkMatVer },
'@angular/cdk/layout': { singleton: true, requiredVersion: cdkMatVer },
+ '@angular/cdk/observers': { singleton: true, requiredVersion: cdkMatVer },
'@angular/cdk/overlay': { singleton: true, requiredVersion: cdkMatVer },
'@angular/cdk/portal': { singleton: true, requiredVersion: cdkMatVer },
'@angular/cdk/scrolling': { singleton: true, requiredVersion: cdkMatVer },
+ '@angular/cdk/text-field': { singleton: true, requiredVersion: cdkMatVer },
// Angular Material sub-paths
'@angular/material/badge': { singleton: true, requiredVersion: cdkMatVer },
'@angular/material/bottom-sheet': {
@@ -71,8 +74,6 @@ const mfeSharedDeps = {
// NgRx
'@ngrx/signals': { singleton: true, requiredVersion: '~21.1.0' },
'@ngrx/signals/events': { singleton: true, requiredVersion: '~21.1.0' },
- // Workspace libs — omitted: MF virtual modules can't enumerate
- // export * chains from TypeScript path aliases (build breaks).
// Utilities
rxjs: { singleton: true, requiredVersion: '~7.8.2' },
tslib: { singleton: true, requiredVersion: '~2.8.1' },
@@ -108,7 +109,9 @@ export default defineConfig(({ mode }) => {
'counter-remote': {
type: 'module',
name: 'counter-remote',
- entry: 'http://localhost:4201/remoteEntry.js',
+ entry:
+ process.env['COUNTER_REMOTE_ENTRY'] ??
+ 'http://localhost:4201/remoteEntry.js',
entryGlobalName: 'counter-remote',
shareScope: 'default',
},
@@ -121,6 +124,11 @@ export default defineConfig(({ mode }) => {
ssr: false,
static: true,
apiPrefix: '_analog',
+ // In test mode, use the fast-compile path so Angular components loaded
+ // via MFE aliases (not in tsconfig.spec.json) are compiled with the
+ // local single-pass AOT compiler, and non-Angular TS files are stripped
+ // with OXC lang:'ts' — avoiding the NG0912/OXC JS-mode parse failures.
+ fastCompile: mode === 'test',
prerender: {
routes: [],
},
@@ -223,9 +231,10 @@ export default defineConfig(({ mode }) => {
alias:
mode === 'test'
? {
+ // In tests, stub the MFE remote with the real counter routes from the workspace lib.
'counter-remote/Routes': resolve(
__dirname,
- '../../libs/counter/src/lib/lib.routes.ts',
+ 'src/test-stubs/counter-remote-routes.ts',
),
}
: {},
diff --git a/libs/counter/src/lib/components/counter-container/counter-container.ts b/libs/counter/src/lib/components/counter-container/counter-container.ts
index b119fa22..0d4a9f89 100644
--- a/libs/counter/src/lib/components/counter-container/counter-container.ts
+++ b/libs/counter/src/lib/components/counter-container/counter-container.ts
@@ -4,42 +4,38 @@ import {
inject,
input,
} from '@angular/core';
-import { LayoutStore, PageContainer, PageToolbar } from '@myorg/shared';
import { counterEvents, CounterStore } from '../../state';
import { Counter } from '../counter/counter';
import { injectDispatch } from '@ngrx/signals/events';
@Component({
- imports: [PageContainer, PageToolbar, Counter],
+ imports: [Counter],
selector: 'lib-counter-container',
+ providers: [CounterStore],
template: `
@let count = store.count();
-
-
-
-
+
`,
host: {
+ class: 'block p-4',
'data-testid': 'lib-counter-container',
},
changeDetection: ChangeDetectionStrategy.OnPush,
})
export class CounterContainer {
- readonly layoutStore = inject(LayoutStore);
readonly store = inject(CounterStore);
readonly dispatcher = injectDispatch(counterEvents);
count = input(null);
constructor() {
- this.layoutStore.setTitle('Lazy Loaded Feature');
this.store.inputCount(this.count);
}
}
diff --git a/libs/counter/src/lib/lib.routes.ts b/libs/counter/src/lib/lib.routes.ts
index 540b67fe..9455d35f 100644
--- a/libs/counter/src/lib/lib.routes.ts
+++ b/libs/counter/src/lib/lib.routes.ts
@@ -1,12 +1,11 @@
import { Route } from '@angular/router';
import { CounterContainer } from './components/counter-container/counter-container';
-import { CounterStore } from './state';
export const counterRoutes: Route[] = [
{
path: '',
+ title: 'Counter',
component: CounterContainer,
- providers: [CounterStore],
},
];
diff --git a/libs/shared/src/index.ts b/libs/shared/src/index.ts
index 68141202..a7ace6e4 100644
--- a/libs/shared/src/index.ts
+++ b/libs/shared/src/index.ts
@@ -1,3 +1,16 @@
-export * from './lib/components';
-export * from './lib/state';
-export * from './lib/testing';
+export * from './lib/components/main-toolbar';
+export * from './lib/components/nav-links';
+export * from './lib/components/notification-bell';
+export * from './lib/components/notification-list';
+export * from './lib/components/page-container';
+export * from './lib/components/page-toolbar-button';
+export * from './lib/components/page-toolbar';
+export * from './lib/components/sidenav-list-item';
+export * from './lib/components/sidenav';
+export * from './lib/components/theme.service';
+export * from './lib/state/layout.store';
+export * from './lib/state/loading.feature';
+export * from './lib/state/notification.store';
+export * from './lib/state/sw-update.store';
+export * from './lib/state/breakpoint.store';
+export * from './lib/testing/wait-for-element';
diff --git a/libs/shared/src/lib/components/nav-links.ts b/libs/shared/src/lib/components/nav-links.ts
index af68207c..6d8f8d01 100644
--- a/libs/shared/src/lib/components/nav-links.ts
+++ b/libs/shared/src/lib/components/nav-links.ts
@@ -18,17 +18,11 @@ export const NAV_LINKS: NavLink[] = [
hint: 'Get Data Feature',
label: 'Weather Forecasts',
},
- {
- routerLink: '/feature',
- icon: 'hotel',
- hint: 'Lazy Loaded Feature',
- label: 'Counter',
- },
{
routerLink: '/mfe-counter',
icon: 'hub',
- hint: 'MFE Counter (requires counter-remote on :4201)',
- label: 'MFE Counter',
+ hint: 'Counter (Micro Frontend)',
+ label: 'Counter',
},
{
routerLink: '/content',
From 55c61285da62a69ba1aae7f56748f22bc816a1bb Mon Sep 17 00:00:00 2001
From: chrisjwalk-bot <268224883+chrisjwalk-bot@users.noreply.github.com>
Date: Sun, 31 May 2026 21:42:52 -0400
Subject: [PATCH 10/22] fix: use single wildcard in SWA navigationFallback
exclude paths
Azure Static Web Apps allows at most one '*' per route pattern.
Replace '/counter-remote/**' with two single-wildcard patterns.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---
apps/web-app/src/staticwebapp.config.json | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/apps/web-app/src/staticwebapp.config.json b/apps/web-app/src/staticwebapp.config.json
index d473a033..ab396dd8 100644
--- a/apps/web-app/src/staticwebapp.config.json
+++ b/apps/web-app/src/staticwebapp.config.json
@@ -3,7 +3,8 @@
"rewrite": "/index.html",
"exclude": [
"/*.{css,js,png,gif,ico,jpg,svg,webmanifest,woff,woff2,txt}",
- "/counter-remote/**"
+ "/counter-remote/*",
+ "/counter-remote/assets/*"
]
}
}
From fa24b929322b396f5efa2cb181f163baddd485be Mon Sep 17 00:00:00 2001
From: chrisjwalk-bot <268224883+chrisjwalk-bot@users.noreply.github.com>
Date: Sun, 31 May 2026 21:43:57 -0400
Subject: [PATCH 11/22] chore: update GitHub Actions to Node.js 24 compatible
versions
Bump actions/checkout and actions/setup-node from v4 to v6 in
preview.yml and deploy.yml to avoid Node.js 20 deprecation warnings.
Also align actions/setup-dotnet to v5 in deploy.yml.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---
.github/workflows/deploy.yml | 6 +++---
.github/workflows/preview.yml | 4 ++--
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml
index 8c8aef5e..f8b687e0 100644
--- a/.github/workflows/deploy.yml
+++ b/.github/workflows/deploy.yml
@@ -34,18 +34,18 @@ jobs:
environment: production
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@v6
- uses: pnpm/action-setup@v4
with:
version: 10
- - uses: actions/setup-node@v4
+ - uses: actions/setup-node@v6
with:
node-version: 24
cache: pnpm
- - uses: actions/setup-dotnet@v4
+ - uses: actions/setup-dotnet@v5
with:
dotnet-version: 10.0.x
diff --git a/.github/workflows/preview.yml b/.github/workflows/preview.yml
index 4a7f56d6..8c92ce74 100644
--- a/.github/workflows/preview.yml
+++ b/.github/workflows/preview.yml
@@ -18,13 +18,13 @@ jobs:
contents: read
pull-requests: write # SWA deploy posts preview URL comment
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@v6
- uses: pnpm/action-setup@v4
with:
version: 10
- - uses: actions/setup-node@v4
+ - uses: actions/setup-node@v6
with:
node-version: 24
cache: pnpm
From 50c04fedb55bf62724ef0f42dee39ebda20b599d Mon Sep 17 00:00:00 2001
From: chrisjwalk-bot <268224883+chrisjwalk-bot@users.noreply.github.com>
Date: Sun, 31 May 2026 21:58:28 -0400
Subject: [PATCH 12/22] fix: resolve CounterContainer stub and update E2E tests
for /mfe-counter
- counter-remote-routes.ts: re-export counterRoutes directly from
@myorg/counter instead of importing CounterContainer (which is not
in the lib's barrel export), fixing NG04014 in CI integration tests
- E2E tests: update URL assertions from /feature to /mfe-counter
- playwright.config.ts: add counter-remote:serve webServer so MFE
remote is available during E2E runs
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---
apps/web-app-e2e/playwright.config.ts | 6 ++++++
apps/web-app-e2e/src/counter.e2e.spec.ts | 6 +++---
apps/web-app-e2e/src/navigation.e2e.spec.ts | 6 +++---
.../src/test-stubs/counter-remote-routes.ts | 15 ++-------------
4 files changed, 14 insertions(+), 19 deletions(-)
diff --git a/apps/web-app-e2e/playwright.config.ts b/apps/web-app-e2e/playwright.config.ts
index d35e53a3..00a377b3 100644
--- a/apps/web-app-e2e/playwright.config.ts
+++ b/apps/web-app-e2e/playwright.config.ts
@@ -31,6 +31,12 @@ export default defineConfig({
reuseExistingServer: !process.env.CI,
cwd: workspaceRoot,
},
+ {
+ command: 'npx nx run counter-remote:serve',
+ url: 'http://localhost:4201/remoteEntry.js',
+ reuseExistingServer: !process.env.CI,
+ cwd: workspaceRoot,
+ },
{
command: 'npx nx run web-app:serve-e2e',
url: 'http://localhost:4200',
diff --git a/apps/web-app-e2e/src/counter.e2e.spec.ts b/apps/web-app-e2e/src/counter.e2e.spec.ts
index d7a3e71f..595d0eee 100644
--- a/apps/web-app-e2e/src/counter.e2e.spec.ts
+++ b/apps/web-app-e2e/src/counter.e2e.spec.ts
@@ -1,12 +1,12 @@
import { test, expect } from '@playwright/test';
-// E2E test for the counter feature ("feature" route)
+// E2E test for the counter MFE route
test.describe('Counter Feature E2E', () => {
test('should increment and decrement the counter value when buttons are clicked', async ({
page,
}) => {
- // Go to the counter feature route
- await page.goto('/feature');
+ // Go to the MFE counter route
+ await page.goto('/mfe-counter');
// Get the count element and initial value
const countLocator = page.locator('[data-testid="count"]');
diff --git a/apps/web-app-e2e/src/navigation.e2e.spec.ts b/apps/web-app-e2e/src/navigation.e2e.spec.ts
index 31939b3d..0fceac86 100644
--- a/apps/web-app-e2e/src/navigation.e2e.spec.ts
+++ b/apps/web-app-e2e/src/navigation.e2e.spec.ts
@@ -22,12 +22,12 @@ test.describe('Navigation', () => {
await page.getByRole('link', { name: 'Counter' }).click();
- await expect(page).toHaveURL(/\/feature/);
+ await expect(page).toHaveURL(/\/mfe-counter/);
await expect(page.getByTestId('lib-counter-container')).toBeVisible();
});
test('should navigate home via logo link', async ({ page }) => {
- await page.goto('/feature');
+ await page.goto('/mfe-counter');
await page.getByRole('link', { name: 'Home Page' }).click();
@@ -62,7 +62,7 @@ test.describe('Navigation', () => {
await page.getByRole('link', { name: /counter/i }).click();
- await expect(page).toHaveURL(/\/feature/);
+ await expect(page).toHaveURL(/\/mfe-counter/);
});
});
});
diff --git a/apps/web-app/src/test-stubs/counter-remote-routes.ts b/apps/web-app/src/test-stubs/counter-remote-routes.ts
index 6d86fc2b..eb559303 100644
--- a/apps/web-app/src/test-stubs/counter-remote-routes.ts
+++ b/apps/web-app/src/test-stubs/counter-remote-routes.ts
@@ -1,15 +1,4 @@
// Stub used in tests to resolve counter-remote/Routes without needing a running MFE remote.
// Production code uses the real MFE remote via Module Federation.
-//
-// fastCompile: mode === 'test' in analog() ensures Angular files outside tsconfig.spec.json
-// are compiled via the single-pass AOT compiler, and non-Angular TypeScript files are
-// stripped safely — so imports here are unrestricted.
-import { CounterContainer } from '@myorg/counter';
-
-export const counterRoutes = [
- {
- path: '',
- title: 'Counter',
- component: CounterContainer,
- },
-];
+// Re-export the lib's routes directly — they already define the CounterContainer component.
+export { counterRoutes } from '@myorg/counter';
From 389936517629a632f919cf74ac13a893a84bd6e6 Mon Sep 17 00:00:00 2001
From: chrisjwalk-bot <268224883+chrisjwalk-bot@users.noreply.github.com>
Date: Sun, 31 May 2026 22:06:13 -0400
Subject: [PATCH 13/22] fix: build counter-remote before copying into web-app
output in CI
In preview.yml the copy step ran before web-app build, so the build
wipe wiped the counter-remote files. Fix: build both apps first, then
copy counter-remote into web-app/client/counter-remote/.
In deploy.yml counter-remote was never built or deployed at all. Add
build + copy steps and set COUNTER_REMOTE_ENTRY=/counter-remote/remoteEntry.js
so the host resolves the MFE correctly in production.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---
.github/workflows/deploy.yml | 10 ++++++++++
.github/workflows/preview.yml | 10 +++++-----
2 files changed, 15 insertions(+), 5 deletions(-)
diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml
index f8b687e0..43edb3a2 100644
--- a/.github/workflows/deploy.yml
+++ b/.github/workflows/deploy.yml
@@ -58,9 +58,19 @@ jobs:
- name: Build API (Release)
run: pnpm build:api:prod
+ - name: Build counter-remote (production)
+ run: pnpm nx build counter-remote --configuration production
+
- name: Build web app (production)
+ env:
+ COUNTER_REMOTE_ENTRY: /counter-remote/remoteEntry.js
run: pnpm build:web-app:prod
+ - name: Copy counter-remote output into web-app output
+ run: |
+ mkdir -p dist/apps/web-app/client/counter-remote
+ cp -r dist/apps/counter-remote/* dist/apps/web-app/client/counter-remote/
+
# The .NET app serves the Angular SPA from apps/web-app/client/ relative
# to its working directory (see Program.cs PhysicalFileProvider). Both
# outputs land in dist/ with the correct structure:
diff --git a/.github/workflows/preview.yml b/.github/workflows/preview.yml
index 8c92ce74..f30b9922 100644
--- a/.github/workflows/preview.yml
+++ b/.github/workflows/preview.yml
@@ -35,16 +35,16 @@ jobs:
- name: Build counter-remote (production)
run: pnpm nx build counter-remote --configuration production
- - name: Copy counter-remote output into web-app output
- run: |
- mkdir -p dist/apps/web-app/client/counter-remote
- cp -r dist/apps/counter-remote/* dist/apps/web-app/client/counter-remote/
-
- name: Build web app (preview)
env:
COUNTER_REMOTE_ENTRY: /counter-remote/remoteEntry.js
run: pnpm nx build web-app --configuration preview
+ - name: Copy counter-remote output into web-app output
+ run: |
+ mkdir -p dist/apps/web-app/client/counter-remote
+ cp -r dist/apps/counter-remote/* dist/apps/web-app/client/counter-remote/
+
- name: Copy SWA routing config
run: cp apps/web-app/src/staticwebapp.config.json dist/apps/web-app/client/
From 3ad98c5a07f7851a19b6d3f5757568f34c3302a3 Mon Sep 17 00:00:00 2001
From: chrisjwalk-bot <268224883+chrisjwalk-bot@users.noreply.github.com>
Date: Sun, 31 May 2026 22:16:03 -0400
Subject: [PATCH 14/22] docs: update create-mfe skill with accurate patterns
and pitfalls
- Fix step order: generate lib first, then remote app
- Add required barrel export and remotes.d.ts type declaration steps
- Clarify remote app shell files must be kept (keep main.ts, app.config.ts etc)
- Fix @module-federation/vite placement: devDependencies not dependencies
- Add checklist of vite.config.ts fields to update when cloning counter-remote
- Fix test stub: prefer re-exporting lib routes over importing components
directly (avoids NG04014 when component is not in barrel)
- Fix CI build order: copy after BOTH builds, not before host build
(host build wipes its output dir, destroying the copied remote files)
- Fix SWA wildcards: use /* not /** (SWA only allows one * per segment)
- Add E2E section with playwright webServer entries
- Add missing pitfalls: NG04014, remote files wiped by host build
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---
.claude/skills/create-mfe/SKILL.md | 315 ++++++++++++++++++-----------
1 file changed, 199 insertions(+), 116 deletions(-)
diff --git a/.claude/skills/create-mfe/SKILL.md b/.claude/skills/create-mfe/SKILL.md
index eac0be18..c768b628 100644
--- a/.claude/skills/create-mfe/SKILL.md
+++ b/.claude/skills/create-mfe/SKILL.md
@@ -4,7 +4,7 @@ description: >
Add a new micro-frontend (MFE) to this workspace. Use when asked to create a
new remote app, expose a feature as a micro-frontend, or wire up a new remote
to the host. Covers vite.config setup, shared singletons, NG0912 prevention,
- test stubs, and CI/deployment.
+ test stubs, CI/deployment, and E2E.
---
# Create a Micro-Frontend (MFE)
@@ -34,30 +34,89 @@ MF singletons so only one copy of each runs in the browser.
## Step 0 – Generate the remote app
```bash
-# Generate a new Analog app in the workspace (adjust name/port as needed)
pnpm nx generate @analogjs/platform:app my-remote --directory=apps/my-remote
```
-Then delete the generated `vite.config.ts` and replace it with the template in
-Step 2. Delete generated routes/pages you don't need — the remote only needs a
-`remote-routes.ts` entry point.
+Replace the generated `vite.config.ts` with the template in Step 3. **Keep** the
+generated app shell files (`src/main.ts`, `src/app/app.ts`,
+`src/app/app.config.ts`, `src/app/app.routes.ts`) — the remote needs these to
+run as a standalone app via `nx serve` and in Playwright. Wire `app.routes.ts`
+to spread the feature routes and add a wildcard fallback:
+
+```typescript
+// apps/my-remote/src/app/app.routes.ts
+import { Route } from '@angular/router';
+import { myFeatureRoutes } from '@myorg/my-feature';
+
+export const routes: Route[] = [...myFeatureRoutes, { path: '**', redirectTo: '' }];
+```
+
+Delete generated pages/routes you don't need — the remote exposes its feature
+via `remote-routes.ts`, not via Analog file-based routing.
---
-## Step 1 – Install the MF package (if not already present)
+## Step 1 – Create the workspace lib
+
+Generate the feature lib if it doesn't exist:
```bash
-pnpm add @module-federation/vite
+pnpm nx generate @nx/angular:library my-feature --directory=libs/my-feature --standalone
```
-Verify it appears in `package.json` dependencies (not devDependencies — it's a
-runtime bundler plugin).
+Create `libs/my-feature/src/lib/lib.routes.ts`. Use `loadComponent` so the
+component is still lazy-loaded by Angular's router:
+
+```typescript
+// libs/my-feature/src/lib/lib.routes.ts
+import { Route } from '@angular/router';
+
+export const myFeatureRoutes: Route[] = [
+ {
+ path: '',
+ title: 'My Feature',
+ loadComponent: () => import('./my-feature/my-feature').then((m) => m.MyFeature),
+ providers: [MyFeatureStore],
+ },
+];
+```
+
+**Export the routes from the lib's barrel** (`libs/my-feature/src/index.ts`):
+
+```typescript
+export * from './lib/lib.routes';
+// export * from './lib/my-feature.store'; // export the store too if needed
+```
+
+> Components do **not** need to be in the barrel unless something outside the lib
+> imports them directly. The routes are all that the remote entry point and the
+> test stub need.
---
-## Step 2 – Configure the remote's `vite.config.ts`
+## Step 2 – Install the MF package (if not already present)
+
+```bash
+pnpm add -D @module-federation/vite
+```
-Copy `apps/counter-remote/vite.config.ts` as your starting point. Key rules:
+`@module-federation/vite` is a build-time bundler plugin — it belongs in
+`devDependencies`.
+
+---
+
+## Step 3 – Configure the remote's `vite.config.ts`
+
+Copy `apps/counter-remote/vite.config.ts` as your starting point. After copying,
+update these remote-specific values:
+
+| Field | Example |
+| ------------------------------- | -------------------------------------- |
+| `cacheDir` | `../../node_modules/.vite/my-remote` |
+| `build.outDir` | `../../dist/apps/my-remote` |
+| `server.port` / `server.origin` | next available port, e.g. `4202` |
+| `federation({ name: ... })` | `'my-remote'` |
+| `federation({ exposes: ... })` | `'./Routes': './src/remote-routes.ts'` |
### Two required workaround plugins (always include both)
@@ -124,11 +183,12 @@ With `import: false`, MF generates a deferred-export module that reads Material
from the host's shared scope (`__mfModuleCache`) instead of loading its own copy.
```typescript
-const angVer = '~21.x.x'; // match your @angular/core version
-const cdkMatVer = '~21.x.x'; // match your @angular/cdk version
+// Use the exact versions from package.json (pnpm outdated to check)
+const angVer = '~21.2.15';
+const cdkMatVer = '~21.2.13';
const sharedDeps = {
- // Angular core — no import:false needed (no component registrations that collide)
+ // Angular core — no import:false needed
'@angular/animations': { singleton: true, requiredVersion: angVer },
'@angular/common': { singleton: true, requiredVersion: angVer },
'@angular/common/http': { singleton: true, requiredVersion: angVer },
@@ -170,10 +230,10 @@ const sharedDeps = {
'@angular/material/tooltip': { singleton: true, requiredVersion: cdkMatVer, import: false },
// NgRx + utilities
- '@ngrx/signals': { singleton: true, requiredVersion: '~21.x.x' },
- '@ngrx/signals/events': { singleton: true, requiredVersion: '~21.x.x' },
- rxjs: { singleton: true, requiredVersion: '~7.x.x' },
- tslib: { singleton: true, requiredVersion: '~2.x.x' },
+ '@ngrx/signals': { singleton: true, requiredVersion: '~21.1.0' },
+ '@ngrx/signals/events': { singleton: true, requiredVersion: '~21.1.0' },
+ rxjs: { singleton: true, requiredVersion: '~7.8.2' },
+ tslib: { singleton: true, requiredVersion: '~2.8.1' },
};
```
@@ -191,7 +251,7 @@ const sharedDeps = {
---
-## Step 3 – Configure the host's `vite.config.ts`
+## Step 4 – Configure the host's `vite.config.ts`
Add the remote to the host's federation config. The host's `sharedDeps` does
**not** need `import: false` — the host is the provider of these modules.
@@ -205,57 +265,37 @@ mode !== 'test' &&
filename: 'remoteEntry.js',
dts: false,
remotes: {
+ 'counter-remote': { /* existing */ },
'my-remote': {
type: 'module',
name: 'my-remote',
entry:
process.env['MY_REMOTE_ENTRY'] ??
- 'http://localhost:4202/remoteEntry.js', // remote's dev port
+ 'http://localhost:4202/remoteEntry.js',
entryGlobalName: 'my-remote',
shareScope: 'default',
},
- // keep existing remotes:
- 'counter-remote': { ... },
},
exposes: {},
shared: mfeSharedDeps, // same shape as remote but WITHOUT import:false
}),
```
-The `MY_REMOTE_ENTRY` env var lets CI inject the production URL (see Step 7).
+The `MY_REMOTE_ENTRY` env var lets CI inject the production URL (see Step 8).
---
-## Step 4 – Create the remote's entry point
+## Step 5 – Create the remote's entry point
```typescript
// apps/my-remote/src/remote-routes.ts
+// Re-export from the lib barrel — this is what the host's loadChildren resolves.
export { myFeatureRoutes } from '@myorg/my-feature';
```
-This is the file exposed as `'./Routes'` in the federation config. It simply
-re-exports the routes from a workspace lib (or defines them inline).
-
-The workspace lib's route file should use `loadComponent` (not `component`) so
-the component itself is still lazy-loaded by Angular's router:
-
-```typescript
-// libs/my-feature/src/lib/lib.routes.ts
-import { Route } from '@angular/router';
-
-export const myFeatureRoutes: Route[] = [
- {
- path: '',
- title: 'My Feature',
- loadComponent: () => import('./components/my-feature/my-feature').then((m) => m.MyFeature),
- providers: [MyFeatureStore],
- },
-];
-```
-
---
-## Step 5 – Add the route to the host app
+## Step 6 – Add the route to the host app
```typescript
// apps/web-app/src/app/app.routes.ts
@@ -266,9 +306,19 @@ export const myFeatureRoutes: Route[] = [
},
```
+Add a TypeScript module declaration so the import type-checks:
+
+```typescript
+// apps/web-app/src/types/remotes.d.ts (add to existing file)
+declare module 'my-remote/Routes' {
+ import type { Route } from '@angular/router';
+ export const myFeatureRoutes: Route[];
+}
+```
+
---
-## Step 6 – Add a navigation link
+## Step 7 – Add a navigation link
```typescript
// libs/shared/src/lib/components/nav-links.ts
@@ -278,60 +328,53 @@ export const myFeatureRoutes: Route[] = [
---
-## Step 7 – Integration tests: fastCompile + test stub
+## Step 8 – Integration tests: fastCompile + test stub
### Enable `fastCompile` on the host for test mode
-MFE remote files (routes, stores, components) loaded through `import('my-remote/Routes')`
-are **not in `tsconfig.spec.json`'s TypeScript program**. The standard Angular
-Vite plugin cannot compile them, causing `@analogjs/vitest-angular-sourcemap-plugin`
-to fall through to OXC in **JS mode** — which fails on TypeScript syntax like
-`readonly`, type generics, or `export type`.
+MFE remote files loaded through `import('my-remote/Routes')` are **not in
+`tsconfig.spec.json`'s TypeScript program**. The standard Angular Vite plugin
+cannot compile them, causing `@analogjs/vitest-angular-sourcemap-plugin` to fall
+through to OXC in **JS mode** — which fails on TypeScript syntax like `readonly`,
+type generics, or `export type`.
Fix: enable `fastCompile: mode === 'test'` in the host's `analog()` call.
-The fast-compile plugin has its own single-pass AOT compiler that works on Angular
-files _outside_ the TypeScript program, and it strips TypeScript from non-Angular
-files using OXC in `lang: 'ts'` mode — so both are handled correctly.
```typescript
// apps/web-app/vite.config.ts
analog({
ssr: false,
static: true,
- // Use the fast-compile path in tests: compiles Angular components outside
- // tsconfig.spec.json (e.g. MFE stubs) and strips TS from plain .ts files.
fastCompile: mode === 'test',
prerender: { routes: [] },
- // ... rest of analog() options
}),
```
-> `fastCompile` skips Angular's full template type-checking. This is fine for
-> tests — template type errors show up in the IDE and in `tsc`, not at test run time.
+> `fastCompile` skips Angular's full template type-checking. Template errors
+> still appear in the IDE and `tsc` — just not at vitest run time.
### Create a test stub for the MFE route
-The MFE's `remoteEntry.js` isn't available in vitest — it's a network resource.
-Replace it with a local stub via a Vite alias:
+The MFE's `remoteEntry.js` isn't available in vitest. Replace it with a local
+stub via a Vite alias.
+
+**Preferred approach — re-export the lib's real routes:**
```typescript
// apps/web-app/src/test-stubs/my-remote-routes.ts
-// Stub for 'my-remote/Routes' used in tests.
-// Imports the real component from the workspace lib directly so integration
-// tests navigate and render the actual component, not a fake.
-import { MyFeature } from '../../../../libs/my-feature/src/lib/components/my-feature/my-feature';
-
-export const myFeatureRoutes = [
- {
- path: '',
- title: 'My Feature',
- component: MyFeature,
- providers: [],
- },
-];
+export { myFeatureRoutes } from '@myorg/my-feature';
```
-### Wire the stub in the host's vite.config (test mode only)
+This is the simplest and most correct stub. It uses the same routes the remote
+uses, so integration tests exercise the real component without duplicating route
+definitions.
+
+> **Do NOT import the component directly unless it is in the lib's barrel
+> (`index.ts`).** An `undefined` component causes `NG04014: Invalid configuration
+of route` at test runtime. Always check what `libs/my-feature/src/index.ts`
+> exports before importing from it.
+
+### Wire the alias in the host's vite.config (test mode only)
```typescript
// apps/web-app/vite.config.ts
@@ -341,15 +384,8 @@ resolve: {
alias:
mode === 'test'
? {
- 'my-remote/Routes': resolve(
- __dirname,
- 'src/test-stubs/my-remote-routes.ts',
- ),
- // keep existing stubs:
- 'counter-remote/Routes': resolve(
- __dirname,
- 'src/test-stubs/counter-remote-routes.ts',
- ),
+ 'counter-remote/Routes': resolve(__dirname, 'src/test-stubs/counter-remote-routes.ts'),
+ 'my-remote/Routes': resolve(__dirname, 'src/test-stubs/my-remote-routes.ts'),
}
: {},
},
@@ -357,49 +393,97 @@ resolve: {
---
-## Step 8 – CI/preview deployment
+## Step 9 – CI/preview and production deployment
-### Build order in CI
+### Build order: both apps first, then copy
-The remote must be built **before** the host, and its output must be nested
-inside the host's output directory:
+The remote's output must be nested inside the host's output directory so it's
+served from the same origin. **Always copy after both builds are done** — the
+host build wipes and recreates its entire output directory, so any files copied
+in before that step will be lost.
```yaml
-# .github/workflows/preview.yml (excerpt)
+# .github/workflows/preview.yml (and deploy.yml — same pattern)
- name: Build my-remote (production)
run: pnpm nx build my-remote --configuration production
+# Build the host AFTER the remote, setting env vars for all remotes
+- name: Build web app
+ env:
+ COUNTER_REMOTE_ENTRY: /counter-remote/remoteEntry.js
+ MY_REMOTE_ENTRY: /my-remote/remoteEntry.js
+ run: pnpm nx build web-app --configuration production # or preview
+
+# Copy AFTER both builds — never before
- name: Copy my-remote output into web-app output
run: |
mkdir -p dist/apps/web-app/client/my-remote
cp -r dist/apps/my-remote/* dist/apps/web-app/client/my-remote/
-
-- name: Build web app (preview)
- env:
- COUNTER_REMOTE_ENTRY: /counter-remote/remoteEntry.js
- MY_REMOTE_ENTRY: /my-remote/remoteEntry.js
- run: pnpm nx build web-app --configuration preview
```
### SWA routing config
-Azure Static Web Apps rewrites all unknown paths to `index.html` by default.
-This breaks the remote's JS/asset requests. Exclude the remote's directory:
+Azure Static Web Apps rewrites unknown paths to `index.html` by default, which
+breaks remote asset requests. Add the remote's directory to `navigationFallback.exclude`.
+
+**Important:** Azure SWA allows at most **one `*`** per path segment. Using `**`
+is invalid and causes deployment to fail with a validation error. Use two
+separate entries per remote:
```json
// apps/web-app/src/staticwebapp.config.json
{
"navigationFallback": {
"rewrite": "/index.html",
- "exclude": ["/*.{css,js,png,gif,ico,jpg,svg,webmanifest,woff,woff2,txt}", "/counter-remote/**", "/my-remote/**"]
+ "exclude": ["/*.{css,js,png,gif,ico,jpg,svg,webmanifest,woff,woff2,txt}", "/counter-remote/*", "/counter-remote/assets/*", "/my-remote/*", "/my-remote/assets/*"]
}
}
```
---
-## Step 9 – Dev workflow
+## Step 10 – E2E tests
+
+Add the remote's dev server to Playwright's `webServer` list. Remotes must
+appear **before** the host entry. Keep the existing API and counter-remote
+entries.
+
+```typescript
+// apps/web-app-e2e/playwright.config.ts
+webServer: [
+ {
+ command: 'npx nx run api:serve',
+ url: 'http://localhost:60253/health/live',
+ reuseExistingServer: !process.env.CI,
+ cwd: workspaceRoot,
+ },
+ {
+ command: 'npx nx run counter-remote:serve',
+ url: 'http://localhost:4201/remoteEntry.js',
+ reuseExistingServer: !process.env.CI,
+ cwd: workspaceRoot,
+ },
+ {
+ command: 'npx nx run my-remote:serve',
+ url: 'http://localhost:4202/remoteEntry.js',
+ reuseExistingServer: !process.env.CI,
+ cwd: workspaceRoot,
+ },
+ {
+ command: 'npx nx run web-app:serve-e2e',
+ url: 'http://localhost:4200',
+ reuseExistingServer: !process.env.CI,
+ cwd: workspaceRoot,
+ },
+],
+```
+
+In E2E specs, navigate to the route path defined in the **host** (e.g. `/my-feature`).
+
+---
+
+## Step 11 – Dev workflow
Start both apps in separate terminals:
@@ -411,20 +495,17 @@ pnpm nx serve my-remote
pnpm nx serve web-app
```
-The host references the remote at `http://localhost:4202/remoteEntry.js` (the
-port set in `server.origin` of the remote's vite.config). If the remote isn't
-running, the host still loads — the MFE route just fails to activate.
+The host references the remote at `http://localhost:4202/remoteEntry.js`. If the
+remote isn't running the host still loads — the MFE route just fails to activate.
---
-## Step 10 – Verify
+## Step 12 – Verify
```bash
-# Build everything
pnpm nx run-many -t build
-
-# Run all tests
pnpm nx run-many -t test
+pnpm e2e
```
Open `http://localhost:4200/my-feature` — the MFE should load with zero NG0912
@@ -434,12 +515,14 @@ warnings in the browser console.
## Pitfall reference
-| Symptom | Root cause | Fix |
-| ------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- |
-| `NG0912` for Material/CDK components | Remote's loadShare virtual module has a top-level `import` that double-evaluates modules | Add `import: false` to all CDK/Material entries in the **remote's** `sharedDeps` |
-| `NG0912` for workspace lib components | Workspace lib bundled into both host and remote | Remove the workspace lib from MF shared config; keep it as a direct dependency of the remote only |
-| `[MISSING_EXPORT] "SomeExport"` build error | `@myorg/*` workspace lib added to MF shared config; Rolldown can't enumerate `export *` from TS path aliases | Never put `@myorg/*` libs in MF shared config |
-| `SyntaxError: Unexpected identifier` / `[PARSE_ERROR] Missing initializer` in vitest | Files reachable only via dynamic MFE import are not in `tsconfig.spec.json`'s program; `@analogjs/vitest-angular-sourcemap-plugin` falls through to OXC **JS mode** which fails on `readonly`, type generics, `export type` etc. | Add `fastCompile: mode === 'test'` to `analog()` in the host's `vite.config.ts` |
-| Remote assets return `index.html` in Azure SWA preview | SWA's `navigationFallback` rewrites all unknown paths | Add `/my-remote/**` to `navigationFallback.exclude` in `staticwebapp.config.json` |
-| `Cannot read properties of undefined (reading 'watch')` on `pnpm nx serve` | `@module-federation/vite` crashes when `server.watch` is `false` (Vite 8 + Nx default) | Add the `normalize-server-watch` pre-enforce plugin to both host and remote |
-| Remote's workspace lib styles missing | `virtual:pwa-register` not resolved in remote | Add the `virtual-pwa-register-stub` plugin to the remote |
+| Symptom | Root cause | Fix |
+| ------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- |
+| `NG0912` for Material/CDK components | Remote's loadShare virtual module has a top-level `import` that double-evaluates modules | Add `import: false` to all CDK/Material entries in the **remote's** `sharedDeps` |
+| `NG0912` for workspace lib components | Workspace lib bundled into both host and remote | Remove the workspace lib from MF shared config; bundle it into the remote directly |
+| `[MISSING_EXPORT] "SomeExport"` build error | `@myorg/*` workspace lib added to MF shared config; Rolldown can't enumerate `export *` from TS path aliases | Never put `@myorg/*` libs in MF shared config |
+| `SyntaxError: Unexpected identifier` / `[PARSE_ERROR] Missing initializer` in vitest | Files reachable only via dynamic MFE import are not in `tsconfig.spec.json`'s program; OXC falls through to JS mode and chokes on TypeScript syntax | Add `fastCompile: mode === 'test'` to `analog()` in the host's `vite.config.ts` |
+| `NG04014: Invalid configuration of route` in vitest | Test stub imports a component not exported from the lib's barrel → `undefined` in route `component` field | Re-export the lib's real routes: `export { myFeatureRoutes } from '@myorg/my-feature'` |
+| Remote files missing from preview / production deploy | Copy step ran before host build; host build wiped the output directory | Build both apps first, then copy the remote output into the host's dist folder |
+| Remote assets return `index.html` in Azure SWA | `navigationFallback` rewrites all unknown paths | Add `/my-remote/*` AND `/my-remote/assets/*` (two separate entries); never use `/**` — SWA only allows one `*` per segment |
+| `Cannot read properties of undefined (reading 'watch')` on `nx serve` | `@module-federation/vite` crashes when `server.watch` is `false` (Vite 8 + Nx default) | Add the `normalize-server-watch` pre-enforce plugin to both host and remote |
+| `virtual:pwa-register` import error in remote | VitePWA only runs in the host, not the remote | Add the `virtual-pwa-register-stub` plugin to the remote's vite.config |
From 28db1e6cf2051483405b20e3f06ba50798c67d44 Mon Sep 17 00:00:00 2001
From: chrisjwalk-bot <268224883+chrisjwalk-bot@users.noreply.github.com>
Date: Sun, 31 May 2026 22:19:11 -0400
Subject: [PATCH 15/22] fix: persist counter state across navigation by
providing store at root level
Move CounterStore from component-scoped providers to providedIn: 'root'
so the state survives when navigating away from and back to the counter route.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---
.../src/lib/components/counter-container/counter-container.ts | 1 -
libs/counter/src/lib/state/counter.store.ts | 1 +
2 files changed, 1 insertion(+), 1 deletion(-)
diff --git a/libs/counter/src/lib/components/counter-container/counter-container.ts b/libs/counter/src/lib/components/counter-container/counter-container.ts
index 0d4a9f89..13d7ee4c 100644
--- a/libs/counter/src/lib/components/counter-container/counter-container.ts
+++ b/libs/counter/src/lib/components/counter-container/counter-container.ts
@@ -12,7 +12,6 @@ import { injectDispatch } from '@ngrx/signals/events';
@Component({
imports: [Counter],
selector: 'lib-counter-container',
- providers: [CounterStore],
template: `
@let count = store.count();
Date: Sun, 7 Jun 2026 13:13:27 -0400
Subject: [PATCH 16/22] fix: move PWA icons to Vite publicDir so they are
included in the build output
Icons in src/assets/icons/ were not being copied to dist because Vite's
publicDir defaults to /public, not src/. Moving them to
public/assets/icons/ ensures they are served at /assets/icons/*.png
in the deployed app, fixing 404s for PWA manifest icons in SWA.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---
.../{src => public}/assets/icons/icon-128x128.png | Bin
.../{src => public}/assets/icons/icon-144x144.png | Bin
.../{src => public}/assets/icons/icon-152x152.png | Bin
.../{src => public}/assets/icons/icon-192x192.png | Bin
.../{src => public}/assets/icons/icon-384x384.png | Bin
.../{src => public}/assets/icons/icon-512x512.png | Bin
.../{src => public}/assets/icons/icon-72x72.png | Bin
.../{src => public}/assets/icons/icon-96x96.png | Bin
8 files changed, 0 insertions(+), 0 deletions(-)
rename apps/web-app/{src => public}/assets/icons/icon-128x128.png (100%)
rename apps/web-app/{src => public}/assets/icons/icon-144x144.png (100%)
rename apps/web-app/{src => public}/assets/icons/icon-152x152.png (100%)
rename apps/web-app/{src => public}/assets/icons/icon-192x192.png (100%)
rename apps/web-app/{src => public}/assets/icons/icon-384x384.png (100%)
rename apps/web-app/{src => public}/assets/icons/icon-512x512.png (100%)
rename apps/web-app/{src => public}/assets/icons/icon-72x72.png (100%)
rename apps/web-app/{src => public}/assets/icons/icon-96x96.png (100%)
diff --git a/apps/web-app/src/assets/icons/icon-128x128.png b/apps/web-app/public/assets/icons/icon-128x128.png
similarity index 100%
rename from apps/web-app/src/assets/icons/icon-128x128.png
rename to apps/web-app/public/assets/icons/icon-128x128.png
diff --git a/apps/web-app/src/assets/icons/icon-144x144.png b/apps/web-app/public/assets/icons/icon-144x144.png
similarity index 100%
rename from apps/web-app/src/assets/icons/icon-144x144.png
rename to apps/web-app/public/assets/icons/icon-144x144.png
diff --git a/apps/web-app/src/assets/icons/icon-152x152.png b/apps/web-app/public/assets/icons/icon-152x152.png
similarity index 100%
rename from apps/web-app/src/assets/icons/icon-152x152.png
rename to apps/web-app/public/assets/icons/icon-152x152.png
diff --git a/apps/web-app/src/assets/icons/icon-192x192.png b/apps/web-app/public/assets/icons/icon-192x192.png
similarity index 100%
rename from apps/web-app/src/assets/icons/icon-192x192.png
rename to apps/web-app/public/assets/icons/icon-192x192.png
diff --git a/apps/web-app/src/assets/icons/icon-384x384.png b/apps/web-app/public/assets/icons/icon-384x384.png
similarity index 100%
rename from apps/web-app/src/assets/icons/icon-384x384.png
rename to apps/web-app/public/assets/icons/icon-384x384.png
diff --git a/apps/web-app/src/assets/icons/icon-512x512.png b/apps/web-app/public/assets/icons/icon-512x512.png
similarity index 100%
rename from apps/web-app/src/assets/icons/icon-512x512.png
rename to apps/web-app/public/assets/icons/icon-512x512.png
diff --git a/apps/web-app/src/assets/icons/icon-72x72.png b/apps/web-app/public/assets/icons/icon-72x72.png
similarity index 100%
rename from apps/web-app/src/assets/icons/icon-72x72.png
rename to apps/web-app/public/assets/icons/icon-72x72.png
diff --git a/apps/web-app/src/assets/icons/icon-96x96.png b/apps/web-app/public/assets/icons/icon-96x96.png
similarity index 100%
rename from apps/web-app/src/assets/icons/icon-96x96.png
rename to apps/web-app/public/assets/icons/icon-96x96.png
From bf95882376c7df0dec69681b3514588b72750fd4 Mon Sep 17 00:00:00 2001
From: chrisjwalk-bot <268224883+chrisjwalk-bot@users.noreply.github.com>
Date: Sun, 7 Jun 2026 13:52:23 -0400
Subject: [PATCH 17/22] fix: remove deprecated provideAnimations to fix MFE
loadShare bug (fixes #168)
provideAnimations() from @angular/platform-browser/animations resolves to
undefined through the @module-federation/vite loadShare mechanism, causing
"TypeError: Ut is not a function" in the deployed preview.
Since provideAnimations() is deprecated in Angular 21+ (animations are now
provided automatically by the platform), removing the explicit call eliminates
the broken loadShare dependency.
Also added an MFE integration e2e test that guards against JS load errors.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---
apps/counter-remote/src/app/app.config.ts | 2 --
apps/web-app-e2e/src/mfe-integration.e2e.spec.ts | 16 ++++++++++++++++
apps/web-app/src/app/app.config.ts | 2 --
3 files changed, 16 insertions(+), 4 deletions(-)
create mode 100644 apps/web-app-e2e/src/mfe-integration.e2e.spec.ts
diff --git a/apps/counter-remote/src/app/app.config.ts b/apps/counter-remote/src/app/app.config.ts
index 5fda5eb8..7e38d3a8 100644
--- a/apps/counter-remote/src/app/app.config.ts
+++ b/apps/counter-remote/src/app/app.config.ts
@@ -3,7 +3,6 @@ import {
provideZonelessChangeDetection,
} from '@angular/core';
import { provideHttpClient, withFetch } from '@angular/common/http';
-import { provideAnimationsAsync } from '@angular/platform-browser/animations/async';
import { provideRouter } from '@angular/router';
import { routes } from './app.routes';
@@ -12,7 +11,6 @@ export const appConfig: ApplicationConfig = {
providers: [
provideZonelessChangeDetection(),
provideHttpClient(withFetch()),
- provideAnimationsAsync(),
provideRouter(routes),
],
};
diff --git a/apps/web-app-e2e/src/mfe-integration.e2e.spec.ts b/apps/web-app-e2e/src/mfe-integration.e2e.spec.ts
new file mode 100644
index 00000000..ba4de1ac
--- /dev/null
+++ b/apps/web-app-e2e/src/mfe-integration.e2e.spec.ts
@@ -0,0 +1,16 @@
+import { test, expect } from '@playwright/test';
+
+// Guards against federation loadShare bugs (e.g. "not a function" on shared deps).
+test.describe('MFE Integration', () => {
+ test('should load without JavaScript errors', async ({ page }) => {
+ const errors: string[] = [];
+ page.on('pageerror', (err) => errors.push(err.message));
+
+ await page.goto('/mfe-counter');
+
+ // Give the MFE a moment to bootstrap
+ await expect(page.locator('[data-testid="lib-counter"]')).toBeVisible();
+
+ expect(errors).toHaveLength(0);
+ });
+});
diff --git a/apps/web-app/src/app/app.config.ts b/apps/web-app/src/app/app.config.ts
index d3f0e2fd..12a78955 100644
--- a/apps/web-app/src/app/app.config.ts
+++ b/apps/web-app/src/app/app.config.ts
@@ -7,7 +7,6 @@ import {
ApplicationConfig,
provideZonelessChangeDetection,
} from '@angular/core';
-import { provideAnimations } from '@angular/platform-browser/animations';
import {
PreloadAllModules,
provideRouter,
@@ -36,7 +35,6 @@ export const appConfig: ApplicationConfig = {
withInMemoryScrolling({ anchorScrolling: 'enabled' }),
withPreloading(PreloadAllModules),
),
- provideAnimations(),
provideContent(
withMarkdownRenderer({
loadMermaid: !import.meta.env.SSR ? () => import('mermaid') : undefined,
From b158ccf552e01d24b775088e28eff359a56183cb Mon Sep 17 00:00:00 2001
From: chrisjwalk-bot <268224883+chrisjwalk-bot@users.noreply.github.com>
Date: Sun, 7 Jun 2026 13:58:11 -0400
Subject: [PATCH 18/22] chore: update pnpm allowBuilds
---
pnpm-lock.yaml | 2633 ++++++++-----------------------------------
pnpm-workspace.yaml | 11 +-
2 files changed, 454 insertions(+), 2190 deletions(-)
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 2a914887..b105498e 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -4,39 +4,6 @@ settings:
autoInstallPeers: true
excludeLinksFromLockfile: false
-overrides:
- node-forge: ^1.4.0
- axios: '>=1.15.2'
- '@hono/node-server': '>=1.19.13'
- ajv@8: '>=8.18.0'
- brace-expansion@2: '>=2.0.3'
- brace-expansion@5: '>=5.0.6'
- flatted: '>=3.4.2'
- follow-redirects: '>=1.16.0'
- hono: '>=4.12.18'
- koa: '>=3.1.2'
- lodash-es: '>=4.18.0'
- minimatch@9: '>=9.0.7'
- minimatch@10: '>=10.2.3'
- path-to-regexp@0: ~0.1.13
- path-to-regexp@8: '>=8.4.0'
- picomatch@2: '>=2.3.2'
- picomatch@4: '>=4.0.4'
- qs: '>=6.15.2'
- rollup: '>=4.59.0'
- serialize-javascript: '>=7.0.5'
- tar: '>=7.5.11'
- webpack: '>=5.104.1'
- yaml@2: '>=2.8.3'
- vite@6: '>=6.4.2'
- fast-uri: '>=3.1.2'
- uuid@11: '>=11.1.1 <12'
- ip-address: '>=10.1.1'
- '@babel/plugin-transform-modules-systemjs': '>=7.29.4'
- ws: '>=8.20.1'
- webpack-dev-server: '>=5.2.4'
- uuid@8: '>=12.0.1'
-
importers:
.:
@@ -49,10 +16,10 @@ importers:
version: 2.5.2(@analogjs/content@2.5.2(7e715e091ad31477d2527c81c98ffd2f))(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2)(zone.js@0.15.1))(@angular/router@21.2.15(@angular/common@21.2.15(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2)(zone.js@0.15.1))(@angular/platform-browser@21.2.15(@angular/animations@21.2.15(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2)(zone.js@0.15.1)))(@angular/common@21.2.15(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2)(zone.js@0.15.1)))(rxjs@7.8.2))
'@analogjs/vite-plugin-angular':
specifier: 2.5.2
- version: 2.5.2(@angular-devkit/build-angular@20.0.0(5051dee4ea0f423ab526f197e92d0945))(@angular/build@21.2.13(317a9c63e2a22ee97b948b5b731d9e1c))(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(vite@8.0.14(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(less@4.3.0)(sass-embedded@1.89.0)(sass@1.97.3)(stylus@0.64.0)(terser@5.47.1)(yaml@2.8.3))
+ version: 2.5.2(@angular/build@21.2.13(2fc71c60e1ba34e5381d5136307f56c3))(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(vite@8.0.14(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(less@4.3.0)(sass-embedded@1.89.0)(sass@1.97.3)(terser@5.47.1)(yaml@2.9.0))
'@analogjs/vitest-angular':
specifier: 2.5.2
- version: 2.5.2(@analogjs/vite-plugin-angular@2.5.2(@angular-devkit/build-angular@20.0.0(5051dee4ea0f423ab526f197e92d0945))(@angular/build@21.2.13(317a9c63e2a22ee97b948b5b731d9e1c))(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(vite@8.0.14(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(less@4.3.0)(sass-embedded@1.89.0)(sass@1.97.3)(stylus@0.64.0)(terser@5.47.1)(yaml@2.8.3)))(@angular-devkit/architect@0.2102.13(chokidar@5.0.0))(@angular-devkit/schematics@21.2.13(chokidar@5.0.0))(vitest@4.1.7)(zone.js@0.15.1)
+ version: 2.5.2(@analogjs/vite-plugin-angular@2.5.2(@angular/build@21.2.13(2fc71c60e1ba34e5381d5136307f56c3))(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(vite@8.0.14(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(less@4.3.0)(sass-embedded@1.89.0)(sass@1.97.3)(terser@5.47.1)(yaml@2.9.0)))(@angular-devkit/architect@0.2102.13(chokidar@5.0.0))(@angular-devkit/schematics@21.2.13(chokidar@5.0.0))(vitest@4.1.7)(zone.js@0.15.1)
'@angular/animations':
specifier: 21.2.15
version: 21.2.15(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2)(zone.js@0.15.1))
@@ -124,7 +91,7 @@ importers:
version: 11.15.0
ngx-markdown:
specifier: 21.3.0
- version: 21.3.0(@angular/common@21.2.15(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2)(zone.js@0.15.1))(@angular/platform-browser@21.2.15(@angular/animations@21.2.15(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2)(zone.js@0.15.1)))(@angular/common@21.2.15(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2)(zone.js@0.15.1)))(clipboard@2.0.11)(emoji-toolkit@9.0.1)(katex@0.16.45)(marked@18.0.4)(mermaid@11.15.0)(prismjs@1.30.0)(rxjs@7.8.2)(zone.js@0.15.1)
+ version: 21.3.0(@angular/common@21.2.15(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2)(zone.js@0.15.1))(@angular/platform-browser@21.2.15(@angular/animations@21.2.15(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2)(zone.js@0.15.1)))(@angular/common@21.2.15(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2)(zone.js@0.15.1)))(katex@0.16.45)(marked@18.0.4)(mermaid@11.15.0)(prismjs@1.30.0)(rxjs@7.8.2)(zone.js@0.15.1)
prismjs:
specifier: ^1.29.0
version: 1.30.0
@@ -137,7 +104,7 @@ importers:
devDependencies:
'@analogjs/platform':
specifier: 2.5.2
- version: 2.5.2(c7005acc3ff391161f8eee26147d6b0f)
+ version: 2.5.2(214c067b1ad14b65b0579c4233c0049e)
'@angular-devkit/architect':
specifier: 0.2102.13
version: 0.2102.13(chokidar@5.0.0)
@@ -158,7 +125,7 @@ importers:
version: 21.4.0(eslint@10.4.1(jiti@2.6.1))(typescript@6.0.3)
'@angular/build':
specifier: 21.2.13
- version: 21.2.13(317a9c63e2a22ee97b948b5b731d9e1c)
+ version: 21.2.13(2fc71c60e1ba34e5381d5136307f56c3)
'@angular/cli':
specifier: 21.2.13
version: 21.2.13(@types/node@25.9.1)(chokidar@5.0.0)
@@ -182,10 +149,10 @@ importers:
version: 10.0.1(eslint@10.4.1(jiti@2.6.1))
'@module-federation/vite':
specifier: 1.16.2
- version: 1.16.2(node-fetch@2.7.0(encoding@0.1.13))(typescript@6.0.3)(vite@8.0.14(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(less@4.3.0)(sass-embedded@1.89.0)(sass@1.97.3)(stylus@0.64.0)(terser@5.47.1)(yaml@2.8.3))
+ version: 1.16.2(node-fetch@2.7.0(encoding@0.1.13))(typescript@6.0.3)(vite@8.0.14(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(less@4.3.0)(sass-embedded@1.89.0)(sass@1.97.3)(terser@5.47.1)(yaml@2.9.0))
'@nx/angular':
specifier: 22.7.5
- version: 22.7.5(9d93e046e8af5178c45b7fe7b3d6e447)
+ version: 22.7.5(8deabd555917c9e594b192212ae17a3a)
'@nx/devkit':
specifier: 22.7.5
version: 22.7.5(nx@22.7.5(@swc-node/register@1.11.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@swc/core@1.15.40(@swc/helpers@0.5.23))(@swc/types@0.1.26)(typescript@6.0.3))(@swc/core@1.15.40(@swc/helpers@0.5.23)))
@@ -209,13 +176,13 @@ importers:
version: 22.7.5(76d9b9d8f83254a1778fcb5570bf5179)
'@nx/vite':
specifier: 22.7.5
- version: 22.7.5(@babel/traverse@7.29.0)(@nx/eslint@22.7.5(c15c711dce428ed17b010739ba5fa2de))(@swc-node/register@1.11.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@swc/core@1.15.40(@swc/helpers@0.5.23))(@swc/types@0.1.26)(typescript@6.0.3))(@swc/core@1.15.40(@swc/helpers@0.5.23))(nx@22.7.5(@swc-node/register@1.11.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@swc/core@1.15.40(@swc/helpers@0.5.23))(@swc/types@0.1.26)(typescript@6.0.3))(@swc/core@1.15.40(@swc/helpers@0.5.23)))(typescript@6.0.3)(vite@8.0.14(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(less@4.3.0)(sass-embedded@1.89.0)(sass@1.97.3)(stylus@0.64.0)(terser@5.47.1)(yaml@2.8.3))(vitest@4.1.7)
+ version: 22.7.5(@babel/traverse@7.29.0)(@nx/eslint@22.7.5(c15c711dce428ed17b010739ba5fa2de))(@swc-node/register@1.11.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@swc/core@1.15.40(@swc/helpers@0.5.23))(@swc/types@0.1.26)(typescript@6.0.3))(@swc/core@1.15.40(@swc/helpers@0.5.23))(nx@22.7.5(@swc-node/register@1.11.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@swc/core@1.15.40(@swc/helpers@0.5.23))(@swc/types@0.1.26)(typescript@6.0.3))(@swc/core@1.15.40(@swc/helpers@0.5.23)))(typescript@6.0.3)(vite@8.0.14(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(less@4.3.0)(sass-embedded@1.89.0)(sass@1.97.3)(terser@5.47.1)(yaml@2.9.0))(vitest@4.1.7)
'@nx/vitest':
specifier: 22.7.5
- version: 22.7.5(@babel/traverse@7.29.0)(@nx/eslint@22.7.5(c15c711dce428ed17b010739ba5fa2de))(@swc-node/register@1.11.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@swc/core@1.15.40(@swc/helpers@0.5.23))(@swc/types@0.1.26)(typescript@6.0.3))(@swc/core@1.15.40(@swc/helpers@0.5.23))(nx@22.7.5(@swc-node/register@1.11.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@swc/core@1.15.40(@swc/helpers@0.5.23))(@swc/types@0.1.26)(typescript@6.0.3))(@swc/core@1.15.40(@swc/helpers@0.5.23)))(typescript@6.0.3)(vite@8.0.14(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(less@4.3.0)(sass-embedded@1.89.0)(sass@1.97.3)(stylus@0.64.0)(terser@5.47.1)(yaml@2.8.3))(vitest@4.1.7)
+ version: 22.7.5(@babel/traverse@7.29.0)(@nx/eslint@22.7.5(c15c711dce428ed17b010739ba5fa2de))(@swc-node/register@1.11.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@swc/core@1.15.40(@swc/helpers@0.5.23))(@swc/types@0.1.26)(typescript@6.0.3))(@swc/core@1.15.40(@swc/helpers@0.5.23))(nx@22.7.5(@swc-node/register@1.11.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@swc/core@1.15.40(@swc/helpers@0.5.23))(@swc/types@0.1.26)(typescript@6.0.3))(@swc/core@1.15.40(@swc/helpers@0.5.23)))(typescript@6.0.3)(vite@8.0.14(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(less@4.3.0)(sass-embedded@1.89.0)(sass@1.97.3)(terser@5.47.1)(yaml@2.9.0))(vitest@4.1.7)
'@nx/web':
specifier: 22.7.5
- version: 22.7.5(7d722e0a6ac6615449213db93bb7ae2a)
+ version: 22.7.5(739c633d30084b1e8fb8ca781ebc32a5)
'@nx/workspace':
specifier: 22.7.5
version: 22.7.5(@swc-node/register@1.11.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@swc/core@1.15.40(@swc/helpers@0.5.23))(@swc/types@0.1.26)(typescript@6.0.3))(@swc/core@1.15.40(@swc/helpers@0.5.23))
@@ -317,16 +284,16 @@ importers:
version: 8.60.0(eslint@10.4.1(jiti@2.6.1))(typescript@6.0.3)
vite:
specifier: 8.0.14
- version: 8.0.14(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(less@4.3.0)(sass-embedded@1.89.0)(sass@1.97.3)(stylus@0.64.0)(terser@5.47.1)(yaml@2.8.3)
+ version: 8.0.14(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(less@4.3.0)(sass-embedded@1.89.0)(sass@1.97.3)(terser@5.47.1)(yaml@2.9.0)
vite-plugin-pwa:
specifier: 1.3.0
- version: 1.3.0(vite@8.0.14(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(less@4.3.0)(sass-embedded@1.89.0)(sass@1.97.3)(stylus@0.64.0)(terser@5.47.1)(yaml@2.8.3))(workbox-build@7.4.0(@types/babel__core@7.20.5))(workbox-window@7.4.0)
+ version: 1.3.0(vite@8.0.14(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(less@4.3.0)(sass-embedded@1.89.0)(sass@1.97.3)(terser@5.47.1)(yaml@2.9.0))(workbox-build@7.4.0(@types/babel__core@7.20.5))(workbox-window@7.4.0)
vite-tsconfig-paths:
specifier: 6.1.1
- version: 6.1.1(typescript@6.0.3)(vite@8.0.14(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(less@4.3.0)(sass-embedded@1.89.0)(sass@1.97.3)(stylus@0.64.0)(terser@5.47.1)(yaml@2.8.3))
+ version: 6.1.1(typescript@6.0.3)(vite@8.0.14(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(less@4.3.0)(sass-embedded@1.89.0)(sass@1.97.3)(terser@5.47.1)(yaml@2.9.0))
vitest:
specifier: 4.1.7
- version: 4.1.7(@types/node@25.9.1)(@vitest/coverage-v8@4.1.7)(@vitest/ui@4.1.7)(jsdom@29.1.1)(vite@8.0.14(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(less@4.3.0)(sass-embedded@1.89.0)(sass@1.97.3)(stylus@0.64.0)(terser@5.47.1)(yaml@2.8.3))
+ version: 4.1.7(@types/node@25.9.1)(@vitest/coverage-v8@4.1.7)(@vitest/ui@4.1.7)(jsdom@29.1.1)(vite@8.0.14(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(less@4.3.0)(sass-embedded@1.89.0)(sass@1.97.3)(terser@5.47.1)(yaml@2.9.0))
apps/api: {}
@@ -362,9 +329,6 @@ importers:
packages:
- '@adobe/css-tools@4.3.3':
- resolution: {integrity: sha512-rE0Pygv0sEZ4vBWHlAgJLGDU7Pm8xoO6p3wsEceb7GYAjScrOHpEo8KK/eVkAcnSM+slAEtXjA2JpdjLp4fJQQ==}
-
'@alcalzone/ansi-tokenize@0.3.0':
resolution: {integrity: sha512-p+CMKJ93HFmLkjXKlXiVGlMQEuRb6H0MokBSwUsX+S6BRX8eV5naFZpQJFfJHjRZY0Hmnqy1/r6UWl3x+19zYA==}
engines: {node: '>=18'}
@@ -474,7 +438,7 @@ packages:
marked-shiki: ^1.2.1
prismjs: '*'
shiki: ^1.29.2
- vite: '>=6.4.2'
+ vite: ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0
peerDependenciesMeta:
'@nx/angular':
optional: true
@@ -503,7 +467,7 @@ packages:
peerDependencies:
'@angular-devkit/build-angular': ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^20.0.0 || ^21.0.0
'@angular/build': ^18.0.0 || ^19.0.0 || ^20.0.0 || ^21.0.0
- vite: '>=6.4.2'
+ vite: ^6.0.0 || ^7.0.0 || ^8.0.0
peerDependenciesMeta:
'@angular-devkit/build-angular':
optional: true
@@ -527,81 +491,11 @@ packages:
zone.js:
optional: true
- '@angular-devkit/architect@0.2000.0':
- resolution: {integrity: sha512-6accOuvf1BY6hTO5LzYcxp2Dpl0bThgYF3KdwVWqrYF5+6PWfQLdy+rKxBiCIv0+0OngZVI79RuAtUKFowFM/A==}
- engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'}
-
'@angular-devkit/architect@0.2102.13':
resolution: {integrity: sha512-fheyi0gPx6b7tT+WQ+ePlzdGqKjPLUK72wg5Z9pkVtQ5+VN/8yB9mlRlmoivngd2FeNG9wMeNynWZGYycnOWVw==}
engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'}
hasBin: true
- '@angular-devkit/build-angular@20.0.0':
- resolution: {integrity: sha512-6JAVLjGLSTy69FAXTPzi9t4SswT4b3mOiz8GPleNTO0VmxgQA8C+zUqG81fH1ZDdSZBfUZcbgim+Y47G3cORcg==}
- engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'}
- peerDependencies:
- '@angular/compiler-cli': ^20.0.0
- '@angular/core': ^20.0.0
- '@angular/localize': ^20.0.0
- '@angular/platform-browser': ^20.0.0
- '@angular/platform-server': ^20.0.0
- '@angular/service-worker': ^20.0.0
- '@angular/ssr': ^20.0.0
- '@web/test-runner': ^0.20.0
- browser-sync: ^3.0.2
- jest: ^29.5.0
- jest-environment-jsdom: ^29.5.0
- karma: ^6.3.0
- ng-packagr: ^20.0.0
- protractor: ^7.0.0
- tailwindcss: ^2.0.0 || ^3.0.0 || ^4.0.0
- typescript: '>=5.8 <5.9'
- peerDependenciesMeta:
- '@angular/core':
- optional: true
- '@angular/localize':
- optional: true
- '@angular/platform-browser':
- optional: true
- '@angular/platform-server':
- optional: true
- '@angular/service-worker':
- optional: true
- '@angular/ssr':
- optional: true
- '@web/test-runner':
- optional: true
- browser-sync:
- optional: true
- jest:
- optional: true
- jest-environment-jsdom:
- optional: true
- karma:
- optional: true
- ng-packagr:
- optional: true
- protractor:
- optional: true
- tailwindcss:
- optional: true
-
- '@angular-devkit/build-webpack@0.2000.0':
- resolution: {integrity: sha512-bIbz6uFQLTBvmadWJo/KEF1GruqIC23HF8YcUfy/1AuSd07EjoWL8wZrpl6eY+RE8hjua3AC1XSrzWD2e+xd8w==}
- engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'}
- peerDependencies:
- webpack: '>=5.104.1'
- webpack-dev-server: '>=5.2.4'
-
- '@angular-devkit/core@20.0.0':
- resolution: {integrity: sha512-cnB/I1QQC3WoIcb+f/7hknOOkgIFjAuxd7nW1RnS+pn0qQTWyjnXjq2jocx2TBMwZRikycc7f3mlA1DgWzJUuQ==}
- engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'}
- peerDependencies:
- chokidar: ^4.0.0
- peerDependenciesMeta:
- chokidar:
- optional: true
-
'@angular-devkit/core@21.2.13':
resolution: {integrity: sha512-9jLaHcUr6BumIY9nCsBib1q62p259nf++gd2igYJ7mLm1w/0wEacsZ1cC8wCGEe6vx8a+DrD+EVCQ6zivePG2A==}
engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'}
@@ -665,52 +559,6 @@ packages:
peerDependencies:
'@angular/core': 21.2.15
- '@angular/build@20.0.0':
- resolution: {integrity: sha512-b/FAvvUbsMEgr+UlvTtDz4NCv+BFi+55swtKRmaritvZ2rDfhF1x9tUmSkT6GebGXkI/Gg0kl5rJoD5iv5lY3A==}
- engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'}
- peerDependencies:
- '@angular/compiler': ^20.0.0
- '@angular/compiler-cli': ^20.0.0
- '@angular/core': ^20.0.0
- '@angular/localize': ^20.0.0
- '@angular/platform-browser': ^20.0.0
- '@angular/platform-server': ^20.0.0
- '@angular/service-worker': ^20.0.0
- '@angular/ssr': ^20.0.0
- karma: ^6.4.0
- less: ^4.2.0
- ng-packagr: ^20.0.0
- postcss: ^8.4.0
- tailwindcss: ^2.0.0 || ^3.0.0 || ^4.0.0
- tslib: ^2.3.0
- typescript: '>=5.8 <5.9'
- vitest: ^3.1.1
- peerDependenciesMeta:
- '@angular/core':
- optional: true
- '@angular/localize':
- optional: true
- '@angular/platform-browser':
- optional: true
- '@angular/platform-server':
- optional: true
- '@angular/service-worker':
- optional: true
- '@angular/ssr':
- optional: true
- karma:
- optional: true
- less:
- optional: true
- ng-packagr:
- optional: true
- postcss:
- optional: true
- tailwindcss:
- optional: true
- vitest:
- optional: true
-
'@angular/build@21.2.13':
resolution: {integrity: sha512-Y9TDAaTQ+E5LScCKA/hPZmns/7Mpu6J2BiPj2cETA1xNjvgRpeb5Mh32KuhZb20NSFLvjpdnLuBTTtbym7hevw==}
engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'}
@@ -882,7 +730,7 @@ packages:
resolution: {integrity: sha512-TajUJwGWbDwkCx/CZi7tRE8PVB7simCvKJfHUsSdvps+aTM/PDPP4gkLmKnc+x3CE//y9i/nj74GqdL/hwk7Iw==}
engines: {node: '>=10'}
peerDependencies:
- ajv: '>=8.18.0'
+ ajv: '>=8'
'@asamuzakjp/css-color@5.1.11':
resolution: {integrity: sha512-KVw6qIiCTUQhByfTd78h2yD1/00waTmm9uy/R7Ck/ctUyAPj+AEDLkQIdJW0T8+qGgj3j5bpNKK7Q3G+LedJWg==}
@@ -911,18 +759,10 @@ packages:
resolution: {integrity: sha512-LIVqM46zQWZhj17qA8wb4nW/ixr2y1Nw+r1etiAWgRM6U1IqP+LNhL1yg440jYZR72jCWcWbLWzIosH+uP1fqg==}
engines: {node: '>=6.9.0'}
- '@babel/core@7.27.1':
- resolution: {integrity: sha512-IaaGWsQqfsQWVLqMn9OB92MNN7zukfVA4s7KKAI0KfrrDsZ0yhi5uV4baBuLuN7n3vsZpwP8asPPcVwApxvjBQ==}
- engines: {node: '>=6.9.0'}
-
'@babel/core@7.29.0':
resolution: {integrity: sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==}
engines: {node: '>=6.9.0'}
- '@babel/generator@7.27.1':
- resolution: {integrity: sha512-UnJfnIpc/+JO0/+KRVQNGU+y5taA5vCbwN8+azkX6beii/ZF+enZJSOKo11ZSzGJjlNfJHfQtmQT8H+9TXPG2w==}
- engines: {node: '>=6.9.0'}
-
'@babel/generator@7.28.5':
resolution: {integrity: sha512-3EwLFhZ38J4VyIP6WNtt2kUdW9dokXA9Cr4IVIFHuCpZ3H8/YFOl5JjZHisrn1fATPBmKKqXzDFvh9fUwHz6CQ==}
engines: {node: '>=6.9.0'}
@@ -931,10 +771,6 @@ packages:
resolution: {integrity: sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==}
engines: {node: '>=6.9.0'}
- '@babel/helper-annotate-as-pure@7.27.1':
- resolution: {integrity: sha512-WnuuDILl9oOBbKnb4L+DyODx7iC47XfzmNCpTttFsSp6hTG7XZxu60+4IO+2/hPfcGOoKbFiwoI/+zwARbNQow==}
- engines: {node: '>=6.9.0'}
-
'@babel/helper-annotate-as-pure@7.27.3':
resolution: {integrity: sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==}
engines: {node: '>=6.9.0'}
@@ -1208,24 +1044,12 @@ packages:
peerDependencies:
'@babel/core': ^7.0.0-0
- '@babel/plugin-transform-async-generator-functions@7.27.1':
- resolution: {integrity: sha512-eST9RrwlpaoJBDHShc+DS2SG4ATTi2MYNb4OxYkf3n+7eb49LWpnS+HSpVfW4x927qQwgk8A2hGNVaajAEw0EA==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
-
'@babel/plugin-transform-async-generator-functions@7.29.0':
resolution: {integrity: sha512-va0VdWro4zlBr2JsXC+ofCPB2iG12wPtVGTWFx2WLDOM3nYQZZIGP82qku2eW/JR83sD+k2k+CsNtyEbUqhU6w==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
- '@babel/plugin-transform-async-to-generator@7.27.1':
- resolution: {integrity: sha512-NREkZsZVJS4xmTr8qzE5y8AfIPqsdQfRuUiLRTEzb7Qii8iFWCyDKaUV2c0rCuh4ljDZ98ALHP/PetiBV2nddA==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
-
'@babel/plugin-transform-async-to-generator@7.28.6':
resolution: {integrity: sha512-ilTRcmbuXjsMmcZ3HASTe4caH5Tpo93PkTxF9oG2VZsSWsahydmcEHhix9Ik122RcTnZnUzPbmux4wh1swfv7g==}
engines: {node: '>=6.9.0'}
@@ -1532,12 +1356,6 @@ packages:
peerDependencies:
'@babel/core': ^7.0.0
- '@babel/preset-env@7.27.2':
- resolution: {integrity: sha512-Ma4zSuYSlGNRlCLO+EAzLnCmJK2vdstgv+n7aUP+/IKZrOfWHOJVdSJtuub8RzHTj3ahD37k5OKJWvzf16TQyQ==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
-
'@babel/preset-env@7.29.5':
resolution: {integrity: sha512-/69t2aEzGKHD76DyLbHysF/QH2LJOB8iFnYO37unDTKBTubzcMRv0f3H5EiN1Q6ajOd/eB7dAInF0qdFVS06kA==}
engines: {node: '>=6.9.0'}
@@ -1736,10 +1554,6 @@ packages:
resolution: {integrity: sha512-QxULHAm7cNu72w97JUNCBFODFaXpbDg+dP8b/oWFAZ2MTRppA3U00Y2L1HqaS4J6yBqxwa/Y3nMBaxVKbB/NsA==}
engines: {node: '>=20.19.0'}
- '@discoveryjs/json-ext@0.6.3':
- resolution: {integrity: sha512-4B4OijXeVNOPZlYA2oEwWOTkzyltLao+xbotHQeqN++Rv27Y6s818+n2Qkp8q+Fxhn0t/5lA5X1Mxktud8eayQ==}
- engines: {node: '>=14.17.0'}
-
'@emnapi/core@1.10.0':
resolution: {integrity: sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw==}
@@ -1758,12 +1572,6 @@ packages:
'@emnapi/wasi-threads@1.2.1':
resolution: {integrity: sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==}
- '@esbuild/aix-ppc64@0.25.5':
- resolution: {integrity: sha512-9o3TMmpmftaCMepOdA5k/yDw8SfInyzWWTjYTFCX3kPSDJMROQTb8jg+h9Cnwnmm1vOzvxN7gIfB5V2ewpjtGA==}
- engines: {node: '>=18'}
- cpu: [ppc64]
- os: [aix]
-
'@esbuild/aix-ppc64@0.27.3':
resolution: {integrity: sha512-9fJMTNFTWZMh5qwrBItuziu834eOCUcEqymSH7pY+zoMVEZg3gcPuBNxH1EvfVYe9h0x/Ptw8KBzv7qxb7l8dg==}
engines: {node: '>=18'}
@@ -1782,12 +1590,6 @@ packages:
cpu: [ppc64]
os: [aix]
- '@esbuild/android-arm64@0.25.5':
- resolution: {integrity: sha512-VGzGhj4lJO+TVGV1v8ntCZWJktV7SGCs3Pn1GRWI1SBFtRALoomm8k5E9Pmwg3HOAal2VDc2F9+PM/rEY6oIDg==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [android]
-
'@esbuild/android-arm64@0.27.3':
resolution: {integrity: sha512-YdghPYUmj/FX2SYKJ0OZxf+iaKgMsKHVPF1MAq/P8WirnSpCStzKJFjOjzsW0QQ7oIAiccHdcqjbHmJxRb/dmg==}
engines: {node: '>=18'}
@@ -1806,12 +1608,6 @@ packages:
cpu: [arm64]
os: [android]
- '@esbuild/android-arm@0.25.5':
- resolution: {integrity: sha512-AdJKSPeEHgi7/ZhuIPtcQKr5RQdo6OO2IL87JkianiMYMPbCtot9fxPbrMiBADOWWm3T2si9stAiVsGbTQFkbA==}
- engines: {node: '>=18'}
- cpu: [arm]
- os: [android]
-
'@esbuild/android-arm@0.27.3':
resolution: {integrity: sha512-i5D1hPY7GIQmXlXhs2w8AWHhenb00+GxjxRncS2ZM7YNVGNfaMxgzSGuO8o8SJzRc/oZwU2bcScvVERk03QhzA==}
engines: {node: '>=18'}
@@ -1830,12 +1626,6 @@ packages:
cpu: [arm]
os: [android]
- '@esbuild/android-x64@0.25.5':
- resolution: {integrity: sha512-D2GyJT1kjvO//drbRT3Hib9XPwQeWd9vZoBJn+bu/lVsOZ13cqNdDeqIF/xQ5/VmWvMduP6AmXvylO/PIc2isw==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [android]
-
'@esbuild/android-x64@0.27.3':
resolution: {integrity: sha512-IN/0BNTkHtk8lkOM8JWAYFg4ORxBkZQf9zXiEOfERX/CzxW3Vg1ewAhU7QSWQpVIzTW+b8Xy+lGzdYXV6UZObQ==}
engines: {node: '>=18'}
@@ -1854,12 +1644,6 @@ packages:
cpu: [x64]
os: [android]
- '@esbuild/darwin-arm64@0.25.5':
- resolution: {integrity: sha512-GtaBgammVvdF7aPIgH2jxMDdivezgFu6iKpmT+48+F8Hhg5J/sfnDieg0aeG/jfSvkYQU2/pceFPDKlqZzwnfQ==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [darwin]
-
'@esbuild/darwin-arm64@0.27.3':
resolution: {integrity: sha512-Re491k7ByTVRy0t3EKWajdLIr0gz2kKKfzafkth4Q8A5n1xTHrkqZgLLjFEHVD+AXdUGgQMq+Godfq45mGpCKg==}
engines: {node: '>=18'}
@@ -1878,12 +1662,6 @@ packages:
cpu: [arm64]
os: [darwin]
- '@esbuild/darwin-x64@0.25.5':
- resolution: {integrity: sha512-1iT4FVL0dJ76/q1wd7XDsXrSW+oLoquptvh4CLR4kITDtqi2e/xwXwdCVH8hVHU43wgJdsq7Gxuzcs6Iq/7bxQ==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [darwin]
-
'@esbuild/darwin-x64@0.27.3':
resolution: {integrity: sha512-vHk/hA7/1AckjGzRqi6wbo+jaShzRowYip6rt6q7VYEDX4LEy1pZfDpdxCBnGtl+A5zq8iXDcyuxwtv3hNtHFg==}
engines: {node: '>=18'}
@@ -1902,12 +1680,6 @@ packages:
cpu: [x64]
os: [darwin]
- '@esbuild/freebsd-arm64@0.25.5':
- resolution: {integrity: sha512-nk4tGP3JThz4La38Uy/gzyXtpkPW8zSAmoUhK9xKKXdBCzKODMc2adkB2+8om9BDYugz+uGV7sLmpTYzvmz6Sw==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [freebsd]
-
'@esbuild/freebsd-arm64@0.27.3':
resolution: {integrity: sha512-ipTYM2fjt3kQAYOvo6vcxJx3nBYAzPjgTCk7QEgZG8AUO3ydUhvelmhrbOheMnGOlaSFUoHXB6un+A7q4ygY9w==}
engines: {node: '>=18'}
@@ -1926,12 +1698,6 @@ packages:
cpu: [arm64]
os: [freebsd]
- '@esbuild/freebsd-x64@0.25.5':
- resolution: {integrity: sha512-PrikaNjiXdR2laW6OIjlbeuCPrPaAl0IwPIaRv+SMV8CiM8i2LqVUHFC1+8eORgWyY7yhQY+2U2fA55mBzReaw==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [freebsd]
-
'@esbuild/freebsd-x64@0.27.3':
resolution: {integrity: sha512-dDk0X87T7mI6U3K9VjWtHOXqwAMJBNN2r7bejDsc+j03SEjtD9HrOl8gVFByeM0aJksoUuUVU9TBaZa2rgj0oA==}
engines: {node: '>=18'}
@@ -1950,12 +1716,6 @@ packages:
cpu: [x64]
os: [freebsd]
- '@esbuild/linux-arm64@0.25.5':
- resolution: {integrity: sha512-Z9kfb1v6ZlGbWj8EJk9T6czVEjjq2ntSYLY2cw6pAZl4oKtfgQuS4HOq41M/BcoLPzrUbNd+R4BXFyH//nHxVg==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [linux]
-
'@esbuild/linux-arm64@0.27.3':
resolution: {integrity: sha512-sZOuFz/xWnZ4KH3YfFrKCf1WyPZHakVzTiqji3WDc0BCl2kBwiJLCXpzLzUBLgmp4veFZdvN5ChW4Eq/8Fc2Fg==}
engines: {node: '>=18'}
@@ -1974,12 +1734,6 @@ packages:
cpu: [arm64]
os: [linux]
- '@esbuild/linux-arm@0.25.5':
- resolution: {integrity: sha512-cPzojwW2okgh7ZlRpcBEtsX7WBuqbLrNXqLU89GxWbNt6uIg78ET82qifUy3W6OVww6ZWobWub5oqZOVtwolfw==}
- engines: {node: '>=18'}
- cpu: [arm]
- os: [linux]
-
'@esbuild/linux-arm@0.27.3':
resolution: {integrity: sha512-s6nPv2QkSupJwLYyfS+gwdirm0ukyTFNl3KTgZEAiJDd+iHZcbTPPcWCcRYH+WlNbwChgH2QkE9NSlNrMT8Gfw==}
engines: {node: '>=18'}
@@ -1998,12 +1752,6 @@ packages:
cpu: [arm]
os: [linux]
- '@esbuild/linux-ia32@0.25.5':
- resolution: {integrity: sha512-sQ7l00M8bSv36GLV95BVAdhJ2QsIbCuCjh/uYrWiMQSUuV+LpXwIqhgJDcvMTj+VsQmqAHL2yYaasENvJ7CDKA==}
- engines: {node: '>=18'}
- cpu: [ia32]
- os: [linux]
-
'@esbuild/linux-ia32@0.27.3':
resolution: {integrity: sha512-yGlQYjdxtLdh0a3jHjuwOrxQjOZYD/C9PfdbgJJF3TIZWnm/tMd/RcNiLngiu4iwcBAOezdnSLAwQDPqTmtTYg==}
engines: {node: '>=18'}
@@ -2022,12 +1770,6 @@ packages:
cpu: [ia32]
os: [linux]
- '@esbuild/linux-loong64@0.25.5':
- resolution: {integrity: sha512-0ur7ae16hDUC4OL5iEnDb0tZHDxYmuQyhKhsPBV8f99f6Z9KQM02g33f93rNH5A30agMS46u2HP6qTdEt6Q1kg==}
- engines: {node: '>=18'}
- cpu: [loong64]
- os: [linux]
-
'@esbuild/linux-loong64@0.27.3':
resolution: {integrity: sha512-WO60Sn8ly3gtzhyjATDgieJNet/KqsDlX5nRC5Y3oTFcS1l0KWba+SEa9Ja1GfDqSF1z6hif/SkpQJbL63cgOA==}
engines: {node: '>=18'}
@@ -2046,12 +1788,6 @@ packages:
cpu: [loong64]
os: [linux]
- '@esbuild/linux-mips64el@0.25.5':
- resolution: {integrity: sha512-kB/66P1OsHO5zLz0i6X0RxlQ+3cu0mkxS3TKFvkb5lin6uwZ/ttOkP3Z8lfR9mJOBk14ZwZ9182SIIWFGNmqmg==}
- engines: {node: '>=18'}
- cpu: [mips64el]
- os: [linux]
-
'@esbuild/linux-mips64el@0.27.3':
resolution: {integrity: sha512-APsymYA6sGcZ4pD6k+UxbDjOFSvPWyZhjaiPyl/f79xKxwTnrn5QUnXR5prvetuaSMsb4jgeHewIDCIWljrSxw==}
engines: {node: '>=18'}
@@ -2070,12 +1806,6 @@ packages:
cpu: [mips64el]
os: [linux]
- '@esbuild/linux-ppc64@0.25.5':
- resolution: {integrity: sha512-UZCmJ7r9X2fe2D6jBmkLBMQetXPXIsZjQJCjgwpVDz+YMcS6oFR27alkgGv3Oqkv07bxdvw7fyB71/olceJhkQ==}
- engines: {node: '>=18'}
- cpu: [ppc64]
- os: [linux]
-
'@esbuild/linux-ppc64@0.27.3':
resolution: {integrity: sha512-eizBnTeBefojtDb9nSh4vvVQ3V9Qf9Df01PfawPcRzJH4gFSgrObw+LveUyDoKU3kxi5+9RJTCWlj4FjYXVPEA==}
engines: {node: '>=18'}
@@ -2094,12 +1824,6 @@ packages:
cpu: [ppc64]
os: [linux]
- '@esbuild/linux-riscv64@0.25.5':
- resolution: {integrity: sha512-kTxwu4mLyeOlsVIFPfQo+fQJAV9mh24xL+y+Bm6ej067sYANjyEw1dNHmvoqxJUCMnkBdKpvOn0Ahql6+4VyeA==}
- engines: {node: '>=18'}
- cpu: [riscv64]
- os: [linux]
-
'@esbuild/linux-riscv64@0.27.3':
resolution: {integrity: sha512-3Emwh0r5wmfm3ssTWRQSyVhbOHvqegUDRd0WhmXKX2mkHJe1SFCMJhagUleMq+Uci34wLSipf8Lagt4LlpRFWQ==}
engines: {node: '>=18'}
@@ -2118,12 +1842,6 @@ packages:
cpu: [riscv64]
os: [linux]
- '@esbuild/linux-s390x@0.25.5':
- resolution: {integrity: sha512-K2dSKTKfmdh78uJ3NcWFiqyRrimfdinS5ErLSn3vluHNeHVnBAFWC8a4X5N+7FgVE1EjXS1QDZbpqZBjfrqMTQ==}
- engines: {node: '>=18'}
- cpu: [s390x]
- os: [linux]
-
'@esbuild/linux-s390x@0.27.3':
resolution: {integrity: sha512-pBHUx9LzXWBc7MFIEEL0yD/ZVtNgLytvx60gES28GcWMqil8ElCYR4kvbV2BDqsHOvVDRrOxGySBM9Fcv744hw==}
engines: {node: '>=18'}
@@ -2142,12 +1860,6 @@ packages:
cpu: [s390x]
os: [linux]
- '@esbuild/linux-x64@0.25.5':
- resolution: {integrity: sha512-uhj8N2obKTE6pSZ+aMUbqq+1nXxNjZIIjCjGLfsWvVpy7gKCOL6rsY1MhRh9zLtUtAI7vpgLMK6DxjO8Qm9lJw==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [linux]
-
'@esbuild/linux-x64@0.27.3':
resolution: {integrity: sha512-Czi8yzXUWIQYAtL/2y6vogER8pvcsOsk5cpwL4Gk5nJqH5UZiVByIY8Eorm5R13gq+DQKYg0+JyQoytLQas4dA==}
engines: {node: '>=18'}
@@ -2166,12 +1878,6 @@ packages:
cpu: [x64]
os: [linux]
- '@esbuild/netbsd-arm64@0.25.5':
- resolution: {integrity: sha512-pwHtMP9viAy1oHPvgxtOv+OkduK5ugofNTVDilIzBLpoWAM16r7b/mxBvfpuQDpRQFMfuVr5aLcn4yveGvBZvw==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [netbsd]
-
'@esbuild/netbsd-arm64@0.27.3':
resolution: {integrity: sha512-sDpk0RgmTCR/5HguIZa9n9u+HVKf40fbEUt+iTzSnCaGvY9kFP0YKBWZtJaraonFnqef5SlJ8/TiPAxzyS+UoA==}
engines: {node: '>=18'}
@@ -2190,12 +1896,6 @@ packages:
cpu: [arm64]
os: [netbsd]
- '@esbuild/netbsd-x64@0.25.5':
- resolution: {integrity: sha512-WOb5fKrvVTRMfWFNCroYWWklbnXH0Q5rZppjq0vQIdlsQKuw6mdSihwSo4RV/YdQ5UCKKvBy7/0ZZYLBZKIbwQ==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [netbsd]
-
'@esbuild/netbsd-x64@0.27.3':
resolution: {integrity: sha512-P14lFKJl/DdaE00LItAukUdZO5iqNH7+PjoBm+fLQjtxfcfFE20Xf5CrLsmZdq5LFFZzb5JMZ9grUwvtVYzjiA==}
engines: {node: '>=18'}
@@ -2214,12 +1914,6 @@ packages:
cpu: [x64]
os: [netbsd]
- '@esbuild/openbsd-arm64@0.25.5':
- resolution: {integrity: sha512-7A208+uQKgTxHd0G0uqZO8UjK2R0DDb4fDmERtARjSHWxqMTye4Erz4zZafx7Di9Cv+lNHYuncAkiGFySoD+Mw==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [openbsd]
-
'@esbuild/openbsd-arm64@0.27.3':
resolution: {integrity: sha512-AIcMP77AvirGbRl/UZFTq5hjXK+2wC7qFRGoHSDrZ5v5b8DK/GYpXW3CPRL53NkvDqb9D+alBiC/dV0Fb7eJcw==}
engines: {node: '>=18'}
@@ -2238,12 +1932,6 @@ packages:
cpu: [arm64]
os: [openbsd]
- '@esbuild/openbsd-x64@0.25.5':
- resolution: {integrity: sha512-G4hE405ErTWraiZ8UiSoesH8DaCsMm0Cay4fsFWOOUcz8b8rC6uCvnagr+gnioEjWn0wC+o1/TAHt+It+MpIMg==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [openbsd]
-
'@esbuild/openbsd-x64@0.27.3':
resolution: {integrity: sha512-DnW2sRrBzA+YnE70LKqnM3P+z8vehfJWHXECbwBmH/CU51z6FiqTQTHFenPlHmo3a8UgpLyH3PT+87OViOh1AQ==}
engines: {node: '>=18'}
@@ -2280,12 +1968,6 @@ packages:
cpu: [arm64]
os: [openharmony]
- '@esbuild/sunos-x64@0.25.5':
- resolution: {integrity: sha512-l+azKShMy7FxzY0Rj4RCt5VD/q8mG/e+mDivgspo+yL8zW7qEwctQ6YqKX34DTEleFAvCIUviCFX1SDZRSyMQA==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [sunos]
-
'@esbuild/sunos-x64@0.27.3':
resolution: {integrity: sha512-PanZ+nEz+eWoBJ8/f8HKxTTD172SKwdXebZ0ndd953gt1HRBbhMsaNqjTyYLGLPdoWHy4zLU7bDVJztF5f3BHA==}
engines: {node: '>=18'}
@@ -2304,12 +1986,6 @@ packages:
cpu: [x64]
os: [sunos]
- '@esbuild/win32-arm64@0.25.5':
- resolution: {integrity: sha512-O2S7SNZzdcFG7eFKgvwUEZ2VG9D/sn/eIiz8XRZ1Q/DO5a3s76Xv0mdBzVM5j5R639lXQmPmSo0iRpHqUUrsxw==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [win32]
-
'@esbuild/win32-arm64@0.27.3':
resolution: {integrity: sha512-B2t59lWWYrbRDw/tjiWOuzSsFh1Y/E95ofKz7rIVYSQkUYBjfSgf6oeYPNWHToFRr2zx52JKApIcAS/D5TUBnA==}
engines: {node: '>=18'}
@@ -2328,12 +2004,6 @@ packages:
cpu: [arm64]
os: [win32]
- '@esbuild/win32-ia32@0.25.5':
- resolution: {integrity: sha512-onOJ02pqs9h1iMJ1PQphR+VZv8qBMQ77Klcsqv9CNW2w6yLqoURLcgERAIurY6QE63bbLuqgP9ATqajFLK5AMQ==}
- engines: {node: '>=18'}
- cpu: [ia32]
- os: [win32]
-
'@esbuild/win32-ia32@0.27.3':
resolution: {integrity: sha512-QLKSFeXNS8+tHW7tZpMtjlNb7HKau0QDpwm49u0vUp9y1WOF+PEzkU84y9GqYaAVW8aH8f3GcBck26jh54cX4Q==}
engines: {node: '>=18'}
@@ -2352,12 +2022,6 @@ packages:
cpu: [ia32]
os: [win32]
- '@esbuild/win32-x64@0.25.5':
- resolution: {integrity: sha512-TXv6YnJ8ZMVdX+SXWVBo/0p8LTcrUYngpWjvm91TMjjBQii7Oz11Lw5lbDV5Y0TzuhSJHwiH4hEtC1I42mMS0g==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [win32]
-
'@esbuild/win32-x64@0.27.3':
resolution: {integrity: sha512-4uJGhsxuptu3OcpVAzli+/gWusVGwZZHTlS63hh++ehExkVT8SgiEf7/uC/PclrPPkLhZqGgCTjd0VWLo6xMqA==}
engines: {node: '>=18'}
@@ -2435,7 +2099,7 @@ packages:
resolution: {integrity: sha512-GwtvgtXxnWsucXvbQXkRgqksiH2Qed37H9xHZocE5sA3N8O8O8/8FA3uclQXxXVzc9XBZuEOMK7+r02FmSpHtw==}
engines: {node: '>=18.14.1'}
peerDependencies:
- hono: '>=4.12.18'
+ hono: ^4
'@humanfs/core@0.19.1':
resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==}
@@ -2482,15 +2146,6 @@ packages:
'@types/node':
optional: true
- '@inquirer/confirm@5.1.10':
- resolution: {integrity: sha512-FxbQ9giWxUWKUk2O5XZ6PduVnH2CZ/fmMKMBkH71MHJvWr7WL5AHKevhzF1L5uYWB2P548o1RzVxrNd3dpmk6g==}
- engines: {node: '>=18'}
- peerDependencies:
- '@types/node': '>=18'
- peerDependenciesMeta:
- '@types/node':
- optional: true
-
'@inquirer/confirm@5.1.21':
resolution: {integrity: sha512-KR8edRkIsUayMXV+o3Gv+q4jlhENF9nMYUZs9PA2HzrXeHI8M5uDag70U7RJn9yyiMZSbtF5/UexBtAVtZGSbQ==}
engines: {node: '>=18'}
@@ -2772,71 +2427,36 @@ packages:
'@inquirer/prompts': '>= 3 < 8'
listr2: 9.0.5
- '@lmdb/lmdb-darwin-arm64@3.3.0':
- resolution: {integrity: sha512-LipbQobyEfQtu8WixasaFUZZ+JCGlho4OWwWIQ5ol0rB1RKkcZvypu7sS1CBvofBGVAa3vbOh8IOGQMrbmL5dg==}
- cpu: [arm64]
- os: [darwin]
-
'@lmdb/lmdb-darwin-arm64@3.5.1':
resolution: {integrity: sha512-tpfN4kKrrMpQ+If1l8bhmoNkECJi0iOu6AEdrTJvWVC+32sLxTARX5Rsu579mPImRP9YFWfWgeRQ5oav7zApQQ==}
cpu: [arm64]
os: [darwin]
- '@lmdb/lmdb-darwin-x64@3.3.0':
- resolution: {integrity: sha512-yA+9P+ZeA3vg76BLXWeUomIAjxfmSmR2eg8fueHXDg5Xe1Xmkl9JCKuHXUhtJ+mMVcH12d5k4kJBLbyXTadfGQ==}
- cpu: [x64]
- os: [darwin]
-
'@lmdb/lmdb-darwin-x64@3.5.1':
resolution: {integrity: sha512-+a2tTfc3rmWhLAolFUWRgJtpSuu+Fw/yjn4rF406NMxhfjbMuiOUTDRvRlMFV+DzyjkwnokisskHbCWkS3Ly5w==}
cpu: [x64]
os: [darwin]
- '@lmdb/lmdb-linux-arm64@3.3.0':
- resolution: {integrity: sha512-OeWvSgjXXZ/zmtLqqL78I3910F6UYpUubmsUU+iBHo6nTtjkpXms95rJtGrjkWQqwswKBD7xSMplbYC4LEsiPA==}
- cpu: [arm64]
- os: [linux]
-
'@lmdb/lmdb-linux-arm64@3.5.1':
resolution: {integrity: sha512-aoERa5B6ywXdyFeYGQ1gbQpkMkDbEo45qVoXE5QpIRavqjnyPwjOulMkmkypkmsbJ5z4Wi0TBztON8agCTG0Vg==}
cpu: [arm64]
os: [linux]
- '@lmdb/lmdb-linux-arm@3.3.0':
- resolution: {integrity: sha512-EDYrW9kle+8wI19JCj/PhRnGoCN9bked5cdOPdo1wdgH/HzjgoLPFTn9DHlZccgTEVhp3O+bpWXdN/rWySVvjw==}
- cpu: [arm]
- os: [linux]
-
'@lmdb/lmdb-linux-arm@3.5.1':
resolution: {integrity: sha512-0EgcE6reYr8InjD7V37EgXcYrloqpxVPINy3ig1MwDSbl6LF/vXTYRH9OE1Ti1D8YZnB35ZH9aTcdfSb5lql2A==}
cpu: [arm]
os: [linux]
- '@lmdb/lmdb-linux-x64@3.3.0':
- resolution: {integrity: sha512-wDd02mt5ScX4+xd6g78zKBr6ojpgCJCTrllCAabjgap5FzuETqOqaQfKhO+tJuGWv/J5q+GIds6uY7rNFueOxg==}
- cpu: [x64]
- os: [linux]
-
'@lmdb/lmdb-linux-x64@3.5.1':
resolution: {integrity: sha512-SqNDY1+vpji7bh0sFH5wlWyFTOzjbDOl0/kB5RLLYDAFyd/uw3n7wyrmas3rYPpAW7z18lMOi1yKlTPv967E3g==}
cpu: [x64]
os: [linux]
- '@lmdb/lmdb-win32-arm64@3.3.0':
- resolution: {integrity: sha512-COotWhHJgzXULLiEjOgWQwqig6PoA+6ji6W+sDl6M1HhMXWIymEVHGs0edsVSNtsNSCAWMxJgR3asv6FNX/2EA==}
- cpu: [arm64]
- os: [win32]
-
'@lmdb/lmdb-win32-arm64@3.5.1':
resolution: {integrity: sha512-50v0O1Lt37cwrmR9vWZK5hRW0Aw+KEmxJJ75fge/zIYdvNKB/0bSMSVR5Uc2OV9JhosIUyklOmrEvavwNJ8D6w==}
cpu: [arm64]
os: [win32]
- '@lmdb/lmdb-win32-x64@3.3.0':
- resolution: {integrity: sha512-kqUgQH+l8HDbkAapx+aoko7Ez4X4DqkIraOqY/k0QY5EN/iialVlFpBUXh4wFXzirdmEVjbIUMrceUh0Kh8LeA==}
- cpu: [x64]
- os: [win32]
-
'@lmdb/lmdb-win32-x64@3.5.1':
resolution: {integrity: sha512-qwosvPyl+zpUlp3gRb7UcJ3H8S28XHCzkv0Y0EgQToXjQP91ZD67EHSCDmaLjtKhe+GVIW5om1KUpzVLA0l6pg==}
cpu: [x64]
@@ -2915,7 +2535,7 @@ packages:
peerDependencies:
typescript: ^4.9.0 || ^5.0.0
vue-tsc: '>=1.0.24'
- webpack: '>=5.104.1'
+ webpack: ^5.0.0
peerDependenciesMeta:
typescript:
optional: true
@@ -2930,7 +2550,7 @@ packages:
peerDependencies:
typescript: ^4.9.0 || ^5.0.0
vue-tsc: '>=1.0.24'
- webpack: '>=5.104.1'
+ webpack: ^5.0.0
peerDependenciesMeta:
typescript:
optional: true
@@ -2979,7 +2599,7 @@ packages:
next: '*'
react: ^16||^17||^18||^19
react-dom: ^16||^17||^18||^19
- webpack: '>=5.104.1'
+ webpack: ^5.40.0
peerDependenciesMeta:
next:
optional: true
@@ -3067,7 +2687,7 @@ packages:
'@module-federation/vite@1.16.2':
resolution: {integrity: sha512-XjfReMlQWe+i0SCmkbhrqIuo7WEGIoWH4AsvBQ9gLBa+DxA4qnygJrL6kHi7T1z7EVNRhTTysTHm4ezXGkvr5Q==}
peerDependencies:
- vite: '>=6.4.2'
+ vite: ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0
'@module-federation/webpack-bundler-runtime@0.21.6':
resolution: {integrity: sha512-7zIp3LrcWbhGuFDTUMLJ2FJvcwjlddqhWGxi/MW3ur1a+HaO8v5tF2nl+vElKmbG1DFLU/52l3PElVcWf/YcsQ==}
@@ -3146,42 +2766,49 @@ packages:
engines: {node: '>= 10'}
cpu: [arm64]
os: [linux]
+ libc: [glibc]
'@napi-rs/nice-linux-arm64-musl@1.1.1':
resolution: {integrity: sha512-+2Rzdb3nTIYZ0YJF43qf2twhqOCkiSrHx2Pg6DJaCPYhhaxbLcdlV8hCRMHghQ+EtZQWGNcS2xF4KxBhSGeutg==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [linux]
+ libc: [musl]
'@napi-rs/nice-linux-ppc64-gnu@1.1.1':
resolution: {integrity: sha512-4FS8oc0GeHpwvv4tKciKkw3Y4jKsL7FRhaOeiPei0X9T4Jd619wHNe4xCLmN2EMgZoeGg+Q7GY7BsvwKpL22Tg==}
engines: {node: '>= 10'}
cpu: [ppc64]
os: [linux]
+ libc: [glibc]
'@napi-rs/nice-linux-riscv64-gnu@1.1.1':
resolution: {integrity: sha512-HU0nw9uD4FO/oGCCk409tCi5IzIZpH2agE6nN4fqpwVlCn5BOq0MS1dXGjXaG17JaAvrlpV5ZeyZwSon10XOXw==}
engines: {node: '>= 10'}
cpu: [riscv64]
os: [linux]
+ libc: [glibc]
'@napi-rs/nice-linux-s390x-gnu@1.1.1':
resolution: {integrity: sha512-2YqKJWWl24EwrX0DzCQgPLKQBxYDdBxOHot1KWEq7aY2uYeX+Uvtv4I8xFVVygJDgf6/92h9N3Y43WPx8+PAgQ==}
engines: {node: '>= 10'}
cpu: [s390x]
os: [linux]
+ libc: [glibc]
'@napi-rs/nice-linux-x64-gnu@1.1.1':
resolution: {integrity: sha512-/gaNz3R92t+dcrfCw/96pDopcmec7oCcAQ3l/M+Zxr82KT4DljD37CpgrnXV+pJC263JkW572pdbP3hP+KjcIg==}
engines: {node: '>= 10'}
cpu: [x64]
os: [linux]
+ libc: [glibc]
'@napi-rs/nice-linux-x64-musl@1.1.1':
resolution: {integrity: sha512-xScCGnyj/oppsNPMnevsBe3pvNaoK7FGvMjT35riz9YdhB2WtTG47ZlbxtOLpjeO9SqqQ2J2igCmz6IJOD5JYw==}
engines: {node: '>= 10'}
cpu: [x64]
os: [linux]
+ libc: [musl]
'@napi-rs/nice-openharmony-arm64@1.1.1':
resolution: {integrity: sha512-6uJPRVwVCLDeoOaNyeiW0gp2kFIM4r7PL2MczdZQHkFi9gVlgm+Vn+V6nTWRcu856mJ2WjYJiumEajfSm7arPQ==}
@@ -3240,14 +2867,6 @@ packages:
rxjs:
optional: true
- '@ngtools/webpack@20.0.0':
- resolution: {integrity: sha512-3kT8PlLDvThhZxNbJWdG2qrZrUOg0tAjd7mnsOsg65/2tsBZ2HaR3fSzkHOG+Ly6SlWiS4owKWqPRGlgFuq1bw==}
- engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'}
- peerDependencies:
- '@angular/compiler-cli': ^20.0.0
- typescript: '>=5.8 <5.9'
- webpack: '>=5.104.1'
-
'@noble/hashes@1.4.0':
resolution: {integrity: sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==}
engines: {node: '>= 16'}
@@ -3397,21 +3016,25 @@ packages:
resolution: {integrity: sha512-QLnkJl3HkHsPfpLiNiAiMfpfAeFpic0U1diAxF8RqChOkCpQ7ulvyBVgE1UrQxvhd+gFQ3ed5RNDxtCRw8nTiw==}
cpu: [arm64]
os: [linux]
+ libc: [glibc]
'@nx/nx-linux-arm64-musl@22.7.5':
resolution: {integrity: sha512-cEP6KmwBgnb38+jTTaibWCjwXcHmigqhTfy0tN1be7WZr6bHxbqNLsXqKRN70PSNA3HouZcxw1cdRL8tqbPBBA==}
cpu: [arm64]
os: [linux]
+ libc: [musl]
'@nx/nx-linux-x64-gnu@22.7.5':
resolution: {integrity: sha512-tbaX1tZCSpGifDNBfDdEZAMxVF3Yg4bhFP/bm1needc0diqb+Zflc0u5tM5/6BWDMITQDwenJVsNiQ8ZdtJURA==}
cpu: [x64]
os: [linux]
+ libc: [glibc]
'@nx/nx-linux-x64-musl@22.7.5':
resolution: {integrity: sha512-H0M7csOZIgPT822LqjxSXzf4MXRND15vIkAQe3F3Jlr3Si8LC3tzbL52aVcRfgb8MF/xOB5U47mSwxWt1M2bPQ==}
cpu: [x64]
os: [linux]
+ libc: [musl]
'@nx/nx-win32-arm64-msvc@22.7.5':
resolution: {integrity: sha512-JTcZch9YAnDL1gbhqePz3DZ4x7iYemLn1yJzrjbbXAmXju2eiiJiZvJJHbV06+SP9HKXDT8RjTKuAWTdVxnHug==}
@@ -3440,14 +3063,14 @@ packages:
'@nx/vite@22.7.5':
resolution: {integrity: sha512-udKstx9fDT+Z/SacxVBJWdqDhaxee9/rA+F6nyg97PTH4JAGVuj+LZIFPakqiSg623GXMAGmK0gzAswAuWrYIQ==}
peerDependencies:
- vite: '>=6.4.2'
+ vite: ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0
vitest: ^1.3.1 || ^2.0.0 || ^3.0.0 || ^4.0.0
'@nx/vitest@22.7.5':
resolution: {integrity: sha512-+E/IOIpzKbIfnTugx5vk9nDRw9tJEPIdNguYusSrzyZ6UNxiLBO9ipamNKiXw/4lPCtGH2TGx6M9nBQDUg/ciQ==}
peerDependencies:
'@nx/eslint': 22.7.5
- vite: '>=6.4.2'
+ vite: ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0
vitest: ^1.0.0 || ^2.0.0 || ^3.0.0 || ^4.0.0
peerDependenciesMeta:
'@nx/eslint':
@@ -3549,48 +3172,56 @@ packages:
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [linux]
+ libc: [glibc]
'@oxc-parser/binding-linux-arm64-musl@0.121.0':
resolution: {integrity: sha512-qT663J/W8yQFw3dtscbEi9LKJevr20V7uWs2MPGTnvNZ3rm8anhhE16gXGpxDOHeg9raySaSHKhd4IGa3YZvuw==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [linux]
+ libc: [musl]
'@oxc-parser/binding-linux-ppc64-gnu@0.121.0':
resolution: {integrity: sha512-mYNe4NhVvDBbPkAP8JaVS8lC1dsoJZWH5WCjpw5E+sjhk1R08wt3NnXYUzum7tIiWPfgQxbCMcoxgeemFASbRw==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [ppc64]
os: [linux]
+ libc: [glibc]
'@oxc-parser/binding-linux-riscv64-gnu@0.121.0':
resolution: {integrity: sha512-+QiFoGxhAbaI/amqX567784cDyyuZIpinBrJNxUzb+/L2aBRX67mN6Jv40pqduHf15yYByI+K5gUEygCuv0z9w==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [riscv64]
os: [linux]
+ libc: [glibc]
'@oxc-parser/binding-linux-riscv64-musl@0.121.0':
resolution: {integrity: sha512-9ykEgyTa5JD/Uhv2sttbKnCfl2PieUfOjyxJC/oDL2UO0qtXOtjPLl7H8Kaj5G7p3hIvFgu3YWvAxvE0sqY+hQ==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [riscv64]
os: [linux]
+ libc: [musl]
'@oxc-parser/binding-linux-s390x-gnu@0.121.0':
resolution: {integrity: sha512-DB1EW5VHZdc1lIRjOI3bW/wV6R6y0xlfvdVrqj6kKi7Ayu2U3UqUBdq9KviVkcUGd5Oq+dROqvUEEFRXGAM7EQ==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [s390x]
os: [linux]
+ libc: [glibc]
'@oxc-parser/binding-linux-x64-gnu@0.121.0':
resolution: {integrity: sha512-s4lfobX9p4kPTclvMiH3gcQUd88VlnkMTF6n2MTMDAyX5FPNRhhRSFZK05Ykhf8Zy5NibV4PbGR6DnK7FGNN6A==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64]
os: [linux]
+ libc: [glibc]
'@oxc-parser/binding-linux-x64-musl@0.121.0':
resolution: {integrity: sha512-P9KlyTpuBuMi3NRGpJO8MicuGZfOoqZVRP1WjOecwx8yk4L/+mrCRNc5egSi0byhuReblBF2oVoDSMgV9Bj4Hw==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64]
os: [linux]
+ libc: [musl]
'@oxc-parser/binding-openharmony-arm64@0.121.0':
resolution: {integrity: sha512-R+4jrWOfF2OAPPhj3Eb3U5CaKNAH9/btMveMULIrcNW/hjfysFQlF8wE0GaVBr81dWz8JLgQlsxwctoL78JwXw==}
@@ -3673,41 +3304,49 @@ packages:
resolution: {integrity: sha512-VBZZ/5uYiFs+09h1royv78GAEPPy5Bsro53hPWMlJL/E9pPibaj3fCzZEAnrKSzVpvwf7+QSc5w7ZUrX3xAKpg==}
cpu: [arm64]
os: [linux]
+ libc: [glibc]
'@oxc-resolver/binding-linux-arm64-musl@11.6.2':
resolution: {integrity: sha512-x+LooeNXy3hhvDT7q29jLjh914OYX9YnrQbGT3ogep5EY/LLbUiG3LV8XSrWRqXD5132gea9SOYxmcpF9i6xTQ==}
cpu: [arm64]
os: [linux]
+ libc: [musl]
'@oxc-resolver/binding-linux-ppc64-gnu@11.6.2':
resolution: {integrity: sha512-+CluEbUpAaKvcNREZtUUiunqzo5o0/qp+6xoFkbDAwNhWIw1mtWCg1Di++Fa053Cah/Rx+dRMQteANoMBGCxxg==}
cpu: [ppc64]
os: [linux]
+ libc: [glibc]
'@oxc-resolver/binding-linux-riscv64-gnu@11.6.2':
resolution: {integrity: sha512-OKWK/QvC6gECaeCNjfhuj0yiqMIisS0ewCRAmgT2pyxDwkNWgSm2wli+Tj/gpLjua2HjFDnDEcg0/dOoO6+xQg==}
cpu: [riscv64]
os: [linux]
+ libc: [glibc]
'@oxc-resolver/binding-linux-riscv64-musl@11.6.2':
resolution: {integrity: sha512-YtQ3hLvhVzan3boR44C0qu/jiTanaBAL9uTqs/S2tzOLfpO2PoTDbQDgADvOqYJDTJkOGiofJC2E1lJcRmpbXQ==}
cpu: [riscv64]
os: [linux]
+ libc: [musl]
'@oxc-resolver/binding-linux-s390x-gnu@11.6.2':
resolution: {integrity: sha512-pcX/ih9QHrEWliiXJdZoX/bnfOlr5E0eOWSG2ew5U1HntGket/1AcdcA4UH3MQU/TrOLxxiKhGzeZv+fwewmmA==}
cpu: [s390x]
os: [linux]
+ libc: [glibc]
'@oxc-resolver/binding-linux-x64-gnu@11.6.2':
resolution: {integrity: sha512-LFYSgeYW11u4cQXzgIGthqCRAoLvl0IqbIMGeJLVt1tD7yrpTukfQynMzwP3vuTK5hmWgYc7NfK6G5+Zv/75hw==}
cpu: [x64]
os: [linux]
+ libc: [glibc]
'@oxc-resolver/binding-linux-x64-musl@11.6.2':
resolution: {integrity: sha512-IE13zwhg+XX9FVQHADbIe6RB2MgQeqyKdGyH67meGPgqCbLqT41K9qAm0k2uDlSswjLK8nhNe5Z+hhopBKzRRg==}
cpu: [x64]
os: [linux]
+ libc: [musl]
'@oxc-resolver/binding-wasm32-wasi@11.6.2':
resolution: {integrity: sha512-6nNW/wOKrptS9Rebf83aHvIsIiNcXOEWwUmhMR/4MHrH07zbcptBoZQcWO6362B9Y2lMN7dIF9v7brQcNDs63A==}
@@ -3758,36 +3397,42 @@ packages:
engines: {node: '>= 10.0.0'}
cpu: [arm]
os: [linux]
+ libc: [glibc]
'@parcel/watcher-linux-arm-musl@2.5.6':
resolution: {integrity: sha512-Ve3gUCG57nuUUSyjBq/MAM0CzArtuIOxsBdQ+ftz6ho8n7s1i9E1Nmk/xmP323r2YL0SONs1EuwqBp2u1k5fxg==}
engines: {node: '>= 10.0.0'}
cpu: [arm]
os: [linux]
+ libc: [musl]
'@parcel/watcher-linux-arm64-glibc@2.5.6':
resolution: {integrity: sha512-f2g/DT3NhGPdBmMWYoxixqYr3v/UXcmLOYy16Bx0TM20Tchduwr4EaCbmxh1321TABqPGDpS8D/ggOTaljijOA==}
engines: {node: '>= 10.0.0'}
cpu: [arm64]
os: [linux]
+ libc: [glibc]
'@parcel/watcher-linux-arm64-musl@2.5.6':
resolution: {integrity: sha512-qb6naMDGlbCwdhLj6hgoVKJl2odL34z2sqkC7Z6kzir8b5W65WYDpLB6R06KabvZdgoHI/zxke4b3zR0wAbDTA==}
engines: {node: '>= 10.0.0'}
cpu: [arm64]
os: [linux]
+ libc: [musl]
'@parcel/watcher-linux-x64-glibc@2.5.6':
resolution: {integrity: sha512-kbT5wvNQlx7NaGjzPFu8nVIW1rWqV780O7ZtkjuWaPUgpv2NMFpjYERVi0UYj1msZNyCzGlaCWEtzc+exjMGbQ==}
engines: {node: '>= 10.0.0'}
cpu: [x64]
os: [linux]
+ libc: [glibc]
'@parcel/watcher-linux-x64-musl@2.5.6':
resolution: {integrity: sha512-1JRFeC+h7RdXwldHzTsmdtYR/Ku8SylLgTU/reMuqdVD7CtLwf0VR1FqeprZ0eHQkO0vqsbvFLXUmYm/uNKJBg==}
engines: {node: '>= 10.0.0'}
cpu: [x64]
os: [linux]
+ libc: [musl]
'@parcel/watcher-wasm@2.5.6':
resolution: {integrity: sha512-byAiBZ1t3tXQvc8dMD/eoyE7lTXYorhn+6uVW5AC+JGI1KtJC/LvDche5cfUE+qiefH+Ybq0bUCJU0aB1cSHUA==}
@@ -3949,60 +3594,70 @@ packages:
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [linux]
+ libc: [glibc]
'@rolldown/binding-linux-arm64-gnu@1.0.2':
resolution: {integrity: sha512-1jn6qDU5iiOgFgygDzKUuKP0maTi0/f1+sBLgvij/76C77Nm3ts6ufz9Bjg5q5dduxiUIxtq86JIoBvo1xQ4Ig==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [linux]
+ libc: [glibc]
'@rolldown/binding-linux-arm64-musl@1.0.0-rc.4':
resolution: {integrity: sha512-lU+6rgXXViO61B4EudxtVMXSOfiZONR29Sys5VGSetUY7X8mg9FCKIIjcPPj8xNDeYzKl+H8F/qSKOBVFJChCQ==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [linux]
+ libc: [musl]
'@rolldown/binding-linux-arm64-musl@1.0.2':
resolution: {integrity: sha512-QVLO/czFMdoMFSqlX3bcswcJNm/23r+qoa/jgtmFc/qEp6/jXmIkDjF/XIo8dPfGaiwy1xfQn8o77L79GeXFgw==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [linux]
+ libc: [musl]
'@rolldown/binding-linux-ppc64-gnu@1.0.2':
resolution: {integrity: sha512-hgO5Abm0w5UL6FEa2iFnZqo2KlK7TQ5QhV5x09hujBf7t5KzHQ1VmfPuTpqRy/rNlSxua3eWH374xxiVrP+lcA==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [ppc64]
os: [linux]
+ libc: [glibc]
'@rolldown/binding-linux-s390x-gnu@1.0.2':
resolution: {integrity: sha512-fy8rXxuYEu602abC8MUNaPjYLIFzReOaEIEMKMUa0rFEUxNpVXhs15KSSQ4qlqSaM7B6rcj9rDZgADh/IGDzLQ==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [s390x]
os: [linux]
+ libc: [glibc]
'@rolldown/binding-linux-x64-gnu@1.0.0-rc.4':
resolution: {integrity: sha512-DZaN1f0PGp/bSvKhtw50pPsnln4T13ycDq1FrDWRiHmWt1JeW+UtYg9touPFf8yt993p8tS2QjybpzKNTxYEwg==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64]
os: [linux]
+ libc: [glibc]
'@rolldown/binding-linux-x64-gnu@1.0.2':
resolution: {integrity: sha512-0+bOkiQ779+r1WpoHOWHqncvyySci0vKph+myNDYb+im6meJAzHQXay6oEgnkHuUGouM1LKTZwqKpBow6Kj7CQ==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64]
os: [linux]
+ libc: [glibc]
'@rolldown/binding-linux-x64-musl@1.0.0-rc.4':
resolution: {integrity: sha512-RnGxwZLN7fhMMAItnD6dZ7lvy+TI7ba+2V54UF4dhaWa/p8I/ys1E73KO6HmPmgz92ZkfD8TXS1IMV8+uhbR9g==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64]
os: [linux]
+ libc: [musl]
'@rolldown/binding-linux-x64-musl@1.0.2':
resolution: {integrity: sha512-mjSkrzZK5Qsl0a9d1JgILOiuZOSDTVdKENcSXBoqbzSrspLR/4/IRVDo5wd2GgZjNss/viBFJdeq+j7qH2nypw==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64]
os: [linux]
+ libc: [musl]
'@rolldown/binding-openharmony-arm64@1.0.0-rc.4':
resolution: {integrity: sha512-6lcI79+X8klGiGd8yHuTgQRjuuJYNggmEml+RsyN596P23l/zf9FVmJ7K0KVKkFAeYEdg0iMUKyIxiV5vebDNQ==}
@@ -4060,7 +3715,7 @@ packages:
resolution: {integrity: sha512-tPCzJOtS7uuVZd+xPhoy5W4vThe6KWXNmsFCNktaAh5RTqcLiSfT4huPQIXkgJ6YCOjJHvecOAzQxLFhPxKr+g==}
engines: {node: '>=20.19.0'}
peerDependencies:
- rollup: '>=4.59.0'
+ rollup: '>=4.0.0'
peerDependenciesMeta:
rollup:
optional: true
@@ -4071,7 +3726,7 @@ packages:
peerDependencies:
'@babel/core': ^7.0.0
'@types/babel__core': ^7.1.9
- rollup: '>=4.59.0'
+ rollup: ^1.20.0||^2.0.0
peerDependenciesMeta:
'@types/babel__core':
optional: true
@@ -4080,7 +3735,7 @@ packages:
resolution: {integrity: sha512-S/ggWH1LU7jTyi9DxZOKyxpVd4hF/OZ0JrEbeLjXk/DFXwRny0tjD2c992zOUYQobLrVkRVMDdmHP16HKP7GRg==}
engines: {node: '>=16.0.0 || 14 >= 14.17'}
peerDependencies:
- rollup: '>=4.59.0'
+ rollup: ^2.68.0||^3.0.0||^4.0.0
peerDependenciesMeta:
rollup:
optional: true
@@ -4089,7 +3744,7 @@ packages:
resolution: {integrity: sha512-2+DEJbNBoPROPkgTDNe8/1YXWcqxbN5DTjASVIOx8HS+pITXushyNiBV56RB08zuptzz8gT3YfkqriTBVycepg==}
engines: {node: '>=14.0.0'}
peerDependencies:
- rollup: '>=4.59.0'
+ rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
peerDependenciesMeta:
rollup:
optional: true
@@ -4098,7 +3753,7 @@ packages:
resolution: {integrity: sha512-EGI2te5ENk1coGeADSIwZ7G2Q8CJS2sF120T7jLw4xFw9n7wIOXHo+kIYRAoVpJAN+kmqZSoO3Fp4JtoNF4ReA==}
engines: {node: '>=14.0.0'}
peerDependencies:
- rollup: '>=4.59.0'
+ rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
peerDependenciesMeta:
rollup:
optional: true
@@ -4107,7 +3762,7 @@ packages:
resolution: {integrity: sha512-tgg6b91pAybXHJQMAAwW9VuWBO6Thi+q7BCNARLwSqlmsHz0XYURtGvh/AuwSADXSI4h/2uHbs7s4FzlZDGSGA==}
engines: {node: '>=14.0.0'}
peerDependencies:
- rollup: '>=4.59.0'
+ rollup: ^2.78.0||^3.0.0||^4.0.0
peerDependenciesMeta:
rollup:
optional: true
@@ -4116,7 +3771,7 @@ packages:
resolution: {integrity: sha512-lUYM3UBGuM93CnMPG1YocWu7X802BrNF3jW2zny5gQyLQgRFJhV1Sq0Zi74+dh/6NBx1DxFC4b4GXg9wUCG5Qg==}
engines: {node: '>=14.0.0'}
peerDependencies:
- rollup: '>=4.59.0'
+ rollup: ^2.78.0||^3.0.0||^4.0.0
peerDependenciesMeta:
rollup:
optional: true
@@ -4124,13 +3779,13 @@ packages:
'@rollup/plugin-replace@2.4.2':
resolution: {integrity: sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==}
peerDependencies:
- rollup: '>=4.59.0'
+ rollup: ^1.20.0 || ^2.0.0
'@rollup/plugin-replace@6.0.3':
resolution: {integrity: sha512-J4RZarRvQAm5IF0/LwUUg+obsm+xZhYnbMXmXROyoSE1ATJe3oXSb9L5MMppdxP2ylNSjv6zFBwKYjcKMucVfA==}
engines: {node: '>=14.0.0'}
peerDependencies:
- rollup: '>=4.59.0'
+ rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
peerDependenciesMeta:
rollup:
optional: true
@@ -4139,7 +3794,7 @@ packages:
resolution: {integrity: sha512-XHeJC5Bgvs8LfukDwWZp7yeqin6ns8RTl2B9avbejt6tZqsqvVoWI7ZTQrcNsfKEDWBTnTxM8nMDkO2IFFbd0A==}
engines: {node: '>=14.0.0'}
peerDependencies:
- rollup: '>=4.59.0'
+ rollup: ^2.0.0||^3.0.0||^4.0.0
peerDependenciesMeta:
rollup:
optional: true
@@ -4148,7 +3803,7 @@ packages:
resolution: {integrity: sha512-FnCxhTBx6bMOYQrar6C8h3scPt8/JwIzw3+AJ2K++6guogH5fYaIFia+zZuhqv0eo1RN7W1Pz630SyvLbDjhtQ==}
engines: {node: '>=20.0.0'}
peerDependencies:
- rollup: '>=4.59.0'
+ rollup: ^2.0.0||^3.0.0||^4.0.0
peerDependenciesMeta:
rollup:
optional: true
@@ -4157,13 +3812,13 @@ packages:
resolution: {integrity: sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==}
engines: {node: '>= 8.0.0'}
peerDependencies:
- rollup: '>=4.59.0'
+ rollup: ^1.20.0||^2.0.0
'@rollup/pluginutils@5.3.0':
resolution: {integrity: sha512-5EdhGZtnu3V88ces7s53hhfK5KSASnJZv8Lulpc04cWO3REESroJXg73DFsOmgbU2BhwV0E20bu2IDZb3VKW4Q==}
engines: {node: '>=14.0.0'}
peerDependencies:
- rollup: '>=4.59.0'
+ rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
peerDependenciesMeta:
rollup:
optional: true
@@ -4202,66 +3857,79 @@ packages:
resolution: {integrity: sha512-DV6fJoxEYWJOvaZIsok7KrYl0tPvga5OZ2yvKHNNYyk/2roMLqQAbGhr78EQ5YhHpnhLKJD3S1WFusAkmUuV5g==}
cpu: [arm]
os: [linux]
+ libc: [glibc]
'@rollup/rollup-linux-arm-musleabihf@4.60.3':
resolution: {integrity: sha512-mQKoJAzvuOs6F+TZybQO4GOTSMUu7v0WdxEk24krQ/uUxXoPTtHjuaUuPmFhtBcM4K0ons8nrE3JyhTuCFtT/w==}
cpu: [arm]
os: [linux]
+ libc: [musl]
'@rollup/rollup-linux-arm64-gnu@4.60.3':
resolution: {integrity: sha512-Whjj2qoiJ6+OOJMGptTYazaJvjOJm+iKHpXQM1P3LzGjt7Ff++Tp7nH4N8J/BUA7R9IHfDyx4DJIflifwnbmIA==}
cpu: [arm64]
os: [linux]
+ libc: [glibc]
'@rollup/rollup-linux-arm64-musl@4.60.3':
resolution: {integrity: sha512-4YTNHKqGng5+yiZt3mg77nmyuCfmNfX4fPmyUapBcIk+BdwSwmCWGXOUxhXbBEkFHtoN5boLj/5NON+u5QC9tg==}
cpu: [arm64]
os: [linux]
+ libc: [musl]
'@rollup/rollup-linux-loong64-gnu@4.60.3':
resolution: {integrity: sha512-SU3kNlhkpI4UqlUc2VXPGK9o886ZsSeGfMAX2ba2b8DKmMXq4AL7KUrkSWVbb7koVqx41Yczx6dx5PNargIrEA==}
cpu: [loong64]
os: [linux]
+ libc: [glibc]
'@rollup/rollup-linux-loong64-musl@4.60.3':
resolution: {integrity: sha512-6lDLl5h4TXpB1mTf2rQWnAk/LcXrx9vBfu/DT5TIPhvMhRWaZ5MxkIc8u4lJAmBo6klTe1ywXIUHFjylW505sg==}
cpu: [loong64]
os: [linux]
+ libc: [musl]
'@rollup/rollup-linux-ppc64-gnu@4.60.3':
resolution: {integrity: sha512-BMo8bOw8evlup/8G+cj5xWtPyp93xPdyoSN16Zy90Q2QZ0ZYRhCt6ZJSwbrRzG9HApFabjwj2p25TUPDWrhzqQ==}
cpu: [ppc64]
os: [linux]
+ libc: [glibc]
'@rollup/rollup-linux-ppc64-musl@4.60.3':
resolution: {integrity: sha512-E0L8X1dZN1/Rph+5VPF6Xj2G7JJvMACVXtamTJIDrVI44Y3K+G8gQaMEAavbqCGTa16InptiVrX6eM6pmJ+7qA==}
cpu: [ppc64]
os: [linux]
+ libc: [musl]
'@rollup/rollup-linux-riscv64-gnu@4.60.3':
resolution: {integrity: sha512-oZJ/WHaVfHUiRAtmTAeo3DcevNsVvH8mbvodjZy7D5QKvCefO371SiKRpxoDcCxB3PTRTLayWBkvmDQKTcX/sw==}
cpu: [riscv64]
os: [linux]
+ libc: [glibc]
'@rollup/rollup-linux-riscv64-musl@4.60.3':
resolution: {integrity: sha512-Dhbyh7j9FybM3YaTgaHmVALwA8AkUwTPccyCQ79TG9AJUsMQqgN1DDEZNr4+QUfwiWvLDumW5vdwzoeUF+TNxQ==}
cpu: [riscv64]
os: [linux]
+ libc: [musl]
'@rollup/rollup-linux-s390x-gnu@4.60.3':
resolution: {integrity: sha512-cJd1X5XhHHlltkaypz1UcWLA8AcoIi1aWhsvaWDskD1oz2eKCypnqvTQ8ykMNI0RSmm7NkTdSqSSD7zM0xa6Ig==}
cpu: [s390x]
os: [linux]
+ libc: [glibc]
'@rollup/rollup-linux-x64-gnu@4.60.3':
resolution: {integrity: sha512-DAZDBHQfG2oQuhY7mc6I3/qB4LU2fQCjRvxbDwd/Jdvb9fypP4IJ4qmtu6lNjes6B531AI8cg1aKC2di97bUxA==}
cpu: [x64]
os: [linux]
+ libc: [glibc]
'@rollup/rollup-linux-x64-musl@4.60.3':
resolution: {integrity: sha512-cRxsE8c13mZOh3vP+wLDxpQBRrOHDIGOWyDL93Sy0Ga8y515fBcC2pjUfFwUe5T7tqvTvWbCpg1URM/AXdWIXA==}
cpu: [x64]
os: [linux]
+ libc: [musl]
'@rollup/rollup-openbsd-x64@4.60.3':
resolution: {integrity: sha512-QaWcIgRxqEdQdhJqW4DJctsH6HCmo5vHxY0krHSX4jMtOqfzC+dqDGuHM87bu4H8JBeibWx7jFz+h6/4C8wA5Q==}
@@ -4307,21 +3975,25 @@ packages:
resolution: {integrity: sha512-fvZX6xZPvBT8qipSpvkKMX5M7yd2BSpZNCZXcefw6gA3uC7LI3gu+er0LrDXY1PtPzVuHTyDx+abwWpagV3PiQ==}
cpu: [arm64]
os: [linux]
+ libc: [glibc]
'@rspack/binding-linux-arm64-musl@1.6.8':
resolution: {integrity: sha512-++XMKcMNrt59HcFBLnRaJcn70k3X0GwkAegZBVpel8xYIAgvoXT5+L8P1ExId/yTFxqedaz8DbcxQnNmMozviw==}
cpu: [arm64]
os: [linux]
+ libc: [musl]
'@rspack/binding-linux-x64-gnu@1.6.8':
resolution: {integrity: sha512-tv3BWkTE1TndfX+DsE1rSTg8fBevCxujNZ3MlfZ22Wfy9x1FMXTJlWG8VIOXmaaJ1wUHzv8S7cE2YUUJ2LuiCg==}
cpu: [x64]
os: [linux]
+ libc: [glibc]
'@rspack/binding-linux-x64-musl@1.6.8':
resolution: {integrity: sha512-DCGgZ5/in1O3FjHWqXnDsncRy+48cMhfuUAAUyl0yDj1NpsZu9pP+xfGLvGcQTiYrVl7IH9Aojf1eShP/77WGA==}
cpu: [x64]
os: [linux]
+ libc: [musl]
'@rspack/binding-wasm32-wasi@1.6.8':
resolution: {integrity: sha512-VUwdhl/lI4m6o1OGCZ9JwtMjTV/yLY5VZTQdEPKb40JMTlmZ5MBlr5xk7ByaXXYHr6I+qnqEm73iMKQvg6iknw==}
@@ -4494,36 +4166,42 @@ packages:
engines: {node: '>=10'}
cpu: [arm64]
os: [linux]
+ libc: [glibc]
'@swc/core-linux-arm64-musl@1.15.40':
resolution: {integrity: sha512-4z0MgHU+7M0pZDqBN1El7mFXDI1SBwinfcUkAyA4v8QrhOIUOZltySt2aStQLZGrdXVXM4Y4ylfiTC04ED+MoQ==}
engines: {node: '>=10'}
cpu: [arm64]
os: [linux]
+ libc: [musl]
'@swc/core-linux-ppc64-gnu@1.15.40':
resolution: {integrity: sha512-fLI4iUgeSZu0eRWUXwe6YzPFx9gHbFiPkl8Rp3mJfP8OpNR3nTQCGPvHdDh9xniW7mVvgMY4ni7A4VzqI1KrpA==}
engines: {node: '>=10'}
cpu: [ppc64]
os: [linux]
+ libc: [glibc]
'@swc/core-linux-s390x-gnu@1.15.40':
resolution: {integrity: sha512-YqeKMAb7d4nQSGMJQ454IlaCENpzcDqhvBE9+CPfdnYpnUXxd+BSrB6Xk0YjW8UyoEhUj4p6quATCxbsp6J3jg==}
engines: {node: '>=10'}
cpu: [s390x]
os: [linux]
+ libc: [glibc]
'@swc/core-linux-x64-gnu@1.15.40':
resolution: {integrity: sha512-7HOuS1iGcme/j/TuL1TfmmLGiMQrjv/GmjyZeydl00FKPtpGXEldwqfI56xgd1YzrzoB2svWjxbGGyQ0TEASxg==}
engines: {node: '>=10'}
cpu: [x64]
os: [linux]
+ libc: [glibc]
'@swc/core-linux-x64-musl@1.15.40':
resolution: {integrity: sha512-h4kZYHc7dpc9P9u4brRJaS8Pl7tPVHAeiLSzw7T5RfIJgAoSdaCMKzI/2Uay9gFhaw8uyCDl0L5q37r0EpAfIA==}
engines: {node: '>=10'}
cpu: [x64]
os: [linux]
+ libc: [musl]
'@swc/core-win32-arm64-msvc@1.15.40':
resolution: {integrity: sha512-+mQgKZXSj6mV38Zh05QaxSjUDmGP/R2JWlXZTDLSPkDzHU6p3GxN9eeSf5dfyDVU86946fmCvSzyl/ucImx8+A==}
@@ -4599,24 +4277,28 @@ packages:
engines: {node: '>= 20'}
cpu: [arm64]
os: [linux]
+ libc: [glibc]
'@tailwindcss/oxide-linux-arm64-musl@4.3.0':
resolution: {integrity: sha512-Z6sukiQsngnWO+l39X4pPbiWT81IC+PLKF+PHxIlyZbGNb9MODfYlXEVlFvej5BOZInWX01kVyzeLvHsXhfczQ==}
engines: {node: '>= 20'}
cpu: [arm64]
os: [linux]
+ libc: [musl]
'@tailwindcss/oxide-linux-x64-gnu@4.3.0':
resolution: {integrity: sha512-DRNdQRpSGzRGfARVuVkxvM8Q12nh19l4BF/G7zGA1oe+9wcC6saFBHTISrpIcKzhiXtSrlSrluCfvMuledoCTQ==}
engines: {node: '>= 20'}
cpu: [x64]
os: [linux]
+ libc: [glibc]
'@tailwindcss/oxide-linux-x64-musl@4.3.0':
resolution: {integrity: sha512-Z0IADbDo8bh6I7h2IQMx601AdXBLfFpEdUotft86evd/8ZPflZe9COPO8Q1vw+pfLWIUo9zN/JGZvwuAJqduqg==}
engines: {node: '>= 20'}
cpu: [x64]
os: [linux]
+ libc: [musl]
'@tailwindcss/oxide-wasm32-wasi@4.3.0':
resolution: {integrity: sha512-HNZGOUxEmElksYR7S6sC5jTeNGpobAsy9u7Gu0AskJ8/20FR9GqebUyB+HBcU/ax6BHuiuJi+Oda4B+YX6H1yA==}
@@ -4898,6 +4580,9 @@ packages:
'@types/mime@1.3.5':
resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==}
+ '@types/node-forge@1.3.14':
+ resolution: {integrity: sha512-mhVF2BnD4BO+jtOp7z1CdzaK4mbuK0LLQYAvdOLqHTavxFNq4zA1EmYkpnFjP8HOUzedfQkRnp0E2ulSAYSzAw==}
+
'@types/node@25.6.2':
resolution: {integrity: sha512-sokuT28dxf9JT5Kady1fsXOvI4HVpjZa95NKT5y9PNTIrs2AsobR4GFAA90ZG8M+nxVRLysCXsVj6eGC7Vbrlw==}
@@ -5103,41 +4788,49 @@ packages:
resolution: {integrity: sha512-34gw7PjDGB9JgePJEmhEqBhWvCiiWCuXsL9hYphDF7crW7UgI05gyBAi6MF58uGcMOiOqSJ2ybEeCvHcq0BCmQ==}
cpu: [arm64]
os: [linux]
+ libc: [glibc]
'@unrs/resolver-binding-linux-arm64-musl@1.11.1':
resolution: {integrity: sha512-RyMIx6Uf53hhOtJDIamSbTskA99sPHS96wxVE/bJtePJJtpdKGXO1wY90oRdXuYOGOTuqjT8ACccMc4K6QmT3w==}
cpu: [arm64]
os: [linux]
+ libc: [musl]
'@unrs/resolver-binding-linux-ppc64-gnu@1.11.1':
resolution: {integrity: sha512-D8Vae74A4/a+mZH0FbOkFJL9DSK2R6TFPC9M+jCWYia/q2einCubX10pecpDiTmkJVUH+y8K3BZClycD8nCShA==}
cpu: [ppc64]
os: [linux]
+ libc: [glibc]
'@unrs/resolver-binding-linux-riscv64-gnu@1.11.1':
resolution: {integrity: sha512-frxL4OrzOWVVsOc96+V3aqTIQl1O2TjgExV4EKgRY09AJ9leZpEg8Ak9phadbuX0BA4k8U5qtvMSQQGGmaJqcQ==}
cpu: [riscv64]
os: [linux]
+ libc: [glibc]
'@unrs/resolver-binding-linux-riscv64-musl@1.11.1':
resolution: {integrity: sha512-mJ5vuDaIZ+l/acv01sHoXfpnyrNKOk/3aDoEdLO/Xtn9HuZlDD6jKxHlkN8ZhWyLJsRBxfv9GYM2utQ1SChKew==}
cpu: [riscv64]
os: [linux]
+ libc: [musl]
'@unrs/resolver-binding-linux-s390x-gnu@1.11.1':
resolution: {integrity: sha512-kELo8ebBVtb9sA7rMe1Cph4QHreByhaZ2QEADd9NzIQsYNQpt9UkM9iqr2lhGr5afh885d/cB5QeTXSbZHTYPg==}
cpu: [s390x]
os: [linux]
+ libc: [glibc]
'@unrs/resolver-binding-linux-x64-gnu@1.11.1':
resolution: {integrity: sha512-C3ZAHugKgovV5YvAMsxhq0gtXuwESUKc5MhEtjBpLoHPLYM+iuwSj3lflFwK3DPm68660rZ7G8BMcwSro7hD5w==}
cpu: [x64]
os: [linux]
+ libc: [glibc]
'@unrs/resolver-binding-linux-x64-musl@1.11.1':
resolution: {integrity: sha512-rV0YSoyhK2nZ4vEswT/QwqzqQXw5I6CjoaYMOX0TqBlWhojUf8P94mvI7nuJTeaCkkds3QE4+zS8Ko+GdXuZtA==}
cpu: [x64]
os: [linux]
+ libc: [musl]
'@unrs/resolver-binding-wasm32-wasi@1.11.1':
resolution: {integrity: sha512-5u4RkfxJm+Ng7IWgkzi3qrFOvLvQYnPBmjmZQ8+szTK/b31fQCnleNl1GgEt7nIsZRIf5PLhPwT0WM+q45x/UQ==}
@@ -5167,17 +4860,11 @@ packages:
engines: {node: '>=20'}
hasBin: true
- '@vitejs/plugin-basic-ssl@2.0.0':
- resolution: {integrity: sha512-gc9Tjg8bUxBVSTzeWT3Njc0Cl3PakHFKdNfABnZWiUgbxqmHDEn7uECv3fHVylxoYgNzAcmU7ZrILz+BwSo3sA==}
- engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0}
- peerDependencies:
- vite: '>=6.4.2'
-
'@vitejs/plugin-basic-ssl@2.1.4':
resolution: {integrity: sha512-HXciTXN/sDBYWgeAD4V4s0DN0g72x5mlxQhHxtYu3Tt8BLa6MzcJZUyDVFCdtjNs3bfENVHVzOsmooTVuNgAAw==}
engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0}
peerDependencies:
- vite: '>=6.4.2'
+ vite: ^6.0.0 || ^7.0.0
'@vitest/coverage-v8@4.1.7':
resolution: {integrity: sha512-qsYPeXc5Q9dFLd1i8Ap+Bx8sQgcp+rFVQo4R0dDsWNBzl26ldVF1qOO+RL24K7FDrR6pA+50XedRLSoSG24bVQ==}
@@ -5195,7 +4882,7 @@ packages:
resolution: {integrity: sha512-vY7nuamKgfvpA1Koa3oYIw/k7D6kZnpGyNMZW8loow2bsBYla1TFdqTaXncWdRn4pgwNs+90RhnXhJScDwQeJA==}
peerDependencies:
msw: ^2.4.9
- vite: '>=6.4.2'
+ vite: ^6.0.0 || ^7.0.0 || ^8.0.0
peerDependenciesMeta:
msw:
optional: true
@@ -5334,10 +5021,6 @@ packages:
resolution: {integrity: sha512-XNAb/a6TCqou+TufU8/u11HCu9x1gYvOoxLwtlXgIqmkrYQADVv6ljyW2zwiPhHz9R1gItAWpuDrdJMmrOBFEA==}
engines: {node: '>= 16.0.0'}
- adjust-sourcemap-loader@4.0.0:
- resolution: {integrity: sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A==}
- engines: {node: '>=8.9'}
-
adm-zip@0.5.10:
resolution: {integrity: sha512-x0HvcHqVJNTPk/Bw8JbLWlWoo6Wwnsug0fnYYro1HBrjxZ3G7/AZk7Ahv8JwDe1uIcz8eBqvu86FuF1POiG7vQ==}
engines: {node: '>=6.0'}
@@ -5353,7 +5036,7 @@ packages:
ajv-formats@2.1.1:
resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==}
peerDependencies:
- ajv: '>=8.18.0'
+ ajv: ^8.0.0
peerDependenciesMeta:
ajv:
optional: true
@@ -5361,7 +5044,7 @@ packages:
ajv-formats@3.0.1:
resolution: {integrity: sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==}
peerDependencies:
- ajv: '>=8.18.0'
+ ajv: ^8.0.0
peerDependenciesMeta:
ajv:
optional: true
@@ -5374,11 +5057,14 @@ packages:
ajv-keywords@5.1.0:
resolution: {integrity: sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==}
peerDependencies:
- ajv: '>=8.18.0'
+ ajv: ^8.8.2
ajv@6.14.0:
resolution: {integrity: sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==}
+ ajv@8.18.0:
+ resolution: {integrity: sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==}
+
ajv@8.20.0:
resolution: {integrity: sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA==}
@@ -5501,13 +5187,6 @@ packages:
resolution: {integrity: sha512-ooviqdwwgfIfNmDwo94wlshcdzfO64XV0Cg6oDsDYBJfITDz1EngD2z7DkbvCWn+XIMsIqW27sEVF6qcpJrRcg==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
- autoprefixer@10.4.21:
- resolution: {integrity: sha512-O+A6LWV5LDHSJD3LjHYoNi4VLsj/Whi7k6zG12xTYaU4cQ8oxQGckXNX8cRHK5yOZ/ppVHe0ZBXGzSV9jXdVbQ==}
- engines: {node: ^10 || ^12 || >=14}
- hasBin: true
- peerDependencies:
- postcss: ^8.1.0
-
autoprefixer@10.5.0:
resolution: {integrity: sha512-FMhOoZV4+qR6aTUALKX2rEqGG+oyATvwBt9IIzVR5rMa2HRWPkxf+P+PAJLD1I/H5/II+HuZcBJYEFBpq39ong==}
engines: {node: ^10 || ^12 || >=14}
@@ -5540,19 +5219,12 @@ packages:
peerDependencies:
'@babel/core': ^7.11.0
- babel-loader@10.0.0:
- resolution: {integrity: sha512-z8jt+EdS61AMw22nSfoNJAZ0vrtmhPRVi6ghL3rCeRZI8cdNYFiV5xeV3HbE7rlZZNmGH8BVccwWt8/ED0QOHA==}
- engines: {node: ^18.20.0 || ^20.10.0 || >=22.0.0}
- peerDependencies:
- '@babel/core': ^7.12.0
- webpack: '>=5.104.1'
-
babel-loader@9.2.1:
resolution: {integrity: sha512-fqe8naHt46e0yIdkjUZYqddSXfej3AHajX+CSO5X7oy0EmPc6o5Xh+RClNoHjnieWz9AW4kZxW9yyFMhVB1QLA==}
engines: {node: '>= 14.15.0'}
peerDependencies:
'@babel/core': ^7.12.0
- webpack: '>=5.104.1'
+ webpack: '>=5'
babel-plugin-const-enum@1.2.0:
resolution: {integrity: sha512-o1m/6iyyFnp9MRsK1dHF3bneqyf3AlM2q3A/YbgQr2pCat6B6XJVDv2TXqzfY2RYUi4mak6WAksSBPlyYGx9dg==}
@@ -5678,10 +5350,6 @@ packages:
batch@0.6.1:
resolution: {integrity: sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==}
- beasties@0.3.4:
- resolution: {integrity: sha512-NmzN1zN1cvGccXFyZ73335+ASXwBlVWcUPssiUDIlFdfyatHPRRufjCd5w8oPaQPvVnf9ELklaCGb1gi9FBwIw==}
- engines: {node: '>=14.0.0'}
-
beasties@0.4.1:
resolution: {integrity: sha512-2Imdcw3LznDuxAbJM26RHniOLAzE6WgrK8OuvVXCQtNBS8rsnD9zsSEa3fHl4hHpUY7BYTlrpvtPVbvu9G6neg==}
engines: {node: '>=18.0.0'}
@@ -5719,9 +5387,8 @@ packages:
brace-expansion@1.1.12:
resolution: {integrity: sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==}
- brace-expansion@5.0.5:
- resolution: {integrity: sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==}
- engines: {node: 18 || 20 || >=22}
+ brace-expansion@2.1.1:
+ resolution: {integrity: sha512-WR1cURNjuvBLMZBMbqM0UoE+WAfdUcEV1ccD8PVBVOI+Z3ND4+SZbN8RsfT2bMuG1qwz5RFvPukSZm5fF2D5eA==}
brace-expansion@5.0.6:
resolution: {integrity: sha512-kLpxurY4Z4r9sgMsyG0Z9uzsBlgiU/EFKhj/h91/8yHu0edo7XuixOIH3VcJ8kkxs6/jPzoI6U9Vj3WqbMQ94g==}
@@ -5913,10 +5580,6 @@ packages:
resolution: {integrity: sha512-bXfOC4QcT1tKXGorxL3wbJm6XJPDqEnij2gQ2m7ESQuE+/z9YFIWnl/5RpTiKWbMq3EVKR4fRLJGn6DVfu0mpw==}
engines: {node: '>=18.20'}
- cli-truncate@4.0.0:
- resolution: {integrity: sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==}
- engines: {node: '>=18'}
-
cli-truncate@5.2.0:
resolution: {integrity: sha512-xRwvIOMGrfOAnM1JYtqQImuaNtDEv9v6oIYAs4LIHwTiKee8uwvIi363igssOC0O5U04i4AlENs79LQLu9tEMw==}
engines: {node: '>=20'}
@@ -5929,9 +5592,6 @@ packages:
resolution: {integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==}
engines: {node: '>= 12'}
- clipboard@2.0.11:
- resolution: {integrity: sha512-C+0bbOqkezLIsmWSvlsXS0Q0bmkugu7jcfMIACB+RDEntIzQIkdr148we28AfSloQLRdZlYL/QYyrq05j/3Faw==}
-
cliui@8.0.1:
resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==}
engines: {node: '>=12'}
@@ -6122,17 +5782,11 @@ packages:
copy-anything@2.0.6:
resolution: {integrity: sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==}
- copy-webpack-plugin@13.0.0:
- resolution: {integrity: sha512-FgR/h5a6hzJqATDGd9YG41SeDViH+0bkHn6WNXCi5zKAZkeESeSxLySSsFLHqLEVCh0E+rITmCf0dusXWYukeQ==}
- engines: {node: '>= 18.12.0'}
- peerDependencies:
- webpack: '>=5.104.1'
-
copy-webpack-plugin@14.0.0:
resolution: {integrity: sha512-3JLW90aBGeaTLpM7mYQKpnVdgsUZRExY55giiZgLuX/xTQRUs1dOCwbBnWnvY6Q6rfZoXMNwzOQJCSZPppfqXA==}
engines: {node: '>= 20.9.0'}
peerDependencies:
- webpack: '>=5.104.1'
+ webpack: ^5.1.0
core-js-compat@3.49.0:
resolution: {integrity: sha512-VQXt1jr9cBz03b331DFDCCP90b3fanciLkgiOoy8SBHy06gNf+vQ1A3WFLqG7I8TipYIKeYK9wxd0tUrvHcOZA==}
@@ -6226,19 +5880,7 @@ packages:
engines: {node: '>= 12.13.0'}
peerDependencies:
'@rspack/core': 0.x || 1.x
- webpack: '>=5.104.1'
- peerDependenciesMeta:
- '@rspack/core':
- optional: true
- webpack:
- optional: true
-
- css-loader@7.1.2:
- resolution: {integrity: sha512-6WvYYn7l/XEGN8Xu2vWFt9nVzrCn39vKyTEFf/ExEyoksJjjSZV/0/35XPlMbpnr6VGhZIUg5yJrL8tGfes/FA==}
- engines: {node: '>= 18.12.0'}
- peerDependencies:
- '@rspack/core': 0.x || 1.x
- webpack: '>=5.104.1'
+ webpack: ^5.0.0
peerDependenciesMeta:
'@rspack/core':
optional: true
@@ -6255,7 +5897,7 @@ packages:
csso: '*'
esbuild: '*'
lightningcss: '*'
- webpack: '>=5.104.1'
+ webpack: ^5.0.0
peerDependenciesMeta:
'@parcel/css':
optional: true
@@ -6617,9 +6259,6 @@ packages:
resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==}
engines: {node: '>=0.4.0'}
- delegate@3.2.0:
- resolution: {integrity: sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw==}
-
delegates@1.0.0:
resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==}
@@ -6754,9 +6393,6 @@ packages:
emoji-regex@9.2.2:
resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==}
- emoji-toolkit@9.0.1:
- resolution: {integrity: sha512-sMMNqKNLVHXJfIKoPbrRJwtYuysVNC9GlKetr72zE3SSVbHqoeDLWVrxP0uM0AE0qvdl3hbUk+tJhhwXZrDHaw==}
-
emojis-list@3.0.0:
resolution: {integrity: sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==}
engines: {node: '>= 4'}
@@ -6849,16 +6485,6 @@ packages:
es-toolkit@1.46.1:
resolution: {integrity: sha512-5eNtXOs3tbfxXOj04tjjseeWkRWaoCjdEI+96DgwzZoe6c9juL49pXlzAFTI72aWC9Y8p7168g6XIKjh7k6pyQ==}
- esbuild-wasm@0.25.5:
- resolution: {integrity: sha512-V/rbdOws2gDcnCAECfPrajhuafI0WY4WumUgc8ZHwOLnvmM0doLQ+dqvVFI2qkVxQsvo6880aC9IjpyDqcwwTw==}
- engines: {node: '>=18'}
- hasBin: true
-
- esbuild@0.25.5:
- resolution: {integrity: sha512-P8OtKZRv/5J5hhz0cUAdu/cLuPIKXpQl1R9pZtvmHWQvrAUVd0UNIPT4IB4W3rNOqVO0rlqHmCIbSwxh/c9yUQ==}
- engines: {node: '>=18'}
- hasBin: true
-
esbuild@0.27.3:
resolution: {integrity: sha512-8VwMnyGCONIs6cWue2IdpHxHnAjzxnw2Zr7MkVxB2vjmQ2ivqGFb4LEG3SMnv0Gb2F/G/2yA8zUaiL1gywDCCg==}
engines: {node: '>=18'}
@@ -7083,7 +6709,7 @@ packages:
resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==}
engines: {node: '>=12.0.0'}
peerDependencies:
- picomatch: '>=4.0.4'
+ picomatch: ^3 || ^4
peerDependenciesMeta:
picomatch:
optional: true
@@ -7178,7 +6804,7 @@ packages:
engines: {node: '>=14.21.3'}
peerDependencies:
typescript: '>3.6.0'
- webpack: '>=5.104.1'
+ webpack: ^5.11.0
form-data@4.0.5:
resolution: {integrity: sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==}
@@ -7188,9 +6814,6 @@ packages:
resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==}
engines: {node: '>= 0.6'}
- fraction.js@4.3.7:
- resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==}
-
fraction.js@5.3.4:
resolution: {integrity: sha512-1X1NTtiJphryn/uLQz3whtY6jK3fTqoE3ohKs0tT+Ujr1W59oopxmoEh7Lu5p6vBaPbgoM0bzveAW4Qi5RyWDQ==}
@@ -7368,9 +6991,6 @@ packages:
globrex@0.1.2:
resolution: {integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==}
- good-listener@1.2.2:
- resolution: {integrity: sha512-goW1b+d9q/HIwbVYZzZ6SsTr4IgE+WA44A0GmPIQstuOrgsFcT7VEJ48nmr9GaRtNu0XTKacFLGnBPAM6Afouw==}
-
gopd@1.2.0:
resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==}
engines: {node: '>= 0.4'}
@@ -7651,8 +7271,12 @@ packages:
resolution: {integrity: sha512-HuEDBTI70aYdx1v6U97SbNx9F1+svQKBDo30o0b9fw055LMepzpOOd0Ccg9Q6tbqmBSJaMuY0fB7yw9/vjBYCA==}
engines: {node: '>=12.22.0'}
- ip-address@10.2.0:
- resolution: {integrity: sha512-/+S6j4E9AHvW9SWMSEY9Xfy66O5PWvVEJ08O0y5JGyEKQpojb0K0GKpz/v5HJ/G0vi3D2sjGK78119oXZeE0qA==}
+ ip-address@10.0.1:
+ resolution: {integrity: sha512-NWv9YLW4PoW2B7xtzaS3NCot75m6nK7Icdv0o3lfMceJVRfSoQwqD4wEH5rLwoKJwUiZ/rfpiVBhnaF0FK4HoA==}
+ engines: {node: '>= 12'}
+
+ ip-address@9.0.5:
+ resolution: {integrity: sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==}
engines: {node: '>= 12'}
ip-regex@4.3.0:
@@ -7731,10 +7355,6 @@ packages:
resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
engines: {node: '>=8'}
- is-fullwidth-code-point@4.0.0:
- resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==}
- engines: {node: '>=12'}
-
is-fullwidth-code-point@5.1.0:
resolution: {integrity: sha512-5XHYaSyiqADb4RnZ1Bdad6cPp8Toise4TzEjcOYDHZkTCbKgiUl7WTUCpNWHuxmDt91wnsZBc9xinNzopv3JMQ==}
engines: {node: '>=18'}
@@ -7869,10 +7489,6 @@ packages:
resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==}
engines: {node: '>=10'}
- is-unicode-supported@1.3.0:
- resolution: {integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==}
- engines: {node: '>=12'}
-
is-unicode-supported@2.1.0:
resolution: {integrity: sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==}
engines: {node: '>=18'}
@@ -7931,7 +7547,7 @@ packages:
isomorphic-ws@5.0.0:
resolution: {integrity: sha512-muId7Zzn9ywDsyXgTIafTry2sV3nySZeUDe6YedVd1Hvuuep5AsIlqK+XefWpYTyJG5e503F2xIuT2lcU6rCSw==}
peerDependencies:
- ws: '>=8.20.1'
+ ws: '*'
istanbul-lib-coverage@3.2.2:
resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==}
@@ -8080,10 +7696,6 @@ packages:
resolution: {integrity: sha512-DrCKkaQwHexjRUFTmPzs7sHQe0TSj9nvDALKGdwmK5mW9v7j90BudWirKAJHt3QQ9Dhrg1F7DogPzhChppkJpQ==}
engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
- jiti@1.21.7:
- resolution: {integrity: sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==}
- hasBin: true
-
jiti@2.4.2:
resolution: {integrity: sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==}
hasBin: true
@@ -8112,6 +7724,9 @@ packages:
resolution: {integrity: sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==}
hasBin: true
+ jsbn@1.1.0:
+ resolution: {integrity: sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==}
+
jsdom@29.1.1:
resolution: {integrity: sha512-ECi4Fi2f7BdJtUKTflYRTiaMxIB0O6zfR1fX0GXpUrf6flp8QIYn1UT20YQqdSOfk2dfkCwS8LAFoJDEppNK5Q==}
engines: {node: ^20.19.0 || ^22.13.0 || >=24.0.0}
@@ -8181,9 +7796,6 @@ packages:
resolution: {integrity: sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==}
engines: {node: '>=0.10.0'}
- karma-source-map-support@1.4.0:
- resolution: {integrity: sha512-RsBECncGO17KAoJCYXjv+ckIz+Ii9NCi+9enk+rq6XC81ezYkb4/RHE6CTXdA7IOJqoF3wcaLfVG0CPmE5ca6A==}
-
katex@0.16.45:
resolution: {integrity: sha512-pQpZbdBu7wCTmQUh7ufPmLr0pFoObnGUoL/yhtwJDgmmQpbkg/0HSVti25Fu4rmd1oCR6NGWe9vqTWuWv3GcNA==}
hasBin: true
@@ -8220,8 +7832,8 @@ packages:
koa-compose@4.1.0:
resolution: {integrity: sha512-8ODW8TrDuMYvXRwra/Kh7/rJo9BtOfPc6qO8eAfC80CnCvSjSl0bkRM24X6/XBBEyj0v1nRUQ1LyOy3dbqOWXw==}
- koa@3.2.0:
- resolution: {integrity: sha512-TrM4/tnNY7uJ1aW55sIIa+dqBvc4V14WRIAlGcWat9wV5pRS9Wr5Zk2ZTjQP1jtfIHDoHiSbPuV08P0fUZo2pg==}
+ koa@3.0.3:
+ resolution: {integrity: sha512-MeuwbCoN1daWS32/Ni5qkzmrOtQO2qrnfdxDHjrm6s4b59yG4nexAJ0pTEFyzjLp0pBVO80CZp0vW8Ze30Ebow==}
engines: {node: '>= 18'}
launch-editor@2.13.2:
@@ -8243,7 +7855,7 @@ packages:
peerDependencies:
'@rspack/core': 0.x || 1.x
less: ^3.5.0 || ^4.0.0
- webpack: '>=5.104.1'
+ webpack: ^5.0.0
peerDependenciesMeta:
'@rspack/core':
optional: true
@@ -8306,24 +7918,28 @@ packages:
engines: {node: '>= 12.0.0'}
cpu: [arm64]
os: [linux]
+ libc: [glibc]
lightningcss-linux-arm64-musl@1.32.0:
resolution: {integrity: sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==}
engines: {node: '>= 12.0.0'}
cpu: [arm64]
os: [linux]
+ libc: [musl]
lightningcss-linux-x64-gnu@1.32.0:
resolution: {integrity: sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==}
engines: {node: '>= 12.0.0'}
cpu: [x64]
os: [linux]
+ libc: [glibc]
lightningcss-linux-x64-musl@1.32.0:
resolution: {integrity: sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==}
engines: {node: '>= 12.0.0'}
cpu: [x64]
os: [linux]
+ libc: [musl]
lightningcss-win32-arm64-msvc@1.32.0:
resolution: {integrity: sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==}
@@ -8365,18 +7981,10 @@ packages:
resolution: {integrity: sha512-7I5knELsJKTUjXG+A6BkKAiGkW1i25fNa/xlUl9hFtk15WbE9jndA89xu5FzQKrY5llajE1hfZZFMILXkDHk/Q==}
engines: {node: '>=22.13.0'}
- listr2@8.3.3:
- resolution: {integrity: sha512-LWzX2KsqcB1wqQ4AHgYb4RsDXauQiqhjLk+6hjbaeHG4zpjjVAB6wC/gz6X0l+Du1cN3pUB5ZlrvTbhGSNnUQQ==}
- engines: {node: '>=18.0.0'}
-
listr2@9.0.5:
resolution: {integrity: sha512-ME4Fb83LgEgwNw96RKNvKV4VTLuXfoKudAmm2lP8Kk87KaMK0/Xrx/aAkMWmT8mDb+3MlFDspfbCs7adjRxA2g==}
engines: {node: '>=20.0.0'}
- lmdb@3.3.0:
- resolution: {integrity: sha512-MgJocUI6QEiSXQBFWLeyo1R7eQj8Rke5dlPxX0KFwli8/bsCxpM/KbXO5y0qmV/5llQ3wpneDWcTYxa+4vn8iQ==}
- hasBin: true
-
lmdb@3.5.1:
resolution: {integrity: sha512-NYHA0MRPjvNX+vSw8Xxg6FLKxzAG+e7Pt8RqAQA/EehzHVXq9SxDqJIN3JL1hK0dweb884y8kIh6rkWvPyg9Wg==}
hasBin: true
@@ -8389,10 +7997,6 @@ packages:
resolution: {integrity: sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==}
engines: {node: '>=8.9.0'}
- loader-utils@3.3.1:
- resolution: {integrity: sha512-FMJTLMXfCLMLfJxcX9PFqX5qD88Z5MRGaZCVzfuqeZSPsyiBzs+pahDQjbIWz2QIzPZz0NX9Zy4FX3lmK6YHIg==}
- engines: {node: '>= 12.13.0'}
-
local-pkg@1.1.2:
resolution: {integrity: sha512-arhlxbFRmoQHl33a0Zkle/YWlmNwoyt6QNZEIJcqNbdrsix5Lvc4HyyI3EnwxTYlZYc32EbYrQ8SzEZ7dqgg9A==}
engines: {node: '>=14'}
@@ -8440,10 +8044,6 @@ packages:
resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==}
engines: {node: '>=10'}
- log-symbols@6.0.0:
- resolution: {integrity: sha512-i24m8rpwhmPIS4zscNzK6MSEhk0DUWa/8iYQWxhffV8jkI4Phvs3F+quL5xvS0gdQR0FyTCMMH33Y78dDTzzIw==}
- engines: {node: '>=18'}
-
log-symbols@7.0.1:
resolution: {integrity: sha512-ja1E3yCr9i/0hmBVaM0bfwDjnGy8I/s6PP4DFp+yP+a+mrHO4Rm7DtmnqROTUkHIkqffC84YY7AeqX6oFk0WFg==}
engines: {node: '>=18'}
@@ -8484,9 +8084,6 @@ packages:
magic-string@0.25.9:
resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==}
- magic-string@0.30.17:
- resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==}
-
magic-string@0.30.21:
resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==}
@@ -8653,21 +8250,11 @@ packages:
resolution: {integrity: sha512-euWmddf0sk9Nv1O0gfeeUAvAkoSlWncNLF77C0TP2+WoPvy8mAHKOzMajcCz2dzvyt3CNgxb1obIEVFIRxaipg==}
engines: {node: '>= 12.13.0'}
peerDependencies:
- webpack: '>=5.104.1'
-
- mini-css-extract-plugin@2.9.2:
- resolution: {integrity: sha512-GJuACcS//jtq4kCtd5ii/M0SZf7OZRH+BxdqXZHaJfb8TJiVl+NgQRPwiYt2EuqeSkNydn/7vP+bcE27C5mb9w==}
- engines: {node: '>= 12.13.0'}
- peerDependencies:
- webpack: '>=5.104.1'
+ webpack: ^5.0.0
minimalistic-assert@1.0.1:
resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==}
- minimatch@10.2.4:
- resolution: {integrity: sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==}
- engines: {node: 18 || 20 || >=22}
-
minimatch@10.2.5:
resolution: {integrity: sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==}
engines: {node: 18 || 20 || >=22}
@@ -8679,6 +8266,10 @@ packages:
resolution: {integrity: sha512-7o1wEA2RyMP7Iu7GNba9vc0RWWGACJOCZBJX2GJWip0ikV+wcOsgVuY9uE8CPiyQhkGFSlhuSkZPavN7u1c2Fw==}
engines: {node: '>=10'}
+ minimatch@9.0.9:
+ resolution: {integrity: sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==}
+ engines: {node: '>=16 || 14 >=14.17'}
+
minimist@1.2.8:
resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
@@ -8884,10 +8475,6 @@ packages:
resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
engines: {node: '>=0.10.0'}
- normalize-range@0.1.2:
- resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==}
- engines: {node: '>=0.10.0'}
-
npm-bundled@5.0.0:
resolution: {integrity: sha512-JLSpbzh6UUXIEoqPsYBvVNVmyrjVZ1fzEFbqxKkTJQkWBO3xFzFT+KDnSKQWwOQNbuWRwt5LSD6HOTLGIWzfrw==}
engines: {node: ^20.17.0 || >=22.9.0}
@@ -9009,10 +8596,6 @@ packages:
resolution: {integrity: sha512-zAKMgGXUim0Jyd6CXK9lraBnD3H5yPGBPPOkC23a2BG6hsm4Zu6OQSjQuEtV0BHDf4aKHcUFvJiGRrFuW3MG8g==}
engines: {node: '>=10'}
- ora@8.2.0:
- resolution: {integrity: sha512-weP+BZ8MVNnlCm8c0Qdc1WSWq4Qn7I+9CJGm7Qali6g44e/PUzbjNqJX5NJ9ljlNMosfJvg1fKEGILklK9cwnw==}
- engines: {node: '>=18'}
-
ora@9.3.0:
resolution: {integrity: sha512-lBX72MWFduWEf7v7uWf5DHp9Jn5BI8bNPGuFgtXMmr2uDz2Gz2749y3am3agSDdkhHPHYmmxEGSKH85ZLGzgXw==}
engines: {node: '>=20'}
@@ -9100,24 +8683,15 @@ packages:
parse-statements@1.0.11:
resolution: {integrity: sha512-HlsyYdMBnbPQ9Jr/VgJ1YF4scnldvJpJxCVx6KgqPL4dxppsWrJHCIIxQXMJrqGnsRkNPATbeMJ8Yxu7JMsYcA==}
- parse5-html-rewriting-stream@7.1.0:
- resolution: {integrity: sha512-2ifK6Jb+ONoqOy5f+cYHsqvx1obHQdvIk13Jmt/5ezxP0U9p+fqd+R6O73KblGswyuzBYfetmsfK9ThMgnuPPg==}
-
parse5-html-rewriting-stream@8.0.0:
resolution: {integrity: sha512-wzh11mj8KKkno1pZEu+l2EVeWsuKDfR5KNWZOTsslfUX8lPDZx77m9T0kIoAVkFtD1nx6YF8oh4BnPHvxMtNMw==}
- parse5-sax-parser@7.0.0:
- resolution: {integrity: sha512-5A+v2SNsq8T6/mG3ahcz8ZtQ0OUFTatxPbeidoMB7tkJSGDY3tdfl4MHovtLQHkEn5CGxijNWRQHhRQ6IRpXKg==}
-
parse5-sax-parser@8.0.0:
resolution: {integrity: sha512-/dQ8UzHZwnrzs3EvDj6IkKrD/jIZyTlB+8XrHJvcjNgRdmWruNdN9i9RK/JtxakmlUdPwKubKPTCqvbTgzGhrw==}
parse5@4.0.0:
resolution: {integrity: sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA==}
- parse5@7.3.0:
- resolution: {integrity: sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==}
-
parse5@8.0.1:
resolution: {integrity: sha512-z1e/HMG90obSGeidlli3hj7cbocou0/wa5HacvI3ASx34PecNjNQeaHNo5WIZpWofN9kgkqV1q5YvXe3F0FoPw==}
@@ -9184,6 +8758,10 @@ packages:
picocolors@1.1.1:
resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==}
+ picomatch@2.3.2:
+ resolution: {integrity: sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==}
+ engines: {node: '>=8.6'}
+
picomatch@4.0.4:
resolution: {integrity: sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==}
engines: {node: '>=12'}
@@ -9200,10 +8778,6 @@ packages:
resolution: {integrity: sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==}
engines: {node: '>= 6'}
- piscina@5.0.0:
- resolution: {integrity: sha512-R+arufwL7sZvGjAhSMK3TfH55YdGOqhpKXkcwQJr432AAnJX/xxX19PA4QisrmJ+BTTfZVggaz6HexbkQq1l1Q==}
- engines: {node: '>=18.x'}
-
piscina@5.1.4:
resolution: {integrity: sha512-7uU4ZnKeQq22t9AsmHGD2w4OYQGonwFnTypDypaWi7Qr2EvQIFVtG8J5D/3bE7W123Wdc9+v4CZDu5hJXVCtBg==}
engines: {node: '>=20.x'}
@@ -9298,26 +8872,13 @@ packages:
peerDependencies:
postcss: ^8.0.0
- postcss-loader@8.1.1:
- resolution: {integrity: sha512-0IeqyAsG6tYiDRCYKQJLAmgQr47DX6N7sFSWvQxt6AcupX8DIdmykuk/o/tx0Lze3ErGHJEp5OSRxrelC6+NdQ==}
- engines: {node: '>= 18.12.0'}
- peerDependencies:
- '@rspack/core': 0.x || 1.x
- postcss: ^7.0.0 || ^8.0.1
- webpack: '>=5.104.1'
- peerDependenciesMeta:
- '@rspack/core':
- optional: true
- webpack:
- optional: true
-
postcss-loader@8.2.1:
resolution: {integrity: sha512-k98jtRzthjj3f76MYTs9JTpRqV1RaaMhEU0Lpw9OTmQZQdppg4B30VZ74BojuBHt3F4KyubHJoXCMUeM8Bqeow==}
engines: {node: '>= 18.12.0'}
peerDependencies:
'@rspack/core': 0.x || ^1.0.0 || ^2.0.0-0
postcss: ^7.0.0 || ^8.0.1
- webpack: '>=5.104.1'
+ webpack: ^5.0.0
peerDependenciesMeta:
'@rspack/core':
optional: true
@@ -9492,10 +9053,6 @@ packages:
resolution: {integrity: sha512-FfR8sjd4em2T6fb3I2MwAJU7HWVMr9zba+enmQeeWFfCbm+UOC/0X4DS8XtpUTMwWMGbjKYP7xjfNekzyGmB3A==}
engines: {node: ^10 || ^12 || >=14}
- postcss@8.5.3:
- resolution: {integrity: sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==}
- engines: {node: ^10 || ^12 || >=14}
-
powershell-utils@0.1.0:
resolution: {integrity: sha512-dM0jVuXJPsDN6DvRpea484tCUaMiXWjuCn++HGTqUWzGDjv5tZkEZldAJ/UMlqRYGFrD/etByo4/xOuC/snX2A==}
engines: {node: '>=20'}
@@ -9580,6 +9137,10 @@ packages:
resolution: {integrity: sha512-KTqnxsgGiQ6ZAzZCVlJH5eOjSnvlyEgx1m8bkRJfOhmGRqfo5KLvmAlACQkrjEtOQ4B7wF9TdSLIs9O90MX9xA==}
engines: {node: '>=16.0.0'}
+ qs@6.14.2:
+ resolution: {integrity: sha512-V/yCWTTF7VJ9hIh18Ugr2zhJMP01MY7c5kh4J870L7imm6/DIzBsNLTXzMwUA3yZ5b/KBqLx8Kp3uRvd7xSe3Q==}
+ engines: {node: '>=0.6'}
+
qs@6.15.2:
resolution: {integrity: sha512-Rzq0KEyX/w/tEybncDgdkZrJgVUsUMk3xjh3t5bv3S1HTAtg+uOYt72+ZfwiQwKdysThkTBdL/rTi6HDmX9Ddw==}
engines: {node: '>=0.6'}
@@ -9596,6 +9157,9 @@ packages:
rambda@9.4.2:
resolution: {integrity: sha512-++euMfxnl7OgaEKwXh9QqThOjMeta2HH001N1v4mYQzBjJBnmXBh2BCK6dZAbICFVXOFUVD3xFG0R3ZPU0mxXw==}
+ randombytes@2.1.0:
+ resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==}
+
range-parser@1.2.1:
resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==}
engines: {node: '>= 0.6'}
@@ -9687,9 +9251,6 @@ packages:
regenerate@1.4.2:
resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==}
- regex-parser@2.3.1:
- resolution: {integrity: sha512-yXLRqatcCuKtVHsWrNg0JL3l1zGfdXeEvDa0bdu4tCDQw0RpMDZsqbkyRTUnKMR0tXF627V2oEWjBEaEdqTwtQ==}
-
regex-recursion@5.1.1:
resolution: {integrity: sha512-ae7SBCbzVNrIjgSbh7wMznPcQel1DNlDtzensnFxpiNpXt1U2ju/bHugH422r+4LAVS1FpW1YCwilmnNsjum9w==}
@@ -9737,10 +9298,6 @@ packages:
resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==}
engines: {node: '>=8'}
- resolve-url-loader@5.0.0:
- resolution: {integrity: sha512-uZtduh8/8srhBoMx//5bwqjQ+rfYOUq8zC9NrMUGtjBiGTtFJM42s58/36+hTqeqINcnYe08Nj3LkK9lW4N8Xg==}
- engines: {node: '>=12'}
-
resolve.exports@2.0.3:
resolution: {integrity: sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A==}
engines: {node: '>=10'}
@@ -9805,13 +9362,18 @@ packages:
hasBin: true
peerDependencies:
rolldown: 1.x || ^1.0.0-beta || ^1.0.0-rc
- rollup: '>=4.59.0'
+ rollup: 2.x || 3.x || 4.x
peerDependenciesMeta:
rolldown:
optional: true
rollup:
optional: true
+ rollup@2.80.0:
+ resolution: {integrity: sha512-cIFJOD1DESzpjOBl763Kp1AH7UE/0fcdHe6rZXUdQ9c50uvgigvW97u3IcSeBwOkgqL/PXPBktBCh0KEu5L8XQ==}
+ engines: {node: '>=10.0.0'}
+ hasBin: true
+
rollup@4.60.3:
resolution: {integrity: sha512-pAQK9HalE84QSm4Po3EmWIZPd3FnjkShVkiMlz1iligWYkWQ7wHYd1PF/T7QZ5TVSD6uSTon5gBVMSM4JfBV+A==}
engines: {node: '>=18.0.0', npm: '>=8.0.0'}
@@ -9991,7 +9553,7 @@ packages:
node-sass: ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0
sass: ^1.3.0
sass-embedded: '*'
- webpack: '>=5.104.1'
+ webpack: ^5.0.0
peerDependenciesMeta:
'@rspack/core':
optional: true
@@ -10004,20 +9566,11 @@ packages:
webpack:
optional: true
- sass@1.88.0:
- resolution: {integrity: sha512-sF6TWQqjFvr4JILXzG4ucGOLELkESHL+I5QJhh7CNaE+Yge0SI+ehCatsXhJ7ymU1hAFcIS3/PBpjdIbXoyVbg==}
- engines: {node: '>=14.0.0'}
- hasBin: true
-
sass@1.97.3:
resolution: {integrity: sha512-fDz1zJpd5GycprAbu4Q2PV/RprsRtKC/0z82z0JLgdytmcq0+ujJbJ/09bPGDxCLkKY3Np5cRAOcWiVkLXJURg==}
engines: {node: '>=14.0.0'}
hasBin: true
- sax@1.4.4:
- resolution: {integrity: sha512-1n3r/tGXO6b6VXMdFT54SHzT9ytu9yr7TaELowdYpMqY/Ao7EnlQGmAQ1+RatX7Tkkdm6hONI2owqNx2aZj5Sw==}
- engines: {node: '>=11.0.0'}
-
sax@1.6.0:
resolution: {integrity: sha512-6R3J5M4AcbtLUdZmRv2SygeVaM7IhrLXu9BmnOGmmACak8fiUtOsYNWUS4uK7upbmHIBbLBeFeI//477BKLBzA==}
engines: {node: '>=11.0.0'}
@@ -10053,8 +9606,9 @@ packages:
select-hose@2.0.0:
resolution: {integrity: sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==}
- select@1.1.2:
- resolution: {integrity: sha512-OwpTSOfy6xSs1+pwcNrv0RBMOzI39Lp3qQKUTPVVPRjCdNa5JH/oPRiqsesIskK8TVgmRiHwO4KXlV2Li9dANA==}
+ selfsigned@2.4.1:
+ resolution: {integrity: sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==}
+ engines: {node: '>=10'}
selfsigned@5.5.0:
resolution: {integrity: sha512-ftnu3TW4+3eBfLRFnDEkzGxSF/10BJBkaLJuBHZX0kiPS7bRdlpZGu6YGt4KngMkdTwJE6MbjavFpqHvqVt+Ew==}
@@ -10073,11 +9627,6 @@ packages:
engines: {node: '>=10'}
hasBin: true
- semver@7.7.2:
- resolution: {integrity: sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==}
- engines: {node: '>=10'}
- hasBin: true
-
semver@7.7.4:
resolution: {integrity: sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==}
engines: {node: '>=10'}
@@ -10091,6 +9640,9 @@ packages:
resolution: {integrity: sha512-uaW0WwXKpL9blXE2o0bRhoL2EGXIrZxQ2ZQ4mgcfoBxdFmQold+qWsD2jLrfZ0trjKL6vOw0j//eAwcALFjKSw==}
engines: {node: '>= 18'}
+ serialize-javascript@6.0.2:
+ resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==}
+
serialize-javascript@7.0.5:
resolution: {integrity: sha512-F4LcB0UqUl1zErq+1nYEEzSHJnIwb3AF2XWB94b+afhrekOUijwooAYqFyRbjYkm2PAKBabx6oYv/xDxNi8IBw==}
engines: {node: '>=20.0.0'}
@@ -10189,10 +9741,6 @@ packages:
resolution: {integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==}
engines: {node: '>=14.16'}
- slice-ansi@5.0.0:
- resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==}
- engines: {node: '>=12'}
-
slice-ansi@7.1.0:
resolution: {integrity: sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==}
engines: {node: '>=18'}
@@ -10239,7 +9787,7 @@ packages:
resolution: {integrity: sha512-k2Dur7CbSLcAH73sBcIkV5xjPV4SzqO1NJ7+XaQl8if3VODDUj3FNchNGpqgJSKbvUfJuhVdv8K2Eu8/TNl2eA==}
engines: {node: '>= 18.12.0'}
peerDependencies:
- webpack: '>=5.104.1'
+ webpack: ^5.72.1
source-map-support@0.5.13:
resolution: {integrity: sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==}
@@ -10254,10 +9802,6 @@ packages:
resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
engines: {node: '>=0.10.0'}
- source-map@0.7.4:
- resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==}
- engines: {node: '>= 8'}
-
source-map@0.7.6:
resolution: {integrity: sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==}
engines: {node: '>= 12'}
@@ -10296,6 +9840,9 @@ packages:
sprintf-js@1.0.3:
resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==}
+ sprintf-js@1.1.3:
+ resolution: {integrity: sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==}
+
ssri@13.0.0:
resolution: {integrity: sha512-yizwGBpbCn4YomB2lzhZqrHLJoqFGXihNbib3ozhqF/cIp5ue+xSmOQrjNasEE62hFxsCcg/V/z23t4n8jMEng==}
engines: {node: ^20.17.0 || >=22.9.0}
@@ -10324,10 +9871,6 @@ packages:
std-env@4.1.0:
resolution: {integrity: sha512-Rq7ybcX2RuC55r9oaPVEW7/xu3tj8u4GeBYHBWCychFtzMIr86A7e3PPEBPT37sHStKX3+TiX/Fr/ACmJLVlLQ==}
- stdin-discarder@0.2.2:
- resolution: {integrity: sha512-UhDfHmA92YAlNnCfhmq0VeNL5bDbiZGg7sZ2IvPsXubGkiNa9EC+tUTsjBRsYUAz87btI6/1wf4XoVvQ3uRnmQ==}
- engines: {node: '>=18'}
-
stdin-discarder@0.3.1:
resolution: {integrity: sha512-reExS1kSGoElkextOcPkel4NE99S0BWxjUHQeDFnR8S993JxpPX7KU4MNmO19NXhlJp+8dmdCbKQVNgLJh2teA==}
engines: {node: '>=18'}
@@ -10427,7 +9970,7 @@ packages:
resolution: {integrity: sha512-0WqXzrsMTyb8yjZJHDqwmnwRJvhALK9LfRtRc6B4UTWe8AijYLZYZ9thuJTZc2VfQWINADW/j+LiJnfy2RoC1w==}
engines: {node: '>= 12.13.0'}
peerDependencies:
- webpack: '>=5.104.1'
+ webpack: ^5.0.0
stylehacks@7.0.8:
resolution: {integrity: sha512-I3f053GBLIiS5Fg6OMFhq/c+yW+5Hc2+1fgq7gElDMMSqwlRb3tBf2ef6ucLStYRpId4q//bQO1FjcyNyy4yDQ==}
@@ -10438,11 +9981,6 @@ packages:
stylis@4.4.0:
resolution: {integrity: sha512-5Z9ZpRzfuH6l/UAvCPAPUo3665Nk2wLaZU3x+TLHKVzIz33+sbJqbtrYoC3KD4/uVOr2Zp+L0LySezP9OHV9yA==}
- stylus@0.64.0:
- resolution: {integrity: sha512-ZIdT8eUv8tegmqy1tTIdJv9We2DumkNZFdCF5mz/Kpq3OcTaxSuCAYZge6HKK2CmNC02G1eJig2RV7XTw5hQrA==}
- engines: {node: '>=16'}
- hasBin: true
-
supports-color@10.2.2:
resolution: {integrity: sha512-SS+jx45GF1QjgEXQx4NJZV9ImqmO2NPz5FNsIHrsDjh2YsHnawpan7SNQ1o8NuhrbHZy9AZhIoCUiCeaW/C80g==}
engines: {node: '>=18'}
@@ -10530,7 +10068,7 @@ packages:
'@swc/core': '*'
esbuild: '*'
uglify-js: '*'
- webpack: '>=5.104.1'
+ webpack: ^5.1.0
peerDependenciesMeta:
'@swc/core':
optional: true
@@ -10539,11 +10077,6 @@ packages:
uglify-js:
optional: true
- terser@5.39.1:
- resolution: {integrity: sha512-Mm6+uad0ZuDtcV8/4uOZQDQ8RuiC5Pu+iZRedJtF7yA/27sPL7d++In/AJKpWZlU3SYMPPkVfwetn6sgZ66pUA==}
- engines: {node: '>=10'}
- hasBin: true
-
terser@5.47.1:
resolution: {integrity: sha512-tPbLXTI6ohPASb/1YViL428oEHu6/qv1OxqYnfaonVCFHqx4+wCd95pHrQWsL5X4pl90CTyW9piSAsS2L0VoMw==}
engines: {node: '>=10'}
@@ -10565,9 +10098,6 @@ packages:
thunky@1.1.0:
resolution: {integrity: sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==}
- tiny-emitter@2.1.0:
- resolution: {integrity: sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==}
-
tinybench@2.9.0:
resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==}
@@ -10583,10 +10113,6 @@ packages:
resolution: {integrity: sha512-M/Q0B2cp4K7kynaT/vnED1j8TlLY+Pp7C6Wl2bl/7u/F0mUVwdyOpwomQb8JpYLitHUssAJRmLZdMCGsrx7i+g==}
engines: {node: '>=18'}
- tinyglobby@0.2.13:
- resolution: {integrity: sha512-mEwzpUgrLySlveBwEVDMKk5B57bhLPYovRfPAXD5gA/98Opn0rCDj3GtLwFvCvH5RK9uPCExUROW5NjDwvqkxw==}
- engines: {node: '>=12.0.0'}
-
tinyglobby@0.2.15:
resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==}
engines: {node: '>=12.0.0'}
@@ -10677,7 +10203,7 @@ packages:
engines: {node: '>=12.0.0'}
peerDependencies:
typescript: '*'
- webpack: '>=5.104.1'
+ webpack: ^5.0.0
ts-morph@21.0.1:
resolution: {integrity: sha512-dbDtVdEAncKctzrVZ+Nr7kHpHkv+0JDJb2MjjpBaj8bFeCkePU9rHfMklmhuLFnpeq/EJZk2IhStY6NzqgjOkg==}
@@ -11027,8 +10553,9 @@ packages:
resolution: {integrity: sha512-vIYxrBCC/N/K+Js3qSN88go7kIfNPssr/hHCesKCQNAjmgvYS2oqr69kIufEG+O4+PfezOH4EbIeHCfFov8ZgQ==}
hasBin: true
- uuid@14.0.0:
- resolution: {integrity: sha512-Qo+uWgilfSmAhXCMav1uYFynlQO7fMFiMVZsQqZRMIXp0O7rR7qjkj+cPvBHLgBqi960QCoo/PH2/6ZtVqKvrg==}
+ uuid@8.3.2:
+ resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==}
+ deprecated: uuid@10 and below is no longer supported. For ESM codebases, update to uuid@latest. For CommonJS codebases, use uuid@11 (but be aware this version will likely be deprecated in 2028).
hasBin: true
v8-compile-cache-lib@3.0.1:
@@ -11063,7 +10590,7 @@ packages:
engines: {node: '>=16.0.0'}
peerDependencies:
'@vite-pwa/assets-generator': ^1.0.0
- vite: '>=6.4.2'
+ vite: ^3.1.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0
workbox-build: ^7.4.1
workbox-window: ^7.4.1
peerDependenciesMeta:
@@ -11073,7 +10600,7 @@ packages:
vite-tsconfig-paths@6.1.1:
resolution: {integrity: sha512-2cihq7zliibCCZ8P9cKJrQBkfgdvcFkOOc3Y02o3GWUDLgqjWsZudaoiuOwO/gzTzy17cS5F7ZPo4bsnS4DGkg==}
peerDependencies:
- vite: '>=6.4.2'
+ vite: '*'
vite@7.3.2:
resolution: {integrity: sha512-Bby3NOsna2jsjfLVOHKes8sGwgl4TT0E6vvpYgnAYDIF/tie7MRaFthmKuHx1NSXjiTueXH3do80FMQgvEktRg==}
@@ -11090,7 +10617,7 @@ packages:
sugarss: ^5.0.0
terser: ^5.16.0
tsx: ^4.8.1
- yaml: '>=2.8.3'
+ yaml: ^2.4.2
peerDependenciesMeta:
'@types/node':
optional: true
@@ -11131,7 +10658,7 @@ packages:
sugarss: ^5.0.0
terser: ^5.16.0
tsx: ^4.8.1
- yaml: '>=2.8.3'
+ yaml: ^2.4.2
peerDependenciesMeta:
'@types/node':
optional: true
@@ -11161,7 +10688,7 @@ packages:
vitefu@1.1.3:
resolution: {integrity: sha512-ub4okH7Z5KLjb6hDyjqrGXqWtWvoYdU3IGm/NorpgHncKoLTCfRIbvlhBm7r0YstIaQRYlp4yEbFqDcKSzXSSg==}
peerDependencies:
- vite: '>=6.4.2'
+ vite: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0
peerDependenciesMeta:
vite:
optional: true
@@ -11182,7 +10709,7 @@ packages:
'@vitest/ui': 4.1.7
happy-dom: '*'
jsdom: '*'
- vite: '>=6.4.2'
+ vite: ^6.0.0 || ^7.0.0 || ^8.0.0
peerDependenciesMeta:
'@edge-runtime/vm':
optional: true
@@ -11214,10 +10741,6 @@ packages:
walker@1.0.8:
resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==}
- watchpack@2.4.2:
- resolution: {integrity: sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==}
- engines: {node: '>=10.13.0'}
-
watchpack@2.5.1:
resolution: {integrity: sha512-Zn5uXdcFNIA1+1Ei5McRd+iRzfhENPCe7LeABkJtNulSxjma+l7ltNx55BWZkRlwRnpOgHqxnjyaDgJnNXnqzg==}
engines: {node: '>=10.13.0'}
@@ -11245,17 +10768,30 @@ packages:
resolution: {integrity: sha512-xOO8n6eggxnwYpy1NlzUKpvrjfJTvae5/D6WOK0S2LSo7vjmo5gCM1DbLUmFqrMTJP+W/0YZNctm7jasWvLuBA==}
engines: {node: '>= 18.12.0'}
peerDependencies:
- webpack: '>=5.104.1'
+ webpack: ^5.0.0
+ peerDependenciesMeta:
+ webpack:
+ optional: true
+
+ webpack-dev-server@5.2.2:
+ resolution: {integrity: sha512-QcQ72gh8a+7JO63TAx/6XZf/CWhgMzu5m0QirvPfGvptOusAxG12w2+aua1Jkjr7hzaWDnJ2n6JFeexMHI+Zjg==}
+ engines: {node: '>= 18.12.0'}
+ hasBin: true
+ peerDependencies:
+ webpack: ^5.0.0
+ webpack-cli: '*'
peerDependenciesMeta:
webpack:
optional: true
+ webpack-cli:
+ optional: true
webpack-dev-server@5.2.4:
resolution: {integrity: sha512-GqDPGZN9bRqKBTkp4aWkobDDHMsrXKoGSdOH56smIri8qR0JG8gfL8/v/f/OZR3/OKXjG8uwJbFVhKm/FNU/UA==}
engines: {node: '>= 18.12.0'}
hasBin: true
peerDependencies:
- webpack: '>=5.104.1'
+ webpack: ^5.0.0
webpack-cli: '*'
peerDependenciesMeta:
webpack:
@@ -11267,10 +10803,6 @@ packages:
resolution: {integrity: sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==}
engines: {node: '>=10.0.0'}
- webpack-merge@6.0.1:
- resolution: {integrity: sha512-hXXvrjtx2PLYx4qruKl+kyRSLc52V+cCvMxRjmKwoA+CBbbF5GfIBtR6kCvl0fYGqTUPKB+1ktVmTHqMOzgCBg==}
- engines: {node: '>=18.0.0'}
-
webpack-node-externals@3.0.0:
resolution: {integrity: sha512-LnL6Z3GGDPht/AigwRh2dvL9PQPFQ8skEpVrWZXLWBYmqcaojHNN0onvHzie6rq7EWKrrBfPYqNEzTJgiwEQDQ==}
engines: {node: '>=6'}
@@ -11284,7 +10816,7 @@ packages:
engines: {node: '>= 12'}
peerDependencies:
html-webpack-plugin: '>= 5.0.0-beta.1 < 6'
- webpack: '>=5.104.1'
+ webpack: ^5.12.0
peerDependenciesMeta:
html-webpack-plugin:
optional: true
@@ -11451,6 +10983,18 @@ packages:
resolution: {integrity: sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==}
engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ ws@8.18.0:
+ resolution: {integrity: sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==}
+ engines: {node: '>=10.0.0'}
+ peerDependencies:
+ bufferutil: ^4.0.1
+ utf-8-validate: '>=5.0.2'
+ peerDependenciesMeta:
+ bufferutil:
+ optional: true
+ utf-8-validate:
+ optional: true
+
ws@8.21.0:
resolution: {integrity: sha512-Vsp28b7DRcimFQvrqu2Wek3z1iYxDCWqHYB8Qsnk/S4RfaCQzPGPyBNuVjJV3cd6UiKtUtp6sNM77gWvzcCH+g==}
engines: {node: '>=10.0.0'}
@@ -11500,8 +11044,8 @@ packages:
resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==}
engines: {node: '>= 6'}
- yaml@2.8.3:
- resolution: {integrity: sha512-AvbaCLOO2Otw/lW5bmh9d/WEdcDFdQp2Z2ZUH3pX9U2ihyUY0nvLv7J6TrWowklRGPYbB/IuIMfYgxaCPg5Bpg==}
+ yaml@2.9.0:
+ resolution: {integrity: sha512-2AvhNX3mb8zd6Zy7INTtSpl1F15HW6Wnqj0srWlkKLcpYl/gMIMJiyuGq2KeI2YFxUPjdlB+3Lc10seMLtL4cA==}
engines: {node: '>= 14.6'}
hasBin: true
@@ -11570,9 +11114,6 @@ packages:
snapshots:
- '@adobe/css-tools@4.3.3':
- optional: true
-
'@alcalzone/ansi-tokenize@0.3.0':
dependencies:
ansi-styles: 6.2.3
@@ -11686,20 +11227,20 @@ snapshots:
optionalDependencies:
'@nx/devkit': 22.7.5(nx@22.7.5(@swc-node/register@1.11.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@swc/core@1.15.40(@swc/helpers@0.5.23))(@swc/types@0.1.26)(typescript@6.0.3))(@swc/core@1.15.40(@swc/helpers@0.5.23)))
- '@analogjs/platform@2.5.2(c7005acc3ff391161f8eee26147d6b0f)':
+ '@analogjs/platform@2.5.2(214c067b1ad14b65b0579c4233c0049e)':
dependencies:
- '@analogjs/vite-plugin-angular': 2.5.2(@angular-devkit/build-angular@20.0.0(5051dee4ea0f423ab526f197e92d0945))(@angular/build@21.2.13(317a9c63e2a22ee97b948b5b731d9e1c))(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(vite@8.0.14(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(less@4.3.0)(sass-embedded@1.89.0)(sass@1.97.3)(stylus@0.64.0)(terser@5.47.1)(yaml@2.8.3))
+ '@analogjs/vite-plugin-angular': 2.5.2(@angular/build@21.2.13(2fc71c60e1ba34e5381d5136307f56c3))(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(vite@8.0.14(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(less@4.3.0)(sass-embedded@1.89.0)(sass@1.97.3)(terser@5.47.1)(yaml@2.9.0))
'@analogjs/vite-plugin-nitro': 2.5.2(encoding@0.1.13)(oxc-parser@0.121.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0))(rolldown@1.0.2)
marked: 18.0.4
marked-gfm-heading-id: 4.1.4(marked@18.0.4)
marked-mangle: 1.1.13(marked@18.0.4)
nitropack: 2.13.4(encoding@0.1.13)(oxc-parser@0.121.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0))(rolldown@1.0.2)
- vite: 8.0.14(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(less@4.3.0)(sass-embedded@1.89.0)(sass@1.97.3)(stylus@0.64.0)(terser@5.47.1)(yaml@2.8.3)
- vitefu: 1.1.3(vite@8.0.14(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(less@4.3.0)(sass-embedded@1.89.0)(sass@1.97.3)(stylus@0.64.0)(terser@5.47.1)(yaml@2.8.3))
+ vite: 8.0.14(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(less@4.3.0)(sass-embedded@1.89.0)(sass@1.97.3)(terser@5.47.1)(yaml@2.9.0)
+ vitefu: 1.1.3(vite@8.0.14(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(less@4.3.0)(sass-embedded@1.89.0)(sass@1.97.3)(terser@5.47.1)(yaml@2.9.0))
optionalDependencies:
- '@nx/angular': 22.7.5(9d93e046e8af5178c45b7fe7b3d6e447)
+ '@nx/angular': 22.7.5(8deabd555917c9e594b192212ae17a3a)
'@nx/devkit': 22.7.5(nx@22.7.5(@swc-node/register@1.11.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@swc/core@1.15.40(@swc/helpers@0.5.23))(@swc/types@0.1.26)(typescript@6.0.3))(@swc/core@1.15.40(@swc/helpers@0.5.23)))
- '@nx/vite': 22.7.5(@babel/traverse@7.29.0)(@nx/eslint@22.7.5(c15c711dce428ed17b010739ba5fa2de))(@swc-node/register@1.11.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@swc/core@1.15.40(@swc/helpers@0.5.23))(@swc/types@0.1.26)(typescript@6.0.3))(@swc/core@1.15.40(@swc/helpers@0.5.23))(nx@22.7.5(@swc-node/register@1.11.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@swc/core@1.15.40(@swc/helpers@0.5.23))(@swc/types@0.1.26)(typescript@6.0.3))(@swc/core@1.15.40(@swc/helpers@0.5.23)))(typescript@6.0.3)(vite@8.0.14(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(less@4.3.0)(sass-embedded@1.89.0)(sass@1.97.3)(stylus@0.64.0)(terser@5.47.1)(yaml@2.8.3))(vitest@4.1.7)
+ '@nx/vite': 22.7.5(@babel/traverse@7.29.0)(@nx/eslint@22.7.5(c15c711dce428ed17b010739ba5fa2de))(@swc-node/register@1.11.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@swc/core@1.15.40(@swc/helpers@0.5.23))(@swc/types@0.1.26)(typescript@6.0.3))(@swc/core@1.15.40(@swc/helpers@0.5.23))(nx@22.7.5(@swc-node/register@1.11.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@swc/core@1.15.40(@swc/helpers@0.5.23))(@swc/types@0.1.26)(typescript@6.0.3))(@swc/core@1.15.40(@swc/helpers@0.5.23)))(typescript@6.0.3)(vite@8.0.14(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(less@4.3.0)(sass-embedded@1.89.0)(sass@1.97.3)(terser@5.47.1)(yaml@2.9.0))(vitest@4.1.7)
marked-highlight: 2.2.4(marked@18.0.4)
marked-shiki: 1.2.1(marked@18.0.4)(shiki@1.29.2)
prismjs: 1.30.0
@@ -11748,7 +11289,7 @@ snapshots:
'@angular/router': 21.2.15(@angular/common@21.2.15(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2)(zone.js@0.15.1))(@angular/platform-browser@21.2.15(@angular/animations@21.2.15(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2)(zone.js@0.15.1)))(@angular/common@21.2.15(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2)(zone.js@0.15.1)))(rxjs@7.8.2)
tslib: 2.8.1
- '@analogjs/vite-plugin-angular@2.5.2(@angular-devkit/build-angular@20.0.0(5051dee4ea0f423ab526f197e92d0945))(@angular/build@21.2.13(317a9c63e2a22ee97b948b5b731d9e1c))(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(vite@8.0.14(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(less@4.3.0)(sass-embedded@1.89.0)(sass@1.97.3)(stylus@0.64.0)(terser@5.47.1)(yaml@2.8.3))':
+ '@analogjs/vite-plugin-angular@2.5.2(@angular/build@21.2.13(2fc71c60e1ba34e5381d5136307f56c3))(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(vite@8.0.14(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(less@4.3.0)(sass-embedded@1.89.0)(sass@1.97.3)(terser@5.47.1)(yaml@2.9.0))':
dependencies:
magic-string: 0.30.21
obug: 2.1.1
@@ -11756,9 +11297,8 @@ snapshots:
tinyglobby: 0.2.16
ts-morph: 21.0.1
optionalDependencies:
- '@angular-devkit/build-angular': 20.0.0(5051dee4ea0f423ab526f197e92d0945)
- '@angular/build': 21.2.13(317a9c63e2a22ee97b948b5b731d9e1c)
- vite: 8.0.14(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(less@4.3.0)(sass-embedded@1.89.0)(sass@1.97.3)(stylus@0.64.0)(terser@5.47.1)(yaml@2.8.3)
+ '@angular/build': 21.2.13(2fc71c60e1ba34e5381d5136307f56c3)
+ vite: 8.0.14(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(less@4.3.0)(sass-embedded@1.89.0)(sass@1.97.3)(terser@5.47.1)(yaml@2.9.0)
transitivePeerDependencies:
- '@emnapi/core'
- '@emnapi/runtime'
@@ -11803,23 +11343,15 @@ snapshots:
- uploadthing
- xml2js
- '@analogjs/vitest-angular@2.5.2(@analogjs/vite-plugin-angular@2.5.2(@angular-devkit/build-angular@20.0.0(5051dee4ea0f423ab526f197e92d0945))(@angular/build@21.2.13(317a9c63e2a22ee97b948b5b731d9e1c))(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(vite@8.0.14(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(less@4.3.0)(sass-embedded@1.89.0)(sass@1.97.3)(stylus@0.64.0)(terser@5.47.1)(yaml@2.8.3)))(@angular-devkit/architect@0.2102.13(chokidar@5.0.0))(@angular-devkit/schematics@21.2.13(chokidar@5.0.0))(vitest@4.1.7)(zone.js@0.15.1)':
+ '@analogjs/vitest-angular@2.5.2(@analogjs/vite-plugin-angular@2.5.2(@angular/build@21.2.13(2fc71c60e1ba34e5381d5136307f56c3))(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(vite@8.0.14(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(less@4.3.0)(sass-embedded@1.89.0)(sass@1.97.3)(terser@5.47.1)(yaml@2.9.0)))(@angular-devkit/architect@0.2102.13(chokidar@5.0.0))(@angular-devkit/schematics@21.2.13(chokidar@5.0.0))(vitest@4.1.7)(zone.js@0.15.1)':
dependencies:
- '@analogjs/vite-plugin-angular': 2.5.2(@angular-devkit/build-angular@20.0.0(5051dee4ea0f423ab526f197e92d0945))(@angular/build@21.2.13(317a9c63e2a22ee97b948b5b731d9e1c))(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(vite@8.0.14(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(less@4.3.0)(sass-embedded@1.89.0)(sass@1.97.3)(stylus@0.64.0)(terser@5.47.1)(yaml@2.8.3))
+ '@analogjs/vite-plugin-angular': 2.5.2(@angular/build@21.2.13(2fc71c60e1ba34e5381d5136307f56c3))(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(vite@8.0.14(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(less@4.3.0)(sass-embedded@1.89.0)(sass@1.97.3)(terser@5.47.1)(yaml@2.9.0))
'@angular-devkit/architect': 0.2102.13(chokidar@5.0.0)
'@angular-devkit/schematics': 21.2.13(chokidar@5.0.0)
- vitest: 4.1.7(@types/node@25.9.1)(@vitest/coverage-v8@4.1.7)(@vitest/ui@4.1.7)(jsdom@29.1.1)(vite@8.0.14(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(less@4.3.0)(sass-embedded@1.89.0)(sass@1.97.3)(stylus@0.64.0)(terser@5.47.1)(yaml@2.8.3))
+ vitest: 4.1.7(@types/node@25.9.1)(@vitest/coverage-v8@4.1.7)(@vitest/ui@4.1.7)(jsdom@29.1.1)(vite@8.0.14(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(less@4.3.0)(sass-embedded@1.89.0)(sass@1.97.3)(terser@5.47.1)(yaml@2.9.0))
optionalDependencies:
zone.js: 0.15.1
- '@angular-devkit/architect@0.2000.0(chokidar@5.0.0)':
- dependencies:
- '@angular-devkit/core': 20.0.0(chokidar@5.0.0)
- rxjs: 7.8.2
- transitivePeerDependencies:
- - chokidar
- optional: true
-
'@angular-devkit/architect@0.2102.13(chokidar@5.0.0)':
dependencies:
'@angular-devkit/core': 21.2.13(chokidar@5.0.0)
@@ -11827,123 +11359,10 @@ snapshots:
transitivePeerDependencies:
- chokidar
- '@angular-devkit/build-angular@20.0.0(5051dee4ea0f423ab526f197e92d0945)':
- dependencies:
- '@ampproject/remapping': 2.3.0
- '@angular-devkit/architect': 0.2000.0(chokidar@5.0.0)
- '@angular-devkit/build-webpack': 0.2000.0(chokidar@5.0.0)(webpack-dev-server@5.2.4(webpack@5.106.2(@swc/core@1.15.40(@swc/helpers@0.5.23))(esbuild@0.28.0)))(webpack@5.106.2(@swc/core@1.15.40(@swc/helpers@0.5.23))(esbuild@0.28.0))
- '@angular-devkit/core': 20.0.0(chokidar@5.0.0)
- '@angular/build': 20.0.0(23ff62c9a312d3748fcd53e604af97bb)
- '@angular/compiler-cli': 21.2.15(@angular/compiler@21.2.15)(typescript@6.0.3)
- '@babel/core': 7.27.1
- '@babel/generator': 7.27.1
- '@babel/helper-annotate-as-pure': 7.27.1
- '@babel/helper-split-export-declaration': 7.24.7
- '@babel/plugin-transform-async-generator-functions': 7.27.1(@babel/core@7.27.1)
- '@babel/plugin-transform-async-to-generator': 7.27.1(@babel/core@7.27.1)
- '@babel/plugin-transform-runtime': 7.27.1(@babel/core@7.27.1)
- '@babel/preset-env': 7.27.2(@babel/core@7.27.1)
- '@babel/runtime': 7.27.1
- '@discoveryjs/json-ext': 0.6.3
- '@ngtools/webpack': 20.0.0(@angular/compiler-cli@21.2.15(@angular/compiler@21.2.15)(typescript@6.0.3))(typescript@6.0.3)(webpack@5.106.2(@swc/core@1.15.40(@swc/helpers@0.5.23))(esbuild@0.28.0))
- '@vitejs/plugin-basic-ssl': 2.0.0(vite@8.0.14(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(less@4.3.0)(sass-embedded@1.89.0)(sass@1.97.3)(stylus@0.64.0)(terser@5.47.1)(yaml@2.8.3))
- ansi-colors: 4.1.3
- autoprefixer: 10.4.21(postcss@8.5.3)
- babel-loader: 10.0.0(@babel/core@7.27.1)(webpack@5.106.2(@swc/core@1.15.40(@swc/helpers@0.5.23))(esbuild@0.28.0))
- browserslist: 4.28.2
- copy-webpack-plugin: 13.0.0(webpack@5.106.2(@swc/core@1.15.40(@swc/helpers@0.5.23))(esbuild@0.28.0))
- css-loader: 7.1.2(@rspack/core@1.6.8(@swc/helpers@0.5.23))(webpack@5.106.2(@swc/core@1.15.40(@swc/helpers@0.5.23))(esbuild@0.28.0))
- esbuild-wasm: 0.25.5
- fast-glob: 3.3.3
- http-proxy-middleware: 3.0.5
- istanbul-lib-instrument: 6.0.3
- jsonc-parser: 3.3.1
- karma-source-map-support: 1.4.0
- less: 4.3.0
- less-loader: 12.3.0(@rspack/core@1.6.8(@swc/helpers@0.5.23))(less@4.3.0)(webpack@5.106.2(@swc/core@1.15.40(@swc/helpers@0.5.23))(esbuild@0.28.0))
- license-webpack-plugin: 4.0.2(webpack@5.106.2(@swc/core@1.15.40(@swc/helpers@0.5.23))(esbuild@0.28.0))
- loader-utils: 3.3.1
- mini-css-extract-plugin: 2.9.2(webpack@5.106.2(@swc/core@1.15.40(@swc/helpers@0.5.23))(esbuild@0.28.0))
- open: 10.1.2
- ora: 8.2.0
- picomatch: 4.0.4
- piscina: 5.0.0
- postcss: 8.5.3
- postcss-loader: 8.1.1(@rspack/core@1.6.8(@swc/helpers@0.5.23))(postcss@8.5.3)(typescript@6.0.3)(webpack@5.106.2(@swc/core@1.15.40(@swc/helpers@0.5.23))(esbuild@0.28.0))
- resolve-url-loader: 5.0.0
- rxjs: 7.8.2
- sass: 1.88.0
- sass-loader: 16.0.5(@rspack/core@1.6.8(@swc/helpers@0.5.23))(sass-embedded@1.89.0)(sass@1.88.0)(webpack@5.106.2(@swc/core@1.15.40(@swc/helpers@0.5.23))(esbuild@0.28.0))
- semver: 7.7.2
- source-map-loader: 5.0.0(webpack@5.106.2(@swc/core@1.15.40(@swc/helpers@0.5.23))(esbuild@0.28.0))
- source-map-support: 0.5.21
- terser: 5.39.1
- tree-kill: 1.2.2
- tslib: 2.8.1
- typescript: 6.0.3
- webpack: 5.106.2(@swc/core@1.15.40(@swc/helpers@0.5.23))(esbuild@0.25.5)
- webpack-dev-middleware: 7.4.2(webpack@5.106.2(@swc/core@1.15.40(@swc/helpers@0.5.23))(esbuild@0.28.0))
- webpack-dev-server: 5.2.4(webpack@5.106.2(@swc/core@1.15.40(@swc/helpers@0.5.23))(esbuild@0.28.0))
- webpack-merge: 6.0.1
- webpack-subresource-integrity: 5.1.0(webpack@5.106.2(@swc/core@1.15.40(@swc/helpers@0.5.23))(esbuild@0.28.0))
- optionalDependencies:
- '@angular/core': 21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2)(zone.js@0.15.1)
- '@angular/platform-browser': 21.2.15(@angular/animations@21.2.15(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2)(zone.js@0.15.1)))(@angular/common@21.2.15(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2)(zone.js@0.15.1))
- '@angular/platform-server': 21.2.15(@angular/common@21.2.15(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/compiler@21.2.15)(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2)(zone.js@0.15.1))(@angular/platform-browser@21.2.15(@angular/animations@21.2.15(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2)(zone.js@0.15.1)))(@angular/common@21.2.15(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2)(zone.js@0.15.1)))(rxjs@7.8.2)
- '@angular/service-worker': 21.2.15(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2)
- esbuild: 0.25.5
- tailwindcss: 4.3.0
- transitivePeerDependencies:
- - '@angular/compiler'
- - '@rspack/core'
- - '@swc/core'
- - '@types/node'
- - '@vitejs/devtools'
- - bufferutil
- - chokidar
- - debug
- - html-webpack-plugin
- - jiti
- - node-sass
- - sass-embedded
- - stylus
- - sugarss
- - supports-color
- - tsx
- - uglify-js
- - utf-8-validate
- - vite
- - vitest
- - webpack-cli
- - yaml
- optional: true
-
- '@angular-devkit/build-webpack@0.2000.0(chokidar@5.0.0)(webpack-dev-server@5.2.4(webpack@5.106.2(@swc/core@1.15.40(@swc/helpers@0.5.23))(esbuild@0.28.0)))(webpack@5.106.2(@swc/core@1.15.40(@swc/helpers@0.5.23))(esbuild@0.28.0))':
- dependencies:
- '@angular-devkit/architect': 0.2000.0(chokidar@5.0.0)
- rxjs: 7.8.2
- webpack: 5.106.2(@swc/core@1.15.40(@swc/helpers@0.5.23))(esbuild@0.28.0)
- webpack-dev-server: 5.2.4(webpack@5.106.2(@swc/core@1.15.40(@swc/helpers@0.5.23))(esbuild@0.28.0))
- transitivePeerDependencies:
- - chokidar
- optional: true
-
- '@angular-devkit/core@20.0.0(chokidar@5.0.0)':
- dependencies:
- ajv: 8.20.0
- ajv-formats: 3.0.1(ajv@8.20.0)
- jsonc-parser: 3.3.1
- picomatch: 4.0.4
- rxjs: 7.8.2
- source-map: 0.7.4
- optionalDependencies:
- chokidar: 5.0.0
- optional: true
-
'@angular-devkit/core@21.2.13(chokidar@5.0.0)':
dependencies:
- ajv: 8.20.0
- ajv-formats: 3.0.1(ajv@8.20.0)
+ ajv: 8.18.0
+ ajv-formats: 3.0.1(ajv@8.18.0)
jsonc-parser: 3.3.1
picomatch: 4.0.4
rxjs: 7.8.2
@@ -12043,63 +11462,7 @@ snapshots:
'@angular/core': 21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2)(zone.js@0.15.1)
tslib: 2.8.1
- '@angular/build@20.0.0(23ff62c9a312d3748fcd53e604af97bb)':
- dependencies:
- '@ampproject/remapping': 2.3.0
- '@angular-devkit/architect': 0.2000.0(chokidar@5.0.0)
- '@angular/compiler': 21.2.15
- '@angular/compiler-cli': 21.2.15(@angular/compiler@21.2.15)(typescript@6.0.3)
- '@babel/core': 7.27.1
- '@babel/helper-annotate-as-pure': 7.27.1
- '@babel/helper-split-export-declaration': 7.24.7
- '@inquirer/confirm': 5.1.10(@types/node@25.9.1)
- '@vitejs/plugin-basic-ssl': 2.0.0(vite@8.0.14(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(less@4.3.0)(sass-embedded@1.89.0)(sass@1.97.3)(stylus@0.64.0)(terser@5.47.1)(yaml@2.8.3))
- beasties: 0.3.4
- browserslist: 4.28.2
- esbuild: 0.25.5
- https-proxy-agent: 7.0.6
- istanbul-lib-instrument: 6.0.3
- jsonc-parser: 3.3.1
- listr2: 8.3.3
- magic-string: 0.30.17
- mrmime: 2.0.1
- parse5-html-rewriting-stream: 7.1.0
- picomatch: 4.0.4
- piscina: 5.0.0
- rollup: 4.60.3
- sass: 1.88.0
- semver: 7.7.2
- source-map-support: 0.5.21
- tinyglobby: 0.2.13
- tslib: 2.8.1
- typescript: 6.0.3
- vite: 8.0.14(@types/node@25.9.1)(esbuild@0.25.5)(jiti@2.6.1)(less@4.3.0)(sass-embedded@1.89.0)(sass@1.88.0)(stylus@0.64.0)(terser@5.39.1)(yaml@2.8.3)
- watchpack: 2.4.2
- optionalDependencies:
- '@angular/core': 21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2)(zone.js@0.15.1)
- '@angular/platform-browser': 21.2.15(@angular/animations@21.2.15(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2)(zone.js@0.15.1)))(@angular/common@21.2.15(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2)(zone.js@0.15.1))
- '@angular/platform-server': 21.2.15(@angular/common@21.2.15(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/compiler@21.2.15)(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2)(zone.js@0.15.1))(@angular/platform-browser@21.2.15(@angular/animations@21.2.15(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2)(zone.js@0.15.1)))(@angular/common@21.2.15(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2)(zone.js@0.15.1)))(rxjs@7.8.2)
- '@angular/service-worker': 21.2.15(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2)
- less: 4.3.0
- lmdb: 3.3.0
- postcss: 8.5.3
- tailwindcss: 4.3.0
- vitest: 4.1.7(@types/node@25.9.1)(@vitest/coverage-v8@4.1.7)(@vitest/ui@4.1.7)(jsdom@29.1.1)(vite@8.0.14(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(less@4.3.0)(sass-embedded@1.89.0)(sass@1.97.3)(stylus@0.64.0)(terser@5.47.1)(yaml@2.8.3))
- transitivePeerDependencies:
- - '@types/node'
- - '@vitejs/devtools'
- - chokidar
- - jiti
- - sass-embedded
- - stylus
- - sugarss
- - supports-color
- - terser
- - tsx
- - yaml
- optional: true
-
- '@angular/build@21.2.13(317a9c63e2a22ee97b948b5b731d9e1c)':
+ '@angular/build@21.2.13(2fc71c60e1ba34e5381d5136307f56c3)':
dependencies:
'@ampproject/remapping': 2.3.0
'@angular-devkit/architect': 0.2102.13(chokidar@5.0.0)
@@ -12109,7 +11472,7 @@ snapshots:
'@babel/helper-annotate-as-pure': 7.27.3
'@babel/helper-split-export-declaration': 7.24.7
'@inquirer/confirm': 5.1.21(@types/node@25.9.1)
- '@vitejs/plugin-basic-ssl': 2.1.4(vite@7.3.2(@types/node@25.9.1)(jiti@2.6.1)(less@4.3.0)(lightningcss@1.32.0)(sass-embedded@1.89.0)(sass@1.97.3)(stylus@0.64.0)(terser@5.47.1)(yaml@2.8.3))
+ '@vitejs/plugin-basic-ssl': 2.1.4(vite@7.3.2(@types/node@25.9.1)(jiti@2.6.1)(less@4.3.0)(lightningcss@1.32.0)(sass-embedded@1.89.0)(sass@1.97.3)(terser@5.47.1)(yaml@2.9.0))
beasties: 0.4.1
browserslist: 4.28.2
esbuild: 0.27.3
@@ -12130,7 +11493,7 @@ snapshots:
tslib: 2.8.1
typescript: 6.0.3
undici: 7.24.4
- vite: 7.3.2(@types/node@25.9.1)(jiti@2.6.1)(less@4.3.0)(lightningcss@1.32.0)(sass-embedded@1.89.0)(sass@1.97.3)(stylus@0.64.0)(terser@5.47.1)(yaml@2.8.3)
+ vite: 7.3.2(@types/node@25.9.1)(jiti@2.6.1)(less@4.3.0)(lightningcss@1.32.0)(sass-embedded@1.89.0)(sass@1.97.3)(terser@5.47.1)(yaml@2.9.0)
watchpack: 2.5.1
optionalDependencies:
'@angular/core': 21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2)(zone.js@0.15.1)
@@ -12141,7 +11504,7 @@ snapshots:
lmdb: 3.5.1
postcss: 8.5.15
tailwindcss: 4.3.0
- vitest: 4.1.7(@types/node@25.9.1)(@vitest/coverage-v8@4.1.7)(@vitest/ui@4.1.7)(jsdom@29.1.1)(vite@8.0.14(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(less@4.3.0)(sass-embedded@1.89.0)(sass@1.97.3)(stylus@0.64.0)(terser@5.47.1)(yaml@2.8.3))
+ vitest: 4.1.7(@types/node@25.9.1)(@vitest/coverage-v8@4.1.7)(@vitest/ui@4.1.7)(jsdom@29.1.1)(vite@8.0.14(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(less@4.3.0)(sass-embedded@1.89.0)(sass@1.97.3)(terser@5.47.1)(yaml@2.9.0))
transitivePeerDependencies:
- '@emnapi/core'
- '@emnapi/runtime'
@@ -12332,27 +11695,6 @@ snapshots:
'@babel/compat-data@7.29.3': {}
- '@babel/core@7.27.1':
- dependencies:
- '@ampproject/remapping': 2.3.0
- '@babel/code-frame': 7.29.0
- '@babel/generator': 7.29.1
- '@babel/helper-compilation-targets': 7.28.6
- '@babel/helper-module-transforms': 7.28.6(@babel/core@7.27.1)
- '@babel/helpers': 7.29.2
- '@babel/parser': 7.29.3
- '@babel/template': 7.28.6
- '@babel/traverse': 7.29.0
- '@babel/types': 7.29.0
- convert-source-map: 2.0.0
- debug: 4.4.3
- gensync: 1.0.0-beta.2
- json5: 2.2.3
- semver: 6.3.1
- transitivePeerDependencies:
- - supports-color
- optional: true
-
'@babel/core@7.29.0':
dependencies:
'@babel/code-frame': 7.29.0
@@ -12373,16 +11715,7 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@babel/generator@7.27.1':
- dependencies:
- '@babel/parser': 7.29.3
- '@babel/types': 7.29.0
- '@jridgewell/gen-mapping': 0.3.13
- '@jridgewell/trace-mapping': 0.3.31
- jsesc: 3.1.0
- optional: true
-
- '@babel/generator@7.28.5':
+ '@babel/generator@7.28.5':
dependencies:
'@babel/parser': 7.28.5
'@babel/types': 7.28.5
@@ -12398,11 +11731,6 @@ snapshots:
'@jridgewell/trace-mapping': 0.3.31
jsesc: 3.1.0
- '@babel/helper-annotate-as-pure@7.27.1':
- dependencies:
- '@babel/types': 7.29.0
- optional: true
-
'@babel/helper-annotate-as-pure@7.27.3':
dependencies:
'@babel/types': 7.29.0
@@ -12415,20 +11743,6 @@ snapshots:
lru-cache: 5.1.1
semver: 6.3.1
- '@babel/helper-create-class-features-plugin@7.29.3(@babel/core@7.27.1)':
- dependencies:
- '@babel/core': 7.27.1
- '@babel/helper-annotate-as-pure': 7.27.3
- '@babel/helper-member-expression-to-functions': 7.28.5
- '@babel/helper-optimise-call-expression': 7.27.1
- '@babel/helper-replace-supers': 7.28.6(@babel/core@7.27.1)
- '@babel/helper-skip-transparent-expression-wrappers': 7.27.1
- '@babel/traverse': 7.29.0
- semver: 6.3.1
- transitivePeerDependencies:
- - supports-color
- optional: true
-
'@babel/helper-create-class-features-plugin@7.29.3(@babel/core@7.29.0)':
dependencies:
'@babel/core': 7.29.0
@@ -12442,14 +11756,6 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@babel/helper-create-regexp-features-plugin@7.28.5(@babel/core@7.27.1)':
- dependencies:
- '@babel/core': 7.27.1
- '@babel/helper-annotate-as-pure': 7.27.3
- regexpu-core: 6.4.0
- semver: 6.3.1
- optional: true
-
'@babel/helper-create-regexp-features-plugin@7.28.5(@babel/core@7.29.0)':
dependencies:
'@babel/core': 7.29.0
@@ -12457,18 +11763,6 @@ snapshots:
regexpu-core: 6.4.0
semver: 6.3.1
- '@babel/helper-define-polyfill-provider@0.6.8(@babel/core@7.27.1)':
- dependencies:
- '@babel/core': 7.27.1
- '@babel/helper-compilation-targets': 7.28.6
- '@babel/helper-plugin-utils': 7.28.6
- debug: 4.4.3
- lodash.debounce: 4.0.8
- resolve: 1.22.12
- transitivePeerDependencies:
- - supports-color
- optional: true
-
'@babel/helper-define-polyfill-provider@0.6.8(@babel/core@7.29.0)':
dependencies:
'@babel/core': 7.29.0
@@ -12496,16 +11790,6 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@babel/helper-module-transforms@7.28.6(@babel/core@7.27.1)':
- dependencies:
- '@babel/core': 7.27.1
- '@babel/helper-module-imports': 7.28.6
- '@babel/helper-validator-identifier': 7.28.5
- '@babel/traverse': 7.29.0
- transitivePeerDependencies:
- - supports-color
- optional: true
-
'@babel/helper-module-transforms@7.28.6(@babel/core@7.29.0)':
dependencies:
'@babel/core': 7.29.0
@@ -12521,16 +11805,6 @@ snapshots:
'@babel/helper-plugin-utils@7.28.6': {}
- '@babel/helper-remap-async-to-generator@7.27.1(@babel/core@7.27.1)':
- dependencies:
- '@babel/core': 7.27.1
- '@babel/helper-annotate-as-pure': 7.27.3
- '@babel/helper-wrap-function': 7.27.1
- '@babel/traverse': 7.29.0
- transitivePeerDependencies:
- - supports-color
- optional: true
-
'@babel/helper-remap-async-to-generator@7.27.1(@babel/core@7.29.0)':
dependencies:
'@babel/core': 7.29.0
@@ -12540,16 +11814,6 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@babel/helper-replace-supers@7.28.6(@babel/core@7.27.1)':
- dependencies:
- '@babel/core': 7.27.1
- '@babel/helper-member-expression-to-functions': 7.28.5
- '@babel/helper-optimise-call-expression': 7.27.1
- '@babel/traverse': 7.29.0
- transitivePeerDependencies:
- - supports-color
- optional: true
-
'@babel/helper-replace-supers@7.28.6(@babel/core@7.29.0)':
dependencies:
'@babel/core': 7.29.0
@@ -12603,15 +11867,6 @@ snapshots:
dependencies:
'@babel/types': 7.29.0
- '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.28.5(@babel/core@7.27.1)':
- dependencies:
- '@babel/core': 7.27.1
- '@babel/helper-plugin-utils': 7.28.6
- '@babel/traverse': 7.29.0
- transitivePeerDependencies:
- - supports-color
- optional: true
-
'@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.28.5(@babel/core@7.29.0)':
dependencies:
'@babel/core': 7.29.0
@@ -12620,23 +11875,11 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.27.1(@babel/core@7.27.1)':
- dependencies:
- '@babel/core': 7.27.1
- '@babel/helper-plugin-utils': 7.28.6
- optional: true
-
'@babel/plugin-bugfix-safari-class-field-initializer-scope@7.27.1(@babel/core@7.29.0)':
dependencies:
'@babel/core': 7.29.0
'@babel/helper-plugin-utils': 7.28.6
- '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.27.1(@babel/core@7.27.1)':
- dependencies:
- '@babel/core': 7.27.1
- '@babel/helper-plugin-utils': 7.28.6
- optional: true
-
'@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.27.1(@babel/core@7.29.0)':
dependencies:
'@babel/core': 7.29.0
@@ -12650,16 +11893,6 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.27.1(@babel/core@7.27.1)':
- dependencies:
- '@babel/core': 7.27.1
- '@babel/helper-plugin-utils': 7.28.6
- '@babel/helper-skip-transparent-expression-wrappers': 7.27.1
- '@babel/plugin-transform-optional-chaining': 7.28.6(@babel/core@7.27.1)
- transitivePeerDependencies:
- - supports-color
- optional: true
-
'@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.27.1(@babel/core@7.29.0)':
dependencies:
'@babel/core': 7.29.0
@@ -12669,15 +11902,6 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.28.6(@babel/core@7.27.1)':
- dependencies:
- '@babel/core': 7.27.1
- '@babel/helper-plugin-utils': 7.28.6
- '@babel/traverse': 7.29.0
- transitivePeerDependencies:
- - supports-color
- optional: true
-
'@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.28.6(@babel/core@7.29.0)':
dependencies:
'@babel/core': 7.29.0
@@ -12695,11 +11919,6 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.27.1)':
- dependencies:
- '@babel/core': 7.27.1
- optional: true
-
'@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.29.0)':
dependencies:
'@babel/core': 7.29.0
@@ -12729,23 +11948,11 @@ snapshots:
'@babel/core': 7.29.0
'@babel/helper-plugin-utils': 7.28.6
- '@babel/plugin-syntax-import-assertions@7.28.6(@babel/core@7.27.1)':
- dependencies:
- '@babel/core': 7.27.1
- '@babel/helper-plugin-utils': 7.28.6
- optional: true
-
'@babel/plugin-syntax-import-assertions@7.28.6(@babel/core@7.29.0)':
dependencies:
'@babel/core': 7.29.0
'@babel/helper-plugin-utils': 7.28.6
- '@babel/plugin-syntax-import-attributes@7.28.6(@babel/core@7.27.1)':
- dependencies:
- '@babel/core': 7.27.1
- '@babel/helper-plugin-utils': 7.28.6
- optional: true
-
'@babel/plugin-syntax-import-attributes@7.28.6(@babel/core@7.29.0)':
dependencies:
'@babel/core': 7.29.0
@@ -12811,50 +12018,17 @@ snapshots:
'@babel/core': 7.29.0
'@babel/helper-plugin-utils': 7.28.6
- '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.27.1)':
- dependencies:
- '@babel/core': 7.27.1
- '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.27.1)
- '@babel/helper-plugin-utils': 7.28.6
- optional: true
-
'@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.29.0)':
dependencies:
'@babel/core': 7.29.0
'@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.29.0)
'@babel/helper-plugin-utils': 7.28.6
- '@babel/plugin-transform-arrow-functions@7.27.1(@babel/core@7.27.1)':
- dependencies:
- '@babel/core': 7.27.1
- '@babel/helper-plugin-utils': 7.28.6
- optional: true
-
'@babel/plugin-transform-arrow-functions@7.27.1(@babel/core@7.29.0)':
dependencies:
'@babel/core': 7.29.0
'@babel/helper-plugin-utils': 7.28.6
- '@babel/plugin-transform-async-generator-functions@7.27.1(@babel/core@7.27.1)':
- dependencies:
- '@babel/core': 7.27.1
- '@babel/helper-plugin-utils': 7.28.6
- '@babel/helper-remap-async-to-generator': 7.27.1(@babel/core@7.27.1)
- '@babel/traverse': 7.29.0
- transitivePeerDependencies:
- - supports-color
- optional: true
-
- '@babel/plugin-transform-async-generator-functions@7.29.0(@babel/core@7.27.1)':
- dependencies:
- '@babel/core': 7.27.1
- '@babel/helper-plugin-utils': 7.28.6
- '@babel/helper-remap-async-to-generator': 7.27.1(@babel/core@7.27.1)
- '@babel/traverse': 7.29.0
- transitivePeerDependencies:
- - supports-color
- optional: true
-
'@babel/plugin-transform-async-generator-functions@7.29.0(@babel/core@7.29.0)':
dependencies:
'@babel/core': 7.29.0
@@ -12864,26 +12038,6 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@babel/plugin-transform-async-to-generator@7.27.1(@babel/core@7.27.1)':
- dependencies:
- '@babel/core': 7.27.1
- '@babel/helper-module-imports': 7.28.6
- '@babel/helper-plugin-utils': 7.28.6
- '@babel/helper-remap-async-to-generator': 7.27.1(@babel/core@7.27.1)
- transitivePeerDependencies:
- - supports-color
- optional: true
-
- '@babel/plugin-transform-async-to-generator@7.28.6(@babel/core@7.27.1)':
- dependencies:
- '@babel/core': 7.27.1
- '@babel/helper-module-imports': 7.28.6
- '@babel/helper-plugin-utils': 7.28.6
- '@babel/helper-remap-async-to-generator': 7.27.1(@babel/core@7.27.1)
- transitivePeerDependencies:
- - supports-color
- optional: true
-
'@babel/plugin-transform-async-to-generator@7.28.6(@babel/core@7.29.0)':
dependencies:
'@babel/core': 7.29.0
@@ -12893,37 +12047,16 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@babel/plugin-transform-block-scoped-functions@7.27.1(@babel/core@7.27.1)':
- dependencies:
- '@babel/core': 7.27.1
- '@babel/helper-plugin-utils': 7.28.6
- optional: true
-
'@babel/plugin-transform-block-scoped-functions@7.27.1(@babel/core@7.29.0)':
dependencies:
'@babel/core': 7.29.0
'@babel/helper-plugin-utils': 7.28.6
- '@babel/plugin-transform-block-scoping@7.28.6(@babel/core@7.27.1)':
- dependencies:
- '@babel/core': 7.27.1
- '@babel/helper-plugin-utils': 7.28.6
- optional: true
-
'@babel/plugin-transform-block-scoping@7.28.6(@babel/core@7.29.0)':
dependencies:
'@babel/core': 7.29.0
'@babel/helper-plugin-utils': 7.28.6
- '@babel/plugin-transform-class-properties@7.28.6(@babel/core@7.27.1)':
- dependencies:
- '@babel/core': 7.27.1
- '@babel/helper-create-class-features-plugin': 7.29.3(@babel/core@7.27.1)
- '@babel/helper-plugin-utils': 7.28.6
- transitivePeerDependencies:
- - supports-color
- optional: true
-
'@babel/plugin-transform-class-properties@7.28.6(@babel/core@7.29.0)':
dependencies:
'@babel/core': 7.29.0
@@ -12932,15 +12065,6 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@babel/plugin-transform-class-static-block@7.28.6(@babel/core@7.27.1)':
- dependencies:
- '@babel/core': 7.27.1
- '@babel/helper-create-class-features-plugin': 7.29.3(@babel/core@7.27.1)
- '@babel/helper-plugin-utils': 7.28.6
- transitivePeerDependencies:
- - supports-color
- optional: true
-
'@babel/plugin-transform-class-static-block@7.28.6(@babel/core@7.29.0)':
dependencies:
'@babel/core': 7.29.0
@@ -12949,19 +12073,6 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@babel/plugin-transform-classes@7.28.6(@babel/core@7.27.1)':
- dependencies:
- '@babel/core': 7.27.1
- '@babel/helper-annotate-as-pure': 7.27.3
- '@babel/helper-compilation-targets': 7.28.6
- '@babel/helper-globals': 7.28.0
- '@babel/helper-plugin-utils': 7.28.6
- '@babel/helper-replace-supers': 7.28.6(@babel/core@7.27.1)
- '@babel/traverse': 7.29.0
- transitivePeerDependencies:
- - supports-color
- optional: true
-
'@babel/plugin-transform-classes@7.28.6(@babel/core@7.29.0)':
dependencies:
'@babel/core': 7.29.0
@@ -12974,28 +12085,12 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@babel/plugin-transform-computed-properties@7.28.6(@babel/core@7.27.1)':
- dependencies:
- '@babel/core': 7.27.1
- '@babel/helper-plugin-utils': 7.28.6
- '@babel/template': 7.28.6
- optional: true
-
'@babel/plugin-transform-computed-properties@7.28.6(@babel/core@7.29.0)':
dependencies:
'@babel/core': 7.29.0
'@babel/helper-plugin-utils': 7.28.6
'@babel/template': 7.28.6
- '@babel/plugin-transform-destructuring@7.28.5(@babel/core@7.27.1)':
- dependencies:
- '@babel/core': 7.27.1
- '@babel/helper-plugin-utils': 7.28.6
- '@babel/traverse': 7.29.0
- transitivePeerDependencies:
- - supports-color
- optional: true
-
'@babel/plugin-transform-destructuring@7.28.5(@babel/core@7.29.0)':
dependencies:
'@babel/core': 7.29.0
@@ -13004,49 +12099,23 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@babel/plugin-transform-dotall-regex@7.28.6(@babel/core@7.27.1)':
- dependencies:
- '@babel/core': 7.27.1
- '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.27.1)
- '@babel/helper-plugin-utils': 7.28.6
- optional: true
-
'@babel/plugin-transform-dotall-regex@7.28.6(@babel/core@7.29.0)':
dependencies:
'@babel/core': 7.29.0
'@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.29.0)
'@babel/helper-plugin-utils': 7.28.6
- '@babel/plugin-transform-duplicate-keys@7.27.1(@babel/core@7.27.1)':
- dependencies:
- '@babel/core': 7.27.1
- '@babel/helper-plugin-utils': 7.28.6
- optional: true
-
'@babel/plugin-transform-duplicate-keys@7.27.1(@babel/core@7.29.0)':
dependencies:
'@babel/core': 7.29.0
'@babel/helper-plugin-utils': 7.28.6
- '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.29.0(@babel/core@7.27.1)':
- dependencies:
- '@babel/core': 7.27.1
- '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.27.1)
- '@babel/helper-plugin-utils': 7.28.6
- optional: true
-
'@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.29.0(@babel/core@7.29.0)':
dependencies:
'@babel/core': 7.29.0
'@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.29.0)
'@babel/helper-plugin-utils': 7.28.6
- '@babel/plugin-transform-dynamic-import@7.27.1(@babel/core@7.27.1)':
- dependencies:
- '@babel/core': 7.27.1
- '@babel/helper-plugin-utils': 7.28.6
- optional: true
-
'@babel/plugin-transform-dynamic-import@7.27.1(@babel/core@7.29.0)':
dependencies:
'@babel/core': 7.29.0
@@ -13060,37 +12129,16 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@babel/plugin-transform-exponentiation-operator@7.28.6(@babel/core@7.27.1)':
- dependencies:
- '@babel/core': 7.27.1
- '@babel/helper-plugin-utils': 7.28.6
- optional: true
-
'@babel/plugin-transform-exponentiation-operator@7.28.6(@babel/core@7.29.0)':
dependencies:
'@babel/core': 7.29.0
'@babel/helper-plugin-utils': 7.28.6
- '@babel/plugin-transform-export-namespace-from@7.27.1(@babel/core@7.27.1)':
- dependencies:
- '@babel/core': 7.27.1
- '@babel/helper-plugin-utils': 7.28.6
- optional: true
-
'@babel/plugin-transform-export-namespace-from@7.27.1(@babel/core@7.29.0)':
dependencies:
'@babel/core': 7.29.0
'@babel/helper-plugin-utils': 7.28.6
- '@babel/plugin-transform-for-of@7.27.1(@babel/core@7.27.1)':
- dependencies:
- '@babel/core': 7.27.1
- '@babel/helper-plugin-utils': 7.28.6
- '@babel/helper-skip-transparent-expression-wrappers': 7.27.1
- transitivePeerDependencies:
- - supports-color
- optional: true
-
'@babel/plugin-transform-for-of@7.27.1(@babel/core@7.29.0)':
dependencies:
'@babel/core': 7.29.0
@@ -13099,16 +12147,6 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@babel/plugin-transform-function-name@7.27.1(@babel/core@7.27.1)':
- dependencies:
- '@babel/core': 7.27.1
- '@babel/helper-compilation-targets': 7.28.6
- '@babel/helper-plugin-utils': 7.28.6
- '@babel/traverse': 7.29.0
- transitivePeerDependencies:
- - supports-color
- optional: true
-
'@babel/plugin-transform-function-name@7.27.1(@babel/core@7.29.0)':
dependencies:
'@babel/core': 7.29.0
@@ -13118,59 +12156,26 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@babel/plugin-transform-json-strings@7.28.6(@babel/core@7.27.1)':
- dependencies:
- '@babel/core': 7.27.1
- '@babel/helper-plugin-utils': 7.28.6
- optional: true
-
'@babel/plugin-transform-json-strings@7.28.6(@babel/core@7.29.0)':
dependencies:
'@babel/core': 7.29.0
'@babel/helper-plugin-utils': 7.28.6
- '@babel/plugin-transform-literals@7.27.1(@babel/core@7.27.1)':
- dependencies:
- '@babel/core': 7.27.1
- '@babel/helper-plugin-utils': 7.28.6
- optional: true
-
'@babel/plugin-transform-literals@7.27.1(@babel/core@7.29.0)':
dependencies:
'@babel/core': 7.29.0
'@babel/helper-plugin-utils': 7.28.6
- '@babel/plugin-transform-logical-assignment-operators@7.28.6(@babel/core@7.27.1)':
- dependencies:
- '@babel/core': 7.27.1
- '@babel/helper-plugin-utils': 7.28.6
- optional: true
-
'@babel/plugin-transform-logical-assignment-operators@7.28.6(@babel/core@7.29.0)':
dependencies:
'@babel/core': 7.29.0
'@babel/helper-plugin-utils': 7.28.6
- '@babel/plugin-transform-member-expression-literals@7.27.1(@babel/core@7.27.1)':
- dependencies:
- '@babel/core': 7.27.1
- '@babel/helper-plugin-utils': 7.28.6
- optional: true
-
'@babel/plugin-transform-member-expression-literals@7.27.1(@babel/core@7.29.0)':
dependencies:
'@babel/core': 7.29.0
'@babel/helper-plugin-utils': 7.28.6
- '@babel/plugin-transform-modules-amd@7.27.1(@babel/core@7.27.1)':
- dependencies:
- '@babel/core': 7.27.1
- '@babel/helper-module-transforms': 7.28.6(@babel/core@7.27.1)
- '@babel/helper-plugin-utils': 7.28.6
- transitivePeerDependencies:
- - supports-color
- optional: true
-
'@babel/plugin-transform-modules-amd@7.27.1(@babel/core@7.29.0)':
dependencies:
'@babel/core': 7.29.0
@@ -13179,15 +12184,6 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@babel/plugin-transform-modules-commonjs@7.28.6(@babel/core@7.27.1)':
- dependencies:
- '@babel/core': 7.27.1
- '@babel/helper-module-transforms': 7.28.6(@babel/core@7.27.1)
- '@babel/helper-plugin-utils': 7.28.6
- transitivePeerDependencies:
- - supports-color
- optional: true
-
'@babel/plugin-transform-modules-commonjs@7.28.6(@babel/core@7.29.0)':
dependencies:
'@babel/core': 7.29.0
@@ -13196,17 +12192,6 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@babel/plugin-transform-modules-systemjs@7.29.4(@babel/core@7.27.1)':
- dependencies:
- '@babel/core': 7.27.1
- '@babel/helper-module-transforms': 7.28.6(@babel/core@7.27.1)
- '@babel/helper-plugin-utils': 7.28.6
- '@babel/helper-validator-identifier': 7.28.5
- '@babel/traverse': 7.29.0
- transitivePeerDependencies:
- - supports-color
- optional: true
-
'@babel/plugin-transform-modules-systemjs@7.29.4(@babel/core@7.29.0)':
dependencies:
'@babel/core': 7.29.0
@@ -13217,15 +12202,6 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@babel/plugin-transform-modules-umd@7.27.1(@babel/core@7.27.1)':
- dependencies:
- '@babel/core': 7.27.1
- '@babel/helper-module-transforms': 7.28.6(@babel/core@7.27.1)
- '@babel/helper-plugin-utils': 7.28.6
- transitivePeerDependencies:
- - supports-color
- optional: true
-
'@babel/plugin-transform-modules-umd@7.27.1(@babel/core@7.29.0)':
dependencies:
'@babel/core': 7.29.0
@@ -13234,64 +12210,27 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@babel/plugin-transform-named-capturing-groups-regex@7.29.0(@babel/core@7.27.1)':
- dependencies:
- '@babel/core': 7.27.1
- '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.27.1)
- '@babel/helper-plugin-utils': 7.28.6
- optional: true
-
'@babel/plugin-transform-named-capturing-groups-regex@7.29.0(@babel/core@7.29.0)':
dependencies:
'@babel/core': 7.29.0
'@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.29.0)
'@babel/helper-plugin-utils': 7.28.6
- '@babel/plugin-transform-new-target@7.27.1(@babel/core@7.27.1)':
- dependencies:
- '@babel/core': 7.27.1
- '@babel/helper-plugin-utils': 7.28.6
- optional: true
-
'@babel/plugin-transform-new-target@7.27.1(@babel/core@7.29.0)':
dependencies:
'@babel/core': 7.29.0
'@babel/helper-plugin-utils': 7.28.6
- '@babel/plugin-transform-nullish-coalescing-operator@7.28.6(@babel/core@7.27.1)':
- dependencies:
- '@babel/core': 7.27.1
- '@babel/helper-plugin-utils': 7.28.6
- optional: true
-
'@babel/plugin-transform-nullish-coalescing-operator@7.28.6(@babel/core@7.29.0)':
dependencies:
'@babel/core': 7.29.0
'@babel/helper-plugin-utils': 7.28.6
- '@babel/plugin-transform-numeric-separator@7.28.6(@babel/core@7.27.1)':
- dependencies:
- '@babel/core': 7.27.1
- '@babel/helper-plugin-utils': 7.28.6
- optional: true
-
'@babel/plugin-transform-numeric-separator@7.28.6(@babel/core@7.29.0)':
dependencies:
'@babel/core': 7.29.0
'@babel/helper-plugin-utils': 7.28.6
- '@babel/plugin-transform-object-rest-spread@7.28.6(@babel/core@7.27.1)':
- dependencies:
- '@babel/core': 7.27.1
- '@babel/helper-compilation-targets': 7.28.6
- '@babel/helper-plugin-utils': 7.28.6
- '@babel/plugin-transform-destructuring': 7.28.5(@babel/core@7.27.1)
- '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.27.1)
- '@babel/traverse': 7.29.0
- transitivePeerDependencies:
- - supports-color
- optional: true
-
'@babel/plugin-transform-object-rest-spread@7.28.6(@babel/core@7.29.0)':
dependencies:
'@babel/core': 7.29.0
@@ -13303,15 +12242,6 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@babel/plugin-transform-object-super@7.27.1(@babel/core@7.27.1)':
- dependencies:
- '@babel/core': 7.27.1
- '@babel/helper-plugin-utils': 7.28.6
- '@babel/helper-replace-supers': 7.28.6(@babel/core@7.27.1)
- transitivePeerDependencies:
- - supports-color
- optional: true
-
'@babel/plugin-transform-object-super@7.27.1(@babel/core@7.29.0)':
dependencies:
'@babel/core': 7.29.0
@@ -13320,26 +12250,11 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@babel/plugin-transform-optional-catch-binding@7.28.6(@babel/core@7.27.1)':
- dependencies:
- '@babel/core': 7.27.1
- '@babel/helper-plugin-utils': 7.28.6
- optional: true
-
'@babel/plugin-transform-optional-catch-binding@7.28.6(@babel/core@7.29.0)':
dependencies:
'@babel/core': 7.29.0
'@babel/helper-plugin-utils': 7.28.6
- '@babel/plugin-transform-optional-chaining@7.28.6(@babel/core@7.27.1)':
- dependencies:
- '@babel/core': 7.27.1
- '@babel/helper-plugin-utils': 7.28.6
- '@babel/helper-skip-transparent-expression-wrappers': 7.27.1
- transitivePeerDependencies:
- - supports-color
- optional: true
-
'@babel/plugin-transform-optional-chaining@7.28.6(@babel/core@7.29.0)':
dependencies:
'@babel/core': 7.29.0
@@ -13348,26 +12263,11 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@babel/plugin-transform-parameters@7.27.7(@babel/core@7.27.1)':
- dependencies:
- '@babel/core': 7.27.1
- '@babel/helper-plugin-utils': 7.28.6
- optional: true
-
'@babel/plugin-transform-parameters@7.27.7(@babel/core@7.29.0)':
dependencies:
'@babel/core': 7.29.0
'@babel/helper-plugin-utils': 7.28.6
- '@babel/plugin-transform-private-methods@7.28.6(@babel/core@7.27.1)':
- dependencies:
- '@babel/core': 7.27.1
- '@babel/helper-create-class-features-plugin': 7.29.3(@babel/core@7.27.1)
- '@babel/helper-plugin-utils': 7.28.6
- transitivePeerDependencies:
- - supports-color
- optional: true
-
'@babel/plugin-transform-private-methods@7.28.6(@babel/core@7.29.0)':
dependencies:
'@babel/core': 7.29.0
@@ -13376,16 +12276,6 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@babel/plugin-transform-private-property-in-object@7.28.6(@babel/core@7.27.1)':
- dependencies:
- '@babel/core': 7.27.1
- '@babel/helper-annotate-as-pure': 7.27.3
- '@babel/helper-create-class-features-plugin': 7.29.3(@babel/core@7.27.1)
- '@babel/helper-plugin-utils': 7.28.6
- transitivePeerDependencies:
- - supports-color
- optional: true
-
'@babel/plugin-transform-private-property-in-object@7.28.6(@babel/core@7.29.0)':
dependencies:
'@babel/core': 7.29.0
@@ -13395,65 +12285,27 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@babel/plugin-transform-property-literals@7.27.1(@babel/core@7.27.1)':
- dependencies:
- '@babel/core': 7.27.1
- '@babel/helper-plugin-utils': 7.28.6
- optional: true
-
'@babel/plugin-transform-property-literals@7.27.1(@babel/core@7.29.0)':
dependencies:
'@babel/core': 7.29.0
'@babel/helper-plugin-utils': 7.28.6
- '@babel/plugin-transform-regenerator@7.29.0(@babel/core@7.27.1)':
- dependencies:
- '@babel/core': 7.27.1
- '@babel/helper-plugin-utils': 7.28.6
- optional: true
-
'@babel/plugin-transform-regenerator@7.29.0(@babel/core@7.29.0)':
dependencies:
'@babel/core': 7.29.0
'@babel/helper-plugin-utils': 7.28.6
- '@babel/plugin-transform-regexp-modifiers@7.28.6(@babel/core@7.27.1)':
- dependencies:
- '@babel/core': 7.27.1
- '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.27.1)
- '@babel/helper-plugin-utils': 7.28.6
- optional: true
-
'@babel/plugin-transform-regexp-modifiers@7.28.6(@babel/core@7.29.0)':
dependencies:
'@babel/core': 7.29.0
'@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.29.0)
'@babel/helper-plugin-utils': 7.28.6
- '@babel/plugin-transform-reserved-words@7.27.1(@babel/core@7.27.1)':
- dependencies:
- '@babel/core': 7.27.1
- '@babel/helper-plugin-utils': 7.28.6
- optional: true
-
'@babel/plugin-transform-reserved-words@7.27.1(@babel/core@7.29.0)':
dependencies:
'@babel/core': 7.29.0
'@babel/helper-plugin-utils': 7.28.6
- '@babel/plugin-transform-runtime@7.27.1(@babel/core@7.27.1)':
- dependencies:
- '@babel/core': 7.27.1
- '@babel/helper-module-imports': 7.28.6
- '@babel/helper-plugin-utils': 7.28.6
- babel-plugin-polyfill-corejs2: 0.4.17(@babel/core@7.27.1)
- babel-plugin-polyfill-corejs3: 0.11.1(@babel/core@7.27.1)
- babel-plugin-polyfill-regenerator: 0.6.8(@babel/core@7.27.1)
- semver: 6.3.1
- transitivePeerDependencies:
- - supports-color
- optional: true
-
'@babel/plugin-transform-runtime@7.27.1(@babel/core@7.29.0)':
dependencies:
'@babel/core': 7.29.0
@@ -13466,26 +12318,11 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@babel/plugin-transform-shorthand-properties@7.27.1(@babel/core@7.27.1)':
- dependencies:
- '@babel/core': 7.27.1
- '@babel/helper-plugin-utils': 7.28.6
- optional: true
-
'@babel/plugin-transform-shorthand-properties@7.27.1(@babel/core@7.29.0)':
dependencies:
'@babel/core': 7.29.0
'@babel/helper-plugin-utils': 7.28.6
- '@babel/plugin-transform-spread@7.28.6(@babel/core@7.27.1)':
- dependencies:
- '@babel/core': 7.27.1
- '@babel/helper-plugin-utils': 7.28.6
- '@babel/helper-skip-transparent-expression-wrappers': 7.27.1
- transitivePeerDependencies:
- - supports-color
- optional: true
-
'@babel/plugin-transform-spread@7.28.6(@babel/core@7.29.0)':
dependencies:
'@babel/core': 7.29.0
@@ -13494,34 +12331,16 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@babel/plugin-transform-sticky-regex@7.27.1(@babel/core@7.27.1)':
- dependencies:
- '@babel/core': 7.27.1
- '@babel/helper-plugin-utils': 7.28.6
- optional: true
-
'@babel/plugin-transform-sticky-regex@7.27.1(@babel/core@7.29.0)':
dependencies:
'@babel/core': 7.29.0
'@babel/helper-plugin-utils': 7.28.6
- '@babel/plugin-transform-template-literals@7.27.1(@babel/core@7.27.1)':
- dependencies:
- '@babel/core': 7.27.1
- '@babel/helper-plugin-utils': 7.28.6
- optional: true
-
'@babel/plugin-transform-template-literals@7.27.1(@babel/core@7.29.0)':
dependencies:
'@babel/core': 7.29.0
'@babel/helper-plugin-utils': 7.28.6
- '@babel/plugin-transform-typeof-symbol@7.27.1(@babel/core@7.27.1)':
- dependencies:
- '@babel/core': 7.27.1
- '@babel/helper-plugin-utils': 7.28.6
- optional: true
-
'@babel/plugin-transform-typeof-symbol@7.27.1(@babel/core@7.29.0)':
dependencies:
'@babel/core': 7.29.0
@@ -13538,49 +12357,22 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@babel/plugin-transform-unicode-escapes@7.27.1(@babel/core@7.27.1)':
- dependencies:
- '@babel/core': 7.27.1
- '@babel/helper-plugin-utils': 7.28.6
- optional: true
-
'@babel/plugin-transform-unicode-escapes@7.27.1(@babel/core@7.29.0)':
dependencies:
'@babel/core': 7.29.0
'@babel/helper-plugin-utils': 7.28.6
- '@babel/plugin-transform-unicode-property-regex@7.28.6(@babel/core@7.27.1)':
- dependencies:
- '@babel/core': 7.27.1
- '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.27.1)
- '@babel/helper-plugin-utils': 7.28.6
- optional: true
-
- '@babel/plugin-transform-unicode-property-regex@7.28.6(@babel/core@7.29.0)':
- dependencies:
- '@babel/core': 7.29.0
- '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.29.0)
- '@babel/helper-plugin-utils': 7.28.6
-
- '@babel/plugin-transform-unicode-regex@7.27.1(@babel/core@7.27.1)':
- dependencies:
- '@babel/core': 7.27.1
- '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.27.1)
- '@babel/helper-plugin-utils': 7.28.6
- optional: true
-
- '@babel/plugin-transform-unicode-regex@7.27.1(@babel/core@7.29.0)':
+ '@babel/plugin-transform-unicode-property-regex@7.28.6(@babel/core@7.29.0)':
dependencies:
'@babel/core': 7.29.0
'@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.29.0)
'@babel/helper-plugin-utils': 7.28.6
- '@babel/plugin-transform-unicode-sets-regex@7.28.6(@babel/core@7.27.1)':
+ '@babel/plugin-transform-unicode-regex@7.27.1(@babel/core@7.29.0)':
dependencies:
- '@babel/core': 7.27.1
- '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.27.1)
+ '@babel/core': 7.29.0
+ '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.29.0)
'@babel/helper-plugin-utils': 7.28.6
- optional: true
'@babel/plugin-transform-unicode-sets-regex@7.28.6(@babel/core@7.29.0)':
dependencies:
@@ -13588,82 +12380,6 @@ snapshots:
'@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.29.0)
'@babel/helper-plugin-utils': 7.28.6
- '@babel/preset-env@7.27.2(@babel/core@7.27.1)':
- dependencies:
- '@babel/compat-data': 7.29.3
- '@babel/core': 7.27.1
- '@babel/helper-compilation-targets': 7.28.6
- '@babel/helper-plugin-utils': 7.28.6
- '@babel/helper-validator-option': 7.27.1
- '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.28.5(@babel/core@7.27.1)
- '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.27.1(@babel/core@7.27.1)
- '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.27.1(@babel/core@7.27.1)
- '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.27.1(@babel/core@7.27.1)
- '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.28.6(@babel/core@7.27.1)
- '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.27.1)
- '@babel/plugin-syntax-import-assertions': 7.28.6(@babel/core@7.27.1)
- '@babel/plugin-syntax-import-attributes': 7.28.6(@babel/core@7.27.1)
- '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.27.1)
- '@babel/plugin-transform-arrow-functions': 7.27.1(@babel/core@7.27.1)
- '@babel/plugin-transform-async-generator-functions': 7.29.0(@babel/core@7.27.1)
- '@babel/plugin-transform-async-to-generator': 7.28.6(@babel/core@7.27.1)
- '@babel/plugin-transform-block-scoped-functions': 7.27.1(@babel/core@7.27.1)
- '@babel/plugin-transform-block-scoping': 7.28.6(@babel/core@7.27.1)
- '@babel/plugin-transform-class-properties': 7.28.6(@babel/core@7.27.1)
- '@babel/plugin-transform-class-static-block': 7.28.6(@babel/core@7.27.1)
- '@babel/plugin-transform-classes': 7.28.6(@babel/core@7.27.1)
- '@babel/plugin-transform-computed-properties': 7.28.6(@babel/core@7.27.1)
- '@babel/plugin-transform-destructuring': 7.28.5(@babel/core@7.27.1)
- '@babel/plugin-transform-dotall-regex': 7.28.6(@babel/core@7.27.1)
- '@babel/plugin-transform-duplicate-keys': 7.27.1(@babel/core@7.27.1)
- '@babel/plugin-transform-duplicate-named-capturing-groups-regex': 7.29.0(@babel/core@7.27.1)
- '@babel/plugin-transform-dynamic-import': 7.27.1(@babel/core@7.27.1)
- '@babel/plugin-transform-exponentiation-operator': 7.28.6(@babel/core@7.27.1)
- '@babel/plugin-transform-export-namespace-from': 7.27.1(@babel/core@7.27.1)
- '@babel/plugin-transform-for-of': 7.27.1(@babel/core@7.27.1)
- '@babel/plugin-transform-function-name': 7.27.1(@babel/core@7.27.1)
- '@babel/plugin-transform-json-strings': 7.28.6(@babel/core@7.27.1)
- '@babel/plugin-transform-literals': 7.27.1(@babel/core@7.27.1)
- '@babel/plugin-transform-logical-assignment-operators': 7.28.6(@babel/core@7.27.1)
- '@babel/plugin-transform-member-expression-literals': 7.27.1(@babel/core@7.27.1)
- '@babel/plugin-transform-modules-amd': 7.27.1(@babel/core@7.27.1)
- '@babel/plugin-transform-modules-commonjs': 7.28.6(@babel/core@7.27.1)
- '@babel/plugin-transform-modules-systemjs': 7.29.4(@babel/core@7.27.1)
- '@babel/plugin-transform-modules-umd': 7.27.1(@babel/core@7.27.1)
- '@babel/plugin-transform-named-capturing-groups-regex': 7.29.0(@babel/core@7.27.1)
- '@babel/plugin-transform-new-target': 7.27.1(@babel/core@7.27.1)
- '@babel/plugin-transform-nullish-coalescing-operator': 7.28.6(@babel/core@7.27.1)
- '@babel/plugin-transform-numeric-separator': 7.28.6(@babel/core@7.27.1)
- '@babel/plugin-transform-object-rest-spread': 7.28.6(@babel/core@7.27.1)
- '@babel/plugin-transform-object-super': 7.27.1(@babel/core@7.27.1)
- '@babel/plugin-transform-optional-catch-binding': 7.28.6(@babel/core@7.27.1)
- '@babel/plugin-transform-optional-chaining': 7.28.6(@babel/core@7.27.1)
- '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.27.1)
- '@babel/plugin-transform-private-methods': 7.28.6(@babel/core@7.27.1)
- '@babel/plugin-transform-private-property-in-object': 7.28.6(@babel/core@7.27.1)
- '@babel/plugin-transform-property-literals': 7.27.1(@babel/core@7.27.1)
- '@babel/plugin-transform-regenerator': 7.29.0(@babel/core@7.27.1)
- '@babel/plugin-transform-regexp-modifiers': 7.28.6(@babel/core@7.27.1)
- '@babel/plugin-transform-reserved-words': 7.27.1(@babel/core@7.27.1)
- '@babel/plugin-transform-shorthand-properties': 7.27.1(@babel/core@7.27.1)
- '@babel/plugin-transform-spread': 7.28.6(@babel/core@7.27.1)
- '@babel/plugin-transform-sticky-regex': 7.27.1(@babel/core@7.27.1)
- '@babel/plugin-transform-template-literals': 7.27.1(@babel/core@7.27.1)
- '@babel/plugin-transform-typeof-symbol': 7.27.1(@babel/core@7.27.1)
- '@babel/plugin-transform-unicode-escapes': 7.27.1(@babel/core@7.27.1)
- '@babel/plugin-transform-unicode-property-regex': 7.28.6(@babel/core@7.27.1)
- '@babel/plugin-transform-unicode-regex': 7.27.1(@babel/core@7.27.1)
- '@babel/plugin-transform-unicode-sets-regex': 7.28.6(@babel/core@7.27.1)
- '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.27.1)
- babel-plugin-polyfill-corejs2: 0.4.17(@babel/core@7.27.1)
- babel-plugin-polyfill-corejs3: 0.11.1(@babel/core@7.27.1)
- babel-plugin-polyfill-regenerator: 0.6.8(@babel/core@7.27.1)
- core-js-compat: 3.49.0
- semver: 6.3.1
- transitivePeerDependencies:
- - supports-color
- optional: true
-
'@babel/preset-env@7.29.5(@babel/core@7.29.0)':
dependencies:
'@babel/compat-data': 7.29.3
@@ -13741,14 +12457,6 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.27.1)':
- dependencies:
- '@babel/core': 7.27.1
- '@babel/helper-plugin-utils': 7.28.6
- '@babel/types': 7.29.0
- esutils: 2.0.3
- optional: true
-
'@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.29.0)':
dependencies:
'@babel/core': 7.29.0
@@ -13982,9 +12690,6 @@ snapshots:
'@csstools/css-tokenizer@4.0.0': {}
- '@discoveryjs/json-ext@0.6.3':
- optional: true
-
'@emnapi/core@1.10.0':
dependencies:
'@emnapi/wasi-threads': 1.2.1
@@ -14011,9 +12716,6 @@ snapshots:
dependencies:
tslib: 2.8.1
- '@esbuild/aix-ppc64@0.25.5':
- optional: true
-
'@esbuild/aix-ppc64@0.27.3':
optional: true
@@ -14023,9 +12725,6 @@ snapshots:
'@esbuild/aix-ppc64@0.28.0':
optional: true
- '@esbuild/android-arm64@0.25.5':
- optional: true
-
'@esbuild/android-arm64@0.27.3':
optional: true
@@ -14035,9 +12734,6 @@ snapshots:
'@esbuild/android-arm64@0.28.0':
optional: true
- '@esbuild/android-arm@0.25.5':
- optional: true
-
'@esbuild/android-arm@0.27.3':
optional: true
@@ -14047,9 +12743,6 @@ snapshots:
'@esbuild/android-arm@0.28.0':
optional: true
- '@esbuild/android-x64@0.25.5':
- optional: true
-
'@esbuild/android-x64@0.27.3':
optional: true
@@ -14059,9 +12752,6 @@ snapshots:
'@esbuild/android-x64@0.28.0':
optional: true
- '@esbuild/darwin-arm64@0.25.5':
- optional: true
-
'@esbuild/darwin-arm64@0.27.3':
optional: true
@@ -14071,9 +12761,6 @@ snapshots:
'@esbuild/darwin-arm64@0.28.0':
optional: true
- '@esbuild/darwin-x64@0.25.5':
- optional: true
-
'@esbuild/darwin-x64@0.27.3':
optional: true
@@ -14083,9 +12770,6 @@ snapshots:
'@esbuild/darwin-x64@0.28.0':
optional: true
- '@esbuild/freebsd-arm64@0.25.5':
- optional: true
-
'@esbuild/freebsd-arm64@0.27.3':
optional: true
@@ -14095,9 +12779,6 @@ snapshots:
'@esbuild/freebsd-arm64@0.28.0':
optional: true
- '@esbuild/freebsd-x64@0.25.5':
- optional: true
-
'@esbuild/freebsd-x64@0.27.3':
optional: true
@@ -14107,9 +12788,6 @@ snapshots:
'@esbuild/freebsd-x64@0.28.0':
optional: true
- '@esbuild/linux-arm64@0.25.5':
- optional: true
-
'@esbuild/linux-arm64@0.27.3':
optional: true
@@ -14119,9 +12797,6 @@ snapshots:
'@esbuild/linux-arm64@0.28.0':
optional: true
- '@esbuild/linux-arm@0.25.5':
- optional: true
-
'@esbuild/linux-arm@0.27.3':
optional: true
@@ -14131,9 +12806,6 @@ snapshots:
'@esbuild/linux-arm@0.28.0':
optional: true
- '@esbuild/linux-ia32@0.25.5':
- optional: true
-
'@esbuild/linux-ia32@0.27.3':
optional: true
@@ -14143,9 +12815,6 @@ snapshots:
'@esbuild/linux-ia32@0.28.0':
optional: true
- '@esbuild/linux-loong64@0.25.5':
- optional: true
-
'@esbuild/linux-loong64@0.27.3':
optional: true
@@ -14155,9 +12824,6 @@ snapshots:
'@esbuild/linux-loong64@0.28.0':
optional: true
- '@esbuild/linux-mips64el@0.25.5':
- optional: true
-
'@esbuild/linux-mips64el@0.27.3':
optional: true
@@ -14167,9 +12833,6 @@ snapshots:
'@esbuild/linux-mips64el@0.28.0':
optional: true
- '@esbuild/linux-ppc64@0.25.5':
- optional: true
-
'@esbuild/linux-ppc64@0.27.3':
optional: true
@@ -14179,9 +12842,6 @@ snapshots:
'@esbuild/linux-ppc64@0.28.0':
optional: true
- '@esbuild/linux-riscv64@0.25.5':
- optional: true
-
'@esbuild/linux-riscv64@0.27.3':
optional: true
@@ -14191,9 +12851,6 @@ snapshots:
'@esbuild/linux-riscv64@0.28.0':
optional: true
- '@esbuild/linux-s390x@0.25.5':
- optional: true
-
'@esbuild/linux-s390x@0.27.3':
optional: true
@@ -14203,9 +12860,6 @@ snapshots:
'@esbuild/linux-s390x@0.28.0':
optional: true
- '@esbuild/linux-x64@0.25.5':
- optional: true
-
'@esbuild/linux-x64@0.27.3':
optional: true
@@ -14215,9 +12869,6 @@ snapshots:
'@esbuild/linux-x64@0.28.0':
optional: true
- '@esbuild/netbsd-arm64@0.25.5':
- optional: true
-
'@esbuild/netbsd-arm64@0.27.3':
optional: true
@@ -14227,9 +12878,6 @@ snapshots:
'@esbuild/netbsd-arm64@0.28.0':
optional: true
- '@esbuild/netbsd-x64@0.25.5':
- optional: true
-
'@esbuild/netbsd-x64@0.27.3':
optional: true
@@ -14239,9 +12887,6 @@ snapshots:
'@esbuild/netbsd-x64@0.28.0':
optional: true
- '@esbuild/openbsd-arm64@0.25.5':
- optional: true
-
'@esbuild/openbsd-arm64@0.27.3':
optional: true
@@ -14251,9 +12896,6 @@ snapshots:
'@esbuild/openbsd-arm64@0.28.0':
optional: true
- '@esbuild/openbsd-x64@0.25.5':
- optional: true
-
'@esbuild/openbsd-x64@0.27.3':
optional: true
@@ -14272,9 +12914,6 @@ snapshots:
'@esbuild/openharmony-arm64@0.28.0':
optional: true
- '@esbuild/sunos-x64@0.25.5':
- optional: true
-
'@esbuild/sunos-x64@0.27.3':
optional: true
@@ -14284,9 +12923,6 @@ snapshots:
'@esbuild/sunos-x64@0.28.0':
optional: true
- '@esbuild/win32-arm64@0.25.5':
- optional: true
-
'@esbuild/win32-arm64@0.27.3':
optional: true
@@ -14296,9 +12932,6 @@ snapshots:
'@esbuild/win32-arm64@0.28.0':
optional: true
- '@esbuild/win32-ia32@0.25.5':
- optional: true
-
'@esbuild/win32-ia32@0.27.3':
optional: true
@@ -14308,9 +12941,6 @@ snapshots:
'@esbuild/win32-ia32@0.28.0':
optional: true
- '@esbuild/win32-x64@0.25.5':
- optional: true
-
'@esbuild/win32-x64@0.27.3':
optional: true
@@ -14418,14 +13048,6 @@ snapshots:
optionalDependencies:
'@types/node': 25.9.1
- '@inquirer/confirm@5.1.10(@types/node@25.9.1)':
- dependencies:
- '@inquirer/core': 10.3.2(@types/node@25.9.1)
- '@inquirer/type': 3.0.10(@types/node@25.9.1)
- optionalDependencies:
- '@types/node': 25.9.1
- optional: true
-
'@inquirer/confirm@5.1.21(@types/node@25.9.1)':
dependencies:
'@inquirer/core': 10.3.2(@types/node@25.9.1)
@@ -14788,45 +13410,24 @@ snapshots:
transitivePeerDependencies:
- '@types/node'
- '@lmdb/lmdb-darwin-arm64@3.3.0':
- optional: true
-
'@lmdb/lmdb-darwin-arm64@3.5.1':
optional: true
- '@lmdb/lmdb-darwin-x64@3.3.0':
- optional: true
-
'@lmdb/lmdb-darwin-x64@3.5.1':
optional: true
- '@lmdb/lmdb-linux-arm64@3.3.0':
- optional: true
-
'@lmdb/lmdb-linux-arm64@3.5.1':
optional: true
- '@lmdb/lmdb-linux-arm@3.3.0':
- optional: true
-
'@lmdb/lmdb-linux-arm@3.5.1':
optional: true
- '@lmdb/lmdb-linux-x64@3.3.0':
- optional: true
-
'@lmdb/lmdb-linux-x64@3.5.1':
optional: true
- '@lmdb/lmdb-win32-arm64@3.3.0':
- optional: true
-
'@lmdb/lmdb-win32-arm64@3.5.1':
optional: true
- '@lmdb/lmdb-win32-x64@3.3.0':
- optional: true
-
'@lmdb/lmdb-win32-x64@3.5.1':
optional: true
@@ -14930,14 +13531,14 @@ snapshots:
axios: 1.16.0
chalk: 3.0.0
fs-extra: 9.1.0
- isomorphic-ws: 5.0.0(ws@8.21.0)
- koa: 3.2.0
+ isomorphic-ws: 5.0.0(ws@8.18.0)
+ koa: 3.0.3
lodash.clonedeepwith: 4.5.0
log4js: 6.9.1
node-schedule: 2.1.1
rambda: 9.4.2
typescript: 6.0.3
- ws: 8.21.0
+ ws: 8.18.0
transitivePeerDependencies:
- bufferutil
- debug
@@ -14952,11 +13553,11 @@ snapshots:
'@module-federation/third-party-dts-extractor': 2.4.0
adm-zip: 0.5.10
ansi-colors: 4.1.3
- isomorphic-ws: 5.0.0(ws@8.21.0)
+ isomorphic-ws: 5.0.0(ws@8.18.0)
node-schedule: 2.1.1
typescript: 6.0.3
undici: 7.24.7
- ws: 8.21.0
+ ws: 8.18.0
transitivePeerDependencies:
- bufferutil
- node-fetch
@@ -14970,11 +13571,11 @@ snapshots:
'@module-federation/third-party-dts-extractor': 2.5.0
adm-zip: 0.5.10
ansi-colors: 4.1.3
- isomorphic-ws: 5.0.0(ws@8.21.0)
+ isomorphic-ws: 5.0.0(ws@8.18.0)
node-schedule: 2.1.1
typescript: 6.0.3
undici: 7.24.7
- ws: 8.21.0
+ ws: 8.18.0
transitivePeerDependencies:
- bufferutil
- node-fetch
@@ -15231,7 +13832,7 @@ snapshots:
find-pkg: 2.0.0
resolve: 1.22.8
- '@module-federation/vite@1.16.2(node-fetch@2.7.0(encoding@0.1.13))(typescript@6.0.3)(vite@8.0.14(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(less@4.3.0)(sass-embedded@1.89.0)(sass@1.97.3)(stylus@0.64.0)(terser@5.47.1)(yaml@2.8.3))':
+ '@module-federation/vite@1.16.2(node-fetch@2.7.0(encoding@0.1.13))(typescript@6.0.3)(vite@8.0.14(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(less@4.3.0)(sass-embedded@1.89.0)(sass@1.97.3)(terser@5.47.1)(yaml@2.9.0))':
dependencies:
'@module-federation/dts-plugin': 2.5.0(node-fetch@2.7.0(encoding@0.1.13))(typescript@6.0.3)
'@module-federation/runtime': 2.5.0(node-fetch@2.7.0(encoding@0.1.13))
@@ -15239,7 +13840,7 @@ snapshots:
es-module-lexer: 2.0.0
estree-walker: 3.0.3
pathe: 2.0.3
- vite: 8.0.14(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(less@4.3.0)(sass-embedded@1.89.0)(sass@1.97.3)(stylus@0.64.0)(terser@5.47.1)(yaml@2.8.3)
+ vite: 8.0.14(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(less@4.3.0)(sass-embedded@1.89.0)(sass@1.97.3)(terser@5.47.1)(yaml@2.9.0)
transitivePeerDependencies:
- bufferutil
- node-fetch
@@ -15389,13 +13990,6 @@ snapshots:
optionalDependencies:
rxjs: 7.8.2
- '@ngtools/webpack@20.0.0(@angular/compiler-cli@21.2.15(@angular/compiler@21.2.15)(typescript@6.0.3))(typescript@6.0.3)(webpack@5.106.2(@swc/core@1.15.40(@swc/helpers@0.5.23))(esbuild@0.28.0))':
- dependencies:
- '@angular/compiler-cli': 21.2.15(@angular/compiler@21.2.15)(typescript@6.0.3)
- typescript: 6.0.3
- webpack: 5.106.2(@swc/core@1.15.40(@swc/helpers@0.5.23))(esbuild@0.28.0)
- optional: true
-
'@noble/hashes@1.4.0': {}
'@nodelib/fs.scandir@2.1.5':
@@ -15469,16 +14063,16 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@nx/angular@22.7.5(9d93e046e8af5178c45b7fe7b3d6e447)':
+ '@nx/angular@22.7.5(8deabd555917c9e594b192212ae17a3a)':
dependencies:
'@angular-devkit/core': 21.2.13(chokidar@5.0.0)
'@angular-devkit/schematics': 21.2.13(chokidar@5.0.0)
'@nx/devkit': 22.7.5(nx@22.7.5(@swc-node/register@1.11.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@swc/core@1.15.40(@swc/helpers@0.5.23))(@swc/types@0.1.26)(typescript@6.0.3))(@swc/core@1.15.40(@swc/helpers@0.5.23)))
'@nx/eslint': 22.7.5(c15c711dce428ed17b010739ba5fa2de)
'@nx/js': 22.7.5(@babel/traverse@7.29.0)(@swc-node/register@1.11.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@swc/core@1.15.40(@swc/helpers@0.5.23))(@swc/types@0.1.26)(typescript@6.0.3))(@swc/core@1.15.40(@swc/helpers@0.5.23))(nx@22.7.5(@swc-node/register@1.11.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@swc/core@1.15.40(@swc/helpers@0.5.23))(@swc/types@0.1.26)(typescript@6.0.3))(@swc/core@1.15.40(@swc/helpers@0.5.23)))
- '@nx/module-federation': 22.7.5(c9a81b288434a345ac96a1d68defa7e5)
- '@nx/rspack': 22.7.5(fed2c9181aea41fe03992f29d5ab8208)
- '@nx/web': 22.7.5(7d722e0a6ac6615449213db93bb7ae2a)
+ '@nx/module-federation': 22.7.5(9e68a4694ca16f7a1ffc3ebc52bd1dd9)
+ '@nx/rspack': 22.7.5(ede7fe40282330c771efa3bd8ea4e69d)
+ '@nx/web': 22.7.5(739c633d30084b1e8fb8ca781ebc32a5)
'@nx/webpack': 22.7.5(@babel/traverse@7.29.0)(@rspack/core@1.6.8(@swc/helpers@0.5.23))(@swc-node/register@1.11.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@swc/core@1.15.40(@swc/helpers@0.5.23))(@swc/types@0.1.26)(typescript@6.0.3))(@swc/core@1.15.40(@swc/helpers@0.5.23))(esbuild@0.28.0)(lightningcss@1.32.0)(nx@22.7.5(@swc-node/register@1.11.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@swc/core@1.15.40(@swc/helpers@0.5.23))(@swc/types@0.1.26)(typescript@6.0.3))(@swc/core@1.15.40(@swc/helpers@0.5.23)))(typescript@6.0.3)
'@nx/workspace': 22.7.5(@swc-node/register@1.11.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@swc/core@1.15.40(@swc/helpers@0.5.23))(@swc/types@0.1.26)(typescript@6.0.3))(@swc/core@1.15.40(@swc/helpers@0.5.23))
'@phenomnomnominal/tsquery': 6.2.0(typescript@6.0.3)
@@ -15493,8 +14087,7 @@ snapshots:
tslib: 2.8.1
webpack-merge: 5.10.0
optionalDependencies:
- '@angular-devkit/build-angular': 20.0.0(5051dee4ea0f423ab526f197e92d0945)
- '@angular/build': 21.2.13(317a9c63e2a22ee97b948b5b731d9e1c)
+ '@angular/build': 21.2.13(2fc71c60e1ba34e5381d5136307f56c3)
transitivePeerDependencies:
- '@babel/traverse'
- '@module-federation/enhanced'
@@ -15689,14 +14282,14 @@ snapshots:
- nx
- supports-color
- '@nx/module-federation@22.7.5(c9a81b288434a345ac96a1d68defa7e5)':
+ '@nx/module-federation@22.7.5(9e68a4694ca16f7a1ffc3ebc52bd1dd9)':
dependencies:
'@module-federation/enhanced': 2.4.0(@rspack/core@1.6.8(@swc/helpers@0.5.23))(node-fetch@2.7.0(encoding@0.1.13))(typescript@6.0.3)(webpack@5.106.2(@swc/core@1.15.40(@swc/helpers@0.5.23))(esbuild@0.28.0))
'@module-federation/node': 2.7.25(@rspack/core@1.6.8(@swc/helpers@0.5.23))(react-dom@19.1.0(react@19.2.6))(react@19.2.6)(typescript@6.0.3)(webpack@5.106.2(@swc/core@1.15.40(@swc/helpers@0.5.23))(esbuild@0.28.0))
'@module-federation/sdk': 2.4.0(node-fetch@2.7.0(encoding@0.1.13))
'@nx/devkit': 22.7.5(nx@22.7.5(@swc-node/register@1.11.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@swc/core@1.15.40(@swc/helpers@0.5.23))(@swc/types@0.1.26)(typescript@6.0.3))(@swc/core@1.15.40(@swc/helpers@0.5.23)))
'@nx/js': 22.7.5(@babel/traverse@7.29.0)(@swc-node/register@1.11.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@swc/core@1.15.40(@swc/helpers@0.5.23))(@swc/types@0.1.26)(typescript@6.0.3))(@swc/core@1.15.40(@swc/helpers@0.5.23))(nx@22.7.5(@swc-node/register@1.11.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@swc/core@1.15.40(@swc/helpers@0.5.23))(@swc/types@0.1.26)(typescript@6.0.3))(@swc/core@1.15.40(@swc/helpers@0.5.23)))
- '@nx/web': 22.7.5(7d722e0a6ac6615449213db93bb7ae2a)
+ '@nx/web': 22.7.5(739c633d30084b1e8fb8ca781ebc32a5)
'@rspack/core': 1.6.8(@swc/helpers@0.5.23)
express: 4.22.1
http-proxy-middleware: 3.0.5
@@ -15808,14 +14401,14 @@ snapshots:
- supports-color
- verdaccio
- '@nx/rspack@22.7.5(fed2c9181aea41fe03992f29d5ab8208)':
+ '@nx/rspack@22.7.5(ede7fe40282330c771efa3bd8ea4e69d)':
dependencies:
'@module-federation/enhanced': 2.4.0(@rspack/core@1.6.8(@swc/helpers@0.5.23))(node-fetch@2.7.0(encoding@0.1.13))(typescript@6.0.3)(webpack@5.106.2(@swc/core@1.15.40(@swc/helpers@0.5.23))(esbuild@0.28.0))
'@module-federation/node': 2.7.25(@rspack/core@1.6.8(@swc/helpers@0.5.23))(react-dom@19.1.0(react@19.2.6))(react@19.2.6)(typescript@6.0.3)(webpack@5.106.2(@swc/core@1.15.40(@swc/helpers@0.5.23))(esbuild@0.28.0))
'@nx/devkit': 22.7.5(nx@22.7.5(@swc-node/register@1.11.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@swc/core@1.15.40(@swc/helpers@0.5.23))(@swc/types@0.1.26)(typescript@6.0.3))(@swc/core@1.15.40(@swc/helpers@0.5.23)))
'@nx/js': 22.7.5(@babel/traverse@7.29.0)(@swc-node/register@1.11.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@swc/core@1.15.40(@swc/helpers@0.5.23))(@swc/types@0.1.26)(typescript@6.0.3))(@swc/core@1.15.40(@swc/helpers@0.5.23))(nx@22.7.5(@swc-node/register@1.11.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@swc/core@1.15.40(@swc/helpers@0.5.23))(@swc/types@0.1.26)(typescript@6.0.3))(@swc/core@1.15.40(@swc/helpers@0.5.23)))
- '@nx/module-federation': 22.7.5(c9a81b288434a345ac96a1d68defa7e5)
- '@nx/web': 22.7.5(7d722e0a6ac6615449213db93bb7ae2a)
+ '@nx/module-federation': 22.7.5(9e68a4694ca16f7a1ffc3ebc52bd1dd9)
+ '@nx/web': 22.7.5(739c633d30084b1e8fb8ca781ebc32a5)
'@phenomnomnominal/tsquery': 6.2.0(typescript@6.0.3)
'@rspack/core': 1.6.8(@swc/helpers@0.5.23)
'@rspack/dev-server': 1.1.4(@rspack/core@1.6.8(@swc/helpers@0.5.23))(@types/express@4.17.25)(webpack@5.106.2(@swc/core@1.15.40(@swc/helpers@0.5.23))(esbuild@0.28.0))
@@ -15875,11 +14468,11 @@ snapshots:
- webpack-cli
- webpack-hot-middleware
- '@nx/vite@22.7.5(@babel/traverse@7.29.0)(@nx/eslint@22.7.5(c15c711dce428ed17b010739ba5fa2de))(@swc-node/register@1.11.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@swc/core@1.15.40(@swc/helpers@0.5.23))(@swc/types@0.1.26)(typescript@6.0.3))(@swc/core@1.15.40(@swc/helpers@0.5.23))(nx@22.7.5(@swc-node/register@1.11.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@swc/core@1.15.40(@swc/helpers@0.5.23))(@swc/types@0.1.26)(typescript@6.0.3))(@swc/core@1.15.40(@swc/helpers@0.5.23)))(typescript@6.0.3)(vite@8.0.14(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(less@4.3.0)(sass-embedded@1.89.0)(sass@1.97.3)(stylus@0.64.0)(terser@5.47.1)(yaml@2.8.3))(vitest@4.1.7)':
+ '@nx/vite@22.7.5(@babel/traverse@7.29.0)(@nx/eslint@22.7.5(c15c711dce428ed17b010739ba5fa2de))(@swc-node/register@1.11.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@swc/core@1.15.40(@swc/helpers@0.5.23))(@swc/types@0.1.26)(typescript@6.0.3))(@swc/core@1.15.40(@swc/helpers@0.5.23))(nx@22.7.5(@swc-node/register@1.11.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@swc/core@1.15.40(@swc/helpers@0.5.23))(@swc/types@0.1.26)(typescript@6.0.3))(@swc/core@1.15.40(@swc/helpers@0.5.23)))(typescript@6.0.3)(vite@8.0.14(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(less@4.3.0)(sass-embedded@1.89.0)(sass@1.97.3)(terser@5.47.1)(yaml@2.9.0))(vitest@4.1.7)':
dependencies:
'@nx/devkit': 22.7.5(nx@22.7.5(@swc-node/register@1.11.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@swc/core@1.15.40(@swc/helpers@0.5.23))(@swc/types@0.1.26)(typescript@6.0.3))(@swc/core@1.15.40(@swc/helpers@0.5.23)))
'@nx/js': 22.7.5(@babel/traverse@7.29.0)(@swc-node/register@1.11.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@swc/core@1.15.40(@swc/helpers@0.5.23))(@swc/types@0.1.26)(typescript@6.0.3))(@swc/core@1.15.40(@swc/helpers@0.5.23))(nx@22.7.5(@swc-node/register@1.11.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@swc/core@1.15.40(@swc/helpers@0.5.23))(@swc/types@0.1.26)(typescript@6.0.3))(@swc/core@1.15.40(@swc/helpers@0.5.23)))
- '@nx/vitest': 22.7.5(@babel/traverse@7.29.0)(@nx/eslint@22.7.5(c15c711dce428ed17b010739ba5fa2de))(@swc-node/register@1.11.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@swc/core@1.15.40(@swc/helpers@0.5.23))(@swc/types@0.1.26)(typescript@6.0.3))(@swc/core@1.15.40(@swc/helpers@0.5.23))(nx@22.7.5(@swc-node/register@1.11.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@swc/core@1.15.40(@swc/helpers@0.5.23))(@swc/types@0.1.26)(typescript@6.0.3))(@swc/core@1.15.40(@swc/helpers@0.5.23)))(typescript@6.0.3)(vite@8.0.14(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(less@4.3.0)(sass-embedded@1.89.0)(sass@1.97.3)(stylus@0.64.0)(terser@5.47.1)(yaml@2.8.3))(vitest@4.1.7)
+ '@nx/vitest': 22.7.5(@babel/traverse@7.29.0)(@nx/eslint@22.7.5(c15c711dce428ed17b010739ba5fa2de))(@swc-node/register@1.11.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@swc/core@1.15.40(@swc/helpers@0.5.23))(@swc/types@0.1.26)(typescript@6.0.3))(@swc/core@1.15.40(@swc/helpers@0.5.23))(nx@22.7.5(@swc-node/register@1.11.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@swc/core@1.15.40(@swc/helpers@0.5.23))(@swc/types@0.1.26)(typescript@6.0.3))(@swc/core@1.15.40(@swc/helpers@0.5.23)))(typescript@6.0.3)(vite@8.0.14(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(less@4.3.0)(sass-embedded@1.89.0)(sass@1.97.3)(terser@5.47.1)(yaml@2.9.0))(vitest@4.1.7)
'@phenomnomnominal/tsquery': 6.2.0(typescript@6.0.3)
ajv: 8.20.0
enquirer: 2.3.6
@@ -15887,8 +14480,8 @@ snapshots:
semver: 7.7.4
tsconfig-paths: 4.2.0
tslib: 2.8.1
- vite: 8.0.14(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(less@4.3.0)(sass-embedded@1.89.0)(sass@1.97.3)(stylus@0.64.0)(terser@5.47.1)(yaml@2.8.3)
- vitest: 4.1.7(@types/node@25.9.1)(@vitest/coverage-v8@4.1.7)(@vitest/ui@4.1.7)(jsdom@29.1.1)(vite@8.0.14(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(less@4.3.0)(sass-embedded@1.89.0)(sass@1.97.3)(stylus@0.64.0)(terser@5.47.1)(yaml@2.8.3))
+ vite: 8.0.14(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(less@4.3.0)(sass-embedded@1.89.0)(sass@1.97.3)(terser@5.47.1)(yaml@2.9.0)
+ vitest: 4.1.7(@types/node@25.9.1)(@vitest/coverage-v8@4.1.7)(@vitest/ui@4.1.7)(jsdom@29.1.1)(vite@8.0.14(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(less@4.3.0)(sass-embedded@1.89.0)(sass@1.97.3)(terser@5.47.1)(yaml@2.9.0))
transitivePeerDependencies:
- '@babel/traverse'
- '@nx/eslint'
@@ -15900,7 +14493,7 @@ snapshots:
- typescript
- verdaccio
- '@nx/vitest@22.7.5(@babel/traverse@7.29.0)(@nx/eslint@22.7.5(c15c711dce428ed17b010739ba5fa2de))(@swc-node/register@1.11.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@swc/core@1.15.40(@swc/helpers@0.5.23))(@swc/types@0.1.26)(typescript@6.0.3))(@swc/core@1.15.40(@swc/helpers@0.5.23))(nx@22.7.5(@swc-node/register@1.11.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@swc/core@1.15.40(@swc/helpers@0.5.23))(@swc/types@0.1.26)(typescript@6.0.3))(@swc/core@1.15.40(@swc/helpers@0.5.23)))(typescript@6.0.3)(vite@8.0.14(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(less@4.3.0)(sass-embedded@1.89.0)(sass@1.97.3)(stylus@0.64.0)(terser@5.47.1)(yaml@2.8.3))(vitest@4.1.7)':
+ '@nx/vitest@22.7.5(@babel/traverse@7.29.0)(@nx/eslint@22.7.5(c15c711dce428ed17b010739ba5fa2de))(@swc-node/register@1.11.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@swc/core@1.15.40(@swc/helpers@0.5.23))(@swc/types@0.1.26)(typescript@6.0.3))(@swc/core@1.15.40(@swc/helpers@0.5.23))(nx@22.7.5(@swc-node/register@1.11.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@swc/core@1.15.40(@swc/helpers@0.5.23))(@swc/types@0.1.26)(typescript@6.0.3))(@swc/core@1.15.40(@swc/helpers@0.5.23)))(typescript@6.0.3)(vite@8.0.14(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(less@4.3.0)(sass-embedded@1.89.0)(sass@1.97.3)(terser@5.47.1)(yaml@2.9.0))(vitest@4.1.7)':
dependencies:
'@nx/devkit': 22.7.5(nx@22.7.5(@swc-node/register@1.11.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@swc/core@1.15.40(@swc/helpers@0.5.23))(@swc/types@0.1.26)(typescript@6.0.3))(@swc/core@1.15.40(@swc/helpers@0.5.23)))
'@nx/js': 22.7.5(@babel/traverse@7.29.0)(@swc-node/register@1.11.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@swc/core@1.15.40(@swc/helpers@0.5.23))(@swc/types@0.1.26)(typescript@6.0.3))(@swc/core@1.15.40(@swc/helpers@0.5.23))(nx@22.7.5(@swc-node/register@1.11.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@swc/core@1.15.40(@swc/helpers@0.5.23))(@swc/types@0.1.26)(typescript@6.0.3))(@swc/core@1.15.40(@swc/helpers@0.5.23)))
@@ -15909,8 +14502,8 @@ snapshots:
tslib: 2.8.1
optionalDependencies:
'@nx/eslint': 22.7.5(c15c711dce428ed17b010739ba5fa2de)
- vite: 8.0.14(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(less@4.3.0)(sass-embedded@1.89.0)(sass@1.97.3)(stylus@0.64.0)(terser@5.47.1)(yaml@2.8.3)
- vitest: 4.1.7(@types/node@25.9.1)(@vitest/coverage-v8@4.1.7)(@vitest/ui@4.1.7)(jsdom@29.1.1)(vite@8.0.14(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(less@4.3.0)(sass-embedded@1.89.0)(sass@1.97.3)(stylus@0.64.0)(terser@5.47.1)(yaml@2.8.3))
+ vite: 8.0.14(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(less@4.3.0)(sass-embedded@1.89.0)(sass@1.97.3)(terser@5.47.1)(yaml@2.9.0)
+ vitest: 4.1.7(@types/node@25.9.1)(@vitest/coverage-v8@4.1.7)(@vitest/ui@4.1.7)(jsdom@29.1.1)(vite@8.0.14(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(less@4.3.0)(sass-embedded@1.89.0)(sass@1.97.3)(terser@5.47.1)(yaml@2.9.0))
transitivePeerDependencies:
- '@babel/traverse'
- '@swc-node/register'
@@ -15921,7 +14514,7 @@ snapshots:
- typescript
- verdaccio
- '@nx/web@22.7.5(7d722e0a6ac6615449213db93bb7ae2a)':
+ '@nx/web@22.7.5(739c633d30084b1e8fb8ca781ebc32a5)':
dependencies:
'@nx/devkit': 22.7.5(nx@22.7.5(@swc-node/register@1.11.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@swc/core@1.15.40(@swc/helpers@0.5.23))(@swc/types@0.1.26)(typescript@6.0.3))(@swc/core@1.15.40(@swc/helpers@0.5.23)))
'@nx/js': 22.7.5(@babel/traverse@7.29.0)(@swc-node/register@1.11.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@swc/core@1.15.40(@swc/helpers@0.5.23))(@swc/types@0.1.26)(typescript@6.0.3))(@swc/core@1.15.40(@swc/helpers@0.5.23))(nx@22.7.5(@swc-node/register@1.11.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@swc/core@1.15.40(@swc/helpers@0.5.23))(@swc/types@0.1.26)(typescript@6.0.3))(@swc/core@1.15.40(@swc/helpers@0.5.23)))
@@ -15933,7 +14526,7 @@ snapshots:
'@nx/eslint': 22.7.5(c15c711dce428ed17b010739ba5fa2de)
'@nx/jest': 22.7.5(@babel/traverse@7.29.0)(@swc-node/register@1.11.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@swc/core@1.15.40(@swc/helpers@0.5.23))(@swc/types@0.1.26)(typescript@6.0.3))(@swc/core@1.15.40(@swc/helpers@0.5.23))(@types/node@25.9.1)(babel-plugin-macros@3.1.0)(nx@22.7.5(@swc-node/register@1.11.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@swc/core@1.15.40(@swc/helpers@0.5.23))(@swc/types@0.1.26)(typescript@6.0.3))(@swc/core@1.15.40(@swc/helpers@0.5.23)))(ts-node@10.9.2(@swc/core@1.15.40(@swc/helpers@0.5.23))(@types/node@25.9.1)(typescript@6.0.3))(typescript@6.0.3)
'@nx/playwright': 22.7.5(76d9b9d8f83254a1778fcb5570bf5179)
- '@nx/vite': 22.7.5(@babel/traverse@7.29.0)(@nx/eslint@22.7.5(c15c711dce428ed17b010739ba5fa2de))(@swc-node/register@1.11.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@swc/core@1.15.40(@swc/helpers@0.5.23))(@swc/types@0.1.26)(typescript@6.0.3))(@swc/core@1.15.40(@swc/helpers@0.5.23))(nx@22.7.5(@swc-node/register@1.11.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@swc/core@1.15.40(@swc/helpers@0.5.23))(@swc/types@0.1.26)(typescript@6.0.3))(@swc/core@1.15.40(@swc/helpers@0.5.23)))(typescript@6.0.3)(vite@8.0.14(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(less@4.3.0)(sass-embedded@1.89.0)(sass@1.97.3)(stylus@0.64.0)(terser@5.47.1)(yaml@2.8.3))(vitest@4.1.7)
+ '@nx/vite': 22.7.5(@babel/traverse@7.29.0)(@nx/eslint@22.7.5(c15c711dce428ed17b010739ba5fa2de))(@swc-node/register@1.11.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@swc/core@1.15.40(@swc/helpers@0.5.23))(@swc/types@0.1.26)(typescript@6.0.3))(@swc/core@1.15.40(@swc/helpers@0.5.23))(nx@22.7.5(@swc-node/register@1.11.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@swc/core@1.15.40(@swc/helpers@0.5.23))(@swc/types@0.1.26)(typescript@6.0.3))(@swc/core@1.15.40(@swc/helpers@0.5.23)))(typescript@6.0.3)(vite@8.0.14(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(less@4.3.0)(sass-embedded@1.89.0)(sass@1.97.3)(terser@5.47.1)(yaml@2.9.0))(vitest@4.1.7)
'@nx/webpack': 22.7.5(@babel/traverse@7.29.0)(@rspack/core@1.6.8(@swc/helpers@0.5.23))(@swc-node/register@1.11.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@swc/core@1.15.40(@swc/helpers@0.5.23))(@swc/types@0.1.26)(typescript@6.0.3))(@swc/core@1.15.40(@swc/helpers@0.5.23))(esbuild@0.28.0)(lightningcss@1.32.0)(nx@22.7.5(@swc-node/register@1.11.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@swc/core@1.15.40(@swc/helpers@0.5.23))(@swc/types@0.1.26)(typescript@6.0.3))(@swc/core@1.15.40(@swc/helpers@0.5.23)))(typescript@6.0.3)
transitivePeerDependencies:
- '@babel/traverse'
@@ -16462,12 +15055,12 @@ snapshots:
optionalDependencies:
rollup: 4.60.3
- '@rollup/plugin-babel@5.3.1(@babel/core@7.29.0)(@types/babel__core@7.20.5)(rollup@4.60.3)':
+ '@rollup/plugin-babel@5.3.1(@babel/core@7.29.0)(@types/babel__core@7.20.5)(rollup@2.80.0)':
dependencies:
'@babel/core': 7.29.0
'@babel/helper-module-imports': 7.28.6
- '@rollup/pluginutils': 3.1.0(rollup@4.60.3)
- rollup: 4.60.3
+ '@rollup/pluginutils': 3.1.0(rollup@2.80.0)
+ rollup: 2.80.0
optionalDependencies:
'@types/babel__core': 7.20.5
transitivePeerDependencies:
@@ -16499,15 +15092,15 @@ snapshots:
optionalDependencies:
rollup: 4.60.3
- '@rollup/plugin-node-resolve@15.3.1(rollup@4.60.3)':
+ '@rollup/plugin-node-resolve@15.3.1(rollup@2.80.0)':
dependencies:
- '@rollup/pluginutils': 5.3.0(rollup@4.60.3)
+ '@rollup/pluginutils': 5.3.0(rollup@2.80.0)
'@types/resolve': 1.20.2
deepmerge: 4.3.1
is-module: 1.0.0
resolve: 1.22.12
optionalDependencies:
- rollup: 4.60.3
+ rollup: 2.80.0
'@rollup/plugin-node-resolve@16.0.3(rollup@4.60.3)':
dependencies:
@@ -16519,11 +15112,11 @@ snapshots:
optionalDependencies:
rollup: 4.60.3
- '@rollup/plugin-replace@2.4.2(rollup@4.60.3)':
+ '@rollup/plugin-replace@2.4.2(rollup@2.80.0)':
dependencies:
- '@rollup/pluginutils': 3.1.0(rollup@4.60.3)
+ '@rollup/pluginutils': 3.1.0(rollup@2.80.0)
magic-string: 0.25.9
- rollup: 4.60.3
+ rollup: 2.80.0
'@rollup/plugin-replace@6.0.3(rollup@4.60.3)':
dependencies:
@@ -16532,13 +15125,13 @@ snapshots:
optionalDependencies:
rollup: 4.60.3
- '@rollup/plugin-terser@0.4.4(rollup@4.60.3)':
+ '@rollup/plugin-terser@0.4.4(rollup@2.80.0)':
dependencies:
- serialize-javascript: 7.0.5
+ serialize-javascript: 6.0.2
smob: 1.6.1
terser: 5.47.1
optionalDependencies:
- rollup: 4.60.3
+ rollup: 2.80.0
'@rollup/plugin-terser@1.0.0(rollup@4.60.3)':
dependencies:
@@ -16548,12 +15141,20 @@ snapshots:
optionalDependencies:
rollup: 4.60.3
- '@rollup/pluginutils@3.1.0(rollup@4.60.3)':
+ '@rollup/pluginutils@3.1.0(rollup@2.80.0)':
dependencies:
'@types/estree': 0.0.39
estree-walker: 1.0.1
+ picomatch: 2.3.2
+ rollup: 2.80.0
+
+ '@rollup/pluginutils@5.3.0(rollup@2.80.0)':
+ dependencies:
+ '@types/estree': 1.0.8
+ estree-walker: 2.0.2
picomatch: 4.0.4
- rollup: 4.60.3
+ optionalDependencies:
+ rollup: 2.80.0
'@rollup/pluginutils@5.3.0(rollup@4.60.3)':
dependencies:
@@ -16697,7 +15298,7 @@ snapshots:
chokidar: 3.6.0
http-proxy-middleware: 2.0.9(@types/express@4.17.25)
p-retry: 6.2.1
- webpack-dev-server: 5.2.4(webpack@5.106.2(@swc/core@1.15.40(@swc/helpers@0.5.23))(esbuild@0.28.0))
+ webpack-dev-server: 5.2.2(webpack@5.106.2(@swc/core@1.15.40(@swc/helpers@0.5.23))(esbuild@0.28.0))
ws: 8.21.0
transitivePeerDependencies:
- '@types/express'
@@ -17016,7 +15617,7 @@ snapshots:
'@babel/types': 7.28.5
javascript-natural-sort: 0.7.1
lodash-es: 4.18.1
- minimatch: 10.2.4
+ minimatch: 9.0.9
parse-imports-exports: 0.2.4
prettier: 3.8.3
transitivePeerDependencies:
@@ -17025,7 +15626,7 @@ snapshots:
'@ts-morph/common@0.22.0':
dependencies:
fast-glob: 3.3.3
- minimatch: 10.2.5
+ minimatch: 9.0.9
mkdirp: 3.0.1
path-browserify: 1.0.1
@@ -17042,7 +15643,7 @@ snapshots:
'@tufjs/models@4.0.0':
dependencies:
'@tufjs/canonical-json': 2.0.0
- minimatch: 10.2.5
+ minimatch: 9.0.9
'@tybys/wasm-util@0.10.1':
dependencies:
@@ -17288,6 +15889,10 @@ snapshots:
'@types/mime@1.3.5': {}
+ '@types/node-forge@1.3.14':
+ dependencies:
+ '@types/node': 25.9.1
+
'@types/node@25.6.2':
dependencies:
undici-types: 7.19.2
@@ -17590,14 +16195,9 @@ snapshots:
- rollup
- supports-color
- '@vitejs/plugin-basic-ssl@2.0.0(vite@8.0.14(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(less@4.3.0)(sass-embedded@1.89.0)(sass@1.97.3)(stylus@0.64.0)(terser@5.47.1)(yaml@2.8.3))':
- dependencies:
- vite: 8.0.14(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(less@4.3.0)(sass-embedded@1.89.0)(sass@1.97.3)(stylus@0.64.0)(terser@5.47.1)(yaml@2.8.3)
- optional: true
-
- '@vitejs/plugin-basic-ssl@2.1.4(vite@7.3.2(@types/node@25.9.1)(jiti@2.6.1)(less@4.3.0)(lightningcss@1.32.0)(sass-embedded@1.89.0)(sass@1.97.3)(stylus@0.64.0)(terser@5.47.1)(yaml@2.8.3))':
+ '@vitejs/plugin-basic-ssl@2.1.4(vite@7.3.2(@types/node@25.9.1)(jiti@2.6.1)(less@4.3.0)(lightningcss@1.32.0)(sass-embedded@1.89.0)(sass@1.97.3)(terser@5.47.1)(yaml@2.9.0))':
dependencies:
- vite: 7.3.2(@types/node@25.9.1)(jiti@2.6.1)(less@4.3.0)(lightningcss@1.32.0)(sass-embedded@1.89.0)(sass@1.97.3)(stylus@0.64.0)(terser@5.47.1)(yaml@2.8.3)
+ vite: 7.3.2(@types/node@25.9.1)(jiti@2.6.1)(less@4.3.0)(lightningcss@1.32.0)(sass-embedded@1.89.0)(sass@1.97.3)(terser@5.47.1)(yaml@2.9.0)
'@vitest/coverage-v8@4.1.7(vitest@4.1.7)':
dependencies:
@@ -17611,7 +16211,7 @@ snapshots:
obug: 2.1.1
std-env: 4.1.0
tinyrainbow: 3.1.0
- vitest: 4.1.7(@types/node@25.9.1)(@vitest/coverage-v8@4.1.7)(@vitest/ui@4.1.7)(jsdom@29.1.1)(vite@8.0.14(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(less@4.3.0)(sass-embedded@1.89.0)(sass@1.97.3)(stylus@0.64.0)(terser@5.47.1)(yaml@2.8.3))
+ vitest: 4.1.7(@types/node@25.9.1)(@vitest/coverage-v8@4.1.7)(@vitest/ui@4.1.7)(jsdom@29.1.1)(vite@8.0.14(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(less@4.3.0)(sass-embedded@1.89.0)(sass@1.97.3)(terser@5.47.1)(yaml@2.9.0))
'@vitest/expect@4.1.7':
dependencies:
@@ -17622,13 +16222,13 @@ snapshots:
chai: 6.2.2
tinyrainbow: 3.1.0
- '@vitest/mocker@4.1.7(vite@8.0.14(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(less@4.3.0)(sass-embedded@1.89.0)(sass@1.97.3)(stylus@0.64.0)(terser@5.47.1)(yaml@2.8.3))':
+ '@vitest/mocker@4.1.7(vite@8.0.14(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(less@4.3.0)(sass-embedded@1.89.0)(sass@1.97.3)(terser@5.47.1)(yaml@2.9.0))':
dependencies:
'@vitest/spy': 4.1.7
estree-walker: 3.0.3
magic-string: 0.30.21
optionalDependencies:
- vite: 8.0.14(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(less@4.3.0)(sass-embedded@1.89.0)(sass@1.97.3)(stylus@0.64.0)(terser@5.47.1)(yaml@2.8.3)
+ vite: 8.0.14(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(less@4.3.0)(sass-embedded@1.89.0)(sass@1.97.3)(terser@5.47.1)(yaml@2.9.0)
'@vitest/pretty-format@4.1.7':
dependencies:
@@ -17657,7 +16257,7 @@ snapshots:
sirv: 3.0.2
tinyglobby: 0.2.16
tinyrainbow: 3.1.0
- vitest: 4.1.7(@types/node@25.9.1)(@vitest/coverage-v8@4.1.7)(@vitest/ui@4.1.7)(jsdom@29.1.1)(vite@8.0.14(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(less@4.3.0)(sass-embedded@1.89.0)(sass@1.97.3)(stylus@0.64.0)(terser@5.47.1)(yaml@2.8.3))
+ vitest: 4.1.7(@types/node@25.9.1)(@vitest/coverage-v8@4.1.7)(@vitest/ui@4.1.7)(jsdom@29.1.1)(vite@8.0.14(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(less@4.3.0)(sass-embedded@1.89.0)(sass@1.97.3)(terser@5.47.1)(yaml@2.9.0))
'@vitest/utils@4.1.7':
dependencies:
@@ -17791,12 +16391,6 @@ snapshots:
address@2.0.3: {}
- adjust-sourcemap-loader@4.0.0:
- dependencies:
- loader-utils: 2.0.4
- regex-parser: 2.3.1
- optional: true
-
adm-zip@0.5.10: {}
adm-zip@0.5.16: {}
@@ -17807,6 +16401,10 @@ snapshots:
optionalDependencies:
ajv: 8.20.0
+ ajv-formats@3.0.1(ajv@8.18.0):
+ optionalDependencies:
+ ajv: 8.18.0
+
ajv-formats@3.0.1(ajv@8.20.0):
optionalDependencies:
ajv: 8.20.0
@@ -17827,6 +16425,13 @@ snapshots:
json-schema-traverse: 0.4.1
uri-js: 4.4.1
+ ajv@8.18.0:
+ dependencies:
+ fast-deep-equal: 3.1.3
+ fast-uri: 3.1.2
+ json-schema-traverse: 1.0.0
+ require-from-string: 2.0.2
+
ajv@8.20.0:
dependencies:
fast-deep-equal: 3.1.3
@@ -17897,7 +16502,7 @@ snapshots:
anymatch@3.1.3:
dependencies:
normalize-path: 3.0.0
- picomatch: 4.0.4
+ picomatch: 2.3.2
archiver-utils@5.0.2:
dependencies:
@@ -17980,17 +16585,6 @@ snapshots:
auto-bind@5.0.1: {}
- autoprefixer@10.4.21(postcss@8.5.3):
- dependencies:
- browserslist: 4.28.2
- caniuse-lite: 1.0.30001792
- fraction.js: 4.3.7
- normalize-range: 0.1.2
- picocolors: 1.1.1
- postcss: 8.5.3
- postcss-value-parser: 4.2.0
- optional: true
-
autoprefixer@10.5.0(postcss@8.5.15):
dependencies:
browserslist: 4.28.2
@@ -18029,13 +16623,6 @@ snapshots:
transitivePeerDependencies:
- supports-color
- babel-loader@10.0.0(@babel/core@7.27.1)(webpack@5.106.2(@swc/core@1.15.40(@swc/helpers@0.5.23))(esbuild@0.28.0)):
- dependencies:
- '@babel/core': 7.27.1
- find-up: 5.0.0
- webpack: 5.106.2(@swc/core@1.15.40(@swc/helpers@0.5.23))(esbuild@0.28.0)
- optional: true
-
babel-loader@9.2.1(@babel/core@7.29.0)(webpack@5.106.2(@swc/core@1.15.40(@swc/helpers@0.5.23))(esbuild@0.28.0)):
dependencies:
'@babel/core': 7.29.0
@@ -18074,16 +16661,6 @@ snapshots:
cosmiconfig: 7.1.0
resolve: 1.22.12
- babel-plugin-polyfill-corejs2@0.4.17(@babel/core@7.27.1):
- dependencies:
- '@babel/compat-data': 7.29.3
- '@babel/core': 7.27.1
- '@babel/helper-define-polyfill-provider': 0.6.8(@babel/core@7.27.1)
- semver: 6.3.1
- transitivePeerDependencies:
- - supports-color
- optional: true
-
babel-plugin-polyfill-corejs2@0.4.17(@babel/core@7.29.0):
dependencies:
'@babel/compat-data': 7.29.3
@@ -18093,15 +16670,6 @@ snapshots:
transitivePeerDependencies:
- supports-color
- babel-plugin-polyfill-corejs3@0.11.1(@babel/core@7.27.1):
- dependencies:
- '@babel/core': 7.27.1
- '@babel/helper-define-polyfill-provider': 0.6.8(@babel/core@7.27.1)
- core-js-compat: 3.49.0
- transitivePeerDependencies:
- - supports-color
- optional: true
-
babel-plugin-polyfill-corejs3@0.11.1(@babel/core@7.29.0):
dependencies:
'@babel/core': 7.29.0
@@ -18118,14 +16686,6 @@ snapshots:
transitivePeerDependencies:
- supports-color
- babel-plugin-polyfill-regenerator@0.6.8(@babel/core@7.27.1):
- dependencies:
- '@babel/core': 7.27.1
- '@babel/helper-define-polyfill-provider': 0.6.8(@babel/core@7.27.1)
- transitivePeerDependencies:
- - supports-color
- optional: true
-
babel-plugin-polyfill-regenerator@0.6.8(@babel/core@7.29.0):
dependencies:
'@babel/core': 7.29.0
@@ -18213,18 +16773,6 @@ snapshots:
batch@0.6.1: {}
- beasties@0.3.4:
- dependencies:
- css-select: 5.2.2
- css-what: 6.2.2
- dom-serializer: 2.0.0
- domhandler: 5.0.3
- htmlparser2: 10.1.0
- picocolors: 1.1.1
- postcss: 8.5.15
- postcss-media-query-parser: 0.2.3
- optional: true
-
beasties@0.4.1:
dependencies:
css-select: 6.0.0
@@ -18265,7 +16813,7 @@ snapshots:
http-errors: 2.0.1
iconv-lite: 0.4.24
on-finished: 2.4.1
- qs: 6.15.2
+ qs: 6.14.2
raw-body: 2.5.3
type-is: 1.6.18
unpipe: 1.0.0
@@ -18298,9 +16846,9 @@ snapshots:
balanced-match: 1.0.2
concat-map: 0.0.1
- brace-expansion@5.0.5:
+ brace-expansion@2.1.1:
dependencies:
- balanced-match: 4.0.4
+ balanced-match: 1.0.2
brace-expansion@5.0.6:
dependencies:
@@ -18493,12 +17041,6 @@ snapshots:
cli-spinners@3.4.0: {}
- cli-truncate@4.0.0:
- dependencies:
- slice-ansi: 5.0.0
- string-width: 7.2.0
- optional: true
-
cli-truncate@5.2.0:
dependencies:
slice-ansi: 8.0.0
@@ -18511,13 +17053,6 @@ snapshots:
cli-width@4.1.0: {}
- clipboard@2.0.11:
- dependencies:
- good-listener: 1.2.2
- select: 1.1.2
- tiny-emitter: 2.1.0
- optional: true
-
cliui@8.0.1:
dependencies:
string-width: 4.2.3
@@ -18680,16 +17215,6 @@ snapshots:
dependencies:
is-what: 3.14.1
- copy-webpack-plugin@13.0.0(webpack@5.106.2(@swc/core@1.15.40(@swc/helpers@0.5.23))(esbuild@0.28.0)):
- dependencies:
- glob-parent: 6.0.2
- normalize-path: 3.0.0
- schema-utils: 4.3.3
- serialize-javascript: 7.0.5
- tinyglobby: 0.2.16
- webpack: 5.106.2(@swc/core@1.15.40(@swc/helpers@0.5.23))(esbuild@0.28.0)
- optional: true
-
copy-webpack-plugin@14.0.0(webpack@5.106.2(@swc/core@1.15.40(@swc/helpers@0.5.23))(esbuild@0.28.0)):
dependencies:
glob-parent: 6.0.2
@@ -18798,21 +17323,6 @@ snapshots:
'@rspack/core': 1.6.8(@swc/helpers@0.5.23)
webpack: 5.106.2(@swc/core@1.15.40(@swc/helpers@0.5.23))(esbuild@0.28.0)
- css-loader@7.1.2(@rspack/core@1.6.8(@swc/helpers@0.5.23))(webpack@5.106.2(@swc/core@1.15.40(@swc/helpers@0.5.23))(esbuild@0.28.0)):
- dependencies:
- icss-utils: 5.1.0(postcss@8.5.15)
- postcss: 8.5.15
- postcss-modules-extract-imports: 3.1.0(postcss@8.5.15)
- postcss-modules-local-by-default: 4.2.0(postcss@8.5.15)
- postcss-modules-scope: 3.2.1(postcss@8.5.15)
- postcss-modules-values: 4.0.0(postcss@8.5.15)
- postcss-value-parser: 4.2.0
- semver: 7.7.4
- optionalDependencies:
- '@rspack/core': 1.6.8(@swc/helpers@0.5.23)
- webpack: 5.106.2(@swc/core@1.15.40(@swc/helpers@0.5.23))(esbuild@0.28.0)
- optional: true
-
css-minimizer-webpack-plugin@8.0.0(esbuild@0.28.0)(lightningcss@1.32.0)(webpack@5.106.2(@swc/core@1.15.40(@swc/helpers@0.5.23))(esbuild@0.28.0)):
dependencies:
'@jridgewell/trace-mapping': 0.3.31
@@ -19186,9 +17696,6 @@ snapshots:
delayed-stream@1.0.0: {}
- delegate@3.2.0:
- optional: true
-
delegates@1.0.0: {}
denque@2.1.0: {}
@@ -19293,9 +17800,6 @@ snapshots:
emoji-regex@9.2.2: {}
- emoji-toolkit@9.0.1:
- optional: true
-
emojis-list@3.0.0: {}
encodeurl@2.0.0: {}
@@ -19428,38 +17932,6 @@ snapshots:
es-toolkit@1.46.1: {}
- esbuild-wasm@0.25.5:
- optional: true
-
- esbuild@0.25.5:
- optionalDependencies:
- '@esbuild/aix-ppc64': 0.25.5
- '@esbuild/android-arm': 0.25.5
- '@esbuild/android-arm64': 0.25.5
- '@esbuild/android-x64': 0.25.5
- '@esbuild/darwin-arm64': 0.25.5
- '@esbuild/darwin-x64': 0.25.5
- '@esbuild/freebsd-arm64': 0.25.5
- '@esbuild/freebsd-x64': 0.25.5
- '@esbuild/linux-arm': 0.25.5
- '@esbuild/linux-arm64': 0.25.5
- '@esbuild/linux-ia32': 0.25.5
- '@esbuild/linux-loong64': 0.25.5
- '@esbuild/linux-mips64el': 0.25.5
- '@esbuild/linux-ppc64': 0.25.5
- '@esbuild/linux-riscv64': 0.25.5
- '@esbuild/linux-s390x': 0.25.5
- '@esbuild/linux-x64': 0.25.5
- '@esbuild/netbsd-arm64': 0.25.5
- '@esbuild/netbsd-x64': 0.25.5
- '@esbuild/openbsd-arm64': 0.25.5
- '@esbuild/openbsd-x64': 0.25.5
- '@esbuild/sunos-x64': 0.25.5
- '@esbuild/win32-arm64': 0.25.5
- '@esbuild/win32-ia32': 0.25.5
- '@esbuild/win32-x64': 0.25.5
- optional: true
-
esbuild@0.27.3:
optionalDependencies:
'@esbuild/aix-ppc64': 0.27.3
@@ -19709,7 +18181,7 @@ snapshots:
express-rate-limit@8.2.1(express@5.2.1):
dependencies:
express: 5.2.1
- ip-address: 10.2.0
+ ip-address: 10.0.1
express@4.22.1:
dependencies:
@@ -19734,7 +18206,7 @@ snapshots:
parseurl: 1.3.3
path-to-regexp: 0.1.13
proxy-addr: 2.0.7
- qs: 6.15.2
+ qs: 6.14.2
range-parser: 1.2.1
safe-buffer: 5.2.1
send: 0.19.2
@@ -19940,9 +18412,6 @@ snapshots:
forwarded@0.2.0: {}
- fraction.js@4.3.7:
- optional: true
-
fraction.js@5.3.4: {}
fresh@0.5.2: {}
@@ -20069,7 +18538,7 @@ snapshots:
dependencies:
foreground-child: 3.3.1
jackspeak: 3.4.3
- minimatch: 10.2.5
+ minimatch: 9.0.9
minipass: 7.1.3
package-json-from-dist: 1.0.1
path-scurry: 1.11.1
@@ -20085,7 +18554,7 @@ snapshots:
glob@13.0.6:
dependencies:
- minimatch: 10.2.4
+ minimatch: 10.2.5
minipass: 7.1.3
path-scurry: 2.0.2
@@ -20136,11 +18605,6 @@ snapshots:
globrex@0.1.2: {}
- good-listener@1.2.2:
- dependencies:
- delegate: 3.2.0
- optional: true
-
gopd@1.2.0: {}
graceful-fs@4.2.11: {}
@@ -20473,7 +18937,12 @@ snapshots:
transitivePeerDependencies:
- supports-color
- ip-address@10.2.0: {}
+ ip-address@10.0.1: {}
+
+ ip-address@9.0.5:
+ dependencies:
+ jsbn: 1.1.0
+ sprintf-js: 1.1.3
ip-regex@4.3.0: {}
@@ -20541,9 +19010,6 @@ snapshots:
is-fullwidth-code-point@3.0.0: {}
- is-fullwidth-code-point@4.0.0:
- optional: true
-
is-fullwidth-code-point@5.1.0:
dependencies:
get-east-asian-width: 1.5.0
@@ -20647,9 +19113,6 @@ snapshots:
is-unicode-supported@0.1.0: {}
- is-unicode-supported@1.3.0:
- optional: true
-
is-unicode-supported@2.1.0: {}
is-url@1.2.4: {}
@@ -20693,9 +19156,9 @@ snapshots:
isobject@3.0.1: {}
- isomorphic-ws@5.0.0(ws@8.21.0):
+ isomorphic-ws@5.0.0(ws@8.18.0):
dependencies:
- ws: 8.21.0
+ ws: 8.18.0
istanbul-lib-coverage@3.2.2: {}
@@ -21036,9 +19499,6 @@ snapshots:
merge-stream: 2.0.0
supports-color: 8.1.1
- jiti@1.21.7:
- optional: true
-
jiti@2.4.2: {}
jiti@2.6.1: {}
@@ -21060,6 +19520,8 @@ snapshots:
dependencies:
argparse: 2.0.1
+ jsbn@1.1.0: {}
+
jsdom@29.1.1:
dependencies:
'@asamuzakjp/css-color': 5.1.11
@@ -21135,11 +19597,6 @@ snapshots:
jsonpointer@5.0.1: {}
- karma-source-map-support@1.4.0:
- dependencies:
- source-map-support: 0.5.21
- optional: true
-
katex@0.16.45:
dependencies:
commander: 8.3.0
@@ -21169,10 +19626,10 @@ snapshots:
koa-compose@4.1.0: {}
- koa@3.2.0:
+ koa@3.0.3:
dependencies:
accepts: 1.3.8
- content-disposition: 1.0.1
+ content-disposition: 0.5.4
content-type: 1.0.5
cookies: 0.9.1
delegates: 1.0.0
@@ -21299,7 +19756,7 @@ snapshots:
string-argv: 0.3.2
tinyexec: 1.2.2
optionalDependencies:
- yaml: 2.8.3
+ yaml: 2.9.0
listhen@1.10.0:
dependencies:
@@ -21327,18 +19784,8 @@ snapshots:
cli-truncate: 5.2.0
eventemitter3: 5.0.4
log-update: 6.1.0
- rfdc: 1.4.1
- wrap-ansi: 10.0.0
-
- listr2@8.3.3:
- dependencies:
- cli-truncate: 4.0.0
- colorette: 2.0.20
- eventemitter3: 5.0.4
- log-update: 6.1.0
- rfdc: 1.4.1
- wrap-ansi: 9.0.2
- optional: true
+ rfdc: 1.4.1
+ wrap-ansi: 10.0.0
listr2@9.0.5:
dependencies:
@@ -21349,23 +19796,6 @@ snapshots:
rfdc: 1.4.1
wrap-ansi: 9.0.2
- lmdb@3.3.0:
- dependencies:
- msgpackr: 1.11.12
- node-addon-api: 6.1.0
- node-gyp-build-optional-packages: 5.2.2
- ordered-binary: 1.6.1
- weak-lru-cache: 1.2.2
- optionalDependencies:
- '@lmdb/lmdb-darwin-arm64': 3.3.0
- '@lmdb/lmdb-darwin-x64': 3.3.0
- '@lmdb/lmdb-linux-arm': 3.3.0
- '@lmdb/lmdb-linux-arm64': 3.3.0
- '@lmdb/lmdb-linux-x64': 3.3.0
- '@lmdb/lmdb-win32-arm64': 3.3.0
- '@lmdb/lmdb-win32-x64': 3.3.0
- optional: true
-
lmdb@3.5.1:
dependencies:
'@harperfast/extended-iterable': 1.0.3
@@ -21392,9 +19822,6 @@ snapshots:
emojis-list: 3.0.0
json5: 2.2.3
- loader-utils@3.3.1:
- optional: true
-
local-pkg@1.1.2:
dependencies:
mlly: 1.8.2
@@ -21436,12 +19863,6 @@ snapshots:
chalk: 4.1.2
is-unicode-supported: 0.1.0
- log-symbols@6.0.0:
- dependencies:
- chalk: 5.6.2
- is-unicode-supported: 1.3.0
- optional: true
-
log-symbols@7.0.1:
dependencies:
is-unicode-supported: 2.1.0
@@ -21485,11 +19906,6 @@ snapshots:
dependencies:
sourcemap-codec: 1.4.8
- magic-string@0.30.17:
- dependencies:
- '@jridgewell/sourcemap-codec': 1.5.5
- optional: true
-
magic-string@0.30.21:
dependencies:
'@jridgewell/sourcemap-codec': 1.5.5
@@ -21643,7 +20059,7 @@ snapshots:
micromatch@4.0.8:
dependencies:
braces: 3.0.3
- picomatch: 4.0.4
+ picomatch: 2.3.2
mime-db@1.52.0: {}
@@ -21670,19 +20086,8 @@ snapshots:
schema-utils: 4.3.3
webpack: 5.106.2(@swc/core@1.15.40(@swc/helpers@0.5.23))(esbuild@0.28.0)
- mini-css-extract-plugin@2.9.2(webpack@5.106.2(@swc/core@1.15.40(@swc/helpers@0.5.23))(esbuild@0.28.0)):
- dependencies:
- schema-utils: 4.3.3
- tapable: 2.3.3
- webpack: 5.106.2(@swc/core@1.15.40(@swc/helpers@0.5.23))(esbuild@0.28.0)
- optional: true
-
minimalistic-assert@1.0.1: {}
- minimatch@10.2.4:
- dependencies:
- brace-expansion: 5.0.6
-
minimatch@10.2.5:
dependencies:
brace-expansion: 5.0.6
@@ -21693,7 +20098,11 @@ snapshots:
minimatch@5.1.9:
dependencies:
- brace-expansion: 5.0.5
+ brace-expansion: 2.1.1
+
+ minimatch@9.0.9:
+ dependencies:
+ brace-expansion: 2.1.1
minimist@1.2.8: {}
@@ -21792,7 +20201,7 @@ snapshots:
neo-async@2.6.2: {}
- ngx-markdown@21.3.0(@angular/common@21.2.15(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2)(zone.js@0.15.1))(@angular/platform-browser@21.2.15(@angular/animations@21.2.15(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2)(zone.js@0.15.1)))(@angular/common@21.2.15(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2)(zone.js@0.15.1)))(clipboard@2.0.11)(emoji-toolkit@9.0.1)(katex@0.16.45)(marked@18.0.4)(mermaid@11.15.0)(prismjs@1.30.0)(rxjs@7.8.2)(zone.js@0.15.1):
+ ngx-markdown@21.3.0(@angular/common@21.2.15(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2)(zone.js@0.15.1))(@angular/platform-browser@21.2.15(@angular/animations@21.2.15(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2)(zone.js@0.15.1)))(@angular/common@21.2.15(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2)(zone.js@0.15.1)))(katex@0.16.45)(marked@18.0.4)(mermaid@11.15.0)(prismjs@1.30.0)(rxjs@7.8.2)(zone.js@0.15.1):
dependencies:
'@angular/common': 21.2.15(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2)
'@angular/core': 21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2)(zone.js@0.15.1)
@@ -21802,8 +20211,6 @@ snapshots:
tslib: 2.8.1
zone.js: 0.15.1
optionalDependencies:
- clipboard: 2.0.11
- emoji-toolkit: 9.0.1
katex: 0.16.45
mermaid: 11.15.0
prismjs: 1.30.0
@@ -21973,9 +20380,6 @@ snapshots:
normalize-path@3.0.0: {}
- normalize-range@0.1.2:
- optional: true
-
npm-bundled@5.0.0:
dependencies:
npm-normalize-package-bin: 5.0.0
@@ -22135,7 +20539,7 @@ snapshots:
wrap-ansi: 7.0.0
wrappy: 1.0.2
y18n: 5.0.8
- yaml: 2.8.3
+ yaml: 2.9.0
yargs: 17.7.2
yargs-parser: 21.1.1
optionalDependencies:
@@ -22249,19 +20653,6 @@ snapshots:
strip-ansi: 6.0.1
wcwidth: 1.0.1
- ora@8.2.0:
- dependencies:
- chalk: 5.6.2
- cli-cursor: 5.0.0
- cli-spinners: 2.9.2
- is-interactive: 2.0.0
- is-unicode-supported: 2.1.0
- log-symbols: 6.0.0
- stdin-discarder: 0.2.2
- string-width: 7.2.0
- strip-ansi: 7.2.0
- optional: true
-
ora@9.3.0:
dependencies:
chalk: 5.6.2
@@ -22418,35 +20809,18 @@ snapshots:
parse-statements@1.0.11: {}
- parse5-html-rewriting-stream@7.1.0:
- dependencies:
- entities: 6.0.1
- parse5: 7.3.0
- parse5-sax-parser: 7.0.0
- optional: true
-
parse5-html-rewriting-stream@8.0.0:
dependencies:
entities: 6.0.1
parse5: 8.0.1
parse5-sax-parser: 8.0.0
- parse5-sax-parser@7.0.0:
- dependencies:
- parse5: 7.3.0
- optional: true
-
parse5-sax-parser@8.0.0:
dependencies:
parse5: 8.0.1
parse5@4.0.0: {}
- parse5@7.3.0:
- dependencies:
- entities: 6.0.1
- optional: true
-
parse5@8.0.1:
dependencies:
entities: 8.0.0
@@ -22493,6 +20867,8 @@ snapshots:
picocolors@1.1.1: {}
+ picomatch@2.3.2: {}
+
picomatch@4.0.4: {}
pify@2.3.0: {}
@@ -22502,11 +20878,6 @@ snapshots:
pirates@4.0.7: {}
- piscina@5.0.0:
- optionalDependencies:
- '@napi-rs/nice': 1.1.1
- optional: true
-
piscina@5.1.4:
optionalDependencies:
'@napi-rs/nice': 1.1.1
@@ -22606,19 +20977,6 @@ snapshots:
read-cache: 1.0.0
resolve: 1.22.12
- postcss-loader@8.1.1(@rspack/core@1.6.8(@swc/helpers@0.5.23))(postcss@8.5.3)(typescript@6.0.3)(webpack@5.106.2(@swc/core@1.15.40(@swc/helpers@0.5.23))(esbuild@0.28.0)):
- dependencies:
- cosmiconfig: 9.0.1(typescript@6.0.3)
- jiti: 1.21.7
- postcss: 8.5.3
- semver: 7.7.4
- optionalDependencies:
- '@rspack/core': 1.6.8(@swc/helpers@0.5.23)
- webpack: 5.106.2(@swc/core@1.15.40(@swc/helpers@0.5.23))(esbuild@0.28.0)
- transitivePeerDependencies:
- - typescript
- optional: true
-
postcss-loader@8.2.1(@rspack/core@1.6.8(@swc/helpers@0.5.23))(postcss@8.5.15)(typescript@6.0.3)(webpack@5.106.2(@swc/core@1.15.40(@swc/helpers@0.5.23))(esbuild@0.28.0)):
dependencies:
cosmiconfig: 9.0.1(typescript@6.0.3)
@@ -22788,13 +21146,6 @@ snapshots:
picocolors: 1.1.1
source-map-js: 1.2.1
- postcss@8.5.3:
- dependencies:
- nanoid: 3.3.12
- picocolors: 1.1.1
- source-map-js: 1.2.1
- optional: true
-
powershell-utils@0.1.0: {}
prelude-ls@1.2.1: {}
@@ -22856,6 +21207,10 @@ snapshots:
pvutils@1.1.5: {}
+ qs@6.14.2:
+ dependencies:
+ side-channel: 1.1.0
+
qs@6.15.2:
dependencies:
side-channel: 1.1.0
@@ -22868,6 +21223,10 @@ snapshots:
rambda@9.4.2: {}
+ randombytes@2.1.0:
+ dependencies:
+ safe-buffer: 5.2.1
+
range-parser@1.2.1: {}
raw-body@2.5.3:
@@ -22941,7 +21300,7 @@ snapshots:
readdirp@3.6.0:
dependencies:
- picomatch: 4.0.4
+ picomatch: 2.3.2
readdirp@4.1.2: {}
@@ -22972,9 +21331,6 @@ snapshots:
regenerate@1.4.2: {}
- regex-parser@2.3.1:
- optional: true
-
regex-recursion@5.1.1:
dependencies:
regex: 5.1.1
@@ -23025,15 +21381,6 @@ snapshots:
resolve-from@5.0.0: {}
- resolve-url-loader@5.0.0:
- dependencies:
- adjust-sourcemap-loader: 4.0.0
- convert-source-map: 1.9.0
- loader-utils: 2.0.4
- postcss: 8.5.15
- source-map: 0.6.1
- optional: true
-
resolve.exports@2.0.3: {}
resolve@1.22.12:
@@ -23132,6 +21479,10 @@ snapshots:
rolldown: 1.0.2
rollup: 4.60.3
+ rollup@2.80.0:
+ optionalDependencies:
+ fsevents: 2.3.3
+
rollup@4.60.3:
dependencies:
'@types/estree': 1.0.8
@@ -23309,16 +21660,6 @@ snapshots:
sass-embedded-win32-ia32: 1.89.0
sass-embedded-win32-x64: 1.89.0
- sass-loader@16.0.5(@rspack/core@1.6.8(@swc/helpers@0.5.23))(sass-embedded@1.89.0)(sass@1.88.0)(webpack@5.106.2(@swc/core@1.15.40(@swc/helpers@0.5.23))(esbuild@0.28.0)):
- dependencies:
- neo-async: 2.6.2
- optionalDependencies:
- '@rspack/core': 1.6.8(@swc/helpers@0.5.23)
- sass: 1.88.0
- sass-embedded: 1.89.0
- webpack: 5.106.2(@swc/core@1.15.40(@swc/helpers@0.5.23))(esbuild@0.28.0)
- optional: true
-
sass-loader@16.0.5(@rspack/core@1.6.8(@swc/helpers@0.5.23))(sass-embedded@1.89.0)(sass@1.97.3)(webpack@5.106.2(@swc/core@1.15.40(@swc/helpers@0.5.23))(esbuild@0.28.0)):
dependencies:
neo-async: 2.6.2
@@ -23328,15 +21669,6 @@ snapshots:
sass-embedded: 1.89.0
webpack: 5.106.2(@swc/core@1.15.40(@swc/helpers@0.5.23))(esbuild@0.28.0)
- sass@1.88.0:
- dependencies:
- chokidar: 4.0.3
- immutable: 5.1.5
- source-map-js: 1.2.1
- optionalDependencies:
- '@parcel/watcher': 2.5.6
- optional: true
-
sass@1.97.3:
dependencies:
chokidar: 4.0.3
@@ -23345,9 +21677,6 @@ snapshots:
optionalDependencies:
'@parcel/watcher': 2.5.6
- sax@1.4.4:
- optional: true
-
sax@1.6.0: {}
saxes@6.0.0:
@@ -23384,8 +21713,10 @@ snapshots:
select-hose@2.0.0: {}
- select@1.1.2:
- optional: true
+ selfsigned@2.4.1:
+ dependencies:
+ '@types/node-forge': 1.3.14
+ node-forge: 1.4.0
selfsigned@5.5.0:
dependencies:
@@ -23399,9 +21730,6 @@ snapshots:
semver@7.6.3: {}
- semver@7.7.2:
- optional: true
-
semver@7.7.4: {}
send@0.19.2:
@@ -23438,6 +21766,10 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ serialize-javascript@6.0.2:
+ dependencies:
+ randombytes: 2.1.0
+
serialize-javascript@7.0.5: {}
serve-index@1.9.2:
@@ -23578,12 +21910,6 @@ snapshots:
slash@5.1.0: {}
- slice-ansi@5.0.0:
- dependencies:
- ansi-styles: 6.2.3
- is-fullwidth-code-point: 4.0.0
- optional: true
-
slice-ansi@7.1.0:
dependencies:
ansi-styles: 6.2.3
@@ -23608,7 +21934,7 @@ snapshots:
sockjs@0.3.24:
dependencies:
faye-websocket: 0.11.4
- uuid: 14.0.0
+ uuid: 8.3.2
websocket-driver: 0.7.4
socks-proxy-agent@8.0.5:
@@ -23621,7 +21947,7 @@ snapshots:
socks@2.8.4:
dependencies:
- ip-address: 10.2.0
+ ip-address: 9.0.5
smart-buffer: 4.2.0
sorted-array-functions@1.3.0: {}
@@ -23651,9 +21977,6 @@ snapshots:
source-map@0.6.1: {}
- source-map@0.7.4:
- optional: true
-
source-map@0.7.6: {}
source-map@0.8.0-beta.0:
@@ -23701,6 +22024,8 @@ snapshots:
sprintf-js@1.0.3: {}
+ sprintf-js@1.1.3: {}
+
ssri@13.0.0:
dependencies:
minipass: 7.1.3
@@ -23721,9 +22046,6 @@ snapshots:
std-env@4.1.0: {}
- stdin-discarder@0.2.2:
- optional: true
-
stdin-discarder@0.3.1: {}
stop-iteration-iterator@1.1.0:
@@ -23868,17 +22190,6 @@ snapshots:
stylis@4.4.0: {}
- stylus@0.64.0:
- dependencies:
- '@adobe/css-tools': 4.3.3
- debug: 4.4.3
- glob: 10.5.0
- sax: 1.4.4
- source-map: 0.7.6
- transitivePeerDependencies:
- - supports-color
- optional: true
-
supports-color@10.2.2: {}
supports-color@7.2.0:
@@ -23973,18 +22284,6 @@ snapshots:
terminal-size@4.0.1: {}
- terser-webpack-plugin@5.4.0(@swc/core@1.15.40(@swc/helpers@0.5.23))(esbuild@0.25.5)(webpack@5.106.2(@swc/core@1.15.40(@swc/helpers@0.5.23))(esbuild@0.28.0)):
- dependencies:
- '@jridgewell/trace-mapping': 0.3.31
- jest-worker: 27.5.1
- schema-utils: 4.3.3
- terser: 5.47.1
- webpack: 5.106.2(@swc/core@1.15.40(@swc/helpers@0.5.23))(esbuild@0.28.0)
- optionalDependencies:
- '@swc/core': 1.15.40(@swc/helpers@0.5.23)
- esbuild: 0.25.5
- optional: true
-
terser-webpack-plugin@5.4.0(@swc/core@1.15.40(@swc/helpers@0.5.23))(esbuild@0.28.0)(webpack@5.106.2(@swc/core@1.15.40(@swc/helpers@0.5.23))(esbuild@0.28.0)):
dependencies:
'@jridgewell/trace-mapping': 0.3.31
@@ -23996,14 +22295,6 @@ snapshots:
'@swc/core': 1.15.40(@swc/helpers@0.5.23)
esbuild: 0.28.0
- terser@5.39.1:
- dependencies:
- '@jridgewell/source-map': 0.3.11
- acorn: 8.16.0
- commander: 2.20.3
- source-map-support: 0.5.21
- optional: true
-
terser@5.47.1:
dependencies:
'@jridgewell/source-map': 0.3.11
@@ -24029,9 +22320,6 @@ snapshots:
thunky@1.1.0: {}
- tiny-emitter@2.1.0:
- optional: true
-
tinybench@2.9.0: {}
tinyclip@0.1.12: {}
@@ -24040,12 +22328,6 @@ snapshots:
tinyexec@1.2.2: {}
- tinyglobby@0.2.13:
- dependencies:
- fdir: 6.5.0(picomatch@4.0.4)
- picomatch: 4.0.4
- optional: true
-
tinyglobby@0.2.15:
dependencies:
fdir: 6.5.0(picomatch@4.0.4)
@@ -24109,7 +22391,7 @@ snapshots:
chokidar: 3.6.0
is-glob: 4.0.3
memfs: 4.17.2
- minimatch: 10.2.5
+ minimatch: 9.0.9
picocolors: 1.1.1
typescript: 6.0.3
optionalDependencies:
@@ -24476,7 +22758,7 @@ snapshots:
uuid@11.1.1: {}
- uuid@14.0.0: {}
+ uuid@8.3.2: {}
v8-compile-cache-lib@3.0.1: {}
@@ -24507,28 +22789,28 @@ snapshots:
'@types/unist': 3.0.3
vfile-message: 4.0.3
- vite-plugin-pwa@1.3.0(vite@8.0.14(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(less@4.3.0)(sass-embedded@1.89.0)(sass@1.97.3)(stylus@0.64.0)(terser@5.47.1)(yaml@2.8.3))(workbox-build@7.4.0(@types/babel__core@7.20.5))(workbox-window@7.4.0):
+ vite-plugin-pwa@1.3.0(vite@8.0.14(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(less@4.3.0)(sass-embedded@1.89.0)(sass@1.97.3)(terser@5.47.1)(yaml@2.9.0))(workbox-build@7.4.0(@types/babel__core@7.20.5))(workbox-window@7.4.0):
dependencies:
debug: 4.4.3
pretty-bytes: 6.1.1
tinyglobby: 0.2.16
- vite: 8.0.14(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(less@4.3.0)(sass-embedded@1.89.0)(sass@1.97.3)(stylus@0.64.0)(terser@5.47.1)(yaml@2.8.3)
+ vite: 8.0.14(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(less@4.3.0)(sass-embedded@1.89.0)(sass@1.97.3)(terser@5.47.1)(yaml@2.9.0)
workbox-build: 7.4.0(@types/babel__core@7.20.5)
workbox-window: 7.4.0
transitivePeerDependencies:
- supports-color
- vite-tsconfig-paths@6.1.1(typescript@6.0.3)(vite@8.0.14(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(less@4.3.0)(sass-embedded@1.89.0)(sass@1.97.3)(stylus@0.64.0)(terser@5.47.1)(yaml@2.8.3)):
+ vite-tsconfig-paths@6.1.1(typescript@6.0.3)(vite@8.0.14(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(less@4.3.0)(sass-embedded@1.89.0)(sass@1.97.3)(terser@5.47.1)(yaml@2.9.0)):
dependencies:
debug: 4.4.3
globrex: 0.1.2
tsconfck: 3.1.6(typescript@6.0.3)
- vite: 8.0.14(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(less@4.3.0)(sass-embedded@1.89.0)(sass@1.97.3)(stylus@0.64.0)(terser@5.47.1)(yaml@2.8.3)
+ vite: 8.0.14(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(less@4.3.0)(sass-embedded@1.89.0)(sass@1.97.3)(terser@5.47.1)(yaml@2.9.0)
transitivePeerDependencies:
- supports-color
- typescript
- vite@7.3.2(@types/node@25.9.1)(jiti@2.6.1)(less@4.3.0)(lightningcss@1.32.0)(sass-embedded@1.89.0)(sass@1.97.3)(stylus@0.64.0)(terser@5.47.1)(yaml@2.8.3):
+ vite@7.3.2(@types/node@25.9.1)(jiti@2.6.1)(less@4.3.0)(lightningcss@1.32.0)(sass-embedded@1.89.0)(sass@1.97.3)(terser@5.47.1)(yaml@2.9.0):
dependencies:
esbuild: 0.27.4
fdir: 6.5.0(picomatch@4.0.4)
@@ -24544,31 +22826,10 @@ snapshots:
lightningcss: 1.32.0
sass: 1.97.3
sass-embedded: 1.89.0
- stylus: 0.64.0
terser: 5.47.1
- yaml: 2.8.3
-
- vite@8.0.14(@types/node@25.9.1)(esbuild@0.25.5)(jiti@2.6.1)(less@4.3.0)(sass-embedded@1.89.0)(sass@1.88.0)(stylus@0.64.0)(terser@5.39.1)(yaml@2.8.3):
- dependencies:
- lightningcss: 1.32.0
- picomatch: 4.0.4
- postcss: 8.5.15
- rolldown: 1.0.2
- tinyglobby: 0.2.16
- optionalDependencies:
- '@types/node': 25.9.1
- esbuild: 0.25.5
- fsevents: 2.3.3
- jiti: 2.6.1
- less: 4.3.0
- sass: 1.88.0
- sass-embedded: 1.89.0
- stylus: 0.64.0
- terser: 5.39.1
- yaml: 2.8.3
- optional: true
+ yaml: 2.9.0
- vite@8.0.14(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(less@4.3.0)(sass-embedded@1.89.0)(sass@1.97.3)(stylus@0.64.0)(terser@5.47.1)(yaml@2.8.3):
+ vite@8.0.14(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(less@4.3.0)(sass-embedded@1.89.0)(sass@1.97.3)(terser@5.47.1)(yaml@2.9.0):
dependencies:
lightningcss: 1.32.0
picomatch: 4.0.4
@@ -24583,18 +22844,17 @@ snapshots:
less: 4.3.0
sass: 1.97.3
sass-embedded: 1.89.0
- stylus: 0.64.0
terser: 5.47.1
- yaml: 2.8.3
+ yaml: 2.9.0
- vitefu@1.1.3(vite@8.0.14(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(less@4.3.0)(sass-embedded@1.89.0)(sass@1.97.3)(stylus@0.64.0)(terser@5.47.1)(yaml@2.8.3)):
+ vitefu@1.1.3(vite@8.0.14(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(less@4.3.0)(sass-embedded@1.89.0)(sass@1.97.3)(terser@5.47.1)(yaml@2.9.0)):
optionalDependencies:
- vite: 8.0.14(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(less@4.3.0)(sass-embedded@1.89.0)(sass@1.97.3)(stylus@0.64.0)(terser@5.47.1)(yaml@2.8.3)
+ vite: 8.0.14(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(less@4.3.0)(sass-embedded@1.89.0)(sass@1.97.3)(terser@5.47.1)(yaml@2.9.0)
- vitest@4.1.7(@types/node@25.9.1)(@vitest/coverage-v8@4.1.7)(@vitest/ui@4.1.7)(jsdom@29.1.1)(vite@8.0.14(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(less@4.3.0)(sass-embedded@1.89.0)(sass@1.97.3)(stylus@0.64.0)(terser@5.47.1)(yaml@2.8.3)):
+ vitest@4.1.7(@types/node@25.9.1)(@vitest/coverage-v8@4.1.7)(@vitest/ui@4.1.7)(jsdom@29.1.1)(vite@8.0.14(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(less@4.3.0)(sass-embedded@1.89.0)(sass@1.97.3)(terser@5.47.1)(yaml@2.9.0)):
dependencies:
'@vitest/expect': 4.1.7
- '@vitest/mocker': 4.1.7(vite@8.0.14(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(less@4.3.0)(sass-embedded@1.89.0)(sass@1.97.3)(stylus@0.64.0)(terser@5.47.1)(yaml@2.8.3))
+ '@vitest/mocker': 4.1.7(vite@8.0.14(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(less@4.3.0)(sass-embedded@1.89.0)(sass@1.97.3)(terser@5.47.1)(yaml@2.9.0))
'@vitest/pretty-format': 4.1.7
'@vitest/runner': 4.1.7
'@vitest/snapshot': 4.1.7
@@ -24611,7 +22871,7 @@ snapshots:
tinyexec: 1.1.2
tinyglobby: 0.2.16
tinyrainbow: 3.1.0
- vite: 8.0.14(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(less@4.3.0)(sass-embedded@1.89.0)(sass@1.97.3)(stylus@0.64.0)(terser@5.47.1)(yaml@2.8.3)
+ vite: 8.0.14(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(less@4.3.0)(sass-embedded@1.89.0)(sass@1.97.3)(terser@5.47.1)(yaml@2.9.0)
why-is-node-running: 2.3.0
optionalDependencies:
'@types/node': 25.9.1
@@ -24629,12 +22889,6 @@ snapshots:
dependencies:
makeerror: 1.0.12
- watchpack@2.4.2:
- dependencies:
- glob-to-regexp: 0.4.1
- graceful-fs: 4.2.11
- optional: true
-
watchpack@2.5.1:
dependencies:
glob-to-regexp: 0.4.1
@@ -24668,6 +22922,44 @@ snapshots:
optionalDependencies:
webpack: 5.106.2(@swc/core@1.15.40(@swc/helpers@0.5.23))(esbuild@0.28.0)
+ webpack-dev-server@5.2.2(webpack@5.106.2(@swc/core@1.15.40(@swc/helpers@0.5.23))(esbuild@0.28.0)):
+ dependencies:
+ '@types/bonjour': 3.5.13
+ '@types/connect-history-api-fallback': 1.5.4
+ '@types/express': 4.17.25
+ '@types/express-serve-static-core': 4.19.8
+ '@types/serve-index': 1.9.4
+ '@types/serve-static': 1.15.10
+ '@types/sockjs': 0.3.36
+ '@types/ws': 8.18.1
+ ansi-html-community: 0.0.8
+ bonjour-service: 1.3.0
+ chokidar: 3.6.0
+ colorette: 2.0.20
+ compression: 1.8.1
+ connect-history-api-fallback: 2.0.0
+ express: 4.22.1
+ graceful-fs: 4.2.11
+ http-proxy-middleware: 2.0.9(@types/express@4.17.25)
+ ipaddr.js: 2.4.0
+ launch-editor: 2.13.2
+ open: 10.1.2
+ p-retry: 6.2.1
+ schema-utils: 4.3.3
+ selfsigned: 2.4.1
+ serve-index: 1.9.2
+ sockjs: 0.3.24
+ spdy: 4.0.2
+ webpack-dev-middleware: 7.4.2(webpack@5.106.2(@swc/core@1.15.40(@swc/helpers@0.5.23))(esbuild@0.28.0))
+ ws: 8.21.0
+ optionalDependencies:
+ webpack: 5.106.2(@swc/core@1.15.40(@swc/helpers@0.5.23))(esbuild@0.28.0)
+ transitivePeerDependencies:
+ - bufferutil
+ - debug
+ - supports-color
+ - utf-8-validate
+
webpack-dev-server@5.2.4(webpack@5.106.2(@swc/core@1.15.40(@swc/helpers@0.5.23))(esbuild@0.28.0)):
dependencies:
'@types/bonjour': 3.5.13
@@ -24712,13 +23004,6 @@ snapshots:
flat: 5.0.2
wildcard: 2.0.1
- webpack-merge@6.0.1:
- dependencies:
- clone-deep: 4.0.1
- flat: 5.0.2
- wildcard: 2.0.1
- optional: true
-
webpack-node-externals@3.0.0: {}
webpack-sources@3.3.4: {}
@@ -24730,38 +23015,6 @@ snapshots:
webpack-virtual-modules@0.6.2: {}
- webpack@5.106.2(@swc/core@1.15.40(@swc/helpers@0.5.23))(esbuild@0.25.5):
- dependencies:
- '@types/eslint-scope': 3.7.7
- '@types/estree': 1.0.8
- '@types/json-schema': 7.0.15
- '@webassemblyjs/ast': 1.14.1
- '@webassemblyjs/wasm-edit': 1.14.1
- '@webassemblyjs/wasm-parser': 1.14.1
- acorn: 8.16.0
- acorn-import-phases: 1.0.4(acorn@8.16.0)
- browserslist: 4.28.2
- chrome-trace-event: 1.0.4
- enhanced-resolve: 5.21.2
- es-module-lexer: 2.0.0
- eslint-scope: 5.1.1
- events: 3.3.0
- glob-to-regexp: 0.4.1
- graceful-fs: 4.2.11
- loader-runner: 4.3.1
- mime-db: 1.54.0
- neo-async: 2.6.2
- schema-utils: 4.3.3
- tapable: 2.3.3
- terser-webpack-plugin: 5.4.0(@swc/core@1.15.40(@swc/helpers@0.5.23))(esbuild@0.25.5)(webpack@5.106.2(@swc/core@1.15.40(@swc/helpers@0.5.23))(esbuild@0.28.0))
- watchpack: 2.5.1
- webpack-sources: 3.3.4
- transitivePeerDependencies:
- - '@swc/core'
- - esbuild
- - uglify-js
- optional: true
-
webpack@5.106.2(@swc/core@1.15.40(@swc/helpers@0.5.23))(esbuild@0.28.0):
dependencies:
'@types/eslint-scope': 3.7.7
@@ -24907,10 +23160,10 @@ snapshots:
'@babel/core': 7.29.0
'@babel/preset-env': 7.29.5(@babel/core@7.29.0)
'@babel/runtime': 7.29.2
- '@rollup/plugin-babel': 5.3.1(@babel/core@7.29.0)(@types/babel__core@7.20.5)(rollup@4.60.3)
- '@rollup/plugin-node-resolve': 15.3.1(rollup@4.60.3)
- '@rollup/plugin-replace': 2.4.2(rollup@4.60.3)
- '@rollup/plugin-terser': 0.4.4(rollup@4.60.3)
+ '@rollup/plugin-babel': 5.3.1(@babel/core@7.29.0)(@types/babel__core@7.20.5)(rollup@2.80.0)
+ '@rollup/plugin-node-resolve': 15.3.1(rollup@2.80.0)
+ '@rollup/plugin-replace': 2.4.2(rollup@2.80.0)
+ '@rollup/plugin-terser': 0.4.4(rollup@2.80.0)
'@surma/rollup-plugin-off-main-thread': 2.2.3
ajv: 8.20.0
common-tags: 1.8.2
@@ -24919,7 +23172,7 @@ snapshots:
glob: 11.1.0
lodash: 4.18.1
pretty-bytes: 5.6.0
- rollup: 4.60.3
+ rollup: 2.80.0
source-map: 0.8.0-beta.0
stringify-object: 3.3.0
strip-comments: 2.0.1
@@ -25042,6 +23295,8 @@ snapshots:
imurmurhash: 0.1.4
signal-exit: 4.1.0
+ ws@8.18.0: {}
+
ws@8.21.0: {}
wsl-utils@0.3.1:
@@ -25072,7 +23327,7 @@ snapshots:
yaml@1.10.2: {}
- yaml@2.8.3: {}
+ yaml@2.9.0: {}
yargs-parser@21.1.1: {}
diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml
index 798481f0..8107ae1d 100644
--- a/pnpm-workspace.yaml
+++ b/pnpm-workspace.yaml
@@ -3,6 +3,16 @@ packages:
- libs/*
- tools/*
+allowBuilds:
+ '@parcel/watcher': true
+ '@swc/core': true
+ esbuild: true
+ lmdb: true
+ msgpackr-extract: true
+ nx: true
+ oxc-resolver: true
+ unrs-resolver: true
+
onlyBuiltDependencies:
- '@parcel/watcher'
- '@swc/core'
@@ -13,4 +23,3 @@ onlyBuiltDependencies:
- nx
- oxc-resolver
- unrs-resolver
-
From 6c42d85529768f5ab9f73142cb7f1c6d98177f8e Mon Sep 17 00:00:00 2001
From: chrisjwalk-bot <268224883+chrisjwalk-bot@users.noreply.github.com>
Date: Sun, 7 Jun 2026 14:58:47 -0400
Subject: [PATCH 19/22] fix: remove @ngrx/signals/events to fix MFE NG0203
error (closes #168)
- Removed injectDispatch, eventGroup, on, withReducer from CounterStore
- Consolidated into single signalStore with withMethods + patchState
- Removed @ngrx/signals/events and @angular/animations from counter-remote shared deps
- The root cause: @module-federation/vite generates same loadShare path for
@ngrx/signals and @ngrx/signals/events, inlining a separate copy of
@angular/core internals (_injectImplementation) that is never set during
host DI, causing takeUntilDestroyed() to fail with NG0203.
- Updated counter E2E tests: all 31 passed (including MFE integration)
- Local verification: counter MFE renders with zero JS errors
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---
apps/counter-remote/vite.config.ts | 22 ++++--
.../src/mfe-integration.e2e.spec.ts | 4 +-
apps/web-app/vite.config.ts | 7 +-
.../counter-container/counter-container.ts | 10 +--
.../src/lib/state/counter.store.spec.ts | 76 +++++-------------
libs/counter/src/lib/state/counter.store.ts | 79 ++++++-------------
6 files changed, 72 insertions(+), 126 deletions(-)
diff --git a/apps/counter-remote/vite.config.ts b/apps/counter-remote/vite.config.ts
index 281cd3a6..c054196d 100644
--- a/apps/counter-remote/vite.config.ts
+++ b/apps/counter-remote/vite.config.ts
@@ -8,11 +8,18 @@ const cdkMatVer = '~21.2.13';
const sharedDeps = {
// Angular core
- '@angular/animations': { singleton: true, requiredVersion: angVer },
+ // Note: @angular/animations is not shared — counter-remote doesn't use
+ // Angular animations. Removing it prevents the federation plugin from
+ // bundling @angular/core internals into a loadShare that has its own
+ // _injectImplementation (causing NG0203).
+ // import:false — prevents a loadShare that bundles @angular/core internals
+ // (assertInInjectionContext with its own _injectImplementation), causing NG0203
'@angular/common': { singleton: true, requiredVersion: angVer },
+ // import:false — prevents a loadShare that bundles @angular/core internals
+ // (assertInInjectionContext), causing NG0203
'@angular/common/http': { singleton: true, requiredVersion: angVer },
'@angular/compiler': { singleton: true, requiredVersion: angVer },
- '@angular/core': { singleton: true, requiredVersion: angVer },
+ '@angular/core': { singleton: true, requiredVersion: angVer, import: false },
'@angular/forms': { singleton: true, requiredVersion: angVer },
'@angular/platform-browser': { singleton: true, requiredVersion: angVer },
'@angular/platform-browser/animations': {
@@ -155,9 +162,14 @@ const sharedDeps = {
requiredVersion: cdkMatVer,
import: false,
},
- // NgRx
- '@ngrx/signals': { singleton: true, requiredVersion: '~21.1.0' },
- '@ngrx/signals/events': { singleton: true, requiredVersion: '~21.1.0' },
+ // NgRx - base signals shared (host provides, remote uses import:false).
+ // @ngrx/signals/events is NOT shared - the federation plugin generates
+ // buggy loadShare imports for sub-path modules. It's bundled directly.
+ '@ngrx/signals': {
+ singleton: true,
+ requiredVersion: '~20.2.0',
+ import: false,
+ },
// Utilities
rxjs: { singleton: true, requiredVersion: '~7.8.2' },
tslib: { singleton: true, requiredVersion: '~2.8.1' },
diff --git a/apps/web-app-e2e/src/mfe-integration.e2e.spec.ts b/apps/web-app-e2e/src/mfe-integration.e2e.spec.ts
index ba4de1ac..17b820a4 100644
--- a/apps/web-app-e2e/src/mfe-integration.e2e.spec.ts
+++ b/apps/web-app-e2e/src/mfe-integration.e2e.spec.ts
@@ -9,7 +9,9 @@ test.describe('MFE Integration', () => {
await page.goto('/mfe-counter');
// Give the MFE a moment to bootstrap
- await expect(page.locator('[data-testid="lib-counter"]')).toBeVisible();
+ await expect(page.locator('[data-testid="lib-counter"]')).toBeVisible({
+ timeout: 15000,
+ });
expect(errors).toHaveLength(0);
});
diff --git a/apps/web-app/vite.config.ts b/apps/web-app/vite.config.ts
index ea3277e8..75b49212 100644
--- a/apps/web-app/vite.config.ts
+++ b/apps/web-app/vite.config.ts
@@ -71,9 +71,10 @@ const mfeSharedDeps = {
'@angular/material/table': { singleton: true, requiredVersion: cdkMatVer },
'@angular/material/toolbar': { singleton: true, requiredVersion: cdkMatVer },
'@angular/material/tooltip': { singleton: true, requiredVersion: cdkMatVer },
- // NgRx
- '@ngrx/signals': { singleton: true, requiredVersion: '~21.1.0' },
- '@ngrx/signals/events': { singleton: true, requiredVersion: '~21.1.0' },
+ // NgRx - base signals shared (host provides, remote uses import:false).
+ // @ngrx/signals/events is NOT shared - the federation plugin generates
+ // buggy loadShare imports for sub-path modules. It's bundled directly.
+ '@ngrx/signals': { singleton: true, requiredVersion: '~20.2.0' },
// Utilities
rxjs: { singleton: true, requiredVersion: '~7.8.2' },
tslib: { singleton: true, requiredVersion: '~2.8.1' },
diff --git a/libs/counter/src/lib/components/counter-container/counter-container.ts b/libs/counter/src/lib/components/counter-container/counter-container.ts
index 13d7ee4c..832b1221 100644
--- a/libs/counter/src/lib/components/counter-container/counter-container.ts
+++ b/libs/counter/src/lib/components/counter-container/counter-container.ts
@@ -5,9 +5,8 @@ import {
input,
} from '@angular/core';
-import { counterEvents, CounterStore } from '../../state';
+import { CounterStore } from '../../state';
import { Counter } from '../counter/counter';
-import { injectDispatch } from '@ngrx/signals/events';
@Component({
imports: [Counter],
@@ -17,9 +16,9 @@ import { injectDispatch } from '@ngrx/signals/events';
`,
host: {
@@ -30,7 +29,6 @@ import { injectDispatch } from '@ngrx/signals/events';
})
export class CounterContainer {
readonly store = inject(CounterStore);
- readonly dispatcher = injectDispatch(counterEvents);
count = input(null);
diff --git a/libs/counter/src/lib/state/counter.store.spec.ts b/libs/counter/src/lib/state/counter.store.spec.ts
index 1ca71bb7..47cf5f42 100644
--- a/libs/counter/src/lib/state/counter.store.spec.ts
+++ b/libs/counter/src/lib/state/counter.store.spec.ts
@@ -1,15 +1,5 @@
import { TestBed } from '@angular/core/testing';
-import { patchState } from '@ngrx/signals';
-import { unprotected } from '@ngrx/signals/testing';
-import { injectDispatch } from '@ngrx/signals/events';
-import {
- counterInitialState,
- CounterStore,
- counterEvents,
- decrementCount,
- incrementCount,
- setCount,
-} from './counter.store';
+import { CounterStore } from './counter.store';
describe('CounterStore', () => {
let store: CounterStore;
@@ -22,59 +12,35 @@ describe('CounterStore', () => {
store = TestBed.inject(CounterStore);
});
- it('should keep track of count', () => {
- let count = counterInitialState.count;
- expect(store).toBeTruthy();
- expect(store.count()).toBe(count);
- patchState(unprotected(store), incrementCount());
- count++;
- expect(store.count()).toBe(count);
- patchState(unprotected(store), incrementCount());
- count++;
- expect(store.count()).toBe(count);
- count = 99;
- patchState(unprotected(store), setCount(count));
- expect(store.count()).toBe(count);
- patchState(unprotected(store), decrementCount());
- count--;
- expect(store.count()).toBe(count);
+ it('should start with count of 0', () => {
+ expect(store.count()).toBe(0);
});
- it('inputCount should set count from a valid numeric string', () => {
- store.inputCount('42');
- expect(store.count()).toBe(42);
+ it('should increment count', () => {
+ store.incrementCount();
+ expect(store.count()).toBe(1);
+ store.incrementCount();
+ expect(store.count()).toBe(2);
});
- it('inputCount should ignore non-numeric input', () => {
- store.inputCount('abc');
- expect(store.count()).toBe(0);
+ it('should decrement count', () => {
+ store.setCount(10);
+ store.decrementCount();
+ expect(store.count()).toBe(9);
});
- it('should handle setCount event via reducer', () => {
- const dispatcher = TestBed.runInInjectionContext(() =>
- injectDispatch(counterEvents),
- );
- dispatcher.setCount(7);
- TestBed.flushEffects();
- expect(store.count()).toBe(7);
+ it('should set count', () => {
+ store.setCount(99);
+ expect(store.count()).toBe(99);
});
- it('should handle incrementCount event via reducer', () => {
- const dispatcher = TestBed.runInInjectionContext(() =>
- injectDispatch(counterEvents),
- );
- dispatcher.incrementCount();
- TestBed.flushEffects();
- expect(store.count()).toBe(1);
+ it('inputCount should set count from a valid numeric string', () => {
+ store.inputCount('42');
+ expect(store.count()).toBe(42);
});
- it('should handle decrementCount event via reducer', () => {
- const dispatcher = TestBed.runInInjectionContext(() =>
- injectDispatch(counterEvents),
- );
- patchState(unprotected(store), setCount(5));
- dispatcher.decrementCount();
- TestBed.flushEffects();
- expect(store.count()).toBe(4);
+ it('inputCount should ignore non-numeric input', () => {
+ store.inputCount('abc');
+ expect(store.count()).toBe(0);
});
});
diff --git a/libs/counter/src/lib/state/counter.store.ts b/libs/counter/src/lib/state/counter.store.ts
index ee3dec58..50209892 100644
--- a/libs/counter/src/lib/state/counter.store.ts
+++ b/libs/counter/src/lib/state/counter.store.ts
@@ -2,74 +2,41 @@ import {
patchState,
signalMethod,
signalStore,
- signalStoreFeature,
- type,
withMethods,
withState,
} from '@ngrx/signals';
-import { eventGroup, on, withReducer } from '@ngrx/signals/events';
+// NOTE: @ngrx/signals/events is deliberately NOT used here because its internal
+// dependency on takeUntilDestroyed (from @angular/core/rxjs-interop) would get
+// inlined with a private _injectImplementation by the federation plugin,
+// causing NG0203 when the store is created in an MFE remote.
export type CounterState = {
count: number;
};
-export const counterEvents = eventGroup({
- source: 'Counter Page',
- events: {
- setCount: type(),
- incrementCount: type(),
- decrementCount: type(),
- },
-});
-
export const counterInitialState: CounterState = { count: 0 };
-export function incrementCount() {
- return (state: CounterState) => ({
- ...state,
- count: state.count + 1,
- });
-}
-
-export function decrementCount() {
- return (state: CounterState) => ({
- ...state,
- count: state.count - 1,
- });
-}
-
-export function setCount(count: number) {
- return { count };
-}
-
-export function withCounterFeature() {
- return signalStoreFeature(
- withState(counterInitialState),
- withMethods((store) => ({
- inputCount: signalMethod((count) => {
- if (!isNaN(+count)) {
- patchState(store, setCount(+count));
- }
- }),
- })),
- );
-}
-
-export function withCounterReducer() {
- return signalStoreFeature(
- { state: type() },
- withReducer(
- on(counterEvents.setCount, ({ payload }) => setCount(payload)),
- on(counterEvents.incrementCount, () => incrementCount()),
- on(counterEvents.decrementCount, () => decrementCount()),
- ),
- );
-}
-
export const CounterStore = signalStore(
{ providedIn: 'root' },
- withCounterFeature(),
- withCounterReducer(),
+ withState(counterInitialState),
+ withMethods((store) => ({
+ incrementCount: () =>
+ patchState(store, (state) => ({
+ ...state,
+ count: state.count + 1,
+ })),
+ decrementCount: () =>
+ patchState(store, (state) => ({
+ ...state,
+ count: state.count - 1,
+ })),
+ setCount: (count: number) => patchState(store, { count }),
+ inputCount: signalMethod((count) => {
+ if (!isNaN(+count)) {
+ patchState(store, { count: +count });
+ }
+ }),
+ })),
);
export type CounterStore = InstanceType;
From 0bb71d46153f02c7ba5f130bf0835f8ca266c6b2 Mon Sep 17 00:00:00 2001
From: chrisjwalk-bot <268224883+chrisjwalk-bot@users.noreply.github.com>
Date: Sun, 7 Jun 2026 15:02:05 -0400
Subject: [PATCH 20/22] fix: restore @ngrx/signals requiredVersion to ~21.1.0
(matches installed)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---
apps/web-app/vite.config.ts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/apps/web-app/vite.config.ts b/apps/web-app/vite.config.ts
index 75b49212..b5a49119 100644
--- a/apps/web-app/vite.config.ts
+++ b/apps/web-app/vite.config.ts
@@ -74,7 +74,7 @@ const mfeSharedDeps = {
// NgRx - base signals shared (host provides, remote uses import:false).
// @ngrx/signals/events is NOT shared - the federation plugin generates
// buggy loadShare imports for sub-path modules. It's bundled directly.
- '@ngrx/signals': { singleton: true, requiredVersion: '~20.2.0' },
+ '@ngrx/signals': { singleton: true, requiredVersion: '~21.1.0' },
// Utilities
rxjs: { singleton: true, requiredVersion: '~7.8.2' },
tslib: { singleton: true, requiredVersion: '~2.8.1' },
From 2c7aaf7222c31cc92eb2fedb4639dbbb128d011d Mon Sep 17 00:00:00 2001
From: chrisjwalk-bot <268224883+chrisjwalk-bot@users.noreply.github.com>
Date: Sun, 7 Jun 2026 15:03:43 -0400
Subject: [PATCH 21/22] fix: restore @ngrx/signals requiredVersion to ~21.1.0
in counter-remote too
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---
apps/counter-remote/vite.config.ts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/apps/counter-remote/vite.config.ts b/apps/counter-remote/vite.config.ts
index c054196d..5c776836 100644
--- a/apps/counter-remote/vite.config.ts
+++ b/apps/counter-remote/vite.config.ts
@@ -167,7 +167,7 @@ const sharedDeps = {
// buggy loadShare imports for sub-path modules. It's bundled directly.
'@ngrx/signals': {
singleton: true,
- requiredVersion: '~20.2.0',
+ requiredVersion: '~21.1.0',
import: false,
},
// Utilities
From b1973f78ebe7351382180022017e36b1c6028dd6 Mon Sep 17 00:00:00 2001
From: chrisjwalk-bot <268224883+chrisjwalk-bot@users.noreply.github.com>
Date: Sun, 7 Jun 2026 15:08:13 -0400
Subject: [PATCH 22/22] fix: migrate pnpm overrides to workspace yaml, bump CI
to pnpm 11
- Moved pnpm.overrides from package.json to pnpm-workspace.yaml (fixes
pnpm 11 deprecation warning & CI lockfile mismatch with --frozen-lockfile)
- Updated all 3 CI workflows to pnpm 11 to match local version
- Regenerated lockfile
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---
.github/workflows/ci.yml | 2 +-
.github/workflows/deploy.yml | 2 +-
.github/workflows/preview.yml | 2 +-
package.json | 36 +---
pnpm-lock.yaml | 367 ++++++++++++----------------------
pnpm-workspace.yaml | 33 +++
6 files changed, 167 insertions(+), 275 deletions(-)
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 9cdb5ba8..fc7861b5 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -24,7 +24,7 @@ jobs:
- uses: pnpm/action-setup@v4
with:
- version: 10
+ version: 11
- uses: actions/setup-node@v6
with:
diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml
index 43edb3a2..bd45a7df 100644
--- a/.github/workflows/deploy.yml
+++ b/.github/workflows/deploy.yml
@@ -38,7 +38,7 @@ jobs:
- uses: pnpm/action-setup@v4
with:
- version: 10
+ version: 11
- uses: actions/setup-node@v6
with:
diff --git a/.github/workflows/preview.yml b/.github/workflows/preview.yml
index f30b9922..0381e282 100644
--- a/.github/workflows/preview.yml
+++ b/.github/workflows/preview.yml
@@ -22,7 +22,7 @@ jobs:
- uses: pnpm/action-setup@v4
with:
- version: 10
+ version: 11
- uses: actions/setup-node@v6
with:
diff --git a/package.json b/package.json
index 7d41610e..71b524e8 100644
--- a/package.json
+++ b/package.json
@@ -153,39 +153,5 @@
"vite-tsconfig-paths": "6.1.1",
"vitest": "4.1.7"
},
- "pnpm": {
- "overrides": {
- "node-forge": "^1.4.0",
- "axios": ">=1.15.2",
- "@hono/node-server": ">=1.19.13",
- "ajv@8": ">=8.18.0",
- "brace-expansion@2": ">=2.0.3",
- "brace-expansion@5": ">=5.0.6",
- "flatted": ">=3.4.2",
- "follow-redirects": ">=1.16.0",
- "hono": ">=4.12.18",
- "koa": ">=3.1.2",
- "lodash-es": ">=4.18.0",
- "minimatch@9": ">=9.0.7",
- "minimatch@10": ">=10.2.3",
- "path-to-regexp@0": "~0.1.13",
- "path-to-regexp@8": ">=8.4.0",
- "picomatch@2": ">=2.3.2",
- "picomatch@4": ">=4.0.4",
- "qs": ">=6.15.2",
- "rollup": ">=4.59.0",
- "serialize-javascript": ">=7.0.5",
- "tar": ">=7.5.11",
- "webpack": ">=5.104.1",
- "yaml@2": ">=2.8.3",
- "vite@6": ">=6.4.2",
- "fast-uri": ">=3.1.2",
- "uuid@11": ">=11.1.1 <12",
- "ip-address": ">=10.1.1",
- "@babel/plugin-transform-modules-systemjs": ">=7.29.4",
- "ws": ">=8.20.1",
- "webpack-dev-server": ">=5.2.4",
- "uuid@8": ">=12.0.1"
- }
- }
+ "pnpm": {}
}
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index b105498e..ec364534 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -4,6 +4,39 @@ settings:
autoInstallPeers: true
excludeLinksFromLockfile: false
+overrides:
+ node-forge: ^1.4.0
+ axios: '>=1.15.2'
+ '@hono/node-server': '>=1.19.13'
+ ajv@8: '>=8.18.0'
+ brace-expansion@2: '>=2.0.3'
+ brace-expansion@5: '>=5.0.6'
+ flatted: '>=3.4.2'
+ follow-redirects: '>=1.16.0'
+ hono: '>=4.12.18'
+ koa: '>=3.1.2'
+ lodash-es: '>=4.18.0'
+ minimatch@9: '>=9.0.7'
+ minimatch@10: '>=10.2.3'
+ path-to-regexp@0: ~0.1.13
+ path-to-regexp@8: '>=8.4.0'
+ picomatch@2: '>=2.3.2'
+ picomatch@4: '>=4.0.4'
+ qs: '>=6.15.2'
+ rollup: '>=4.59.0'
+ serialize-javascript: '>=7.0.5'
+ tar: '>=7.5.11'
+ webpack: '>=5.104.1'
+ yaml@2: '>=2.8.3'
+ vite@6: '>=6.4.2'
+ fast-uri: '>=3.1.2'
+ uuid@11: '>=11.1.1 <12'
+ ip-address: '>=10.1.1'
+ '@babel/plugin-transform-modules-systemjs': '>=7.29.4'
+ ws: '>=8.20.1'
+ webpack-dev-server: '>=5.2.4'
+ uuid@8: '>=12.0.1'
+
importers:
.:
@@ -438,7 +471,7 @@ packages:
marked-shiki: ^1.2.1
prismjs: '*'
shiki: ^1.29.2
- vite: ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0
+ vite: '>=6.4.2'
peerDependenciesMeta:
'@nx/angular':
optional: true
@@ -467,7 +500,7 @@ packages:
peerDependencies:
'@angular-devkit/build-angular': ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^20.0.0 || ^21.0.0
'@angular/build': ^18.0.0 || ^19.0.0 || ^20.0.0 || ^21.0.0
- vite: ^6.0.0 || ^7.0.0 || ^8.0.0
+ vite: '>=6.4.2'
peerDependenciesMeta:
'@angular-devkit/build-angular':
optional: true
@@ -730,7 +763,7 @@ packages:
resolution: {integrity: sha512-TajUJwGWbDwkCx/CZi7tRE8PVB7simCvKJfHUsSdvps+aTM/PDPP4gkLmKnc+x3CE//y9i/nj74GqdL/hwk7Iw==}
engines: {node: '>=10'}
peerDependencies:
- ajv: '>=8'
+ ajv: '>=8.18.0'
'@asamuzakjp/css-color@5.1.11':
resolution: {integrity: sha512-KVw6qIiCTUQhByfTd78h2yD1/00waTmm9uy/R7Ck/ctUyAPj+AEDLkQIdJW0T8+qGgj3j5bpNKK7Q3G+LedJWg==}
@@ -2099,7 +2132,7 @@ packages:
resolution: {integrity: sha512-GwtvgtXxnWsucXvbQXkRgqksiH2Qed37H9xHZocE5sA3N8O8O8/8FA3uclQXxXVzc9XBZuEOMK7+r02FmSpHtw==}
engines: {node: '>=18.14.1'}
peerDependencies:
- hono: ^4
+ hono: '>=4.12.18'
'@humanfs/core@0.19.1':
resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==}
@@ -2535,7 +2568,7 @@ packages:
peerDependencies:
typescript: ^4.9.0 || ^5.0.0
vue-tsc: '>=1.0.24'
- webpack: ^5.0.0
+ webpack: '>=5.104.1'
peerDependenciesMeta:
typescript:
optional: true
@@ -2550,7 +2583,7 @@ packages:
peerDependencies:
typescript: ^4.9.0 || ^5.0.0
vue-tsc: '>=1.0.24'
- webpack: ^5.0.0
+ webpack: '>=5.104.1'
peerDependenciesMeta:
typescript:
optional: true
@@ -2599,7 +2632,7 @@ packages:
next: '*'
react: ^16||^17||^18||^19
react-dom: ^16||^17||^18||^19
- webpack: ^5.40.0
+ webpack: '>=5.104.1'
peerDependenciesMeta:
next:
optional: true
@@ -2687,7 +2720,7 @@ packages:
'@module-federation/vite@1.16.2':
resolution: {integrity: sha512-XjfReMlQWe+i0SCmkbhrqIuo7WEGIoWH4AsvBQ9gLBa+DxA4qnygJrL6kHi7T1z7EVNRhTTysTHm4ezXGkvr5Q==}
peerDependencies:
- vite: ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0
+ vite: '>=6.4.2'
'@module-federation/webpack-bundler-runtime@0.21.6':
resolution: {integrity: sha512-7zIp3LrcWbhGuFDTUMLJ2FJvcwjlddqhWGxi/MW3ur1a+HaO8v5tF2nl+vElKmbG1DFLU/52l3PElVcWf/YcsQ==}
@@ -3063,14 +3096,14 @@ packages:
'@nx/vite@22.7.5':
resolution: {integrity: sha512-udKstx9fDT+Z/SacxVBJWdqDhaxee9/rA+F6nyg97PTH4JAGVuj+LZIFPakqiSg623GXMAGmK0gzAswAuWrYIQ==}
peerDependencies:
- vite: ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0
+ vite: '>=6.4.2'
vitest: ^1.3.1 || ^2.0.0 || ^3.0.0 || ^4.0.0
'@nx/vitest@22.7.5':
resolution: {integrity: sha512-+E/IOIpzKbIfnTugx5vk9nDRw9tJEPIdNguYusSrzyZ6UNxiLBO9ipamNKiXw/4lPCtGH2TGx6M9nBQDUg/ciQ==}
peerDependencies:
'@nx/eslint': 22.7.5
- vite: ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0
+ vite: '>=6.4.2'
vitest: ^1.0.0 || ^2.0.0 || ^3.0.0 || ^4.0.0
peerDependenciesMeta:
'@nx/eslint':
@@ -3715,7 +3748,7 @@ packages:
resolution: {integrity: sha512-tPCzJOtS7uuVZd+xPhoy5W4vThe6KWXNmsFCNktaAh5RTqcLiSfT4huPQIXkgJ6YCOjJHvecOAzQxLFhPxKr+g==}
engines: {node: '>=20.19.0'}
peerDependencies:
- rollup: '>=4.0.0'
+ rollup: '>=4.59.0'
peerDependenciesMeta:
rollup:
optional: true
@@ -3726,7 +3759,7 @@ packages:
peerDependencies:
'@babel/core': ^7.0.0
'@types/babel__core': ^7.1.9
- rollup: ^1.20.0||^2.0.0
+ rollup: '>=4.59.0'
peerDependenciesMeta:
'@types/babel__core':
optional: true
@@ -3735,7 +3768,7 @@ packages:
resolution: {integrity: sha512-S/ggWH1LU7jTyi9DxZOKyxpVd4hF/OZ0JrEbeLjXk/DFXwRny0tjD2c992zOUYQobLrVkRVMDdmHP16HKP7GRg==}
engines: {node: '>=16.0.0 || 14 >= 14.17'}
peerDependencies:
- rollup: ^2.68.0||^3.0.0||^4.0.0
+ rollup: '>=4.59.0'
peerDependenciesMeta:
rollup:
optional: true
@@ -3744,7 +3777,7 @@ packages:
resolution: {integrity: sha512-2+DEJbNBoPROPkgTDNe8/1YXWcqxbN5DTjASVIOx8HS+pITXushyNiBV56RB08zuptzz8gT3YfkqriTBVycepg==}
engines: {node: '>=14.0.0'}
peerDependencies:
- rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
+ rollup: '>=4.59.0'
peerDependenciesMeta:
rollup:
optional: true
@@ -3753,7 +3786,7 @@ packages:
resolution: {integrity: sha512-EGI2te5ENk1coGeADSIwZ7G2Q8CJS2sF120T7jLw4xFw9n7wIOXHo+kIYRAoVpJAN+kmqZSoO3Fp4JtoNF4ReA==}
engines: {node: '>=14.0.0'}
peerDependencies:
- rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
+ rollup: '>=4.59.0'
peerDependenciesMeta:
rollup:
optional: true
@@ -3762,7 +3795,7 @@ packages:
resolution: {integrity: sha512-tgg6b91pAybXHJQMAAwW9VuWBO6Thi+q7BCNARLwSqlmsHz0XYURtGvh/AuwSADXSI4h/2uHbs7s4FzlZDGSGA==}
engines: {node: '>=14.0.0'}
peerDependencies:
- rollup: ^2.78.0||^3.0.0||^4.0.0
+ rollup: '>=4.59.0'
peerDependenciesMeta:
rollup:
optional: true
@@ -3771,7 +3804,7 @@ packages:
resolution: {integrity: sha512-lUYM3UBGuM93CnMPG1YocWu7X802BrNF3jW2zny5gQyLQgRFJhV1Sq0Zi74+dh/6NBx1DxFC4b4GXg9wUCG5Qg==}
engines: {node: '>=14.0.0'}
peerDependencies:
- rollup: ^2.78.0||^3.0.0||^4.0.0
+ rollup: '>=4.59.0'
peerDependenciesMeta:
rollup:
optional: true
@@ -3779,13 +3812,13 @@ packages:
'@rollup/plugin-replace@2.4.2':
resolution: {integrity: sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==}
peerDependencies:
- rollup: ^1.20.0 || ^2.0.0
+ rollup: '>=4.59.0'
'@rollup/plugin-replace@6.0.3':
resolution: {integrity: sha512-J4RZarRvQAm5IF0/LwUUg+obsm+xZhYnbMXmXROyoSE1ATJe3oXSb9L5MMppdxP2ylNSjv6zFBwKYjcKMucVfA==}
engines: {node: '>=14.0.0'}
peerDependencies:
- rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
+ rollup: '>=4.59.0'
peerDependenciesMeta:
rollup:
optional: true
@@ -3794,7 +3827,7 @@ packages:
resolution: {integrity: sha512-XHeJC5Bgvs8LfukDwWZp7yeqin6ns8RTl2B9avbejt6tZqsqvVoWI7ZTQrcNsfKEDWBTnTxM8nMDkO2IFFbd0A==}
engines: {node: '>=14.0.0'}
peerDependencies:
- rollup: ^2.0.0||^3.0.0||^4.0.0
+ rollup: '>=4.59.0'
peerDependenciesMeta:
rollup:
optional: true
@@ -3803,7 +3836,7 @@ packages:
resolution: {integrity: sha512-FnCxhTBx6bMOYQrar6C8h3scPt8/JwIzw3+AJ2K++6guogH5fYaIFia+zZuhqv0eo1RN7W1Pz630SyvLbDjhtQ==}
engines: {node: '>=20.0.0'}
peerDependencies:
- rollup: ^2.0.0||^3.0.0||^4.0.0
+ rollup: '>=4.59.0'
peerDependenciesMeta:
rollup:
optional: true
@@ -3812,13 +3845,13 @@ packages:
resolution: {integrity: sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==}
engines: {node: '>= 8.0.0'}
peerDependencies:
- rollup: ^1.20.0||^2.0.0
+ rollup: '>=4.59.0'
'@rollup/pluginutils@5.3.0':
resolution: {integrity: sha512-5EdhGZtnu3V88ces7s53hhfK5KSASnJZv8Lulpc04cWO3REESroJXg73DFsOmgbU2BhwV0E20bu2IDZb3VKW4Q==}
engines: {node: '>=14.0.0'}
peerDependencies:
- rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
+ rollup: '>=4.59.0'
peerDependenciesMeta:
rollup:
optional: true
@@ -4580,9 +4613,6 @@ packages:
'@types/mime@1.3.5':
resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==}
- '@types/node-forge@1.3.14':
- resolution: {integrity: sha512-mhVF2BnD4BO+jtOp7z1CdzaK4mbuK0LLQYAvdOLqHTavxFNq4zA1EmYkpnFjP8HOUzedfQkRnp0E2ulSAYSzAw==}
-
'@types/node@25.6.2':
resolution: {integrity: sha512-sokuT28dxf9JT5Kady1fsXOvI4HVpjZa95NKT5y9PNTIrs2AsobR4GFAA90ZG8M+nxVRLysCXsVj6eGC7Vbrlw==}
@@ -4864,7 +4894,7 @@ packages:
resolution: {integrity: sha512-HXciTXN/sDBYWgeAD4V4s0DN0g72x5mlxQhHxtYu3Tt8BLa6MzcJZUyDVFCdtjNs3bfENVHVzOsmooTVuNgAAw==}
engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0}
peerDependencies:
- vite: ^6.0.0 || ^7.0.0
+ vite: '>=6.4.2'
'@vitest/coverage-v8@4.1.7':
resolution: {integrity: sha512-qsYPeXc5Q9dFLd1i8Ap+Bx8sQgcp+rFVQo4R0dDsWNBzl26ldVF1qOO+RL24K7FDrR6pA+50XedRLSoSG24bVQ==}
@@ -4882,7 +4912,7 @@ packages:
resolution: {integrity: sha512-vY7nuamKgfvpA1Koa3oYIw/k7D6kZnpGyNMZW8loow2bsBYla1TFdqTaXncWdRn4pgwNs+90RhnXhJScDwQeJA==}
peerDependencies:
msw: ^2.4.9
- vite: ^6.0.0 || ^7.0.0 || ^8.0.0
+ vite: '>=6.4.2'
peerDependenciesMeta:
msw:
optional: true
@@ -5036,7 +5066,7 @@ packages:
ajv-formats@2.1.1:
resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==}
peerDependencies:
- ajv: ^8.0.0
+ ajv: '>=8.18.0'
peerDependenciesMeta:
ajv:
optional: true
@@ -5044,7 +5074,7 @@ packages:
ajv-formats@3.0.1:
resolution: {integrity: sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==}
peerDependencies:
- ajv: ^8.0.0
+ ajv: '>=8.18.0'
peerDependenciesMeta:
ajv:
optional: true
@@ -5057,7 +5087,7 @@ packages:
ajv-keywords@5.1.0:
resolution: {integrity: sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==}
peerDependencies:
- ajv: ^8.8.2
+ ajv: '>=8.18.0'
ajv@6.14.0:
resolution: {integrity: sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==}
@@ -5224,7 +5254,7 @@ packages:
engines: {node: '>= 14.15.0'}
peerDependencies:
'@babel/core': ^7.12.0
- webpack: '>=5'
+ webpack: '>=5.104.1'
babel-plugin-const-enum@1.2.0:
resolution: {integrity: sha512-o1m/6iyyFnp9MRsK1dHF3bneqyf3AlM2q3A/YbgQr2pCat6B6XJVDv2TXqzfY2RYUi4mak6WAksSBPlyYGx9dg==}
@@ -5786,7 +5816,7 @@ packages:
resolution: {integrity: sha512-3JLW90aBGeaTLpM7mYQKpnVdgsUZRExY55giiZgLuX/xTQRUs1dOCwbBnWnvY6Q6rfZoXMNwzOQJCSZPppfqXA==}
engines: {node: '>= 20.9.0'}
peerDependencies:
- webpack: ^5.1.0
+ webpack: '>=5.104.1'
core-js-compat@3.49.0:
resolution: {integrity: sha512-VQXt1jr9cBz03b331DFDCCP90b3fanciLkgiOoy8SBHy06gNf+vQ1A3WFLqG7I8TipYIKeYK9wxd0tUrvHcOZA==}
@@ -5880,7 +5910,7 @@ packages:
engines: {node: '>= 12.13.0'}
peerDependencies:
'@rspack/core': 0.x || 1.x
- webpack: ^5.0.0
+ webpack: '>=5.104.1'
peerDependenciesMeta:
'@rspack/core':
optional: true
@@ -5897,7 +5927,7 @@ packages:
csso: '*'
esbuild: '*'
lightningcss: '*'
- webpack: ^5.0.0
+ webpack: '>=5.104.1'
peerDependenciesMeta:
'@parcel/css':
optional: true
@@ -6709,7 +6739,7 @@ packages:
resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==}
engines: {node: '>=12.0.0'}
peerDependencies:
- picomatch: ^3 || ^4
+ picomatch: '>=4.0.4'
peerDependenciesMeta:
picomatch:
optional: true
@@ -6804,7 +6834,7 @@ packages:
engines: {node: '>=14.21.3'}
peerDependencies:
typescript: '>3.6.0'
- webpack: ^5.11.0
+ webpack: '>=5.104.1'
form-data@4.0.5:
resolution: {integrity: sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==}
@@ -7271,12 +7301,8 @@ packages:
resolution: {integrity: sha512-HuEDBTI70aYdx1v6U97SbNx9F1+svQKBDo30o0b9fw055LMepzpOOd0Ccg9Q6tbqmBSJaMuY0fB7yw9/vjBYCA==}
engines: {node: '>=12.22.0'}
- ip-address@10.0.1:
- resolution: {integrity: sha512-NWv9YLW4PoW2B7xtzaS3NCot75m6nK7Icdv0o3lfMceJVRfSoQwqD4wEH5rLwoKJwUiZ/rfpiVBhnaF0FK4HoA==}
- engines: {node: '>= 12'}
-
- ip-address@9.0.5:
- resolution: {integrity: sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==}
+ ip-address@10.2.0:
+ resolution: {integrity: sha512-/+S6j4E9AHvW9SWMSEY9Xfy66O5PWvVEJ08O0y5JGyEKQpojb0K0GKpz/v5HJ/G0vi3D2sjGK78119oXZeE0qA==}
engines: {node: '>= 12'}
ip-regex@4.3.0:
@@ -7547,7 +7573,7 @@ packages:
isomorphic-ws@5.0.0:
resolution: {integrity: sha512-muId7Zzn9ywDsyXgTIafTry2sV3nySZeUDe6YedVd1Hvuuep5AsIlqK+XefWpYTyJG5e503F2xIuT2lcU6rCSw==}
peerDependencies:
- ws: '*'
+ ws: '>=8.20.1'
istanbul-lib-coverage@3.2.2:
resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==}
@@ -7724,9 +7750,6 @@ packages:
resolution: {integrity: sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==}
hasBin: true
- jsbn@1.1.0:
- resolution: {integrity: sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==}
-
jsdom@29.1.1:
resolution: {integrity: sha512-ECi4Fi2f7BdJtUKTflYRTiaMxIB0O6zfR1fX0GXpUrf6flp8QIYn1UT20YQqdSOfk2dfkCwS8LAFoJDEppNK5Q==}
engines: {node: ^20.19.0 || ^22.13.0 || >=24.0.0}
@@ -7832,8 +7855,8 @@ packages:
koa-compose@4.1.0:
resolution: {integrity: sha512-8ODW8TrDuMYvXRwra/Kh7/rJo9BtOfPc6qO8eAfC80CnCvSjSl0bkRM24X6/XBBEyj0v1nRUQ1LyOy3dbqOWXw==}
- koa@3.0.3:
- resolution: {integrity: sha512-MeuwbCoN1daWS32/Ni5qkzmrOtQO2qrnfdxDHjrm6s4b59yG4nexAJ0pTEFyzjLp0pBVO80CZp0vW8Ze30Ebow==}
+ koa@3.2.1:
+ resolution: {integrity: sha512-e7IpWJrnanNUroVK2taAgMxoEZvHLXdQiNjeExSu/DEIWm83jaKGBgb7tLmu2rMYpA027qFB3iLR/k3AVpFRnA==}
engines: {node: '>= 18'}
launch-editor@2.13.2:
@@ -7855,7 +7878,7 @@ packages:
peerDependencies:
'@rspack/core': 0.x || 1.x
less: ^3.5.0 || ^4.0.0
- webpack: ^5.0.0
+ webpack: '>=5.104.1'
peerDependenciesMeta:
'@rspack/core':
optional: true
@@ -8250,7 +8273,7 @@ packages:
resolution: {integrity: sha512-euWmddf0sk9Nv1O0gfeeUAvAkoSlWncNLF77C0TP2+WoPvy8mAHKOzMajcCz2dzvyt3CNgxb1obIEVFIRxaipg==}
engines: {node: '>= 12.13.0'}
peerDependencies:
- webpack: ^5.0.0
+ webpack: '>=5.104.1'
minimalistic-assert@1.0.1:
resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==}
@@ -8878,7 +8901,7 @@ packages:
peerDependencies:
'@rspack/core': 0.x || ^1.0.0 || ^2.0.0-0
postcss: ^7.0.0 || ^8.0.1
- webpack: ^5.0.0
+ webpack: '>=5.104.1'
peerDependenciesMeta:
'@rspack/core':
optional: true
@@ -9137,10 +9160,6 @@ packages:
resolution: {integrity: sha512-KTqnxsgGiQ6ZAzZCVlJH5eOjSnvlyEgx1m8bkRJfOhmGRqfo5KLvmAlACQkrjEtOQ4B7wF9TdSLIs9O90MX9xA==}
engines: {node: '>=16.0.0'}
- qs@6.14.2:
- resolution: {integrity: sha512-V/yCWTTF7VJ9hIh18Ugr2zhJMP01MY7c5kh4J870L7imm6/DIzBsNLTXzMwUA3yZ5b/KBqLx8Kp3uRvd7xSe3Q==}
- engines: {node: '>=0.6'}
-
qs@6.15.2:
resolution: {integrity: sha512-Rzq0KEyX/w/tEybncDgdkZrJgVUsUMk3xjh3t5bv3S1HTAtg+uOYt72+ZfwiQwKdysThkTBdL/rTi6HDmX9Ddw==}
engines: {node: '>=0.6'}
@@ -9157,9 +9176,6 @@ packages:
rambda@9.4.2:
resolution: {integrity: sha512-++euMfxnl7OgaEKwXh9QqThOjMeta2HH001N1v4mYQzBjJBnmXBh2BCK6dZAbICFVXOFUVD3xFG0R3ZPU0mxXw==}
- randombytes@2.1.0:
- resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==}
-
range-parser@1.2.1:
resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==}
engines: {node: '>= 0.6'}
@@ -9362,18 +9378,13 @@ packages:
hasBin: true
peerDependencies:
rolldown: 1.x || ^1.0.0-beta || ^1.0.0-rc
- rollup: 2.x || 3.x || 4.x
+ rollup: '>=4.59.0'
peerDependenciesMeta:
rolldown:
optional: true
rollup:
optional: true
- rollup@2.80.0:
- resolution: {integrity: sha512-cIFJOD1DESzpjOBl763Kp1AH7UE/0fcdHe6rZXUdQ9c50uvgigvW97u3IcSeBwOkgqL/PXPBktBCh0KEu5L8XQ==}
- engines: {node: '>=10.0.0'}
- hasBin: true
-
rollup@4.60.3:
resolution: {integrity: sha512-pAQK9HalE84QSm4Po3EmWIZPd3FnjkShVkiMlz1iligWYkWQ7wHYd1PF/T7QZ5TVSD6uSTon5gBVMSM4JfBV+A==}
engines: {node: '>=18.0.0', npm: '>=8.0.0'}
@@ -9553,7 +9564,7 @@ packages:
node-sass: ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0
sass: ^1.3.0
sass-embedded: '*'
- webpack: ^5.0.0
+ webpack: '>=5.104.1'
peerDependenciesMeta:
'@rspack/core':
optional: true
@@ -9606,10 +9617,6 @@ packages:
select-hose@2.0.0:
resolution: {integrity: sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==}
- selfsigned@2.4.1:
- resolution: {integrity: sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==}
- engines: {node: '>=10'}
-
selfsigned@5.5.0:
resolution: {integrity: sha512-ftnu3TW4+3eBfLRFnDEkzGxSF/10BJBkaLJuBHZX0kiPS7bRdlpZGu6YGt4KngMkdTwJE6MbjavFpqHvqVt+Ew==}
engines: {node: '>=18'}
@@ -9640,9 +9647,6 @@ packages:
resolution: {integrity: sha512-uaW0WwXKpL9blXE2o0bRhoL2EGXIrZxQ2ZQ4mgcfoBxdFmQold+qWsD2jLrfZ0trjKL6vOw0j//eAwcALFjKSw==}
engines: {node: '>= 18'}
- serialize-javascript@6.0.2:
- resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==}
-
serialize-javascript@7.0.5:
resolution: {integrity: sha512-F4LcB0UqUl1zErq+1nYEEzSHJnIwb3AF2XWB94b+afhrekOUijwooAYqFyRbjYkm2PAKBabx6oYv/xDxNi8IBw==}
engines: {node: '>=20.0.0'}
@@ -9787,7 +9791,7 @@ packages:
resolution: {integrity: sha512-k2Dur7CbSLcAH73sBcIkV5xjPV4SzqO1NJ7+XaQl8if3VODDUj3FNchNGpqgJSKbvUfJuhVdv8K2Eu8/TNl2eA==}
engines: {node: '>= 18.12.0'}
peerDependencies:
- webpack: ^5.72.1
+ webpack: '>=5.104.1'
source-map-support@0.5.13:
resolution: {integrity: sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==}
@@ -9840,9 +9844,6 @@ packages:
sprintf-js@1.0.3:
resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==}
- sprintf-js@1.1.3:
- resolution: {integrity: sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==}
-
ssri@13.0.0:
resolution: {integrity: sha512-yizwGBpbCn4YomB2lzhZqrHLJoqFGXihNbib3ozhqF/cIp5ue+xSmOQrjNasEE62hFxsCcg/V/z23t4n8jMEng==}
engines: {node: ^20.17.0 || >=22.9.0}
@@ -9970,7 +9971,7 @@ packages:
resolution: {integrity: sha512-0WqXzrsMTyb8yjZJHDqwmnwRJvhALK9LfRtRc6B4UTWe8AijYLZYZ9thuJTZc2VfQWINADW/j+LiJnfy2RoC1w==}
engines: {node: '>= 12.13.0'}
peerDependencies:
- webpack: ^5.0.0
+ webpack: '>=5.104.1'
stylehacks@7.0.8:
resolution: {integrity: sha512-I3f053GBLIiS5Fg6OMFhq/c+yW+5Hc2+1fgq7gElDMMSqwlRb3tBf2ef6ucLStYRpId4q//bQO1FjcyNyy4yDQ==}
@@ -10068,7 +10069,7 @@ packages:
'@swc/core': '*'
esbuild: '*'
uglify-js: '*'
- webpack: ^5.1.0
+ webpack: '>=5.104.1'
peerDependenciesMeta:
'@swc/core':
optional: true
@@ -10203,7 +10204,7 @@ packages:
engines: {node: '>=12.0.0'}
peerDependencies:
typescript: '*'
- webpack: ^5.0.0
+ webpack: '>=5.104.1'
ts-morph@21.0.1:
resolution: {integrity: sha512-dbDtVdEAncKctzrVZ+Nr7kHpHkv+0JDJb2MjjpBaj8bFeCkePU9rHfMklmhuLFnpeq/EJZk2IhStY6NzqgjOkg==}
@@ -10553,9 +10554,8 @@ packages:
resolution: {integrity: sha512-vIYxrBCC/N/K+Js3qSN88go7kIfNPssr/hHCesKCQNAjmgvYS2oqr69kIufEG+O4+PfezOH4EbIeHCfFov8ZgQ==}
hasBin: true
- uuid@8.3.2:
- resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==}
- deprecated: uuid@10 and below is no longer supported. For ESM codebases, update to uuid@latest. For CommonJS codebases, use uuid@11 (but be aware this version will likely be deprecated in 2028).
+ uuid@14.0.0:
+ resolution: {integrity: sha512-Qo+uWgilfSmAhXCMav1uYFynlQO7fMFiMVZsQqZRMIXp0O7rR7qjkj+cPvBHLgBqi960QCoo/PH2/6ZtVqKvrg==}
hasBin: true
v8-compile-cache-lib@3.0.1:
@@ -10590,7 +10590,7 @@ packages:
engines: {node: '>=16.0.0'}
peerDependencies:
'@vite-pwa/assets-generator': ^1.0.0
- vite: ^3.1.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0
+ vite: '>=6.4.2'
workbox-build: ^7.4.1
workbox-window: ^7.4.1
peerDependenciesMeta:
@@ -10600,7 +10600,7 @@ packages:
vite-tsconfig-paths@6.1.1:
resolution: {integrity: sha512-2cihq7zliibCCZ8P9cKJrQBkfgdvcFkOOc3Y02o3GWUDLgqjWsZudaoiuOwO/gzTzy17cS5F7ZPo4bsnS4DGkg==}
peerDependencies:
- vite: '*'
+ vite: '>=6.4.2'
vite@7.3.2:
resolution: {integrity: sha512-Bby3NOsna2jsjfLVOHKes8sGwgl4TT0E6vvpYgnAYDIF/tie7MRaFthmKuHx1NSXjiTueXH3do80FMQgvEktRg==}
@@ -10617,7 +10617,7 @@ packages:
sugarss: ^5.0.0
terser: ^5.16.0
tsx: ^4.8.1
- yaml: ^2.4.2
+ yaml: '>=2.8.3'
peerDependenciesMeta:
'@types/node':
optional: true
@@ -10658,7 +10658,7 @@ packages:
sugarss: ^5.0.0
terser: ^5.16.0
tsx: ^4.8.1
- yaml: ^2.4.2
+ yaml: '>=2.8.3'
peerDependenciesMeta:
'@types/node':
optional: true
@@ -10688,7 +10688,7 @@ packages:
vitefu@1.1.3:
resolution: {integrity: sha512-ub4okH7Z5KLjb6hDyjqrGXqWtWvoYdU3IGm/NorpgHncKoLTCfRIbvlhBm7r0YstIaQRYlp4yEbFqDcKSzXSSg==}
peerDependencies:
- vite: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0
+ vite: '>=6.4.2'
peerDependenciesMeta:
vite:
optional: true
@@ -10709,7 +10709,7 @@ packages:
'@vitest/ui': 4.1.7
happy-dom: '*'
jsdom: '*'
- vite: ^6.0.0 || ^7.0.0 || ^8.0.0
+ vite: '>=6.4.2'
peerDependenciesMeta:
'@edge-runtime/vm':
optional: true
@@ -10768,30 +10768,17 @@ packages:
resolution: {integrity: sha512-xOO8n6eggxnwYpy1NlzUKpvrjfJTvae5/D6WOK0S2LSo7vjmo5gCM1DbLUmFqrMTJP+W/0YZNctm7jasWvLuBA==}
engines: {node: '>= 18.12.0'}
peerDependencies:
- webpack: ^5.0.0
+ webpack: '>=5.104.1'
peerDependenciesMeta:
webpack:
optional: true
- webpack-dev-server@5.2.2:
- resolution: {integrity: sha512-QcQ72gh8a+7JO63TAx/6XZf/CWhgMzu5m0QirvPfGvptOusAxG12w2+aua1Jkjr7hzaWDnJ2n6JFeexMHI+Zjg==}
- engines: {node: '>= 18.12.0'}
- hasBin: true
- peerDependencies:
- webpack: ^5.0.0
- webpack-cli: '*'
- peerDependenciesMeta:
- webpack:
- optional: true
- webpack-cli:
- optional: true
-
webpack-dev-server@5.2.4:
resolution: {integrity: sha512-GqDPGZN9bRqKBTkp4aWkobDDHMsrXKoGSdOH56smIri8qR0JG8gfL8/v/f/OZR3/OKXjG8uwJbFVhKm/FNU/UA==}
engines: {node: '>= 18.12.0'}
hasBin: true
peerDependencies:
- webpack: ^5.0.0
+ webpack: '>=5.104.1'
webpack-cli: '*'
peerDependenciesMeta:
webpack:
@@ -10816,7 +10803,7 @@ packages:
engines: {node: '>= 12'}
peerDependencies:
html-webpack-plugin: '>= 5.0.0-beta.1 < 6'
- webpack: ^5.12.0
+ webpack: '>=5.104.1'
peerDependenciesMeta:
html-webpack-plugin:
optional: true
@@ -10983,18 +10970,6 @@ packages:
resolution: {integrity: sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==}
engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
- ws@8.18.0:
- resolution: {integrity: sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==}
- engines: {node: '>=10.0.0'}
- peerDependencies:
- bufferutil: ^4.0.1
- utf-8-validate: '>=5.0.2'
- peerDependenciesMeta:
- bufferutil:
- optional: true
- utf-8-validate:
- optional: true
-
ws@8.21.0:
resolution: {integrity: sha512-Vsp28b7DRcimFQvrqu2Wek3z1iYxDCWqHYB8Qsnk/S4RfaCQzPGPyBNuVjJV3cd6UiKtUtp6sNM77gWvzcCH+g==}
engines: {node: '>=10.0.0'}
@@ -13531,14 +13506,14 @@ snapshots:
axios: 1.16.0
chalk: 3.0.0
fs-extra: 9.1.0
- isomorphic-ws: 5.0.0(ws@8.18.0)
- koa: 3.0.3
+ isomorphic-ws: 5.0.0(ws@8.21.0)
+ koa: 3.2.1
lodash.clonedeepwith: 4.5.0
log4js: 6.9.1
node-schedule: 2.1.1
rambda: 9.4.2
typescript: 6.0.3
- ws: 8.18.0
+ ws: 8.21.0
transitivePeerDependencies:
- bufferutil
- debug
@@ -13553,11 +13528,11 @@ snapshots:
'@module-federation/third-party-dts-extractor': 2.4.0
adm-zip: 0.5.10
ansi-colors: 4.1.3
- isomorphic-ws: 5.0.0(ws@8.18.0)
+ isomorphic-ws: 5.0.0(ws@8.21.0)
node-schedule: 2.1.1
typescript: 6.0.3
undici: 7.24.7
- ws: 8.18.0
+ ws: 8.21.0
transitivePeerDependencies:
- bufferutil
- node-fetch
@@ -13571,11 +13546,11 @@ snapshots:
'@module-federation/third-party-dts-extractor': 2.5.0
adm-zip: 0.5.10
ansi-colors: 4.1.3
- isomorphic-ws: 5.0.0(ws@8.18.0)
+ isomorphic-ws: 5.0.0(ws@8.21.0)
node-schedule: 2.1.1
typescript: 6.0.3
undici: 7.24.7
- ws: 8.18.0
+ ws: 8.21.0
transitivePeerDependencies:
- bufferutil
- node-fetch
@@ -15055,12 +15030,12 @@ snapshots:
optionalDependencies:
rollup: 4.60.3
- '@rollup/plugin-babel@5.3.1(@babel/core@7.29.0)(@types/babel__core@7.20.5)(rollup@2.80.0)':
+ '@rollup/plugin-babel@5.3.1(@babel/core@7.29.0)(@types/babel__core@7.20.5)(rollup@4.60.3)':
dependencies:
'@babel/core': 7.29.0
'@babel/helper-module-imports': 7.28.6
- '@rollup/pluginutils': 3.1.0(rollup@2.80.0)
- rollup: 2.80.0
+ '@rollup/pluginutils': 3.1.0(rollup@4.60.3)
+ rollup: 4.60.3
optionalDependencies:
'@types/babel__core': 7.20.5
transitivePeerDependencies:
@@ -15092,15 +15067,15 @@ snapshots:
optionalDependencies:
rollup: 4.60.3
- '@rollup/plugin-node-resolve@15.3.1(rollup@2.80.0)':
+ '@rollup/plugin-node-resolve@15.3.1(rollup@4.60.3)':
dependencies:
- '@rollup/pluginutils': 5.3.0(rollup@2.80.0)
+ '@rollup/pluginutils': 5.3.0(rollup@4.60.3)
'@types/resolve': 1.20.2
deepmerge: 4.3.1
is-module: 1.0.0
resolve: 1.22.12
optionalDependencies:
- rollup: 2.80.0
+ rollup: 4.60.3
'@rollup/plugin-node-resolve@16.0.3(rollup@4.60.3)':
dependencies:
@@ -15112,11 +15087,11 @@ snapshots:
optionalDependencies:
rollup: 4.60.3
- '@rollup/plugin-replace@2.4.2(rollup@2.80.0)':
+ '@rollup/plugin-replace@2.4.2(rollup@4.60.3)':
dependencies:
- '@rollup/pluginutils': 3.1.0(rollup@2.80.0)
+ '@rollup/pluginutils': 3.1.0(rollup@4.60.3)
magic-string: 0.25.9
- rollup: 2.80.0
+ rollup: 4.60.3
'@rollup/plugin-replace@6.0.3(rollup@4.60.3)':
dependencies:
@@ -15125,13 +15100,13 @@ snapshots:
optionalDependencies:
rollup: 4.60.3
- '@rollup/plugin-terser@0.4.4(rollup@2.80.0)':
+ '@rollup/plugin-terser@0.4.4(rollup@4.60.3)':
dependencies:
- serialize-javascript: 6.0.2
+ serialize-javascript: 7.0.5
smob: 1.6.1
terser: 5.47.1
optionalDependencies:
- rollup: 2.80.0
+ rollup: 4.60.3
'@rollup/plugin-terser@1.0.0(rollup@4.60.3)':
dependencies:
@@ -15141,20 +15116,12 @@ snapshots:
optionalDependencies:
rollup: 4.60.3
- '@rollup/pluginutils@3.1.0(rollup@2.80.0)':
+ '@rollup/pluginutils@3.1.0(rollup@4.60.3)':
dependencies:
'@types/estree': 0.0.39
estree-walker: 1.0.1
- picomatch: 2.3.2
- rollup: 2.80.0
-
- '@rollup/pluginutils@5.3.0(rollup@2.80.0)':
- dependencies:
- '@types/estree': 1.0.8
- estree-walker: 2.0.2
picomatch: 4.0.4
- optionalDependencies:
- rollup: 2.80.0
+ rollup: 4.60.3
'@rollup/pluginutils@5.3.0(rollup@4.60.3)':
dependencies:
@@ -15298,7 +15265,7 @@ snapshots:
chokidar: 3.6.0
http-proxy-middleware: 2.0.9(@types/express@4.17.25)
p-retry: 6.2.1
- webpack-dev-server: 5.2.2(webpack@5.106.2(@swc/core@1.15.40(@swc/helpers@0.5.23))(esbuild@0.28.0))
+ webpack-dev-server: 5.2.4(webpack@5.106.2(@swc/core@1.15.40(@swc/helpers@0.5.23))(esbuild@0.28.0))
ws: 8.21.0
transitivePeerDependencies:
- '@types/express'
@@ -15889,10 +15856,6 @@ snapshots:
'@types/mime@1.3.5': {}
- '@types/node-forge@1.3.14':
- dependencies:
- '@types/node': 25.9.1
-
'@types/node@25.6.2':
dependencies:
undici-types: 7.19.2
@@ -16813,7 +16776,7 @@ snapshots:
http-errors: 2.0.1
iconv-lite: 0.4.24
on-finished: 2.4.1
- qs: 6.14.2
+ qs: 6.15.2
raw-body: 2.5.3
type-is: 1.6.18
unpipe: 1.0.0
@@ -18181,7 +18144,7 @@ snapshots:
express-rate-limit@8.2.1(express@5.2.1):
dependencies:
express: 5.2.1
- ip-address: 10.0.1
+ ip-address: 10.2.0
express@4.22.1:
dependencies:
@@ -18206,7 +18169,7 @@ snapshots:
parseurl: 1.3.3
path-to-regexp: 0.1.13
proxy-addr: 2.0.7
- qs: 6.14.2
+ qs: 6.15.2
range-parser: 1.2.1
safe-buffer: 5.2.1
send: 0.19.2
@@ -18937,12 +18900,7 @@ snapshots:
transitivePeerDependencies:
- supports-color
- ip-address@10.0.1: {}
-
- ip-address@9.0.5:
- dependencies:
- jsbn: 1.1.0
- sprintf-js: 1.1.3
+ ip-address@10.2.0: {}
ip-regex@4.3.0: {}
@@ -19156,9 +19114,9 @@ snapshots:
isobject@3.0.1: {}
- isomorphic-ws@5.0.0(ws@8.18.0):
+ isomorphic-ws@5.0.0(ws@8.21.0):
dependencies:
- ws: 8.18.0
+ ws: 8.21.0
istanbul-lib-coverage@3.2.2: {}
@@ -19520,8 +19478,6 @@ snapshots:
dependencies:
argparse: 2.0.1
- jsbn@1.1.0: {}
-
jsdom@29.1.1:
dependencies:
'@asamuzakjp/css-color': 5.1.11
@@ -19626,10 +19582,10 @@ snapshots:
koa-compose@4.1.0: {}
- koa@3.0.3:
+ koa@3.2.1:
dependencies:
accepts: 1.3.8
- content-disposition: 0.5.4
+ content-disposition: 1.0.1
content-type: 1.0.5
cookies: 0.9.1
delegates: 1.0.0
@@ -21207,10 +21163,6 @@ snapshots:
pvutils@1.1.5: {}
- qs@6.14.2:
- dependencies:
- side-channel: 1.1.0
-
qs@6.15.2:
dependencies:
side-channel: 1.1.0
@@ -21223,10 +21175,6 @@ snapshots:
rambda@9.4.2: {}
- randombytes@2.1.0:
- dependencies:
- safe-buffer: 5.2.1
-
range-parser@1.2.1: {}
raw-body@2.5.3:
@@ -21479,10 +21427,6 @@ snapshots:
rolldown: 1.0.2
rollup: 4.60.3
- rollup@2.80.0:
- optionalDependencies:
- fsevents: 2.3.3
-
rollup@4.60.3:
dependencies:
'@types/estree': 1.0.8
@@ -21713,11 +21657,6 @@ snapshots:
select-hose@2.0.0: {}
- selfsigned@2.4.1:
- dependencies:
- '@types/node-forge': 1.3.14
- node-forge: 1.4.0
-
selfsigned@5.5.0:
dependencies:
'@peculiar/x509': 1.14.3
@@ -21766,10 +21705,6 @@ snapshots:
transitivePeerDependencies:
- supports-color
- serialize-javascript@6.0.2:
- dependencies:
- randombytes: 2.1.0
-
serialize-javascript@7.0.5: {}
serve-index@1.9.2:
@@ -21934,7 +21869,7 @@ snapshots:
sockjs@0.3.24:
dependencies:
faye-websocket: 0.11.4
- uuid: 8.3.2
+ uuid: 14.0.0
websocket-driver: 0.7.4
socks-proxy-agent@8.0.5:
@@ -21947,7 +21882,7 @@ snapshots:
socks@2.8.4:
dependencies:
- ip-address: 9.0.5
+ ip-address: 10.2.0
smart-buffer: 4.2.0
sorted-array-functions@1.3.0: {}
@@ -22024,8 +21959,6 @@ snapshots:
sprintf-js@1.0.3: {}
- sprintf-js@1.1.3: {}
-
ssri@13.0.0:
dependencies:
minipass: 7.1.3
@@ -22758,7 +22691,7 @@ snapshots:
uuid@11.1.1: {}
- uuid@8.3.2: {}
+ uuid@14.0.0: {}
v8-compile-cache-lib@3.0.1: {}
@@ -22922,44 +22855,6 @@ snapshots:
optionalDependencies:
webpack: 5.106.2(@swc/core@1.15.40(@swc/helpers@0.5.23))(esbuild@0.28.0)
- webpack-dev-server@5.2.2(webpack@5.106.2(@swc/core@1.15.40(@swc/helpers@0.5.23))(esbuild@0.28.0)):
- dependencies:
- '@types/bonjour': 3.5.13
- '@types/connect-history-api-fallback': 1.5.4
- '@types/express': 4.17.25
- '@types/express-serve-static-core': 4.19.8
- '@types/serve-index': 1.9.4
- '@types/serve-static': 1.15.10
- '@types/sockjs': 0.3.36
- '@types/ws': 8.18.1
- ansi-html-community: 0.0.8
- bonjour-service: 1.3.0
- chokidar: 3.6.0
- colorette: 2.0.20
- compression: 1.8.1
- connect-history-api-fallback: 2.0.0
- express: 4.22.1
- graceful-fs: 4.2.11
- http-proxy-middleware: 2.0.9(@types/express@4.17.25)
- ipaddr.js: 2.4.0
- launch-editor: 2.13.2
- open: 10.1.2
- p-retry: 6.2.1
- schema-utils: 4.3.3
- selfsigned: 2.4.1
- serve-index: 1.9.2
- sockjs: 0.3.24
- spdy: 4.0.2
- webpack-dev-middleware: 7.4.2(webpack@5.106.2(@swc/core@1.15.40(@swc/helpers@0.5.23))(esbuild@0.28.0))
- ws: 8.21.0
- optionalDependencies:
- webpack: 5.106.2(@swc/core@1.15.40(@swc/helpers@0.5.23))(esbuild@0.28.0)
- transitivePeerDependencies:
- - bufferutil
- - debug
- - supports-color
- - utf-8-validate
-
webpack-dev-server@5.2.4(webpack@5.106.2(@swc/core@1.15.40(@swc/helpers@0.5.23))(esbuild@0.28.0)):
dependencies:
'@types/bonjour': 3.5.13
@@ -23160,10 +23055,10 @@ snapshots:
'@babel/core': 7.29.0
'@babel/preset-env': 7.29.5(@babel/core@7.29.0)
'@babel/runtime': 7.29.2
- '@rollup/plugin-babel': 5.3.1(@babel/core@7.29.0)(@types/babel__core@7.20.5)(rollup@2.80.0)
- '@rollup/plugin-node-resolve': 15.3.1(rollup@2.80.0)
- '@rollup/plugin-replace': 2.4.2(rollup@2.80.0)
- '@rollup/plugin-terser': 0.4.4(rollup@2.80.0)
+ '@rollup/plugin-babel': 5.3.1(@babel/core@7.29.0)(@types/babel__core@7.20.5)(rollup@4.60.3)
+ '@rollup/plugin-node-resolve': 15.3.1(rollup@4.60.3)
+ '@rollup/plugin-replace': 2.4.2(rollup@4.60.3)
+ '@rollup/plugin-terser': 0.4.4(rollup@4.60.3)
'@surma/rollup-plugin-off-main-thread': 2.2.3
ajv: 8.20.0
common-tags: 1.8.2
@@ -23172,7 +23067,7 @@ snapshots:
glob: 11.1.0
lodash: 4.18.1
pretty-bytes: 5.6.0
- rollup: 2.80.0
+ rollup: 4.60.3
source-map: 0.8.0-beta.0
stringify-object: 3.3.0
strip-comments: 2.0.1
@@ -23295,8 +23190,6 @@ snapshots:
imurmurhash: 0.1.4
signal-exit: 4.1.0
- ws@8.18.0: {}
-
ws@8.21.0: {}
wsl-utils@0.3.1:
diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml
index 8107ae1d..158f2b95 100644
--- a/pnpm-workspace.yaml
+++ b/pnpm-workspace.yaml
@@ -3,6 +3,39 @@ packages:
- libs/*
- tools/*
+overrides:
+ node-forge: '^1.4.0'
+ axios: '>=1.15.2'
+ '@hono/node-server': '>=1.19.13'
+ ajv@8: '>=8.18.0'
+ brace-expansion@2: '>=2.0.3'
+ brace-expansion@5: '>=5.0.6'
+ flatted: '>=3.4.2'
+ follow-redirects: '>=1.16.0'
+ hono: '>=4.12.18'
+ koa: '>=3.1.2'
+ lodash-es: '>=4.18.0'
+ minimatch@9: '>=9.0.7'
+ minimatch@10: '>=10.2.3'
+ path-to-regexp@0: '~0.1.13'
+ path-to-regexp@8: '>=8.4.0'
+ picomatch@2: '>=2.3.2'
+ picomatch@4: '>=4.0.4'
+ qs: '>=6.15.2'
+ rollup: '>=4.59.0'
+ serialize-javascript: '>=7.0.5'
+ tar: '>=7.5.11'
+ webpack: '>=5.104.1'
+ yaml@2: '>=2.8.3'
+ vite@6: '>=6.4.2'
+ fast-uri: '>=3.1.2'
+ uuid@11: '>=11.1.1 <12'
+ ip-address: '>=10.1.1'
+ '@babel/plugin-transform-modules-systemjs': '>=7.29.4'
+ ws: '>=8.20.1'
+ webpack-dev-server: '>=5.2.4'
+ uuid@8: '>=12.0.1'
+
allowBuilds:
'@parcel/watcher': true
'@swc/core': true