@quicktvui/web-cli 1.0.0-beta.22 → 1.0.0-beta.24
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 +43 -1
- package/package.json +2 -2
- package/templates/web-renderer.html +11 -0
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)
|
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.24",
|
|
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",
|
|
@@ -50,6 +50,7 @@
|
|
|
50
50
|
height: 1080px !important;
|
|
51
51
|
transform-origin: top left;
|
|
52
52
|
background-color: #26292F;
|
|
53
|
+
visibility: hidden;
|
|
53
54
|
}
|
|
54
55
|
/* 返回按钮样式 */
|
|
55
56
|
#web-back-btn {
|
|
@@ -131,6 +132,9 @@
|
|
|
131
132
|
var offsetY = (_originalInnerHeight - TV_HEIGHT * scale) / 2;
|
|
132
133
|
app.style.marginLeft = offsetX + 'px';
|
|
133
134
|
app.style.marginTop = offsetY + 'px';
|
|
135
|
+
|
|
136
|
+
// Show the app after positioning
|
|
137
|
+
app.style.visibility = 'visible';
|
|
134
138
|
|
|
135
139
|
// 更新返回按钮位置,相对于 #app 左上角
|
|
136
140
|
var btn = document.getElementById('web-back-btn');
|
|
@@ -144,6 +148,13 @@
|
|
|
144
148
|
}
|
|
145
149
|
}
|
|
146
150
|
}
|
|
151
|
+
|
|
152
|
+
// Execute immediately when DOM is ready (before load event)
|
|
153
|
+
if (document.readyState === 'loading') {
|
|
154
|
+
document.addEventListener('DOMContentLoaded', scaleApp);
|
|
155
|
+
} else {
|
|
156
|
+
scaleApp();
|
|
157
|
+
}
|
|
147
158
|
window.addEventListener('load', scaleApp);
|
|
148
159
|
window.addEventListener('resize', scaleApp);
|
|
149
160
|
</script>
|