// 検証用の派生ファイルを build/index.html から作り直す。
// Electron では location.protocol が "file:" なので .app クラスが付き、
// 窓の枠や余白がアプリ用になる。ブラウザで同じ見た目を見るための細工。
//
// 1.6.3 でコードが難読化され、この一文の書き方が
//   if(location.protocol === "file:") document…   （整形版）
//   "file:"===location.protocol&&document…        （難読化版）
// の二通りになった。どちらでも当たるようにし、当たらなければ止める
// （黙って素通りすると、古い派生ファイルに対して検査を走らせてしまう）。
import fs from 'fs';

const s = fs.readFileSync('build/index.html', 'utf8');
const FORMS = [
  ['if(location.protocol === "file:") document.documentElement.classList.add("app");',
    'document.documentElement.classList.add("app");'],
  ['"file:"===location.protocol&&document.documentElement.classList.add("app")',
    'document.documentElement.classList.add("app")'],
  ['location.protocol==="file:"&&document.documentElement.classList.add("app")',
    'document.documentElement.classList.add("app")'],
];
const hit = FORMS.find(([from]) => s.includes(from));
if (!hit) {
  console.error('目印が見つかりません。ゲーム側の書き方が変わっています。');
  console.error('  探した形:');
  FORMS.forEach(([f]) => console.error('    ' + f));
  process.exit(1);
}
fs.writeFileSync('build/index-app.html', s.replace(hit[0], hit[1]));
fs.writeFileSync('build/index-test.html', s);
console.log('build/index-app.html と build/index-test.html を作り直しました');
