{
    "additionalProperties": false,
    "definitions": {
        "fileReplacement": {
            "oneOf": [
                {
                    "additionalProperties": false,
                    "properties": {
                        "replaceWith": {
                            "type": "string"
                        },
                        "src": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "src",
                        "replaceWith"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "replace": {
                            "type": "string"
                        },
                        "with": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "replace",
                        "with"
                    ],
                    "type": "object"
                }
            ]
        }
    },
    "properties": {
        "bundleDependencies": {
            "default": "none",
            "description": "Available on server platform only. Which external dependencies to bundle into the module. By default, all of node_modules will be kept as requires.",
            "enum": [
                "none",
                "all"
            ],
            "type": "string"
        },
        "commonChunk": {
            "default": true,
            "description": "Use a separate bundle containing code used across multiple bundles.",
            "type": "boolean"
        },
        "deleteOutputPath": {
            "default": true,
            "description": "delete-output-path",
            "type": "boolean"
        },
        "evalSourceMap": {
            "default": false,
            "description": "Output in-file eval sourcemaps.",
            "type": "boolean"
        },
        "extractLicenses": {
            "default": true,
            "description": "Extract all licenses in a separate file, in the case of production builds only.",
            "type": "boolean"
        },
        "fileReplacements": {
            "default": [],
            "description": "Replace files with other files in the build.",
            "items": {
                "$ref": "#/definitions/fileReplacement"
            },
            "type": "array"
        },
        "forkTypeChecker": {
            "default": true,
            "description": "Run the TypeScript type checker in a forked process.",
            "type": "boolean"
        },
        "i18nFile": {
            "description": "Localization file to use for i18n.",
            "type": "string"
        },
        "i18nFormat": {
            "description": "Format of the localization file specified with --i18n-file.",
            "type": "string"
        },
        "i18nLocale": {
            "description": "Locale to use for i18n.",
            "type": "string"
        },
        "i18nMissingTranslation": {
            "description": "How to handle missing translations for i18n.",
            "type": "string"
        },
        "lazyModules": {
            "default": [],
            "description": "List of additional NgModule files that will be lazy loaded. Lazy router modules with be discovered automatically.",
            "items": {
                "type": "string"
            },
            "type": "array"
        },
        "main": {
            "description": "The name of the main entry-point file.",
            "type": "string"
        },
        "namedChunks": {
            "default": true,
            "description": "Use file name for lazy loaded chunks.",
            "type": "boolean"
        },
        "optimization": {
            "default": false,
            "description": "Defines the optimization level of the build.",
            "type": "boolean"
        },
        "outputHashing": {
            "default": "none",
            "description": "Define the output filename cache-busting hashing mode.",
            "enum": [
                "none",
                "all",
                "media",
                "bundles"
            ],
            "type": "string"
        },
        "outputPath": {
            "description": "Path where output will be placed.",
            "type": "string"
        },
        "poll": {
            "description": "Enable and define the file watching poll time period in milliseconds.",
            "type": "number"
        },
        "preserveSymlinks": {
            "default": false,
            "description": "Do not use the real path when resolving modules.",
            "type": "boolean"
        },
        "progress": {
            "default": true,
            "description": "Log progress to the console while building.",
            "type": "boolean"
        },
        "showCircularDependencies": {
            "default": true,
            "description": "Show circular dependency warnings on builds.",
            "type": "boolean"
        },
        "sourceMap": {
            "default": true,
            "description": "Output sourcemaps.",
            "type": "boolean"
        },
        "statsJson": {
            "default": false,
            "description": "Generates a 'stats.json' file which can be analyzed using tools such as: #webpack-bundle-analyzer' or https: //webpack.github.io/analyse.",
            "type": "boolean"
        },
        "stylePreprocessorOptions": {
            "additionalProperties": false,
            "description": "Options to pass to style preprocessors",
            "properties": {
                "includePaths": {
                    "default": [],
                    "description": "Paths to include. Paths will be resolved to project root.",
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "tsConfig": {
            "default": "tsconfig.app.json",
            "description": "The name of the TypeScript configuration file.",
            "type": "string"
        },
        "vendorChunk": {
            "default": true,
            "description": "Use a separate bundle containing only vendor libraries.",
            "type": "boolean"
        },
        "vendorSourceMap": {
            "default": false,
            "description": "Resolve vendor packages sourcemaps.",
            "type": "boolean"
        },
        "verbose": {
            "default": false,
            "description": "Adds more details to output logging.",
            "type": "boolean"
        },
        "watch": {
            "default": false,
            "description": "Run build when files change.",
            "type": "boolean"
        }
    },
    "required": [
        "outputPath",
        "main",
        "tsConfig"
    ],
    "title": "Angular Webpack Architect Builder Schema"
}