mirror of
https://github.com/kunkunsh/kunkun.git
synced 2025-04-04 14:46:42 +00:00
43 lines
1.3 KiB
JavaScript
43 lines
1.3 KiB
JavaScript
#!/usr/bin/env node
|
|
import fs from "fs"
|
|
import path from "path"
|
|
import { verifyCmd } from "@/commands"
|
|
import { NODE_ENV } from "@/constants"
|
|
import logger from "@/logger"
|
|
import { program } from "commander"
|
|
import { version } from "./package.json"
|
|
|
|
const cwd = process.cwd()
|
|
console.log("Environment:", NODE_ENV)
|
|
|
|
program.name("Kunkun CLI").description("CLI for Kunkun Extension Development").version(version)
|
|
|
|
function computeProjectDir(projectPath: string | undefined) {
|
|
if (!projectPath) {
|
|
projectPath = cwd
|
|
} else if (fs.existsSync(projectPath)) {
|
|
projectPath = path.resolve(projectPath)
|
|
} else if (fs.existsSync(path.join(cwd, projectPath))) {
|
|
projectPath = path.join(cwd, projectPath)
|
|
} else {
|
|
logger.error("Invalid project path")
|
|
process.exit(1)
|
|
}
|
|
return projectPath
|
|
}
|
|
|
|
program
|
|
.command("verify [project_path]")
|
|
.description("Verify the validity of a Kunkun extension")
|
|
.option("-b, --batch", "Batch mode", false)
|
|
.option("-p, --publish", "Publish Mode. Will exit with 1 if invalid", false)
|
|
.action((projectPath: string | undefined, opts: { batch: boolean; publish: boolean }) => {
|
|
logger.info("cwd:", cwd)
|
|
const valid = verifyCmd(computeProjectDir(projectPath), opts.batch)
|
|
if (opts.publish && !valid) {
|
|
process.exit(1)
|
|
}
|
|
})
|
|
|
|
program.parse()
|