easysql/node_modules/vite-plugin-electron-renderer/dist/cjs-shim.mjs
2025-12-29 18:35:04 +08:00

58 lines
1.9 KiB
JavaScript

function cjsShim() {
let config;
let isCjs;
return {
name: "vite-plugin-electron-renderer:cjs-shim",
apply: "build",
config(config2) {
var _a, _b;
config2.build ?? (config2.build = {});
(_a = config2.build).cssCodeSplit ?? (_a.cssCodeSplit = false);
(_b = config2.build).assetsDir ?? (_b.assetsDir = "");
},
configResolved(_config) {
config = _config;
const output = config.build.rollupOptions.output;
if (output) {
const formats = ["cjs", "commonjs"];
if (Array.isArray(output) ? output.find((o) => formats.includes(o.format)) : formats.includes(output.format)) {
isCjs = true;
}
}
},
transformIndexHtml(html) {
if (!isCjs) return;
const headRE = /(<\s*?head\s*?>)/;
const assetsDir = config.build.assetsDir;
if (assetsDir) {
const requireIdShim = `<script id="shim-require-id">
; (function () {
if (typeof require !== 'function') return;
var Module = require('module');
var _resolveFilename = Module._resolveFilename;
Module._resolveFilename = function (request, parent, isMain, options) {
// "assetsDir" is always at the same level as "index.html"
var prefix = './';
if (request.startsWith(prefix)) {
try {
// TODO: The way is more elegant.
var newRequest = request.replace(prefix, prefix + '${assetsDir + "/"}');
return _resolveFilename.call(this, newRequest, parent, isMain, options);
} catch (error) { }
}
return _resolveFilename.call(this, request, parent, isMain, options);
};
})();
<\/script>`;
html = html.replace(headRE, "$1\n" + requireIdShim);
}
const exportsShim = `<script id="shim-exports">var exports = typeof module !== 'undefined' ? module.exports : {};<\/script>`;
html = html.replace(headRE, "$1\n" + exportsShim);
return html;
}
};
}
export {
cjsShim as default
};