@chenhui996/gg-cli 1.0.7 → 1.0.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js
CHANGED
|
@@ -82,6 +82,14 @@ async function create(projectName) {
|
|
|
82
82
|
}
|
|
83
83
|
const spinner = ora("\u6B63\u5728\u590D\u5236\u6A21\u677F...").start();
|
|
84
84
|
await fs.copy(selectedTemplatePath, targetPath);
|
|
85
|
+
const gitignorePath = path.join(targetPath, "gitignore");
|
|
86
|
+
const npmignorePath = path.join(targetPath, ".npmignore");
|
|
87
|
+
const targetGitignorePath = path.join(targetPath, ".gitignore");
|
|
88
|
+
if (await fs.pathExists(gitignorePath)) {
|
|
89
|
+
await fs.rename(gitignorePath, targetGitignorePath);
|
|
90
|
+
} else if (await fs.pathExists(npmignorePath)) {
|
|
91
|
+
await fs.rename(npmignorePath, targetGitignorePath);
|
|
92
|
+
}
|
|
85
93
|
const pkgPath = path.join(targetPath, "package.json");
|
|
86
94
|
if (await fs.pathExists(pkgPath)) {
|
|
87
95
|
const pkg = await fs.readJson(pkgPath);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts","../src/commands/create.ts","../src/utils/pkg-manager.ts","../src/pre/index.ts"],"sourcesContent":["import { Command } from 'commander';\nimport { create } from './commands/create.js';\nimport { checkNodeVersion } from './pre/index.js';\n\n// 1. 前置检查:Node.js 版本\ncheckNodeVersion();\n\nconst program = new Command();\n\nprogram\n .name('gg-cli')\n .description('前端脚手架工具')\n .version('1.0.0');\n\n// 将 create 设为默认命令,参数改为可选 [project-name]\nprogram\n .command('create [project-name]', { isDefault: true })\n .description('创建一个新项目')\n .action((projectName) => {\n create(projectName);\n });\n\nprogram.parse(process.argv);\n","import { input, select, confirm } from '@inquirer/prompts';\nimport chalk from 'chalk';\nimport fs from 'fs-extra';\nimport path from 'path';\nimport { fileURLToPath } from 'url';\nimport { execa } from 'execa';\nimport ora from 'ora';\nimport { getUserPkgManager } from '../utils/pkg-manager.js';\n\nexport async function create(projectName?: string) {\n // 获取包管理器\n const pkgManager = getUserPkgManager();\n\n // 获取当前文件路径 (dist/index.js)\n const __filename = fileURLToPath(import.meta.url);\n const __dirname = path.dirname(__filename);\n \n // 模板目录路径 (假设模板被复制到了 dist/template)\n const templateDir = path.resolve(__dirname, 'template');\n \n // 检查模板目录是否存在\n if (!fs.existsSync(templateDir)) {\n console.error(chalk.red('❌ 错误:未找到模板目录!'));\n console.log(chalk.yellow(`预期路径: ${templateDir}`));\n process.exit(1);\n }\n\n // 获取所有可用模板\n const templates = fs.readdirSync(templateDir).filter(file => {\n return fs.statSync(path.join(templateDir, file)).isDirectory();\n });\n\n if (templates.length === 0) {\n console.error(chalk.red('❌ 错误:模板目录为空!'));\n process.exit(1);\n }\n\n try {\n // 1. 如果没有传入项目名称,则询问\n let finalProjectName = projectName;\n if (!finalProjectName) {\n finalProjectName = await input({\n message: '请输入项目名称:',\n validate: (value) => {\n if (!value.trim()) return '项目名称不能为空';\n return true;\n }\n });\n }\n\n // 2. 选择模板\n const template = await select({\n message: '请选择项目模板:',\n choices: templates.map(t => ({\n name: t,\n value: t,\n })),\n });\n\n // 3. 是否安装依赖\n const install = await confirm({\n message: '是否自动安装依赖?',\n default: true,\n });\n\n console.log(chalk.blue(`\\n🚀 准备创建项目: ${finalProjectName}`));\n\n const selectedTemplatePath = path.join(templateDir, template);\n const targetPath = path.resolve(process.cwd(), finalProjectName!);\n\n // 检查目标目录是否已存在\n if (fs.existsSync(targetPath)) {\n const overwrite = await confirm({\n message: `目录 ${finalProjectName} 已存在,是否覆盖?`,\n default: false\n });\n\n if (!overwrite) {\n console.log(chalk.yellow('已取消创建。'));\n return;\n }\n await fs.remove(targetPath);\n }\n\n const spinner = ora('正在复制模板...').start();\n await fs.copy(selectedTemplatePath, targetPath);\n \n // 修改 package.json 中的 name\n const pkgPath = path.join(targetPath, 'package.json');\n if (await fs.pathExists(pkgPath)) {\n const pkg = await fs.readJson(pkgPath);\n pkg.name = finalProjectName;\n await fs.writeJson(pkgPath, pkg, { spaces: 2 });\n }\n spinner.succeed('模板复制完成');\n\n if (install) {\n const installSpinner = ora(`正在安装依赖 (${pkgManager} install)...`).start();\n try {\n await execa(pkgManager, ['install'], { cwd: targetPath });\n installSpinner.succeed('依赖安装成功');\n } catch (error) {\n installSpinner.fail('依赖安装失败');\n console.error(chalk.red(error));\n }\n }\n\n // 4. 初始化 git 仓库\n const gitSpinner = ora('正在初始化 Git 仓库...').start();\n try {\n // 先检查是否已经存在 .git 目录(防止覆盖模板自带的 git,虽然按理说模板不该带 .git)\n if (fs.existsSync(path.join(targetPath, '.git'))) {\n gitSpinner.succeed('Git 仓库已存在,跳过初始化');\n } else {\n await execa('git', ['init'], { cwd: targetPath });\n gitSpinner.succeed('Git 仓库初始化成功');\n }\n } catch (error) {\n gitSpinner.warn('Git 仓库初始化失败 (可能是未安装 git)');\n }\n\n console.log(chalk.green(`\\n✅ 项目 ${finalProjectName} 创建成功!`));\n console.log(`\\n接下来你可以:\\n`);\n console.log(chalk.cyan(` cd ${finalProjectName}`));\n if (!install) {\n console.log(chalk.cyan(` ${pkgManager} install`));\n }\n console.log(chalk.cyan(` ${pkgManager === 'npm' ? 'npm run' : pkgManager} dev`));\n\n } catch (err) {\n if (err instanceof Error && err.message.includes('User force closed')) {\n console.log(chalk.yellow('\\n用户取消操作'));\n process.exit(0);\n }\n console.error(chalk.red('❌ 创建项目失败:'), err);\n }\n}\n","export type PackageManager = 'npm' | 'yarn' | 'pnpm' | 'bun';\n\nexport function getUserPkgManager(): PackageManager {\n // 从环境变量中获取用户使用的包管理器信息\n const userAgent = process.env.npm_config_user_agent;\n\n if (userAgent) {\n if (userAgent.startsWith('yarn')) {\n return 'yarn';\n } else if (userAgent.startsWith('pnpm')) {\n return 'pnpm';\n } else if (userAgent.startsWith('bun')) {\n return 'bun';\n }\n }\n\n return 'npm';\n}\n","import chalk from 'chalk';\n\n/**\n * 检查当前 Node.js 版本是否符合要求\n * 要求 Node.js 版本 >= 22.19.0\n */\nexport function checkNodeVersion() {\n const currentVersion = process.version;\n // 去掉版本号前的 'v',例如 'v22.5.1' -> '22.5.1'\n const version = currentVersion.replace(/^v/, '');\n const [major] = version.split('.').map(Number);\n\n if (major < 22) {\n console.error(chalk.red(`\\n❌ 错误:当前 Node.js 版本 (${currentVersion}) 过低!`));\n console.error(chalk.yellow('⚠️ 请升级 Node.js 版本,不低于 v22.19.0'));\n process.exit(1);\n }\n}\n"],"mappings":"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","names":["chalk"]}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../src/commands/create.ts","../src/utils/pkg-manager.ts","../src/pre/index.ts"],"sourcesContent":["import { Command } from 'commander';\nimport { create } from './commands/create.js';\nimport { checkNodeVersion } from './pre/index.js';\n\n// 1. 前置检查:Node.js 版本\ncheckNodeVersion();\n\nconst program = new Command();\n\nprogram\n .name('gg-cli')\n .description('前端脚手架工具')\n .version('1.0.0');\n\n// 将 create 设为默认命令,参数改为可选 [project-name]\nprogram\n .command('create [project-name]', { isDefault: true })\n .description('创建一个新项目')\n .action((projectName) => {\n create(projectName);\n });\n\nprogram.parse(process.argv);\n","import { input, select, confirm } from '@inquirer/prompts';\nimport chalk from 'chalk';\nimport fs from 'fs-extra';\nimport path from 'path';\nimport { fileURLToPath } from 'url';\nimport { execa } from 'execa';\nimport ora from 'ora';\nimport { getUserPkgManager } from '../utils/pkg-manager.js';\n\nexport async function create(projectName?: string) {\n // 获取包管理器\n const pkgManager = getUserPkgManager();\n\n // 获取当前文件路径 (dist/index.js)\n const __filename = fileURLToPath(import.meta.url);\n const __dirname = path.dirname(__filename);\n \n // 模板目录路径 (假设模板被复制到了 dist/template)\n const templateDir = path.resolve(__dirname, 'template');\n \n // 检查模板目录是否存在\n if (!fs.existsSync(templateDir)) {\n console.error(chalk.red('❌ 错误:未找到模板目录!'));\n console.log(chalk.yellow(`预期路径: ${templateDir}`));\n process.exit(1);\n }\n\n // 获取所有可用模板\n const templates = fs.readdirSync(templateDir).filter(file => {\n return fs.statSync(path.join(templateDir, file)).isDirectory();\n });\n\n if (templates.length === 0) {\n console.error(chalk.red('❌ 错误:模板目录为空!'));\n process.exit(1);\n }\n\n try {\n // 1. 如果没有传入项目名称,则询问\n let finalProjectName = projectName;\n if (!finalProjectName) {\n finalProjectName = await input({\n message: '请输入项目名称:',\n validate: (value) => {\n if (!value.trim()) return '项目名称不能为空';\n return true;\n }\n });\n }\n\n // 2. 选择模板\n const template = await select({\n message: '请选择项目模板:',\n choices: templates.map(t => ({\n name: t,\n value: t,\n })),\n });\n\n // 3. 是否安装依赖\n const install = await confirm({\n message: '是否自动安装依赖?',\n default: true,\n });\n\n console.log(chalk.blue(`\\n🚀 准备创建项目: ${finalProjectName}`));\n\n const selectedTemplatePath = path.join(templateDir, template);\n const targetPath = path.resolve(process.cwd(), finalProjectName!);\n\n // 检查目标目录是否已存在\n if (fs.existsSync(targetPath)) {\n const overwrite = await confirm({\n message: `目录 ${finalProjectName} 已存在,是否覆盖?`,\n default: false\n });\n\n if (!overwrite) {\n console.log(chalk.yellow('已取消创建。'));\n return;\n }\n await fs.remove(targetPath);\n }\n\n const spinner = ora('正在复制模板...').start();\n await fs.copy(selectedTemplatePath, targetPath);\n\n // npm publish 时会自动将 .gitignore 重命名为 .npmignore 或直接忽略它。\n // 为了解决这个问题,我们在模板中将 .gitignore 命名为 _gitignore 或 gitignore,\n // 然后在 CLI 复制模板后,将其重命名回 .gitignore。\n const gitignorePath = path.join(targetPath, 'gitignore');\n const npmignorePath = path.join(targetPath, '.npmignore');\n const targetGitignorePath = path.join(targetPath, '.gitignore');\n\n // 检查并重命名 gitignore\n if (await fs.pathExists(gitignorePath)) {\n await fs.rename(gitignorePath, targetGitignorePath);\n } else if (await fs.pathExists(npmignorePath)) {\n // 兼容某些情况下 npm 直接重命名的场景\n await fs.rename(npmignorePath, targetGitignorePath);\n }\n \n // 修改 package.json 中的 name\n const pkgPath = path.join(targetPath, 'package.json');\n if (await fs.pathExists(pkgPath)) {\n const pkg = await fs.readJson(pkgPath);\n pkg.name = finalProjectName;\n await fs.writeJson(pkgPath, pkg, { spaces: 2 });\n }\n spinner.succeed('模板复制完成');\n\n if (install) {\n const installSpinner = ora(`正在安装依赖 (${pkgManager} install)...`).start();\n try {\n await execa(pkgManager, ['install'], { cwd: targetPath });\n installSpinner.succeed('依赖安装成功');\n } catch (error) {\n installSpinner.fail('依赖安装失败');\n console.error(chalk.red(error));\n }\n }\n\n // 4. 初始化 git 仓库\n const gitSpinner = ora('正在初始化 Git 仓库...').start();\n try {\n // 先检查是否已经存在 .git 目录(防止覆盖模板自带的 git,虽然按理说模板不该带 .git)\n if (fs.existsSync(path.join(targetPath, '.git'))) {\n gitSpinner.succeed('Git 仓库已存在,跳过初始化');\n } else {\n await execa('git', ['init'], { cwd: targetPath });\n gitSpinner.succeed('Git 仓库初始化成功');\n }\n } catch (error) {\n gitSpinner.warn('Git 仓库初始化失败 (可能是未安装 git)');\n }\n\n console.log(chalk.green(`\\n✅ 项目 ${finalProjectName} 创建成功!`));\n console.log(`\\n接下来你可以:\\n`);\n console.log(chalk.cyan(` cd ${finalProjectName}`));\n if (!install) {\n console.log(chalk.cyan(` ${pkgManager} install`));\n }\n console.log(chalk.cyan(` ${pkgManager === 'npm' ? 'npm run' : pkgManager} dev`));\n\n } catch (err) {\n if (err instanceof Error && err.message.includes('User force closed')) {\n console.log(chalk.yellow('\\n用户取消操作'));\n process.exit(0);\n }\n console.error(chalk.red('❌ 创建项目失败:'), err);\n }\n}\n","export type PackageManager = 'npm' | 'yarn' | 'pnpm' | 'bun';\n\nexport function getUserPkgManager(): PackageManager {\n // 从环境变量中获取用户使用的包管理器信息\n const userAgent = process.env.npm_config_user_agent;\n\n if (userAgent) {\n if (userAgent.startsWith('yarn')) {\n return 'yarn';\n } else if (userAgent.startsWith('pnpm')) {\n return 'pnpm';\n } else if (userAgent.startsWith('bun')) {\n return 'bun';\n }\n }\n\n return 'npm';\n}\n","import chalk from 'chalk';\n\n/**\n * 检查当前 Node.js 版本是否符合要求\n * 要求 Node.js 版本 >= 22.19.0\n */\nexport function checkNodeVersion() {\n const currentVersion = process.version;\n // 去掉版本号前的 'v',例如 'v22.5.1' -> '22.5.1'\n const version = currentVersion.replace(/^v/, '');\n const [major] = version.split('.').map(Number);\n\n if (major < 22) {\n console.error(chalk.red(`\\n❌ 错误:当前 Node.js 版本 (${currentVersion}) 过低!`));\n console.error(chalk.yellow('⚠️ 请升级 Node.js 版本,不低于 v22.19.0'));\n process.exit(1);\n }\n}\n"],"mappings":"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","names":["chalk"]}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# Logs
|
|
2
|
+
logs
|
|
3
|
+
*.log
|
|
4
|
+
npm-debug.log*
|
|
5
|
+
yarn-debug.log*
|
|
6
|
+
yarn-error.log*
|
|
7
|
+
pnpm-debug.log*
|
|
8
|
+
lerna-debug.log*
|
|
9
|
+
|
|
10
|
+
node_modules
|
|
11
|
+
dist
|
|
12
|
+
dist-ssr
|
|
13
|
+
*.local
|
|
14
|
+
|
|
15
|
+
# Editor directories and files
|
|
16
|
+
.vscode/*
|
|
17
|
+
!.vscode/extensions.json
|
|
18
|
+
.idea
|
|
19
|
+
.DS_Store
|
|
20
|
+
*.suo
|
|
21
|
+
*.ntvs*
|
|
22
|
+
*.njsproj
|
|
23
|
+
*.sln
|
|
24
|
+
*.sw?
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# Logs
|
|
2
|
+
logs
|
|
3
|
+
*.log
|
|
4
|
+
npm-debug.log*
|
|
5
|
+
yarn-debug.log*
|
|
6
|
+
yarn-error.log*
|
|
7
|
+
pnpm-debug.log*
|
|
8
|
+
lerna-debug.log*
|
|
9
|
+
|
|
10
|
+
node_modules
|
|
11
|
+
dist
|
|
12
|
+
dist-ssr
|
|
13
|
+
*.local
|
|
14
|
+
|
|
15
|
+
# Editor directories and files
|
|
16
|
+
.vscode/*
|
|
17
|
+
!.vscode/extensions.json
|
|
18
|
+
.idea
|
|
19
|
+
.DS_Store
|
|
20
|
+
*.suo
|
|
21
|
+
*.ntvs*
|
|
22
|
+
*.njsproj
|
|
23
|
+
*.sln
|
|
24
|
+
*.sw?
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# Logs
|
|
2
|
+
logs
|
|
3
|
+
*.log
|
|
4
|
+
npm-debug.log*
|
|
5
|
+
yarn-debug.log*
|
|
6
|
+
yarn-error.log*
|
|
7
|
+
pnpm-debug.log*
|
|
8
|
+
lerna-debug.log*
|
|
9
|
+
|
|
10
|
+
node_modules
|
|
11
|
+
dist
|
|
12
|
+
dist-ssr
|
|
13
|
+
*.local
|
|
14
|
+
|
|
15
|
+
# Editor directories and files
|
|
16
|
+
.vscode/*
|
|
17
|
+
!.vscode/extensions.json
|
|
18
|
+
.idea
|
|
19
|
+
.DS_Store
|
|
20
|
+
*.suo
|
|
21
|
+
*.ntvs*
|
|
22
|
+
*.njsproj
|
|
23
|
+
*.sln
|
|
24
|
+
*.sw?
|