@rainbow-robotics/muscat-plugin-kit 0.1.2-dev.30 → 0.1.2-dev.31
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/cli/bin/muscat-pk.mjs +2 -2
- package/cli/src/python.mjs +19 -4
- package/package.json +2 -2
package/cli/bin/muscat-pk.mjs
CHANGED
|
@@ -19,8 +19,8 @@ const HELP = `muscat-pk — Muscat plugin kit
|
|
|
19
19
|
Usage: muscat-pk <command> [options]
|
|
20
20
|
|
|
21
21
|
Commands:
|
|
22
|
-
new [dir] Scaffold a new plugin project (prompts: author, email, description, type,
|
|
23
|
-
type change Switch backend type (python | cpp | ros2 | ros2-cpp)
|
|
22
|
+
new [dir] Scaffold a new plugin project (prompts: author, email, description, type, front-package-manager)
|
|
23
|
+
type change Switch backend type (python | cpp | ros2-python | ros2-cpp)
|
|
24
24
|
build Build + lock deps + vendor wheels + zip (--no-zip: skip zip, --no-lock: skip python lock/vendor)
|
|
25
25
|
dev Run Socket.IO bridge, dev:ui, and dev:back together
|
|
26
26
|
dev:ui Preview the plugin in a mini-Muscat (preview-host)
|
package/cli/src/python.mjs
CHANGED
|
@@ -70,6 +70,8 @@ export function lockAndVendor(pluginRoot, archs = ["x86_64", "aarch64"]) {
|
|
|
70
70
|
log.ok("dist/requirements.lock ready");
|
|
71
71
|
|
|
72
72
|
// arch별 휠 벤더링 — QEMU 불필요 (download only, --platform 고정)
|
|
73
|
+
// 한 arch가 실패해도 나머지 arch는 계속 시도한다.
|
|
74
|
+
const failed = [];
|
|
73
75
|
for (const arch of archs) {
|
|
74
76
|
const platform = ARCH_PLATFORM[arch];
|
|
75
77
|
if (!platform) {
|
|
@@ -85,13 +87,26 @@ export function lockAndVendor(pluginRoot, archs = ["x86_64", "aarch64"]) {
|
|
|
85
87
|
PYTHON_DEV_IMAGE,
|
|
86
88
|
"bash", "-c",
|
|
87
89
|
`set -e && cd /plugin && mkdir -p dist/wheels && ` +
|
|
88
|
-
`
|
|
89
|
-
`--only-binary
|
|
90
|
+
`uv pip download -r dist/requirements.lock ` +
|
|
91
|
+
`--only-binary :all: --platform ${platform} --python-version 3.12 ` +
|
|
90
92
|
`-d dist/wheels`,
|
|
91
93
|
],
|
|
92
94
|
{ stdio: "inherit" },
|
|
93
95
|
);
|
|
94
|
-
if (r.status !== 0)
|
|
96
|
+
if (r.status !== 0) {
|
|
97
|
+
log.warn(`wheel vendoring failed for ${arch} — some packages may not have manylinux wheels`);
|
|
98
|
+
failed.push(arch);
|
|
99
|
+
} else {
|
|
100
|
+
log.ok(`dist/wheels/ ready (${arch})`);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
if (failed.length === archs.length) {
|
|
105
|
+
throw new Error(`wheel vendoring failed for all archs: ${failed.join(", ")}`);
|
|
106
|
+
}
|
|
107
|
+
if (failed.length > 0) {
|
|
108
|
+
log.warn(`wheel vendoring partial — failed: ${failed.join(", ")}, ok: ${archs.filter((a) => !failed.includes(a)).join(", ")}`);
|
|
109
|
+
} else {
|
|
110
|
+
log.ok(`dist/wheels/ ready (${archs.join(", ")})`);
|
|
95
111
|
}
|
|
96
|
-
log.ok(`dist/wheels/ ready (${archs.join(", ")})`);
|
|
97
112
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rainbow-robotics/muscat-plugin-kit",
|
|
3
|
-
"version": "0.1.2-dev.
|
|
3
|
+
"version": "0.1.2-dev.31",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"engines": {
|
|
6
6
|
"node": ">=20"
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
"@types/react-dom": "^19.0.4"
|
|
32
32
|
},
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"@rainbow-robotics/preview-host": "0.1.2-dev.
|
|
34
|
+
"@rainbow-robotics/preview-host": "0.1.2-dev.31",
|
|
35
35
|
"socket.io": "^4.8.1"
|
|
36
36
|
},
|
|
37
37
|
"optionalDependencies": {
|