2021/03/15〜2021/03/21の最新情報

サードパーティモジュールなどの最新情報 luath - Vite/WMRライクなフロントエンドビルドツール luathというフロントエンド開発用のビルドツールが公開されました。 ViteやWMRに影響を受けており、以下のような機能が提供されています: HMR及びオンデマンドビルドなどの機能を提供するdevサーバ Rollup互換のプラグインシステム PostCSSやCSS Modulesのサポート https://github.com/cmorten/luath estest - DenoやNode.jsなどで動作するテストフレームワーク estestはDenoやNode.jsなどのES Modulesをサポートする環境で動作するテストフレームワークです。 将来的にはブラウザもサポートされる予定のようです。 https://github.com/mikeal/estest Servest v1.2.0 DenoのHTTPモジュールであるServestのv1.2.0がリリースされました。 このリリースでは、Router.options()が実装されています。 https://github.com/keroxp/servest/releases/tag/v1.2.0 deno-bin deno-binという、npm/npx経由でDenoを実行するためのツールが公開されました。 Node.jsプロジェクトにおいてdeno lintやdeno fmtなどを利用する用途などが想定されているようです。 https://github.com/kt3k/deno-bin その他の情報 第10回 Deno勉強会@オンライン 2021/04/03(土)に、第10回 Deno勉強会が開催されます。 詳しくは以下のページを参照ください: https://deno-ja.connpass.com/event/208138/

March 21, 2021

2021/03/08〜2021/03/14の最新情報

Deno本体の最新情報 Deno v1.8.1のリリース Deno v1.8.1がリリースされました。このリリースでは、バグの修正を中心に実施されています。 主な変更点: importsNotUsedAsValuesオプションがswcに渡されるようになりました。 Windows上でdeno compileを実行すると、ターゲットに関わらず常に.exeが拡張子として付与される問題が修正されました。 Worker内でトップレベルawaitが使用されていると、ブロックが発生する問題が修正されました。 https://github.com/denoland/deno/releases/tag/v1.8.1 deno_std v0.90.0のリリース deno_std v0.90.0がリリースされました。 変更点: node: moduleモジュールをrequireで読み込めるようになりました。 node: Node.jsで書かれたスクリプトを実行するためのCLIツールが実装されました。(node/cli.ts) node: assertモジュールの互換性が向上しました。 http: v0.88.0で発生したパフォーマンスに関する問題が修正されました。 https://github.com/denoland/deno_std/commit/3f9714bf05a75303355fddd22cad9794be50e47d サードパーティモジュールなどの最新情報 nano nanoは軽量のJSXライブラリです。以下のような機能をサポートしています: SSRをサポート(DenoとNode.jsの両方で動作します) 組み込みのRouterやStoreなどを提供 コンポーネントのpre-fetch https://github.com/nanojsx/nano depsbot モジュールなどの依存関係の更新状態をチェックをしてくれるGitHub actionです。 npmにも公開されており、コマンドラインから直接実行することもできます。 https://github.com/denosaurs/depsbot wizard wizardというBDDスタイルのAPIを提供するテストライブラリが公開されました。 まだ開発が開始したばかりではありますが、Deno.test()をベースにしているため、各種サニタイザやDenoのCLIをそのまま利用することができます。 https://github.com/deno-libs/wizard deno-redis v0.20.0 deno-redis v0.20.0がリリースされました。 変更点: CLIENT PAUSEコマンドでMODEを指定できるようになりました 以下のコマンドがサポートされました: CLIENT UNBLOCK CLIENT UNPAUSE CLIENT INFO CLIENT TRACKINGINFO CLIENT LIST https://github....

March 14, 2021

2021/03/01〜2021/03/07の最新情報

Deno本体の最新情報 Deno v1.8.0がリリースされました Deno v1.8.0がリリースされました。 magurotunaさんによるDeno v1.8.0のまとめが公開されていますので、よろしければそちらも参照ください。 主な変更点: WebGPUがサポートされました(experimental) ICUサポートが追加されました。 テストカバレッジの収集と集計が個別のコマンドに分離されました(収集はdeno test --coverage、集計はdeno coverageコマンドで行います) lcov形式でのカバレッジの集計がサポートされました。 Import maps/Deno.permissions/Deno.link/Deno.symlink/deno lspが安定化されました(--unstableオプションが不要になった) リモートモジュールをダウンロードする際に、Authorizationヘッダにトークンを設定できるようになりました(DENO_AUTH_TOKENS) テストコード中でDeno.exit()の呼び出しがチェックされるようになりました(exitサニタイザ) Deno.metrics()で収集できる情報がより詳細化されました(--unstableを付与したときのみ) deno fmtでJSONファイルのフォーマットがサポートされました。 Deno.emitでIIFE形式の出力サポートされました。 TypeScriptが4.2にアップグレードされました。 https://github.com/denoland/deno/releases/tag/v1.8.0 https://zenn.dev/magurotuna/articles/deno-release-note-1-8-0 deno_std v0.89.0がリリース Deno v1.8.0のリリースに合わせ、deno_stdのv0.89.0がリリースされました。 std/nodeへの機能追加などに加え、std/io/streamsモジュールに破壊的変更が加わっています。 主な変更点: io/streams: readableStreamFromAsyncIterator()が削除され、代わりにreadableStreamFromIterable()が追加されました。 node: constantsモジュールが追加されました。 node/crypto: createHash()関数が実装されました。 node: process.hrtime()が実装されました。 node/fs: truncate/truncateSyncが実装されました。 node/util: callbackify/promisify/typesが公開されました。 node/events: require('events').EventEmitterがundefinedになる問題が修正されました。 node: requireでshebangの書かれたJSファイルを読めるようになりました。 node: process.argvがProxyから配列へ変更されました。 https://github.com/denoland/deno_std/pull/780 サードパーティモジュールなどの最新情報 ts_morphがDenoをサポート ts_morphにDenoのサポートが追加されました。 ts_morphはTypeScriptのコンパイラAPIのラッパライブラリです。 https://github.com/dsherret/ts-morph/releases/tag/10.0.1 https://deno.land/x/ts_morph@10.0.1 vnoがVue 3をサポート vnoにVue 3のサポートが追加されました。...

March 7, 2021

2021/02/22〜2021/02/28の最新情報

Deno本体の最新情報 今週は特にリリースなどは行われていません。 来週の3月2日にDeno v1.8.0のリリースが予定されています。 https://github.com/denoland/deno/blob/v1.7.5/docs/contributing/release_schedule.md サードパーティモジュールの最新情報 Dashport - Passport.jsライクな認証モジュール DashportはNode.jsのPassport.jsに影響を受けた認証モジュールです。 Passport.js同様、ストラテジによって柔軟に拡張することができます。 現時点で公式でサポートされているWebフレームワークはOakのみです。 https://github.com/oslabs-beta/dashport pngs pngsはpngイメージのエンコード/デコード用のDenoモジュールです。 WebAssemblyを使用して実装されています。 https://github.com/denosaurs/pngs deno_license_checker - ライセンスヘッダーのチェックを行うツール deno_license_checkerは、各ソースファイルにライセンスヘッダーが正しい形式で記述されていることをチェックするツールです。 設定ファイル(.licenserc.json)によって、挙動を細かくカスタマイズすることが出来ます。 https://github.com/kt3k/deno_license_checker deno-redis v0.19.0がリリース deno-redis v0.19.0がリリースされました。 変更点: クライアントサイドキャッシングがサポートされました subscribe及びpsubscribeメソッドがジェネリクスメソッドに変更されました https://github.com/denodrivers/redis/releases/tag/v0.19.0

February 28, 2021

2021/02/15〜2021/02/21の最新情報

Deno本体の最新情報 Deno v1.7.5がリリース Deno v1.7.5がリリースされました。 このリリースではバグ修正などを中心に実施されています。 変更点: btoa()関数とEventクラスがWPTにパスするように修正され、Web標準との互換性が増しました。 deno lspでデータURLが適切に扱われない問題などが修正されました。 Dynamic importsで発生した例外をcatchできるようになりました。 https://github.com/denoland/deno/releases/tag/v1.7.5 deno_std v0.88.0がリリース deno_std v0.88.0がリリースされました。 変更点: std/encoding/utf8モジュールが削除されました。 std/testing/asserts: assertEquals()などの関数で、シンボルが適切に取り扱われない問題が修正されました。 std/node: url及びcryptoモジュールをrequire()で読み込めるようになりました。 std/node: ttyモジュールが部分的に実装されました。 std/node: Conditional exportsが実装されました。 https://github.com/denoland/deno_std/releases/tag/0.88.0 https://github.com/denoland/deno_std/compare/0.87.0...0.88.0 vscode_deno v3.0.0がリリース vscode_deno v3.0.0がリリースされました。 このリリースにおける主要な変更点として、Canaryバージョン同様、deno lspを使用するように変更されています。 サードパーティモジュールの最新情報 deno_mysql v2.8.0がリリース deno_mysql v2.8.0がリリースされました。 変更点: MariaDB v10.0のサポートが追加されました。 MySQLのTINYINT型がJavaScriptのBoolean型へ変換されないように修正されました。 caching_sha2_password認証プラグインがサポートされました。 configLogger()が実装され、ロギングの挙動をカスタマイズできるようになりました。 https://github.com/denodrivers/mysql/releases/tag/v2.8.0 Sinco v1.1.0がリリース Since v1.1.0がリリースされました。 SincoはDenoで実装されたブラウザのオートメーション・テスティングライブラリです。 変更点: HeadlessBrowser#evaluatePage()が実装され、現在のページ内での関数や式の実行がサポートされました。 Dockerコンテナ内での実行がサポートされました。 https://github....

February 21, 2021

2021/02/08〜2021/02/14の最新情報

Deno本体の最新情報 Deno v1.7.3/v1.7.4がリリースされました Deno v1.7.3がリリースされました。 その後、一部のバージョンのLinuxディストリビューションで動作しない問題が発覚したため、その問題を修正したDeno v1.7.4がリリースされました。 v1.7.3/v1.7.4の主な変更点: deno lspでcodeAction/resolveが実装されました。 deno lspにdeno.cacheコードアクションが実装されました。 deno lspにImplementationscode lensが実装されました。 Import mapsがデータURL(data:)を適切にハンドリングするように修正されました。 https://github.com/denoland/deno/releases/tag/v1.7.4 deno_std v0.87.0がリリースされました Deno v1.7.3のリリースに合わせ、deno_std v0.87.0がリリースされました。 このリリースにはhttp/cookieモジュールに対する破壊的変更が含まれています。 変更点: http/cookie: Cookies及びSameSiteの型エイリアスが削除されました。 http/file_server: SVGファイルに対して適切なContent-Typeが設定されるように修正されました。 https://github.com/denoland/deno_std/releases/tag/0.87.0 サードパーティモジュールの最新情報 denops.vim - DenoでVim/Neovimプラグインを書くためのエコシステム denops.vimという、Denoを使ってVim/Neovimプラグインを書くためのエコシステムが公開されました。 coc.nvimに影響を受けているようです。 サンプルプラグインも公開されているため、興味のある方は見てみるとよいかもしれません。 https://github.com/vim-denops/denops-helloworld.vim https://github.com/vim-denops/denops.vim https://github.com/vim-denops/denops-deno https://github.com/vim-denops/denops-std-deno slack_web_api - DenoのSlack APIクライアント slack_web_apiはNode.jsの@slack/web-apiをDenoにポートしたモジュールです。 このモジュールを使用することで、DenoからSlack APIを叩くことができます。 https://deno.land/x/slack_web_api@1.0.1 deno-redis v0.18.0がリリース deno-redis v0.18.0がリリースされました。 このリリースでは、deno lintでcamelcaseルールが実装されたことに合わせ、全メソッド及びプロパティがキャメルケース形式へリネームされています。 変更点:...

February 14, 2021

2021/02/01〜2021/02/07の最新情報

Deno本体の最新情報 Deno v1.7.2がリリース Deno v1.7.2がリリースされました。これに合わせて、deno_std v0.86.0もリリースされています。 主な変更点: deno lspでtextDocument/codeLens及びtextDocument/codeActionが実装された WPTにパスするよう、File及びBlobの実装がリライトされた https://github.com/denoland/deno/releases/tag/v1.7.2 https://github.com/denoland/deno_std/releases/tag/0.86.0 deno_stdのリポジトリがdeno本体のリポジトリから分離された Denoには標準モジュールとしてdeno_stdが存在します。 今まで、このdeno_stdの開発は、deno本体と同じリポジトリ内(denoland/deno)で行われていました。 この度、deno_stdが個別のリポジトリへと分離されました。 これにより、deno_stdの開発時にRustのセットアップが必要なくなるため、deno_stdへのコントリビューションが行いやすくなるのではないかと思われます。 https://github.com/denoland/deno_std サードパーティモジュールの最新情報 emacs-ng emacs-ngはEmacsのフォークです。 以下のような機能を備えているようです: Denoを組み込むことで、Emacs内でJavaScript/TypeScriptコードの実行を可能とする MozillaのWebRenderをサポート https://github.com/emacs-ng/emacs-ng deno-postgres v0.7.0がリリースされた deno-postgres v0.7.0がリリースされました。 v0.6.0までは、deno-postgresがサポートしていないデータ型を利用しようとすると、例外が発生しました。 このリリースにおいて、現時点でdeno-postgresでサポートされていない全てのデータ型が、JavaScriptのStringとして返却されるように挙動が変更されました。 将来的には、ライブラリの利用者が各データ型のハンドリング方法を制御できるようにするために、カスタムのハンドラを登録できるようにすることも検討されているようです。 https://github.com/denodrivers/postgres/issues/239 https://github.com/denodrivers/postgres/releases/tag/v0.7.0 Trex v1.5.0がリリースされた TrexはDenoのパッケージマネージャです。 このリリースではtrex lsコマンドが実装され、インストールされた依存パッケージの一覧を表示できるようになりました。 https://github.com/crewdevio/Trex/releases/tag/v1.5.0 Deno Module Visualizer Deno Module Visualizerが公開されました。 Deno Module Visualizerは、あるモジュールとその依存関係をGraphvizを使って可視化してくれます。 使用例: deno-postgres v0.7.0 deno-redis v0.17.0 https://deno-visualizer.danopia.net/

February 7, 2021

2021/01/25〜2021/01/31の最新情報

Deno v1.7.1がリリース Denoのv1.7.1がリリースされました。 このリリースに合わせて、stdのv0.85.0もリリースされています。 v1.7.0でリリースされたDeno.emitやDeno.resolveDnsの安定性の向上 deno lspのバグ修正・安定性の向上 std/nodeでprocess.on("exit")がサポートされた https://github.com/denoland/deno/releases/tag/v1.7.1 deno-postgresのv0.5.0/v0.6.0がリリース deno-postgresのv0.5.0及びv0.6.0がリリースされました。 v0.5.0 v0.6.0 これらのリリースにはいくつかの破壊的変更が含まれています: Client#queryメソッドが削除され、Client#queryArrayとClient#queryObjectメソッドが追加された Client#queryArrayはクエリの結果をネストされた配列として返却します Client#queryObjectはクエリの結果をオブジェクトの配列として返却します Client#multiQueryメソッドが削除された PostgreSQLのbigint型がJavaScriptのBigIntとして返却されるように変更された v0.4.0まではJavaScriptのString型として返却されていました https://github.com/denodrivers/postgres Harmony - Discord APIライブラリ HarmonyというDiscord APIライブラリが公開されました。 このライブラリを使うことで、Discordボットの開発などを行うことができます。 https://github.com/harmonyland/harmony

January 31, 2021

2021/01/18〜2021/01/24の最新情報

Deno v1.7.0がリリース Deno v1.7.0がリリースされました。 以下は変更点の要約です: deno compileコマンドでクロスコンパイルや軽量バイナリの生成、パーミッションの指定などがサポートされた import及びWorkerでData URLがサポートされた Deno.resolveDnsが実装された Deno.transpileOnly/bundle/compileが、Deno.emitという単一のAPIに統合された deno fmtコマンドでマークダウンファイルがサポートされた ReadableStreamでasyncIteratorプロトコルが実装された ReadableStream#getIteratorが非推奨になった(v1.8で削除されることが予定されています) Workerを起動する際に、パーミッションを指定できるようになった globalThis.location及び--locationフラグがサポートされた fetch及びWorkerで相対URLを指定できるようになった fetchでリクエストボディのストリミーングがサポートされた TLSセッションキャッシュが実装された また、magurotunaさんによって、Deno v1.7.0に関する日本語の紹介記事が書かれています。 Deno 1.7.0 がリリースされたので新機能や変更点の紹介 deno-rollup - RollupのDenoポート deno-rollupはRollupをDenoから使用できるようにしたパッケージです。 内部的にはRollupのブラウザビルドが利用されています。 CLIまたはJavaScript APIが提供されており、それらを使用することでソースコードをバンドルできます。 https://github.com/cmorten/deno-rollup code-block-writer - JavaScript/TypeScriptコードの生成をサポートするモジュール code-block-writerはJavaScript/TypeScriptコードの生成をサポートするDenoモジュールです。 設定を変更することでインデント幅や文字列を囲むのに使用するクォートなどを柔軟に変更することができます。 また、このモジュールはnpmパッケージとしても公開されており、Node.jsからも使用することができます。 https://github.com/dsherret/code-block-writer

January 24, 2021

2021/01/11〜2021/01/17の最新情報

Deno in 2020 Denoの公式ブログポストにて、Deno in 2020という記事が公開されました。 この記事では、2020年中にDenoに行われた変更点がまとめられています。 また、この記事の公開に合わせて、Deno Surveyというアンケートも実施されています。 https://deno.land/posts/deno-in-2020 Obsidian - GraphQLクライアント/サーバモジュール ObsidianはDenoで実装されたGraphQLクライアント/サーバモジュールです。 SSRされたReactアプリケーション向けに最適化されています。 現時点では、以下のような機能が提供されています: Reactとの統合(useObsidianフック、ObsidianWrapperコンポーネント) Oakフレームワークとの統合 クライアントサイド及びサーバサイドでのキャッシュ(サーバサイドキャッシュではRedisが使用されています) GraphQL Playground https://github.com/open-source-labs/obsidian Sinco - ブラウザのオートメーション・テストツール SincoはDenoで動作するブラウザのオートメーション・テストツールです。 現時点ではヘッドレスモードのChromeのみに対応しています。 https://github.com/drashland/sinco

January 17, 2021