release: opensource snapshot 2026-02-27 19:25:00
This commit is contained in:
45
scripts/guards/no-duplicate-endpoint-entry.mjs
Normal file
45
scripts/guards/no-duplicate-endpoint-entry.mjs
Normal file
@@ -0,0 +1,45 @@
|
||||
#!/usr/bin/env node
|
||||
import fs from 'fs'
|
||||
import path from 'path'
|
||||
|
||||
const ROOT = process.cwd()
|
||||
const API_ROOT = path.join(ROOT, 'src', 'app', 'api')
|
||||
|
||||
const KNOWN_DUPLICATE_GROUPS = [
|
||||
{
|
||||
key: 'user-llm-test-connection',
|
||||
candidates: [
|
||||
'src/app/api/user/api-config/test-connection/route.ts',
|
||||
'src/app/api/user/test-llm-provider/route.ts',
|
||||
],
|
||||
},
|
||||
]
|
||||
|
||||
const exists = (relPath) => fs.existsSync(path.join(ROOT, relPath))
|
||||
|
||||
const failures = []
|
||||
for (const group of KNOWN_DUPLICATE_GROUPS) {
|
||||
const present = group.candidates.filter(exists)
|
||||
if (present.length > 1) {
|
||||
failures.push({ key: group.key, present })
|
||||
}
|
||||
}
|
||||
|
||||
if (!fs.existsSync(API_ROOT)) {
|
||||
process.stdout.write('[no-duplicate-endpoint-entry] PASS (api dir missing)\n')
|
||||
process.exit(0)
|
||||
}
|
||||
|
||||
if (failures.length === 0) {
|
||||
process.stdout.write('[no-duplicate-endpoint-entry] PASS\n')
|
||||
process.exit(0)
|
||||
}
|
||||
|
||||
process.stderr.write('[no-duplicate-endpoint-entry] FAIL: duplicated endpoint entry detected\n')
|
||||
for (const failure of failures) {
|
||||
process.stderr.write(`- ${failure.key}\n`)
|
||||
for (const relPath of failure.present) {
|
||||
process.stderr.write(` - ${relPath}\n`)
|
||||
}
|
||||
}
|
||||
process.exit(1)
|
||||
Reference in New Issue
Block a user