Skip to content

Commit b17cb42

Browse files
committed
publish 1.2.5
1 parent e88a4b8 commit b17cb42

File tree

3 files changed

+33
-10
lines changed

3 files changed

+33
-10
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@idrinth/react-file-based-routes",
3-
"version": "1.2.4",
3+
"version": "1.2.5",
44
"repository": "https://github.com/idrinth/react-file-based-routes",
55
"description": "A simple file based routing library, that does not force itself on you.",
66
"license": "MIT",

src/generate-folders.ts

Lines changed: 25 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,16 @@
11
import {
22
readdirSync,
3-
readFileSync,
3+
readFileSync, writeFileSync,
44
} from 'fs';
55
import minifier from 'html-minifier';
66
import {Configuration} from './configuration.js';
77
import writeIndexHtml from "./write-index-html.js";
88
import {
99
minify,
1010
} from '@putout/minify';
11+
import {
12+
createHash,
13+
} from 'crypto';
1114

1215
export default (cwd: string, configuration: Configuration) => {
1316
const template = (() => {
@@ -46,6 +49,9 @@ export default (cwd: string, configuration: Configuration) => {
4649
prefetch.setAttribute('as', as);
4750
header.appendChild(prefetch);
4851
};`;
52+
const name = createHash('sha256')
53+
.update(JSON.stringify(jsFiles) + JSON.stringify(cssFiles))
54+
.digest('hex');
4955
if (jsFiles.length > 0 && cssFiles.length > 0) {
5056
const script = `window.setTimeout(() => {
5157
${ func }
@@ -56,7 +62,12 @@ export default (cwd: string, configuration: Configuration) => {
5662
append('application/javascript', 'script', js);
5763
}
5864
}, ${ configuration.fileBuilder.preloadStartDelay });`;
59-
return `<script type="text/javascript">${ minify(script) }</script>`;
65+
writeFileSync(
66+
`${cwd}/${configuration.fileFinder.distJSRoot}/irfbr-${name}.js`,
67+
minify(script),
68+
'utf8'
69+
);
70+
return `<script type="text/javascript" src="/${configuration.fileFinder.distJSRoot}/irfbr-${name}.js"></script>`;
6071
}
6172
if (cssFiles.length > 0) {
6273
const script = `window.setTimeout(() => {
@@ -65,7 +76,12 @@ export default (cwd: string, configuration: Configuration) => {
6576
append('text/css', 'style', css);
6677
}
6778
}, ${ configuration.fileBuilder.preloadStartDelay });`;
68-
return `<script type="text/javascript">${ minify(script) }</script>`;
79+
writeFileSync(
80+
`${cwd}/${configuration.fileFinder.distJSRoot}/irfbr-${name}.js`,
81+
minify(script),
82+
'utf8'
83+
);
84+
return `<script type="text/javascript" src="/${configuration.fileFinder.distJSRoot}/irfbr-${name}.js"></script>`;
6985
}
7086
if (jsFiles.length > 0) {
7187
const script = `window.setTimeout(() => {
@@ -74,7 +90,12 @@ export default (cwd: string, configuration: Configuration) => {
7490
append('application/javascript', 'script', js);
7591
}
7692
}, ${ configuration.fileBuilder.preloadStartDelay });`;
77-
return `<script type="text/javascript">${ minify(script) }</script>`;
93+
writeFileSync(
94+
`${cwd}/${configuration.fileFinder.distJSRoot}/irfbr-${name}.js`,
95+
minify(script),
96+
'utf8'
97+
);
98+
return `<script type="text/javascript" src="/${configuration.fileFinder.distJSRoot}/irfbr-${name}.js"></script>`;
7899
}
79100
return '';
80101
})();

src/write-index-html.ts

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,15 +11,17 @@ export default (cwd: string, jsFile: string, path: string, template: string, con
1111
if (! configuration.fileBuilder.appendPageChunk) {
1212
writeFileSync(
1313
target,
14-
template.replace(/<\/head>/, `${ preload }</head>`),
14+
template.replace(/<\/body>/, `${ preload }</body>`),
1515
);
1616
return;
1717
}
1818
writeFileSync(
1919
target,
20-
template.replace(
21-
/<\/head>/,
22-
`<script src="/assets/${jsFile}" type="module"></script>${ preload }</head>`,
23-
),
20+
template
21+
.replace(
22+
/<\/head>/,
23+
`<script src="/assets/${jsFile}" type="module"></script></head>`,
24+
)
25+
.replace(/<\/body>/, `${ preload }</body>`),
2426
);
2527
}

0 commit comments

Comments
 (0)