usingComponents.d.ts 2.4 KB

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