]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - client/angular.json
Update build steps for localization
[github/Chocobozzz/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 "i18n": {
11 "sourceLocale": {
12 "code": "en",
13 "baseHref": "/client/en-US/"
14 },
15 "locales": {
16 "ar": {
17 "translation": "src/locale/angular.ar.xlf",
18 "baseHref": "/client/ar/"
19 },
20 "hu": {
21 "translation": "src/locale/angular.hu-HU.xlf",
22 "baseHref": "/client/hu-HU/"
23 },
24 "th": {
25 "translation": "src/locale/angular.th-TH.xlf",
26 "baseHref": "/client/th-TH/"
27 },
28 "fi": {
29 "translation": "src/locale/angular.fi-FI.xlf",
30 "baseHref": "/client/fi-FI/"
31 },
32 "nl": {
33 "translation": "src/locale/angular.nl-NL.xlf",
34 "baseHref": "/client/nl-NL/"
35 },
36 "gd": {
37 "translation": "src/locale/angular.gd.xlf",
38 "baseHref": "/client/gd/"
39 },
40 "el": {
41 "translation": "src/locale/angular.el-GR.xlf",
42 "baseHref": "/client/el-GR/"
43 },
44 "es": {
45 "translation": "src/locale/angular.es-ES.xlf",
46 "baseHref": "/client/es-ES/"
47 },
48 "oc": {
49 "translation": "src/locale/angular.oc.xlf",
50 "baseHref": "/client/oc/"
51 },
52 "pt": {
53 "translation": "src/locale/angular.pt-BR.xlf",
54 "baseHref": "/client/pt-BR/"
55 },
56 "pt-PT": {
57 "translation": "src/locale/angular.pt-PT.xlf",
58 "baseHref": "/client/pt-PT/"
59 },
60 "sv": {
61 "translation": "src/locale/angular.sv-SE.xlf",
62 "baseHref": "/client/sv-SE/"
63 },
64 "pl": {
65 "translation": "src/locale/angular.pl-PL.xlf",
66 "baseHref": "/client/pl-PL/"
67 },
68 "ru": {
69 "translation": "src/locale/angular.ru-RU.xlf",
70 "baseHref": "/client/ru-RU/"
71 },
72 "zh-Hans": {
73 "translation": "src/locale/angular.zh-Hans-CN.xlf",
74 "baseHref": "/client/zh-Hans-CN/"
75 },
76 "zh-Hant": {
77 "translation": "src/locale/angular.zh-Hant-TW.xlf",
78 "baseHref": "/client/zh-Hant-TW/"
79 },
80 "fr": {
81 "translation": "src/locale/angular.fr-FR.xlf",
82 "baseHref": "/client/fr-FR/"
83 },
84 "ja": {
85 "translation": "src/locale/angular.ja-JP.xlf",
86 "baseHref": "/client/ja-JP/"
87 },
88 "eu": {
89 "translation": "src/locale/angular.eu-ES.xlf",
90 "baseHref": "/client/eu-ES/"
91 },
92 "ca": {
93 "translation": "src/locale/angular.ca-ES.xlf",
94 "baseHref": "/client/ca-ES/"
95 },
96 "cs": {
97 "translation": "src/locale/angular.cs-CZ.xlf",
98 "baseHref": "/client/cs-CZ/"
99 },
100 "eo": {
101 "translation": "src/locale/angular.eo.xlf",
102 "baseHref": "/client/eo/"
103 },
104 "de": {
105 "translation": "src/locale/angular.de-DE.xlf",
106 "baseHref": "/client/de-DE/"
107 },
108 "it": {
109 "translation": "src/locale/angular.it-IT.xlf",
110 "baseHref": "/client/it-IT/"
111 },
112 "vi": {
113 "translation": "src/locale/angular.vi-VN.xlf",
114 "baseHref": "/client/vi-VN/"
115 },
116 "kab": {
117 "translation": "src/locale/angular.kab.xlf",
118 "baseHref": "/client/kab/"
119 }
120 }
121 },
122 "architect": {
123 "build": {
124 "builder": "@angular-devkit/build-angular:browser",
125 "options": {
126 "aot": true,
127 "outputPath": "dist",
128 "index": "src/index.html",
129 "main": "src/main.ts",
130 "tsConfig": "tsconfig.app.json",
131 "polyfills": "src/polyfills.ts",
132 "stylePreprocessorOptions": {
133 "includePaths": [
134 "src/sass/include"
135 ]
136 },
137 "assets": [
138 "src/assets/images",
139 "src/manifest.webmanifest"
140 ],
141 "styles": [
142 "src/sass/application.scss"
143 ],
144 "allowedCommonJsDependencies": [
145 "@angularclass/hmr",
146 "debug",
147 "mousetrap",
148 "chart.js",
149 "linkifyjs/html",
150 "linkifyjs",
151 "markdown-it",
152 "sanitize-html",
153 "socket.io-client",
154 "socket.io-parser",
155 "@app/+about/about-peertube/about-peertube-contributors.component",
156 "path",
157 "video.js",
158 "p2p-media-loader-hlsjs",
159 "videojs-hotkeys/videojs.hotkeys",
160 "p2p-media-loader-core",
161 "qrcode",
162 "webtorrent",
163 "cache-chunk-store",
164 "global/document",
165 "videojs-vtt.js",
166 "videojs-vtt.js",
167 "@babel/runtime/helpers/possibleConstructorReturn",
168 "@babel/runtime/helpers/inherits",
169 "@babel/runtime/helpers/construct",
170 "@videojs/xhr"
171 ],
172 "scripts": []
173 },
174 "configurations": {
175 "production": {
176 "optimization": true,
177 "outputHashing": "all",
178 "sourceMap": false,
179 "extractCss": true,
180 "namedChunks": false,
181 "aot": true,
182 "extractLicenses": true,
183 "vendorChunk": false,
184 "buildOptimizer": true,
185 "serviceWorker": true,
186 "ngswConfigPath": "src/ngsw-config.json",
187 "budgets": [
188 {
189 "type": "initial",
190 "maximumWarning": "2mb",
191 "maximumError": "5mb"
192 },
193 {
194 "type": "anyComponentStyle",
195 "maximumWarning": "6kb",
196 "maximumError": "50kb"
197 }
198 ],
199 "fileReplacements": [
200 {
201 "replace": "src/environments/environment.ts",
202 "with": "src/environments/environment.prod.ts"
203 }
204 ]
205 },
206 "i18n": {
207 "optimization": false,
208 "outputHashing": "none",
209 "sourceMap": true,
210 "extractCss": true,
211 "namedChunks": true,
212 "aot": true,
213 "buildOptimizer": false,
214 "budgets": []
215 },
216 "hmr": {
217 "budgets": [
218 {
219 "type": "anyComponentStyle",
220 "maximumWarning": "6kb"
221 }
222 ],
223 "fileReplacements": [
224 {
225 "replace": "src/environments/environment.ts",
226 "with": "src/environments/environment.hmr.ts"
227 }
228 ]
229 },
230 "e2e": {
231 "budgets": [
232 {
233 "type": "anyComponentStyle",
234 "maximumWarning": "6kb"
235 }
236 ],
237 "fileReplacements": [
238 {
239 "replace": "src/environments/environment.ts",
240 "with": "src/environments/environment.e2e.ts"
241 }
242 ]
243 },
244 "ar": {
245 "localize": [ "ar" ]
246 },
247 "hu-HU": {
248 "localize": [ "hu" ]
249 },
250 "th-TH": {
251 "localize": [ "th" ]
252 },
253 "fi-FI": {
254 "localize": [ "fi" ]
255 },
256 "nl-NL": {
257 "localize": [ "nl" ]
258 },
259 "gd": {
260 "localize": [ "gd" ]
261 },
262 "el-GR": {
263 "localize": [ "el" ]
264 },
265 "es-ES": {
266 "localize": [ "es" ]
267 },
268 "oc": {
269 "localize": [ "oc" ]
270 },
271 "pt-BR": {
272 "localize": [ "pt" ]
273 },
274 "pt-PT": {
275 "localize": [ "pt-PT" ]
276 },
277 "sv-SE": {
278 "localize": [ "sv" ]
279 },
280 "pl-PL": {
281 "localize": [ "pl" ]
282 },
283 "ru-RU": {
284 "localize": [ "ru" ]
285 },
286 "zh-Hans-CN": {
287 "localize": [ "zh-Hans" ]
288 },
289 "zh-Hant-TW": {
290 "localize": [ "zh-Hant" ]
291 },
292 "fr-FR": {
293 "localize": [ "fr" ]
294 },
295 "ja-JP": {
296 "localize": [ "ja" ]
297 },
298 "eu-ES": {
299 "localize": [ "eu" ]
300 },
301 "ca-ES": {
302 "localize": [ "ca" ]
303 },
304 "cs-CZ": {
305 "localize": [ "cs" ]
306 },
307 "eo": {
308 "localize": [ "eo" ]
309 },
310 "de-DE": {
311 "localize": [ "de" ]
312 },
313 "it-IT": {
314 "localize": [ "it" ]
315 },
316 "vi-VN": {
317 "localize": [ "vi" ]
318 },
319 "kab": {
320 "localize": [ "kab" ]
321 }
322 }
323 },
324 "serve": {
325 "builder": "@angular-devkit/build-angular:dev-server",
326 "options": {
327 "baseHref": "/",
328 "deployUrl": "client/",
329 "browserTarget": "PeerTube:build",
330 "proxyConfig": "proxy.config.json"
331 },
332 "configurations": {
333 "production": {
334 "browserTarget": "PeerTube:build:production"
335 },
336 "hmr": {
337 "browserTarget": "PeerTube:build:hmr"
338 },
339 "e2e": {
340 "browserTarget": "PeerTube:build:e2e",
341 "proxyConfig": "e2e/proxy.config.json"
342 }
343 }
344 },
345 "extract-i18n": {
346 "builder": "@angular-devkit/build-angular:extract-i18n",
347 "options": {
348 "browserTarget": "PeerTube:build"
349 }
350 },
351 "test": {
352 "builder": "@angular-devkit/build-angular:karma",
353 "options": {
354 "main": "src/test.ts",
355 "karmaConfig": "./karma.conf.js",
356 "polyfills": "src/polyfills.ts",
357 "tsConfig": "src/tsconfig.spec.json",
358 "scripts": [],
359 "styles": [
360 "src/sass/application.scss"
361 ],
362 "assets": [
363 "src/assets/images",
364 "src/manifest.webmanifest"
365 ]
366 }
367 },
368 "lint": {
369 "builder": "@angular-devkit/build-angular:tslint",
370 "options": {
371 "tsConfig": [
372 "tsconfig.app.json"
373 ],
374 "exclude": [
375 "**/node_modules/**"
376 ]
377 }
378 },
379 "xliffmerge": {
380 "builder": "@ngx-i18nsupport/tooling:xliffmerge",
381 "options": {
382 "xliffmergeOptions": {
383 "i18nFormat": "xlf",
384 "srcDir": "src/locale",
385 "genDir": "src/locale",
386 "i18nBaseFile": "angular",
387 "defaultLanguage": "en-US",
388 "languages": [
389 "ar",
390 "ca-ES",
391 "cs-CZ",
392 "da-DK",
393 "de-DE",
394 "el-GR",
395 "en-GB",
396 "en-US",
397 "eo",
398 "es-ES",
399 "eu-ES",
400 "fa-IR",
401 "fi-FI",
402 "fr-FR",
403 "gd",
404 "gl-ES",
405 "hu-HU",
406 "it-IT",
407 "ja-JP",
408 "jbo",
409 "kab",
410 "ko-KR",
411 "lt-LT",
412 "nb-NO",
413 "nl-NL",
414 "oc",
415 "pl-PL",
416 "pt-BR",
417 "pt-PT",
418 "ru-RU",
419 "sk-SK",
420 "sl-SI",
421 "sv-SE",
422 "ta",
423 "th-TH",
424 "tr-TR",
425 "uk-UA",
426 "vi-VN",
427 "zh-Hans-CN",
428 "zh-Hant-TW"
429 ]
430 }
431 }
432 }
433 }
434 },
435 "PeerTube-e2e": {
436 "root": "e2e/",
437 "sourceRoot": "",
438 "projectType": "application",
439 "architect": {
440 "e2e": {
441 "builder": "@angular-devkit/build-angular:protractor",
442 "options": {
443 "protractorConfig": "e2e/protractor.conf.js",
444 "devServerTarget": "PeerTube:serve:e2e"
445 },
446 "configurations": {
447 "local": {
448 "protractorConfig": "e2e/local-protractor.conf.js"
449 }
450 }
451 },
452 "lint": {
453 "builder": "@angular-devkit/build-angular:tslint",
454 "options": {
455 "tsConfig": [
456 "e2e/tsconfig.e2e.json"
457 ],
458 "exclude": [
459 "**/node_modules/**"
460 ]
461 }
462 }
463 }
464 }
465 },
466 "defaultProject": "PeerTube",
467 "schematics": {
468 "@schematics/angular:component": {
469 "prefix": "app",
470 "style": "scss"
471 },
472 "@schematics/angular:directive": {
473 "prefix": "app"
474 }
475 }
476 }