[RFC] Option-driven tree-shaking toggles
まだ誰も着手していません。
評価
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 初心者へのやさしさ
- 25/100
- issue の種類
- 機能追加
- 明瞭さ
- 説明が足りない
- 活発さ
- 停滞
- 技術スタック
- typescript, vite
- 領域
- build-system
調査の方向性
まず、既存のSaus plugin integration、toggle handling、Vite build pathを確認します。issueではファイルやテストが指定されていないため、最初にbuild-time togglesがどこで登録・処理されるかを特定します。完了時には、plugin optionで、対応するtoggle-marked codeの削除を制御できるようにします。namespaced toggle IDsも対象に含めます。
索引モデルが issue の本文から書いたものです。
説明
The Problem
There's no simple way to include code in client/server bundle only when a specific plugin/framework option has a specific value at build time.
Example
In any Vite-compiled module:
// @toggle foo
callSomeFunction(...args)
The foo toggle should be registered with Saus at build time:
export function MySausPlugin(options) {
return {
name: 'my-saus-plugin',
saus({ toggles }) {
// The `foo` option of my plugin decides if "foo" toggle is removed.
if (options.foo) {
toggles.use("foo")
}
}
}
}
In the above example, if the foo option of MySausPlugin is falsy, the callSomeFunction line is removed at build time.
Ideally, plugins would use namespaces in their toggle IDs:
// @toggle my-saus-plugin.foo
callSomeFunction(...args)
- 主要言語
- TypeScript
- スター
- 38
- フォーク
- 1
- PR マージ指標
- 30日以内にマージされた PR はありません
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
alloc/saus のほかの issue
-
enhancement
難易度 3/5 1〜2日 初心者へのやさしさ 35/100
-
package idea
難易度 5/5 1週間以上 初心者へのやさしさ 25/100
-
Supertokens plugin オープンhelp wanted package idea
難易度 5/5 1週間以上 初心者へのやさしさ 20/100
-
enhancement plugin:aws saus deploy
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
-
bug saus deploy
難易度 4/5 3〜5日 初心者へのやさしさ 42/100
似ている issue
-
bug(cli): hapi doctor inline-media prints a fabricated B:\ helper-script path in packaged installs オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
-
Crush オープン
難易度 1/5 1時間未満 初心者へのやさしさ 85/100
catppuccin/catppuccin#3125 ·
-
Add a SECURITY.md オープン
難易度 1/5 1時間未満 初心者へのやさしさ 90/100
ElementsProject/cln-application#167 · コメント 1 件 · リアクション 1 件 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
Quantco/pnpm-licenses#17 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100