bend_puzzle/scripts/check-source-policy.js

28 lines
993 B
JavaScript
Raw Normal View History

2026-07-31 12:54:46 +09:00
'use strict';
const fs=require('fs');
const path=require('path');
const root=path.resolve(__dirname,'..');
const governed=[
'archive-codec.js',
'build-meta.js',
'runtime-config.js',
'shared-contracts.js',
'client/input/frame-scheduler.js',
'client/input/drag.js',
'client/input/gesture-coordinator.js',
'client/input/interaction-state.js',
'client/ui/cursor.js',
'server/http-router.js',
'server/auth.js',
'server/json-repository.js',
'server/player-service.js'
];
const maximum=180,violations=[];
for(const relative of governed){
const file=path.join(root,relative),lines=fs.readFileSync(file,'utf8').split(/\r?\n/);
lines.forEach((line,index)=>{if(line.length>maximum)violations.push(`${relative}:${index+1} (${line.length})`)});
}
if(violations.length)throw new Error(`Handwritten source lines exceed ${maximum} columns:\n${violations.join('\n')}`);
console.log(`Source policy passed for ${governed.length} handwritten modules (${maximum}-column maximum)`);