jialh
2025-01-07 bb59b053247ef82969b64979260e2478bd732e1f
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
import { ImportDeclaration, Program } from '@babel/types';
import type { PluginContext } from 'rollup';
declare type BindingComponents = Record<string, {
    tag: string;
    type: 'unknown' | 'setup' | 'self';
}>;
interface MainDescriptor {
    imports: ImportDeclaration[];
    script: string;
    template: string;
}
export declare function parseMainDescriptor(filename: string, ast: Program, resolve: ParseDescriptor['resolve']): Promise<MainDescriptor>;
export declare function updateMiniProgramComponentsByScriptFilename(scriptFilename: string, inputDir: string, normalizeComponentName: (name: string) => string): void;
export declare function updateMiniProgramComponentsByTemplateFilename(templateFilename: string, inputDir: string, normalizeComponentName: (name: string) => string): void;
export declare function updateMiniProgramGlobalComponents(filename: string, ast: Program, { inputDir, resolve, normalizeComponentName, }: {
    inputDir: string;
    resolve: ParseDescriptor['resolve'];
    normalizeComponentName: (name: string) => string;
}): Promise<{
    imports: ImportDeclaration[];
}>;
export declare function updateMiniProgramComponentsByMainFilename(mainFilename: string, inputDir: string, normalizeComponentName: (name: string) => string): void;
export interface TemplateDescriptor {
    bindingComponents: BindingComponents;
    imports: ImportDeclaration[];
}
/**
 * 解析 template
 * @param filename
 * @param code
 * @param ast
 * @param options
 * @returns
 */
export declare function parseTemplateDescriptor(filename: string, ast: Program, options: ParseDescriptor): Promise<TemplateDescriptor>;
interface ParseDescriptor {
    resolve: PluginContext['resolve'];
    isExternal: boolean;
}
export interface ScriptDescriptor extends TemplateDescriptor {
}
/**
 * 解析 script
 * @param filename
 * @param code
 * @param ast
 * @param options
 * @returns
 */
export declare function parseScriptDescriptor(filename: string, ast: Program, options: ParseDescriptor): Promise<ScriptDescriptor>;
/**
 * static import => dynamic import
 * @param code
 * @param imports
 * @param dynamicImport
 * @returns
 */
export declare function transformDynamicImports(code: string, imports: ImportDeclaration[], { id, sourceMap, dynamicImport, }: {
    id?: string;
    sourceMap?: boolean;
    dynamicImport: (name: string, source: string) => string;
}): Promise<{
    code: string;
    map: null;
}>;
export {};