vite-plugin-html-pages 1.2.5 → 1.2.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +15 -2535
- package/dist/index.js.map +1 -1
- package/package.json +3 -2
- package/src/static-assets.ts +68 -54
- package/tsup.config.ts +3 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vite-plugin-html-pages",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.7",
|
|
4
4
|
"author": "Paul Browne",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -47,7 +47,8 @@
|
|
|
47
47
|
},
|
|
48
48
|
"dependencies": {
|
|
49
49
|
"fast-glob": "^3.3.3",
|
|
50
|
-
"p-limit": "^4.0.0"
|
|
50
|
+
"p-limit": "^4.0.0",
|
|
51
|
+
"esbuild": "^0.24.0"
|
|
51
52
|
},
|
|
52
53
|
"engines": {
|
|
53
54
|
"node": ">=18"
|
package/src/static-assets.ts
CHANGED
|
@@ -91,59 +91,73 @@ export async function copyStaticAssetSource(
|
|
|
91
91
|
}
|
|
92
92
|
|
|
93
93
|
export async function buildProcessedStaticAssets(args: {
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
}): Promise<Map<string, string | Uint8Array>> {
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
94
|
+
root: string;
|
|
95
|
+
pagesDir: string;
|
|
96
|
+
assets: StaticAssetFile[];
|
|
97
|
+
minify?: boolean;
|
|
98
|
+
sourcemap?: boolean;
|
|
99
|
+
}): Promise<Map<string, string | Uint8Array>> {
|
|
100
|
+
const { root, pagesDir, assets, minify = true, sourcemap = false } = args;
|
|
101
|
+
|
|
102
|
+
const processable = assets.filter((a) => a.kind === 'process');
|
|
103
|
+
const out = new Map<string, string | Uint8Array>();
|
|
104
|
+
|
|
105
|
+
if (processable.length === 0) {
|
|
106
|
+
return out;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
const srcDir = path.join(root, pagesDir);
|
|
110
|
+
const distDir = path.join(root, 'dist');
|
|
111
|
+
|
|
112
|
+
const result = await esbuild.build({
|
|
113
|
+
entryPoints: processable.map((a) => a.absolutePath),
|
|
114
|
+
absWorkingDir: root,
|
|
115
|
+
outbase: srcDir,
|
|
116
|
+
outdir: distDir,
|
|
117
|
+
bundle: true,
|
|
118
|
+
splitting: true,
|
|
119
|
+
treeShaking: true,
|
|
120
|
+
minify,
|
|
121
|
+
sourcemap,
|
|
122
|
+
format: 'esm',
|
|
123
|
+
target: 'es2020',
|
|
124
|
+
platform: 'browser',
|
|
125
|
+
write: false,
|
|
126
|
+
entryNames: '[dir]/[name]',
|
|
127
|
+
assetNames: '[dir]/[name]',
|
|
128
|
+
loader: {
|
|
129
|
+
'.css': 'css',
|
|
130
|
+
'.png': 'file',
|
|
131
|
+
'.jpg': 'file',
|
|
132
|
+
'.jpeg': 'file',
|
|
133
|
+
'.gif': 'file',
|
|
134
|
+
'.svg': 'file',
|
|
135
|
+
'.webp': 'file',
|
|
136
|
+
'.woff': 'file',
|
|
137
|
+
'.woff2': 'file',
|
|
138
|
+
'.ttf': 'file',
|
|
139
|
+
'.otf': 'file',
|
|
140
|
+
},
|
|
141
|
+
plugins: [
|
|
142
|
+
{
|
|
143
|
+
name: 'html-pages-root-url-resolver',
|
|
144
|
+
setup(build) {
|
|
145
|
+
build.onResolve({ filter: /^\// }, (resolveArgs) => {
|
|
146
|
+
const absPath = path.join(srcDir, resolveArgs.path.slice(1));
|
|
147
|
+
|
|
148
|
+
return {
|
|
149
|
+
path: absPath,
|
|
150
|
+
};
|
|
151
|
+
});
|
|
152
|
+
},
|
|
153
|
+
},
|
|
154
|
+
],
|
|
155
|
+
});
|
|
156
|
+
|
|
157
|
+
for (const file of result.outputFiles) {
|
|
158
|
+
const rel = normalizeSlashes(path.relative(distDir, file.path));
|
|
159
|
+
out.set(rel, file.text ?? file.contents);
|
|
160
|
+
}
|
|
161
|
+
|
|
106
162
|
return out;
|
|
107
163
|
}
|
|
108
|
-
|
|
109
|
-
const srcDir = path.join(root, pagesDir);
|
|
110
|
-
const distDir = path.join(root, 'dist');
|
|
111
|
-
|
|
112
|
-
const result = await esbuild.build({
|
|
113
|
-
entryPoints: processable.map((a) => a.absolutePath),
|
|
114
|
-
absWorkingDir: root,
|
|
115
|
-
outbase: srcDir,
|
|
116
|
-
outdir: distDir,
|
|
117
|
-
bundle: true,
|
|
118
|
-
splitting: true,
|
|
119
|
-
treeShaking: true,
|
|
120
|
-
minify,
|
|
121
|
-
sourcemap,
|
|
122
|
-
format: 'esm',
|
|
123
|
-
target: 'es2020',
|
|
124
|
-
platform: 'browser',
|
|
125
|
-
write: false,
|
|
126
|
-
entryNames: '[dir]/[name]',
|
|
127
|
-
assetNames: '[dir]/[name]',
|
|
128
|
-
loader: {
|
|
129
|
-
'.css': 'css',
|
|
130
|
-
'.png': 'file',
|
|
131
|
-
'.jpg': 'file',
|
|
132
|
-
'.jpeg': 'file',
|
|
133
|
-
'.gif': 'file',
|
|
134
|
-
'.svg': 'file',
|
|
135
|
-
'.webp': 'file',
|
|
136
|
-
'.woff': 'file',
|
|
137
|
-
'.woff2': 'file',
|
|
138
|
-
'.ttf': 'file',
|
|
139
|
-
'.otf': 'file',
|
|
140
|
-
},
|
|
141
|
-
});
|
|
142
|
-
|
|
143
|
-
for (const file of result.outputFiles) {
|
|
144
|
-
const rel = normalizeSlashes(path.relative(distDir, file.path));
|
|
145
|
-
out.set(rel, file.text ?? file.contents);
|
|
146
|
-
}
|
|
147
|
-
|
|
148
|
-
return out;
|
|
149
|
-
}
|
package/tsup.config.ts
CHANGED