diff --git a/.eslintignore b/.eslintignore
deleted file mode 100644
index 3c3629e6..00000000
--- a/.eslintignore
+++ /dev/null
@@ -1 +0,0 @@
-node_modules
diff --git a/.eslintrc.json b/.eslintrc.json
deleted file mode 100644
index 87e1feb4..00000000
--- a/.eslintrc.json
+++ /dev/null
@@ -1,75 +0,0 @@
-{
- "root": true,
- "ignorePatterns": ["**/*"],
- "plugins": ["@nx"],
- "overrides": [
- {
- "files": ["*.ts", "*.tsx", "*.js", "*.jsx"],
- "rules": {
- "@nx/enforce-module-boundaries": [
- "error",
- {
- "enforceBuildableLibDependency": true,
- "allow": [],
- "depConstraints": [
- {
- "sourceTag": "scope:shared",
- "onlyDependOnLibsWithTags": ["scope:shared"]
- },
- {
- "sourceTag": "type:app",
- "onlyDependOnLibsWithTags": [
- "type:feature",
- "type:ui",
- "type:util",
- "type:data-access"
- ]
- },
- {
- "sourceTag": "type:feature",
- "onlyDependOnLibsWithTags": [
- "type:ui",
- "type:util",
- "type:data-access"
- ]
- },
- {
- "sourceTag": "type:data-access",
- "onlyDependOnLibsWithTags": ["type:util", "type:data-access"]
- },
- {
- "sourceTag": "type:ui",
- "onlyDependOnLibsWithTags": ["type:ui", "type:util"]
- },
- {
- "sourceTag": "type:util",
- "onlyDependOnLibsWithTags": ["type:util"]
- }
- ]
- }
- ]
- }
- },
- {
- "files": ["*.ts", "*.tsx"],
- "extends": ["plugin:@nx/typescript"],
- "rules": {
- "no-extra-semi": "off"
- }
- },
- {
- "files": ["*.js", "*.jsx"],
- "extends": ["plugin:@nx/javascript"],
- "rules": {
- "no-extra-semi": "off"
- }
- },
- {
- "files": ["*.spec.ts", "*.spec.tsx", "*.spec.js", "*.spec.jsx"],
- "env": {
- "jest": true
- },
- "rules": {}
- }
- ]
-}
diff --git a/.gitignore b/.gitignore
index d664c0dc..818bdf1a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -45,4 +45,7 @@ Thumbs.db
.claude/worktrees
.nx/polygraph
-.nx/self-healing
\ No newline at end of file
+.nx/self-healing
+
+# Local planning docs (specs, design docs — not for version control)
+docs/superpowers/
\ No newline at end of file
diff --git a/README.md b/README.md
index 570edcb2..4e604c40 100644
--- a/README.md
+++ b/README.md
@@ -2,11 +2,11 @@
[](https://github.com/jdwlabs/apps/actions/workflows/ci.yml)

-
-
-
-
-
+
+
+
+
+
[](https://polyformproject.org/licenses/noncommercial/1.0.0/)
This is a multi-language, multi-project repository that houses all code, configuration, and tooling. This repository is
@@ -27,11 +27,12 @@ organized into three main directories:
├── apps/ # Complete applications
│ ├── angular/ # Grouped by framework / language
│ │ ├── container/ # Specific application
+│ │ ├── authui/
│ │ ├── usersui/
-│ │ └── authui/
+│ │ ├── rolesui/
+│ │ └── platform-e2e/
│ ├── go/
-│ │ ├── servicediscovery/
-│ │ └── emailsender/
+│ │ └── servicediscovery/
│ └── springboot/
│ └── usersrole/
│
diff --git a/apps/angular/authui/authui/.eslintrc.json b/apps/angular/authui/authui/.eslintrc.json
deleted file mode 100644
index 52d01f62..00000000
--- a/apps/angular/authui/authui/.eslintrc.json
+++ /dev/null
@@ -1,37 +0,0 @@
-{
- "extends": ["../../../../.eslintrc.json"],
- "ignorePatterns": ["!**/*"],
- "overrides": [
- {
- "files": ["*.ts"],
- "extends": [
- "plugin:@nx/angular",
- "plugin:@angular-eslint/template/process-inline-templates"
- ],
- "rules": {
- "@angular-eslint/directive-selector": [
- "error",
- {
- "type": "attribute",
- "prefix": "app",
- "style": "camelCase"
- }
- ],
- "@angular-eslint/component-selector": [
- "error",
- {
- "type": "element",
- "prefix": "app",
- "style": "kebab-case"
- }
- ],
- "@angular-eslint/prefer-standalone": "off"
- }
- },
- {
- "files": ["*.html"],
- "extends": ["plugin:@nx/angular-template"],
- "rules": {}
- }
- ]
-}
diff --git a/apps/angular/authui/authui/eslint.config.ts b/apps/angular/authui/authui/eslint.config.ts
new file mode 100644
index 00000000..381b0e39
--- /dev/null
+++ b/apps/angular/authui/authui/eslint.config.ts
@@ -0,0 +1,22 @@
+import baseConfig from '../../../../eslint.config';
+import nx from '@nx/eslint-plugin';
+
+export default [
+ ...baseConfig,
+ ...nx.configs['flat/angular'],
+ ...nx.configs['flat/angular-template'],
+ {
+ files: ['**/*.ts'],
+ rules: {
+ '@angular-eslint/directive-selector': [
+ 'error',
+ { type: 'attribute', prefix: 'app', style: 'camelCase' },
+ ],
+ '@angular-eslint/component-selector': [
+ 'error',
+ { type: 'element', prefix: 'app', style: 'kebab-case' },
+ ],
+ '@angular-eslint/prefer-standalone': 'off',
+ },
+ },
+];
diff --git a/apps/angular/container/container/.eslintrc.json b/apps/angular/container/container/.eslintrc.json
deleted file mode 100644
index 20ccf6cc..00000000
--- a/apps/angular/container/container/.eslintrc.json
+++ /dev/null
@@ -1,37 +0,0 @@
-{
- "extends": ["../../../../.eslintrc.json"],
- "ignorePatterns": ["!**/*"],
- "overrides": [
- {
- "files": ["*.ts"],
- "extends": [
- "plugin:@nx/angular",
- "plugin:@angular-eslint/template/process-inline-templates"
- ],
- "rules": {
- "@angular-eslint/directive-selector": [
- "error",
- {
- "type": "attribute",
- "prefix": "jdw",
- "style": "camelCase"
- }
- ],
- "@angular-eslint/component-selector": [
- "error",
- {
- "type": "element",
- "prefix": "jdw",
- "style": "kebab-case"
- }
- ],
- "@angular-eslint/prefer-standalone": "off"
- }
- },
- {
- "files": ["*.html"],
- "extends": ["plugin:@nx/angular-template"],
- "rules": {}
- }
- ]
-}
diff --git a/apps/angular/container/container/eslint.config.ts b/apps/angular/container/container/eslint.config.ts
new file mode 100644
index 00000000..a990deba
--- /dev/null
+++ b/apps/angular/container/container/eslint.config.ts
@@ -0,0 +1,22 @@
+import baseConfig from '../../../../eslint.config';
+import nx from '@nx/eslint-plugin';
+
+export default [
+ ...baseConfig,
+ ...nx.configs['flat/angular'],
+ ...nx.configs['flat/angular-template'],
+ {
+ files: ['**/*.ts'],
+ rules: {
+ '@angular-eslint/directive-selector': [
+ 'error',
+ { type: 'attribute', prefix: 'jdw', style: 'camelCase' },
+ ],
+ '@angular-eslint/component-selector': [
+ 'error',
+ { type: 'element', prefix: 'jdw', style: 'kebab-case' },
+ ],
+ '@angular-eslint/prefer-standalone': 'off',
+ },
+ },
+];
diff --git a/apps/angular/platform-e2e/.eslintrc.json b/apps/angular/platform-e2e/.eslintrc.json
deleted file mode 100644
index c259e7b7..00000000
--- a/apps/angular/platform-e2e/.eslintrc.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "extends": ["../../../.eslintrc.json"],
- "ignorePatterns": ["!**/*"],
- "overrides": [
- {
- "files": ["*.ts"],
- "extends": ["plugin:@nx/typescript"],
- "rules": {}
- }
- ]
-}
diff --git a/apps/angular/rolesui/rolesui/.eslintrc.json b/apps/angular/rolesui/rolesui/.eslintrc.json
deleted file mode 100644
index 7acbf104..00000000
--- a/apps/angular/rolesui/rolesui/.eslintrc.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{
- "extends": ["../../../../.eslintrc.json"],
- "ignorePatterns": ["!**/*"],
- "overrides": [
- {
- "files": ["*.ts"],
- "extends": [
- "plugin:@nx/angular",
- "plugin:@angular-eslint/template/process-inline-templates"
- ],
- "rules": {
- "@angular-eslint/directive-selector": [
- "error",
- {
- "type": "attribute",
- "prefix": "app",
- "style": "camelCase"
- }
- ],
- "@angular-eslint/component-selector": [
- "error",
- {
- "type": "element",
- "prefix": "app",
- "style": "kebab-case"
- }
- ]
- }
- },
- {
- "files": ["*.html"],
- "extends": ["plugin:@nx/angular-template"],
- "rules": {}
- }
- ]
-}
diff --git a/apps/angular/rolesui/rolesui/eslint.config.ts b/apps/angular/rolesui/rolesui/eslint.config.ts
new file mode 100644
index 00000000..bfbf7e26
--- /dev/null
+++ b/apps/angular/rolesui/rolesui/eslint.config.ts
@@ -0,0 +1,21 @@
+import baseConfig from '../../../../eslint.config';
+import nx from '@nx/eslint-plugin';
+
+export default [
+ ...baseConfig,
+ ...nx.configs['flat/angular'],
+ ...nx.configs['flat/angular-template'],
+ {
+ files: ['**/*.ts'],
+ rules: {
+ '@angular-eslint/directive-selector': [
+ 'error',
+ { type: 'attribute', prefix: 'app', style: 'camelCase' },
+ ],
+ '@angular-eslint/component-selector': [
+ 'error',
+ { type: 'element', prefix: 'app', style: 'kebab-case' },
+ ],
+ },
+ },
+];
diff --git a/apps/angular/usersui/usersui/.eslintrc.json b/apps/angular/usersui/usersui/.eslintrc.json
deleted file mode 100644
index 52d01f62..00000000
--- a/apps/angular/usersui/usersui/.eslintrc.json
+++ /dev/null
@@ -1,37 +0,0 @@
-{
- "extends": ["../../../../.eslintrc.json"],
- "ignorePatterns": ["!**/*"],
- "overrides": [
- {
- "files": ["*.ts"],
- "extends": [
- "plugin:@nx/angular",
- "plugin:@angular-eslint/template/process-inline-templates"
- ],
- "rules": {
- "@angular-eslint/directive-selector": [
- "error",
- {
- "type": "attribute",
- "prefix": "app",
- "style": "camelCase"
- }
- ],
- "@angular-eslint/component-selector": [
- "error",
- {
- "type": "element",
- "prefix": "app",
- "style": "kebab-case"
- }
- ],
- "@angular-eslint/prefer-standalone": "off"
- }
- },
- {
- "files": ["*.html"],
- "extends": ["plugin:@nx/angular-template"],
- "rules": {}
- }
- ]
-}
diff --git a/apps/angular/usersui/usersui/eslint.config.ts b/apps/angular/usersui/usersui/eslint.config.ts
new file mode 100644
index 00000000..381b0e39
--- /dev/null
+++ b/apps/angular/usersui/usersui/eslint.config.ts
@@ -0,0 +1,22 @@
+import baseConfig from '../../../../eslint.config';
+import nx from '@nx/eslint-plugin';
+
+export default [
+ ...baseConfig,
+ ...nx.configs['flat/angular'],
+ ...nx.configs['flat/angular-template'],
+ {
+ files: ['**/*.ts'],
+ rules: {
+ '@angular-eslint/directive-selector': [
+ 'error',
+ { type: 'attribute', prefix: 'app', style: 'camelCase' },
+ ],
+ '@angular-eslint/component-selector': [
+ 'error',
+ { type: 'element', prefix: 'app', style: 'kebab-case' },
+ ],
+ '@angular-eslint/prefer-standalone': 'off',
+ },
+ },
+];
diff --git a/apps/go/servicediscovery/README.md b/apps/go/servicediscovery/README.md
index 02f18084..4fd4cdff 100644
--- a/apps/go/servicediscovery/README.md
+++ b/apps/go/servicediscovery/README.md
@@ -97,29 +97,40 @@ frontend definitions.
```json
{
"remotes": {
- "frontend1": "http://localhost:3000",
- "frontend2": "http://localhost:3001"
+ "authui": "http://localhost:4201",
+ "usersui": "http://localhost:4202",
+ "rolesui": "http://localhost:4203"
},
"microFrontends": [
{
- "name": "frontend1",
- "path": "/path1",
- "remoteName": "remote1",
- "moduleName": "module1",
- "url": "http://localhost:3000",
- "icon": "icon1",
- "title": "Frontend 1",
- "description": "This is frontend 1"
+ "name": "authui",
+ "path": "auth",
+ "remoteName": "authui",
+ "moduleName": "./Routes",
+ "url": "http://localhost:4201",
+ "icon": "login",
+ "title": "Auth",
+ "description": "Sign in and sign up functionality"
},
{
- "name": "frontend2",
- "path": "/path2",
- "remoteName": "remote2",
- "moduleName": "module2",
- "url": "http://localhost:3001",
- "icon": "icon2",
- "title": "Frontend 2",
- "description": "This is frontend 2"
+ "name": "usersui",
+ "path": "users",
+ "remoteName": "usersui",
+ "moduleName": "./Routes",
+ "url": "http://localhost:4202",
+ "icon": "groups",
+ "title": "Users",
+ "description": "Viewing users and managing profiles"
+ },
+ {
+ "name": "rolesui",
+ "path": "roles",
+ "remoteName": "rolesui",
+ "moduleName": "./Routes",
+ "url": "http://localhost:4203",
+ "icon": "lock",
+ "title": "Roles",
+ "description": "Viewing and managing roles"
}
]
}
diff --git a/eslint.config.ts b/eslint.config.ts
new file mode 100644
index 00000000..7c66a3d4
--- /dev/null
+++ b/eslint.config.ts
@@ -0,0 +1,75 @@
+import nx from '@nx/eslint-plugin';
+import globals from 'globals';
+
+export default [
+ { ignores: ['node_modules'] },
+ {
+ ignores: [
+ '**/eslint.config.ts',
+ '**/eslint.config.js',
+ '**/eslint.config.mjs',
+ ],
+ },
+ ...nx.configs['flat/base'],
+ {
+ files: ['**/*.ts', '**/*.tsx', '**/*.js', '**/*.jsx'],
+ rules: {
+ '@nx/enforce-module-boundaries': [
+ 'error',
+ {
+ enforceBuildableLibDependency: true,
+ allow: [],
+ depConstraints: [
+ {
+ sourceTag: 'scope:shared',
+ onlyDependOnLibsWithTags: ['scope:shared'],
+ },
+ {
+ sourceTag: 'type:app',
+ onlyDependOnLibsWithTags: [
+ 'type:feature',
+ 'type:ui',
+ 'type:util',
+ 'type:data-access',
+ ],
+ },
+ {
+ sourceTag: 'type:feature',
+ onlyDependOnLibsWithTags: [
+ 'type:ui',
+ 'type:util',
+ 'type:data-access',
+ ],
+ },
+ {
+ sourceTag: 'type:data-access',
+ onlyDependOnLibsWithTags: ['type:util', 'type:data-access'],
+ },
+ {
+ sourceTag: 'type:ui',
+ onlyDependOnLibsWithTags: ['type:ui', 'type:util'],
+ },
+ {
+ sourceTag: 'type:util',
+ onlyDependOnLibsWithTags: ['type:util'],
+ },
+ ],
+ },
+ ],
+ },
+ },
+ ...nx.configs['flat/typescript'],
+ {
+ files: ['**/*.ts', '**/*.tsx'],
+ rules: { 'no-extra-semi': 'off' },
+ },
+ ...nx.configs['flat/javascript'],
+ {
+ files: ['**/*.js', '**/*.jsx'],
+ rules: { 'no-extra-semi': 'off' },
+ },
+ {
+ files: ['**/*.spec.ts', '**/*.spec.tsx', '**/*.spec.js', '**/*.spec.jsx'],
+ languageOptions: { globals: { ...globals.jest } },
+ },
+];
diff --git a/libs/angular/authui/feature/core/.eslintrc.json b/libs/angular/authui/feature/core/.eslintrc.json
deleted file mode 100644
index 7792cdce..00000000
--- a/libs/angular/authui/feature/core/.eslintrc.json
+++ /dev/null
@@ -1,37 +0,0 @@
-{
- "extends": ["../../../../../.eslintrc.json"],
- "ignorePatterns": ["!**/*"],
- "overrides": [
- {
- "files": ["*.ts"],
- "extends": [
- "plugin:@nx/angular",
- "plugin:@angular-eslint/template/process-inline-templates"
- ],
- "rules": {
- "@angular-eslint/directive-selector": [
- "error",
- {
- "type": "attribute",
- "prefix": "lib",
- "style": "camelCase"
- }
- ],
- "@angular-eslint/component-selector": [
- "error",
- {
- "type": "element",
- "prefix": "lib",
- "style": "kebab-case"
- }
- ],
- "@angular-eslint/prefer-standalone": "off"
- }
- },
- {
- "files": ["*.html"],
- "extends": ["plugin:@nx/angular-template"],
- "rules": {}
- }
- ]
-}
diff --git a/libs/angular/authui/feature/core/eslint.config.ts b/libs/angular/authui/feature/core/eslint.config.ts
new file mode 100644
index 00000000..083591e9
--- /dev/null
+++ b/libs/angular/authui/feature/core/eslint.config.ts
@@ -0,0 +1,22 @@
+import baseConfig from '../../../../../eslint.config';
+import nx from '@nx/eslint-plugin';
+
+export default [
+ ...baseConfig,
+ ...nx.configs['flat/angular'],
+ ...nx.configs['flat/angular-template'],
+ {
+ files: ['**/*.ts'],
+ rules: {
+ '@angular-eslint/directive-selector': [
+ 'error',
+ { type: 'attribute', prefix: 'lib', style: 'camelCase' },
+ ],
+ '@angular-eslint/component-selector': [
+ 'error',
+ { type: 'element', prefix: 'lib', style: 'kebab-case' },
+ ],
+ '@angular-eslint/prefer-standalone': 'off',
+ },
+ },
+];
diff --git a/libs/angular/container/data-access/.eslintrc.json b/libs/angular/container/data-access/.eslintrc.json
deleted file mode 100644
index 20ccf6cc..00000000
--- a/libs/angular/container/data-access/.eslintrc.json
+++ /dev/null
@@ -1,37 +0,0 @@
-{
- "extends": ["../../../../.eslintrc.json"],
- "ignorePatterns": ["!**/*"],
- "overrides": [
- {
- "files": ["*.ts"],
- "extends": [
- "plugin:@nx/angular",
- "plugin:@angular-eslint/template/process-inline-templates"
- ],
- "rules": {
- "@angular-eslint/directive-selector": [
- "error",
- {
- "type": "attribute",
- "prefix": "jdw",
- "style": "camelCase"
- }
- ],
- "@angular-eslint/component-selector": [
- "error",
- {
- "type": "element",
- "prefix": "jdw",
- "style": "kebab-case"
- }
- ],
- "@angular-eslint/prefer-standalone": "off"
- }
- },
- {
- "files": ["*.html"],
- "extends": ["plugin:@nx/angular-template"],
- "rules": {}
- }
- ]
-}
diff --git a/libs/angular/container/data-access/eslint.config.ts b/libs/angular/container/data-access/eslint.config.ts
new file mode 100644
index 00000000..a990deba
--- /dev/null
+++ b/libs/angular/container/data-access/eslint.config.ts
@@ -0,0 +1,22 @@
+import baseConfig from '../../../../eslint.config';
+import nx from '@nx/eslint-plugin';
+
+export default [
+ ...baseConfig,
+ ...nx.configs['flat/angular'],
+ ...nx.configs['flat/angular-template'],
+ {
+ files: ['**/*.ts'],
+ rules: {
+ '@angular-eslint/directive-selector': [
+ 'error',
+ { type: 'attribute', prefix: 'jdw', style: 'camelCase' },
+ ],
+ '@angular-eslint/component-selector': [
+ 'error',
+ { type: 'element', prefix: 'jdw', style: 'kebab-case' },
+ ],
+ '@angular-eslint/prefer-standalone': 'off',
+ },
+ },
+];
diff --git a/libs/angular/container/feature/core/.eslintrc.json b/libs/angular/container/feature/core/.eslintrc.json
deleted file mode 100644
index 94677169..00000000
--- a/libs/angular/container/feature/core/.eslintrc.json
+++ /dev/null
@@ -1,37 +0,0 @@
-{
- "extends": ["../../../../../.eslintrc.json"],
- "ignorePatterns": ["!**/*"],
- "overrides": [
- {
- "files": ["*.ts"],
- "extends": [
- "plugin:@nx/angular",
- "plugin:@angular-eslint/template/process-inline-templates"
- ],
- "rules": {
- "@angular-eslint/directive-selector": [
- "error",
- {
- "type": "attribute",
- "prefix": "jdw",
- "style": "camelCase"
- }
- ],
- "@angular-eslint/component-selector": [
- "error",
- {
- "type": "element",
- "prefix": "jdw",
- "style": "kebab-case"
- }
- ],
- "@angular-eslint/prefer-standalone": "off"
- }
- },
- {
- "files": ["*.html"],
- "extends": ["plugin:@nx/angular-template"],
- "rules": {}
- }
- ]
-}
diff --git a/libs/angular/container/feature/core/eslint.config.ts b/libs/angular/container/feature/core/eslint.config.ts
new file mode 100644
index 00000000..f54071be
--- /dev/null
+++ b/libs/angular/container/feature/core/eslint.config.ts
@@ -0,0 +1,22 @@
+import baseConfig from '../../../../../eslint.config';
+import nx from '@nx/eslint-plugin';
+
+export default [
+ ...baseConfig,
+ ...nx.configs['flat/angular'],
+ ...nx.configs['flat/angular-template'],
+ {
+ files: ['**/*.ts'],
+ rules: {
+ '@angular-eslint/directive-selector': [
+ 'error',
+ { type: 'attribute', prefix: 'jdw', style: 'camelCase' },
+ ],
+ '@angular-eslint/component-selector': [
+ 'error',
+ { type: 'element', prefix: 'jdw', style: 'kebab-case' },
+ ],
+ '@angular-eslint/prefer-standalone': 'off',
+ },
+ },
+];
diff --git a/libs/angular/container/util/.eslintrc.json b/libs/angular/container/util/.eslintrc.json
deleted file mode 100644
index f0fce094..00000000
--- a/libs/angular/container/util/.eslintrc.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{
- "extends": ["../../../../.eslintrc.json"],
- "ignorePatterns": ["!**/*"],
- "overrides": [
- {
- "files": ["*.ts"],
- "extends": [
- "plugin:@nx/angular",
- "plugin:@angular-eslint/template/process-inline-templates"
- ],
- "rules": {
- "@angular-eslint/directive-selector": [
- "error",
- {
- "type": "attribute",
- "prefix": "lib",
- "style": "camelCase"
- }
- ],
- "@angular-eslint/component-selector": [
- "error",
- {
- "type": "element",
- "prefix": "lib",
- "style": "kebab-case"
- }
- ]
- }
- },
- {
- "files": ["*.html"],
- "extends": ["plugin:@nx/angular-template"],
- "rules": {}
- }
- ]
-}
diff --git a/libs/angular/container/util/eslint.config.ts b/libs/angular/container/util/eslint.config.ts
new file mode 100644
index 00000000..e0c02dfb
--- /dev/null
+++ b/libs/angular/container/util/eslint.config.ts
@@ -0,0 +1,21 @@
+import baseConfig from '../../../../eslint.config';
+import nx from '@nx/eslint-plugin';
+
+export default [
+ ...baseConfig,
+ ...nx.configs['flat/angular'],
+ ...nx.configs['flat/angular-template'],
+ {
+ files: ['**/*.ts'],
+ rules: {
+ '@angular-eslint/directive-selector': [
+ 'error',
+ { type: 'attribute', prefix: 'lib', style: 'camelCase' },
+ ],
+ '@angular-eslint/component-selector': [
+ 'error',
+ { type: 'element', prefix: 'lib', style: 'kebab-case' },
+ ],
+ },
+ },
+];
diff --git a/libs/angular/rolesui/feature/core/.eslintrc.json b/libs/angular/rolesui/feature/core/.eslintrc.json
deleted file mode 100644
index b20be060..00000000
--- a/libs/angular/rolesui/feature/core/.eslintrc.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{
- "extends": ["../../../../../.eslintrc.json"],
- "ignorePatterns": ["!**/*"],
- "overrides": [
- {
- "files": ["*.ts"],
- "extends": [
- "plugin:@nx/angular",
- "plugin:@angular-eslint/template/process-inline-templates"
- ],
- "rules": {
- "@angular-eslint/directive-selector": [
- "error",
- {
- "type": "attribute",
- "prefix": "lib",
- "style": "camelCase"
- }
- ],
- "@angular-eslint/component-selector": [
- "error",
- {
- "type": "element",
- "prefix": "lib",
- "style": "kebab-case"
- }
- ]
- }
- },
- {
- "files": ["*.html"],
- "extends": ["plugin:@nx/angular-template"],
- "rules": {}
- }
- ]
-}
diff --git a/libs/angular/rolesui/feature/core/eslint.config.ts b/libs/angular/rolesui/feature/core/eslint.config.ts
new file mode 100644
index 00000000..61b8d844
--- /dev/null
+++ b/libs/angular/rolesui/feature/core/eslint.config.ts
@@ -0,0 +1,21 @@
+import baseConfig from '../../../../../eslint.config';
+import nx from '@nx/eslint-plugin';
+
+export default [
+ ...baseConfig,
+ ...nx.configs['flat/angular'],
+ ...nx.configs['flat/angular-template'],
+ {
+ files: ['**/*.ts'],
+ rules: {
+ '@angular-eslint/directive-selector': [
+ 'error',
+ { type: 'attribute', prefix: 'lib', style: 'camelCase' },
+ ],
+ '@angular-eslint/component-selector': [
+ 'error',
+ { type: 'element', prefix: 'lib', style: 'kebab-case' },
+ ],
+ },
+ },
+];
diff --git a/libs/angular/rolesui/util/.eslintrc.json b/libs/angular/rolesui/util/.eslintrc.json
deleted file mode 100644
index f0fce094..00000000
--- a/libs/angular/rolesui/util/.eslintrc.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{
- "extends": ["../../../../.eslintrc.json"],
- "ignorePatterns": ["!**/*"],
- "overrides": [
- {
- "files": ["*.ts"],
- "extends": [
- "plugin:@nx/angular",
- "plugin:@angular-eslint/template/process-inline-templates"
- ],
- "rules": {
- "@angular-eslint/directive-selector": [
- "error",
- {
- "type": "attribute",
- "prefix": "lib",
- "style": "camelCase"
- }
- ],
- "@angular-eslint/component-selector": [
- "error",
- {
- "type": "element",
- "prefix": "lib",
- "style": "kebab-case"
- }
- ]
- }
- },
- {
- "files": ["*.html"],
- "extends": ["plugin:@nx/angular-template"],
- "rules": {}
- }
- ]
-}
diff --git a/libs/angular/rolesui/util/eslint.config.ts b/libs/angular/rolesui/util/eslint.config.ts
new file mode 100644
index 00000000..e0c02dfb
--- /dev/null
+++ b/libs/angular/rolesui/util/eslint.config.ts
@@ -0,0 +1,21 @@
+import baseConfig from '../../../../eslint.config';
+import nx from '@nx/eslint-plugin';
+
+export default [
+ ...baseConfig,
+ ...nx.configs['flat/angular'],
+ ...nx.configs['flat/angular-template'],
+ {
+ files: ['**/*.ts'],
+ rules: {
+ '@angular-eslint/directive-selector': [
+ 'error',
+ { type: 'attribute', prefix: 'lib', style: 'camelCase' },
+ ],
+ '@angular-eslint/component-selector': [
+ 'error',
+ { type: 'element', prefix: 'lib', style: 'kebab-case' },
+ ],
+ },
+ },
+];
diff --git a/libs/angular/shared/data-access/.eslintrc.json b/libs/angular/shared/data-access/.eslintrc.json
deleted file mode 100644
index d5e887e3..00000000
--- a/libs/angular/shared/data-access/.eslintrc.json
+++ /dev/null
@@ -1,37 +0,0 @@
-{
- "extends": ["../../../../.eslintrc.json"],
- "ignorePatterns": ["!**/*"],
- "overrides": [
- {
- "files": ["*.ts"],
- "extends": [
- "plugin:@nx/angular",
- "plugin:@angular-eslint/template/process-inline-templates"
- ],
- "rules": {
- "@angular-eslint/directive-selector": [
- "error",
- {
- "type": "attribute",
- "prefix": "lib",
- "style": "camelCase"
- }
- ],
- "@angular-eslint/component-selector": [
- "error",
- {
- "type": "element",
- "prefix": "lib",
- "style": "kebab-case"
- }
- ],
- "@angular-eslint/prefer-standalone": "off"
- }
- },
- {
- "files": ["*.html"],
- "extends": ["plugin:@nx/angular-template"],
- "rules": {}
- }
- ]
-}
diff --git a/libs/angular/shared/data-access/eslint.config.ts b/libs/angular/shared/data-access/eslint.config.ts
new file mode 100644
index 00000000..d52bbe76
--- /dev/null
+++ b/libs/angular/shared/data-access/eslint.config.ts
@@ -0,0 +1,22 @@
+import baseConfig from '../../../../eslint.config';
+import nx from '@nx/eslint-plugin';
+
+export default [
+ ...baseConfig,
+ ...nx.configs['flat/angular'],
+ ...nx.configs['flat/angular-template'],
+ {
+ files: ['**/*.ts'],
+ rules: {
+ '@angular-eslint/directive-selector': [
+ 'error',
+ { type: 'attribute', prefix: 'lib', style: 'camelCase' },
+ ],
+ '@angular-eslint/component-selector': [
+ 'error',
+ { type: 'element', prefix: 'lib', style: 'kebab-case' },
+ ],
+ '@angular-eslint/prefer-standalone': 'off',
+ },
+ },
+];
diff --git a/libs/angular/shared/ui/.eslintrc.json b/libs/angular/shared/ui/.eslintrc.json
deleted file mode 100644
index 42860b17..00000000
--- a/libs/angular/shared/ui/.eslintrc.json
+++ /dev/null
@@ -1,44 +0,0 @@
-{
- "extends": ["../../../../.eslintrc.json"],
- "ignorePatterns": ["!**/*"],
- "overrides": [
- {
- "files": ["*.ts"],
- "extends": [
- "plugin:@nx/angular",
- "plugin:@angular-eslint/template/process-inline-templates"
- ],
- "rules": {
- "@angular-eslint/directive-selector": [
- "error",
- {
- "type": "attribute",
- "prefix": "jdw",
- "style": "camelCase"
- }
- ],
- "@angular-eslint/component-selector": [
- "error",
- {
- "type": "element",
- "prefix": "jdw",
- "style": "kebab-case"
- }
- ],
- "@angular-eslint/prefer-standalone": "off"
- }
- },
- {
- "files": ["*.html"],
- "extends": ["plugin:@nx/angular-template"],
- "rules": {}
- },
- {
- "files": ["*.json"],
- "parser": "jsonc-eslint-parser",
- "rules": {
- "@nx/dependency-checks": "error"
- }
- }
- ]
-}
diff --git a/libs/angular/shared/ui/eslint.config.ts b/libs/angular/shared/ui/eslint.config.ts
new file mode 100644
index 00000000..a412c1b2
--- /dev/null
+++ b/libs/angular/shared/ui/eslint.config.ts
@@ -0,0 +1,29 @@
+import baseConfig from '../../../../eslint.config';
+import nx from '@nx/eslint-plugin';
+import jsoncParser from 'jsonc-eslint-parser';
+
+export default [
+ ...baseConfig,
+ ...nx.configs['flat/angular'],
+ ...nx.configs['flat/angular-template'],
+ {
+ files: ['**/*.ts'],
+ rules: {
+ '@angular-eslint/directive-selector': [
+ 'error',
+ { type: 'attribute', prefix: 'jdw', style: 'camelCase' },
+ ],
+ '@angular-eslint/component-selector': [
+ 'error',
+ { type: 'element', prefix: 'jdw', style: 'kebab-case' },
+ ],
+ '@angular-eslint/prefer-standalone': 'off',
+ },
+ },
+ {
+ files: ['**/*.json'],
+ plugins: { '@nx': nx },
+ languageOptions: { parser: jsoncParser },
+ rules: { '@nx/dependency-checks': 'error' },
+ },
+];
diff --git a/libs/angular/shared/util/.eslintrc.json b/libs/angular/shared/util/.eslintrc.json
deleted file mode 100644
index 17544e26..00000000
--- a/libs/angular/shared/util/.eslintrc.json
+++ /dev/null
@@ -1,31 +0,0 @@
-{
- "extends": ["../../../../.eslintrc.json"],
- "ignorePatterns": ["!**/*"],
- "overrides": [
- {
- "files": ["*.ts", "*.tsx", "*.js", "*.jsx"],
- "rules": {}
- },
- {
- "files": ["*.ts", "*.tsx"],
- "rules": {}
- },
- {
- "files": ["*.js", "*.jsx"],
- "rules": {}
- },
- {
- "files": ["*.json"],
- "parser": "jsonc-eslint-parser",
- "rules": {
- "@nx/dependency-checks": "error"
- }
- },
- {
- "files": ["*.ts"],
- "rules": {
- "@angular-eslint/prefer-standalone": "off"
- }
- }
- ]
-}
diff --git a/libs/angular/shared/util/eslint.config.ts b/libs/angular/shared/util/eslint.config.ts
new file mode 100644
index 00000000..c8d6a844
--- /dev/null
+++ b/libs/angular/shared/util/eslint.config.ts
@@ -0,0 +1,13 @@
+import baseConfig from '../../../../eslint.config';
+import nx from '@nx/eslint-plugin';
+import jsoncParser from 'jsonc-eslint-parser';
+
+export default [
+ ...baseConfig,
+ {
+ files: ['**/*.json'],
+ plugins: { '@nx': nx },
+ languageOptions: { parser: jsoncParser },
+ rules: { '@nx/dependency-checks': 'error' },
+ },
+];
diff --git a/libs/angular/usersui/data-access/.eslintrc.json b/libs/angular/usersui/data-access/.eslintrc.json
deleted file mode 100644
index d5e887e3..00000000
--- a/libs/angular/usersui/data-access/.eslintrc.json
+++ /dev/null
@@ -1,37 +0,0 @@
-{
- "extends": ["../../../../.eslintrc.json"],
- "ignorePatterns": ["!**/*"],
- "overrides": [
- {
- "files": ["*.ts"],
- "extends": [
- "plugin:@nx/angular",
- "plugin:@angular-eslint/template/process-inline-templates"
- ],
- "rules": {
- "@angular-eslint/directive-selector": [
- "error",
- {
- "type": "attribute",
- "prefix": "lib",
- "style": "camelCase"
- }
- ],
- "@angular-eslint/component-selector": [
- "error",
- {
- "type": "element",
- "prefix": "lib",
- "style": "kebab-case"
- }
- ],
- "@angular-eslint/prefer-standalone": "off"
- }
- },
- {
- "files": ["*.html"],
- "extends": ["plugin:@nx/angular-template"],
- "rules": {}
- }
- ]
-}
diff --git a/libs/angular/usersui/data-access/eslint.config.ts b/libs/angular/usersui/data-access/eslint.config.ts
new file mode 100644
index 00000000..d52bbe76
--- /dev/null
+++ b/libs/angular/usersui/data-access/eslint.config.ts
@@ -0,0 +1,22 @@
+import baseConfig from '../../../../eslint.config';
+import nx from '@nx/eslint-plugin';
+
+export default [
+ ...baseConfig,
+ ...nx.configs['flat/angular'],
+ ...nx.configs['flat/angular-template'],
+ {
+ files: ['**/*.ts'],
+ rules: {
+ '@angular-eslint/directive-selector': [
+ 'error',
+ { type: 'attribute', prefix: 'lib', style: 'camelCase' },
+ ],
+ '@angular-eslint/component-selector': [
+ 'error',
+ { type: 'element', prefix: 'lib', style: 'kebab-case' },
+ ],
+ '@angular-eslint/prefer-standalone': 'off',
+ },
+ },
+];
diff --git a/libs/angular/usersui/feature/core/.eslintrc.json b/libs/angular/usersui/feature/core/.eslintrc.json
deleted file mode 100644
index 7792cdce..00000000
--- a/libs/angular/usersui/feature/core/.eslintrc.json
+++ /dev/null
@@ -1,37 +0,0 @@
-{
- "extends": ["../../../../../.eslintrc.json"],
- "ignorePatterns": ["!**/*"],
- "overrides": [
- {
- "files": ["*.ts"],
- "extends": [
- "plugin:@nx/angular",
- "plugin:@angular-eslint/template/process-inline-templates"
- ],
- "rules": {
- "@angular-eslint/directive-selector": [
- "error",
- {
- "type": "attribute",
- "prefix": "lib",
- "style": "camelCase"
- }
- ],
- "@angular-eslint/component-selector": [
- "error",
- {
- "type": "element",
- "prefix": "lib",
- "style": "kebab-case"
- }
- ],
- "@angular-eslint/prefer-standalone": "off"
- }
- },
- {
- "files": ["*.html"],
- "extends": ["plugin:@nx/angular-template"],
- "rules": {}
- }
- ]
-}
diff --git a/libs/angular/usersui/feature/core/eslint.config.ts b/libs/angular/usersui/feature/core/eslint.config.ts
new file mode 100644
index 00000000..083591e9
--- /dev/null
+++ b/libs/angular/usersui/feature/core/eslint.config.ts
@@ -0,0 +1,22 @@
+import baseConfig from '../../../../../eslint.config';
+import nx from '@nx/eslint-plugin';
+
+export default [
+ ...baseConfig,
+ ...nx.configs['flat/angular'],
+ ...nx.configs['flat/angular-template'],
+ {
+ files: ['**/*.ts'],
+ rules: {
+ '@angular-eslint/directive-selector': [
+ 'error',
+ { type: 'attribute', prefix: 'lib', style: 'camelCase' },
+ ],
+ '@angular-eslint/component-selector': [
+ 'error',
+ { type: 'element', prefix: 'lib', style: 'kebab-case' },
+ ],
+ '@angular-eslint/prefer-standalone': 'off',
+ },
+ },
+];
diff --git a/libs/angular/usersui/feature/core/src/lib/icon/icon.component.html b/libs/angular/usersui/feature/core/src/lib/icon/icon.component.html
index 573c27e1..c8acbcae 100644
--- a/libs/angular/usersui/feature/core/src/lib/icon/icon.component.html
+++ b/libs/angular/usersui/feature/core/src/lib/icon/icon.component.html
@@ -18,9 +18,11 @@
{{ type }} Icon
@if (!selectedFile) {
=24.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'}
+ '@angular-eslint/builder@21.4.0':
+ resolution: {integrity: sha512-3kgGmrVaCYbLtDjC8g4BmMBbdz4thsOB8/NYly8JtXM8EuDZEk5Pz6VTRpJR02ARprwayraTTmhyvq6OGBlQ9w==}
+ peerDependencies:
+ '@angular/cli': '>= 21.0.0 < 22.0.0'
+ eslint: ^8.57.0 || ^9.0.0 || ^10.0.0
+ typescript: '*'
+
'@angular-eslint/bundled-angular-compiler@21.2.0':
resolution: {integrity: sha512-J0DWL+j6t9ItFIyIADvzHGqwDA1qfVJ9bx+oTmJ/Hlo7cUpIRoXpcTXpug0CEEABFH0RfDu6PDG2b0FoZ1+7bg==}
+ '@angular-eslint/bundled-angular-compiler@21.4.0':
+ resolution: {integrity: sha512-/3H4BPbQ1BHJkkrUsfusZtmHc+qiFWBBZ9UDPWah4xZMjflexOK9U4GYeH7nMjcuyqFnIlMMeJJNwNLGt/hmdg==}
+
'@angular-eslint/eslint-plugin-template@21.2.0':
resolution: {integrity: sha512-lJ13Dj0DjR6YiceQR0sRbyWzSzOQ6uZPwK9CJUF3wuZjYAUvL1D61zaU9QrVLtf89NVOxv+dYZHDdu3IDeIqbA==}
peerDependencies:
@@ -420,6 +439,15 @@ packages:
eslint: ^8.57.0 || ^9.0.0
typescript: '*'
+ '@angular-eslint/eslint-plugin-template@21.4.0':
+ resolution: {integrity: sha512-sJEHx2WYnvOgPpzP1eHnUdRS06zgKmRxbiIR0JiCcaSen5iv1HlsMieXy//FS9TtNW+abHOy4UtDuGuSPflPFA==}
+ peerDependencies:
+ '@angular-eslint/template-parser': 21.4.0
+ '@typescript-eslint/types': ^7.11.0 || ^8.0.0
+ '@typescript-eslint/utils': ^7.11.0 || ^8.0.0
+ eslint: ^8.57.0 || ^9.0.0 || ^10.0.0
+ typescript: '*'
+
'@angular-eslint/eslint-plugin@21.2.0':
resolution: {integrity: sha512-X2Qn2viDsjm91CEMxNrxDH3qkKpp6un0C1F1BW2p/m9J4AUVfOcXwWz9UpHFSHTRQ+YlTJbiH1ZwwAPeKhFaxA==}
peerDependencies:
@@ -427,12 +455,30 @@ packages:
eslint: ^8.57.0 || ^9.0.0
typescript: '*'
+ '@angular-eslint/eslint-plugin@21.4.0':
+ resolution: {integrity: sha512-mow2DMj+xBvGl5t7jzC34R8YfbHbaGNyCNFzpovtl9qc0JbuqLyg6htmt8xb05f8ZjATOr4nz0ESt6HV4c51hw==}
+ peerDependencies:
+ '@typescript-eslint/utils': ^7.11.0 || ^8.0.0
+ eslint: ^8.57.0 || ^9.0.0 || ^10.0.0
+ typescript: '*'
+
+ '@angular-eslint/schematics@21.4.0':
+ resolution: {integrity: sha512-crD6Hfxs7x5bN9FCqTZI7uVSiGvprfCS3MCPOpyIQl87bRr/9aNhnicJ3ROUHv+2A713BgPHIgiCII/bxzrfPw==}
+ peerDependencies:
+ '@angular/cli': '>= 21.0.0 < 22.0.0'
+
'@angular-eslint/template-parser@21.2.0':
resolution: {integrity: sha512-TCb3qYOC/uXKZCo56cJ6N9sHeWdFhyVqrbbYfFjTi09081T6jllgHDZL5Ms7gOMNY8KywWGGbhxwvzeA0RwTgA==}
peerDependencies:
eslint: ^8.57.0 || ^9.0.0
typescript: '*'
+ '@angular-eslint/template-parser@21.4.0':
+ resolution: {integrity: sha512-BaUSLSyS+43fzDoJkTMkGqNdCXq3fGnUZsfXTmrlZPJf5AYFbgAlAPGZXDJyoNWw43fux+DafdlrlKcYUSgSIw==}
+ peerDependencies:
+ eslint: ^8.57.0 || ^9.0.0 || ^10.0.0
+ typescript: '*'
+
'@angular-eslint/utils@21.2.0':
resolution: {integrity: sha512-E19/hkuvHoNFvctBkmEiGWpy2bbC6cgbr3GNVrn2nGtbI4jnwnDFCGHv50I4LBfvj0PA9E6TWe73ejJ5qoMJWQ==}
peerDependencies:
@@ -440,6 +486,13 @@ packages:
eslint: ^8.57.0 || ^9.0.0
typescript: '*'
+ '@angular-eslint/utils@21.4.0':
+ resolution: {integrity: sha512-7pi+Ga7QmdH5Ig/diau6fR5L4yubgKr9TOjdCg7OeuE/zo0O3osTCNT6JOodzS/iQM1kSCJFDoIBKFeUOttiNw==}
+ peerDependencies:
+ '@typescript-eslint/utils': ^7.11.0 || ^8.0.0
+ eslint: ^8.57.0 || ^9.0.0 || ^10.0.0
+ typescript: '*'
+
'@angular/animations@21.2.9':
resolution: {integrity: sha512-wOWbrneivpTYx3xhiPygoNFNC8ZZ1shpgwBe1hYvfky1fkiz1c92XeHIW1V4rPqYw6d3U55aUX5InyTsVe2Xng==}
engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0}
@@ -1849,13 +1902,33 @@ packages:
resolution: {integrity: sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==}
engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
- '@eslint/eslintrc@2.1.4':
- resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ '@eslint/config-array@0.21.2':
+ resolution: {integrity: sha512-nJl2KGTlrf9GjLimgIru+V/mzgSK0ABCDQRvxw5BjURL7WfH5uoWmizbH7QB6MmnMBd8cIC9uceWnezL1VZWWw==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@eslint/js@8.57.1':
- resolution: {integrity: sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ '@eslint/config-helpers@0.4.2':
+ resolution: {integrity: sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+ '@eslint/core@0.17.0':
+ resolution: {integrity: sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+ '@eslint/eslintrc@3.3.5':
+ resolution: {integrity: sha512-4IlJx0X0qftVsN5E+/vGujTRIFtwuLbNsVUe7TO6zYPDR1O6nFwvwhIKEKSrl6dZchmYBITazxKoUYOjdtjlRg==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+ '@eslint/js@9.39.4':
+ resolution: {integrity: sha512-nE7DEIchvtiFTwBw4Lfbu59PG+kCofhjsKaCWzxTpt4lfRjRMqG6uMBzKXuEcyXhOHoUp9riAm7/aWYGhXZ9cw==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+ '@eslint/object-schema@2.1.7':
+ resolution: {integrity: sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+ '@eslint/plugin-kit@0.4.1':
+ resolution: {integrity: sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@fastify/busboy@2.1.1':
resolution: {integrity: sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==}
@@ -1874,18 +1947,25 @@ packages:
peerDependencies:
hono: ^4
- '@humanwhocodes/config-array@0.13.0':
- resolution: {integrity: sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==}
- engines: {node: '>=10.10.0'}
- deprecated: Use @eslint/config-array instead
+ '@humanfs/core@0.19.2':
+ resolution: {integrity: sha512-UhXNm+CFMWcbChXywFwkmhqjs3PRCmcSa/hfBgLIb7oQ5HNb1wS0icWsGtSAUNgefHeI+eBrA8I1fxmbHsGdvA==}
+ engines: {node: '>=18.18.0'}
+
+ '@humanfs/node@0.16.8':
+ resolution: {integrity: sha512-gE1eQNZ3R++kTzFUpdGlpmy8kDZD/MLyHqDwqjkVQI0JMdI1D51sy1H958PNXYkM2rAac7e5/CnIKZrHtPh3BQ==}
+ engines: {node: '>=18.18.0'}
+
+ '@humanfs/types@0.15.0':
+ resolution: {integrity: sha512-ZZ1w0aoQkwuUuC7Yf+7sdeaNfqQiiLcSRbfI08oAxqLtpXQr9AIVX7Ay7HLDuiLYAaFPu8oBYNq/QIi9URHJ3Q==}
+ engines: {node: '>=18.18.0'}
'@humanwhocodes/module-importer@1.0.1':
resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==}
engines: {node: '>=12.22'}
- '@humanwhocodes/object-schema@2.0.3':
- resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==}
- deprecated: Use @eslint/object-schema instead
+ '@humanwhocodes/retry@0.4.3':
+ resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==}
+ engines: {node: '>=18.18'}
'@hutson/parse-repository-url@5.0.0':
resolution: {integrity: sha512-e5+YUKENATs1JgYHMzTr2MW/NDcXGfYFAuOQU8gJgF/kEh4EqKgfGrfLI67bMD4tbhZVlkigz/9YYwWcbOFthg==}
@@ -4011,6 +4091,14 @@ packages:
eslint: ^8.57.0 || ^9.0.0
typescript: '>=4.8.4 <6.0.0'
+ '@typescript-eslint/eslint-plugin@8.60.0':
+ resolution: {integrity: sha512-QYb/sa74/s7OKMbACMjrYnGspj9Hs5YI5aaffSL65UfeBUzVzBJfVo3oWSpbzPurvm7yaCCo2Lk7lVj610HqKw==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ '@typescript-eslint/parser': ^8.60.0
+ eslint: ^8.57.0 || ^9.0.0 || ^10.0.0
+ typescript: '>=4.8.4 <6.1.0'
+
'@typescript-eslint/parser@8.40.0':
resolution: {integrity: sha512-jCNyAuXx8dr5KJMkecGmZ8KI61KBUhkCob+SD+C+I5+Y1FWI2Y3QmY4/cxMCC5WAsZqoEtEETVhUiUMIGCf6Bw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
@@ -4018,6 +4106,13 @@ packages:
eslint: ^8.57.0 || ^9.0.0
typescript: '>=4.8.4 <6.0.0'
+ '@typescript-eslint/parser@8.60.0':
+ resolution: {integrity: sha512-fcqpj/MyK4sxDPcbe7STNPbpQL4RLZOPWuaTmwZYuc+hJKzRf58yRxfhqGpc6PIq9ZyfSBpfHgmUHmHs0KwHwg==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ eslint: ^8.57.0 || ^9.0.0 || ^10.0.0
+ typescript: '>=4.8.4 <6.1.0'
+
'@typescript-eslint/project-service@8.40.0':
resolution: {integrity: sha512-/A89vz7Wf5DEXsGVvcGdYKbVM9F7DyFXj52lNYUDS1L9yJfqjW/fIp5PgMuEJL/KeqVTe2QSbXAGUZljDUpArw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
@@ -4030,6 +4125,12 @@ packages:
peerDependencies:
typescript: '>=4.8.4 <6.1.0'
+ '@typescript-eslint/project-service@8.60.0':
+ resolution: {integrity: sha512-aZu74NNKJeUWqCjDddzdiKaS82dgYgV/vmf+Ui3ZdZejmgfXR/q+pRumgobnQ2cCJTgGTWp4ypiwsuofFubavg==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ typescript: '>=4.8.4 <6.1.0'
+
'@typescript-eslint/scope-manager@8.40.0':
resolution: {integrity: sha512-y9ObStCcdCiZKzwqsE8CcpyuVMwRouJbbSrNuThDpv16dFAj429IkM6LNb1dZ2m7hK5fHyzNcErZf7CEeKXR4w==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
@@ -4038,6 +4139,10 @@ packages:
resolution: {integrity: sha512-mUeR/3H1WrTAddJrwut8OoPjfauaztMQmRwV5fQTUyNVJCLiUXXe4lGEyYIL2oFDpP7UtgbGJXCt72wT0z2S3Q==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ '@typescript-eslint/scope-manager@8.60.0':
+ resolution: {integrity: sha512-pFzqhllJMs+jghLQWzV00ds39xLzuyqPSev5pd8f4Ir0rtKR3ZLUB4/4dhjOFighWb9larvtfJvqL+4yKDI3Xw==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
'@typescript-eslint/tsconfig-utils@8.40.0':
resolution: {integrity: sha512-jtMytmUaG9d/9kqSl/W3E3xaWESo4hFDxAIHGVW/WKKtQhesnRIJSAJO6XckluuJ6KDB5woD1EiqknriCtAmcw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
@@ -4050,6 +4155,12 @@ packages:
peerDependencies:
typescript: '>=4.8.4 <6.1.0'
+ '@typescript-eslint/tsconfig-utils@8.60.0':
+ resolution: {integrity: sha512-BZPR3RGYlAXnly6ymAxfkVn5rCbZzQNou0rxv3GfWZ8cTQp+hhVd73khbGLAd8k1TlAPLISH337M+tAgAnaJDQ==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ typescript: '>=4.8.4 <6.1.0'
+
'@typescript-eslint/type-utils@8.40.0':
resolution: {integrity: sha512-eE60cK4KzAc6ZrzlJnflXdrMqOBaugeukWICO2rB0KNvwdIMaEaYiywwHMzA1qFpTxrLhN9Lp4E/00EgWcD3Ow==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
@@ -4064,6 +4175,13 @@ packages:
eslint: ^8.57.0 || ^9.0.0 || ^10.0.0
typescript: '>=4.8.4 <6.1.0'
+ '@typescript-eslint/type-utils@8.60.0':
+ resolution: {integrity: sha512-SX46wEUtitCpq7AN38HkUU/+zvUpdKf7ephtWAFgckH8O7PQIyL5gvrhQgBLuEYgLfuKWOVvWVskMbuFHAz5xg==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ eslint: ^8.57.0 || ^9.0.0 || ^10.0.0
+ typescript: '>=4.8.4 <6.1.0'
+
'@typescript-eslint/types@8.40.0':
resolution: {integrity: sha512-ETdbFlgbAmXHyFPwqUIYrfc12ArvpBhEVgGAxVYSwli26dn8Ko+lIo4Su9vI9ykTZdJn+vJprs/0eZU0YMAEQg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
@@ -4072,6 +4190,10 @@ packages:
resolution: {integrity: sha512-F1o7WJcCq+bc8dwcO/YsSEOudAH8RDtaOhM6wcAQhcUsFhnWQl81JKy48q1hoxAU0qrzM89+31GYh1515Zde3Q==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ '@typescript-eslint/types@8.60.0':
+ resolution: {integrity: sha512-AsE7x2XaAK+CVbeih0Fvbn+r1qHxtpLDJ3XUuFcIinT318T90yHMJC+Zgv+jUuDjQQd06HKwxnDu6sz1IcTilA==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
'@typescript-eslint/typescript-estree@8.40.0':
resolution: {integrity: sha512-k1z9+GJReVVOkc1WfVKs1vBrR5MIKKbdAjDTPvIK3L8De6KbFfPFt6BKpdkdk7rZS2GtC/m6yI5MYX+UsuvVYQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
@@ -4084,6 +4206,12 @@ packages:
peerDependencies:
typescript: '>=4.8.4 <6.1.0'
+ '@typescript-eslint/typescript-estree@8.60.0':
+ resolution: {integrity: sha512-3AcZNBGMClm6CXDyo8kYvVGT/sx29sS0oBsIb9oZI2gunA4Vm2M3YHzRLPvsUBBsl+yB5FPtltq7gGH0iTlp9g==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ typescript: '>=4.8.4 <6.1.0'
+
'@typescript-eslint/utils@8.40.0':
resolution: {integrity: sha512-Cgzi2MXSZyAUOY+BFwGs17s7ad/7L+gKt6Y8rAVVWS+7o6wrjeFN4nVfTpbE25MNcxyJ+iYUXflbs2xR9h4UBg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
@@ -4098,6 +4226,13 @@ packages:
eslint: ^8.57.0 || ^9.0.0 || ^10.0.0
typescript: '>=4.8.4 <6.1.0'
+ '@typescript-eslint/utils@8.60.0':
+ resolution: {integrity: sha512-HtXuPfrHTyBDkameWpl+vJb1Uevu2tznAyahM1Oc4AENidCLTPiZDWIo4GfcxNdC/RcfGcadzzkqbRG87dUrQA==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ eslint: ^8.57.0 || ^9.0.0 || ^10.0.0
+ typescript: '>=4.8.4 <6.1.0'
+
'@typescript-eslint/visitor-keys@8.40.0':
resolution: {integrity: sha512-8CZ47QwalyRjsypfwnbI3hKy5gJDPmrkLjkgMxhi0+DZZ2QNx2naS6/hWoVYUHU7LU2zleF68V9miaVZvhFfTA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
@@ -4106,6 +4241,10 @@ packages:
resolution: {integrity: sha512-U3gxVaDVnuZKhSspW/MzMxE1kq7zOdc072FcSNoqA1I9p8HyKbBFfEHoWckBAMgNMph4MamwS5iTVzFmrnt8TQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ '@typescript-eslint/visitor-keys@8.60.0':
+ resolution: {integrity: sha512-9WI52t8ZGLVGrPMBet25yAftqY/n95+zmoUUtJBBQTKDSKUu7OsPTroT2op7U9JatkoRccL0YkWDNMFfC4Sjxg==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
'@ungap/structured-clone@1.3.1':
resolution: {integrity: sha512-mUFwbeTqrVgDQxFveS+df2yfap6iuP20NAKAsBt5jDEoOTDew+zwLAOilHCeQJOVSvmgCX4ogqIrA0mnyr08yQ==}
@@ -4404,6 +4543,14 @@ packages:
resolution: {integrity: sha512-Rf7xmeuIo7nb6S4mp4abW2faW8DauZyE2faBIKFaUfP3wnpOvNSbiI5AwVhqBNj0jPgBWEvhyCu0sLjN2q77Rg==}
engines: {node: '>= 14.0.0'}
+ angular-eslint@21.4.0:
+ resolution: {integrity: sha512-LH7bWmtJvsubzwPoztnl1pWgI5X0VrfGTUITGSYcwn2J+SXuN/avzrKrxJmhUiIrNvLtfV+18GG6xZS1IGZdKg==}
+ peerDependencies:
+ '@angular/cli': '>= 21.0.0 < 22.0.0'
+ eslint: ^8.57.0 || ^9.0.0 || ^10.0.0
+ typescript: '*'
+ typescript-eslint: ^8.0.0
+
ansi-colors@4.1.3:
resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==}
engines: {node: '>=6'}
@@ -5382,10 +5529,6 @@ packages:
resolution: {integrity: sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==}
engines: {node: '>=6'}
- doctrine@3.0.0:
- resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==}
- engines: {node: '>=6.0.0'}
-
dom-converter@0.2.0:
resolution: {integrity: sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==}
@@ -5605,9 +5748,9 @@ packages:
resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==}
engines: {node: '>=8.0.0'}
- eslint-scope@7.2.2:
- resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ eslint-scope@8.4.0:
+ resolution: {integrity: sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
eslint-scope@9.1.2:
resolution: {integrity: sha512-xS90H51cKw0jltxmvmHy2Iai1LIqrfbw57b79w/J7MfvDfkIkFZ+kj6zC3BjtUwh150HsSSdxXZcsuv72miDFQ==}
@@ -5625,11 +5768,19 @@ packages:
resolution: {integrity: sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==}
engines: {node: ^20.19.0 || ^22.13.0 || >=24}
- eslint@8.57.1:
- resolution: {integrity: sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- deprecated: This version is no longer supported. Please see https://eslint.org/version-support for other options.
+ eslint@9.39.4:
+ resolution: {integrity: sha512-XoMjdBOwe/esVgEvLmNsD3IRHkm7fbKIUGvrleloJXUZgDHig2IPWNniv+GwjyJXzuNqVjlr5+4yVUZjycJwfQ==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
hasBin: true
+ peerDependencies:
+ jiti: '*'
+ peerDependenciesMeta:
+ jiti:
+ optional: true
+
+ espree@10.4.0:
+ resolution: {integrity: sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
espree@9.6.1:
resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==}
@@ -5787,9 +5938,9 @@ packages:
resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==}
engines: {node: '>=8'}
- file-entry-cache@6.0.1:
- resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==}
- engines: {node: ^10.12.0 || >=12.0.0}
+ file-entry-cache@8.0.0:
+ resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==}
+ engines: {node: '>=16.0.0'}
fill-range@7.1.1:
resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==}
@@ -5839,9 +5990,9 @@ packages:
resolution: {integrity: sha512-YyZM99iHrqLKjmt4LJDj58KI+fYyufRLBSYcqycxf//KpBk9FoewoGX0450m9nB44qrZnovzC2oeP5hUibxc/g==}
engines: {node: '>=18'}
- flat-cache@3.2.0:
- resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==}
- engines: {node: ^10.12.0 || >=12.0.0}
+ flat-cache@4.0.1:
+ resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==}
+ engines: {node: '>=16'}
flat@5.0.2:
resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==}
@@ -6016,9 +6167,9 @@ packages:
resolution: {integrity: sha512-5lsx1NUDHtSjfg0eHlmYvZKv8/nVqX4ckFbM+FrGcQ+04KWcWFo9P5MxPZYSzUvyzmdTbI7Eix8Q4IbELDqzKg==}
engines: {node: '>=0.10.0'}
- globals@13.24.0:
- resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==}
- engines: {node: '>=8'}
+ globals@14.0.0:
+ resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==}
+ engines: {node: '>=18'}
globals@17.6.0:
resolution: {integrity: sha512-sepffkT8stwnIYbsMBpoCHJuJM5l98FUF2AnE07hfvE0m/qp3R586hw4jF4uadbhvg1ooIdzuu7CsfD2jzCaNA==}
@@ -8173,11 +8324,6 @@ packages:
rfdc@1.4.1:
resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==}
- rimraf@3.0.2:
- resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==}
- deprecated: Rimraf versions prior to v4 are no longer supported
- hasBin: true
-
rolldown@1.0.0-rc.4:
resolution: {integrity: sha512-V2tPDUrY3WSevrvU2E41ijZlpF+5PbZu4giH+VpNraaadsJGHa4fR6IFwsocVwEXDoAdIv5qgPPxgrvKAOIPtA==}
engines: {node: ^20.19.0 || >=22.12.0}
@@ -8833,9 +8979,6 @@ packages:
resolution: {integrity: sha512-te/NtwBwfiNRLf9Ijqx3T0nlqZiQ2XrrtBvu+cLL8ZRrGkO0NHTug8MYFKyoSrv/sHTaSKfilUkizV6XhxMJ3g==}
engines: {node: '>=8'}
- text-table@0.2.0:
- resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
-
thingies@2.6.0:
resolution: {integrity: sha512-rMHRjmlFLM1R96UYPvpmnc3LYtdFrT33JIB7L9hetGue1qAPfn1N2LJeEjxUSidu1Iku+haLZXDuEXUHNGO/lg==}
engines: {node: '>=10.18'}
@@ -9022,10 +9165,6 @@ packages:
resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==}
engines: {node: '>=4'}
- type-fest@0.20.2:
- resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==}
- engines: {node: '>=10'}
-
type-fest@0.21.3:
resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==}
engines: {node: '>=10'}
@@ -9053,6 +9192,13 @@ packages:
typed-assert@1.0.9:
resolution: {integrity: sha512-KNNZtayBCtmnNmbo5mG47p1XsCyrx6iVqomjcZnec/1Y5GGARaxPs6r49RnSPeUP3YjNYiU9sQHAtY4BBvnZwg==}
+ typescript-eslint@8.60.0:
+ resolution: {integrity: sha512-9f65qWLZdAW9m1JaxBDUHcqRUfL8bkxxXL7XxEfI+F09q56PkBvIfCjLF3yInsDM/BBmwkqmCQdCZe/RYlIWEw==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ eslint: ^8.57.0 || ^9.0.0 || ^10.0.0
+ typescript: '>=4.8.4 <6.1.0'
+
typescript@5.9.3:
resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==}
engines: {node: '>=14.17'}
@@ -9804,41 +9950,106 @@ snapshots:
transitivePeerDependencies:
- chokidar
+ '@angular-eslint/builder@21.4.0(@angular/cli@21.2.12(@types/node@22.19.19)(chokidar@5.0.0))(chokidar@5.0.0)(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3)':
+ dependencies:
+ '@angular-devkit/architect': 0.2102.12(chokidar@5.0.0)
+ '@angular-devkit/core': 21.2.9(chokidar@5.0.0)
+ '@angular/cli': 21.2.12(@types/node@22.19.19)(chokidar@5.0.0)
+ eslint: 9.39.4(jiti@2.7.0)
+ typescript: 5.9.3
+ transitivePeerDependencies:
+ - chokidar
+
'@angular-eslint/bundled-angular-compiler@21.2.0': {}
- '@angular-eslint/eslint-plugin-template@21.2.0(@angular-eslint/template-parser@21.2.0(eslint@8.57.1)(typescript@5.9.3))(@typescript-eslint/types@8.59.4)(@typescript-eslint/utils@8.40.0(eslint@8.57.1)(typescript@5.9.3))(eslint@8.57.1)(typescript@5.9.3)':
+ '@angular-eslint/bundled-angular-compiler@21.4.0': {}
+
+ '@angular-eslint/eslint-plugin-template@21.2.0(@angular-eslint/template-parser@21.2.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(@typescript-eslint/types@8.60.0)(@typescript-eslint/utils@8.40.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3)':
dependencies:
'@angular-eslint/bundled-angular-compiler': 21.2.0
- '@angular-eslint/template-parser': 21.2.0(eslint@8.57.1)(typescript@5.9.3)
- '@angular-eslint/utils': 21.2.0(@typescript-eslint/utils@8.40.0(eslint@8.57.1)(typescript@5.9.3))(eslint@8.57.1)(typescript@5.9.3)
- '@typescript-eslint/types': 8.59.4
- '@typescript-eslint/utils': 8.40.0(eslint@8.57.1)(typescript@5.9.3)
+ '@angular-eslint/template-parser': 21.2.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3)
+ '@angular-eslint/utils': 21.2.0(@typescript-eslint/utils@8.40.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3)
+ '@typescript-eslint/types': 8.60.0
+ '@typescript-eslint/utils': 8.40.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3)
+ aria-query: 5.3.2
+ axobject-query: 4.1.0
+ eslint: 9.39.4(jiti@2.7.0)
+ typescript: 5.9.3
+
+ '@angular-eslint/eslint-plugin-template@21.4.0(@angular-eslint/template-parser@21.4.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(@typescript-eslint/types@8.60.0)(@typescript-eslint/utils@8.40.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3)':
+ dependencies:
+ '@angular-eslint/bundled-angular-compiler': 21.4.0
+ '@angular-eslint/template-parser': 21.4.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3)
+ '@angular-eslint/utils': 21.4.0(@typescript-eslint/utils@8.40.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3)
+ '@typescript-eslint/types': 8.60.0
+ '@typescript-eslint/utils': 8.40.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3)
aria-query: 5.3.2
axobject-query: 4.1.0
- eslint: 8.57.1
+ eslint: 9.39.4(jiti@2.7.0)
typescript: 5.9.3
- '@angular-eslint/eslint-plugin@21.2.0(@typescript-eslint/utils@8.40.0(eslint@8.57.1)(typescript@5.9.3))(eslint@8.57.1)(typescript@5.9.3)':
+ '@angular-eslint/eslint-plugin@21.2.0(@typescript-eslint/utils@8.40.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3)':
dependencies:
'@angular-eslint/bundled-angular-compiler': 21.2.0
- '@angular-eslint/utils': 21.2.0(@typescript-eslint/utils@8.40.0(eslint@8.57.1)(typescript@5.9.3))(eslint@8.57.1)(typescript@5.9.3)
- '@typescript-eslint/utils': 8.40.0(eslint@8.57.1)(typescript@5.9.3)
- eslint: 8.57.1
+ '@angular-eslint/utils': 21.2.0(@typescript-eslint/utils@8.40.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3)
+ '@typescript-eslint/utils': 8.40.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3)
+ eslint: 9.39.4(jiti@2.7.0)
+ ts-api-utils: 2.5.0(typescript@5.9.3)
+ typescript: 5.9.3
+
+ '@angular-eslint/eslint-plugin@21.4.0(@typescript-eslint/utils@8.40.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3)':
+ dependencies:
+ '@angular-eslint/bundled-angular-compiler': 21.4.0
+ '@angular-eslint/utils': 21.4.0(@typescript-eslint/utils@8.40.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3)
+ '@typescript-eslint/utils': 8.40.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3)
+ eslint: 9.39.4(jiti@2.7.0)
ts-api-utils: 2.5.0(typescript@5.9.3)
typescript: 5.9.3
- '@angular-eslint/template-parser@21.2.0(eslint@8.57.1)(typescript@5.9.3)':
+ '@angular-eslint/schematics@21.4.0(@angular-eslint/template-parser@21.4.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(@angular/cli@21.2.12(@types/node@22.19.19)(chokidar@5.0.0))(@typescript-eslint/types@8.60.0)(@typescript-eslint/utils@8.40.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(chokidar@5.0.0)(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3)':
+ dependencies:
+ '@angular-devkit/core': 21.2.9(chokidar@5.0.0)
+ '@angular-devkit/schematics': 21.2.9(chokidar@5.0.0)
+ '@angular-eslint/eslint-plugin': 21.4.0(@typescript-eslint/utils@8.40.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3)
+ '@angular-eslint/eslint-plugin-template': 21.4.0(@angular-eslint/template-parser@21.4.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(@typescript-eslint/types@8.60.0)(@typescript-eslint/utils@8.40.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3)
+ '@angular/cli': 21.2.12(@types/node@22.19.19)(chokidar@5.0.0)
+ ignore: 7.0.5
+ semver: 7.7.4
+ strip-json-comments: 3.1.1
+ transitivePeerDependencies:
+ - '@angular-eslint/template-parser'
+ - '@typescript-eslint/types'
+ - '@typescript-eslint/utils'
+ - chokidar
+ - eslint
+ - typescript
+
+ '@angular-eslint/template-parser@21.2.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3)':
dependencies:
'@angular-eslint/bundled-angular-compiler': 21.2.0
- eslint: 8.57.1
+ eslint: 9.39.4(jiti@2.7.0)
eslint-scope: 9.1.2
typescript: 5.9.3
- '@angular-eslint/utils@21.2.0(@typescript-eslint/utils@8.40.0(eslint@8.57.1)(typescript@5.9.3))(eslint@8.57.1)(typescript@5.9.3)':
+ '@angular-eslint/template-parser@21.4.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3)':
+ dependencies:
+ '@angular-eslint/bundled-angular-compiler': 21.4.0
+ eslint: 9.39.4(jiti@2.7.0)
+ eslint-scope: 9.1.2
+ typescript: 5.9.3
+
+ '@angular-eslint/utils@21.2.0(@typescript-eslint/utils@8.40.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3)':
dependencies:
'@angular-eslint/bundled-angular-compiler': 21.2.0
- '@typescript-eslint/utils': 8.40.0(eslint@8.57.1)(typescript@5.9.3)
- eslint: 8.57.1
+ '@typescript-eslint/utils': 8.40.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3)
+ eslint: 9.39.4(jiti@2.7.0)
+ typescript: 5.9.3
+
+ '@angular-eslint/utils@21.4.0(@typescript-eslint/utils@8.40.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3)':
+ dependencies:
+ '@angular-eslint/bundled-angular-compiler': 21.4.0
+ '@typescript-eslint/utils': 8.40.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3)
+ eslint: 9.39.4(jiti@2.7.0)
typescript: 5.9.3
'@angular/animations@21.2.9(@angular/core@21.2.9(@angular/compiler@21.2.9)(rxjs@7.8.2)(zone.js@0.16.2))':
@@ -11393,19 +11604,35 @@ snapshots:
'@esbuild/win32-x64@0.28.0':
optional: true
- '@eslint-community/eslint-utils@4.9.1(eslint@8.57.1)':
+ '@eslint-community/eslint-utils@4.9.1(eslint@9.39.4(jiti@2.7.0))':
dependencies:
- eslint: 8.57.1
+ eslint: 9.39.4(jiti@2.7.0)
eslint-visitor-keys: 3.4.3
'@eslint-community/regexpp@4.12.2': {}
- '@eslint/eslintrc@2.1.4':
+ '@eslint/config-array@0.21.2':
+ dependencies:
+ '@eslint/object-schema': 2.1.7
+ debug: 4.4.3(supports-color@8.1.1)
+ minimatch: 3.1.5
+ transitivePeerDependencies:
+ - supports-color
+
+ '@eslint/config-helpers@0.4.2':
+ dependencies:
+ '@eslint/core': 0.17.0
+
+ '@eslint/core@0.17.0':
+ dependencies:
+ '@types/json-schema': 7.0.15
+
+ '@eslint/eslintrc@3.3.5':
dependencies:
ajv: 6.15.0
debug: 4.4.3(supports-color@8.1.1)
- espree: 9.6.1
- globals: 13.24.0
+ espree: 10.4.0
+ globals: 14.0.0
ignore: 5.3.2
import-fresh: 3.3.1
js-yaml: 4.1.1
@@ -11414,7 +11641,14 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@eslint/js@8.57.1': {}
+ '@eslint/js@9.39.4': {}
+
+ '@eslint/object-schema@2.1.7': {}
+
+ '@eslint/plugin-kit@0.4.1':
+ dependencies:
+ '@eslint/core': 0.17.0
+ levn: 0.4.1
'@fastify/busboy@2.1.1': {}
@@ -11427,17 +11661,21 @@ snapshots:
dependencies:
hono: 4.12.22
- '@humanwhocodes/config-array@0.13.0':
+ '@humanfs/core@0.19.2':
dependencies:
- '@humanwhocodes/object-schema': 2.0.3
- debug: 4.4.3(supports-color@8.1.1)
- minimatch: 3.1.5
- transitivePeerDependencies:
- - supports-color
+ '@humanfs/types': 0.15.0
+
+ '@humanfs/node@0.16.8':
+ dependencies:
+ '@humanfs/core': 0.19.2
+ '@humanfs/types': 0.15.0
+ '@humanwhocodes/retry': 0.4.3
+
+ '@humanfs/types@0.15.0': {}
'@humanwhocodes/module-importer@1.0.1': {}
- '@humanwhocodes/object-schema@2.0.3': {}
+ '@humanwhocodes/retry@0.4.3': {}
'@hutson/parse-repository-url@5.0.0': {}
@@ -12708,21 +12946,21 @@ snapshots:
tmp: 0.2.5
tslib: 2.8.1
- '@nx/angular@22.7.3(bcbd5d7f1600d53a45c8167f81c82c12)':
+ '@nx/angular@22.7.3(0b4e8de3d8c1b3fb3068996a2ee39e36)':
dependencies:
'@angular-devkit/core': 21.2.9(chokidar@5.0.0)
'@angular-devkit/schematics': 21.2.9(chokidar@5.0.0)
'@nx/devkit': 22.7.3(nx@22.7.3(@swc-node/register@1.11.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@swc/core@1.15.8(@swc/helpers@0.5.18))(@swc/types@0.1.26)(typescript@5.9.3))(@swc/core@1.15.8(@swc/helpers@0.5.18)))
- '@nx/eslint': 22.7.3(c24a12e927bab95ee3410729d93f77fb)
+ '@nx/eslint': 22.7.3(2d77eedacad4a73d9b45ca88b5c668cd)
'@nx/js': 22.7.3(@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.8(@swc/helpers@0.5.18))(@swc/types@0.1.26)(typescript@5.9.3))(@swc/core@1.15.8(@swc/helpers@0.5.18))(nx@22.7.3(@swc-node/register@1.11.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@swc/core@1.15.8(@swc/helpers@0.5.18))(@swc/types@0.1.26)(typescript@5.9.3))(@swc/core@1.15.8(@swc/helpers@0.5.18)))
- '@nx/module-federation': 22.7.3(58399cac423fe1c92696d4f5f8d1183f)
- '@nx/rspack': 22.7.3(50d0adfc7bae00ff4937a83ea7b8fa66)
- '@nx/web': 22.7.3(a016731bd297147c4ee84d29ae698f81)
+ '@nx/module-federation': 22.7.3(a144bf2648da73d5ce3e21944d7ee54c)
+ '@nx/rspack': 22.7.3(571d341635a0c022b733deef2e6e4fdd)
+ '@nx/web': 22.7.3(7514bcef48269a0eaddae493b1040ef3)
'@nx/webpack': 22.7.3(@babel/traverse@7.29.0)(@rspack/core@1.7.11(@swc/helpers@0.5.18))(@swc-node/register@1.11.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@swc/core@1.15.8(@swc/helpers@0.5.18))(@swc/types@0.1.26)(typescript@5.9.3))(@swc/core@1.15.8(@swc/helpers@0.5.18))(html-webpack-plugin@5.6.7(@rspack/core@1.7.11(@swc/helpers@0.5.18))(webpack@5.107.1(@swc/core@1.15.8(@swc/helpers@0.5.18))(postcss@8.5.15)))(nx@22.7.3(@swc-node/register@1.11.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@swc/core@1.15.8(@swc/helpers@0.5.18))(@swc/types@0.1.26)(typescript@5.9.3))(@swc/core@1.15.8(@swc/helpers@0.5.18)))(typescript@5.9.3)
'@nx/workspace': 22.7.3(@swc-node/register@1.11.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@swc/core@1.15.8(@swc/helpers@0.5.18))(@swc/types@0.1.26)(typescript@5.9.3))(@swc/core@1.15.8(@swc/helpers@0.5.18))
'@phenomnomnominal/tsquery': 6.2.0(typescript@5.9.3)
'@schematics/angular': 21.2.9(chokidar@5.0.0)
- '@typescript-eslint/type-utils': 8.59.4(eslint@8.57.1)(typescript@5.9.3)
+ '@typescript-eslint/type-utils': 8.59.4(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3)
enquirer: 2.3.6
magic-string: 0.30.21
picocolors: 1.1.1
@@ -12777,10 +13015,10 @@ snapshots:
- webpack-cli
- webpack-hot-middleware
- '@nx/cypress@22.7.3(3d2a9faeb961179a8bb98e54faac269b)':
+ '@nx/cypress@22.7.3(37f54892ee2fd5a2a97b4a7a57c0a11e)':
dependencies:
'@nx/devkit': 22.7.3(nx@22.7.3(@swc-node/register@1.11.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@swc/core@1.15.8(@swc/helpers@0.5.18))(@swc/types@0.1.26)(typescript@5.9.3))(@swc/core@1.15.8(@swc/helpers@0.5.18)))
- '@nx/eslint': 22.7.3(c24a12e927bab95ee3410729d93f77fb)
+ '@nx/eslint': 22.7.3(2d77eedacad4a73d9b45ca88b5c668cd)
'@nx/js': 22.7.3(@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.8(@swc/helpers@0.5.18))(@swc/types@0.1.26)(typescript@5.9.3))(@swc/core@1.15.8(@swc/helpers@0.5.18))(nx@22.7.3(@swc-node/register@1.11.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@swc/core@1.15.8(@swc/helpers@0.5.18))(@swc/types@0.1.26)(typescript@5.9.3))(@swc/core@1.15.8(@swc/helpers@0.5.18)))
'@phenomnomnominal/tsquery': 6.2.0(typescript@5.9.3)
detect-port: 2.1.0
@@ -12814,14 +13052,14 @@ snapshots:
tslib: 2.8.1
yargs-parser: 21.1.1
- '@nx/eslint-plugin@22.7.3(@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.8(@swc/helpers@0.5.18))(@swc/types@0.1.26)(typescript@5.9.3))(@swc/core@1.15.8(@swc/helpers@0.5.18))(@typescript-eslint/parser@8.40.0(eslint@8.57.1)(typescript@5.9.3))(eslint-config-prettier@10.0.0(eslint@8.57.1))(eslint@8.57.1)(nx@22.7.3(@swc-node/register@1.11.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@swc/core@1.15.8(@swc/helpers@0.5.18))(@swc/types@0.1.26)(typescript@5.9.3))(@swc/core@1.15.8(@swc/helpers@0.5.18)))(typescript@5.9.3)':
+ '@nx/eslint-plugin@22.7.3(@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.8(@swc/helpers@0.5.18))(@swc/types@0.1.26)(typescript@5.9.3))(@swc/core@1.15.8(@swc/helpers@0.5.18))(@typescript-eslint/parser@8.40.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint-config-prettier@10.0.0(eslint@9.39.4(jiti@2.7.0)))(eslint@9.39.4(jiti@2.7.0))(nx@22.7.3(@swc-node/register@1.11.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@swc/core@1.15.8(@swc/helpers@0.5.18))(@swc/types@0.1.26)(typescript@5.9.3))(@swc/core@1.15.8(@swc/helpers@0.5.18)))(typescript@5.9.3)':
dependencies:
'@nx/devkit': 22.7.3(nx@22.7.3(@swc-node/register@1.11.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@swc/core@1.15.8(@swc/helpers@0.5.18))(@swc/types@0.1.26)(typescript@5.9.3))(@swc/core@1.15.8(@swc/helpers@0.5.18)))
'@nx/js': 22.7.3(@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.8(@swc/helpers@0.5.18))(@swc/types@0.1.26)(typescript@5.9.3))(@swc/core@1.15.8(@swc/helpers@0.5.18))(nx@22.7.3(@swc-node/register@1.11.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@swc/core@1.15.8(@swc/helpers@0.5.18))(@swc/types@0.1.26)(typescript@5.9.3))(@swc/core@1.15.8(@swc/helpers@0.5.18)))
'@phenomnomnominal/tsquery': 6.2.0(typescript@5.9.3)
- '@typescript-eslint/parser': 8.40.0(eslint@8.57.1)(typescript@5.9.3)
- '@typescript-eslint/type-utils': 8.59.4(eslint@8.57.1)(typescript@5.9.3)
- '@typescript-eslint/utils': 8.40.0(eslint@8.57.1)(typescript@5.9.3)
+ '@typescript-eslint/parser': 8.40.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3)
+ '@typescript-eslint/type-utils': 8.59.4(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3)
+ '@typescript-eslint/utils': 8.40.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3)
chalk: 4.1.2
confusing-browser-globals: 1.0.11
globals: 17.6.0
@@ -12829,7 +13067,7 @@ snapshots:
semver: 7.8.1
tslib: 2.8.1
optionalDependencies:
- eslint-config-prettier: 10.0.0(eslint@8.57.1)
+ eslint-config-prettier: 10.0.0(eslint@9.39.4(jiti@2.7.0))
transitivePeerDependencies:
- '@babel/traverse'
- '@swc-node/register'
@@ -12841,11 +13079,11 @@ snapshots:
- typescript
- verdaccio
- '@nx/eslint@22.7.3(c24a12e927bab95ee3410729d93f77fb)':
+ '@nx/eslint@22.7.3(2d77eedacad4a73d9b45ca88b5c668cd)':
dependencies:
'@nx/devkit': 22.7.3(nx@22.7.3(@swc-node/register@1.11.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@swc/core@1.15.8(@swc/helpers@0.5.18))(@swc/types@0.1.26)(typescript@5.9.3))(@swc/core@1.15.8(@swc/helpers@0.5.18)))
'@nx/js': 22.7.3(@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.8(@swc/helpers@0.5.18))(@swc/types@0.1.26)(typescript@5.9.3))(@swc/core@1.15.8(@swc/helpers@0.5.18))(nx@22.7.3(@swc-node/register@1.11.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@swc/core@1.15.8(@swc/helpers@0.5.18))(@swc/types@0.1.26)(typescript@5.9.3))(@swc/core@1.15.8(@swc/helpers@0.5.18)))
- eslint: 8.57.1
+ eslint: 9.39.4(jiti@2.7.0)
semver: 7.8.1
tslib: 2.8.1
typescript: 5.9.3
@@ -12938,14 +13176,14 @@ snapshots:
- nx
- supports-color
- '@nx/module-federation@22.7.3(58399cac423fe1c92696d4f5f8d1183f)':
+ '@nx/module-federation@22.7.3(a144bf2648da73d5ce3e21944d7ee54c)':
dependencies:
'@module-federation/enhanced': 2.5.0(@rspack/core@1.6.8(@swc/helpers@0.5.18))(node-fetch@2.7.0(encoding@0.1.13))(typescript@5.9.3)(webpack@5.107.1(@swc/core@1.15.8(@swc/helpers@0.5.18))(postcss@8.5.15))
'@module-federation/node': 2.7.43(@rspack/core@1.6.8(@swc/helpers@0.5.18))(typescript@5.9.3)(webpack@5.107.1(@swc/core@1.15.8(@swc/helpers@0.5.18))(postcss@8.5.15))
'@module-federation/sdk': 2.5.0(node-fetch@2.7.0(encoding@0.1.13))
'@nx/devkit': 22.7.3(nx@22.7.3(@swc-node/register@1.11.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@swc/core@1.15.8(@swc/helpers@0.5.18))(@swc/types@0.1.26)(typescript@5.9.3))(@swc/core@1.15.8(@swc/helpers@0.5.18)))
'@nx/js': 22.7.3(@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.8(@swc/helpers@0.5.18))(@swc/types@0.1.26)(typescript@5.9.3))(@swc/core@1.15.8(@swc/helpers@0.5.18))(nx@22.7.3(@swc-node/register@1.11.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@swc/core@1.15.8(@swc/helpers@0.5.18))(@swc/types@0.1.26)(typescript@5.9.3))(@swc/core@1.15.8(@swc/helpers@0.5.18)))
- '@nx/web': 22.7.3(a016731bd297147c4ee84d29ae698f81)
+ '@nx/web': 22.7.3(7514bcef48269a0eaddae493b1040ef3)
'@rspack/core': 1.6.8(@swc/helpers@0.5.18)
express: 4.22.2
http-proxy-middleware: 3.0.5
@@ -13015,10 +13253,10 @@ snapshots:
'@nx/nx-win32-x64-msvc@22.7.3':
optional: true
- '@nx/playwright@22.7.3(826c415a73882de0f63e6e79e0174b29)':
+ '@nx/playwright@22.7.3(5bbbe0927bab20b4820e03db46deb542)':
dependencies:
'@nx/devkit': 22.7.3(nx@22.7.3(@swc-node/register@1.11.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@swc/core@1.15.8(@swc/helpers@0.5.18))(@swc/types@0.1.26)(typescript@5.9.3))(@swc/core@1.15.8(@swc/helpers@0.5.18)))
- '@nx/eslint': 22.7.3(c24a12e927bab95ee3410729d93f77fb)
+ '@nx/eslint': 22.7.3(2d77eedacad4a73d9b45ca88b5c668cd)
'@nx/js': 22.7.3(@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.8(@swc/helpers@0.5.18))(@swc/types@0.1.26)(typescript@5.9.3))(@swc/core@1.15.8(@swc/helpers@0.5.18))(nx@22.7.3(@swc-node/register@1.11.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@swc/core@1.15.8(@swc/helpers@0.5.18))(@swc/types@0.1.26)(typescript@5.9.3))(@swc/core@1.15.8(@swc/helpers@0.5.18)))
minimatch: 10.2.5
tslib: 2.8.1
@@ -13036,14 +13274,14 @@ snapshots:
- supports-color
- verdaccio
- '@nx/rspack@22.7.3(50d0adfc7bae00ff4937a83ea7b8fa66)':
+ '@nx/rspack@22.7.3(571d341635a0c022b733deef2e6e4fdd)':
dependencies:
'@module-federation/enhanced': 2.5.0(@rspack/core@1.7.11(@swc/helpers@0.5.18))(node-fetch@2.7.0(encoding@0.1.13))(typescript@5.9.3)(webpack@5.107.1(@swc/core@1.15.8(@swc/helpers@0.5.18))(postcss@8.5.15))
'@module-federation/node': 2.7.43(@rspack/core@1.7.11(@swc/helpers@0.5.18))(typescript@5.9.3)(webpack@5.107.1(@swc/core@1.15.8(@swc/helpers@0.5.18))(postcss@8.5.15))
'@nx/devkit': 22.7.3(nx@22.7.3(@swc-node/register@1.11.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@swc/core@1.15.8(@swc/helpers@0.5.18))(@swc/types@0.1.26)(typescript@5.9.3))(@swc/core@1.15.8(@swc/helpers@0.5.18)))
'@nx/js': 22.7.3(@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.8(@swc/helpers@0.5.18))(@swc/types@0.1.26)(typescript@5.9.3))(@swc/core@1.15.8(@swc/helpers@0.5.18))(nx@22.7.3(@swc-node/register@1.11.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@swc/core@1.15.8(@swc/helpers@0.5.18))(@swc/types@0.1.26)(typescript@5.9.3))(@swc/core@1.15.8(@swc/helpers@0.5.18)))
- '@nx/module-federation': 22.7.3(58399cac423fe1c92696d4f5f8d1183f)
- '@nx/web': 22.7.3(a016731bd297147c4ee84d29ae698f81)
+ '@nx/module-federation': 22.7.3(a144bf2648da73d5ce3e21944d7ee54c)
+ '@nx/web': 22.7.3(7514bcef48269a0eaddae493b1040ef3)
'@phenomnomnominal/tsquery': 6.2.0(typescript@5.9.3)
'@rspack/core': 1.6.8(@swc/helpers@0.5.18)
'@rspack/dev-server': 1.2.1(@rspack/core@1.6.8(@swc/helpers@0.5.18))(tslib@2.8.1)(webpack@5.107.1(@swc/core@1.15.8(@swc/helpers@0.5.18))(postcss@8.5.15))
@@ -13107,7 +13345,7 @@ snapshots:
- webpack-cli
- webpack-hot-middleware
- '@nx/web@22.7.3(a016731bd297147c4ee84d29ae698f81)':
+ '@nx/web@22.7.3(7514bcef48269a0eaddae493b1040ef3)':
dependencies:
'@nx/devkit': 22.7.3(nx@22.7.3(@swc-node/register@1.11.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@swc/core@1.15.8(@swc/helpers@0.5.18))(@swc/types@0.1.26)(typescript@5.9.3))(@swc/core@1.15.8(@swc/helpers@0.5.18)))
'@nx/js': 22.7.3(@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.8(@swc/helpers@0.5.18))(@swc/types@0.1.26)(typescript@5.9.3))(@swc/core@1.15.8(@swc/helpers@0.5.18))(nx@22.7.3(@swc-node/register@1.11.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@swc/core@1.15.8(@swc/helpers@0.5.18))(@swc/types@0.1.26)(typescript@5.9.3))(@swc/core@1.15.8(@swc/helpers@0.5.18)))
@@ -13116,10 +13354,10 @@ snapshots:
picocolors: 1.1.1
tslib: 2.8.1
optionalDependencies:
- '@nx/cypress': 22.7.3(3d2a9faeb961179a8bb98e54faac269b)
- '@nx/eslint': 22.7.3(c24a12e927bab95ee3410729d93f77fb)
+ '@nx/cypress': 22.7.3(37f54892ee2fd5a2a97b4a7a57c0a11e)
+ '@nx/eslint': 22.7.3(2d77eedacad4a73d9b45ca88b5c668cd)
'@nx/jest': 22.7.3(@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.8(@swc/helpers@0.5.18))(@swc/types@0.1.26)(typescript@5.9.3))(@swc/core@1.15.8(@swc/helpers@0.5.18))(@types/node@22.19.19)(babel-plugin-macros@3.1.0)(nx@22.7.3(@swc-node/register@1.11.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@swc/core@1.15.8(@swc/helpers@0.5.18))(@swc/types@0.1.26)(typescript@5.9.3))(@swc/core@1.15.8(@swc/helpers@0.5.18)))(ts-node@10.9.2(@swc/core@1.15.8(@swc/helpers@0.5.18))(@types/node@22.19.19)(typescript@5.9.3))(typescript@5.9.3)
- '@nx/playwright': 22.7.3(826c415a73882de0f63e6e79e0174b29)
+ '@nx/playwright': 22.7.3(5bbbe0927bab20b4820e03db46deb542)
'@nx/webpack': 22.7.3(@babel/traverse@7.29.0)(@rspack/core@1.7.11(@swc/helpers@0.5.18))(@swc-node/register@1.11.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@swc/core@1.15.8(@swc/helpers@0.5.18))(@swc/types@0.1.26)(typescript@5.9.3))(@swc/core@1.15.8(@swc/helpers@0.5.18))(html-webpack-plugin@5.6.7(@rspack/core@1.7.11(@swc/helpers@0.5.18))(webpack@5.107.1(@swc/core@1.15.8(@swc/helpers@0.5.18))(postcss@8.5.15)))(nx@22.7.3(@swc-node/register@1.11.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@swc/core@1.15.8(@swc/helpers@0.5.18))(@swc/types@0.1.26)(typescript@5.9.3))(@swc/core@1.15.8(@swc/helpers@0.5.18)))(typescript@5.9.3)
transitivePeerDependencies:
- '@babel/traverse'
@@ -14171,15 +14409,15 @@ snapshots:
'@types/node': 22.19.19
optional: true
- '@typescript-eslint/eslint-plugin@8.40.0(@typescript-eslint/parser@8.40.0(eslint@8.57.1)(typescript@5.9.3))(eslint@8.57.1)(typescript@5.9.3)':
+ '@typescript-eslint/eslint-plugin@8.40.0(@typescript-eslint/parser@8.40.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3)':
dependencies:
'@eslint-community/regexpp': 4.12.2
- '@typescript-eslint/parser': 8.40.0(eslint@8.57.1)(typescript@5.9.3)
+ '@typescript-eslint/parser': 8.40.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3)
'@typescript-eslint/scope-manager': 8.40.0
- '@typescript-eslint/type-utils': 8.40.0(eslint@8.57.1)(typescript@5.9.3)
- '@typescript-eslint/utils': 8.40.0(eslint@8.57.1)(typescript@5.9.3)
+ '@typescript-eslint/type-utils': 8.40.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3)
+ '@typescript-eslint/utils': 8.40.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3)
'@typescript-eslint/visitor-keys': 8.40.0
- eslint: 8.57.1
+ eslint: 9.39.4(jiti@2.7.0)
graphemer: 1.4.0
ignore: 7.0.5
natural-compare: 1.4.0
@@ -14188,14 +14426,42 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/parser@8.40.0(eslint@8.57.1)(typescript@5.9.3)':
+ '@typescript-eslint/eslint-plugin@8.60.0(@typescript-eslint/parser@8.60.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3)':
+ dependencies:
+ '@eslint-community/regexpp': 4.12.2
+ '@typescript-eslint/parser': 8.60.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3)
+ '@typescript-eslint/scope-manager': 8.60.0
+ '@typescript-eslint/type-utils': 8.60.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3)
+ '@typescript-eslint/utils': 8.60.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3)
+ '@typescript-eslint/visitor-keys': 8.60.0
+ eslint: 9.39.4(jiti@2.7.0)
+ ignore: 7.0.5
+ natural-compare: 1.4.0
+ ts-api-utils: 2.5.0(typescript@5.9.3)
+ typescript: 5.9.3
+ transitivePeerDependencies:
+ - supports-color
+
+ '@typescript-eslint/parser@8.40.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3)':
dependencies:
'@typescript-eslint/scope-manager': 8.40.0
'@typescript-eslint/types': 8.40.0
'@typescript-eslint/typescript-estree': 8.40.0(typescript@5.9.3)
'@typescript-eslint/visitor-keys': 8.40.0
debug: 4.4.3(supports-color@8.1.1)
- eslint: 8.57.1
+ eslint: 9.39.4(jiti@2.7.0)
+ typescript: 5.9.3
+ transitivePeerDependencies:
+ - supports-color
+
+ '@typescript-eslint/parser@8.60.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3)':
+ dependencies:
+ '@typescript-eslint/scope-manager': 8.60.0
+ '@typescript-eslint/types': 8.60.0
+ '@typescript-eslint/typescript-estree': 8.60.0(typescript@5.9.3)
+ '@typescript-eslint/visitor-keys': 8.60.0
+ debug: 4.4.3(supports-color@8.1.1)
+ eslint: 9.39.4(jiti@2.7.0)
typescript: 5.9.3
transitivePeerDependencies:
- supports-color
@@ -14218,6 +14484,15 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ '@typescript-eslint/project-service@8.60.0(typescript@5.9.3)':
+ dependencies:
+ '@typescript-eslint/tsconfig-utils': 8.60.0(typescript@5.9.3)
+ '@typescript-eslint/types': 8.60.0
+ debug: 4.4.3(supports-color@8.1.1)
+ typescript: 5.9.3
+ transitivePeerDependencies:
+ - supports-color
+
'@typescript-eslint/scope-manager@8.40.0':
dependencies:
'@typescript-eslint/types': 8.40.0
@@ -14228,6 +14503,11 @@ snapshots:
'@typescript-eslint/types': 8.59.4
'@typescript-eslint/visitor-keys': 8.59.4
+ '@typescript-eslint/scope-manager@8.60.0':
+ dependencies:
+ '@typescript-eslint/types': 8.60.0
+ '@typescript-eslint/visitor-keys': 8.60.0
+
'@typescript-eslint/tsconfig-utils@8.40.0(typescript@5.9.3)':
dependencies:
typescript: 5.9.3
@@ -14236,25 +14516,41 @@ snapshots:
dependencies:
typescript: 5.9.3
- '@typescript-eslint/type-utils@8.40.0(eslint@8.57.1)(typescript@5.9.3)':
+ '@typescript-eslint/tsconfig-utils@8.60.0(typescript@5.9.3)':
+ dependencies:
+ typescript: 5.9.3
+
+ '@typescript-eslint/type-utils@8.40.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3)':
dependencies:
'@typescript-eslint/types': 8.40.0
'@typescript-eslint/typescript-estree': 8.40.0(typescript@5.9.3)
- '@typescript-eslint/utils': 8.40.0(eslint@8.57.1)(typescript@5.9.3)
+ '@typescript-eslint/utils': 8.40.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3)
debug: 4.4.3(supports-color@8.1.1)
- eslint: 8.57.1
+ eslint: 9.39.4(jiti@2.7.0)
ts-api-utils: 2.5.0(typescript@5.9.3)
typescript: 5.9.3
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/type-utils@8.59.4(eslint@8.57.1)(typescript@5.9.3)':
+ '@typescript-eslint/type-utils@8.59.4(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3)':
dependencies:
'@typescript-eslint/types': 8.59.4
'@typescript-eslint/typescript-estree': 8.59.4(typescript@5.9.3)
- '@typescript-eslint/utils': 8.59.4(eslint@8.57.1)(typescript@5.9.3)
+ '@typescript-eslint/utils': 8.59.4(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3)
+ debug: 4.4.3(supports-color@8.1.1)
+ eslint: 9.39.4(jiti@2.7.0)
+ ts-api-utils: 2.5.0(typescript@5.9.3)
+ typescript: 5.9.3
+ transitivePeerDependencies:
+ - supports-color
+
+ '@typescript-eslint/type-utils@8.60.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3)':
+ dependencies:
+ '@typescript-eslint/types': 8.60.0
+ '@typescript-eslint/typescript-estree': 8.60.0(typescript@5.9.3)
+ '@typescript-eslint/utils': 8.60.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3)
debug: 4.4.3(supports-color@8.1.1)
- eslint: 8.57.1
+ eslint: 9.39.4(jiti@2.7.0)
ts-api-utils: 2.5.0(typescript@5.9.3)
typescript: 5.9.3
transitivePeerDependencies:
@@ -14264,6 +14560,8 @@ snapshots:
'@typescript-eslint/types@8.59.4': {}
+ '@typescript-eslint/types@8.60.0': {}
+
'@typescript-eslint/typescript-estree@8.40.0(typescript@5.9.3)':
dependencies:
'@typescript-eslint/project-service': 8.40.0(typescript@5.9.3)
@@ -14295,24 +14593,50 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/utils@8.40.0(eslint@8.57.1)(typescript@5.9.3)':
+ '@typescript-eslint/typescript-estree@8.60.0(typescript@5.9.3)':
dependencies:
- '@eslint-community/eslint-utils': 4.9.1(eslint@8.57.1)
+ '@typescript-eslint/project-service': 8.60.0(typescript@5.9.3)
+ '@typescript-eslint/tsconfig-utils': 8.60.0(typescript@5.9.3)
+ '@typescript-eslint/types': 8.60.0
+ '@typescript-eslint/visitor-keys': 8.60.0
+ debug: 4.4.3(supports-color@8.1.1)
+ minimatch: 10.2.5
+ semver: 7.8.1
+ tinyglobby: 0.2.16
+ ts-api-utils: 2.5.0(typescript@5.9.3)
+ typescript: 5.9.3
+ transitivePeerDependencies:
+ - supports-color
+
+ '@typescript-eslint/utils@8.40.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3)':
+ dependencies:
+ '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.4(jiti@2.7.0))
'@typescript-eslint/scope-manager': 8.40.0
'@typescript-eslint/types': 8.40.0
'@typescript-eslint/typescript-estree': 8.40.0(typescript@5.9.3)
- eslint: 8.57.1
+ eslint: 9.39.4(jiti@2.7.0)
typescript: 5.9.3
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/utils@8.59.4(eslint@8.57.1)(typescript@5.9.3)':
+ '@typescript-eslint/utils@8.59.4(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3)':
dependencies:
- '@eslint-community/eslint-utils': 4.9.1(eslint@8.57.1)
+ '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.4(jiti@2.7.0))
'@typescript-eslint/scope-manager': 8.59.4
'@typescript-eslint/types': 8.59.4
'@typescript-eslint/typescript-estree': 8.59.4(typescript@5.9.3)
- eslint: 8.57.1
+ eslint: 9.39.4(jiti@2.7.0)
+ typescript: 5.9.3
+ transitivePeerDependencies:
+ - supports-color
+
+ '@typescript-eslint/utils@8.60.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3)':
+ dependencies:
+ '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.4(jiti@2.7.0))
+ '@typescript-eslint/scope-manager': 8.60.0
+ '@typescript-eslint/types': 8.60.0
+ '@typescript-eslint/typescript-estree': 8.60.0(typescript@5.9.3)
+ eslint: 9.39.4(jiti@2.7.0)
typescript: 5.9.3
transitivePeerDependencies:
- supports-color
@@ -14327,6 +14651,11 @@ snapshots:
'@typescript-eslint/types': 8.59.4
eslint-visitor-keys: 5.0.1
+ '@typescript-eslint/visitor-keys@8.60.0':
+ dependencies:
+ '@typescript-eslint/types': 8.60.0
+ eslint-visitor-keys: 5.0.1
+
'@ungap/structured-clone@1.3.1': {}
'@unrs/resolver-binding-android-arm-eabi@1.12.2':
@@ -14611,6 +14940,25 @@ snapshots:
'@algolia/requester-fetch': 5.48.1
'@algolia/requester-node-http': 5.48.1
+ angular-eslint@21.4.0(@angular/cli@21.2.12(@types/node@22.19.19)(chokidar@5.0.0))(chokidar@5.0.0)(eslint@9.39.4(jiti@2.7.0))(typescript-eslint@8.60.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(typescript@5.9.3):
+ dependencies:
+ '@angular-devkit/core': 21.2.9(chokidar@5.0.0)
+ '@angular-devkit/schematics': 21.2.9(chokidar@5.0.0)
+ '@angular-eslint/builder': 21.4.0(@angular/cli@21.2.12(@types/node@22.19.19)(chokidar@5.0.0))(chokidar@5.0.0)(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3)
+ '@angular-eslint/eslint-plugin': 21.4.0(@typescript-eslint/utils@8.40.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3)
+ '@angular-eslint/eslint-plugin-template': 21.4.0(@angular-eslint/template-parser@21.4.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(@typescript-eslint/types@8.60.0)(@typescript-eslint/utils@8.40.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3)
+ '@angular-eslint/schematics': 21.4.0(@angular-eslint/template-parser@21.4.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(@angular/cli@21.2.12(@types/node@22.19.19)(chokidar@5.0.0))(@typescript-eslint/types@8.60.0)(@typescript-eslint/utils@8.40.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(chokidar@5.0.0)(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3)
+ '@angular-eslint/template-parser': 21.4.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3)
+ '@angular/cli': 21.2.12(@types/node@22.19.19)(chokidar@5.0.0)
+ '@typescript-eslint/types': 8.60.0
+ '@typescript-eslint/utils': 8.40.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3)
+ eslint: 9.39.4(jiti@2.7.0)
+ typescript: 5.9.3
+ typescript-eslint: 8.60.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3)
+ transitivePeerDependencies:
+ - chokidar
+ - supports-color
+
ansi-colors@4.1.3: {}
ansi-escapes@4.3.2:
@@ -15701,10 +16049,6 @@ snapshots:
dependencies:
'@leichtgewicht/ip-codec': 2.0.5
- doctrine@3.0.0:
- dependencies:
- esutils: 2.0.3
-
dom-converter@0.2.0:
dependencies:
utila: 0.4.0
@@ -15965,16 +16309,16 @@ snapshots:
escape-string-regexp@4.0.0: {}
- eslint-config-prettier@10.0.0(eslint@8.57.1):
+ eslint-config-prettier@10.0.0(eslint@9.39.4(jiti@2.7.0)):
dependencies:
- eslint: 8.57.1
+ eslint: 9.39.4(jiti@2.7.0)
eslint-scope@5.1.1:
dependencies:
esrecurse: 4.3.0
estraverse: 4.3.0
- eslint-scope@7.2.2:
+ eslint-scope@8.4.0:
dependencies:
esrecurse: 4.3.0
estraverse: 5.3.0
@@ -15992,49 +16336,53 @@ snapshots:
eslint-visitor-keys@5.0.1: {}
- eslint@8.57.1:
+ eslint@9.39.4(jiti@2.7.0):
dependencies:
- '@eslint-community/eslint-utils': 4.9.1(eslint@8.57.1)
+ '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.4(jiti@2.7.0))
'@eslint-community/regexpp': 4.12.2
- '@eslint/eslintrc': 2.1.4
- '@eslint/js': 8.57.1
- '@humanwhocodes/config-array': 0.13.0
+ '@eslint/config-array': 0.21.2
+ '@eslint/config-helpers': 0.4.2
+ '@eslint/core': 0.17.0
+ '@eslint/eslintrc': 3.3.5
+ '@eslint/js': 9.39.4
+ '@eslint/plugin-kit': 0.4.1
+ '@humanfs/node': 0.16.8
'@humanwhocodes/module-importer': 1.0.1
- '@nodelib/fs.walk': 1.2.8
- '@ungap/structured-clone': 1.3.1
+ '@humanwhocodes/retry': 0.4.3
+ '@types/estree': 1.0.9
ajv: 6.15.0
chalk: 4.1.2
cross-spawn: 7.0.6
debug: 4.4.3(supports-color@8.1.1)
- doctrine: 3.0.0
escape-string-regexp: 4.0.0
- eslint-scope: 7.2.2
- eslint-visitor-keys: 3.4.3
- espree: 9.6.1
+ eslint-scope: 8.4.0
+ eslint-visitor-keys: 4.2.1
+ espree: 10.4.0
esquery: 1.7.0
esutils: 2.0.3
fast-deep-equal: 3.1.3
- file-entry-cache: 6.0.1
+ file-entry-cache: 8.0.0
find-up: 5.0.0
glob-parent: 6.0.2
- globals: 13.24.0
- graphemer: 1.4.0
ignore: 5.3.2
imurmurhash: 0.1.4
is-glob: 4.0.3
- is-path-inside: 3.0.3
- js-yaml: 4.1.1
json-stable-stringify-without-jsonify: 1.0.1
- levn: 0.4.1
lodash.merge: 4.6.2
minimatch: 3.1.5
natural-compare: 1.4.0
optionator: 0.9.4
- strip-ansi: 6.0.1
- text-table: 0.2.0
+ optionalDependencies:
+ jiti: 2.7.0
transitivePeerDependencies:
- supports-color
+ espree@10.4.0:
+ dependencies:
+ acorn: 8.16.0
+ acorn-jsx: 5.3.2(acorn@8.16.0)
+ eslint-visitor-keys: 4.2.1
+
espree@9.6.1:
dependencies:
acorn: 8.16.0
@@ -16264,9 +16612,9 @@ snapshots:
dependencies:
escape-string-regexp: 1.0.5
- file-entry-cache@6.0.1:
+ file-entry-cache@8.0.0:
dependencies:
- flat-cache: 3.2.0
+ flat-cache: 4.0.1
fill-range@7.1.1:
dependencies:
@@ -16336,11 +16684,10 @@ snapshots:
path-exists: 5.0.0
unicorn-magic: 0.1.0
- flat-cache@3.2.0:
+ flat-cache@4.0.1:
dependencies:
flatted: 3.4.2
keyv: 4.5.4
- rimraf: 3.0.2
flat@5.0.2: {}
@@ -16533,9 +16880,7 @@ snapshots:
is-windows: 1.0.2
which: 1.3.1
- globals@13.24.0:
- dependencies:
- type-fest: 0.20.2
+ globals@14.0.0: {}
globals@17.6.0: {}
@@ -16898,7 +17243,8 @@ snapshots:
is-obj@2.0.0: {}
- is-path-inside@3.0.3: {}
+ is-path-inside@3.0.3:
+ optional: true
is-plain-obj@3.0.0: {}
@@ -19324,10 +19670,6 @@ snapshots:
rfdc@1.4.1: {}
- rimraf@3.0.2:
- dependencies:
- glob: 7.2.3
-
rolldown@1.0.0-rc.4(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0):
dependencies:
'@oxc-project/types': 0.113.0
@@ -20059,8 +20401,6 @@ snapshots:
text-extensions@2.4.0: {}
- text-table@0.2.0: {}
-
thingies@2.6.0(tslib@2.8.1):
dependencies:
tslib: 2.8.1
@@ -20241,8 +20581,6 @@ snapshots:
type-detect@4.0.8: {}
- type-fest@0.20.2: {}
-
type-fest@0.21.3: {}
type-fest@0.8.1:
@@ -20265,6 +20603,17 @@ snapshots:
typed-assert@1.0.9: {}
+ typescript-eslint@8.60.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3):
+ dependencies:
+ '@typescript-eslint/eslint-plugin': 8.60.0(@typescript-eslint/parser@8.60.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3)
+ '@typescript-eslint/parser': 8.60.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3)
+ '@typescript-eslint/typescript-estree': 8.60.0(typescript@5.9.3)
+ '@typescript-eslint/utils': 8.60.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3)
+ eslint: 9.39.4(jiti@2.7.0)
+ typescript: 5.9.3
+ transitivePeerDependencies:
+ - supports-color
+
typescript@5.9.3: {}
uglify-js@3.19.3:
diff --git a/tools/agents/README.md b/tools/agents/README.md
index 44f263e8..81e0bbea 100644
--- a/tools/agents/README.md
+++ b/tools/agents/README.md
@@ -5,8 +5,9 @@
A custom Docker image based on [`ghcr.io/actions/actions-runner`](https://github.com/actions/runner) with additional tools preinstalled:
- ✅ Zulu JDK 21
-- ✅ Node.js 22
-- ✅ Go 1.24
+- ✅ Node.js 24
+- ✅ Go 1.26.2
+- ✅ Playwright (Chromium, Firefox, WebKit)
- ✅ Cypress
- ✅ Linux GUI deps for headless testing
@@ -104,8 +105,9 @@ Example:
## 🧰 Tools Available in Image
- Java: `java -version`
-- Node.js: `node -v`, `npm -v`
+- Node.js: `node -v`, `npm -v`, `pnpm -v`
- Go: `go version`
+- Playwright: `playwright --version`
- Cypress: `cypress version`
---
diff --git a/tsconfig.base.json b/tsconfig.base.json
index aed747f7..70fb3888 100644
--- a/tsconfig.base.json
+++ b/tsconfig.base.json
@@ -10,7 +10,10 @@
"importHelpers": true,
"target": "es2015",
"module": "esnext",
- "lib": ["es2020", "dom"],
+ "lib": [
+ "es2020",
+ "dom"
+ ],
"skipLibCheck": true,
"skipDefaultLibCheck": true,
"baseUrl": ".",
@@ -18,7 +21,9 @@
"@jdw/angular-authui-feature-core": [
"libs/angular/authui/feature/core/src/index.ts"
],
- "@jdw/angular-authui-util": ["libs/angular/authui/util/src/index.ts"],
+ "@jdw/angular-authui-util": [
+ "libs/angular/authui/util/src/index.ts"
+ ],
"@jdw/angular-container-data-access": [
"libs/angular/container/data-access/src/index.ts"
],
@@ -31,19 +36,27 @@
"@jdw/angular-rolesui-feature-core": [
"libs/angular/rolesui/feature/core/src/index.ts"
],
- "@jdw/angular-rolesui-util": ["libs/angular/rolesui/util/src/index.ts"],
+ "@jdw/angular-rolesui-util": [
+ "libs/angular/rolesui/util/src/index.ts"
+ ],
"@jdw/angular-shared-data-access": [
"libs/angular/shared/data-access/src/index.ts"
],
- "@jdw/angular-shared-ui": ["libs/angular/shared/ui/src/index.ts"],
- "@jdw/angular-shared-util": ["libs/angular/shared/util/src/index.ts"],
+ "@jdw/angular-shared-ui": [
+ "libs/angular/shared/ui/src/index.ts"
+ ],
+ "@jdw/angular-shared-util": [
+ "libs/angular/shared/util/src/index.ts"
+ ],
"@jdw/angular-usersui-data-access": [
"libs/angular/usersui/data-access/src/index.ts"
],
"@jdw/angular-usersui-feature-core": [
"libs/angular/usersui/feature/core/src/index.ts"
],
- "@jdw/angular-usersui-util": ["libs/angular/usersui/util/src/index.ts"],
+ "@jdw/angular-usersui-util": [
+ "libs/angular/usersui/util/src/index.ts"
+ ],
"authui/Routes": [
"apps/angular/authui/authui/src/app/remote-entry/entry.routes.ts"
],
@@ -55,5 +68,8 @@
]
}
},
- "exclude": ["node_modules", "tmp"]
-}
+ "exclude": [
+ "node_modules",
+ "tmp"
+ ]
+}
\ No newline at end of file