Denoばた会議 Monthly 第18回

Deno v1.32

WebGPU APIの一時的な削除

削除された背景:

  • surveyの結果、WebGPU APIの使用者が少ないことがわかった
  • Denoの起動時間やバイナリサイズに少なからず影響を与えていた

KVストア (Deno.Kv)

const kv = await Deno.openKv();

await kv.set(["key"], "value");
const result2 = await kv.get(["key"]);
assert(result2.key.length === 1);
assert(result2.key[0] === "key");
assert(result2.value === "value");
assert(result2.versionstamp !== null);

await kv.close();

deno compileでdynamic importとWeb Workerがサポート

※dynamic importやWeb Workerの読み込み先を動的に作成している場合は、--includeの指定が必要です。

// main.js
const { sum } = await import(import.meta.resolve("./sum.js"));
console.info(sum(1, 2, 3));

// sum.js
export const sum = (...numbers) => numbers.reduce((a, b) => a + b, 0);
$ deno compile -o main --include=sum.js  main.js

TypeScript v5.0.2

Deno本体に組み込まれているTypeScriptがv5.0.2へアップデートされました。

制限として、ES Decoratorsのサポートについては現時点では除外されています。

deno_std v0.180.0

std/encodingcsv/front_matter/json(c)/toml/yamlがトップレベルのモジュールへ変更されています。

v0.179.0 v0.180.0
std/encoding/csv std/csv
std/encoding/front_matter std/front_matter
std/encoding/jsonc std/jsonc

Denoでpackage.jsonやnpmパッケージのサポートが入った理由について

Why we added package.json supportという記事が公式で公開されました。

  • 依存関係の重複問題を解決したい
  • 既存のリモートモジュール管理(deps.ts, Import maps)の課題を解決したい
  • esm.shなどで一部のnpmパッケージが利用できない問題を解消したい

Cicada

CI/CDパイプラインをDenoで書けるらしいです👀

Cicada is a modern CI/CD engine that lets you write your pipelines in TypeScript. No more YAML-hell. Write your automations in a real programming language.

まだアーリーアクセス版のようですが、将来的にはOSSとして公開される予定のようです。