ddc9272ef4107a2ad6114288f92ce4210e997b80
[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       "i18n": {
8         "locales": {
9           "fr_FR": {
10             "translation": "src/i18n/messages.fr_FR.xlf",
11             "baseHref": ""
12           }
13         }
14       },
15       "root": "",
16       "sourceRoot": "src",
17       "projectType": "application",
18       "architect": {
19         "build": {
20           "builder": "@angular-devkit/build-angular:browser",
21           "options": {
22             "aot": true,
23             "deployUrl": "client/",
24             "outputPath": "dist",
25             "index": "src/index.html",
26             "main": "src/main.ts",
27             "tsConfig": "tsconfig.app.json",
28             "polyfills": "src/polyfills.ts",
29             "stylePreprocessorOptions": {
30               "includePaths": [
31                 "src/sass/include"
32               ]
33             },
34             "assets": [
35               "src/assets/images",
36               "src/manifest.webmanifest"
37             ],
38             "styles": [
39               "src/sass/application.scss"
40             ],
41             "scripts": []
42           },
43           "configurations": {
44             "production": {
45               "optimization": true,
46               "outputHashing": "all",
47               "sourceMap": false,
48               "extractCss": true,
49               "namedChunks": false,
50               "aot": true,
51               "extractLicenses": true,
52               "vendorChunk": false,
53               "buildOptimizer": true,
54               "serviceWorker": true,
55               "ngswConfigPath": "src/ngsw-config.json",
56               "budgets": [
57                 {
58                   "type": "initial",
59                   "maximumWarning": "2mb",
60                   "maximumError": "5mb"
61                 },
62                 {
63                   "type": "anyComponentStyle",
64                   "maximumWarning": "6kb",
65                   "maximumError": "10kb"
66                 }
67               ],
68               "fileReplacements": [
69                 {
70                   "replace": "src/environments/environment.ts",
71                   "with": "src/environments/environment.prod.ts"
72                 }
73               ]
74             },
75             "hmr": {
76               "budgets": [
77                 {
78                   "type": "anyComponentStyle",
79                   "maximumWarning": "6kb"
80                 }
81               ],
82               "fileReplacements": [
83                 {
84                   "replace": "src/environments/environment.ts",
85                   "with": "src/environments/environment.hmr.ts"
86                 }
87               ]
88             },
89             "e2e": {
90               "budgets": [
91                 {
92                   "type": "anyComponentStyle",
93                   "maximumWarning": "6kb"
94                 }
95               ],
96               "fileReplacements": [
97                 {
98                   "replace": "src/environments/environment.ts",
99                   "with": "src/environments/environment.e2e.ts"
100                 }
101               ]
102             }
103           }
104         },
105         "serve": {
106           "builder": "@angular-devkit/build-angular:dev-server",
107           "options": {
108             "baseHref": "/",
109             "deployUrl": "client/",
110             "browserTarget": "PeerTube:build",
111             "proxyConfig": "proxy.config.json"
112           },
113           "configurations": {
114             "production": {
115               "browserTarget": "PeerTube:build:production"
116             },
117             "hmr": {
118               "browserTarget": "PeerTube:build:hmr"
119             },
120             "e2e": {
121               "browserTarget": "PeerTube:build:e2e",
122               "proxyConfig": "e2e/proxy.config.json"
123             }
124           }
125         },
126         "extract-i18n": {
127           "builder": "@angular-devkit/build-angular:extract-i18n",
128           "options": {
129             "browserTarget": "PeerTube:build"
130           }
131         },
132         "test": {
133           "builder": "@angular-devkit/build-angular:karma",
134           "options": {
135             "main": "src/test.ts",
136             "karmaConfig": "./karma.conf.js",
137             "polyfills": "src/polyfills.ts",
138             "tsConfig": "src/tsconfig.spec.json",
139             "scripts": [],
140             "styles": [
141               "src/sass/application.scss"
142             ],
143             "assets": [
144               "src/assets/images",
145               "src/manifest.webmanifest"
146             ]
147           }
148         },
149         "lint": {
150           "builder": "@angular-devkit/build-angular:tslint",
151           "options": {
152             "tsConfig": [
153               "tsconfig.app.json"
154             ],
155             "exclude": [
156               "**/node_modules/**"
157             ]
158           }
159         },
160         "xliffmerge": {
161           "builder": "@ngx-i18nsupport/tooling:xliffmerge",
162           "options": {
163             "xliffmergeOptions": {
164               "i18nFormat": "xlf",
165               "srcDir": "src/locale",
166               "genDir": "src/locale",
167               "i18nBaseFile": "angular",
168               "defaultLanguage": "en-US",
169               "languages": [
170                 "ar-001",
171                 "ca-ES",
172                 "cs-CZ",
173                 "da-DK",
174                 "de-DE",
175                 "el-GR",
176                 "en-GB",
177                 "en-US",
178                 "eo",
179                 "es-ES",
180                 "eu-ES",
181                 "fa-IR",
182                 "fi-FI",
183                 "fr-FR",
184                 "gd",
185                 "gl-ES",
186                 "hu-HU",
187                 "it-IT",
188                 "ja-JP",
189                 "jbo",
190                 "ko-KR",
191                 "lt-LT",
192                 "nb-NO",
193                 "nl-NL",
194                 "oc",
195                 "pl-PL",
196                 "pt-BR",
197                 "pt-PT",
198                 "ru-RU",
199                 "sk-SK",
200                 "sl-SI",
201                 "sv-SE",
202                 "ta",
203                 "th-TH",
204                 "tr-TR",
205                 "uk-UA",
206                 "vi-VN",
207                 "zh-Hans-CN",
208                 "zh-Hant-TW"
209               ]
210             }
211           }
212         }
213       }
214     },
215     "PeerTube-e2e": {
216       "root": "e2e/",
217       "sourceRoot": "",
218       "projectType": "application",
219       "architect": {
220         "e2e": {
221           "builder": "@angular-devkit/build-angular:protractor",
222           "options": {
223             "protractorConfig": "e2e/protractor.conf.js",
224             "devServerTarget": "PeerTube:serve:e2e"
225           },
226           "configurations": {
227             "local": {
228               "protractorConfig": "e2e/local-protractor.conf.js"
229             }
230           }
231         },
232         "lint": {
233           "builder": "@angular-devkit/build-angular:tslint",
234           "options": {
235             "tsConfig": [
236               "e2e/tsconfig.e2e.json"
237             ],
238             "exclude": [
239               "**/node_modules/**"
240             ]
241           }
242         }
243       }
244     }
245   },
246   "defaultProject": "PeerTube",
247   "schematics": {
248     "@schematics/angular:component": {
249       "prefix": "app",
250       "styleext": "scss"
251     },
252     "@schematics/angular:directive": {
253       "prefix": "app"
254     }
255   }
256 }