@distilled.cloud/cloudflare-rolldown-plugin 0.11.3 → 0.12.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/dist/factory.d.ts CHANGED
@@ -1,19 +1,19 @@
1
1
  import type * as rolldown from "rolldown";
2
2
  import type * as vite from "vite";
3
- import type { CloudflarePluginOptions } from "./options.js";
3
+ import type { BasePluginOptions } from "./options.js";
4
4
  export interface PluginInput<A = any> {
5
5
  shared?: Omit<rolldown.Plugin<A>, "name">;
6
6
  rolldown?: Omit<rolldown.Plugin<A>, "name">;
7
7
  vite?: Omit<vite.Plugin<A>, "name">;
8
8
  }
9
9
  export interface NullablePluginOutput<A = any> {
10
- rolldown: (options: CloudflarePluginOptions) => rolldown.Plugin<A> | null;
11
- vite: (options: CloudflarePluginOptions) => vite.Plugin<A> | null;
10
+ rolldown: (options: BasePluginOptions) => rolldown.Plugin<A> | null;
11
+ vite: (options: BasePluginOptions) => vite.Plugin<A> | null;
12
12
  }
13
13
  export interface PluginOutput<A = any> {
14
- rolldown: (options: CloudflarePluginOptions) => rolldown.Plugin<A>;
15
- vite: (options: CloudflarePluginOptions) => vite.Plugin<A>;
14
+ rolldown: (options: BasePluginOptions) => rolldown.Plugin<A>;
15
+ vite: (options: BasePluginOptions) => vite.Plugin<A>;
16
16
  }
17
- export declare function createPlugin<TName extends string, A = any>(pluginName: TName, make: (options: CloudflarePluginOptions) => PluginInput<A>): PluginOutput<A>;
18
- export declare function createPlugin<TName extends string, A = any>(pluginName: TName, make: (options: CloudflarePluginOptions) => PluginInput<A> | undefined): NullablePluginOutput<A>;
17
+ export declare function createPlugin<TName extends string, A = any>(pluginName: TName, make: (options: BasePluginOptions) => PluginInput<A>): PluginOutput<A>;
18
+ export declare function createPlugin<TName extends string, A = any>(pluginName: TName, make: (options: BasePluginOptions) => PluginInput<A> | undefined): NullablePluginOutput<A>;
19
19
  //# sourceMappingURL=factory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,QAAQ,MAAM,UAAU,CAAC;AAC1C,OAAO,KAAK,KAAK,IAAI,MAAM,MAAM,CAAC;AAClC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAE5D,MAAM,WAAW,WAAW,CAAC,CAAC,GAAG,GAAG;IAClC,MAAM,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IAC1C,QAAQ,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IAC5C,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;CACrC;AAED,MAAM,WAAW,oBAAoB,CAAC,CAAC,GAAG,GAAG;IAC3C,QAAQ,EAAE,CAAC,OAAO,EAAE,uBAAuB,KAAK,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAC1E,IAAI,EAAE,CAAC,OAAO,EAAE,uBAAuB,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;CACnE;AAED,MAAM,WAAW,YAAY,CAAC,CAAC,GAAG,GAAG;IACnC,QAAQ,EAAE,CAAC,OAAO,EAAE,uBAAuB,KAAK,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACnE,IAAI,EAAE,CAAC,OAAO,EAAE,uBAAuB,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;CAC5D;AAED,wBAAgB,YAAY,CAAC,KAAK,SAAS,MAAM,EAAE,CAAC,GAAG,GAAG,EACxD,UAAU,EAAE,KAAK,EACjB,IAAI,EAAE,CAAC,OAAO,EAAE,uBAAuB,KAAK,WAAW,CAAC,CAAC,CAAC,GACzD,YAAY,CAAC,CAAC,CAAC,CAAC;AAEnB,wBAAgB,YAAY,CAAC,KAAK,SAAS,MAAM,EAAE,CAAC,GAAG,GAAG,EACxD,UAAU,EAAE,KAAK,EACjB,IAAI,EAAE,CAAC,OAAO,EAAE,uBAAuB,KAAK,WAAW,CAAC,CAAC,CAAC,GAAG,SAAS,GACrE,oBAAoB,CAAC,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,QAAQ,MAAM,UAAU,CAAC;AAC1C,OAAO,KAAK,KAAK,IAAI,MAAM,MAAM,CAAC;AAClC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEtD,MAAM,WAAW,WAAW,CAAC,CAAC,GAAG,GAAG;IAClC,MAAM,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IAC1C,QAAQ,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IAC5C,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;CACrC;AAED,MAAM,WAAW,oBAAoB,CAAC,CAAC,GAAG,GAAG;IAC3C,QAAQ,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IACpE,IAAI,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;CAC7D;AAED,MAAM,WAAW,YAAY,CAAC,CAAC,GAAG,GAAG;IACnC,QAAQ,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC7D,IAAI,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;CACtD;AAED,wBAAgB,YAAY,CAAC,KAAK,SAAS,MAAM,EAAE,CAAC,GAAG,GAAG,EACxD,UAAU,EAAE,KAAK,EACjB,IAAI,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,WAAW,CAAC,CAAC,CAAC,GACnD,YAAY,CAAC,CAAC,CAAC,CAAC;AAEnB,wBAAgB,YAAY,CAAC,KAAK,SAAS,MAAM,EAAE,CAAC,GAAG,GAAG,EACxD,UAAU,EAAE,KAAK,EACjB,IAAI,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,WAAW,CAAC,CAAC,CAAC,GAAG,SAAS,GAC/D,oBAAoB,CAAC,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"factory.js","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"AA8BA,MAAM,UAAU,YAAY,CAC1B,UAAiB,EACjB,IAAsE;IAEtE,MAAM,IAAI,GAAG,wBAAwB,UAAU,EAAE,CAAC;IAClD,OAAO;QACL,QAAQ,EAAE,CAAC,OAAgC,EAAE,EAAE;YAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;YAC7B,IAAI,CAAC,MAAM;gBAAE,OAAO,IAAI,CAAC;YACzB,OAAO;gBACL,IAAI;gBACJ,GAAG,MAAM,CAAC,MAAM;gBAChB,GAAG,MAAM,CAAC,QAAQ;aACnB,CAAC;QACJ,CAAC;QACD,IAAI,EAAE,CAAC,OAAgC,EAAE,EAAE;YACzC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;YAC7B,IAAI,CAAC,MAAM;gBAAE,OAAO,IAAI,CAAC;YACzB,OAAO;gBACL,IAAI;gBACJ,iBAAiB,EAAE,IAAI;gBACvB,kBAAkB,CAAC,WAAW;oBAC5B,OAAO,WAAW,CAAC,IAAI,KAAK,QAAQ,CAAC;gBACvC,CAAC;gBACD,GAAG,MAAM,CAAC,MAAM;gBAChB,GAAG,MAAM,CAAC,IAAI;aACA,CAAC;QACnB,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"factory.js","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"AA8BA,MAAM,UAAU,YAAY,CAC1B,UAAiB,EACjB,IAAgE;IAEhE,MAAM,IAAI,GAAG,wBAAwB,UAAU,EAAE,CAAC;IAClD,OAAO;QACL,QAAQ,EAAE,CAAC,OAA0B,EAAE,EAAE;YACvC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;YAC7B,IAAI,CAAC,MAAM;gBAAE,OAAO,IAAI,CAAC;YACzB,OAAO;gBACL,IAAI;gBACJ,GAAG,MAAM,CAAC,MAAM;gBAChB,GAAG,MAAM,CAAC,QAAQ;aACnB,CAAC;QACJ,CAAC;QACD,IAAI,EAAE,CAAC,OAA0B,EAAE,EAAE;YACnC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;YAC7B,IAAI,CAAC,MAAM;gBAAE,OAAO,IAAI,CAAC;YACzB,OAAO;gBACL,IAAI;gBACJ,iBAAiB,EAAE,IAAI;gBACvB,kBAAkB,CAAC,WAAW;oBAC5B,OAAO,WAAW,CAAC,IAAI,KAAK,QAAQ,CAAC;gBACvC,CAAC;gBACD,GAAG,MAAM,CAAC,MAAM;gBAChB,GAAG,MAAM,CAAC,IAAI;aACA,CAAC;QACnB,CAAC;KACF,CAAC;AACJ,CAAC"}
package/dist/options.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export interface CloudflarePluginOptions {
1
+ export interface BasePluginOptions {
2
2
  /**
3
3
  * The main entry point to use.
4
4
  * Defaults to the one from your Rolldown configuration.
@@ -28,5 +28,22 @@ export interface CloudflarePluginOptions {
28
28
  * ```
29
29
  */
30
30
  exports?: Array<string>;
31
+ /**
32
+ * Which Vite environment hosts the Worker, and any child environments it
33
+ * loads at runtime. Defaults to the single `ssr` environment.
34
+ *
35
+ * `@vitejs/plugin-rsc` apps run the Worker in the `rsc` environment (resolved
36
+ * with the `react-server` condition) and load the `ssr` environment from it,
37
+ * so they set `{ name: "rsc", childEnvironments: ["ssr"] }`. Every named
38
+ * environment is given the Worker treatment (workerd resolve conditions,
39
+ * dependency pre-bundling) and a module runner in dev.
40
+ *
41
+ * @default { entry: "ssr", children: [] }
42
+ */
43
+ viteEnvironments?: {
44
+ entry?: string;
45
+ children?: Array<string>;
46
+ };
31
47
  }
48
+ export declare const parseViteEnvironments: (options: BasePluginOptions) => [string, ...Array<string>];
32
49
  //# sourceMappingURL=options.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,uBAAuB;IACtC;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;;;;OAOG;IACH,kBAAkB,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACnC;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;CACzB"}
1
+ {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,iBAAiB;IAChC;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;;;;OAOG;IACH,kBAAkB,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACnC;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACxB;;;;;;;;;;;OAWG;IACH,gBAAgB,CAAC,EAAE;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;KAC1B,CAAC;CACH;AAED,eAAO,MAAM,qBAAqB,GAAI,SAAS,iBAAiB,KAAG,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,CAwB3F,CAAC"}
package/dist/options.js CHANGED
@@ -1 +1,20 @@
1
+ export const parseViteEnvironments = (options) => {
2
+ const entry = options.viteEnvironments?.entry ?? "ssr";
3
+ if (entry === "client") {
4
+ throw new Error('The "client" environment cannot be used as a worker environment because it is reserved for the browser.');
5
+ }
6
+ const children = (options.viteEnvironments?.children ?? []).map((name, index, self) => {
7
+ if (name === "client") {
8
+ throw new Error('The "client" environment cannot be used as a worker environment because it is reserved for the browser.');
9
+ }
10
+ else if (self.indexOf(name) !== index) {
11
+ throw new Error(`The name "${name}" appears more than once in the Vite environment list. Worker environment names must be unique.`);
12
+ }
13
+ else if (name === entry) {
14
+ throw new Error(`The child environment "${name}" cannot have the same name as the entry environment "${entry}".`);
15
+ }
16
+ return name;
17
+ });
18
+ return [entry, ...children];
19
+ };
1
20
  //# sourceMappingURL=options.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"options.js","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"options.js","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":"AAgDA,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,OAA0B,EAA8B,EAAE;IAC9F,MAAM,KAAK,GAAG,OAAO,CAAC,gBAAgB,EAAE,KAAK,IAAI,KAAK,CAAC;IACvD,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CACb,yGAAyG,CAC1G,CAAC;IACJ,CAAC;IACD,MAAM,QAAQ,GAAG,CAAC,OAAO,CAAC,gBAAgB,EAAE,QAAQ,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QACpF,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CACb,yGAAyG,CAC1G,CAAC;QACJ,CAAC;aAAM,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,KAAK,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CACb,aAAa,IAAI,iGAAiG,CACnH,CAAC;QACJ,CAAC;aAAM,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CACb,0BAA0B,IAAI,yDAAyD,KAAK,IAAI,CACjG,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,KAAK,EAAE,GAAG,QAAQ,CAAC,CAAC;AAC9B,CAAC,CAAC"}
package/dist/plugin.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import type * as rolldown from "rolldown";
2
- import type { CloudflarePluginOptions } from "./options.js";
3
- export type CloudflarePlugin = (options?: CloudflarePluginOptions) => Array<rolldown.Plugin | null>;
4
- declare const cloudflare: CloudflarePlugin;
2
+ import type { BasePluginOptions } from "./options.js";
3
+ export type RolldownPluginOptions = Omit<BasePluginOptions, "viteEnvironment">;
4
+ export type RolldownPlugin = (options?: RolldownPluginOptions) => Array<rolldown.Plugin | null>;
5
+ declare const cloudflare: RolldownPlugin;
5
6
  export default cloudflare;
6
7
  //# sourceMappingURL=plugin.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,QAAQ,MAAM,UAAU,CAAC;AAC1C,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAY5D,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,CAAC,EAAE,uBAAuB,KAAK,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;AAEpG,QAAA,MAAM,UAAU,EAAE,gBAWjB,CAAC;AAEF,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,QAAQ,MAAM,UAAU,CAAC;AAC1C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAYtD,MAAM,MAAM,qBAAqB,GAAG,IAAI,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,CAAC;AAE/E,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,CAAC,EAAE,qBAAqB,KAAK,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;AAEhG,QAAA,MAAM,UAAU,EAAE,cAWjB,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,uBAAuB,EACvB,yBAAyB,EACzB,eAAe,EACf,yBAAyB,EACzB,iBAAiB,EACjB,aAAa,EACb,oBAAoB,EACpB,cAAc,GACf,MAAM,oBAAoB,CAAC;AAI5B,MAAM,UAAU,GAAqB,CAAC,OAAO,GAAG,EAAE,EAAE,EAAE;IACpD,OAAO;QACL,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC;QAC/B,yBAAyB,CAAC,QAAQ,CAAC,OAAO,CAAC;QAC3C,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC;QACjC,yBAAyB,CAAC,QAAQ,CAAC,OAAO,CAAC;QAC3C,iBAAiB,CAAC,QAAQ,CAAC,OAAO,CAAC;QACnC,oBAAoB,CAAC,QAAQ,CAAC,OAAO,CAAC;QACtC,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC;QAChC,uBAAuB,CAAC,QAAQ,CAAC,OAAO,CAAC;KAC1C,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,uBAAuB,EACvB,yBAAyB,EACzB,eAAe,EACf,yBAAyB,EACzB,iBAAiB,EACjB,aAAa,EACb,oBAAoB,EACpB,cAAc,GACf,MAAM,oBAAoB,CAAC;AAM5B,MAAM,UAAU,GAAmB,CAAC,OAAO,GAAG,EAAE,EAAE,EAAE;IAClD,OAAO;QACL,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC;QAC/B,yBAAyB,CAAC,QAAQ,CAAC,OAAO,CAAC;QAC3C,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC;QACjC,yBAAyB,CAAC,QAAQ,CAAC,OAAO,CAAC;QAC3C,iBAAiB,CAAC,QAAQ,CAAC,OAAO,CAAC;QACnC,oBAAoB,CAAC,QAAQ,CAAC,OAAO,CAAC;QACtC,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC;QAChC,uBAAuB,CAAC,QAAQ,CAAC,OAAO,CAAC;KAC1C,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import MagicString from "magic-string";
2
2
  import path from "node:path";
3
3
  import { createPlugin } from "../factory.js";
4
- import { sanitizePath } from "../utils.js";
4
+ import { sanitizePath, toPosixPath } from "../utils.js";
5
5
  export const MODULE_RULES = [
6
6
  { type: "CompiledWasm", pattern: /\.wasm(\?module)?$/ },
7
7
  { type: "Data", pattern: /\.bin$/ },
@@ -55,7 +55,7 @@ export const additionalModulesPlugin = createPlugin("additional-modules", () =>
55
55
  source,
56
56
  });
57
57
  const fileName = this.getFileName(referenceId);
58
- const relativePath = path.relative(path.dirname(chunk.fileName), fileName);
58
+ const relativePath = toPosixPath(path.relative(path.dirname(chunk.fileName), fileName));
59
59
  const importPath = relativePath.startsWith(".") ? relativePath : `./${relativePath}`;
60
60
  magicString.update(match.index, match.index + full.length, importPath);
61
61
  }
@@ -1 +1 @@
1
- {"version":3,"file":"additional-modules.js","sourceRoot":"","sources":["../../src/plugins/additional-modules.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"additional-modules.js","sourceRoot":"","sources":["../../src/plugins/additional-modules.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"nodejs-compat.d.ts","sourceRoot":"","sources":["../../src/plugins/nodejs-compat.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,eAAe,mDA0B1B,CAAC;AAEH,MAAM,WAAW,QAAQ;IACvB,QAAQ,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAChC,MAAM,EAAE;QAAE,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;CAC5C;AAED,eAAO,MAAM,iBAAiB,wDAuJ7B,CAAC;AAEF,eAAO,MAAM,yBAAyB,mDA0DpC,CAAC"}
1
+ {"version":3,"file":"nodejs-compat.d.ts","sourceRoot":"","sources":["../../src/plugins/nodejs-compat.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,eAAe,mDA0B1B,CAAC;AAEH,MAAM,WAAW,QAAQ;IACvB,QAAQ,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAChC,MAAM,EAAE;QAAE,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;CAC5C;AAED,eAAO,MAAM,iBAAiB,wDAuJ7B,CAAC;AAEF,eAAO,MAAM,yBAAyB,mDA2DpC,CAAC"}
@@ -4,7 +4,7 @@ import { createRequire } from "node:module";
4
4
  import path from "node:path";
5
5
  import { defineEnv } from "unenv";
6
6
  import { createPlugin } from "../factory.js";
7
- import { hasNodejsAls, hasNodejsCompat } from "../utils.js";
7
+ import { hasNodejsAls, hasNodejsCompat, toPosixPath } from "../utils.js";
8
8
  const ASYNC_HOOKS_REGEXP = /^(node:)?async_hooks$/;
9
9
  const NODE_BUILTIN_MODULES_REGEXP = new RegExp(`^(${nonPrefixedNodeModules.join("|")}|node:.+)$`);
10
10
  export const nodejsAlsPlugin = createPlugin("nodejs-als", (options) => {
@@ -236,7 +236,7 @@ export const nodejsImportWarningPlugin = createPlugin("nodejs-import-warning", (
236
236
  "Unexpected Node.js imports. ",
237
237
  'Do you need to enable the "nodejs_compat" compatibility flag? ',
238
238
  "Refer to https://developers.cloudflare.com/workers/runtime-apis/nodejs/ for more details.\n",
239
- ...filteredImports.map(({ id, importer }) => ` - "${id}" imported from "${path.relative(root, importer)}"\n`),
239
+ ...filteredImports.map(({ id, importer }) => ` - "${id}" imported from "${toPosixPath(path.relative(root, importer))}"\n`),
240
240
  ].join("");
241
241
  this.warn(message);
242
242
  }
@@ -1 +1 @@
1
- {"version":3,"file":"nodejs-compat.js","sourceRoot":"","sources":["../../src/plugins/nodejs-compat.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nodejs-compat.js","sourceRoot":"","sources":["../../src/plugins/nodejs-compat.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../src/plugins/options.ts"],"names":[],"mappings":"AAwBA,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACrC;AAED,eAAO,MAAM,aAAa,kDAoIxB,CAAC"}
1
+ {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../src/plugins/options.ts"],"names":[],"mappings":"AAwBA,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACrC;AAED,eAAO,MAAM,aAAa,kDAsKxB,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import path from "node:path";
2
2
  import { createPlugin } from "../factory.js";
3
+ import { parseViteEnvironments } from "../options.js";
3
4
  import { hasNodejsCompat } from "../utils.js";
4
5
  import { WORKER_ENTRY_PREFIX } from "./virtual-modules.js";
5
6
  const DEFAULT_RESOLVE_CONDITION_NAMES = ["workerd", "worker", "module", "browser"];
@@ -46,104 +47,144 @@ export const optionsPlugin = createPlugin("options", (pluginOptions) => {
46
47
  async config(userConfig) {
47
48
  const vite = await import("vite");
48
49
  const isRolldown = "rolldownVersion" in this.meta;
49
- input = normalizeInput(pluginOptions.main ??
50
- userConfig.environments?.ssr?.build?.rolldownOptions?.input ??
51
- userConfig.environments?.ssr?.build?.rollupOptions?.input ??
52
- {});
50
+ const environmentNames = parseViteEnvironments(pluginOptions);
51
+ input = normalizeInput(pluginOptions.main ?? defaultEnvironmentEntries(environmentNames[0], userConfig) ?? {});
53
52
  const rollupOptions = {
54
53
  input: wrapInput(input),
55
54
  preserveEntrySignatures: "strict",
56
55
  };
57
56
  const define = getDefine(pluginOptions, process.env.NODE_ENV || userConfig.mode || "production");
58
- const appType = userConfig.appType ?? (Object.keys(input).length === 0 ? "spa" : "custom");
59
- return {
60
- appType,
61
- ssr: {
62
- noExternal: true,
57
+ const makeEnvironment = ({ name, isEntry, }) => {
58
+ const entries = isEntry
59
+ ? (pluginOptions.main ?? defaultEnvironmentEntries(name, userConfig))
60
+ : (defaultEnvironmentEntries(name, userConfig) ?? pluginOptions.main);
61
+ return {
62
+ // Bake `process.env.NODE_ENV` (and friends) into the worker build.
63
+ // workerd has no value for it at runtime, so without this libraries
64
+ // like React fall back to their development builds. Setting `define`
65
+ // at the environment level applies it even though `keepProcessEnv`
66
+ // stays `true` (so other `process.env` access is preserved at
67
+ // runtime for `nodejs_compat`).
68
+ define,
63
69
  resolve: {
70
+ noExternal: true,
64
71
  conditions: [...DEFAULT_RESOLVE_CONDITION_NAMES, "development|production"],
65
72
  },
66
- },
73
+ optimizeDeps: {
74
+ noDiscovery: false,
75
+ ignoreOutdatedRequests: true,
76
+ entries: asArray(entries)?.map(vite.normalizePath),
77
+ ...(isRolldown
78
+ ? {
79
+ rolldownOptions: {
80
+ platform: "neutral",
81
+ resolve: {
82
+ conditionNames: [
83
+ ...DEFAULT_RESOLVE_CONDITION_NAMES,
84
+ "development|production",
85
+ ],
86
+ mainFields: DEFAULT_RESOLVE_MAIN_FIELDS,
87
+ extensions: DEFAULT_RESOLVE_EXTENSIONS,
88
+ },
89
+ transform: {
90
+ target: TARGET,
91
+ define,
92
+ },
93
+ },
94
+ }
95
+ : {
96
+ esbuildOptions: {
97
+ platform: "neutral",
98
+ conditions: [...DEFAULT_RESOLVE_CONDITION_NAMES, "development|production"],
99
+ resolveExtensions: DEFAULT_RESOLVE_EXTENSIONS,
100
+ mainFields: DEFAULT_RESOLVE_MAIN_FIELDS,
101
+ target: TARGET,
102
+ define,
103
+ },
104
+ }),
105
+ },
106
+ keepProcessEnv: true,
107
+ // The entry environment owns the Worker's build input and server
108
+ // output directory; children (e.g. `ssr`) keep their own build config
109
+ // from the framework plugin (`@vitejs/plugin-rsc`).
110
+ ...(isEntry
111
+ ? {
112
+ build: {
113
+ ssr: true,
114
+ target: TARGET,
115
+ emitAssets: true,
116
+ copyPublicDir: false,
117
+ outDir: getOutputDirectory(userConfig, name),
118
+ ...(isRolldown
119
+ ? {
120
+ rolldownOptions: {
121
+ ...rollupOptions,
122
+ platform: "neutral",
123
+ resolve: {
124
+ mainFields: DEFAULT_RESOLVE_MAIN_FIELDS,
125
+ extensions: DEFAULT_RESOLVE_EXTENSIONS,
126
+ },
127
+ },
128
+ }
129
+ : { rollupOptions }),
130
+ },
131
+ }
132
+ : {}),
133
+ };
134
+ };
135
+ const appType = userConfig.appType ?? (Object.keys(input).length === 0 ? "spa" : "custom");
136
+ return {
137
+ appType,
67
138
  builder: appType === "spa"
68
139
  ? undefined
69
140
  : {
70
- buildApp: async (app) => {
71
- for (const environment of Object.values(app.environments)) {
72
- await app.build(environment);
141
+ // We need to include this for `builder.buildApp()` to work
142
+ // because not all frameworks provide it...
143
+ buildApp: async (builder) => {
144
+ for (const environment of Object.values(builder.environments)) {
145
+ // ...however, if your framework does provide a `buildApp` hook,
146
+ // this check prevents us from building the environment twice.
147
+ if (environment.isBuilt)
148
+ continue;
149
+ await builder.build(environment);
73
150
  }
74
151
  },
75
152
  },
153
+ ssr: {
154
+ noExternal: true,
155
+ resolve: {
156
+ conditions: [...DEFAULT_RESOLVE_CONDITION_NAMES, "development|production"],
157
+ },
158
+ },
76
159
  environments: {
77
160
  client: {
78
161
  build: {
79
162
  outDir: getOutputDirectory(userConfig, "client"),
80
163
  },
81
164
  },
82
- ssr: {
83
- resolve: {
84
- noExternal: true,
85
- conditions: [...DEFAULT_RESOLVE_CONDITION_NAMES, "development|production"],
86
- },
87
- build: {
88
- ssr: true,
89
- target: TARGET,
90
- emitAssets: true,
91
- copyPublicDir: false,
92
- outDir: getOutputDirectory(userConfig, "server"),
93
- ...(isRolldown
94
- ? {
95
- rolldownOptions: {
96
- ...rollupOptions,
97
- platform: "neutral",
98
- resolve: {
99
- mainFields: DEFAULT_RESOLVE_MAIN_FIELDS,
100
- extensions: DEFAULT_RESOLVE_EXTENSIONS,
101
- },
102
- },
103
- }
104
- : { rollupOptions }),
105
- },
106
- optimizeDeps: {
107
- noDiscovery: false,
108
- ignoreOutdatedRequests: true,
109
- entries: pluginOptions.main ? vite.normalizePath(pluginOptions.main) : undefined,
110
- ...(isRolldown
111
- ? {
112
- rolldownOptions: {
113
- platform: "neutral",
114
- resolve: {
115
- conditionNames: [
116
- ...DEFAULT_RESOLVE_CONDITION_NAMES,
117
- "development|production",
118
- ],
119
- mainFields: DEFAULT_RESOLVE_MAIN_FIELDS,
120
- extensions: DEFAULT_RESOLVE_EXTENSIONS,
121
- },
122
- transform: {
123
- target: TARGET,
124
- define,
125
- },
126
- },
127
- }
128
- : {
129
- esbuildOptions: {
130
- platform: "neutral",
131
- conditions: [...DEFAULT_RESOLVE_CONDITION_NAMES, "development|production"],
132
- resolveExtensions: DEFAULT_RESOLVE_EXTENSIONS,
133
- mainFields: DEFAULT_RESOLVE_MAIN_FIELDS,
134
- target: TARGET,
135
- define,
136
- },
137
- }),
138
- },
139
- keepProcessEnv: true,
140
- },
165
+ ...Object.fromEntries(environmentNames.map((name, index) => [
166
+ name,
167
+ makeEnvironment({ name, isEntry: index === 0 }),
168
+ ])),
141
169
  },
142
170
  };
143
171
  },
144
172
  },
145
173
  };
146
174
  });
175
+ const defaultEnvironmentEntries = (environmentName, userConfig) => {
176
+ const environment = userConfig.environments?.[environmentName];
177
+ return environment?.build?.rolldownOptions?.input ?? environment?.build?.rollupOptions?.input;
178
+ };
179
+ const asArray = (input) => {
180
+ if (!input)
181
+ return;
182
+ if (typeof input === "string")
183
+ return [input];
184
+ if (Array.isArray(input) && input.length > 0)
185
+ return input;
186
+ return Object.values(input);
187
+ };
147
188
  const normalizeInput = (input) => {
148
189
  if (typeof input === "string") {
149
190
  return { [path.parse(input).name || "index"]: input };
@@ -155,8 +196,19 @@ const normalizeInput = (input) => {
155
196
  return input;
156
197
  }
157
198
  };
158
- const wrapInput = (input) => Object.fromEntries(Object.entries(input).map(([key, id]) => [key, `${WORKER_ENTRY_PREFIX}${id}`]));
159
- function getDefine(options, nodeEnv) {
199
+ // Worker entry ids are embedded into synthetic `\0distilled:worker-entry:` module
200
+ // specifiers and round-tripped through Rolldown/Vite id handling, which expects
201
+ // POSIX-style separators. On Windows the input is an absolute path with `\`
202
+ // separators (e.g. `D:\app\entry-server.ts`), which corrupts the virtual id and
203
+ // breaks resolution (`\0distilled:user-entry:D:\app\…` fails to resolve).
204
+ // Normalize to forward slashes so the virtual id stays valid on every platform —
205
+ // a no-op on POSIX, where ids already use `/`.
206
+ const normalizeEntryId = (id) => id.replace(/\\/g, "/");
207
+ const wrapInput = (input) => Object.fromEntries(Object.entries(input).map(([key, id]) => [
208
+ key,
209
+ `${WORKER_ENTRY_PREFIX}${normalizeEntryId(id)}`,
210
+ ]));
211
+ const getDefine = (options, nodeEnv) => {
160
212
  return {
161
213
  "process.env.NODE_ENV": JSON.stringify(nodeEnv),
162
214
  "global.process.env.NODE_ENV": JSON.stringify(nodeEnv),
@@ -179,10 +231,10 @@ function getDefine(options, nodeEnv) {
179
231
  }
180
232
  : {}),
181
233
  };
182
- }
183
- function getOutputDirectory(userConfig, environmentName) {
234
+ };
235
+ const getOutputDirectory = (userConfig, environmentName) => {
184
236
  const rootOutputDirectory = userConfig.build?.outDir ?? "dist";
185
237
  return (userConfig.environments?.[environmentName]?.build?.outDir ??
186
238
  path.join(rootOutputDirectory, environmentName));
187
- }
239
+ };
188
240
  //# sourceMappingURL=options.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/plugins/options.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE3D,MAAM,+BAA+B,GAAG,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;AACnF,MAAM,2BAA2B,GAAG,CAAC,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;AAC3F,MAAM,0BAA0B,GAAG;IACjC,MAAM;IACN,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,MAAM;CACP,CAAC;AAEF,MAAM,MAAM,GAAG,QAAQ,CAAC;AAMxB,MAAM,CAAC,MAAM,aAAa,GAAG,YAAY,CAAwB,SAAS,EAAE,CAAC,aAAa,EAAE,EAAE;IAC5F,IAAI,KAAK,GAA2B,EAAE,CAAC;IACvC,OAAO;QACL,MAAM,EAAE;YACN,GAAG,EAAE;gBACH,KAAK,EAAE,GAAG,EAAE,CAAC,KAAK;aACnB;SACF;QACD,QAAQ,EAAE;YACR,OAAO,CAAC,OAAO;gBACb,KAAK,GAAG,cAAc,CAAC,aAAa,CAAC,IAAI,IAAI,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;gBAClE,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;gBACjC,OAAO,CAAC,uBAAuB,KAAK,QAAQ,CAAC;gBAC7C,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC;gBAC/B,OAAO,CAAC,OAAO,KAAK,EAAE,CAAC;gBACvB,OAAO,CAAC,OAAO,CAAC,cAAc,KAAK,CAAC,GAAG,+BAA+B,EAAE,YAAY,CAAC,CAAC;gBACtF,OAAO,CAAC,OAAO,CAAC,UAAU,KAAK,2BAA2B,CAAC;gBAC3D,OAAO,CAAC,OAAO,CAAC,UAAU,KAAK,0BAA0B,CAAC;gBAC1D,OAAO,CAAC,SAAS,KAAK,EAAE,CAAC;gBACzB,OAAO,CAAC,SAAS,CAAC,MAAM,KAAK,MAAM,CAAC;gBACpC,OAAO,CAAC,SAAS,CAAC,MAAM,KAAK,EAAE,CAAC;gBAChC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC,CAAC;gBAChF,OAAO,OAAO,CAAC;YACjB,CAAC;SACF;QACD,IAAI,EAAE;YACJ,KAAK,CAAC,MAAM,CAAC,UAAU;gBACrB,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC;gBAClC,MAAM,UAAU,GAAG,iBAAiB,IAAI,IAAI,CAAC,IAAI,CAAC;gBAClD,KAAK,GAAG,cAAc,CACpB,aAAa,CAAC,IAAI;oBAChB,UAAU,CAAC,YAAY,EAAE,GAAG,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK;oBAC3D,UAAU,CAAC,YAAY,EAAE,GAAG,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK;oBACzD,EAAE,CACL,CAAC;gBACF,MAAM,aAAa,GAA8B;oBAC/C,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC;oBACvB,uBAAuB,EAAE,QAAQ;iBAClC,CAAC;gBACF,MAAM,MAAM,GAAG,SAAS,CACtB,aAAa,EACb,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,UAAU,CAAC,IAAI,IAAI,YAAY,CACxD,CAAC;gBACF,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;gBAC3F,OAAO;oBACL,OAAO;oBACP,GAAG,EAAE;wBACH,UAAU,EAAE,IAAI;wBAChB,OAAO,EAAE;4BACP,UAAU,EAAE,CAAC,GAAG,+BAA+B,EAAE,wBAAwB,CAAC;yBAC3E;qBACF;oBACD,OAAO,EACL,OAAO,KAAK,KAAK;wBACf,CAAC,CAAC,SAAS;wBACX,CAAC,CAAC;4BACE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;gCACtB,KAAK,MAAM,WAAW,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;oCAC1D,MAAM,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;gCAC/B,CAAC;4BACH,CAAC;yBACF;oBACP,YAAY,EAAE;wBACZ,MAAM,EAAE;4BACN,KAAK,EAAE;gCACL,MAAM,EAAE,kBAAkB,CAAC,UAAU,EAAE,QAAQ,CAAC;6BACjD;yBACF;wBACD,GAAG,EAAE;4BACH,OAAO,EAAE;gCACP,UAAU,EAAE,IAAI;gCAChB,UAAU,EAAE,CAAC,GAAG,+BAA+B,EAAE,wBAAwB,CAAC;6BAC3E;4BACD,KAAK,EAAE;gCACL,GAAG,EAAE,IAAI;gCACT,MAAM,EAAE,MAAM;gCACd,UAAU,EAAE,IAAI;gCAChB,aAAa,EAAE,KAAK;gCACpB,MAAM,EAAE,kBAAkB,CAAC,UAAU,EAAE,QAAQ,CAAC;gCAChD,GAAG,CAAC,UAAU;oCACZ,CAAC,CAAC;wCACE,eAAe,EAAE;4CACf,GAAG,aAAa;4CAChB,QAAQ,EAAE,SAAS;4CACnB,OAAO,EAAE;gDACP,UAAU,EAAE,2BAA2B;gDACvC,UAAU,EAAE,0BAA0B;6CACvC;yCACF;qCACF;oCACH,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC;6BACvB;4BACD,YAAY,EAAE;gCACZ,WAAW,EAAE,KAAK;gCAClB,sBAAsB,EAAE,IAAI;gCAC5B,OAAO,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;gCAChF,GAAG,CAAC,UAAU;oCACZ,CAAC,CAAC;wCACE,eAAe,EAAE;4CACf,QAAQ,EAAE,SAAS;4CACnB,OAAO,EAAE;gDACP,cAAc,EAAE;oDACd,GAAG,+BAA+B;oDAClC,wBAAwB;iDACzB;gDACD,UAAU,EAAE,2BAA2B;gDACvC,UAAU,EAAE,0BAA0B;6CACvC;4CACD,SAAS,EAAE;gDACT,MAAM,EAAE,MAAM;gDACd,MAAM;6CACP;yCACF;qCACF;oCACH,CAAC,CAAC;wCACE,cAAc,EAAE;4CACd,QAAQ,EAAE,SAAS;4CACnB,UAAU,EAAE,CAAC,GAAG,+BAA+B,EAAE,wBAAwB,CAAC;4CAC1E,iBAAiB,EAAE,0BAA0B;4CAC7C,UAAU,EAAE,2BAA2B;4CACvC,MAAM,EAAE,MAAM;4CACd,MAAM;yCACP;qCACF,CAAC;6BACP;4BACD,cAAc,EAAE,IAAI;yBACrB;qBACF;iBACF,CAAC;YACJ,CAAC;SACF;KACF,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,MAAM,cAAc,GAAG,CACrB,KAAsD,EAC9B,EAAE;IAC1B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC;IACxD,CAAC;SAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAChC,OAAO,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACvE,CAAC;SAAM,CAAC;QACN,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,SAAS,GAAG,CAAC,KAA6B,EAAE,EAAE,CAClD,MAAM,CAAC,WAAW,CAChB,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,GAAG,mBAAmB,GAAG,EAAE,EAAW,CAAC,CAAC,CACxF,CAAC;AAEJ,SAAS,SAAS,CAAC,OAAgC,EAAE,OAAe;IAClE,OAAO;QACL,sBAAsB,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;QAC/C,6BAA6B,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;QACtD,iCAAiC,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;QAC1D,GAAG,CAAC,eAAe,CAAC,OAAO,CAAC,kBAAkB,CAAC;YAC7C,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC;gBACE,aAAa,EAAE,IAAI;gBACnB,oBAAoB,EAAE,IAAI;gBAC1B,wBAAwB,EAAE,IAAI;aAC/B,CAAC;QACN,GAAG,CAAC,OAAO,CAAC,iBAAiB,IAAI,OAAO,CAAC,iBAAiB,IAAI,YAAY;YACxE,CAAC,CAAC;gBACE,qBAAqB,EAAE,sBAAsB;aAC9C;YACH,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,OAAO,KAAK,YAAY;YAC1B,CAAC,CAAC;gBACE,iBAAiB,EAAE,OAAO;aAC3B;YACH,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,UAA2B,EAAE,eAAuB;IAC9E,MAAM,mBAAmB,GAAG,UAAU,CAAC,KAAK,EAAE,MAAM,IAAI,MAAM,CAAC;IAE/D,OAAO,CACL,UAAU,CAAC,YAAY,EAAE,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,MAAM;QACzD,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,eAAe,CAAC,CAChD,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/plugins/options.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,qBAAqB,EAA0B,MAAM,eAAe,CAAC;AAC9E,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE3D,MAAM,+BAA+B,GAAG,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;AACnF,MAAM,2BAA2B,GAAG,CAAC,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;AAC3F,MAAM,0BAA0B,GAAG;IACjC,MAAM;IACN,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,MAAM;CACP,CAAC;AAEF,MAAM,MAAM,GAAG,QAAQ,CAAC;AAMxB,MAAM,CAAC,MAAM,aAAa,GAAG,YAAY,CAAwB,SAAS,EAAE,CAAC,aAAa,EAAE,EAAE;IAC5F,IAAI,KAAK,GAA2B,EAAE,CAAC;IACvC,OAAO;QACL,MAAM,EAAE;YACN,GAAG,EAAE;gBACH,KAAK,EAAE,GAAG,EAAE,CAAC,KAAK;aACnB;SACF;QACD,QAAQ,EAAE;YACR,OAAO,CAAC,OAAO;gBACb,KAAK,GAAG,cAAc,CAAC,aAAa,CAAC,IAAI,IAAI,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;gBAClE,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;gBACjC,OAAO,CAAC,uBAAuB,KAAK,QAAQ,CAAC;gBAC7C,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC;gBAC/B,OAAO,CAAC,OAAO,KAAK,EAAE,CAAC;gBACvB,OAAO,CAAC,OAAO,CAAC,cAAc,KAAK,CAAC,GAAG,+BAA+B,EAAE,YAAY,CAAC,CAAC;gBACtF,OAAO,CAAC,OAAO,CAAC,UAAU,KAAK,2BAA2B,CAAC;gBAC3D,OAAO,CAAC,OAAO,CAAC,UAAU,KAAK,0BAA0B,CAAC;gBAC1D,OAAO,CAAC,SAAS,KAAK,EAAE,CAAC;gBACzB,OAAO,CAAC,SAAS,CAAC,MAAM,KAAK,MAAM,CAAC;gBACpC,OAAO,CAAC,SAAS,CAAC,MAAM,KAAK,EAAE,CAAC;gBAChC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC,CAAC;gBAChF,OAAO,OAAO,CAAC;YACjB,CAAC;SACF;QACD,IAAI,EAAE;YACJ,KAAK,CAAC,MAAM,CAAC,UAAU;gBACrB,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC;gBAClC,MAAM,UAAU,GAAG,iBAAiB,IAAI,IAAI,CAAC,IAAI,CAAC;gBAClD,MAAM,gBAAgB,GAAG,qBAAqB,CAAC,aAAa,CAAC,CAAC;gBAC9D,KAAK,GAAG,cAAc,CACpB,aAAa,CAAC,IAAI,IAAI,yBAAyB,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,IAAI,EAAE,CACvF,CAAC;gBACF,MAAM,aAAa,GAA8B;oBAC/C,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC;oBACvB,uBAAuB,EAAE,QAAQ;iBAClC,CAAC;gBACF,MAAM,MAAM,GAAG,SAAS,CACtB,aAAa,EACb,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,UAAU,CAAC,IAAI,IAAI,YAAY,CACxD,CAAC;gBACF,MAAM,eAAe,GAAG,CAAC,EACvB,IAAI,EACJ,OAAO,GAIR,EAA2B,EAAE;oBAC5B,MAAM,OAAO,GAAG,OAAO;wBACrB,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,IAAI,yBAAyB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;wBACrE,CAAC,CAAC,CAAC,yBAAyB,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC;oBACxE,OAAO;wBACL,mEAAmE;wBACnE,oEAAoE;wBACpE,qEAAqE;wBACrE,mEAAmE;wBACnE,8DAA8D;wBAC9D,gCAAgC;wBAChC,MAAM;wBACN,OAAO,EAAE;4BACP,UAAU,EAAE,IAAI;4BAChB,UAAU,EAAE,CAAC,GAAG,+BAA+B,EAAE,wBAAwB,CAAC;yBAC3E;wBACD,YAAY,EAAE;4BACZ,WAAW,EAAE,KAAK;4BAClB,sBAAsB,EAAE,IAAI;4BAC5B,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC;4BAClD,GAAG,CAAC,UAAU;gCACZ,CAAC,CAAC;oCACE,eAAe,EAAE;wCACf,QAAQ,EAAE,SAAS;wCACnB,OAAO,EAAE;4CACP,cAAc,EAAE;gDACd,GAAG,+BAA+B;gDAClC,wBAAwB;6CACzB;4CACD,UAAU,EAAE,2BAA2B;4CACvC,UAAU,EAAE,0BAA0B;yCACvC;wCACD,SAAS,EAAE;4CACT,MAAM,EAAE,MAAM;4CACd,MAAM;yCACP;qCACF;iCACF;gCACH,CAAC,CAAC;oCACE,cAAc,EAAE;wCACd,QAAQ,EAAE,SAAS;wCACnB,UAAU,EAAE,CAAC,GAAG,+BAA+B,EAAE,wBAAwB,CAAC;wCAC1E,iBAAiB,EAAE,0BAA0B;wCAC7C,UAAU,EAAE,2BAA2B;wCACvC,MAAM,EAAE,MAAM;wCACd,MAAM;qCACP;iCACF,CAAC;yBACP;wBACD,cAAc,EAAE,IAAI;wBACpB,iEAAiE;wBACjE,sEAAsE;wBACtE,oDAAoD;wBACpD,GAAG,CAAC,OAAO;4BACT,CAAC,CAAC;gCACE,KAAK,EAAE;oCACL,GAAG,EAAE,IAAI;oCACT,MAAM,EAAE,MAAM;oCACd,UAAU,EAAE,IAAI;oCAChB,aAAa,EAAE,KAAK;oCACpB,MAAM,EAAE,kBAAkB,CAAC,UAAU,EAAE,IAAI,CAAC;oCAC5C,GAAG,CAAC,UAAU;wCACZ,CAAC,CAAC;4CACE,eAAe,EAAE;gDACf,GAAG,aAAa;gDAChB,QAAQ,EAAE,SAAS;gDACnB,OAAO,EAAE;oDACP,UAAU,EAAE,2BAA2B;oDACvC,UAAU,EAAE,0BAA0B;iDACvC;6CACF;yCACF;wCACH,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC;iCACvB;6BACF;4BACH,CAAC,CAAC,EAAE,CAAC;qBACR,CAAC;gBACJ,CAAC,CAAC;gBACF,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;gBAC3F,OAAO;oBACL,OAAO;oBACP,OAAO,EACL,OAAO,KAAK,KAAK;wBACf,CAAC,CAAC,SAAS;wBACX,CAAC,CAAC;4BACE,2DAA2D;4BAC3D,2CAA2C;4BAC3C,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;gCAC1B,KAAK,MAAM,WAAW,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;oCAC9D,gEAAgE;oCAChE,8DAA8D;oCAC9D,IAAI,WAAW,CAAC,OAAO;wCAAE,SAAS;oCAClC,MAAM,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;gCACnC,CAAC;4BACH,CAAC;yBACF;oBACP,GAAG,EAAE;wBACH,UAAU,EAAE,IAAI;wBAChB,OAAO,EAAE;4BACP,UAAU,EAAE,CAAC,GAAG,+BAA+B,EAAE,wBAAwB,CAAC;yBAC3E;qBACF;oBACD,YAAY,EAAE;wBACZ,MAAM,EAAE;4BACN,KAAK,EAAE;gCACL,MAAM,EAAE,kBAAkB,CAAC,UAAU,EAAE,QAAQ,CAAC;6BACjD;yBACF;wBACD,GAAG,MAAM,CAAC,WAAW,CACnB,gBAAgB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;4BACpC,IAAI;4BACJ,eAAe,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,KAAK,CAAC,EAAE,CAAC;yBAChD,CAAC,CACH;qBACF;iBACF,CAAC;YACJ,CAAC;SACF;KACF,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,MAAM,yBAAyB,GAAG,CAChC,eAAuB,EACvB,UAA2B,EACY,EAAE;IACzC,MAAM,WAAW,GAAG,UAAU,CAAC,YAAY,EAAE,CAAC,eAAe,CAAC,CAAC;IAC/D,OAAO,WAAW,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,IAAI,WAAW,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,CAAC;AAChG,CAAC,CAAC;AAEF,MAAM,OAAO,GAAG,CACd,KAAkE,EACvC,EAAE;IAC7B,IAAI,CAAC,KAAK;QAAE,OAAO;IACnB,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IAC9C,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAC3D,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC9B,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,CACrB,KAAsD,EAC9B,EAAE;IAC1B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC;IACxD,CAAC;SAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAChC,OAAO,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACvE,CAAC;SAAM,CAAC;QACN,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC,CAAC;AAEF,kFAAkF;AAClF,gFAAgF;AAChF,4EAA4E;AAC5E,gFAAgF;AAChF,0EAA0E;AAC1E,iFAAiF;AACjF,+CAA+C;AAC/C,MAAM,gBAAgB,GAAG,CAAC,EAAU,EAAU,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AAExE,MAAM,SAAS,GAAG,CAAC,KAA6B,EAAE,EAAE,CAClD,MAAM,CAAC,WAAW,CAChB,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;IACvC,GAAG;IACH,GAAG,mBAAmB,GAAG,gBAAgB,CAAC,EAAE,CAAC,EAAW;CACzD,CAAC,CACH,CAAC;AAEJ,MAAM,SAAS,GAAG,CAAC,OAA0B,EAAE,OAAe,EAA0B,EAAE;IACxF,OAAO;QACL,sBAAsB,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;QAC/C,6BAA6B,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;QACtD,iCAAiC,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;QAC1D,GAAG,CAAC,eAAe,CAAC,OAAO,CAAC,kBAAkB,CAAC;YAC7C,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC;gBACE,aAAa,EAAE,IAAI;gBACnB,oBAAoB,EAAE,IAAI;gBAC1B,wBAAwB,EAAE,IAAI;aAC/B,CAAC;QACN,GAAG,CAAC,OAAO,CAAC,iBAAiB,IAAI,OAAO,CAAC,iBAAiB,IAAI,YAAY;YACxE,CAAC,CAAC;gBACE,qBAAqB,EAAE,sBAAsB;aAC9C;YACH,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,OAAO,KAAK,YAAY;YAC1B,CAAC,CAAC;gBACE,iBAAiB,EAAE,OAAO;aAC3B;YACH,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,CAAC,UAA2B,EAAE,eAAuB,EAAE,EAAE;IAClF,MAAM,mBAAmB,GAAG,UAAU,CAAC,KAAK,EAAE,MAAM,IAAI,MAAM,CAAC;IAE/D,OAAO,CACL,UAAU,CAAC,YAAY,EAAE,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,MAAM;QACzD,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,eAAe,CAAC,CAChD,CAAC;AACJ,CAAC,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { createPlugin } from "../factory.js";
2
- import { sanitizePath } from "../utils.js";
2
+ import { sanitizePath, toPosixPath } from "../utils.js";
3
3
  const WASM_INIT_QUERY = /\.wasm\?init$/;
4
4
  export const wasmInitPlugin = createPlugin("wasm-init", () => ({
5
5
  vite: {
@@ -10,7 +10,7 @@ export const wasmInitPlugin = createPlugin("wasm-init", () => ({
10
10
  filter: { id: WASM_INIT_QUERY },
11
11
  handler(id) {
12
12
  return [
13
- `import wasmModule from "${sanitizePath(id)}";`,
13
+ `import wasmModule from "${toPosixPath(sanitizePath(id))}";`,
14
14
  `export default async (imports) => {`,
15
15
  ` const result = await WebAssembly.instantiate(wasmModule, imports);`,
16
16
  ` return "instance" in result ? result.instance : result;`,
@@ -1 +1 @@
1
- {"version":3,"file":"wasm-init.js","sourceRoot":"","sources":["../../src/plugins/wasm-init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,MAAM,eAAe,GAAG,eAAe,CAAC;AAExC,MAAM,CAAC,MAAM,cAAc,GAAG,YAAY,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;IAC7D,IAAI,EAAE;QACJ,OAAO,EAAE,KAAK;KACf;IACD,MAAM,EAAE;QACN,IAAI,EAAE;YACJ,MAAM,EAAE,EAAE,EAAE,EAAE,eAAe,EAAE;YAC/B,OAAO,CAAC,EAAE;gBACR,OAAO;oBACL,2BAA2B,YAAY,CAAC,EAAE,CAAC,IAAI;oBAC/C,qCAAqC;oBACrC,sEAAsE;oBACtE,2DAA2D;oBAC3D,IAAI;iBACL,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACf,CAAC;SACF;KACF;CACF,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"wasm-init.js","sourceRoot":"","sources":["../../src/plugins/wasm-init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAExD,MAAM,eAAe,GAAG,eAAe,CAAC;AAExC,MAAM,CAAC,MAAM,cAAc,GAAG,YAAY,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;IAC7D,IAAI,EAAE;QACJ,OAAO,EAAE,KAAK;KACf;IACD,MAAM,EAAE;QACN,IAAI,EAAE;YACJ,MAAM,EAAE,EAAE,EAAE,EAAE,eAAe,EAAE;YAC/B,OAAO,CAAC,EAAE;gBACR,OAAO;oBACL,2BAA2B,WAAW,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,IAAI;oBAC5D,qCAAqC;oBACrC,sEAAsE;oBACtE,2DAA2D;oBAC3D,IAAI;iBACL,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACf,CAAC;SACF;KACF;CACF,CAAC,CAAC,CAAC"}
package/dist/utils.d.ts CHANGED
@@ -1,4 +1,10 @@
1
1
  export declare function sanitizePath(path: string): string;
2
+ /**
3
+ * Normalizes a path to use forward slashes. This ensures paths are valid
4
+ * module specifiers and produce consistent output across platforms (e.g. Windows,
5
+ * where `path` APIs return backslash-separated paths).
6
+ */
7
+ export declare function toPosixPath(path: string): string;
2
8
  export declare function hasNodejsCompat(flags?: ReadonlyArray<string>): boolean;
3
9
  export declare function hasNodejsAls(flags?: ReadonlyArray<string>): boolean;
4
10
  export declare function resolvePluginApi<Api>(plugins: ReadonlyArray<unknown>, name: string): Api | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAEA,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEjD;AAED,wBAAgB,eAAe,CAAC,KAAK,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,OAAO,CAEtE;AAED,wBAAgB,YAAY,CAAC,KAAK,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,OAAO,CAEnE;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,mBAKlF"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAEA,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEjD;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEhD;AAED,wBAAgB,eAAe,CAAC,KAAK,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,OAAO,CAEtE;AAED,wBAAgB,YAAY,CAAC,KAAK,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,OAAO,CAEnE;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,mBAKlF"}
package/dist/utils.js CHANGED
@@ -2,6 +2,14 @@ const POSTFIX_REGEX = /[?#].*$/;
2
2
  export function sanitizePath(path) {
3
3
  return path.replace(POSTFIX_REGEX, "");
4
4
  }
5
+ /**
6
+ * Normalizes a path to use forward slashes. This ensures paths are valid
7
+ * module specifiers and produce consistent output across platforms (e.g. Windows,
8
+ * where `path` APIs return backslash-separated paths).
9
+ */
10
+ export function toPosixPath(path) {
11
+ return path.replace(/\\/g, "/");
12
+ }
5
13
  export function hasNodejsCompat(flags) {
6
14
  return flags?.some((flag) => flag === "nodejs_compat" || flag === "nodejs_compat_v2") ?? false;
7
15
  }
package/dist/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,MAAM,aAAa,GAAG,SAAS,CAAC;AAEhC,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAA6B;IAC3D,OAAO,KAAK,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,eAAe,IAAI,IAAI,KAAK,kBAAkB,CAAC,IAAI,KAAK,CAAC;AACjG,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,KAA6B;IACxD,OAAO,KAAK,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,YAAY,CAAC,IAAI,KAAK,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAM,OAA+B,EAAE,IAAY;IACjF,OAAO,OAAO,CAAC,IAAI,CACjB,CAAC,MAAM,EAAwC,EAAE,CAC/C,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI,CAC5F,EAAE,GAAG,CAAC;AACT,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,MAAM,aAAa,GAAG,SAAS,CAAC;AAEhC,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;AACzC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAA6B;IAC3D,OAAO,KAAK,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,eAAe,IAAI,IAAI,KAAK,kBAAkB,CAAC,IAAI,KAAK,CAAC;AACjG,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,KAA6B;IACxD,OAAO,KAAK,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,YAAY,CAAC,IAAI,KAAK,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAM,OAA+B,EAAE,IAAY;IACjF,OAAO,OAAO,CAAC,IAAI,CACjB,CAAC,MAAM,EAAwC,EAAE,CAC/C,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI,CAC5F,EAAE,GAAG,CAAC;AACT,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@distilled.cloud/cloudflare-rolldown-plugin",
3
- "version": "0.11.3",
3
+ "version": "0.12.1",
4
4
  "description": "Rolldown plugin for Cloudflare Workers.",
5
5
  "keywords": [
6
6
  "cloudflare",
package/src/factory.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import type * as rolldown from "rolldown";
2
2
  import type * as vite from "vite";
3
- import type { CloudflarePluginOptions } from "./options.js";
3
+ import type { BasePluginOptions } from "./options.js";
4
4
 
5
5
  export interface PluginInput<A = any> {
6
6
  shared?: Omit<rolldown.Plugin<A>, "name">;
@@ -9,32 +9,32 @@ export interface PluginInput<A = any> {
9
9
  }
10
10
 
11
11
  export interface NullablePluginOutput<A = any> {
12
- rolldown: (options: CloudflarePluginOptions) => rolldown.Plugin<A> | null;
13
- vite: (options: CloudflarePluginOptions) => vite.Plugin<A> | null;
12
+ rolldown: (options: BasePluginOptions) => rolldown.Plugin<A> | null;
13
+ vite: (options: BasePluginOptions) => vite.Plugin<A> | null;
14
14
  }
15
15
 
16
16
  export interface PluginOutput<A = any> {
17
- rolldown: (options: CloudflarePluginOptions) => rolldown.Plugin<A>;
18
- vite: (options: CloudflarePluginOptions) => vite.Plugin<A>;
17
+ rolldown: (options: BasePluginOptions) => rolldown.Plugin<A>;
18
+ vite: (options: BasePluginOptions) => vite.Plugin<A>;
19
19
  }
20
20
 
21
21
  export function createPlugin<TName extends string, A = any>(
22
22
  pluginName: TName,
23
- make: (options: CloudflarePluginOptions) => PluginInput<A>,
23
+ make: (options: BasePluginOptions) => PluginInput<A>,
24
24
  ): PluginOutput<A>;
25
25
 
26
26
  export function createPlugin<TName extends string, A = any>(
27
27
  pluginName: TName,
28
- make: (options: CloudflarePluginOptions) => PluginInput<A> | undefined,
28
+ make: (options: BasePluginOptions) => PluginInput<A> | undefined,
29
29
  ): NullablePluginOutput<A>;
30
30
 
31
31
  export function createPlugin<TName extends string, A = any>(
32
32
  pluginName: TName,
33
- make: (options: CloudflarePluginOptions) => PluginInput<A> | undefined,
33
+ make: (options: BasePluginOptions) => PluginInput<A> | undefined,
34
34
  ): PluginOutput<A> | NullablePluginOutput<A> {
35
35
  const name = `distilled-cloudflare:${pluginName}`;
36
36
  return {
37
- rolldown: (options: CloudflarePluginOptions) => {
37
+ rolldown: (options: BasePluginOptions) => {
38
38
  const plugin = make(options);
39
39
  if (!plugin) return null;
40
40
  return {
@@ -43,7 +43,7 @@ export function createPlugin<TName extends string, A = any>(
43
43
  ...plugin.rolldown,
44
44
  };
45
45
  },
46
- vite: (options: CloudflarePluginOptions) => {
46
+ vite: (options: BasePluginOptions) => {
47
47
  const plugin = make(options);
48
48
  if (!plugin) return null;
49
49
  return {
package/src/options.ts CHANGED
@@ -1,4 +1,4 @@
1
- export interface CloudflarePluginOptions {
1
+ export interface BasePluginOptions {
2
2
  /**
3
3
  * The main entry point to use.
4
4
  * Defaults to the one from your Rolldown configuration.
@@ -28,4 +28,46 @@ export interface CloudflarePluginOptions {
28
28
  * ```
29
29
  */
30
30
  exports?: Array<string>;
31
+ /**
32
+ * Which Vite environment hosts the Worker, and any child environments it
33
+ * loads at runtime. Defaults to the single `ssr` environment.
34
+ *
35
+ * `@vitejs/plugin-rsc` apps run the Worker in the `rsc` environment (resolved
36
+ * with the `react-server` condition) and load the `ssr` environment from it,
37
+ * so they set `{ name: "rsc", childEnvironments: ["ssr"] }`. Every named
38
+ * environment is given the Worker treatment (workerd resolve conditions,
39
+ * dependency pre-bundling) and a module runner in dev.
40
+ *
41
+ * @default { entry: "ssr", children: [] }
42
+ */
43
+ viteEnvironments?: {
44
+ entry?: string;
45
+ children?: Array<string>;
46
+ };
31
47
  }
48
+
49
+ export const parseViteEnvironments = (options: BasePluginOptions): [string, ...Array<string>] => {
50
+ const entry = options.viteEnvironments?.entry ?? "ssr";
51
+ if (entry === "client") {
52
+ throw new Error(
53
+ 'The "client" environment cannot be used as a worker environment because it is reserved for the browser.',
54
+ );
55
+ }
56
+ const children = (options.viteEnvironments?.children ?? []).map((name, index, self) => {
57
+ if (name === "client") {
58
+ throw new Error(
59
+ 'The "client" environment cannot be used as a worker environment because it is reserved for the browser.',
60
+ );
61
+ } else if (self.indexOf(name) !== index) {
62
+ throw new Error(
63
+ `The name "${name}" appears more than once in the Vite environment list. Worker environment names must be unique.`,
64
+ );
65
+ } else if (name === entry) {
66
+ throw new Error(
67
+ `The child environment "${name}" cannot have the same name as the entry environment "${entry}".`,
68
+ );
69
+ }
70
+ return name;
71
+ });
72
+ return [entry, ...children];
73
+ };
package/src/plugin.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import type * as rolldown from "rolldown";
2
- import type { CloudflarePluginOptions } from "./options.js";
2
+ import type { BasePluginOptions } from "./options.js";
3
3
  import {
4
4
  additionalModulesPlugin,
5
5
  cloudflareExternalsPlugin,
@@ -11,9 +11,11 @@ import {
11
11
  wasmInitPlugin,
12
12
  } from "./plugins/index.js";
13
13
 
14
- export type CloudflarePlugin = (options?: CloudflarePluginOptions) => Array<rolldown.Plugin | null>;
14
+ export type RolldownPluginOptions = Omit<BasePluginOptions, "viteEnvironment">;
15
15
 
16
- const cloudflare: CloudflarePlugin = (options = {}) => {
16
+ export type RolldownPlugin = (options?: RolldownPluginOptions) => Array<rolldown.Plugin | null>;
17
+
18
+ const cloudflare: RolldownPlugin = (options = {}) => {
17
19
  return [
18
20
  optionsPlugin.rolldown(options),
19
21
  cloudflareExternalsPlugin.rolldown(options),
@@ -8,7 +8,7 @@ import type {
8
8
  SourceMap,
9
9
  } from "rolldown";
10
10
  import { createPlugin } from "../factory.js";
11
- import { sanitizePath } from "../utils.js";
11
+ import { sanitizePath, toPosixPath } from "../utils.js";
12
12
 
13
13
  export const MODULE_RULES = [
14
14
  { type: "CompiledWasm", pattern: /\.wasm(\?module)?$/ },
@@ -68,7 +68,7 @@ export const additionalModulesPlugin = createPlugin("additional-modules", () =>
68
68
  source,
69
69
  });
70
70
  const fileName = this.getFileName(referenceId);
71
- const relativePath = path.relative(path.dirname(chunk.fileName), fileName);
71
+ const relativePath = toPosixPath(path.relative(path.dirname(chunk.fileName), fileName));
72
72
  const importPath = relativePath.startsWith(".") ? relativePath : `./${relativePath}`;
73
73
  magicString.update(match.index, match.index + full.length, importPath);
74
74
  }
@@ -4,7 +4,7 @@ import { createRequire } from "node:module";
4
4
  import path from "node:path";
5
5
  import { defineEnv } from "unenv";
6
6
  import { createPlugin } from "../factory.js";
7
- import { hasNodejsAls, hasNodejsCompat } from "../utils.js";
7
+ import { hasNodejsAls, hasNodejsCompat, toPosixPath } from "../utils.js";
8
8
 
9
9
  const ASYNC_HOOKS_REGEXP = /^(node:)?async_hooks$/;
10
10
  const NODE_BUILTIN_MODULES_REGEXP = new RegExp(`^(${nonPrefixedNodeModules.join("|")}|node:.+)$`);
@@ -245,7 +245,8 @@ export const nodejsImportWarningPlugin = createPlugin("nodejs-import-warning", (
245
245
  'Do you need to enable the "nodejs_compat" compatibility flag? ',
246
246
  "Refer to https://developers.cloudflare.com/workers/runtime-apis/nodejs/ for more details.\n",
247
247
  ...filteredImports.map(
248
- ({ id, importer }) => ` - "${id}" imported from "${path.relative(root, importer)}"\n`,
248
+ ({ id, importer }) =>
249
+ ` - "${id}" imported from "${toPosixPath(path.relative(root, importer))}"\n`,
249
250
  ),
250
251
  ].join("");
251
252
  this.warn(message);
@@ -1,7 +1,7 @@
1
1
  import path from "node:path";
2
2
  import type * as vite from "vite";
3
3
  import { createPlugin } from "../factory.js";
4
- import type { CloudflarePluginOptions } from "../options.js";
4
+ import { parseViteEnvironments, type BasePluginOptions } from "../options.js";
5
5
  import { hasNodejsCompat } from "../utils.js";
6
6
  import { WORKER_ENTRY_PREFIX } from "./virtual-modules.js";
7
7
 
@@ -55,11 +55,9 @@ export const optionsPlugin = createPlugin<"options", OptionsApi>("options", (plu
55
55
  async config(userConfig) {
56
56
  const vite = await import("vite");
57
57
  const isRolldown = "rolldownVersion" in this.meta;
58
+ const environmentNames = parseViteEnvironments(pluginOptions);
58
59
  input = normalizeInput(
59
- pluginOptions.main ??
60
- userConfig.environments?.ssr?.build?.rolldownOptions?.input ??
61
- userConfig.environments?.ssr?.build?.rollupOptions?.input ??
62
- {},
60
+ pluginOptions.main ?? defaultEnvironmentEntries(environmentNames[0], userConfig) ?? {},
63
61
  );
64
62
  const rollupOptions: vite.Rollup.RollupOptions = {
65
63
  input: wrapInput(input),
@@ -69,90 +67,126 @@ export const optionsPlugin = createPlugin<"options", OptionsApi>("options", (plu
69
67
  pluginOptions,
70
68
  process.env.NODE_ENV || userConfig.mode || "production",
71
69
  );
72
- const appType = userConfig.appType ?? (Object.keys(input).length === 0 ? "spa" : "custom");
73
- return {
74
- appType,
75
- ssr: {
76
- noExternal: true,
70
+ const makeEnvironment = ({
71
+ name,
72
+ isEntry,
73
+ }: {
74
+ name: string;
75
+ isEntry: boolean;
76
+ }): vite.EnvironmentOptions => {
77
+ const entries = isEntry
78
+ ? (pluginOptions.main ?? defaultEnvironmentEntries(name, userConfig))
79
+ : (defaultEnvironmentEntries(name, userConfig) ?? pluginOptions.main);
80
+ return {
81
+ // Bake `process.env.NODE_ENV` (and friends) into the worker build.
82
+ // workerd has no value for it at runtime, so without this libraries
83
+ // like React fall back to their development builds. Setting `define`
84
+ // at the environment level applies it even though `keepProcessEnv`
85
+ // stays `true` (so other `process.env` access is preserved at
86
+ // runtime for `nodejs_compat`).
87
+ define,
77
88
  resolve: {
89
+ noExternal: true,
78
90
  conditions: [...DEFAULT_RESOLVE_CONDITION_NAMES, "development|production"],
79
91
  },
80
- },
92
+ optimizeDeps: {
93
+ noDiscovery: false,
94
+ ignoreOutdatedRequests: true,
95
+ entries: asArray(entries)?.map(vite.normalizePath),
96
+ ...(isRolldown
97
+ ? {
98
+ rolldownOptions: {
99
+ platform: "neutral",
100
+ resolve: {
101
+ conditionNames: [
102
+ ...DEFAULT_RESOLVE_CONDITION_NAMES,
103
+ "development|production",
104
+ ],
105
+ mainFields: DEFAULT_RESOLVE_MAIN_FIELDS,
106
+ extensions: DEFAULT_RESOLVE_EXTENSIONS,
107
+ },
108
+ transform: {
109
+ target: TARGET,
110
+ define,
111
+ },
112
+ },
113
+ }
114
+ : {
115
+ esbuildOptions: {
116
+ platform: "neutral",
117
+ conditions: [...DEFAULT_RESOLVE_CONDITION_NAMES, "development|production"],
118
+ resolveExtensions: DEFAULT_RESOLVE_EXTENSIONS,
119
+ mainFields: DEFAULT_RESOLVE_MAIN_FIELDS,
120
+ target: TARGET,
121
+ define,
122
+ },
123
+ }),
124
+ },
125
+ keepProcessEnv: true,
126
+ // The entry environment owns the Worker's build input and server
127
+ // output directory; children (e.g. `ssr`) keep their own build config
128
+ // from the framework plugin (`@vitejs/plugin-rsc`).
129
+ ...(isEntry
130
+ ? {
131
+ build: {
132
+ ssr: true,
133
+ target: TARGET,
134
+ emitAssets: true,
135
+ copyPublicDir: false,
136
+ outDir: getOutputDirectory(userConfig, name),
137
+ ...(isRolldown
138
+ ? {
139
+ rolldownOptions: {
140
+ ...rollupOptions,
141
+ platform: "neutral",
142
+ resolve: {
143
+ mainFields: DEFAULT_RESOLVE_MAIN_FIELDS,
144
+ extensions: DEFAULT_RESOLVE_EXTENSIONS,
145
+ },
146
+ },
147
+ }
148
+ : { rollupOptions }),
149
+ },
150
+ }
151
+ : {}),
152
+ };
153
+ };
154
+ const appType = userConfig.appType ?? (Object.keys(input).length === 0 ? "spa" : "custom");
155
+ return {
156
+ appType,
81
157
  builder:
82
158
  appType === "spa"
83
159
  ? undefined
84
160
  : {
85
- buildApp: async (app) => {
86
- for (const environment of Object.values(app.environments)) {
87
- await app.build(environment);
161
+ // We need to include this for `builder.buildApp()` to work
162
+ // because not all frameworks provide it...
163
+ buildApp: async (builder) => {
164
+ for (const environment of Object.values(builder.environments)) {
165
+ // ...however, if your framework does provide a `buildApp` hook,
166
+ // this check prevents us from building the environment twice.
167
+ if (environment.isBuilt) continue;
168
+ await builder.build(environment);
88
169
  }
89
170
  },
90
171
  },
172
+ ssr: {
173
+ noExternal: true,
174
+ resolve: {
175
+ conditions: [...DEFAULT_RESOLVE_CONDITION_NAMES, "development|production"],
176
+ },
177
+ },
91
178
  environments: {
92
179
  client: {
93
180
  build: {
94
181
  outDir: getOutputDirectory(userConfig, "client"),
95
182
  },
96
183
  },
97
- ssr: {
98
- resolve: {
99
- noExternal: true,
100
- conditions: [...DEFAULT_RESOLVE_CONDITION_NAMES, "development|production"],
101
- },
102
- build: {
103
- ssr: true,
104
- target: TARGET,
105
- emitAssets: true,
106
- copyPublicDir: false,
107
- outDir: getOutputDirectory(userConfig, "server"),
108
- ...(isRolldown
109
- ? {
110
- rolldownOptions: {
111
- ...rollupOptions,
112
- platform: "neutral",
113
- resolve: {
114
- mainFields: DEFAULT_RESOLVE_MAIN_FIELDS,
115
- extensions: DEFAULT_RESOLVE_EXTENSIONS,
116
- },
117
- },
118
- }
119
- : { rollupOptions }),
120
- },
121
- optimizeDeps: {
122
- noDiscovery: false,
123
- ignoreOutdatedRequests: true,
124
- entries: pluginOptions.main ? vite.normalizePath(pluginOptions.main) : undefined,
125
- ...(isRolldown
126
- ? {
127
- rolldownOptions: {
128
- platform: "neutral",
129
- resolve: {
130
- conditionNames: [
131
- ...DEFAULT_RESOLVE_CONDITION_NAMES,
132
- "development|production",
133
- ],
134
- mainFields: DEFAULT_RESOLVE_MAIN_FIELDS,
135
- extensions: DEFAULT_RESOLVE_EXTENSIONS,
136
- },
137
- transform: {
138
- target: TARGET,
139
- define,
140
- },
141
- },
142
- }
143
- : {
144
- esbuildOptions: {
145
- platform: "neutral",
146
- conditions: [...DEFAULT_RESOLVE_CONDITION_NAMES, "development|production"],
147
- resolveExtensions: DEFAULT_RESOLVE_EXTENSIONS,
148
- mainFields: DEFAULT_RESOLVE_MAIN_FIELDS,
149
- target: TARGET,
150
- define,
151
- },
152
- }),
153
- },
154
- keepProcessEnv: true,
155
- },
184
+ ...Object.fromEntries(
185
+ environmentNames.map((name, index) => [
186
+ name,
187
+ makeEnvironment({ name, isEntry: index === 0 }),
188
+ ]),
189
+ ),
156
190
  },
157
191
  };
158
192
  },
@@ -160,6 +194,23 @@ export const optionsPlugin = createPlugin<"options", OptionsApi>("options", (plu
160
194
  };
161
195
  });
162
196
 
197
+ const defaultEnvironmentEntries = (
198
+ environmentName: string,
199
+ userConfig: vite.UserConfig,
200
+ ): vite.Rolldown.InputOption | undefined => {
201
+ const environment = userConfig.environments?.[environmentName];
202
+ return environment?.build?.rolldownOptions?.input ?? environment?.build?.rollupOptions?.input;
203
+ };
204
+
205
+ const asArray = (
206
+ input: string | Array<string> | Record<string, string> | undefined,
207
+ ): Array<string> | undefined => {
208
+ if (!input) return;
209
+ if (typeof input === "string") return [input];
210
+ if (Array.isArray(input) && input.length > 0) return input;
211
+ return Object.values(input);
212
+ };
213
+
163
214
  const normalizeInput = (
164
215
  input: string | Array<string> | Record<string, string>,
165
216
  ): Record<string, string> => {
@@ -172,12 +223,24 @@ const normalizeInput = (
172
223
  }
173
224
  };
174
225
 
226
+ // Worker entry ids are embedded into synthetic `\0distilled:worker-entry:` module
227
+ // specifiers and round-tripped through Rolldown/Vite id handling, which expects
228
+ // POSIX-style separators. On Windows the input is an absolute path with `\`
229
+ // separators (e.g. `D:\app\entry-server.ts`), which corrupts the virtual id and
230
+ // breaks resolution (`\0distilled:user-entry:D:\app\…` fails to resolve).
231
+ // Normalize to forward slashes so the virtual id stays valid on every platform —
232
+ // a no-op on POSIX, where ids already use `/`.
233
+ const normalizeEntryId = (id: string): string => id.replace(/\\/g, "/");
234
+
175
235
  const wrapInput = (input: Record<string, string>) =>
176
236
  Object.fromEntries(
177
- Object.entries(input).map(([key, id]) => [key, `${WORKER_ENTRY_PREFIX}${id}` as const]),
237
+ Object.entries(input).map(([key, id]) => [
238
+ key,
239
+ `${WORKER_ENTRY_PREFIX}${normalizeEntryId(id)}` as const,
240
+ ]),
178
241
  );
179
242
 
180
- function getDefine(options: CloudflarePluginOptions, nodeEnv: string): Record<string, string> {
243
+ const getDefine = (options: BasePluginOptions, nodeEnv: string): Record<string, string> => {
181
244
  return {
182
245
  "process.env.NODE_ENV": JSON.stringify(nodeEnv),
183
246
  "global.process.env.NODE_ENV": JSON.stringify(nodeEnv),
@@ -200,13 +263,13 @@ function getDefine(options: CloudflarePluginOptions, nodeEnv: string): Record<st
200
263
  }
201
264
  : {}),
202
265
  };
203
- }
266
+ };
204
267
 
205
- function getOutputDirectory(userConfig: vite.UserConfig, environmentName: string) {
268
+ const getOutputDirectory = (userConfig: vite.UserConfig, environmentName: string) => {
206
269
  const rootOutputDirectory = userConfig.build?.outDir ?? "dist";
207
270
 
208
271
  return (
209
272
  userConfig.environments?.[environmentName]?.build?.outDir ??
210
273
  path.join(rootOutputDirectory, environmentName)
211
274
  );
212
- }
275
+ };
@@ -1,5 +1,5 @@
1
1
  import { createPlugin } from "../factory.js";
2
- import { sanitizePath } from "../utils.js";
2
+ import { sanitizePath, toPosixPath } from "../utils.js";
3
3
 
4
4
  const WASM_INIT_QUERY = /\.wasm\?init$/;
5
5
 
@@ -12,7 +12,7 @@ export const wasmInitPlugin = createPlugin("wasm-init", () => ({
12
12
  filter: { id: WASM_INIT_QUERY },
13
13
  handler(id) {
14
14
  return [
15
- `import wasmModule from "${sanitizePath(id)}";`,
15
+ `import wasmModule from "${toPosixPath(sanitizePath(id))}";`,
16
16
  `export default async (imports) => {`,
17
17
  ` const result = await WebAssembly.instantiate(wasmModule, imports);`,
18
18
  ` return "instance" in result ? result.instance : result;`,
package/src/utils.ts CHANGED
@@ -4,6 +4,15 @@ export function sanitizePath(path: string): string {
4
4
  return path.replace(POSTFIX_REGEX, "");
5
5
  }
6
6
 
7
+ /**
8
+ * Normalizes a path to use forward slashes. This ensures paths are valid
9
+ * module specifiers and produce consistent output across platforms (e.g. Windows,
10
+ * where `path` APIs return backslash-separated paths).
11
+ */
12
+ export function toPosixPath(path: string): string {
13
+ return path.replace(/\\/g, "/");
14
+ }
15
+
7
16
  export function hasNodejsCompat(flags?: ReadonlyArray<string>): boolean {
8
17
  return flags?.some((flag) => flag === "nodejs_compat" || flag === "nodejs_compat_v2") ?? false;
9
18
  }