utopian-minify 0.0.5 → 1.0.1

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 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 [Sustainable Browser Extension](https://chromewebstore.google.com/detail/sustainable-browser/cdpbgdconlejjfnpifkpalpcfohmiolf) is installed.
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.ts`, `webpack.config.js`, `rollup.config.mjs`, etc.).
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`, more coming) |
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
- Currently supports **Vite**. Webpack and Rollup adapters are planned. The architecture uses a bundler adapter pattern — contributions for new adapters are welcome.
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,CAYzB"}
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"}
@@ -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.\n` +
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,iCAAiC;gBACnE,+DAA+D,CAClE,CAAC;IACN,CAAC;AACH,CAAC"}
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,3 @@
1
+ import type { BundlerAdapter } from "./types.js";
2
+ export declare function createRollupAdapter(): BundlerAdapter;
3
+ //# sourceMappingURL=rollup.d.ts.map
@@ -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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"}
@@ -9,6 +9,8 @@ export interface BuildResult {
9
9
  entryFile: string;
10
10
  }
11
11
  export interface ParsedBuildOutput {
12
+ /** Path to the entry script, e.g. "/assets/index-abc123.js" */
13
+ scriptPath: string;
12
14
  stylePath: string;
13
15
  headContent: string;
14
16
  bodyContent: string;
@@ -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;AAmCpB,wBAAgB,iBAAiB,IAAI,cAAc,CA4DlD"}
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,CAyDlD"}
@@ -1,30 +1,6 @@
1
- import { readdirSync } from "fs";
1
+ import { readFileSync } from "fs";
2
2
  import { join } from "path";
3
- function extractAdditionalHeadContent(html) {
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",
@@ -40,30 +16,26 @@ export function createViteAdapter() {
40
16
  copyPublicDir: false,
41
17
  rollupOptions: {
42
18
  external: (id) => options.externals.some((dep) => id === dep || id.startsWith(dep + "/")),
43
- output: {
44
- format: "es",
45
- entryFileNames: "assets/index-[hash].js",
46
- chunkFileNames: "assets/[name]-[hash].js",
47
- assetFileNames: "assets/[name]-[hash].[ext]",
48
- },
49
19
  },
50
20
  },
51
21
  configFile: options.configFile,
52
22
  };
53
23
  await viteBuild(config);
54
- // Find the entry file produced by the build
55
- const assetsDir = join(options.outDir, "assets");
56
- const jsFiles = readdirSync(assetsDir).filter((f) => f.startsWith("index-") && f.endsWith(".js"));
57
- if (jsFiles.length === 0) {
58
- throw new Error("No entry JS file found in build output");
59
- }
60
- return { entryFile: `assets/${jsFiles[0]}` };
24
+ // Parse the mini build's index.html to find the entry script
25
+ const miniHtml = readFileSync(join(options.outDir, "index.html"), "utf-8");
26
+ const miniOutput = this.parseHtmlOutput(miniHtml);
27
+ // scriptPath is absolute (e.g. "/assets/index-abc123.js"), strip leading slash
28
+ const entryFile = miniOutput.scriptPath.replace(/^\//, "");
29
+ return { entryFile };
61
30
  },
62
31
  parseHtmlOutput(html) {
63
- const styleMatch = html.match(/<link rel="stylesheet" crossorigin href="(\/assets\/[^"]+)">/);
64
32
  return {
65
- stylePath: styleMatch?.[1] || "",
66
- headContent: extractAdditionalHeadContent(html),
33
+ scriptPath: extractScriptPath(html, /<script type="module" crossorigin src="([^"]+)">/),
34
+ stylePath: extractStylePath(html, /<link rel="stylesheet" crossorigin href="([^"]+)">/),
35
+ headContent: extractHeadContent(html, [
36
+ /<script type="module" crossorigin src="\/assets\//,
37
+ /<link rel="stylesheet" crossorigin href="\/assets\//,
38
+ ]),
67
39
  bodyContent: extractBodyContent(html),
68
40
  };
69
41
  },
@@ -1 +1 @@
1
- {"version":3,"file":"vite.js","sourceRoot":"","sources":["../../src/adapters/vite.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vite.js","sourceRoot":"","sources":["../../src/adapters/vite.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAClC,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;qBACJ;iBACF;gBACD,UAAU,EAAE,OAAO,CAAC,UAAU;aAC/B,CAAC;YAEF,MAAM,SAAS,CAAC,MAAM,CAAC,CAAC;YAExB,6DAA6D;YAC7D,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,YAAY,CAAC,EAAE,OAAO,CAAC,CAAC;YAC3E,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;YAClD,+EAA+E;YAC/E,MAAM,SAAS,GAAG,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAE3D,OAAO,EAAE,SAAS,EAAE,CAAC;QACvB,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,3 @@
1
+ import type { BundlerAdapter } from "./types.js";
2
+ export declare function createWebpackAdapter(): BundlerAdapter;
3
+ //# sourceMappingURL=webpack.d.ts.map
@@ -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;AA8LD,wBAAsB,eAAe,CACnC,OAAO,EAAE,kBAAkB,YAAK,EAChC,OAAO,EAAE,cAAc,iBAmLxB"}
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"}
@@ -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(" Please run 'vite build' first before post-processing");
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
- // Find standard build entry JS by scanning the assets directory
178
- const standardAssetsDir = join(outputDir, "assets");
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(standardAssetsDir, standardEntryFile);
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 miniAssetsDir = join(miniDir, "assets");
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 miniScriptPath = `/mini/${buildResult.entryFile.replace(/^assets\//, "")}`;
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");
@@ -1 +1 @@
1
- {"version":3,"file":"postprocess.js","sourceRoot":"","sources":["../src/postprocess.ts"],"names":[],"mappings":"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"}
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.5",
3
+ "version": "1.0.1",
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": {