hypnotranz 1a0419dc0c feat: initial Matrix SDK
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>
2026-06-07 15:54:15 -06:00

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');