2024/02/19〜2024/02/25の最新情報

Deno v1.41 Deno v1.41がリリースされています。 以下に内容をまとめたため、よろしければこちらを参照いただければと思います。 Deno v1.41 deno addコマンドについて deno addコマンドを実装するPRが作成されています。 feat: deno add subcommand (#22520) 使い方としては、以下のようにjsrに公開されているパッケージを引数に指定して実行する想定のようです。 $ deno add @scope/pkg この場合、deno.jsonに以下のような形式で追加したパッケージを書き込んでくれるようです。 { "imports": { "@scope/pkg": "jsr:@scope/pkg@1.2.3" } } リリースされるかどうかはまだわからないものの、今後のバージョンで利用できるようになる可能性もありそうです。 deno_std v0.217.0 deno_std v0.217.0がリリースされています。 std/semver - Operatorに関する非推奨化 Operator型における"==", "===", "!==", ""が非推奨化されています。 "=="と"==="は"="への移行が推奨されます。 "!=="は"!="への移行が推奨されます。 ""はundefinedへの移行が推奨されます。 std/io/iterate_reader.tsが追加 std/io/iterate_reader.tsが追加されています。iterateReaderとiterateReaderSyncの2つのAPIが提供されていて、Readerから(Async)IterableIterator<Uint8Array>への変換が行えます。 std/streams/iterate_reader.tsを使っている場合は、こちらへの移行が推奨されます。 std/io/reader_from_stream_reader.ts 非推奨化されていたstd/streams/reader_from_stream_reader.tsがstd/io/reader_from_stream_reader.tsへ移動されました。合わせて非推奨化も解除されています。 std/testing/mock.ts spyやstubがusingに対応されました。spyまたはstubがスコープから外れた際に、自動でrestore()が呼ばれます。 Lume v2.1.0 Lume v2.1.0がリリースされています。 Lume 2.1.0 release notes LumeCMSのサポート(lume cmsコマンド)が入っています。...

February 25, 2024

Deno v1.40

Deno v1.40がリリースされました。 この記事では主な変更点などについて解説します。 Temporalサポート DenoでTemporal がサポートされました。利用するには--unstable-temporalの指定が必要です。 Temporal.Now.instant(); 今のところTemporalのサポートはv2での安定化が検討されているようです。 Decorators proposal (stage 3)のサポート ⚠️ V8でまだサポートされていない関係で.jsファイルではまだ動作しないようなためご注意 (.tsなどのトランスパイルされるファイルでのみ動作します) TypeScript v5で導入されたDecorators (stage 3)がDenoでもサポートされました。 これに伴い、今までデフォルトで有効化されていたTypeScriptのexperimentalDecoratorsは無効化されたため、もし利用したい場合はdeno.jsonで明示的に有効化する必要があります。 { "compilerOptions": { "experimentalDecorators": true } } TypeScript5で導入されたStage 3のDecoratorを眺めてみる | 豆蔵デベロッパーサイト deno.json importsでnpm:URLのマッピングを定義する際の挙動の改善 (Import map expansion) npmパッケージが提供するサブパスの読み込みに関する挙動が改善されています。 例えば、deno.jsonでImport Mapsを定義しておき、npm:なしでmswとmsw/nodeを読み込みたい場面があったとします。 import { http, HttpResponse } from "msw"; import { setupServer } from "msw/node"; const server = setupServer( http.get(`${location.origin}/api/user`, () => HttpResponse.json({ id: 1, name: "foo", })), ); この場合、v1....

January 28, 2024

Deno v1.39

Deno v1.39がリリースされました。 この記事では主な変更点などについて解説します。 WebGPU APIの再導入 Deno v1.32で削除されたWebGPU APIが再導入されました。 利用するにはdeno.jsonでunstable: ["webgpu"]を指定するか--unstable-webgpuオプションの指定が必要です。 { "unstable": ["webgpu"] } 以下のリポジトリではWebGPU APIに関する使用例が公開されています。 https://github.com/denoland/webgpu-examples また、この追加に合わせて、deno_stdにもWebGPU API向けのユーティリティが追加されています。(std/webgpu) deno coverage サマリー/HTMLレポーターの追加 deno coverageコマンドにサマリーレポーターとHTMLレポーターが追加されました。 サマリーレポーターは新しくdeno coverageコマンドのデフォルトで使用されるレポーターとして設定されていて、以下のような形式でレポートが出力されます。 $ deno coverage ./coverage ----------------------------------------------------------- File | Branch % | Line % | ----------------------------------------------------------- demo/components/Button.tsx | 100.0 | 0.0 | demo/fresh.gen.ts | 100.0 | 100.0 | ... 省略 ... internal/test_utils/mod.ts | 100.0 | 100.0 | server.ts | 83....

December 17, 2023

2023/11/27〜2023/12/03の最新情報

fresh v1.6 fresh v1.6がリリースされました。 以下に内容をまとめたため、よろしければそちらを参照いただければと思います。 fresh v1.6 Deno v1.38.4 Deno v1.38.4がリリースされました。 node:child_process: spawnSync()でstatusが常に0に設定される問題が修正されました。 deno lsp: CPU使用率やパフォーマンスの改善が実施されています。 Deno Cron (Deno.cron())のアナウンス Deno.cron()が正式にアナウンスされました。 Announcing Deno Cron 上記の記事によると、Deno.cron()はすでにDeno Deployでも利用できるようで、登録されたハンドラを実行する際に、オンデマンドでisolateを立ち上げてくれるようです。 freshのイテレーションプラン (2023/12) freshの2023/12におけるイテレーションプランが公開されています。 December 2023 iteration plan #2108 View TransitionsのサポートやDeno v1.38で導入されたHMRやprecompiled JSX transformなどに関する検討などが計画されているようです。 OpenAI Deno SDK OpenAI公式からDenoのSDKが公開されました。 And… we’re back to shipping! Announcing the @OpenAI Deno SDK, now available at https://t.co/1apX59gG5S, built in collaboration with @stainlessapi. Deno is a Javascript runtime that natively supports Typescript, is secure by default, and provides an awesome DevX....

December 3, 2023

Deno v1.38

Deno v1.38がリリースされました。 この記事では主な変更点などについて解説します。 deno doc deno doc --lint deno docコマンドで--lintオプションがサポートされました。 $ deno doc --lint mod.ts Missing JS documentation comment. at file:///home/uki00a/ghq/github.com/uki00a/some-project/mod.ts:12:3 このオプションを指定すると、DenoはAPIドキュメントを出力する前に、各APIを検査します。そして以下のようなAPIが検出された場合、APIドキュメントを出力せずにエラーを表示します。 exportされているAPIにJSDocコメントが書かれていない場合 (Missing JS documentation comment.) exportされているAPIの戻り値の型定義が省略されている場合 (Missing return type.) exportされている型のプロパティがexportされていない型を参照している場合 (Type 'foo' references type 'Bar' which is not exported from a root module.) このエラーが発生した場合、そのexportされていない型に@internalを指定することでエラーを抑止できます deno doc --html deno docでAPIドキュメントのHTML形式での出力がサポートされました。 --htmlを指定すると、docsディレクトリにHTMLが出力されます。 $ deno doc --html --name=fresh-testing-library mod.ts Written 261 files to "./docs/" docs/index.htmlを開くことで作成されたAPIドキュメントを閲覧できます。...

November 5, 2023