{
  "$schema": "cmf-component/schema.json",
  "version": 1,
  "newProjectRoot": "projects",
  "projects": {
    "cmf-angular": {
      "projectType": "application",
      "schematics": {
        "@schematics/angular:component": {
          "style": "scss"
        },
        "cmf-component:form": {
          "style": "scss"
        }
      },
      "root": "",
      "sourceRoot": "modules",
      "prefix": "cmf",
      "architect": {
        "build": {
          "builder": "@angular-devkit/build-angular:browser",
          "options": {
            "outputPath": "dist/cmf-angular",
            "index": "modules/app/index.html",
            "main": "modules/app/main.ts",
            "polyfills": "modules/app/polyfills.ts",
            "tsConfig": "tsconfig.app.json",
            "preserveSymlinks": true,
            "aot": false,
            "stylePreprocessorOptions": {
              "includePaths": ["modules/app/theme/"]
            },
            "allowedCommonJsDependencies": [
              "@sindresorhus/slugify",
              "antlr4ts",
              "lodash/escapeRegExp",
              "lodash/throttle",
              "antlr4ts/atn/ParserATNSimulator",
              "antlr4ts/atn/LexerATNSimulator",
              "antlr4ts/atn/ATNDeserializer",
              "pdfjs-dist/legacy/web/pdf_viewer",
              "konva/lib/Group",
              "konva/lib/Layer",
              "konva/lib/Stage",
              "konva/lib/shapes/Line",
              "konva/lib/shapes/Rect"
            ],
            "assets": [
              {
                "glob": "pdf.worker.min.js",
                "input": "modules/app/assets/",
                "output": "/pdf/"
              },
              {
                "glob": "**/*",
                "input": "custom/assets",
                "output": "/app/assets/"
              },
              "modules/app/assets",
              {
                "glob": "**/*",
                "input": "node_modules/monaco-editor",
                "output": "/assets/monaco/"
              },
              {
                "glob": "tiny_prism.css",
                "input": "modules/app/",
                "output": "/tinymce/"
              },
              {
                "glob": "tiny_styles.css",
                "input": "modules/app",
                "output": "/tinymce/"
              },
              {
                "glob": "**/*",
                "input": "common/angular/cmf-ui/cmf-editors/assets/tinymce",
                "output": "/tinymce/"
              },
              {
                "glob": "variables.css",
                "input": "modules/app/",
                "output": "/tinymce/"
              },
              {
                "glob": "**/*",
                "input": "node_modules/tinymce",
                "output": "/tinymce/"
              },
              {
                "glob": "editor.css",
                "input": "common/angular/cmf-ui/cmf-editors",
                "output": "/tinymce/"
              },
              {
                "glob": "**/*.css",
                "input": "common/angular/cmf-ui/cmf-editors/cmf-wiki-modules",
                "output": "/tinymce/"
              },
              {
                "glob": "**/*",
                "input": "node_modules/@taiga-ui/icons/src",
                "output": "assets/taiga-ui/icons"
              },
              {
                "glob": "**/*",
                "input": "common/angular/cmf-ui/cmf-editors/assets/tinymce/plugins/lists/",
                "output": "/tinymce/plugins/lists"
              },
              "modules/cmf-service-worker.js"
            ],
            "styles": [
              "modules/app/theme.scss",
              "modules/app/styles.scss",
              "node_modules/@danielmoncada/angular-datetime-picker/assets/style/picker.min.css",
              "node_modules/@taiga-ui/core/styles/taiga-ui-theme.less",
              "node_modules/@taiga-ui/core/styles/taiga-ui-fonts.less",
              "node_modules/prismjs/themes/prism.css",
              "node_modules/prismjs/plugins/line-numbers/prism-line-numbers.css",
              "node_modules/diff2html/bundles/css/diff2html.min.css",
              "node_modules/highlight.js/styles/github.min.css"
            ],
            "scripts": [],
            "vendorChunk": true,
            "extractLicenses": false,
            "buildOptimizer": false,
            "sourceMap": true,
            "optimization": false,
            "namedChunks": true,
            "webWorkerTsConfig": "tsconfig.worker.json"
          },
          "configurations": {
            "production": {
              "fileReplacements": [
                {
                  "replace": "modules/app/environments/environment.ts",
                  "with": "modules/app/environments/environment.prod.ts"
                }
              ],
              "optimization": true,
              "outputHashing": "all",
              "sourceMap": false,
              "namedChunks": false,
              "aot": true,
              "extractLicenses": true,
              "vendorChunk": false,
              "buildOptimizer": true,
              "budgets": [
                {
                  "type": "initial",
                  "maximumWarning": "2mb",
                  "maximumError": "27mb"
                },
                {
                  "type": "anyComponentStyle",
                  "maximumWarning": "6kb",
                  "maximumError": "5mb"
                }
              ],
              "serviceWorker": true,
              "ngswConfigPath": "ngsw-config.json"
            },
            "production-erp": {
              "fileReplacements": [
                {
                  "replace": "modules/app/environments/environment.ts",
                  "with": "modules/app/environments/environment.prod-erp.ts"
                }
              ],
              "optimization": true,
              "outputHashing": "all",
              "sourceMap": false,
              "namedChunks": false,
              "aot": true,
              "extractLicenses": true,
              "vendorChunk": false,
              "buildOptimizer": true,
              "budgets": [
                {
                  "type": "initial",
                  "maximumWarning": "2mb",
                  "maximumError": "15mb"
                },
                {
                  "type": "anyComponentStyle",
                  "maximumWarning": "6kb",
                  "maximumError": "5mb"
                }
              ],
              "serviceWorker": true,
              "ngswConfigPath": "ngsw-config.json"
            },
            "staging": {
              "fileReplacements": [
                {
                  "replace": "modules/app/environments/environment.ts",
                  "with": "modules/app/environments/environment.staging.ts"
                }
              ],
              "optimization": true,
              "outputHashing": "all",
              "sourceMap": false,
              "namedChunks": false,
              "aot": true,
              "extractLicenses": true,
              "vendorChunk": false,
              "buildOptimizer": true,
              "budgets": [
                {
                  "type": "initial",
                  "maximumWarning": "2mb",
                  "maximumError": "27mb"
                },
                {
                  "type": "anyComponentStyle",
                  "maximumWarning": "6kb",
                  "maximumError": "5mb"
                }
              ]
            },
            "scissors": {
              "fileReplacements": [
                {
                  "replace": "modules/app/environments/environment.ts",
                  "with": "modules/app/environments/environment.staging.ts"
                }
              ],
              "optimization": true,
              "outputHashing": "all",
              "sourceMap": false,
              "namedChunks": false,
              "aot": true,
              "extractLicenses": true,
              "vendorChunk": true,
              "buildOptimizer": false,
              "budgets": [
                {
                  "type": "initial",
                  "maximumWarning": "2mb",
                  "maximumError": "27mb"
                },
                {
                  "type": "anyComponentStyle",
                  "maximumWarning": "6kb",
                  "maximumError": "5mb"
                }
              ]
            },
            "custom": {
              "fileReplacements": [
                {
                  "replace": "modules/app/environments/environment.ts",
                  "with": "custom/environment.ts"
                }
              ]
            },
            "development": {}
          },
          "defaultConfiguration": "production"
        },
        "serve": {
          "builder": "@angular-devkit/build-angular:dev-server",
          "options": {
            "proxyConfig": "./proxy.conf.json"
          },
          "configurations": {
            "production": {
              "browserTarget": "cmf-angular:build:production"
            },
            "custom": {
              "browserTarget": "cmf-angular:build:custom"
            },
            "development": {
              "browserTarget": "cmf-angular:build:development"
            }
          },
          "defaultConfiguration": "development"
        },
        "extract-i18n": {
          "builder": "@angular-devkit/build-angular:extract-i18n",
          "options": {
            "browserTarget": "cmf-angular:build"
          }
        },
        "test": {
          "builder": "@angular-devkit/build-angular:jest",
          "options": {
            "main": "modules/app/test.ts",
            "polyfills": ["zone.js", "zone.js/testing"],
            "tsConfig": "tsconfig.spec.json",
            "preserveSymlinks": true,
            "assets": ["modules/app/favicon.ico", "modules/app/assets", "modules/manifest.webmanifest"],
            "styles": ["modules/app/theme.scss", "modules/app/styles.scss"],
            "scripts": []
          }
        },
        "lint": {
          "builder": "@angular-eslint/builder:lint",
          "options": {
            "eslintConfig": ".eslintrc.json",
            "lintFilePatterns": [
              "modules/**/*.ts",
              "modules/**/*.html",
              "modules/**/*.scss",
              "common/angular/**/*.ts",
              "common/angular/**/*.html",
              "common/angular/**/*.scss",
              "modules/api/angular/**/*.ts",
              "modules/api/angular/**/*.html",
              "modules/api/angular/**/*.scss"
            ]
          }
        },
        "e2e": {
          "builder": "@cypress/schematic:cypress",
          "options": {
            "devServerTarget": "cmf-angular:serve",
            "watch": true,
            "headless": false
          },
          "configurations": {
            "production": {
              "devServerTarget": "cmf-angular:serve:production"
            }
          }
        },
        "cypress-run": {
          "builder": "@cypress/schematic:cypress",
          "options": {
            "devServerTarget": "cmf-angular:serve"
          },
          "configurations": {
            "production": {
              "devServerTarget": "cmf-angular:serve:production"
            }
          }
        },
        "cypress-open": {
          "builder": "@cypress/schematic:cypress",
          "options": {
            "watch": true,
            "headless": false
          }
        }
      }
    }
  },
  "cli": {
    "analytics": false,
    "schematicCollections": ["@angular-eslint/schematics", "cmf-component"]
  },
  "schematics": {
    "@angular-eslint/schematics:application": {
      "setParserOptionsProject": true
    },
    "@angular-eslint/schematics:library": {
      "setParserOptionsProject": true
    }
  }
}
