37 lines
1.5 KiB
JSON
37 lines
1.5 KiB
JSON
{
|
|
"name": "outreach-engine",
|
|
"version": "1.0.0",
|
|
"description": "",
|
|
"main": "index.js",
|
|
"scripts": {
|
|
"start": "node index.js",
|
|
"start:dev": "NODE_ENV=development node index.js",
|
|
"start:prod": "NODE_ENV=production node index.js",
|
|
"test-email": "EMAIL_TEST_LIMIT=1 NODE_ENV=development node index.js",
|
|
"test-campaigns": "EMAIL_TEST_MODE=true CAMPAIGN_TEST_MODE=true NODE_ENV=development node scripts/run-campaigns.js",
|
|
"migrate": "node scripts/migrate-to-database.js",
|
|
"test": "jest --config tests/jest.config.js",
|
|
"test:watch": "jest --config tests/jest.config.js --watch",
|
|
"test:coverage": "jest --config tests/jest.config.js --coverage",
|
|
"validate-json": "node -e \"try { JSON.parse(require('fs').readFileSync('firm.json', 'utf8')); console.log('✅ JSON is valid'); } catch(e) { console.log('❌ JSON error:', e.message); }\"",
|
|
"test-config": "node -e \"const config = require('./config'); console.log('Environment:', config.env); console.log('EMAIL_USER:', config.email.user ? 'Set' : 'Missing'); console.log('EMAIL_PASS:', config.email.pass ? 'Set' : 'Missing'); console.log('Test Mode:', config.email.testMode);\""
|
|
},
|
|
"keywords": [],
|
|
"author": "",
|
|
"license": "ISC",
|
|
"type": "commonjs",
|
|
"dependencies": {
|
|
"delay": "^6.0.0",
|
|
"dotenv": "^17.2.0",
|
|
"handlebars": "^4.7.8",
|
|
"nodemailer": "^7.0.5",
|
|
"sqlite": "^5.1.1",
|
|
"sqlite3": "^5.1.7",
|
|
"winston": "^3.17.0"
|
|
},
|
|
"devDependencies": {
|
|
"@jest/globals": "^30.0.4",
|
|
"jest": "^30.0.4"
|
|
}
|
|
}
|