33 lines
1 KiB
JavaScript
33 lines
1 KiB
JavaScript
|
|
#!/usr/bin/env node
|
||
|
|
/**
|
||
|
|
* Warn if backend openapi.json is newer than generated src/api/types.ts
|
||
|
|
*/
|
||
|
|
const { statSync, existsSync } = require('fs')
|
||
|
|
const { resolve } = require('path')
|
||
|
|
|
||
|
|
const backendSpec = resolve(__dirname, '..', '..', 'munch-ease-backend', 'openapi.json')
|
||
|
|
const generated = resolve(__dirname, '..', 'src', 'api', 'types.ts')
|
||
|
|
|
||
|
|
if (!existsSync(backendSpec)) {
|
||
|
|
console.log('codegen-check: Skipping (backend openapi.json not found).')
|
||
|
|
process.exit(0)
|
||
|
|
}
|
||
|
|
if (!existsSync(generated)) {
|
||
|
|
console.log('codegen-check: src/api/types.ts not found. Run: npm run codegen')
|
||
|
|
process.exit(1)
|
||
|
|
}
|
||
|
|
|
||
|
|
try {
|
||
|
|
const specMtime = statSync(backendSpec).mtimeMs
|
||
|
|
const genMtime = statSync(generated).mtimeMs
|
||
|
|
if (specMtime > genMtime) {
|
||
|
|
console.log('codegen-check: OpenAPI spec is newer than generated types. Consider running: npm run codegen')
|
||
|
|
process.exit(2)
|
||
|
|
} else {
|
||
|
|
console.log('codegen-check: OK (generated types up to date).')
|
||
|
|
}
|
||
|
|
} catch (e) {
|
||
|
|
console.error('codegen-check: Error reading timestamps:', e.message)
|
||
|
|
process.exit(3)
|
||
|
|
}
|