Bun 1.3.6 est disponible. Cette mise à jour corrige 45 bugs sur 125 remontés. Elle propose de nombreuses nouveautés et évolutions, dont :

- Bun.archive est disponible par défaut dans l'outil. Cette API permet de créer et d'extraire des archives TAR avec compression gzip (en option). 

// Create an archive from filesconst archive = new Bun.Archive({  "hello.txt": "Hello, World!",  "data.json": JSON.stringify({ foo: "bar" }),  "binary.bin": new Uint8Array([1, 2, 3, 4]),});// Or get as Blob/Uint8Arrayconst blob = await archive.blob();const bytes = await archive.bytes();// Or read files:const files = await archive.files();const text = await archive.files("*.{txt,json}");// Extract an existing tarballconst tarball = new Bun.Archive(await Bun.file("package.tar.gz").bytes());const fileCount = await tarball.extract("./output-dir");console.log(`Extracted ${fileCount} files`);// Enable gzip compression (.tar.gz)const compressed = new Bun.Archive(files, { compress: "gzip" });// Gzip with custom compression level (1-12)const maxCompression = new Bun.Archive(files, { compress: "gzip", level: 12 });

- API native Bun.JSONC.parse() pour parser JSONC (C pour commentaires). Ce format est utilisé avec VS Code et dans d'autres fichiers de configuration

- Bun.build() supporte metafile : idéal pour inclure des détails de metadata sur tous les fichiers en entrée, en sortie

- files dans Bun.build 

- nouveau flag CLI : --compile-executable-path. Très utile dans le cas d'une cross-compilation 

- performances en hausse sur Response.json(object), sur async/await, Buffer.indexOf, Bun.spawnSyn() sur Linux ARM64

- WebSocket supporte les connexions à travers HTTP et HTTPS via une nouvelle option proxy

// Simple proxy URL

new WebSocket("wss://example.com", {

  proxy: "http://proxy:8080",

});

// With authentication

new WebSocket("wss://example.com", {

  proxy: "http://user:pass@proxy:8080",

});

// Object format with custom headers

new WebSocket("wss://example.com", {

  proxy: {

    url: "http://proxy:8080",

    headers: { "Proxy-Authorization": "Bearer token" },

  },

});

// HTTPS proxy with TLS options

new WebSocket("wss://example.com", {

  proxy: "https://proxy:8443",

  tls: { rejectUnauthorized: false },

});

- SQLite est en version 3.51.2

Note de version : https://bun.com/blog/bun-v1.3.6

Catégorie actualité: OutilsBunImage actualité AMP: