diff --git a/packages/@angular/cli/lib/config/schema.json b/packages/@angular/cli/lib/config/schema.json index 3ba988cb8f08..658f4d2c1b01 100644 --- a/packages/@angular/cli/lib/config/schema.json +++ b/packages/@angular/cli/lib/config/schema.json @@ -501,6 +501,11 @@ "namedChunks": { "description": "Use file name for lazy loaded chunks.", "type": "boolean" + }, + "includeNodeGlobal": { + "description": "Include node global for browser applications.", + "type": "boolean", + "default": false } } }, diff --git a/packages/@angular/cli/models/build-options.ts b/packages/@angular/cli/models/build-options.ts index ff605bb56dc0..224b98d4fd8f 100644 --- a/packages/@angular/cli/models/build-options.ts +++ b/packages/@angular/cli/models/build-options.ts @@ -29,6 +29,7 @@ export interface BuildOptions { showCircularDependencies?: boolean; buildOptimizer?: boolean; namedChunks?: boolean; + includeNodeGlobal?: boolean; subresourceIntegrity?: boolean; forceTsCommonjs?: boolean; } diff --git a/packages/@angular/cli/models/webpack-configs/browser.ts b/packages/@angular/cli/models/webpack-configs/browser.ts index 5be79694ac31..0d8aed555125 100644 --- a/packages/@angular/cli/models/webpack-configs/browser.ts +++ b/packages/@angular/cli/models/webpack-configs/browser.ts @@ -116,7 +116,7 @@ export function getBrowserConfig(wco: WebpackConfigOptions) { ].concat(extraPlugins), node: { fs: 'empty', - global: false, + global: !!buildOptions.includeNodeGlobal, crypto: 'empty', tls: 'empty', net: 'empty',