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