angular.json
// #docplaster ...
{
"$schema": "./node_modules/@angular/cli/lib/config/schema.json",
"version": 1,
"newProjectRoot": "projects",
// #docregion locale-config, i18n-baseHref
"projects": {
"angular.io-example": {
// #enddocregion locale-config, i18n-baseHref
"projectType": "application",
"root": "",
"sourceRoot": "src",
"prefix": "app",
// #docregion locale-config, i18n-baseHref
"i18n": {
"sourceLocale": "en-US",
"locales": {
"fr": {
"translation": "src/locale/messages.fr.xlf",
// #enddocregion locale-config
"baseHref": ""
// #docregion locale-config
}
}
},
// #docregion build-production-french
"architect": {
// #enddocregion locale-config, i18n-baseHref
// #docregion build-localize-true, build-single-locale, missing-translation-error
"build": {
// #enddocregion build-single-locale
"builder": "@angular-devkit/build-angular:browser",
"options": {
// #enddocregion build-production-french, missing-translation-error
"localize": true,
// #enddocregion build-localize-true
"outputPath": "dist",
"index": "src/index.html",
"main": "src/main.ts",
"polyfills": ["zone.js"],
"tsConfig": "tsconfig.app.json",
"assets": ["src/favicon.ico", "src/assets"],
"styles": ["src/styles.css"],
"scripts": [],
// #docregion missing-translation-error
"i18nMissingTranslation": "error"
// #docregion build-localize-true, build-production-french
},
// #enddocregion build-localize-true, missing-translation-error
// #docregion build-single-locale
"configurations": {
// #enddocregion build-single-locale, build-production-french
"production": {
"budgets": [
{
"type": "initial",
"maximumWarning": "500kb",
"maximumError": "1mb"
},
{
"type": "anyComponentStyle",
"maximumWarning": "2kb",
"maximumError": "4kb"
}
],
"outputHashing": "all"
},
"development": {
"localize": false,
"buildOptimizer": false,
"optimization": false,
"vendorChunk": true,
"extractLicenses": false,
"sourceMap": true,
"namedChunks": true
},
// #docregion build-single-locale, build-production-french
"fr": {
"localize": ["fr"]
}
},
// #enddocregion build-single-locale, build-production-french
"defaultConfiguration": "production"
// #docregion build-single-locale, build-production-french
},
"serve": {
"builder": "@angular-devkit/build-angular:dev-server",
"configurations": {
// #enddocregion build-single-locale
"production": {
"browserTarget": "angular.io-example:build:production"
},
// #enddocregion build-production-french
"development": {
"browserTarget": "angular.io-example:build:development"
},
// #docregion build-single-locale, build-production-french
"fr": {
"browserTarget": "angular.io-example:build:development,fr"
}
},
// #enddocregion build-single-locale, build-production-french
"defaultConfiguration": "development"
// #docregion build-single-locale, build-production-french
},
// #enddocregion build-single-locale, build-production-french
"extract-i18n": {
"builder": "@angular-devkit/build-angular:extract-i18n",
"options": {
"browserTarget": "angular.io-example:build"
}
},
"test": {
"builder": "@angular-devkit/build-angular:karma",
"options": {
"polyfills": ["zone.js", "zone.js/testing"],
"tsConfig": "tsconfig.spec.json",
"assets": ["src/favicon.ico", "src/assets"],
"styles": ["src/styles.css"],
"scripts": []
}
},
"e2e": {
"builder": "@angular-devkit/build-angular:protractor",
"options": {
"protractorConfig": "e2e/protractor.conf.js",
"devServerTarget": "angular.io-example:serve:fr"
},
"configurations": {
"production": {
"devServerTarget": "angular.io-example:serve:production"
}
}
}
// #docregion locale-config, build-single-locale, build-production-french, i18n-baseHref
}
// #enddocregion build-single-locale, build-production-french
}
}
// #enddocregion i18n-baseHref
// #docregion i18n-baseHref
}
// #enddocregion locale-config, i18n-baseHref