Skip to content

Commit d459bd1

Browse files
committed
fix(macros): make alias option optional
1 parent 043364c commit d459bd1

File tree

2 files changed

+26
-40
lines changed

2 files changed

+26
-40
lines changed

packages/macros/src/options.ts

Lines changed: 23 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -7,23 +7,25 @@ import {
77
type MarkRequired,
88
} from '@vue-macros/common'
99

10+
type DefineComponentOptions = { alias?: string[]; autoReturnFunction?: boolean }
11+
type DefineModelOptions = { alias?: string[] }
12+
type DefineExposeOptions = { alias?: string[] }
13+
type DefineSlotsOptions = { alias?: string[] }
14+
type DefineStyleOptions = { alias?: string[] }
1015
export type Options = BaseOptions & {
11-
defineComponent?: { alias: string[]; autoReturnFunction?: boolean }
12-
defineModel?: { alias: string[] }
13-
defineExpose?: { alias: string[] }
14-
defineSlots?: { alias: string[] }
15-
defineStyle?: { alias: string[] }
16+
defineComponent?: DefineComponentOptions
17+
defineModel?: DefineModelOptions
18+
defineExpose?: DefineExposeOptions
19+
defineSlots?: DefineSlotsOptions
20+
defineStyle?: DefineStyleOptions
21+
}
22+
export type OptionsResolved = MarkRequired<Options, 'include' | 'version'> & {
23+
defineComponent: MarkRequired<DefineComponentOptions, 'alias'>
24+
defineModel: MarkRequired<DefineModelOptions, 'alias'>
25+
defineExpose: MarkRequired<DefineExposeOptions, 'alias'>
26+
defineSlots: MarkRequired<DefineSlotsOptions, 'alias'>
27+
defineStyle: MarkRequired<DefineStyleOptions, 'alias'>
1628
}
17-
export type OptionsResolved = MarkRequired<
18-
Options,
19-
| 'include'
20-
| 'version'
21-
| 'defineComponent'
22-
| 'defineModel'
23-
| 'defineExpose'
24-
| 'defineSlots'
25-
| 'defineStyle'
26-
>
2729

2830
export function resolveOptions(options: Options): OptionsResolved {
2931
// waiting for [email protected] release
@@ -35,14 +37,15 @@ export function resolveOptions(options: Options): OptionsResolved {
3537
...options,
3638
version,
3739
defineComponent: {
38-
alias: options?.defineComponent?.alias ?? [
40+
...options.defineComponent,
41+
alias: options.defineComponent?.alias ?? [
3942
'defineComponent',
4043
'defineVaporComponent',
4144
],
4245
},
43-
defineModel: { alias: options?.defineModel?.alias ?? ['defineModel'] },
44-
defineSlots: { alias: options?.defineSlots?.alias ?? ['defineSlots'] },
45-
defineExpose: { alias: options?.defineExpose?.alias ?? ['defineExpose'] },
46-
defineStyle: { alias: options?.defineStyle?.alias ?? ['defineStyle'] },
46+
defineModel: { alias: options.defineModel?.alias ?? ['defineModel'] },
47+
defineSlots: { alias: options.defineSlots?.alias ?? ['defineSlots'] },
48+
defineExpose: { alias: options.defineExpose?.alias ?? ['defineExpose'] },
49+
defineStyle: { alias: options.defineStyle?.alias ?? ['defineStyle'] },
4750
}
4851
}

packages/macros/src/volar/index.ts

Lines changed: 3 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,16 @@
1-
import {
2-
HELPER_PREFIX,
3-
type MarkRequired,
4-
type Overwrite,
5-
} from '@vue-macros/common'
1+
import { HELPER_PREFIX, type Overwrite } from '@vue-macros/common'
62
import { replaceRange, type TsmVirtualCode } from 'ts-macro'
7-
import type { Options } from '../options'
3+
import type { OptionsResolved } from '../options'
84
import { transformDefineComponent } from './define-component'
95

106
export { transformJsxMacros } from './transform'
117
export { getGlobalTypes } from './global-types'
128

13-
type UserOptions = MarkRequired<
14-
Exclude<Options, false>,
15-
| 'defineModel'
16-
| 'defineSlots'
17-
| 'defineStyle'
18-
| 'defineExpose'
19-
| 'defineComponent'
20-
>
219
export type TransformOptions = Overwrite<
2210
TsmVirtualCode,
2311
{
2412
ts: typeof import('typescript')
25-
defineModel: UserOptions['defineModel']
26-
defineSlots: UserOptions['defineSlots']
27-
defineStyle: UserOptions['defineStyle']
28-
defineExpose: UserOptions['defineExpose']
29-
defineComponent: UserOptions['defineComponent']
30-
}
13+
} & OptionsResolved
3114
>
3215

3316
export type JsxMacros = {

0 commit comments

Comments
 (0)