Files
moteurs/scripts/ecrire-schemas.mjs
T
JulesandClaude Fable 5.1 69809df5d1 LOT P1.0 : paquet @transformer/moteurs v0.1.0
Extraction du cœur autonomie de calculs.trans-former.fr (12 modules, sans
singleton, couplages sans mutation, console derrière debug), découpage en trois
moteurs d'axe + intégrateur (mode global = calculs, mode par_axe = plateforme),
moteurs commun.contexte (Corse 2A/2B, DOM 97x corrigés) et commun.geometrie,
table des coefficients harmonisés (docs/CONSTANTES.md pour Jules, R-7),
validation structurelle des données (schemas/), tests hors ligne : 28 assertions
d'origine + épingle générée depuis le code d'astro-pro + écarts d'harmonisation
figés + contrat des moteurs. dist/ committé.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019UBHYPdeQYy2m1GVJp6b12
2026-09-28 17:06:49 +02:00

13 lines
682 B
JavaScript

// Réécrit schemas/<table>.schema.json depuis dist/commun/schemas.js (source de
// vérité : src/commun/schemas.ts). Lancé par `npm run build` après tsc.
import { writeFileSync, mkdirSync } from 'node:fs'
import { SCHEMAS } from '../dist/commun/schemas.js'
const dossier = new URL('../schemas/', import.meta.url)
mkdirSync(dossier, { recursive: true })
for (const [table, schema] of Object.entries(SCHEMAS)) {
const json = { $schema: 'https://json-schema.org/draft/2020-12/schema', ...schema }
writeFileSync(new URL(`${table}.schema.json`, dossier), JSON.stringify(json, null, 2) + '\n', 'utf8')
}
console.log(`schemas/ : ${Object.keys(SCHEMAS).length} fichiers écrits`)