vite-plugin-vue2
Version:
Vite plugin for Vue2
35 lines • 1.09 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.transformVueJsx = void 0;
const core_1 = require("@babel/core");
// todo hmr
function transformVueJsx(code, id, jsxOptions) {
const plugins = [
[require.resolve('@babel/plugin-proposal-decorators'), { legacy: true }],
[
require.resolve('@babel/plugin-proposal-class-properties'),
{ loose: true },
],
];
if (/\.tsx$/.test(id)) {
plugins.unshift([
require.resolve('@babel/plugin-transform-typescript'),
{ isTSX: true, allowExtensions: true, allowDeclareFields: true },
]);
}
const result = (0, core_1.transform)(code, {
presets: [[require.resolve('@vue/babel-preset-jsx'), jsxOptions]],
sourceFileName: id,
filename: id,
sourceMaps: true,
plugins,
babelrc: false,
configFile: false,
});
return {
code: result.code,
map: result.map,
};
}
exports.transformVueJsx = transformVueJsx;
//# sourceMappingURL=jsxTransform.js.map