You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

31 lines
1.0 KiB

3 months ago
  1. import type { LoaderContext } from 'webpack';
  2. import type { TemplateCompiler, CompilerOptions, SFCTemplateCompileOptions, SFCScriptCompileOptions } from 'vue/compiler-sfc';
  3. import VueLoaderPlugin from './plugin';
  4. export { VueLoaderPlugin };
  5. export interface VueLoaderOptions {
  6. babelParserPlugins?: SFCScriptCompileOptions['babelParserPlugins'];
  7. transformAssetUrls?: SFCTemplateCompileOptions['transformAssetUrls'];
  8. compiler?: TemplateCompiler | string;
  9. compilerOptions?: CompilerOptions;
  10. /**
  11. * TODO remove in 3.4
  12. * @deprecated
  13. */
  14. reactivityTransform?: boolean;
  15. /**
  16. * @experimental
  17. */
  18. propsDestructure?: boolean;
  19. /**
  20. * @experimental
  21. */
  22. defineModel?: boolean;
  23. customElement?: boolean | RegExp;
  24. hotReload?: boolean;
  25. exposeFilename?: boolean;
  26. appendExtension?: boolean;
  27. enableTsInTemplate?: boolean;
  28. experimentalInlineMatchResource?: boolean;
  29. isServerBuild?: boolean;
  30. }
  31. export default function loader(this: LoaderContext<VueLoaderOptions>, source: string): string | void;