@quicktvui/web-cli 1.0.0-beta.16 → 1.0.0-beta.17

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 +29 -17
  2. package/package.json +1 -1
package/bin/qt-web-cli.js CHANGED
@@ -76,23 +76,35 @@ async function main() {
76
76
  let mainEntry
77
77
  let entryType
78
78
 
79
- if (pkg.webMain) {
80
- // 项目已有 webMain,直接使用
81
- mainEntry = pkg.webMain
82
- entryType = 'webmain'
83
- signale.info(`主入口: ${mainEntry} (webMain)`)
84
- } else if (fs.existsSync(path.join(projectRoot, 'src/web/index.js'))) {
85
- // 有 src/web 目录,使用 entry-local.js 包装 main
86
- mainEntry = pkg.main || './src/main.ts'
87
- entryType = 'local'
88
- signale.info(`主入口: ${mainEntry}`)
89
- signale.info(`Web 渲染器: src/web (本地)`)
90
- } else {
91
- // 使用 @quicktvui/web-renderer 包
92
- mainEntry = pkg.main || './src/main.ts'
93
- entryType = 'package'
94
- signale.info(`主入口: ${mainEntry}`)
95
- signale.info(`Web 渲染器: @quicktvui/web-renderer (包)`)
79
+ // 入口候选列表
80
+ const entryCandidates = [
81
+ { name: 'webMain', path: pkg.webMain, type: 'webmain' },
82
+ { name: 'src/main.ts', path: './src/main.ts', type: 'package' },
83
+ { name: 'src/main.js', path: './src/main.js', type: 'package' },
84
+ { name: 'main (package.json)', path: pkg.main, type: 'package' },
85
+ ]
86
+
87
+ // 检查 src/web 本地渲染器
88
+ const hasLocalWebRenderer = fs.existsSync(path.join(projectRoot, 'src/web/index.js'))
89
+
90
+ for (const candidate of entryCandidates) {
91
+ if (!candidate.path) continue
92
+ const entryFullPath = path.resolve(projectRoot, candidate.path)
93
+ if (fs.existsSync(entryFullPath)) {
94
+ mainEntry = candidate.path
95
+ entryType = hasLocalWebRenderer ? 'local' : candidate.type
96
+ signale.info(`主入口: ${mainEntry}`)
97
+ signale.info(`Web 渲染器: ${hasLocalWebRenderer ? 'src/web (本地)' : '@quicktvui/web-renderer (包)'}`)
98
+ break
99
+ }
100
+ }
101
+
102
+ if (!mainEntry) {
103
+ signale.error('无法找到有效的入口文件,请检查以下路径:')
104
+ signale.error(' - package.json 中的 webMain 字段')
105
+ signale.error(' - src/main.ts 或 src/main.js')
106
+ signale.error(' - package.json 中的 main 字段')
107
+ process.exit(1)
96
108
  }
97
109
 
98
110
  const mainEntryPath = path.resolve(projectRoot, mainEntry)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@quicktvui/web-cli",
3
- "version": "1.0.0-beta.16",
3
+ "version": "1.0.0-beta.17",
4
4
  "description": "CLI tool for QuickTVUI web development - zero configuration",
5
5
  "author": "QuickTVUI Team",
6
6
  "license": "Apache-2.0",