This commit is contained in:
bipproduction
2025-10-06 08:32:50 +08:00
parent 7e4791dc4b
commit 3f1e9b7473
11 changed files with 276 additions and 174 deletions

View File

@@ -1,15 +1,18 @@
#!/usr/bin/env bun
import minimist from "minimist";
import os from "os";
import path from "path";
import { generateEnvTypes } from "../generate/env.generate";
import checkPort from "./src/port";
import route from "./src/route";
import compose from "./src/compose";
import generateDockerfile from "./src/docker-file";
import frp from "./src/frp";
import { generateEnvTypes } from "./src/generate/env.generate";
import checkPort from "./src/port";
import route from "./src/route";
import { version } from '../package.json' assert { type: 'json' };
import appCreate from "./src/app-create";
interface CheckPortResult {
port: number;
@@ -36,6 +39,7 @@ Commands:
compose Generate compose.yml from name
docker-file Generate Dockerfile
frp Show frp proxy list
app-init Generate app-init.ts
Options:
--env Path ke file .env (default: .env)
@@ -51,10 +55,28 @@ Examples:
g3n compose <name>
g3n docker-file
g3n frp
g3n app-init
Version: ${version}
`;
const g3nConf = path.join(os.homedir(), ".g3n.conf");
if (!(await Bun.file(g3nConf).exists())) {
const conf = `
# CODE
CODE_TOKEN=
# FRP
FRP_HOST=
FRP_USER=
FRP_SECRET=
`
Bun.write(g3nConf, conf);
console.log(`✅ G3N config created at ${g3nConf}`);
}
// Parse CLI arguments
const args = minimist(process.argv.slice(2));
@@ -90,6 +112,13 @@ async function main(): Promise<void> {
process.exit(1);
});
break;
case "app-create":
if (!name) {
console.error("❌ App name is required");
return;
}
appCreate({ appName: name });
break;
default:
console.error(HELP_TEXT);