@cloudflare/vite-plugin 0.0.7 → 0.1.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/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  // src/index.ts
2
- import assert7 from "node:assert";
2
+ import assert8 from "node:assert";
3
3
  import * as fs4 from "node:fs";
4
4
  import * as path6 from "node:path";
5
5
  import { createMiddleware } from "@hattip/adapter-node";
@@ -1077,98 +1077,6 @@ import assert from "node:assert";
1077
1077
  import { builtinModules } from "node:module";
1078
1078
  import * as vite2 from "vite";
1079
1079
 
1080
- // src/node-js-compat.ts
1081
- import { createRequire } from "node:module";
1082
- import { getNodeCompat } from "miniflare";
1083
- import * as unenv from "unenv";
1084
- var require2 = createRequire(import.meta.url);
1085
- var preset = unenv.env(unenv.nodeless, unenv.cloudflare);
1086
- var CLOUDFLARE_VIRTUAL_PREFIX = "\0cloudflare-";
1087
- function isNodeCompat({
1088
- compatibility_date,
1089
- compatibility_flags
1090
- }) {
1091
- const nodeCompatMode = getNodeCompat(
1092
- compatibility_date,
1093
- compatibility_flags ?? []
1094
- ).mode;
1095
- if (nodeCompatMode === "v2") {
1096
- return true;
1097
- }
1098
- if (nodeCompatMode === "legacy") {
1099
- throw new Error(
1100
- "Unsupported Node.js compat mode (legacy). Remove the `node_compat` setting and add the `nodejs_compat` flag instead."
1101
- );
1102
- }
1103
- if (nodeCompatMode === "v1") {
1104
- throw new Error(
1105
- `Unsupported Node.js compat mode (v1). Only the v2 mode is supported, either change your compat date to "2024-09-23" or later, or set the "nodejs_compat_v2" compatibility flag`
1106
- );
1107
- }
1108
- return false;
1109
- }
1110
- function injectGlobalCode(id, code, workerConfig) {
1111
- if (!isNodeCompat(workerConfig)) {
1112
- return;
1113
- }
1114
- const injectedCode = Object.entries(preset.inject).map(([globalName, globalInject]) => {
1115
- if (typeof globalInject === "string") {
1116
- const moduleSpecifier2 = globalInject;
1117
- return `import var_${globalName} from "${moduleSpecifier2}";
1118
- globalThis.${globalName} = var_${globalName};
1119
- `;
1120
- }
1121
- const [moduleSpecifier, exportName] = globalInject;
1122
- return `import var_${globalName} from "${moduleSpecifier}";
1123
- globalThis.${globalName} = var_${globalName}.${exportName};
1124
- `;
1125
- }).join("\n");
1126
- const modified = new MagicString(code);
1127
- modified.prepend(injectedCode);
1128
- return {
1129
- code: modified.toString(),
1130
- map: modified.generateMap({ hires: "boundary", source: id })
1131
- };
1132
- }
1133
- function getNodeCompatAliases() {
1134
- const aliases = {};
1135
- Object.keys(preset.alias).forEach((key) => {
1136
- if (!preset.external.includes(key)) {
1137
- aliases[key] = CLOUDFLARE_VIRTUAL_PREFIX + key;
1138
- }
1139
- });
1140
- return aliases;
1141
- }
1142
- function resolveNodeCompatId(environment, workerConfig, id) {
1143
- const aliased = resolveNodeAliases(id, workerConfig) ?? id;
1144
- if (aliased.startsWith("unenv/")) {
1145
- const resolvedDep = require2.resolve(aliased).replace(/\.cjs$/, ".mjs");
1146
- if (environment.mode === "dev" && environment.depsOptimizer) {
1147
- const dep = environment.depsOptimizer.registerMissingImport(
1148
- aliased,
1149
- resolvedDep
1150
- );
1151
- return dep.id;
1152
- } else {
1153
- return resolvedDep;
1154
- }
1155
- }
1156
- }
1157
- function getNodeCompatExternals() {
1158
- return preset.external;
1159
- }
1160
- function resolveNodeAliases(source, workerConfig) {
1161
- if (!source.startsWith(CLOUDFLARE_VIRTUAL_PREFIX) || !isNodeCompat(workerConfig)) {
1162
- return;
1163
- }
1164
- const from = source.slice(CLOUDFLARE_VIRTUAL_PREFIX.length);
1165
- const alias = preset.alias[from];
1166
- if (alias && preset.external.includes(alias)) {
1167
- throw new Error(`Alias to external: ${source} -> ${alias}`);
1168
- }
1169
- return alias;
1170
- }
1171
-
1172
1080
  // src/constants.ts
1173
1081
  var ROUTER_WORKER_NAME = "__router-worker__";
1174
1082
  var ASSET_WORKER_NAME = "__asset-worker__";
@@ -1322,12 +1230,13 @@ function createCloudflareEnvironmentOptions(workerConfig, userConfig, environmen
1322
1230
  // dev pre-bundling crawling (were we not to set this input field we'd have to appropriately set
1323
1231
  // optimizeDeps.entries in the dev config)
1324
1232
  input: workerConfig.main,
1325
- external: [...cloudflareBuiltInModules, ...getNodeCompatExternals()]
1233
+ external: [...cloudflareBuiltInModules]
1326
1234
  }
1327
1235
  },
1328
1236
  optimizeDeps: {
1329
1237
  // Note: ssr pre-bundling is opt-in and we need to enable it by setting `noDiscovery` to false
1330
1238
  noDiscovery: false,
1239
+ entries: workerConfig.main,
1331
1240
  exclude: [
1332
1241
  ...cloudflareBuiltInModules,
1333
1242
  // we have to exclude all node modules to work in dev-mode not just the unenv externals...
@@ -1413,33 +1322,33 @@ function writeDeployConfig(resolvedPluginConfig, resolvedViteConfig) {
1413
1322
  };
1414
1323
  fs.writeFileSync(deployConfigPath, JSON.stringify(deployConfig));
1415
1324
  } else {
1416
- const workerConfigPaths = Object.fromEntries(
1417
- Object.keys(resolvedPluginConfig.workers).map((environmentName) => {
1418
- const outputDirectory = resolvedViteConfig.environments[environmentName]?.build.outDir;
1419
- assert2(
1420
- outputDirectory,
1421
- `Unexpected error: ${environmentName} environment output directory is undefined`
1422
- );
1423
- return [
1424
- environmentName,
1425
- getRelativePathToWorkerConfig(
1426
- deployConfigDirectory,
1427
- resolvedViteConfig.root,
1428
- outputDirectory
1429
- )
1430
- ];
1431
- })
1432
- );
1433
- const { entryWorkerEnvironmentName } = resolvedPluginConfig;
1434
- const configPath = workerConfigPaths[entryWorkerEnvironmentName];
1325
+ let entryWorkerConfigPath;
1326
+ const auxiliaryWorkers = [];
1327
+ for (const environmentName of Object.keys(resolvedPluginConfig.workers)) {
1328
+ const outputDirectory = resolvedViteConfig.environments[environmentName]?.build.outDir;
1329
+ assert2(
1330
+ outputDirectory,
1331
+ `Unexpected error: ${environmentName} environment output directory is undefined`
1332
+ );
1333
+ const configPath = getRelativePathToWorkerConfig(
1334
+ deployConfigDirectory,
1335
+ resolvedViteConfig.root,
1336
+ outputDirectory
1337
+ );
1338
+ if (environmentName === resolvedPluginConfig.entryWorkerEnvironmentName) {
1339
+ entryWorkerConfigPath = configPath;
1340
+ } else {
1341
+ auxiliaryWorkers.push({ configPath });
1342
+ }
1343
+ }
1435
1344
  assert2(
1436
- configPath,
1437
- `Unexpected error: ${entryWorkerEnvironmentName} environment output directory is undefined`
1345
+ entryWorkerConfigPath,
1346
+ `Unexpected error: entryWorkerConfigPath is undefined`
1438
1347
  );
1439
- const auxiliaryWorkers = Object.entries(workerConfigPaths).filter(
1440
- ([environmentName]) => environmentName !== entryWorkerEnvironmentName
1441
- ).map(([_, configPath2]) => ({ configPath: configPath2 }));
1442
- const deployConfig = { configPath, auxiliaryWorkers };
1348
+ const deployConfig = {
1349
+ configPath: entryWorkerConfigPath,
1350
+ auxiliaryWorkers
1351
+ };
1443
1352
  fs.writeFileSync(deployConfigPath, JSON.stringify(deployConfig));
1444
1353
  }
1445
1354
  }
@@ -1868,13 +1777,94 @@ function miniflareLogLevelFromViteLogLevel(level = "info") {
1868
1777
  }
1869
1778
  }
1870
1779
 
1780
+ // src/node-js-compat.ts
1781
+ import assert5 from "node:assert";
1782
+ import { cloudflare } from "@cloudflare/unenv-preset";
1783
+ import { getNodeCompat } from "miniflare";
1784
+ import { defineEnv } from "unenv";
1785
+ var { env } = defineEnv({
1786
+ nodeCompat: true,
1787
+ presets: [cloudflare]
1788
+ });
1789
+ var CLOUDFLARE_VIRTUAL_PREFIX = "\0__CLOUDFLARE_NODEJS_COMPAT__";
1790
+ function isNodeCompat(workerConfig) {
1791
+ if (workerConfig === void 0) {
1792
+ return false;
1793
+ }
1794
+ const nodeCompatMode = getNodeCompat(
1795
+ workerConfig.compatibility_date,
1796
+ workerConfig.compatibility_flags ?? []
1797
+ ).mode;
1798
+ if (nodeCompatMode === "v2") {
1799
+ return true;
1800
+ }
1801
+ if (nodeCompatMode === "legacy") {
1802
+ throw new Error(
1803
+ "Unsupported Node.js compat mode (legacy). Remove the `node_compat` setting and add the `nodejs_compat` flag instead."
1804
+ );
1805
+ }
1806
+ if (nodeCompatMode === "v1") {
1807
+ throw new Error(
1808
+ `Unsupported Node.js compat mode (v1). Only the v2 mode is supported, either change your compat date to "2024-09-23" or later, or set the "nodejs_compat_v2" compatibility flag`
1809
+ );
1810
+ }
1811
+ return false;
1812
+ }
1813
+ function injectGlobalCode(id, code) {
1814
+ const injectedCode = Object.entries(env.inject).map(([globalName, globalInject]) => {
1815
+ if (typeof globalInject === "string") {
1816
+ const moduleSpecifier2 = globalInject;
1817
+ return `import var_${globalName} from "${moduleSpecifier2}";
1818
+ globalThis.${globalName} = var_${globalName};
1819
+ `;
1820
+ }
1821
+ const [moduleSpecifier, exportName] = globalInject;
1822
+ return `import var_${globalName} from "${moduleSpecifier}";
1823
+ globalThis.${globalName} = var_${globalName}.${exportName};
1824
+ `;
1825
+ }).join("\n");
1826
+ const modified = new MagicString(code);
1827
+ modified.prepend(injectedCode);
1828
+ return {
1829
+ code: modified.toString(),
1830
+ map: modified.generateMap({ hires: "boundary", source: id })
1831
+ };
1832
+ }
1833
+ function getNodeCompatAliases() {
1834
+ const aliases = {};
1835
+ Object.keys(env.alias).forEach((key) => {
1836
+ if (!env.external.includes(key)) {
1837
+ aliases[key] = CLOUDFLARE_VIRTUAL_PREFIX + key;
1838
+ }
1839
+ });
1840
+ return aliases;
1841
+ }
1842
+ function getNodeCompatExternals() {
1843
+ return env.external;
1844
+ }
1845
+ function maybeStripNodeJsVirtualPrefix(source) {
1846
+ return source.startsWith(CLOUDFLARE_VIRTUAL_PREFIX) ? source.slice(CLOUDFLARE_VIRTUAL_PREFIX.length) : void 0;
1847
+ }
1848
+ function dealiasVirtualNodeJSImport(source) {
1849
+ const alias = env.alias[source];
1850
+ assert5(
1851
+ alias,
1852
+ `Expected "${source}" to have a Node.js compat alias, but none was found`
1853
+ );
1854
+ assert5(
1855
+ !env.external.includes(alias),
1856
+ `Unexpected unenv alias to external module: ${source} -> ${alias}`
1857
+ );
1858
+ return alias;
1859
+ }
1860
+
1871
1861
  // src/plugin-config.ts
1872
- import assert6 from "node:assert";
1862
+ import assert7 from "node:assert";
1873
1863
  import * as path5 from "node:path";
1874
1864
  import * as vite5 from "vite";
1875
1865
 
1876
1866
  // src/workers-configs.ts
1877
- import assert5 from "node:assert";
1867
+ import assert6 from "node:assert";
1878
1868
  import * as fs3 from "node:fs";
1879
1869
  import * as path4 from "node:path";
1880
1870
  import { unstable_readConfig as unstable_readConfig2 } from "wrangler";
@@ -2050,17 +2040,17 @@ function getWorkerConfig(configPath, env2, opts) {
2050
2040
  }
2051
2041
  const { raw, config, nonApplicable } = readWorkerConfig(configPath, env2);
2052
2042
  opts?.visitedConfigPaths?.add(configPath);
2053
- assert5(
2043
+ assert6(
2054
2044
  config.topLevelName,
2055
2045
  missingFieldErrorMessage(`top-level 'name'`, configPath, env2)
2056
2046
  );
2057
- assert5(config.name, missingFieldErrorMessage(`'name'`, configPath, env2));
2058
- assert5(
2047
+ assert6(config.name, missingFieldErrorMessage(`'name'`, configPath, env2));
2048
+ assert6(
2059
2049
  config.compatibility_date,
2060
2050
  missingFieldErrorMessage(`'compatibility_date'`, configPath, env2)
2061
2051
  );
2062
2052
  if (opts?.isEntryWorker && !config.main) {
2063
- assert5(
2053
+ assert6(
2064
2054
  config.assets,
2065
2055
  missingFieldErrorMessage(`'main' or 'assets'`, configPath, env2)
2066
2056
  );
@@ -2077,7 +2067,7 @@ function getWorkerConfig(configPath, env2, opts) {
2077
2067
  nonApplicable
2078
2068
  };
2079
2069
  }
2080
- assert5(config.main, missingFieldErrorMessage(`'main'`, configPath, env2));
2070
+ assert6(config.main, missingFieldErrorMessage(`'main'`, configPath, env2));
2081
2071
  return {
2082
2072
  type: "worker",
2083
2073
  raw,
@@ -2115,7 +2105,7 @@ function resolvePluginConfig(pluginConfig, userConfig, viteEnv) {
2115
2105
  ""
2116
2106
  );
2117
2107
  const configPath = pluginConfig.configPath ? path5.resolve(root, pluginConfig.configPath) : findWranglerConfig(root);
2118
- assert6(
2108
+ assert7(
2119
2109
  configPath,
2120
2110
  `Config not found. Have you created a wrangler.json(c) or wrangler.toml file?`
2121
2111
  );
@@ -2150,7 +2140,7 @@ function resolvePluginConfig(pluginConfig, userConfig, viteEnv) {
2150
2140
  }
2151
2141
  );
2152
2142
  auxiliaryWorkersResolvedConfigs.push(workerResolvedConfig);
2153
- assert6(
2143
+ assert7(
2154
2144
  workerResolvedConfig.type === "worker",
2155
2145
  "Unexpected error: received AssetsOnlyResult with auxiliary workers."
2156
2146
  );
@@ -2267,9 +2257,6 @@ function cloudflare2(pluginConfig = {}) {
2267
2257
  }
2268
2258
  return {
2269
2259
  appType: "custom",
2270
- resolve: {
2271
- alias: getNodeCompatAliases()
2272
- },
2273
2260
  environments: resolvedPluginConfig.type === "workers" ? {
2274
2261
  ...Object.fromEntries(
2275
2262
  Object.entries(resolvedPluginConfig.workers).map(
@@ -2306,7 +2293,7 @@ function cloudflare2(pluginConfig = {}) {
2306
2293
  resolvedPluginConfig.workers
2307
2294
  ).map((environmentName) => {
2308
2295
  const environment = builder.environments[environmentName];
2309
- assert7(
2296
+ assert8(
2310
2297
  environment,
2311
2298
  `${environmentName} environment not found`
2312
2299
  );
@@ -2318,7 +2305,6 @@ function cloudflare2(pluginConfig = {}) {
2318
2305
  )
2319
2306
  );
2320
2307
  }
2321
- writeDeployConfig(resolvedPluginConfig, resolvedViteConfig);
2322
2308
  }
2323
2309
  }
2324
2310
  };
@@ -2326,29 +2312,6 @@ function cloudflare2(pluginConfig = {}) {
2326
2312
  configResolved(config) {
2327
2313
  resolvedViteConfig = config;
2328
2314
  },
2329
- async resolveId(source) {
2330
- if (resolvedPluginConfig.type === "assets-only") {
2331
- return;
2332
- }
2333
- const workerConfig = resolvedPluginConfig.workers[this.environment.name];
2334
- if (!workerConfig) {
2335
- return;
2336
- }
2337
- return resolveNodeCompatId(this.environment, workerConfig, source);
2338
- },
2339
- async transform(code, id) {
2340
- if (resolvedPluginConfig.type === "assets-only") {
2341
- return;
2342
- }
2343
- const workerConfig = resolvedPluginConfig.workers[this.environment.name];
2344
- if (!workerConfig) {
2345
- return;
2346
- }
2347
- const resolvedId = await this.resolve(workerConfig.main);
2348
- if (id === resolvedId?.id) {
2349
- return injectGlobalCode(id, code, workerConfig);
2350
- }
2351
- },
2352
2315
  generateBundle(_, bundle) {
2353
2316
  let config;
2354
2317
  if (resolvedPluginConfig.type === "workers") {
@@ -2364,7 +2327,7 @@ function cloudflare2(pluginConfig = {}) {
2364
2327
  if (isEntryWorker && workerConfig.assets) {
2365
2328
  const workerOutputDirectory = this.environment.config.build.outDir;
2366
2329
  const clientOutputDirectory = resolvedViteConfig.environments.client?.build.outDir;
2367
- assert7(
2330
+ assert8(
2368
2331
  clientOutputDirectory,
2369
2332
  "Unexpected error: client output directory is undefined"
2370
2333
  );
@@ -2413,6 +2376,11 @@ function cloudflare2(pluginConfig = {}) {
2413
2376
  source: JSON.stringify(config)
2414
2377
  });
2415
2378
  },
2379
+ writeBundle() {
2380
+ if (this.environment.name === (resolvedPluginConfig.type === "assets-only" ? "client" : resolvedPluginConfig.entryWorkerEnvironmentName)) {
2381
+ writeDeployConfig(resolvedPluginConfig, resolvedViteConfig);
2382
+ }
2383
+ },
2416
2384
  handleHotUpdate(options) {
2417
2385
  if (resolvedPluginConfig.configPaths.has(options.file)) {
2418
2386
  options.server.restart();
@@ -2425,7 +2393,7 @@ function cloudflare2(pluginConfig = {}) {
2425
2393
  }
2426
2394
  },
2427
2395
  async configureServer(viteDevServer) {
2428
- assert7(
2396
+ assert8(
2429
2397
  viteDevServer.httpServer,
2430
2398
  "Unexpected error: No Vite HTTP server"
2431
2399
  );
@@ -2437,11 +2405,14 @@ function cloudflare2(pluginConfig = {}) {
2437
2405
  resolvedPluginConfig,
2438
2406
  miniflare
2439
2407
  );
2440
- const middleware = createMiddleware(({ request }) => {
2441
- return entryWorker.fetch(toMiniflareRequest(request), {
2442
- redirect: "manual"
2443
- });
2444
- });
2408
+ const middleware = createMiddleware(
2409
+ ({ request }) => {
2410
+ return entryWorker.fetch(toMiniflareRequest(request), {
2411
+ redirect: "manual"
2412
+ });
2413
+ },
2414
+ { alwaysCallNext: false }
2415
+ );
2445
2416
  handleWebSocket(
2446
2417
  viteDevServer.httpServer,
2447
2418
  entryWorker.fetch,
@@ -2460,11 +2431,14 @@ function cloudflare2(pluginConfig = {}) {
2460
2431
  pluginConfig.persistState ?? true
2461
2432
  )
2462
2433
  );
2463
- const middleware = createMiddleware(({ request }) => {
2464
- return miniflare2.dispatchFetch(toMiniflareRequest(request), {
2465
- redirect: "manual"
2466
- });
2467
- });
2434
+ const middleware = createMiddleware(
2435
+ ({ request }) => {
2436
+ return miniflare2.dispatchFetch(toMiniflareRequest(request), {
2437
+ redirect: "manual"
2438
+ });
2439
+ },
2440
+ { alwaysCallNext: false }
2441
+ );
2468
2442
  handleWebSocket(
2469
2443
  vitePreviewServer.httpServer,
2470
2444
  miniflare2.dispatchFetch,
@@ -2484,19 +2458,14 @@ function cloudflare2(pluginConfig = {}) {
2484
2458
  // Otherwise the `vite:wasm-fallback` plugin prevents the `.wasm` extension being used for module imports.
2485
2459
  enforce: "pre",
2486
2460
  applyToEnvironment(environment) {
2487
- if (resolvedPluginConfig.type === "assets-only") {
2488
- return false;
2489
- }
2490
- return Object.keys(resolvedPluginConfig.workers).includes(
2491
- environment.name
2492
- );
2461
+ return getWorkerConfig2(environment.name) !== void 0;
2493
2462
  },
2494
2463
  async resolveId(source, importer) {
2495
2464
  if (!source.endsWith(".wasm")) {
2496
2465
  return;
2497
2466
  }
2498
2467
  const resolved = await this.resolve(source, importer);
2499
- assert7(
2468
+ assert8(
2500
2469
  resolved,
2501
2470
  `Unexpected error: could not resolve Wasm module ${source}`
2502
2471
  );
@@ -2512,7 +2481,7 @@ function cloudflare2(pluginConfig = {}) {
2512
2481
  while (match = moduleRE.exec(code)) {
2513
2482
  magicString ??= new MagicString(code);
2514
2483
  const [full, moduleType, modulePath] = match;
2515
- assert7(
2484
+ assert8(
2516
2485
  modulePath,
2517
2486
  `Unexpected error: module path not found in reference ${full}.`
2518
2487
  );
@@ -2548,8 +2517,74 @@ function cloudflare2(pluginConfig = {}) {
2548
2517
  };
2549
2518
  }
2550
2519
  }
2520
+ },
2521
+ // Plugin that can provide Node.js compatibility support for Vite Environments that are hosted in Cloudflare Workers.
2522
+ {
2523
+ name: "vite-plugin-cloudflare:nodejs-compat",
2524
+ apply(_config, env2) {
2525
+ return !env2.isPreview;
2526
+ },
2527
+ config() {
2528
+ return {
2529
+ resolve: {
2530
+ alias: getNodeCompatAliases()
2531
+ }
2532
+ };
2533
+ },
2534
+ configEnvironment(environmentName) {
2535
+ const workerConfig = getWorkerConfig2(environmentName);
2536
+ if (isNodeCompat(workerConfig)) {
2537
+ return {
2538
+ build: {
2539
+ rollupOptions: {
2540
+ external: getNodeCompatExternals()
2541
+ }
2542
+ }
2543
+ };
2544
+ }
2545
+ },
2546
+ async resolveId(source, importer, options) {
2547
+ const from = maybeStripNodeJsVirtualPrefix(source);
2548
+ if (!from) {
2549
+ return;
2550
+ }
2551
+ const workerConfig = getWorkerConfig2(this.environment.name);
2552
+ if (!isNodeCompat(workerConfig)) {
2553
+ return this.resolve(from, importer, options);
2554
+ }
2555
+ const unresolvedAlias = dealiasVirtualNodeJSImport(from);
2556
+ const resolvedAlias = await this.resolve(
2557
+ unresolvedAlias,
2558
+ import.meta.url
2559
+ );
2560
+ assert8(
2561
+ resolvedAlias,
2562
+ "Failed to resolve aliased nodejs import: " + unresolvedAlias
2563
+ );
2564
+ if (this.environment.mode === "dev" && this.environment.depsOptimizer) {
2565
+ this.environment.depsOptimizer.registerMissingImport(
2566
+ unresolvedAlias,
2567
+ resolvedAlias.id
2568
+ );
2569
+ }
2570
+ return resolvedAlias;
2571
+ },
2572
+ async transform(code, id) {
2573
+ const workerConfig = getWorkerConfig2(this.environment.name);
2574
+ if (!isNodeCompat(workerConfig)) {
2575
+ return;
2576
+ }
2577
+ const resolvedId = await this.resolve(workerConfig.main);
2578
+ if (id === resolvedId?.id) {
2579
+ return injectGlobalCode(id, code);
2580
+ }
2581
+ }
2551
2582
  }
2552
2583
  ];
2584
+ function getWorkerConfig2(environmentName) {
2585
+ assert8(resolvedPluginConfig, "Expected resolvedPluginConfig to be defined");
2586
+ return resolvedPluginConfig.type !== "assets-only" ? resolvedPluginConfig.workers[environmentName] : void 0;
2587
+ }
2553
2588
  }
2554
2589
  function getDotDevDotVarsContent(configPath, cloudflareEnv) {
2555
2590
  const configDir = path6.dirname(configPath);
@@ -25,7 +25,7 @@ function stripInternalEnv(internalEnv) {
25
25
  return userEnv;
26
26
  }
27
27
 
28
- // ../../node_modules/.pnpm/vite@6.0.7_@types+node@18.19.74_jiti@2.4.2/node_modules/vite/dist/node/module-runner.js
28
+ // ../../node_modules/.pnpm/vite@6.1.0_@types+node@18.19.74_jiti@2.4.2/node_modules/vite/dist/node/module-runner.js
29
29
  var VALID_ID_PREFIX = "/@id/";
30
30
  var NULL_BYTE_PLACEHOLDER = "__x00__";
31
31
  var SOURCEMAPPING_URL = "sourceMa";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cloudflare/vite-plugin",
3
- "version": "0.0.7",
3
+ "version": "0.1.0",
4
4
  "description": "Cloudflare plugin for Vite",
5
5
  "keywords": [
6
6
  "cloudflare",
@@ -33,10 +33,11 @@
33
33
  "dist"
34
34
  ],
35
35
  "dependencies": {
36
+ "@cloudflare/unenv-preset": "1.1.1",
36
37
  "@hattip/adapter-node": "^0.0.49",
37
- "unenv": "npm:unenv-nightly@2.0.0-20241218-183400-5d6aec3",
38
+ "unenv": "2.0.0-rc.1",
38
39
  "ws": "^8.18.0",
39
- "miniflare": "3.20250204.0"
40
+ "miniflare": "3.20250204.1"
40
41
  },
41
42
  "devDependencies": {
42
43
  "@cloudflare/workers-types": "^4.20250204.0",
@@ -45,13 +46,13 @@
45
46
  "magic-string": "^0.30.12",
46
47
  "tsup": "8.3.0",
47
48
  "typescript": "^5.7.2",
48
- "vite": "^6.0.7",
49
- "@cloudflare/workers-shared": "0.13.2",
49
+ "vite": "^6.1.0",
50
+ "@cloudflare/workers-shared": "0.14.1",
50
51
  "@cloudflare/workers-tsconfig": "0.0.0",
51
- "wrangler": "3.108.0"
52
+ "wrangler": "3.109.0"
52
53
  },
53
54
  "peerDependencies": {
54
- "vite": "^6.0.7",
55
+ "vite": "^6.1.0",
55
56
  "wrangler": "^3.101.0"
56
57
  },
57
58
  "publishConfig": {