fix(compiler): add `vaporRuntimeModuleName` option
This commit is contained in:
parent
3d10925c53
commit
0c8153eca8
|
@ -87,7 +87,10 @@ export enum NewlineType {
|
|||
}
|
||||
|
||||
export interface CodegenContext
|
||||
extends Omit<Required<CodegenOptions>, 'bindingMetadata' | 'inline'> {
|
||||
extends Omit<
|
||||
Required<CodegenOptions>,
|
||||
'bindingMetadata' | 'inline' | 'vaporRuntimeModuleName'
|
||||
> {
|
||||
source: string
|
||||
code: string
|
||||
line: number
|
||||
|
|
|
@ -318,6 +318,11 @@ export interface CodegenOptions extends SharedTransformCodegenOptions {
|
|||
* @default 'vue'
|
||||
*/
|
||||
runtimeModuleName?: string
|
||||
/**
|
||||
* Customize where to import runtime helpers from.
|
||||
* @default 'vue/vapor'
|
||||
*/
|
||||
vaporRuntimeModuleName?: string
|
||||
/**
|
||||
* Customize where to import ssr runtime helpers from/**
|
||||
* @default 'vue/server-renderer'
|
||||
|
|
|
@ -63,7 +63,7 @@ export class CodegenContext {
|
|||
public ir: RootIRNode,
|
||||
options: CodegenOptions,
|
||||
) {
|
||||
const defaultOptions = {
|
||||
const defaultOptions: Required<CodegenOptions> = {
|
||||
mode: 'function',
|
||||
prefixIdentifiers: options.mode === 'module',
|
||||
sourceMap: false,
|
||||
|
@ -72,6 +72,7 @@ export class CodegenContext {
|
|||
optimizeImports: false,
|
||||
runtimeGlobalName: `Vue`,
|
||||
runtimeModuleName: `vue`,
|
||||
vaporRuntimeModuleName: 'vue/vapor',
|
||||
ssrRuntimeModuleName: 'vue/server-renderer',
|
||||
ssr: false,
|
||||
isTS: false,
|
||||
|
@ -156,17 +157,17 @@ export function generate(
|
|||
}
|
||||
}
|
||||
|
||||
function genHelperImports({ helpers, vaporHelpers, code }: CodegenContext) {
|
||||
function genHelperImports({ helpers, vaporHelpers, options }: CodegenContext) {
|
||||
let imports = ''
|
||||
if (helpers.size) {
|
||||
imports += `import { ${[...helpers]
|
||||
.map(h => `${h} as _${h}`)
|
||||
.join(', ')} } from 'vue';\n`
|
||||
.join(', ')} } from '${options.runtimeModuleName}';\n`
|
||||
}
|
||||
if (vaporHelpers.size) {
|
||||
imports += `import { ${[...vaporHelpers]
|
||||
.map(h => `${h} as _${h}`)
|
||||
.join(', ')} } from 'vue/vapor';\n`
|
||||
.join(', ')} } from '${options.vaporRuntimeModuleName}';\n`
|
||||
}
|
||||
return imports
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue