fix: handle Windows with .cmd/.ps1 shims and add tests

- Extract ensureAliasLinks to its own module for testability
- On Windows, create .cmd and .ps1 shims instead of symlinks
- On Unix, create symlinks (as before)
- Skip alias creation when targets don't exist (pnpm v10)
- Add vitest and 8 tests covering unix/windows/skip/no-overwrite
This commit is contained in:
Zoltan Kochan
2026-03-26 18:41:05 +01:00
parent 747414e7da
commit 11687bb3d2
6 changed files with 1088 additions and 160 deletions

View File

@@ -3,6 +3,7 @@
"scripts": {
"build:bundle": "esbuild src/index.ts --bundle --platform=node --target=node24 --format=cjs --minify --outfile=dist/index.js --loader:.json=json",
"build": "pnpm run build:bundle",
"test": "vitest run",
"start": "pnpm run build && sh ./run.sh"
},
"dependencies": {
@@ -18,6 +19,7 @@
},
"devDependencies": {
"esbuild": "^0.27.4",
"typescript": "^5.3.3"
"typescript": "^5.3.3",
"vitest": "^4.1.2"
}
}