Files
safavimohadeseh78andCursor e3f0457dc9
Frontend CI / unit (test, type-check, build) (push) Successful in 1m11s
Frontend CI / browser E2E (frontend + pinned backend) (push) Failing after 2m48s
feat: complete server-backed six-lesson app and trial tooling
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-12 14:40:37 +03:30

29 lines
901 B
JavaScript

/**
* Build backend for E2E. Path from E2E_BACKEND_ROOT or sibling ../backend-nest.
*/
import { existsSync } from 'node:fs'
import { dirname, join, resolve } from 'node:path'
import { fileURLToPath } from 'node:url'
import { spawnSync } from 'node:child_process'
const scriptDir = dirname(fileURLToPath(import.meta.url))
const frontendRoot = join(scriptDir, '..')
const defaultBackend = join(frontendRoot, '..', 'backend-nest')
const backendRoot = resolve(process.env.E2E_BACKEND_ROOT ?? defaultBackend)
if (!existsSync(join(backendRoot, 'package.json'))) {
console.error(
`E2E backend not found at ${backendRoot}. Set E2E_BACKEND_ROOT or clone per e2e/backend.contract.json.`,
)
process.exit(1)
}
const result = spawnSync('npm', ['run', 'build'], {
cwd: backendRoot,
stdio: 'inherit',
env: process.env,
shell: process.platform === 'win32',
})
process.exit(result.status ?? 1)