@cloudflare/vite-plugin 1.41.0 → 1.42.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cf-vite.mjs CHANGED
@@ -1,6 +1,14 @@
1
1
  import { parseArgs } from "node:util";
2
- import { createServer } from "vite";
2
+ import { createBuilder, createServer } from "vite";
3
3
 
4
+ //#region src/build-output-env.ts
5
+ /**
6
+ * Shared definition of the internal env var that the `cf-vite build`
7
+ * delegate uses to force the experimental Build Output API on by default.
8
+ */
9
+ const FORCE_BUILD_OUTPUT_ENV_VAR = "CLOUDFLARE_VITE_FORCE_BUILD_OUTPUT";
10
+
11
+ //#endregion
4
12
  //#region src/cf-vite.ts
5
13
  /**
6
14
  * `cf-vite` delegate binary entry point for `@cloudflare/vite-plugin`.
@@ -8,9 +16,15 @@ import { createServer } from "vite";
8
16
  * EXPERIMENTAL / internal: spawned by Cloudflare's "cf-dev" parent
9
17
  * process, not invoked directly by end users. Contract may change.
10
18
  *
11
- * Usage: `<pkgRoot>/bin/cf-vite <verb> [flags...]`. `dev` is the only
12
- * verb today; future verbs follow the same shape. Unknown/missing verbs
13
- * exit 2 (also the parent's version-detection signal).
19
+ * Usage: `<pkgRoot>/bin/cf-vite <verb> [flags...]`. `dev` and `build`
20
+ * are the verbs today; future verbs follow the same shape.
21
+ * Unknown/missing verbs exit 2 (also the parent's version-detection
22
+ * signal).
23
+ *
24
+ * Every verb forces the experimental Build Output API on by default by
25
+ * setting `CLOUDFLARE_VITE_FORCE_BUILD_OUTPUT` in `main()` before Vite
26
+ * loads the user's config; the plugin reads it during config resolution
27
+ * to enable `experimental.newConfig` + `experimental.newConfig.cfBuildOutput`.
14
28
  *
15
29
  * Spawn contract for `dev`: parent uses `stdio: "inherit"` and forwards
16
30
  * SIGINT/SIGTERM. Accepted flags mirror the sibling `cf-wrangler`
@@ -21,6 +35,11 @@ import { createServer } from "vite";
21
35
  * Vite via `createServer()` against the user's own config (expected to
22
36
  * include `cloudflare()`); flags are bridged to it as documented inline.
23
37
  *
38
+ * `build` runs Vite's full multi-environment app build via
39
+ * `createBuilder().buildApp()` (NOT the legacy single-environment
40
+ * `build()` helper, which would skip the plugin's worker builds). It
41
+ * accepts only `--mode` (the other shared flags don't apply to a build).
42
+ *
24
43
  * Exit codes: 0 graceful, 2 unknown verb / parse error, 130 SIGINT,
25
44
  * 143 SIGTERM.
26
45
  */
@@ -31,7 +50,7 @@ var ArgParseError = class extends Error {
31
50
  }
32
51
  };
33
52
  /** Strict argv parser; mirrors `cf-wrangler`'s flags (unknown → throw). */
34
- function parseArgs$1(argv) {
53
+ function parseDevArgs(argv) {
35
54
  let parsed;
36
55
  try {
37
56
  parsed = parseArgs({
@@ -60,16 +79,35 @@ function parseArgs$1(argv) {
60
79
  if (parsed.values.local !== void 0) out.local = parsed.values.local;
61
80
  return out;
62
81
  }
82
+ function parseBuildArgs(argv) {
83
+ let parsed;
84
+ try {
85
+ parsed = parseArgs({
86
+ args: argv,
87
+ options: { mode: { type: "string" } },
88
+ strict: true,
89
+ allowPositionals: false
90
+ });
91
+ } catch (err) {
92
+ throw new ArgParseError(err instanceof Error ? err.message : String(err));
93
+ }
94
+ const out = {};
95
+ if (parsed.values.mode !== void 0) out.mode = parsed.values.mode;
96
+ return out;
97
+ }
63
98
  async function main() {
64
99
  const verb = process.argv[2];
65
100
  const userArgv = process.argv.slice(3);
66
- if (verb !== "dev") {
67
- process.stderr.write(`Error: unknown subcommand "${verb ?? ""}".\nUsage: cf-vite dev [args]\n`);
68
- return 2;
69
- }
101
+ process.env[FORCE_BUILD_OUTPUT_ENV_VAR] = "true";
102
+ if (verb === "dev") return runDev(userArgv);
103
+ if (verb === "build") return runBuild(userArgv);
104
+ process.stderr.write(`Error: unknown subcommand "${verb ?? ""}".\nUsage: cf-vite <dev|build> [args]\n`);
105
+ return 2;
106
+ }
107
+ async function runDev(userArgv) {
70
108
  let args;
71
109
  try {
72
- args = parseArgs$1(userArgv);
110
+ args = parseDevArgs(userArgv);
73
111
  } catch (err) {
74
112
  if (err instanceof ArgParseError) {
75
113
  process.stderr.write(`Error: ${err.message}\n`);
@@ -104,6 +142,22 @@ async function main() {
104
142
  process.on("SIGTERM", () => shutdown("SIGTERM"));
105
143
  return new Promise(() => {});
106
144
  }
145
+ async function runBuild(userArgv) {
146
+ let args;
147
+ try {
148
+ args = parseBuildArgs(userArgv);
149
+ } catch (err) {
150
+ if (err instanceof ArgParseError) {
151
+ process.stderr.write(`Error: ${err.message}\n`);
152
+ return 2;
153
+ }
154
+ throw err;
155
+ }
156
+ const inlineConfig = {};
157
+ if (args.mode !== void 0) inlineConfig.mode = args.mode;
158
+ await (await createBuilder(inlineConfig)).buildApp();
159
+ return 0;
160
+ }
107
161
  const exitCode = await main();
108
162
  process.exit(exitCode);
109
163
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","names":[],"sources":["../src/utils.ts","../src/workers-configs.ts","../src/plugin-config.ts","../src/index.ts"],"sourcesContent":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../src/utils.ts","../src/workers-configs.ts","../src/plugin-config.ts","../src/index.ts"],"sourcesContent":[],"mappings":"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"}