@open-dy/vibecoding-cli 0.1.6 → 0.1.8
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/package.json +2 -2
- package/release-provenance.json +3 -3
- package/src/commands/verify.mjs +32 -7
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@open-dy/vibecoding-cli",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.8",
|
|
4
4
|
"description": "Command orchestration, validation and packaging for Douyin vibecoding Taro and OpenCard projects.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
"ajv": "^8.18.0"
|
|
44
44
|
},
|
|
45
45
|
"peerDependencies": {
|
|
46
|
-
"@open-dy/vibecoding-sdk-taro": "0.1.
|
|
46
|
+
"@open-dy/vibecoding-sdk-taro": "0.1.2",
|
|
47
47
|
"@open-dy/vibecoding-sdk-opencard": "0.1.5"
|
|
48
48
|
},
|
|
49
49
|
"peerDependenciesMeta": {
|
package/release-provenance.json
CHANGED
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
"schema": 1,
|
|
3
3
|
"producer": "vibecoding-cli",
|
|
4
4
|
"packageName": "@open-dy/vibecoding-cli",
|
|
5
|
-
"version": "0.1.
|
|
5
|
+
"version": "0.1.8",
|
|
6
6
|
"source": {
|
|
7
|
-
"digest": "sha256-
|
|
7
|
+
"digest": "sha256-24a293d61a73f406718f07f1e33ef984f17c2643661e48e40448bf5cdbebb61d",
|
|
8
8
|
"files": 87
|
|
9
9
|
},
|
|
10
|
-
"payload": "sha256-
|
|
10
|
+
"payload": "sha256-350c38eecfc492fc528f7ade43b39fb53823cb59d61e7f0ee191b2641239b8c6",
|
|
11
11
|
"toolchain": {
|
|
12
12
|
"node": "v22.22.3",
|
|
13
13
|
"packageManager": null
|
package/src/commands/verify.mjs
CHANGED
|
@@ -548,7 +548,7 @@ export function isBrowserInfrastructureError(error) {
|
|
|
548
548
|
async function browserCheck(root, url, label) {
|
|
549
549
|
if (packageUses(root, '@open-dy/threejs')) {
|
|
550
550
|
console.log(`[vibecoding:verify] ${label}: skipping browser runtime check for @open-dy/threejs`)
|
|
551
|
-
return
|
|
551
|
+
return { skipped: true }
|
|
552
552
|
}
|
|
553
553
|
parseHttpUrl(url, label)
|
|
554
554
|
const session = process.env.AGENT_BROWSER_SESSION || `vibecoding-${Date.now()}-${Math.random().toString(36).slice(2, 8)}`
|
|
@@ -604,6 +604,7 @@ async function browserCheck(root, url, label) {
|
|
|
604
604
|
console.log(`[vibecoding:verify] browser cleanup failed: ${error.message}`)
|
|
605
605
|
})
|
|
606
606
|
}
|
|
607
|
+
return { skipped: false }
|
|
607
608
|
}
|
|
608
609
|
|
|
609
610
|
export function resolveFrontendUrl(context, options = {}, env = process.env) {
|
|
@@ -623,19 +624,43 @@ export async function runVerify(context, options = {}) {
|
|
|
623
624
|
options = { timeoutSeconds: 90, ...options, full }
|
|
624
625
|
const frontendUrl = resolveFrontendUrl(context, options)
|
|
625
626
|
parseHttpUrl(frontendUrl, 'frontend')
|
|
626
|
-
if (full || options.staticOnly)
|
|
627
|
-
|
|
627
|
+
if (full || options.staticOnly) {
|
|
628
|
+
console.log('[verify] === static ===')
|
|
629
|
+
await runStatic(context)
|
|
630
|
+
console.log('[verify] Static phase passed (all parallel tasks OK).')
|
|
631
|
+
}
|
|
632
|
+
if (options.staticOnly) {
|
|
633
|
+
console.log('[verify] --static-only: done.')
|
|
634
|
+
return
|
|
635
|
+
}
|
|
628
636
|
|
|
637
|
+
console.log('[verify] === dynamic: ports ===')
|
|
629
638
|
await verifyPorts(context, options, frontendUrl)
|
|
630
|
-
|
|
631
|
-
if (
|
|
639
|
+
console.log(`[verify] Ports ready: ${targetPorts(context, frontendUrl, full).map(({ label, port }) => `${label}:${port}`).join(', ')}.`)
|
|
640
|
+
if (options.portsOnly) {
|
|
641
|
+
console.log('[verify] --ports-only: done.')
|
|
642
|
+
console.log('[verify] All checks passed.')
|
|
643
|
+
return
|
|
644
|
+
}
|
|
645
|
+
if (full && context.target === 'taro') {
|
|
646
|
+
console.log('[verify] === dynamic: feed API (/api/dy_card/data) ===')
|
|
647
|
+
const result = await verifyFeedApi(context)
|
|
648
|
+
console.log(result.skipped
|
|
649
|
+
? '[verify] No feed/feed-card.json; skipping /api/dy_card/data probe.'
|
|
650
|
+
: '[verify] /api/dy_card/data probe OK (success=true).')
|
|
651
|
+
}
|
|
652
|
+
console.log('[verify] === dynamic: browser runtime ===')
|
|
632
653
|
if (context.target === 'taro' &&
|
|
633
654
|
existsSync(path.resolve(context.root, '../sar_game/package.json'))) {
|
|
634
655
|
console.log('[vibecoding:verify] SAR game project detected; skipping browser runtime checks')
|
|
656
|
+
console.log('[verify] All checks passed.')
|
|
635
657
|
return
|
|
636
658
|
}
|
|
637
|
-
await browserCheck(context.root, frontendUrl, context.target)
|
|
659
|
+
const mainRuntime = await browserCheck(context.root, frontendUrl, context.target)
|
|
660
|
+
if (!mainRuntime.skipped) console.log(`[verify] No runtime issues at ${new URL(frontendUrl).href}.`)
|
|
638
661
|
if (context.target === 'taro' && context.hasOpenCard) {
|
|
639
|
-
await browserCheck(context.opencardRoot, 'http://localhost:10087/', 'opencard')
|
|
662
|
+
const cardRuntime = await browserCheck(context.opencardRoot, 'http://localhost:10087/', 'opencard')
|
|
663
|
+
if (!cardRuntime.skipped) console.log('[verify] No runtime issues at http://localhost:10087/.')
|
|
640
664
|
}
|
|
665
|
+
console.log('[verify] All checks passed.')
|
|
641
666
|
}
|