np
np copied to clipboard
Husky prepare script breaking np
Description
When husky installed and in package.json prepare: husky install script exists np crashes with
✖ SyntaxError: Unexpected token '>', "
> kirka@5."... is not valid JSON
at JSON.parse (<anonymous>)
at Module.getFilesToBePacked (file:///nix/store/zmmxxn34hc1dllqrd7qqid720gqzdjy7-np-9.2.0/lib/node_modules/np/source/npm/util.js:144:23)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async Module.getNewFiles (file:///nix/store/zmmxxn34hc1dllqrd7qqid720gqzdjy7-np-9.2.0/lib/node_modules/np/source/util.js:103:23)
at async checkNewFilesAndDependencies (file:///nix/store/zmmxxn34hc1dllqrd7qqid720gqzdjy7-np-9.2.0/lib/node_modules/np/source/ui.js:81:19)
at async ui (file:///nix/store/zmmxxn34hc1dllqrd7qqid720gqzdjy7-np-9.2.0/lib/node_modules/np/source/ui.js:150:30)
at async file:///nix/store/zmmxxn34hc1dllqrd7qqid720gqzdjy7-np-9.2.0/lib/node_modules/np/source/cli-implementation.js:137:18
This is what is happening in stdout when running np
> [email protected] prepare
> husky install
husky - Git hooks installed
[
{
"id": "[email protected]",
"name": "kirka",
"version": "5.1.0",
"size": 138771,
"unpackedSize": 713895,
"shasum": "658deca4ed8313011ac886dd7c6bc84c39cab09b",
"integrity": "sha512-Tb1wefIGsLoYjjGi0sIgp72y/Qoz8IVaq9YbW6L/f7Af3npjKIw51zvUCKoyd/GXvYW78jR88oj5xPr7r+N+MA==",
"filename": "kirka-5.1.0.tgz",
"files": [...],
"entryCount": 694,
"bundled": []
}
]
Expected behavior
Should just work
Environment
np - 9.2.0 Node.js - 21.7.1 npm - 10.5.0 Git - 2.42 OS - nixos 23.10 (unstable branch)
As a workaround i just removed prepare
You can fix it by doing:
"prepare": "husky install > /dev/null",
And if you update to version 9 of huskyI also think this issue will go away
@voxpelli love the idea with output, but it's not crossplatform.
Seems like husky made something with debug output in v9. I'll check later if it really fixes the issue
I had a similar issue when migrating from an old project that had:
HUSKY=0 np
in its release script. After migrating to Husky v9, and using husky instead of husky install, I could also remove the HUSKY=0 part and releasing worked fine.