create-next-imagicma 0.0.4 → 0.0.5

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/README.md CHANGED
@@ -20,6 +20,7 @@ node ./create-next-imagicma/bin/create-next-imagicma.mjs demo-5001 --port 5001
20
20
 
21
21
  - `--port <number>`:设置新项目 `dev/start` 的默认端口(写入 `next ... -p <port>`)。
22
22
  - `--theme <name>`:设置新项目默认主题(可选:`quadratic`、`nomad`、`honey`、`zen-garden`、`highlighter`)。
23
+ - `-v, --version`:显示当前脚手架版本号。
23
24
  - 运行时仍可覆盖,例如:`pnpm dev -- -p 6001` 或 `PORT=6001 pnpm start`
24
25
 
25
26
  ## 依赖安装策略
@@ -16,6 +16,14 @@ const THEME_STYLES = [
16
16
  "highlighter",
17
17
  ];
18
18
 
19
+ const PACKAGE_JSON_PATH = path.resolve(__dirname, "..", "package.json");
20
+
21
+ async function getVersion() {
22
+ const raw = await fs.readFile(PACKAGE_JSON_PATH, "utf8");
23
+ const pkg = JSON.parse(raw);
24
+ return pkg.version ?? "0.0.0";
25
+ }
26
+
19
27
  function printHelp() {
20
28
  console.log(`create-next-imagicma <project-dir> [--port <1-65535>] [--theme <name>]
21
29
 
@@ -23,6 +31,7 @@ function printHelp() {
23
31
  --port <number> 设置新项目 dev/start 的默认端口(next ... -p)
24
32
  --theme <name> 设置默认主题(可选:${THEME_STYLES.join(", ")})
25
33
  -h, --help 显示帮助
34
+ -v, --version 显示版本号
26
35
  `);
27
36
  }
28
37
 
@@ -75,6 +84,10 @@ function parseArgs(argv) {
75
84
  return { help: true };
76
85
  }
77
86
 
87
+ if (arg === "-v" || arg === "--version") {
88
+ return { version: true };
89
+ }
90
+
78
91
  if (arg === "--port") {
79
92
  const value = argv[i + 1];
80
93
  if (!value) {
@@ -121,7 +134,7 @@ function parseArgs(argv) {
121
134
  throw new Error("缺少 <project-dir>:请指定要创建的项目目录名/路径");
122
135
  }
123
136
 
124
- return { projectDir, port, theme, help: false };
137
+ return { projectDir, port, theme, help: false, version: false };
125
138
  }
126
139
 
127
140
  async function ensureTargetDirReady(targetDir) {
@@ -286,6 +299,11 @@ async function main() {
286
299
  printHelp();
287
300
  return;
288
301
  }
302
+ if (parsed.version) {
303
+ const version = await getVersion();
304
+ console.log(version);
305
+ return;
306
+ }
289
307
 
290
308
  const { projectDir, port, theme } = parsed;
291
309
  const targetDir = path.resolve(process.cwd(), projectDir);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-next-imagicma",
3
- "version": "0.0.4",
3
+ "version": "0.0.5",
4
4
  "type": "module",
5
5
  "bin": {
6
6
  "create-next-imagicma": "./bin/create-next-imagicma.mjs"