Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .changeset/seven-lions-cough.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'preact-cli': patch
---

Fixing legacy SW generation while ESM is enabled
58 changes: 28 additions & 30 deletions packages/cli/lib/lib/webpack/webpack-client-config.js
Original file line number Diff line number Diff line change
Expand Up @@ -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: join(src, 'sw.js'),
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: join(src, 'sw.js'),
include: [/200\.html$/, /\.js$/, /\.css$/, /\.(png|jpg|svg|gif|webp)$/],
exclude: [/\.esm\.js$/],
})
);
}

let copyPatterns = [
Expand Down