Denoの直近の変更について
先週に続いていくつかの新機能がmainブランチにマージされているため、紹介いたします。
--node-modules-linker=hoisted
--node-modules-linkerオプションが追加されています (#32788)。
これはpnpmにおけるnodeLinkerオプションに相当するオプションのようで、現状ではhoistedまたはisolatedのいずれかの値の指定がサポートされています。デフォルト値はisolatedで、isolatedが指定されている際は、今まで通り、pnpmなどと同様のレイアウトでnode_modulesが作成されます。
それに対して hoisted (--node-modules-linker=hoisted) を指定すると、DenoがnpmやYarn v1と同様のレイアウトでnode_modulesを作成してくれます (--node-modules-dir=manualとの併用が必要です)
また、本オプションはdeno.jsonにおけるnodeModulesLinkerによって設定することも可能です。
このオプションの追加によりnpmを採用したプロジェクトとの互換性が改善されそうです。
Deno.test()にtimeoutオプションが追加
Deno.test()にtimeoutオプションが追加されています (#33815)
ミリ秒単位でテストケースごとにタイムアウトを設定できます。
Deno.test({
name: "doSomethingAsync",
timeout: 5_000,
fn: async () => {
const result = await doSomethingAsync();
assert(result === 123);
},
});