bundleFile() — astro Function Reference
Architecture documentation for the bundleFile() function in load-file.ts from the astro codebase.
Entity Profile
Dependency Diagram
graph TD c20447c2_1311_2e4c_8daf_f3f88647f731["bundleFile()"] c880535e_510d_6ed5_4280_3abb271db261["load-file.ts"] c20447c2_1311_2e4c_8daf_f3f88647f731 -->|defined in| c880535e_510d_6ed5_4280_3abb271db261 70baf2f8_8656_2b85_dc81_210e3628975c["loadAndBundleDbConfigFile()"] 70baf2f8_8656_2b85_dc81_210e3628975c -->|calls| c20447c2_1311_2e4c_8daf_f3f88647f731 style c20447c2_1311_2e4c_8daf_f3f88647f731 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
packages/db/src/core/load-file.ts lines 125–178
export async function bundleFile({
fileUrl,
root,
virtualModContents,
}: {
fileUrl: URL;
root: URL;
virtualModContents: string;
}) {
const { ASTRO_DATABASE_FILE } = getAstroEnv();
const result = await esbuild({
absWorkingDir: process.cwd(),
entryPoints: [fileURLToPath(fileUrl)],
outfile: 'out.js',
packages: 'external',
write: false,
target: ['node16'],
platform: 'node',
bundle: true,
format: 'esm',
sourcemap: 'inline',
metafile: true,
define: {
'import.meta.env.ASTRO_DATABASE_FILE': JSON.stringify(ASTRO_DATABASE_FILE ?? ''),
},
plugins: [
{
name: 'resolve-astro-db',
setup(build) {
build.onResolve({ filter: /^astro:db$/ }, ({ path }) => {
return { path, namespace: VIRTUAL_MODULE_ID };
});
build.onLoad({ namespace: VIRTUAL_MODULE_ID, filter: /.*/ }, () => {
return {
contents: virtualModContents,
// Needed to resolve runtime dependencies
resolveDir: fileURLToPath(root),
};
});
},
},
],
});
const file = result.outputFiles[0];
if (!file) {
throw new Error(`Unexpected: no output file`);
}
return {
code: file.text,
dependencies: Object.keys(result.metafile.inputs),
};
}
Domain
Subdomains
Defined In
Called By
Source
Frequently Asked Questions
What does bundleFile() do?
bundleFile() is a function in the astro codebase, defined in packages/db/src/core/load-file.ts.
Where is bundleFile() defined?
bundleFile() is defined in packages/db/src/core/load-file.ts at line 125.
What calls bundleFile()?
bundleFile() is called by 1 function(s): loadAndBundleDbConfigFile.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free