{
    "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": true,
            "description": "Which external dependencies to bundle into the bundle. By default, all of node_modules will be bundled.",
            "oneOf": [
                {
                    "type": "boolean"
                },
                {
                    "enum": [
                        "none",
                        "all"
                    ],
                    "type": "string"
                }
            ]
        },
        "commonChunk": {
            "default": true,
            "description": "Use a separate bundle containing code used across multiple bundles.",
            "type": "boolean",
            "x-deprecated": "Since version 9. This option has no effect on server platform."
        },
        "deleteOutputPath": {
            "default": true,
            "description": "Delete the output path before building.",
            "type": "boolean"
        },
        "deployUrl": {
            "description": "URL where files will be deployed.",
            "type": "string"
        },
        "evalSourceMap": {
            "default": false,
            "description": "Output in-file eval sourcemaps.",
            "type": "boolean",
            "x-deprecated": true
        },
        "externalDependencies": {
            "default": [],
            "description": "Exclude the listed external dependencies from being bundled into the bundle. Instead, the created bundle relies on these dependencies to be available during runtime.",
            "items": {
                "type": "string"
            },
            "type": "array"
        },
        "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",
            "x-deprecated": "Use 'locales' object in the project metadata instead."
        },
        "i18nFormat": {
            "description": "Format of the localization file specified with --i18n-file.",
            "type": "string",
            "x-deprecated": "No longer needed as the format will be determined automatically."
        },
        "i18nLocale": {
            "description": "Locale to use for i18n.",
            "type": "string",
            "x-deprecated": "Use 'localize' instead."
        },
        "i18nMissingTranslation": {
            "default": "warning",
            "description": "How to handle missing translations for i18n.",
            "enum": [
                "warning",
                "error",
                "ignore"
            ],
            "type": "string"
        },
        "lazyModules": {
            "default": [],
            "description": "List of additional NgModule files that will be lazy loaded. Lazy router modules will be discovered automatically.",
            "items": {
                "type": "string"
            },
            "type": "array",
            "x-deprecated": "'SystemJsNgModuleLoader' is deprecated, and this is part of its usage. Use 'import()' syntax instead."
        },
        "localize": {
            "oneOf": [
                {
                    "description": "Translate all locales.",
                    "type": "boolean"
                },
                {
                    "description": "List of locales ID's to translate.",
                    "items": {
                        "pattern": "^[a-zA-Z]{2,3}(-[a-zA-Z]{4})?(-([a-zA-Z]{2}|[0-9]{3}))?(-[a-zA-Z]{5,8})?(-x(-[a-zA-Z0-9]{1,8})+)?$",
                        "type": "string"
                    },
                    "minItems": 1,
                    "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",
            "x-deprecated": "Since version 9. This option has no effect on server platform."
        },
        "optimization": {
            "description": "Enables optimization of the build output.",
            "oneOf": [
                {
                    "additionalProperties": false,
                    "properties": {
                        "scripts": {
                            "default": true,
                            "description": "Enables optimization of the scripts output.",
                            "type": "boolean"
                        },
                        "styles": {
                            "default": true,
                            "description": "Enables optimization of the styles output.",
                            "type": "boolean"
                        }
                    },
                    "type": "object"
                },
                {
                    "type": "boolean"
                }
            ],
            "x-user-analytics": 16
        },
        "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": {
            "description": "Log progress to the console while building.",
            "type": "boolean"
        },
        "resourcesOutputPath": {
            "default": "",
            "description": "The path where style resources will be placed, relative to outputPath.",
            "type": "string"
        },
        "showCircularDependencies": {
            "default": true,
            "description": "Show circular dependency warnings on builds.",
            "type": "boolean"
        },
        "sourceMap": {
            "default": true,
            "description": "Output sourcemaps.",
            "oneOf": [
                {
                    "additionalProperties": false,
                    "properties": {
                        "hidden": {
                            "default": false,
                            "description": "Output sourcemaps used for error reporting tools.",
                            "type": "boolean"
                        },
                        "scripts": {
                            "default": true,
                            "description": "Output sourcemaps for all scripts.",
                            "type": "boolean"
                        },
                        "styles": {
                            "default": true,
                            "description": "Output sourcemaps for all styles.",
                            "type": "boolean"
                        },
                        "vendor": {
                            "default": false,
                            "description": "Resolve vendor packages sourcemaps.",
                            "type": "boolean"
                        }
                    },
                    "type": "object"
                },
                {
                    "type": "boolean"
                }
            ]
        },
        "statsJson": {
            "default": false,
            "description": "Generates a 'stats.json' file which can be analyzed using tools such as 'webpack-bundle-analyzer'.",
            "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",
            "x-deprecated": "Since version 9. This option has no effect on server platform."
        },
        "vendorSourceMap": {
            "default": false,
            "description": "Resolve vendor packages sourcemaps.",
            "type": "boolean",
            "x-deprecated": true
        },
        "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": "Universal Target",
    "type": "object"
}