@rainbow-robotics/muscat-plugin-kit 0.1.2-dev.30 → 0.1.2-dev.33

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.
@@ -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, pm)
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/build.mjs CHANGED
@@ -382,7 +382,6 @@ function packZip(pluginRoot) {
382
382
  const size = statSync(full).isDirectory() ? dirSize(full) : statSync(full).size;
383
383
  log.info(` ├─ ${e} ${humanSize(size)}`);
384
384
  }
385
- log.warn("robot install checks free space via GET /plugin/capacity (507 if low).");
386
385
  }
387
386
 
388
387
  /**
@@ -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,27 @@ 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 && ` +
90
+ `python3 -m pip install -q --upgrade pip && ` +
88
91
  `pip3 download -r dist/requirements.lock ` +
89
92
  `--only-binary=:all: --platform ${platform} --python-version 312 --implementation cp ` +
90
93
  `-d dist/wheels`,
91
94
  ],
92
95
  { stdio: "inherit" },
93
96
  );
94
- if (r.status !== 0) throw new Error(`wheel vendoring failed for ${arch}`);
97
+ if (r.status !== 0) {
98
+ log.warn(`wheel vendoring failed for ${arch} — some packages may not have manylinux wheels`);
99
+ failed.push(arch);
100
+ } else {
101
+ log.ok(`dist/wheels/ ready (${arch})`);
102
+ }
103
+ }
104
+
105
+ if (failed.length === archs.length) {
106
+ throw new Error(`wheel vendoring failed for all archs: ${failed.join(", ")}`);
107
+ }
108
+ if (failed.length > 0) {
109
+ log.warn(`wheel vendoring partial — failed: ${failed.join(", ")}, ok: ${archs.filter((a) => !failed.includes(a)).join(", ")}`);
110
+ } else {
111
+ log.ok(`dist/wheels/ ready (${archs.join(", ")})`);
95
112
  }
96
- log.ok(`dist/wheels/ ready (${archs.join(", ")})`);
97
113
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rainbow-robotics/muscat-plugin-kit",
3
- "version": "0.1.2-dev.30",
3
+ "version": "0.1.2-dev.33",
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.30",
34
+ "@rainbow-robotics/preview-host": "0.1.2-dev.33",
35
35
  "socket.io": "^4.8.1"
36
36
  },
37
37
  "optionalDependencies": {