// @deno-types="npm:@types/express@4.17.14"
import { default as express } from "npm:express@4.18.2";
console.info(express("foo")); // => 型エラー
型定義ファイルが同梱されていないパッケージについては、@deno-types
で型定義を指定できます。
import { compress, uncompress } from "npm:lz4-napi@2.2.0";
const data = await Deno.readFile("./deno.json");
const compressed = await compress(data);
const uncompressed = await uncompress(compressed);
現時点では、Node-APIをベースに実装されたパッケージを利用するには、--allow-ffi
の指定が必要です。
--lock-write
によって出力されるロックファイルのフォーマットが変更されました。
$ deno run --unstable --lock=lock.json --lock-write main.ts
次のDeno v1.28では、deno.json
が存在する場合、ロックファイルをデフォルトで出力することが検討されているようです。
deno lsp
でInlay Hintsがサポートvscode_denoを最新バージョンにアップデートし、"editor.inlayHints.enabled"
に"on"
などを設定すると有効化されます。
$ deno run main.ts
A new release of Deno is available: 1.27.0 → 1.27.1
Run `deno upgrade` to install it.
もし不要であれば、DENO_NO_UPDATE_CHECK
に1
を設定すると無効化できます。
deno task
の改善安定性に関する警告メッセージが表示されなくなりました。
# v1.26までだと、以下のような警告メッセージが表示されます
$ deno task benchmark
Warning deno task is unstable and may drastically change in the future
...
deno task
の改善複数のコマンドを並列で実行する際の挙動が変更されています。
{
"tasks": {
"test-async": "exit 1 & exit 0"
}
}
$ deno task test-async
# v1.27.0だと`1`, v1.26.0だと`0`
$ echo $?
1
下記APIが安定化されました。(--unstable
なしで利用できます)
Deno.consoleSize
Deno.osRelease
Deno.stdin.setRaw
Deno.futime
/Deno.futimeSync
Deno.loadavg
Deno.utime
/Deno.utimeSync
[1, 2, 3].toReversed() // => [3, 2, 1]
[4, 2, 10, 5].toSorted() // => [10, 2, 4, 5]
[1, 2, 3, 4].toSpliced(1, 2) // => [1, 4]
[1, 2, 3].with(1, 20) // => [1, 20, 3]
Change Array by copyのサポートが入っています。
Deno.listen
とDeno.listenTls
でreusePort
オプションがサポート (Linuxのみ)Deno.listenDatagram
でreuseAddress
オプションがサポートnavigator.language
とnavigator.languages
が実装Deno.kill
とDeno.Process.kill
のsignal
引数がオプショナルに変更 (デフォルトでSIGTERM
が送信されます)Deno.listen
によってUnixドメインソケットを開く前にDenoの内部で行われていたソケットファイルの削除処理が廃止非推奨のモジュールやAPIが削除されています。
std/hash
が削除 (今後はstd/crypto
で代用できます)std/textproto
が削除 (今後はTextLineStreamで代用できます)CSVStream
やJSONParseStream
などが削除 (今後はCsvStream
やJsonParseStream
などの形式のAPIで代用できます)Denoの初期サポートが入りました。(公式ガイド)
$ deno run -A --unstable npm:prisma@4.5.0 init
現時点では、Prisma Data Proxy経由でのデータベース接続のみがサポートされています。
Nuxt 3のサーバエンジンであるNitroでDeno presetの実装が進んでいるようです。
これが実装されれば、Nuxt 3で開発されたアプリケーションをDeno Deploy上などで動かせるようになりそうです。