Socket
Socket
Sign inDemoInstall

husky

Package Overview
Dependencies
Maintainers
1
Versions
214
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

husky - npm Package Compare versions

Comparing version 5.2.0 to 6.0.0

lib/bin.d.ts

96

lib/bin.js
#!/usr/bin/env node
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const fs_1 = __importDefault(require("fs"));
const path_1 = __importDefault(require("path"));
const init_1 = require("./commands/init");
const install_1 = require("./commands/install");
const set_add_1 = require("./commands/set_add");
const uninstall_1 = require("./commands/uninstall");
const fs = require("fs");
const path = require("path");
const _1 = require("./");
function readPkg() {
return JSON.parse(fs_1.default.readFileSync(path_1.default.join(__dirname, '../package.json'), 'utf-8'));
return JSON.parse(fs.readFileSync(path.join(__dirname, '../package.json'), 'utf-8'));
}

@@ -23,68 +17,24 @@ const pkg = readPkg();

console.log(`Usage
husky init
husky install [dir] (default: .husky)
husky uninstall
husky set <file> [cmd]
husky add <file> [cmd]
Examples
husky init
husky install
husky install .config/husky
husky set .husky/pre-commit
husky set .husky/pre-commit "npm test"
husky set .config/husky/pre-commit "npm test"
husky add .husky/pre-commit
husky add .husky/pre-commit "npm test"
husky add .config/husky/pre-commit "npm test"
`);
husky set|add <file> [cmd]`);
}
switch (cmd) {
case 'init': {
const isYarn2 = String(process.env.npm_config_user_agent).startsWith('yarn/2');
init_1.init(isYarn2);
break;
}
case 'install': {
if (args.length > 2) {
help();
process.exit(2);
}
install_1.install(args[0]);
break;
}
case 'uninstall': {
uninstall_1.uninstall();
break;
}
case 'set': {
if (args.length === 0 || args.length > 2) {
help();
process.exit(2);
}
set_add_1.set(args[0], args[1]);
break;
}
case 'add': {
if (args.length === 0 || args.length > 2) {
help();
process.exit(2);
}
set_add_1.add(args[0], args[1]);
break;
}
case '--version': {
version();
break;
}
case '-v': {
version();
break;
}
default:
help();
function misuse() {
help();
process.exit(2);
}
const cmds = {
install(dir) {
args.length > 1 ? misuse() : _1.install(dir);
},
uninstall: _1.uninstall,
set(...args) {
args.length === 0 || args.length > 2 ? misuse() : _1.set(args[0], args[1]);
},
add(...args) {
args.length === 0 || args.length > 2 ? misuse() : _1.add(args[0], args[1]);
},
'--version': version,
'-v': version,
};
cmds[cmd] ? cmds[cmd](...args) : help();
{
"name": "husky",
"version": "5.2.0",
"description": "Git hooks made easy",
"bin": {
"husky": "lib/bin.js"
},
"version": "6.0.0",
"description": "Modern native Git hooks made easy",
"bin": "lib/bin.js",
"main": "lib/index.js",
"files": [
"/lib",
"/scripts",
"LICENSE",
"LICENSE-MIT",
"LICENSE-PARITY",
"LICENSE-PATRON"
"lib"
],
"devDependencies": {
"@commitlint/cli": "^12.0.1",
"@commitlint/config-conventional": "^12.0.1",
"@commitlint/prompt-cli": "^12.0.1",
"@tsconfig/node10": "^1.0.7",
"@types/node": "^14.14.25",
"@typicode/eslint-config": "^0.1.2",
"del-cli": "^3.0.1",
"docsify-cli": "^4.4.2",
"type-fest": "^0.21.2",
"typescript": "^4.1.3"
},
"scripts": {
"prebuild": "del-cli lib",
"build": "tsc",
"serve": "docsify serve docs",
"lint": "eslint . --ext .js,.ts --ignore-path .gitignore",
"prepare": "npm run build && node lib/bin install",
"preuninstall": "node lib/bin uninstall",
"preversion": "npm run build",
"postversion": "git push && git push --tags && npm publish",
"pretest": "npm run build --silent && npm pack --silent",
"test": "sh ./test/init.sh && sh ./test/init-yarn-2.sh && sh ./test/default.sh && sh ./test/sub-dir.sh && sh ./test/config-dir.sh && sh ./test/not-git-dir.sh && sh ./test/set-add.sh",
"posttest": "rm husky-*.tgz",
"commit": "commit"
},
"engines": {
"node": ">= 10"
},
"repository": {
"type": "git",
"url": "git+https://github.com/typicode/husky.git"
},
"keywords": [
"git",
"hook",
"hooks",
"test",
"lint",
"applypatch-msg",
"pre-applypatch",
"post-applypatch",
"pre-commit",
"pre-merge-commit",
"prepare-commit-msg",
"commit-msg",
"post-commit",
"pre-rebase",
"post-checkout",
"post-merge",
"pre-push",
"post-update",
"push-to-checkout",
"pre-auto-gc",
"post-rewrite",
"sendemail-validate"
"pre-commit"
],
"author": "Typicode <typicode@gmail.com>",
"license": "Parity-7.0.0 AND MIT WITH Patron-1.0.0",
"bugs": {
"url": "https://github.com/typicode/husky/issues"
},
"homepage": "https://github.com/typicode/husky#readme",
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/typicode"
},
{
"type": "opencollective",
"url": "https://opencollective.com/husky"
}
]
"license": "MIT",
"homepage": "https://typicode.github.io/husky",
"repository": "github:typicode/husky",
"funding": "https://github.com/sponsors/typicode",
"gitHead": "cb4e3b913e2d8963af3179650ed550d3a0e210f5"
}
# husky
[![Financial Contributors on Open Collective](https://opencollective.com/husky/all/badge.svg?label=financial+contributors)](https://opencollective.com/husky) [![](https://img.shields.io/npm/dm/husky.svg?style=flat)](https://www.npmjs.org/package/husky) [![Node.js CI](https://github.com/typicode/husky/workflows/Node.js%20CI/badge.svg)](https://github.com/typicode/husky/actions)
[![Open Collective](https://opencollective.com/husky/all/badge.svg?label=financial+contributors)](https://opencollective.com/husky)
> Git hooks made easy
> Modern native Git hooks made easy
Husky improves your commits and more 🐶 *woof!*
- [**Documentation v5 (recommended for Open Source and Sponsors)**](https://typicode.github.io/husky)
- [Documentation v4](https://github.com/typicode/husky/tree/master)
# Usage
__👋 [Read husky 5 announcement and see what's new](https://dev.to/typicode/what-s-new-in-husky-5-32g5)__
Edit `package.json > prepare` script and run it once:
__Note: husky 5 is a major version with breaking changes. Upgrading from v4 to v5 requires additional steps, please see the docs.__
```sh
npm set-script prepare "husky install" && npm run prepare
```
---
Add a hook:
You're viewing documentation for husky v5, which is free to use in Open Source projects ❤️ and in early access for Sponsors 🎁.
```sh
npx husky add .husky/pre-commit "npm test"
```
To use this new version at work, you can become a sponsor on [GitHub Sponsors](https://github.com/sponsors/typicode) or [Open Collective](https://opencollective.com/husky) (monthly or yearly donations are supported).
Make a commit:
If you can't sponsor Husky, that's okay, [husky v4](https://github.com/typicode/husky/tree/master) is free to use in any project. During the early access, v4 will continue to receive maintainance updates.
```sh
$ git commit -m "Keep calm and commit"
```
After the early access, husky v5 will be MIT again.
# Documentation
---
https://typicode.github.io/husky
# Sponsors
__Important__ upgrading from v4 to v6 requires additional steps, please see the docs.
## Companies
## License
<!-- for (let i = 0; i < 40; i++) console.log(`[![Husky Sponsor](https://opencollective.com/husky/backer/${i}/avatar)](https://opencollective.com/husky/backer/${i}/website)`) -->
<a href="https://opencollective.com/husky/tiers/sponsor/0/website"><img src="https://opencollective.com/husky/tiers/sponsor/0/avatar.svg" height="60px"></a>
<a href="https://opencollective.com/husky/tiers/sponsor/1/website"><img src="https://opencollective.com/husky/tiers/sponsor/1/avatar.svg" height="60px"></a>
<a href="https://opencollective.com/husky/tiers/sponsor/2/website"><img src="https://opencollective.com/husky/tiers/sponsor/2/avatar.svg" height="60px"></a>
<a href="https://opencollective.com/husky/tiers/sponsor/3/website"><img src="https://opencollective.com/husky/tiers/sponsor/3/avatar.svg" height="60px"></a>
<a href="https://opencollective.com/husky/tiers/sponsor/4/website"><img src="https://opencollective.com/husky/tiers/sponsor/4/avatar.svg" height="60px"></a>
<a href="https://opencollective.com/husky/tiers/sponsor/5/website"><img src="https://opencollective.com/husky/tiers/sponsor/5/avatar.svg" height="60px"></a>
<a href="https://opencollective.com/husky/tiers/sponsor/6/website"><img src="https://opencollective.com/husky/tiers/sponsor/6/avatar.svg" height="60px"></a>
<a href="https://opencollective.com/husky/tiers/sponsor/7/website"><img src="https://opencollective.com/husky/tiers/sponsor/7/avatar.svg" height="60px"></a>
<a href="https://opencollective.com/husky/tiers/sponsor/8/website"><img src="https://opencollective.com/husky/tiers/sponsor/8/avatar.svg" height="60px"></a>
<a href="https://opencollective.com/husky/tiers/sponsor/9/website"><img src="https://opencollective.com/husky/tiers/sponsor/9/avatar.svg" height="60px"></a>
## Individuals
Find Husky helpful? Become a backer and show your appreciation with a monthly donation on [Open Collective](https://opencollective.com/husky). You can also tip with a one-time donation.
[![Husky Sponsor](https://opencollective.com/husky/backer/0/avatar)](https://opencollective.com/husky/backer/0/website)
[![Husky Sponsor](https://opencollective.com/husky/backer/1/avatar)](https://opencollective.com/husky/backer/1/website)
[![Husky Sponsor](https://opencollective.com/husky/backer/2/avatar)](https://opencollective.com/husky/backer/2/website)
[![Husky Sponsor](https://opencollective.com/husky/backer/3/avatar)](https://opencollective.com/husky/backer/3/website)
[![Husky Sponsor](https://opencollective.com/husky/backer/4/avatar)](https://opencollective.com/husky/backer/4/website)
[![Husky Sponsor](https://opencollective.com/husky/backer/5/avatar)](https://opencollective.com/husky/backer/5/website)
[![Husky Sponsor](https://opencollective.com/husky/backer/6/avatar)](https://opencollective.com/husky/backer/6/website)
[![Husky Sponsor](https://opencollective.com/husky/backer/7/avatar)](https://opencollective.com/husky/backer/7/website)
[![Husky Sponsor](https://opencollective.com/husky/backer/8/avatar)](https://opencollective.com/husky/backer/8/website)
[![Husky Sponsor](https://opencollective.com/husky/backer/9/avatar)](https://opencollective.com/husky/backer/9/website)
[![Husky Sponsor](https://opencollective.com/husky/backer/10/avatar)](https://opencollective.com/husky/backer/10/website)
[![Husky Sponsor](https://opencollective.com/husky/backer/11/avatar)](https://opencollective.com/husky/backer/11/website)
[![Husky Sponsor](https://opencollective.com/husky/backer/12/avatar)](https://opencollective.com/husky/backer/12/website)
[![Husky Sponsor](https://opencollective.com/husky/backer/13/avatar)](https://opencollective.com/husky/backer/13/website)
[![Husky Sponsor](https://opencollective.com/husky/backer/14/avatar)](https://opencollective.com/husky/backer/14/website)
[![Husky Sponsor](https://opencollective.com/husky/backer/15/avatar)](https://opencollective.com/husky/backer/15/website)
[![Husky Sponsor](https://opencollective.com/husky/backer/16/avatar)](https://opencollective.com/husky/backer/16/website)
[![Husky Sponsor](https://opencollective.com/husky/backer/17/avatar)](https://opencollective.com/husky/backer/17/website)
[![Husky Sponsor](https://opencollective.com/husky/backer/18/avatar)](https://opencollective.com/husky/backer/18/website)
[![Husky Sponsor](https://opencollective.com/husky/backer/19/avatar)](https://opencollective.com/husky/backer/19/website)
[![Husky Sponsor](https://opencollective.com/husky/backer/20/avatar)](https://opencollective.com/husky/backer/20/website)
[![Husky Sponsor](https://opencollective.com/husky/backer/21/avatar)](https://opencollective.com/husky/backer/21/website)
[![Husky Sponsor](https://opencollective.com/husky/backer/22/avatar)](https://opencollective.com/husky/backer/22/website)
[![Husky Sponsor](https://opencollective.com/husky/backer/23/avatar)](https://opencollective.com/husky/backer/23/website)
[![Husky Sponsor](https://opencollective.com/husky/backer/24/avatar)](https://opencollective.com/husky/backer/24/website)
[![Husky Sponsor](https://opencollective.com/husky/backer/25/avatar)](https://opencollective.com/husky/backer/25/website)
[![Husky Sponsor](https://opencollective.com/husky/backer/26/avatar)](https://opencollective.com/husky/backer/26/website)
[![Husky Sponsor](https://opencollective.com/husky/backer/27/avatar)](https://opencollective.com/husky/backer/27/website)
[![Husky Sponsor](https://opencollective.com/husky/backer/28/avatar)](https://opencollective.com/husky/backer/28/website)
[![Husky Sponsor](https://opencollective.com/husky/backer/29/avatar)](https://opencollective.com/husky/backer/29/website)
[![Husky Sponsor](https://opencollective.com/husky/backer/30/avatar)](https://opencollective.com/husky/backer/30/website)
[![Husky Sponsor](https://opencollective.com/husky/backer/31/avatar)](https://opencollective.com/husky/backer/31/website)
[![Husky Sponsor](https://opencollective.com/husky/backer/32/avatar)](https://opencollective.com/husky/backer/32/website)
[![Husky Sponsor](https://opencollective.com/husky/backer/33/avatar)](https://opencollective.com/husky/backer/33/website)
[![Husky Sponsor](https://opencollective.com/husky/backer/34/avatar)](https://opencollective.com/husky/backer/34/website)
[![Husky Sponsor](https://opencollective.com/husky/backer/35/avatar)](https://opencollective.com/husky/backer/35/website)
[![Husky Sponsor](https://opencollective.com/husky/backer/36/avatar)](https://opencollective.com/husky/backer/36/website)
[![Husky Sponsor](https://opencollective.com/husky/backer/37/avatar)](https://opencollective.com/husky/backer/37/website)
[![Husky Sponsor](https://opencollective.com/husky/backer/38/avatar)](https://opencollective.com/husky/backer/38/website)
[![Husky Sponsor](https://opencollective.com/husky/backer/39/avatar)](https://opencollective.com/husky/backer/39/website)
GitHub sponsors can be viewed on my [profile](https://github.com/typicode). All past and current Open Collective sponsors can be viewed on [Husky's Open Collective](https://opencollective.com/husky).
MIT

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc