MCPcopy
hub / github.com/codeaashu/claude-code / main

Function main

scripts/build-bundle.ts:147–192  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

145}
146
147async function main() {
148 if (watch) {
149 const ctx = await esbuild.context(buildOptions)
150 await ctx.watch()
151 console.log('Watching for changes...')
152 } else {
153 const startTime = Date.now()
154 const result = await esbuild.build(buildOptions)
155
156 if (result.errors.length > 0) {
157 console.error('Build failed')
158 process.exit(1)
159 }
160
161 // Make the output executable
162 const outPath = resolve(ROOT, 'dist/cli.mjs')
163 try {
164 chmodSync(outPath, 0o755)
165 } catch {
166 // chmod may fail on some platforms, non-fatal
167 }
168
169 const elapsed = Date.now() - startTime
170
171 // Print bundle size info
172 if (result.metafile) {
173 const text = await esbuild.analyzeMetafile(result.metafile, { verbose: false })
174 const outFiles = Object.entries(result.metafile.outputs)
175 for (const [file, info] of outFiles) {
176 if (file.endsWith('.mjs')) {
177 const sizeMB = ((info as { bytes: number }).bytes / 1024 / 1024).toFixed(2)
178 console.log(`\n ${file}: ${sizeMB} MB`)
179 }
180 }
181 console.log(`\nBuild complete in ${elapsed}ms → dist/`)
182
183 // Write metafile for further analysis
184 const { writeFileSync } = await import('fs')
185 writeFileSync(
186 resolve(ROOT, 'dist/meta.json'),
187 JSON.stringify(result.metafile),
188 )
189 console.log(' Metafile written to dist/meta.json')
190 }
191 }
192}
193
194main().catch(err => {
195 console.error(err)

Callers 1

build-bundle.tsFile · 0.70

Calls 4

watchMethod · 0.80
entriesMethod · 0.80
resolveFunction · 0.50
errorMethod · 0.45

Tested by

no test coverage detected