teleclimber / Dropserver

An application platform for your personal web services. https://dropserver.org
Apache License 2.0
42 stars 1 forks source link

Confusing error when referencing created app from top-level code #119

Closed teleclimber closed 5 months ago

teleclimber commented 7 months ago

If a developer references app.appPath() (where app = createApp()) from top level code, ds-dev shows an error that gives zero clues as to what went wrong:

Check file:///var/folders/6z/x6_ksh3d2blc7s6rn5fy098h0000gn/T/3124868611/app-meta/bootstrap.js
Sandbox terminated

So this appears to maybe be a TS check problem? Maybe we shouldn't check TS during app install? Or maybe we need a different way of running appspace-less code? Or figure out a way of getting a better error in there?

In any case I can imaging many first-time DS developers running into this, not having a clue what went wrong, and giving up.

teleclimber commented 5 months ago

Recreated this error, but got a proper error message:

Check file:///var/folders/6z/x6_ksh3d2blc7s6rn5fy098h0000gn/T/3017077534/app-meta/bootstrap.js
error: Uncaught (in promise) ReferenceError: Cannot access 'app' before initialization
const kv_temp = await Deno.openKv(app.appspacePath("kv"));

I suspect ther may have been an improvement in Deno error reporting? Or something else changed. Either way, can't repro, assume fixed.