diff --git a/packages/webpack5/package.json b/packages/webpack5/package.json index 488dfcac7..093e57b50 100644 --- a/packages/webpack5/package.json +++ b/packages/webpack5/package.json @@ -22,8 +22,8 @@ "css-loader": "^5.0.1", "loader-utils": "^2.0.0", "react-refresh": "^0.9.0", - "scss": "^0.2.4", - "scss-loader": "^0.0.1", + "sass": "^1.29.0", + "sass-loader": "^10.1.0", "source-map": "^0.7.3", "terser-webpack-plugin": "^5.0.3", "ts-dedent": "^2.0.0", diff --git a/packages/webpack5/src/configuration/base.ts b/packages/webpack5/src/configuration/base.ts index bea1657e6..42041bd02 100644 --- a/packages/webpack5/src/configuration/base.ts +++ b/packages/webpack5/src/configuration/base.ts @@ -165,8 +165,8 @@ export default function (config: Config, env: IWebpackEnv): Config { .use('css2json-loader') .loader('css2json-loader') .end() - .use('scss-loader') - .loader('scss-loader'); + .use('sass-loader') + .loader('sass-loader'); // items to clean config.plugin('CleanWebpackPlugin').use(CleanWebpackPlugin, [ diff --git a/packages/webpack5/src/plugins/WatchStatePlugin.ts b/packages/webpack5/src/plugins/WatchStatePlugin.ts index 30df67e26..f6fb2d24a 100644 --- a/packages/webpack5/src/plugins/WatchStatePlugin.ts +++ b/packages/webpack5/src/plugins/WatchStatePlugin.ts @@ -1,4 +1,4 @@ -const id = 'WatchStateLoggerPlugin'; +const id = 'WatchStatePlugin'; const version = 1; export enum messages { @@ -14,7 +14,7 @@ export enum messages { export class WatchStatePlugin { isRunningWatching: boolean; - apply(compiler) { + apply(compiler: any) { let isWatchMode = false; let prevAssets = []; @@ -32,6 +32,7 @@ export class WatchStatePlugin { isWatchMode ? messages.startWatching : messages.compilationComplete ); + // logic taken from CleanWebpackPlugin const assets = compilation.getStats().toJson( { @@ -40,6 +41,7 @@ export class WatchStatePlugin { true ).assets || []; const assetList = assets.map((asset) => asset.name); + const emittedAssets = Array.from(compilation.emittedAssets); const staleAssets = prevAssets.filter((asset) => { return assetList.includes(asset) === false;