tree-sitter.tree-sitter/lib/binding_web/script/build.js
Amaan Qureshi 79244b5815
Some checks failed
CI / checks (push) Waiting to run
Deploy Docs / deploy-docs (push) Waiting to run
CI / sanitize (push) Failing after 11s
CI / build (push) Failing after 12s
fix(web): correct builds for CJS
2025-01-21 12:36:15 -05:00

25 lines
833 B
JavaScript

import esbuild from 'esbuild';
import fs from 'fs/promises';
const format = process.env.CJS ? 'cjs' : 'esm';
const debug = process.argv.includes('--debug');
const outfile = `${debug ? 'debug/' : ''}tree-sitter.${format === 'esm' ? 'js' : 'cjs'}`;
await esbuild.build({
entryPoints: ['src/index.ts'],
bundle: true,
platform: 'node',
format,
outfile,
sourcemap: true,
sourcesContent: true,
keepNames: true,
external: ['fs/*', 'fs/promises'],
resolveExtensions: ['.ts', '.js', format === 'esm' ? '.mjs' : '.cjs'],
});
// Copy the generated WASM files to the appropriate spot, as esbuild doesn't "bundle" WASM files
const outputWasmName = `${debug ? 'debug/' : ''}tree-sitter.wasm`;
await fs.copyFile(`lib/tree-sitter.wasm`, outputWasmName);
await fs.copyFile(`lib/tree-sitter.wasm.map`, `${outputWasmName}.map`);