From aa00a7855405ab5401da14ca8c396fe424e4c9a4 Mon Sep 17 00:00:00 2001 From: Igor Konnov Date: Tue, 16 Apr 2024 12:45:40 +0200 Subject: [PATCH 1/4] add husky --- solarkraft/.husky/pre-commit | 2 ++ solarkraft/package-lock.json | 22 ++++++++++++++++++++++ solarkraft/package.json | 4 +++- 3 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 solarkraft/.husky/pre-commit diff --git a/solarkraft/.husky/pre-commit b/solarkraft/.husky/pre-commit new file mode 100644 index 00000000..ce678c87 --- /dev/null +++ b/solarkraft/.husky/pre-commit @@ -0,0 +1,2 @@ +cd solarkraft +npm test diff --git a/solarkraft/package-lock.json b/solarkraft/package-lock.json index 35a1387d..5c6a273c 100644 --- a/solarkraft/package-lock.json +++ b/solarkraft/package-lock.json @@ -26,6 +26,7 @@ "copyfiles": "^2.4.1", "eslint": "^8.57.0", "genversion": "^3.2.0", + "husky": "^9.0.11", "mocha": "^10.3.0", "ts-node": "^10.9.2", "typescript": "^5.4.5", @@ -1584,6 +1585,21 @@ "he": "bin/he" } }, + "node_modules/husky": { + "version": "9.0.11", + "resolved": "https://registry.npmjs.org/husky/-/husky-9.0.11.tgz", + "integrity": "sha512-AB6lFlbwwyIqMdHYhwPe+kjOC3Oc5P3nThEoW/AaO2BX3vJDjWPFxYLxokUZOo6RNX20He3AaT8sESs9NJcmEw==", + "dev": true, + "bin": { + "husky": "bin.mjs" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/typicode" + } + }, "node_modules/ignore": { "version": "5.3.1", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", @@ -4134,6 +4150,12 @@ "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", "dev": true }, + "husky": { + "version": "9.0.11", + "resolved": "https://registry.npmjs.org/husky/-/husky-9.0.11.tgz", + "integrity": "sha512-AB6lFlbwwyIqMdHYhwPe+kjOC3Oc5P3nThEoW/AaO2BX3vJDjWPFxYLxokUZOo6RNX20He3AaT8sESs9NJcmEw==", + "dev": true + }, "ignore": { "version": "5.3.1", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", diff --git a/solarkraft/package.json b/solarkraft/package.json index 1aa8e75c..d12405f6 100644 --- a/solarkraft/package.json +++ b/solarkraft/package.json @@ -35,7 +35,8 @@ "license": "source-licenser --config-file licenser-config.yaml .", "snapshot": "git archive --format=tar.gz -o solarkraft-`git rev-parse --short HEAD`.tar.gz --prefix=solarkraft/ HEAD", "test": "mocha --loader=ts-node/esm test/**/*.test.ts", - "lint": "eslint src test" + "lint": "eslint src test", + "prepare": "husky" }, "dependencies": { "@sweet-monads/either": "^3.3.1", @@ -52,6 +53,7 @@ "copyfiles": "^2.4.1", "eslint": "^8.57.0", "genversion": "^3.2.0", + "husky": "^9.0.11", "mocha": "^10.3.0", "ts-node": "^10.9.2", "typescript": "^5.4.5", From fd124660354d9bd499c4971345f6ee7f92532e66 Mon Sep 17 00:00:00 2001 From: Igor Konnov Date: Tue, 16 Apr 2024 12:48:09 +0200 Subject: [PATCH 2/4] fix husky --- solarkraft/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/solarkraft/package.json b/solarkraft/package.json index d12405f6..8feaf738 100644 --- a/solarkraft/package.json +++ b/solarkraft/package.json @@ -36,7 +36,7 @@ "snapshot": "git archive --format=tar.gz -o solarkraft-`git rev-parse --short HEAD`.tar.gz --prefix=solarkraft/ HEAD", "test": "mocha --loader=ts-node/esm test/**/*.test.ts", "lint": "eslint src test", - "prepare": "husky" + "prepare": "cd .. && husky solarkraft/.husky" }, "dependencies": { "@sweet-monads/either": "^3.3.1", From b795c4d50bb4b6795ab5002c06c269f12831a810 Mon Sep 17 00:00:00 2001 From: Igor Konnov Date: Tue, 16 Apr 2024 12:49:58 +0200 Subject: [PATCH 3/4] require precommit hooks update the licenses and call eslint --- solarkraft/.husky/pre-commit | 2 +- solarkraft/eslint.config.js | 4 ++++ solarkraft/package.json | 8 ++++---- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/solarkraft/.husky/pre-commit b/solarkraft/.husky/pre-commit index ce678c87..bdb0102d 100644 --- a/solarkraft/.husky/pre-commit +++ b/solarkraft/.husky/pre-commit @@ -1,2 +1,2 @@ cd solarkraft -npm test +npm run lint && npm run license diff --git a/solarkraft/eslint.config.js b/solarkraft/eslint.config.js index 7d3e80e0..8e7b24ff 100644 --- a/solarkraft/eslint.config.js +++ b/solarkraft/eslint.config.js @@ -1,3 +1,7 @@ +/** + * @license + * [Apache-2.0](https://github.com/freespek/solarkraft/blob/main/LICENSE) + */ // @ts-check import eslint from '@eslint/js'; diff --git a/solarkraft/package.json b/solarkraft/package.json index 8feaf738..7167e2a8 100644 --- a/solarkraft/package.json +++ b/solarkraft/package.json @@ -33,10 +33,10 @@ "compile": "genversion -e src/version.ts && tsc", "e2e": "./test/e2e/run-tests.sh", "license": "source-licenser --config-file licenser-config.yaml .", - "snapshot": "git archive --format=tar.gz -o solarkraft-`git rev-parse --short HEAD`.tar.gz --prefix=solarkraft/ HEAD", - "test": "mocha --loader=ts-node/esm test/**/*.test.ts", "lint": "eslint src test", - "prepare": "cd .. && husky solarkraft/.husky" + "prepare": "cd .. && husky solarkraft/.husky", + "snapshot": "git archive --format=tar.gz -o solarkraft-`git rev-parse --short HEAD`.tar.gz --prefix=solarkraft/ HEAD", + "test": "mocha --loader=ts-node/esm test/**/*.test.ts" }, "dependencies": { "@sweet-monads/either": "^3.3.1", @@ -62,4 +62,4 @@ "engines": { "node": ">=18" } -} +} \ No newline at end of file From 020c5ccf630fe15cc4e91c10913c1d3ce8cf829e Mon Sep 17 00:00:00 2001 From: Igor Konnov Date: Tue, 16 Apr 2024 14:33:25 +0200 Subject: [PATCH 4/4] add code formatting to husky --- solarkraft/.husky/pre-commit | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/solarkraft/.husky/pre-commit b/solarkraft/.husky/pre-commit index bdb0102d..5975f5db 100644 --- a/solarkraft/.husky/pre-commit +++ b/solarkraft/.husky/pre-commit @@ -1,2 +1,5 @@ cd solarkraft -npm run lint && npm run license +set -e +npm run lint +npm run license +npm run format