diff --git a/.changeset/shy-poets-sneeze.md b/.changeset/shy-poets-sneeze.md new file mode 100644 index 000000000..13858d62a --- /dev/null +++ b/.changeset/shy-poets-sneeze.md @@ -0,0 +1,5 @@ +--- +'preact-cli': patch +--- + +Fix for CSS assets sometimes being mistakenly labeled as 'scripts' in the push-manifest. diff --git a/packages/cli/lib/lib/webpack/create-load-manifest.js b/packages/cli/lib/lib/webpack/create-load-manifest.js index 948ee24d8..0772f1b9a 100644 --- a/packages/cli/lib/lib/webpack/create-load-manifest.js +++ b/packages/cli/lib/lib/webpack/create-load-manifest.js @@ -41,7 +41,7 @@ module.exports = (assets, namedChunkGroups, isProd) => { const routeJs = assets[`${route}.js`]; routeManifest[routeJs] = { type: 'script', weight: 0.9 }; - if (routeCss) routeManifest[routeCss] = { type: 'script', weight: 0.9 }; + if (routeCss) routeManifest[routeCss] = { type: 'style', weight: 0.9 }; const path = route.replace(/^route-/, '/').replace(/^\/home/, '/'); @@ -52,6 +52,7 @@ module.exports = (assets, namedChunkGroups, isProd) => { asyncFiles.chunks.forEach(asset => { asset.files = asset.files || []; asset.files.forEach(file => { + if (routeManifest[file]) return; if (/\.css$/.test(file)) { routeManifest[file] = { type: 'style', weight: 0.9 }; } else if (/\.js$/.test(file)) {