Deno v1.45
Deno v1.45がリリースされました。 この記事では主な変更点などについて解説します。 ワークスペース 先週紹介したワークスペースに関する改善が正式にリリースされました。 deno.jsonでワークスペースを定義するためのworkspacesキーがworkspaceにリネームされています。 また、オブジェクト形式でワークスペースに関する設定が定義できるようになりました (cli/schemas/config-file.v1.json#L607-L629) { "workspace": { "members": ["./member1", "./member2"] } } 現時点では設定項目としてworkspace.membersのみが存在しますが、今後、追加される可能性もありそうです。 このworkspace.membersにはdeno.jsonを含むディレクトリだけでなく、package.jsonを含むディレクトリをワークスペースのメンバーとして指定することもできるようです。 deno_stdでもすでに新しいフォーマットへ移行されているようです。 chore: use new format for workspaces and re-enable using Deno canary and v1.x (denoland/deno_std#5375) Node.js互換性の改善 npm workspacesのサポート 先週紹介したnpm workspacesに関するサポートが正式にDenoに導入されました。Denoがpackage.jsonのworkspacesキーを認識してくれます。 以下のようなワイルドカード形式でのワークスペースメンバーの指定もサポートが導入されています。 { "workspaces": ["packages/*"] } また、deno publishコマンドでもnpm workspacesに関するサポートが導入されているようです。#24507によると、以下のような構成のプロジェクトにおいてdeno publishを実行すると、packages/member-1とpackages/member-2がJSRに公開されるようです。 project/ package.json ("workspaces": ["packages/*"]が設定) packages/ member-1/ pakcage.json jsr.json member-2/ package.json jsr....