V13-FE-006: consolidate approved UI and contract hardening
deploy / deploy (push) Successful in 1m52s
deploy / notify (push) Successful in 1s

This commit is contained in:
2026-08-13 02:41:00 +09:00
parent d79edae546
commit 3f293d8aa8
1278 changed files with 14384 additions and 1664 deletions
@@ -0,0 +1,21 @@
import { readdirSync, readFileSync } from 'node:fs'
import { join } from 'node:path'
import { describe, expect, it } from 'vitest'
function sourceFiles(root: string): string[] {
return readdirSync(root, { withFileTypes: true }).flatMap(entry => {
const path = join(root, entry.name)
if (entry.isDirectory()) return sourceFiles(path)
return /\.(ts|vue)$/.test(entry.name) ? [path] : []
})
}
describe('UI vendor boundary', () => {
it('keeps PrimeVue and AG Grid imports inside the shared adapter', () => {
const featureRoot = join(process.cwd(), 'src', 'features')
const forbiddenImport = /(?:from|import\s*\()\s*["'](?:primevue|ag-grid)/
const violations = sourceFiles(featureRoot).filter(path => forbiddenImport.test(readFileSync(path, 'utf8')))
expect(violations).toEqual([])
})
})