2024/02/26〜2024/03/03の最新情報

JSR(jsr.io)が公開 (パブリックベータ版) jsr.ioがパブリックベータ版として一般公開されました。 Introducing JSR - the JavaScript Registry deno_stdやOak, daxなどのパッケージもすでに公開されています。 また、レジストリのソースコードも公開されており、以下のリポジトリで開発が行われているようです。 jsr-io/jsr @deno/x-to-jsr Deno公式から@deno/x-to-jsrというdeno.land/xパッケージをJSRパッケージに変換するためのツールが公開されています。 jsr-npm Node.jsやBunなどでJSRパッケージを利用するためのjsr-npmというCLIツールが公開されています。 $ npx jsr --version 0.9.0 # @oak/oakをインストール $ npx jsr add @oak/oak # package.jsonにjsrパッケージが追加されます $ cat package.json | jq '.dependencies["@oak/oak"]' "npm:@jsr/oak__oak@^14.1.1" # .npmrcが自動で作成されます $ cat .npmrc @jsr:registry=https://npm.jsr.io esm.sh - JSRの実験的サポートが追加 esm.shにJSRパッケージの実験的サポートが追加されています。 JSR is now in public beta 🔥 FYI https://t.co/GUKvoBGZVC also experimentally supports JSR packages too!...

March 3, 2024

2021/04/11〜2022/04/17の最新情報

Deno v1.20.6 Deno v1.20.6がリリースされました。 deno fmtコマンドの内部実装で使用されているdprint関連のプラグインがアップデートされています。 その影響により、deno fmtコマンドのパフォーマンス向上やバグの修正が行われています。 (オブジェクトリテラルと3項演算子を併用した際に、フォーマット結果に一貫性がなくなる問題が修正されているようです) https://github.com/denoland/deno/releases/tag/v1.20.6 deno_std v0.135.0 deno_std v0.135.0がリリースされました。 このリリースでは破壊的変更が実施されています。 io/readers: MultiReaderのシグネチャの変更 (破壊的変更) MultiReaderのコンストラクタの引数が可変長引数ではなくDeno.Readerの配列を受け取るように変更されています。 変更前: const readers: Array<Deno.Reader> = [...]; new MultiReader(...readers); 変更後: const readers: Array<Deno.Reader> = [...]; new MultiReader(readers); MultiReaderはstd/archive/tar.tsモジュールの内部で使われており、大量のファイルを持つtarファイルを作ろうとすると、maximum call stack exceededエラーが発生してしまう問題があったようです。 mime/multipartの非推奨化 (破壊的変更) mime/multipartモジュールが非推奨化されました。 今後はFormDataの使用が推奨されます。 testing/benchの非推奨化 (破壊的変更) testing/benchモジュールが非推奨化されました。 今後はDeno.benchの使用が推奨されます。 testing/bddの追加 testing/bddモジュールが追加されました。 JestやMochaライクなAPIを使用してテストコードを記述することができます。 import { assertEquals } from "https://deno.land/std@0.135.0/testing/asserts.ts"; import { describe, it } from "https://deno.land/std@0.135.0/testing/bdd.ts"; describe("sum", () => { it("should return sum of numbers", () => { assertEquals(sum(1, 2, 5), 8) }); it("should return 0 when no arguments are given", () => { assertEquals(sum(), 0); }); }); 定義したテストコードはdeno testコマンドで実行することが出来ます。...

April 17, 2022

2021/10/11〜2021/10/17の最新情報

Deno v1.15.0 Deno v1.15.0がリリースされました。 Node.jsの互換モードやサブテストの実験的な実装や、URLPatternやDeno.killの安定化、deno uninstallコマンドの実装などが行われています。 新機能: CLI Node.js互換モードの実装 (--compat を付与してDenoを実行すると、Node.jsの組み込みモジュールの読み込みが有効化されます) deno uninstallコマンドが実装されました (deno installでインストールされたスクリプトをアンインストールできます) deno lintコマンドで--watchオプションがサポートされました テスト Deno.testでテストケースの入れ子が実験的にサポートされました Deno.testで定義したテストケースがリソースリークによって失敗した際に、より詳細なエラーメッセージが表示されるようになりました (unstableをつけたときのみ) Deno API 下記のAPIが安定化されました Deno.kill Deno.Process.kill Deno.resolveDns URLPattern Deno.startTLS/Deno.connectTLS/Deno.createHttpClientでcaCertsオプションがサポートされ、複数のルート証明書を指定できるようになりました 合わせてDeno.startTLSとDeno.connectTLSのcertFileオプションが非推奨化されています また、Deno.createHttpClientのcertFileオプションが削除されています Deno.resolveDnsの内部でエラーが発生した際に返却されるエラーが改善されました Web Crypto API SubtleCrypto.deriveKeyが実装されました SubtleCrypto.wrapKeyが実装されました SubtleCrypto.exportKeyでRSAキーをspkiフォーマットでエクスポートできるようになりました SubtleCryptoのencryptとdecryptメソッドでAES-CBCによる暗号化と復号がサポートされました SubtleCrypto.deriveBitsでECDH (p256)がサポートされました SubtleCrypto.importKeyでraw形式のECDSAキーをインポートできるようになりました SubtleCryptoでAESキーのインポートとエクスポートがサポートされました FFI関連 (Deno.dlopen) バッファ引数(ArrayBuffer)のサポート 非同期呼び出しのサポート WASM スタックトレースにおけるWebAssembly....

October 17, 2021

2021/10/04〜2021/10/10の最新情報

Deno v1.14.3 Deno v1.14.3がリリースされました。 このリリースでは、バグ修正やパフォーマンスチューニングを中心に実施されています。 変更点: fetchで不正な形式のヘッダを指定するとプロセスがパニックする問題が修正されました Deno.listenで抽象ソケットアドレスを指定するとプロセスがパニックする問題が修正されました REPLでglobalThisに代入するとプロセスがパニックする問題が修正されました Workerのmessageハンドラで投げられたエラーが報告されない問題が修正されました Workerのdeno.permissions.envオプションに配列を渡せるようになりました Deno.testでAggregateErrorが投げられた際の出力が改善されました Opの実行、RequestやResponseの作成、Headers.prototype.appendなどが最適化されました https://github.com/denoland/deno/releases/tag/v1.14.3 deno_std v0.110.0 deno_std v0.110.0がリリースされました。 std/nodeへの機能追加が実施されています。 変更点: node/buffer: BufferでreadUIntLE及びreadUIntBEが実装されました node/crypto: scrypt, scryptSync, timingSafeEqual, 及びrandomUUIDが実装されました。 node/stream/web: 下記クラスが追加されました。 ReadableByteStreamController TransformStreamDefaultController ByteLengthQueuingStrategy CountQueuingStrategy TextEncoderStream TextDecoderStream node/os: tmpdirが実装されました https://github.com/denoland/deno_std/releases/tag/0.110.0 Freshのアップデート DenoのWebフレームワークであるFreshがアップデートされました。 <Head>コンポーネントがサポートされ、<head>配下に要素を追加できるようになっています。 /** @jsx h */ import { h, Head } from "../deps.ts"; export default function Home() { return ( <div> <Head> <title>Hello</title> </Head> <h2>Home</h2> </div> ); } https://github....

October 10, 2021