125 lines
15 KiB
Diff
125 lines
15 KiB
Diff
diff --git a/node_modules/@cloudflare/vitest-pool-workers/.bun-tag-4f580cd931af41cf b/.bun-tag-4f580cd931af41cf
|
|
new file mode 100644
|
|
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
|
|
diff --git a/node_modules/@cloudflare/vitest-pool-workers/.bun-tag-9af33d5ef1b055b6 b/.bun-tag-9af33d5ef1b055b6
|
|
new file mode 100644
|
|
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
|
|
diff --git a/node_modules/@cloudflare/vitest-pool-workers/.bun-tag-bc13f50728613b9b b/.bun-tag-bc13f50728613b9b
|
|
new file mode 100644
|
|
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
|
|
diff --git a/node_modules/@cloudflare/vitest-pool-workers/.bun-tag-da6365f6377c435 b/.bun-tag-da6365f6377c435
|
|
new file mode 100644
|
|
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
|
|
diff --git a/node_modules/@cloudflare/vitest-pool-workers/.bun-tag-e8c4c34325da55fc b/.bun-tag-e8c4c34325da55fc
|
|
new file mode 100644
|
|
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
|
|
diff --git a/node_modules/@cloudflare/vitest-pool-workers/.bun-tag-fda91df55e69aaa5 b/.bun-tag-fda91df55e69aaa5
|
|
new file mode 100644
|
|
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
|
|
diff --git a/dist/pool/index.mjs b/dist/pool/index.mjs
|
|
index 22f57632afbb31d513363fd16373c61a5154a3be..3ff80ffe47dc003a2df813ad24bcb507b6e982a7 100644
|
|
--- a/dist/pool/index.mjs
|
|
+++ b/dist/pool/index.mjs
|
|
@@ -31,7 +31,7 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
var define_VITEST_POOL_WORKERS_DEFINE_BUILTIN_MODULES_default;
|
|
var init_define_VITEST_POOL_WORKERS_DEFINE_BUILTIN_MODULES = __esm({
|
|
"<define:VITEST_POOL_WORKERS_DEFINE_BUILTIN_MODULES>"() {
|
|
- define_VITEST_POOL_WORKERS_DEFINE_BUILTIN_MODULES_default = ["node-internal:async_hooks", "node-internal:buffer", "node-internal:crypto", "node-internal:module", "node-internal:process", "node-internal:util", "node-internal:diagnostics_channel", "node-internal:zlib", "node-internal:url", "node-internal:timers", "node-internal:sqlite", "node-internal:dns", "node:_stream_duplex", "node:_stream_passthrough", "node:_stream_readable", "node:_stream_transform", "node:_stream_writable", "node:_tls_common", "node:_tls_wrap", "node:assert", "node:assert/strict", "node:async_hooks", "node:buffer", "node:constants", "node:crypto", "node:diagnostics_channel", "node:dns", "node:dns/promises", "node:events", "node:fs/promises", "node:module", "node:net", "node:path", "node:path/posix", "node:path/win32", "node:querystring", "node:stream", "node:stream/consumers", "node:stream/promises", "node:stream/web", "node:string_decoder", "node:test", "node:timers", "node:timers/promises", "node:tls", "node:url", "node:util", "node:util/types", "node:zlib", "node-internal:constants", "node-internal:crypto_cipher", "node-internal:crypto_dh", "node-internal:crypto_hash", "node-internal:crypto_hkdf", "node-internal:crypto_keys", "node-internal:crypto_pbkdf2", "node-internal:crypto_random", "node-internal:crypto_scrypt", "node-internal:crypto_sign", "node-internal:crypto_spkac", "node-internal:crypto_util", "node-internal:crypto_x509", "node-internal:debuglog", "node-internal:events", "node-internal:internal_assert", "node-internal:internal_assertionerror", "node-internal:internal_buffer", "node-internal:internal_comparisons", "node-internal:internal_diffs", "node-internal:internal_dns", "node-internal:internal_dns_client", "node-internal:internal_dns_constants", "node-internal:internal_dns_promises", "node-internal:internal_errors", "node-internal:internal_fs", "node-internal:internal_fs_callback", "node-internal:internal_fs_constants", "node-internal:internal_fs_promises", "node-internal:internal_fs_streams", "node-internal:internal_fs_sync", "node-internal:internal_fs_utils", "node-internal:internal_http", "node-internal:internal_http2_constants", "node-internal:internal_http_agent", "node-internal:internal_http_client", "node-internal:internal_http_constants", "node-internal:internal_http_incoming", "node-internal:internal_http_outgoing", "node-internal:internal_http_server", "node-internal:internal_http_util", "node-internal:internal_https_agent", "node-internal:internal_https_server", "node-internal:internal_inspect", "node-internal:internal_module", "node-internal:internal_net", "node-internal:internal_path", "node-internal:internal_process", "node-internal:internal_querystring", "node-internal:internal_readline", "node-internal:internal_readline_promises", "node-internal:internal_stringdecoder", "node-internal:internal_timers", "node-internal:internal_timers_global_override", "node-internal:internal_timers_promises", "node-internal:internal_tls", "node-internal:internal_tls_common", "node-internal:internal_tls_constants", "node-internal:internal_tls_jsstream", "node-internal:internal_tls_wrap", "node-internal:internal_types", "node-internal:internal_url", "node-internal:internal_utils", "node-internal:internal_zlib", "node-internal:internal_zlib_base", "node-internal:internal_zlib_constants", "node-internal:legacy_process", "node-internal:legacy_url", "node-internal:mock", "node-internal:public_process", "node-internal:streams_add_abort_signal", "node-internal:streams_compose", "node-internal:streams_destroy", "node-internal:streams_duplex", "node-internal:streams_end_of_stream", "node-internal:streams_legacy", "node-internal:streams_pipeline", "node-internal:streams_promises", "node-internal:streams_readable", "node-internal:streams_state", "node-internal:streams_transform", "node-internal:streams_util", "node-internal:streams_writable", "node-internal:validators", "internal:unsafe-eval", "cloudflare-internal:sockets", "cloudflare-internal:base64", "cloudflare:ai", "cloudflare:br", "cloudflare:email", "cloudflare:node", "cloudflare:pipelines", "cloudflare:sockets", "cloudflare:vectorize", "cloudflare:workers", "cloudflare:workflows", "cloudflare-internal:ai-api", "cloudflare-internal:aig-api", "cloudflare-internal:autorag-api", "cloudflare-internal:br-api", "cloudflare-internal:d1-api", "cloudflare-internal:http", "cloudflare-internal:images-api", "cloudflare-internal:pipeline-transform", "cloudflare-internal:streaming-base64", "cloudflare-internal:streaming-forms", "cloudflare-internal:test-tracing-wrapper", "cloudflare-internal:to-markdown-api", "cloudflare-internal:tracing-helpers", "cloudflare-internal:vectorize-api", "cloudflare-internal:workflows-api", "cloudflare-internal:workers", "cloudflare-internal:tracing", "cloudflare-internal:env", "cloudflare-internal:filesystem", "workerd:unsafe"];
|
|
+ define_VITEST_POOL_WORKERS_DEFINE_BUILTIN_MODULES_default = ["node-internal:async_hooks", "node-internal:buffer", "node-internal:crypto", "node-internal:module", "node-internal:process", "node-internal:util", "node-internal:diagnostics_channel", "node-internal:zlib", "node-internal:url", "node-internal:timers", "node-internal:sqlite", "node-internal:dns", "node:fs", "node:http", "node:https", "node:perf_hooks", "node:process", "node:tty", "node:_stream_duplex", "node:_stream_passthrough", "node:_stream_readable", "node:_stream_transform", "node:_stream_writable", "node:_tls_common", "node:_tls_wrap", "node:assert", "node:assert/strict", "node:async_hooks", "node:buffer", "node:constants", "node:crypto", "node:diagnostics_channel", "node:dns", "node:dns/promises", "node:events", "node:fs/promises", "node:module", "node:net", "node:path", "node:path/posix", "node:path/win32", "node:querystring", "node:stream", "node:stream/consumers", "node:stream/promises", "node:stream/web", "node:string_decoder", "node:test", "node:timers", "node:timers/promises", "node:tls", "node:url", "node:util", "node:util/types", "node:zlib", "node-internal:constants", "node-internal:crypto_cipher", "node-internal:crypto_dh", "node-internal:crypto_hash", "node-internal:crypto_hkdf", "node-internal:crypto_keys", "node-internal:crypto_pbkdf2", "node-internal:crypto_random", "node-internal:crypto_scrypt", "node-internal:crypto_sign", "node-internal:crypto_spkac", "node-internal:crypto_util", "node-internal:crypto_x509", "node-internal:debuglog", "node-internal:events", "node-internal:internal_assert", "node-internal:internal_assertionerror", "node-internal:internal_buffer", "node-internal:internal_comparisons", "node-internal:internal_diffs", "node-internal:internal_dns", "node-internal:internal_dns_client", "node-internal:internal_dns_constants", "node-internal:internal_dns_promises", "node-internal:internal_errors", "node-internal:internal_fs", "node-internal:internal_fs_callback", "node-internal:internal_fs_constants", "node-internal:internal_fs_promises", "node-internal:internal_fs_streams", "node-internal:internal_fs_sync", "node-internal:internal_fs_utils", "node-internal:internal_http", "node-internal:internal_http2_constants", "node-internal:internal_http_agent", "node-internal:internal_http_client", "node-internal:internal_http_constants", "node-internal:internal_http_incoming", "node-internal:internal_http_outgoing", "node-internal:internal_http_server", "node-internal:internal_http_util", "node-internal:internal_https_agent", "node-internal:internal_https_server", "node-internal:internal_inspect", "node-internal:internal_module", "node-internal:internal_net", "node-internal:internal_path", "node-internal:internal_process", "node-internal:internal_querystring", "node-internal:internal_readline", "node-internal:internal_readline_promises", "node-internal:internal_stringdecoder", "node-internal:internal_timers", "node-internal:internal_timers_global_override", "node-internal:internal_timers_promises", "node-internal:internal_tls", "node-internal:internal_tls_common", "node-internal:internal_tls_constants", "node-internal:internal_tls_jsstream", "node-internal:internal_tls_wrap", "node-internal:internal_types", "node-internal:internal_url", "node-internal:internal_utils", "node-internal:internal_zlib", "node-internal:internal_zlib_base", "node-internal:internal_zlib_constants", "node-internal:legacy_process", "node-internal:legacy_url", "node-internal:mock", "node-internal:public_process", "node-internal:streams_add_abort_signal", "node-internal:streams_compose", "node-internal:streams_destroy", "node-internal:streams_duplex", "node-internal:streams_end_of_stream", "node-internal:streams_legacy", "node-internal:streams_pipeline", "node-internal:streams_promises", "node-internal:streams_readable", "node-internal:streams_state", "node-internal:streams_transform", "node-internal:streams_util", "node-internal:streams_writable", "node-internal:validators", "internal:unsafe-eval", "cloudflare-internal:sockets", "cloudflare-internal:base64", "cloudflare:ai", "cloudflare:br", "cloudflare:email", "cloudflare:node", "cloudflare:pipelines", "cloudflare:sockets", "cloudflare:vectorize", "cloudflare:workers", "cloudflare:workflows", "cloudflare-internal:ai-api", "cloudflare-internal:aig-api", "cloudflare-internal:autorag-api", "cloudflare-internal:br-api", "cloudflare-internal:d1-api", "cloudflare-internal:http", "cloudflare-internal:images-api", "cloudflare-internal:pipeline-transform", "cloudflare-internal:streaming-base64", "cloudflare-internal:streaming-forms", "cloudflare-internal:test-tracing-wrapper", "cloudflare-internal:to-markdown-api", "cloudflare-internal:tracing-helpers", "cloudflare-internal:vectorize-api", "cloudflare-internal:workflows-api", "cloudflare-internal:workers", "cloudflare-internal:tracing", "cloudflare-internal:env", "cloudflare-internal:filesystem", "workerd:unsafe"];
|
|
}
|
|
});
|
|
|
|
@@ -2882,13 +2882,20 @@ function withImportMetaUrl(contents, url) {
|
|
return contents.replaceAll("import.meta.url", JSON.stringify(url.toString()));
|
|
}
|
|
var jsExtensions = [".js", ".mjs", ".cjs"];
|
|
+function existsCaseSensitive(target) {
|
|
+ try {
|
|
+ return fs2.readdirSync(posixPath.dirname(target)).includes(posixPath.basename(target));
|
|
+ } catch {
|
|
+ return false;
|
|
+ }
|
|
+}
|
|
function maybeGetTargetFilePath(target) {
|
|
- if (isFile(target)) {
|
|
+ if (isFile(target) && existsCaseSensitive(target)) {
|
|
return target;
|
|
}
|
|
for (const extension of jsExtensions) {
|
|
const targetWithExtension = target + extension;
|
|
- if (fs2.existsSync(targetWithExtension)) {
|
|
+ if (fs2.existsSync(targetWithExtension) && existsCaseSensitive(targetWithExtension)) {
|
|
return targetWithExtension;
|
|
}
|
|
}
|
|
@@ -2936,9 +2943,16 @@ async function viteResolve(vite, specifier, referrer, isRequire) {
|
|
}
|
|
return trimViteVersionHash(resolved.id);
|
|
}
|
|
+function stripFsPrefix(filePath) {
|
|
+ return filePath.startsWith("/@fs/") ? filePath.slice("/@fs".length) : filePath;
|
|
+}
|
|
async function resolve(vite, method, target, specifier, referrer) {
|
|
const referrerDir = posixPath.dirname(referrer);
|
|
- let filePath = maybeGetTargetFilePath(target);
|
|
+ const forceMatch = forceModuleTypeRegexp.exec(target);
|
|
+ if (forceMatch !== null && isFile(stripFsPrefix(target.slice(0, -forceMatch[0].length)))) {
|
|
+ return target;
|
|
+ }
|
|
+ let filePath = maybeGetTargetFilePath(stripFsPrefix(target));
|
|
if (filePath !== void 0) {
|
|
return filePath;
|
|
}
|
|
@@ -2966,7 +2980,7 @@ function maybeGetForceTypeModuleContents(filePath) {
|
|
if (match === null) {
|
|
return;
|
|
}
|
|
- filePath = trimSuffix(match[0], filePath);
|
|
+ filePath = stripFsPrefix(trimSuffix(match[0], filePath));
|
|
const type = match[1];
|
|
const contents = fs2.readFileSync(filePath);
|
|
switch (type) {
|
|
@@ -3025,6 +3039,12 @@ async function load(vite, logBase, method, target, specifier, filePath) {
|
|
}
|
|
const isEsm = filePath.endsWith(".mjs") || filePath.endsWith(".js") && isWithinTypeModuleContext(filePath);
|
|
let contents = fs2.readFileSync(filePath, "utf8");
|
|
+ // JSON files (e.g. require("./db.json")) are not JavaScript; serve them as
|
|
+ // a CommonJS module exporting the parsed value.
|
|
+ if (filePath.endsWith(".json")) {
|
|
+ debuglog(logBase, "json:", filePath);
|
|
+ return buildModuleResponse(target, { commonJsModule: `module.exports = ${contents};` });
|
|
+ }
|
|
const targetUrl = pathToFileURL(target);
|
|
contents = withSourceUrl(contents, targetUrl);
|
|
if (isEsm) {
|
|
@@ -3055,6 +3075,11 @@ async function handleModuleFallbackRequest(vite, request) {
|
|
let referrer = url.searchParams.get("referrer");
|
|
assert3(target !== null, "Expected specifier search param");
|
|
assert3(referrer !== null, "Expected referrer search param");
|
|
+ // Vite prefixes ids of files outside the project root with /@fs (monorepo
|
|
+ // workspaces); strip it from referrers so relative resolution works.
|
|
+ if (referrer.startsWith("/@fs/")) {
|
|
+ referrer = referrer.slice("/@fs".length);
|
|
+ }
|
|
const referrerDir = posixPath.dirname(referrer);
|
|
let specifier = getApproximateSpecifier(target, referrerDir);
|
|
if (specifier.startsWith("file:")) {
|
|
@@ -3626,7 +3651,16 @@ async function runTests(ctx, mf, workerName, project, config, files, invalidates
|
|
}
|
|
});
|
|
const rules = project.options.miniflare?.modulesRules;
|
|
- const compiledRules = compileModuleRules(rules ?? []);
|
|
+ // miniflare's glob-to-regexp compilation is unanchored, so a `**/*.sql`
|
|
+ // rule would also capture `schema.sql.ts`; anchor each pattern to the end
|
|
+ // of the specifier.
|
|
+ const compiledRules = compileModuleRules(rules ?? []).map((rule) => ({
|
|
+ ...rule,
|
|
+ include: {
|
|
+ include: rule.include.include.map((regexp) => new RegExp(`${regexp.source}$`, regexp.flags)),
|
|
+ exclude: rule.include.exclude
|
|
+ }
|
|
+ }));
|
|
const localRpcFunctions = createMethodsRPC(project.project, {
|
|
cacheFs: false
|
|
});
|