@distilled.cloud/cloudflare-rolldown-plugin 0.4.1-beta.5 → 0.4.1-beta.6
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/plugins/options.d.ts +4 -1
- package/dist/plugins/options.d.ts.map +1 -1
- package/dist/plugins/options.js +118 -106
- package/dist/plugins/options.js.map +1 -1
- package/dist/plugins/virtual-modules.d.ts.map +1 -1
- package/dist/plugins/virtual-modules.js +2 -1
- package/dist/plugins/virtual-modules.js.map +1 -1
- package/dist/utils.d.ts +1 -0
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +3 -0
- package/dist/utils.js.map +1 -1
- package/package.json +5 -1
- package/src/plugins/options.ts +131 -112
- package/src/plugins/virtual-modules.ts +2 -5
- package/src/utils.ts +7 -0
|
@@ -1,2 +1,5 @@
|
|
|
1
|
-
export
|
|
1
|
+
export interface OptionsApi {
|
|
2
|
+
input: () => Record<string, string>;
|
|
3
|
+
}
|
|
4
|
+
export declare const optionsPlugin: import("../factory.js").PluginOutput<OptionsApi>;
|
|
2
5
|
//# sourceMappingURL=options.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../src/plugins/options.ts"],"names":[],"mappings":"AAkCA,eAAO,MAAM,aAAa,
|
|
1
|
+
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../src/plugins/options.ts"],"names":[],"mappings":"AAkCA,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACrC;AAED,eAAO,MAAM,aAAa,kDA8HxB,CAAC"}
|
package/dist/plugins/options.js
CHANGED
|
@@ -25,128 +25,140 @@ const DEFAULT_RESOLVE_EXTENSIONS = [
|
|
|
25
25
|
".ctx",
|
|
26
26
|
];
|
|
27
27
|
const TARGET = "es2024";
|
|
28
|
-
export const optionsPlugin = createPlugin("options", (pluginOptions) =>
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
options.resolve.conditionNames ??= [...getConditions(pluginOptions), "production"];
|
|
36
|
-
options.resolve.mainFields ??= getMainFields(pluginOptions);
|
|
37
|
-
options.resolve.extensions ??= DEFAULT_RESOLVE_EXTENSIONS;
|
|
38
|
-
options.transform ??= {};
|
|
39
|
-
options.transform.target ??= TARGET;
|
|
40
|
-
options.transform.define ??= {};
|
|
41
|
-
Object.assign(options.transform.define, getDefine(pluginOptions, "production"));
|
|
42
|
-
return options;
|
|
28
|
+
export const optionsPlugin = createPlugin("options", (pluginOptions) => {
|
|
29
|
+
let input = {};
|
|
30
|
+
return {
|
|
31
|
+
shared: {
|
|
32
|
+
api: {
|
|
33
|
+
input: () => input,
|
|
34
|
+
},
|
|
43
35
|
},
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
},
|
|
36
|
+
rolldown: {
|
|
37
|
+
options(options) {
|
|
38
|
+
input = normalizeInput(pluginOptions.main ?? options.input ?? {});
|
|
39
|
+
options.input = wrapInput(input);
|
|
40
|
+
options.preserveEntrySignatures ??= "strict";
|
|
41
|
+
options.platform ??= "neutral";
|
|
42
|
+
options.resolve ??= {};
|
|
43
|
+
options.resolve.conditionNames ??= [...getConditions(pluginOptions), "production"];
|
|
44
|
+
options.resolve.mainFields ??= getMainFields(pluginOptions);
|
|
45
|
+
options.resolve.extensions ??= DEFAULT_RESOLVE_EXTENSIONS;
|
|
46
|
+
options.transform ??= {};
|
|
47
|
+
options.transform.target ??= TARGET;
|
|
48
|
+
options.transform.define ??= {};
|
|
49
|
+
Object.assign(options.transform.define, getDefine(pluginOptions, "production"));
|
|
50
|
+
return options;
|
|
51
|
+
},
|
|
52
|
+
},
|
|
53
|
+
vite: {
|
|
54
|
+
async config(userConfig) {
|
|
55
|
+
const vite = await import("vite");
|
|
56
|
+
const isRolldown = "rolldownVersion" in this.meta;
|
|
57
|
+
input = normalizeInput(pluginOptions.main ??
|
|
58
|
+
userConfig.environments?.ssr?.build?.rolldownOptions?.input ??
|
|
59
|
+
userConfig.environments?.ssr?.build?.rollupOptions?.input ??
|
|
60
|
+
{});
|
|
61
|
+
const rollupOptions = {
|
|
62
|
+
input: wrapInput(input),
|
|
63
|
+
preserveEntrySignatures: "strict",
|
|
64
|
+
};
|
|
65
|
+
const define = getDefine(pluginOptions, process.env.NODE_ENV || userConfig.mode || "production");
|
|
66
|
+
const conditions = getConditions(pluginOptions);
|
|
67
|
+
const mainFields = getMainFields(pluginOptions);
|
|
68
|
+
return {
|
|
69
|
+
appType: "custom",
|
|
79
70
|
ssr: {
|
|
71
|
+
noExternal: true,
|
|
80
72
|
resolve: {
|
|
81
|
-
noExternal: true,
|
|
82
73
|
conditions: [...conditions, "development|production"],
|
|
83
74
|
},
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
outDir: getOutputDirectory(userConfig, "ssr"),
|
|
90
|
-
...(isRolldown
|
|
91
|
-
? {
|
|
92
|
-
rolldownOptions: {
|
|
93
|
-
...rollupOptions,
|
|
94
|
-
platform: "neutral",
|
|
95
|
-
resolve: {
|
|
96
|
-
mainFields,
|
|
97
|
-
extensions: DEFAULT_RESOLVE_EXTENSIONS,
|
|
98
|
-
},
|
|
99
|
-
},
|
|
100
|
-
}
|
|
101
|
-
: { rollupOptions }),
|
|
75
|
+
},
|
|
76
|
+
builder: {
|
|
77
|
+
buildApp: async (app) => {
|
|
78
|
+
await app.build(app.environments.ssr);
|
|
79
|
+
await app.build(app.environments.client);
|
|
102
80
|
},
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
81
|
+
},
|
|
82
|
+
environments: {
|
|
83
|
+
client: {
|
|
84
|
+
build: {
|
|
85
|
+
outDir: getOutputDirectory(userConfig, "client"),
|
|
86
|
+
},
|
|
87
|
+
},
|
|
88
|
+
ssr: {
|
|
89
|
+
resolve: {
|
|
90
|
+
noExternal: true,
|
|
91
|
+
conditions: [...conditions, "development|production"],
|
|
92
|
+
},
|
|
93
|
+
build: {
|
|
94
|
+
ssr: true,
|
|
95
|
+
target: TARGET,
|
|
96
|
+
emitAssets: true,
|
|
97
|
+
copyPublicDir: false,
|
|
98
|
+
outDir: getOutputDirectory(userConfig, "ssr"),
|
|
99
|
+
...(isRolldown
|
|
100
|
+
? {
|
|
101
|
+
rolldownOptions: {
|
|
102
|
+
...rollupOptions,
|
|
103
|
+
platform: "neutral",
|
|
104
|
+
resolve: {
|
|
105
|
+
mainFields,
|
|
106
|
+
extensions: DEFAULT_RESOLVE_EXTENSIONS,
|
|
107
|
+
},
|
|
108
|
+
},
|
|
109
|
+
}
|
|
110
|
+
: { rollupOptions }),
|
|
111
|
+
},
|
|
112
|
+
optimizeDeps: {
|
|
113
|
+
noDiscovery: false,
|
|
114
|
+
ignoreOutdatedRequests: true,
|
|
115
|
+
entries: pluginOptions.main ? vite.normalizePath(pluginOptions.main) : undefined,
|
|
116
|
+
...(isRolldown
|
|
117
|
+
? {
|
|
118
|
+
rolldownOptions: {
|
|
119
|
+
platform: "neutral",
|
|
120
|
+
resolve: {
|
|
121
|
+
conditionNames: [...conditions, "development|production"],
|
|
122
|
+
mainFields,
|
|
123
|
+
extensions: DEFAULT_RESOLVE_EXTENSIONS,
|
|
124
|
+
},
|
|
125
|
+
transform: {
|
|
126
|
+
target: TARGET,
|
|
127
|
+
define,
|
|
128
|
+
},
|
|
115
129
|
},
|
|
116
|
-
|
|
130
|
+
}
|
|
131
|
+
: {
|
|
132
|
+
esbuildOptions: {
|
|
133
|
+
platform: "neutral",
|
|
134
|
+
conditions: [...conditions, "development|production"],
|
|
135
|
+
resolveExtensions: DEFAULT_RESOLVE_EXTENSIONS,
|
|
136
|
+
mainFields,
|
|
117
137
|
target: TARGET,
|
|
118
138
|
define,
|
|
119
139
|
},
|
|
120
|
-
},
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
esbuildOptions: {
|
|
124
|
-
platform: "neutral",
|
|
125
|
-
conditions: [...conditions, "development|production"],
|
|
126
|
-
resolveExtensions: DEFAULT_RESOLVE_EXTENSIONS,
|
|
127
|
-
mainFields,
|
|
128
|
-
target: TARGET,
|
|
129
|
-
define,
|
|
130
|
-
},
|
|
131
|
-
}),
|
|
140
|
+
}),
|
|
141
|
+
},
|
|
142
|
+
keepProcessEnv: true,
|
|
132
143
|
},
|
|
133
|
-
keepProcessEnv: true,
|
|
134
144
|
},
|
|
135
|
-
}
|
|
136
|
-
}
|
|
145
|
+
};
|
|
146
|
+
},
|
|
137
147
|
},
|
|
138
|
-
}
|
|
139
|
-
})
|
|
140
|
-
|
|
141
|
-
const virtualEntryId = (id) => `${WORKER_ENTRY_PREFIX}${id}`;
|
|
148
|
+
};
|
|
149
|
+
});
|
|
150
|
+
const normalizeInput = (input) => {
|
|
142
151
|
if (typeof input === "string") {
|
|
143
|
-
return { [path.parse(input).name || "index"]:
|
|
152
|
+
return { [path.parse(input).name || "index"]: input };
|
|
144
153
|
}
|
|
145
|
-
if (Array.isArray(input)) {
|
|
146
|
-
return Object.fromEntries(input.map((p) => [path.parse(p).name,
|
|
154
|
+
else if (Array.isArray(input)) {
|
|
155
|
+
return Object.fromEntries(input.map((p) => [path.parse(p).name, p]));
|
|
147
156
|
}
|
|
148
|
-
|
|
149
|
-
|
|
157
|
+
else {
|
|
158
|
+
return input;
|
|
159
|
+
}
|
|
160
|
+
};
|
|
161
|
+
const wrapInput = (input) => Object.fromEntries(Object.entries(input).map(([key, id]) => [key, `${WORKER_ENTRY_PREFIX}${id}`]));
|
|
150
162
|
function getDefine(options, nodeEnv) {
|
|
151
163
|
return {
|
|
152
164
|
"process.env.NODE_ENV": JSON.stringify(nodeEnv),
|
|
@@ -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,SAAS,aAAa,CAAC,OAAgC;IACrD,OAAO,eAAe,CAAC,OAAO,CAAC,kBAAkB,CAAC;QAChD,CAAC,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC;QACzC,CAAC,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;AACjD,CAAC;AAED,SAAS,aAAa,CAAC,OAAgC;IACrD,OAAO,eAAe,CAAC,OAAO,CAAC,kBAAkB,CAAC;QAChD,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC;QAC7C,CAAC,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;AACrD,CAAC;AAED,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;
|
|
1
|
+
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/plugins/options.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"virtual-modules.d.ts","sourceRoot":"","sources":["../../src/plugins/virtual-modules.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,mBAAmB,EAAG,2BAAoC,CAAC;AAKxE,eAAO,MAAM,oBAAoB,
|
|
1
|
+
{"version":3,"file":"virtual-modules.d.ts","sourceRoot":"","sources":["../../src/plugins/virtual-modules.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,mBAAmB,EAAG,2BAAoC,CAAC;AAKxE,eAAO,MAAM,oBAAoB,2CAyH/B,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { createPlugin } from "../factory.js";
|
|
2
|
+
import { resolvePluginApi } from "../utils.js";
|
|
2
3
|
// oxlint-disable-next-line no-control-regex
|
|
3
4
|
const VIRTUAL_MODULE_REGEXP = /^\0distilled:.*$/;
|
|
4
5
|
export const WORKER_ENTRY_PREFIX = "\0distilled:worker-entry:";
|
|
@@ -21,7 +22,7 @@ export const virtualModulesPlugin = createPlugin("virtual-modules", (options) =>
|
|
|
21
22
|
},
|
|
22
23
|
shared: {
|
|
23
24
|
buildStart({ plugins }) {
|
|
24
|
-
unenvApi = plugins
|
|
25
|
+
unenvApi = resolvePluginApi(plugins, "distilled-cloudflare:nodejs-unenv");
|
|
25
26
|
},
|
|
26
27
|
resolveId: {
|
|
27
28
|
filter: { id: VIRTUAL_MODULE_REGEXP },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"virtual-modules.js","sourceRoot":"","sources":["../../src/plugins/virtual-modules.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"virtual-modules.js","sourceRoot":"","sources":["../../src/plugins/virtual-modules.ts"],"names":[],"mappings":"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"}
|
package/dist/utils.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export declare function sanitizePath(path: string): string;
|
|
2
2
|
export declare function hasNodejsCompat(flags?: ReadonlyArray<string>): boolean;
|
|
3
3
|
export declare function hasNodejsAls(flags?: ReadonlyArray<string>): boolean;
|
|
4
|
+
export declare function resolvePluginApi<Api>(plugins: ReadonlyArray<unknown>, name: string): Api | undefined;
|
|
4
5
|
//# sourceMappingURL=utils.d.ts.map
|
package/dist/utils.d.ts.map
CHANGED
|
@@ -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"}
|
|
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"}
|
package/dist/utils.js
CHANGED
|
@@ -8,4 +8,7 @@ export function hasNodejsCompat(flags) {
|
|
|
8
8
|
export function hasNodejsAls(flags) {
|
|
9
9
|
return flags?.some((flag) => flag === "nodejs_als") ?? false;
|
|
10
10
|
}
|
|
11
|
+
export function resolvePluginApi(plugins, name) {
|
|
12
|
+
return plugins.find((plugin) => typeof plugin === "object" && plugin !== null && "name" in plugin && plugin.name === name)?.api;
|
|
13
|
+
}
|
|
11
14
|
//# sourceMappingURL=utils.js.map
|
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"}
|
|
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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@distilled.cloud/cloudflare-rolldown-plugin",
|
|
3
|
-
"version": "0.4.1-beta.
|
|
3
|
+
"version": "0.4.1-beta.6",
|
|
4
4
|
"description": "Rolldown plugin for Cloudflare Workers.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"cloudflare",
|
|
@@ -43,6 +43,10 @@
|
|
|
43
43
|
"./options": {
|
|
44
44
|
"types": "./dist/options.d.ts",
|
|
45
45
|
"import": "./dist/options.js"
|
|
46
|
+
},
|
|
47
|
+
"./utils": {
|
|
48
|
+
"types": "./dist/utils.d.ts",
|
|
49
|
+
"import": "./dist/utils.js"
|
|
46
50
|
}
|
|
47
51
|
},
|
|
48
52
|
"publishConfig": {
|
package/src/plugins/options.ts
CHANGED
|
@@ -32,135 +32,154 @@ const DEFAULT_RESOLVE_EXTENSIONS = [
|
|
|
32
32
|
|
|
33
33
|
const TARGET = "es2024";
|
|
34
34
|
|
|
35
|
-
export
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
options.transform.target ??= TARGET;
|
|
47
|
-
options.transform.define ??= {};
|
|
48
|
-
Object.assign(options.transform.define, getDefine(pluginOptions, "production"));
|
|
49
|
-
return options;
|
|
35
|
+
export interface OptionsApi {
|
|
36
|
+
input: () => Record<string, string>;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
export const optionsPlugin = createPlugin<"options", OptionsApi>("options", (pluginOptions) => {
|
|
40
|
+
let input: Record<string, string> = {};
|
|
41
|
+
return {
|
|
42
|
+
shared: {
|
|
43
|
+
api: {
|
|
44
|
+
input: () => input,
|
|
45
|
+
},
|
|
50
46
|
},
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
47
|
+
rolldown: {
|
|
48
|
+
options(options) {
|
|
49
|
+
input = normalizeInput(pluginOptions.main ?? options.input ?? {});
|
|
50
|
+
options.input = wrapInput(input);
|
|
51
|
+
options.preserveEntrySignatures ??= "strict";
|
|
52
|
+
options.platform ??= "neutral";
|
|
53
|
+
options.resolve ??= {};
|
|
54
|
+
options.resolve.conditionNames ??= [...getConditions(pluginOptions), "production"];
|
|
55
|
+
options.resolve.mainFields ??= getMainFields(pluginOptions);
|
|
56
|
+
options.resolve.extensions ??= DEFAULT_RESOLVE_EXTENSIONS;
|
|
57
|
+
options.transform ??= {};
|
|
58
|
+
options.transform.target ??= TARGET;
|
|
59
|
+
options.transform.define ??= {};
|
|
60
|
+
Object.assign(options.transform.define, getDefine(pluginOptions, "production"));
|
|
61
|
+
return options;
|
|
62
|
+
},
|
|
63
|
+
},
|
|
64
|
+
vite: {
|
|
65
|
+
async config(userConfig) {
|
|
66
|
+
const vite = await import("vite");
|
|
67
|
+
const isRolldown = "rolldownVersion" in this.meta;
|
|
68
|
+
input = normalizeInput(
|
|
69
|
+
pluginOptions.main ??
|
|
70
|
+
userConfig.environments?.ssr?.build?.rolldownOptions?.input ??
|
|
71
|
+
userConfig.environments?.ssr?.build?.rollupOptions?.input ??
|
|
72
|
+
{},
|
|
73
|
+
);
|
|
74
|
+
const rollupOptions: vite.Rollup.RollupOptions = {
|
|
75
|
+
input: wrapInput(input),
|
|
76
|
+
preserveEntrySignatures: "strict",
|
|
77
|
+
};
|
|
78
|
+
const define = getDefine(
|
|
79
|
+
pluginOptions,
|
|
80
|
+
process.env.NODE_ENV || userConfig.mode || "production",
|
|
81
|
+
);
|
|
82
|
+
const conditions = getConditions(pluginOptions);
|
|
83
|
+
const mainFields = getMainFields(pluginOptions);
|
|
84
|
+
return {
|
|
85
|
+
appType: "custom",
|
|
90
86
|
ssr: {
|
|
87
|
+
noExternal: true,
|
|
91
88
|
resolve: {
|
|
92
|
-
noExternal: true,
|
|
93
89
|
conditions: [...conditions, "development|production"],
|
|
94
90
|
},
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
outDir: getOutputDirectory(userConfig, "ssr"),
|
|
101
|
-
...(isRolldown
|
|
102
|
-
? {
|
|
103
|
-
rolldownOptions: {
|
|
104
|
-
...rollupOptions,
|
|
105
|
-
platform: "neutral",
|
|
106
|
-
resolve: {
|
|
107
|
-
mainFields,
|
|
108
|
-
extensions: DEFAULT_RESOLVE_EXTENSIONS,
|
|
109
|
-
},
|
|
110
|
-
},
|
|
111
|
-
}
|
|
112
|
-
: { rollupOptions }),
|
|
91
|
+
},
|
|
92
|
+
builder: {
|
|
93
|
+
buildApp: async (app) => {
|
|
94
|
+
await app.build(app.environments.ssr);
|
|
95
|
+
await app.build(app.environments.client);
|
|
113
96
|
},
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
97
|
+
},
|
|
98
|
+
environments: {
|
|
99
|
+
client: {
|
|
100
|
+
build: {
|
|
101
|
+
outDir: getOutputDirectory(userConfig, "client"),
|
|
102
|
+
},
|
|
103
|
+
},
|
|
104
|
+
ssr: {
|
|
105
|
+
resolve: {
|
|
106
|
+
noExternal: true,
|
|
107
|
+
conditions: [...conditions, "development|production"],
|
|
108
|
+
},
|
|
109
|
+
build: {
|
|
110
|
+
ssr: true,
|
|
111
|
+
target: TARGET,
|
|
112
|
+
emitAssets: true,
|
|
113
|
+
copyPublicDir: false,
|
|
114
|
+
outDir: getOutputDirectory(userConfig, "ssr"),
|
|
115
|
+
...(isRolldown
|
|
116
|
+
? {
|
|
117
|
+
rolldownOptions: {
|
|
118
|
+
...rollupOptions,
|
|
119
|
+
platform: "neutral",
|
|
120
|
+
resolve: {
|
|
121
|
+
mainFields,
|
|
122
|
+
extensions: DEFAULT_RESOLVE_EXTENSIONS,
|
|
123
|
+
},
|
|
124
|
+
},
|
|
125
|
+
}
|
|
126
|
+
: { rollupOptions }),
|
|
127
|
+
},
|
|
128
|
+
optimizeDeps: {
|
|
129
|
+
noDiscovery: false,
|
|
130
|
+
ignoreOutdatedRequests: true,
|
|
131
|
+
entries: pluginOptions.main ? vite.normalizePath(pluginOptions.main) : undefined,
|
|
132
|
+
...(isRolldown
|
|
133
|
+
? {
|
|
134
|
+
rolldownOptions: {
|
|
135
|
+
platform: "neutral",
|
|
136
|
+
resolve: {
|
|
137
|
+
conditionNames: [...conditions, "development|production"],
|
|
138
|
+
mainFields,
|
|
139
|
+
extensions: DEFAULT_RESOLVE_EXTENSIONS,
|
|
140
|
+
},
|
|
141
|
+
transform: {
|
|
142
|
+
target: TARGET,
|
|
143
|
+
define,
|
|
144
|
+
},
|
|
126
145
|
},
|
|
127
|
-
|
|
146
|
+
}
|
|
147
|
+
: {
|
|
148
|
+
esbuildOptions: {
|
|
149
|
+
platform: "neutral",
|
|
150
|
+
conditions: [...conditions, "development|production"],
|
|
151
|
+
resolveExtensions: DEFAULT_RESOLVE_EXTENSIONS,
|
|
152
|
+
mainFields,
|
|
128
153
|
target: TARGET,
|
|
129
154
|
define,
|
|
130
155
|
},
|
|
131
|
-
},
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
esbuildOptions: {
|
|
135
|
-
platform: "neutral",
|
|
136
|
-
conditions: [...conditions, "development|production"],
|
|
137
|
-
resolveExtensions: DEFAULT_RESOLVE_EXTENSIONS,
|
|
138
|
-
mainFields,
|
|
139
|
-
target: TARGET,
|
|
140
|
-
define,
|
|
141
|
-
},
|
|
142
|
-
}),
|
|
156
|
+
}),
|
|
157
|
+
},
|
|
158
|
+
keepProcessEnv: true,
|
|
143
159
|
},
|
|
144
|
-
keepProcessEnv: true,
|
|
145
160
|
},
|
|
146
|
-
}
|
|
147
|
-
}
|
|
161
|
+
};
|
|
162
|
+
},
|
|
148
163
|
},
|
|
149
|
-
}
|
|
150
|
-
})
|
|
164
|
+
};
|
|
165
|
+
});
|
|
151
166
|
|
|
152
|
-
|
|
153
|
-
|
|
167
|
+
const normalizeInput = (
|
|
168
|
+
input: string | Array<string> | Record<string, string>,
|
|
169
|
+
): Record<string, string> => {
|
|
154
170
|
if (typeof input === "string") {
|
|
155
|
-
return { [path.parse(input).name || "index"]:
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
-
|
|
171
|
+
return { [path.parse(input).name || "index"]: input };
|
|
172
|
+
} else if (Array.isArray(input)) {
|
|
173
|
+
return Object.fromEntries(input.map((p) => [path.parse(p).name, p]));
|
|
174
|
+
} else {
|
|
175
|
+
return input;
|
|
159
176
|
}
|
|
160
|
-
|
|
161
|
-
|
|
177
|
+
};
|
|
178
|
+
|
|
179
|
+
const wrapInput = (input: Record<string, string>) =>
|
|
180
|
+
Object.fromEntries(
|
|
181
|
+
Object.entries(input).map(([key, id]) => [key, `${WORKER_ENTRY_PREFIX}${id}` as const]),
|
|
162
182
|
);
|
|
163
|
-
}
|
|
164
183
|
|
|
165
184
|
function getDefine(options: CloudflarePluginOptions, nodeEnv: string): Record<string, string> {
|
|
166
185
|
return {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { Plugin } from "rolldown";
|
|
2
1
|
import { createPlugin } from "../factory.js";
|
|
2
|
+
import { resolvePluginApi } from "../utils.js";
|
|
3
3
|
import type { UnenvApi } from "./nodejs-compat.js";
|
|
4
4
|
|
|
5
5
|
// oxlint-disable-next-line no-control-regex
|
|
@@ -27,10 +27,7 @@ export const virtualModulesPlugin = createPlugin("virtual-modules", (options) =>
|
|
|
27
27
|
},
|
|
28
28
|
shared: {
|
|
29
29
|
buildStart({ plugins }) {
|
|
30
|
-
unenvApi = plugins
|
|
31
|
-
(plugin): plugin is Plugin<UnenvApi> =>
|
|
32
|
-
"name" in plugin && plugin.name === "distilled-cloudflare:nodejs-unenv",
|
|
33
|
-
)?.api;
|
|
30
|
+
unenvApi = resolvePluginApi<UnenvApi>(plugins, "distilled-cloudflare:nodejs-unenv");
|
|
34
31
|
},
|
|
35
32
|
resolveId: {
|
|
36
33
|
filter: { id: VIRTUAL_MODULE_REGEXP },
|
package/src/utils.ts
CHANGED
|
@@ -11,3 +11,10 @@ export function hasNodejsCompat(flags?: ReadonlyArray<string>): boolean {
|
|
|
11
11
|
export function hasNodejsAls(flags?: ReadonlyArray<string>): boolean {
|
|
12
12
|
return flags?.some((flag) => flag === "nodejs_als") ?? false;
|
|
13
13
|
}
|
|
14
|
+
|
|
15
|
+
export function resolvePluginApi<Api>(plugins: ReadonlyArray<unknown>, name: string) {
|
|
16
|
+
return plugins.find(
|
|
17
|
+
(plugin): plugin is { name: string; api: Api } =>
|
|
18
|
+
typeof plugin === "object" && plugin !== null && "name" in plugin && plugin.name === name,
|
|
19
|
+
)?.api;
|
|
20
|
+
}
|