mirror of
https://github.com/pure-admin/vue-pure-admin.git
synced 2025-06-08 17:37:24 +08:00
45 lines
1.6 KiB
JavaScript
45 lines
1.6 KiB
JavaScript
"use strict";
|
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
};
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.createEsbuildRenderChunkPlugin = exports.createEsbuildPlugin = void 0;
|
|
const fs_extra_1 = __importDefault(require("fs-extra"));
|
|
const esbuildService_1 = require("../esbuildService");
|
|
exports.createEsbuildPlugin = async (jsx = 'vue') => {
|
|
const jsxConfig = esbuildService_1.resolveJsxOptions(jsx);
|
|
return {
|
|
name: 'vite:esbuild',
|
|
resolveId(id) {
|
|
if (id === esbuildService_1.vueJsxPublicPath) {
|
|
return esbuildService_1.vueJsxPublicPath;
|
|
}
|
|
},
|
|
load(id) {
|
|
if (id === esbuildService_1.vueJsxPublicPath) {
|
|
return fs_extra_1.default.readFileSync(esbuildService_1.vueJsxFilePath, 'utf-8');
|
|
}
|
|
},
|
|
async transform(code, id) {
|
|
const isVueTs = /\.vue\?/.test(id) && id.endsWith('lang.ts');
|
|
if (esbuildService_1.tjsxRE.test(id) || isVueTs) {
|
|
return esbuildService_1.transform(code, id, {
|
|
...jsxConfig,
|
|
...(isVueTs ? { loader: 'ts' } : null)
|
|
}, jsx);
|
|
}
|
|
}
|
|
};
|
|
};
|
|
exports.createEsbuildRenderChunkPlugin = (target, minify) => {
|
|
return {
|
|
name: 'vite:esbuild-transpile',
|
|
async renderChunk(code, chunk) {
|
|
return esbuildService_1.transform(code, chunk.fileName, {
|
|
target,
|
|
minify
|
|
});
|
|
}
|
|
};
|
|
};
|
|
//# sourceMappingURL=buildPluginEsbuild.js.map
|