|
- import fs from 'node:fs';
- import path from 'node:path';
- import { call, login, fixture, work } from './scene-editor-closure-live.mjs';
- const session = await login('root');
- function diff(a,b,p='') {
- if(JSON.stringify(a)===JSON.stringify(b))return [];
- if(a && b && typeof a==='object'&&typeof b==='object')return [...new Set([...Object.keys(a),...Object.keys(b)])].flatMap(k=>diff(a[k],b[k],`${p}/${k}`));
- return [{path:p,before:a,after:b}];
- }
- try {
- for(const [key,original] of Object.entries(fixture().originals)) {
- const before=JSON.parse(fs.readFileSync(path.join(work,`original-${key}.json`),'utf8'));
- const current=await call(`tran/v1/content/projects/${original.id}`,session.accessToken);
- const differences=diff(before,current.data);
- console.log(JSON.stringify({key,id:original.id,differences}));
- }
- } finally {await call('auth/v1/auth/logout',session.accessToken,{}).catch(()=>{});}
|