{ "$schema": "./node_modules/@angular/cli/lib/config/schema.json", "version": 1, "newProjectRoot": "projects", "projects": { "PeerTube": { "root": "", "sourceRoot": "src", "projectType": "application", "i18n": { "sourceLocale": { "code": "en", "baseHref": "/client/en-US/" }, "locales": { "ar": { "translation": "src/locale/angular.ar.xlf", "baseHref": "/client/ar/" }, "hu": { "translation": "src/locale/angular.hu-HU.xlf", "baseHref": "/client/hu-HU/" }, "th": { "translation": "src/locale/angular.th-TH.xlf", "baseHref": "/client/th-TH/" }, "fi": { "translation": "src/locale/angular.fi-FI.xlf", "baseHref": "/client/fi-FI/" }, "nl": { "translation": "src/locale/angular.nl-NL.xlf", "baseHref": "/client/nl-NL/" }, "gd": { "translation": "src/locale/angular.gd.xlf", "baseHref": "/client/gd/" }, "el": { "translation": "src/locale/angular.el-GR.xlf", "baseHref": "/client/el-GR/" }, "es": { "translation": "src/locale/angular.es-ES.xlf", "baseHref": "/client/es-ES/" }, "oc": { "translation": "src/locale/angular.oc.xlf", "baseHref": "/client/oc/" }, "pt": { "translation": "src/locale/angular.pt-BR.xlf", "baseHref": "/client/pt-BR/" }, "pt-PT": { "translation": "src/locale/angular.pt-PT.xlf", "baseHref": "/client/pt-PT/" }, "sv": { "translation": "src/locale/angular.sv-SE.xlf", "baseHref": "/client/sv-SE/" }, "pl": { "translation": "src/locale/angular.pl-PL.xlf", "baseHref": "/client/pl-PL/" }, "ru": { "translation": "src/locale/angular.ru-RU.xlf", "baseHref": "/client/ru-RU/" }, "zh-Hans": { "translation": "src/locale/angular.zh-Hans-CN.xlf", "baseHref": "/client/zh-Hans-CN/" }, "zh-Hant": { "translation": "src/locale/angular.zh-Hant-TW.xlf", "baseHref": "/client/zh-Hant-TW/" }, "fr": { "translation": "src/locale/angular.fr-FR.xlf", "baseHref": "/client/fr-FR/" }, "ja": { "translation": "src/locale/angular.ja-JP.xlf", "baseHref": "/client/ja-JP/" }, "eu": { "translation": "src/locale/angular.eu-ES.xlf", "baseHref": "/client/eu-ES/" }, "ca": { "translation": "src/locale/angular.ca-ES.xlf", "baseHref": "/client/ca-ES/" }, "cs": { "translation": "src/locale/angular.cs-CZ.xlf", "baseHref": "/client/cs-CZ/" }, "eo": { "translation": "src/locale/angular.eo.xlf", "baseHref": "/client/eo/" }, "de": { "translation": "src/locale/angular.de-DE.xlf", "baseHref": "/client/de-DE/" }, "it": { "translation": "src/locale/angular.it-IT.xlf", "baseHref": "/client/it-IT/" }, "vi": { "translation": "src/locale/angular.vi-VN.xlf", "baseHref": "/client/vi-VN/" }, "kab": { "translation": "src/locale/angular.kab.xlf", "baseHref": "/client/kab/" } } }, "architect": { "build": { "builder": "@angular-devkit/build-angular:browser", "options": { "aot": true, "localize": true, "outputPath": "dist", "index": "src/index.html", "main": "src/main.ts", "tsConfig": "tsconfig.app.json", "polyfills": "src/polyfills.ts", "stylePreprocessorOptions": { "includePaths": [ "src/sass/include" ] }, "assets": [ "src/assets/images", "src/manifest.webmanifest" ], "styles": [ "src/sass/application.scss" ], "allowedCommonJsDependencies": [ "@angularclass/hmr", "debug", "mousetrap", "chart.js", "linkifyjs/html", "linkifyjs", "markdown-it", "sanitize-html", "socket.io-client", "socket.io-parser", "@app/+about/about-peertube/about-peertube-contributors.component", "path", "video.js", "p2p-media-loader-hlsjs", "videojs-hotkeys/videojs.hotkeys", "p2p-media-loader-core", "qrcode", "webtorrent", "cache-chunk-store", "global/document", "videojs-vtt.js", "videojs-vtt.js", "@babel/runtime/helpers/possibleConstructorReturn", "@babel/runtime/helpers/inherits", "@babel/runtime/helpers/construct", "@videojs/xhr" ], "scripts": [] }, "configurations": { "production": { "optimization": true, "outputHashing": "all", "sourceMap": false, "namedChunks": false, "aot": true, "extractLicenses": true, "vendorChunk": false, "buildOptimizer": true, "serviceWorker": true, "ngswConfigPath": "src/ngsw-config.json", "budgets": [ { "type": "initial", "maximumWarning": "2mb", "maximumError": "5mb" }, { "type": "anyComponentStyle", "maximumWarning": "6kb", "maximumError": "50kb" } ], "fileReplacements": [ { "replace": "src/environments/environment.ts", "with": "src/environments/environment.prod.ts" } ] }, "i18n": { "optimization": false, "outputHashing": "none", "sourceMap": true, "namedChunks": true, "aot": true, "buildOptimizer": false, "budgets": [] }, "hmr": { "localize": false, "budgets": [ { "type": "anyComponentStyle", "maximumWarning": "6kb" } ], "fileReplacements": [ { "replace": "src/environments/environment.ts", "with": "src/environments/environment.hmr.ts" } ] }, "e2e": { "localize": false, "budgets": [ { "type": "anyComponentStyle", "maximumWarning": "6kb" } ], "fileReplacements": [ { "replace": "src/environments/environment.ts", "with": "src/environments/environment.e2e.ts" } ] } } }, "serve": { "builder": "@angular-devkit/build-angular:dev-server", "options": { "baseHref": "/", "deployUrl": "client/", "browserTarget": "PeerTube:build", "proxyConfig": "proxy.config.json" }, "configurations": { "production": { "browserTarget": "PeerTube:build:production" }, "hmr": { "browserTarget": "PeerTube:build:hmr" }, "e2e": { "browserTarget": "PeerTube:build:e2e", "proxyConfig": "e2e/proxy.config.json" } } }, "extract-i18n": { "builder": "@angular-devkit/build-angular:extract-i18n", "options": { "browserTarget": "PeerTube:build" } }, "test": { "builder": "@angular-devkit/build-angular:karma", "options": { "main": "src/test.ts", "karmaConfig": "./karma.conf.js", "polyfills": "src/polyfills.ts", "tsConfig": "src/tsconfig.spec.json", "scripts": [], "styles": [ "src/sass/application.scss" ], "assets": [ "src/assets/images", "src/manifest.webmanifest" ] } }, "lint": { "builder": "@angular-devkit/build-angular:tslint", "options": { "tsConfig": [ "tsconfig.app.json" ], "exclude": [ "**/node_modules/**" ] } }, "xliffmerge": { "builder": "@ngx-i18nsupport/tooling:xliffmerge", "options": { "xliffmergeOptions": { "i18nFormat": "xlf", "srcDir": "src/locale", "genDir": "src/locale", "i18nBaseFile": "angular", "defaultLanguage": "en-US", "languages": [ "ar", "ca-ES", "cs-CZ", "da-DK", "de-DE", "el-GR", "en-GB", "en-US", "eo", "es-ES", "eu-ES", "fa-IR", "fi-FI", "fr-FR", "gd", "gl-ES", "hu-HU", "it-IT", "ja-JP", "jbo", "kab", "ko-KR", "lt-LT", "nb-NO", "nl-NL", "oc", "pl-PL", "pt-BR", "pt-PT", "ru-RU", "sk-SK", "sl-SI", "sv-SE", "ta", "th-TH", "tr-TR", "uk-UA", "vi-VN", "zh-Hans-CN", "zh-Hant-TW" ] } } } } }, "PeerTube-e2e": { "root": "e2e/", "sourceRoot": "", "projectType": "application", "architect": { "e2e": { "builder": "@angular-devkit/build-angular:protractor", "options": { "protractorConfig": "e2e/protractor.conf.js", "devServerTarget": "PeerTube:serve:e2e" }, "configurations": { "local": { "protractorConfig": "e2e/local-protractor.conf.js" } } }, "lint": { "builder": "@angular-devkit/build-angular:tslint", "options": { "tsConfig": [ "e2e/tsconfig.e2e.json" ], "exclude": [ "**/node_modules/**" ] } } } } }, "defaultProject": "PeerTube", "schematics": { "@schematics/angular:component": { "prefix": "app", "style": "scss" }, "@schematics/angular:directive": { "prefix": "app" } } }