UNPKG

@farris/build-angular

Version:

Angular Webpack Build Facade

408 lines 11.2 kB
{ "title": "Webpack browser schema for Build Facade.", "description": "Browser target options", "properties": { "assets": { "type": "array", "description": "List of static application assets.", "default": [], "items": { "$ref": "#/definitions/assetPattern" } }, "main": { "type": "string", "description": "The name of the main entry-point file." }, "polyfills": { "type": "string", "description": "The name of the polyfills file." }, "entryModules":{ "type":"array", "description": "The path of module to build." }, "reference":{ "type":"array", "description": "The name of referenced lib." }, "tsConfig": { "type": "string", "description": "The name of the TypeScript configuration file." }, "scripts": { "description": "Global scripts to be included in the build.", "type": "array", "default": [], "items": { "$ref": "#/definitions/extraEntryPoint" } }, "styles": { "description": "Global styles to be included in the build.", "type": "array", "default": [], "items": { "$ref": "#/definitions/extraEntryPoint" } }, "stylePreprocessorOptions": { "description": "Options to pass to style preprocessors.", "type": "object", "properties": { "includePaths": { "description": "Paths to include. Paths will be resolved to project root.", "type": "array", "items": { "type": "string" }, "default": [] } }, "additionalProperties": false }, "optimization": { "type": "boolean", "description": "Defines the optimization level of the build.", "default": false }, "fileReplacements": { "description": "Replace files with other files in the build.", "type": "array", "items": { "$ref": "#/definitions/fileReplacement" }, "default": [] }, "outputPath": { "type": "string", "description": "Path where output will be placed." }, "aot": { "type": "boolean", "description": "Build using Ahead of Time compilation.", "default": false }, "sourceMap": { "type": "boolean", "description": "Output sourcemaps.", "default": true }, "vendorSourceMap": { "type": "boolean", "description": "Resolve vendor packages sourcemaps.", "default": false }, "evalSourceMap": { "type": "boolean", "description": "Output in-file eval sourcemaps.", "default": false }, "vendorChunk": { "type": "boolean", "description": "Use a separate bundle containing only vendor libraries.", "default": true }, "commonChunk": { "type": "boolean", "description": "Use a separate bundle containing code used across multiple bundles.", "default": true }, "baseHref": { "type": "string", "description": "Base url for the application being built." }, "deployUrl": { "type": "string", "description": "URL where files will be deployed." }, "verbose": { "type": "boolean", "description": "Adds more details to output logging.", "default": false }, "progress": { "type": "boolean", "description": "Log progress to the console while building.", "default": true }, "i18nFile": { "type": "string", "description": "Localization file to use for i18n." }, "i18nFormat": { "type": "string", "description": "Format of the localization file specified with --i18n-file." }, "i18nLocale": { "type": "string", "description": "Locale to use for i18n." }, "i18nMissingTranslation": { "type": "string", "description": "How to handle missing translations for i18n." }, "extractCss": { "type": "boolean", "description": "Extract css from global styles onto css files instead of js ones.", "default": false }, "watch": { "type": "boolean", "description": "Run build when files change.", "default": false }, "outputHashing": { "type": "string", "description": "Define the output filename cache-busting hashing mode.", "default": "none", "enum": [ "none", "all", "media", "bundles" ] }, "poll": { "type": "number", "description": "Enable and define the file watching poll time period in milliseconds." }, "deleteOutputPath": { "type": "boolean", "description": "Delete the output path before building.", "default": true }, "preserveSymlinks": { "type": "boolean", "description": "Do not use the real path when resolving modules.", "default": false }, "extractLicenses": { "type": "boolean", "description": "Extract all licenses in a separate file, in the case of production builds only.", "default": true }, "showCircularDependencies": { "type": "boolean", "description": "Show circular dependency warnings on builds.", "default": true }, "buildOptimizer": { "type": "boolean", "description": "Enables @angular-devkit/build-optimizer optimizations when using the 'aot' option.", "default": false }, "namedChunks": { "type": "boolean", "description": "Use file name for lazy loaded chunks.", "default": true }, "subresourceIntegrity": { "type": "boolean", "description": "Enables the use of subresource integrity validation.", "default": false }, "serviceWorker": { "type": "boolean", "description": "Generates a service worker config for production builds.", "default": false }, "ngswConfigPath": { "type": "string", "description": "Path to ngsw-config.json." }, "skipAppShell": { "type": "boolean", "description": "Flag to prevent building an app shell.", "default": false }, "index": { "type": "string", "description": "The name of the index HTML file." }, "statsJson": { "type": "boolean", "description": "Generates a 'stats.json' file which can be analyzed using tools such as: #webpack-bundle-analyzer' or https: //webpack.github.io/analyse.", "default": false }, "forkTypeChecker": { "type": "boolean", "description": "Run the TypeScript type checker in a forked process.", "default": true }, "lazyModules": { "description": "List of additional NgModule files that will be lazy loaded. Lazy router modules with be discovered automatically.", "type": "array", "items": { "type": "string" }, "default": [] }, "budgets": { "description": "Budget thresholds to ensure parts of your application stay within boundaries which you set.", "type": "array", "items": { "$ref": "#/definitions/budget" }, "default": [] } }, "additionalProperties": false, "required": [ "outputPath", "index", "main", "tsConfig" ], "definitions": { "assetPattern": { "oneOf": [ { "type": "object", "properties": { "glob": { "type": "string", "description": "The pattern to match." }, "input": { "type": "string", "description": "The input path dir in which to apply 'glob'. Defaults to the project root." }, "output": { "type": "string", "description": "Absolute path within the output." } }, "additionalProperties": false, "required": [ "glob", "input", "output" ] }, { "type": "string" } ] }, "fileReplacement": { "oneOf": [ { "type": "object", "properties": { "src": { "type": "string" }, "replaceWith": { "type": "string" } }, "additionalProperties": false, "required": [ "src", "replaceWith" ] }, { "type": "object", "properties": { "replace": { "type": "string" }, "with": { "type": "string" } }, "additionalProperties": false, "required": [ "replace", "with" ] } ] }, "extraEntryPoint": { "oneOf": [ { "type": "object", "properties": { "input": { "type": "string", "description": "The file to include." }, "bundleName": { "type": "string", "description": "The bundle name for this extra entry point." }, "lazy": { "type": "boolean", "description": "If the bundle will be lazy loaded.", "default": false } }, "additionalProperties": false, "required": [ "input" ] }, { "type": "string", "description": "The file to include." } ] }, "budget": { "type": "object", "properties": { "type": { "type": "string", "description": "The type of budget.", "enum": [ "all", "allScript", "any", "anyScript", "bundle", "initial" ] }, "name": { "type": "string", "description": "The name of the bundle." }, "baseline": { "type": "string", "description": "The baseline size for comparison." }, "maximumWarning": { "type": "string", "description": "The maximum threshold for warning relative to the baseline." }, "maximumError": { "type": "string", "description": "The maximum threshold for error relative to the baseline." }, "minimumWarning": { "type": "string", "description": "The minimum threshold for warning relative to the baseline." }, "minimumError": { "type": "string", "description": "The minimum threshold for error relative to the baseline." }, "warning": { "type": "string", "description": "The threshold for warning relative to the baseline (min & max)." }, "error": { "type": "string", "description": "The threshold for error relative to the baseline (min & max)." } }, "additionalProperties": false, "required": [ "type" ] } } }