@open-dy/vibecoding-cli 0.1.18 → 0.1.20
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
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@open-dy/vibecoding-cli",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.20",
|
|
4
4
|
"description": "Command orchestration, validation and packaging for Douyin vibecoding Taro and OpenCard projects.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -43,8 +43,8 @@
|
|
|
43
43
|
"ajv": "^8.18.0"
|
|
44
44
|
},
|
|
45
45
|
"peerDependencies": {
|
|
46
|
-
"@open-dy/vibecoding-sdk-taro": "0.1.
|
|
47
|
-
"@open-dy/vibecoding-sdk-opencard": "0.1.
|
|
46
|
+
"@open-dy/vibecoding-sdk-taro": "0.1.16",
|
|
47
|
+
"@open-dy/vibecoding-sdk-opencard": "0.1.17"
|
|
48
48
|
},
|
|
49
49
|
"peerDependenciesMeta": {
|
|
50
50
|
"@open-dy/vibecoding-sdk-taro": {
|
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.20",
|
|
6
6
|
"source": {
|
|
7
|
-
"digest": "sha256-
|
|
7
|
+
"digest": "sha256-915118d0f66a99584b9f2ae289f4149ce848df7ee066c9c41029f17854830233",
|
|
8
8
|
"files": 96
|
|
9
9
|
},
|
|
10
|
-
"payload": "sha256-
|
|
10
|
+
"payload": "sha256-a33c1747b088f7cd4df77235f225648f3e2bc4d397f02174f95c89f15c039e3f",
|
|
11
11
|
"toolchain": {
|
|
12
12
|
"node": "v22.22.3",
|
|
13
13
|
"runtime": {
|
|
@@ -16,19 +16,32 @@ export function validateDependencies(context) {
|
|
|
16
16
|
const roots = context.target === 'opencard'
|
|
17
17
|
? [context.root]
|
|
18
18
|
: [context.root, ...(context.hasOpenCard ? [context.opencardRoot] : [])]
|
|
19
|
-
const
|
|
19
|
+
const unsupportedDependencies = []
|
|
20
|
+
const missingPackageManagers = []
|
|
20
21
|
for (const root of roots) {
|
|
21
|
-
|
|
22
|
-
|
|
22
|
+
const manifestPath = path.join(root, 'package.json')
|
|
23
|
+
if (!existsSync(manifestPath)) continue
|
|
24
|
+
const manifest = JSON.parse(readFileSync(manifestPath, 'utf8'))
|
|
25
|
+
if (typeof manifest.packageManager !== 'string' || !manifest.packageManager.trim()) {
|
|
26
|
+
missingPackageManagers.push(manifestPath)
|
|
27
|
+
}
|
|
23
28
|
for (const field of FIELDS) {
|
|
24
29
|
for (const name of FORBIDDEN) {
|
|
25
|
-
if (manifest[field]?.[name])
|
|
30
|
+
if (manifest[field]?.[name]) unsupportedDependencies.push(`${manifestPath}: ${field}.${name}`)
|
|
26
31
|
}
|
|
27
32
|
}
|
|
28
33
|
}
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
34
|
+
const errors = []
|
|
35
|
+
if (missingPackageManagers.length > 0) {
|
|
36
|
+
errors.push(
|
|
37
|
+
`Missing or empty packageManager in project manifests:\n${missingPackageManagers.map((file) => `- ${file}`).join('\n')}\n` +
|
|
38
|
+
'Set the top-level "packageManager": "pnpm@10.4.1" in each listed package.json, then rerun pnpm verify.',
|
|
39
|
+
)
|
|
40
|
+
}
|
|
41
|
+
if (unsupportedDependencies.length > 0) {
|
|
42
|
+
errors.push(
|
|
43
|
+
`Unsupported web Three.js dependencies found:\n${unsupportedDependencies.map((item) => `- ${item}`).join('\n')}\nUse @open-dy/threejs instead.`,
|
|
32
44
|
)
|
|
33
45
|
}
|
|
46
|
+
if (errors.length > 0) throw new CliError(errors.join('\n\n'))
|
|
34
47
|
}
|