[RFC] Permit bundling in a WinterCG environment #109
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I was trying to get OpenAuth working with the Convex runtime environment, which is close to WinterCG compatibility and doesn't implement Node APIs.
Bundling
authorizer.ts
fromexamples/authorizer/custom-frontend/auth
fails for this target since it includes Node APIs in its import tree:Poking through the code, I think these Node dependencies fall into one of three categories:
node:fs
for the persist flag: I set this to use dynamic feature detection, where settingpersist = true
will now fail at runtime if the Node APIs aren't available.import { handle as awsHandle }from "hono/aws-lambda"
. Perhaps we could move this into another entry point so non-AWS importers can tree shake it away.With these changes, I can get the esbuild command working, and the bundle looks good!
Let me know if y'all think this is a direction you'd want to take OpenAuth. With Bun, Deno, and Cloudflare Workers all pursuing Node API compatibility these days, I think it's also pretty reasonable to just target Node.