diff --git a/.commitlintrc.yml b/.commitlintrc.yml new file mode 100644 index 0000000..0be7318 --- /dev/null +++ b/.commitlintrc.yml @@ -0,0 +1,2 @@ +extends: + - "@commitlint/config-conventional" \ No newline at end of file diff --git a/.czrc b/.czrc new file mode 100644 index 0000000..e6f6f0b --- /dev/null +++ b/.czrc @@ -0,0 +1,3 @@ +{ + "path": "cz-conventional-changelog" +} \ No newline at end of file diff --git a/.huskyrc.yml b/.huskyrc.yml new file mode 100644 index 0000000..af8e8b1 --- /dev/null +++ b/.huskyrc.yml @@ -0,0 +1,4 @@ +hooks: + pre-commit: + - npm run standard + commit-msg: commitlint -E HUSKY_GIT_PARAMS \ No newline at end of file diff --git a/build/webpack.base.conf.js b/build/webpack.base.conf.js index 0d6cd0c..b9ec978 100644 --- a/build/webpack.base.conf.js +++ b/build/webpack.base.conf.js @@ -1,5 +1,4 @@ -var webpack = require('webpack'); -var path = require('path'); +var path = require('path') var projectRoot = path.resolve(__dirname, '../') diff --git a/build/webpack.dev.conf.js b/build/webpack.dev.conf.js index 612ad9d..32d25f9 100644 --- a/build/webpack.dev.conf.js +++ b/build/webpack.dev.conf.js @@ -2,9 +2,6 @@ var webpack = require('webpack') var merge = require('webpack-merge') var HtmlWebpackPlugin = require('html-webpack-plugin') var baseConfig = require('./webpack.base.conf') -var path = require('path') - -var projectRoot = path.resolve(__dirname, '../') module.exports = merge(baseConfig, { entry: './dev/index.js', @@ -25,4 +22,4 @@ module.exports = merge(baseConfig, { }), new webpack.HotModuleReplacementPlugin() ] -}) \ No newline at end of file +}) diff --git a/dev/index.js b/dev/index.js index b56b2f8..579b87b 100644 --- a/dev/index.js +++ b/dev/index.js @@ -6,4 +6,4 @@ import App from './App.vue' new Vue({ render: h => h(App) -}).$mount('#app') \ No newline at end of file +}).$mount('#app') diff --git a/package.json b/package.json index 14a1db7..1f57547 100644 --- a/package.json +++ b/package.json @@ -4,6 +4,8 @@ "description": "A vue component for tree structure. Support adding treenode/leafnode, editing node's name and dragging.", "main": "dist/vue-tree-list.min.js", "scripts": { + "commit": "npx git-cz", + "standard": "standard", "test": "karma start --single-run", "unit": "karma start --watch", "coveralls": "npm run test -- --report lcovonly && cat ./coverage/lcov.info | coveralls", @@ -26,6 +28,8 @@ }, "homepage": "https://github.com/ParadeTo/vue-tree-list#readme", "devDependencies": { + "@commitlint/cli": "^7.2.1", + "@commitlint/config-conventional": "^7.1.2", "autoprefixer": "^6.4.0", "babel-core": "^6.0.0", "babel-eslint": "^7.0.0", @@ -39,6 +43,8 @@ "cross-env": "^5.0.1", "css-loader": "^0.26.2", "file-loader": "^0.10.1", + "html-webpack-plugin": "^2.8.1", + "husky": "^1.2.0", "isparta": "^4.0.0", "isparta-loader": "^2.0.0", "less": "^2.7.2", @@ -46,6 +52,7 @@ "sinon": "^2.3.5", "sinon-chai": "^2.11.0", "sourcemap": "^0.1.0", + "standard": "^12.0.1", "url-loader": "^0.5.7", "vue": "^2.3.4", "vue-loader": "^11.1.3", @@ -53,7 +60,9 @@ "vue-template-compiler": "^2.2.0", "webpack": "^1.13.2", "webpack-dev-server": "1.14.0", - "webpack-merge": "^0.14.1", - "html-webpack-plugin": "^2.8.1" + "webpack-merge": "^0.14.1" + }, + "dependencies": { + "cz-conventional-changelog": "^2.1.0" } } diff --git a/src/tools.js b/src/tools.js index 3e87165..fc0524d 100644 --- a/src/tools.js +++ b/src/tools.js @@ -4,28 +4,28 @@ var handlerCache -exports.addHandler = function(element, type, handler) { +exports.addHandler = function (element, type, handler) { handlerCache = handler if (element.addEventListener) { - element.addEventListener(type, handler, false); + element.addEventListener(type, handler, false) } else if (element.attachEvent) { - element.attachEvent("on" + type, handler); + element.attachEvent('on' + type, handler) } else { - element["on" + type] = handler; + element['on' + type] = handler } } exports.removeHandler = function (element, type) { if (element.removeEventListener) { - element.removeEventListener(type, handlerCache, false); + element.removeEventListener(type, handlerCache, false) } else if (element.detachEvent) { - element.detachEvent("on" + type, handlerCache); + element.detachEvent('on' + type, handlerCache) } else { - element["on" + type] = null; + element['on' + type] = null } } // exports.fireFocusEvent = function (ele) { // var event = new FocusEvent() // ele.dispatch(event) -// } \ No newline at end of file +// }