{ "$schema": "./node_modules/@angular/cli/lib/config/schema.json", "version": 1, "newProjectRoot": "projects", "projects": { "osf": { "projectType": "application", "schematics": { "@schematics/angular:component": { "style": "scss", "changeDetection": "OnPush" } }, "root": "", "sourceRoot": "src", "prefix": "osf", "architect": { "build": { "builder": "@angular/build:application", "options": { "outputPath": "dist/osf", "index": "src/index.html", "browser": "src/main.ts", "tsConfig": "tsconfig.app.json", "inlineStyleLanguage": "scss", "allowedCommonJsDependencies": [ "qrcode", "cedar-embeddable-editor", "cedar-artifact-viewer", "markdown-it-video", "markdown-it-anchor", "markdown-it-toc-done-right", "ace-builds/src-noconflict/ext-language_tools", "@traptitech/markdown-it-katex", "@centerforopenscience/markdown-it-atrules", "@citation-js/core", "@citation-js/plugin-csl" ], "assets": [ "src/favicon.ico", "src/assets", { "glob": "**/*", "input": "public" }, { "glob": "**/*", "input": "node_modules/ace-builds/src-min", "output": "./assets/ace-builds/" } ], "styles": [ "src/styles/styles.scss", "node_modules/primeflex/primeflex.css", "node_modules/@fortawesome/fontawesome-free/css/all.min.css", "node_modules/ngx-markdown-editor/assets/highlight.js/agate.min.css" ], "stylePreprocessorOptions": { "includePaths": ["src"] }, "scripts": [ "node_modules/ngx-markdown-editor/assets/highlight.js/highlight.min.js", "node_modules/ngx-markdown-editor/assets/marked.min.js", "src/assets/js/ace/snippetsMarkdown.js" ], "server": "src/main.server.ts", "outputMode": "server", "ssr": { "entry": "src/server.ts" }, "security": { "allowedHosts": ["localhost", "127.0.0.1", "10.*", "*.osf.io", "osf.io"] } }, "configurations": { "production": { "outputMode": "static", "server": false, "ssr": false, "budgets": [ { "type": "initial", "maximumWarning": "9MB", "maximumError": "10MB" }, { "type": "anyComponentStyle", "maximumWarning": "20KB", "maximumError": "25kB" } ], "outputHashing": "all", "optimization": true }, "ssr": { "outputMode": "server", "server": "src/main.server.ts", "ssr": { "entry": "src/server.ts" }, "sourceMap": true, "budgets": [ { "type": "initial", "maximumWarning": "9MB", "maximumError": "10MB" }, { "type": "anyComponentStyle", "maximumWarning": "20KB", "maximumError": "25kB" } ], "outputHashing": "all", "optimization": true }, "analyze-bundle": { "sourceMap": true, "outputHashing": "none", "namedChunks": true }, "development": { "outputMode": "static", "server": false, "ssr": false, "optimization": false, "extractLicenses": false, "sourceMap": true, "fileReplacements": [ { "replace": "src/environments/environment.ts", "with": "src/environments/environment.development.ts" } ] }, "dev-ssr": { "optimization": false, "extractLicenses": false, "sourceMap": true, "fileReplacements": [ { "replace": "src/environments/environment.ts", "with": "src/environments/environment.development.ts" } ] }, "docker": { "optimization": false, "extractLicenses": false, "sourceMap": true, "fileReplacements": [ { "replace": "src/environments/environment.ts", "with": "src/environments/environment.docker.ts" } ] }, "staging": { "optimization": true, "extractLicenses": false, "sourceMap": false, "fileReplacements": [ { "replace": "src/environments/environment.ts", "with": "src/environments/environment.staging.ts" } ] } }, "defaultConfiguration": "production" }, "serve": { "builder": "@angular/build:dev-server", "options": { "hmr": false }, "configurations": { "production": { "buildTarget": "osf:build:production" }, "development": { "buildTarget": "osf:build:development" }, "dev-ssr": { "buildTarget": "osf:build:dev-ssr" }, "docker": { "buildTarget": "osf:build:docker" }, "staging": { "buildTarget": "osf:build:staging" }, "test": { "buildTarget": "osf:build:test" }, "test-osf": { "buildTarget": "osf:build:test-osf" } }, "defaultConfiguration": "development" }, "test": { "builder": "@angular/build:unit-test", "options": { "runnerConfig": "vitest.config.ts", "coverageInclude": ["src/app/**/*.ts"], "coverageExclude": [ "src/main.ts", "src/app/app.{config,routes}.ts", "**/theme/*.ts", "**/*.{routes,server}.ts", "**/index.ts", "**/mappers/**", "**/constants/**", "**/*.{enum,model,type,interface}.ts" ] } }, "lint": { "builder": "@angular-eslint/builder:lint", "options": { "lintFilePatterns": ["src/**/*.ts", "src/**/*.html"] } } } } }, "cli": { "schematicCollections": ["angular-eslint"], "analytics": false } }