nonzzz / vite-plugin-compression

vite plugin. compress your bundle file.
MIT License
162 stars 9 forks source link

fix: fix types #16

Closed ModyQyW closed 1 year ago

ModyQyW commented 1 year ago

@nonzzz @MZ-Dlovely cc

codecov[bot] commented 1 year ago

Codecov Report

Merging #16 (b9a6d89) into master (4d6b0fe) will increase coverage by 0.03%. The diff coverage is 100.00%.

Additional details and impacted files [![Impacted file tree graph](https://codecov.io/gh/nonzzz/vite-compression-plugin/pull/16/graphs/tree.svg?width=650&height=150&src=pr&token=NG4475OP6B&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=kanno)](https://codecov.io/gh/nonzzz/vite-compression-plugin/pull/16?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=kanno) ```diff @@ Coverage Diff @@ ## master #16 +/- ## ========================================== + Coverage 92.59% 92.63% +0.03% ========================================== Files 3 3 Lines 189 190 +1 Branches 34 34 ========================================== + Hits 175 176 +1 Misses 14 14 ``` | [Impacted Files](https://codecov.io/gh/nonzzz/vite-compression-plugin/pull/16?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=kanno) | Coverage Δ | | |---|---|---| | [src/index.ts](https://codecov.io/gh/nonzzz/vite-compression-plugin/pull/16?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=kanno#diff-c3JjL2luZGV4LnRz) | `95.86% <100.00%> (+0.03%)` | :arrow_up: |
ModyQyW commented 1 year ago

为啥会 invalid 呢?🤔

ModyQyW commented 1 year ago

我觉得你提到的会更合理一些,是我草率了

ModyQyW commented 1 year ago

这里的类型重载我觉得不应该这么做。按照设计理念来看这里的泛型是为了让用户自定义压缩算法。他不属于union 那几个的范围。需要表达为函数是没问题的。我觉得

function compression(): Plugin
function compression<A extends Algorithm>(opts: ViteCompressionPluginConfigAlgorithm<A>): Plugin
function compression<T = UserCompressionOptions>(opts: ViteCompressionPluginConfigFunction<T>): Plugin
function compression<T, A extends Algorithm>(opts: ViteCompressionPluginConfig<T, A> = {}): Plugin

这样会更好?

暂时没有想到比这更好的处理方式。已经更新了。