[RFC] Option-driven tree-shaking toggles
- Ngôn ngữ chính
- TypeScript
- Star
- 38
- Fork
- 1
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Mô tả
## 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:
```ts
// @toggle foo
callSomeFunction(...args)
```
The `foo` toggle should be registered with Saus **at build time:**
```ts
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:
```ts
// @toggle my-saus-plugin.foo
callSomeFunction(...args)
```
Hướng dẫn đóng góp
Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này
Đánh giá
Issue này chưa được đánh giá.