Skip to content

Commit

Permalink
fix: enable esbuild's keepNames: true to set .name on functions/class…
Browse files Browse the repository at this point in the history
…es (#6902)
  • Loading branch information
threepointone authored Oct 7, 2024
1 parent 7a3a6b4 commit dc92af2
Show file tree
Hide file tree
Showing 4 changed files with 28 additions and 5 deletions.
5 changes: 5 additions & 0 deletions .changeset/fluffy-colts-give.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"wrangler": patch
---

fix: enable esbuild's keepNames: true to set .name on functions/classes
21 changes: 16 additions & 5 deletions packages/wrangler/src/__tests__/middleware.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -870,7 +870,11 @@ describe("middleware", () => {
.replace(/\/\/ .*/g, "")
.trim()
).toMatchInlineSnapshot(`
"var src_default = {
"var __defProp = Object.defineProperty;
var __name = (target, value) => __defProp(target, \\"name\\", { value, configurable: true });
var src_default = {
async fetch(request, env) {
return Response.json(env);
}
Expand All @@ -882,6 +886,7 @@ describe("middleware", () => {
return new Response(\\"Hello World\\");
}
};
__name(DurableObjectExample, \\"DurableObjectExample\\");
var __INTERNAL_WRANGLER_MIDDLEWARE__ = [
Expand All @@ -894,6 +899,7 @@ describe("middleware", () => {
function __facade_register__(...args) {
__facade_middleware__.push(...args.flat());
}
__name(__facade_register__, \\"__facade_register__\\");
function __facade_invokeChain__(request, env, ctx, dispatch, middlewareChain) {
const [head, ...tail] = middlewareChain;
const middlewareCtx = {
Expand All @@ -904,12 +910,14 @@ describe("middleware", () => {
};
return head(request, env, ctx, middlewareCtx);
}
__name(__facade_invokeChain__, \\"__facade_invokeChain__\\");
function __facade_invoke__(request, env, ctx, dispatch, finalMiddleware) {
return __facade_invokeChain__(request, env, ctx, dispatch, [
...__facade_middleware__,
finalMiddleware
]);
}
__name(__facade_invoke__, \\"__facade_invoke__\\");
var __Facade_ScheduledController__ = class {
Expand All @@ -926,23 +934,24 @@ describe("middleware", () => {
this.#noRetry();
}
};
__name(__Facade_ScheduledController__, \\"__Facade_ScheduledController__\\");
function wrapExportedHandler(worker) {
if (__INTERNAL_WRANGLER_MIDDLEWARE__ === void 0 || __INTERNAL_WRANGLER_MIDDLEWARE__.length === 0) {
return worker;
}
for (const middleware of __INTERNAL_WRANGLER_MIDDLEWARE__) {
__facade_register__(middleware);
}
const fetchDispatcher = function(request, env, ctx) {
const fetchDispatcher = /* @__PURE__ */ __name(function(request, env, ctx) {
if (worker.fetch === void 0) {
throw new Error(\\"Handler does not export a fetch() function.\\");
}
return worker.fetch(request, env, ctx);
};
}, \\"fetchDispatcher\\");
return {
...worker,
fetch(request, env, ctx) {
const dispatcher = function(type, init) {
const dispatcher = /* @__PURE__ */ __name(function(type, init) {
if (type === \\"scheduled\\" && worker.scheduled !== void 0) {
const controller = new __Facade_ScheduledController__(
Date.now(),
Expand All @@ -952,11 +961,12 @@ describe("middleware", () => {
);
return worker.scheduled(controller, env, ctx);
}
};
}, \\"dispatcher\\");
return __facade_invoke__(request, env, ctx, dispatcher, fetchDispatcher);
}
};
}
__name(wrapExportedHandler, \\"wrapExportedHandler\\");
function wrapWorkerEntrypoint(klass) {
if (__INTERNAL_WRANGLER_MIDDLEWARE__ === void 0 || __INTERNAL_WRANGLER_MIDDLEWARE__.length === 0) {
return klass;
Expand Down Expand Up @@ -995,6 +1005,7 @@ describe("middleware", () => {
}
};
}
__name(wrapWorkerEntrypoint, \\"wrapWorkerEntrypoint\\");
var WRAPPED_ENTRY;
if (typeof middleware_insertion_facade_default === \\"object\\") {
WRAPPED_ENTRY = wrapExportedHandler(middleware_insertion_facade_default);
Expand Down
1 change: 1 addition & 0 deletions packages/wrangler/src/deployment-bundle/bundle.ts
Original file line number Diff line number Diff line change
Expand Up @@ -384,6 +384,7 @@ export async function bundleWorker(
bundle,
absWorkingDir: entry.directory,
outdir: destination,
keepNames: true,
entryNames: entryName || path.parse(entryFile).name,
...(isOutfile
? {
Expand Down
6 changes: 6 additions & 0 deletions pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit dc92af2

Please sign in to comment.