diff --git a/README-zh_CN.md b/README-zh_CN.md
index 5162f20e7..ec20721cd 100644
--- a/README-zh_CN.md
+++ b/README-zh_CN.md
@@ -1,6 +1,6 @@
 <p align="center">
   <a href="https://vuecomponent.github.io/ant-design/">
-    <img width="230" src="https://gw.alipayobjects.com/zos/rmsportal/KDpgvguMpGfqaHPjicRK.svg">
+    <img width="230" src="https://raw.githubusercontent.com/vueComponent/ant-design/master/logo.png">
   </a>
 </p>
 
@@ -20,7 +20,7 @@ Ant Design 3.X 的 Vue 实现,开发和服务于企业级后台产品。
 
 - 提炼自企业级中后台产品的交互语言和视觉风格。
 - 开箱即用的高质量 Vue 组件。
-- 全链路开发和设计工具体系。 
+- 全链路开发和设计工具体系。
 
 ## 安装
 
diff --git a/README.md b/README.md
index 344b28b95..d9ba6b041 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,6 @@
 <p align="center">
   <a href="https://vuecomponent.github.io/ant-design/">
-    <img width="230" src="https://gw.alipayobjects.com/zos/rmsportal/KDpgvguMpGfqaHPjicRK.svg">
+    <img width="230" src="https://raw.githubusercontent.com/vueComponent/ant-design/master/logo.png">
   </a>
 </p>
 
diff --git a/components/_util/props-util.js b/components/_util/props-util.js
index 0e7e90219..d483cbd80 100644
--- a/components/_util/props-util.js
+++ b/components/_util/props-util.js
@@ -1,4 +1,4 @@
-import isPlainObject from 'lodash.isplainobject'
+import isPlainObject from 'lodash/isPlainObject'
 
 const camelizeRE = /-(\w)/g
 const camelize = (str) => {
diff --git a/components/_util/vue-types/index.js b/components/_util/vue-types/index.js
index 4c9997c05..84819ce5e 100644
--- a/components/_util/vue-types/index.js
+++ b/components/_util/vue-types/index.js
@@ -1,4 +1,4 @@
-import isPlainObject from 'lodash.isplainobject'
+import isPlainObject from 'lodash/isPlainObject'
 import { toType, getType, isFunction, validateType, isInteger, isArray, warn } from './utils'
 
 const VuePropTypes = {
diff --git a/components/_util/vue-types/utils.js b/components/_util/vue-types/utils.js
index c661d0dc2..9554a42da 100644
--- a/components/_util/vue-types/utils.js
+++ b/components/_util/vue-types/utils.js
@@ -1,4 +1,4 @@
-import isPlainObject from 'lodash.isplainobject'
+import isPlainObject from 'lodash/isPlainObject'
 
 const ObjProto = Object.prototype
 const toString = ObjProto.toString
diff --git a/components/align/Align.jsx b/components/align/Align.jsx
index d8ae29801..1a10f09e3 100644
--- a/components/align/Align.jsx
+++ b/components/align/Align.jsx
@@ -4,7 +4,7 @@ import align from 'dom-align'
 import addEventListener from '../_util/Dom/addEventListener'
 import { cloneElement } from '../_util/vnode.js'
 import isWindow from './isWindow'
-import clonedeep from 'lodash.clonedeep'
+import clonedeep from 'lodash/cloneDeep'
 import shallowequal from 'shallowequal'
 function noop () {
 }
diff --git a/components/modal/ConfirmDialog.jsx b/components/modal/ConfirmDialog.jsx
index 884aa4651..41525eb12 100644
--- a/components/modal/ConfirmDialog.jsx
+++ b/components/modal/ConfirmDialog.jsx
@@ -8,7 +8,7 @@ import { getConfirmLocale } from './locale'
 export default {
   functional: true,
   render (h, context) {
-    const { data: props } = context
+    const { props } = context
     const { onCancel, onOk, close, zIndex, afterClose, visible } = props
     const iconType = props.iconType || 'question-circle'
     const okType = props.okType || 'primary'
diff --git a/components/modal/confirm.js b/components/modal/confirm.js
index a4781d986..69ac8082d 100644
--- a/components/modal/confirm.js
+++ b/components/modal/confirm.js
@@ -25,10 +25,13 @@ export default function confirm (config) {
   }
 
   function render (props) {
+    const confirmDialogProps = {
+      props,
+    }
     return new Vue({
       el: el,
       render () {
-        return <ConfirmDialog {...props} />
+        return <ConfirmDialog {...confirmDialogProps} />
       },
     })
   }
diff --git a/components/select/demo/select-users.md b/components/select/demo/select-users.md
index fcb3340ed..73559602d 100644
--- a/components/select/demo/select-users.md
+++ b/components/select/demo/select-users.md
@@ -29,7 +29,7 @@ A complete multiple select sample with remote search, debounce fetch, ajax callb
 <script>
 import jsonp from 'fetch-jsonp';
 import querystring from 'querystring';
-import debounce from 'lodash.debounce';
+import debounce from 'lodash/debounce';
 
 export default {
   data() {
diff --git a/components/tabs/src/ScrollableTabBarMixin.js b/components/tabs/src/ScrollableTabBarMixin.js
index f92439f9a..d73999447 100644
--- a/components/tabs/src/ScrollableTabBarMixin.js
+++ b/components/tabs/src/ScrollableTabBarMixin.js
@@ -1,6 +1,6 @@
 import { setTransform, isTransformSupported } from './utils'
 import addDOMEventListener from 'add-dom-event-listener'
-import debounce from 'lodash.debounce'
+import debounce from 'lodash/debounce'
 function noop () {
 }
 export default {
diff --git a/components/vc-calendar/src/date/DateTBody.jsx b/components/vc-calendar/src/date/DateTBody.jsx
index 558540399..4158759e3 100644
--- a/components/vc-calendar/src/date/DateTBody.jsx
+++ b/components/vc-calendar/src/date/DateTBody.jsx
@@ -69,6 +69,7 @@ const DateTBody = {
     const disabledClass = `${prefixCls}-disabled-cell`
     const firstDisableClass = `${prefixCls}-disabled-cell-first-of-row`
     const lastDisableClass = `${prefixCls}-disabled-cell-last-of-row`
+    const lastDayOfMonthClass = `${prefixCls}-last-day-of-month`
     const month1 = value.clone()
     month1.date(1)
     const day = month1.day()
@@ -169,6 +170,10 @@ const DateTBody = {
           cls += ` ${nextMonthDayClass}`
         }
 
+        if (current.clone().endOf('month').date() === current.date()) {
+          cls += ` ${lastDayOfMonthClass}`
+        }
+
         if (disabledDate) {
           if (disabledDate(current, value)) {
             disabled = true
diff --git a/components/vc-calendar/src/locale/sl_SI.js b/components/vc-calendar/src/locale/sl_SI.js
new file mode 100644
index 000000000..b0156e01d
--- /dev/null
+++ b/components/vc-calendar/src/locale/sl_SI.js
@@ -0,0 +1,27 @@
+export default {
+  today: 'Danes',
+  now: 'Trenutno',
+  backToToday: 'Nazaj na danes',
+  ok: 'V redu',
+  clear: 'Počisti',
+  month: 'Mesec',
+  year: 'Leto',
+  timeSelect: 'Izberite čas',
+  dateSelect: 'Izberite datum',
+  monthSelect: 'Izberite mesec',
+  yearSelect: 'Izberite leto',
+  decadeSelect: 'Izberite desetletje',
+  yearFormat: 'YYYY',
+  dateFormat: 'DD.MM.YYYY',
+  dayFormat: 'D',
+  dateTimeFormat: 'DD.MM.YYYY HH:mm:ss',
+  monthBeforeYear: true,
+  previousMonth: 'Prejšnji mesec (PageUp)',
+  nextMonth: 'Naslednji mesec (PageDown)',
+  previousYear: 'Prejšnje leto (Control + left)',
+  nextYear: 'Naslednje leto (Control + right)',
+  previousDecade: 'Prejšnje desetletje',
+  nextDecade: 'Naslednje desetletje',
+  previousCentury: 'Prejšnje stoletje',
+  nextCentury: 'Naslednje stoletje',
+}
diff --git a/components/vc-pagination/Pagination.jsx b/components/vc-pagination/Pagination.jsx
index 064343569..eb60908ac 100644
--- a/components/vc-pagination/Pagination.jsx
+++ b/components/vc-pagination/Pagination.jsx
@@ -38,6 +38,7 @@ export default {
     showLessItems: PropTypes.bool.def(false),
     // showSizeChange: PropTypes.func.def(noop),
     selectComponentClass: PropTypes.any,
+    showPrevNextJumpers: PropTypes.bool.def(true),
     showQuickJumper: PropTypes.oneOfType([PropTypes.bool, PropTypes.object]).def(false),
     showTitle: PropTypes.bool.def(true),
     pageSizeOptions: PropTypes.arrayOf(PropTypes.string),
@@ -310,7 +311,7 @@ export default {
           <li
             title={this.showTitle ? locale.next_page : null}
             onClick={this.next}
-            tabIndex='0'
+            tabIndex={this.hasNext ? 0 : null}
             onKeypress={this.runIfEnterNext}
             class={`${hasNext ? '' : `${prefixCls}-disabled`} ${prefixCls}-next`}
             aria-disabled={!this.hasNext()}
@@ -341,34 +342,37 @@ export default {
     } else {
       const prevItemTitle = this.showLessItems ? locale.prev_3 : locale.prev_5
       const nextItemTitle = this.showLessItems ? locale.next_3 : locale.next_5
-      jumpPrev = (
-        <li
-          title={this.showTitle ? prevItemTitle : null}
-          key='prev'
-          onClick={this.jumpPrev}
-          tabIndex='0'
-          onKeypress={this.runIfEnterJumpPrev}
-          class={`${prefixCls}-jump-prev`}
-        >
-          {this.itemRender(
-            this.getJumpPrevPage(), 'jump-prev', <a class={`${prefixCls}-item-link`} />
-          )}
-        </li>
-      )
-      jumpNext = (
-        <li
-          title={this.showTitle ? nextItemTitle : null}
-          key='next'
-          tabIndex='0'
-          onClick={this.jumpNext}
-          onKeypress={this.runIfEnterJumpNext}
-          class={`${prefixCls}-jump-next`}
-        >
-          {this.itemRender(
-            this.getJumpNextPage(), 'jump-next', <a class={`${prefixCls}-item-link`} />
-          )}
-        </li>
-      )
+      if (this.showPrevNextJumpers) {
+        jumpPrev = (
+          <li
+            title={this.showTitle ? prevItemTitle : null}
+            key='prev'
+            onClick={this.jumpPrev}
+            tabIndex='0'
+            onKeypress={this.runIfEnterJumpPrev}
+            class={`${prefixCls}-jump-prev`}
+          >
+            {this.itemRender(
+              this.getJumpPrevPage(), 'jump-prev', <a class={`${prefixCls}-item-link`} />
+            )}
+          </li>
+        )
+        jumpNext = (
+          <li
+            title={this.showTitle ? nextItemTitle : null}
+            key='next'
+            tabIndex='0'
+            onClick={this.jumpNext}
+            onKeypress={this.runIfEnterJumpNext}
+            class={`${prefixCls}-jump-next`}
+          >
+            {this.itemRender(
+              this.getJumpNextPage(), 'jump-next', <a class={`${prefixCls}-item-link`} />
+            )}
+          </li>
+        )
+      }
+
       lastPager = (
         <Pager
           locale={locale}
diff --git a/components/vc-pagination/locale/id_ID.js b/components/vc-pagination/locale/id_ID.js
new file mode 100644
index 000000000..3f1a7a8ba
--- /dev/null
+++ b/components/vc-pagination/locale/id_ID.js
@@ -0,0 +1,15 @@
+export default {
+  // Options.jsx
+  items_per_page: '/ halaman',
+  jump_to: 'Menuju',
+  jump_to_confirm: 'konfirmasi',
+  page: '',
+
+  // Pagination.jsx
+  prev_page: 'Halaman Sebelumnya',
+  next_page: 'Halaman Berikutnya',
+  prev_5: '5 Halaman Sebelumnya',
+  next_5: '5 Halaman Berikutnya',
+  prev_3: '3 Halaman Sebelumnya',
+  next_3: '3 Halaman Berikutnya',
+};
diff --git a/components/vc-pagination/locale/sl_SI.js b/components/vc-pagination/locale/sl_SI.js
new file mode 100644
index 000000000..5b4ffd784
--- /dev/null
+++ b/components/vc-pagination/locale/sl_SI.js
@@ -0,0 +1,15 @@
+export default {
+  // Options.jsx
+  items_per_page: '/ strani',
+  jump_to: 'Pojdi na',
+  jump_to_confirm: 'potrdi',
+  page: '',
+
+  // Pagination.jsx
+  prev_page: 'Prejšnja stran',
+  next_page: 'Naslednja stran',
+  prev_5: 'Prejšnjih 5 strani',
+  next_5: 'Naslednjih 5 strani',
+  prev_3: 'Prejšnje 3 strani',
+  next_3: 'Naslednje 3 strani',
+};
diff --git a/components/vc-pagination/locale/tr_TR.js b/components/vc-pagination/locale/tr_TR.js
new file mode 100644
index 000000000..9a4627310
--- /dev/null
+++ b/components/vc-pagination/locale/tr_TR.js
@@ -0,0 +1,15 @@
+export default {
+  // Options.jsx
+  items_per_page: '/ sayfa',
+  jump_to: 'Git',
+  jump_to_confirm: 'onayla',
+  page: '',
+
+  // Pagination.jsx
+  prev_page: 'Önceki Sayfa',
+  next_page: 'Sonraki Sayfa',
+  prev_5: 'Önceki 5 Sayfa',
+  next_5: 'Sonraki 5 Sayfa',
+  prev_3: 'Önceki 3 Sayfa',
+  next_3: 'Sonraki 3 Sayfa',
+};
diff --git a/components/vc-steps/index.js b/components/vc-steps/index.js
index 1f78f092b..4a15290ad 100644
--- a/components/vc-steps/index.js
+++ b/components/vc-steps/index.js
@@ -1,3 +1,4 @@
+// base rc-steps 3.3.1
 import Steps from './Steps'
 import Step from './Step'
 
diff --git a/examples/components/header.vue b/examples/components/header.vue
index debaab9ec..8f1806c5a 100644
--- a/examples/components/header.vue
+++ b/examples/components/header.vue
@@ -22,7 +22,7 @@ export default {
         <a-row>
           <a-col xxl={4} xl={5} lg={5} md={6} sm={24} xs={24}>
             <router-link to={{ path: `/${lang}` }} id='logo'>
-              LOGO
+              <img alt='logo' src='https://raw.githubusercontent.com/vueComponent/ant-design/master/logo.png' />
               <span>   VUE-ANTD</span>
             </router-link>
           </a-col>
diff --git a/examples/index.html b/examples/index.html
index 8e9f297b3..17709bbc9 100644
--- a/examples/index.html
+++ b/examples/index.html
@@ -5,6 +5,7 @@
     <meta charset="utf-8">
     <meta http-equiv="X-UA-Compatible" content="IE=edge">
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <link rel="icon" type="image/x-icon" href="https://raw.githubusercontent.com/vueComponent/ant-design/master/logo.png">
 </head>
 
 <body>
@@ -13,4 +14,4 @@
     </div>
 </body>
 
-</html>
\ No newline at end of file
+</html>
diff --git a/logo.png b/logo.png
new file mode 100644
index 000000000..27676b9fa
Binary files /dev/null and b/logo.png differ
diff --git a/package.json b/package.json
index e0f2e8556..80b0c5fae 100644
--- a/package.json
+++ b/package.json
@@ -1,150 +1,147 @@
 {
-    "name": "vue-antd-ui",
-    "version": "0.1.1",
-    "title": "Ant Design Vue",
-    "description": "An enterprise-class UI design language and Vue-based implementation",
-    "keywords": [
-        "ant",
-        "design",
-        "antd",
-        "vue",
-        "vueComponent",
-        "component",
-        "components",
-        "ui",
-        "framework",
-        "frontend"
-    ],
-    "main": "dist/antd.min.js",
-    "files": [
-        "dist",
-        "lib",
-        "es"
-    ],
-    "scripts": {
-        "start": "NODE_ENV=development ./node_modules/.bin/webpack-dev-server --open --hot",
-        "test": "karma start test/karma.conf.js --single-run",
-        "build": "sh build.sh",
-        "compile": "node antd-tools/cli/run.js compile",
-        "dist": "node antd-tools/cli/run.js dist",
-        "lint": "eslint -c ./.eslintrc --fix --ext .jsx ./components",
-        "lint:style": "stylelint \"./examples/**/*.less\" --fix --syntax less"
-    },
-    "repository": {
-        "type": "git",
-        "url": "git+https://github.com/vueComponent/ant-design.git"
-    },
-    "license": "MIT",
-    "bugs": {
-        "url": "https://github.com/vueComponent/ant-design/issues"
-    },
-    "homepage": "https://github.com/vueComponent/ant-design",
-    "pre-commit": [
-        "lint:style"
-    ],
-    "devDependencies": {
-        "autoprefixer": "^8.1.0",
-        "babel-cli": "^6.26.0",
-        "babel-core": "^6.26.0",
-        "babel-eslint": "^8.0.1",
-        "babel-helper-vue-jsx-merge-props": "^2.0.3",
-        "babel-loader": "^7.1.2",
-        "babel-plugin-add-module-exports": "^0.2.1",
-        "babel-plugin-import": "^1.1.1",
-        "babel-plugin-istanbul": "^4.1.1",
-        "babel-plugin-syntax-dynamic-import": "^6.18.0",
-        "babel-plugin-syntax-jsx": "^6.18.0",
-        "babel-plugin-transform-decorators": "^6.24.1",
-        "babel-plugin-transform-decorators-legacy": "^1.3.4",
-        "babel-plugin-transform-es3-member-expression-literals": "^6.22.0",
-        "babel-plugin-transform-es3-property-literals": "^6.22.0",
-        "babel-plugin-transform-object-assign": "^6.22.0",
-        "babel-plugin-transform-object-rest-spread": "^6.26.0",
-        "babel-plugin-transform-runtime": "~6.23.0",
-        "babel-plugin-transform-vue-jsx": "^3.7.0",
-        "babel-polyfill": "^6.26.0",
-        "babel-preset-env": "^1.6.1",
-        "case-sensitive-paths-webpack-plugin": "^2.1.2",
-        "chai": "^4.1.2",
-        "chalk": "^2.3.2",
-        "cheerio": "^1.0.0-rc.2",
-        "colorful": "^2.1.0",
-        "commander": "^2.15.0",
-        "css-loader": "^0.28.7",
-        "deep-assign": "^2.0.0",
-        "eslint": "^4.7.2",
-        "eslint-plugin-html": "^3.2.2",
-        "eslint-plugin-vue-libs": "^1.2.1",
-        "extract-text-webpack-plugin": "^3.0.2",
-        "fetch-jsonp": "^1.1.3",
-        "gulp": "^3.9.1",
-        "gulp-babel": "^7.0.0",
-        "gulp-strip-code": "^0.1.4",
-        "highlight.js": "^9.12.0",
-        "html-webpack-plugin": "^2.30.1",
-        "istanbul-instrumenter-loader": "^3.0.0",
-        "jsonp": "^0.2.1",
-        "karma": "^1.4.1",
-        "karma-coverage": "^1.1.1",
-        "karma-coverage-istanbul-reporter": "^1.3.0",
-        "karma-mocha": "^1.3.0",
-        "karma-phantomjs-launcher": "^1.0.2",
-        "karma-phantomjs-shim": "^1.4.0",
-        "karma-sinon-chai": "^1.3.1",
-        "karma-sourcemap-loader": "^0.3.7",
-        "karma-spec-reporter": "0.0.31",
-        "karma-webpack": "^2.0.2",
-        "less": "^2.7.2",
-        "less-loader": "^4.0.5",
-        "less-plugin-npm-import": "^2.1.0",
-        "markdown-it": "^8.4.0",
-        "marked": "^0.3.7",
-        "merge2": "^1.2.1",
-        "mocha": "^3.2.0",
-        "postcss": "^6.0.20",
-        "postcss-loader": "^2.1.2",
-        "pre-commit": "^1.2.2",
-        "querystring": "^0.2.0",
-        "rimraf": "^2.6.2",
-        "rucksack-css": "^1.0.2",
-        "selenium-server": "^3.0.1",
-        "semver": "^5.3.0",
-        "sinon": "^4.0.2",
-        "sinon-chai": "^2.8.0",
-        "style-loader": "^0.18.2",
-        "stylelint": "^8.1.1",
-        "stylelint-config-standard": "^17.0.0",
-        "through2": "^2.0.3",
-        "vue-antd-md-loader": "^1.0.3",
-        "vue-loader": "^13.0.5",
-        "vue-router": "^3.0.1",
-        "vue-template-compiler": "^2.5.15",
-        "webpack": "^3.6.0",
-        "webpack-chunk-hash": "^0.5.0",
-        "webpack-dev-server": "^2.8.2",
-        "webpack-merge": "^4.1.1"
-    },
-    "dependencies": {
-        "add-dom-event-listener": "^1.0.2",
-        "array-tree-filter": "^2.1.0",
-        "classnames": "^2.2.5",
-        "component-classes": "^1.2.6",
-        "css-animation": "^1.4.1",
-        "dom-align": "^1.6.7",
-        "dom-scroll-into-view": "^1.2.1",
-        "enquire.js": "^2.1.6",
-        "eslint-plugin-vue": "^3.13.0",
-        "lodash.clonedeep": "^4.5.0",
-        "lodash.debounce": "^4.0.8",
-        "lodash.isequal": "^4.5.0",
-        "lodash.isplainobject": "^4.0.6",
-        "moment": "^2.21.0",
-        "omit.js": "^1.0.0",
-        "shallow-equal": "^1.0.0",
-        "shallowequal": "^1.0.2",
-        "vue": "^2.5.15",
-        "vue-clipboard2": "0.0.8",
-        "vue-types": "^1.0.2",
-        "warning": "^3.0.0"
-    }
-}
\ No newline at end of file
+  "name": "vue-antd-ui",
+  "version": "0.1.1",
+  "title": "Ant Design Vue",
+  "description": "An enterprise-class UI design language and Vue-based implementation",
+  "keywords": [
+    "ant",
+    "design",
+    "antd",
+    "vue",
+    "vueComponent",
+    "component",
+    "components",
+    "ui",
+    "framework",
+    "frontend"
+  ],
+  "main": "dist/antd.min.js",
+  "files": [
+    "dist",
+    "lib",
+    "es"
+  ],
+  "scripts": {
+    "start": "NODE_ENV=development ./node_modules/.bin/webpack-dev-server --open --hot",
+    "test": "karma start test/karma.conf.js --single-run",
+    "build": "sh build.sh",
+    "compile": "node antd-tools/cli/run.js compile",
+    "dist": "node antd-tools/cli/run.js dist",
+    "lint": "eslint -c ./.eslintrc --fix --ext .jsx ./components",
+    "lint:style": "stylelint \"./examples/**/*.less\" --fix --syntax less"
+  },
+  "repository": {
+    "type": "git",
+    "url": "git+https://github.com/vueComponent/ant-design.git"
+  },
+  "license": "MIT",
+  "bugs": {
+    "url": "https://github.com/vueComponent/ant-design/issues"
+  },
+  "homepage": "https://github.com/vueComponent/ant-design",
+  "pre-commit": [
+    "lint:style"
+  ],
+  "devDependencies": {
+    "autoprefixer": "^8.1.0",
+    "babel-cli": "^6.26.0",
+    "babel-core": "^6.26.0",
+    "babel-eslint": "^8.0.1",
+    "babel-helper-vue-jsx-merge-props": "^2.0.3",
+    "babel-loader": "^7.1.2",
+    "babel-plugin-add-module-exports": "^0.2.1",
+    "babel-plugin-import": "^1.1.1",
+    "babel-plugin-istanbul": "^4.1.1",
+    "babel-plugin-syntax-dynamic-import": "^6.18.0",
+    "babel-plugin-syntax-jsx": "^6.18.0",
+    "babel-plugin-transform-decorators": "^6.24.1",
+    "babel-plugin-transform-decorators-legacy": "^1.3.4",
+    "babel-plugin-transform-es3-member-expression-literals": "^6.22.0",
+    "babel-plugin-transform-es3-property-literals": "^6.22.0",
+    "babel-plugin-transform-object-assign": "^6.22.0",
+    "babel-plugin-transform-object-rest-spread": "^6.26.0",
+    "babel-plugin-transform-runtime": "~6.23.0",
+    "babel-plugin-transform-vue-jsx": "^3.7.0",
+    "babel-polyfill": "^6.26.0",
+    "babel-preset-env": "^1.6.1",
+    "case-sensitive-paths-webpack-plugin": "^2.1.2",
+    "chai": "^4.1.2",
+    "chalk": "^2.3.2",
+    "cheerio": "^1.0.0-rc.2",
+    "colorful": "^2.1.0",
+    "commander": "^2.15.0",
+    "css-loader": "^0.28.7",
+    "deep-assign": "^2.0.0",
+    "eslint": "^4.7.2",
+    "eslint-plugin-html": "^3.2.2",
+    "eslint-plugin-vue-libs": "^1.2.1",
+    "extract-text-webpack-plugin": "^3.0.2",
+    "fetch-jsonp": "^1.1.3",
+    "gulp": "^3.9.1",
+    "gulp-babel": "^7.0.0",
+    "gulp-strip-code": "^0.1.4",
+    "highlight.js": "^9.12.0",
+    "html-webpack-plugin": "^2.30.1",
+    "istanbul-instrumenter-loader": "^3.0.0",
+    "jsonp": "^0.2.1",
+    "karma": "^1.4.1",
+    "karma-coverage": "^1.1.1",
+    "karma-coverage-istanbul-reporter": "^1.3.0",
+    "karma-mocha": "^1.3.0",
+    "karma-phantomjs-launcher": "^1.0.2",
+    "karma-phantomjs-shim": "^1.4.0",
+    "karma-sinon-chai": "^1.3.1",
+    "karma-sourcemap-loader": "^0.3.7",
+    "karma-spec-reporter": "0.0.31",
+    "karma-webpack": "^2.0.2",
+    "less": "^2.7.2",
+    "less-loader": "^4.0.5",
+    "less-plugin-npm-import": "^2.1.0",
+    "markdown-it": "^8.4.0",
+    "marked": "^0.3.7",
+    "merge2": "^1.2.1",
+    "mocha": "^3.2.0",
+    "postcss": "^6.0.20",
+    "postcss-loader": "^2.1.2",
+    "pre-commit": "^1.2.2",
+    "querystring": "^0.2.0",
+    "rimraf": "^2.6.2",
+    "rucksack-css": "^1.0.2",
+    "selenium-server": "^3.0.1",
+    "semver": "^5.3.0",
+    "sinon": "^4.0.2",
+    "sinon-chai": "^2.8.0",
+    "style-loader": "^0.18.2",
+    "stylelint": "^8.1.1",
+    "stylelint-config-standard": "^17.0.0",
+    "through2": "^2.0.3",
+    "vue-antd-md-loader": "^1.0.3",
+    "vue-loader": "^13.0.5",
+    "vue-router": "^3.0.1",
+    "vue-template-compiler": "^2.5.15",
+    "webpack": "^3.6.0",
+    "webpack-chunk-hash": "^0.5.0",
+    "webpack-dev-server": "^2.8.2",
+    "webpack-merge": "^4.1.1"
+  },
+  "dependencies": {
+    "add-dom-event-listener": "^1.0.2",
+    "array-tree-filter": "^2.1.0",
+    "classnames": "^2.2.5",
+    "component-classes": "^1.2.6",
+    "css-animation": "^1.4.1",
+    "dom-align": "^1.6.7",
+    "dom-scroll-into-view": "^1.2.1",
+    "enquire.js": "^2.1.6",
+    "eslint-plugin-vue": "^3.13.0",
+    "lodash": "^4.17.5",
+    "moment": "^2.21.0",
+    "omit.js": "^1.0.0",
+    "shallow-equal": "^1.0.0",
+    "shallowequal": "^1.0.2",
+    "vue": "^2.5.15",
+    "vue-clipboard2": "0.0.8",
+    "vue-types": "^1.0.2",
+    "warning": "^3.0.0"
+  }
+}