Ask questionsMajor features necessary for 1.0

We've got a lot of issues, some are tiny, others are big features. I want to outline what I perceive to be the major missing bits before we can consider 1.0

  • [ ] "deno --debug" We need to be able to debug using Chrome Devtools. As the deno userland code base grows, it becomes in increasingly painful to work without a debugger. The way this will work is with a websocket server in Rust (port 9229) which forwards messages to V8 (using V8InspectorClient).

  • [x] Loading and execution of modules (either JS or TS) needs to be correct. This is the main thing we deliver actually, but there are still many bugs: <s>source maps are sometimes incorrect</s>, <s>double downloads happen</s>, the cache needs to be refactored

  • [X] Import maps. It's a very reasonable standard and we can provide support via a command line flag. This allows bare imports. The feature will land very soon

  • [x] Dynamic import. 50% complete at the time of writing.

  • [x] "deno test" test runner

  • [x] "deno fmt" is slow on the first run. It download a couple of large prettier bundles.

  • [x] We need to support d.ts files

  • [X] "deno bundle" outputs a single AMD bundle of your program. This is useful to share code with websites. Early work has started:

  • [ ] "deno compile" is a very interesting feature to output an executable. It would be nice to have, but I would let this slip past 1.0.

  • [x] "deno install" is a program that creates little shell script aliases to deno programs in your $PATH. This let's people distribute their code easily.

  • [ ] dlopen / plugins / extension modules. We need some way of calling into Rust land. The way Parcel does it is pretty awesome - but we need low-level primitives to build that on, as we need to carefully funnel everything through the Op abstraction. @afinch7 has a working patch for loading ops in DLLs, we are still iterating on the exact API. I would allow a true FFI module to slip past 1.0 - we'll get there - but it needs to be built on ops.

  • [ ] Support TLS

  • [ ] The web-server should be faster.

  • [X] When you visit a script url (example in a web browser, it should do better than redirect. It should look at the Accept header and serve pretty HTML. Solved in

  • [ ] If you use "" you will get auto-generated docs.

  • [x] typescript dependencies are not loaded in parallel <s>#2626</s>

  • [ ] signal handlers

<s>- [ ] fs events</s>

  • [ ] TS and source maps are correctly recompiled

  • [ ] Remove tokio_util::block_on

  • [ ] "deno test" is slow (when running on std)

Do any major API renames.

  • [X]
  • [X]
  • [ ]
  • [ ] use web standard Permission API
  • [x] register_op
  • [x] test(name, fn)
  • [ ] Deno.args
  • [ ] referencing d.ts files
  • [ ] import.meta doesn't work with bundling on browsers. We need to come up with a different scheme for branching if the script is the main.

Other minor bugs that are nevertheless blockers:

  • [x] async iteration on fetch bodies
  • [x]
  • [x] support onload
  • [x] support proxy for module downloads <s></s>
  • [x] panic on too many open files
  • [ ] we need a way to use typescript compiler from userland

Answer questions acconrad

@ry I'll take this:

When you visit a script url

Where would the CSS live for that? Where is the website server code within deno?