| 123456789101112131415161718 |
- /** Synchronize competing source-process profile initialization for the race acceptance test. */
- import { existsSync, writeFileSync } from 'node:fs'
- import { setTimeout as delay } from 'node:timers/promises'
- import { initializeProfileFromDefault } from '../../src/profile-boot.ts'
- const [home, name, source, ready, gate] = process.argv.slice(2)
- if (home === undefined || name === undefined || source === undefined || ready === undefined || gate === undefined) {
- throw new Error('profile initialization fixture requires home, name, source, ready, and gate')
- }
- writeFileSync(ready, '')
- const deadline = Date.now() + 30_000
- while (!existsSync(gate)) {
- if (Date.now() >= deadline) throw new Error(`profile initialization fixture timed out waiting for ${gate}`)
- await delay(20)
- }
- initializeProfileFromDefault(name, source, home)
|