@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.
- package/bin/qt-web-cli.js +50 -5
- 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
|
|
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}
|
|
180
|
+
const webpackCmd = `${envPrefix}node ${webpackArgs.join(' ')}`
|
|
136
181
|
|
|
137
|
-
signale.pending(`执行: ${
|
|
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.
|
|
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.
|
|
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",
|