storebound/tests/config-json-node.test.ts

12 lines
681 B
TypeScript

// A storebound.config.json loads without an import attribute (Node refuses a bare JSON import; pitfall 105).
import { expect, test } from 'bun:test';
import { mkdtempSync, writeFileSync } from 'node:fs';
import { tmpdir } from 'node:os';
import { join } from 'node:path';
import { importConfigModule } from '../cli/lib/rt';
test('importConfigModule reads a JSON config as data', async () => {
const f = join(mkdtempSync(join(tmpdir(), 'sb-json-')), 'storebound.config.json');
writeFileSync(f, JSON.stringify({ app: { name: 'Demo' }, play: { packageName: 'com.example.demo' } }));
expect((await importConfigModule(f)).default.play.packageName).toBe('com.example.demo');
});