Urara-Blog/node_modules/.pnpm-store/v3/files/9c/fd30d686fbb9de06f6713eb8fb46637b67e63495ea989d606eee494518dcfd1c21d4d8f2903d76c4edb45cf8a93bb47377191e68716215fbafaef84cfae277
2022-08-14 01:14:53 +08:00

64 lines
2 KiB
Text

'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
const utils = require('@antfu/utils');
function sourcePluginFactory(options) {
return {
...options,
transform: (source) => {
const prefix = `
let __unconfig_data;
let __unconfig_stub = function (data) { __unconfig_data = data };
__unconfig_stub.default = (data) => { __unconfig_data = data };
`;
const suffix = "export default __unconfig_data;";
let code = source.replace(new RegExp(`import (.+?) from (['"])${options.targetModule}\\2`), "const $1 = __unconfig_stub;").replace("export default", "const __unconfig_default = ");
if (code.includes("__unconfig_default"))
code += `
if (typeof __unconfig_default === "function") __unconfig_default(...${JSON.stringify(options.parameters || [])});`;
return `${prefix}${code}${suffix}`;
}
};
}
function sourceVitePluginConfig(options) {
const plugins = utils.toArray(options.plugins);
return {
files: ["vite.config"],
async rewrite(obj) {
const config = await (typeof obj === "function" ? obj(...options.parameters || [{ env: {} }, {}]) : obj);
if (!config)
return config;
return config.plugins.find((i) => plugins.includes(i.name) && i?.api?.config)?.api?.config;
}
};
}
function sourceObjectFields(options) {
const fields = utils.toArray(options.fields);
return {
...options,
async rewrite(obj) {
const config = await (typeof obj === "function" ? obj(...options.parameters || []) : obj);
if (!config)
return config;
for (const field of fields) {
if (field in config)
return config[field];
}
}
};
}
function sourcePackageJsonFields(options) {
return sourceObjectFields({
files: ["package.json"],
extensions: [],
parser: "json",
fields: options.fields
});
}
exports.sourceObjectFields = sourceObjectFields;
exports.sourcePackageJsonFields = sourcePackageJsonFields;
exports.sourcePluginFactory = sourcePluginFactory;
exports.sourceVitePluginConfig = sourceVitePluginConfig;