UNPKG

11.6 kBTypeScriptView Raw
1/**
2 * Browser target options
3 */
4export interface Schema {
5 /**
6 * A list of CommonJS packages that are allowed to be used without a build time warning.
7 */
8 allowedCommonJsDependencies?: string[];
9 /**
10 * Build using Ahead of Time compilation.
11 */
12 aot?: boolean;
13 /**
14 * List of static application assets.
15 */
16 assets?: AssetPattern[];
17 /**
18 * Base url for the application being built.
19 */
20 baseHref?: string;
21 /**
22 * Budget thresholds to ensure parts of your application stay within boundaries which you
23 * set.
24 */
25 budgets?: Budget[];
26 /**
27 * Enables '@angular-devkit/build-optimizer' optimizations when using the 'aot' option.
28 */
29 buildOptimizer?: boolean;
30 /**
31 * Generate a seperate bundle containing code used across multiple bundles.
32 */
33 commonChunk?: boolean;
34 /**
35 * Define the crossorigin attribute setting of elements that provide CORS support.
36 */
37 crossOrigin?: CrossOrigin;
38 /**
39 * Delete the output path before building.
40 */
41 deleteOutputPath?: boolean;
42 /**
43 * URL where files will be deployed.
44 */
45 deployUrl?: string;
46 /**
47 * Extract CSS from global styles into '.css' files instead of '.js'.
48 * @deprecated Deprecated since version 11.0. No longer required to disable CSS extraction
49 * for HMR.
50 */
51 extractCss?: boolean;
52 /**
53 * Extract all licenses in a separate file.
54 */
55 extractLicenses?: boolean;
56 /**
57 * Replace compilation source files with other compilation source files in the build.
58 */
59 fileReplacements?: FileReplacement[];
60 /**
61 * How to handle missing translations for i18n.
62 */
63 i18nMissingTranslation?: I18NMissingTranslation;
64 /**
65 * Configures the generation of the application's HTML index.
66 */
67 index: IndexUnion;
68 /**
69 * The stylesheet language to use for the application's inline component styles.
70 */
71 inlineStyleLanguage?: InlineStyleLanguage;
72 /**
73 * Translate the bundles in one or more locales.
74 */
75 localize?: Localize;
76 /**
77 * The full path for the main entry point to the app, relative to the current workspace.
78 */
79 main: string;
80 /**
81 * Use file name for lazy loaded chunks.
82 */
83 namedChunks?: boolean;
84 /**
85 * Path to ngsw-config.json.
86 */
87 ngswConfigPath?: string;
88 /**
89 * Enables optimization of the build output. Including minification of scripts and styles,
90 * tree-shaking, dead-code elimination, inlining of critical CSS and fonts inlining. For
91 * more information, see
92 * https://angular.io/guide/workspace-config#optimization-configuration.
93 */
94 optimization?: OptimizationUnion;
95 /**
96 * Define the output filename cache-busting hashing mode.
97 */
98 outputHashing?: OutputHashing;
99 /**
100 * The full path for the new output directory, relative to the current workspace.
101 *
102 * By default, writes output to a folder named dist/ in the current project.
103 */
104 outputPath: string;
105 /**
106 * Enable and define the file watching poll time period in milliseconds.
107 */
108 poll?: number;
109 /**
110 * The full path for the polyfills file, relative to the current workspace.
111 */
112 polyfills?: string;
113 /**
114 * Do not use the real path when resolving modules. If unset then will default to `true` if
115 * NodeJS option --preserve-symlinks is set.
116 */
117 preserveSymlinks?: boolean;
118 /**
119 * Log progress to the console while building.
120 */
121 progress?: boolean;
122 /**
123 * The path where style resources will be placed, relative to outputPath.
124 */
125 resourcesOutputPath?: string;
126 /**
127 * Global scripts to be included in the build.
128 */
129 scripts?: ExtraEntryPoint[];
130 /**
131 * Generates a service worker config for production builds.
132 */
133 serviceWorker?: boolean;
134 /**
135 * Show circular dependency warnings on builds.
136 * @deprecated The recommended method to detect circular dependencies in project code is to
137 * use either a lint rule or other external tooling.
138 */
139 showCircularDependencies?: boolean;
140 /**
141 * Output source maps for scripts and styles. For more information, see
142 * https://angular.io/guide/workspace-config#source-map-configuration.
143 */
144 sourceMap?: SourceMapUnion;
145 /**
146 * Generates a 'stats.json' file which can be analyzed using tools such as
147 * 'webpack-bundle-analyzer'.
148 */
149 statsJson?: boolean;
150 /**
151 * Options to pass to style preprocessors.
152 */
153 stylePreprocessorOptions?: StylePreprocessorOptions;
154 /**
155 * Global styles to be included in the build.
156 */
157 styles?: ExtraEntryPoint[];
158 /**
159 * Enables the use of subresource integrity validation.
160 */
161 subresourceIntegrity?: boolean;
162 /**
163 * The full path for the TypeScript configuration file, relative to the current workspace.
164 */
165 tsConfig: string;
166 /**
167 * Generate a seperate bundle containing only vendor libraries. This option should only used
168 * for development.
169 */
170 vendorChunk?: boolean;
171 /**
172 * Adds more details to output logging.
173 */
174 verbose?: boolean;
175 /**
176 * Run build when files change.
177 */
178 watch?: boolean;
179 /**
180 * TypeScript configuration for Web Worker modules.
181 */
182 webWorkerTsConfig?: string;
183}
184export declare type AssetPattern = AssetPatternClass | string;
185export interface AssetPatternClass {
186 /**
187 * Allow glob patterns to follow symlink directories. This allows subdirectories of the
188 * symlink to be searched.
189 */
190 followSymlinks?: boolean;
191 /**
192 * The pattern to match.
193 */
194 glob: string;
195 /**
196 * An array of globs to ignore.
197 */
198 ignore?: string[];
199 /**
200 * The input directory path in which to apply 'glob'. Defaults to the project root.
201 */
202 input: string;
203 /**
204 * Absolute path within the output.
205 */
206 output: string;
207}
208export interface Budget {
209 /**
210 * The baseline size for comparison.
211 */
212 baseline?: string;
213 /**
214 * The threshold for error relative to the baseline (min & max).
215 */
216 error?: string;
217 /**
218 * The maximum threshold for error relative to the baseline.
219 */
220 maximumError?: string;
221 /**
222 * The maximum threshold for warning relative to the baseline.
223 */
224 maximumWarning?: string;
225 /**
226 * The minimum threshold for error relative to the baseline.
227 */
228 minimumError?: string;
229 /**
230 * The minimum threshold for warning relative to the baseline.
231 */
232 minimumWarning?: string;
233 /**
234 * The name of the bundle.
235 */
236 name?: string;
237 /**
238 * The type of budget.
239 */
240 type: Type;
241 /**
242 * The threshold for warning relative to the baseline (min & max).
243 */
244 warning?: string;
245}
246/**
247 * The type of budget.
248 */
249export declare enum Type {
250 All = "all",
251 AllScript = "allScript",
252 Any = "any",
253 AnyComponentStyle = "anyComponentStyle",
254 AnyScript = "anyScript",
255 Bundle = "bundle",
256 Initial = "initial"
257}
258/**
259 * Define the crossorigin attribute setting of elements that provide CORS support.
260 */
261export declare enum CrossOrigin {
262 Anonymous = "anonymous",
263 None = "none",
264 UseCredentials = "use-credentials"
265}
266export interface FileReplacement {
267 replace?: string;
268 replaceWith?: string;
269 src?: string;
270 with?: string;
271}
272/**
273 * How to handle missing translations for i18n.
274 */
275export declare enum I18NMissingTranslation {
276 Error = "error",
277 Ignore = "ignore",
278 Warning = "warning"
279}
280/**
281 * Configures the generation of the application's HTML index.
282 */
283export declare type IndexUnion = IndexObject | string;
284export interface IndexObject {
285 /**
286 * The path of a file to use for the application's generated HTML index.
287 */
288 input: string;
289 /**
290 * The output path of the application's generated HTML index file. The full provided path
291 * will be used and will be considered relative to the application's configured output path.
292 */
293 output?: string;
294}
295/**
296 * The stylesheet language to use for the application's inline component styles.
297 */
298export declare enum InlineStyleLanguage {
299 Css = "css",
300 Less = "less",
301 Sass = "sass",
302 Scss = "scss"
303}
304/**
305 * Translate the bundles in one or more locales.
306 */
307export declare type Localize = string[] | boolean;
308/**
309 * Enables optimization of the build output. Including minification of scripts and styles,
310 * tree-shaking, dead-code elimination, inlining of critical CSS and fonts inlining. For
311 * more information, see
312 * https://angular.io/guide/workspace-config#optimization-configuration.
313 */
314export declare type OptimizationUnion = boolean | OptimizationClass;
315export interface OptimizationClass {
316 /**
317 * Enables optimization for fonts. This option requires internet access. `HTTPS_PROXY`
318 * environment variable can be used to specify a proxy server.
319 */
320 fonts?: FontsUnion;
321 /**
322 * Enables optimization of the scripts output.
323 */
324 scripts?: boolean;
325 /**
326 * Enables optimization of the styles output.
327 */
328 styles?: StylesUnion;
329}
330/**
331 * Enables optimization for fonts. This option requires internet access. `HTTPS_PROXY`
332 * environment variable can be used to specify a proxy server.
333 */
334export declare type FontsUnion = boolean | FontsClass;
335export interface FontsClass {
336 /**
337 * Reduce render blocking requests by inlining external Google fonts and icons CSS
338 * definitions in the application's HTML index file. This option requires internet access.
339 * `HTTPS_PROXY` environment variable can be used to specify a proxy server.
340 */
341 inline?: boolean;
342}
343/**
344 * Enables optimization of the styles output.
345 */
346export declare type StylesUnion = boolean | StylesClass;
347export interface StylesClass {
348 /**
349 * Extract and inline critical CSS definitions to improve first paint time.
350 */
351 inlineCritical?: boolean;
352 /**
353 * Minify CSS definitions by removing extraneous whitespace and comments, merging
354 * identifiers and minimizing values.
355 */
356 minify?: boolean;
357}
358/**
359 * Define the output filename cache-busting hashing mode.
360 */
361export declare enum OutputHashing {
362 All = "all",
363 Bundles = "bundles",
364 Media = "media",
365 None = "none"
366}
367export declare type ExtraEntryPoint = ExtraEntryPointClass | string;
368export interface ExtraEntryPointClass {
369 /**
370 * The bundle name for this extra entry point.
371 */
372 bundleName?: string;
373 /**
374 * If the bundle will be referenced in the HTML file.
375 */
376 inject?: boolean;
377 /**
378 * The file to include.
379 */
380 input: string;
381}
382/**
383 * Output source maps for scripts and styles. For more information, see
384 * https://angular.io/guide/workspace-config#source-map-configuration.
385 */
386export declare type SourceMapUnion = boolean | SourceMapClass;
387export interface SourceMapClass {
388 /**
389 * Output source maps used for error reporting tools.
390 */
391 hidden?: boolean;
392 /**
393 * Output source maps for all scripts.
394 */
395 scripts?: boolean;
396 /**
397 * Output source maps for all styles.
398 */
399 styles?: boolean;
400 /**
401 * Resolve vendor packages source maps.
402 */
403 vendor?: boolean;
404}
405/**
406 * Options to pass to style preprocessors.
407 */
408export interface StylePreprocessorOptions {
409 /**
410 * Paths to include. Paths will be resolved to workspace root.
411 */
412 includePaths?: string[];
413}