@cloudflare/vite-plugin 0.1.8 → 0.1.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +9 -0
- package/dist/asset-workers/asset-worker.js +912 -792
- package/dist/asset-workers/router-worker.js +230 -230
- package/dist/index.js +80 -49
- package/package.json +7 -6
package/dist/index.js
CHANGED
|
@@ -1370,6 +1370,7 @@ import {
|
|
|
1370
1370
|
LogLevel,
|
|
1371
1371
|
Response as MiniflareResponse
|
|
1372
1372
|
} from "miniflare";
|
|
1373
|
+
import { globSync } from "tinyglobby";
|
|
1373
1374
|
import "vite";
|
|
1374
1375
|
import {
|
|
1375
1376
|
unstable_getMiniflareWorkerOptions,
|
|
@@ -1551,7 +1552,7 @@ function getDevMiniflareOptions(resolvedPluginConfig, viteDevServer) {
|
|
|
1551
1552
|
}
|
|
1552
1553
|
}
|
|
1553
1554
|
];
|
|
1554
|
-
const
|
|
1555
|
+
const workersFromConfig = resolvedPluginConfig.type === "workers" ? Object.entries(resolvedPluginConfig.workers).map(
|
|
1555
1556
|
([environmentName, workerConfig]) => {
|
|
1556
1557
|
const miniflareWorkerOptions = unstable_getMiniflareWorkerOptions(
|
|
1557
1558
|
{
|
|
@@ -1560,51 +1561,58 @@ function getDevMiniflareOptions(resolvedPluginConfig, viteDevServer) {
|
|
|
1560
1561
|
},
|
|
1561
1562
|
resolvedPluginConfig.cloudflareEnv
|
|
1562
1563
|
);
|
|
1564
|
+
const { externalWorkers: externalWorkers2 } = miniflareWorkerOptions;
|
|
1563
1565
|
const { ratelimits, ...workerOptions } = miniflareWorkerOptions.workerOptions;
|
|
1564
1566
|
return {
|
|
1565
|
-
|
|
1566
|
-
|
|
1567
|
-
|
|
1568
|
-
|
|
1569
|
-
|
|
1570
|
-
|
|
1571
|
-
|
|
1572
|
-
|
|
1573
|
-
|
|
1574
|
-
|
|
1575
|
-
|
|
1576
|
-
|
|
1577
|
-
|
|
1578
|
-
|
|
1579
|
-
|
|
1580
|
-
|
|
1581
|
-
|
|
1582
|
-
|
|
1583
|
-
|
|
1584
|
-
|
|
1585
|
-
|
|
1586
|
-
|
|
1587
|
-
|
|
1588
|
-
|
|
1589
|
-
|
|
1590
|
-
|
|
1591
|
-
|
|
1592
|
-
|
|
1593
|
-
|
|
1594
|
-
|
|
1595
|
-
|
|
1596
|
-
|
|
1597
|
-
|
|
1598
|
-
|
|
1567
|
+
externalWorkers: externalWorkers2,
|
|
1568
|
+
worker: {
|
|
1569
|
+
...workerOptions,
|
|
1570
|
+
name: workerOptions.name ?? workerConfig.name,
|
|
1571
|
+
modulesRoot: miniflareModulesRoot,
|
|
1572
|
+
unsafeEvalBinding: "__VITE_UNSAFE_EVAL__",
|
|
1573
|
+
bindings: {
|
|
1574
|
+
...workerOptions.bindings,
|
|
1575
|
+
__VITE_ROOT__: resolvedViteConfig.root,
|
|
1576
|
+
__VITE_ENTRY_PATH__: workerConfig.main
|
|
1577
|
+
},
|
|
1578
|
+
serviceBindings: {
|
|
1579
|
+
...workerOptions.serviceBindings,
|
|
1580
|
+
...environmentName === resolvedPluginConfig.entryWorkerEnvironmentName && workerConfig.assets?.binding ? {
|
|
1581
|
+
[workerConfig.assets.binding]: ASSET_WORKER_NAME
|
|
1582
|
+
} : {},
|
|
1583
|
+
__VITE_INVOKE_MODULE__: async (request) => {
|
|
1584
|
+
const payload = await request.json();
|
|
1585
|
+
const invokePayloadData = payload.data;
|
|
1586
|
+
assert4(
|
|
1587
|
+
invokePayloadData.name === "fetchModule",
|
|
1588
|
+
`Invalid invoke event: ${invokePayloadData.name}`
|
|
1589
|
+
);
|
|
1590
|
+
const [moduleId] = invokePayloadData.data;
|
|
1591
|
+
const moduleRE = new RegExp(MODULE_PATTERN);
|
|
1592
|
+
const shouldExternalize = (
|
|
1593
|
+
// Worker modules (CompiledWasm, Text, Data)
|
|
1594
|
+
moduleRE.test(moduleId)
|
|
1595
|
+
);
|
|
1596
|
+
if (shouldExternalize) {
|
|
1597
|
+
const result2 = {
|
|
1598
|
+
externalize: moduleId,
|
|
1599
|
+
type: "module"
|
|
1600
|
+
};
|
|
1601
|
+
return MiniflareResponse.json({ result: result2 });
|
|
1602
|
+
}
|
|
1603
|
+
const devEnvironment = viteDevServer.environments[environmentName];
|
|
1604
|
+
const result = await devEnvironment.hot.handleInvoke(payload);
|
|
1605
|
+
return MiniflareResponse.json(result);
|
|
1599
1606
|
}
|
|
1600
|
-
const devEnvironment = viteDevServer.environments[environmentName];
|
|
1601
|
-
const result = await devEnvironment.hot.handleInvoke(payload);
|
|
1602
|
-
return MiniflareResponse.json(result);
|
|
1603
1607
|
}
|
|
1604
1608
|
}
|
|
1605
1609
|
};
|
|
1606
1610
|
}
|
|
1607
1611
|
) : [];
|
|
1612
|
+
const userWorkers = workersFromConfig.map((options) => options.worker);
|
|
1613
|
+
const externalWorkers = workersFromConfig.flatMap(
|
|
1614
|
+
(options) => options.externalWorkers
|
|
1615
|
+
);
|
|
1608
1616
|
const workerToWorkerEntrypointNamesMap = getWorkerToWorkerEntrypointNamesMap(userWorkers);
|
|
1609
1617
|
const workerToDurableObjectClassNamesMap = getWorkerToDurableObjectClassNamesMap(userWorkers);
|
|
1610
1618
|
const workerToWorkflowEntrypointClassNamesMap = getWorkerToWorkflowEntrypointClassNamesMap(userWorkers);
|
|
@@ -1624,6 +1632,7 @@ function getDevMiniflareOptions(resolvedPluginConfig, viteDevServer) {
|
|
|
1624
1632
|
),
|
|
1625
1633
|
workers: [
|
|
1626
1634
|
...assetWorkers,
|
|
1635
|
+
...externalWorkers,
|
|
1627
1636
|
...userWorkers.map((workerOptions) => {
|
|
1628
1637
|
const wrappers = [
|
|
1629
1638
|
`import { createWorkerEntrypointWrapper, createDurableObjectWrapper, createWorkflowEntrypointWrapper } from '${RUNNER_PATH}';`,
|
|
@@ -1713,22 +1722,44 @@ function getDevMiniflareOptions(resolvedPluginConfig, viteDevServer) {
|
|
|
1713
1722
|
}
|
|
1714
1723
|
};
|
|
1715
1724
|
}
|
|
1725
|
+
function getPreviewModules(main, modulesRules) {
|
|
1726
|
+
assert4(modulesRules, `Unexpected error: 'modulesRules' is undefined`);
|
|
1727
|
+
const rootPath = path3.dirname(main);
|
|
1728
|
+
const entryPath = path3.basename(main);
|
|
1729
|
+
return {
|
|
1730
|
+
rootPath,
|
|
1731
|
+
modules: [
|
|
1732
|
+
{
|
|
1733
|
+
type: "ESModule",
|
|
1734
|
+
path: entryPath
|
|
1735
|
+
},
|
|
1736
|
+
...modulesRules.flatMap(
|
|
1737
|
+
({ type, include }) => globSync(include, { cwd: rootPath, ignore: entryPath }).map((path8) => ({
|
|
1738
|
+
type,
|
|
1739
|
+
path: path8
|
|
1740
|
+
}))
|
|
1741
|
+
)
|
|
1742
|
+
]
|
|
1743
|
+
};
|
|
1744
|
+
}
|
|
1716
1745
|
function getPreviewMiniflareOptions(vitePreviewServer, persistState) {
|
|
1717
1746
|
const resolvedViteConfig = vitePreviewServer.config;
|
|
1718
1747
|
const configPaths = getWorkerConfigPaths(resolvedViteConfig.root);
|
|
1719
1748
|
const workerConfigs = configPaths.map(
|
|
1720
1749
|
(configPath) => unstable_readConfig({ config: configPath })
|
|
1721
1750
|
);
|
|
1722
|
-
const workers = workerConfigs.
|
|
1751
|
+
const workers = workerConfigs.flatMap((config) => {
|
|
1723
1752
|
const miniflareWorkerOptions = unstable_getMiniflareWorkerOptions(config);
|
|
1724
|
-
const {
|
|
1725
|
-
|
|
1726
|
-
|
|
1727
|
-
|
|
1728
|
-
|
|
1729
|
-
|
|
1730
|
-
|
|
1731
|
-
|
|
1753
|
+
const { externalWorkers } = miniflareWorkerOptions;
|
|
1754
|
+
const { ratelimits, modulesRules, ...workerOptions } = miniflareWorkerOptions.workerOptions;
|
|
1755
|
+
return [
|
|
1756
|
+
{
|
|
1757
|
+
...workerOptions,
|
|
1758
|
+
name: workerOptions.name ?? config.name,
|
|
1759
|
+
...miniflareWorkerOptions.main ? getPreviewModules(miniflareWorkerOptions.main, modulesRules) : { modules: true, script: "" }
|
|
1760
|
+
},
|
|
1761
|
+
...externalWorkers
|
|
1762
|
+
];
|
|
1732
1763
|
});
|
|
1733
1764
|
const logger = new ViteMiniflareLogger(resolvedViteConfig);
|
|
1734
1765
|
return {
|
|
@@ -7370,7 +7401,7 @@ var isAbsolute = function(p) {
|
|
|
7370
7401
|
import { fileURLToPath as fileURLToPath$1, URL as URL$1, pathToFileURL as pathToFileURL$1 } from "node:url";
|
|
7371
7402
|
import assert5 from "node:assert";
|
|
7372
7403
|
import process$1 from "node:process";
|
|
7373
|
-
import path4, { dirname as
|
|
7404
|
+
import path4, { dirname as dirname4 } from "node:path";
|
|
7374
7405
|
import v8 from "node:v8";
|
|
7375
7406
|
import { format as format2, inspect } from "node:util";
|
|
7376
7407
|
var BUILTIN_MODULES = new Set(builtinModules);
|
|
@@ -9309,7 +9340,7 @@ function cloudflare2(pluginConfig = {}) {
|
|
|
9309
9340
|
return;
|
|
9310
9341
|
}
|
|
9311
9342
|
config.no_bundle = true;
|
|
9312
|
-
config.rules = [{ type: "ESModule", globs: ["**/*.js"] }];
|
|
9343
|
+
config.rules = [{ type: "ESModule", globs: ["**/*.js", "**/*.mjs"] }];
|
|
9313
9344
|
if (config.unsafe && Object.keys(config.unsafe).length === 0) {
|
|
9314
9345
|
config.unsafe = void 0;
|
|
9315
9346
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cloudflare/vite-plugin",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.10",
|
|
4
4
|
"description": "Cloudflare plugin for Vite",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"cloudflare",
|
|
@@ -35,12 +35,14 @@
|
|
|
35
35
|
"dependencies": {
|
|
36
36
|
"@cloudflare/unenv-preset": "1.1.1",
|
|
37
37
|
"@hattip/adapter-node": "^0.0.49",
|
|
38
|
+
"tinyglobby": "^0.2.12",
|
|
38
39
|
"unenv": "2.0.0-rc.1",
|
|
39
40
|
"ws": "8.18.0",
|
|
40
|
-
"miniflare": "3.
|
|
41
|
+
"miniflare": "3.20250310.0",
|
|
42
|
+
"wrangler": "3.114.1"
|
|
41
43
|
},
|
|
42
44
|
"devDependencies": {
|
|
43
|
-
"@cloudflare/workers-types": "^4.
|
|
45
|
+
"@cloudflare/workers-types": "^4.20250310.0",
|
|
44
46
|
"@types/node": "^22.10.1",
|
|
45
47
|
"@types/ws": "^8.5.13",
|
|
46
48
|
"magic-string": "^0.30.12",
|
|
@@ -50,9 +52,8 @@
|
|
|
50
52
|
"undici": "^5.28.5",
|
|
51
53
|
"vite": "^6.1.0",
|
|
52
54
|
"vitest": "~3.0.5",
|
|
53
|
-
"@cloudflare/workers-shared": "0.14.4",
|
|
54
55
|
"@cloudflare/mock-npm-registry": "0.0.0",
|
|
55
|
-
"
|
|
56
|
+
"@cloudflare/workers-shared": "0.15.0",
|
|
56
57
|
"@cloudflare/workers-tsconfig": "0.0.0"
|
|
57
58
|
},
|
|
58
59
|
"peerDependencies": {
|
|
@@ -70,7 +71,7 @@
|
|
|
70
71
|
"check:type": "tsc --build",
|
|
71
72
|
"dev": "tsup --watch",
|
|
72
73
|
"test": "vitest run",
|
|
73
|
-
"test:ci": "pnpm test
|
|
74
|
+
"test:ci": "pnpm test",
|
|
74
75
|
"test:e2e": "vitest run -c e2e/vitest.config.ts",
|
|
75
76
|
"test:watch": "vitest"
|
|
76
77
|
}
|