2024/03/18〜2024/03/24の最新情報

deno lintとdeno lspでのQuickfixのサポートについて deno lintとdeno lspでQuickfixをサポートするPRがマージされています。Deno v1.42あたりでリリースされる可能性がありそうです。 feat(lint): deno lint --fix and lsp quick fixes #22615 deno_lint v0.58.0 deno lintでは--fixオプションを指定することで利用できるようです。 いまのところQuickfixが実装されているのはno-windowとno-window-prefixルールのみのようです。 deployctl v1.12.0 deployctl v1.12.0がリリースされています。 deployctl deployコマンドで--envや--env-fileオプションがサポートされています。これらはDeno Deployのデプロイメントに対して環境変数を設定するためのオプションのようです。これらを介して設定された環境変数はDeno.env経由でアクセスできるようです。 Introducing deployctl, the command line interface for Deno Deploy また、deployments redeployコマンドが実装されており、既存のデプロイに対して環境変数のみを変更したい場合などに使用されることが想定されているようです

March 24, 2024

2024/03/11〜2024/03/17の最新情報

Deno v1.41.3 Deno v1.41.3がリリースされています。 Node.js互換性の改善 BYONMを有効化した際に、VitePressが動かせるようになったようです。 node:crypto 以下のサポートが追加されています。 getCipherInfoの基本的な実装が追加 createPublicKeyの初期実装が追加 createPrivateKeyでDHがサポート Sign#signでEC鍵がサポート node:worker_threads receiveMessageOnPortが実装されています。 また、Workerに指定したスクリプトが終了したら、Workerがプロセスの終了をブロックしないように挙動が変更されました。 node:fs statfsが実装されています。 また、symlinkでjunctionタイプがサポートされています。 node:timers Immediateクラスが追加され、setImmediateの戻り値として返却されるように変更されています。 node:module isBuiltinが実装されました。 node:punycode Node.jsとの互換性が改善されています。 node:http validateHeaderNameとvalidateHeaderValueが公開されました。 .cssサポート npmパッケージに.cssへのimportが含まれていた際に、型エラーが起きないように挙動が改善されています。 deno publish fast checkにおけるasで指定されたリテラル型の推論などが改善されています。 Fresh v2について Fresh v2に関する新機能や変更点などに関するissueが公開されています。 The road to Fresh 2.0 #2363 以下のような機能や変更などが検討されているようです。 deno.land/xからJSRへの移行 ExpressやHonoライクな新しいプラグインAPIを提供する Preactの非同期コンポーネントサポートを活用して非同期Routeコンポーネントをレンダリングする <Head>の削除 (今のところ、ハンドラーから<head>に追加する要素を返却できるようにすることなどが検討されているようです) など deno-sqlx sqlx crateやGoのdatabase/sqlライクなインターフェースを提供するためのdeno-sqlxモジュールが公開されています。 halvardssm/deno-sqlx 以下のPRで初期実装が進められているようです。 feat: initial implementation #1

March 17, 2024

2024/03/04〜2024/03/10の最新情報

Deno v1.41.2 Deno v1.41.2がリリースされています。 jsr deno addでnpmパッケージがサポート deno addの引数にnpm:<パッケージ名>の形式でパッケージを指定すると、対象のnpmパッケージがdeno.jsonに追加されます。 $ deno add npm:chalk@5.3.0 deno addでパッケージのバージョン指定がサポート deno addでパッケージを追加する際に、以下のような形式などでバージョンを指定できます。 $ deno add @std/ulid@0.219.1 $ deno add @oak/oak@14 deno publish - include/excludeに関する挙動の改善 deno publishがJSRにパッケージを公開する際に、パッケージに含めるまたは除外するファイルを決定する際の挙動が改善されています。 祖先のディレクトリの.gitignoreも参照されるように挙動が変更されています .gitignoreやexcludeで除外されたファイルのunexcludeがサポートされています { "publish": { "exclude": [ "!tmp/generated" ] }, "exclude": [ "tmp" ] } fix(publish): make include and exclude work #22720 deno publish --dry-run - GitHub Actionsのパーミッションに関する改善 GitHub Actionsでdeno publish --dry-runを実行する際に、GitHub Actionsのパーミッションなしで動作するように改善されました。...

March 10, 2024

2024/02/26〜2024/03/03の最新情報

JSR(jsr.io)が公開 (パブリックベータ版) jsr.ioがパブリックベータ版として一般公開されました。 Introducing JSR - the JavaScript Registry deno_stdやOak, daxなどのパッケージもすでに公開されています。 また、レジストリのソースコードも公開されており、以下のリポジトリで開発が行われているようです。 jsr-io/jsr @deno/x-to-jsr Deno公式から@deno/x-to-jsrというdeno.land/xパッケージをJSRパッケージに変換するためのツールが公開されています。 jsr-npm Node.jsやBunなどでJSRパッケージを利用するためのjsr-npmというCLIツールが公開されています。 $ npx jsr --version 0.9.0 # @oak/oakをインストール $ npx jsr add @oak/oak # package.jsonにjsrパッケージが追加されます $ cat package.json | jq '.dependencies["@oak/oak"]' "npm:@jsr/oak__oak@^14.1.1" # .npmrcが自動で作成されます $ cat .npmrc @jsr:registry=https://npm.jsr.io esm.sh - JSRの実験的サポートが追加 esm.shにJSRパッケージの実験的サポートが追加されています。 JSR is now in public beta 🔥 FYI https://t.co/GUKvoBGZVC also experimentally supports JSR packages too!...

March 3, 2024

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

2024/02/12〜2024/02/18の最新情報

Deno v1.40.5 Deno v1.40.5がリリースされています。 denort (deno compile向けの軽量バイナリ) deno compile向けの軽量バイナリであるdenortが再導入されています。これにより、deno compileによって生成される実行可能ファイルのサイズがかなり縮小されるようです。 feat: denort binary for deno compile #22205 GitHub Releaseに各プラットフォーム向けのdenortバイナリがアップロードされており、deno compileを実行する際にダウンロードされ、利用されます。 Remove denort optimization #10350 DENO_FUTURE環境変数の導入 DENO_FUTUREという環境変数が導入されています。この環境変数は、将来的なDenoのバージョンで実施予定の破壊的変更をテストしやすくするために導入されたようです。 今のところ、この環境変数を設定するとglobalThis.windowが削除されるようです。 $ DENO_FUTURE=1 deno repl --eval='console.log(globalThis.window)' undefined Add DENO_FUTURE env var for testing breaking changes (#22315) その他 deno lspでjsr:サポートの実装が進んでいるようです (#22382, #22418) CompressionStream/DecompressionStreamで処理を中断すると、リソースリークが発生する問題が修正されています (Aborting a CompressionStream/DecompressionStream leaks a resource #14212) deno.jsonから依存パッケージを削除すると、deno.lockが壊れてしまうことがある問題が修正されています deno_std v0.216.0 deno_std v0.216.0がリリースされています。...

February 18, 2024

2024/02/05〜2024/02/11の最新情報

Deno v1.40.4 Deno v1.40.4がリリースされています。 Deno.FsFile.lock(Sync)/unlock(Sync) Deno.FsFileにlock(Sync)とunlock(Sync)メソッドが追加されています。 挙動については既存のDeno.flockなどと同様です。 ARM64ビルド ARM64向けのビルドがサポートされています。 これに合わせてdeno-arm64も非推奨化されているようです。 https://github.com/denoland/deno/pull/22298 https://github.com/LukeChannings/deno-arm64/commit/d7419ea6472b89f56fc9f3ea5c9d370fbf7794c2 Symbol.metadata Symbol.metadataが追加されています。 CLI DENO_AUTH_TOKENS環境変数でIPアドレスの指定がサポートされています。 v1.40.3でdeno jupyterが動かなくなっていた問題が修正されています。(#22231) deno testコマンドで../がうまく認識されない問題が修正されています。 --allow-sysに指定できる値としてcpus(--allow-sys=cpus)がサポートされていいます。node:osのcpus()などの使用を許可できます。 deno_std v0.215.0 deno_std v0.215.0がリリースされています。 破壊的変更 std/log/levels.ts LogLevels.WARNINGが削除されています。(LogLevels.WARNへの移行が推奨されます) std/path std/path/glob.tsが削除されています。下記への移行が推奨されます。 std/path/is_glob.ts std/path/glob_to_regexp.ts std/path/join_globs.ts std/path/normalize_glob.ts また、std/path/separator.tsも削除されています。(std/path/constants.tsへの移行が推奨されます) std/semver 以下のファイルが削除されています。 削除対象 移行先 std/semver/test_comparator.ts std/semver/test_range.ts std/semver/try_parse_comparator.ts std/semver/try_parse_range.ts std/semver/range_format.ts std/semver/format_range.ts std/semver/sort.ts Array#sort + std/semver/compare.ts 非推奨化 (std/semver) 以下のAPIが非推奨化されています。...

February 11, 2024

2024/01/29〜2024/02/04の最新情報

dax v0.38.0 dax v0.38.0がリリースされています。 サブシェルやリダイレクト、パイプなどのサポートが追加されています。 import { $ } from "https://deno.land/x/dax@0.38.0/mod.ts"; // サブシェル await $`(export VAR=123; echo $VAR) && echo $VAR`; // リダイレクト { const request = $.request( "https://raw.githubusercontent.com/denoland/deno_std/0.214.0/version.ts", ) .showProgress(); await $`cat - < ${request}`; const path = $.path("test.txt"); await $`echo foobar > ${path}`; } // パイプ { await $`cat deno.json | jq .imports`; const imports = await $`cat deno....

February 4, 2024

2024/01/22〜2024/01/28の最新情報

Deno v1.40 Deno v1.40がリリースされました。 以下に内容をまとめたため、よろしければこちらを参照いただければと思います。 Deno v1.40 deno_stdでのワークスペースの導入について deno_stdでワークスペースやdeno publish、“fast check”などの導入に向けた準備が進んでいるようです。 chore: set up workspace publish from CI #4210 もし今後、パッケージの公開やワークスペースの利用などを検討されている際は、参考になるかもしれません。 std/kvについて deno_std/kvモジュールの開発が行われているようです。 feat: std/kv まだ入るかどうかは不明なのですが、今後、こちらからDeno KV関連のユーティリティが提供されていく可能性がありそうです。 Deno v1.40.1 Deno v1.40.1がリリースされています。 v1.40.0でdeno lspにおいてデフォルトでcompilerOptions.experimentalDecoratorsが無効化されていなかったため、改めて無効化されています。 Deno v1.40.2 Deno v1.40.2がリリースされています。 Deno.FsFileでinstanceofが動作しなくなっていた問題が修正されています。 また、v1.40.0で導入された非推奨API使用時の警告メッセージが簡略化されています。 もし、v1.40.0時点での詳細な警告メッセージへ戻したい場合は、DENO_VERBOSE_WARNINGSを設定する必要があります。 deno_std v0.213.0 deno_std v0.213.0がリリースされています。 破壊的変更 非推奨化されていたモジュールやAPIが削除されています。 std/http/cookie_map.tsが削除されています。 std/semver/format.ts: function format(semver: SemVer, style?: FormatStyle): string形式が削除されています。 std/semver/compare_build.tsが削除されています。 std/semver/rsort.tsが削除されています。(reverseSortへの移行が推奨されます) 非推奨化 std/path std/path/constants.tsが追加されています。 これに合わせてstd/path/separator.tsが非推奨化されました。このファイルで公開されていたSEPはSEPARATORに、SEP_PATTERNはSEPARATOR_PATTERNにリネームされており、それぞれconstants.tsからの読み込みが推奨されます。 std/semver std/semver/types.ts: SemVerRangeが非推奨化されています。代わりにRangeが追加されているため、そちらのへの移行が推奨されます。 std/semver/outside....

January 28, 2024

2024/01/15〜2024/01/21の最新情報

fresh v1.6.2 fresh v1.6.2がリリースされています。 Tailwind CSS tailwindプラグインを本番環境で事前ビルドなしに利用しようとした場合に、エラーが発生するように挙動が改善されています。 また、初期化スクリプトでTailwind CSSを利用するように選択した場合、GitHub Actionsの設定もセットアップされるように改善されています。 https://github.com/denoland/fresh/pull/2227 Partials <Partial>による再レンダリング時に、f-partialで指定されたエンドポイントが<title>を返さなかった場合、タイトルが失われてしまう問題が修正されています。 f-client-navが適用された<form>からサブミットされた際に、ブラウザURLが更新されない問題が修正されています。 Import Attributes IslandコンポーネントでImport Attributesが利用できない問題が解消されています。 fresh v1.6.3 fresh v1.6.3がリリースされています。 dangerouslySetInnerHTMLを使用している際のプロトタイプ汚染攻撃への対策が行われています。 もしfreshを利用されている場合は、可能な限りこのバージョンへのアップデートを行うように推奨されています。 Deno v1.39.4 Deno v1.39.4がリリースされています。 deno.jsonで./から始まるパスが各種include/excludeオプションに含まれていた場合、それらがうまく取り扱われなくなっていた問題が修正されています。 deno check: excludeで指定されたディレクトリにcompilerOptions.typesで指定されたd.tsファイルが含まれていた場合、プロセスがパニックする問題が修正されています。 External WebGPU surfaces / BYOW WebGPUによるレンダリング結果を外部ウィンドウに出力できるようにするため、Deno.UnsafeWindowSurfaceというAPIが追加されています。 feat: External webgpu surfaces / BYOW (#21835) この機能は今のところ、Deno v1.40でのリリースが検討されているようです。 deno_sdl2では、まだリリースはされていないものの、この機能へのサポートが進んでいるようです。 Add windowSurface() 非推奨APIの使用に関する警告について Deno 2.0に向けて、Deno.runなどの非推奨化されたDeno APIの使用時に警告を表示する機能が導入されています。 feat: Start warning on each use of a deprecated API #21939...

January 21, 2024