import {readFileSync} from 'node:fs'; import {fileURLToPath} from 'node:url'; import {resolve} from 'node:path'; const root = resolve(fileURLToPath(new URL('../..', import.meta.url))); const appSource = readFileSync(resolve(root, 'frontend/src/App.tsx'), 'utf8'); const mainSource = readFileSync(resolve(root, 'main.go'), 'utf8'); const appOptionsSource = readFileSync(resolve(root, 'app_options.go'), 'utf8'); const backendEntrySource = `${mainSource}\n${appOptionsSource}`; const forbiddenUiText = [ /

Skill Manager<\/h1>/, />\s*Config\s*\s*Remote\s*\s*Local\s*\s*Check Updates\s*Gitea Base URL<\/span>/, /Organization<\/span>/, /Auth Type<\/span>/, />\s*Password\s*Username<\/span>/, /Credential Key<\/span>/, /Auto update<\/span>/, /Check on startup<\/span>/, /Interval Minutes<\/span>/, />\s*Save\s*\s*Test\s*\s*Refresh\s*Description<\/th>/, /Branch<\/th>/, /Status<\/th>/, /Action<\/th>/, /Actions<\/th>/, />\s*Update\s*\s*Download\s*No remote skillsNo local skillsnot installed 0) { console.error(failures.join('\n')); process.exit(1); }