Initial build: SimpleScan Solo v0.1.0 - Freelancer receipt capture Chrome extension

This commit is contained in:
Bun Bun
2026-06-16 18:27:31 +00:00
commit df4d26c049
33 changed files with 3962 additions and 0 deletions
+40
View File
@@ -0,0 +1,40 @@
const fs = require('fs');
const path = require('path');
const secretPatterns = [
/sk-[a-zA-Z0-9]{20,}/g,
/eyJ[a-zA-Z0-9_-]*\.eyJ[a-zA-Z0-9_-]*/g,
/api[_-]?key\s*[:=]\s*['"][a-zA-Z0-9]{16,}['"]/gi,
/token\s*[:=]\s*['"][a-zA-Z0-9]{16,}['"]/gi,
];
const filesToCheck = [
'src/types.ts', 'src/background.ts', 'src/options.ts',
'src/popup/popup.ts', 'src/popup/popup.html', 'src/popup/popup.css',
'src/content/email-scanner.ts',
'src/utils/storage.ts', 'src/utils/categories.ts', 'src/utils/export.ts',
'options.html', 'package.json', 'vite.config.ts',
'tsconfig.json', 'tsconfig.test.json', '.gitignore'
];
let found = false;
for (const file of filesToCheck) {
const fp = path.join(__dirname, '..', file);
if (!fs.existsSync(fp)) continue;
const content = fs.readFileSync(fp, 'utf8');
for (const pattern of secretPatterns) {
const matches = content.match(pattern);
if (matches) {
console.log(`SECRET FOUND in ${file}: ${matches[0].substring(0, 30)}...`);
found = true;
}
}
}
if (found) {
console.log('SECRETS DETECTED - aborting');
process.exit(1);
} else {
console.log('No secrets found');
process.exit(0);
}