Denoばた会議 Monthly 第1回
2021年9月19日開催。
connpassリンク。
今月のアップデートを追う
Denoのアップデートを追っていくLT。
そのあとの雑談込みでザックリと箇条書き。
Deno v2.0のリリースプラン
- 今年の11月にリリース予定
- JSのみで実装されたI/O関係は削除(一部APIはすでにstd/ioに移行済み)
tsconfig.json
をCLIに設定する--config
オプション削除- オレオレ設定がなくなる
- jsx周りがいじくれなくなる?
- lockファイルをデフォルトにする提案
--allow-import
オプションの追加(dynamic importsやworkersが対象)- 現状は
--allow-read
を使ってサンドボックスを開放している
- 現状は
デフォルトで型チェックをオフにする提案
- 提案理由は「型チェックで怒られるのは楽しくないから」?
Deno v1.13
Deno.serveHTTPが安定化
--unstable
なしで利用可能- ちょっと書き方は煩わしい
- ちゃんとしたければフレームワークを使う感じになりそう
プラグインシステムが削除、代わりとしてFFIを導入
- FFIを雑に表すと「DLLの関数を呼べる一般的な規格」(Wikipedia)
- deno_webviewの作者が出した提案
deno test --doc
でMarkdown内のコードテストが可能に
Casperさんについて
- フルタイムでOSSコントリビュートしていて、Denoにも多くのコントリビュートをしている
- Webブラウザで
deno test
するSponsorを開発 - いつまでも いるとおもうな こんとりびゅーたー
importに拡張子なしを許容しないか? とRyanから提案があった
- 2021/09/16のミーティング内容
- tensorflowを利用するときにエラーが出て、拡張子をつければ解決しそうだったため提案があったとのこと
LT1
@kawarimidollさんによるDenoの利用者側としてのLT。
そのあとの雑談込みでザックリと箇条書き。
Deno製のアプリやサービスを多く開発
アフタートーク
- zennのDenoカテゴリでもかなりの投稿あり
- DiplodocusでreadFile使うようにしたい
- dext.ts
- Deno製のPreactフレームワーク
- Deno DeployのreadFile対応
LT2
発表者がいなかったので、このまま雑談続行。
DenoのWeb APIをかなり実装された方について
RustのV8について
C++のV8をラップしてる
Rust.TokyoのスポンサーLTでV8の話の中でDenoが出たが、Nodeの資産を使いたいなどの理由でNodeが使われた?(完全にうろ覚え)
SWCとesbuildのシェア争いについて
Goのwasmが扱いづらいのは何故?
- アプリケーションを書くことしか想定してない
- wasm_exec.jsという巨大なグルーコードが必要
- 最低1.4MBくらいと、そもそもファイルサイズが巨大
- GCとかもろもろ含んでいて、ポータビリティがよくない
- 関数単位のexportができない
- 普通に使うとmain関数からすぐに抜けてしまうため、
select {}
をmain関数に書くようなハックが必要 - TinyGoのwasmは関数単位のexportが出来るのでまだ使いやすい
アフタートーク
アップデートを追うのスライドの続き。
Deno v1.13
structuredCloneに対応
- 実はまだDenoしか対応してない
- MDN
- WHATWG Spec
- Web標準(Denoだけ)
Deno.writeFileでAbortSignal対応
--unsafely-treat-insecure-origin-as-secure
オプションサポート
- 長い!!
- オレオレ証明書を防げる
__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED
的なアレV8 v9.3へのアップデート
Object.hasOwn
Collectionモジュールについて
- underscoreみたいな標準モジュール
- Kotlin畑の人から提案があった
- JavaScriptのメソッドで代用可能なものもあったので白熱した議論があり、徐々に洗練されていった
- singleというプロパティは議論の末findSingleに
Denoのサードパーティモジュールについて
- Deno製のSWC
- もう一つのDeno x React、Ultra
- メモリに問題あり、Deno Deployの256MBを超過した
- 256MB制限を緩和してほしいとお願いして、一律で上げてもらった
- Twind
Denoへの提案について
Romeについて
開発基盤がRustになった。