Full SDK workspace: core, contracts, sdk, cli, browser-host, browser-kit, federation, omega-core, oracle, self-healing, strategies, tools, emacs. Clean extraction from the development monorepo. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
39 lines
1.5 KiB
JavaScript
39 lines
1.5 KiB
JavaScript
import { execSync } from 'node:child_process';
|
|
import { mkdirSync } from 'node:fs';
|
|
import { resolve, dirname } from 'node:path';
|
|
import { fileURLToPath } from 'node:url';
|
|
import { bundleOmegaEntrypoints } from '../../scripts/omega-esbuild.mjs';
|
|
|
|
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
const dist = resolve(__dirname, 'dist');
|
|
|
|
// Don't rmSync dist/ — concurrent turbo tasks may be reading from it.
|
|
// esbuild and tsc overwrite files in place.
|
|
mkdirSync(dist, { recursive: true });
|
|
|
|
// 1. esbuild: bundle src/index.ts → dist/index.js (self-contained, all deps inlined)
|
|
await bundleOmegaEntrypoints({
|
|
cwd: __dirname,
|
|
entryPoints: ['src/index.ts'],
|
|
platform: 'node',
|
|
target: 'node20',
|
|
outfile: 'dist/index.js',
|
|
});
|
|
|
|
// 2. esbuild: bundle src/index.browser.ts → dist/index.browser.js (no SystemIOBackend)
|
|
await bundleOmegaEntrypoints({
|
|
cwd: __dirname,
|
|
entryPoints: ['src/index.browser.ts'],
|
|
platform: 'browser',
|
|
target: 'es2022',
|
|
outfile: 'dist/index.browser.js',
|
|
});
|
|
|
|
// 3. tsc: emit declarations only (mirrors structure for .d.ts)
|
|
// --skipLibCheck: the broad tsconfig includes the entire omega tree;
|
|
// some files import @open-matrix/inference which resolves at the parent
|
|
// project level but not here in isolation. Our exported types are correct.
|
|
execSync('npx tsc -p tsconfig.json --emitDeclarationOnly --skipLibCheck', { cwd: __dirname, stdio: 'inherit' });
|
|
|
|
console.log('@open-matrix/omega-core built → dist/index.js + dist/index.browser.js + .d.ts');
|