vite-plugin-antdv-fix
Version:
ant-design-vue@1.7.8不在维护,基于现在vue2 + vite + antdv已存在问题
70 lines • 1.99 kB
JavaScript
// src/index.ts
import fs from "fs";
var pluginName = "vite-plugin-antdv-fix";
var fixPath = [
"calendar/index.js",
"_util/moment-util.js",
"locale-provider/index.js"
];
var cache = /* @__PURE__ */ new Map();
var antdvFix = (options = {}) => {
if (options.files)
fixPath = [...options.files, ...fixPath];
return {
name: pluginName,
configResolved(config) {
if (!config.optimizeDeps.esbuildOptions) {
config.optimizeDeps.esbuildOptions = {};
}
if (!config.optimizeDeps.esbuildOptions.plugins) {
config.optimizeDeps.esbuildOptions.plugins = [];
}
config.optimizeDeps.esbuildOptions.plugins.push({
name: pluginName,
setup(build) {
build.onLoad(
{
filter: /\.js$/
},
(args) => {
const path = args.path.replace(/\\/g, "/");
if (fixPath.some((item) => path.endsWith(item))) {
let contents = "";
if (cache.has(path)) {
contents = cache.get(path);
} else {
const source = fs.readFileSync(path, "utf-8");
contents = source.replace(`import * as moment`, "import moment");
cache.set(path, contents);
}
return {
contents
};
}
}
);
}
});
if (process.env.NODE_ENV === "production") {
if (!config.build.commonjsOptions) {
config.build.commonjsOptions = {};
}
config.build.commonjsOptions.transformMixedEsModules = true;
}
},
transform(code, id) {
if (fixPath.some((item) => id.endsWith(item))) {
code = code.replace(`import * as moment`, "import moment");
}
return {
code,
map: null
};
}
};
};
var src_default = antdvFix;
export {
src_default as default
};
//# sourceMappingURL=index.mjs.map