build.ts — astro Source File
Architecture documentation for build.ts, a typescript file in the astro codebase. 2 imports, 0 dependents.
Entity Profile
Dependency Diagram
graph LR 09de27d4_1fc5_e58b_fa6e_eee2e4636d42["build.ts"] d9a92db9_c95e_9165_13ac_24b3d859d946["node:url"] 09de27d4_1fc5_e58b_fa6e_eee2e4636d42 --> d9a92db9_c95e_9165_13ac_24b3d859d946 972c6fe0_4a8d_d55e_c1b0_a57c5bf4ed60["esbuild"] 09de27d4_1fc5_e58b_fa6e_eee2e4636d42 --> 972c6fe0_4a8d_d55e_c1b0_a57c5bf4ed60 style 09de27d4_1fc5_e58b_fa6e_eee2e4636d42 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
import { fileURLToPath } from 'node:url';
import { build } from 'esbuild';
/**
* Build a client directive entrypoint into code that can directly run in a `<script>` tag.
*/
export async function buildClientDirectiveEntrypoint(
name: string,
entrypoint: string | URL,
root: URL,
) {
const stringifiedName = JSON.stringify(name);
const stringifiedEntrypoint = JSON.stringify(entrypoint);
// NOTE: when updating this stdin code, make sure to also update `packages/astro/scripts/prebuild.ts`
// that prebuilds the client directive with a similar code too.
const output = await build({
stdin: {
contents: `\
import directive from ${stringifiedEntrypoint};
(self.Astro || (self.Astro = {}))[${stringifiedName}] = directive;
window.dispatchEvent(new Event('astro:' + ${stringifiedName}));`,
resolveDir: fileURLToPath(root),
},
absWorkingDir: fileURLToPath(root),
format: 'iife',
minify: true,
bundle: true,
write: false,
});
const outputFile = output.outputFiles?.[0];
if (!outputFile) return '';
return outputFile.text;
}
Domain
Subdomains
Functions
Dependencies
- esbuild
- node:url
Source
Frequently Asked Questions
What does build.ts do?
build.ts is a source file in the astro codebase, written in typescript. It belongs to the CoreAstro domain, RenderingEngine subdomain.
What functions are defined in build.ts?
build.ts defines 1 function(s): buildClientDirectiveEntrypoint.
What does build.ts depend on?
build.ts imports 2 module(s): esbuild, node:url.
Where is build.ts in the architecture?
build.ts is located at packages/astro/src/core/client-directive/build.ts (domain: CoreAstro, subdomain: RenderingEngine, directory: packages/astro/src/core/client-directive).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free