hypershield
Version:
Middleware suite for high-performance and resilient APIs
50 lines • 1.56 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const child_process_1 = require("child_process");
const fs_1 = __importDefault(require("fs"));
const path_1 = __importDefault(require("path"));
function ensureDirectories() {
const dirs = [
'dist',
'logs',
'coverage',
'temp'
];
dirs.forEach(dir => {
const dirPath = path_1.default.join(process.cwd(), dir);
if (!fs_1.default.existsSync(dirPath)) {
fs_1.default.mkdirSync(dirPath, { recursive: true });
console.log(`Created directory: ${dir}`);
}
});
}
function setupGitHooks() {
try {
(0, child_process_1.execSync)('npx husky install', { stdio: 'inherit' });
console.log('Git hooks installed successfully');
}
catch (error) {
console.error('Failed to install git hooks:', error);
}
}
function setupEnvFiles() {
const envFiles = ['.env.example', '.env.test'];
envFiles.forEach(file => {
if (!fs_1.default.existsSync(file)) {
fs_1.default.copyFileSync(`${file}.template`, file);
console.log(`Created ${file} from template`);
}
});
}
function main() {
console.log('Starting project setup...');
ensureDirectories();
setupGitHooks();
setupEnvFiles();
console.log('Setup completed successfully');
}
main();
//# sourceMappingURL=setup.js.map