From df67b005ce168c099edd4e66ed194d37cd815baf Mon Sep 17 00:00:00 2001 From: neverland Date: Tue, 19 Dec 2017 19:12:32 +0800 Subject: [PATCH] [Improvement] eslint before build (#455) --- .travis.yml | 2 +- build/bin/build-lib.js | 26 ++- package.json | 3 + packages/address-edit/index.vue | 3 +- packages/datetime-picker/index.vue | 2 +- packages/pagination/index.vue | 9 +- packages/radio/index.vue | 8 +- packages/tabs/index.vue | 4 +- packages/utils/validate/email.js | 1 + yarn.lock | 352 +++++++++++++++++++++++++++-- 10 files changed, 371 insertions(+), 39 deletions(-) diff --git a/.travis.yml b/.travis.yml index 31fd365dc..8d7976b81 100644 --- a/.travis.yml +++ b/.travis.yml @@ -13,7 +13,7 @@ install: yarn install script: - | - npm run test + npm run lint && npm run test after_success: - | cat ./test/unit/coverage/lcov.info | ./node_modules/.bin/codecov diff --git a/build/bin/build-lib.js b/build/bin/build-lib.js index 9072eae83..2afad14b0 100644 --- a/build/bin/build-lib.js +++ b/build/bin/build-lib.js @@ -1,37 +1,43 @@ /** * Build npm lib * Steps: - * 1. 构建 JS 入口文件 - * 2. 构建每个组件对应的 [component].js - * 3. 构建 vant-css - * 4. 打包 JS 文件:vant.js && vant.min.js - * 5. 生成每个组件目录下的 style 入口 + * 1. 代码格式校验 + * 2. 构建 JS 入口文件 + * 3. 构建每个组件对应的 [component].js + * 4. 构建 vant-css + * 5. 打包 JS 文件:vant.js && vant.min.js + * 6. 生成每个组件目录下的 style 入口 */ const chalk = require('chalk'); require('shelljs/global'); -// 1. build entry +// 1. lint +log('Starting', 'lint'); +exec('npm run lint --silent'); +log('Finished', 'lint'); + +// 2. build entry log('Starting', 'build:entry'); exec('npm run build:file --silent'); log('Finished', 'build:entry'); -// 2. build [component].js +// 3. build [component].js log('Starting', 'build:component'); exec('npm run build:components --silent'); log('Finished', 'build:component'); -// 3. build vant-css +// 4. build vant-css log('Starting', 'build:vant-css'); exec('npm run build:vant-css --silent'); log('Finished', 'build:vant-css'); -// 4. build vant.js +// 5. build vant.js log('Starting', 'build:vant'); exec('npm run build:vant --silent'); log('Finished', 'build:vant'); -// 5. build style entrys +// 6. build style entrys log('Starting', 'build:style-entries'); exec('npm run build:style-entry --silent'); log('Finished', 'build:style-entries'); diff --git a/package.json b/package.json index cf8da28a0..9cc5a8604 100644 --- a/package.json +++ b/package.json @@ -20,6 +20,7 @@ "deploy:cdn": "superman cdn /zanui/vant docs/dist/*.js docs/dist/*.css && superman cdn /zanui/vant/async_en-US docs/dist/async_en-US/*.js && superman cdn /zanui/vant/async_zh-CN docs/dist/async_zh-CN/*.js", "deploy:docs": "rimraf docs/dist && cross-env NODE_ENV=production webpack --progress --hide-modules --config build/webpack.config.prod.js", "dist": "node build/bin/build-lib.js", + "lint": "./node_modules/.bin/eslint ./packages --ext .js --ext .vue", "test": "karma start test/unit/karma.conf.js --single-run", "test:coverage": "open test/unit/coverage/lcov-report/index.html", "test:watch": "karma start test/unit/karma.conf.js", @@ -56,6 +57,7 @@ "cross-env": "^5.1.1", "css-loader": "^0.28.7", "dependency-tree": "^5.12.0", + "eslint": "^4.13.1", "eslint-plugin-vue": "^2.1.0", "extract-text-webpack-plugin": "3.0.2", "fast-vue-md-loader": "^1.0.3", @@ -79,6 +81,7 @@ "precss": "2.0.0", "progress-bar-webpack-plugin": "^1.10.0", "rimraf": "^2.5.4", + "shelljs": "^0.7.8", "sinon": "^2.4.1", "sinon-chai": "^2.12.0", "style-loader": "^0.19.1", diff --git a/packages/address-edit/index.vue b/packages/address-edit/index.vue index a201dcf7f..faea8c149 100644 --- a/packages/address-edit/index.vue +++ b/packages/address-edit/index.vue @@ -72,6 +72,7 @@