Files
triliumnext-korean-patch/updates/2026-09-05/work/trilium/verify-api.mjs
T

9 lines
1.1 KiB
JavaScript

import fs from 'node:fs';import assert from 'node:assert/strict';
const b='work/trilium',out=b+'/phase9';
for(const[name,file]of [['internal','trilium-openapi.json'],['etapi','etapi.json']]){
const before=JSON.parse(fs.readFileSync(b+'/api-source/'+file)),after=JSON.parse(fs.readFileSync(out+'/doc_notes/en/api-ko/'+name+'.json'));
function check(a,c,p=''){assert.equal(typeof a,typeof c,p);if(a&&typeof a==='object'){assert.deepEqual(Object.keys(a),Object.keys(c),p);for(const k of Object.keys(a)){if(['summary','description','title'].includes(k)&&typeof a[k]==='string')continue;if(p===''&&k==='servers'&&name==='etapi')continue;if(p==='.info.contact'&&k==='name')continue;if(p.endsWith('.properties.message')&&k==='example')continue;check(a[k],c[k],p+'.'+k);}}else assert.equal(a,c,p);}check(before,after);
}
const report=JSON.parse(fs.readFileSync(out+'/script-audit.json'));assert(Object.values(report).every(x=>!x.remainingProse.length));
console.log('API methods, parameters, schemas, examples and identifiers preserved except documented display-message and server-URL changes.');