2024/09/23〜2024/09/29の最新情報

Deno v2.0.0-rc.5/v2.0.0-rc.6/v2.0.0-rc.7がリリース Denoのv2.0.0rc.5〜v2.0.0 rc.7がリリースされています: v2.0.0-rc.4からv2.0.0-rc.5までの差分 v2.0.0-rc.5からv2.0.0-rc.6までの差分 v2.0.0-rc.6からv2.0.0-rc.7までの差分 --allow-importの導入 --allow-importという新しいパーミッションフラグが導入されています (短縮形式は-I) Deno v2からリモートモジュールの読み込みを許可するホストに制限がかかるようです。必要に応じて--allow-importにリモートモジュールの読み込みを許可するホストを指定する必要があります。 ただし、デフォルトで以下のホストからのモジュールのimportが許可されるようなので、基本的なケースにおいては今まで通り利用できると思われます: deno.land jsr.io esm.sh raw.githubusercontent.com 例えば、unpkg.comからモジュールをimportしようとすると、上記のいずれのホストにも当てはまらないため、権限が要求されます: import ky from "https://unpkg.com/ky@1.7.2"; const res = await ky.get("https://api.github.com/repos/uki00a/deno-weekly").json(); この場合、以下のように権限が求められます: $ deno run --allow-net main.js ┏ ⚠️ Deno requests import access to "unpkg.com:443". ┠─ Requested by `import()` API. ┠─ Learn more at: https://docs.deno.com/go/--allow-import ┠─ Run again with --allow-import to bypass this prompt. ┗ Allow? [y/n/A] (y = yes, allow; n = no, deny; A = allow all import permissions) > --allow-importによってunpkg....

September 29, 2024

2024/09/16〜2024/09/22の最新情報

Deno 2.0 Release Candidate Denoの公式ブログでDeno v2.0.0のRCバージョンについての解説記事が公開されています。 Deno 2.0 Release Candidate 今までリリースされたv2.0.0のRCバージョンで行われた変更点について解説されています。 Deno v2.0.0-rc.3/v2.0.0-rc.4 Deno v2.0.0-rc.3とv2.0.0-rc.4がリリースされています。 v2.0.0-rc.2からv2.0.0-rc.3までのコミット v2.0.0-rc.3からv2.0.0-rc.4までのコミット 破壊的変更 deno add deno addでJSRパッケージを追加する場合にjsr:プレフィックスの指定が必須になりました: $ deno add @david/dax error: @david/dax is missing a prefix. Did you mean `deno add jsr:@david/dax`? feat: require jsr prefix for deno install and deno add #25698 deno cache deno cacheコマンドを--helpに表示しないようにする対応が行われています。 今後はdeno cacheではなくdeno install --entrypointの使用が推奨されるようです。 feat: suggest deno install --entrypoint instead of deno cache #25228 deno run Deno v1....

September 22, 2024

Deno v1.44

Deno v1.44がリリースされました。 この記事では主な変更点などについて解説します。 Node.js互換性の改善 .npmrcのサポート プライベートレジストリからnpmパッケージを読み込むために、.npmrcのサポートが追加されています。 現時点ではpackage.jsonまたはdeno.jsonと同一ディレクトリにある.npmrcのみが探索されます (ホームディレクトリなどからの読みこみはまだサポートされていません) .npmrcの設定内容はnpm:などによりnpmパッケージを利用する場合に適用されます。設定内容としては、現時点では_authTokenと_authのみがサポートされています。 組み込みパッケージ 主にgrpc-nodeやNext.js, Eleventyなどに関連したNode.js組み込みパッケージの互換性が改善されています。 Next.jsのサポートについて 公式ブログによると、DENO_FUTURE=1の指定が必要なもののNext.jsが動作するようになったようです (後日ブログポストが公開予定とのこと) @google-cloud/visionのサポート @google-cloud/visionも動作するようになったようです。 主な変更点 node:buffer: isUtf8とisAsciiが実装されています node:fs: fstatSyncでthrowIfNoEntryオプションがサポートされています node:fs: writeなどでposition引数がうまく機能しない問題が修正されています node:http: ServerResponseでstatusCodeのデフォルト値がundefinedから200に変更されています @11ty/eleventy-dev-serverを動かすための対応 (#78) node_modules/.bin Denoがnode_modulesを作成する際に、node_modules/.binが作成されるようになりました。 $ deno run --allow-env --allow-read --node-modules-dir npm:cowsay@1.6.0 hi $ ls node_modules/.bin cowsay cowthink deno.lockサポート 今までdeno.lockはdeno.jsonがある場合は自動的に生成されていました。今回のリリースでpackage.jsonがある場合にも自動でdeno.lockが作成されるように挙動が変更されました。 またDENO_FUTURE=1が設定された状態でdeno installを実行した際に、deno.lockをベースにパッケージを解決することによりパフォーマンスの改善も図られています (#23918) deno task deno taskでスクリプトを実行する際に、そのスクリプトでnpm runが利用されていて かつ npm runにフラグが指定されていなければ、npm runをdeno taskに置きかえた上でpackage.jsonのスクリプトが実行されるように挙動が変更されています。 例えば、以下のような内容のdeno.jsonとpackage.jsonが存在する場合、deno task testを実行すると、package.jsonのhiスクリプトが実行されます。 deno.json: { "tasks": { "hi": "echo deno....

June 2, 2024