feat: add utility files for base URL and headers

This commit is contained in:
Himanshu
2026-02-23 20:49:12 +05:30
parent 099b4aba4f
commit 7eb53273c2
3 changed files with 145 additions and 0 deletions

View File

@@ -150,6 +150,44 @@ async function buildProvider(providerName) {
return { providerName, modules: results };
}
async function buildUtilityFiles() {
const utilityFiles = ["getBaseUrl", "headers", "providerContext"];
for (const utilityName of utilityFiles) {
const utilityPath = path.join(providersDir, `${utilityName}.ts`);
if (!fs.existsSync(utilityPath)) {
continue;
}
try {
const result = await esbuild.build({
entryPoints: [utilityPath],
bundle: true,
platform: "node",
format: "cjs",
target: "es2015",
write: false,
external: [],
minify: false,
keepNames: true,
treeShaking: true,
outfile: `${utilityName}.js`,
});
let code = result.outputFiles[0].text;
code = code.replace(/require\(['"]node:.*?['"]\)/g, "{}");
const outputPath = path.join(__dirname, "dist", `${utilityName}.js`);
fs.writeFileSync(outputPath, code);
console.log(`${utilityName}.js (${(code.length / 1024).toFixed(1)}kb)`);
} catch (error) {
console.error(`✗ Error building ${utilityName}:`, error.message);
}
}
}
async function buildAll() {
const startTime = Date.now();
console.log(
@@ -163,6 +201,9 @@ async function buildAll() {
}
fs.mkdirSync(distDir, { recursive: true });
// Build utility files first
await buildUtilityFiles();
// Build all providers
const results = await Promise.all(providerDirs.map(buildProvider));