cli icon indicating copy to clipboard operation
cli copied to clipboard

Edge function bundling fails if code is loaded from private source (DENO_AUTH_TOKENS)

Open evelant opened this issue 1 year ago • 4 comments

Bug report

  • [X ] I confirm this is a bug with Supabase, not with my own application.
  • [ X] I confirm I have searched the Docs, GitHub Discussions, and Discord.

Describe the bug

Loading dependencies from a private source fails when bundling edge functions. I've got an auth token for the private code in env.DENO_AUTH_TOKENS (per deno docs) and Deno can download and cache the code without issue. The function runs fine locally but bunding fails as soon as I attempt to deploy.

error: Uncaught (in promise) Error: Module not found "https://raw.githubusercontent.com/path/to/my/private/code/privateModule.ts".
      const ret = new Error(getStringFromWasm0(arg0, arg1));
                  ^
    at __wbg_new_8d2af00bc1e329ee (https://deno.land/x/[email protected]/eszip_wasm.generated.js:312:19)
    at <anonymous> (https://deno.land/x/[email protected]/eszip_wasm_bg.wasm:1:79439)
    at <anonymous> (https://deno.land/x/[email protected]/eszip_wasm_bg.wasm:1:1388039)
    at <anonymous> (https://deno.land/x/[email protected]/eszip_wasm_bg.wasm:1:1862894)
    at __wbg_adapter_18 (https://deno.land/x/[email protected]/eszip_wasm.generated.js:146:6)
    at real (https://deno.land/x/[email protected]/eszip_wasm.generated.js:130:14)

To Reproduce

  1. Create a new edge function
  2. Add a dependency to the edge function that requires DENO_AUTH_TOKENS to access (such as a private github repo)
  3. Verify that DENO_AUTH_TOKENS is correct then observe that deno cache -r index.ts caches the files without problem. Also observe that supabase functions serve my-function works without issue.
  4. Run supabase functions deploy my-function and observe the crash during bundling when it cannot access the files in the private repository

Expected behavior

Anything that works locally should successfully bundle and deploy.

Screenshots

N/A

System information

  • OS: macOS
  • Browser (if applies) [e.g. chrome, safari]
  • Version of supabase-js: 1.45.2
  • Version of Node.js: 16.19.0

Additional context

This is blocking me from progressing in my migration from firebase to supabase. Everything works locally but I can't deploy due to this bug.

evelant avatar Mar 25 '23 01:03 evelant