diff --git a/.changeset/seven-lions-cough.md b/.changeset/seven-lions-cough.md new file mode 100644 index 000000000..c98acc631 --- /dev/null +++ b/.changeset/seven-lions-cough.md @@ -0,0 +1,5 @@ +--- +'preact-cli': patch +--- + +Fixing legacy SW generation while ESM is enabled diff --git a/packages/cli/lib/lib/webpack/webpack-client-config.js b/packages/cli/lib/lib/webpack/webpack-client-config.js index ae472f653..803b2fc61 100644 --- a/packages/cli/lib/lib/webpack/webpack-client-config.js +++ b/packages/cli/lib/lib/webpack/webpack-client-config.js @@ -46,36 +46,34 @@ async function clientConfig(env) { } else { warn(`Could not find sw.js in ${src}. Using the default service worker.`); } - swInjectManifest = env.esm - ? [ - new InjectManifest({ - swSrc: swPath, - swDest: 'sw-esm.js', - include: [ - /200\.html$/, - /\.esm.js$/, - /\.css$/, - /\.(png|jpg|svg|gif|webp)$/, - ], - webpackCompilationPlugins: [ - new webpack.DefinePlugin({ - 'process.env.ESM': true, - }), - ], - }), - ] - : [ - new InjectManifest({ - swSrc: swPath, - include: [ - /200\.html$/, - /\.js$/, - /\.css$/, - /\.(png|jpg|svg|gif|webp)$/, - ], - exclude: [/\.esm\.js$/], - }), - ]; + + if (env.esm) { + swInjectManifest.push( + new InjectManifest({ + swSrc: swPath, + swDest: 'sw-esm.js', + include: [ + /200\.html$/, + /\.esm.js$/, + /\.css$/, + /\.(png|jpg|svg|gif|webp)$/, + ], + webpackCompilationPlugins: [ + new webpack.DefinePlugin({ + 'process.env.ESM': true, + }), + ], + }) + ); + } + + swInjectManifest.push( + new InjectManifest({ + swSrc: swPath, + include: [/200\.html$/, /\.js$/, /\.css$/, /\.(png|jpg|svg|gif|webp)$/], + exclude: [/\.esm\.js$/], + }) + ); } let copyPatterns = [