Skip to content
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

Bun's Roadmap #159

Open
7 of 27 tasks
Jarred-Sumner opened this issue May 6, 2022 · 106 comments
Open
7 of 27 tasks

Bun's Roadmap #159

Jarred-Sumner opened this issue May 6, 2022 · 106 comments
Labels
tracking An umbrella issue for tracking big features

Comments

@Jarred-Sumner
Copy link
Collaborator

Jarred-Sumner commented May 6, 2022

Bun's roadmap

2024 Q3

bun install

Essentially, feature complete.

  • bun outdated
  • Implement bun pack #487
  • bun publish
  • Text-based lockfile format
  • bun update --interactive
  • Fixes for frequently-reported issues for things like private git URLs and some edgecases with hoisting

Runtime

Node.js compatibility

  • TextEncoderStream & TextDecoderStream
  • V8 C++ API (in-progress)
  • Implement node:cluster
  • Implement node:http2 server to unblock grpc2
  • Rewrite node:zlib (in-progress) to address performance issues in some common packages
  • Rewrite node:crypto #13681
  • Fix various bugs in node:http, avoid wrapping Bun.serve() and fetch() and use a more direct implementation
  • Add much more comprehensive test coverage for napi
  • Get at least 25% of Node's test suite running on every commit (as of last update: 15% currently). This number will go up in future quarters.

Reliability

  • Delete almost all code that manually reads JSValue. Replace with an IDL bindings generator for JavaScriptCore objects/classes that supports C++ & Zig output, and importantly: function arguments, return values, and exceptions. It should make the lifetime of these values brainless for us to reason about.
  • Address TLS-related issues that have cropped up
  • Continue to allocate significant time to fixing bugs and improve test coverage as they crop up

Bundler

  • Fix many common bugs people run into related to source maps or incorrect output
  • Begin implementing a new, higher-level iteration of Bun's bundler designed for server-driven JavaScript (in-progress)
  • CSS parser (in-progress)
  • IIFE output format + --global-name

bun test

  • Reporter API or socket API

Organizational

  • Hire a contractor to help us with CI
  • Hire a technical writer to help with docs
  • Hire an engineering-focused role for maintaining the TypeScript types & frontend for docs + help with integrations with third-party packages
  • Hire more systems engineers
@RnbWd
Copy link

RnbWd commented Jul 7, 2022

this seems like a lot of work... wow

@space7panda
Copy link

Can't wait for full npm-like config support. We are using our own npm registry, and the current build time is 40-60 minutes. If it will be at least 10 minutes this will be a game-changer!

@officialrajdeepsingh
Copy link

I am waiting for the stable version of the bun. What change bun in the javascript world.

@tipiirai
Copy link

Also waiting for the stable version. So exciting! I bet it's going to take a lot of time though. The scope of this project is much larger than what Node attempts to solve.

@matepaiva
Copy link

can someone confirm that right now I can't use the package mysql2? It throws me an error because it depends on TLS package and on NET package, and I think they were not implemented yet in Bun, but I am not sure.

@Kapsonfire-DE
Copy link
Contributor

still missing websocket server support

@GCSBOSS
Copy link

GCSBOSS commented Jul 12, 2022

Can a tinitiny docker image be placed somewhere in there? 👀

@MystPi
Copy link

MystPi commented Jul 14, 2022

Can't wait for Windows support... I'll be anxiously awaiting it until it's out. 😅

@0x4a61636f62
Copy link

still missing websocket server support

Dito

@sodeprecated
Copy link

Are you planning to support http2?

@moderation
Copy link

Are you planning to support http2?

HTTP/3 is on #159 so I would say HTTP/2 will likely be added before that

@sodeprecated
Copy link

Are you planning to support http2?

HTTP/3 is on #159 so I would say HTTP/2 will likely be added before that

I would say that http3 on roadmap is more about quic protocol and there is no straight inheritance between http3 and http2, so maybe support of http2 needs to be marked explicitly.

@frodoe7
Copy link

frodoe7 commented Jul 19, 2022

Motivated to see a stable version ASAP

@LaurelineP
Copy link

Promising !
Any roadmap on a progressive translation ?

@Parvat-R
Copy link

When is the support for windows coming? Cant wait for it.

@jacoscaz
Copy link

I would say that http3 on roadmap is more about quic protocol and there is no straight inheritance between http3 and http2, so maybe support of http2 needs to be marked explicitly.

Another vote for HTTP/2 as it's a prerequisite to gRPC support.

@DetachHead DetachHead mentioned this issue Aug 1, 2022
@dyaskur
Copy link

dyaskur commented Aug 4, 2022

Any plans to create a desktop app like electron?

@xhyrom
Copy link
Collaborator

xhyrom commented Aug 4, 2022

When is the support for windows coming? Cant wait for it.

#43 you can use WSL for now

@hedaukartik
Copy link

When can we have CSS/SCSS parser feature?

@aralroca
Copy link
Contributor

When can we have CSS/SCSS parser feature?

Looking forward to the CSS parser too

@zx8086
Copy link

zx8086 commented Mar 15, 2024

I would say that http3 on roadmap is more about quic protocol and there is no straight inheritance between http3 and http2, so maybe support of http2 needs to be marked explicitly.

Another vote for HTTP/2 as it's a prerequisite to gRPC support.

Bump... really need this, game changer

@d4mr
Copy link

d4mr commented Mar 17, 2024

based on @Jarred-Sumner's answer here, where does Telemetry fit into the current roadmap?

@Confucian-e
Copy link

Please Fix this Bug ASAP
#5856

@yorunoken
Copy link

Please Fix this Bug ASAP #5856

Jarred has already said the bug will be fixed a little bit after v1.1 is finished. The development team is currently working on the Windows release.

@lsnow99
Copy link

lsnow99 commented Apr 1, 2024

Would love to help support work on #2704 as part of the Developer Experience roadmap

@truekamleshsingh
Copy link

Thanks, #Bun for being a fast and easy-to-use JavaScript runtime! I appreciate your speed and compatibility with existing Node.js projects.

@olawalejuwonm
Copy link

olawalejuwonm commented Apr 7, 2024 via email

@Exitium-DEV
Copy link

+1 for TextDecoderStream
AuthJS relies on this and will be out soon (successor to NextAuth)

 ⨯ error: Attempt to export a nullable value for "TextDecoderStream"
      at defineProperties (file:///workspaces/dev-1/dashboard/node_modules/next/dist/compiled/edge-runtime/index.js:1:1)
      at addPrimitives (file:///workspaces/dev-1/dashboard/node_modules/next/dist/compiled/edge-runtime/index.js:13902:25)
      at extend (file:///workspaces/dev-1/dashboard/node_modules/next/dist/compiled/edge-runtime/index.js:13854:113)
      at new VM (file:///workspaces/dev-1/dashboard/node_modules/next/dist/compiled/edge-runtime/index.js:13946:88)
      at new EdgeVM (file:///workspaces/dev-1/dashboard/node_modules/next/dist/compiled/edge-runtime/index.js:13854:16)
      at file:///workspaces/dev-1/dashboard/node_modules/next/dist/server/web/sandbox/context.js:102:163

@001123
Copy link

001123 commented May 2, 2024

Is NextJS fully supported?
I test on my project it work well

@cotwitch
Copy link

cotwitch commented May 2, 2024

@001123 Do you use "Pages Router" or "App Router" ?

https://bun.sh/guides/ecosystem/nextjs

@001123
Copy link

001123 commented May 2, 2024

@001123 Do you use "Pages Router" or "App Router" ?

https://bun.sh/guides/ecosystem/nextjs

I'm just test on "Pages router"

@kaitlynia
Copy link

Any plans to support WebRTC data channels in the API? Very happy with the performance of the WebSockets API and would love to see more of these modern protocols (+1 for HTTP/3) getting some attention. Currently, there are Node.js bindings for libdatachannel but at the time of writing, no runtime has implemented data channels natively.

@hedaukartik
Copy link

hedaukartik commented Jun 7, 2024

When can we get CommonJS output format support for the build?
https://bun.sh/docs/bundler#format cjs

@huseeiin
Copy link
Contributor

huseeiin commented Jul 20, 2024

"Support blob: imports & URLs (URL.createObjectURL, URL.revokeObjectURL)" is done right? it should be checked

@guest271314
Copy link
Contributor

@huseeiin

"Support blob: imports & URLs (URL.createObjectURL, URL.revokeObjectURL)" is done right? it should be checked

What are you observing is an issue with the implementation?

It looks like URL. is defined on a global url`, which is odd to me to have a common variable name defined globally. Otherwise appears to work.

@powerpaul17
Copy link

@guest271314 , I think @huseeiin meant it can be checked in the list since it seems to be implemented 😉

@Edberaga
Copy link

Are there any pre-requities to use and learn Bun?

@millette
Copy link

@Edberaga
dae69f5fefca5acd3f39f6c153995812d03aa2ba74d14df57dd4a491624b9841

@eknowles
Copy link
Contributor

eknowles commented Aug 7, 2024

@Jarred-Sumner i think many more of these items can now be ticked off 🙌

@jhaemin
Copy link

jhaemin commented Aug 7, 2024

I'm still waiting for IIFE output format. It's the only reason I can't use Bun as a bundler.

@Jarred-Sumner
Copy link
Collaborator Author

Updated.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
tracking An umbrella issue for tracking big features
Projects
None yet
Development

No branches or pull requests