Lume v3
Lume v3がリリースされています。
いくつか破壊的変更が実施されており、マイグレーションガイドが公開されています。
Site#add
の追加とプラグインの振る舞いの変更
Site#copy
においてコピー対象のファイルが Processor で処理されない問題を改善するため、Site#add
が追加されています。このAPIの追加に合わせて、Site#loadAssets
とSite#copyRemainingFiles
が削除されています (Site#copy
もv3.0.0
で削除されていましたが、v3.0.1
で改めて追加され直されています)
Site#add
の追加に合わせてプラグインの振る舞いが変更されており、各プラグイン自身はファイルの読み込みは行わず、Site#add
で明示的に追加されたファイルのみを処理するよう挙動が変更されているようです。
また、一部のプラグインにおいて、正しい順番でプラグインを登録しないと動作しないよう挙動が変更されています。今まで、プラグインの登録順に関わらず各プラグインが動作するよう設計されていましたが、複数のプラグイン間に依存関係がある場合、この挙動は混乱を招いてしまうということで振る舞いが見直されたようです。この変更に関する移行を補助するため、deno lint
向けのプラグインが追加されています (lume/lint.ts)
jsx
プラグインの刷新とjsx_preact
/liquid
プラグインの削除
jsx
プラグインがReactからSSXベースへ移行されています。LumeにおいてReactの一部機能はサポートされておらず、混乱を招いてしまうことなどが背景のようです。この移行により、パフォーマンスの改善や非同期コンポーネントのサポートなどが実現されるようです。
jsx
プラグインの変更に合わせて、jsx_preact
プラグインが削除されています。
また、liquid
プラグインも削除されています。LumeでサポートされているNunjucksに文法が近いことや関数が実行できないことなどが背景のようです。
esbuild
プラグインの改善
esbuild
プラグインにおいてesbuild_deno_loaderが使用されるように変更されています。Deno本体との挙動の互換性が改善されそうです。
dnt v0.42.0
dnt v0.42.0がリリースされています。
Workspaceのサポートが行われ, これに合わせてdeno.json
も自動で検出されるように改善されています (#462)
また、build()
にcompilerOptions.experimentalDecorators
オプションが追加されています (#442)。この変更の影響で、legacy decoratorsを有効化したい場合はこのオプションに明示的にtrue
を設定する必要があるようです。