10 lines
1.1 KiB
JavaScript
10 lines
1.1 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/studio/src/lib/'+file),await read('apps/waterfall-wiki/src/lib/'+file),file+' contract drift');
|
|
const canonical=await read('content/studio-examples/autumn-journal.json');for(const app of ['studio','waterfall-wiki'])assert.equal(canonical,await read('apps/'+app+'/fixtures/autumn-journal.json'),'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');
|