-
Notifications
You must be signed in to change notification settings - Fork 5.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
1.0 #2473
Comments
We can follow Rust's example for this. Rust's We can do something like Also, is there any existing issue for this? |
We also need to address this at some point before 1.0 Line 196 in 76329cf
|
@afinch7 could you explain what's to address with |
@ry I'll take this:
Where would the CSS live for that? Where is the website server code within deno? |
@bartlomieju see #1858 |
@acconrad I have a WIP PR open for that https://github.com/denoland/registry/pull/95 |
Support for "http proxy" (for downloading modules) should also be considered for 1.0. See #588. Otherwise deno is hardly usable in enterprise environments. |
@geglock Thanks - I will add it to the list. |
This comment has been minimized.
This comment has been minimized.
I presume that supporting other networks such as deno/js/net.ts line 8:
Thanks! |
1.) I would like to suggest that if we introduce the --debug mode we also add a hot-reload flag so that the browser will reload when the file has changed.
What do you think? 2.) Do you have any release date for 1.0? |
@SerkanSipahi 1.) would be quite a small wrapper around #1826, there's already a couple of issues for it. |
We have been hesitant for a watch mode. It is more than just a wrapper on FS events, as we need to determine what part of the compilation needs to be invalidated and reloaded. It certainly isn't a 1.0 feature IMO. |
I don't follow, one could kill completely and restart. Anyway, agree it's not needed for 1.0. |
One could, but that wouldn't be as effective/performant as what we would want to build into Deno, which would invalidate the cache for any changed modules, and potentially only reinsert into the isolate the changed recompiled modules, preserving any running state. That would be hot reloading. Restarting would lose any in memory state of "all" the code, not the code that changed. |
I'm removing fs-events as a blocker for 1.0. It's certainly important but a must-have. |
I think #986 should make it into 1.0. It would be pretty useful and is a great differentiator. It also sounds we're not too far off from it. |
#3155 (a minimum typescript and deno version requirement) should also be considered for 1.0. |
We also should have some developer experience awareness with 1.0. One specific aspect of that is editors/IDEs. Specifically we should ensure there's not an issues with working on deno projects in common IDEs. |
#986 would really be a lot to deliver for 1.0... I don't personally think it is critical path. Deno 1.0 is about building a differentiator to drive adoption, it is about having a stable-ish API and a good set of well rounded features, IMO. |
Please can we move this to the issue you created over at #4574 . |
Will 1.0 contain multi-thread (such as a worker with global |
I want to embed Deno in my application existed but can't succeed. |
@colorhook This is a goal, but we haven't put much work into making the deno crate's API useable for third parties. The deno_core crate, rather is the API we expect embedder to use. In any case, we will continue to iterate on these APIs beyond 1.0 - what we're trying to stabilize in 1.0 is the JS API. Have a look at https://github.com/denoland/deno/tree/master/core/examples |
I have some question for help.
|
@colorhook Modifying and or sharing the event loop is tricky business. We'd like this to be possible - but I expect it's going to be a non-trivial amount of prep work. Open a dedicated issue for these things if you'd like to discuss further. |
@ry Any thoughts on this before it's locked-in by v1.0? |
I think it is necessary to implement the npm is a lesson Someone always registers a popular package name and then does not update it after a while It's easy to mislead developers When most developers choose a library, they will usually search from https://deno.land/x/, but it is possible that this library has been deprecated of course, We can delete it from In the short term, I do n’t see anything wrong with it. In the long term, it ’s bad. As you can imagine, In 2025y, the name of a popular library, its latest update is 2020y and it is still on the list at https://deno.land/x/. It may still be in use, but no one has updated it, and you cannot remove it from the list So my suggestion is:
|
What is the problem with https://denopkg.com? I think something similar is good enough. Maybe to keep it "cleaner" we could have a convention to always call the entry point at "src/mod.ts" and have the url be: I think this should be decided before 1.0 or at least deprecate |
🎉 🎉 |
Is there an issue tracking implementation of hot reloading as suggested here? I found denon which is to deno what nodemon is to node but I'm wondering if deno supports (or will support) hot reloading itself to maintain state that doesn't need invalidating, etc. |
Update April 15, 2020: Still go for May 13.
Update March 6, 2020: There's a difficult balance to be had between trying to get it right and shipping a usable product. The repository continues to see rapid development and we have yet to make substantial progress on the major missing feature: dev tool support. Therefore we are bumping the release date yet again. However instead of blindly estimating several weeks out, we've discussed it at length and decided 2 months would be enough time. This coincidentally is around the 2 year anniversary since the first commit. Therefore we are setting the date of May 13, 2020 as the 1.0 release date. Contributors are encouraged to get any major API changes in before April 20 - after that date we will be polishing and bug fixing. Of course the API will continue to evolve and improve after 1.0, but we will be making explicit stability guarantees for some interfaces.
Update Jan 27, 2020: Massive progress is being made, but we still have not yet accomplished the major feature blocker: devtool support. I hate to keep kicking the release date, but we're still looking at some weeks of development. We hope to ship a 1.0 build with stability promises towards end of February.
Update Dec 23, 2019: There is one major feature we lack that needs to be in 1.0 - that's a way to hook Deno up to Chrome DevTools. Implementing it has induced a rewrite of the bindings to V8 - that work is ongoing https://github.com/denoland/rusty_v8. We want to fork lift Deno onto that system before 1.0 happens. Current estimate for 1.0 is end of January.
replace libdeno with rusty_v8 replace libdeno with rusty_v8 #3530
"deno --debug" support chome devtools #1120 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). Inspector support #4484
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:
source maps are sometimes incorrect Line number printed in the tracing stack is not correct #2390,double downloads happen deno run --reload infinite loop #2442, the cache needs to be refactored Rewrite deno_dir.rs #2057.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 feat: Import maps #2360.
Dynamic import. 50% complete at the time of writing. Support dynamic import #1789
"deno test" test runner Provide a test runner std#193
"deno fmt" is slow on the first run. It download a couple of large prettier bundles. deno fmt is slow #2490
We need to support d.ts files Support d.ts files #1432
"deno bundle" outputs a single AMD bundle of your program. This is useful to share code with websites. Early work has started: Add 'bundle' subcommand. #2467
"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. "deno compile" into executable #986Not for 1.0"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. Wanted: installer std#471
dlopen / plugins / extension modules. We need some way of calling into Rust land. The way Parcel does it is pretty awesome https://parceljs.org/rust.html - 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 Feature: Native plugins #2385, 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. feat: native plugins #3372
Support TLS Better TLS support #3009
The web-server should be faster.
When you visit a deno.land script url (example https://deno.land/std/http/server.ts) in a web browser, it should do better than redirect. It should look at the Accept header and serve pretty HTML. Solved in https://github.com/denoland/registry/commit/b78e6ae331004859aad7b01ed452f6b00265b035
If you use "docs.deno.land" you will get auto-generated docs. Have auto generated docs on docs.deno.land #3094First pass at docs dotland#49typescript dependencies are not loaded in parallel
TS compiler loads modules synchronously #2626More asynchronous compiler #2994signal handlers Signal Handlers #2339 Add signal handlers #3757
fs events fs events ops #1826 feat: fs events #3452
TS and source maps are correctly recompiled Integration tests that ensure dependencies are recompiled or not recompiled depending on mtime #2945
Remove tokio_util::block_on Never create more than one Tokio runtime. Remove tokio_util::block_on #2960
"deno test" is slow (when running on std) deno test is slow (pref: Dynamic imports) #2789
deno lock file Subresource integrity for modules #200
Do any major API renames.
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:
deno does not support http proxy #588Add documentation and test for HTTP proxy #2873import typescript into deno_std std#428[Feature Request] Typescript compile API #2927The text was updated successfully, but these errors were encountered: