#!/usr/bin/env node import path from "path" import { input, select } from "@inquirer/prompts" import { version as kkApiVersion } from "@kksh/api/package.json" import chalk from "chalk" import { Command, Option } from "commander" import fs from "fs-extra" import pkgJson from "./package.json" import { createKunkunVersion, getTemplateRoot, isProduction, NODE_ENV } from "./src/constants" import { cleanExtension, patchHBS, patchManifestJsonSchema, patchPkgJsonDep } from "./src/patch" import { getLatestNpmPkgVersion, tarExtract } from "./src/utils" console.log(`${chalk.blue("create-kunkun version:")} ${createKunkunVersion}`) const latestCreateKunkunVersion = await getLatestNpmPkgVersion("create-kunkun") console.log(`${chalk.blue("Latest create-kunkun version:")} latestCreateKunkunVersion`) if (latestCreateKunkunVersion !== createKunkunVersion) { const msg = `You are using create-kunkun version ${createKunkunVersion}, but the latest version is ${latestCreateKunkunVersion}. It may not work with the latest Kunkun app.` console.warn(chalk.red(msg)) } const cwd = process.cwd() const templateRoot = getTemplateRoot() console.info(`${chalk.blue("Current Working Directory")}: ${cwd}`) console.info(`${chalk.blue("Template Root:")}`, templateRoot) if (!fs.existsSync(templateRoot)) { console.error(`Template directory not found; Expected at ${templateRoot}`) process.exit(1) } const program = new Command() program .version(pkgJson.version) .addOption( new Option("-t, --template