const test = require('node:test'); const assert = require('node:assert/strict'); const fs = require('node:fs'); const path = require('node:path'); const { spawnSync } = require('node:child_process'); const projectRoot = path.resolve(__dirname, '..'); test('src/shared is a real directory in the repository', () => { const sharedPath = path.join(projectRoot, 'src', 'shared'); const stat = fs.statSync(sharedPath); assert.equal(stat.isDirectory(), true); }); test('default build script uses standard TypeScript compiler', () => { const packageJson = JSON.parse(fs.readFileSync(path.join(projectRoot, 'package.json'), 'utf8')); assert.match(packageJson.scripts.build, /\btsc\b/); assert.doesNotMatch(packageJson.scripts.build, /scripts\/transpile\.cjs/); }); test('project type-check build passes with tsc', () => { const tscJsPath = path.join(projectRoot, 'node_modules', 'typescript', 'lib', 'tsc.js'); const result = spawnSync( process.execPath, [tscJsPath, '-p', '.', '--pretty', 'false'], { cwd: projectRoot, encoding: 'utf8', shell: false, }, ); assert.equal(result.status, 0, result.stdout + result.stderr); });