bbe3d07b3d9626224abc77cfc424426e5e0dbaeb
[oweals/peertube.git] / client / angular.json
1 {
2   "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
3   "version": 1,
4   "newProjectRoot": "projects",
5   "projects": {
6     "PeerTube": {
7       "root": "",
8       "sourceRoot": "src",
9       "projectType": "application",
10       "architect": {
11         "build": {
12           "builder": "@angular-devkit/build-angular:browser",
13           "options": {
14             "deployUrl": "client/",
15             "outputPath": "dist",
16             "index": "src/index.html",
17             "main": "src/main.ts",
18             "tsConfig": "tsconfig.app.json",
19             "polyfills": "src/polyfills.ts",
20             "stylePreprocessorOptions": {
21               "includePaths": [
22                 "src/sass/include"
23               ]
24             },
25             "assets": [
26               "src/assets/images",
27               "src/manifest.webmanifest"
28             ],
29             "styles": [
30               "src/sass/application.scss"
31             ],
32             "scripts": []
33           },
34           "configurations": {
35             "production": {
36               "optimization": true,
37               "outputHashing": "all",
38               "sourceMap": false,
39               "extractCss": true,
40               "namedChunks": false,
41               "aot": true,
42               "extractLicenses": true,
43               "vendorChunk": false,
44               "buildOptimizer": true,
45               "serviceWorker": true,
46               "ngswConfigPath": "src/ngsw-config.json",
47               "budgets": [
48                 {
49                   "type": "initial",
50                   "maximumWarning": "2mb",
51                   "maximumError": "5mb"
52                 },
53                 {
54                   "type": "anyComponentStyle",
55                   "maximumWarning": "6kb",
56                   "maximumError": "10kb"
57                 }
58               ],
59               "fileReplacements": [
60                 {
61                   "replace": "src/environments/environment.ts",
62                   "with": "src/environments/environment.prod.ts"
63                 }
64               ]
65             },
66             "hmr": {
67               "fileReplacements": [
68                 {
69                   "replace": "src/environments/environment.ts",
70                   "with": "src/environments/environment.hmr.ts"
71                 }
72               ]
73             },
74             "e2e": {
75               "fileReplacements": [
76                 {
77                   "replace": "src/environments/environment.ts",
78                   "with": "src/environments/environment.e2e.ts"
79                 }
80               ]
81             },
82             "fr_FR": {
83               "aot": true,
84               "outputPath": "dist/PeerTube-fr_FR",
85               "i18nFile": "src/i18n/messages.fr_FR.xlf",
86               "i18nFormat": "xlf",
87               "i18nLocale": "fr_FR"
88             }
89           }
90         },
91         "serve": {
92           "builder": "@angular-devkit/build-angular:dev-server",
93           "options": {
94             "baseHref": "/",
95             "deployUrl": "client/",
96             "browserTarget": "PeerTube:build",
97             "proxyConfig": "proxy.config.json"
98           },
99           "configurations": {
100             "production": {
101               "browserTarget": "PeerTube:build:production"
102             },
103             "hmr": {
104               "browserTarget": "PeerTube:build:hmr"
105             },
106             "e2e": {
107               "browserTarget": "PeerTube:build:e2e",
108               "proxyConfig": "e2e/proxy.config.json"
109             },
110             "fr_FR": {
111               "browserTarget": "PeerTube:build:fr_FR"
112             }
113           }
114         },
115         "extract-i18n": {
116           "builder": "@angular-devkit/build-angular:extract-i18n",
117           "options": {
118             "browserTarget": "PeerTube:build"
119           }
120         },
121         "test": {
122           "builder": "@angular-devkit/build-angular:karma",
123           "options": {
124             "main": "src/test.ts",
125             "karmaConfig": "./karma.conf.js",
126             "polyfills": "src/polyfills.ts",
127             "tsConfig": "src/tsconfig.spec.json",
128             "scripts": [],
129             "styles": [
130               "src/sass/application.scss"
131             ],
132             "assets": [
133               "src/assets/images",
134               "src/manifest.webmanifest"
135             ]
136           }
137         },
138         "lint": {
139           "builder": "@angular-devkit/build-angular:tslint",
140           "options": {
141             "tsConfig": [
142               "tsconfig.app.json"
143             ],
144             "exclude": [
145               "**/node_modules/**"
146             ]
147           }
148         },
149         "xliffmerge": {
150           "builder": "@ngx-i18nsupport/tooling:xliffmerge",
151           "options": {
152             "xliffmergeOptions": {
153               "i18nFormat": "xlf",
154               "srcDir": "src/locale",
155               "genDir": "src/locale",
156               "useSourceAsTarget": false,
157               "i18nBaseFile": "angular",
158               "defaultLanguage": "en-US",
159               "languages": [
160                 "en-US",
161                 "fr-FR"
162               ]
163             }
164           }
165         }
166       }
167     },
168     "PeerTube-e2e": {
169       "root": "e2e/",
170       "sourceRoot": "",
171       "projectType": "application",
172       "architect": {
173         "e2e": {
174           "builder": "@angular-devkit/build-angular:protractor",
175           "options": {
176             "protractorConfig": "e2e/protractor.conf.js",
177             "devServerTarget": "PeerTube:serve:e2e"
178           },
179           "configurations": {
180             "local": {
181               "protractorConfig": "e2e/local-protractor.conf.js"
182             }
183           }
184         },
185         "lint": {
186           "builder": "@angular-devkit/build-angular:tslint",
187           "options": {
188             "tsConfig": [
189               "e2e/tsconfig.e2e.json"
190             ],
191             "exclude": [
192               "**/node_modules/**"
193             ]
194           }
195         }
196       }
197     }
198   },
199   "defaultProject": "PeerTube",
200   "schematics": {
201     "@schematics/angular:component": {
202       "prefix": "app",
203       "styleext": "scss"
204     },
205     "@schematics/angular:directive": {
206       "prefix": "app"
207     }
208   }
209 }