Files
zitadel/console/angular.json
bc9333aef9 chore: update npm dependencies (#12375)
# Which Problems Are Solved

- npm dependencies across the monorepo are behind current patch/minor
releases.
- Transitive dependencies are pinned to older versions by parent
packages (karma, nx, @changesets/cli, etc.).
- Console build fails after the Angular toolchain update because
`angular.json` references assets outside the workspace root.

# How the Problems Are Solved

- Bumps `@angular/*` to `^21.2.17` in console.
- Bumps `js-yaml` to `^4.2.0` in docs.
- Bumps `concurrently` to `^10.0.3` in login.
- Adds pnpm overrides for transitive deps that cannot be bumped directly
(ws, undici, minimatch, esbuild, dompurify, qs, and others).

# Additional Changes

- Removes 10 overrides that are no longer needed after parent packages
resolve to newer versions.
- Updates 4 existing overrides (`tar`, `js-yaml`, `dompurify`,
`brace-expansion`) to match current upstream ranges.
- 2 low-severity findings remain via the abandoned `raw-loader` package
in docs (peer dep resolution; no upstream fix without replacing
`raw-loader`).
- Fixes console build: replaced the `angular.json` asset glob
`../apps/docs/public/img/tech` with a `prebuild` script that copies tech
images into `src/assets/docs/img/tech`. **Verify at runtime that tech
images on project grant / integration pages still load.**

# Additional Context

- Overrides remain where parent packages still pin older transitive
versions.
- The `angular.json` asset path issue predates this PR (not introduced
by the Angular bump).

---------

Co-authored-by: Livio Spring <9405495+livio-a@users.noreply.github.com>
2026-07-06 14:18:51 +00:00

193 lines
6.0 KiB
JSON

{
"$schema": "./node_modules/@angular/cli/lib/config/schema.json",
"version": 1,
"newProjectRoot": "projects",
"projects": {
"console": {
"projectType": "application",
"schematics": {
"@schematics/angular:component": {
"style": "scss"
}
},
"root": "",
"sourceRoot": "src",
"prefix": "cnsl",
"architect": {
"build": {
"builder": "@angular/build:application",
"options": {
"outputPath": {
"browser": "",
"base": "dist/console"
},
"index": "src/index.html",
"polyfills": ["zone.js"],
"tsConfig": "tsconfig.app.json",
"inlineStyleLanguage": "scss",
"assets": [
"src/favicon.ico",
"src/assets",
"src/manifest.webmanifest"
],
"styles": ["src/styles.scss", "src/tailwind.css"],
"scripts": ["./node_modules/tinycolor2/dist/tinycolor-min.js"],
"stylePreprocessorOptions": {
"sass": {
"silenceDeprecations": ["import", "mixed-decls"]
},
"includePaths": ["node_modules", "."]
},
"allowedCommonJsDependencies": [
"opentype.js",
"fast-sha256",
"buffer",
"moment",
"grpc-web",
"@angular/common/locales/de",
"codemirror/mode/javascript/javascript",
"codemirror/mode/xml/xml",
"file-saver",
"qrcode",
"codemirror"
],
"browser": "src/main.ts"
},
"configurations": {
"production": {
"optimization": {
"fonts": {
"inline": false
},
"styles": {
"inlineCritical": false,
"minify": false
}
},
"budgets": [
{
"type": "initial",
"maximumWarning": "8mb",
"maximumError": "11mb"
},
{
"type": "anyComponentStyle",
"maximumWarning": "6kb",
"maximumError": "10kb"
}
],
"outputHashing": "all"
},
"development": {
"optimization": false,
"extractLicenses": false,
"sourceMap": true,
"namedChunks": true
}
},
"defaultConfiguration": "development"
},
"serve": {
"builder": "@angular/build:dev-server",
"options": {
"prebundle": {
"exclude": [
"google-protobuf",
"google-protobuf/google/protobuf/timestamp_pb.js",
"google-protobuf/google/protobuf/descriptor_pb.js",
"google-protobuf/google/protobuf/struct_pb.js",
"google-protobuf/google/protobuf/duration_pb.js",
"i18n-iso-countries/langs/de.json",
"i18n-iso-countries/langs/en.json",
"i18n-iso-countries/langs/es.json",
"i18n-iso-countries/langs/fr.json",
"i18n-iso-countries/langs/id.json",
"i18n-iso-countries/langs/it.json",
"i18n-iso-countries/langs/ja.json",
"i18n-iso-countries/langs/pl.json",
"i18n-iso-countries/langs/zh.json",
"i18n-iso-countries/langs/bg.json",
"i18n-iso-countries/langs/pt.json",
"i18n-iso-countries/langs/mk.json",
"i18n-iso-countries/langs/ru.json",
"i18n-iso-countries/langs/cs.json",
"i18n-iso-countries/langs/nl.json",
"i18n-iso-countries/langs/sv.json",
"i18n-iso-countries/langs/hu.json",
"i18n-iso-countries/langs/ko.json",
"i18n-iso-countries/langs/ro.json",
"i18n-iso-countries/langs/tr.json",
"i18n-iso-countries/langs/uk.json",
"i18n-iso-countries/langs/ar.json"
]
}
},
"configurations": {
"production": {
"buildTarget": "console:build:production"
},
"development": {
"buildTarget": "console:build:development"
}
},
"defaultConfiguration": "development"
},
"extract-i18n": {
"builder": "@angular/build:extract-i18n",
"options": {
"buildTarget": "console:build"
}
},
"test": {
"builder": "@angular/build:karma",
"options": {
"polyfills": ["zone.js", "zone.js/testing"],
"tsConfig": "tsconfig.spec.json",
"inlineStyleLanguage": "scss",
"assets": ["src/favicon.ico", "src/assets"],
"styles": ["src/styles.scss"],
"scripts": []
}
},
"lint": {
"builder": "@angular-eslint/builder:lint",
"options": {
"lintFilePatterns": ["src/**/*.ts", "src/**/*.html"]
}
}
}
}
},
"cli": {
"analytics": false,
"schematicCollections": ["@angular-eslint/schematics"],
"packageManager": "pnpm"
},
"schematics": {
"@schematics/angular:component": {
"type": "component"
},
"@schematics/angular:directive": {
"type": "directive"
},
"@schematics/angular:service": {
"type": "service"
},
"@schematics/angular:guard": {
"typeSeparator": "."
},
"@schematics/angular:interceptor": {
"typeSeparator": "."
},
"@schematics/angular:module": {
"typeSeparator": "."
},
"@schematics/angular:pipe": {
"typeSeparator": "."
},
"@schematics/angular:resolver": {
"typeSeparator": "."
}
}
}