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....