Skip to content

Commit c89cf26

Browse files
authored
add husky to run tests, format and lint code on commit (Codecademy#265)
1 parent e3326d4 commit c89cf26

File tree

3 files changed

+17
-2
lines changed

3 files changed

+17
-2
lines changed

.husky/.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
_

.husky/pre-commit

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
#!/bin/sh
2+
. "$(dirname "$0")/_/husky.sh"
3+
4+
npx lint-staged --allow-empty

package.json

+12-2
Original file line numberDiff line numberDiff line change
@@ -8,25 +8,35 @@
88
"@codecademy/eslint-config": "^3.1.0",
99
"@codecademy/prettier-config": "^0.1.10",
1010
"@codecademy/tsconfig": "^0.2.0",
11-
"@types/jest": "^26.0.24",
1211
"@types/glob": "^7.1.4",
12+
"@types/jest": "^26.0.24",
1313
"@types/node": "^16.4.3",
1414
"eslint": "^7.25.0",
15+
"husky": "^7.0.4",
1516
"jest": "^27.0.6",
17+
"lint-staged": "^12.1.2",
1618
"markdownlint-cli": "~0.28.1",
1719
"prettier": "^2.2.1",
1820
"ts-jest": "^27.0.4",
1921
"typescript": "^4.2.4"
2022
},
23+
"lint-staged": {
24+
"*.md": [
25+
"npm run format",
26+
"markdownlint"
27+
]
28+
},
2129
"scripts": {
2230
"compile": "tsc --noEmit",
2331
"format": "prettier --ignore-path .prettierignore --write",
32+
"format:md": "prettier --ignore-path .prettierignore --write \"./**/*.(md)\"",
2433
"format:all": "prettier --ignore-path .prettierignore --write \"./**/*.(ts|md)\"",
2534
"format:verify": "prettier \"./**/*.(ts|md)\" --list-different",
2635
"lint:js": "eslint \"./**.ts\" --max-warnings 0 ",
2736
"lint:md": "markdownlint \"./content/**/*.md\"",
2837
"lint": "yarn lint:md && yarn lint:js",
29-
"test": "jest"
38+
"test": "jest",
39+
"prepare": "husky install"
3040
},
3141
"license": "UNLICENSED",
3242
"version": "1.0.0"

0 commit comments

Comments
 (0)