Files
arboretum/packages/server/package.json
Johan LEROY 842f17fad3
Some checks failed
CI / Build & test (Node 24) (push) Has been cancelled
CI / Pack & boot smoke (Node 22) (push) Has been cancelled
CI / Build & test (Node 22) (push) Has been cancelled
fix(packaging): inline @arboretum/shared dans dist/ — tarball autonome (abandon de bundleDependencies)
bundleDependencies d'un paquet *workspace* est instable selon l'environnement npm
(mode -w, exécution en root sur un runner CI) : npm voyait shared comme un lien
workspace et n'embarquait AUCUN fichier ("bundled files: 0"), publiant un tarball
cassé — `Cannot find module '@arboretum/shared'` au démarrage chez le consommateur.
C'est ce que détectait (à juste titre) le job pack-smoke.

Nouveau mécanisme, identique sur tout environnement : scripts/inline-shared.mjs
(hook prepack) copie le JS compilé de shared dans dist/_shared/ et réécrit l'import
bare '@arboretum/shared' des .js du serveur vers ce chemin relatif. shared passe en
devDependency (résolu en dev via le symlink workspace, jamais exigé du consommateur).
Plus de node_modules embarqué ni de symlink dans le tarball.

ci.yml (pack-smoke) packe désormais en -w (comme release.yml) et asserte l'autonomie
(dist/_shared présent + zéro import bare) avant le boot smoke.

Validé de bout en bout sur checkout propre : npm ci + build + pack -w + install dans
projet vierge + boot -> HTTP 401, et 263 tests verts.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-19 09:46:05 +02:00

69 lines
1.7 KiB
JSON

{
"name": "@johanleroy/git-arboretum",
"version": "1.4.0",
"description": "Self-hosted web dashboard for git worktrees and the Claude Code sessions running on them",
"license": "MIT",
"type": "module",
"author": "Johan LEROY <contact@johanleroy.fr>",
"homepage": "https://git.lidge.fr/johanleroy/arboretum#readme",
"repository": {
"type": "git",
"url": "git+https://git.lidge.fr/johanleroy/arboretum.git",
"directory": "packages/server"
},
"bugs": {
"url": "https://git.lidge.fr/johanleroy/arboretum/issues"
},
"funding": {
"type": "buymeacoffee",
"url": "https://buymeacoffee.com/johanleroy"
},
"keywords": [
"git",
"worktree",
"claude",
"claude-code",
"dashboard",
"self-hosted",
"pty",
"terminal",
"cli",
"daemon",
"pwa"
],
"bin": {
"arboretum": "./dist/index.js"
},
"main": "./dist/app.js",
"files": [
"dist/**/*.js",
"public"
],
"engines": {
"node": ">=22.16"
},
"publishConfig": {
"registry": "https://git.lidge.fr/api/packages/johanleroy/npm/"
},
"scripts": {
"build": "tsc -b",
"dev": "tsc -b --watch & node --watch dist/index.js",
"prepack": "node scripts/copy-web.mjs && node scripts/inline-shared.mjs && node scripts/copy-meta.mjs",
"test": "vitest run"
},
"dependencies": {
"@fastify/cookie": "^11.0.0",
"@fastify/static": "^9.0.0",
"@fastify/websocket": "^11.0.0",
"@homebridge/node-pty-prebuilt-multiarch": "^0.13.0",
"@xterm/headless": "^6.0.0",
"fastify": "^5.0.0",
"web-push": "^3.6.7"
},
"devDependencies": {
"@arboretum/shared": "0.1.0",
"@types/web-push": "^3.6.4",
"@types/ws": "^8.5.0"
}
}