blob: 2f8646a6086b6302985d73c4d949ee667fb9a35a (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
|
Bun is a project with an incredibly large scope and is still in its early days. Long-term, Bun aims to provide an all-in-one toolkit to replace the complex, fragmented toolchains common today: Node.js, Jest, Webpack, esbuild, Babel, yarn, PostCSS, etc.
Refer to [Bun's Roadmap](https://github.com/oven-sh/bun/issues/159) on GitHub to learn more about the project's long-term plans and priorities.
<!--
{% table %}
- Feature
- Implemented in
---
- Web Streams with HTMLRewriter
- Bun.js
---
- Source Maps (unbundled is supported)
- JS Bundler
---
- Source Maps
- CSS
---
- JavaScript Minifier
- JS Transpiler
---
- CSS Minifier
- CSS
---
- CSS Parser (it only bundles)
- CSS
---
- Tree-shaking
- JavaScript
---
- Tree-shaking
- CSS
---
- [TypeScript Decorators](https://www.typescriptlang.org/docs/handbook/decorators.html)
- TS Transpiler
---
- `@jsxPragma` comments
- JS Transpiler
---
- Sharing `.bun` files
- Bun
---
- Dates & timestamps
- TOML parser
---
- [Hash components for Fast Refresh](https://github.com/oven-sh/bun/issues/18)
- JSX Transpiler
{% /table %} -->
<!-- ## Limitations & intended usage
Today, Bun is mostly focused on Bun.js: the JavaScript runtime.
While you could use Bun's bundler & transpiler separately to build for browsers or node, Bun doesn't have a minifier or support tree-shaking yet. For production browser builds, you probably should use a tool like esbuild or swc.
## Upcoming breaking changes
- Bun's CLI flags will change to better support Bun as a JavaScript runtime. They were chosen when Bun was just a frontend development tool.
- Bun's bundling format will change to accommodate production browser bundles and on-demand production bundling -->
|