From 5bf37f00bdafadde280f55d612d8771921414cfd Mon Sep 17 00:00:00 2001 From: Phillip Barta Date: Fri, 11 Feb 2022 21:14:18 +0100 Subject: [PATCH] fix(web): remove deep import of webpack ProgressPlugin (#8892) --- .../web/src/utils/webpack/partials/common.ts | 21 +++++++++---------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/packages/web/src/utils/webpack/partials/common.ts b/packages/web/src/utils/webpack/partials/common.ts index f24ff48e825a7..c5ce12402b16f 100644 --- a/packages/web/src/utils/webpack/partials/common.ts +++ b/packages/web/src/utils/webpack/partials/common.ts @@ -1,8 +1,13 @@ import * as path from 'path'; import { ScriptTarget } from 'typescript'; -import * as webpack from 'webpack'; -import { Compiler, Configuration } from 'webpack'; - +import { + ProgressPlugin, + ContextReplacementPlugin, + sources, + ids, + Compiler, + Configuration, +} from 'webpack'; import { ScriptsWebpackPlugin } from '../plugins/scripts-webpack-plugin'; import { ExtraEntryPoint, WebpackConfigOptions } from '../../shared-models'; import { BuildBrowserFeatures } from '../build-browser-features'; @@ -11,11 +16,7 @@ import { normalizeExtraEntryPoints } from '../../normalize'; import { findAllNodeModules, findUp } from '../../fs'; import CssMinimizerPlugin = require('css-minimizer-webpack-plugin'); -const ProgressPlugin = require('webpack/lib/ProgressPlugin'); - export function getCommonConfig(wco: WebpackConfigOptions): Configuration { - const { ContextReplacementPlugin } = webpack; - const { root, projectRoot, sourceRoot, buildOptions, tsConfig } = wco; let stylesOptimization: boolean; @@ -158,9 +159,7 @@ export function getCommonConfig(wco: WebpackConfigOptions): Configuration { const data = JSON.stringify( compilation.getStats().toJson('verbose') ); - compilation.assets[`stats.json`] = new webpack.sources.RawSource( - data - ); + compilation.assets[`stats.json`] = new sources.RawSource(data); }); } })() @@ -264,7 +263,7 @@ export function getCommonConfig(wco: WebpackConfigOptions): Configuration { optimization: { emitOnErrors: false, moduleIds: 'deterministic', - minimizer: [new webpack.ids.HashedModuleIdsPlugin(), ...extraMinimizers], + minimizer: [new ids.HashedModuleIdsPlugin(), ...extraMinimizers], }, plugins: [ // Always replace the context for the System.import in angular/core to prevent warnings.