Files
probably-rendering-one-more…/scripts/check-studio-contracts.mjs
T
codex-bot 6654a1456b
Unified application CI and deployment / verify-and-release (pull_request) Waiting to run
python CI and deployment / verify-and-deploy (pull_request) Successful in 1m12s
Unify Wiki and Studio application and simplify deployment
2026-11-04 03:41:16 +08:00

10 lines
1.2 KiB
JavaScript

/** Source-only parity and syntax checks; no compilation or generated output. */
import {readFile} from 'node:fs/promises';
import assert from 'node:assert/strict';
const root=new URL('../',import.meta.url),read=path=>readFile(new URL(path,root),'utf8');
for(const file of ['layout-parameters.ts','series.ts','canvas-document.ts'])assert.equal(await read('apps/waterfall-wiki/src/studio/lib/'+file),`export * from '../../lib/${file}';\n`,file+' must use shared implementation');
const canonical=await read('content/studio-examples/autumn-journal.json');for(const file of ['apps/waterfall-wiki/fixtures/autumn-journal.json','apps/waterfall-wiki/fixtures/studio/autumn-journal.json'])assert.equal(canonical,await read(file),'Example fixture drift');
const doc=await read('apps/waterfall-wiki/src/lib/studio-design-documentation.ts'),encoded=doc.match(/export const designDocs=(.*);\n/);
assert.ok(encoded);assert.equal(JSON.parse(encoded[1]),(await read('content/studio-tools/layouts-api.md')).replace('{{LAYOUTS}}','读取 /studio/api/layouts 获取全部27套构图。'),'Wiki/agent documentation drift');
console.log('Studio content, validation and documentation contracts agree');