Skip to content

Commit 9e4f8d8

Browse files
authored
Merge pull request #10 from developit/patch-1
Add support for sites with no routes, and esm output.
2 parents 4272f5f + 55e12d8 commit 9e4f8d8

File tree

1 file changed

+11
-3
lines changed

1 file changed

+11
-3
lines changed

index.js

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,16 +25,20 @@ class NetlifyServerPushPlugin {
2525
let mainJs = '# no js files';
2626
let mainCss = '# no css files';
2727

28+
const hasEsm = Object.keys(compilation.assets).filter(filename => /\.esm\.js$/.test(filename)).length !== 0;
29+
2830
for (const filename in compilation.assets) {
2931
if (!/\.map$/.test(filename)) {
3032
if (/route-/.test(filename)) {
3133
routes.push(filename);
32-
} else if (/^style(.+)\.css$/.test(filename)) {
34+
} else if (/^(style|bundle)(.+)\.css$/.test(filename)) {
3335
mainCss = `Link: </${filename}>; rel=preload; as=style`;
34-
} else if (/^bundle(.+)\.js$/.test(filename)) {
36+
} else if (hasEsm && /^bundle(.+)\.esm\.js$/.test(filename)) {
37+
mainJs = `Link: </${filename}>; rel=preload; as=script; crossorigin=anonymous`;
38+
} else if (!hasEsm && /^bundle(.+)\.js$/.test(filename)) {
3539
mainJs = `Link: </${filename}>; rel=preload; as=script`;
3640
}
37-
}
41+
}
3842
}
3943

4044
let headers =
@@ -46,6 +50,10 @@ class NetlifyServerPushPlugin {
4650

4751
const redirects = `${this.redirects.join('\n')}\n/* /index.html 200`;
4852

53+
if (!routes.length) {
54+
headers += `\n/*\n\t${mainCss}\n\t${mainJs}`;
55+
}
56+
4957
routes.forEach(filename => {
5058
const path = filename
5159
.replace(/route-/, '/')

0 commit comments

Comments
 (0)