UNPKG

@vue-macros/test-utils

Version:

Test utilities for Vue Macros.

34 lines (32 loc) 1.45 kB
import { RollupEscapeNullCharacterPlugin, RollupEscapeNullCharacterPlugin as RollupEscapeNullCharacterPlugin$1, RollupToStringPlugin, removeSpaces, rollupBuild as rollupBuild$1, testFixtures, testFixturesSkip } from "@sxzz/test-utils"; import ViteVueJsx from "@vitejs/plugin-vue-jsx"; import { Oxc as UnpluginOxc } from "unplugin-oxc"; import RollupVue from "unplugin-vue/rollup"; import RollupJson from "@rollup/plugin-json"; import { nodeResolve as RollupNodeResolve } from "@rollup/plugin-node-resolve"; //#region src/rollup.ts const RollupVueJsx = ViteVueJsx; const RollupRemoveVueFilePathPlugin = () => { const REGEX = [/\[["']__file["'],\s*["'](.*?)["']\]/g, /__component__\.options\.__file.*/]; return { name: "remove-vue-filepath", transform(code) { const transformed = code.replaceAll(REGEX[0], "__FILE__").replace(REGEX[1], "__FILE__"); if (code !== transformed) return transformed; } }; }; async function rollupBuild(file, plugins) { const { snapshot } = await rollupBuild$1(file, plugins, { external: [ "vue", "@vueuse/core", /^\0.*/, /^\/vue-macros\/.*/ ], plugins: [RollupEscapeNullCharacterPlugin$1(), RollupRemoveVueFilePathPlugin()] }); return snapshot; } //#endregion export { RollupEscapeNullCharacterPlugin, RollupJson, RollupNodeResolve, RollupRemoveVueFilePathPlugin, RollupToStringPlugin, RollupVue, RollupVueJsx, UnpluginOxc, removeSpaces, rollupBuild, testFixtures, testFixturesSkip };