Files
n8n-starter/bin/init.ts
bipproduction 3b6c6fa914 update version
2025-11-17 21:09:31 +08:00

62 lines
1.4 KiB
TypeScript
Executable File

import fs from 'fs/promises';
import { execSync } from 'child_process'
async function init() {
console.log("[INIT] Initializing...")
try {
await fs.access(".env")
} catch (error) {
let envText = ""
envText += "NAMESPACE=\n"
envText += "OPENAPI_URL=\n"
// generate .env
await fs.writeFile(".env", envText)
console.log('[GEN] Generated .env');
}
const NAMESPACE = process.env.NAMESPACE
const OPENAPI_URL = process.env.OPENAPI_URL
if (!NAMESPACE || !OPENAPI_URL) {
throw new Error('NAMESPACE and OPENAPI_URL are required')
}
await fs.rmdir("src", { recursive: true }).catch(() => { })
try {
await fs.access(".git")
console.log("[INIT] Git already initialized")
execSync("rm -rf .git")
execSync("git init")
} catch (error) {
execSync("git init")
}
try {
console.log("[INIT] Gitignored...")
await fs.access(".gitignore")
} catch (e) {
execSync("npx -y gitignore node")
console.log('[INIT] gitignored');
}
try {
console.log("[INIT] Npmignored...")
await fs.access(".npmignore")
} catch (e) {
execSync("npx -y npmignore node")
console.log('[INIT] npmignored');
}
console.log('[INIT] Installing dependencies...');
execSync("bun install", { stdio: 'inherit' })
}
init()