mirror of
https://github.com/vega-org/vega-providers.git
synced 2026-04-17 15:41:45 +00:00
feat: add utility files for base URL and headers
This commit is contained in:
@@ -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));
|
||||
|
||||
|
||||
Reference in New Issue
Block a user