Deno v2.1.2 Deno v2.1.2がリリースされています。 WASMモジュール .wasmモジュールから提供される関数以外の要素の読み込みがサポートされています。 fix: support non-function exports in Wasm modules #26992 TypeScript deno checkコマンドでJSDocの@importタグがサポート .jsファイルにおける@importタグによる型チェックがサポートされています。 fix(check): support jsdoc @import tag #26991 resolution-mode属性のサポート TypeScriptのresolution-mode属性のサポートが追加されています。 fix(node): correct resolution of dynamic import of esm from cjs #27071 deno fmt --check - .sqlファイルに対してエラーが発生する問題の修正 .sqlファイルに対してdeno fmt --checkを実行すると、常にエラーが発生する問題が修正されています。 fix(fmt): Return None if sql fmt result is the same #27014 deno init --npm scopedパッケージのサポート deno init --npmでscopedパッケージがサポートされています (例: deno init --npm @foo/barを実行すると、@foo/create-barパッケージが実行されます)...
2024/11/18〜2024/11/24の最新情報
Deno v2.1.0 Deno v2.1.0がリリースされています。 以下に内容をまとめたため、よろしければこちらを参照いただければと思います。 Deno v2.1 Deno v2.1.1 Deno v2.1.1がリリースされています。Deno v2.1.0によって発生したリグレッションの解消が中心のようです。 --watchのバグ修正 引数なしで--watchを使うと、プロセスがパニックする問題が修正されています。 Node.js互換性 .jsファイルの取り扱いに関する修正 Deno v2.1.0における.jsファイルが誤って.tsファイルとして認識されてしまうことのある問題が修正されています。 --unstable-node-globals --unstable-node-globalsが指定された際に、globalThis.Bufferが適切な値を参照するよう修正されています。 deno task ワークスペースのルートで依存関係のあるタスクが定義されている場合、ワークスペースメンバーではなく常にルートで定義されているタスクが参照されるよう修正されています。 deno_stdのリリース deno_stdがリリースされています: release-2024.11.22 @std/http@1.0.11 @std/http@1.0.11がリリースされています。 @std/http/file-server セキュリティに関連する修正が実施されており、もしファイルサーバーを利用されている際はアップデートが推奨されます。 @std/archiveが削除 @std/archiveパッケージが削除されました。@std/tarへの移行が推奨されます。 @std/async@1.0.9 @std/async@1.0.9がリリースされています。 @std/async/unstable-retry @std/async/unstable-retryが追加されています。基本的には@std/async/retryと同様ですが、isRetriableオプションによってリトライを行うかどうかを柔軟に判断できる点が異なります。 @std/csv@1.0.4 @std/csv@1.0.4がリリースされています。 @std/csv/unstable-stringify @std/csv/unstable-stringifyが追加されています。@std/csv/stringifyとの違いとして、与えられた配列の最初の要素を元にカラム名を自動で推論してくれます。 @std/toml@1.0.2 @std/toml@1.0.2がリリースされています。 @std/toml/parse ポジティブなタイムゾーンオフセットが適切に取り扱われるよう修正が行われています。
Deno v2.1
Deno v2.1がリリースされました。 この記事では主な変更点などについて解説します。 .wasmファイルのimportがサポート .wasmファイルのimportがサポートされました。 通常のJavaScriptモジュールと同様に、リモートの.wasmファイルをimportすることもできます: import { add } from "https://raw.githubusercontent.com/denoland/deno/refs/tags/v2.1.0/tests/testdata/wasm/math.wasm"; console.info(add(1, 2)); また、deno docコマンドでも.wasmファイルがサポートされています: $ deno doc https://raw.githubusercontent.com/dyedgreen/deno-sqlite/refs/tags/v3.9.1/build/sqlite.wasm Defined in https://raw.githubusercontent.com/dyedgreen/deno-sqlite/refs/tags/v3.9.1/build/sqlite.wasm:45:1 function argument_blob(arg0: number): number ... function total_changes(): number Defined in https://raw.githubusercontent.com/dyedgreen/deno-sqlite/refs/tags/v3.9.1/build/sqlite.wasm:2:22 const memory: WebAssembly.Memory deno outdated deno outdatedという新しいコマンドが実装されています。 引数なしで実行すると、各依存関係の最新バージョンが表示されます: $ deno outdated ┌────────────────────┬─────────┬────────┬────────┐ │ Package │ Current │ Update │ Latest │ ├────────────────────┼─────────┼────────┼────────┤ │ jsr:@oak/oak │ 17.1.0 │ 17.1.3 │ 17....
2024/11/11〜2024/11/17の最新情報
Denoの直近の変更について 先週は特にDenoのリリースは行われていないため、直近でDenoのmainブランチにマージされている変更についていくつか紹介します。 deno task - オブジェクト形式でのタスクの定義がサポート deno.jsonでのタスクの定義においてオブジェクト形式がサポートされています。(おそらくdeno taskにおける依存関係の定義のサポートに向けた対応と思われます) { "tasks": { "test": { "command": "deno test --allow-read=. --doc", "description": "Run tests" } } } descriptionフィールドで指定した内容は、引数なしでdeno taskコマンドを実行した際のコメントとして表示されます: $ deno task Available tasks: - test // Run tests deno test --allow-read=. --doc このdescriptionフィールドの追加に伴い、引数なしでdeno taskコマンドを実行した際のdeno.jsoncで各タスクに記述されたコメントを認識してくれる機能が廃止されています: { "tasks": { // このコメントは引数なしでdeno taskを実行した際に表示されません "test": "deno test --allow-read=. --doc" } } feat(task): support object notation, remove support for JSDocs #26886 --unstable-detect-cjsの安定化 --unstable-detect-cjsが安定化されています。--unstable-detect-cjsを指定しなくても、package....
2024/11/04〜2024/11/10の最新情報
Deno v2.0.5 Deno v2.0.5がリリースされています。 Workspaces メンバーのワイルドカード形式での指定がサポート ワークスペースのメンバーの指定でワイルドカード形式がサポートされています: { "workspace": [ "./packages/*" ] } fix(workspace): support wildcard packages #26568 deno add/deno install package.jsonを更新する際の振る舞いの変更 Deno v2.0.0-rc.2では、package.jsonが存在する状態でdeno add/deno installによってnpmパッケージを追加しようとした場合、deno.jsonではなく常にpackage.jsonが更新されるよう挙動が変更されました。 Deno v2.0.5ではこの挙動が微調整され、deno.jsonとpackage.jsonの両方が検出された場合、package.jsonの配置場所がdeno.jsonよりも現在のパスに近いときだけpackage.jsonにnpmパッケージ(npm:)が追加されるよう変更されています。 fix(add): only add npm deps to package.json if it’s at least as close as deno.json #26683 deno fmt YAMLでのdeno-fmt-ignore-fileディレクティブのサポート # deno-fmt-ignore-fileから始まるYAMLファイルはdeno fmtコマンドによるフォーマット対象から除外されるように挙動が変更されています。 fix(fmt): ignore file directive for YAML files #26717 deno coverage コメントの集計対象からの除外 コメントの行がdeno coverageコマンドによる集計対象から除外されるよう振る舞いが改善されています。...
2024/10/28〜2024/11/03の最新情報
Deno v2.0.4 Deno v2.0.4がリリースされています。 deno lsp typescript.preferences.preferTypeOnlyAutoImports deno lspの設定項目としてtypescript.preferences.preferTypeOnlyAutoImportsがサポートされています。このオプションにtrueを設定すると、TypeScriptの型がAuto importされる際にimport typeが挿入されるようです。 このオプションに合わせて、以前に導入されたAuto importに関する振る舞いがデフォルトで無効化されているため、以前の振る舞いに戻したい場合は、typescript.preferences.preferTypeOnlyAutoImportsにtrueを設定する必要があります。 feat(lsp): “typescript.preferences.preferTypeOnlyAutoImports” setting #26546 (Windows) deno upgradeでのdeno lspの自動停止 Winodwsでdeno upgradeを実行した際に、実行中のdeno lspを自動で停止する機能が導入されています。 fix(upgrade): stop running deno lsp processes on windows before attempting to replace executable #26542 deno compile リダイレクトに関する取り扱いの修正 リダイレクトが発生するサードパーティモジュール(例: https://deno.land/std/http/mod.tsなど)に依存している場合、deno compileで生成した実行可能ファイルでエラーが発生する問題が修正されています。 fix(compile): regression handling redirects #26586 deno check compilerOptions.jsxImportSourceに関する修正 ソースコード中でJSXが使用されていない場合、compilerOptions.jsxImportSourceが解決されないよう挙動が改善されています。 fix(check): ignore resolving jsxImportSource when jsx is not used in graph #26548 deno add/deno install \r\nの取り扱いの修正 deno....
2024/10/21〜2024/10/27の最新情報
Deno v2.0.3 Deno v2.0.3がリリースされました。 deno lsp Interactive Inlay Hints for Types Interactive Inlay Hints for Typesが実装されています。Inlay Hintsの内容をクリックすることで、その定義元へジャンプできるようです。 feat(lsp): interactive inlay hints #26382 import-map-remap quickfix type imports (import type)に対してもimport-map-remap quickfixが利用できるよう改善されています。 fix(lsp): import-map-remap quickfix for type imports #26454 deno compile Node-APIのサポート deno compileで生成されたバイナリでNode-APIがサポートされています。 feat: support node-api in denort #26389 deno check --frozenのサポート deno checkコマンドで--frozenオプションの指定がサポートされています。 fix(check): support --frozen on deno check #26479 deno fmt --extの挙動の変更 deno fmtに--extオプションを指定した際に、引数でのファイルの指定が必須に変更されています。...
2024/10/14〜2024/10/20の最新情報
Deno v2.0.1/v2.0.2 Denoのv2.0.1とv2.0.2がリリースされています: v2.0.1 v2.0.2 Node.js互換性の改善 CommonJSサポートの改善やWrangler/SvelteKit/Next.jsなどに関するサポートの改善が行われています。 --unstable-detect-cjs --unstable-detect-cjsという新しいオプションが追加されています (deno.jsonで"unstable": ["detect-cjs"]を指定して有効化することも可能です) このオプションを指定すると、package.jsonで"type": commonjsが指定されたパッケージの.jsファイルが.cjsファイル(CommonJS形式)として認識されます。 feat(unstable): --unstable-detect-cjs for respecting explicit "type": "commonjs" #26149 node:net: Socket#setNoDelayが実装 新規APIとしてSocket#setNoDelayが実装されました。 このAPIによってnode-postgresなどのパフォーマンスの改善が期待されるようです。 fix(ext/node): implement TCP.setNoDelay #26263 node:child_process: fork()での--no-warningsのサポート fork()のexecArgvオプションでNode.jsの--no-warningsがサポートされています (Denoの--quietオプションにマッピングされます) Wranglerを動作させるための対応のようです。 fix(child_process): map node --no-warnings flag to --quiet #26288 node:dns: lookup()の互換性の改善 lookup()でlocalhostを解決する際の振る舞いがNode.jsと一致するよう挙動が改善されています。 fix(ext/node): fix dns.lookup result ordering #26264 node:process (Windows) 未サポートのシグナルの取り扱いの変更 Windowsにおいて未サポートのシグナルに対して警告を発するのではなく、単純に無視されるように振る舞いが変更されています。パッケージによっては多くの警告が出てしまうこともあったようです。 fix: don’t warn on ignored signals on windows #26332 process....
2024/10/07〜2024/10/13の最新情報
Deno v2がリリース Deno v2が正式にリリースされました。公式ブログとYoutubeでアナウンスが行われています: https://deno.com/blog/v2.0 https://www.youtube.com/watch?v=d35SlRgVxT8 新しい発表について 大きな点として、LTSリリースチャネルが発表されています。Deno v2.1からLTSチャネル向けにリリースから6ヶ月間の間は、重要度の高いバグ修正などがバックポートされ続ける想定のようです。 また、Webサイトだけ先に公開されていたDeno for Enterpriseについても正式に発表されました。 周辺ライブラリでの対応 Oakではすでに対応が行われており、v17.1.0にてすでにDeno v2サポートがリリースされています: Release v17.1.0 Honoについてもまだリリースはされていなさそうですが、早速、Deno v2の対応が入れられています (ci: use Deno v2 #3506) 各種パッケージマネージャーを抽象化してくれるni.zshでも、Deno v2のリリースに合わせて、Denoのサポートが導入されたようです (v1.3.0) deno_stdのリリース deno_stdがリリースされています。 @std/cbor 新規パッケージとして@std/cborが追加されています。CBORの実装が提供されます。 @std/collections@1.0.8 @std/collections@1.0.8がリリースされています。 Iterableのサポート @std/collections@1.0.7に続けて、以下のAPIでもIterableオブジェクトのサポートが追加されています: takeLastWhile (@std/collections/unstable-take-last-while) dropWhile (@std/collections/unstable-drop-while) intersect (@std/collections/unstable-intersect) dropLastWhile (@std/collections/unstable-drop-last-while) @std/async@1.0.6 @std/async@1.0.6がリリースされています。 @std/async/unstable-mux-async-iteratorが追加 @std/async/unstable-mux-async-iteratorではMuxAsyncIteratorが提供されており、振る舞いとしては既存の@std/async/mux-async-iteratorにおける同名APIと同じですが、コンストラクタ引数に複数のAsyncIterableを可変長引数として渡すことができる点が異なります。 @std/streams@1.0.7 @std/streams@1.0.7がリリースされています。 @std/streams/unstable-to-byte-stream toByteStream (@std/streams/unstable-to-byte-stream)が追加されています。ReadableStream<Uint8Array>をreadable byte streamへ変換してくれます。 @std/io@0.225.0 @std/io@0.225.0がリリースされています。 非推奨APIの削除 非推奨化された以下のAPIが削除されています。APIによっては@std/streamsに対応するものがあるため、そちらへの移行が推奨されます。 削除対象 移行先 補足 StringReader Buffer....
2024/09/30〜2024/10/06の最新情報
The Final Touches: What’s New In v2.0.0-rc.10 後述するDeno v2.0.0-rc.10に関する記事がDeno公式ブログで公開されています: The Final Touches: What’s New In v2.0.0-rc.10 上記の記事によると、Deno v2の正式リリースについては今週に予定されているようです。 Deno Deploy NextGen Deno公式からDeno Deploy NextGenが公開されています: Deno Deploy NextGen これはKubernetesクラスター上でユーザーがDeno Deployのインフラストラクチャーを実行するための基盤のようで、現時点だとAWSとAzureがサポートされているようです。 Deno v2.0.0-rc.8/v2.0.0-rc.9/v2.0.0-rc.10がリリース Denoのv2.0.0-rc.8〜v2.0.0-rc.10がリリースされています: v2.0.0-rc.7からv2.0.0-rc.8までの差分 v2.0.0-rc.8からv2.0.0-rc.9までの差分 v2.0.0-rc.9からv2.0.0-rc.10までの差分 破壊的変更 URLPattern#execの振る舞いの変更 Deno v1.46.0で導入され、 Deno v1.46.1で取り消されたURLPattern#execの振る舞いの変更が改めて実施されました。 URLPattern#execでパターンにマッチするグループがない場合にgroups[key]にundefinedが設定されるように振る舞いが変わります。 Revert “fix(urlpattern): fallback to empty string for undefined group values” #25961 $DENO_DIR/depsが$DENO_DIR/remoteへリネーム リモートからダウンロードされた依存関係のグローバルキャッシュとして利用される$DENO_DIR/depsディレクトリが$DENO_DIR/remoteへリネームされました。 DENO_DIRの操作を行うツールやライブラリなどを除いて、基本的にはこの変更による影響は特にないはずです。 BREAKING: rename “deps” remote cache folder to “remote” #25969 deno lsp npm:@types/*を追加するQuick fixのサポート 自前で型定義を持たないnpmパッケージに対して// @deno-types=\"npm:@types/*"を追加するQuick fixが実装されています。(Add @deno-types directive for \"<package>\")...