Comment

Comment by protoduction

Very cool, I'm building something similar (with a larger scope) [0] (it also has one-file exports, but it does load stuff from a CDN so it's not as contained to a single file as this project is.)

If you're looking for next steps: You can actually run user code using `import`, which will allow your users to import code from external websites using familiar `import {x} from "https://some-url.com/bla.js"` syntax at the top of cells. Here's how:

   const exportsInCell = await import(URL.createObjectURL(new Blob([USER_CODE], { type: "text/javascript" })));

And with some transpilation you can support top-level await in eval [1]. Just some pointers!

[0]: https://starboard.gg & https://github.com/gzuidhof/starboard-notebook

[1]: https://github.com/gzuidhof/starboard-notebook/blob/master/s...

Discussion

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton