elsabro 3.8.2 → 3.8.3

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/install.js +10 -11
  2. package/package.json +1 -1
package/bin/install.js CHANGED
@@ -247,21 +247,20 @@ if (hasUpdate) {
247
247
  }
248
248
 
249
249
  try {
250
- // Use execFileSync with the package manager directly
251
- // Use getExecutable for Windows compatibility
252
- // IMPORTANT: Use --yes and clear npm cache to force fresh download from registry
250
+ // Use specific version from registry to avoid cache issues
251
+ // Don't pass --update to avoid infinite recursion
252
+ const versionToInstall = latestVersion || 'latest';
253
+ const packageSpec = `elsabro@${versionToInstall}`;
254
+
253
255
  if (packageManager === 'pnpm') {
254
- // pnpm dlx always fetches fresh
255
- execFileSync(getExecutable('pnpm'), ['dlx', 'elsabro@latest', '--global'], { stdio: 'inherit' });
256
+ execFileSync(getExecutable('pnpm'), ['dlx', packageSpec, '--global'], { stdio: 'inherit' });
256
257
  } else if (packageManager === 'bun') {
257
- // bunx fetches fresh by default
258
- execFileSync(getExecutable('bunx'), ['elsabro@latest', '--global'], { stdio: 'inherit' });
258
+ execFileSync(getExecutable('bunx'), [packageSpec, '--global'], { stdio: 'inherit' });
259
259
  } else {
260
- // npm exec: more reliable than npx for executing remote packages
261
- // Use --yes to skip prompts and ensure fresh download from registry
262
- execFileSync(getExecutable('npm'), ['exec', '--yes', '--', 'elsabro@latest', '--global'], { stdio: 'inherit' });
260
+ // npm exec with specific version bypasses cache
261
+ execFileSync(getExecutable('npm'), ['exec', '--yes', '--', packageSpec, '--global'], { stdio: 'inherit' });
263
262
  }
264
- console.log(`\n ${green}✓${reset} ELSABRO actualizado correctamente\n`);
263
+ console.log(`\n ${green}✓${reset} ELSABRO actualizado a v${versionToInstall}\n`);
265
264
  } catch (error) {
266
265
  console.error(`\n ${red}✗${reset} Error al actualizar: ${error.message}\n`);
267
266
  process.exit(1);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "elsabro",
3
- "version": "3.8.2",
3
+ "version": "3.8.3",
4
4
  "description": "Sistema de desarrollo AI-powered para Claude Code - Orquestación avanzada con checkpointing, memoria multi-nivel y flows declarativos",
5
5
  "bin": {
6
6
  "elsabro": "bin/install.js"