Diferencia entre revisiones de «Bun»
Ir a la navegación
Ir a la búsqueda
(→Docker) Etiqueta: Reversión manual |
([feat] Add information about Bun) |
||
Línea 9: | Línea 9: | ||
* Documentación oficial: [https://github.com/oven-sh/bun#Reference EN] | * Documentación oficial: [https://github.com/oven-sh/bun#Reference EN] | ||
* Código fuente: [https://github.com/oven-sh/bun EN] | * Código fuente: [https://github.com/oven-sh/bun EN] | ||
* Ejemplos: [https://github.com/oven-sh/bun/tree/main/examples EN] | |||
* Lanzamiento de las versiones de Bun: [https://github.com/oven-sh/bun/releases EN] | * Lanzamiento de las versiones de Bun: [https://github.com/oven-sh/bun/releases EN] | ||
* Discord: [https://discord.com/invite/CXdq2DP29u EN] | * Discord: [https://discord.com/invite/CXdq2DP29u EN] |
Revisión del 18:20 13 ago 2022
General
Bun es un entorno en tiempo de ejecución de JavaScript, como Node o Deno, pero todo en uno. Bun tiene un paquete nativo, un transpilador, un ejecutor de tareas y un cliente npm integrado. Bun se creó en abril de 2021 y fue desarrollado por Jared Sumner (desarrollador de Stripe).
Recursos
- Sitio oficial: EN
- Documentación oficial: EN
- Código fuente: EN
- Ejemplos: EN
- Lanzamiento de las versiones de Bun: EN
- Discord: EN
Features principales
Algunas características:
- JavaScriptCore: un motor de JavaScript incorporado para WebKit. Más rápido que el V8.
- Zig: un lenguaje de programación de propósito general y una cadena de herramientas para mantener un software robusto, óptimo y reutilizable.
- Esbuild: un paquete y minificador de JavaScript/CSS extremadamente rápido.
- APIs web integradas (fetch, WebSocket, ReadableStream, etc...)
- node_modules: bun implementa un algoritmo de resolución de módulos de Node.js, por lo que puedes usar paquetes npm en bun.js. ESM y CommonJS son compatibles, pero Bun utiliza internamente ESM.
- Transpilador de Typescript y JSX.
- Soporta paths, jsxImportSource y más desde los archivos tsconfig.json.
- Utiliza las llamadas al sistema más rápidas disponibles con Bun.write para write, copy, pipe, send y clone files.
- Cargado automático de .env sin require("dotenv").load()
- Cliente SQLite3 integrado con bun:sqlite
- bun:ffi Para código iteroperable con JavaScript
- node:fs node:path Bun soporta de manera nativa la mayoría de módulos del core de Node.js
- wiptest para test de JavaScript y TypeScript
Instalación
GNU/Linux
curl https://bun.sh/install | bash
Configuración
Agregar el PATH en .bashrc o .zshrc
Tecleamos en la terminal:
nano ~/.bashrc
Agregamos al final del archivo:
export BUN_INSTALL="$HOME/.bun" export PATH="$BUN_INSTALL/bin:$PATH"
Volvemos a teclear para tener los cambios recien agregados:
source ~/.bashrc
Verificar versión
bun --version
Sale por pantalla:
0.1.8
Docker
docker pull jarredsumner/bun:edge docker run --rm --init --ulimit memlock=-1:-1 jarredsumner/bun:edge
Actualización
bun upgrade
Ejemplos
Servidor HTTP sencillo
Se crea un archivo llamado script.js
Bun.serve({ fetch(request){ return new Response("Hello Proyectos Beta!!!") } }); console.log("Listening on Port 3000");
En la terminal:
bun run script.js
Entramos a nuestro navegador favorito y tecleamos en la barra de direcciones:
http://localhost:3000
Sale en el navegador:
Hello Proyectos Beta!!!