openvidu/frontend/angular.json
Carlos Santos 8de6d127eb frontend: implement appearance configuration form with theme customization options
frontend: update theme initialization to align with OpenVidu Meet themes

frontend: remove unused color variables and update styles configuration

frontend: enhance theme customization with dynamic color picker and theme loading
2025-09-25 18:58:21 +02:00

190 lines
4.8 KiB
JSON

{
"$schema": "./node_modules/@angular/cli/lib/config/schema.json",
"version": 1,
"newProjectRoot": "projects",
"projects": {
"openvidu-meet": {
"root": "",
"sourceRoot": "src",
"projectType": "application",
"prefix": "ov",
"schematics": {
"@schematics/angular:component": {
"style": "scss"
}
},
"architect": {
"build": {
"builder": "@angular-devkit/build-angular:application",
"options": {
"aot": true,
"outputPath": "dist/openvidu-meet",
"index": "src/index.html",
"browser": "src/main.ts",
"polyfills": ["zone.js"],
"tsConfig": "src/tsconfig.app.json",
"inlineStyleLanguage": "scss",
"assets": ["src/favicon.ico", "src/assets"],
"styles": ["src/styles.scss"],
"scripts": []
},
"configurations": {
"development": {
"optimization": false,
"outputHashing": "all",
"sourceMap": true,
"extractLicenses": false,
"outputPath": {
"base": "../backend/public/frontend",
"browser": ""
},
"deleteOutputPath": false,
"clearScreen": true
},
"production": {
"outputPath": {
"base": "../backend/public/frontend",
"browser": ""
},
"deleteOutputPath": true,
"clearScreen": true,
"budgets": [
{
"type": "initial",
"maximumWarning": "2mb",
"maximumError": "5mb"
},
{
"type": "anyComponentStyle",
"maximumWarning": "6kb",
"maximumError": "200kb"
}
],
"fileReplacements": [
{
"replace": "src/environments/environment.ts",
"with": "src/environments/environment.prod.ts"
}
],
"optimization": true,
"outputHashing": "all",
"sourceMap": false,
"namedChunks": false,
"aot": true,
"extractLicenses": true
},
"ci": {
"budgets": [
{
"type": "anyComponentStyle",
"maximumWarning": "6kb"
}
],
"fileReplacements": [
{
"replace": "src/environments/environment.ts",
"with": "src/environments/environment.ci.ts"
}
],
"optimization": true,
"outputHashing": "all",
"sourceMap": false,
"namedChunks": false,
"aot": true,
"extractLicenses": true
}
}
},
"serve": {
"builder": "@angular-devkit/build-angular:dev-server",
"options": {
"buildTarget": "openvidu-meet:build",
"proxyConfig": "src/proxy.conf.json"
},
"configurations": {
"development": {
"buildTarget": "openvidu-meet:build:development"
},
"production": {
"buildTarget": "openvidu-meet:build:production"
}
},
"defaultConfiguration": "development"
},
"extract-i18n": {
"builder": "@angular-devkit/build-angular:extract-i18n",
"options": {
"buildTarget": "openvidu-meet:build"
}
},
"test": {
"builder": "@angular-devkit/build-angular:karma",
"options": {
"main": "src/test.ts",
"polyfills": ["zone.js"],
"tsConfig": "src/tsconfig.spec.json",
"karmaConfig": "src/karma.conf.js",
"codeCoverage": true,
"styles": [],
"scripts": [],
"assets": ["src/favicon.ico", "src/assets"],
"codeCoverageExclude": ["/**/*mock*.ts", "/**/openvidu-layout.ts"]
}
}
}
},
"openvidu-meet-e2e": {
"root": "e2e/",
"projectType": "application",
"architect": {
"e2e": {
"builder": "@angular-devkit/build-angular:protractor",
"options": {
"protractorConfig": "e2e/protractor.conf.js",
"devServerTarget": "openvidu-meet:serve"
}
}
}
},
"shared-meet-components": {
"projectType": "library",
"root": "projects/shared-meet-components",
"sourceRoot": "projects/shared-meet-components/src",
"prefix": "ov",
"schematics": {
"@schematics/angular:component": {
"style": "scss"
}
},
"architect": {
"build": {
"builder": "@angular-devkit/build-angular:ng-packagr",
"options": {
"project": "projects/shared-meet-components/ng-package.json"
},
"configurations": {
"production": {
"tsConfig": "projects/shared-meet-components/tsconfig.lib.prod.json"
},
"development": {
"tsConfig": "projects/shared-meet-components/tsconfig.lib.json"
}
},
"defaultConfiguration": "production"
},
"test": {
"builder": "@angular-builders/custom-webpack:karma",
"options": {
"tsConfig": "projects/shared-meet-components/tsconfig.spec.json",
"polyfills": ["zone.js", "zone.js/testing"],
"karmaConfig": "./karma.conf.js",
"customWebpackConfig": {
"path": "projects/shared-meet-components/src/tests/webpack.config.js"
}
}
}
}
}
}
}