Files
openproject/frontend/angular.json
T
Alexander Brandon Coles 385f461685 [#73890] Drop standalone Backlogs CSS bundle
Removes the dedicated `backlogs.scss` entrypoint, its `angular.json`
bundle entry, and the import in `global_styles/openproject`. Moves
the remaining page-level rules to live beside the other module
style sheets at `global_styles/content/modules/_backlogs.sass`.
With card styles now colocated alongside their components, no
Backlogs-specific CSS is left to warrant a separate bundle.

https://community.openproject.org/work_packages/73890
2026-04-30 18:36:07 +02:00

217 lines
6.2 KiB
JSON

{
"$schema": "./node_modules/@angular/cli/lib/config/schema.json",
"version": 1,
"newProjectRoot": "projects",
"projects": {
"OpenProject": {
"projectType": "application",
"schematics": {
"@schematics/angular:component": {
"style": "sass"
}
},
"root": "",
"sourceRoot": "src",
"architect": {
"build": {
"builder": "@angular-builders/custom-esbuild:application",
"options": {
"plugins": ["./esbuild/plugins.ts"],
"allowedCommonJsDependencies": [
"dom-plane",
"pako",
"moment-timezone",
"observable-array",
"dragula",
"jquery",
"contra/emitter",
"crossvent",
"create-point-cb",
"core-vendor/enjoyhint",
"tablesorter"
],
"preserveSymlinks": true,
"outputPath": {
"base": "../public/assets/frontend",
"browser": ""
},
"index": false,
"browser": "src/main.ts",
"polyfills": ["src/polyfills.ts"],
"tsConfig": "tsconfig.app.json",
"inlineStyleLanguage": "sass",
"assets": [
"src/assets"
],
"styles": [
{
"input": "src/spot.scss",
"bundleName": "spot"
},
{
"input": "node_modules/@blocknote/mantine/src/style.css",
"bundleName": "blocknote"
},
"src/styles.scss",
"node_modules/codemirror/lib/codemirror.css",
"src/vendor/jquery-ui-1.14.1/jquery-ui.css",
"src/vendor/jquery-ui-1.14.1/jquery-ui.structure.css",
"src/vendor/jquery-ui-1.14.1/jquery-ui.theme.css",
"node_modules/flatpickr/dist/flatpickr.min.css",
"src/vendor/ckeditor/ckeditor.css"
],
"stylePreprocessorOptions": {
"includePaths": [
"src/assets/sass"
],
"sass": {
"silenceDeprecations": [
"color-functions",
"global-builtin",
"import"
]
}
},
"scripts": [
{
"input": "node_modules/jquery/dist/jquery.min.js",
"inject": false,
"bundleName": "jquery"
},
{
"input": "node_modules/openapi-explorer/dist/browser/openapi-explorer.min.js",
"inject": false,
"bundleName": "openapi-explorer"
}
]
},
"configurations": {
"production": {
"budgets": [
{
"type": "anyComponentStyle",
"maximumWarning": "6kB"
}
],
"preserveSymlinks": true,
"optimization": {
"scripts" : false,
"styles" : true,
"fonts" : true
},
"outputHashing": "all",
"sourceMap": false,
"namedChunks": false,
"extractLicenses": true,
"fileReplacements": [
{
"replace": "src/environments/environment.ts",
"with": "src/environments/environment.prod.ts"
}
],
"define": { "process.env.NODE_ENV": "'production'" }
},
"development": {
"optimization": false,
"extractLicenses": false,
"sourceMap": true,
"define": { "process.env.NODE_ENV": "'development'" }
}
},
"defaultConfiguration": "production"
},
"serve": {
"builder": "@angular-builders/custom-esbuild:dev-server",
"options": {
"servePath": "/assets/frontend"
},
"configurations": {
"production": {
"buildTarget": "OpenProject:build:production"
},
"development": {
"buildTarget": "OpenProject:build:development",
"proxyConfig": "src/proxy.conf.mjs",
"headers": {
"Access-Control-Allow-Origin": "*"
}
}
},
"defaultConfiguration": "development"
},
"extract-i18n": {
"builder": "@angular-devkit/build-angular:extract-i18n",
"options": {
"buildTarget": "OpenProject:build"
}
},
"test": {
"builder": "@angular-devkit/build-angular:karma",
"options": {
"preserveSymlinks": true,
"main": "src/test.ts",
"karmaConfig": "./karma.conf.js",
"tsConfig": "tsconfig.spec.json",
"scripts": [],
"styles": [],
"stylePreprocessorOptions": {
"includePaths": [
"src/assets/sass/"
]
},
"assets": []
}
},
"lint": {
"builder": "@angular-eslint/builder:lint",
"options": {
"lintFilePatterns": [
"src/**/*.ts",
"src/**/*.html"
]
}
}
}
}
},
"schematics": {
"@schematics/angular:component": {
"prefix": "op",
"style": "sass",
"changeDetection": "OnPush",
"skipTests": true,
"flat": true,
"type": "component"
},
"@schematics/angular:directive": {
"prefix": "op",
"skipTests": true,
"type": "directive"
},
"@schematics/angular:service": {
"type": "service"
},
"@schematics/angular:guard": {
"typeSeparator": "."
},
"@schematics/angular:interceptor": {
"typeSeparator": "."
},
"@schematics/angular:module": {
"typeSeparator": "."
},
"@schematics/angular:pipe": {
"typeSeparator": "."
},
"@schematics/angular:resolver": {
"typeSeparator": "."
}
},
"cli": {
"analytics": false,
"cache": {
"environment": "all"
}
}
}