@quicktvui/web-cli 1.0.0-beta.23 → 1.0.0-beta.25

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.
Files changed (2) hide show
  1. package/bin/qt-web-cli.js +50 -5
  2. package/package.json +2 -2
package/bin/qt-web-cli.js CHANGED
@@ -14,7 +14,7 @@ const { exec } = require('shelljs')
14
14
  // 解析命令行参数
15
15
  const args = minimist(process.argv.slice(2), {
16
16
  string: ['port', 'config'],
17
- boolean: ['help', 'open'],
17
+ boolean: ['help', 'open', 'v', 'info', 'version'],
18
18
  alias: {
19
19
  p: 'port',
20
20
  c: 'config',
@@ -27,6 +27,44 @@ const args = minimist(process.argv.slice(2), {
27
27
  },
28
28
  })
29
29
 
30
+ // 显示版本信息
31
+ if (args.v || args.version) {
32
+ const cliPkg = require(path.join(__dirname, '../package.json'))
33
+ console.log(`@quicktvui/web-cli v${cliPkg.version}`)
34
+ process.exit(0)
35
+ }
36
+
37
+ // 显示详细信息(包括 web-renderer 版本)
38
+ if (args.info) {
39
+ const cliPkg = require(path.join(__dirname, '../package.json'))
40
+ console.log(`@quicktvui/web-cli v${cliPkg.version}`)
41
+ try {
42
+ // 尝试多种路径查找 web-renderer
43
+ let rendererPkg
44
+ const possiblePaths = [
45
+ '@quicktvui/web-renderer/package.json',
46
+ path.join(__dirname, '../../web-renderer/package.json'),
47
+ path.join(__dirname, '../../../web-renderer/package.json'),
48
+ ]
49
+ for (const pkgPath of possiblePaths) {
50
+ try {
51
+ rendererPkg = require(pkgPath)
52
+ break
53
+ } catch (e) {
54
+ // 继续尝试下一个路径
55
+ }
56
+ }
57
+ if (rendererPkg) {
58
+ console.log(`@quicktvui/web-renderer v${rendererPkg.version}`)
59
+ } else {
60
+ console.log('@quicktvui/web-renderer (not installed)')
61
+ }
62
+ } catch (e) {
63
+ console.log('@quicktvui/web-renderer (not installed)')
64
+ }
65
+ process.exit(0)
66
+ }
67
+
30
68
  // 显示帮助信息
31
69
  if (args.help) {
32
70
  console.log(`
@@ -40,11 +78,15 @@ Options:
40
78
  -c, --config <path> 自定义 webpack 配置文件路径
41
79
  -o, --open 自动打开浏览器
42
80
  -h, --help 显示帮助信息
81
+ -v, --version 显示 CLI 版本
82
+ --info 显示 CLI 和 web-renderer 版本
43
83
 
44
84
  Examples:
45
85
  qt-web-cli
46
86
  qt-web-cli --port 8080
47
87
  qt-web-cli --config ./my.webpack.js
88
+ qt-web-cli -v
89
+ qt-web-cli --info
48
90
 
49
91
  特点:
50
92
  - 自动检测项目入口 (main-native.ts/js, main.ts/js)
@@ -128,13 +170,16 @@ async function main() {
128
170
  signale.warn(`检测到 OpenSSL ${process.versions.openssl},已添加 --openssl-legacy-provider`)
129
171
  }
130
172
 
131
- // 构建 webpack 命令
132
- const webpackArgs = ['serve', `--config "${webpackConfigPath}"`, `--port ${args.port}`, '--color']
173
+ // 构建 webpack 命令 - 使用 web-cli 自带的 webpack-cli
174
+ const webpackCliPath = require.resolve('webpack-cli/bin/cli.js', {
175
+ paths: [path.resolve(__dirname, '..')],
176
+ })
177
+ const webpackArgs = [webpackCliPath, 'serve', `--config "${webpackConfigPath}"`, `--port ${args.port}`, '--color']
133
178
 
134
179
  const envPrefix = nodeOptions ? `NODE_OPTIONS="${nodeOptions}" ` : ''
135
- const webpackCmd = `${envPrefix}npx webpack ${webpackArgs.join(' ')}`
180
+ const webpackCmd = `${envPrefix}node ${webpackArgs.join(' ')}`
136
181
 
137
- signale.pending(`执行: ${webpackCmd}`)
182
+ signale.pending(`执行: webpack serve --port ${args.port}`)
138
183
 
139
184
  // 如果需要打开浏览器,等待服务器就绪后打开
140
185
  if (args.open) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@quicktvui/web-cli",
3
- "version": "1.0.0-beta.23",
3
+ "version": "1.0.0-beta.25",
4
4
  "description": "CLI tool for QuickTVUI web development - zero configuration",
5
5
  "author": "QuickTVUI Team",
6
6
  "license": "Apache-2.0",
@@ -24,7 +24,7 @@
24
24
  "minimist": "^1.2.8",
25
25
  "shelljs": "^0.10.0",
26
26
  "signale": "^1.4.0",
27
- "@quicktvui/web-renderer": "^1.0.7",
27
+ "@quicktvui/web-renderer": "^1.0.8",
28
28
  "scope-loader": "^1.0.3",
29
29
  "webpack": "^5.89.0",
30
30
  "webpack-cli": "^5.1.0",