Jump to content

Bun (software): Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
Rescuing 9 sources and tagging 0 as dead.) #IABot (v2.0.9.5
 
(29 intermediate revisions by 22 users not shown)
Line 1: Line 1:
{{Short description|JavaScript runtime}}
{{Notability|date=May 2023}}
{{distinguish|Bun (ORM framework)}}
{{Infobox software
{{Infobox software
| title = Bun
| title = Bun
| logo = Bun JS logo.png
| developer = Oven
| developer = Oven
| genre = [[Runtime system|Runtime environment]]
| genre = [[Runtime system|Runtime environment]]
Line 7: Line 9:
| programming language = [[Zig (programming language)|Zig]]
| programming language = [[Zig (programming language)|Zig]]
| repo = {{URL|https://github.com/oven-sh/bun}}
| repo = {{URL|https://github.com/oven-sh/bun}}
| license = [[MIT license]]<ref>{{Cite web |last=Sumner |first=Jarred |date=2023-07-02 |title=License |url=https://bun.sh/docs/project/licensing |access-date=2023-07-07 |website=Bun Docs}}</ref>
| license = [[MIT license]]<ref>{{Cite web |last=Sumner |first=Jarred |date=2023-07-02 |title=License |url=https://bun.sh/docs/project/licensing |access-date=2023-07-07 |website=Bun Docs |archive-date=2023-07-06 |archive-url=https://web.archive.org/web/20230706084118/https://bun.sh/docs/project/licensing |url-status=live }}</ref>
| latest release version = {{wikidata|property|preferred|references|edit|Q113048518|P348|P548=Q2804309}}
| latest release version = {{wikidata|property|preferred|references|edit|Q113048518|P348|P548=Q2804309}}
| latest release date = {{Start date and age|{{wikidata|qualifier|preferred|single|Q113048518|P348|P548=Q2804309|P577}}}}
| latest release date = {{Start date and age|{{wikidata|qualifier|preferred|single|Q113048518|P348|P548=Q2804309|P577}}}}
}}
}}
{{Portal|Free and open-source software}}
{{Portal|Free and open-source software}}
'''Bun''' is a [[JavaScript]] [[Runtime system|runtime]], [[package manager]], bundler and test runner built from scratch using the [[Zig (programming language)|Zig]] programming language.<ref>{{Cite web|url=https://www.infoworld.com/article/3688330/explore-bunjs-the-all-in-one-javascript-runtime.html|title=Explore Bun.js: The all-in-one JavaScript runtime|first=Matthew|last=Tyson|date=February 23, 2023|website=InfoWorld}}</ref> It was designed by Jarred Sumner as a drop-in replacement for [[Node.js]]. Bun uses [[WebKit#JavaScriptCore|JavaScriptCore]] as the [[JavaScript engine]],<ref>{{Cite web |date=2022-08-02 |title=What Is Bun.js and Why Is the JavaScript Community Excited About It? |url=https://www.makeuseof.com/what-is-bunjs-why-the-javascript-community-excited/ |access-date=2023-05-30 |language=en|first=
'''Bun''' is a [[JavaScript]] [[Runtime system|runtime]], [[package manager]], test runner and bundler built from scratch using the [[Zig (programming language)|Zig]] programming language.<ref>{{Cite web |title=What is Bun? {{!}} Bun Docs |url=https://bun.sh/docs |access-date=2024-04-01 |website=Bun |language=en |archive-date=2023-12-11 |archive-url=https://web.archive.org/web/20231211061631/https://bun.sh/docs |url-status=live }}</ref><ref>{{Cite web |last=Tyson |first=Matthew |date=February 23, 2023 |title=Explore Bun.js: The all-in-one JavaScript runtime |url=https://www.infoworld.com/article/3688330/explore-bunjs-the-all-in-one-javascript-runtime.html |access-date=October 11, 2023 |website=InfoWorld |language=en-US |archive-date=October 4, 2023 |archive-url=https://web.archive.org/web/20231004092228/https://www.infoworld.com/article/3688330/explore-bunjs-the-all-in-one-javascript-runtime.html |url-status=live }}</ref> It was designed by Jarred Sumner as a drop-in replacement for [[Node.js]]. Bun uses [[WebKit#JavaScriptCore|WebKit's JavaScriptCore]] as the [[JavaScript engine]],<ref>{{Cite web |last=Omolana |first=Timilehin |date=2022-08-02 |title=What Is Bun.js and Why Is the JavaScript Community Excited About It? |url=https://www.makeuseof.com/what-is-bunjs-why-the-javascript-community-excited/ |access-date=2023-05-30 |website=makeuseof.com |language=en-US |archive-date=2023-05-30 |archive-url=https://web.archive.org/web/20230530002356/https://www.makeuseof.com/what-is-bunjs-why-the-javascript-community-excited/ |url-status=live }}</ref> unlike [[Node.js]] and [[Deno (software)|Deno]], which both use [[V8 (JavaScript engine)|V8]].
Timilehin|last=Omolana |website=makeuseof.com}}</ref> unlike [[Node.js|Node.js]] and [[Deno (software)|Deno]], which both use [[V8 (JavaScript engine)|V8]].


It supports bundling, [[Minification (programming)|minifying]], server-side rendering ([[Svelte]], [[Nuxt.js]], [[Vite (software)|Vite]]). Bundling refers to the process of combining multiple files and assets like JavaScript, CSS, and HTML into a single file, or a smaller number of files, to reduce the number of server requests and enhance performance.<ref name=":0">{{Cite web |date=2023-05-16 |title=The Bun Bundler |url=https://bun.sh/blog/bun-bundler |access-date=2024-04-03 |website=Bun |language=en |archive-date=2024-04-03 |archive-url=https://web.archive.org/web/20240403113450/https://bun.sh/blog/bun-bundler |url-status=live }}</ref> Minifying is a technique of compressing these files by removing unnecessary characters (like whitespace, comments, etc.) without affecting their functionality, further optimizing website loading times. Bun provides an API to decide whether to preserve some readability by e.g. keeping whitespace.<ref name=":0" />
It supports bundling, minifying, server-side rendering ([[SvelteKit|SvelteKit]], [[Nuxt.js]], [[Vite (software)|Vite]]). The runtime supports [[foreign function interface]] (FFI), [[SQLite]], [[Transport Layer Security|TLS]] 1.3, [[DNS|DNS]] resolution. It also comes bundled in with common tools like File editing, [[HTTP|HTTP]] servers, [[WebSocket|Websocket]], [[Hash Function|Hashing]] and [[SQL|SQL]]<ref>{{Cite web|url=https://bun.sh/docs/runtime/bun-apis|title=Bun APIs|access-date=September 11, 2023|website=Bun Docs}}</ref>.

The runtime supports [[foreign function interface]] (FFI), [[SQLite|SQLite3]], [[Transport Layer Security|TLS]] 1.3, and [[Domain Name System|DNS]] resolution. It also comes bundled in with common tools like file editing, [[HTTP]] servers, [[WebSocket|Websocket]], and [[Hash function|hashing]].<ref>{{Cite web |title=Bun APIs |url=https://bun.sh/docs/runtime/bun-apis |access-date=September 11, 2023 |website=Bun Docs |language=en-US |archive-date=September 27, 2023 |archive-url=https://web.archive.org/web/20230927192246/https://bun.sh/docs/runtime/bun-apis |url-status=live }}</ref>

The official Bun 1.0 was released on September 8, 2023.<ref>{{cite web|title=Bun 1.0|url=https://bun.sh/blog/bun-v1.0|website=bun.sh|access-date=2024-04-30|archive-date=2024-04-30|archive-url=https://web.archive.org/web/20240430181640/https://bun.sh/blog/bun-v1.0|url-status=live}}</ref>

Since Bun 1.1 the runtime supports [[Microsoft Windows|Windows]] 10 and later (along with [[Linux]] and [[MacOS]]).<ref name=":1">{{Cite web |date=2024-04-01 |title=Bun 1.1 |url=https://bun.sh/blog/bun-v1.1 |access-date=2024-04-03 |website=Bun |language=en |archive-date=2024-06-07 |archive-url=https://web.archive.org/web/20240607040342/https://bun.sh/blog/bun-v1.1 |url-status=live }}</ref><ref name=":2">{{Cite web |last=Anderson |first=Tim |date=2024-04-02 |title=Bun 1.1 released with Windows support, stable WebSocket client and more • DEVCLASS |url=https://devclass.com/2024/04/02/bun-1-1-released-with-windows-support-stable-websocket-client-and-more/ |access-date=2024-04-03 |website=DEVCLASS |language=en-GB |archive-date=2024-04-03 |archive-url=https://web.archive.org/web/20240403022316/https://devclass.com/2024/04/02/bun-1-1-released-with-windows-support-stable-websocket-client-and-more/ |url-status=live }}</ref> It also introduced a cross-platform Bun Shell for running some [[Bash (Unix shell)|Bash]] commands without extra dependencies.<ref name=":1" /><ref name=":2" />


== See also ==
== See also ==
Line 35: Line 42:




{{software-stub}}
{{programming-software-stub}}
{{web-stub}}

Latest revision as of 04:04, 7 June 2024

Bun
Developer(s)Oven
Stable release
1.1.15[1] Edit this on Wikidata / 19 June 2024; 5 days ago (19 June 2024)
Repositorygithub.com/oven-sh/bun
Written inZig
TypeRuntime environment
LicenseMIT license[2]
Websitebun.sh

Bun is a JavaScript runtime, package manager, test runner and bundler built from scratch using the Zig programming language.[3][4] It was designed by Jarred Sumner as a drop-in replacement for Node.js. Bun uses WebKit's JavaScriptCore as the JavaScript engine,[5] unlike Node.js and Deno, which both use V8.

It supports bundling, minifying, server-side rendering (Svelte, Nuxt.js, Vite). Bundling refers to the process of combining multiple files and assets like JavaScript, CSS, and HTML into a single file, or a smaller number of files, to reduce the number of server requests and enhance performance.[6] Minifying is a technique of compressing these files by removing unnecessary characters (like whitespace, comments, etc.) without affecting their functionality, further optimizing website loading times. Bun provides an API to decide whether to preserve some readability by e.g. keeping whitespace.[6]

The runtime supports foreign function interface (FFI), SQLite3, TLS 1.3, and DNS resolution. It also comes bundled in with common tools like file editing, HTTP servers, Websocket, and hashing.[7]

The official Bun 1.0 was released on September 8, 2023.[8]

Since Bun 1.1 the runtime supports Windows 10 and later (along with Linux and MacOS).[9][10] It also introduced a cross-platform Bun Shell for running some Bash commands without extra dependencies.[9][10]

See also[edit]

References[edit]

  1. ^ "Release Bun v1.1.15". 19 June 2024. Retrieved 19 June 2024.
  2. ^ Sumner, Jarred (2023-07-02). "License". Bun Docs. Archived from the original on 2023-07-06. Retrieved 2023-07-07.
  3. ^ "What is Bun? | Bun Docs". Bun. Archived from the original on 2023-12-11. Retrieved 2024-04-01.
  4. ^ Tyson, Matthew (February 23, 2023). "Explore Bun.js: The all-in-one JavaScript runtime". InfoWorld. Archived from the original on October 4, 2023. Retrieved October 11, 2023.
  5. ^ Omolana, Timilehin (2022-08-02). "What Is Bun.js and Why Is the JavaScript Community Excited About It?". makeuseof.com. Archived from the original on 2023-05-30. Retrieved 2023-05-30.
  6. ^ a b "The Bun Bundler". Bun. 2023-05-16. Archived from the original on 2024-04-03. Retrieved 2024-04-03.
  7. ^ "Bun APIs". Bun Docs. Archived from the original on September 27, 2023. Retrieved September 11, 2023.
  8. ^ "Bun 1.0". bun.sh. Archived from the original on 2024-04-30. Retrieved 2024-04-30.
  9. ^ a b "Bun 1.1". Bun. 2024-04-01. Archived from the original on 2024-06-07. Retrieved 2024-04-03.
  10. ^ a b Anderson, Tim (2024-04-02). "Bun 1.1 released with Windows support, stable WebSocket client and more • DEVCLASS". DEVCLASS. Archived from the original on 2024-04-03. Retrieved 2024-04-03.

External links[edit]