@iseoane/agent-depot 0.6.11 → 0.6.13

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/CHANGELOG.md CHANGED
@@ -7,6 +7,28 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.6.13] - 2026-11-11
11
+
12
+ ### Fixed
13
+
14
+ - `self update` accepts a global npm install when Node is managed by mise (for
15
+ example on Omarchy), where `npm` is a wrapper script instead of a link to
16
+ `npm-cli.js`. The npm next to the wrapper must be verifiable and npm's global
17
+ directory must still contain this exact installation (#102).
18
+
19
+ ### Changed
20
+
21
+ - Development only: release checks pass on Windows without touching real state (#101).
22
+
23
+ ## [0.6.12] - 2026-11-09
24
+
25
+ ### Changed
26
+
27
+ - Development only; the published CLI is unchanged. `pnpm test:single` maps test
28
+ paths on every shell, including Git Bash on Windows (#91); TUI tests no longer time
29
+ out on Windows (#90); local `pnpm test:e2e` on Windows skips its PTY journeys with
30
+ an explicit reason, as local end-to-end tests are Linux-only (#92).
31
+
10
32
  ## [0.6.11] - 2026-11-08
11
33
 
12
34
  ### Changed
@@ -66,6 +66,9 @@ function successfulStdout(result) {
66
66
  return undefined;
67
67
  return result.stdout.toString("utf8").trim();
68
68
  }
69
+ function isNpmCli(target) {
70
+ return target !== undefined && path.basename(target) === "npm-cli.js" && path.basename(path.dirname(target)) === "bin" && path.basename(path.dirname(path.dirname(target))) === "npm";
71
+ }
69
72
  export function createSelfUpdateOperations(options) {
70
73
  const resolveExecutable = options.resolveExecutable ?? createPortableExecutableResolver();
71
74
  const platform = options.platform ?? process.platform;
@@ -79,8 +82,12 @@ export function createSelfUpdateOperations(options) {
79
82
  const verifiedFile = platform === "win32" && path.basename(npm.executable).toLowerCase() === "npm.cmd"
80
83
  ? path.join(path.dirname(npm.executable), "node_modules", "npm", "bin", "npm-cli.js")
81
84
  : npm.executable;
82
- const target = await realpath(verifiedFile).catch(() => undefined);
83
- if (target === undefined || path.basename(target) !== "npm-cli.js" || path.basename(path.dirname(target)) !== "bin" || path.basename(path.dirname(path.dirname(target))) !== "npm")
85
+ let target = await realpath(verifiedFile).catch(() => undefined);
86
+ // mise replaces `<prefix>/bin/npm` with a script that runs `<prefix>/lib/node_modules/npm/bin/npm-cli.js`.
87
+ if (!isNpmCli(target) && platform !== "win32" && target !== undefined && path.basename(npm.executable) === "npm") {
88
+ target = await realpath(path.join(path.dirname(target), "..", "lib", "node_modules", "npm", "bin", "npm-cli.js")).catch(() => undefined);
89
+ }
90
+ if (!isNpmCli(target))
84
91
  return undefined;
85
92
  let rootResult;
86
93
  try {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@iseoane/agent-depot",
3
- "version": "0.6.11",
3
+ "version": "0.6.13",
4
4
  "description": "A cross-platform catalog for reusable coding-agent skills.",
5
5
  "license": "MIT",
6
6
  "author": "iseoane",
@@ -74,7 +74,7 @@
74
74
  "typecheck": "tsc --noEmit",
75
75
  "lint": "eslint \"src/**/*.{ts,tsx}\" \"resources/pi/**/*.{ts,tsx}\" \"tests/**/*.{ts,tsx}\"",
76
76
  "test": "pnpm build && node --test --import ./dist/tests/isolated-env.js \"dist/tests/*.test.js\"",
77
- "test:single": "pnpm build && node -e \"const { spawnSync } = require('node:child_process'); const input = process.argv[1] || 'tests/version.test.ts'; const file = input.replace(/^tests[\\\\/]/, 'dist/tests/').replace(/\\\\.tsx?$/i, '.js'); process.exit(spawnSync(process.execPath, ['--import', './dist/tests/isolated-env.js', '--test', file], { stdio: 'inherit' }).status ?? 1);\"",
77
+ "test:single": "pnpm build && node scripts/test-single.mjs",
78
78
  "test:coverage": "node -e \"require('node:fs').rmSync('coverage',{recursive:true,force:true})\" && tsc -p tsconfig.coverage.json && node -e \"const { spawnSync } = require('node:child_process'); process.exit(spawnSync(process.execPath, ['--enable-source-maps','--import','./dist/tests/isolated-env.js','--test','--test-reporter=dot','dist/tests/*.test.js'], { stdio: 'inherit', env: { ...process.env, NODE_V8_COVERAGE: 'coverage/v8' } }).status ?? 1);\"",
79
79
  "audit:dead-code": "npx --yes fallow@3.30.0 dead-code --fail-on-issues",
80
80
  "audit:dupes": "npx --yes fallow@3.30.0 dupes",