Skip to content

Commit 398ae15

Browse files
ImLunaHeyegoist
authored andcommittedFeb 7, 2023
feat(types): allow autocomplete for target (#809)
1 parent 4154e05 commit 398ae15

File tree

1 file changed

+29
-1
lines changed

1 file changed

+29
-1
lines changed
 

‎src/options.ts

+29-1
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,34 @@ export type BannerOrFooter =
4444
}
4545
| ((ctx: { format: Format }) => { js?: string; css?: string } | undefined)
4646

47+
type Autocomplete<Keys extends string> = Keys | Omit<string, Keys>
48+
export type BrowserTarget =
49+
| 'chrome'
50+
| 'deno'
51+
| 'edge'
52+
| 'firefox'
53+
| 'hermes'
54+
| 'ie'
55+
| 'ios'
56+
| 'node'
57+
| 'opera'
58+
| 'rhino'
59+
| 'safari'
60+
export type EsTarget =
61+
| 'es3'
62+
| 'es5'
63+
| 'es6'
64+
| 'es2015'
65+
| 'es2016'
66+
| 'es2017'
67+
| 'es2018'
68+
| 'es2019'
69+
| 'es2020'
70+
| 'es2021'
71+
| 'es2022'
72+
| 'esnext'
73+
export type Target = Autocomplete<BrowserTarget | EsTarget>
74+
4775
/**
4876
* The options available in tsup.config.ts
4977
* Not all of them are available from CLI flags
@@ -65,7 +93,7 @@ export type Options = {
6593
*
6694
* default to `node14`
6795
*/
68-
target?: string | string[]
96+
target?: Target | Target[]
6997
minify?: boolean | 'terser'
7098
terserOptions?: MinifyOptions
7199
minifyWhitespace?: boolean

0 commit comments

Comments
 (0)
Please sign in to comment.