diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 0000000..19ba72a --- /dev/null +++ b/.eslintignore @@ -0,0 +1,2 @@ +App.vue +tests diff --git a/.husky/commit-msg b/.husky/commit-msg new file mode 100644 index 0000000..5a85000 --- /dev/null +++ b/.husky/commit-msg @@ -0,0 +1,4 @@ +#!/bin/sh +. "$(dirname "$0")/_/husky.sh" + +npx --no -- commitlint --edit $1 diff --git a/.husky/pre-commit b/.husky/pre-commit new file mode 100644 index 0000000..20d0d06 --- /dev/null +++ b/.husky/pre-commit @@ -0,0 +1,4 @@ +#!/bin/sh +. "$(dirname "$0")/_/husky.sh" + +npm run lint diff --git a/commitlint.config.js b/commitlint.config.js index 016a4b4..85f02ee 100644 --- a/commitlint.config.js +++ b/commitlint.config.js @@ -1,8 +1,4 @@ module.exports = { extends: ["@commitlint/config-conventional"], - "type-enum": [ - 2, - "always", - ["build", "ci", "docs", "feat", "fix", "perf", "refactor", "revert", "style", "test", "release"], - ], + "type-enum": [2, "always", ["build", "ci", "docs", "feat", "fix", "refactor", "revert", "test", "release"]], }; diff --git a/package-lock.json b/package-lock.json index 37e2bff..58b647d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3604,9 +3604,9 @@ } }, "chalk": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", - "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "optional": true, "requires": { @@ -3648,9 +3648,9 @@ "optional": true }, "loader-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", - "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz", + "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==", "dev": true, "optional": true, "requires": { @@ -3679,9 +3679,9 @@ } }, "vue-loader-v16": { - "version": "npm:vue-loader@16.3.0", - "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-16.3.0.tgz", - "integrity": "sha512-UDgni/tUVSdwHuQo+vuBmEgamWx88SuSlEb5fgdvHrlJSPB9qMBRF6W7bfPWSqDns425Gt1wxAUif+f+h/rWjg==", + "version": "npm:vue-loader@16.8.3", + "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-16.8.3.tgz", + "integrity": "sha512-7vKN45IxsKxe5GcVCbc2qFU5aWzyiLrYJyUuMz4BQLKctCj/fmCa0w6fGiiQ2cLFetNcek1ppGJQDCup0c1hpA==", "dev": true, "optional": true, "requires": { @@ -4872,6 +4872,16 @@ "dev": true, "optional": true }, + "bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "dev": true, + "optional": true, + "requires": { + "file-uri-to-path": "1.0.0" + } + }, "bluebird": { "version": "3.7.2", "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", @@ -8635,6 +8645,13 @@ "schema-utils": "^2.5.0" } }, + "file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", + "dev": true, + "optional": true + }, "filesize": { "version": "3.6.1", "resolved": "https://registry.npmjs.org/filesize/-/filesize-3.6.1.tgz", @@ -9806,6 +9823,12 @@ "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", "dev": true }, + "husky": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/husky/-/husky-7.0.4.tgz", + "integrity": "sha512-vbaCKN2QLtP/vD4yvs6iz6hBEo6wkSzs8HpRah1Z6aGmF2KW5PdYuAd7uX5a+OyBZHBhd+TFLqgjUgytQr4RvQ==", + "dev": true + }, "iconv-lite": { "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", @@ -11777,6 +11800,7 @@ "dev": true, "optional": true, "requires": { + "bindings": "^1.5.0", "nan": "^2.12.1" } }, @@ -16711,6 +16735,7 @@ "dev": true, "optional": true, "requires": { + "bindings": "^1.5.0", "nan": "^2.12.1" } }, @@ -16997,6 +17022,7 @@ "dev": true, "optional": true, "requires": { + "bindings": "^1.5.0", "nan": "^2.12.1" } }, diff --git a/package.json b/package.json index 4ca7d12..5c2e5f3 100644 --- a/package.json +++ b/package.json @@ -7,10 +7,12 @@ "scripts": { "serve": "vue-cli-service serve", "build": "vue-cli-service build --target lib --formats umd-min --name veprogress ./src/plugin.js", - "lint": "vue-cli-service lint --fix", + "lint:fix": "vue-cli-service lint --fix --ignore-path App.vue", + "lint": "vue-cli-service lint", "test": "vue-cli-service test:unit --colors", "publish-beta": "npm run lint && npm run test && npm run build && npm publish --tag beta", - "changelog": "auto-changelog --template changelog-template.hbs" + "changelog": "auto-changelog --template changelog-template.hbs", + "prepare": "husky install" }, "author": { "name": "Sergej Atamantschuk", @@ -55,7 +57,8 @@ "node-sass": "^5.0.0", "prettier": "^2.3.0", "sass-loader": "^10.1.1", - "vue": "^3.0.6" + "vue": "^3.0.6", + "husky": "^7.0.0" }, "files": [ "dist" diff --git a/tests/unit/container.spec.js b/tests/unit/container.spec.js index 063b5f9..4de7497 100644 --- a/tests/unit/container.spec.js +++ b/tests/unit/container.spec.js @@ -5,7 +5,7 @@ import CircleContainer from "@/components/Circle/CircleContainer.vue"; import Counter from "@/components/Counter.vue"; import { animationParser, dotParser, dashParser, lineModeParser, linePositionParser } from "@/components/optionsParser"; import props from "@/components/interface"; -import { defaultCounterTick, wait } from "@/../tests/helper"; +import { defaultCounterTick } from "@/../tests/helper"; import { nextTick } from "vue"; const factory = (propsData, slots = {}) => {