utopian-minify 0.0.5 → 1.0.0
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/README.md +10 -4
- package/dist/adapters/detect.d.ts.map +1 -1
- package/dist/adapters/detect.js +9 -2
- package/dist/adapters/detect.js.map +1 -1
- package/dist/adapters/html-utils.d.ts +23 -0
- package/dist/adapters/html-utils.d.ts.map +1 -0
- package/dist/adapters/html-utils.js +59 -0
- package/dist/adapters/html-utils.js.map +1 -0
- package/dist/adapters/rollup.d.ts +3 -0
- package/dist/adapters/rollup.d.ts.map +1 -0
- package/dist/adapters/rollup.js +58 -0
- package/dist/adapters/rollup.js.map +1 -0
- package/dist/adapters/types.d.ts +2 -0
- package/dist/adapters/types.d.ts.map +1 -1
- package/dist/adapters/vite.d.ts.map +1 -1
- package/dist/adapters/vite.js +7 -28
- package/dist/adapters/vite.js.map +1 -1
- package/dist/adapters/webpack.d.ts +3 -0
- package/dist/adapters/webpack.d.ts.map +1 -0
- package/dist/adapters/webpack.js +89 -0
- package/dist/adapters/webpack.js.map +1 -0
- package/dist/postprocess.d.ts.map +1 -1
- package/dist/postprocess.js +9 -16
- package/dist/postprocess.js.map +1 -1
- package/package.json +10 -2
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# utopian-minify
|
|
2
2
|
|
|
3
|
-
A post-processing tool that creates dual builds with import maps for cross-origin dependency caching. It runs after your bundler's build, creates a second "mini" build with dependencies externalized to a CDN via import maps, and rewrites `index.html` to conditionally load the mini build when the [
|
|
3
|
+
A post-processing tool that creates dual builds with import maps for cross-origin dependency caching. It runs after your bundler's build, creates a second "mini" build with dependencies externalized to a CDN via import maps, and rewrites `index.html` to conditionally load the mini build when the browser supports the [Native URL scheme](https://utopian.build).
|
|
4
4
|
|
|
5
5
|
## Installation
|
|
6
6
|
|
|
@@ -21,7 +21,7 @@ Add to your `package.json` scripts:
|
|
|
21
21
|
}
|
|
22
22
|
```
|
|
23
23
|
|
|
24
|
-
The bundler is auto-detected from your config file (`vite.config
|
|
24
|
+
The bundler is auto-detected from your config file (`vite.config.*`, `webpack.config.*`, or `rollup.config.*`).
|
|
25
25
|
|
|
26
26
|
### CLI Options
|
|
27
27
|
|
|
@@ -34,7 +34,7 @@ utopian-minify --verbose # detailed logging
|
|
|
34
34
|
|
|
35
35
|
| Option | Default | Description |
|
|
36
36
|
|--------|---------|-------------|
|
|
37
|
-
| `--bundler` | auto-detect | Bundler to use (`vite`,
|
|
37
|
+
| `--bundler` | auto-detect | Bundler to use (`vite`, `webpack`, `rollup`) |
|
|
38
38
|
| `--root` | `cwd` | Project root directory |
|
|
39
39
|
| `--outDir` | `dist` | Build output directory |
|
|
40
40
|
| `--exclude` | none | Comma-separated packages to keep bundled |
|
|
@@ -75,7 +75,13 @@ dist/
|
|
|
75
75
|
|
|
76
76
|
## Bundler Support
|
|
77
77
|
|
|
78
|
-
|
|
78
|
+
Supports **Vite**, **Webpack**, and **Rollup**. The architecture uses a bundler adapter pattern (see [src/adapters/](src/adapters/)) — contributions for additional bundler adapters are welcome.
|
|
79
|
+
|
|
80
|
+
| Bundler | Config File | Notes |
|
|
81
|
+
|---------|-------------|-------|
|
|
82
|
+
| Vite | `vite.config.*` | Full support |
|
|
83
|
+
| Webpack | `webpack.config.*` | Requires `html-webpack-plugin` for HTML output. Uses `experiments.outputModule` for ESM. |
|
|
84
|
+
| Rollup | `rollup.config.*` | Requires an `index.html` in the output directory (e.g. via `@rollup/plugin-html`). |
|
|
79
85
|
|
|
80
86
|
## License
|
|
81
87
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"detect.d.ts","sourceRoot":"","sources":["../../src/adapters/detect.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAUjD,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAYrD;AAED,wBAAsB,WAAW,CAC/B,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,cAAc,CAAC,
|
|
1
|
+
{"version":3,"file":"detect.d.ts","sourceRoot":"","sources":["../../src/adapters/detect.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAUjD,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAYrD;AAED,wBAAsB,WAAW,CAC/B,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,cAAc,CAAC,CAmBzB"}
|
package/dist/adapters/detect.js
CHANGED
|
@@ -23,9 +23,16 @@ export async function loadAdapter(bundlerName) {
|
|
|
23
23
|
const { createViteAdapter } = await import("./vite.js");
|
|
24
24
|
return createViteAdapter();
|
|
25
25
|
}
|
|
26
|
+
case "rollup": {
|
|
27
|
+
const { createRollupAdapter } = await import("./rollup.js");
|
|
28
|
+
return createRollupAdapter();
|
|
29
|
+
}
|
|
30
|
+
case "webpack": {
|
|
31
|
+
const { createWebpackAdapter } = await import("./webpack.js");
|
|
32
|
+
return createWebpackAdapter();
|
|
33
|
+
}
|
|
26
34
|
default:
|
|
27
|
-
throw new Error(`Unsupported bundler: "${bundlerName}". Currently supported: vite
|
|
28
|
-
`Webpack and Rollup adapters are planned for a future release.`);
|
|
35
|
+
throw new Error(`Unsupported bundler: "${bundlerName}". Currently supported: vite, rollup, webpack.`);
|
|
29
36
|
}
|
|
30
37
|
}
|
|
31
38
|
//# sourceMappingURL=detect.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"detect.js","sourceRoot":"","sources":["../../src/adapters/detect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAG/B,MAAM,cAAc,GAAG;IACrB,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE;IAC3C,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,gBAAgB,EAAE;IACjD,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,eAAe,EAAE;CAChD,CAAC;AAEF,MAAM,iBAAiB,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAEzD,MAAM,UAAU,aAAa,CAAC,OAAe;IAC3C,KAAK,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,cAAc,EAAE,CAAC;QAClD,KAAK,MAAM,GAAG,IAAI,iBAAiB,EAAE,CAAC;YACpC,IAAI,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC;gBACnD,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;IACH,CAAC;IACD,MAAM,IAAI,KAAK,CACb,2FAA2F;QACzF,6CAA6C,CAChD,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,WAAmB;IAEnB,QAAQ,WAAW,EAAE,CAAC;QACpB,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;YACxD,OAAO,iBAAiB,EAAE,CAAC;QAC7B,CAAC;QACD;YACE,MAAM,IAAI,KAAK,CACb,yBAAyB,WAAW,
|
|
1
|
+
{"version":3,"file":"detect.js","sourceRoot":"","sources":["../../src/adapters/detect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAG/B,MAAM,cAAc,GAAG;IACrB,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE;IAC3C,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,gBAAgB,EAAE;IACjD,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,eAAe,EAAE;CAChD,CAAC;AAEF,MAAM,iBAAiB,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAEzD,MAAM,UAAU,aAAa,CAAC,OAAe;IAC3C,KAAK,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,cAAc,EAAE,CAAC;QAClD,KAAK,MAAM,GAAG,IAAI,iBAAiB,EAAE,CAAC;YACpC,IAAI,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC;gBACnD,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;IACH,CAAC;IACD,MAAM,IAAI,KAAK,CACb,2FAA2F;QACzF,6CAA6C,CAChD,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,WAAmB;IAEnB,QAAQ,WAAW,EAAE,CAAC;QACpB,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;YACxD,OAAO,iBAAiB,EAAE,CAAC;QAC7B,CAAC;QACD,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;YAC5D,OAAO,mBAAmB,EAAE,CAAC;QAC/B,CAAC;QACD,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,MAAM,EAAE,oBAAoB,EAAE,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC;YAC9D,OAAO,oBAAoB,EAAE,CAAC;QAChC,CAAC;QACD;YACE,MAAM,IAAI,KAAK,CACb,yBAAyB,WAAW,gDAAgD,CACrF,CAAC;IACN,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared HTML parsing utilities for bundler adapters.
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Extracts the first stylesheet href from HTML matching the given pattern.
|
|
6
|
+
* Falls back to a generic <link rel="stylesheet"> pattern if none provided.
|
|
7
|
+
*/
|
|
8
|
+
export declare function extractStylePath(html: string, pattern?: RegExp): string;
|
|
9
|
+
/**
|
|
10
|
+
* Extracts the first script src from HTML matching the given pattern.
|
|
11
|
+
* Falls back to a generic <script src="..."> pattern if none provided.
|
|
12
|
+
*/
|
|
13
|
+
export declare function extractScriptPath(html: string, pattern?: RegExp): string;
|
|
14
|
+
/**
|
|
15
|
+
* Extracts <head> content, filtering out lines matching the provided patterns.
|
|
16
|
+
* By default filters out script tags with src and stylesheet link tags.
|
|
17
|
+
*/
|
|
18
|
+
export declare function extractHeadContent(html: string, filterPatterns?: RegExp[]): string;
|
|
19
|
+
/**
|
|
20
|
+
* Extracts everything between <body> and </body> tags.
|
|
21
|
+
*/
|
|
22
|
+
export declare function extractBodyContent(html: string): string;
|
|
23
|
+
//# sourceMappingURL=html-utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"html-utils.d.ts","sourceRoot":"","sources":["../../src/adapters/html-utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAUvE;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAKxE;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EACZ,cAAc,CAAC,EAAE,MAAM,EAAE,GACxB,MAAM,CAqBR;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAIvD"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared HTML parsing utilities for bundler adapters.
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Extracts the first stylesheet href from HTML matching the given pattern.
|
|
6
|
+
* Falls back to a generic <link rel="stylesheet"> pattern if none provided.
|
|
7
|
+
*/
|
|
8
|
+
export function extractStylePath(html, pattern) {
|
|
9
|
+
if (pattern) {
|
|
10
|
+
const match = html.match(pattern);
|
|
11
|
+
return match?.[1] || "";
|
|
12
|
+
}
|
|
13
|
+
// Handle both <link rel="stylesheet" href="..."> and <link href="..." rel="stylesheet">
|
|
14
|
+
const match = html.match(/<link[^>]+rel="stylesheet"[^>]+href="([^"]+)"[^>]*>|<link[^>]+href="([^"]+)"[^>]+rel="stylesheet"[^>]*>/);
|
|
15
|
+
return match?.[1] || match?.[2] || "";
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Extracts the first script src from HTML matching the given pattern.
|
|
19
|
+
* Falls back to a generic <script src="..."> pattern if none provided.
|
|
20
|
+
*/
|
|
21
|
+
export function extractScriptPath(html, pattern) {
|
|
22
|
+
const match = html.match(pattern ?? /<script[^>]+src="([^"]+)"[^>]*>/);
|
|
23
|
+
return match?.[1] || "";
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Extracts <head> content, filtering out lines matching the provided patterns.
|
|
27
|
+
* By default filters out script tags with src and stylesheet link tags.
|
|
28
|
+
*/
|
|
29
|
+
export function extractHeadContent(html, filterPatterns) {
|
|
30
|
+
const headMatch = html.match(/<head>([\s\S]*?)<\/head>/);
|
|
31
|
+
if (!headMatch?.[1])
|
|
32
|
+
return "";
|
|
33
|
+
const defaults = [
|
|
34
|
+
/<script[^>]+src="[^"]*"[^>]*>/,
|
|
35
|
+
/<link[^>]+rel="stylesheet"/,
|
|
36
|
+
];
|
|
37
|
+
const patterns = filterPatterns ?? defaults;
|
|
38
|
+
const lines = headMatch[1].split("\n");
|
|
39
|
+
const kept = [];
|
|
40
|
+
for (const line of lines) {
|
|
41
|
+
const trimmed = line.trim();
|
|
42
|
+
if (trimmed.length === 0)
|
|
43
|
+
continue;
|
|
44
|
+
if (patterns.some((p) => p.test(trimmed)))
|
|
45
|
+
continue;
|
|
46
|
+
kept.push(line);
|
|
47
|
+
}
|
|
48
|
+
return kept.length > 0 ? "\n" + kept.join("\n") : "";
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Extracts everything between <body> and </body> tags.
|
|
52
|
+
*/
|
|
53
|
+
export function extractBodyContent(html) {
|
|
54
|
+
const bodyMatch = html.match(/<body>([\s\S]*?)<\/body>/);
|
|
55
|
+
if (!bodyMatch?.[1])
|
|
56
|
+
return "";
|
|
57
|
+
return bodyMatch[1];
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=html-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"html-utils.js","sourceRoot":"","sources":["../../src/adapters/html-utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAY,EAAE,OAAgB;IAC7D,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAClC,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC1B,CAAC;IACD,wFAAwF;IACxF,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CACtB,yGAAyG,CAC1G,CAAC;IACF,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AACxC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAY,EAAE,OAAgB;IAC9D,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CACtB,OAAO,IAAI,iCAAiC,CAC7C,CAAC;IACF,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AAC1B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAChC,IAAY,EACZ,cAAyB;IAEzB,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;IACzD,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QAAE,OAAO,EAAE,CAAC;IAE/B,MAAM,QAAQ,GAAa;QACzB,+BAA+B;QAC/B,4BAA4B;KAC7B,CAAC;IACF,MAAM,QAAQ,GAAG,cAAc,IAAI,QAAQ,CAAC;IAE5C,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACvC,MAAM,IAAI,GAAa,EAAE,CAAC;IAE1B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QACnC,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAAE,SAAS;QACpD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClB,CAAC;IAED,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACvD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC7C,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;IACzD,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QAAE,OAAO,EAAE,CAAC;IAC/B,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC;AACtB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rollup.d.ts","sourceRoot":"","sources":["../../src/adapters/rollup.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,cAAc,EAIf,MAAM,YAAY,CAAC;AAQpB,wBAAgB,mBAAmB,IAAI,cAAc,CAyEpD"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { readdirSync } from "fs";
|
|
2
|
+
import { extractBodyContent, extractHeadContent, extractScriptPath, extractStylePath, } from "./html-utils.js";
|
|
3
|
+
export function createRollupAdapter() {
|
|
4
|
+
return {
|
|
5
|
+
name: "rollup",
|
|
6
|
+
configFileNames: ["rollup.config"],
|
|
7
|
+
async buildWithExternals(options) {
|
|
8
|
+
const { rollup } = await import("rollup");
|
|
9
|
+
// Load user's rollup config if available
|
|
10
|
+
let userConfig = {};
|
|
11
|
+
if (options.configFile) {
|
|
12
|
+
const loaded = await import(options.configFile);
|
|
13
|
+
const raw = loaded.default ?? loaded;
|
|
14
|
+
if (typeof raw === "function") {
|
|
15
|
+
userConfig = await raw({ command: "build", mode: "production" });
|
|
16
|
+
}
|
|
17
|
+
else if (Array.isArray(raw)) {
|
|
18
|
+
throw new Error("utopian-minify does not support array rollup configs. Use a single config object.");
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
userConfig = raw;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
const input = userConfig["input"] ?? "./src/main.ts";
|
|
25
|
+
const userPlugins = userConfig["plugins"] ?? [];
|
|
26
|
+
const bundle = await rollup({
|
|
27
|
+
input,
|
|
28
|
+
plugins: userPlugins,
|
|
29
|
+
external: (id) => options.externals.some((dep) => id === dep || id.startsWith(dep + "/")),
|
|
30
|
+
});
|
|
31
|
+
await bundle.write({
|
|
32
|
+
dir: options.outDir,
|
|
33
|
+
format: "es",
|
|
34
|
+
entryFileNames: "[name]-[hash].js",
|
|
35
|
+
chunkFileNames: "[name]-[hash].js",
|
|
36
|
+
assetFileNames: "[name]-[hash].[ext]",
|
|
37
|
+
});
|
|
38
|
+
await bundle.close();
|
|
39
|
+
// Find the entry file produced by the build
|
|
40
|
+
const jsFiles = readdirSync(options.outDir).filter((f) => f.endsWith(".js") && !f.endsWith(".map"));
|
|
41
|
+
if (jsFiles.length === 0) {
|
|
42
|
+
throw new Error("No entry JS file found in rollup build output");
|
|
43
|
+
}
|
|
44
|
+
// Prefer main-*.js as the entry point
|
|
45
|
+
const entryFile = jsFiles.find((f) => f.startsWith("main-")) ?? jsFiles[0];
|
|
46
|
+
return { entryFile };
|
|
47
|
+
},
|
|
48
|
+
parseHtmlOutput(html) {
|
|
49
|
+
return {
|
|
50
|
+
scriptPath: extractScriptPath(html),
|
|
51
|
+
stylePath: extractStylePath(html),
|
|
52
|
+
headContent: extractHeadContent(html),
|
|
53
|
+
bodyContent: extractBodyContent(html),
|
|
54
|
+
};
|
|
55
|
+
},
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=rollup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rollup.js","sourceRoot":"","sources":["../../src/adapters/rollup.ts"],"names":[],"mappings":"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"}
|
package/dist/adapters/types.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/adapters/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,UAAU,EAAE,MAAM,GAAG,KAAK,CAAC;CAC5B;AAED,MAAM,WAAW,WAAW;IAC1B,sFAAsF;IACtF,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,kBAAkB,CAAC,OAAO,EAAE,yBAAyB,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAC7E,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,CAAC;CAClD"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/adapters/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,UAAU,EAAE,MAAM,GAAG,KAAK,CAAC;CAC5B;AAED,MAAM,WAAW,WAAW;IAC1B,sFAAsF;IACtF,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,+DAA+D;IAC/D,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,kBAAkB,CAAC,OAAO,EAAE,yBAAyB,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAC7E,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,CAAC;CAClD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vite.d.ts","sourceRoot":"","sources":["../../src/adapters/vite.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,cAAc,EAIf,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"vite.d.ts","sourceRoot":"","sources":["../../src/adapters/vite.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,cAAc,EAIf,MAAM,YAAY,CAAC;AAQpB,wBAAgB,iBAAiB,IAAI,cAAc,CAkElD"}
|
package/dist/adapters/vite.js
CHANGED
|
@@ -1,30 +1,6 @@
|
|
|
1
1
|
import { readdirSync } from "fs";
|
|
2
2
|
import { join } from "path";
|
|
3
|
-
|
|
4
|
-
const headMatch = html.match(/<head>([\s\S]*?)<\/head>/);
|
|
5
|
-
if (!headMatch || !headMatch[1])
|
|
6
|
-
return "";
|
|
7
|
-
const headContent = headMatch[1];
|
|
8
|
-
const lines = [];
|
|
9
|
-
const headLines = headContent.split("\n");
|
|
10
|
-
for (const line of headLines) {
|
|
11
|
-
const trimmed = line.trim();
|
|
12
|
-
if (trimmed.match(/<script type="module" crossorigin src="\/assets\//) ||
|
|
13
|
-
trimmed.match(/<link rel="stylesheet" crossorigin href="\/assets\//)) {
|
|
14
|
-
continue;
|
|
15
|
-
}
|
|
16
|
-
if (trimmed.length > 0) {
|
|
17
|
-
lines.push(line);
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
return lines.length > 0 ? "\n" + lines.join("\n") : "";
|
|
21
|
-
}
|
|
22
|
-
function extractBodyContent(html) {
|
|
23
|
-
const bodyMatch = html.match(/<body>([\s\S]*?)<\/body>/);
|
|
24
|
-
if (!bodyMatch || !bodyMatch[1])
|
|
25
|
-
return "";
|
|
26
|
-
return bodyMatch[1];
|
|
27
|
-
}
|
|
3
|
+
import { extractBodyContent, extractHeadContent, extractScriptPath, extractStylePath, } from "./html-utils.js";
|
|
28
4
|
export function createViteAdapter() {
|
|
29
5
|
return {
|
|
30
6
|
name: "vite",
|
|
@@ -60,10 +36,13 @@ export function createViteAdapter() {
|
|
|
60
36
|
return { entryFile: `assets/${jsFiles[0]}` };
|
|
61
37
|
},
|
|
62
38
|
parseHtmlOutput(html) {
|
|
63
|
-
const styleMatch = html.match(/<link rel="stylesheet" crossorigin href="(\/assets\/[^"]+)">/);
|
|
64
39
|
return {
|
|
65
|
-
|
|
66
|
-
|
|
40
|
+
scriptPath: extractScriptPath(html, /<script type="module" crossorigin src="([^"]+)">/),
|
|
41
|
+
stylePath: extractStylePath(html, /<link rel="stylesheet" crossorigin href="([^"]+)">/),
|
|
42
|
+
headContent: extractHeadContent(html, [
|
|
43
|
+
/<script type="module" crossorigin src="\/assets\//,
|
|
44
|
+
/<link rel="stylesheet" crossorigin href="\/assets\//,
|
|
45
|
+
]),
|
|
67
46
|
bodyContent: extractBodyContent(html),
|
|
68
47
|
};
|
|
69
48
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vite.js","sourceRoot":"","sources":["../../src/adapters/vite.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,IAAI,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"vite.js","sourceRoot":"","sources":["../../src/adapters/vite.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,IAAI,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAO5B,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,iBAAiB,CAAC;AAEzB,MAAM,UAAU,iBAAiB;IAC/B,OAAO;QACL,IAAI,EAAE,MAAM;QACZ,eAAe,EAAE,CAAC,aAAa,CAAC;QAEhC,KAAK,CAAC,kBAAkB,CACtB,OAAkC;YAElC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC;YAGlD,MAAM,MAAM,GAAiB;gBAC3B,IAAI,EAAE,OAAO,CAAC,OAAO;gBACrB,IAAI,EAAE,YAAY;gBAClB,KAAK,EAAE;oBACL,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,WAAW,EAAE,IAAI;oBACjB,aAAa,EAAE,KAAK;oBACpB,aAAa,EAAE;wBACb,QAAQ,EAAE,CAAC,EAAU,EAAE,EAAE,CACvB,OAAO,CAAC,SAAS,CAAC,IAAI,CACpB,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,KAAK,GAAG,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,GAAG,GAAG,CAAC,CAChD;wBACH,MAAM,EAAE;4BACN,MAAM,EAAE,IAAI;4BACZ,cAAc,EAAE,wBAAwB;4BACxC,cAAc,EAAE,yBAAyB;4BACzC,cAAc,EAAE,4BAA4B;yBAC7C;qBACF;iBACF;gBACD,UAAU,EAAE,OAAO,CAAC,UAAU;aAC/B,CAAC;YAEF,MAAM,SAAS,CAAC,MAAM,CAAC,CAAC;YAExB,4CAA4C;YAC5C,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YACjD,MAAM,OAAO,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC,MAAM,CAC3C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CACnD,CAAC;YACF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzB,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;YAC5D,CAAC;YAED,OAAO,EAAE,SAAS,EAAE,UAAU,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAC/C,CAAC;QAED,eAAe,CAAC,IAAY;YAC1B,OAAO;gBACL,UAAU,EAAE,iBAAiB,CAC3B,IAAI,EACJ,kDAAkD,CACnD;gBACD,SAAS,EAAE,gBAAgB,CACzB,IAAI,EACJ,oDAAoD,CACrD;gBACD,WAAW,EAAE,kBAAkB,CAAC,IAAI,EAAE;oBACpC,mDAAmD;oBACnD,qDAAqD;iBACtD,CAAC;gBACF,WAAW,EAAE,kBAAkB,CAAC,IAAI,CAAC;aACtC,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webpack.d.ts","sourceRoot":"","sources":["../../src/adapters/webpack.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,cAAc,EAIf,MAAM,YAAY,CAAC;AAQpB,wBAAgB,oBAAoB,IAAI,cAAc,CA0GrD"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { readdirSync } from "fs";
|
|
2
|
+
import { extractBodyContent, extractHeadContent, extractScriptPath, extractStylePath, } from "./html-utils.js";
|
|
3
|
+
export function createWebpackAdapter() {
|
|
4
|
+
return {
|
|
5
|
+
name: "webpack",
|
|
6
|
+
configFileNames: ["webpack.config"],
|
|
7
|
+
async buildWithExternals(options) {
|
|
8
|
+
// Dynamic import — webpack is an optional peer dependency
|
|
9
|
+
const moduleName = "webpack";
|
|
10
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
11
|
+
const webpackModule = await import(moduleName);
|
|
12
|
+
const webpack = webpackModule.default ?? webpackModule;
|
|
13
|
+
// Load user's webpack config if available
|
|
14
|
+
let userConfig = {};
|
|
15
|
+
if (options.configFile) {
|
|
16
|
+
const loaded = await import(options.configFile);
|
|
17
|
+
const raw = loaded.default ?? loaded;
|
|
18
|
+
if (typeof raw === "function") {
|
|
19
|
+
userConfig = raw({ production: true }, { mode: "production" });
|
|
20
|
+
}
|
|
21
|
+
else if (Array.isArray(raw)) {
|
|
22
|
+
throw new Error("utopian-minify does not support array webpack configs (multi-compiler). Use a single config object.");
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
userConfig = raw;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
const config = {
|
|
29
|
+
...userConfig,
|
|
30
|
+
mode: "production",
|
|
31
|
+
context: options.rootDir,
|
|
32
|
+
output: {
|
|
33
|
+
...(userConfig["output"] ?? {}),
|
|
34
|
+
path: options.outDir,
|
|
35
|
+
filename: "[name]-[contenthash].js",
|
|
36
|
+
module: true,
|
|
37
|
+
clean: true,
|
|
38
|
+
},
|
|
39
|
+
experiments: {
|
|
40
|
+
...(userConfig["experiments"] ?? {}),
|
|
41
|
+
outputModule: true,
|
|
42
|
+
},
|
|
43
|
+
externalsType: "module",
|
|
44
|
+
externals: [
|
|
45
|
+
(data, callback) => {
|
|
46
|
+
const request = data.request;
|
|
47
|
+
if (request &&
|
|
48
|
+
options.externals.some((dep) => request === dep || request.startsWith(dep + "/"))) {
|
|
49
|
+
return callback(null, `module ${request}`);
|
|
50
|
+
}
|
|
51
|
+
callback();
|
|
52
|
+
},
|
|
53
|
+
],
|
|
54
|
+
};
|
|
55
|
+
return new Promise((resolve, reject) => {
|
|
56
|
+
webpack(config, (err, stats) => {
|
|
57
|
+
if (err) {
|
|
58
|
+
reject(err);
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
if (stats?.hasErrors()) {
|
|
62
|
+
reject(new Error(`Webpack build failed:\n${stats.toString({ errors: true })}`));
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
// Find entry file in output
|
|
66
|
+
const jsFiles = readdirSync(options.outDir).filter((f) => f.endsWith(".js") && !f.endsWith(".map"));
|
|
67
|
+
if (jsFiles.length === 0) {
|
|
68
|
+
reject(new Error("No entry JS file found in webpack build output"));
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
// Prefer main-*.js as the entry point
|
|
72
|
+
const entryFile = jsFiles.find((f) => f.startsWith("main-")) ?? jsFiles[0];
|
|
73
|
+
resolve({ entryFile });
|
|
74
|
+
});
|
|
75
|
+
});
|
|
76
|
+
},
|
|
77
|
+
parseHtmlOutput(html) {
|
|
78
|
+
// html-webpack-plugin uses <script defer src="..."> or <script type="module" src="...">
|
|
79
|
+
// and <link href="..." rel="stylesheet">
|
|
80
|
+
return {
|
|
81
|
+
scriptPath: extractScriptPath(html),
|
|
82
|
+
stylePath: extractStylePath(html),
|
|
83
|
+
headContent: extractHeadContent(html),
|
|
84
|
+
bodyContent: extractBodyContent(html),
|
|
85
|
+
};
|
|
86
|
+
},
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=webpack.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webpack.js","sourceRoot":"","sources":["../../src/adapters/webpack.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"postprocess.d.ts","sourceRoot":"","sources":["../src/postprocess.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;
|
|
1
|
+
{"version":3,"file":"postprocess.d.ts","sourceRoot":"","sources":["../src/postprocess.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAoLD,wBAAsB,eAAe,CACnC,OAAO,EAAE,kBAAkB,YAAK,EAChC,OAAO,EAAE,cAAc,iBAmLxB"}
|
package/dist/postprocess.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { cpSync, existsSync, mkdirSync, readFileSync, readdirSync, rmSync, writeFileSync, } from "fs";
|
|
2
|
-
import { join, resolve } from "path";
|
|
2
|
+
import { basename, dirname, join, resolve } from "path";
|
|
3
3
|
import { gzipSync } from "zlib";
|
|
4
4
|
import { init as initLexer, parse as parseImports } from "es-module-lexer";
|
|
5
5
|
function getInstalledVersions(rootPath, depNames, verbose) {
|
|
@@ -122,13 +122,6 @@ function generateImportMap(rootPath, specifiers, installedVersions, verbose) {
|
|
|
122
122
|
}
|
|
123
123
|
return importMap;
|
|
124
124
|
}
|
|
125
|
-
function findEntryFile(assetsDir) {
|
|
126
|
-
const jsFiles = readdirSync(assetsDir).filter((f) => f.startsWith("index-") && f.endsWith(".js"));
|
|
127
|
-
if (jsFiles.length === 0) {
|
|
128
|
-
throw new Error(`No entry JS file found in ${assetsDir}`);
|
|
129
|
-
}
|
|
130
|
-
return jsFiles[0];
|
|
131
|
-
}
|
|
132
125
|
const CONFIG_EXTENSIONS = [".ts", ".js", ".mjs", ".mts"];
|
|
133
126
|
function findConfigFile(rootDir, configFileNames) {
|
|
134
127
|
for (const base of configFileNames) {
|
|
@@ -163,7 +156,7 @@ export async function createDualBuild(options = {}, adapter) {
|
|
|
163
156
|
// Check if build exists
|
|
164
157
|
if (!existsSync(outputDir)) {
|
|
165
158
|
console.error("Error: No build found at", outputDir);
|
|
166
|
-
console.error(
|
|
159
|
+
console.error(` Please run your ${adapter.name} build first before post-processing`);
|
|
167
160
|
return;
|
|
168
161
|
}
|
|
169
162
|
// Read existing build files
|
|
@@ -174,12 +167,10 @@ export async function createDualBuild(options = {}, adapter) {
|
|
|
174
167
|
}
|
|
175
168
|
const standardHtml = readFileSync(standardIndexPath, "utf-8");
|
|
176
169
|
const standardOutput = adapter.parseHtmlOutput(standardHtml);
|
|
177
|
-
//
|
|
178
|
-
const
|
|
179
|
-
const standardEntryFile = findEntryFile(standardAssetsDir);
|
|
180
|
-
const standardScriptPath = `/assets/${standardEntryFile}`;
|
|
170
|
+
// Use the script path extracted from HTML by the adapter
|
|
171
|
+
const standardScriptPath = standardOutput.scriptPath;
|
|
181
172
|
if (verbose) {
|
|
182
|
-
const standardScriptFullPath = join(
|
|
173
|
+
const standardScriptFullPath = join(outputDir, standardScriptPath.replace(/^\//, ""));
|
|
183
174
|
const content = readFileSync(standardScriptFullPath);
|
|
184
175
|
const gzipped = gzipSync(content);
|
|
185
176
|
console.log(`Standard build script: ${standardScriptPath} (${gzipped.length} bytes gzipped)`);
|
|
@@ -200,7 +191,8 @@ export async function createDualBuild(options = {}, adapter) {
|
|
|
200
191
|
if (verbose)
|
|
201
192
|
console.log("Mini build completed");
|
|
202
193
|
// Scan mini build output for actual external import specifiers
|
|
203
|
-
const
|
|
194
|
+
const miniAssetsSubdir = dirname(buildResult.entryFile);
|
|
195
|
+
const miniAssetsDir = join(miniDir, miniAssetsSubdir);
|
|
204
196
|
const externalSpecifiers = await collectExternalImports(miniAssetsDir, depsToExternalize);
|
|
205
197
|
if (verbose) {
|
|
206
198
|
console.log(`Found ${externalSpecifiers.size} external import specifiers`);
|
|
@@ -212,7 +204,8 @@ export async function createDualBuild(options = {}, adapter) {
|
|
|
212
204
|
// Generate import map for externalized specifiers
|
|
213
205
|
const importMap = generateImportMap(rootDir, externalSpecifiers, installedVersions, verbose);
|
|
214
206
|
// Mini build entry path (will be served from /mini/ in the final output)
|
|
215
|
-
const
|
|
207
|
+
const miniEntryFileName = basename(buildResult.entryFile);
|
|
208
|
+
const miniScriptPath = `/mini/${miniEntryFileName}`;
|
|
216
209
|
const miniIndexPath = join(miniDir, "index.html");
|
|
217
210
|
// Move mini assets to dist/mini and rename with file size
|
|
218
211
|
const targetMiniDir = join(outputDir, "mini");
|
package/dist/postprocess.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"postprocess.js","sourceRoot":"","sources":["../src/postprocess.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,UAAU,EACV,SAAS,EACT,YAAY,EACZ,WAAW,EACX,MAAM,EACN,aAAa,GACd,MAAM,IAAI,CAAC;AACZ,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"postprocess.js","sourceRoot":"","sources":["../src/postprocess.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "utopian-minify",
|
|
3
|
-
"version": "0.0
|
|
3
|
+
"version": "1.0.0",
|
|
4
4
|
"description": "A post-processing tool that creates dual builds with import maps for cross-origin caching",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -35,11 +35,19 @@
|
|
|
35
35
|
"author": "Ludwig Schubert (@UtopianContrib)",
|
|
36
36
|
"license": "MIT",
|
|
37
37
|
"peerDependencies": {
|
|
38
|
-
"vite": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0"
|
|
38
|
+
"vite": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0",
|
|
39
|
+
"rollup": "^3.0.0 || ^4.0.0",
|
|
40
|
+
"webpack": "^5.0.0"
|
|
39
41
|
},
|
|
40
42
|
"peerDependenciesMeta": {
|
|
41
43
|
"vite": {
|
|
42
44
|
"optional": true
|
|
45
|
+
},
|
|
46
|
+
"rollup": {
|
|
47
|
+
"optional": true
|
|
48
|
+
},
|
|
49
|
+
"webpack": {
|
|
50
|
+
"optional": true
|
|
43
51
|
}
|
|
44
52
|
},
|
|
45
53
|
"devDependencies": {
|