Diferencia entre revisiones de «Bun»

De Wiki Proyectos Beta
Ir a la navegación Ir a la búsqueda
([feat] Add information about Bun)
 
([feat] Add information about Bun)
Línea 22: Línea 22:
* wiptest para test de JavaScript y TypeScript
* wiptest para test de JavaScript y TypeScript


= Ejemplo =
= Instalación =


Levantemos un servidor HTTP sencillito.
== GNU/Linux


  // http.js
  curl https://bun.sh/install | bash
  export default {
 
  port: 3000,
=== Configuración ===
  fetch(request) {
 
    return new Response("Welcome to Bun!");
Agregar el PATH en .bashrc o .zshrc
  },
 
  };
BUN_INSTALL="/home/<username>/.bun"
PATH="$BUN_INSTALL/bin:$PATH"
 
=== Verificar versión ===
 
bun--version
 
= Ejemplos =
 
== Servidor HTTP sencillo.
 
Se crea un archivo llamado script.js
 
  Bun.serve({
    fetch(request){
        return new Response("Hello World")
    }
  })
console.log("Listening on Port 3000")


En la terminal:
En la terminal:
  bun run http.js
  bun run script.js
 
Sale por pantalla:
Welcome to Bun!

Revisión del 17:45 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.

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

BUN_INSTALL="/home/<username>/.bun"
PATH="$BUN_INSTALL/bin:$PATH"

Verificar versión

bun--version

Ejemplos

== Servidor HTTP sencillo.

Se crea un archivo llamado script.js

Bun.serve({
   fetch(request){
       return new Response("Hello World")
   }
})
console.log("Listening on Port 3000")

En la terminal:

bun run script.js