angular.json 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438
  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. "scripts": []
  145. },
  146. "configurations": {
  147. "production": {
  148. "optimization": true,
  149. "outputHashing": "all",
  150. "sourceMap": false,
  151. "extractCss": true,
  152. "namedChunks": false,
  153. "aot": true,
  154. "extractLicenses": true,
  155. "vendorChunk": false,
  156. "buildOptimizer": true,
  157. "serviceWorker": true,
  158. "ngswConfigPath": "src/ngsw-config.json",
  159. "budgets": [
  160. {
  161. "type": "initial",
  162. "maximumWarning": "2mb",
  163. "maximumError": "5mb"
  164. },
  165. {
  166. "type": "anyComponentStyle",
  167. "maximumWarning": "6kb",
  168. "maximumError": "50kb"
  169. }
  170. ],
  171. "fileReplacements": [
  172. {
  173. "replace": "src/environments/environment.ts",
  174. "with": "src/environments/environment.prod.ts"
  175. }
  176. ]
  177. },
  178. "hmr": {
  179. "budgets": [
  180. {
  181. "type": "anyComponentStyle",
  182. "maximumWarning": "6kb"
  183. }
  184. ],
  185. "fileReplacements": [
  186. {
  187. "replace": "src/environments/environment.ts",
  188. "with": "src/environments/environment.hmr.ts"
  189. }
  190. ]
  191. },
  192. "e2e": {
  193. "budgets": [
  194. {
  195. "type": "anyComponentStyle",
  196. "maximumWarning": "6kb"
  197. }
  198. ],
  199. "fileReplacements": [
  200. {
  201. "replace": "src/environments/environment.ts",
  202. "with": "src/environments/environment.e2e.ts"
  203. }
  204. ]
  205. },
  206. "ar": {
  207. "localize": [ "ar" ]
  208. },
  209. "hu-HU": {
  210. "localize": [ "hu" ]
  211. },
  212. "th-TH": {
  213. "localize": [ "th" ]
  214. },
  215. "fi-FI": {
  216. "localize": [ "fi" ]
  217. },
  218. "nl-NL": {
  219. "localize": [ "nl" ]
  220. },
  221. "gd": {
  222. "localize": [ "gd" ]
  223. },
  224. "el-GR": {
  225. "localize": [ "el" ]
  226. },
  227. "es-ES": {
  228. "localize": [ "es" ]
  229. },
  230. "oc": {
  231. "localize": [ "oc" ]
  232. },
  233. "pt-BR": {
  234. "localize": [ "pt" ]
  235. },
  236. "pt-PT": {
  237. "localize": [ "pt-PT" ]
  238. },
  239. "sv-SE": {
  240. "localize": [ "sv" ]
  241. },
  242. "pl-PL": {
  243. "localize": [ "pl" ]
  244. },
  245. "ru-RU": {
  246. "localize": [ "ru" ]
  247. },
  248. "zh-Hans-CN": {
  249. "localize": [ "zh-Hans" ]
  250. },
  251. "zh-Hant-TW": {
  252. "localize": [ "zh-Hant" ]
  253. },
  254. "fr-FR": {
  255. "localize": [ "fr" ]
  256. },
  257. "ja-JP": {
  258. "localize": [ "ja" ]
  259. },
  260. "eu-ES": {
  261. "localize": [ "eu" ]
  262. },
  263. "ca-ES": {
  264. "localize": [ "ca" ]
  265. },
  266. "cs-CZ": {
  267. "localize": [ "cs" ]
  268. },
  269. "eo": {
  270. "localize": [ "eo" ]
  271. },
  272. "de-DE": {
  273. "localize": [ "de" ]
  274. },
  275. "it-IT": {
  276. "localize": [ "it" ]
  277. },
  278. "vi-VN": {
  279. "localize": [ "vi" ]
  280. },
  281. "kab": {
  282. "localize": [ "kab" ]
  283. }
  284. }
  285. },
  286. "serve": {
  287. "builder": "@angular-devkit/build-angular:dev-server",
  288. "options": {
  289. "baseHref": "/",
  290. "deployUrl": "client/",
  291. "browserTarget": "PeerTube:build",
  292. "proxyConfig": "proxy.config.json"
  293. },
  294. "configurations": {
  295. "production": {
  296. "browserTarget": "PeerTube:build:production"
  297. },
  298. "hmr": {
  299. "browserTarget": "PeerTube:build:hmr"
  300. },
  301. "e2e": {
  302. "browserTarget": "PeerTube:build:e2e",
  303. "proxyConfig": "e2e/proxy.config.json"
  304. }
  305. }
  306. },
  307. "extract-i18n": {
  308. "builder": "@angular-devkit/build-angular:extract-i18n",
  309. "options": {
  310. "browserTarget": "PeerTube:build"
  311. }
  312. },
  313. "test": {
  314. "builder": "@angular-devkit/build-angular:karma",
  315. "options": {
  316. "main": "src/test.ts",
  317. "karmaConfig": "./karma.conf.js",
  318. "polyfills": "src/polyfills.ts",
  319. "tsConfig": "src/tsconfig.spec.json",
  320. "scripts": [],
  321. "styles": [
  322. "src/sass/application.scss"
  323. ],
  324. "assets": [
  325. "src/assets/images",
  326. "src/manifest.webmanifest"
  327. ]
  328. }
  329. },
  330. "lint": {
  331. "builder": "@angular-devkit/build-angular:tslint",
  332. "options": {
  333. "tsConfig": [
  334. "tsconfig.app.json"
  335. ],
  336. "exclude": [
  337. "**/node_modules/**"
  338. ]
  339. }
  340. },
  341. "xliffmerge": {
  342. "builder": "@ngx-i18nsupport/tooling:xliffmerge",
  343. "options": {
  344. "xliffmergeOptions": {
  345. "i18nFormat": "xlf",
  346. "srcDir": "src/locale",
  347. "genDir": "src/locale",
  348. "i18nBaseFile": "angular",
  349. "defaultLanguage": "en-US",
  350. "languages": [
  351. "ar",
  352. "ca-ES",
  353. "cs-CZ",
  354. "da-DK",
  355. "de-DE",
  356. "el-GR",
  357. "en-GB",
  358. "en-US",
  359. "eo",
  360. "es-ES",
  361. "eu-ES",
  362. "fa-IR",
  363. "fi-FI",
  364. "fr-FR",
  365. "gd",
  366. "gl-ES",
  367. "hu-HU",
  368. "it-IT",
  369. "ja-JP",
  370. "jbo",
  371. "kab",
  372. "ko-KR",
  373. "lt-LT",
  374. "nb-NO",
  375. "nl-NL",
  376. "oc",
  377. "pl-PL",
  378. "pt-BR",
  379. "pt-PT",
  380. "ru-RU",
  381. "sk-SK",
  382. "sl-SI",
  383. "sv-SE",
  384. "ta",
  385. "th-TH",
  386. "tr-TR",
  387. "uk-UA",
  388. "vi-VN",
  389. "zh-Hans-CN",
  390. "zh-Hant-TW"
  391. ]
  392. }
  393. }
  394. }
  395. }
  396. },
  397. "PeerTube-e2e": {
  398. "root": "e2e/",
  399. "sourceRoot": "",
  400. "projectType": "application",
  401. "architect": {
  402. "e2e": {
  403. "builder": "@angular-devkit/build-angular:protractor",
  404. "options": {
  405. "protractorConfig": "e2e/protractor.conf.js",
  406. "devServerTarget": "PeerTube:serve:e2e"
  407. },
  408. "configurations": {
  409. "local": {
  410. "protractorConfig": "e2e/local-protractor.conf.js"
  411. }
  412. }
  413. },
  414. "lint": {
  415. "builder": "@angular-devkit/build-angular:tslint",
  416. "options": {
  417. "tsConfig": [
  418. "e2e/tsconfig.e2e.json"
  419. ],
  420. "exclude": [
  421. "**/node_modules/**"
  422. ]
  423. }
  424. }
  425. }
  426. }
  427. },
  428. "defaultProject": "PeerTube",
  429. "schematics": {
  430. "@schematics/angular:component": {
  431. "prefix": "app",
  432. "styleext": "scss"
  433. },
  434. "@schematics/angular:directive": {
  435. "prefix": "app"
  436. }
  437. }
  438. }