{
    "$comment": "Please run `npm run build-config-interface` after changing this file. Thanks!",
    "additionalProperties": false,
    "properties": {
        "addons": {
            "description": "Configuration reserved for installed third party addons.",
            "items": {
                "additionalProperties": true,
                "properties": {},
                "type": "object"
            },
            "type": "array"
        },
        "apps": {
            "additionalProperties": false,
            "description": "Properties of the different applications in this project.",
            "items": {
                "additionalProperties": false,
                "properties": {
                    "assets": {
                        "default": [],
                        "oneOf": [
                            {
                                "type": "string"
                            },
                            {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array"
                            }
                        ]
                    },
                    "deployUrl": {
                        "type": "string"
                    },
                    "environments": {
                        "additionalProperties": true,
                        "description": "Name and corresponding file for environment config.",
                        "type": "object"
                    },
                    "index": {
                        "default": "index.html",
                        "type": "string"
                    },
                    "main": {
                        "type": "string"
                    },
                    "mobile": {
                        "default": false,
                        "type": "boolean"
                    },
                    "outDir": {
                        "default": "dist/",
                        "type": "string"
                    },
                    "polyfills": {
                        "type": "string"
                    },
                    "prefix": {
                        "type": "string"
                    },
                    "root": {
                        "type": "string"
                    },
                    "scripts": {
                        "additionalProperties": false,
                        "description": "Global scripts to be included in the build.",
                        "items": {
                            "oneOf": [
                                {
                                    "type": "string"
                                },
                                {
                                    "additionalProperties": true,
                                    "properties": {
                                        "input": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "input"
                                    ],
                                    "type": "object"
                                }
                            ]
                        },
                        "type": "array"
                    },
                    "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"
                    },
                    "styles": {
                        "additionalProperties": false,
                        "description": "Global styles to be included in the build.",
                        "items": {
                            "oneOf": [
                                {
                                    "type": "string"
                                },
                                {
                                    "additionalProperties": true,
                                    "properties": {
                                        "input": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            ]
                        },
                        "type": "array"
                    },
                    "test": {
                        "type": "string"
                    },
                    "tsconfig": {
                        "default": "tsconfig.json",
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "type": "array"
        },
        "defaults": {
            "additionalProperties": false,
            "properties": {
                "changeDetection": {
                    "type": "string"
                },
                "inline": {
                    "properties": {
                        "style": {
                            "default": false,
                            "type": "boolean"
                        },
                        "template": {
                            "default": false,
                            "type": "boolean"
                        }
                    },
                    "type": "object"
                },
                "poll": {
                    "type": "number"
                },
                "prefixInterfaces": {
                    "type": "boolean"
                },
                "serve": {
                    "description": "Properties to be passed to the serve command",
                    "properties": {
                        "host": {
                            "default": "localhost",
                            "description": "The host the application will be served on",
                            "type": "string"
                        },
                        "port": {
                            "default": 4200,
                            "description": "The port the application will be served on",
                            "type": "number"
                        }
                    },
                    "type": "object"
                },
                "spec": {
                    "properties": {
                        "class": {
                            "default": false,
                            "type": "boolean"
                        },
                        "component": {
                            "default": true,
                            "type": "boolean"
                        },
                        "directive": {
                            "default": true,
                            "type": "boolean"
                        },
                        "module": {
                            "default": false,
                            "type": "boolean"
                        },
                        "pipe": {
                            "default": true,
                            "type": "boolean"
                        },
                        "service": {
                            "default": true,
                            "type": "boolean"
                        }
                    },
                    "type": "object"
                },
                "styleExt": {
                    "type": "string"
                },
                "viewEncapsulation": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "e2e": {
            "additionalProperties": false,
            "properties": {
                "protractor": {
                    "additionalProperties": false,
                    "properties": {
                        "config": {
                            "type": "string"
                        }
                    },
                    "type": "object"
                }
            },
            "type": "object"
        },
        "lint": {
            "description": "Properties to be passed to TSLint.",
            "items": {
                "additionalProperties": false,
                "properties": {
                    "files": {
                        "type": "string"
                    },
                    "project": {
                        "type": "string"
                    },
                    "tslintConfig": {
                        "default": "tslint.json",
                        "type": "string"
                    }
                },
                "required": [
                    "files",
                    "project"
                ],
                "type": "object"
            },
            "type": "array"
        },
        "packages": {
            "description": "Configuration reserved for installed third party packages.",
            "items": {
                "additionalProperties": true,
                "properties": {},
                "type": "object"
            },
            "type": "array"
        },
        "project": {
            "additionalProperties": false,
            "description": "The global configuration of the project.",
            "properties": {
                "name": {
                    "type": "string"
                },
                "version": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "test": {
            "additionalProperties": false,
            "properties": {
                "karma": {
                    "additionalProperties": false,
                    "properties": {
                        "config": {
                            "type": "string"
                        }
                    },
                    "type": "object"
                }
            },
            "type": "object"
        },
        "warnings": {
            "description": "Allow people to disable console warnings.",
            "properties": {
                "nodeDeprecation": {
                    "default": true,
                    "description": "Show a warning when the node version is incompatible.",
                    "type": "boolean"
                },
                "packageDeprecation": {
                    "default": true,
                    "description": "Show a warning when the user installed angular-cli.",
                    "type": "boolean"
                },
                "versionMismatch": {
                    "default": true,
                    "description": "Show a warning when the global version is newer than the local one.",
                    "type": "boolean"
                }
            },
            "type": "object"
        }
    },
    "title": "Angular CLI Config Schema",
    "type": "object"
}