- src/environments/{environment,environment.prod}.ts + fileReplacements :
baseUrl API configurable au lieu de '/api' hardcodé dans les services
- ErrorService + errorInterceptor (HttpInterceptorFn) ; app.config passe à
withInterceptors([...]) (remplace withInterceptorsFromDi legacy)
- @gouvfr/dsfr déplacé en dependencies (chargé au runtime)
- api.service: extrait ValidateResponse (dédup du type inline)
- fix: formValues passe en protected (utilisé dans le template -> build NG1
cassé, le conteneur servait un ancien bundle)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
92 lines
2.9 KiB
JSON
92 lines
2.9 KiB
JSON
{
|
|
"$schema": "./node_modules/@angular/cli/lib/config/schema.json",
|
|
"version": 1,
|
|
"newProjectRoot": "projects",
|
|
"projects": {
|
|
"front-public": {
|
|
"projectType": "application",
|
|
"schematics": {
|
|
"@schematics/angular:component": {
|
|
"style": "scss",
|
|
"standalone": true,
|
|
"changeDetection": "OnPush"
|
|
}
|
|
},
|
|
"root": "",
|
|
"sourceRoot": "src",
|
|
"prefix": "app",
|
|
"architect": {
|
|
"build": {
|
|
"builder": "@angular-devkit/build-angular:application",
|
|
"options": {
|
|
"outputPath": "dist/front-public",
|
|
"index": "src/index.html",
|
|
"browser": "src/main.ts",
|
|
"polyfills": ["zone.js"],
|
|
"tsConfig": "tsconfig.json",
|
|
"assets": [
|
|
"src/favicon.ico",
|
|
"src/assets",
|
|
{
|
|
"glob": "**/*",
|
|
"input": "node_modules/@gouvfr/dsfr/dist/dsfr",
|
|
"output": "assets/dsfr"
|
|
},
|
|
{
|
|
"glob": "**/*",
|
|
"input": "node_modules/@gouvfr/dsfr/dist/utility",
|
|
"output": "assets/dsfr/utility"
|
|
},
|
|
{
|
|
"glob": "**/*",
|
|
"input": "node_modules/@gouvfr/dsfr/dist/icons",
|
|
"output": "assets/dsfr/icons"
|
|
},
|
|
{
|
|
"glob": "**/*",
|
|
"input": "node_modules/@gouvfr/dsfr/dist/icons",
|
|
"output": "assets/icons"
|
|
}
|
|
],
|
|
"styles": ["src/styles.scss"],
|
|
"scripts": []
|
|
},
|
|
"configurations": {
|
|
"production": {
|
|
"budgets": [
|
|
{ "type": "initial", "maximumWarning": "500kB", "maximumError": "1MB" },
|
|
{ "type": "anyComponentStyle", "maximumWarning": "4kB", "maximumError": "8kB" }
|
|
],
|
|
"outputHashing": "all",
|
|
"fileReplacements": [
|
|
{
|
|
"replace": "src/environments/environment.ts",
|
|
"with": "src/environments/environment.prod.ts"
|
|
}
|
|
]
|
|
},
|
|
"development": {
|
|
"optimization": false,
|
|
"extractLicenses": false,
|
|
"sourceMap": true
|
|
}
|
|
},
|
|
"defaultConfiguration": "production"
|
|
},
|
|
"serve": {
|
|
"builder": "@angular-devkit/build-angular:dev-server",
|
|
"configurations": {
|
|
"production": { "buildTarget": "front-public:build:production" },
|
|
"development": { "buildTarget": "front-public:build:development" }
|
|
},
|
|
"defaultConfiguration": "development",
|
|
"options": {
|
|
"proxyConfig": "proxy.conf.json",
|
|
"allowedHosts": ["datacat.dev.chmod777.dev"]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|