mowatermelon / Use-iceWorks

使用Iceworks的案例代码
1 stars 0 forks source link

window系统编写ice-vue物料完整记录 #23

Closed mowatermelon closed 6 years ago

mowatermelon commented 6 years ago

前言

很早之前就想写了,但是自己之前几次尝试都卡了某个步骤,我这次系统的记录一下看能否有不同,为了做方便做测试,我可能会选择比较简单的物料,希望能够达到快速coding,快速发布的merge,日常捂脸.jpg,祝自己顺利~~~~。

查看具体分类

vue物料社区中主要是分三大类,区块(blocks) ,布局(layouts)和模板(scaffolds)。

区块(参考react物料)(14)

题外话

日常捂脸.jpg,看了半天,感觉想写的demo好多,原本下定决心写那几个异常页来着,结果发现好多信息展示页,还有模态窗展示的,我都觉得可以写,感觉自己好花心。

不过我看区块物料的时候,想到敏捷开发了,最小区块交付,在这里面体现的真的淋漓尽致,一个普通的卡片组都写了好些。

whatever,我觉得,我之前既然已经决定要写异常页,就写这个吧,之后再写其他都行,毕竟今天coding不是重点。

布局(参考react物料)(4)

题外话

看到布局分类的时候,我又有点想写这个了,但是感觉饿了么本身就提供了,再写挺累赘的,我要记住我是要写异常页的,坚定的眼神.jpg

模板(参考react物料)(11)

确认资源

react物料中相关的配置

{
      "name": "basic-not-found",
      "title": "404 报错提示",
      "source": {
        "type": "npm",
        "npm": "@icedesign/basic-not-found-block",
        "version": "0.1.5",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.0",
        "prop-types": "^15.5.8",
        "react-router": "^3.2.0"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1.HyVgyqAXuNjy1XdXXaYcVXa-1914-1066.png",
      "categories": [
        "异常"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          }
        ]
      },
      "description": "404 报错提示",
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2017-12-27T13:43:46.999Z",
      "updateTime": "2018-03-13T14:54:38.253Z"
    },
    {
      "name": "empty-content",
      "title": "空内容提示",
      "source": {
        "type": "npm",
        "npm": "@icedesign/empty-content-block",
        "version": "0.1.8",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.0",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1unfJiOqAXuNjy1XdXXaYcVXa-1862-1024.png",
      "categories": [
        "异常"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          }
        ]
      },
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-01-02T13:04:05.933Z",
      "updateTime": "2018-03-13T15:40:43.128Z"
    },
    {
      "name": "not-permission",
      "title": "无权限提示",
      "source": {
        "type": "npm",
        "npm": "@icedesign/not-permission-block",
        "version": "0.1.8",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.0",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1XvlnjtfJ8KJjy0FeXXXKEXXa-1900-1072.png",
      "categories": [
        "异常"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          }
        ]
      },
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-01-02T07:55:35.592Z",
      "updateTime": "2018-03-13T15:47:19.815Z"
    },
{
      "name": "basic-exception",
      "title": "基础异常报错",
      "source": {
        "type": "npm",
        "npm": "@icedesign/basic-exception-block",
        "version": "0.1.5",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.0",
        "prop-types": "^15.5.8",
        "react-router": "^3.2.0"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB197z8if2H8KJjy0FcXXaDlFXa-1786-914.png",
      "categories": [
        "异常"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          }
        ]
      },
      "description": "基础异常报错",
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2017-12-27T13:42:54.113Z",
      "updateTime": "2018-03-13T14:55:44.127Z"
    }

确认详细文本内容

404 报错提示

文件夹和文件命名

BasicNotFound

图片地址

404

标题内容

抱歉,你访问的页面不存在

副标题内容

您要找的页面没有找到,请返回首页继续浏览

空内容提示

文件夹和文件命名

EmptyContent

图片地址

empty

标题内容

页面暂无内容

副标题内容

抱歉,页面暂无内容,请看看其他页面

无权限提示

文件夹和文件命名

NotPermission

图片地址

auth

标题内容

抱歉,您无权限~

副标题内容

抱歉,您暂无权限,请看看其他页面

基础异常报错

文件夹和文件命名

BasicException

图片地址

base-error

标题内容

抱歉,服务器出错了

副标题内容

服务器出错了,请重新刷新页面或返回首页

样式需要注意的地方


/**
* reset css
*/

h3, h4, h5 {
    font-weight: 400;
    line-height: 24px;
}
*, :after, :before {
    box-sizing: border-box;
}
p {
  font-weight: 400;
}
h6, p {
    margin-bottom: 7px;
    font-size: 14px;
    line-height: 20px;
}
img {
    border: 0;
}

/**
* response css
*/
@media screen and (max-width: 1199px) and (min-width: 721px){
  .exception-content{
    .imgException {
        max-width: 180px;
        margin-right: 30px;
    }
    .title {
        font-size: 20px;
        margin: 10px 0;
    }
    .description {
        font-size: 14px;
    }
  }
}

@media screen and (min-width: 1200px){
  .exception-content {
    .imgException {
      max-width: 260px;
      margin-right: 50px;
    }
    .title {
      font-size: 24px;
      margin: 20px 0;
    }
    .description {
      font-size: 16px;
    }
  }
}

参考react物料中修改为vue物料正常配置

{
  "name": "vue-materials",
  "type": "vue",
  "blocks": [
        {
          "name": "basic-not-found",
          "title": "404 报错提示",
          "source": {
            "type": "npm",
            "npm": "@vue-materials/basic-not-found-block",
            "version": "0.1.5",
            "sourceCodeDirectory": "src/",
            "registry": "http://registry.npmjs.com"
          },
          "dependencies": {
            "@vue-materials/basic-container": "^1.0.0",
            "vue": "^2.5.16"
          },
          "screenshot": "",
          "categories": [
            "异常"
          ],
          "features": {
            "useComponents": []
          },
          "description": "基于element-ui组件的404 报错提示",
          "repository": "https://github.com/alibaba/ice",
          "publishTime": "",
          "updateTime": ""
        },
        {
          "name": "empty-content",
          "title": "空内容提示",
          "source": {
            "type": "npm",
            "npm": "@icedesign/empty-content-block",
            "version": "0.1.8",
            "sourceCodeDirectory": "src/",
            "registry": "http://registry.npmjs.com"
          },
          "dependencies": {
            "@vue-materials/basic-container": "^1.0.0",
            "vue": "^2.5.16"
          },
          "screenshot": "",
          "categories": [
            "异常"
          ],
          "features": {
            "useComponents": []
          },
          "description": "基于element-ui组件的空内容提示",
          "repository": "https://github.com/alibaba/ice",
          "publishTime": "",
          "updateTime": ""
        },
        {
          "name": "not-permission",
          "title": "无权限提示",
          "source": {
            "type": "npm",
            "npm": "@icedesign/not-permission-block",
            "version": "0.1.8",
            "sourceCodeDirectory": "src/",
            "registry": "http://registry.npmjs.com"
          },
          "dependencies": {
            "@vue-materials/basic-container": "^1.0.0",
            "vue": "^2.5.16"
          },
          "screenshot": "",
          "categories": [
            "异常"
          ],
          "features": {
            "useComponents": []
          },
          "description": "基于element-ui组件的无权限提示",
          "repository": "https://github.com/alibaba/ice",
          "publishTime": "",
          "updateTime": ""
        },
        {
          "name": "basic-exception",
          "title": "基础异常报错",
          "source": {
            "type": "npm",
            "npm": "@icedesign/basic-exception-block",
            "version": "0.1.5",
            "sourceCodeDirectory": "src/",
            "registry": "http://registry.npmjs.com"
          },
          "dependencies": {
            "@vue-materials/basic-container": "^1.0.0",
            "vue": "^2.5.16"
          },
          "screenshot": "",
          "categories": [
            "异常"
          ],
          "features": {
            "useComponents": []
          },
          "description": "基于element-ui组件的基础异常报错",
          "repository": "https://github.com/alibaba/ice",
          "publishTime": "",
          "updateTime": ""
        }
  ]

着手开发

安装开发环境

cnpm install ice-devtools@beta -g

一共要装54的包

Downloading ice-devtools to X:\XX\XX\node_global\node_modules\ice-devtools_tmp
Copying X:\XX\XX\node_global\node_modules\ice-devtools_tmp\_ice-devtools@1.0.0-beta.18@ice-devtools to X:\XX\XX\node_global\node_modules\ice-devtools
Installing ice-devtools's dependencies to X:\XX\XX\node_global\node_modules\ice-devtools/node_modules
[1/54] babel-preset-react@^6.24.1 installed at node_modules\_babel-preset-react@6.24.1@babel-preset-react
[2/54] chalk@^1.1.3 existed at node_modules\_chalk@1.1.3@chalk
[3/54] babel-preset-stage-0@^6.24.1 installed at node_modules\_babel-preset-stage-0@6.24.1@babel-preset-stage-0
[4/54] consolidate@^0.15.1 installed at node_modules\_consolidate@0.15.1@consolidate
[5/54] debug@^2.6.3 existed at node_modules\_debug@2.6.9@debug
[6/54] babel-plugin-transform-export-extensions@^6.22.0 installed at node_modules\_babel-plugin-transform-export-extensions@6.22.0@babel-plugin-transform-export-extensions
[7/54] ejs@^2.5.6 installed at node_modules\_ejs@2.6.1@ejs
[8/54] async@^2.6.0 installed at node_modules\_async@2.6.0@async
[9/54] glob@^7.1.1 existed at node_modules\_glob@7.1.2@glob
[10/54] babel-plugin-transform-lib-import@^0.1.0 installed at node_modules\_babel-plugin-transform-lib-import@0.1.0@babel-plugin-transform-lib-import
[11/54] babel-preset-es2015@^6.24.1 installed at node_modules\_babel-preset-es2015@6.24.1@babel-preset-es2015
[12/54] extract-text-webpack-plugin@^4.0.0-beta.0 installed at node_modules\_extract-text-webpack-plugin@4.0.0-beta.0@extract-text-webpack-plugin
[13/54] babel-preset-env@^1.6.1 installed at node_modules\_babel-preset-env@1.7.0@babel-preset-env
[14/54] kebab-case@^1.0.0 installed at node_modules\_kebab-case@1.0.0@kebab-case
[15/54] glob-promise@^3.4.0 installed at node_modules\_glob-promise@3.4.0@glob-promise
[16/54] inquirer@^3.3.0 installed at node_modules\_inquirer@3.3.0@inquirer
[17/54] koa-router@^7.4.0 installed at node_modules\_koa-router@7.4.0@koa-router
[18/54] mkdirp@^0.5.1 existed at node_modules\_mkdirp@0.5.1@mkdirp
[19/54] download-git-repo@^1.0.2 installed at node_modules\_download-git-repo@1.0.2@download-git-repo
[20/54] html-webpack-plugin@^3.1.0 installed at node_modules\_html-webpack-plugin@3.2.0@html-webpack-plugin
[21/54] multimatch@^2.1.0 installed at node_modules\_multimatch@2.1.0@multimatch
[22/54] babel-plugin-transform-es2015-modules-commonjs@^6.26.0 installed at node_modules\_babel-plugin-transform-es2015-modules-commonjs@6.26.2@babel-plugin-transform-es2015-modules-commonjs
[23/54] babel-core@^6.26.0 installed at node_modules\_babel-core@6.26.3@babel-core
[24/54] ora@^2.0.0 installed at node_modules\_ora@2.1.0@ora
[25/54] koa-views@^6.1.4 installed at node_modules\_koa-views@6.1.4@koa-views
[26/54] metalsmith@^2.3.0 installed at node_modules\_metalsmith@2.3.0@metalsmith
[27/54] rimraf@^2.6.1 existed at node_modules\_rimraf@2.6.2@rimraf
[28/54] semver@^5.3.0 existed at node_modules\_semver@5.5.0@semver
[29/54] read-metadata@^1.0.0 installed at node_modules\_read-metadata@1.0.0@read-metadata
[30/54] style-loader@^0.20.3 installed at node_modules\_style-loader@0.20.3@style-loader
[31/54] request-promise@^4.2.2 installed at node_modules\_request-promise@4.2.2@request-promise
[32/54] tildify@^1.2.0 installed at node_modules\_tildify@1.2.0@tildify
[33/54] user-home@^2.0.0 installed at node_modules\_user-home@2.0.0@user-home
[34/54] uppercamelcase@^3.0.0 installed at node_modules\_uppercamelcase@3.0.0@uppercamelcase
[35/54] uuid@^3.0.1 existed at node_modules\_uuid@3.2.1@uuid
[36/54] tar@^2.2.1 installed at node_modules\_tar@2.2.1@tar
[37/54] validate-npm-package-name@^3.0.0 installed at node_modules\_validate-npm-package-name@3.0.0@validate-npm-package-name
[38/54] handlebars@^4.0.11 installed at node_modules\_handlebars@4.0.11@handlebars
[39/54] webpack@^4.4.1 existed at node_modules\_webpack@4.8.2@webpack
[40/54] vue-style-loader@^4.1.0 installed at node_modules\_vue-style-loader@4.1.0@vue-style-loader
fsevents@1.2.3 download from binary mirror: {"module_name":"fse","module_path":"./lib/binding/{configuration}/{node_abi}-{platform}-{arch}/","remote_path":"./v{version}/","package_name":"{module_name}-v{version}-{node_abi}-{platform}-{arch}.tar.gz","host":"https://cdn.npm.taobao.org/dist/fsevents"}
[41/54] moment@^2.22.0 installed at node_modules\_moment@2.22.1@moment
platform unsupported babel-loader@7.1.4 › webpack@4.8.2 › watchpack@1.6.0 › chokidar@2.0.3 › fsevents@^1.1.2 Package require os(darwin) not compatible with your platform(win32)
[fsevents@^1.1.2] optional install error: Package require os(darwin) not compatible with your platform(win32)
[42/54] babel-loader@^7.1.4 installed at node_modules\_babel-loader@7.1.4@babel-loader
[43/54] vue-template-compiler@^2.5.16 installed at node_modules\_vue-template-compiler@2.5.16@vue-template-compiler
[44/54] request@^2.85.0 installed at node_modules\_request@2.85.0@request
[45/54] webpack-merge@^4.1.2 installed at node_modules\_webpack-merge@4.1.2@webpack-merge
[46/54] sass-loader@^6.0.7 installed at node_modules\_sass-loader@6.0.7@sass-loader
[47/54] write@^0.3.3 installed at node_modules\_write@0.3.3@write
[48/54] webpack-plugin-import@^0.1.2 installed at node_modules\_webpack-plugin-import@0.1.2@webpack-plugin-import
[49/54] css-loader@^0.28.11 installed at node_modules\_css-loader@0.28.11@css-loader
[50/54] webpack-serve@^0.3.1 installed at node_modules\_webpack-serve@0.3.2@webpack-serve
[51/54] node-sass@^4.8.3 installed at node_modules\_node-sass@4.9.0@node-sass
[52/54] vue-loader@^14.2.2 installed at node_modules\_vue-loader@14.2.2@vue-loader
[53/54] webpack-dev-server@^3.1.1 installed at node_modules\_webpack-dev-server@3.1.4@webpack-dev-server
[54/54] webpack-hot-client@^2.2.0 installed at node_modules\_webpack-hot-client@2.2.2@webpack-hot-client
execute post install 1 scripts...
[1/1] scripts.install node-sass@^4.8.3 run "node scripts/install.js"
Cached binary found at C:\Users\Administrator\.npminstall_tarball\node-sass\4.9.0\win32-x64-57_binding.node
[1/1] scripts.install node-sass@^4.8.3 finished in 4s
[1/1] scripts.postinstall node-sass@^4.8.3 run "node scripts/build.js"
Binary found at X:\XX\XX\node_global\node_modules\ice-devtools\node_modules\_node-sass@4.9.0@node-sass\vendor\win32-x64-57\binding.node
Testing binary
Binary is fine
[1/1] scripts.postinstall node-sass@^4.8.3 finished in 1s
deprecate babel-preset-es2015@^6.24.1 ????  Thanks for using Babel: we recommend using babel-preset-env now: please read babeljs.io/env to update!
deprecate metalsmith@2.3.0 › gray-matter@2.1.1 › coffee-script@^1.12.4 CoffeeScript on NPM has moved to "coffeescript" (no hyphen)
Recently updated (since 2018-05-05): 32 packages (detail see file X:\XX\XX\node_global\node_modules\ice-devtools\node_modules\.recently_updates.txt)
  Today:
    → babel-loader@7.1.4 › webpack@^4.4.1(4.8.2) (00:13:26)
    → glob-promise@3.4.0 › @types/glob@5.0.35 › @types/node@*(6.0.110) (09:02:12)
  2018-05-11
    → babel-loader@7.1.4 › webpack@4.8.2 › @webassemblyjs/wasm-edit@1.4.2(1.4.2) (22:13:57)
    → babel-loader@7.1.4 › webpack@4.8.2 › @webassemblyjs/wasm-parser@1.4.2(1.4.2) (22:13:09)
    → babel-loader@7.1.4 › webpack@4.8.2 › @webassemblyjs/ast@1.4.2(1.4.2) (22:12:50)
    → babel-loader@7.1.4 › webpack@4.8.2 › @webassemblyjs/wasm-edit@1.4.2 › @webassemblyjs/helper-wasm-bytecode@1.4.2(1.4.2) (22:12:44)
    → babel-loader@7.1.4 › webpack@4.8.2 › @webassemblyjs/wasm-edit@1.4.2 › @webassemblyjs/wast-printer@1.4.2(1.4.2) (22:13:39)
    → babel-loader@7.1.4 › webpack@4.8.2 › @webassemblyjs/wasm-edit@1.4.2 › @webassemblyjs/helper-buffer@1.4.2(1.4.2) (22:12:38)
    → babel-loader@7.1.4 › webpack@4.8.2 › @webassemblyjs/wasm-edit@1.4.2 › @webassemblyjs/helper-wasm-section@1.4.2(1.4.2) (22:13:04)
    → babel-loader@7.1.4 › webpack@4.8.2 › @webassemblyjs/wasm-edit@1.4.2 › @webassemblyjs/wasm-gen@1.4.2(1.4.2) (22:12:56)
    → babel-loader@7.1.4 › webpack@4.8.2 › @webassemblyjs/wasm-parser@1.4.2 › @webassemblyjs/leb128@1.4.2(1.4.2) (22:12:45)
    → babel-loader@7.1.4 › webpack@4.8.2 › @webassemblyjs/wasm-edit@1.4.2 › @webassemblyjs/wasm-opt@1.4.2(1.4.2) (22:13:16)
    → babel-loader@7.1.4 › webpack@4.8.2 › @webassemblyjs/ast@1.4.2 › @webassemblyjs/wast-parser@1.4.2(1.4.2) (22:13:29)
    → babel-loader@7.1.4 › webpack@4.8.2 › @webassemblyjs/wasm-parser@1.4.2 › webassemblyjs@1.4.2(1.4.2) (22:13:39)
    → babel-loader@7.1.4 › webpack@4.8.2 › @webassemblyjs/ast@1.4.2 › @webassemblyjs/wast-parser@1.4.2 › @webassemblyjs/helper-fsm@1.4.2(1.4.2) (22:12:37)
    → babel-loader@7.1.4 › webpack@4.8.2 › @webassemblyjs/ast@1.4.2 › @webassemblyjs/wast-parser@1.4.2 › @webassemblyjs/floating-point-hex-parser@1.4.2(1.4.2) (22:12:38)
    → babel-loader@7.1.4 › webpack@4.8.2 › @webassemblyjs/ast@1.4.2 › @webassemblyjs/wast-parser@1.4.2 › @webassemblyjs/helper-code-frame@1.4.2(1.4.2) (22:13:51)
    → babel-loader@7.1.4 › webpack@4.8.2 › @webassemblyjs/wasm-parser@1.4.2 › webassemblyjs@1.4.2 › @webassemblyjs/validation@1.4.2(1.4.2) (22:12:56)
    → babel-loader@7.1.4 › webpack@4.8.2 › micromatch@3.1.10 › snapdragon@0.8.2 › source-map-resolve@^0.5.0(0.5.2) (01:12:36)
  2018-05-10
    → babel-preset-env@^1.6.1(1.7.0) (22:31:21)
    → babel-loader@7.1.4 › find-cache-dir@1.0.0 › make-dir@^1.0.0(1.3.0) (21:52:55)
    → babel-preset-env@1.7.0 › browserslist@^3.2.6(3.2.7) (13:33:11)
    → babel-loader@7.1.4 › webpack@4.8.2 › node-libs-browser@2.1.0 › stream-http@^2.7.2(2.8.2) (10:54:19)
    → babel-preset-env@1.7.0 › browserslist@3.2.7 › caniuse-lite@^1.0.30000835(1.0.30000839) (15:01:04)
    → css-loader@0.28.11 › cssnano@3.10.0 › autoprefixer@6.7.7 › caniuse-db@^1.0.30000634(1.0.30000839) (14:21:43)
  2018-05-09
    → babel-loader@7.1.4 › webpack@4.8.2 › ajv@^6.1.0(6.5.0) (04:49:29)
  2018-05-08
    → babel-loader@7.1.4 › webpack@4.8.2 › uglifyjs-webpack-plugin@1.2.5 › cacache@10.0.4 › lru-cache@^4.1.1(4.1.3) (07:17:11)
    → html-webpack-plugin@3.2.0 › html-minifier@3.5.15 › uglify-js@3.3.x(3.3.24) (07:16:11)
    → inquirer@3.3.0 › external-editor@2.2.0 › iconv-lite@^0.4.17(0.4.23) (06:22:24)
  2018-05-07
    → babel-loader@7.1.4 › webpack@4.8.2 › node-libs-browser@2.1.0 › crypto-browserify@3.12.0 › create-ecdh@^4.0.0(4.0.3) (22:24:49)
    → babel-core@6.26.3 › babel-register@6.26.0 › core-js@^2.5.0(2.5.6) (21:57:54)
  2018-05-06
    → ejs@^2.5.6(2.6.1) (02:52:25)
All packages installed (1141 packages installed from npm registry, used 1m, speed 345.29kB/s, json 1012(7.54MB), tarball 19.72MB)
[ice-devtools@1.0.0-beta.18] link X:\XX\XX\node_global\ice-devtools@ -> X:\XX\XX\node_global\node_modules\ice-devtools\bin\index.js
[ice-devtools@1.0.0-beta.18] link X:\XX\XX\node_global\ice-devtools-init@ -> X:\XX\XX\node_global\node_modules\ice-devtools\bin\init.js
[ice-devtools@1.0.0-beta.18] link X:\XX\XX\node_global\ice-devtools-add@ -> X:\XX\XX\node_global\node_modules\ice-devtools\bin\add.js
[ice-devtools@1.0.0-beta.18] link X:\XX\XX\node_global\ice-devtools-start@ -> X:\XX\XX\node_global\node_modules\ice-devtools\bin\dev-server.js
[ice-devtools@1.0.0-beta.18] link X:\XX\XX\node_global\ice-devtools-generate@ -> X:\XX\XX\node_global\node_modules\ice-devtools\bin\db.js

检测安装是否正常

C:\Users\Administrator>ice-devtools

  Usage: index <command> [options]

  Options:

    -V, --version  output the version number
    -h, --help     output usage information

  Commands:

    init           generate a new project from a template
    add            add a new block/layout/scaffold from a official templates
    start          Start Dev Server
    generate       Generate database json
    help [cmd]     display help for [cmd]

C:\Users\Administrator>ice-devtools -V
1.0.0-beta.18

初始化项目

指令学习

请注意windowlinux电脑中指令不同。

# 如果是linux用户
$ ice-devtools init {remote-project-name} {your-folder-name}

# 如果是window用户
$ ice-devtools-init {remote-project-name} {your-folder-name}

# 举例,因为我是window用户,并且我想下载的远程仓库物料模板项目,所以我执行的是命令是
$ ice-devtools-init ice-materials-template melon

意外插曲

执行过程出现了一个小提示,好像是ice觉得我本地版本有点低,我决定去升级一下再继续执行初始化。


$ ice-devtools-init ice-materials-template melon
  A newer version of ice-devtools is available.

  latest:    1.0.0-beta.28
  installed: 1.0.0-beta.18

# 升级我的ice版本

# 因为我之前安装的时候指定了@beta版本,所以这个指令没有效果
$ cnpm update ice-devtools -g

# 所以我决定全局再安装一边,这次需要安装56个依赖包
$ cnpm i ice-devtools -g

# 全局安装之后,版本才升级成功了,所以,我最开始安装的时候就应该直接安装,官网说要指@beta版本是一个错误说法

$ ice-devtools -V
1.0.0-beta.28

安装日志

Downloading ice-devtools to X:\XX\XX\node_global\node_modules\ice-devtools_tmp
Copying X:\XX\XX\node_global\node_modules\ice-devtools_tmp\_ice-devtools@1.0.0-beta.28@ice-devtools to X:\XX\XX\node_global\node_modules\ice-devtools
Installing ice-devtools's dependencies to X:\XX\XX\node_global\node_modules\ice-devtools/node_modules
[1/56] axios@^0.18.0 installed at node_modules\_axios@0.18.0@axios
[2/56] babel-preset-es2015@^6.24.1 installed at node_modules\_babel-preset-es2015@6.24.1@babel-preset-es2015
[3/56] babel-preset-react@^6.24.1 installed at node_modules\_babel-preset-react@6.24.1@babel-preset-react
[4/56] chalk@^1.1.3 existed at node_modules\_chalk@1.1.3@chalk
[5/56] babel-preset-stage-0@^6.24.1 installed at node_modules\_babel-preset-stage-0@6.24.1@babel-preset-stage-0
[6/56] consolidate@^0.15.1 installed at node_modules\_consolidate@0.15.1@consolidate
[7/56] debug@^2.6.3 existed at node_modules\_debug@2.6.9@debug
[8/56] async@^2.6.0 installed at node_modules\_async@2.6.0@async
[9/56] babel-plugin-transform-es2015-modules-commonjs@^6.26.0 installed at node_modules\_babel-plugin-transform-es2015-modules-commonjs@6.26.2@babel-plugin-transform-es2015-modules-commonjs
[10/56] babel-plugin-transform-lib-import@^0.1.0 installed at node_modules\_babel-plugin-transform-lib-import@0.1.0@babel-plugin-transform-lib-import
[11/56] babel-plugin-component@^1.1.0 installed at node_modules\_babel-plugin-component@1.1.1@babel-plugin-component
[12/56] glob@^7.1.1 existed at node_modules\_glob@7.1.2@glob
[13/56] extract-text-webpack-plugin@^4.0.0-beta.0 installed at node_modules\_extract-text-webpack-plugin@4.0.0-beta.0@extract-text-webpack-plugin
[14/56] ejs@^2.5.6 installed at node_modules\_ejs@2.6.1@ejs
[core-js@2.5.6] download ShasumNotMatchError: real sha1:e7256e26776e4a731a0098bd2e5f9c62c76ecfdc not equal to remote:0fe6d45bf3cac3ac364a9d72de7576f4eb221b9d (core-js@2.5.6), fail count: 1
[15/56] glob-promise@^3.4.0 installed at node_modules\_glob-promise@3.4.0@glob-promise
[16/56] babel-preset-env@^1.6.1 installed at node_modules\_babel-preset-env@1.7.0@babel-preset-env
[17/56] kebab-case@^1.0.0 installed at node_modules\_kebab-case@1.0.0@kebab-case
[18/56] koa-router@^7.4.0 installed at node_modules\_koa-router@7.4.0@koa-router
[19/56] inquirer@^3.3.0 installed at node_modules\_inquirer@3.3.0@inquirer
[20/56] mkdirp@^0.5.1 existed at node_modules\_mkdirp@0.5.1@mkdirp
[21/56] download-git-repo@^1.0.2 installed at node_modules\_download-git-repo@1.0.2@download-git-repo
[22/56] html-webpack-plugin@^3.1.0 installed at node_modules\_html-webpack-plugin@3.2.0@html-webpack-plugin
[23/56] multimatch@^2.1.0 installed at node_modules\_multimatch@2.1.0@multimatch
[24/56] ora@^2.0.0 installed at node_modules\_ora@2.1.0@ora
[25/56] metalsmith@^2.3.0 installed at node_modules\_metalsmith@2.3.0@metalsmith
[26/56] koa-views@^6.1.4 installed at node_modules\_koa-views@6.1.4@koa-views
[27/56] request-promise@^4.2.2 installed at node_modules\_request-promise@4.2.2@request-promise
[28/56] read-metadata@^1.0.0 installed at node_modules\_read-metadata@1.0.0@read-metadata
[29/56] rimraf@^2.6.1 existed at node_modules\_rimraf@2.6.2@rimraf
[30/56] semver@^5.3.0 existed at node_modules\_semver@5.5.0@semver
[31/56] style-loader@^0.20.3 installed at node_modules\_style-loader@0.20.3@style-loader
fsevents@1.2.3 download from binary mirror: {"module_name":"fse","module_path":"./lib/binding/{configuration}/{node_abi}-{platform}-{arch}/","remote_path":"./v{version}/","package_name":"{module_name}-v{version}-{node_abi}-{platform}-{arch}.tar.gz","host":"https://cdn.npm.taobao.org/dist/fsevents"}
platform unsupported babel-loader@7.1.4 › webpack@4.8.2 › watchpack@1.6.0 › chokidar@2.0.3 › fsevents@^1.1.2 Package require os(darwin) not compatible with your platform(win32)
[fsevents@^1.1.2] optional install error: Package require os(darwin) not compatible with your platform(win32)
[32/56] babel-loader@^7.1.4 installed at node_modules\_babel-loader@7.1.4@babel-loader
[33/56] handlebars@^4.0.11 installed at node_modules\_handlebars@4.0.11@handlebars
[34/56] moment@^2.22.0 installed at node_modules\_moment@2.22.1@moment
[35/56] tildify@^1.2.0 installed at node_modules\_tildify@1.2.0@tildify
[36/56] uuid@^3.0.1 existed at node_modules\_uuid@3.2.1@uuid
[37/56] user-home@^2.0.0 installed at node_modules\_user-home@2.0.0@user-home
[38/56] tar@^2.2.1 installed at node_modules\_tar@2.2.1@tar
[39/56] uppercamelcase@^3.0.0 installed at node_modules\_uppercamelcase@3.0.0@uppercamelcase
[40/56] sass-loader@^6.0.7 installed at node_modules\_sass-loader@6.0.7@sass-loader
[41/56] webpack@^4.4.1 existed at node_modules\_webpack@4.8.2@webpack
[42/56] validate-npm-package-name@^3.0.0 installed at node_modules\_validate-npm-package-name@3.0.0@validate-npm-package-name
[43/56] request@^2.85.0 installed at node_modules\_request@2.85.0@request
[44/56] vue-style-loader@^4.1.0 installed at node_modules\_vue-style-loader@4.1.0@vue-style-loader
[45/56] webpack-plugin-import@^0.1.2 installed at node_modules\_webpack-plugin-import@0.1.2@webpack-plugin-import
[46/56] webpack-merge@^4.1.2 installed at node_modules\_webpack-merge@4.1.2@webpack-merge
[47/56] vue-template-compiler@^2.5.16 installed at node_modules\_vue-template-compiler@2.5.16@vue-template-compiler
[48/56] write@^0.3.3 installed at node_modules\_write@0.3.3@write
[49/56] css-loader@^0.28.11 installed at node_modules\_css-loader@0.28.11@css-loader
[50/56] node-sass@^4.8.3 installed at node_modules\_node-sass@4.9.0@node-sass
[51/56] webpack-serve@^0.3.1 installed at node_modules\_webpack-serve@0.3.2@webpack-serve
[52/56] babel-plugin-transform-export-extensions@^6.22.0 installed at node_modules\_babel-plugin-transform-export-extensions@6.22.0@babel-plugin-transform-export-extensions
[53/56] babel-core@^6.26.0 installed at node_modules\_babel-core@6.26.3@babel-core
[54/56] webpack-dev-server@^3.1.1 installed at node_modules\_webpack-dev-server@3.1.4@webpack-dev-server
[55/56] vue-loader@^14.2.2 installed at node_modules\_vue-loader@14.2.2@vue-loader
[56/56] webpack-hot-client@^2.2.0 installed at node_modules\_webpack-hot-client@2.2.2@webpack-hot-client
execute post install 1 scripts...
[1/1] scripts.install node-sass@^4.8.3 run "node scripts/install.js"
Cached binary found at C:\Users\Administrator\.npminstall_tarball\node-sass\4.9.0\win32-x64-57_binding.node
[1/1] scripts.install node-sass@^4.8.3 finished in 666ms
[1/1] scripts.postinstall node-sass@^4.8.3 run "node scripts/build.js"
Binary found at X:\XX\XX\node_global\node_modules\ice-devtools\node_modules\_node-sass@4.9.0@node-sass\vendor\win32-x64-57\binding.node
Testing binary
Binary is fine
[1/1] scripts.postinstall node-sass@^4.8.3 finished in 2s
deprecate babel-preset-es2015@^6.24.1 ????  Thanks for using Babel: we recommend using babel-preset-env now: please read babeljs.io/env to update!
deprecate metalsmith@2.3.0 › gray-matter@2.1.1 › coffee-script@^1.12.4 CoffeeScript on NPM has moved to "coffeescript" (no hyphen)
Recently updated (since 2018-05-05): 33 packages (detail see file X:\XX\XX\node_global\node_modules\ice-devtools\node_modules\.recently_updates.txt)
  Today:
    → babel-loader@7.1.4 › webpack@^4.4.1(4.8.2) (00:13:26)
    → glob-promise@3.4.0 › @types/glob@5.0.35 › @types/node@*(6.0.110) (09:02:12)
  2018-05-11
    → babel-loader@7.1.4 › webpack@4.8.2 › @webassemblyjs/wasm-edit@1.4.2(1.4.2) (22:13:57)
    → babel-loader@7.1.4 › webpack@4.8.2 › @webassemblyjs/ast@1.4.2(1.4.2) (22:12:50)
    → babel-loader@7.1.4 › webpack@4.8.2 › @webassemblyjs/wasm-parser@1.4.2(1.4.2) (22:13:09)
    → babel-loader@7.1.4 › webpack@4.8.2 › @webassemblyjs/wasm-edit@1.4.2 › @webassemblyjs/helper-buffer@1.4.2(1.4.2) (22:12:38)
    → babel-loader@7.1.4 › webpack@4.8.2 › @webassemblyjs/wasm-edit@1.4.2 › @webassemblyjs/wasm-opt@1.4.2(1.4.2) (22:13:16)
    → babel-loader@7.1.4 › webpack@4.8.2 › @webassemblyjs/wasm-edit@1.4.2 › @webassemblyjs/helper-wasm-bytecode@1.4.2(1.4.2) (22:12:44)
    → babel-loader@7.1.4 › webpack@4.8.2 › @webassemblyjs/wasm-edit@1.4.2 › @webassemblyjs/helper-wasm-section@1.4.2(1.4.2) (22:13:04)
    → babel-loader@7.1.4 › webpack@4.8.2 › @webassemblyjs/wasm-edit@1.4.2 › @webassemblyjs/wast-printer@1.4.2(1.4.2) (22:13:39)
    → babel-loader@7.1.4 › webpack@4.8.2 › @webassemblyjs/wasm-edit@1.4.2 › @webassemblyjs/wasm-gen@1.4.2(1.4.2) (22:12:56)
    → babel-loader@7.1.4 › webpack@4.8.2 › @webassemblyjs/ast@1.4.2 › @webassemblyjs/wast-parser@1.4.2(1.4.2) (22:13:29)
    → babel-loader@7.1.4 › webpack@4.8.2 › @webassemblyjs/wasm-parser@1.4.2 › @webassemblyjs/leb128@1.4.2(1.4.2) (22:12:45)
    → babel-loader@7.1.4 › webpack@4.8.2 › @webassemblyjs/ast@1.4.2 › @webassemblyjs/wast-parser@1.4.2 › @webassemblyjs/helper-fsm@1.4.2(1.4.2) (22:12:37)
    → babel-loader@7.1.4 › webpack@4.8.2 › @webassemblyjs/ast@1.4.2 › @webassemblyjs/wast-parser@1.4.2 › @webassemblyjs/floating-point-hex-parser@1.4.2(1.4.2) (22:12:38)
    → babel-loader@7.1.4 › webpack@4.8.2 › @webassemblyjs/ast@1.4.2 › @webassemblyjs/wast-parser@1.4.2 › @webassemblyjs/helper-code-frame@1.4.2(1.4.2) (22:13:51)
    → babel-loader@7.1.4 › webpack@4.8.2 › @webassemblyjs/ast@1.4.2 › webassemblyjs@1.4.2(1.4.2) (22:13:39)
    → babel-loader@7.1.4 › webpack@4.8.2 › @webassemblyjs/ast@1.4.2 › webassemblyjs@1.4.2 › @webassemblyjs/validation@1.4.2(1.4.2) (22:12:56)
    → babel-loader@7.1.4 › webpack@4.8.2 › micromatch@3.1.10 › snapdragon@0.8.2 › source-map-resolve@^0.5.0(0.5.2) (01:12:36)
  2018-05-10
    → babel-preset-env@^1.6.1(1.7.0) (22:31:21)
    → babel-loader@7.1.4 › find-cache-dir@1.0.0 › make-dir@^1.0.0(1.3.0) (21:52:55)
    → babel-preset-env@1.7.0 › browserslist@^3.2.6(3.2.7) (13:33:11)
    → babel-loader@7.1.4 › webpack@4.8.2 › node-libs-browser@2.1.0 › stream-http@^2.7.2(2.8.2) (10:54:19)
    → babel-preset-env@1.7.0 › browserslist@3.2.7 › caniuse-lite@^1.0.30000835(1.0.30000839) (15:01:04)
    → css-loader@0.28.11 › cssnano@3.10.0 › autoprefixer@6.7.7 › caniuse-db@^1.0.30000634(1.0.30000839) (14:21:43)
  2018-05-09
    → babel-loader@7.1.4 › webpack@4.8.2 › ajv@^6.1.0(6.5.0) (04:49:29)
  2018-05-08
    → babel-plugin-component@^1.1.0(1.1.1) (16:14:35)
    → babel-loader@7.1.4 › webpack@4.8.2 › uglifyjs-webpack-plugin@1.2.5 › cacache@10.0.4 › lru-cache@^4.1.1(4.1.3) (07:17:11)
    → html-webpack-plugin@3.2.0 › html-minifier@3.5.15 › uglify-js@3.3.x(3.3.24) (07:16:11)
    → inquirer@3.3.0 › external-editor@2.2.0 › iconv-lite@^0.4.17(0.4.23) (06:22:24)
  2018-05-07
    → babel-loader@7.1.4 › webpack@4.8.2 › node-libs-browser@2.1.0 › crypto-browserify@3.12.0 › create-ecdh@^4.0.0(4.0.3) (22:24:49)
    → babel-core@6.26.3 › babel-register@6.26.0 › core-js@^2.5.0(2.5.6) (21:57:54)
  2018-05-06
    → ejs@^2.5.6(2.6.1) (02:52:25)
All packages installed (1146 packages installed from npm registry, used 2m, speed 250.74kB/s, json 1016(6.93MB), tarball 20.34MB)
[ice-devtools@1.0.0-beta.28] link X:\XX\XX\node_global\ice-devtools@ -> X:\XX\XX\node_global\node_modules\ice-devtools\bin\ice-devtools.js
[ice-devtools@1.0.0-beta.28] link X:\XX\XX\node_global\ice-devtools-init@ -> X:\XX\XX\node_global\node_modules\ice-devtools\bin\ice-devtools-init.js
[ice-devtools@1.0.0-beta.28] link X:\XX\XX\node_global\ice-devtools-add@ -> X:\XX\XX\node_global\node_modules\ice-devtools\bin\ice-devtools-add.js
[ice-devtools@1.0.0-beta.28] link X:\XX\XX\node_global\ice-devtools-start@ -> X:\XX\XX\node_global\node_modules\ice-devtools\bin\ice-devtools-start.js
[ice-devtools@1.0.0-beta.28] link X:\XX\XX\node_global\ice-devtools-generate@ -> X:\XX\XX\node_global\node_modules\ice-devtools\bin\ice-devtools-generate.js

开始初始化

选择一个准备用来放物料的文件路径,然后在该路径下执行命令行。

$ ice-devtools-init ice-materials-template melon
? Please select libaries which you will use in this material source. (Press <space> to select, <a> to toggle all, <i> to inverse selection)
 ( ) React (https://github.com/facebook/react)
>(*) Vue (https://github.com/vuejs/vue)
? Set material source name (materials-app) melon-app
? Set material source version (1.0.0)# 有些不用修改默认值的可以直接按enter
? Add more description this is melon app
? author (mowatermelon <neefoxmo@gmail.com>) # 有些不用修改默认值的可以直接忽略
   ice-devtools · Generated "melon".
? Do you need run `npm install` right now? (Y/n) n # 由于担心npm会存在被墙的问题,所以这里我写的是n

# 放上我写完所有询问之后的控制台内容

$ ice-devtools-init ice-materials-template melon
? Please select libaries which you will use in this material source. Vue
? Set material source name melon-app
? Set material source version 1.0.0
? Add more description this is melon app
? author mowatermelon <neefoxmo@gmail.com>
   ice-devtools · Generated "melon".
? Do you need run `npm install` right now? No

查看初始目录的目录结构

melon
├── vue-materials
│   ├── blocks             // 区块
│   │   └── ExampleBlock
│   │   │   └── src
│   │   │   │   ├── ExampleBlock.vue //案例区块实际代码
│   │   │   │   └── index.js //导出案例区块
│   │   │   ├── package.json //案例区块配置说明
│   │   │   └── README.md //案例区块使用说明
│   ├── layouts            // 布局
│   │   └── ExampleLayout
│   │   │   └── src
│   │   │   │   ├── ExampleBlock.vue //案例布局实际代码
│   │   │   │   └── index.js //导出案例布局
│   │   │   ├── package.json //案例布局配置说明
│   │   │   └── README.md //案例布局使用说明
│   └── scaffolds          // 脚手架模板
│   │   └── ice-app
│   │   │   └── public
│   │   │   │   ├── favicon.ico //favicon.ico
│   │   │   │   └── index.html //案例模板页
│   │   │   └── src
│   │   │   │   ├── assets //第三方文件
│   │   │   │   │   └── logo.png //vue logo 图片
│   │   │   │   ├── components //案例模板基础组件文件夹
│   │   │   │   │   └── HelloWorld.vue //vue-cli 默认的hello world组件页
│   │   │   │   ├── layouts  //案例模板布局组件文件夹
│   │   │   │   │   └── BlankLayout //空白布局
│   │   │   │   │   │   └── index.vue //默认的空白布局组件页
│   │   │   │   ├── pages //案例模板页面组件文件夹
│   │   │   │   │   ├── About //默认关于我页
│   │   │   │   │   │   ├── About.vue //About页实际代码
│   │   │   │   │   │   └── index.js //导出About页
│   │   │   │   │   └── Home //默认的主页
│   │   │   │   │   │   ├── Home.vue //Home页实际代码
│   │   │   │   │   │   └── index.js //导出Home页
│   │   │   │   ├── App.vue //主入口组件
│   │   │   │   ├── main.js //初始化和路由挂载
│   │   │   │   └── router.js //路由代码
│   │   │   ├── .babelrc
│   │   │   ├── .eslintrc
│   │   │   ├── .gitignore
│   │   │   ├── vue.config.js
│   │   │   ├── .gitignore
│   │   │   ├── package.json
│   │   │   └── README.md
├── .editorconfig
├── .eslintignore
├── .eslintrc
├── .gitignore
├── .prettierignore
├── .prettierrc
├── lerna.json
├── package.json
└── README.md

初始化物料依赖包

$ cd melon
$ cnpm i# 安装了23个依赖包

安装日志

\ [22/23] Installing request@2.81.0platform unsupported ice-scripts@0.1.18 › babel-loader@7.1.4 › webpack@3.12.0 › watchpack@1.6.0 › chokidar@2.0.3 › fsevents@^1.1.2 Package require os(darwin) not compatible with your platform(win32)
[fsevents@^1.1.2] optional install error: Package require os(darwin) not compatible with your platform(win32)
√ Installed 23 packages
√ Linked 1107 latest versions
This does not seem to be a git project.
Although ghooks was installed, the actual git hooks have not.
Run "git init" and then "npm explore ghooks -- npm run install".

Please ignore this message if you are not using ghooks directly.
Cached binary found at C:\Users\Administrator\.npminstall_tarball\node-sass\4.9.0\win32-x64-57_binding.node
Binary found at X:\XX\XX\melon\node_modules\_node-sass@4.9.0@node-sass\vendor\win32-x64-57\binding.node
Testing binary
Binary is fine
√ Run 3 scripts
peerDependencies link ajv@5.5.2 in X:\XX\XX\melon\node_modules\_ajv-keywords@2.1.1@ajv-keywords unmet with X:\XX\XX\melon\node_modules\ajv(6.5.0)
peerDependencies WARNING ice-scripts@0.1.18 › react-hot-loader@3.1.3 › redbox-react@^1.3.6 requires a peer of react@^0.14.0 || ^15.0.0 || ^16.0.0-beta || ^16.0.0 but none was installed
peerDependencies WARNING ice-scripts@0.1.18 › react-hot-loader@3.1.3 › redbox-react@^1.3.6 requires a peer of react-dom@^0.14.0 || ^15.0.0 || ^16.0.0-beta || ^16.0.0 but none was installed
deprecate ice-scripts@0.1.18 › gulp@3.9.1 › gulp-util@^3.0.0 gulp-util is deprecated - replace it, following the guidelines at https://medium.com/gulpjs/gulp-util-ca3b1f9f9ac5
deprecate ice-scripts@0.1.18 › gulp@3.9.1 › vinyl-fs@0.3.14 › graceful-fs@^3.0.0 please upgrade to graceful-fs 4 for compatibility with current and future versions of Node.js
deprecate ice-scripts@0.1.18 › gulp@3.9.1 › vinyl-fs@0.3.14 › glob-stream@3.1.18 › minimatch@^2.0.1 Please update to minimatch 3.0.2 or higher to avoid
a RegExp DoS issue
deprecate ice-scripts@0.1.18 › gulp@3.9.1 › vinyl-fs@0.3.14 › graceful-fs@3.0.11 › natives@^1.1.0 This module relies on Node.js's internals and will break at some point. Do not use it, and update to graceful-fs@4.x.
deprecate ice-scripts@0.1.18 › gulp@3.9.1 › vinyl-fs@0.3.14 › glob-watcher@0.0.6 › gaze@0.5.2 › globule@0.1.0 › minimatch@~0.2.11 Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
deprecate ice-scripts@0.1.18 › gulp@3.9.1 › vinyl-fs@0.3.14 › glob-watcher@0.0.6 › gaze@0.5.2 › globule@0.1.0 › glob@3.1.21 › graceful-fs@~1.2.0 please
upgrade to graceful-fs 4 for compatibility with current and future versions of Node.js
deprecate ice-scripts@0.1.18 › typescript-formatter@7.2.0 › editorconfig@0.15.0 › @types/commander@^2.11.0 This is a stub types definition for commander (https://github.com/tj/commander.js). commander provides its own type definitions, so you don't need @types/commander installed!
Recently updated (since 2018-05-05): 18 packages (detail see file X:\XX\XX\melon\node_modules\.recently_updates.txt)
  Today:
    → eslint-config-airbnb@16.1.0 › eslint-plugin-react@^7.5.1(7.8.1) (07:54:21)
√ All packages installed (1326 packages installed from npm registry, used 1m, speed 140.66kB/s, json 1130(8.46MB), tarball 302.48kB)

启动项目

请注意windowlinux电脑中指令不同。

# 如果是linux用户
$ ice-devtools start

# 如果是window用户
$ ice-devtools-start

# 举例,因为我是window用户,所以我执行的是命令是
$ ice-devtools-start

启动成功控制台日志输出,这个不会自动打开对应端口,所以需要手动访问localhost:8080

i 「hot」: webpack: Compiling...
(node:6548) DeprecationWarning: Tapable.plugin is deprecated. Use new API on `.hooks` instead
i 「hot」: WebSocket Server Listening at localhost:8081
i 「serve」: Project is running at http://localhost:8080
i 「serve」: Server URI copied to clipboard
i 「hot」: webpack: Compiling Done
i 「wdm」: Hash: 054cfad3bc5da4953844
Version: webpack 4.8.2
Time: 13572ms
     Asset     Size   Chunks             Chunk Names
package.js  165 KiB  package  [emitted]  package
i 「wdm」: Compiled successfully.

启动项目效果

start

image

尝试添加物料

请注意windowlinux电脑中指令不同,新建一个终端,执行以下命令。

# 如果是linux用户
$ ice-devtools add

# 如果是window用户
$ ice-devtools-add

# 举例,因为我是window用户,所以我执行的是命令是
$ ice-devtools-add
? Please select material type (Use arrow keys)
> 区块(block)
  布局(layout)
  模板(scaffold)
? 名称(name) (ExampleBlock) BasicNotFound
? title 404 报错提示
? version 1.0.0 # 有些不用修改默认值的可以直接按enter
? description 基于element-ui组件的404 报错提示
? categories (Press <space> to select, <a> to toggle all, <i> to inverse selection)
 ( ) 表格
 ( ) 表单
 ( ) 图表
 ( ) 列表
 ( ) 模态框
 ( ) 筛选
 ( ) 数据展示
 ( ) 信息展示
>(*) 异常
 ( ) 欢迎页
 ( ) 视频
 ( ) 其他
(Move up and down to reveal more choices)
? author mowatermelon <neefoxmo@gmail.com> # 有些不用修改默认值的可以直接按enter
   ice-devtools · Generated "BasicNotFound".

# 放上我写完所有询问之后的控制台内容

$ ice-devtools-add
? Please select material type 区块(block)
? 名称(name) BasicNotFound
? title 404 报错提示
? version 1.0.0
? description 基于element-ui组件的404 报错提示
? categories 异常
? author mowatermelon <neefoxmo@gmail.com>
   ice-devtools · Generated "BasicNotFound".

# 这边提示说我需要安装一个finished的依赖包
npm notice created a lockfile as package-lock.json. You should commit this file.

   npm install finished

# 乖乖安装
$ cnpm install finished
√ Installed 1 packages
√ Linked 1 latest versions
√ Run 0 scripts
√ All packages installed (2 packages installed from npm registry, used 366ms, speed 9.25kB/s, json 2(3.38kB), tarball 0B)

# 后来想了一下

npm install finished # 只是通知我新物料区块的依赖包安装完成了,好心累,看到install就认为是安装了。

查看新物料文件结构

└── BasicNotFound
    ├── README.md               // 说明文档
    ├── package-lock.json            // pkg-lock.json
    ├── package.json            // pkg.json
    └── src                     // source 源码目录
        ├── BasicNotFound.vue
        └── index.js            // 模块入口

新建其他物料

同样的步骤,新建EmptyContentNotPermissionBasicException物料。

正式coding

确定DOM结构

BasicNotFound区块为例

  <div class="exception-content">
    <div class="flex-container align-items-center justify-content-center exception-content">
      <img src="https://img.alicdn.com/tfs/TB1txw7bNrI8KJjy0FpXXb5hVXa-260-260.png" class="imgException"/>
      <div>
        <h3 class="title">抱歉,你访问的页面不存在</h3>
        <p class="description" >您要找的页面没有找到,请返回
          <router-link to="/">首页</router-link>继续浏览
        </p>
      </div>
    </div>
  </div>

编写样式

BasicNotFound区块为例,我更习惯用scss,所以这里用的是scss

<style lang="scss" scoped>
/**flex相关 */
.flex-container{
  display: flex;
}
.align-items-center{
  align-items: center;
}
.justify-content-center{
  justify-content: center
}

.exception-content {
  .title {
    color: rgb(51, 51, 51);
  }
  .description {
    color: rgb(102, 102, 102);
  }
}
@media screen and (max-width: 1199px) and (min-width: 721px) {
  .exception-content {
    .imgException {
      max-width: 180px;
      margin-right: 30px;
    }
    .title {
      font-size: 20px;
      margin: 10px 0;
    }
    .description {
      font-size: 14px;
    }
  }
}
@media screen and (min-width: 1200px) {
  .exception-content {
    .imgException {
      max-width: 260px;
      margin-right: 50px;
    }
    .title {
      font-size: 24px;
      margin: 20px 0;
    }
    .description {
      font-size: 16px;
    }
  }
}
</style>

删除多余代码

完整代码预览

<template>
  <div className="basic-not-found">
    <basic-container>
      <div class="exception-content">
        <div class="flex-container align-items-center justify-content-center exception-content">
          <img src="https://img.alicdn.com/tfs/TB1txw7bNrI8KJjy0FpXXb5hVXa-260-260.png" class="imgException"/>
          <div>
            <h3 class="title">抱歉,你访问的页面不存在</h3>
            <p class="description" >您要找的页面没有找到,请返回
              <router-link to="/">首页</router-link>继续浏览
            </p>
          </div>
        </div>
      </div>
    </basic-container>
  </div>
</template>

<script>
import BasicContainer from '@vue-materials/basic-container'

export default {
  components: { BasicContainer },
  name: 'BasicNotFound',
  data() {
    return {}
  }
}

</script>

<style lang="scss" scoped>
/**flex相关 */
.flex-container{
  display: flex;
}
.align-items-center{
  align-items: center;
}
.justify-content-center{
  justify-content: center
}

.exception-content {
  .title {
    color: rgb(51, 51, 51);
  }
  .description {
    color: rgb(102, 102, 102);
  }
}
@media screen and (max-width: 1199px) and (min-width: 721px) {
  .exception-content {
    .imgException {
      max-width: 180px;
      margin-right: 30px;
    }
    .title {
      font-size: 20px;
      margin: 10px 0;
    }
    .description {
      font-size: 14px;
    }
  }
}
@media screen and (min-width: 1200px) {
  .exception-content {
    .imgException {
      max-width: 260px;
      margin-right: 50px;
    }
    .title {
      font-size: 24px;
      margin: 20px 0;
    }
    .description {
      font-size: 16px;
    }
  }
}
</style>

同样编写其他物料

预览效果

vue-materials页预览

浏览器路径http://localhost:8080/vue-materials

image

BasicNotFound页预览

浏览器路径http://localhost:8080/vue-materials/block/BasicNotFound

image

BasicException页预览

浏览器路径http://localhost:8080/vue-materials/block/BasicException

image

EmptyContent页预览

浏览器路径http://localhost:8080/vue-materials/block/EmptyContent

image

NotPermission页预览

浏览器路径http://localhost:8080/vue-materials/block/NotPermission

image

给组件添加说明

README.md

BasicNotFound为例,主要是要添加效果截图路径。

# basic-not-found

简介:404 报错提示

基于element-ui组件的404 报错提示

![截图](https://user-images.githubusercontent.com/18508817/39957530-079e45d0-5627-11e8-8beb-3fa577f25966.png)

package.json

BasicNotFound为例,主要是要添加效果截图路径。

{
  "name": "@vue-materials/basic-not-found-block",
  "version": "1.0.0",
  "description": "基于element-ui组件的404 报错提示",
  "author": "mowatermelon <neefoxmo@gmail.com>",
  "files": [
    "src/",
    "lib/"
  ],
  "repository": {
    "type": "git",
    "url": "https://github.com/alibaba/ice"
  },
  "license": "MIT",
  "keywords": [
    "ice",
    "vue",
    "block"
  ],
  "publishConfig": {
    "access": "public",
    "registry": "http://registry.npmjs.com"
  },
  "dependencies": {
    "@vue-materials/basic-container": "^1.0.0",
    "vue": "^2.5.16"
  },
  "blockConfig": {
    "name": "basic-not-found",
    "title": "404 报错提示",
    "categories": [
      "异常"
    ],
    "screenshot": "https://user-images.githubusercontent.com/18508817/39957530-079e45d0-5627-11e8-8beb-3fa577f25966.png"
  }
}

同理给其他物料添加说明

准备发布

下载官方仓库

回到根基文件夹,在melon同级目录下clone官方仓库,安装相关依赖,并且启动项目

// clone 官方仓库
$ git clone https://github.com/alibaba/ice.git
$ npm install
$ npm run start

迁移文件

将之前在melon\vue-materials\blocks的文件迁移到ice\vue-materials\blocks

提交代码前准备

# 先创建开发分支开发,分支名应该有含义,避免使用 update、tmp 之类的
$ git checkout -b branch-name

# 举例
$ git checkout -b melon-template

# 开发完成后可以运行 lint 检查语法
$ npm run lint

小插曲

由于我电脑最近重装了系统,这边提示我eslint没有安装。


> ice-workspace@0.0.2 lint X:\XX\XX\ice
> npm run lint:nofix -- --fix

> ice-workspace@0.0.2 lint:nofix X:\XX\XX\ice
> eslint --cache --ext .js .vue .jsx react-materials vue-materials "--fix"

'eslint' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! ice-workspace@0.0.2 lint:nofix: `eslint --cache --ext .js .vue .jsx react-materials vue-materials "--fix"`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the ice-workspace@0.0.2 lint:nofix script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm WARN Local package.json exists, but node_modules missing, did you mean to install?

npm ERR! A complete log of this run can be found in:
npm ERR!     X:\XX\XX\node_cache\_logs\2018-05-12T13_29_47_891Z-debug.log
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! ice-workspace@0.0.2 lint: `npm run lint:nofix -- --fix`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the ice-workspace@0.0.2 lint script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm WARN Local package.json exists, but node_modules missing, did you mean to install?

npm ERR! A complete log of this run can be found in:
npm ERR!     X:\XX\XX\node_cache\_logs\2018-05-12T13_29_47_992Z-debug.log

乖乖安装

# 提交代码,message 见下面的规范
$ cnpm i eslint -g

安装日志

Downloading eslint to X:\XX\XX\node_global\node_modules\eslint_tmp
Copying X:\XX\XX\node_global\node_modules\eslint_tmp\_eslint@4.19.1@eslint to X:\XX\XX\node_global\node_modules\eslint
Installing eslint's dependencies to X:\XX\XX\node_global\node_modules\eslint/node_modules
[1/38] eslint-visitor-keys@^1.0.0 installed at node_modules\_eslint-visitor-keys@1.0.0@eslint-visitor-keys
[2/38] debug@^3.1.0 installed at node_modules\_debug@3.1.0@debug
[3/38] eslint-scope@^3.7.1 installed at node_modules\_eslint-scope@3.7.1@eslint-scope
[4/38] esutils@^2.0.2 existed at node_modules\_esutils@2.0.2@esutils
[5/38] doctrine@^2.1.0 installed at node_modules\_doctrine@2.1.0@doctrine
[6/38] esquery@^1.0.0 installed at node_modules\_esquery@1.0.1@esquery
[7/38] ajv@^5.3.0 installed at node_modules\_ajv@5.5.2@ajv
[8/38] cross-spawn@^5.1.0 installed at node_modules\_cross-spawn@5.1.0@cross-spawn
[9/38] functional-red-black-tree@^1.0.1 installed at node_modules\_functional-red-black-tree@1.0.1@functional-red-black-tree
[10/38] globals@^11.0.1 installed at node_modules\_globals@11.5.0@globals
[11/38] espree@^3.5.4 installed at node_modules\_espree@3.5.4@espree
[12/38] concat-stream@^1.6.0 installed at node_modules\_concat-stream@1.6.2@concat-stream
[13/38] chalk@^2.1.0 installed at node_modules\_chalk@2.4.1@chalk
[14/38] imurmurhash@^0.1.4 installed at node_modules\_imurmurhash@0.1.4@imurmurhash
[15/38] is-resolvable@^1.0.0 installed at node_modules\_is-resolvable@1.1.0@is-resolvable
[16/38] ignore@^3.3.3 installed at node_modules\_ignore@3.3.8@ignore
[17/38] babel-code-frame@^6.22.0 installed at node_modules\_babel-code-frame@6.26.0@babel-code-frame
[18/38] json-stable-stringify-without-jsonify@^1.0.1 installed at node_modules\_json-stable-stringify-without-jsonify@1.0.1@json-stable-stringify-without-jsonify
[19/38] minimatch@^3.0.2 existed at node_modules\_minimatch@3.0.4@minimatch
[20/38] natural-compare@^1.4.0 installed at node_modules\_natural-compare@1.4.0@natural-compare
[21/38] path-is-inside@^1.0.2 installed at node_modules\_path-is-inside@1.0.2@path-is-inside
[22/38] mkdirp@^0.5.1 installed at node_modules\_mkdirp@0.5.1@mkdirp
[23/38] pluralize@^7.0.0 installed at node_modules\_pluralize@7.0.0@pluralize
[24/38] js-yaml@^3.9.1 installed at node_modules\_js-yaml@3.11.0@js-yaml
[25/38] progress@^2.0.0 installed at node_modules\_progress@2.0.0@progress
[26/38] strip-ansi@^4.0.0 existed at node_modules\_strip-ansi@4.0.0@strip-ansi
[27/38] glob@^7.1.2 installed at node_modules\_glob@7.1.2@glob
[28/38] optionator@^0.8.2 installed at node_modules\_optionator@0.8.2@optionator
[29/38] levn@^0.3.0 installed at node_modules\_levn@0.3.0@levn
[30/38] lodash@^4.17.4 installed at node_modules\_lodash@4.17.10@lodash
[31/38] semver@^5.3.0 installed at node_modules\_semver@5.5.0@semver
[32/38] regexpp@^1.0.1 installed at node_modules\_regexpp@1.1.0@regexpp
[33/38] file-entry-cache@^2.0.0 installed at node_modules\_file-entry-cache@2.0.0@file-entry-cache
[34/38] strip-json-comments@~2.0.1 installed at node_modules\_strip-json-comments@2.0.1@strip-json-comments
[35/38] text-table@~0.2.0 installed at node_modules\_text-table@0.2.0@text-table
[36/38] inquirer@^3.0.6 installed at node_modules\_inquirer@3.3.0@inquirer
[37/38] require-uncached@^1.0.3 installed at node_modules\_require-uncached@1.0.3@require-uncached
[38/38] table@4.0.2 installed at node_modules\_table@4.0.2@table
Recently updated (since 2018-05-05): 2 packages (detail see file X:\XX\XX\node_global\node_modules\eslint\node_modules\.recently_updates.txt)
  2018-05-08
    → cross-spawn@5.1.0 › lru-cache@^4.0.1(4.1.3) (07:17:11)
    → inquirer@3.3.0 › external-editor@2.2.0 › iconv-lite@^0.4.17(0.4.23) (06:22:24)
All packages installed (140 packages installed from npm registry, used 5s, speed 555.28kB/s, json 134(679.48kB), tarball 2.29MB)
[eslint@4.19.1] link X:\XX\XX\node_global\eslint@ -> X:\XX\XX\node_global\node_modules\eslint\bin\eslint.js

再次尝试

$ npm run lint
> ice-workspace@0.0.2 lint F:\documentBak\idea\iceworks\iceType\ice
> npm run lint:nofix -- --fix

> ice-workspace@0.0.2 lint:nofix F:\documentBak\idea\iceworks\iceType\ice
> eslint --cache --ext .js .vue .jsx react-materials vue-materials "--fix"

Oops! Something went wrong! :(

ESLint: 4.19.1.
ESLint couldn't find the plugin "eslint-plugin-react". This can happen for a couple different reasons:

1. If ESLint is installed globally, then make sure eslint-plugin-react is also installed globally. A globally-installed ESLint cannot find a locally-installed plugin.

2. If ESLint is installed locally, then it's likely that the plugin isn't installed correctly. Try reinstalling by running the following:

    npm i eslint-plugin-react@latest --save-dev

If you still can't figure out the problem, please stop by https://gitter.im/eslint/eslint to chat with the team.

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! ice-workspace@0.0.2 lint:nofix: `eslint --cache --ext .js .vue .jsx react-materials vue-materials "--fix"`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the ice-workspace@0.0.2 lint:nofix script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm WARN Local package.json exists, but node_modules missing, did you mean to install?

npm ERR! A complete log of this run can be found in:
npm ERR!     X:\XX\XX\node_cache\_logs\2018-05-12T13_34_22_422Z-debug.log
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! ice-workspace@0.0.2 lint: `npm run lint:nofix -- --fix`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the ice-workspace@0.0.2 lint script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm WARN Local package.json exists, but node_modules missing, did you mean to install?

npm ERR! A complete log of this run can be found in:
npm ERR!     X:\XX\XX\node_cache\_logs\2018-05-12T13_34_23_254Z-debug.log

修改指令

上面错误说建议npm i eslint-plugin-react@latest --save-dev,我只管vue物料,看了一下package.json

"lint": "npm run lint:nofix -- --fix",
"lint:nofix": "eslint --cache --ext .js .vue .jsx react-materials vue-materials",

修改为

"lint": "npm run lint:nofix -- --fix",
"lint:nofix": "eslint --cache --ext .js .vue vue-materials",

再次尝试

$ npm run lint

> ice-workspace@0.0.2 lint F:\documentBak\idea\iceworks\iceType\ice
> npm run lint:nofix -- --fix

> ice-workspace@0.0.2 lint:nofix F:\documentBak\idea\iceworks\iceType\ice
> eslint --cache --ext .js .vue vue-materials "--fix"

Cannot find module '@vue/eslint-config-airbnb'
Referenced from: F:\documentBak\idea\iceworks\iceType\ice\vue-materials\.eslintrc.js
Error: Cannot find module '@vue/eslint-config-airbnb'
Referenced from: F:\documentBak\idea\iceworks\iceType\ice\vue-materials\.eslintrc.js
    at ModuleResolver.resolve (X:\XX\XX\node_global\node_modules\eslint\lib\util\module-resolver.js:74:19)
    at resolve (X:\XX\XX\node_global\node_modules\eslint\lib\config\config-file.js:479:28)
    at load (X:\XX\XX\node_global\node_modules\eslint\lib\config\config-file.js:551:26)
    at configExtends.reduceRight (X:\XX\XX\node_global\node_modules\eslint\lib\config\config-file.js:425:36)
    at Array.reduceRight (<anonymous>)
    at applyExtends (X:\XX\XX\node_global\node_modules\eslint\lib\config\config-file.js:403:26)
    at loadFromDisk (X:\XX\XX\node_global\node_modules\eslint\lib\config\config-file.js:523:22)
    at Object.load (X:\XX\XX\node_global\node_modules\eslint\lib\config\config-file.js:559:20)
    at Config.getLocalConfigHierarchy (X:\XX\XX\node_global\node_modules\eslint\lib\config.js:227:44)
    at Config.getConfigHierarchy (X:\XX\XX\node_global\node_modules\eslint\lib\config.js:179:43)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! ice-workspace@0.0.2 lint:nofix: `eslint --cache --ext .js .vue vue-materials "--fix"`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the ice-workspace@0.0.2 lint:nofix script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm WARN Local package.json exists, but node_modules missing, did you mean to install?

npm ERR! A complete log of this run can be found in:
npm ERR!     X:\XX\XX\node_cache\_logs\2018-05-12T13_44_03_122Z-debug.log
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! ice-workspace@0.0.2 lint: `npm run lint:nofix -- --fix`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the ice-workspace@0.0.2 lint script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm WARN Local package.json exists, but node_modules missing, did you mean to install?

npm ERR! A complete log of this run can be found in:
npm ERR!     X:\XX\XX\node_cache\_logs\2018-05-12T13_44_03_179Z-debug.log

直接提交

没有访问权限https://github.com/alibaba/ice.git权限。

换种提交方式

feat: vue materials BasicException blocks
feat: vue materials BasicNotFound blocks
feat: vue materials EmptyContent blocks
feat: vue materials NotPermission blocks

image

mowatermelon commented 6 years ago

人工打的有点累,日常犯懒的我,直接搬运react-materials物料json

{
  "name": "react-materials",
  "type": "react",
  "blocks": [
    {
      "name": "application-progress",
      "title": "申请进度信息展示",
      "source": {
        "type": "npm",
        "npm": "@icedesign/application-progress-block",
        "version": "0.1.5",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.0",
        "enquire-js": "^0.1.2",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1I67ih3vD8KJjy0FlXXagBFXa-947-929.png",
      "categories": [
        "信息展示"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Button"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Step"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Grid"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Icon"
          }
        ]
      },
      "description": "申请进度信息展示",
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-01-02T12:20:33.619Z",
      "updateTime": "2018-03-13T14:53:03.774Z"
    },
    {
      "name": "area-stack-chart",
      "title": "叠加面积图",
      "source": {
        "type": "npm",
        "npm": "@icedesign/area-stack-chart-block",
        "version": "0.1.4",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.0",
        "bizcharts": "^3.0.5",
        "classnames": "^2.2.5",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB13crWidfJ8KJjy0FeXXXKEXXa-1754-994.png",
      "categories": [
        "图表"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          }
        ]
      },
      "description": "叠加面积图",
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2017-12-27T13:28:45.632Z",
      "updateTime": "2018-03-13T14:55:43.069Z"
    },
    {
      "name": "article-list",
      "title": "文章列表",
      "source": {
        "type": "npm",
        "npm": "@icedesign/article-list-block",
        "version": "0.1.5",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.0",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1PXQAifDH8KJjy1XcXXcpdXXa-1906-996.png",
      "categories": [
        "信息展示"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Icon"
          }
        ]
      },
      "description": "文章列表",
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-01-02T12:20:03.975Z",
      "updateTime": "2018-03-13T14:53:27.086Z"
    },
    {
      "name": "asset-info-display",
      "title": "资产信息展示",
      "source": {
        "type": "npm",
        "npm": "@icedesign/asset-info-display-block",
        "version": "0.1.6",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.1",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://gw.alicdn.com/tfs/TB1QvhInhTI8KJjSspiXXbM4FXa-1910-570.png",
      "categories": [
        "信息展示"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Icon"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Grid"
          }
        ]
      },
      "description": "资产信息展示, 卡片类型的 UI 数据展示, 常用于额度, 余额等页面",
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-01-17T09:57:08.498Z",
      "updateTime": "2018-03-13T14:55:39.935Z"
    },
    {
      "name": "bar-line-chart",
      "title": "折柱混合图",
      "source": {
        "type": "npm",
        "npm": "@icedesign/bar-line-chart-block",
        "version": "0.1.2",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.1.0",
        "@icedesign/container": "^0.1.1",
        "echarts": "^4.0.4",
        "echarts-for-react": "^2.0.8",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1Gd7jgeOSBuNjy0FdXXbDnVXa-2136-708.png",
      "categories": [
        "图表"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          }
        ]
      },
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-03-22T15:13:30.171Z",
      "updateTime": "2018-03-26T04:05:01.702Z"
    },
    {
      "name": "basic-detail-info",
      "title": "基础详情信息展示",
      "source": {
        "type": "npm",
        "npm": "@icedesign/basic-detail-info-block",
        "version": "0.1.6",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.0",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://gw.alicdn.com/tfs/TB1JD2VifDH8KJjy1XcXXcpdXXa-1880-1004.png",
      "categories": [
        "信息展示"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Grid"
          }
        ]
      },
      "description": "基础详情信息展示",
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-01-02T12:19:42.225Z",
      "updateTime": "2018-03-13T14:53:08.404Z"
    },
    {
      "name": "basic-exception",
      "title": "基础异常报错",
      "source": {
        "type": "npm",
        "npm": "@icedesign/basic-exception-block",
        "version": "0.1.5",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.0",
        "prop-types": "^15.5.8",
        "react-router": "^3.2.0"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB197z8if2H8KJjy0FcXXaDlFXa-1786-914.png",
      "categories": [
        "异常"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          }
        ]
      },
      "description": "基础异常报错",
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2017-12-27T13:42:54.113Z",
      "updateTime": "2018-03-13T14:55:44.127Z"
    },
    {
      "name": "basic-not-found",
      "title": "404 报错提示",
      "source": {
        "type": "npm",
        "npm": "@icedesign/basic-not-found-block",
        "version": "0.1.5",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.0",
        "prop-types": "^15.5.8",
        "react-router": "^3.2.0"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1.HyVgyqAXuNjy1XdXXaYcVXa-1914-1066.png",
      "categories": [
        "异常"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          }
        ]
      },
      "description": "404 报错提示",
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2017-12-27T13:43:46.999Z",
      "updateTime": "2018-03-13T14:54:38.253Z"
    },
    {
      "name": "basic-tab",
      "title": "基础 Tab 组件",
      "source": {
        "type": "npm",
        "npm": "@icedesign/basic-tab-block",
        "version": "0.1.7",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.0",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1lrQXif2H8KJjy0FcXXaDlFXa-1144-112.png",
      "categories": [
        "信息展示"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Tab"
          }
        ]
      },
      "description": "基础 Tab 组件",
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2017-12-27T13:38:57.654Z",
      "updateTime": "2018-03-13T14:54:53.376Z"
    },
    {
      "name": "board-list",
      "title": "任务面板",
      "source": {
        "type": "npm",
        "npm": "@icedesign/board-list-block",
        "version": "1.0.1",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "prop-types": "^15.5.8",
        "react": "^16.2.0",
        "react-trello": "^1.31.0",
        "styled-components": "^3.2.6"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1XyG8qQyWBuNjy0FpXXassXXa-2288-1316.png",
      "categories": [
        "列表"
      ],
      "features": {
        "useComponents": []
      },
      "description": "TODO 任务管理面板,可拖拽排序",
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-05-10T14:32:03.771Z",
      "updateTime": "2018-05-10T14:56:01.811Z"
    },
    {
      "name": "brand-display",
      "title": "品牌列表展示",
      "source": {
        "type": "npm",
        "npm": "@icedesign/brand-display-block",
        "version": "0.1.8",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/img": "^0.1.0",
        "enquire-js": "^0.1.2",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1_IMuaAyWBuNjy0FpXXassXXa-2306-1244.png",
      "categories": [
        "信息展示",
        "欢迎页"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/img",
            "className": "Img"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Grid"
          }
        ]
      },
      "description": "品牌列表展示",
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-01-02T12:19:21.593Z",
      "updateTime": "2018-03-13T15:14:48.407Z"
    },
    {
      "name": "brand-list",
      "title": "品牌列表",
      "source": {
        "type": "npm",
        "npm": "@icedesign/brand-list-block",
        "version": "0.1.0",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.1.0",
        "@icedesign/container": "^0.1.1",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1_tflieGSBuNjSspbXXciipXa-1234-487.png",
      "categories": [
        "信息展示"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/base",
            "className": "Button"
          }
        ]
      },
      "description": "展示品牌列表",
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-04-12T12:43:08.795Z",
      "updateTime": "2018-04-12T12:43:09.993Z"
    },
    {
      "name": "brand-show-case",
      "title": "品牌展示",
      "source": {
        "type": "npm",
        "npm": "@icedesign/brand-show-case-block",
        "version": "0.1.8",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.0",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1DGFejr_I8KJjy1XaXXbsxpXa-1910-860.png",
      "categories": [
        "信息展示",
        "欢迎页"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/base",
            "className": "Grid"
          }
        ]
      },
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-01-02T12:18:58.763Z",
      "updateTime": "2018-03-13T15:20:56.424Z"
    },
    {
      "name": "change-password-form",
      "title": "修改密码表单",
      "source": {
        "type": "npm",
        "npm": "@icedesign/change-password-form-block",
        "version": "0.1.3",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.2",
        "@icedesign/form-binder": "^0.1.3",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1Y.8yXHGYBuNjy0FoXXciBFXa-1212-490.png",
      "categories": [
        "表单"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Input"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Grid"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Button"
          }
        ]
      },
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-02-07T13:24:35.560Z",
      "updateTime": "2018-03-13T14:55:05.971Z"
    },
    {
      "name": "chart-area",
      "title": "面积图",
      "source": {
        "type": "npm",
        "npm": "@icedesign/chart-area-block",
        "version": "0.1.5",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@antv/data-set": "^0.8.0",
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.0",
        "bizcharts": "^3.0.5",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1tF0DivDH8KJjy1XcXXcpdXXa-1910-1040.png",
      "categories": [
        "图表"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          }
        ]
      },
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2017-12-29T07:39:32.209Z",
      "updateTime": "2018-03-13T14:55:10.762Z"
    },
    {
      "name": "chart-bar",
      "title": "柱状图",
      "source": {
        "type": "npm",
        "npm": "@icedesign/chart-bar-block",
        "version": "0.1.5",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@antv/data-set": "^0.8.0",
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.0",
        "bizcharts": "^3.0.5",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1IdeWf5qAXuNjy1XdXXaYcVXa-1900-1042.png",
      "categories": [
        "图表"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          }
        ]
      },
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2017-12-29T07:40:29.537Z",
      "updateTime": "2018-03-13T14:55:15.505Z"
    },
    {
      "name": "chart-box",
      "title": "箱型图",
      "source": {
        "type": "npm",
        "npm": "@icedesign/chart-box-block",
        "version": "0.1.5",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@antv/data-set": "^0.8.0",
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.0",
        "bizcharts": "^3.0.5",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1u5oLckyWBuNjy0FpXXassXXa-2340-1042.png",
      "categories": [
        "图表"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          }
        ]
      },
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2017-12-29T07:40:56.231Z",
      "updateTime": "2018-03-13T14:55:19.642Z"
    },
    {
      "name": "chart-bubble-image",
      "title": "自定义气泡图",
      "source": {
        "type": "npm",
        "npm": "@icedesign/chart-bubble-image-block",
        "version": "0.1.5",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@antv/data-set": "^0.8.0",
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.0",
        "bizcharts": "^3.0.5",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB11w4FivDH8KJjy1XcXXcpdXXa-1902-1032.png",
      "categories": [
        "图表"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          }
        ]
      },
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2017-12-29T07:41:24.122Z",
      "updateTime": "2018-03-13T14:55:24.293Z"
    },
    {
      "name": "chart-facet",
      "title": "分面图",
      "source": {
        "type": "npm",
        "npm": "@icedesign/chart-facet-block",
        "version": "0.1.5",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@antv/data-set": "^0.8.0",
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.0",
        "bizcharts": "^3.0.5",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1D80FivDH8KJjy1XcXXcpdXXa-1988-1236.png",
      "categories": [
        "图表"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Grid"
          }
        ]
      },
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2017-12-29T07:42:01.891Z",
      "updateTime": "2018-03-13T14:55:28.393Z"
    },
    {
      "name": "chart-funnel",
      "title": "漏斗图",
      "source": {
        "type": "npm",
        "npm": "@icedesign/chart-funnel-block",
        "version": "0.1.5",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@antv/data-set": "^0.8.0",
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.0",
        "bizcharts": "^3.0.5",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB14y8xiv6H8KJjy0FjXXaXepXa-1888-1038.png",
      "categories": [
        "图表"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          }
        ]
      },
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2017-12-29T07:42:41.337Z",
      "updateTime": "2018-03-13T14:55:32.418Z"
    },
    {
      "name": "chart-gauge",
      "title": "仪表图",
      "source": {
        "type": "npm",
        "npm": "@icedesign/chart-gauge-block",
        "version": "0.1.5",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@antv/data-set": "^0.8.0",
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.0",
        "bizcharts": "^3.0.5",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1KXNyiv6H8KJjy0FjXXaXepXa-1908-1040.png",
      "categories": [
        "图表"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          }
        ]
      },
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2017-12-29T07:44:10.293Z",
      "updateTime": "2018-03-13T15:06:12.641Z"
    },
    {
      "name": "chart-heat-map",
      "title": "色块图",
      "source": {
        "type": "npm",
        "npm": "@icedesign/chart-heat-map-block",
        "version": "0.1.5",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@antv/data-set": "^0.8.0",
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.0",
        "bizcharts": "^3.0.5",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1oUBKcwmTBuNjy1XbXXaMrVXa-2348-1036.png",
      "categories": [
        "图表"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          }
        ]
      },
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2017-12-29T07:44:38.814Z",
      "updateTime": "2018-03-13T14:55:45.906Z"
    },
    {
      "name": "chart-pie",
      "title": "饼图",
      "source": {
        "type": "npm",
        "npm": "@icedesign/chart-pie-block",
        "version": "0.1.5",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@antv/data-set": "^0.8.0",
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.0",
        "bizcharts": "^3.0.5",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1rfJHivDH8KJjy1XcXXcpdXXa-1910-1022.png",
      "categories": [
        "图表"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          }
        ]
      },
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2017-12-29T07:45:01.869Z",
      "updateTime": "2018-03-13T14:55:43.924Z"
    },
    {
      "name": "chart-point",
      "title": "点图",
      "source": {
        "type": "npm",
        "npm": "@icedesign/chart-point-block",
        "version": "0.1.5",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@antv/data-set": "^0.8.0",
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.0",
        "axios": "^0.17.1",
        "bizcharts": "^3.0.5",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1PfT1cDtYBeNjy1XdXXXXyVXa-2346-1034.png",
      "categories": [
        "图表"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          }
        ]
      },
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2017-12-29T07:45:25.258Z",
      "updateTime": "2018-03-13T14:55:46.952Z"
    },
    {
      "name": "chart-radar",
      "title": "雷达图",
      "source": {
        "type": "npm",
        "npm": "@icedesign/chart-radar-block",
        "version": "0.1.5",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@antv/data-set": "^0.8.0",
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.0",
        "bizcharts": "^3.0.5",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1wNkNilfH8KJjy1XbXXbLdXXa-1876-958.png",
      "categories": [
        "图表"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          }
        ]
      },
      "description": "雷达图",
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2017-12-29T07:47:21.353Z",
      "updateTime": "2018-03-13T15:21:52.667Z"
    },
    {
      "name": "chart-relation",
      "title": "关系图",
      "source": {
        "type": "npm",
        "npm": "@icedesign/chart-relation-block",
        "version": "0.1.5",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@antv/data-set": "^0.8.0",
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.0",
        "bizcharts": "^3.0.5",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1urMfcDtYBeNjy1XdXXXXyVXa-2286-994.png",
      "categories": [
        "图表"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          }
        ]
      },
      "description": "关系图",
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2017-12-29T07:48:46.163Z",
      "updateTime": "2018-03-13T15:18:50.581Z"
    },
    {
      "name": "chart-stock",
      "title": "股票图",
      "source": {
        "type": "npm",
        "npm": "@icedesign/chart-stock-block",
        "version": "0.1.5",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@antv/data-set": "^0.8.0",
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.0",
        "axios": "^0.17.1",
        "bizcharts": "^3.0.5",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1rpkscDtYBeNjy1XdXXXXyVXa-2352-1020.png",
      "categories": [
        "图表"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          }
        ]
      },
      "description": "股票图",
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2017-12-29T07:48:20.332Z",
      "updateTime": "2018-03-13T15:36:47.872Z"
    },
    {
      "name": "chart-type-line",
      "title": "折线图",
      "source": {
        "type": "npm",
        "npm": "@icedesign/chart-type-line-block",
        "version": "0.1.7",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@antv/data-set": "^0.8.0",
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.0",
        "bizcharts": "^3.0.5",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1Of87isLJ8KJjy0FnXXcFDpXa-1906-1044.png",
      "categories": [
        "图表"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          }
        ]
      },
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2017-12-29T07:49:20.724Z",
      "updateTime": "2018-03-13T15:23:56.899Z"
    },
    {
      "name": "circle-progress",
      "title": "环形进度条",
      "source": {
        "type": "npm",
        "npm": "@icedesign/circle-progress-block",
        "version": "0.1.3",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.1",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1xOKYcwmTBuNjy1XbXXaMrVXa-2352-522.png",
      "categories": [
        "数据展示"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Progress"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Grid"
          }
        ]
      },
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-03-08T10:34:37.576Z",
      "updateTime": "2018-03-13T14:55:52.018Z"
    },
    {
      "name": "circular-chart",
      "title": "环形图",
      "source": {
        "type": "npm",
        "npm": "@icedesign/circular-chart-block",
        "version": "0.1.1",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.1.0",
        "@icedesign/container": "^0.1.1",
        "echarts": "^4.0.4",
        "echarts-for-react": "^2.0.8",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB137Fme_tYBeNjy1XdXXXXyVXa-2218-884.png",
      "categories": [
        "图表"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          }
        ]
      },
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-03-22T15:13:29.739Z",
      "updateTime": "2018-03-22T15:13:30.955Z"
    },
    {
      "name": "collapse-card",
      "title": "折叠型卡片的信息展示",
      "source": {
        "type": "npm",
        "npm": "@icedesign/collapse-card-block",
        "version": "0.1.7",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.0",
        "classnames": "^2.2.5",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1dcIQckyWBuNjy0FpXXassXXa-2350-560.png",
      "categories": [
        "信息展示"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Icon"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Grid"
          }
        ]
      },
      "description": "折叠型卡片的信息展示",
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-01-02T12:18:33.470Z",
      "updateTime": "2018-03-13T15:07:21.213Z"
    },
    {
      "name": "column-form",
      "title": "分栏表单",
      "source": {
        "type": "npm",
        "npm": "@icedesign/column-form-block",
        "version": "0.1.1",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.1",
        "@icedesign/form-binder": "^0.1.4",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1NvCkgY9YBuNjy0FgXXcxcXXa-2318-566.png",
      "categories": [
        "表单"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Input"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Button"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Select"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Grid"
          }
        ]
      },
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-03-29T12:47:19.706Z",
      "updateTime": "2018-03-29T12:47:21.163Z"
    },
    {
      "name": "complex-dialog",
      "title": "复杂信息弹窗",
      "source": {
        "type": "npm",
        "npm": "@icedesign/complex-dialog-block",
        "version": "0.1.8",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.0",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1Un_filfH8KJjy1XbXXbLdXXa-1270-650.png",
      "categories": [
        "模态框"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Dialog"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Button"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Icon"
          }
        ]
      },
      "description": "复杂信息和自定义底部按钮的弹窗",
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-01-02T12:18:03.433Z",
      "updateTime": "2018-03-13T15:18:23.796Z"
    },
    {
      "name": "complex-filter",
      "title": "标签页组合筛选",
      "source": {
        "type": "npm",
        "npm": "@icedesign/complex-filter-block",
        "version": "0.1.13",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.0",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1wuVIbamWBuNjy1XaXXXCbXXa-1914-384.png",
      "categories": [
        "筛选"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Select"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Grid"
          }
        ]
      },
      "description": "标签页组合筛选",
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-01-02T12:17:15.441Z",
      "updateTime": "2018-03-13T14:55:55.524Z"
    },
    {
      "name": "complex-progress-table",
      "title": "进度管理表格",
      "source": {
        "type": "npm",
        "npm": "@icedesign/complex-progress-table-block",
        "version": "0.1.10",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.0",
        "@icedesign/data-binder": "^0.1.0",
        "@icedesign/form-binder": "^0.1.3",
        "@icedesign/img": "^0.1.0",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1P4gsb21TBuNjy0FjXXajyXXa-2312-1320.png",
      "categories": [
        "表格"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          },
          {
            "basePackage": "@icedesign/data-binder",
            "className": "DataBinder"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Table"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Pagination"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Progress"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Button"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Dialog"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Grid"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Input"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Radio"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Range"
          }
        ]
      },
      "description": "进度管理表格",
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-01-02T12:16:10.496Z",
      "updateTime": "2018-03-13T14:55:56.990Z"
    },
    {
      "name": "complex-tab-table",
      "title": "复杂 Tab 筛选表格",
      "source": {
        "type": "npm",
        "npm": "@icedesign/complex-tab-table-block",
        "version": "0.1.10",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.0",
        "@icedesign/data-binder": "^0.1.0",
        "@icedesign/img": "^0.1.0",
        "@icedesign/label": "^0.1.0",
        "@icedesign/skin": "^0.1.3",
        "enquire-js": "^0.1.2",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1tUGncntYBeNjy1XdXXXXyVXa-2314-1466.png",
      "categories": [
        "表格"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          },
          {
            "basePackage": "@icedesign/img",
            "className": "Img"
          },
          {
            "basePackage": "@icedesign/data-binder",
            "className": "DataBinder"
          },
          {
            "basePackage": "@icedesign/label",
            "className": "Label"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Table"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Pagination"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Tab"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Search"
          }
        ]
      },
      "description": "附带复杂的 Tab 多级筛选项的表格",
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-01-02T12:15:25.701Z",
      "updateTime": "2018-03-13T14:59:33.954Z"
    },
    {
      "name": "composite-filter",
      "title": "标签、日期和搜索组合筛选",
      "source": {
        "type": "npm",
        "npm": "@icedesign/composite-filter-block",
        "version": "0.1.8",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.0",
        "enquire-js": "^0.1.2",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1gabvbntYBeNjy1XdXXXXyVXa-1916-244.png",
      "categories": [
        "筛选"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Search"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Tab"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Tag"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "DatePicker"
          }
        ]
      },
      "description": "标签、日期和搜索组合筛选",
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-01-02T12:14:16.510Z",
      "updateTime": "2018-03-13T15:02:50.045Z"
    },
    {
      "name": "confirm-dialog",
      "title": "确认类型的提示框",
      "source": {
        "type": "npm",
        "npm": "@icedesign/confirm-dialog-block",
        "version": "0.1.7",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.1",
        "enquire-js": "^0.1.2",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1Zr3xigvD8KJjy0FlXXagBFXa-1272-620.png",
      "categories": [
        "模态框"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Dialog"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Button"
          }
        ]
      },
      "description": "确认类型的提示框",
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-01-02T12:11:06.314Z",
      "updateTime": "2018-04-18T06:06:38.115Z"
    },
    {
      "name": "content-editor",
      "title": "内容编辑器",
      "source": {
        "type": "npm",
        "npm": "@icedesign/content-editor-block",
        "version": "0.1.5",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.2",
        "@icedesign/form-binder": "^0.1.2",
        "immutable": "^3.8.2",
        "is-hotkey": "^0.1.1",
        "prop-types": "^15.5.8",
        "slate": "^0.32.1",
        "slate-plain-serializer": "^0.5.1",
        "slate-react": "^0.11.1"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB199TEXuuSBuNjy1XcXXcYjFXa-1906-1550.png",
      "categories": [
        "表单"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Input"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Grid"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Form"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Button"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Select"
          }
        ]
      },
      "description": "内容编辑器",
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-02-04T08:01:33.262Z",
      "updateTime": "2018-03-13T15:02:49.942Z"
    },
    {
      "name": "create-activity-form",
      "title": "创建活动表单",
      "source": {
        "type": "npm",
        "npm": "@icedesign/create-activity-form-block",
        "version": "0.1.5",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.1",
        "@icedesign/form-binder": "^0.1.3",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1o0ipnx6I8KJjy0FgXXXXzVXa-1720-1062.png",
      "categories": [
        "表单"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          }
        ]
      },
      "description": "创建活动的表单",
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-01-18T09:43:47.817Z",
      "updateTime": "2018-03-13T15:24:59.436Z"
    },
    {
      "name": "custom-bar-chart",
      "title": "自定义柱状图",
      "source": {
        "type": "npm",
        "npm": "@icedesign/custom-bar-chart-block",
        "version": "0.1.1",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@antv/data-set": "^0.8.7",
        "@icedesign/base": "^0.1.0",
        "@icedesign/container": "^0.1.1",
        "bizcharts": "^3.1.5",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1WcSvorGYBuNjy0FoXXciBFXa-2402-800.png",
      "categories": [
        "图表"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          }
        ]
      },
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-04-26T16:35:02.833Z",
      "updateTime": "2018-04-27T02:02:59.870Z"
    },
    {
      "name": "custom-pie-chart",
      "title": "自定义饼图组合",
      "source": {
        "type": "npm",
        "npm": "@icedesign/custom-pie-chart-block",
        "version": "0.1.2",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.1.0",
        "@icedesign/container": "^0.1.1",
        "echarts": "^4.0.4",
        "echarts-for-react": "^2.0.8",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB11uEqgeuSBuNjy1XcXXcYjFXa-1942-952.png",
      "categories": [
        "图表"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          }
        ]
      },
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-03-22T15:13:30.177Z",
      "updateTime": "2018-03-26T04:05:01.639Z"
    },
    {
      "name": "data-display",
      "title": "数据展示",
      "source": {
        "type": "npm",
        "npm": "@icedesign/data-display-block",
        "version": "0.1.7",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.0",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1IKT9jfDH8KJjy1XcXXcpdXXa-1892-324.png",
      "categories": [
        "数据展示"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          }
        ]
      },
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-01-02T12:09:55.082Z",
      "updateTime": "2018-03-13T15:29:14.615Z"
    },
    {
      "name": "data-statistics",
      "title": "数据统计展示",
      "source": {
        "type": "npm",
        "npm": "@icedesign/data-statistics-block",
        "version": "0.1.4",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@antv/data-set": "^0.8.5",
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.2",
        "bizcharts": "^3.1.3-beta.1",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1X7WapfDH8KJjy1XcXXcpdXXa-1912-736.png",
      "categories": [
        "数据展示"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Grid"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Icon"
          }
        ]
      },
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-01-31T09:36:35.457Z",
      "updateTime": "2018-03-13T15:20:49.367Z"
    },
    {
      "name": "detail-table",
      "title": "详情信息表格",
      "source": {
        "type": "npm",
        "npm": "@icedesign/detail-table-block",
        "version": "0.1.7",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.0",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1hplfjr_I8KJjy1XaXXbsxpXa-1886-700.png",
      "categories": [
        "表格"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          }
        ]
      },
      "description": "展示详情信息的表格",
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-01-02T12:08:59.644Z",
      "updateTime": "2018-03-13T15:20:26.137Z"
    },
    {
      "name": "display-card",
      "title": "展示型卡片",
      "source": {
        "type": "npm",
        "npm": "@icedesign/display-card-block",
        "version": "0.1.8",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.0",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1AwCEXNGYBuNjy0FnXXX5lpXa-1900-278.png",
      "categories": [
        "数据展示"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Balloon"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Grid"
          }
        ]
      },
      "description": "展示型卡片",
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-01-02T12:31:14.605Z",
      "updateTime": "2018-03-13T15:20:18.462Z"
    },
    {
      "name": "double-axes-chart",
      "title": "双轴图标",
      "source": {
        "type": "npm",
        "npm": "@icedesign/double-axes-chart-block",
        "version": "0.1.0",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@antv/data-set": "^0.8.7",
        "@icedesign/base": "^0.1.0",
        "@icedesign/container": "^0.1.1",
        "bizcharts": "^3.1.5",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB19B_poqmWBuNjy1XaXXXCbXXa-2398-1000.png",
      "categories": [
        "图表"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          }
        ]
      },
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-04-26T16:35:14.530Z",
      "updateTime": "2018-04-26T16:35:17.986Z"
    },
    {
      "name": "download-card",
      "title": "下载型信息卡片",
      "source": {
        "type": "npm",
        "npm": "@icedesign/download-card-block",
        "version": "0.1.7",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.0",
        "axios": "^0.17.1",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1HLu1hLDH8KJjy1XcXXcpdXXa-938-688.png",
      "categories": [
        "信息展示",
        "列表"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Tab"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Button"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Icon"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Grid"
          }
        ]
      },
      "description": "下载型信息卡片",
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-01-02T12:47:49.923Z",
      "updateTime": "2018-03-13T15:33:12.404Z"
    },
    {
      "name": "editable-table",
      "title": "可编辑表格",
      "source": {
        "type": "npm",
        "npm": "@icedesign/editable-table-block",
        "version": "0.1.8",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.0",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1SXIqb1SSBuNjy0FlXXbBpVXa-2348-724.png",
      "categories": [
        "表格"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Table"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Button"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Icon"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Input"
          }
        ]
      },
      "description": "可编辑内容的表格",
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-01-02T13:01:39.346Z",
      "updateTime": "2018-03-13T15:24:23.423Z"
    },
    {
      "name": "empty-content",
      "title": "空内容提示",
      "source": {
        "type": "npm",
        "npm": "@icedesign/empty-content-block",
        "version": "0.1.8",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.0",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1unfJiOqAXuNjy1XdXXaYcVXa-1862-1024.png",
      "categories": [
        "异常"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          }
        ]
      },
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-01-02T13:04:05.933Z",
      "updateTime": "2018-03-13T15:40:43.128Z"
    },
    {
      "name": "enhance-table",
      "title": "增强筛选表单",
      "source": {
        "type": "npm",
        "npm": "@icedesign/enhance-table-block",
        "version": "0.1.8",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.0",
        "@icedesign/data-binder": "^0.1.0",
        "@icedesign/img": "^0.1.0",
        "@icedesign/label": "^0.1.0",
        "enquire-js": "^0.1.2",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1tcwsbVOWBuNjy0FiXXXFxVXa-2326-1308.png",
      "categories": [
        "表格"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          },
          {
            "basePackage": "@icedesign/data-binder",
            "className": "DataBinder"
          },
          {
            "basePackage": "@icedesign/label",
            "className": "Label"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Table"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Pagination"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Tab"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Search"
          }
        ]
      },
      "description": "附带简单表单筛选功能的增强筛选表单",
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-01-02T13:16:10.922Z",
      "updateTime": "2018-03-13T15:44:30.844Z"
    },
    {
      "name": "entry-card",
      "title": "入口列表卡片",
      "source": {
        "type": "npm",
        "npm": "@icedesign/entry-card-block",
        "version": "0.1.6",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.0",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1RSAIif6H8KJjy0FjXXaXepXa-1102-262.png",
      "categories": [
        "列表"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          }
        ]
      },
      "description": "入口列表卡片",
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-01-04T09:59:15.216Z",
      "updateTime": "2018-03-13T15:41:59.542Z"
    },
    {
      "name": "failure-detail",
      "title": "提交失败详情展示",
      "source": {
        "type": "npm",
        "npm": "@icedesign/failure-detail-block",
        "version": "0.1.7",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.0",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://gw.alicdn.com/tfs/TB15u0eisLJ8KJjy0FnXXcFDpXa-1326-824.png",
      "categories": [
        "信息展示"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          }
        ]
      },
      "description": "提交失败详情展示",
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-01-02T13:27:20.695Z",
      "updateTime": "2018-03-13T15:21:38.390Z"
    },
    {
      "name": "feature-display",
      "title": "功能特点展示",
      "source": {
        "type": "npm",
        "npm": "@icedesign/feature-display-block",
        "version": "0.1.10",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.0",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://gw.alicdn.com/tfs/TB1StEQaqmWBuNjy1XaXXXCbXXa-1756-1464.png",
      "categories": [
        "信息展示",
        "欢迎页"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/base",
            "className": "Grid"
          }
        ]
      },
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-01-02T13:31:31.493Z",
      "updateTime": "2018-03-13T15:37:25.499Z"
    },
    {
      "name": "feature-list",
      "title": "特性列表",
      "source": {
        "type": "npm",
        "npm": "@icedesign/feature-list-block",
        "version": "0.1.0",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.1.0",
        "@icedesign/container": "^0.1.1",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1pjqTikyWBuNjy0FpXXassXXa-988-568.png",
      "categories": [
        "信息展示"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/base",
            "className": "Button"
          }
        ]
      },
      "description": "展示一些特性列表介绍",
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-04-12T12:44:11.473Z",
      "updateTime": "2018-04-12T12:44:12.801Z"
    },
    {
      "name": "feed-list",
      "title": "Feed 消息列表",
      "source": {
        "type": "npm",
        "npm": "@icedesign/feed-list-block",
        "version": "0.1.10",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.0",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1IbnkbmBYBeNjy0FeXXbnmFXa-1910-998.png",
      "categories": [
        "列表"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          }
        ]
      },
      "description": " Feed 消息列表",
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-01-02T13:39:17.120Z",
      "updateTime": "2018-03-13T15:37:52.313Z"
    },
    {
      "name": "filter-list",
      "title": "支持过滤的列表",
      "source": {
        "type": "npm",
        "npm": "@icedesign/filter-list-block",
        "version": "0.1.13",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.0",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1iUbYilfH8KJjy1XbXXbLdXXa-2000-1154.png",
      "categories": [
        "列表"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Button"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Search"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Grid"
          },
          {
            "basePackage": "@icedesign/img",
            "className": "Img"
          }
        ]
      },
      "description": "支持过滤的列表",
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-01-05T12:10:06.346Z",
      "updateTime": "2018-03-13T16:20:45.995Z"
    },
    {
      "name": "filter-table",
      "title": "支持筛选的表格",
      "source": {
        "type": "npm",
        "npm": "@icedesign/filter-table-block",
        "version": "0.1.15",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.0",
        "@icedesign/data-binder": "^0.1.0",
        "@icedesign/form-binder": "^0.1.3",
        "@icedesign/img": "^0.1.0",
        "@icedesign/label": "^0.1.0",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1PaawcntYBeNjy1XdXXXXyVXa-2370-1528.png",
      "categories": [
        "表格"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          },
          {
            "basePackage": "@icedesign/data-binder",
            "className": "DataBinder"
          },
          {
            "basePackage": "@icedesign/label",
            "className": "Label"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Table"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Pagination"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Input"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Grid"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Select"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Button"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "DatePicker"
          }
        ]
      },
      "description": "附带筛选工具条的表格",
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-01-05T12:11:06.364Z",
      "updateTime": "2018-03-13T16:29:21.608Z"
    },
    {
      "name": "filter-with-search",
      "title": " 含搜索筛选",
      "source": {
        "type": "npm",
        "npm": "@icedesign/filter-with-search-block",
        "version": "0.1.7",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.0",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1vqnmihTI8KJjSspiXXbM4FXa-1906-136.png",
      "categories": [
        "筛选"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Search"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Grid"
          }
        ]
      },
      "description": " 含搜索筛选",
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-01-05T12:10:49.928Z",
      "updateTime": "2018-03-13T15:24:10.128Z"
    },
    {
      "name": "flow-statistics",
      "title": "流量统计",
      "source": {
        "type": "npm",
        "npm": "@icedesign/flow-statistics-block",
        "version": "0.1.4",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@antv/data-set": "^0.8.5",
        "@icedesign/base": "^0.1.5-1",
        "@icedesign/container": "^0.1.1",
        "bizcharts": "^3.1.3-beta.2",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1VaqjbTtYBeNjy1XdXXXXyVXa-2854-1126.png",
      "categories": [
        "图表",
        "数据展示"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Tab"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Grid"
          }
        ]
      },
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-03-01T09:37:27.687Z",
      "updateTime": "2018-03-13T15:41:01.213Z"
    },
    {
      "name": "footer",
      "title": "页脚",
      "source": {
        "type": "npm",
        "npm": "@icedesign/footer-block",
        "version": "0.1.7",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.0",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1if0vg5qAXuNjy1XdXXaYcVXa-2516-356.png",
      "categories": [
        "信息展示",
        "欢迎页"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Grid"
          }
        ]
      },
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-01-05T12:11:23.204Z",
      "updateTime": "2018-03-13T15:44:07.673Z"
    },
    {
      "name": "footer-info",
      "title": "页脚信息展示",
      "source": {
        "type": "npm",
        "npm": "@icedesign/footer-info-block",
        "version": "0.1.7",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.0",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1wHIrc_tYBeNjy1XdXXXXyVXa-2858-684.png",
      "categories": [
        "信息展示",
        "欢迎页"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/base",
            "className": "Grid"
          }
        ]
      },
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-01-05T12:10:30.122Z",
      "updateTime": "2018-03-13T15:49:41.426Z"
    },
    {
      "name": "forget-password-form",
      "title": "忘记密码",
      "source": {
        "type": "npm",
        "npm": "@icedesign/forget-password-form-block",
        "version": "0.1.11",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.0",
        "@icedesign/form-binder": "^0.1.3",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB11ywwc_tYBeNjy1XdXXXXyVXa-2322-398.png",
      "categories": [
        "表单"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Input"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Button"
          }
        ]
      },
      "description": "忘记密码",
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-01-04T10:12:21.872Z",
      "updateTime": "2018-03-13T15:48:45.759Z"
    },
    {
      "name": "gauge-car-chart",
      "title": "仪表盘",
      "source": {
        "type": "npm",
        "npm": "@icedesign/gauge-car-chart-block",
        "version": "0.1.2",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.1.0",
        "@icedesign/container": "^0.1.1",
        "echarts": "^4.0.4",
        "echarts-for-react": "^2.0.8",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1WHrZfDtYBeNjy1XdXXXXyVXa-2258-1066.png",
      "categories": [
        "图表"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          }
        ]
      },
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-03-22T18:08:10.292Z",
      "updateTime": "2018-03-22T18:25:29.853Z"
    },
    {
      "name": "general-widget",
      "title": "常用功能列表",
      "source": {
        "type": "npm",
        "npm": "@icedesign/general-widget-block",
        "version": "0.1.0",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.1",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1h2JcoTtYBeNjy1XdXXXXyVXa-2390-404.png",
      "categories": [
        "信息展示"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Grid"
          }
        ]
      },
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-04-26T16:34:38.398Z",
      "updateTime": "2018-04-26T16:34:41.927Z"
    },
    {
      "name": "grouped-form",
      "title": "分组显示的表单",
      "source": {
        "type": "npm",
        "npm": "@icedesign/grouped-form-block",
        "version": "0.1.1",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.1.0",
        "@icedesign/container": "^0.1.1",
        "@icedesign/form-binder": "^0.1.4",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1faTKg1OSBuNjy0FdXXbDnVXa-2306-1156.png",
      "categories": [
        "表单"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          }
        ]
      },
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-03-29T12:47:20.204Z",
      "updateTime": "2018-03-29T12:47:22.301Z"
    },
    {
      "name": "info-display-tab",
      "title": "标签页信息展示",
      "source": {
        "type": "npm",
        "npm": "@icedesign/info-display-tab-block",
        "version": "0.1.11",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.0",
        "@icedesign/ellipsis": "^0.1.2",
        "axios": "^0.17.1",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1AltjcuuSBuNjy1XcXXcYjFXa-2344-1378.png",
      "categories": [
        "信息展示"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          },
          {
            "basePackage": "@icedesign/ellipsis",
            "className": "Ellipsis"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Tab"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Button"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Grid"
          }
        ]
      },
      "description": "标签页信息展示",
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-01-02T07:06:17.336Z",
      "updateTime": "2018-03-13T15:45:04.287Z"
    },
    {
      "name": "info-display-table",
      "title": "两栏信息展示型表格",
      "source": {
        "type": "npm",
        "npm": "@icedesign/info-display-table-block",
        "version": "0.1.7",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.0",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1niC_fiqAXuNjy1XdXXaYcVXa-959-294.png",
      "categories": [
        "表格"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Table"
          }
        ]
      },
      "description": "两栏信息展示型表格",
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-01-02T07:17:07.017Z",
      "updateTime": "2018-03-13T15:48:39.094Z"
    },
    {
      "name": "intro-step-info",
      "title": "简介和步骤条信息组合",
      "source": {
        "type": "npm",
        "npm": "@icedesign/intro-step-info-block",
        "version": "0.1.0",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.1.0",
        "@icedesign/container": "^0.1.1",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1dWY3m4SYBuNjSspjXXX73VXa-2352-1070.png",
      "categories": [
        "信息展示"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Grid"
          }
        ]
      },
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-04-19T10:06:45.569Z",
      "updateTime": "2018-04-19T10:06:49.990Z"
    },
    {
      "name": "intro-with-background",
      "title": "附带背景图片的信息介绍",
      "source": {
        "type": "npm",
        "npm": "@icedesign/intro-with-background-block",
        "version": "0.1.0",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.1.0",
        "@icedesign/container": "^0.1.1",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1yzD5iH1YBuNjSszhXXcUsFXa-2490-1240.png",
      "categories": [
        "信息展示"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/base",
            "className": "Button"
          }
        ]
      },
      "description": "附带背景图片的信息介绍区块",
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-04-12T12:44:56.016Z",
      "updateTime": "2018-04-12T12:44:57.255Z"
    },
    {
      "name": "join-us",
      "title": "加入我们",
      "source": {
        "type": "npm",
        "npm": "@icedesign/join-us-block",
        "version": "0.1.10",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.0",
        "@icedesign/form-binder": "^0.1.3",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1L1SQjr_I8KJjy1XaXXbsxpXa-2650-1126.png",
      "categories": [
        "表单"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/base",
            "className": "Grid"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Input"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Button"
          }
        ]
      },
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-01-04T09:50:29.437Z",
      "updateTime": "2018-03-13T15:53:38.384Z"
    },
    {
      "name": "landing-intro-banner",
      "title": "首页介绍",
      "source": {
        "type": "npm",
        "npm": "@icedesign/landing-intro-banner-block",
        "version": "0.1.10",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "prop-types": "^15.5.8",
        "react-router": "^3.0.5"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1zP8Flx6I8KJjy0FgXXXXzVXa-2524-1154.png",
      "categories": [
        "信息展示",
        "欢迎页"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/base",
            "className": "Button"
          }
        ]
      },
      "description": "首页介绍 Banner",
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2017-12-27T13:40:26.001Z",
      "updateTime": "2018-03-13T16:21:20.353Z"
    },
    {
      "name": "latest-news",
      "title": "最新消息列表",
      "source": {
        "type": "npm",
        "npm": "@icedesign/latest-news-block",
        "version": "0.1.4",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.2",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1bxhiXf1TBuNjy0FjXXajyXXa-1856-554.png",
      "categories": [
        "信息展示"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Grid"
          }
        ]
      },
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-01-31T09:37:11.013Z",
      "updateTime": "2018-03-13T15:39:18.183Z"
    },
    {
      "name": "left-content-display",
      "title": "功能描述-右图左文",
      "source": {
        "type": "npm",
        "npm": "@icedesign/left-content-display-block",
        "version": "0.1.8",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.0",
        "enquire-js": "^0.1.2",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1g58VjxrI8KJjy0FpXXb5hVXa-2368-1192.png",
      "categories": [
        "信息展示",
        "欢迎页"
      ],
      "features": {
        "useComponents": []
      },
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-01-02T07:43:16.562Z",
      "updateTime": "2018-03-13T15:54:57.404Z"
    },
    {
      "name": "lite-table",
      "title": "简单带状态表格",
      "source": {
        "type": "npm",
        "npm": "@icedesign/lite-table-block",
        "version": "0.1.10",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.0",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1apAecDtYBeNjy1XdXXXXyVXa-2290-998.png",
      "categories": [
        "表格"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Table"
          }
        ]
      },
      "description": "简单的附带状态的表格",
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-01-02T07:43:10.261Z",
      "updateTime": "2018-03-13T15:55:26.349Z"
    },
    {
      "name": "login",
      "title": "登录页",
      "source": {
        "type": "npm",
        "npm": "@icedesign/login-block",
        "version": "1.0.1",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/form-binder": "^0.1.4",
        "@icedesign/icon": "^0.1.1",
        "prop-types": "^15.5.8",
        "react": "^16.2.0"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB14mtgq_tYBeNjy1XdXXXXyVXa-2780-1582.png",
      "categories": [
        "登录页"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/icon",
            "className": "Icon"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Input"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Button"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Checkbox"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Grid"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Feedback"
          }
        ]
      },
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-05-10T14:32:24.120Z",
      "updateTime": "2018-05-10T14:58:21.006Z"
    },
    {
      "name": "main-data",
      "title": "主要数据",
      "source": {
        "type": "npm",
        "npm": "@icedesign/main-data-block",
        "version": "0.1.0",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.1.0",
        "@icedesign/container": "^0.1.1",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1tmdQiAKWBuNjy1zjXXcOypXa-2058-426.png",
      "categories": [
        "数据展示",
        "信息展示"
      ],
      "features": {
        "useComponents": []
      },
      "description": "展示核心数据",
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-04-12T12:44:35.524Z",
      "updateTime": "2018-04-12T12:44:36.827Z"
    },
    {
      "name": "message-list",
      "title": "消息列表",
      "source": {
        "type": "npm",
        "npm": "@icedesign/message-list-block",
        "version": "0.1.9",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.0",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1BhsgcDtYBeNjy1XdXXXXyVXa-2354-856.png",
      "categories": [
        "列表"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Pagination"
          }
        ]
      },
      "description": "消息列表",
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-01-02T07:53:18.652Z",
      "updateTime": "2018-03-13T16:01:38.807Z"
    },
    {
      "name": "monaco-editor",
      "title": "Monaco 代码编辑器",
      "source": {
        "type": "npm",
        "npm": "@icedesign/monaco-editor-block",
        "version": "0.1.9",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.0",
        "prop-types": "^15.5.8",
        "react-monaco-editor": "^0.13.0",
        "regenerator-runtime": "^0.11.1"
      },
      "screenshot": "https://gw.alicdn.com/tfs/TB1bOKfjvDH8KJjy1XcXXcpdXXa-1886-1236.png",
      "categories": [
        "表单"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          }
        ]
      },
      "description": "Monaco 代码编辑器",
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-01-02T07:52:32.331Z",
      "updateTime": "2018-03-13T15:53:42.897Z"
    },
    {
      "name": "multiple-line-chart",
      "title": "组合曲线图",
      "source": {
        "type": "npm",
        "npm": "@icedesign/multiple-line-chart-block",
        "version": "0.1.2",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.1.0",
        "@icedesign/container": "^0.1.1",
        "echarts": "^4.0.4",
        "echarts-for-react": "^2.0.8",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1jBmrgDtYBeNjy1XdXXXXyVXa-2142-1090.png",
      "categories": [
        "图表"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          }
        ]
      },
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-03-22T18:08:10.372Z",
      "updateTime": "2018-03-26T04:05:01.626Z"
    },
    {
      "name": "normal-footer",
      "title": "普通页脚",
      "source": {
        "type": "npm",
        "npm": "@icedesign/normal-footer-block",
        "version": "0.1.0",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.1",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1xQ1rov5TBuNjSspcXXbnGFXa-2400-328.png",
      "categories": [
        "页脚"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Grid"
          }
        ]
      },
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-05-04T16:55:53.989Z",
      "updateTime": "2018-05-04T16:55:59.386Z"
    },
    {
      "name": "notifications",
      "title": "消息提醒",
      "source": {
        "type": "npm",
        "npm": "@icedesign/notifications-block",
        "version": "0.1.0",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.1",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB14kHgm1uSBuNjSsplXXbe8pXa-2344-570.png",
      "categories": [
        "信息展示"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Grid"
          }
        ]
      },
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-04-19T10:08:30.515Z",
      "updateTime": "2018-04-19T10:08:36.267Z"
    },
    {
      "name": "not-permission",
      "title": "无权限提示",
      "source": {
        "type": "npm",
        "npm": "@icedesign/not-permission-block",
        "version": "0.1.8",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.0",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1XvlnjtfJ8KJjy0FeXXXKEXXa-1900-1072.png",
      "categories": [
        "异常"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          }
        ]
      },
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-01-02T07:55:35.592Z",
      "updateTime": "2018-03-13T15:47:19.815Z"
    },
    {
      "name": "operation-table",
      "title": "附带操作的表格",
      "source": {
        "type": "npm",
        "npm": "@icedesign/operation-table-block",
        "version": "0.1.15",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.0",
        "@icedesign/data-binder": "^0.1.0",
        "@icedesign/form-binder": "^0.1.3",
        "@icedesign/img": "^0.1.0",
        "@icedesign/label": "^0.1.0",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1X4awcntYBeNjy1XdXXXXyVXa-2326-1476.png",
      "categories": [
        "表格"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          },
          {
            "basePackage": "@icedesign/img",
            "className": "Img"
          },
          {
            "basePackage": "@icedesign/data-binder",
            "className": "DataBinder"
          },
          {
            "basePackage": "@icedesign/label",
            "className": "Label"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Table"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Pagination"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Icon"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Dialog"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Input"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Select"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Grid"
          }
        ]
      },
      "description": "附带操作按钮的表格",
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-01-02T07:54:51.370Z",
      "updateTime": "2018-03-13T16:16:26.294Z"
    },
    {
      "name": "order-list",
      "title": "订单型列表",
      "source": {
        "type": "npm",
        "npm": "@icedesign/order-list-block",
        "version": "0.1.7",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.0",
        "axios": "^0.17.1",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1QQY0fiqAXuNjy1XdXXaYcVXa-960-646.png",
      "categories": [
        "列表"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Table"
          }
        ]
      },
      "description": "订单型列表",
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-01-02T07:56:14.393Z",
      "updateTime": "2018-03-13T15:41:13.030Z"
    },
    {
      "name": "our-team",
      "title": "我们的团队",
      "source": {
        "type": "npm",
        "npm": "@icedesign/our-team-block",
        "version": "0.1.9",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.0",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1Bw3zauuSBuNjy1XcXXcYjFXa-2168-1460.png",
      "categories": [
        "信息展示",
        "欢迎页"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/base",
            "className": "Grid"
          }
        ]
      },
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-01-02T07:59:07.753Z",
      "updateTime": "2018-03-13T15:56:23.616Z"
    },
    {
      "name": "overview-chart",
      "title": "综合图表",
      "source": {
        "type": "npm",
        "npm": "@icedesign/overview-chart-block",
        "version": "0.1.4",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@antv/data-set": "^0.8.0",
        "@icedesign/base": "^0.1.5-1",
        "@icedesign/container": "^0.1.1",
        "bizcharts": "^3.0.5",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1Wa7wbuuSBuNjy1XcXXcYjFXa-2850-564.png",
      "categories": [
        "图表",
        "数据展示"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Grid"
          }
        ]
      },
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-03-02T11:57:32.879Z",
      "updateTime": "2018-03-16T02:16:28.614Z"
    },
    {
      "name": "performance-chart",
      "title": "销售业绩图表",
      "source": {
        "type": "npm",
        "npm": "@icedesign/performance-chart-block",
        "version": "0.1.0",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.1.0",
        "@icedesign/container": "^0.1.1",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1ZNuworGYBuNjy0FoXXciBFXa-2396-1124.png",
      "categories": [
        "表格"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Tab"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Grid"
          }
        ]
      },
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-04-26T16:34:58.530Z",
      "updateTime": "2018-04-26T16:35:02.049Z"
    },
    {
      "name": "picture-text-list",
      "title": "图文列表",
      "source": {
        "type": "npm",
        "npm": "@icedesign/picture-text-list-block",
        "version": "0.1.10",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.0",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://gw.alicdn.com/tfs/TB1ZbgJilTH8KJjy0FiXXcRsXXa-2026-1556.png",
      "categories": [
        "列表"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Pagination"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Grid"
          },
          {
            "basePackage": "@icedesign/img",
            "className": "Img"
          }
        ]
      },
      "description": "图文列表",
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-01-04T09:58:31.555Z",
      "updateTime": "2018-03-13T15:57:34.921Z"
    },
    {
      "name": "pie-doughnut-chart",
      "title": "饼图",
      "source": {
        "type": "npm",
        "npm": "@icedesign/pie-doughnut-chart-block",
        "version": "0.1.10",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@antv/data-set": "^0.8.2",
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.0",
        "bizcharts": "^3.1.0-beta.1",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1twSFcDtYBeNjy1XdXXXXyVXa-2354-758.png",
      "categories": [
        "图表"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Grid"
          }
        ]
      },
      "description": "饼图",
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-01-04T09:58:52.043Z",
      "updateTime": "2018-03-13T15:57:27.456Z"
    },
    {
      "name": "pie-line-chart",
      "title": "饼图和环形图组合",
      "source": {
        "type": "npm",
        "npm": "@icedesign/pie-line-chart-block",
        "version": "0.1.1",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.1.0",
        "@icedesign/container": "^0.1.1",
        "echarts": "^4.0.4",
        "echarts-for-react": "^2.0.8",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1xJRseSCWBuNjy0FhXXb6EVXa-2238-1422.png",
      "categories": [
        "图表"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          }
        ]
      },
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-03-22T15:13:34.978Z",
      "updateTime": "2018-03-22T15:13:36.024Z"
    },
    {
      "name": "platform-black-intro",
      "title": "平台黑底介绍",
      "source": {
        "type": "npm",
        "npm": "@icedesign/platform-black-intro-block",
        "version": "1.0.1",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "react": "^16.2.0"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1aoVuq_tYBeNjy1XdXXXXyVXa-2008-1228.png",
      "categories": [
        "信息展示",
        "欢迎页"
      ],
      "features": {
        "useComponents": []
      },
      "description": "平台黑底介绍区块",
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-05-10T14:32:03.588Z",
      "updateTime": "2018-05-10T14:59:46.626Z"
    },
    {
      "name": "platform-intro",
      "title": "平台介绍",
      "source": {
        "type": "npm",
        "npm": "@icedesign/platform-intro-block",
        "version": "1.0.1",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "react": "^16.2.0",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1JsHkqGmWBuNjy1XaXXXCbXXa-2531-1370.jpg",
      "categories": [
        "信息展示",
        "欢迎页"
      ],
      "features": {
        "useComponents": []
      },
      "description": "平台介绍",
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-05-10T14:32:16.795Z",
      "updateTime": "2018-05-10T14:59:41.309Z"
    },
    {
      "name": "platform-joinus",
      "title": "加入平台区块",
      "source": {
        "type": "npm",
        "npm": "@icedesign/platform-joinus-block",
        "version": "1.0.1",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.1",
        "prop-types": "^15.5.8",
        "react": "^16.2.0"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1ke8jqHGYBuNjy0FoXXciBFXa-1830-1064.png",
      "categories": [
        "信息展示",
        "欢迎页"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/base",
            "className": "Button"
          }
        ]
      },
      "description": "加入平台区块",
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-05-10T14:32:38.687Z",
      "updateTime": "2018-05-10T14:59:49.485Z"
    },
    {
      "name": "platform-landing",
      "title": "平台登陆引导页面",
      "source": {
        "type": "npm",
        "npm": "@icedesign/platform-landing-block",
        "version": "1.0.1",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.1",
        "prop-types": "^15.5.8",
        "react": "^16.2.0"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1MWmjqNGYBuNjy0FnXXX5lpXa-2054-1134.png",
      "categories": [
        "信息展示",
        "欢迎页"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/base",
            "className": "Button"
          }
        ]
      },
      "description": "平台登陆引导页面",
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-05-10T14:32:54.077Z",
      "updateTime": "2018-05-10T14:59:42.561Z"
    },
    {
      "name": "platform-tools-intro",
      "title": "平台工具介绍",
      "source": {
        "type": "npm",
        "npm": "@icedesign/platform-tools-intro-block",
        "version": "1.0.2",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.1",
        "prop-types": "^15.5.8",
        "react": "^16.2.0"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1mNG.qNSYBuNjSspjXXX73VXa-2072-1262.png",
      "categories": [
        "信息展示",
        "欢迎页"
      ],
      "features": {
        "useComponents": []
      },
      "description": "平台工具介绍",
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-05-10T14:33:17.725Z",
      "updateTime": "2018-05-10T15:48:12.153Z"
    },
    {
      "name": "price-card",
      "title": "价格展示",
      "source": {
        "type": "npm",
        "npm": "@icedesign/price-card-block",
        "version": "0.1.8",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.0",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1Mn6dcuuSBuNjy1XcXXcYjFXa-2836-1006.png",
      "categories": [
        "信息展示",
        "欢迎页"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/base",
            "className": "Grid"
          }
        ]
      },
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-01-02T08:00:14.704Z",
      "updateTime": "2018-03-13T16:00:24.094Z"
    },
    {
      "name": "price-info",
      "title": "价格信息展示",
      "source": {
        "type": "npm",
        "npm": "@icedesign/price-info-block",
        "version": "0.1.10",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.0",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB12Bg8cDtYBeNjy1XdXXXXyVXa-2740-1158.png",
      "categories": [
        "信息展示",
        "欢迎页"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/base",
            "className": "Grid"
          }
        ]
      },
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-01-02T08:01:03.063Z",
      "updateTime": "2018-03-13T15:14:53.910Z"
    },
    {
      "name": "private-message-form",
      "title": "私有消息表单",
      "source": {
        "type": "npm",
        "npm": "@icedesign/private-message-form-block",
        "version": "0.1.9",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.0",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1KNsWcuOSBuNjy0FdXXbDnVXa-880-512.png",
      "categories": [
        "表单"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Input"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Button"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Grid"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Feedback"
          }
        ]
      },
      "description": "私有消息表单",
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-01-02T08:04:24.170Z",
      "updateTime": "2018-03-13T15:57:10.225Z"
    },
    {
      "name": "product-feature",
      "title": "产品特点介绍",
      "source": {
        "type": "npm",
        "npm": "@icedesign/product-feature-block",
        "version": "1.0.0",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "react": "^16.2.0",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1VljUppOWBuNjy0FiXXXFxVXa-2648-1000.png",
      "categories": [
        "信息展示"
      ],
      "features": {
        "useComponents": []
      },
      "description": "用于描述产品的特点,左图右文形式。",
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-05-04T15:02:36.075Z",
      "updateTime": "2018-05-04T15:02:41.658Z"
    },
    {
      "name": "product-feature-dark",
      "title": "产品特点介绍",
      "source": {
        "type": "npm",
        "npm": "@icedesign/product-feature-dark-block",
        "version": "1.0.0",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "react": "^16.2.0",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1yi7OpuuSBuNjy1XcXXcYjFXa-2484-1000.png",
      "categories": [
        "信息展示"
      ],
      "features": {
        "useComponents": []
      },
      "description": "描述产品特点区块,深色主题,左文右图展示形式。",
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-05-04T15:03:28.738Z",
      "updateTime": "2018-05-04T15:03:32.629Z"
    },
    {
      "name": "product-feature-dark2",
      "title": "产品特点介绍",
      "source": {
        "type": "npm",
        "npm": "@icedesign/product-feature-dark2-block",
        "version": "1.0.0",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "react": "^16.2.0",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB14iKGpTtYBeNjy1XdXXXXyVXa-2600-1002.png",
      "categories": [
        "信息展示"
      ],
      "features": {
        "useComponents": []
      },
      "description": "描述产品特点区块,深色主题,左文右图展示形式,支持异形图片。",
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-05-04T15:03:06.091Z",
      "updateTime": "2018-05-04T15:03:10.252Z"
    },
    {
      "name": "product-info",
      "title": "产品信息展示",
      "source": {
        "type": "npm",
        "npm": "@icedesign/product-info-block",
        "version": "0.1.8",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.0",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1pyKlaTtYBeNjy1XdXXXXyVXa-2178-1294.png",
      "categories": [
        "信息展示",
        "欢迎页"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/base",
            "className": "Grid"
          }
        ]
      },
      "description": "产品信息展示",
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-01-02T08:07:30.768Z",
      "updateTime": "2018-03-13T15:51:26.401Z"
    },
    {
      "name": "product-intro",
      "title": "产品介绍区块",
      "source": {
        "type": "npm",
        "npm": "@icedesign/product-intro-block",
        "version": "0.1.1",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.1.0",
        "@icedesign/container": "^0.1.1",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1FiYUgGmWBuNjy1XaXXXCbXXa-1373-665.png",
      "categories": [
        "信息展示"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/base",
            "className": "Button"
          }
        ]
      },
      "description": "用于左文右图产品介绍模块",
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-03-29T12:47:20.321Z",
      "updateTime": "2018-03-29T12:47:21.895Z"
    },
    {
      "name": "progress-data-list",
      "title": "进度条数据列表",
      "source": {
        "type": "npm",
        "npm": "@icedesign/progress-data-list-block",
        "version": "0.1.6",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.1",
        "enquire-js": "^0.1.2",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1OUVDnwvD8KJjy0FlXXagBFXa-1900-338.png",
      "categories": [
        "图表",
        "列表",
        "数据展示"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Progress"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Grid"
          }
        ]
      },
      "description": "进度条数据列表展示",
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-01-18T09:42:58.553Z",
      "updateTime": "2018-03-13T15:55:56.258Z"
    },
    {
      "name": "progress-table",
      "title": "进度条表格",
      "source": {
        "type": "npm",
        "npm": "@icedesign/progress-table-block",
        "version": "0.1.10",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.0",
        "prop-types": "^0.1.0"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1MSwOih6I8KJjy0FgXXXXzVXa-1828-1206.png",
      "categories": [
        "表格"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Table"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Progress"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Pagination"
          }
        ]
      },
      "description": "进度条表格",
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2017-12-27T13:46:26.614Z",
      "updateTime": "2018-03-13T15:56:59.476Z"
    },
    {
      "name": "radar-chart",
      "title": "基础雷达图",
      "source": {
        "type": "npm",
        "npm": "@icedesign/radar-chart-block",
        "version": "0.1.1",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@antv/data-set": "^0.8.7",
        "@icedesign/base": "^0.1.0",
        "@icedesign/container": "^0.1.1",
        "bizcharts": "^3.1.5",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1ijfcov1TBuNjy0FjXXajyXXa-2390-996.png",
      "categories": [
        "图表"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          }
        ]
      },
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-04-26T16:35:09.931Z",
      "updateTime": "2018-04-27T02:03:14.346Z"
    },
    {
      "name": "real-time-overview",
      "title": "实时概况",
      "source": {
        "type": "npm",
        "npm": "@icedesign/real-time-overview-block",
        "version": "0.1.0",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.1",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1GgjAmVOWBuNjy0FiXXXFxVXa-2348-596.png",
      "categories": [
        "数据展示"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Grid"
          }
        ]
      },
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-04-19T10:09:23.921Z",
      "updateTime": "2018-04-19T10:09:27.488Z"
    },
    {
      "name": "real-time-statistics",
      "title": "实时数据统计展示",
      "source": {
        "type": "npm",
        "npm": "@icedesign/real-time-statistics-block",
        "version": "0.1.4",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.2",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1TQDxchGYBuNjy0FnXXX5lpXa-2388-324.png",
      "categories": [
        "数据展示"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/base",
            "className": "Grid"
          }
        ]
      },
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-01-31T09:37:32.634Z",
      "updateTime": "2018-03-13T16:00:37.906Z"
    },
    {
      "name": "real-time-trade-chart",
      "title": "实时交易图",
      "source": {
        "type": "npm",
        "npm": "@icedesign/real-time-trade-chart-block",
        "version": "0.1.0",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.1.0",
        "@icedesign/container": "^0.1.1",
        "echarts": "^4.0.4",
        "echarts-for-react": "^2.0.8",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1fMHimuuSBuNjy1XcXXcYjFXa-1173-683.gif",
      "categories": [
        "图表"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Icon"
          }
        ]
      },
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-04-19T10:07:37.504Z",
      "updateTime": "2018-04-19T10:07:40.696Z"
    },
    {
      "name": "register",
      "title": "注册页",
      "source": {
        "type": "npm",
        "npm": "@icedesign/register-block",
        "version": "1.0.1",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.1",
        "@icedesign/form-binder": "^0.1.4",
        "@icedesign/icon": "^0.1.1",
        "prop-types": "^15.5.8",
        "react": "^16.2.0"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1XqmOqHGYBuNjy0FoXXciBFXa-2740-1556.png",
      "categories": [
        "注册页"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/icon",
            "className": "Icon"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Input"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Button"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Checkbox"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Grid"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Feedback"
          }
        ]
      },
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-05-10T14:32:46.246Z",
      "updateTime": "2018-05-10T14:58:35.766Z"
    },
    {
      "name": "register-form",
      "title": "注册表单",
      "source": {
        "type": "npm",
        "npm": "@icedesign/register-form-block",
        "version": "0.1.10",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/form-binder": "^0.1.4",
        "@icedesign/icon": "^0.1.0",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB17FUzgkCWBuNjy0FaXXXUlXXa-634-748.png",
      "categories": [
        "表单"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/icon",
            "className": "Icon"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Input"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Button"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Checkbox"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Grid"
          }
        ]
      },
      "description": "注册表单",
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-01-02T08:08:07.109Z",
      "updateTime": "2018-03-26T03:49:16.000Z"
    },
    {
      "name": "release-intro",
      "title": "软件发布介绍页",
      "source": {
        "type": "npm",
        "npm": "@icedesign/release-intro-block",
        "version": "1.0.2",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.1",
        "prop-types": "^15.5.8",
        "react": "^16.2.0"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB19OTopKuSBuNjy1XcXXcYjFXa-2624-1488.png",
      "categories": [
        "信息展示"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/base",
            "className": "Menu"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Button"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Feedback"
          }
        ]
      },
      "description": "根据平台信息,展示对应软件下载,以及软件介绍等。",
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-05-04T15:14:49.307Z",
      "updateTime": "2018-05-04T16:39:17.800Z"
    },
    {
      "name": "rich-editor",
      "title": "富文本编辑器",
      "source": {
        "type": "npm",
        "npm": "@icedesign/rich-editor-block",
        "version": "0.1.7",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.1",
        "immutable": "^3.8.2",
        "is-hotkey": "^0.1.1",
        "prop-types": "^15.5.8",
        "slate": "^0.32.1",
        "slate-react": "^0.11.1"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB16Kedov6H8KJjy0FjXXaXepXa-1906-872.png",
      "categories": [
        "表单"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          }
        ]
      },
      "description": "简单的富文本编辑器",
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-01-30T14:33:11.845Z",
      "updateTime": "2018-03-13T15:50:50.516Z"
    },
    {
      "name": "right-content-display",
      "title": "功能描述-左图右文",
      "source": {
        "type": "npm",
        "npm": "@icedesign/right-content-display-block",
        "version": "0.1.8",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.0",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1O.0KjC_I8KJjy0FoXXaFnVXa-2344-1184.png",
      "categories": [
        "信息展示",
        "欢迎页"
      ],
      "features": {
        "useComponents": []
      },
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-01-02T08:12:06.829Z",
      "updateTime": "2018-03-13T16:03:22.516Z"
    },
    {
      "name": "sales-stat-chart",
      "title": "销售数据图表",
      "source": {
        "type": "npm",
        "npm": "@icedesign/sales-stat-chart-block",
        "version": "0.1.4",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.1.5-1",
        "@icedesign/container": "^0.1.1",
        "bizcharts": "^3.1.3-beta.2",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1VH7rbuuSBuNjy1XcXXcYjFXa-2812-980.png",
      "categories": [
        "图表",
        "数据展示"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Grid"
          }
        ]
      },
      "description": "显示销售数据或者类似形式数据的图表模块",
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-03-02T06:30:54.290Z",
      "updateTime": "2018-03-13T15:49:15.132Z"
    },
    {
      "name": "selectable-table",
      "title": "可批量操作的表格",
      "source": {
        "type": "npm",
        "npm": "@icedesign/selectable-table-block",
        "version": "0.1.8",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.0",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB19zkHb1uSBuNjy1XcXXcYjFXa-2322-1298.png",
      "categories": [
        "表格"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Table"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Button"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Icon"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Pagination"
          }
        ]
      },
      "description": "可批量操作的表格",
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-01-02T08:13:04.978Z",
      "updateTime": "2018-03-13T16:20:22.647Z"
    },
    {
      "name": "settings-form",
      "title": "通用的基本设置表单",
      "source": {
        "type": "npm",
        "npm": "@icedesign/settings-form-block",
        "version": "0.1.5",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.2",
        "@icedesign/form-binder": "^0.1.3",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1SUbMdKuSBuNjy1XcXXcYjFXa-2340-1462.png",
      "categories": [
        "表单"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Input"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Button"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Radio"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Switch"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Upload"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Grid"
          }
        ]
      },
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-02-07T13:24:17.686Z",
      "updateTime": "2018-03-16T02:16:28.912Z"
    },
    {
      "name": "signup-form",
      "title": "登录表单",
      "source": {
        "type": "npm",
        "npm": "@icedesign/signup-form-block",
        "version": "0.1.10",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/form-binder": "^0.1.4",
        "@icedesign/icon": "^0.1.0",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1wHA9ib_I8KJjy1XaXXbsxpXa-616-612.png",
      "categories": [
        "表单"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/icon",
            "className": "Icon"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Input"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Button"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Checkbox"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Grid"
          }
        ]
      },
      "description": "登录表单",
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-01-04T09:57:45.160Z",
      "updateTime": "2018-03-26T03:49:16.010Z"
    },
    {
      "name": "simple-fluency-form",
      "title": "简单流畅型表单",
      "source": {
        "type": "npm",
        "npm": "@icedesign/simple-fluency-form-block",
        "version": "0.1.9",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.0",
        "@icedesign/form-binder": "^0.1.3",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1U7tFcDtYBeNjy1XdXXXXyVXa-2352-1002.png",
      "categories": [
        "表单"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Step"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Grid"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Input"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Button"
          }
        ]
      },
      "description": "SimpleFluencyForm",
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-01-02T08:14:26.855Z",
      "updateTime": "2018-03-13T16:09:46.448Z"
    },
    {
      "name": "simple-footer",
      "title": "简单页脚",
      "source": {
        "type": "npm",
        "npm": "@icedesign/simple-footer-block",
        "version": "0.1.1",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.1",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1rnmNouuSBuNjy1XcXXcYjFXa-2390-170.png",
      "categories": [
        "页脚"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Grid"
          }
        ]
      },
      "description": "LOGO和导航组合的页脚",
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-05-04T17:04:47.388Z",
      "updateTime": "2018-05-04T17:05:53.351Z"
    },
    {
      "name": "simple-form-dialog",
      "title": "简单表单弹窗",
      "source": {
        "type": "npm",
        "npm": "@icedesign/simple-form-dialog-block",
        "version": "0.1.8",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.0",
        "@icedesign/form-binder": "^0.1.3",
        "enquire-js": "^0.1.2",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1.65ri9_I8KJjy0FoXXaFnVXa-1270-628.png",
      "categories": [
        "模态框"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Dialog"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Grid"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Input"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Radio"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Button"
          }
        ]
      },
      "description": "简单的表单弹窗",
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-01-02T08:14:11.753Z",
      "updateTime": "2018-03-13T16:21:02.597Z"
    },
    {
      "name": "simple-slider",
      "title": "图片轮播",
      "source": {
        "type": "npm",
        "npm": "@icedesign/simple-slider-block",
        "version": "0.1.5",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.1",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB19Gn3dNGYBuNjy0FnXXX5lpXa-2348-750.png",
      "categories": [
        "数据展示",
        "信息展示"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Slider"
          }
        ]
      },
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-03-13T16:33:27.971Z",
      "updateTime": "2018-03-16T02:16:29.064Z"
    },
    {
      "name": "simple-step",
      "title": "步骤条",
      "source": {
        "type": "npm",
        "npm": "@icedesign/simple-step-block",
        "version": "0.1.4",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.1",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1pzPXcv9TBuNjy0FcXXbeiFXa-2350-464.png",
      "categories": [
        "信息展示"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Step"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Button"
          }
        ]
      },
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-03-13T16:33:06.584Z",
      "updateTime": "2018-03-14T06:22:38.073Z"
    },
    {
      "name": "simple-table",
      "title": "基础表格",
      "source": {
        "type": "npm",
        "npm": "@icedesign/simple-table-block",
        "version": "0.1.7",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.1",
        "@icedesign/data-binder": "^0.1.1",
        "@icedesign/img": "^0.1.1",
        "@icedesign/label": "^0.1.0",
        "enquire-js": "^0.1.2",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1dnoMib_I8KJjy1XaXXbsxpXa-1908-1496.png",
      "categories": [
        "表格"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          },
          {
            "basePackage": "@icedesign/img",
            "className": "Img"
          },
          {
            "basePackage": "@icedesign/data-binder",
            "className": "DataBinder"
          },
          {
            "basePackage": "@icedesign/label",
            "className": "Label"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Table"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Pagination"
          }
        ]
      },
      "description": "基础的表格",
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2017-12-27T13:37:05.492Z",
      "updateTime": "2018-03-13T16:03:24.426Z"
    },
    {
      "name": "simple-testimonial",
      "title": "简单的客户评价",
      "source": {
        "type": "npm",
        "npm": "@icedesign/simple-testimonial-block",
        "version": "0.1.7",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.0",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1X6osi4rI8KJjy0FpXXb5hVXa-1906-474.png",
      "categories": [
        "信息展示",
        "欢迎页"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          }
        ]
      },
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-01-02T08:16:46.878Z",
      "updateTime": "2018-03-13T16:12:47.780Z"
    },
    {
      "name": "simple-timeline",
      "title": "时间轴",
      "source": {
        "type": "npm",
        "npm": "@icedesign/simple-timeline-block",
        "version": "0.1.4",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.1",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1N4jvcqmWBuNjy1XaXXXCbXXa-2302-974.png",
      "categories": [
        "数据展示",
        "信息展示"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Timeline"
          }
        ]
      },
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-03-13T16:33:16.856Z",
      "updateTime": "2018-03-14T06:22:38.617Z"
    },
    {
      "name": "simple-video-player",
      "title": "简单视频播放器",
      "source": {
        "type": "npm",
        "npm": "@icedesign/simple-video-player-block",
        "version": "0.1.2",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.1",
        "enquire-js": "^0.1.3",
        "prop-types": "^15.5.8",
        "video.js": "^6.7.3"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1SlthfwmTBuNjy1XbXXaMrVXa-2350-918.png",
      "categories": [
        "视频"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Grid"
          },
          {
            "basePackage": "@icedesign/img",
            "className": "Img"
          }
        ]
      },
      "description": "简单的视频播放器",
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-03-22T15:13:35.676Z",
      "updateTime": "2018-03-22T18:08:11.328Z"
    },
    {
      "name": "sortable-table",
      "title": "可排序表格",
      "source": {
        "type": "npm",
        "npm": "@icedesign/sortable-table-block",
        "version": "0.1.4",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.2",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1BtQJXDtYBeNjy1XdXXXXyVXa-1914-662.png",
      "categories": [
        "表格"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Table"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Icon"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Button"
          }
        ]
      },
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-01-02T08:16:48.445Z",
      "updateTime": "2018-03-13T16:21:55.321Z"
    },
    {
      "name": "sort-card-list",
      "title": "拖拽排序卡片列表",
      "source": {
        "type": "npm",
        "npm": "@icedesign/sort-card-list-block",
        "version": "0.1.8",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.0",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1SuIoc_tYBeNjy1XdXXXXyVXa-2346-1078.png",
      "categories": [
        "列表"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Grid"
          }
        ]
      },
      "description": "拖拽排序卡片列表",
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-01-05T12:12:05.679Z",
      "updateTime": "2018-03-13T16:21:42.422Z"
    },
    {
      "name": "stacked-bar-chart",
      "title": "堆叠条形图",
      "source": {
        "type": "npm",
        "npm": "@icedesign/stacked-bar-chart-block",
        "version": "0.1.1",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@antv/data-set": "^0.8.7",
        "@icedesign/base": "^0.1.0",
        "@icedesign/container": "^0.1.1",
        "bizcharts": "^3.1.5",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1p5zaouuSBuNjy1XcXXcYjFXa-2396-994.png",
      "categories": [
        "图表"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          }
        ]
      },
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-04-26T16:34:51.611Z",
      "updateTime": "2018-04-27T02:04:59.666Z"
    },
    {
      "name": "statistical-card",
      "title": "统计型卡片",
      "source": {
        "type": "npm",
        "npm": "@icedesign/statistical-card-block",
        "version": "0.1.8",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.0",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1MLLbilfH8KJjy1XbXXbLdXXa-1910-210.png",
      "categories": [
        "数据展示"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Grid"
          }
        ]
      },
      "description": "统计型卡片",
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-01-05T12:12:23.482Z",
      "updateTime": "2018-03-13T16:21:50.639Z"
    },
    {
      "name": "step-form",
      "title": "步骤形表单",
      "source": {
        "type": "npm",
        "npm": "@icedesign/step-form-block",
        "version": "0.1.1",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.1",
        "@icedesign/form-binder": "^0.1.4",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1txzNhntYBeNjy1XdXXXXyVXa-2052-792.png",
      "categories": [
        "表单"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Input"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Button"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Select"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Grid"
          }
        ]
      },
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-03-29T12:47:20.188Z",
      "updateTime": "2018-03-29T12:47:21.416Z"
    },
    {
      "name": "subscribe",
      "title": "订阅",
      "source": {
        "type": "npm",
        "npm": "@icedesign/subscribe-block",
        "version": "0.1.8",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.0",
        "@icedesign/form-binder": "^0.1.3",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB17bQvc_tYBeNjy1XdXXXXyVXa-2352-150.png",
      "categories": [
        "表单"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Input"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Button"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Grid"
          }
        ]
      },
      "description": "订阅",
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-01-05T12:11:46.759Z",
      "updateTime": "2018-03-13T16:14:50.894Z"
    },
    {
      "name": "success-detail",
      "title": "成功详情信息展示",
      "source": {
        "type": "npm",
        "npm": "@icedesign/success-detail-block",
        "version": "0.1.7",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.0",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://gw.alicdn.com/tfs/TB1rmoainnI8KJjy0FfXXcdoVXa-1750-986.png",
      "categories": [
        "信息展示"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Button"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Step"
          }
        ]
      },
      "description": "成功详情信息展示",
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-01-05T12:13:07.695Z",
      "updateTime": "2018-03-13T16:16:53.912Z"
    },
    {
      "name": "success-dialog",
      "title": "成功提示框",
      "source": {
        "type": "npm",
        "npm": "@icedesign/success-dialog-block",
        "version": "0.1.8",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.1",
        "enquire-js": "^0.1.2",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1CMVpi5qAXuNjy1XdXXaYcVXa-1278-540.png",
      "categories": [
        "模态框"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Dialog"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Button"
          }
        ]
      },
      "description": "提示框-成功",
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-01-04T09:48:29.421Z",
      "updateTime": "2018-03-13T16:23:47.578Z"
    },
    {
      "name": "system-notice-list",
      "title": "系统消息列表",
      "source": {
        "type": "npm",
        "npm": "@icedesign/system-notice-list-block",
        "version": "0.1.12",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.0",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1sG8CbXGWBuNjy0FbXXb4sXXa-1914-676.png",
      "categories": [
        "列表"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Pagination"
          }
        ]
      },
      "description": "系统消息列表",
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-01-05T12:12:49.077Z",
      "updateTime": "2018-03-13T16:21:25.274Z"
    },
    {
      "name": "tab-article",
      "title": "tab和文章列表组合",
      "source": {
        "type": "npm",
        "npm": "@icedesign/tab-article-block",
        "version": "0.1.7",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.0",
        "enquire-js": "^0.1.2",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1hNNybmCWBuNjy0FhXXb6EVXa-1916-1082.png",
      "categories": [
        "列表"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Pagination"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Button"
          }
        ]
      },
      "description": "tab和文章列表组合",
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-01-05T12:13:25.278Z",
      "updateTime": "2018-03-13T16:21:28.365Z"
    },
    {
      "name": "tab-chart",
      "title": "标签页图表组合",
      "source": {
        "type": "npm",
        "npm": "@icedesign/tab-chart-block",
        "version": "0.1.9",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@antv/data-set": "^0.8.3",
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.1",
        "bizcharts": "^3.1.0",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1OVMBmb_I8KJjy1XaXXbsxpXa-1920-764.png",
      "categories": [
        "图表",
        "数据展示"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Tab"
          }
        ]
      },
      "description": "标签页和图表组合使用",
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-01-16T14:14:54.914Z",
      "updateTime": "2018-03-13T15:38:44.465Z"
    },
    {
      "name": "tab-dialog",
      "title": "标签内容弹窗",
      "source": {
        "type": "npm",
        "npm": "@icedesign/tab-dialog-block",
        "version": "0.1.9",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.1",
        "enquire-js": "^0.1.2",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB19AF4gOqAXuNjy1XdXXaYcVXa-1262-812.png",
      "categories": [
        "模态框"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Dialog"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Tab"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Table"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Button"
          }
        ]
      },
      "description": "标签内容弹窗",
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-01-05T12:14:01.852Z",
      "updateTime": "2018-03-13T16:19:31.843Z"
    },
    {
      "name": "tab-table",
      "title": "标签页表格组合",
      "source": {
        "type": "npm",
        "npm": "@icedesign/tab-table-block",
        "version": "0.1.7",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.2",
        "axios": "^0.17.1",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1IYWRXeuSBuNjy1XcXXcYjFXa-1902-906.png",
      "categories": [
        "表格"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Tab"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Table"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Dialog"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Button"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Form"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Input"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Field"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Balloon"
          }
        ]
      },
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-02-01T14:36:06.924Z",
      "updateTime": "2018-03-16T02:16:28.787Z"
    },
    {
      "name": "tag-message-list",
      "title": "标签消息列表",
      "source": {
        "type": "npm",
        "npm": "@icedesign/tag-message-list-block",
        "version": "0.1.7",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.0",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1M3XQbhGYBuNjy0FnXXX5lpXa-1922-738.png",
      "categories": [
        "列表"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Tab"
          }
        ]
      },
      "description": "标签消息列表",
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-01-05T12:13:46.631Z",
      "updateTime": "2018-03-13T16:15:12.146Z"
    },
    {
      "name": "tag-table",
      "title": "标签表格组合",
      "source": {
        "type": "npm",
        "npm": "@icedesign/tag-table-block",
        "version": "0.1.15",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/card": "^0.1.1",
        "@icedesign/form-binder": "^0.1.3",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1aEQDXmBYBeNjy0FeXXbnmFXa-945-351.png",
      "categories": [
        "表格",
        "筛选",
        "数据展示"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/form-binder",
            "className": "FormBinder"
          },
          {
            "basePackage": "@icedesign/card",
            "className": "Card"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Table"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Input"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Select"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Grid"
          }
        ]
      },
      "description": "标签表格组合",
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-02-01T14:35:04.440Z",
      "updateTime": "2018-03-13T16:16:49.328Z"
    },
    {
      "name": "team-display",
      "title": "团队展示",
      "source": {
        "type": "npm",
        "npm": "@icedesign/team-display-block",
        "version": "0.1.7",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.0",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1dUcAauuSBuNjy1XcXXcYjFXa-2184-1568.png",
      "categories": [
        "信息展示",
        "欢迎页"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/base",
            "className": "Grid"
          }
        ]
      },
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-01-05T12:14:45.761Z",
      "updateTime": "2018-03-13T16:19:54.258Z"
    },
    {
      "name": "terms-info",
      "title": "协议信息展示",
      "source": {
        "type": "npm",
        "npm": "@icedesign/terms-info-block",
        "version": "0.1.9",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.0",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1aL6ZfiqAXuNjy1XdXXaYcVXa-948-735.png",
      "categories": [
        "信息展示"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Checkbox"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Button"
          }
        ]
      },
      "description": "协议信息展示",
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-01-05T12:14:16.816Z",
      "updateTime": "2018-03-13T16:17:02.029Z"
    },
    {
      "name": "testimonial",
      "title": "客户评价展示",
      "source": {
        "type": "npm",
        "npm": "@icedesign/testimonial-block",
        "version": "0.1.7",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.0",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1W6KmaTtYBeNjy1XdXXXXyVXa-2402-1110.png",
      "categories": [
        "信息展示",
        "欢迎页"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Grid"
          }
        ]
      },
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2017-12-29T07:50:10.995Z",
      "updateTime": "2018-03-13T15:58:40.208Z"
    },
    {
      "name": "testimonial-card",
      "title": "客户评论卡片",
      "source": {
        "type": "npm",
        "npm": "@icedesign/testimonial-card-block",
        "version": "0.1.7",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.0",
        "classnames": "^2.2.5",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB14w4EjBfH8KJjy1XbXXbLdXXa-2824-1110.png",
      "categories": [
        "信息展示",
        "欢迎页"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/base",
            "className": "Grid"
          }
        ]
      },
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-01-05T12:20:24.624Z",
      "updateTime": "2018-03-13T16:15:52.867Z"
    },
    {
      "name": "text-card",
      "title": "纯文字展示型卡片",
      "source": {
        "type": "npm",
        "npm": "@icedesign/text-card-block",
        "version": "0.1.7",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.0",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB14dP0h8fH8KJjy1XbXXbLdXXa-1896-238.png",
      "categories": [
        "数据展示"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Grid"
          }
        ]
      },
      "description": "纯文字展示型卡片",
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-01-05T12:15:06.986Z",
      "updateTime": "2018-03-13T15:55:45.427Z"
    },
    {
      "name": "text-search-list",
      "title": "文字搜索列表",
      "source": {
        "type": "npm",
        "npm": "@icedesign/text-search-list-block",
        "version": "0.1.7",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.0",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1mhxFbkyWBuNjy0FpXXassXXa-1912-1376.png",
      "categories": [
        "列表"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Search"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Grid"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Button"
          }
        ]
      },
      "description": "文字搜索列表",
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2017-12-27T13:41:29.209Z",
      "updateTime": "2018-03-13T15:52:52.340Z"
    },
    {
      "name": "time-filter-table",
      "title": "时间筛选表格",
      "source": {
        "type": "npm",
        "npm": "@icedesign/time-filter-table-block",
        "version": "0.1.11",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.0",
        "@icedesign/data-binder": "^0.1.0",
        "@icedesign/label": "^0.1.0",
        "enquire-js": "^0.1.2",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB153PlcxGYBuNjy0FnXXX5lpXa-2354-1000.png",
      "categories": [
        "表格"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          },
          {
            "basePackage": "@icedesign/data-binder",
            "className": "DataBinder"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Table"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Pagination"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Radio"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Search"
          }
        ]
      },
      "description": "支持时间筛选的表格",
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-01-04T10:37:08.641Z",
      "updateTime": "2018-03-13T16:21:10.574Z"
    },
    {
      "name": "top-active-chart",
      "title": "活跃排行图表",
      "source": {
        "type": "npm",
        "npm": "@icedesign/top-active-chart-block",
        "version": "0.1.2",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.1.5-1",
        "@icedesign/container": "^0.1.1",
        "bizcharts": "^3.1.3-beta.2",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1fYilbTtYBeNjy1XdXXXXyVXa-2854-824.png",
      "categories": [
        "数据展示",
        "图表",
        "表格"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Grid"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Table"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Progress"
          }
        ]
      },
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-03-03T06:18:48.109Z",
      "updateTime": "2018-03-05T13:49:07.101Z"
    },
    {
      "name": "topic-card",
      "title": "核心数据",
      "source": {
        "type": "npm",
        "npm": "@icedesign/topic-card-block",
        "version": "0.1.8",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.0",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1fEdAcTtYBeNjy1XdXXXXyVXa-2348-332.png",
      "categories": [
        "数据展示"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          }
        ]
      },
      "description": "核心数据",
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-01-04T09:58:09.382Z",
      "updateTime": "2018-03-13T16:20:07.766Z"
    },
    {
      "name": "tree-card-list",
      "title": "树形卡片列表",
      "source": {
        "type": "npm",
        "npm": "@icedesign/tree-card-list-block",
        "version": "0.1.7",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.0",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1EQrXcAyWBuNjy0FpXXassXXa-2310-694.png",
      "categories": [
        "列表"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Select"
          }
        ]
      },
      "description": "树形卡片列表",
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-01-04T10:06:13.857Z",
      "updateTime": "2018-03-13T16:21:37.621Z"
    },
    {
      "name": "user-form",
      "title": "新增用户表单",
      "source": {
        "type": "npm",
        "npm": "@icedesign/user-form-block",
        "version": "0.1.3",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.2",
        "@icedesign/form-binder": "^0.1.3",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1oixzXMmTBuNjy1XbXXaMrVXa-1210-1050.png",
      "categories": [
        "表单"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Input"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Grid"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Button"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Select"
          }
        ]
      },
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-02-07T13:24:25.834Z",
      "updateTime": "2018-03-13T16:28:52.948Z"
    },
    {
      "name": "user-info-card",
      "title": "用户信息展示",
      "source": {
        "type": "npm",
        "npm": "@icedesign/user-info-card-block",
        "version": "0.1.5",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.1",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1NxO4l8fH8KJjy1XbXXbLdXXa-978-668.png",
      "categories": [
        "信息展示"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Balloon"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Icon"
          }
        ]
      },
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-01-16T14:15:12.645Z",
      "updateTime": "2018-03-13T16:21:30.218Z"
    },
    {
      "name": "user-login",
      "title": "登录页",
      "source": {
        "type": "npm",
        "npm": "@icedesign/user-login-block",
        "version": "0.1.4",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/form-binder": "^0.1.3",
        "prop-types": "^15.5.8",
        "react-router": "^4.2.0"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1WlGbXMmTBuNjy1XbXXaMrVXa-2868-1602.png",
      "categories": [
        "登录页"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/icon",
            "className": "Icon"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Input"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Button"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Checkbox"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Grid"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Feedback"
          }
        ]
      },
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-02-07T13:24:27.528Z",
      "updateTime": "2018-03-26T02:42:38.465Z"
    },
    {
      "name": "user-stat-chart",
      "title": "用户统计数据图表",
      "source": {
        "type": "npm",
        "npm": "@icedesign/user-stat-chart-block",
        "version": "0.1.3",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.1.5-1",
        "@icedesign/container": "^0.1.1",
        "bizcharts": "^3.1.3-beta.2",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1.q8_bDtYBeNjy1XdXXXXyVXa-1832-852.png",
      "categories": [
        "图表",
        "数据展示"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Grid"
          }
        ]
      },
      "description": "用户统计数据或类似形式的图表",
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-03-02T06:30:39.241Z",
      "updateTime": "2018-03-13T16:16:05.441Z"
    },
    {
      "name": "user-traffic-stastistics",
      "title": "用户浏览数据分析",
      "source": {
        "type": "npm",
        "npm": "@icedesign/user-traffic-stastistics",
        "version": "0.1.2",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@antv/data-set": "^0.8.5",
        "@icedesign/base": "^0.1.5-1",
        "@icedesign/container": "^0.1.0",
        "bizcharts": "^3.1.3-beta.2",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1g5ygbTtYBeNjy1XdXXXXyVXa-2820-760.png",
      "categories": [
        "数据展示",
        "图表"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/container",
            "className": "Container"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Grid"
          }
        ]
      },
      "description": "信息展示类,使用可视化的方式展示用户浏览以及数据分析的结果",
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-03-02T11:57:32.964Z",
      "updateTime": "2018-03-13T16:18:33.665Z"
    },
    {
      "name": "video-list",
      "title": "视频列表",
      "source": {
        "type": "npm",
        "npm": "@icedesign/video-list-block",
        "version": "0.1.0",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.1",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1DZ4rmQyWBuNjy0FpXXassXXa-2314-1016.png",
      "categories": [
        "数据展示"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/base",
            "className": "Dialog"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Grid"
          }
        ]
      },
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-04-19T10:08:14.543Z",
      "updateTime": "2018-04-19T10:08:18.271Z"
    }
  ],
  "layouts": [
    {
      "name": "blank-layout",
      "title": "空白布局",
      "source": {
        "type": "npm",
        "npm": "@icedesign/blank-layout",
        "version": "0.1.5",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/layout": "^0.1.1",
        "classnames": "^2.2.5",
        "prop-types": "^15.5.8"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1T65abVOWBuNjy0FiXXXFxVXa-2840-1596.png",
      "categories": [
        "布局"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/layout",
            "className": "Layout"
          }
        ]
      },
      "description": "完全空白的布局,通常用来做首页、产品介绍或者登陆页面。推荐使用登陆页分类下的区块。",
      "thumbnail": "https://gw.alicdn.com/tfs/TB1SvQmlsLJ8KJjy0FnXXcFDpXa-976-974.png",
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-02-06T09:24:12.391Z",
      "updateTime": "2018-03-05T13:40:36.355Z"
    },
    {
      "name": "header-aside-footer-layout",
      "title": "顶栏-侧栏-底栏-布局",
      "source": {
        "type": "npm",
        "npm": "@icedesign/header-aside-footer-layout",
        "version": "0.2.0",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/img": "^0.1.0",
        "@icedesign/layout": "^0.1.0",
        "@icedesign/menu": "^0.1.0",
        "@icedesign/skin": "latest",
        "classnames": "^2.2.5",
        "enquire-js": "^0.1.2",
        "foundation-symbol": "^0.1.0",
        "prop-types": "^15.5.8",
        "react-document-title": "^2.0.3",
        "react-router": "^4.2.0",
        "react-router-dom": "^4.2.2"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1gZaumAyWBuNjy0FpXXassXXa-2840-1596.png",
      "categories": [
        "布局"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/layout",
            "className": "Layout"
          },
          {
            "basePackage": "@icedesign/menu",
            "className": "Menu"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Icon"
          },
          {
            "basePackage": "@icedesign/img",
            "className": "Img"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Balloon"
          }
        ]
      },
      "description": "固定宽度的内容区域, 顶栏 + 侧栏 + 底栏, 通常用于中后台站点正文内容",
      "thumbnail": "https://gw.alicdn.com/tfs/TB172QmlsLJ8KJjy0FnXXcFDpXa-976-974.png",
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-01-16T06:34:49.135Z",
      "updateTime": "2018-05-04T09:50:55.930Z"
    },
    {
      "name": "header-aside-footer-responsive-layout",
      "title": "顶栏-侧栏-底栏-响应式布局",
      "source": {
        "type": "npm",
        "npm": "@icedesign/header-aside-footer-responsive-layout",
        "version": "0.2.0",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/icon": "^0.1.1",
        "@icedesign/img": "^0.1.0",
        "@icedesign/layout": "^0.1.0",
        "@icedesign/menu": "^0.1.0",
        "@icedesign/skin": "^0.1.0",
        "classnames": "^2.2.5",
        "enquire-js": "^0.1.2",
        "foundation-symbol": "^0.1.0",
        "prop-types": "^15.5.8",
        "react-document-title": "^2.0.3",
        "react-router": "^4.2.0",
        "react-router-dom": "^4.2.2"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB16LgQmDtYBeNjy1XdXXXXyVXa-2840-1596.png",
      "categories": [
        "布局"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/layout",
            "className": "Layout"
          },
          {
            "basePackage": "@icedesign/menu",
            "className": "Menu"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Icon"
          },
          {
            "basePackage": "@icedesign/img",
            "className": "Img"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Balloon"
          }
        ]
      },
      "description": "顶部导航 + 边栏 + 底栏 + 响应式内容区的布局, 通常用于站点正文。",
      "thumbnail": "https://gw.alicdn.com/tfs/TB1dC19lC_I8KJjy0FoXXaFnVXa-976-974.png",
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-01-16T14:31:13.099Z",
      "updateTime": "2018-05-04T09:51:06.802Z"
    },
    {
      "name": "header-footer-layout",
      "title": "顶栏-底栏布局",
      "source": {
        "type": "npm",
        "npm": "@icedesign/header-footer-layout",
        "version": "0.2.0",
        "sourceCodeDirectory": "src/",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/img": "^0.1.0",
        "@icedesign/layout": "^0.1.0",
        "@icedesign/menu": "^0.1.0",
        "@icedesign/skin": "latest",
        "classnames": "^2.2.5",
        "enquire-js": "^0.1.2",
        "foundation-symbol": "^0.1.0",
        "prop-types": "^15.5.8",
        "react-document-title": "^2.0.3",
        "react-router": "^4.2.0",
        "react-router-dom": "^4.2.2"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1x3yKmuuSBuNjy1XcXXcYjFXa-2840-1596.png",
      "categories": [
        "布局"
      ],
      "features": {
        "useComponents": [
          {
            "basePackage": "@icedesign/layout",
            "className": "Layout"
          },
          {
            "basePackage": "@icedesign/img",
            "className": "Img"
          },
          {
            "basePackage": "@icedesign/menu",
            "className": "Menu"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Balloon"
          },
          {
            "basePackage": "@icedesign/base",
            "className": "Icon"
          }
        ]
      },
      "description": "基础布局, 头部导航 + 底部栏 + 固定宽度内容区, 通常用于站点首页或者通用辅助页面。",
      "thumbnail": "https://gw.alicdn.com/tfs/TB1R2QmlsLJ8KJjy0FnXXcFDpXa-976-974.png",
      "repository": "https://github.com/alibaba/ice",
      "publishTime": "2018-01-16T14:31:13.080Z",
      "updateTime": "2018-05-04T09:51:22.008Z"
    }
  ],
  "scaffolds": [
    {
      "name": "create-react-app",
      "title": "Create React App",
      "source": {
        "type": "npm",
        "npm": "@icedesign/scaffold-create-react-app",
        "version": "0.1.2",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/skin": "^0.1.13",
        "react": "^16.2.0",
        "react-dom": "^16.2.0",
        "react-scripts": "1.1.1"
      },
      "devDependencies": {
        "babel-plugin-import": "^1.6.7",
        "ice-skin-loader": "^0.1.1",
        "node-sass": "^4.7.2",
        "react-app-rewired": "^1.5.0",
        "sass-loader": "^6.0.7",
        "webpack-plugin-import": "^0.1.2"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1zu_AeCBYBeNjy0FeXXbnmFXa-1920-1080.png",
      "categories": [],
      "features": {},
      "homepage": "https://alibaba.github.io/ice/scaffold-preview/create-react-app.html",
      "description": "该模板基于 create-react-app 创建,使用 react-app-rewired 进行自定义配置,支持按需引入 ICE 基础组件,添加区块,主要适用于 0 到 1 开始搭建项目",
      "publishTime": "2018-02-24T04:38:50.125Z",
      "updateTime": "2018-04-19T11:29:24.544Z"
    },
    {
      "name": "ice-creator-landingpage",
      "title": "ICE Creator LandingPage",
      "source": {
        "type": "npm",
        "npm": "@icedesign/creator-landingpage-scaffold",
        "version": "1.0.1",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.0",
        "@icedesign/layout": "^0.1.2",
        "@icedesign/menu": "^0.1.0",
        "@icedesign/skin": "^0.1.0",
        "prop-types": "^15.5.8",
        "react-router": "^4.2.0",
        "react-router-dom": "^4.2.2"
      },
      "devDependencies": {
        "babel-eslint": "^8.0.3",
        "eslint": "^4.13.1",
        "eslint-config-airbnb": "^16.1.0",
        "eslint-plugin-babel": "^4.1.1",
        "eslint-plugin-import": "^2.8.0",
        "eslint-plugin-jsx-a11y": "^6.0.3",
        "eslint-plugin-react": "^7.5.1",
        "ice-scripts": "^1.1.1"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1WcWtqMmTBuNjy1XbXXaMrVXa-2840-1596.png",
      "categories": [],
      "features": {},
      "homepage": "https://alibaba.github.io/ice/scaffold-preview/ice-creator-landingpage.html",
      "description": "该模板适用于平台类登陆引导页,默认内置一个页面和五个不同风格的展示区块",
      "publishTime": "2018-05-10T14:31:18.161Z",
      "updateTime": "2018-05-10T14:57:43.196Z"
    },
    {
      "name": "ice-design-analysis",
      "title": "ICE Design Analysis",
      "source": {
        "type": "npm",
        "npm": "@icedesign/analysis-scaffold",
        "version": "1.0.0",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.0",
        "@icedesign/layout": "^0.1.0",
        "@icedesign/skin": "^0.1.0",
        "echarts": "^4.0.4",
        "echarts-for-react": "^2.0.8",
        "prop-types": "^15.5.8",
        "react-router": "^4.2.0",
        "react-router-dom": "^4.2.2",
        "react-text-loop": "^1.1.0"
      },
      "devDependencies": {
        "babel-eslint": "^8.0.3",
        "eslint": "^4.13.1",
        "eslint-config-airbnb": "^16.1.0",
        "eslint-plugin-babel": "^4.1.1",
        "eslint-plugin-import": "^2.8.0",
        "eslint-plugin-jsx-a11y": "^6.0.3",
        "eslint-plugin-react": "^7.5.1",
        "ice-scripts": "^1.1.1"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1_Xf8m_tYBeNjy1XdXXXXyVXa-1920-1080.png",
      "categories": [],
      "features": {},
      "homepage": "https://alibaba.github.io/ice/scaffold-preview/ice-design-analysis.html",
      "description": "该模板适用于可视化实时数据的大屏展示,默认只有一个页面,内置饼图、柱状图等图形",
      "publishTime": "2018-05-04T08:53:10.424Z",
      "updateTime": "2018-05-04T08:53:16.573Z"
    },
    {
      "name": "ice-design-cms",
      "title": "ICE Design CMS",
      "source": {
        "type": "npm",
        "npm": "@icedesign/cms-scaffold",
        "version": "1.0.0",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@antv/data-set": "^0.8.5",
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.0",
        "@icedesign/form-binder": "^0.1.4",
        "@icedesign/icon": "^0.1.1",
        "@icedesign/img": "^0.1.0",
        "@icedesign/layout": "^0.1.0",
        "@icedesign/menu": "^0.1.0",
        "@icedesign/skin": "^0.1.0",
        "axios": "^0.17.1",
        "bizcharts": "3.1.0",
        "classnames": "^2.2.5",
        "enquire-js": "^0.1.2",
        "foundation-symbol": "^0.1.0",
        "immutable": "^3.8.2",
        "is-hotkey": "^0.1.1",
        "prop-types": "^15.5.8",
        "react-document-title": "^2.0.3",
        "react-router": "^4.2.0",
        "react-router-dom": "^4.2.2",
        "slate": "^0.32.5",
        "slate-plain-serializer": "^0.5.6",
        "slate-react": "^0.11.6"
      },
      "devDependencies": {
        "babel-eslint": "^8.0.3",
        "eslint": "^4.13.1",
        "eslint-config-airbnb": "^16.1.0",
        "eslint-plugin-babel": "^4.1.1",
        "eslint-plugin-import": "^2.8.0",
        "eslint-plugin-jsx-a11y": "^6.0.3",
        "eslint-plugin-react": "^7.5.1",
        "ice-scripts": "^1.1.1"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1ai53mqmWBuNjy1XaXXXCbXXa-1920-1080.png",
      "categories": [],
      "features": {},
      "homepage": "https://alibaba.github.io/ice/scaffold-preview/ice-design-cms.html",
      "description": "该模板内置了丰富的区块,主要适用于类 CMS 管理系统,使用时需要根据需求进行删除和添加",
      "publishTime": "2018-05-04T08:55:16.309Z",
      "updateTime": "2018-05-04T08:55:19.346Z"
    },
    {
      "name": "ice-design-ecommerce",
      "title": "ICE Design Ecommerce",
      "source": {
        "type": "npm",
        "npm": "@icedesign/ecommerce-scaffold",
        "version": "1.0.0",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@antv/data-set": "^0.8.7",
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.2",
        "@icedesign/img": "^0.1.1",
        "@icedesign/layout": "^0.1.2",
        "@icedesign/menu": "^0.1.1",
        "@icedesign/skin": "^0.1.0",
        "bizcharts": "^3.1.5",
        "enquire-js": "^0.1.2",
        "foundation-symbol": "^0.1.3",
        "prop-types": "^15.5.8",
        "react-router": "^4.2.0",
        "react-router-dom": "^4.2.2"
      },
      "devDependencies": {
        "babel-eslint": "^8.0.3",
        "eslint": "^4.13.1",
        "eslint-config-airbnb": "^16.1.0",
        "eslint-plugin-babel": "^4.1.1",
        "eslint-plugin-import": "^2.8.0",
        "eslint-plugin-jsx-a11y": "^6.0.3",
        "eslint-plugin-react": "^7.5.1",
        "ice-scripts": "^1.1.1"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1X5qIoqmWBuNjy1XaXXXCbXXa-2840-1596.png",
      "categories": [],
      "features": {},
      "homepage": "https://alibaba.github.io/ice/scaffold-preview/ice-design-ecommerce.html",
      "description": "该模板适用于电商类管理后台,布局方式采用左侧固定,右侧自适应方式,适合大量数据展示和界面操作",
      "publishTime": "2018-05-04T08:55:06.423Z",
      "updateTime": "2018-05-04T08:55:10.980Z"
    },
    {
      "name": "iceworks-homepage",
      "title": "Iceworks HomePage",
      "source": {
        "type": "npm",
        "npm": "@icedesign/iceworks-homepage-scaffold",
        "version": "1.0.1",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.0",
        "@icedesign/layout": "^0.1.2",
        "@icedesign/menu": "^0.1.0",
        "@icedesign/skin": "^0.1.0",
        "prop-types": "^15.5.8",
        "rc-queue-anim": "^1.5.0",
        "rc-scroll-anim": "^2.5.1",
        "react-document-title": "^2.0.3",
        "react-router-dom": "^4.2.2"
      },
      "devDependencies": {
        "babel-eslint": "^8.0.3",
        "eslint": "^4.13.1",
        "eslint-config-airbnb": "^16.1.0",
        "eslint-plugin-babel": "^4.1.1",
        "eslint-plugin-import": "^2.8.0",
        "eslint-plugin-jsx-a11y": "^6.0.3",
        "eslint-plugin-react": "^7.5.1",
        "ice-scripts": "^1.1.1"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1hRY5qqmWBuNjy1XaXXXCbXXa-2840-1596.png",
      "categories": [],
      "features": {},
      "homepage": "https://alibaba.github.io/ice/scaffold-preview/iceworks-homepage.html",
      "description": "该模板适用于工具类产品的首页介绍,默认内置一个页面和不同风格的展示区块",
      "publishTime": "2018-05-10T14:31:14.379Z",
      "updateTime": "2018-05-10T14:57:54.931Z"
    },
    {
      "name": "ice-design-lite",
      "title": "ICE Design Lite",
      "source": {
        "type": "npm",
        "npm": "@icedesign/lite-scaffold",
        "version": "1.0.0",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.2",
        "@icedesign/img": "^0.1.1",
        "@icedesign/layout": "^0.1.1",
        "@icedesign/menu": "^0.1.1",
        "@icedesign/skin": "^0.1.0",
        "@icedesign/styled-menu": "^0.1.1",
        "axios": "^0.17.1",
        "bizcharts": "latest",
        "classnames": "^2.2.5",
        "enquire-js": "^0.1.2",
        "foundation-symbol": "^0.1.0",
        "prop-types": "^15.5.8",
        "react-document-title": "^2.0.3",
        "react-router": "^4.2.0",
        "react-router-dom": "^4.2.2"
      },
      "devDependencies": {
        "babel-eslint": "^8.0.3",
        "eslint": "^4.13.1",
        "eslint-config-airbnb": "^16.1.0",
        "eslint-plugin-babel": "^4.1.1",
        "eslint-plugin-import": "^2.8.0",
        "eslint-plugin-jsx-a11y": "^6.0.3",
        "eslint-plugin-react": "^7.5.1",
        "ice-scripts": "^1.1.1"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1IM1JmuuSBuNjy1XcXXcYjFXa-1920-1080.png",
      "categories": [],
      "features": {},
      "homepage": "https://alibaba.github.io/ice/scaffold-preview/ice-design-lite.html",
      "description": "该模板适用于从 0 到 1 开始搭建项目,内置四套布局,以及基础的页面,路由和菜单展示",
      "publishTime": "2018-05-04T08:55:11.945Z",
      "updateTime": "2018-05-04T08:55:15.258Z"
    },
    {
      "name": "ice-design-login",
      "title": "ICE Design Login",
      "source": {
        "type": "npm",
        "npm": "@icedesign/login-scaffold",
        "version": "1.0.1",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.0",
        "@icedesign/form-binder": "^0.1.4",
        "@icedesign/icon": "^0.1.1",
        "@icedesign/layout": "^0.1.2",
        "@icedesign/skin": "^0.1.0",
        "prop-types": "^15.5.8",
        "react-router": "^4.2.0",
        "react-router-dom": "^4.2.2"
      },
      "devDependencies": {
        "babel-eslint": "^8.0.3",
        "eslint": "^4.13.1",
        "eslint-config-airbnb": "^16.1.0",
        "eslint-plugin-babel": "^4.1.1",
        "eslint-plugin-import": "^2.8.0",
        "eslint-plugin-jsx-a11y": "^6.0.3",
        "eslint-plugin-react": "^7.5.1",
        "ice-scripts": "^1.1.1"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1JPCEqMmTBuNjy1XbXXaMrVXa-2840-1596.png",
      "categories": [],
      "features": {},
      "homepage": "https://alibaba.github.io/ice/scaffold-preview/ice-design-login.html",
      "description": "该模板适用于有注册登录类的管理后台,默认只内置了注册和登录页面,可根据实际业务场景选择其他物料进行开发。",
      "publishTime": "2018-05-10T14:30:42.390Z",
      "updateTime": "2018-05-10T14:58:09.235Z"
    },
    {
      "name": "ice-design-pro",
      "title": "ICE Design Pro",
      "source": {
        "type": "npm",
        "npm": "@icedesign/pro-scaffold",
        "version": "1.0.0",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@antv/data-set": "^0.8.5",
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.2",
        "@icedesign/data-binder": "^0.1.1",
        "@icedesign/ellipsis": "^0.1.1",
        "@icedesign/form-binder": "^0.1.2",
        "@icedesign/img": "^0.1.1",
        "@icedesign/label": "^0.1.1",
        "@icedesign/layout": "^0.1.1",
        "@icedesign/menu": "^0.1.1",
        "@icedesign/skin": "^0.1.0",
        "@icedesign/styled-menu": "^0.1.1",
        "foundation-symbol": "^0.1.0",
        "axios": "^0.17.1",
        "bizcharts": "latest",
        "classnames": "^2.2.5",
        "enquire-js": "^0.1.2",
        "prop-types": "^15.5.8",
        "react-document-title": "^2.0.3",
        "react-router": "^4.2.0",
        "react-router-dom": "^4.2.2"
      },
      "devDependencies": {
        "babel-eslint": "^8.0.3",
        "eslint": "^4.13.1",
        "eslint-config-airbnb": "^16.1.0",
        "eslint-plugin-babel": "^4.1.1",
        "eslint-plugin-import": "^2.8.0",
        "eslint-plugin-jsx-a11y": "^6.0.3",
        "eslint-plugin-react": "^7.5.1",
        "ice-scripts": "^1.1.1"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1_bulmpOWBuNjy0FiXXXFxVXa-1920-1080.png",
      "categories": [],
      "features": {},
      "homepage": "https://alibaba.github.io/ice/scaffold-preview/ice-design-pro.html",
      "description": "该模板内置了丰富的区块,主要用于展示现有区块的分类以及区块组合的效果,使用时需要根据需求进行删除和添加",
      "publishTime": "2018-05-04T08:55:23.677Z",
      "updateTime": "2018-05-04T08:55:27.230Z"
    },
    {
      "name": "ice-design-project-management",
      "title": "ICE Design Project Management",
      "source": {
        "type": "npm",
        "npm": "@icedesign/project-management-scaffold",
        "version": "1.0.0",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@antv/data-set": "^0.8.7",
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.2",
        "@icedesign/img": "^0.1.1",
        "@icedesign/layout": "^0.1.2",
        "@icedesign/menu": "^0.1.1",
        "@icedesign/skin": "^0.1.0",
        "foundation-symbol": "^0.1.3",
        "prop-types": "^15.5.8",
        "react-beautiful-dnd": "^7.1.0",
        "react-router": "^4.2.0",
        "react-router-dom": "^4.2.2",
        "react-trello": "^1.29.1"
      },
      "devDependencies": {
        "babel-eslint": "^8.0.3",
        "eslint": "^4.13.1",
        "eslint-config-airbnb": "^16.1.0",
        "eslint-plugin-babel": "^4.1.1",
        "eslint-plugin-import": "^2.8.0",
        "eslint-plugin-jsx-a11y": "^6.0.3",
        "eslint-plugin-react": "^7.5.1",
        "ice-scripts": "^1.1.1"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1PIDhpntYBeNjy1XdXXXXyVXa-2840-1596.png",
      "categories": [],
      "features": {},
      "homepage": "https://alibaba.github.io/ice/scaffold-preview/ice-design-project-management.html",
      "repository": "https://github.com/alibaba/ice/tree/master/react-materials/scaffolds/ice-design-project-management",
      "description": "该模板适用于项目类管理后台,采用三栏布局方式,模板内置了类似 trello 任务管理的卡片区块",
      "publishTime": "2018-05-04T08:55:14.070Z",
      "updateTime": "2018-05-04T08:55:18.099Z"
    },
    {
      "name": "ice-website-homepage",
      "title": "ICE Website HomePage",
      "source": {
        "type": "npm",
        "npm": "@icedesign/website-homepage-scaffold",
        "version": "1.0.1",
        "registry": "http://registry.npmjs.com"
      },
      "dependencies": {
        "@icedesign/base": "^0.2.0",
        "@icedesign/container": "^0.1.0",
        "@icedesign/icon": "^0.1.1",
        "@icedesign/img": "^0.1.0",
        "@icedesign/layout": "^0.1.2",
        "@icedesign/menu": "^0.1.0",
        "@icedesign/skin": "^0.1.0",
        "classnames": "^2.2.5",
        "enquire-js": "^0.1.2",
        "foundation-symbol": "^0.1.0",
        "prop-types": "^15.5.8",
        "react-document-title": "^2.0.3",
        "react-router": "^4.2.0",
        "react-router-dom": "^4.2.2"
      },
      "devDependencies": {
        "babel-eslint": "^8.0.3",
        "eslint": "^4.13.1",
        "eslint-config-airbnb": "^16.1.0",
        "eslint-plugin-babel": "^4.1.1",
        "eslint-plugin-import": "^2.8.0",
        "eslint-plugin-jsx-a11y": "^6.0.3",
        "eslint-plugin-react": "^7.5.1",
        "ice-scripts": "^1.1.1"
      },
      "screenshot": "https://img.alicdn.com/tfs/TB1lvtMpQOWBuNjSsppXXXPgpXa-2840-1596.png",
      "categories": [],
      "features": {},
      "homepage": "https://alibaba.github.io/ice/scaffold-preview/ice-website-homepage.html",
      "description": "该模板适用于产品类的首页介绍,默认内置一个页面和五个不同风格的展示区块",
      "publishTime": "2018-05-04T08:55:09.188Z",
      "updateTime": "2018-05-04T11:01:52.535Z"
    }
  ]
}
mowatermelon commented 6 years ago

image

mowatermelon commented 6 years ago

1.编写模块 exports.sayHello = function(){ return 'Hello World.'; }

保存为hello_freedom.js

2.初始化包描述文件 $ npm init package.json

{ "name": "hello_freedom", "version": "0.0.1", "description": "A hello world package", "main": "./hello.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "keywords": [ "Hello", "World" ], "author": "freedom93", "license": "MIT" }

3.注册报仓库账号

验证你在 npmjs.org 上的账号(freedom93,1563607296@qq.com)

$ npm adduser

4.上传包 $ npm publish .

5.安装包 $ npm install hello_freedom

6.管理包权限

查看模块拥有者 $ npm owner ls $ npm owner ls hello_freedom

添加一个发布者 $ npm owner add $ npm owner add freedom hello_freedom

删除一个发布者 $ npm owner rm $ npm owner rmfreedom hello_freedom

7.分析包

查看当前项目引入了哪些包 npm ls

8 使用引入的包 var hello = require('hello_freedom'); hello.sayHello()

mowatermelon commented 6 years ago

Commit 提交规范 根据 angular 规范提交 commit,这样 history 看起来更加清晰,还可以自动生成 changelog。

():
mowatermelon commented 6 years ago

image

mowatermelon commented 6 years ago
Travis CI
About Us

Blog

Status

Help
 Sign in with GitHub
Help make Open Source a better place and start building better software today!

alibaba / ice
 build:passed
More options
Current

Branches

Build History

Pull Requests

Build #285
 Pull Request #490 add vue materials
 Commit 9a7c8d5 
 #490: add vue materials 
 Branch master 
mowatermelon avatar mowatermelon authored and committed
 #285 failed
 Ran for 2 min 46 sec
 about an hour ago
Job log

View config
 Raw log
 worker_info
Worker information
hostname: 70ccc019-2f0c-4402-b072-0c4fadd62a0f@1.production-1-worker-org-f-2-gce
version: v3.6.0 https://github.com/travis-ci/worker/tree/170b2a0bb43234479fd1911ba9e4dbcc36dadfad
instance: travis-job-8102198d-e49b-4612-b72e-be56b62f9cdf travis-ci-garnet-trusty-1512502259-986baf0 (via amqp)
startup: 26.276005358s
system_info
Build system information
Build language: node_js
Build group: stable
Build dist: trusty
Build id: 378118905
Job id: 378118906
Runtime kernel version: 4.4.0-101-generic
travis-build version: 51ebd738f
Build image provisioning date and time
Tue Dec  5 19:58:13 UTC 2017
Operating System Details
Distributor ID: Ubuntu
Description:    Ubuntu 14.04.5 LTS
Release:    14.04
Codename:   trusty
Cookbooks Version
7c2c6a6 https://github.com/travis-ci/travis-cookbooks/tree/7c2c6a6
git version
git version 2.15.1
bash version
GNU bash, version 4.3.11(1)-release (x86_64-pc-linux-gnu)
gcc version
gcc (Ubuntu 4.8.4-2ubuntu1~14.04.3) 4.8.4
Copyright (C) 2013 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
docker version
Client:
 Version:      17.09.0-ce
 API version:  1.32
 Go version:   go1.8.3
 Git commit:   afdb6d4
 Built:        Tue Sep 26 22:42:38 2017
 OS/Arch:      linux/amd64
Server:
 Version:      17.09.0-ce
 API version:  1.32 (minimum version 1.12)
 Go version:   go1.8.3
 Git commit:   afdb6d4
 Built:        Tue Sep 26 22:41:20 2017
 OS/Arch:      linux/amd64
 Experimental: false
clang version
clang version 5.0.0 (tags/RELEASE_500/final)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /usr/local/clang-5.0.0/bin
jq version
jq-1.5
bats version
Bats 0.4.0
shellcheck version
0.4.6
shfmt version
v2.0.0
ccache version
ccache version 3.1.9
Copyright (C) 2002-2007 Andrew Tridgell
Copyright (C) 2009-2011 Joel Rosdahl
This program is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software
Foundation; either version 3 of the License, or (at your option) any later
version.
cmake version
cmake version 3.9.2
CMake suite maintained and supported by Kitware (kitware.com/cmake).
heroku version
heroku-cli/6.14.39-addc925 (linux-x64) node-v9.2.0
imagemagick version
Version: ImageMagick 6.7.7-10 2017-07-31 Q16 http://www.imagemagick.org
md5deep version
4.2
mercurial version
Mercurial Distributed SCM (version 4.2.2)
(see https://mercurial-scm.org for more information)
Copyright (C) 2005-2017 Matt Mackall and others
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
mysql version
mysql  Ver 14.14 Distrib 5.6.33, for debian-linux-gnu (x86_64) using  EditLine wrapper
openssl version
OpenSSL 1.0.1f 6 Jan 2014
packer version
Packer v1.0.2
Your version of Packer is out of date! The latest version
is 1.1.2. You can update by downloading from www.packer.io
postgresql client version
psql (PostgreSQL) 9.6.6
ragel version
Ragel State Machine Compiler version 6.8 Feb 2013
Copyright (c) 2001-2009 by Adrian Thurston
subversion version
svn, version 1.8.8 (r1568071)
   compiled Aug 10 2017, 17:20:39 on x86_64-pc-linux-gnu
Copyright (C) 2013 The Apache Software Foundation.
This software consists of contributions made by many people;
see the NOTICE file for more information.
Subversion is open source software, see http://subversion.apache.org/
The following repository access (RA) modules are available:
* ra_svn : Module for accessing a repository using the svn network protocol.
  - with Cyrus SASL authentication
  - handles 'svn' scheme
* ra_local : Module for accessing a repository on local disk.
  - handles 'file' scheme
* ra_serf : Module for accessing a repository via WebDAV protocol using serf.
  - using serf 1.3.3
  - handles 'http' scheme
  - handles 'https' scheme
sudo version
Sudo version 1.8.9p5
Configure options: --prefix=/usr -v --with-all-insults --with-pam --with-fqdn --with-logging=syslog --with-logfac=authpriv --with-env-editor --with-editor=/usr/bin/editor --with-timeout=15 --with-password-timeout=0 --with-passprompt=[sudo] password for %p:  --without-lecture --with-tty-tickets --disable-root-mailer --enable-admin-flag --with-sendmail=/usr/sbin/sendmail --with-timedir=/var/lib/sudo --mandir=/usr/share/man --libexecdir=/usr/lib/sudo --with-sssd --with-sssd-lib=/usr/lib/x86_64-linux-gnu --with-selinux
Sudoers policy plugin version 1.8.9p5
Sudoers file grammar version 43
Sudoers path: /etc/sudoers
Authentication methods: 'pam'
Syslog facility if syslog is being used for logging: authpriv
Syslog priority to use when user authenticates successfully: notice
Syslog priority to use when user authenticates unsuccessfully: alert
Send mail if the user is not in sudoers
Use a separate timestamp for each user/tty combo
Lecture user the first time they run sudo
Root may run sudo
Allow some information gathering to give useful error messages
Require fully-qualified hostnames in the sudoers file
Visudo will honor the EDITOR environment variable
Set the LOGNAME and USER environment variables
Length at which to wrap log file lines (0 for no wrap): 80
Authentication timestamp timeout: 15.0 minutes
Password prompt timeout: 0.0 minutes
Number of tries to enter a password: 3
Umask to use or 0777 to use user's: 022
Path to mail program: /usr/sbin/sendmail
Flags for mail program: -t
Address to send mail to: root
Subject line for mail messages: *** SECURITY information for %h ***
Incorrect password message: Sorry, try again.
Path to authentication timestamp dir: /var/lib/sudo
Default password prompt: [sudo] password for %p: 
Default user to run commands as: root
Value to override user's $PATH with: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin
Path to the editor for use by visudo: /usr/bin/editor
When to require a password for 'list' pseudocommand: any
When to require a password for 'verify' pseudocommand: all
File descriptors >= 3 will be closed before executing a command
Environment variables to check for sanity:
    TZ
    TERM
    LINGUAS
    LC_*
    LANGUAGE
    LANG
    COLORTERM
Environment variables to remove:
    RUBYOPT
    RUBYLIB
    PYTHONUSERBASE
    PYTHONINSPECT
    PYTHONPATH
    PYTHONHOME
    TMPPREFIX
    ZDOTDIR
    READNULLCMD
    NULLCMD
    FPATH
    PERL5DB
    PERL5OPT
    PERL5LIB
    PERLLIB
    PERLIO_DEBUG 
    JAVA_TOOL_OPTIONS
    SHELLOPTS
    GLOBIGNORE
    PS4
    BASH_ENV
    ENV
    TERMCAP
    TERMPATH
    TERMINFO_DIRS
    TERMINFO
    _RLD*
    LD_*
    PATH_LOCALE
    NLSPATH
    HOSTALIASES
    RES_OPTIONS
    LOCALDOMAIN
    CDPATH
    IFS
Environment variables to preserve:
    JAVA_HOME
    TRAVIS
    CI
    DEBIAN_FRONTEND
    XAUTHORIZATION
    XAUTHORITY
    PS2
    PS1
    PATH
    LS_COLORS
    KRB5CCNAME
    HOSTNAME
    HOME
    DISPLAY
    COLORS
Locale to use while parsing sudoers: C
Directory in which to store input/output logs: /var/log/sudo-io
File in which to store the input/output log: %{seq}
Add an entry to the utmp/utmpx file when allocating a pty
PAM service name to use
PAM service name to use for login shells
Create a new PAM session for the command to run in
Maximum I/O log sequence number: 0
Local IP address and netmask pairs:
    10.240.0.28/255.255.255.255
    172.17.0.1/255.255.0.0
Sudoers I/O plugin version 1.8.9p5
gzip version
gzip 1.6
Copyright (C) 2007, 2010, 2011 Free Software Foundation, Inc.
Copyright (C) 1993 Jean-loup Gailly.
This is free software.  You may redistribute copies of it under the terms of
the GNU General Public License <http://www.gnu.org/licenses/gpl.html>.
There is NO WARRANTY, to the extent permitted by law.
Written by Jean-loup Gailly.
zip version
Copyright (c) 1990-2008 Info-ZIP - Type 'zip "-L"' for software license.
This is Zip 3.0 (July 5th 2008), by Info-ZIP.
Currently maintained by E. Gordon.  Please send bug reports to
the authors using the web page at www.info-zip.org; see README for details.
Latest sources and executables are at ftp://ftp.info-zip.org/pub/infozip,
as of above date; see http://www.info-zip.org/ for other sites.
Compiled with gcc 4.8.2 for Unix (Linux ELF) on Oct 21 2013.
Zip special compilation options:
    USE_EF_UT_TIME       (store Universal Time)
    BZIP2_SUPPORT        (bzip2 library version 1.0.6, 6-Sept-2010)
        bzip2 code and library copyright (c) Julian R Seward
        (See the bzip2 license for terms of use)
    SYMLINK_SUPPORT      (symbolic links supported)
    LARGE_FILE_SUPPORT   (can read and write large files on file system)
    ZIP64_SUPPORT        (use Zip64 to store large files in archives)
    UNICODE_SUPPORT      (store and read UTF-8 Unicode paths)
    STORE_UNIX_UIDs_GIDs (store UID/GID sizes/values using new extra field)
    UIDGID_NOT_16BIT     (old Unix 16-bit UID/GID extra field not used)
    [encryption, version 2.91 of 05 Jan 2007] (modified for Zip 3)
Encryption notice:
    The encryption code of this program is not copyrighted and is
    put in the public domain.  It was originally written in Europe
    and, to the best of our knowledge, can be freely distributed
    in both source and object forms from any country, including
    the USA under License Exception TSU of the U.S. Export
    Administration Regulations (section 740.13(e)) of 6 June 2002.
Zip environment options:
             ZIP:  [none]
          ZIPOPT:  [none]
vim version
VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Nov 24 2016 16:43:18)
Included patches: 1-52
Extra patches: 8.0.0056
Modified by pkg-vim-maintainers@lists.alioth.debian.org
Compiled by buildd@
Huge version without GUI.  Features included (+) or not (-):
+acl             +farsi           +mouse_netterm   +syntax
+arabic          +file_in_path    +mouse_sgr       +tag_binary
+autocmd         +find_in_path    -mouse_sysmouse  +tag_old_static
-balloon_eval    +float           +mouse_urxvt     -tag_any_white
-browse          +folding         +mouse_xterm     -tcl
++builtin_terms  -footer          +multi_byte      +terminfo
+byte_offset     +fork()          +multi_lang      +termresponse
+cindent         +gettext         -mzscheme        +textobjects
-clientserver    -hangul_input    +netbeans_intg   +title
-clipboard       +iconv           +path_extra      -toolbar
+cmdline_compl   +insert_expand   -perl            +user_commands
+cmdline_hist    +jumplist        +persistent_undo +vertsplit
+cmdline_info    +keymap          +postscript      +virtualedit
+comments        +langmap         +printer         +visual
+conceal         +libcall         +profile         +visualextra
+cryptv          +linebreak       +python          +viminfo
+cscope          +lispindent      -python3         +vreplace
+cursorbind      +listcmds        +quickfix        +wildignore
+cursorshape     +localmap        +reltime         +wildmenu
+dialog_con      -lua             +rightleft       +windows
+diff            +menu            -ruby            +writebackup
+digraphs        +mksession       +scrollbind      -X11
-dnd             +modify_fname    +signs           -xfontset
-ebcdic          +mouse           +smartindent     -xim
+emacs_tags      -mouseshape      -sniff           -xsmp
+eval            +mouse_dec       +startuptime     -xterm_clipboard
+ex_extra        +mouse_gpm       +statusline      -xterm_save
+extra_search    -mouse_jsbterm   -sun_workshop    -xpm
   system vimrc file: "$VIM/vimrc"
     user vimrc file: "$HOME/.vimrc"
 2nd user vimrc file: "~/.vim/vimrc"
      user exrc file: "$HOME/.exrc"
  fall-back for $VIM: "/usr/share/vim"
Compilation: gcc -c -I. -Iproto -DHAVE_CONFIG_H     -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1      
Linking: gcc   -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,--as-needed -o vim        -lm -ltinfo -lnsl  -lselinux  -lacl -lattr -lgpm -ldl    -L/usr/lib/python2.7/config-x86_64-linux-gnu -lpython2.7 -lpthread -ldl -lutil -lm -Xlinker -export-dynamic -Wl,-O1 -Wl,-Bsymbolic-functions      
iptables version
iptables v1.4.21
curl version
curl 7.35.0 (x86_64-pc-linux-gnu) libcurl/7.35.0 OpenSSL/1.0.1f zlib/1.2.8 libidn/1.28 librtmp/2.3
wget version
GNU Wget 1.15 built on linux-gnu.
rsync version
rsync  version 3.1.0  protocol version 31
gimme version
v1.2.0
nvm version
0.33.6
perlbrew version
/home/travis/perl5/perlbrew/bin/perlbrew  - App::perlbrew/0.80
phpenv version
rbenv 1.1.1-25-g6aa70b6
rvm version
rvm 1.29.3 (latest) by Michal Papis, Piotr Kuczynski, Wayne E. Seguin [https://rvm.io]
default ruby version
ruby 2.4.1p111 (2017-03-22 revision 58053) [x86_64-linux]
CouchDB version
couchdb 1.6.1
ElasticSearch version
5.5.0
Installed Firefox version
firefox 56.0.2
MongoDB version
MongoDB 3.4.10
PhantomJS version
2.1.1
Pre-installed PostgreSQL versions
9.2.24
9.3.20
9.4.15
9.5.10
9.6.6
RabbitMQ Version
3.6.14
Redis version
redis-server 4.0.6
riak version
2.2.3
Pre-installed Go versions
1.7.4
ant version
Apache Ant(TM) version 1.9.3 compiled on April 8 2014
mvn version
Apache Maven 3.5.2 (138edd61fd100ec658bfa2d307c43b76940a5d7d; 2017-10-18T07:58:13Z)
Maven home: /usr/local/maven-3.5.2
Java version: 1.8.0_151, vendor: Oracle Corporation
Java home: /usr/lib/jvm/java-8-oracle/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "4.4.0-98-generic", arch: "amd64", family: "unix"
gradle version
------------------------------------------------------------
Gradle 4.0.1
------------------------------------------------------------
Build time:   2017-07-07 14:02:41 UTC
Revision:     38e5dc0f772daecca1d2681885d3d85414eb6826
Groovy:       2.4.11
Ant:          Apache Ant(TM) version 1.9.6 compiled on June 29 2015
JVM:          1.8.0_151 (Oracle Corporation 25.151-b12)
OS:           Linux 4.4.0-98-generic amd64
lein version
Leiningen 2.8.1 on Java 1.8.0_151 Java HotSpot(TM) 64-Bit Server VM
Pre-installed Node.js versions
v4.8.6
v6.12.0
v6.12.1
v8.9
v8.9.1
phpenv versions
  system
  5.6
* 5.6.32 (set by /home/travis/.phpenv/version)
  7.0
  7.0.25
  7.1
  7.1.11
  hhvm
  hhvm-stable
composer --version
Composer version 1.5.2 2017-09-11 16:59:25
Pre-installed Ruby versions
ruby-2.2.7
ruby-2.3.4
ruby-2.4.1
Network availability confirmed.
Running apt-get update by default has been disabled.
You can opt into running apt-get update by setting this in your .travis.yml file:
  addons:
    apt:
      update: true
git.checkout
1.10s$ git clone --depth=50 https://github.com/alibaba/ice.git alibaba/ice
Cloning into 'alibaba/ice'...
remote: Counting objects: 5436, done.
remote: Compressing objects: 100% (2993/2993), done.
remote: Total 5436 (delta 2565), reused 4552 (delta 2138), pack-reused 0
Receiving objects: 100% (5436/5436), 1.39 MiB | 12.46 MiB/s, done.
Resolving deltas: 100% (2565/2565), done.
$ cd alibaba/ice
0.52s$ git fetch origin +refs/pull/490/merge:
remote: Counting objects: 10, done.
remote: Compressing objects: 100% (7/7), done.
remote: Total 10 (delta 3), reused 9 (delta 3), pack-reused 0
Unpacking objects: 100% (10/10), done.
From https://github.com/alibaba/ice
 * branch            refs/pull/490/merge -> FETCH_HEAD
$ git checkout -qf FETCH_HEAD
Encrypted environment variables have been removed for security reasons.
See https://docs.travis-ci.com/user/pull-requests/#Pull-Requests-and-Security-Restrictions
$ export PATH=./node_modules/.bin:$PATH
Updating nvm
nvm.install
3.88s$ nvm install 8
Downloading and installing node v8.11.1...
Downloading https://nodejs.org/dist/v8.11.1/node-v8.11.1-linux-x64.tar.xz...
Computing checksum with sha256sum
Checksums matched!
Now using node v8.11.1 (npm v5.6.0)
$ node --version
v8.11.1
$ npm --version
5.6.0
$ nvm --version
0.33.11
install.npm
77.74s$ npm install 
npm WARN deprecated babel-preset-es2015@6.24.1: 🙌  Thanks for using Babel: we recommend using babel-preset-env now: please read babeljs.io/env to update! 
npm WARN deprecated coffee-script@1.12.7: CoffeeScript on NPM has moved to "coffeescript" (no hyphen)
npm WARN deprecated socks@1.1.10: If using 2.x branch, please upgrade to at least 2.1.6 to avoid a serious bug with socket data flow and an import issue introduced in 2.1.0
npm WARN notice [SECURITY] tunnel-agent has 1 moderate vulnerability. Go here for more details: https://nodesecurity.io/advisories?search=tunnel-agent&version=0.4.3 - Run `npm i npm@latest -g` to upgrade your npm version, and then `npm audit` to get more info.
npm WARN notice [SECURITY] hoek has 1 moderate vulnerability. Go here for more details: https://nodesecurity.io/advisories?search=hoek&version=2.16.3 - Run `npm i npm@latest -g` to upgrade your npm version, and then `npm audit` to get more info.
> node-sass@4.9.0 install /home/travis/build/alibaba/ice/node_modules/node-sass
> node scripts/install.js
Downloading binary from https://github.com/sass/node-sass/releases/download/v4.9.0/linux-x64-57_binding.node
Download complete
Binary saved to /home/travis/build/alibaba/ice/node_modules/node-sass/vendor/linux-x64-57/binding.node
Caching binary to /home/travis/.npm/node-sass/4.9.0/linux-x64-57_binding.node
> yorkie@1.0.3 install /home/travis/build/alibaba/ice/node_modules/yorkie
> node bin/install.js
CI detected, skipping Git hooks installation
> ghooks@2.0.4 install /home/travis/build/alibaba/ice/node_modules/ghooks
> node ./bin/module-install
> nodejieba@2.2.6 install /home/travis/build/alibaba/ice/node_modules/nodejieba
> node-gyp rebuild
make: Entering directory `/home/travis/build/alibaba/ice/node_modules/nodejieba/build'
  CXX(target) Release/obj.target/nodejieba/lib/index.o
  CXX(target) Release/obj.target/nodejieba/lib/nodejieba.o
  SOLINK_MODULE(target) Release/obj.target/nodejieba.node
  COPY Release/nodejieba.node
make: Leaving directory `/home/travis/build/alibaba/ice/node_modules/nodejieba/build'
> node-sass@4.9.0 postinstall /home/travis/build/alibaba/ice/node_modules/node-sass
> node scripts/build.js
Binary found at /home/travis/build/alibaba/ice/node_modules/node-sass/vendor/linux-x64-57/binding.node
Testing binary
Binary is fine
npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN ice-workspace@0.0.2 No license field.
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.3 (node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.3: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
added 1901 packages in 77.078s
10.32s$ npm ls
ice-workspace@0.0.2 /home/travis/build/alibaba/ice
├─┬ @vue/cli-plugin-eslint@3.0.0-beta.10
│ ├── babel-eslint@8.2.3 deduped
│ ├── eslint@4.19.1 deduped
│ ├─┬ eslint-loader@2.0.0
│ │ ├─┬ loader-fs-cache@1.0.1
│ │ │ ├─┬ find-cache-dir@0.1.1
│ │ │ │ ├── commondir@1.0.1 deduped
│ │ │ │ ├── mkdirp@0.5.1 deduped
│ │ │ │ └── pkg-dir@1.0.0 deduped
│ │ │ └── mkdirp@0.5.1 deduped
│ │ ├─┬ loader-utils@1.1.0
│ │ │ ├── big.js@3.2.0
│ │ │ ├── emojis-list@2.1.0
│ │ │ └── json5@0.5.1 deduped
│ │ ├── object-assign@4.1.1
│ │ ├── object-hash@1.3.0
│ │ └── rimraf@2.6.2 deduped
│ └── eslint-plugin-vue@4.5.0 deduped
├─┬ @vue/cli-service@3.0.0-beta.10
│ ├── @vue/cli-overlay@3.0.0-beta.10
│ ├─┬ @vue/cli-shared-utils@3.0.0-beta.10
│ │ ├── chalk@2.4.1 deduped
│ │ ├── cmd-shim@2.0.2 deduped
│ │ ├─┬ execa@0.9.0
│ │ │ ├── cross-spawn@5.1.0 deduped
│ │ │ ├── get-stream@3.0.0 deduped
│ │ │ ├── is-stream@1.1.0 deduped
│ │ │ ├── npm-run-path@2.0.2 deduped
│ │ │ ├── p-finally@1.0.0 deduped
│ │ │ ├── signal-exit@3.0.2 deduped
│ │ │ └── strip-eof@1.0.0 deduped
│ │ ├─┬ joi@12.0.0
│ │ │ ├── hoek@4.2.1 deduped
│ │ │ ├─┬ isemail@3.1.2
│ │ │ │ └── punycode@2.1.0
│ │ │ └─┬ topo@2.0.2
│ │ │   └── hoek@4.2.1 deduped
│ │ ├─┬ opn@5.3.0
│ │ │ └── is-wsl@1.1.0
│ │ ├─┬ ora@1.4.0
│ │ │ ├── chalk@2.4.1 deduped
│ │ │ ├── cli-cursor@2.1.0 deduped
│ │ │ ├── cli-spinners@1.3.1 deduped
│ │ │ └── log-symbols@2.2.0 deduped
│ │ └─┬ string.prototype.padstart@3.0.0
│ │   ├── define-properties@1.1.2 deduped
│ │   ├── es-abstract@1.11.0 deduped
│ │   └── function-bind@1.1.1 deduped
│ ├── @vue/web-component-wrapper@1.2.0
│ ├── address@1.0.3
│ ├─┬ autoprefixer@8.4.1
│ │ ├─┬ browserslist@3.2.7
│ │ │ ├── caniuse-lite@1.0.30000839 deduped
│ │ │ └── electron-to-chromium@1.3.45
│ │ ├── caniuse-lite@1.0.30000839
│ │ ├── normalize-range@0.1.2
│ │ ├── num2fraction@1.2.2
│ │ ├─┬ postcss@6.0.22
│ │ │ ├── chalk@2.4.1 deduped
│ │ │ ├── source-map@0.6.1
│ │ │ └── supports-color@5.4.0 deduped
│ │ └── postcss-value-parser@3.3.0
│ ├─┬ cache-loader@1.2.2
│ │ ├── loader-utils@1.1.0 deduped
│ │ ├── mkdirp@0.5.1 deduped
│ │ ├── neo-async@2.5.1
│ │ └─┬ schema-utils@0.4.5
│ │   ├─┬ ajv@6.5.0
│ │   │ ├── fast-deep-equal@2.0.1
│ ���   │ ├── fast-json-stable-stringify@2.0.0 deduped
│ │   │ ├── json-schema-traverse@0.3.1 deduped
│ │   │ └── uri-js@4.2.1 deduped
│ │   └── ajv-keywords@3.2.0
│ ├── case-sensitive-paths-webpack-plugin@2.1.2
│ ├─┬ chalk@2.4.1
│ │ ├─┬ ansi-styles@3.2.1
│ │ │ └─┬ color-convert@1.9.1
│ │ │   └── color-name@1.1.3
│ │ ├── escape-string-regexp@1.0.5 deduped
│ │ └─┬ supports-color@5.4.0
│ │   └── has-flag@3.0.0
│ ├─┬ cliui@4.1.0
│ │ ├─┬ string-width@2.1.1
│ │ │ ├── is-fullwidth-code-point@2.0.0
│ │ │ └── strip-ansi@4.0.0 deduped
│ │ ├── strip-ansi@4.0.0 deduped
│ │ └─┬ wrap-ansi@2.1.0
│ │   ├─┬ string-width@1.0.2
│ │   │ ├── code-point-at@1.1.0
│ │   │ ├─┬ is-fullwidth-code-point@1.0.0
│ │   │ │ └── number-is-nan@1.0.1 deduped
│ │   │ └── strip-ansi@3.0.1 deduped
│ │   └─┬ strip-ansi@3.0.1
│ │     └── ansi-regex@2.1.1 deduped
│ ├─┬ copy-webpack-plugin@4.5.1
│ │ ├─┬ cacache@10.0.4
│ │ │ ├── bluebird@3.5.1 deduped
│ │ │ ├── chownr@1.0.1
│ │ │ ├── glob@7.1.2 deduped
│ │ │ ├── graceful-fs@4.1.11 deduped
│ │ │ ├── lru-cache@4.1.3 deduped
│ │ │ ├─┬ mississippi@2.0.0
│ │ │ │ ├── concat-stream@1.6.2 deduped
│ │ │ │ ├─┬ duplexify@3.6.0
│ │ │ │ │ ├── end-of-stream@1.4.1 deduped
│ │ │ │ │ ├── inherits@2.0.3 deduped
│ │ │ │ │ ├── readable-stream@2.3.6 deduped
│ │ │ │ │ └── stream-shift@1.0.0
│ │ │ │ ├─┬ end-of-stream@1.4.1
│ │ │ │ │ └── once@1.4.0 deduped
│ │ │ │ ├─┬ flush-write-stream@1.0.3
│ │ │ │ │ ├── inherits@2.0.3 deduped
│ │ │ │ │ └── readable-stream@2.3.6 deduped
│ │ │ │ ├─┬ from2@2.3.0
│ │ │ │ │ ├── inherits@2.0.3 deduped
│ │ │ │ │ └── readable-stream@2.3.6 deduped
│ │ │ │ ├─┬ parallel-transform@1.1.0
│ │ │ │ │ ├── cyclist@0.2.2
│ │ │ │ │ ├── inherits@2.0.3 deduped
│ │ │ │ │ └── readable-stream@2.3.6 deduped
│ │ │ │ ├─┬ pump@2.0.1
│ │ │ │ │ ├── end-of-stream@1.4.1 deduped
│ │ │ │ │ └── once@1.4.0 deduped
│ │ │ │ ├─┬ pumpify@1.5.0
│ │ │ │ │ ├── duplexify@3.6.0 deduped
│ │ │ │ │ ├── inherits@2.0.3 deduped
│ │ │ │ │ └── pump@2.0.1 deduped
│ │ │ │ ├─┬ stream-each@1.2.2
│ │ │ │ │ ├── end-of-stream@1.4.1 deduped
│ │ │ │ │ └── stream-shift@1.0.0 deduped
│ │ │ │ └── through2@2.0.3 deduped
│ │ │ ├���─ mkdirp@0.5.1 deduped
│ │ │ ├─┬ move-concurrently@1.0.1
│ │ │ │ ├── aproba@1.2.0 deduped
│ │ │ │ ├─┬ copy-concurrently@1.0.5
│ │ │ │ │ ├── aproba@1.2.0 deduped
│ │ │ │ │ ├── fs-write-stream-atomic@1.0.10 deduped
│ │ │ │ │ ├── iferr@0.1.5
│ │ │ │ │ ├── mkdirp@0.5.1 deduped
│ │ │ │ │ ├── rimraf@2.6.2 deduped
│ │ │ │ │ └── run-queue@1.0.3 deduped
│ │ │ │ ├─┬ fs-write-stream-atomic@1.0.10
│ │ │ │ │ ├── graceful-fs@4.1.11 deduped
│ │ │ │ │ ├── iferr@0.1.5 deduped
│ │ │ │ │ ├── imurmurhash@0.1.4 deduped
│ │ │ │ │ └── readable-stream@2.3.6 deduped
│ │ │ │ ├── mkdirp@0.5.1 deduped
│ │ │ │ ├── rimraf@2.6.2 deduped
│ │ │ │ └─┬ run-queue@1.0.3
│ │ │ │   └── aproba@1.2.0 deduped
│ │ │ ├── promise-inflight@1.0.1
│ │ │ ├── rimraf@2.6.2 deduped
│ │ │ ├─┬ ssri@5.3.0
│ │ │ │ └── safe-buffer@5.1.2 deduped
│ │ │ ├─┬ unique-filename@1.1.0
│ │ │ │ └─┬ unique-slug@2.0.0
│ │ │ │   └── imurmurhash@0.1.4 deduped
│ │ │ └── y18n@4.0.0
│ │ ├─┬ find-cache-dir@1.0.0
│ │ │ ├── commondir@1.0.1
│ │ │ ├── make-dir@1.3.0 deduped
│ │ │ └─┬ pkg-dir@2.0.0
│ │ │   └─┬ find-up@2.1.0
│ │ │     └── locate-path@2.0.0 deduped
│ │ ├─┬ globby@7.1.1
│ │ │ ├── array-union@1.0.2 deduped
│ │ │ ├── dir-glob@2.0.0 deduped
│ │ │ ├── glob@7.1.2 deduped
│ │ │ ├── ignore@3.3.8 deduped
│ │ │ ├── pify@3.0.0
│ │ │ └── slash@1.0.0
│ │ ├─┬ is-glob@4.0.0
│ │ │ └── is-extglob@2.1.1
│ │ ├── loader-utils@1.1.0 deduped
│ │ ├── minimatch@3.0.4 deduped
│ │ ├─┬ p-limit@1.2.0
│ │ │ └── p-try@1.0.0
│ │ └── serialize-javascript@1.5.0
│ ├─┬ css-loader@0.28.11
│ │ ├── babel-code-frame@6.26.0 deduped
│ │ ├─┬ css-selector-tokenizer@0.7.0
│ │ │ ├── cssesc@0.1.0
│ │ │ ├── fastparse@1.1.1
│ │ │ └─┬ regexpu-core@1.0.0
│ │ │   ├── regenerate@1.3.3
│ │ │   ├── regjsgen@0.2.0
│ │ │   └─┬ regjsparser@0.1.5
│ │ │     └── jsesc@0.5.0
│ │ ├─┬ cssnano@3.10.0
│ │ │ ├─┬ autoprefixer@6.7.7
│ │ │ │ ├─┬ browserslist@1.7.7
│ │ │ │ │ ├── caniuse-db@1.0.30000839 deduped
│ │ │ │ │ └── electron-to-chromium@1.3.45 deduped
│ │ │ │ ├── caniuse-db@1.0.30000839
│ │ │ │ ├── normalize-range@0.1.2 deduped
│ │ │ │ ├── num2fraction@1.2.2 deduped
│ │ │ │ ├── postcss@5.2.18 deduped
│ │ │ │ └── postcss-value-parser@3.3.0 deduped
│ │ │ ├── decamelize@1.2.0 deduped
│ │ │ ├── defined@1.0.0
│ │ │ ├── has@1.0.1 deduped
│ │ │ ├── object-assign@4.1.1 deduped
│ │ │ ├─┬ postcss@5.2.18
│ │ │ │ ├─┬ chalk@1.1.3
│ │ │ │ │ ├── ansi-styles@2.2.1
│ │ │ │ │ ├── escape-string-regexp@1.0.5 deduped
│ │ │ │ │ ├── has-ansi@2.0.0 deduped
│ │ │ │ │ ├─┬ strip-ansi@3.0.1
│ │ │ │ │ │ └── ansi-regex@2.1.1 deduped
│ │ │ │ │ └── supports-color@2.0.0
│ │ │ │ ├── js-base64@2.4.3 deduped
│ │ │ │ ├── source-map@0.5.7 deduped
│ │ │ │ └─┬ supports-color@3.2.3
│ │ │ │   └── has-flag@1.0.0
│ │ │ ├─┬ postcss-calc@5.3.1
│ │ │ │ ├─┬ postcss@5.2.18
│ │ │ │ │ ├─┬ chalk@1.1.3
│ │ │ │ │ │ ├── ansi-styles@2.2.1
│ │ │ │ │ │ ├── escape-string-regexp@1.0.5 deduped
│ │ │ │ │ │ ├── has-ansi@2.0.0 deduped
│ │ │ │ │ │ ├─┬ strip-ansi@3.0.1
│ │ │ │ │ │ │ └── ansi-regex@2.1.1 deduped
│ │ │ │ │ │ └── supports-color@2.0.0
│ │ │ │ │ ├── js-base64@2.4.3 deduped
│ │ │ │ │ ├── source-map@0.5.7 deduped
│ │ │ │ │ └─┬ supports-color@3.2.3
│ │ │ │ │   └── has-flag@1.0.0
│ │ │ │ ├── postcss-message-helpers@2.0.0
│ │ │ │ └─┬ reduce-css-calc@1.3.0
│ │ │ │   ├── balanced-match@0.4.2
│ │ │ │   ├── math-expression-evaluator@1.2.17
│ │ │ │   └─┬ reduce-function-call@1.0.2
│ │ │ │     └── balanced-match@0.4.2
│ │ │ ├─┬ postcss-colormin@2.2.2
│ │ │ │ ├─┬ colormin@1.1.2
│ │ │ │ │ ├─┬ color@0.11.4
│ │ │ │ │ │ ├── clone@1.0.4 deduped
│ │ │ │ │ │ ├── color-convert@1.9.1 deduped
│ │ │ │ │ │ └─┬ color-string@0.3.0
│ │ │ │ │ │   └── color-name@1.1.3 deduped
│ │ │ │ │ ├── css-color-names@0.0.4
│ │ │ │ │ └── has@1.0.1 deduped
│ │ │ │ ├─┬ postcss@5.2.18
│ │ │ │ │ ├─┬ chalk@1.1.3
│ │ │ │ │ │ ├── ansi-styles@2.2.1
│ │ │ │ │ │ ├── escape-string-regexp@1.0.5 deduped
│ │ │ │ │ │ ├── has-ansi@2.0.0 deduped
│ │ │ │ │ │ ├─┬ strip-ansi@3.0.1
│ │ │ │ │ │ │ └── ansi-regex@2.1.1 deduped
│ │ │ │ │ │ └── supports-color@2.0.0
│ │ │ │ │ ├── js-base64@2.4.3 deduped
│ │ │ │ │ ├── source-map@0.5.7 deduped
│ │ │ │ │ └─┬ supports-color@3.2.3
│ │ │ │ │   └── has-flag@1.0.0
│ │ │ │ └── postcss-value-parser@3.3.0 deduped
│ │ │ ├─┬ postcss-convert-values@2.6.1
│ │ │ │ ├─┬ postcss@5.2.18
│ │ │ │ │ ├─┬ chalk@1.1.3
│ │ │ │ │ │ ├── ansi-styles@2.2.1
│ │ │ │ │ │ ├── escape-string-regexp@1.0.5 deduped
│ │ │ │ │ │ ├── has-ansi@2.0.0 deduped
│ │ │ │ │ │ ├─┬ strip-ansi@3.0.1
│ │ │ │ │ │ │ └── ansi-regex@2.1.1 deduped
│ │ │ │ │ │ └── supports-color@2.0.0
│ │ │ │ │ ├── js-base64@2.4.3 deduped
│ │ │ │ │ ├── source-map@0.5.7 deduped
│ │ │ │ │ └─┬ supports-color@3.2.3
│ │ │ │ │   └── has-flag@1.0.0
│ │ │ │ └── postcss-value-parser@3.3.0 deduped
│ │ │ ├─┬ postcss-discard-comments@2.0.4
│ │ │ │ └─┬ postcss@5.2.18
│ │ │ │   ├─┬ chalk@1.1.3
│ │ │ │   │ ├── ansi-styles@2.2.1
│ │ │ │   │ ├── escape-string-regexp@1.0.5 deduped
│ │ │ │   │ ├── has-ansi@2.0.0 deduped
│ │ │ │   │ ├─┬ strip-ansi@3.0.1
│ │ │ │   │ │ └── ansi-regex@2.1.1 deduped
│ │ │ │   │ └── supports-color@2.0.0
│ │ │ │   ├── js-base64@2.4.3 deduped
│ │ │ │   ├── source-map@0.5.7 deduped
│ │ │ │   └─┬ supports-color@3.2.3
│ │ │ │     └── has-flag@1.0.0
│ │ │ ├─┬ postcss-discard-duplicates@2.1.0
│ │ │ │ └─┬ postcss@5.2.18
│ │ │ │   ├─┬ chalk@1.1.3
│ │ │ │   │ ├── ansi-styles@2.2.1
│ │ │ │   │ ├── escape-string-regexp@1.0.5 deduped
│ │ │ │   │ ├── has-ansi@2.0.0 deduped
│ │ │ │   │ ├─┬ strip-ansi@3.0.1
│ │ │ │   │ │ └── ansi-regex@2.1.1 deduped
│ │ │ │   │ └── supports-color@2.0.0
│ │ │ │   ├── js-base64@2.4.3 deduped
│ │ │ │   ├── source-map@0.5.7 deduped
│ │ │ │   └─┬ supports-color@3.2.3
│ │ │ │     └── has-flag@1.0.0
│ │ │ ├─┬ postcss-discard-empty@2.1.0
│ │ │ │ └─┬ postcss@5.2.18
│ │ │ │   ├─┬ chalk@1.1.3
│ │ │ │   │ ├── ansi-styles@2.2.1
│ │ │ │   │ ├── escape-string-regexp@1.0.5 deduped
│ │ │ │   │ ├── has-ansi@2.0.0 deduped
│ │ │ │   │ ├─┬ strip-ansi@3.0.1
│ │ │ │   │ │ └── ansi-regex@2.1.1 deduped
│ │ │ │   │ └── supports-color@2.0.0
│ │ │ │   ├── js-base64@2.4.3 deduped
│ │ │ │   ├── source-map@0.5.7 deduped
│ │ │ │   └─┬ supports-color@3.2.3
│ │ │ │     └── has-flag@1.0.0
│ │ │ ├─┬ postcss-discard-overridden@0.1.1
│ │ │ │ └─┬ postcss@5.2.18
│ │ │ │   ├─┬ chalk@1.1.3
│ │ │ │   │ ├── ansi-styles@2.2.1
│ │ │ │   │ ├── escape-string-regexp@1.0.5 deduped
│ │ │ │   │ ├── has-ansi@2.0.0 deduped
│ │ │ │   │ ├─┬ strip-ansi@3.0.1
│ │ │ │   │ │ └── ansi-regex@2.1.1 deduped
│ │ │ │   │ └── supports-color@2.0.0
│ │ │ │   ├── js-base64@2.4.3 deduped
│ │ │ │   ├── source-map@0.5.7 deduped
│ │ │ │   └─┬ supports-color@3.2.3
│ │ │ │     └── has-flag@1.0.0
│ │ │ ├─┬ postcss-discard-unused@2.2.3
│ │ │ │ ├─┬ postcss@5.2.18
│ │ │ │ │ ├─┬ chalk@1.1.3
│ │ │ │ │ │ ├── ansi-styles@2.2.1
│ │ │ │ │ │ ├── escape-string-regexp@1.0.5 deduped
│ │ │ │ │ │ ├── has-ansi@2.0.0 deduped
│ │ │ │ │ │ ├─┬ strip-ansi@3.0.1
│ │ │ │ │ │ │ └── ansi-regex@2.1.1 deduped
│ │ │ │ │ │ └── supports-color@2.0.0
│ │ │ │ │ ├── js-base64@2.4.3 deduped
│ │ │ │ │ ├── source-map@0.5.7 deduped
│ │ │ │ │ └─┬ supports-color@3.2.3
│ │ │ │ │   └── has-flag@1.0.0
│ │ │ │ └── uniqs@2.0.0
│ │ │ ├─┬ postcss-filter-plugins@2.0.2
│ │ │ │ ├─┬ postcss@5.2.18
│ │ │ │ │ ├─┬ chalk@1.1.3
│ │ │ │ │ │ ├── ansi-styles@2.2.1
│ │ │ │ │ │ ├── escape-string-regexp@1.0.5 deduped
│ │ │ │ │ │ ├── has-ansi@2.0.0 deduped
│ │ │ │ │ │ ├─┬ strip-ansi@3.0.1
│ │ │ │ │ │ │ └── ansi-regex@2.1.1 deduped
│ │ │ │ │ │ └── supports-color@2.0.0
│ │ │ │ │ ├── js-base64@2.4.3 deduped
│ │ │ │ │ ├── source-map@0.5.7 deduped
│ │ │ │ │ └─┬ supports-color@3.2.3
│ │ │ │ │   └── has-flag@1.0.0
│ │ │ │ └─┬ uniqid@4.1.1
│ │ │ │   └── macaddress@0.2.8
│ │ │ ├─┬ postcss-merge-idents@2.1.7
│ │ │ │ ├── has@1.0.1 deduped
│ │ │ │ ├─┬ postcss@5.2.18
│ │ │ │ │ ├─┬ chalk@1.1.3
│ │ │ │ │ │ ├── ansi-styles@2.2.1
│ │ │ │ │ │ ├── escape-string-regexp@1.0.5 deduped
│ │ │ │ │ │ ├── has-ansi@2.0.0 deduped
│ │ │ │ │ │ ├─┬ strip-ansi@3.0.1
│ │ │ │ │ │ │ └── ansi-regex@2.1.1 deduped
│ │ │ │ │ │ └── supports-color@2.0.0
│ │ │ │ │ ├── js-base64@2.4.3 deduped
│ │ │ │ │ ├── source-map@0.5.7 deduped
│ │ │ │ │ └─┬ supports-color@3.2.3
│ │ │ │ │   └── has-flag@1.0.0
│ │ │ │ └── postcss-value-parser@3.3.0 deduped
│ │ │ ├─┬ postcss-merge-longhand@2.0.2
│ │ │ │ └─┬ postcss@5.2.18
│ │ │ │   ├─┬ chalk@1.1.3
│ │ │ │   │ ├── ansi-styles@2.2.1
│ │ │ │   │ ├── escape-string-regexp@1.0.5 deduped
│ │ │ │   │ ├── has-ansi@2.0.0 deduped
│ │ │ │   │ ├─┬ strip-ansi@3.0.1
│ │ │ │   │ │ └── ansi-regex@2.1.1 deduped
│ │ │ │   │ └── supports-color@2.0.0
│ │ │ │   ├── js-base64@2.4.3 deduped
│ │ │ │   ├── source-map@0.5.7 deduped
│ │ │ │   └─┬ supports-color@3.2.3
│ │ │ │     └── has-flag@1.0.0
│ │ │ ├─┬ postcss-merge-rules@2.1.2
│ │ │ │ ├─┬ browserslist@1.7.7
│ │ │ │ │ ├── caniuse-db@1.0.30000839 deduped
│ │ │ │ │ └── electron-to-chromium@1.3.45 deduped
│ │ │ │ ├─┬ caniuse-api@1.6.1
│ │ │ │ │ ├─┬ browserslist@1.7.7
│ │ │ │ │ │ ├── caniuse-db@1.0.30000839 deduped
│ │ │ │ │ │ └── electron-to-chromium@1.3.45 deduped
│ │ │ │ │ ├── caniuse-db@1.0.30000839 deduped
│ │ │ │ │ ├── lodash.memoize@4.1.2
│ │ │ │ │ └── lodash.uniq@4.5.0
│ │ │ │ ├─┬ postcss@5.2.18
│ │ │ │ │ ├─┬ chalk@1.1.3
│ │ │ │ │ │ ├── ansi-styles@2.2.1
│ │ │ │ │ │ ├── escape-string-regexp@1.0.5 deduped
│ │ │ │ │ │ ├── has-ansi@2.0.0 deduped
│ │ │ │ │ │ ├─┬ strip-ansi@3.0.1
│ │ │ │ │ │ │ └── ansi-regex@2.1.1 deduped
│ │ │ │ │ │ └── supports-color@2.0.0
│ │ │ │ │ ├── js-base64@2.4.3 deduped
│ │ │ │ │ ├── source-map@0.5.7 deduped
│ │ │ │ │ └���┬ supports-color@3.2.3
│ │ │ │ │   └── has-flag@1.0.0
│ │ │ │ ├── postcss-selector-parser@2.2.3 deduped
│ │ │ │ └── vendors@1.0.2
│ │ │ ├─┬ postcss-minify-font-values@1.0.5
│ │ │ │ ├── object-assign@4.1.1 deduped
│ │ │ │ ├─┬ postcss@5.2.18
│ │ │ │ │ ├─┬ chalk@1.1.3
│ │ │ │ │ │ ├── ansi-styles@2.2.1
│ │ │ │ │ │ ├── escape-string-regexp@1.0.5 deduped
│ │ │ │ │ │ ├── has-ansi@2.0.0 deduped
│ │ │ │ │ │ ├─┬ strip-ansi@3.0.1
│ │ │ │ │ │ │ └── ansi-regex@2.1.1 deduped
│ │ │ │ │ │ └── supports-color@2.0.0
│ │ │ │ │ ├── js-base64@2.4.3 deduped
│ │ │ │ │ ├── source-map@0.5.7 deduped
│ │ │ │ │ └─┬ supports-color@3.2.3
│ │ │ │ │   └── has-flag@1.0.0
│ │ │ │ └── postcss-value-parser@3.3.0 deduped
│ │ │ ├─┬ postcss-minify-gradients@1.0.5
│ │ │ │ ├─┬ postcss@5.2.18
│ │ │ │ │ ├─┬ chalk@1.1.3
│ │ │ │ │ │ ├── ansi-styles@2.2.1
│ │ │ │ │ │ ├── escape-string-regexp@1.0.5 deduped
│ │ │ │ │ │ ├── has-ansi@2.0.0 deduped
│ │ │ │ │ │ ├─┬ strip-ansi@3.0.1
│ │ │ │ │ │ │ └── ansi-regex@2.1.1 deduped
│ │ │ │ │ │ └── supports-color@2.0.0
│ │ │ │ │ ├── js-base64@2.4.3 deduped
│ │ │ │ │ ├── source-map@0.5.7 deduped
│ │ │ │ │ └─┬ supports-color@3.2.3
│ │ │ │ │   └── has-flag@1.0.0
│ │ │ │ └── postcss-value-parser@3.3.0 deduped
│ │ │ ├─┬ postcss-minify-params@1.2.2
│ │ │ │ ├── alphanum-sort@1.0.2
│ │ │ │ ├─┬ postcss@5.2.18
│ │ │ │ │ ├─┬ chalk@1.1.3
│ │ │ │ │ │ ├── ansi-styles@2.2.1
│ │ │ │ │ │ ├── escape-string-regexp@1.0.5 deduped
│ │ │ │ │ │ ├── has-ansi@2.0.0 deduped
│ │ │ │ │ │ ├─┬ strip-ansi@3.0.1
│ │ │ │ │ │ │ └── ansi-regex@2.1.1 deduped
│ │ │ │ │ │ └── supports-color@2.0.0
│ │ │ │ │ ├── js-base64@2.4.3 deduped
│ │ │ │ │ ├── source-map@0.5.7 deduped
│ │ │ │ │ └─┬ supports-color@3.2.3
│ │ │ │ │   └── has-flag@1.0.0
│ │ │ │ ├── postcss-value-parser@3.3.0 deduped
│ │ │ │ └── uniqs@2.0.0 deduped
│ │ │ ├─┬ postcss-minify-selectors@2.1.1
│ │ │ │ ├── alphanum-sort@1.0.2 deduped
│ │ │ │ ├── has@1.0.1 deduped
│ │ │ │ ├─┬ postcss@5.2.18
│ │ │ │ │ ├─┬ chalk@1.1.3
│ │ │ │ │ │ ├── ansi-styles@2.2.1
│ │ │ │ │ │ ├── escape-string-regexp@1.0.5 deduped
│ │ │ │ │ │ ├── has-ansi@2.0.0 deduped
│ │ │ │ │ │ ├─┬ strip-ansi@3.0.1
│ │ │ │ │ │ │ └── ansi-regex@2.1.1 deduped
│ │ │ │ │ │ └── supports-color@2.0.0
│ │ │ │ │ ├── js-base64@2.4.3 deduped
│ │ │ │ │ ├── source-map@0.5.7 deduped
│ │ │ │ │ └─┬ supports-color@3.2.3
│ │ │ │ │   └── has-flag@1.0.0
│ │ │ │ └── postcss-selector-parser@2.2.3 deduped
│ │ │ ├─┬ postcss-normalize-charset@1.1.1
│ │ │ │ └─┬ postcss@5.2.18
│ │ │ │   ├─┬ chalk@1.1.3
│ │ │ │   │ ├── ansi-styles@2.2.1
│ │ │ │   │ ├── escape-string-regexp@1.0.5 deduped
│ │ │ │   │ ├── has-ansi@2.0.0 deduped
│ │ │ │   │ ├─┬ strip-ansi@3.0.1
│ │ │ │   │ │ └── ansi-regex@2.1.1 deduped
│ │ │ │   │ └── supports-color@2.0.0
│ │ │ │   ├── js-base64@2.4.3 deduped
│ │ │ │   ├── source-map@0.5.7 deduped
│ │ │ │   └─┬ supports-color@3.2.3
│ │ │ │     └── has-flag@1.0.0
│ │ │ ├─┬ postcss-normalize-url@3.0.8
│ │ │ │ ├── is-absolute-url@2.1.0
│ │ │ │ ├─┬ normalize-url@1.9.1
│ │ │ │ │ ├── object-assign@4.1.1 deduped
│ │ │ │ │ ├── prepend-http@1.0.4 deduped
│ │ │ │ │ ├─┬ query-string@4.3.4
│ │ │ │ │ │ ├── object-assign@4.1.1 deduped
│ │ │ │ │ │ └── strict-uri-encode@1.1.0
│ │ │ │ │ └─┬ sort-keys@1.1.2
│ │ │ │ │   └── is-plain-obj@1.1.0 deduped
│ │ │ │ ├─┬ postcss@5.2.18
│ │ │ │ │ ├─┬ chalk@1.1.3
│ │ │ │ │ │ ├── ansi-styles@2.2.1
│ │ │ │ │ │ ├── escape-string-regexp@1.0.5 deduped
│ │ │ │ │ │ ├── has-ansi@2.0.0 deduped
│ │ │ │ │ │ ├─┬ strip-ansi@3.0.1
│ │ │ │ │ │ │ └── ansi-regex@2.1.1 deduped
│ │ │ │ │ │ └── supports-color@2.0.0
│ │ │ │ │ ├── js-base64@2.4.3 deduped
│ │ │ │ │ ├── source-map@0.5.7 deduped
│ │ │ │ │ └─┬ supports-color@3.2.3
│ │ │ │ │   └── has-flag@1.0.0
│ │ │ │ └── postcss-value-parser@3.3.0 deduped
│ │ │ ├─┬ postcss-ordered-values@2.2.3
│ │ │ │ ├─┬ postcss@5.2.18
│ │ │ │ │ ├─┬ chalk@1.1.3
│ │ │ │ │ │ ├── ansi-styles@2.2.1
│ │ │ │ │ │ ├── escape-string-regexp@1.0.5 deduped
│ │ │ │ │ │ ├── has-ansi@2.0.0 deduped
│ │ │ │ │ │ ├─┬ strip-ansi@3.0.1
│ │ │ │ │ │ │ └── ansi-regex@2.1.1 deduped
│ │ │ │ │ │ └── supports-color@2.0.0
│ │ │ │ │ ├── js-base64@2.4.3 deduped
│ │ │ │ │ ├── source-map@0.5.7 deduped
│ │ │ │ │ └─┬ supports-color@3.2.3
│ │ │ │ │   └── has-flag@1.0.0
│ │ │ │ └── postcss-value-parser@3.3.0 deduped
│ │ │ ├─┬ postcss-reduce-idents@2.4.0
│ │ │ │ ├─┬ postcss@5.2.18
│ │ │ │ │ ├─┬ chalk@1.1.3
│ │ │ │ │ │ ├── ansi-styles@2.2.1
│ │ │ │ │ │ ├── escape-string-regexp@1.0.5 deduped
│ │ │ │ │ │ ├── has-ansi@2.0.0 deduped
│ │ │ │ │ │ ├─┬ strip-ansi@3.0.1
│ │ │ │ │ │ │ └── ansi-regex@2.1.1 deduped
│ │ │ │ │ │ └── supports-color@2.0.0
│ │ │ │ │ ├── js-base64@2.4.3 deduped
│ │ │ │ │ ├── source-map@0.5.7 deduped
│ │ │ │ │ └─┬ supports-color@3.2.3
│ │ │ │ │   └── has-flag@1.0.0
│ │ │ │ └── postcss-value-parser@3.3.0 deduped
│ │ │ ├─┬ postcss-reduce-initial@1.0.1
│ │ │ │ └─┬ postcss@5.2.18
│ │ │ │   ├─┬ chalk@1.1.3
│ │ │ │   │ ├── ansi-styles@2.2.1
│ │ │ │   │ ├── escape-string-regexp@1.0.5 deduped
│ │ │ │   │ ├── has-ansi@2.0.0 deduped
│ │ │ │   │ ├─┬ strip-ansi@3.0.1
│ │ │ │   │ │ └── ansi-regex@2.1.1 deduped
│ │ │ │   │ └── supports-color@2.0.0
│ │ │ │   ├── js-base64@2.4.3 deduped
│ │ │ │   ├── source-map@0.5.7 deduped
│ │ │ │   └─┬ supports-color@3.2.3
│ │ │ │     └── has-flag@1.0.0
│ │ │ ├─┬ postcss-reduce-transforms@1.0.4
│ │ │ │ ├── has@1.0.1 deduped
│ │ │ │ ├─┬ postcss@5.2.18
│ │ │ │ │ ├─┬ chalk@1.1.3
│ │ │ │ │ │ ├── ansi-styles@2.2.1
│ │ │ │ │ │ ├── escape-string-regexp@1.0.5 deduped
│ │ │ │ │ │ ├── has-ansi@2.0.0 deduped
│ │ │ │ │ │ ├─┬ strip-ansi@3.0.1
│ │ │ │ │ │ │ └── ansi-regex@2.1.1 deduped
│ │ │ │ │ │ └── supports-color@2.0.0
│ │ │ │ │ ├── js-base64@2.4.3 deduped
│ │ │ │ │ ├── source-map@0.5.7 deduped
│ │ │ │ │ └─┬ supports-color@3.2.3
│ │ │ │ │   └── has-flag@1.0.0
│ │ │ │ └── postcss-value-parser@3.3.0 deduped
│ │ │ ├─┬ postcss-svgo@2.1.6
│ │ │ │ ├─┬ is-svg@2.1.0
│ │ │ │ │ └── html-comment-regex@1.1.1
│ │ │ │ ├─┬ postcss@5.2.18
│ │ │ │ │ ├─┬ chalk@1.1.3
│ │ │ │ │ │ ├── ansi-styles@2.2.1
│ │ │ │ │ │ ├── escape-string-regexp@1.0.5 deduped
│ │ │ │ │ │ ├── has-ansi@2.0.0 deduped
│ │ │ │ │ │ ├─┬ strip-ansi@3.0.1
│ │ │ │ │ │ │ └── ansi-regex@2.1.1 deduped
│ │ │ │ │ │ └── supports-color@2.0.0
│ │ │ │ │ ├── js-base64@2.4.3 deduped
│ │ │ │ │ ├── source-map@0.5.7 deduped
│ │ │ │ │ └─┬ supports-color@3.2.3
│ ��� │ │ │   └── has-flag@1.0.0
│ │ │ │ ├── postcss-value-parser@3.3.0 deduped
│ │ │ │ └─┬ svgo@0.7.2
│ │ │ │   ├─┬ coa@1.0.4
│ │ │ │   │ └── q@1.5.1 deduped
│ │ │ │   ├── colors@1.1.2
│ │ │ │   ├─┬ csso@2.3.2
│ │ │ │   │ ├─┬ clap@1.2.3
│ │ │ │   │ │ └─┬ chalk@1.1.3
│ │ │ │   │ │   ├── ansi-styles@2.2.1
│ │ │ │   │ │   ├── escape-string-regexp@1.0.5 deduped
│ │ │ │   │ │   ├── has-ansi@2.0.0 deduped
│ │ │ │   │ │   ├─┬ strip-ansi@3.0.1
│ │ │ │   │ │   │ └── ansi-regex@2.1.1 deduped
│ │ │ │   │ │   └── supports-color@2.0.0
│ │ │ │   │ └── source-map@0.5.7 deduped
│ │ │ │   ├─┬ js-yaml@3.7.0
│ │ │ │   │ ├── argparse@1.0.10 deduped
│ │ │ │   │ └── esprima@2.7.3
│ │ │ │   ├── mkdirp@0.5.1 deduped
│ │ │ │   ├── sax@1.2.4 deduped
│ │ │ │   └── whet.extend@0.9.9
│ │ │ ├─┬ postcss-unique-selectors@2.0.2
│ │ │ │ ├── alphanum-sort@1.0.2 deduped
│ │ │ │ ├─┬ postcss@5.2.18
│ │ │ │ │ ├─┬ chalk@1.1.3
│ │ │ │ │ │ ├── ansi-styles@2.2.1
│ │ │ │ │ │ ├── escape-string-regexp@1.0.5 deduped
│ │ │ │ │ │ ├── has-ansi@2.0.0 deduped
│ │ │ │ │ │ ├─┬ strip-ansi@3.0.1
│ │ │ │ │ │ │ └── ansi-regex@2.1.1 deduped
│ │ │ │ │ │ └── supports-color@2.0.0
│ │ │ │ │ ├── js-base64@2.4.3 deduped
│ │ │ │ │ ├── source-map@0.5.7 deduped
│ │ │ │ │ └─┬ supports-color@3.2.3
│ │ │ │ │   └── has-flag@1.0.0
│ │ │ │ └── uniqs@2.0.0 deduped
│ │ │ ├── postcss-value-parser@3.3.0 deduped
│ │ │ └─┬ postcss-zindex@2.2.0
│ │ │   ├── has@1.0.1 deduped
│ │ │   ├─┬ postcss@5.2.18
│ │ │   │ ├─┬ chalk@1.1.3
│ │ │   │ │ ├── ansi-styles@2.2.1
│ │ │   │ │ ├── escape-string-regexp@1.0.5 deduped
│ │ │   │ │ ├── has-ansi@2.0.0 deduped
│ │ │   │ │ ├─┬ strip-ansi@3.0.1
│ │ │   │ │ │ └── ansi-regex@2.1.1 deduped
│ │ │   │ │ └── supports-color@2.0.0
│ │ │   │ ├── js-base64@2.4.3 deduped
│ │ │   │ ├── source-map@0.5.7 deduped
│ │ │   │ └─┬ supports-color@3.2.3
│ │ │   │   └── has-flag@1.0.0
│ │ │   └── uniqs@2.0.0 deduped
│ │ ├─┬ icss-utils@2.1.0
│ │ │ └── postcss@6.0.22 deduped
│ │ ├── loader-utils@1.1.0 deduped
│ │ ├── lodash.camelcase@4.3.0
│ │ ├── object-assign@4.1.1 deduped
│ │ ├─┬ postcss@5.2.18
│ │ │ ├─┬ chalk@1.1.3
│ │ │ │ ├── ansi-styles@2.2.1
│ │ │ │ ├── escape-string-regexp@1.0.5 deduped
│ │ │ │ ├── has-ansi@2.0.0 deduped
│ │ │ │ ├─┬ strip-ansi@3.0.1
│ │ │ │ │ └── ansi-regex@2.1.1 deduped
│ │ │ │ └── supports-color@2.0.0
│ │ │ ├── js-base64@2.4.3
│ │ │ ├── source-map@0.5.7 deduped
│ │ │ └─┬ supports-color@3.2.3
│ │ │   └── has-flag@1.0.0
│ │ ├─┬ postcss-modules-extract-imports@1.2.0
│ │ │ └── postcss@6.0.22 deduped
│ │ ├─┬ postcss-modules-local-by-default@1.2.0
│ │ │ ├── css-selector-tokenizer@0.7.0 deduped
│ │ │ └── postcss@6.0.22 deduped
│ │ ├─┬ postcss-modules-scope@1.1.0
│ │ │ ├── css-selector-tokenizer@0.7.0 deduped
│ │ │ └── postcss@6.0.22 deduped
│ │ ├─┬ postcss-modules-values@1.3.0
│ │ │ ├── icss-replace-symbols@1.1.0
│ │ │ └── postcss@6.0.22 deduped
│ │ ├── postcss-value-parser@3.3.0 deduped
│ │ └── source-list-map@2.0.0
│ ├── escape-string-regexp@1.0.5
│ ├─┬ file-loader@1.1.11
│ │ ├── loader-utils@1.1.0 deduped
│ │ └── schema-utils@0.4.5 deduped
│ ├─┬ friendly-errors-webpack-plugin@1.7.0
│ │ ├─┬ chalk@1.1.3
│ │ │ ├── ansi-styles@2.2.1
│ │ │ ├── escape-string-regexp@1.0.5 deduped
│ │ │ ├── has-ansi@2.0.0 deduped
│ │ │ ├─┬ strip-ansi@3.0.1
│ │ │ │ └── ansi-regex@2.1.1 deduped
│ │ │ └── supports-color@2.0.0
│ │ ├─┬ error-stack-parser@2.0.1
│ │ │ └── stackframe@1.0.4
│ │ └── string-width@2.1.1 deduped
│ ├─┬ fs-extra@6.0.1
│ │ ├── graceful-fs@4.1.11 deduped
│ │ ├─┬ jsonfile@4.0.0
│ │ │ └── graceful-fs@4.1.11 deduped
│ │ └── universalify@0.1.1
│ ├─┬ get-value@3.0.1
│ │ └── isobject@3.0.1
│ ├─┬ globby@8.0.1
│ │ ├─┬ array-union@1.0.2
│ │ │ └── array-uniq@1.0.3
│ │ ├─┬ dir-glob@2.0.0
│ │ │ ├── arrify@1.0.1 deduped
│ │ │ └── path-type@3.0.0 deduped
│ │ ├─┬ fast-glob@2.2.1
│ │ │ ├─┬ @mrmlnc/readdir-enhanced@2.2.1
│ │ │ │ ├── call-me-maybe@1.0.1
│ │ │ │ └── glob-to-regexp@0.3.0
│ │ │ ├── glob-parent@3.1.0 deduped
│ │ │ ├── is-glob@4.0.0 deduped
│ │ │ ├── merge2@1.2.2
│ │ │ └── micromatch@3.1.10 deduped
│ │ ├── glob@7.1.2 deduped
│ │ ├── ignore@3.3.8 deduped
│ │ ├── pify@3.0.0
│ │ └── slash@1.0.0
│ ├─┬ html-webpack-plugin@3.2.0
│ │ ├─┬ html-minifier@3.5.15
│ │ │ ├─┬ camel-case@3.0.0
│ │ │ │ ├─┬ no-case@2.3.2
│ │ │ │ │ └── lower-case@1.1.4
│ │ │ │ └── upper-case@1.1.3
│ │ │ ├─┬ clean-css@4.1.11
│ │ │ │ └── source-map@0.5.7 deduped
│ │ │ ├── commander@2.15.1 deduped
│ │ │ ├── he@1.1.1 deduped
│ │ │ ├─┬ param-case@2.1.1
│ │ │ │ └── no-case@2.3.2 deduped
│ │ │ ├── relateurl@0.2.7
│ │ │ └─┬ uglify-js@3.3.24
│ │ │   ├── commander@2.15.1 deduped
│ │ │   └── source-map@0.6.1
│ │ ├─┬ loader-utils@0.2.17
│ │ │ ├── big.js@3.2.0 deduped
│ │ │ ├── emojis-list@2.1.0 deduped
│ │ │ ├── json5@0.5.1 deduped
│ │ │ └── object-assign@4.1.1 deduped
│ │ ├── lodash@4.17.10 deduped
│ │ ├─┬ pretty-error@2.1.1
│ │ │ ├─┬ renderkid@2.0.1
│ │ │ │ ├─┬ css-select@1.2.0
│ │ │ │ │ ├── boolbase@1.0.0
│ │ │ │ │ ├── css-what@2.1.0
│ │ │ │ │ ├─┬ domutils@1.5.1
│ │ │ │ │ │ ├─┬ dom-serializer@0.1.0
│ │ │ │ │ │ │ ├── domelementtype@1.1.3
│ │ │ │ │ │ │ └── entities@1.1.1
│ │ │ │ │ │ └── domelementtype@1.3.0 deduped
│ │ │ │ │ └─┬ nth-check@1.0.1
│ │ │ │ │   └── boolbase@1.0.0 deduped
│ │ │ │ ├─┬ dom-converter@0.1.4
│ │ │ │ │ └── utila@0.3.3
│ │ │ │ ├─┬ htmlparser2@3.3.0
│ │ │ │ │ ├── domelementtype@1.3.0
│ │ │ │ │ ├─┬ domhandler@2.1.0
│ │ │ │ │ │ └── domelementtype@1.3.0 deduped
│ │ │ │ │ ├─┬ domutils@1.1.6
│ │ │ │ │ │ └── domelementtype@1.3.0 deduped
│ │ │ │ │ └─┬ readable-stream@1.0.34
│ │ │ │ │   ├── core-util-is@1.0.2 deduped
│ │ │ │ │   ├── inherits@2.0.3 deduped
│ │ │ │ │   ├── isarray@0.0.1
│ │ │ │ │   └── string_decoder@0.10.31
│ │ │ │ ├─┬ strip-ansi@3.0.1
│ │ │ │ │ └── ansi-regex@2.1.1 deduped
│ │ │ │ └── utila@0.3.3
│ │ │ └── utila@0.4.0
│ │ ├── tapable@1.0.0
│ │ ├── toposort@1.0.7
│ │ └─┬ util.promisify@1.0.0
│ │   ├── define-properties@1.1.2 deduped
│ │   └─┬ object.getownpropertydescriptors@2.0.3
│ │     ├── define-properties@1.1.2 deduped
│ │     └── es-abstract@1.11.0 deduped
│ ├── javascript-stringify@1.6.0
│ ├─┬ launch-editor-middleware@2.2.1
│ │ └─┬ launch-editor@2.2.1
│ │   ├── chalk@2.4.1 deduped
│ │   └─┬ shell-quote@1.6.1
│ │     ├── array-filter@0.0.1
│ │     ├── array-map@0.0.0
│ │     ├── array-reduce@0.0.0
│ │     └── jsonify@0.0.0
│ ├── lodash.defaultsdeep@4.6.0
│ ├─┬ mini-css-extract-plugin@0.4.0
│ │ ├── loader-utils@1.1.0 deduped
│ │ └─┬ webpack-sources@1.1.0
│ │   ├── source-list-map@2.0.0 deduped
│ │   └── source-map@0.6.1
│ ├── minimist@1.2.0
│ ├─┬ optimize-css-assets-webpack-plugin@4.0.1
│ │ ├── cssnano@3.10.0 deduped
│ │ └─┬ last-call-webpack-plugin@3.0.0
│ │   ├── lodash@4.17.10 deduped
│ │   └── webpack-sources@1.1.0 deduped
│ ├─┬ ora@2.1.0
│ │ ├── chalk@2.4.1 deduped
│ │ ├─┬ cli-cursor@2.1.0
│ │ │ └─┬ restore-cursor@2.0.0
│ │ │   ├─┬ onetime@2.0.1
│ │ │   │ └── mimic-fn@1.2.0 deduped
│ │ │   └── signal-exit@3.0.2 deduped
│ │ ├── cli-spinners@1.3.1
│ │ ├─┬ log-symbols@2.2.0
│ │ │ └── chalk@2.4.1 deduped
│ │ ├── strip-ansi@4.0.0 deduped
│ │ └─┬ wcwidth@1.0.1
│ │   └─┬ defaults@1.0.3
│ │     └── clone@1.0.4 deduped
│ ├─┬ portfinder@1.0.13
│ │ ├── async@1.5.2 deduped
│ │ ├─┬ debug@2.6.9
│ │ │ └── ms@2.0.0 deduped
│ │ └── mkdirp@0.5.1 deduped
│ ├─┬ postcss-loader@2.1.5
│ │ ├── loader-utils@1.1.0 deduped
│ │ ├── postcss@6.0.22 deduped
│ │ ├─┬ postcss-load-config@1.2.0
│ │ │ ├─┬ cosmiconfig@2.2.2
│ │ │ │ ├── is-directory@0.3.1 deduped
│ │ │ │ ├── js-yaml@3.11.0 deduped
│ │ │ │ ├── minimist@1.2.0
│ │ │ │ ├── object-assign@4.1.1 deduped
│ │ │ │ ���── os-homedir@1.0.2 deduped
│ │ │ │ ├─┬ parse-json@2.2.0
│ │ │ │ │ └── error-ex@1.3.1 deduped
│ │ │ │ └── require-from-string@1.2.1
│ │ │ ├── object-assign@4.1.1 deduped
│ │ │ ├─┬ postcss-load-options@1.2.0
│ │ │ │ ├── cosmiconfig@2.2.2 deduped
│ │ │ │ └── object-assign@4.1.1 deduped
│ │ │ └─┬ postcss-load-plugins@2.3.0
│ │ │   ├── cosmiconfig@2.2.2 deduped
│ │ │   └── object-assign@4.1.1 deduped
│ │ └── schema-utils@0.4.5 deduped
│ ├─┬ preload-webpack-plugin@3.0.0-alpha.3
│ │ └─┬ @babel/runtime@7.0.0-beta.46
│ │   ├── core-js@2.5.6 deduped
│ │   └── regenerator-runtime@0.11.1 deduped
│ ├─┬ read-pkg@3.0.0
│ │ ├── load-json-file@4.0.0 deduped
│ │ ├─┬ normalize-package-data@2.4.0
│ │ │ ├── hosted-git-info@2.6.0 deduped
│ │ │ ├─┬ is-builtin-module@1.0.0
│ │ │ │ └── builtin-modules@1.1.1
│ │ │ ├── semver@5.5.0 deduped
│ │ │ └─┬ validate-npm-package-license@3.0.3
│ │ │   ├─┬ spdx-correct@3.0.0
│ │ │   │ ├── spdx-expression-parse@3.0.0 deduped
│ │ │   │ └── spdx-license-ids@3.0.0
│ │ │   └─┬ spdx-expression-parse@3.0.0
│ │ │     ├── spdx-exceptions@2.1.0
│ │ │     └── spdx-license-ids@3.0.0 deduped
│ │ └─┬ path-type@3.0.0
│ │   └── pify@3.0.0
│ ├── semver@5.5.0
│ ├── slash@2.0.0
│ ├── source-map-url@0.4.0
│ ├─┬ string.prototype.padend@3.0.0
│ │ ├─┬ define-properties@1.1.2
│ │ │ ├── foreach@2.0.5
│ │ │ └── object-keys@1.0.11
│ │ ├─┬ es-abstract@1.11.0
│ │ │ ├─┬ es-to-primitive@1.1.1
│ │ │ │ ├── is-callable@1.1.3 deduped
│ │ │ │ ├── is-date-object@1.0.1
│ │ │ │ └── is-symbol@1.0.1
│ │ │ ├── function-bind@1.1.1 deduped
│ │ │ ├── has@1.0.1 deduped
│ │ │ ├── is-callable@1.1.3
│ │ │ └─┬ is-regex@1.0.4
│ │ │   └── has@1.0.1 deduped
│ │ └── function-bind@1.1.1
│ ├─┬ thread-loader@1.1.5
│ │ ├─┬ async@2.6.0
│ │ │ └── lodash@4.17.10 deduped
│ │ ├── loader-runner@2.3.0
│ │ └── loader-utils@1.1.0 deduped
│ ├─┬ uglifyjs-webpack-plugin@1.2.5
│ │ ├── cacache@10.0.4 deduped
│ │ ├─┬ find-cache-dir@1.0.0
│ │ │ ├── commondir@1.0.1 deduped
│ │ │ ├── make-dir@1.3.0 deduped
│ │ │ └─┬ pkg-dir@2.0.0
│ │ │   └─┬ find-up@2.1.0
│ │ │     └── locate-path@2.0.0 deduped
│ │ ├── schema-utils@0.4.5 deduped
│ │ ├── serialize-javascript@1.5.0 deduped
│ │ ├── source-map@0.6.1
│ │ ├─┬ uglify-es@3.3.9
│ │ │ ├── commander@2.13.0
│ │ │ └── source-map@0.6.1 deduped
│ │ ├── webpack-sources@1.1.0 deduped
│ │ └─┬ worker-farm@1.6.0
│ │   └─┬ errno@0.1.7
│ │     └── prr@1.0.1
│ ├─┬ url-loader@1.0.1
│ │ ├── loader-utils@1.1.0 deduped
│ │ ├── mime@2.3.1
│ │ └── schema-utils@0.4.5 deduped
│ ├─┬ vue-loader@15.0.10
│ │ ├─┬ @vue/component-compiler-utils@1.2.1
│ │ │ ├── consolidate@0.15.1 deduped
│ │ │ ├── hash-sum@1.0.2 deduped
│ │ │ ├── lru-cache@4.1.3 deduped
│ │ │ ├─┬ merge-source-map@1.1.0
│ │ │ │ └── source-map@0.6.1
│ │ │ ├── postcss@6.0.22 deduped
│ │ │ ├─┬ postcss-selector-parser@3.1.1
│ │ │ │ ├─┬ dot-prop@4.2.0
│ │ │ │ │ └── is-obj@1.0.1
│ │ │ │ ├── indexes-of@1.0.1 deduped
│ │ │ │ └── uniq@1.0.1 deduped
│ │ │ ├── prettier@1.12.1 deduped
│ │ │ ├── source-map@0.5.7 deduped
│ │ │ └── vue-template-es2015-compiler@1.6.0 deduped
│ │ ├── hash-sum@1.0.2
│ │ ├── loader-utils@1.1.0 deduped
│ │ ├── vue-hot-reload-api@2.3.0
│ │ └── vue-style-loader@4.1.0 deduped
│ ├─┬ vue-template-compiler@2.5.16
│ │ ├── de-indent@1.0.2
│ │ └── he@1.1.1
│ ├─┬ webpack@4.8.2
│ │ ├─┬ @webassemblyjs/ast@1.4.2
│ │ │ ├── @webassemblyjs/helper-wasm-bytecode@1.4.2
│ │ │ ├─┬ @webassemblyjs/wast-parser@1.4.2
│ │ │ │ ├── @webassemblyjs/ast@1.4.2 deduped
│ │ │ │ ├── @webassemblyjs/floating-point-hex-parser@1.4.2
│ │ │ │ ├─┬ @webassemblyjs/helper-code-frame@1.4.2
│ │ │ │ │ └── @webassemblyjs/wast-printer@1.4.2 deduped
│ │ │ │ ├── @webassemblyjs/helper-fsm@1.4.2
│ │ │ │ ├── long@3.2.0
│ │ │ │ └── webassemblyjs@1.4.2 deduped
│ │ │ ├── debug@3.1.0 deduped
│ │ │ └─┬ webassemblyjs@1.4.2
│ │ │   ├── @webassemblyjs/ast@1.4.2 deduped
│ │ │   ├─┬ @webassemblyjs/validation@1.4.2
│ │ │   │ └── @webassemblyjs/ast@1.4.2 deduped
│ │ │   ├── @webassemblyjs/wasm-parser@1.4.2 deduped
│ │ │   ├── @webassemblyjs/wast-parser@1.4.2 deduped
│ │ │   └── long@3.2.0 deduped
│ │ ├─┬ @webassemblyjs/wasm-edit@1.4.2
│ │ │ ├── @webassemblyjs/ast@1.4.2 deduped
│ │ │ ├── @webassemblyjs/helper-buffer@1.4.2
│ │ │ ├── @webassemblyjs/helper-wasm-bytecode@1.4.2 deduped
│ │ │ ├─┬ @webassemblyjs/helper-wasm-section@1.4.2
│ │ │ │ ├── @webassemblyjs/ast@1.4.2 deduped
│ │ │ │ ├── @webassemblyjs/helper-buffer@1.4.2 deduped
│ │ │ │ ├── @webassemblyjs/helper-wasm-bytecode@1.4.2 deduped
│ │ │ │ └── @webassemblyjs/wasm-gen@1.4.2 deduped
│ │ │ ├─┬ @webassemblyjs/wasm-gen@1.4.2
│ │ │ │ ├── @webassemblyjs/ast@1.4.2 deduped
│ │ │ │ ├── @webassemblyjs/helper-wasm-bytecode@1.4.2 deduped
│ │ │ │ └── @webassemblyjs/leb128@1.4.2 deduped
│ │ │ ├─┬ @webassemblyjs/wasm-opt@1.4.2
│ │ │ │ ├── @webassemblyjs/ast@1.4.2 deduped
│ │ │ │ ├── @webassemblyjs/helper-buffer@1.4.2 deduped
│ │ │ │ ├── @webassemblyjs/wasm-gen@1.4.2 deduped
│ │ │ │ └── @webassemblyjs/wasm-parser@1.4.2 deduped
│ │ │ ├── @webassemblyjs/wasm-parser@1.4.2 deduped
│ │ │ ├─┬ @webassemblyjs/wast-printer@1.4.2
│ │ │ │ ├── @webassemblyjs/ast@1.4.2 deduped
│ │ │ │ ├── @webassemblyjs/wast-parser@1.4.2 deduped
│ │ │ │ └── long@3.2.0 deduped
│ │ │ └── debug@3.1.0 deduped
│ │ ├─┬ @webassemblyjs/wasm-parser@1.4.2
│ │ │ ├── @webassemblyjs/ast@1.4.2 deduped
│ │ │ ├── @webassemblyjs/helper-wasm-bytecode@1.4.2 deduped
│ │ │ ├─┬ @webassemblyjs/leb128@1.4.2
│ │ │ │ └── leb@0.3.0
│ │ │ ├── @webassemblyjs/wasm-parser@1.4.2 deduped
│ │ │ └── webassemblyjs@1.4.2 deduped
│ │ ├── acorn@5.5.3
│ │ ├─┬ acorn-dynamic-import@3.0.0
│ │ │ └── acorn@5.5.3 deduped
│ │ ├─┬ ajv@6.5.0
│ │ │ ├── fast-deep-equal@2.0.1
│ │ │ ├── fast-json-stable-stringify@2.0.0 deduped
│ │ │ ├── json-schema-traverse@0.3.1 deduped
│ │ │ └─┬ uri-js@4.2.1
│ │ │   └── punycode@2.1.0 deduped
│ │ ├── ajv-keywords@3.2.0
│ │ ├── chrome-trace-event@0.1.3
│ │ ├─┬ enhanced-resolve@4.0.0
│ │ │ ├── graceful-fs@4.1.11 deduped
│ │ │ ├── memory-fs@0.4.1 deduped
│ │ │ └── tapable@1.0.0 deduped
│ │ ├── eslint-scope@3.7.1 deduped
│ │ ├── loader-runner@2.3.0 deduped
│ │ ├── loader-utils@1.1.0 deduped
│ │ ├─┬ memory-fs@0.4.1
│ │ │ ├── errno@0.1.7 deduped
│ │ │ └── readable-stream@2.3.6 deduped
│ │ ├─┬ micromatch@3.1.10
│ │ │ ├── arr-diff@4.0.0
│ │ │ ├── array-unique@0.3.2
│ │ │ ├─┬ braces@2.3.2
│ │ │ │ ├── arr-flatten@1.1.0
│ │ │ │ ├── array-unique@0.3.2 deduped
│ │ │ │ ├─┬ extend-shallow@2.0.1
│ │ │ │ │ └── is-extendable@0.1.1 deduped
│ │ │ │ ├─┬ fill-range@4.0.0
│ │ │ │ │ ├─┬ extend-shallow@2.0.1
│ │ │ │ │ │ └── is-extendable@0.1.1 deduped
│ │ │ │ │ ├─┬ is-number@3.0.0
│ │ │ │ │ │ └─┬ kind-of@3.2.2
│ │ │ │ │ │   └── is-buffer@1.1.6 deduped
│ │ │ │ │ ├── repeat-string@1.6.1 deduped
│ │ │ │ │ └─┬ to-regex-range@2.1.1
│ │ │ │ │   ├── is-number@3.0.0 deduped
│ │ │ │ │   └── repeat-string@1.6.1 deduped
│ │ │ │ ├── isobject@3.0.1 deduped
│ │ │ │ ├── repeat-element@1.1.2
│ │ │ │ ├── snapdragon@0.8.2 deduped
│ │ │ │ ├─┬ snapdragon-node@2.1.1
│ │ │ │ │ ├─┬ define-property@1.0.0
│ │ │ │ │ │ └─┬ is-descriptor@1.0.2
│ │ │ │ │ │   ├─┬ is-accessor-descriptor@1.0.0
│ │ │ │ │ │   │ └── kind-of@6.0.2 deduped
│ │ │ │ │ │   ├─┬ is-data-descriptor@1.0.0
│ │ │ │ │ │   │ └── kind-of@6.0.2 deduped
│ │ │ │ │ │   └── kind-of@6.0.2 deduped
│ │ │ │ │ ├── isobject@3.0.1 deduped
│ │ │ │ │ └─┬ snapdragon-util@3.0.1
│ │ │ │ │   └─┬ kind-of@3.2.2
│ │ │ │ │     └── is-buffer@1.1.6 deduped
│ │ │ │ ├─┬ split-string@3.1.0
│ │ │ │ │ └── extend-shallow@3.0.2 deduped
│ │ │ │ └── to-regex@3.0.2 deduped
│ │ │ ├─┬ define-property@2.0.2
│ │ │ │ ├─┬ is-descriptor@1.0.2
│ │ │ │ │ ├─┬ is-accessor-descriptor@1.0.0
│ │ │ │ │ │ └── kind-of@6.0.2 deduped
│ │ │ │ │ ├─┬ is-data-descriptor@1.0.0
│ │ │ │ │ │ └── kind-of@6.0.2 deduped
│ │ │ ��� │ └── kind-of@6.0.2 deduped
│ │ │ │ └── isobject@3.0.1 deduped
│ │ │ ├─┬ extend-shallow@3.0.2
│ │ │ │ ├── assign-symbols@1.0.0
│ │ │ │ └─┬ is-extendable@1.0.1
│ │ │ │   └── is-plain-object@2.0.4 deduped
│ │ │ ├─┬ extglob@2.0.4
│ │ │ │ ├── array-unique@0.3.2 deduped
│ │ │ │ ├─┬ define-property@1.0.0
│ │ │ │ │ └─┬ is-descriptor@1.0.2
│ │ │ │ │   ├─┬ is-accessor-descriptor@1.0.0
│ │ │ │ │   │ └── kind-of@6.0.2 deduped
│ │ │ │ │   ├─┬ is-data-descriptor@1.0.0
│ │ │ │ │   │ └── kind-of@6.0.2 deduped
│ │ │ │ │   └── kind-of@6.0.2 deduped
│ │ │ │ ├─┬ expand-brackets@2.1.4
│ │ │ │ │ ├─┬ debug@2.6.9
│ │ │ │ │ │ └── ms@2.0.0 deduped
│ │ │ │ │ ├─┬ define-property@0.2.5
│ │ │ │ │ │ └── is-descriptor@0.1.6 deduped
│ │ │ │ │ ├─┬ extend-shallow@2.0.1
│ │ │ │ │ │ └── is-extendable@0.1.1 deduped
│ │ │ │ │ ├── posix-character-classes@0.1.1
│ │ │ │ │ ├── regex-not@1.0.2 deduped
│ │ │ │ │ ├── snapdragon@0.8.2 deduped
│ │ │ │ │ └── to-regex@3.0.2 deduped
│ │ │ │ ├─┬ extend-shallow@2.0.1
│ │ │ │ │ └── is-extendable@0.1.1 deduped
│ │ │ │ ├── fragment-cache@0.2.1 deduped
│ │ │ │ ├── regex-not@1.0.2 deduped
│ │ │ │ ├── snapdragon@0.8.2 deduped
│ │ │ │ └── to-regex@3.0.2 deduped
│ │ │ ├─┬ fragment-cache@0.2.1
│ │ │ │ └── map-cache@0.2.2
│ │ │ ├── kind-of@6.0.2
│ │ │ ├─┬ nanomatch@1.2.9
│ │ │ │ ├── arr-diff@4.0.0 deduped
│ │ │ │ ├── array-unique@0.3.2 deduped
│ │ │ │ ├── define-property@2.0.2 deduped
│ │ │ │ ├── extend-shallow@3.0.2 deduped
│ │ │ │ ├── fragment-cache@0.2.1 deduped
│ │ │ │ ├─┬ is-odd@2.0.0
│ │ │ │ │ └── is-number@4.0.0
│ │ │ │ ├── is-windows@1.0.2
│ │ │ │ ├── kind-of@6.0.2 deduped
│ │ │ │ ├── object.pick@1.3.0 deduped
│ │ │ │ ├── regex-not@1.0.2 deduped
│ │ │ │ ├── snapdragon@0.8.2 deduped
│ │ │ │ └── to-regex@3.0.2 deduped
│ │ │ ├─┬ object.pick@1.3.0
│ │ │ │ └── isobject@3.0.1 deduped
│ │ │ ├─┬ regex-not@1.0.2
│ │ │ │ ├── extend-shallow@3.0.2 deduped
│ │ │ │ └─┬ safe-regex@1.1.0
│ │ │ │   └── ret@0.1.15
│ │ │ ├─┬ snapdragon@0.8.2
│ │ │ │ ├─┬ base@0.11.2
│ │ │ │ │ ├─┬ cache-base@1.0.1
│ │ │ │ │ │ ├─┬ collection-visit@1.0.0
│ │ │ │ │ │ │ ├─┬ map-visit@1.0.0
│ │ │ │ │ │ │ │ └── object-visit@1.0.1 deduped
│ │ │ │ │ │ │ └─┬ object-visit@1.0.1
│ │ │ │ │ │ │   └── isobject@3.0.1 deduped
│ │ │ │ │ │ ├── component-emitter@1.2.1 deduped
│ │ │ │ │ │ ├── get-value@2.0.6
│ │ │ │ │ │ ├─┬ has-value@1.0.0
│ │ │ │ │ │ │ ├── get-value@2.0.6
│ │ │ │ │ │ │ ├─┬ has-values@1.0.0
│ │ │ │ │ │ │ │ ├── is-number@3.0.0 deduped
│ │ │ │ │ │ │ │ └─┬ kind-of@4.0.0
│ │ │ │ │ │ │ │   └── is-buffer@1.1.6 deduped
│ │ │ │ │ │ │ └── isobject@3.0.1 deduped
│ │ │ │ │ │ ├── isobject@3.0.1 deduped
│ │ │ │ │ │ ├─┬ set-value@2.0.0
│ │ │ │ │ │ │ ├─┬ extend-shallow@2.0.1
│ │ │ │ │ │ │ │ └── is-extendable@0.1.1 deduped
│ │ │ │ │ │ │ ├── is-extendable@0.1.1 deduped
│ │ │ │ │ │ │ ├── is-plain-object@2.0.4 deduped
│ │ │ │ │ │ │ └── split-string@3.1.0 deduped
│ │ │ │ │ │ ├─┬ to-object-path@0.3.0
│ │ │ │ │ │ │ └─┬ kind-of@3.2.2
│ │ │ │ │ │ │   └── is-buffer@1.1.6 deduped
│ │ │ │ │ │ ├─┬ union-value@1.0.0
│ │ │ │ │ │ │ ├── arr-union@3.1.0 deduped
│ │ │ │ │ │ │ ├── get-value@2.0.6
│ │ │ │ │ │ │ ├── is-extendable@0.1.1 deduped
│ │ │ │ │ │ │ └─┬ set-value@0.4.3
│ │ │ │ │ │ │   ├─┬ extend-shallow@2.0.1
│ │ │ │ │ │ │   │ └── is-extendable@0.1.1 deduped
│ │ │ │ │ │ │   ├── is-extendable@0.1.1 deduped
│ │ │ │ │ │ │   ├── is-plain-object@2.0.4 deduped
│ │ │ │ │ │ │   └── to-object-path@0.3.0 deduped
│ │ │ │ │ │ └─┬ unset-value@1.0.0
│ │ │ │ │ │   ├─┬ has-value@0.3.1
│ │ │ │ │ │   │ ├── get-value@2.0.6
│ │ │ │ │ │   │ ├── has-values@0.1.4
│ │ │ │ │ │   │ └─┬ isobject@2.1.0
│ │ │ │ │ │   │   └── isarray@1.0.0 deduped
│ │ │ │ │ │   └── isobject@3.0.1 deduped
│ │ │ │ │ ├─┬ class-utils@0.3.6
│ │ │ │ │ │ ├── arr-union@3.1.0
│ │ │ │ │ │ ├─┬ define-property@0.2.5
│ │ │ │ │ │ │ └── is-descriptor@0.1.6 deduped
│ │ │ │ │ │ ├── isobject@3.0.1 deduped
│ │ │ │ │ │ └─┬ static-extend@0.1.2
│ │ │ │ │ │   ├─┬ define-property@0.2.5
│ │ │ │ │ │   │ └── is-descriptor@0.1.6 deduped
│ │ │ │ │ │   └─┬ object-copy@0.1.0
│ │ │ │ │ │     ├── copy-descriptor@0.1.1
│ │ │ │ │ │     ├─┬ define-property@0.2.5
│ │ │ │ │ │     │ └���─ is-descriptor@0.1.6 deduped
│ │ │ │ │ │     └─┬ kind-of@3.2.2
│ │ │ │ │ │       └── is-buffer@1.1.6 deduped
│ │ │ │ │ ├── component-emitter@1.2.1
│ │ │ │ │ ├─┬ define-property@1.0.0
│ │ │ │ │ │ └─┬ is-descriptor@1.0.2
│ │ │ │ │ │   ├─┬ is-accessor-descriptor@1.0.0
│ │ │ │ │ │   │ └── kind-of@6.0.2 deduped
│ │ │ │ │ │   ├─┬ is-data-descriptor@1.0.0
│ │ │ │ │ │   │ └── kind-of@6.0.2 deduped
│ │ │ │ │ │   └── kind-of@6.0.2 deduped
│ │ │ │ │ ├── isobject@3.0.1 deduped
│ │ │ │ │ ├─┬ mixin-deep@1.3.1
│ │ │ │ │ │ ├── for-in@1.0.2 deduped
│ │ │ │ │ │ └─┬ is-extendable@1.0.1
│ │ │ │ │ │   └── is-plain-object@2.0.4 deduped
│ │ │ │ │ └── pascalcase@0.1.1
│ │ │ │ ├─┬ debug@2.6.9
│ │ │ │ │ └── ms@2.0.0 deduped
│ │ │ │ ├─┬ define-property@0.2.5
│ │ │ │ │ └─┬ is-descriptor@0.1.6
│ │ │ │ │   ├─┬ is-accessor-descriptor@0.1.6
│ │ │ │ │   │ └─┬ kind-of@3.2.2
│ │ │ │ │   │   └── is-buffer@1.1.6 deduped
│ │ │ │ │   ├─┬ is-data-descriptor@0.1.4
│ │ │ │ │   │ └─┬ kind-of@3.2.2
│ │ │ │ │   │   └── is-buffer@1.1.6 deduped
│ │ │ │ │   └── kind-of@5.1.0
│ │ │ │ ├─┬ extend-shallow@2.0.1
│ │ │ │ │ └── is-extendable@0.1.1 deduped
│ │ │ │ ├── map-cache@0.2.2 deduped
│ │ │ │ ├── source-map@0.5.7 deduped
│ │ │ │ ├─┬ source-map-resolve@0.5.2
│ │ │ │ │ ├── atob@2.1.1
│ │ │ │ │ ├── decode-uri-component@0.2.0
│ │ │ │ │ ├── resolve-url@0.2.1
│ │ │ │ │ ├── source-map-url@0.4.0 deduped
│ │ │ │ │ └── urix@0.1.0
│ │ │ │ └─┬ use@3.1.0
│ │ │ │   └── kind-of@6.0.2 deduped
│ │ │ └─┬ to-regex@3.0.2
│ │ │   ├── define-property@2.0.2 deduped
│ │ │   ├── extend-shallow@3.0.2 deduped
│ │ │   ├── regex-not@1.0.2 deduped
│ │ │   └── safe-regex@1.1.0 deduped
│ │ ├── mkdirp@0.5.1 deduped
│ │ ├── neo-async@2.5.1 deduped
│ │ ├─┬ node-libs-browser@2.1.0
│ │ │ ├─┬ assert@1.4.1
│ │ │ │ └── util@0.10.3 deduped
│ │ │ ├─┬ browserify-zlib@0.2.0
│ │ │ │ └── pako@1.0.6
│ │ │ ├─┬ buffer@4.9.1
│ │ │ │ ├── base64-js@1.3.0
│ │ │ │ ├── ieee754@1.1.11
│ │ │ │ └── isarray@1.0.0 deduped
│ │ │ ├─┬ console-browserify@1.1.0
│ │ │ │ └── date-now@0.1.4
│ │ │ ├── constants-browserify@1.0.0
│ │ │ ├─┬ crypto-browserify@3.12.0
│ │ │ │ ├─┬ browserify-cipher@1.0.1
│ │ │ │ │ ├─┬ browserify-aes@1.2.0
│ │ │ │ │ │ ├── buffer-xor@1.0.3
│ │ │ │ │ │ ├── cipher-base@1.0.4 deduped
│ │ │ │ │ │ ├── create-hash@1.2.0 deduped
│ │ │ │ │ │ ├── evp_bytestokey@1.0.3 deduped
│ │ │ │ │ │ ├── inherits@2.0.3 deduped
│ │ │ │ │ │ └── safe-buffer@5.1.2 deduped
│ │ │ │ │ ├─┬ browserify-des@1.0.1
│ │ │ │ │ │ ├── cipher-base@1.0.4 deduped
│ │ │ │ │ │ ├─┬ des.js@1.0.0
│ │ │ │ │ │ │ ├── inherits@2.0.3 deduped
│ │ │ │ │ │ │ └── minimalistic-assert@1.0.1 deduped
│ │ │ │ │ │ └── inherits@2.0.3 deduped
│ │ │ │ │ └─┬ evp_bytestokey@1.0.3
│ │ │ │ │   ├── md5.js@1.3.4 deduped
│ │ │ │ │   └── safe-buffer@5.1.2 deduped
│ │ │ │ ├─┬ browserify-sign@4.0.4
│ │ │ │ │ ├── bn.js@4.11.8
│ │ │ │ │ ├─┬ browserify-rsa@4.0.1
│ │ │ │ │ │ ├── bn.js@4.11.8 deduped
│ │ │ │ │ │ └── randombytes@2.0.6 deduped
│ │ │ │ │ ├── create-hash@1.2.0 deduped
│ │ │ │ │ ├── create-hmac@1.1.7 deduped
│ │ │ │ │ ├─┬ elliptic@6.4.0
│ │ │ │ │ │ ├── bn.js@4.11.8 deduped
│ │ │ │ │ │ ├── brorand@1.1.0
│ │ │ │ ��� │ ├─┬ hash.js@1.1.3
│ │ │ │ │ │ │ ├── inherits@2.0.3 deduped
│ │ │ │ │ │ │ └── minimalistic-assert@1.0.1 deduped
│ │ │ │ │ │ ├─┬ hmac-drbg@1.0.1
│ │ │ │ │ │ │ ├── hash.js@1.1.3 deduped
│ │ │ │ │ │ │ ├── minimalistic-assert@1.0.1 deduped
│ │ │ │ │ │ │ └── minimalistic-crypto-utils@1.0.1 deduped
│ │ │ │ │ │ ├── inherits@2.0.3 deduped
│ │ │ │ │ │ ├── minimalistic-assert@1.0.1 deduped
│ │ │ │ │ │ └── minimalistic-crypto-utils@1.0.1
│ │ │ │ │ ├── inherits@2.0.3 deduped
│ │ │ │ │ └─┬ parse-asn1@5.1.1
│ │ │ │ │   ├─┬ asn1.js@4.10.1
│ │ │ │ │   │ ├── bn.js@4.11.8 deduped
│ │ │ │ │   │ ├── inherits@2.0.3 deduped
│ │ │ │ │   │ └── minimalistic-assert@1.0.1 deduped
│ │ │ │ │   ├── browserify-aes@1.2.0 deduped
│ │ │ │ │   ├── create-hash@1.2.0 deduped
│ │ │ │ │   ├── evp_bytestokey@1.0.3 deduped
│ │ │ │ │   └── pbkdf2@3.0.16 deduped
│ │ │ │ ├─┬ create-ecdh@4.0.3
│ │ │ │ │ ├── bn.js@4.11.8 deduped
│ │ │ │ │ └── elliptic@6.4.0 deduped
│ │ │ │ ├─┬ create-hash@1.2.0
│ │ │ │ │ ├─┬ cipher-base@1.0.4
│ │ │ │ │ │ ├── inherits@2.0.3 deduped
│ │ │ │ │ │ └── safe-buffer@5.1.2 deduped
│ │ │ │ │ ├── inherits@2.0.3 deduped
│ │ │ │ │ ├─┬ md5.js@1.3.4
│ │ │ │ │ │ ├─┬ hash-base@3.0.4
│ │ │ │ │ │ │ ├── inherits@2.0.3 deduped
│ │ │ │ │ │ │ └── safe-buffer@5.1.2 deduped
│ │ │ │ │ │ └── inherits@2.0.3 deduped
│ │ │ │ │ ├─┬ ripemd160@2.0.2
│ │ │ │ │ │ ├── hash-base@3.0.4 deduped
│ │ │ │ │ │ └── inherits@2.0.3 deduped
│ │ │ │ │ └─┬ sha.js@2.4.11
│ │ │ │ │   ├── inherits@2.0.3 deduped
│ │ │ │ │   └── safe-buffer@5.1.2 deduped
│ │ │ │ ├─┬ create-hmac@1.1.7
│ │ │ │ │ ├── cipher-base@1.0.4 deduped
│ │ │ │ │ ├── create-hash@1.2.0 deduped
│ │ │ │ │ ├── inherits@2.0.3 deduped
│ │ │ │ │ ├── ripemd160@2.0.2 deduped
│ │ │ │ │ ├── safe-buffer@5.1.2 deduped
│ │ │ │ │ └── sha.js@2.4.11 deduped
│ │ │ │ ├─┬ diffie-hellman@5.0.3
│ │ │ │ │ ├── bn.js@4.11.8 deduped
│ │ │ │ │ ├─┬ miller-rabin@4.0.1
│ │ │ │ │ │ ├── bn.js@4.11.8 deduped
│ │ │ │ │ │ └── brorand@1.1.0 deduped
│ │ │ │ │ └── randombytes@2.0.6 deduped
│ │ │ ��� ├── inherits@2.0.3 deduped
│ │ │ │ ├─┬ pbkdf2@3.0.16
│ │ │ │ │ ├── create-hash@1.2.0 deduped
│ │ │ │ │ ├── create-hmac@1.1.7 deduped
│ │ │ │ │ ├── ripemd160@2.0.2 deduped
│ │ │ │ │ ├── safe-buffer@5.1.2 deduped
│ │ │ │ │ └── sha.js@2.4.11 deduped
│ │ │ │ ├─┬ public-encrypt@4.0.2
│ │ │ │ │ ├── bn.js@4.11.8 deduped
│ │ │ │ │ ├── browserify-rsa@4.0.1 deduped
│ │ │ │ │ ├── create-hash@1.2.0 deduped
│ │ │ │ │ ├── parse-asn1@5.1.1 deduped
│ │ │ │ │ └── randombytes@2.0.6 deduped
│ │ │ │ ├─┬ randombytes@2.0.6
│ │ │ │ │ └── safe-buffer@5.1.2 deduped
│ │ │ │ └─┬ randomfill@1.0.4
│ │ │ │   ├── randombytes@2.0.6 deduped
│ │ │ │   └── safe-buffer@5.1.2 deduped
│ │ │ ├── domain-browser@1.2.0
│ │ │ ├── events@1.1.1
│ │ │ ├── https-browserify@1.0.0
│ │ │ ├── os-browserify@0.3.0
│ │ │ ├── path-browserify@0.0.0
│ │ │ ├── process@0.11.10
│ │ │ ├── punycode@1.4.1
│ │ │ ├── querystring-es3@0.2.1
│ │ │ ├── readable-stream@2.3.6 deduped
│ │ │ ├─┬ stream-browserify@2.0.1
│ │ │ │ ├── inherits@2.0.3 deduped
│ │ │ │ └── readable-stream@2.3.6 deduped
│ │ │ ├── stream-http@2.8.2 deduped
│ │ │ ├─┬ string_decoder@1.1.1
│ │ │ │ └── safe-buffer@5.1.2 deduped
│ │ │ ├─┬ timers-browserify@2.0.10
│ │ │ │ └── setimmediate@1.0.5 deduped
│ │ │ ├── tty-browserify@0.0.0
│ │ │ ├─┬ url@0.11.0
│ │ │ │ ├── punycode@1.3.2
│ │ │ │ └── querystring@0.2.0
│ │ │ ├─┬ util@0.10.3
│ │ │ │ └── inherits@2.0.1
│ │ │ └─┬ vm-browserify@0.0.4
│ │ │   └── indexof@0.0.1
│ │ ├── schema-utils@0.4.5 deduped
│ │ ├── tapable@1.0.0 deduped
│ │ ├── uglifyjs-webpack-plugin@1.2.5 deduped
│ │ ├─┬ watchpack@1.6.0
│ │ │ ├── chokidar@2.0.3 deduped
│ │ │ ├── graceful-fs@4.1.11 deduped
│ │ │ └── neo-async@2.5.1 deduped
│ │ └── webpack-sources@1.1.0 deduped
│ ├─┬ webpack-chain@4.6.0
│ │ └── deepmerge@1.5.2
│ ├─┬ webpack-dev-server@3.1.4
│ │ ├── ansi-html@0.0.7
│ │ ├── array-includes@3.0.3 deduped
│ │ ├─┬ bonjour@3.5.0
│ │ │ ├── array-flatten@2.1.1
│ │ │ ├── deep-equal@1.0.1
│ │ │ ├── dns-equal@1.0.0
│ │ │ ├─┬ dns-txt@2.0.2
│ │ │ │ └── buffer-indexof@1.1.1
│ │ │ ├─┬ multicast-dns@6.2.3
│ │ │ │ ├─┬ dns-packet@1.3.1
│ │ │ │ │ ├── ip@1.1.5 deduped
│ │ │ │ │ └── safe-buffer@5.1.2 deduped
│ │ │ │ └── thunky@1.0.2
│ │ │ └── multicast-dns-service-types@1.1.0
│ │ ├─┬ chokidar@2.0.3
│ │ │ ├─┬ anymatch@2.0.0
│ │ │ │ ├── micromatch@3.1.10 deduped
│ │ │ │ └── normalize-path@2.1.1 deduped
│ │ │ ├── async-each@1.0.1
│ │ │ ├── braces@2.3.2 deduped
│ │ │ ├─┬ UNMET OPTIONAL DEPENDENCY fsevents@1.2.3
│ │ │ │ ├── nan@2.10.0 deduped
│ │ │ │ └─┬ UNMET OPTIONAL DEPENDENCY node-pre-gyp@0.9.1
│ │ │ │   ├── UNMET OPTIONAL DEPENDENCY detect-libc@1.0.3
│ │ │ │   ├─┬ UNMET DEPENDENCY mkdirp@0.5.1
│ │ │ │   │ └── UNMET DEPENDENCY minimist@0.0.8
│ │ │ │   ├─┬ UNMET OPTIONAL DEPENDENCY needle@2.2.0
│ │ │ │   │ ├─┬ UNMET OPTIONAL DEPENDENCY debug@2.6.9
│ │ │ │   │ │ └── UNMET OPTIONAL DEPENDENCY ms@2.0.0
│ │ │ │   │ ├─┬ UNMET OPTIONAL DEPENDENCY iconv-lite@0.4.21
│ │ │ │   │ │ └── UNMET OPTIONAL DEPENDENCY safer-buffer@2.1.2
│ │ │ │   │ └── UNMET OPTIONAL DEPENDENCY sax@1.2.4
│ │ │ │   ├─┬ UNMET OPTIONAL DEPENDENCY nopt@4.0.1
│ │ │ │   │ ├── UNMET OPTIONAL DEPENDENCY abbrev@1.1.1
│ │ │ │   │ └─┬ UNMET OPTIONAL DEPENDENCY osenv@0.1.5
│ │ │ │   │   ├── UNMET OPTIONAL DEPENDENCY os-homedir@1.0.2
│ │ │ │   │   └── UNMET OPTIONAL DEPENDENCY os-tmpdir@1.0.2
│ │ │ │   ├─┬ UNMET OPTIONAL DEPENDENCY npm-packlist@1.1.10
│ │ │ │   │ ├─┬ UNMET OPTIONAL DEPENDENCY ignore-walk@3.0.1
│ │ │ │   │ │ └─┬ UNMET DEPENDENCY minimatch@3.0.4
│ │ │ │   │ │   └─┬ UNMET DEPENDENCY brace-expansion@1.1.11
│ │ │ │   │ │     ├── UNMET DEPENDENCY balanced-match@1.0.0
│ │ │ │   │ │     └── UNMET DEPENDENCY concat-map@0.0.1
│ │ │ │   │ └── UNMET OPTIONAL DEPENDENCY npm-bundled@1.0.3
│ │ │ │   ├─┬ UNMET OPTIONAL DEPENDENCY npmlog@4.1.2
│ │ │ │   │ ├─┬ UNMET OPTIONAL DEPENDENCY are-we-there-yet@1.1.4
│ │ │ │   │ │ ├── UNMET OPTIONAL DEPENDENCY delegates@1.0.0
│ │ │ │   │ │ └─┬ UNMET OPTIONAL DEPENDENCY readable-stream@2.3.6
│ │ │ │   │ │   ├── UNMET OPTIONAL DEPENDENCY core-util-is@1.0.2
│ │ │ │   │ │   ├── UNMET DEPENDENCY inherits@2.0.3
│ │ │ │   │ │   ├── UNMET OPTIONAL DEPENDENCY isarray@1.0.0
│ │ │ │   │ │   ├── UNMET OPTIONAL DEPENDENCY process-nextick-args@2.0.0
│ │ │ │   │ │   ├── UNMET DEPENDENCY safe-buffer@5.1.1
│ │ │ │   │ │   ├─┬ UNMET OPTIONAL DEPENDENCY string_decoder@1.1.1
│ │ │ │   │ │   │ └── UNMET DEPENDENCY safe-buffer@5.1.1
│ │ │ │   │ │   └── UNMET OPTIONAL DEPENDENCY util-deprecate@1.0.2
│ │ │ │   │ ├── UNMET DEPENDENCY console-control-strings@1.1.0
│ │ │ │   │ ├─┬ UNMET OPTIONAL DEPENDENCY gauge@2.7.4
│ │ │ │   │ │ ├── UNMET OPTIONAL DEPENDENCY aproba@1.2.0
│ │ │ │   │ │ ├── UNMET DEPENDENCY console-control-strings@1.1.0
│ │ │ │   │ │ ├── UNMET OPTIONAL DEPENDENCY has-unicode@2.0.1
│ │ │ │   │ │ ├── UNMET OPTIONAL DEPENDENCY object-assign@4.1.1
│ │ │ │   │ │ ├── UNMET OPTIONAL DEPENDENCY signal-exit@3.0.2
│ │ │ │   │ │ ├─┬ UNMET DEPENDENCY string-width@1.0.2
│ │ │ │   │ │ │ ├── UNMET DEPENDENCY code-point-at@1.1.0
│ │ │ │   │ │ │ ├─┬ UNMET DEPENDENCY is-fullwidth-code-point@1.0.0
│ │ │ │   │ │ │ │ └── UNMET DEPENDENCY number-is-nan@1.0.1
│ │ │ │   │ │ │ └���─ UNMET DEPENDENCY strip-ansi@3.0.1
│ │ │ │   │ │ ├─┬ UNMET DEPENDENCY strip-ansi@3.0.1
│ │ │ │   │ │ │ └── UNMET DEPENDENCY ansi-regex@2.1.1
│ │ │ │   │ │ └─┬ UNMET OPTIONAL DEPENDENCY wide-align@1.1.2
│ │ │ │   │ │   └── UNMET DEPENDENCY string-width@1.0.2
│ │ │ │   │ └── UNMET OPTIONAL DEPENDENCY set-blocking@2.0.0
│ │ │ │   ├─┬ UNMET OPTIONAL DEPENDENCY rc@1.2.6
│ │ │ │   │ ├── UNMET OPTIONAL DEPENDENCY deep-extend@0.4.2
│ │ │ │   │ ├── UNMET OPTIONAL DEPENDENCY ini@1.3.5
│ │ │ │   │ ├── UNMET OPTIONAL DEPENDENCY minimist@1.2.0
│ │ │ │   │ └── UNMET OPTIONAL DEPENDENCY strip-json-comments@2.0.1
│ │ │ │   ├─┬ UNMET OPTIONAL DEPENDENCY rimraf@2.6.2
│ │ │ │   │ └─┬ UNMET OPTIONAL DEPENDENCY glob@7.1.2
│ │ │ │   │   ├── UNMET OPTIONAL DEPENDENCY fs.realpath@1.0.0
│ │ │ │   │   ├─┬ UNMET OPTIONAL DEPENDENCY inflight@1.0.6
│ │ │ │   │   │ ├── UNMET DEPENDENCY once@1.4.0
│ │ │ │   │   │ └── UNMET DEPENDENCY wrappy@1.0.2
│ │ │ │   │   ├── UNMET DEPENDENCY inherits@2.0.3
│ │ ��� │   │   ├── UNMET DEPENDENCY minimatch@3.0.4
│ │ │ │   │   ├─┬ UNMET DEPENDENCY once@1.4.0
│ │ │ │   │   │ └── UNMET DEPENDENCY wrappy@1.0.2
│ │ │ │   │   └── UNMET OPTIONAL DEPENDENCY path-is-absolute@1.0.1
│ │ │ │   ├── UNMET OPTIONAL DEPENDENCY semver@5.5.0
│ │ │ │   └─┬ UNMET OPTIONAL DEPENDENCY tar@4.4.1
│ │ │ │     ├── UNMET OPTIONAL DEPENDENCY chownr@1.0.1
│ │ │ │     ├─┬ UNMET OPTIONAL DEPENDENCY fs-minipass@1.2.5
│ │ │ │     │ └── UNMET DEPENDENCY minipass@2.2.4
│ │ │ │     ├─┬ UNMET DEPENDENCY minipass@2.2.4
│ │ │ │     │ ├── UNMET DEPENDENCY safe-buffer@5.1.1
│ │ │ │     │ └── UNMET DEPENDENCY yallist@3.0.2
│ │ │ │     ├─┬ UNMET OPTIONAL DEPENDENCY minizlib@1.1.0
│ │ │ │     │ └── UNMET DEPENDENCY minipass@2.2.4
│ │ │ │     ├── UNMET DEPENDENCY mkdirp@0.5.1
│ │ │ │     ├── UNMET DEPENDENCY safe-buffer@5.1.1
│ │ │ │     └── UNMET DEPENDENCY yallist@3.0.2
│ │ │ ├── glob-parent@3.1.0 deduped
│ │ │ ├── inherits@2.0.3 deduped
│ │ │ ├─┬ is-binary-path@1.0.1
│ │ │ │ └── binary-extensions@1.11.0
│ │ │ ├── is-glob@4.0.0 deduped
│ │ │ ├─┬ normalize-path@2.1.1
│ │ │ │ └── remove-trailing-separator@1.1.0
│ │ │ ├── path-is-absolute@1.0.1 deduped
│ │ │ ├─┬ readdirp@2.1.0
│ │ │ │ ├── graceful-fs@4.1.11 deduped
│ │ │ │ ├── minimatch@3.0.4 deduped
│ │ │ │ ├── readable-stream@2.3.6 deduped
│ │ │ │ └── set-immediate-shim@1.0.1
│ │ │ └── upath@1.0.5
│ │ ├─┬ compression@1.7.2
│ │ │ ├─┬ accepts@1.3.5
│ │ │ │ ├── mime-types@2.1.18 deduped
│ │ │ │ └── negotiator@0.6.1
│ │ │ ├── bytes@3.0.0
│ │ │ ├─┬ compressible@2.0.13
│ │ │ │ └── mime-db@1.33.0 deduped
│ │ │ ├─┬ debug@2.6.9
│ │ │ │ └── ms@2.0.0 deduped
│ │ │ ├── on-headers@1.0.1
│ │ │ ├── safe-buffer@5.1.1
│ │ │ └── vary@1.1.2
│ │ ├── connect-history-api-fallback@1.5.0
│ │ ├── debug@3.1.0 deduped
│ │ ├─┬ del@3.0.0
│ │ │ ├─┬ globby@6.1.0
│ │ │ │ ├── array-union@1.0.2 deduped
│ │ │ │ ├── glob@7.1.2 deduped
│ │ │ │ ├── object-assign@4.1.1 deduped
│ │ │ │ ├── pify@2.3.0
│ │ │ │ └── pinkie-promise@2.0.1 deduped
│ │ │ ├── is-path-cwd@1.0.0
│ │ │ ├─┬ is-path-in-cwd@1.0.1
│ ��� │ │ └─┬ is-path-inside@1.0.1
│ │ │ │   └── path-is-inside@1.0.2 deduped
│ │ │ ├── p-map@1.2.0
│ │ │ ├── pify@3.0.0
│ │ │ └── rimraf@2.6.2 deduped
│ │ ├─┬ express@4.16.3
│ │ │ ├── accepts@1.3.5 deduped
│ │ │ ├── array-flatten@1.1.1
│ │ │ ├─┬ body-parser@1.18.2
│ │ │ │ ├── bytes@3.0.0 deduped
│ │ │ │ ├── content-type@1.0.4 deduped
│ │ │ │ ├─┬ debug@2.6.9
│ │ │ │ │ └── ms@2.0.0 deduped
│ │ │ │ ├── depd@1.1.2 deduped
│ │ │ │ ├── http-errors@1.6.3 deduped
│ │ │ │ ├── iconv-lite@0.4.19
│ │ │ │ ├── on-finished@2.3.0 deduped
│ │ │ │ ├── qs@6.5.1 deduped
│ │ │ │ ├─┬ raw-body@2.3.2
│ │ │ │ │ ├── bytes@3.0.0 deduped
│ │ │ │ │ ├─┬ http-errors@1.6.2
│ │ │ │ │ │ ├── depd@1.1.1
│ │ │ │ │ │ ├── inherits@2.0.3 deduped
│ │ │ │ │ │ ├── setprototypeof@1.0.3
│ │ │ │ │ │ └── statuses@1.4.0 deduped
│ │ │ │ │ ├── iconv-lite@0.4.19
│ │ │ │ │ └── unpipe@1.0.0 deduped
│ │ │ │ └── type-is@1.6.16 deduped
│ │ │ ├── content-disposition@0.5.2
│ │ │ ├── content-type@1.0.4 deduped
│ │ │ ├── cookie@0.3.1
│ │ │ ├── cookie-signature@1.0.6
│ │ │ ├─┬ debug@2.6.9
│ │ │ │ └── ms@2.0.0 deduped
│ │ │ ├── depd@1.1.2
│ │ │ ├── encodeurl@1.0.2
│ │ │ ├── escape-html@1.0.3 deduped
│ │ │ ├── etag@1.8.1
│ │ │ ├─┬ finalhandler@1.1.1
│ │ │ │ ├─┬ debug@2.6.9
│ │ │ │ │ └── ms@2.0.0 deduped
│ │ │ │ ├── encodeurl@1.0.2 deduped
│ │ │ │ ├── escape-html@1.0.3 deduped
│ │ │ │ ├── on-finished@2.3.0 deduped
│ │ │ │ ├── parseurl@1.3.2 deduped
│ │ │ │ ├── statuses@1.4.0 deduped
│ │ │ │ └── unpipe@1.0.0
│ │ │ ├── fresh@0.5.2
│ │ │ ├── merge-descriptors@1.0.1 deduped
│ │ │ ├── methods@1.1.2 deduped
│ │ │ ├─┬ on-finished@2.3.0
│ │ │ │ └── ee-first@1.1.1 deduped
│ │ │ ├── parseurl@1.3.2
│ │ │ ├── path-to-regexp@0.1.7
│ │ │ ├─┬ proxy-addr@2.0.3
│ │ │ │ ├── forwarded@0.1.2
│ │ │ │ └── ipaddr.js@1.6.0
│ │ │ ├── qs@6.5.1 deduped
│ │ │ ├── range-parser@1.2.0
│ │ │ ├── safe-buffer@5.1.1
│ │ │ ├─┬ send@0.16.2
│ │ │ │ ├─┬ debug@2.6.9
│ │ │ │ │ └── ms@2.0.0 deduped
│ │ │ │ ├── depd@1.1.2 deduped
│ │ │ │ ├── destroy@1.0.4 deduped
│ │ │ │ ├── encodeurl@1.0.2 deduped
��� │ │ │ ├── escape-html@1.0.3 deduped
│ │ │ │ ├── etag@1.8.1 deduped
│ │ │ │ ├── fresh@0.5.2 deduped
│ │ │ │ ├── http-errors@1.6.3 deduped
│ │ │ │ ├── mime@1.4.1
│ │ │ │ ├── ms@2.0.0 deduped
│ │ │ │ ├── on-finished@2.3.0 deduped
│ │ │ │ ├── range-parser@1.2.0 deduped
│ │ │ │ └── statuses@1.4.0 deduped
│ │ │ ├─┬ serve-static@1.13.2
│ │ │ │ ├── encodeurl@1.0.2 deduped
│ │ │ │ ├── escape-html@1.0.3 deduped
│ │ │ │ ├── parseurl@1.3.2 deduped
│ │ │ │ └── send@0.16.2 deduped
│ │ │ ├── setprototypeof@1.1.0
│ │ │ ├── statuses@1.4.0 deduped
│ │ │ ├─┬ type-is@1.6.16
│ │ │ │ ├── media-typer@0.3.0
│ │ │ │ └── mime-types@2.1.18 deduped
│ │ │ ├── utils-merge@1.0.1
│ │ │ └── vary@1.1.2 deduped
│ │ ├── html-entities@1.2.1
│ │ ├─┬ http-proxy-middleware@0.18.0
│ │ │ ├─┬ http-proxy@1.17.0
│ │ │ │ ├── eventemitter3@3.1.0
│ │ │ │ ├── follow-redirects@1.4.1 deduped
│ │ │ │ └── requires-port@1.0.0
│ │ │ ├── is-glob@4.0.0 deduped
│ │ │ ├── lodash@4.17.10 deduped
│ │ │ └── micromatch@3.1.10 deduped
│ │ ├─┬ import-local@1.0.0
│ │ │ ├─┬ pkg-dir@2.0.0
│ │ │ │ └─┬ find-up@2.1.0
│ │ │ │   └── locate-path@2.0.0 deduped
│ │ │ └─┬ resolve-cwd@2.0.0
│ │ │   └── resolve-from@3.0.0
│ │ ├─┬ internal-ip@1.2.0
│ │ │ └── meow@3.7.0 deduped
│ │ ├── ip@1.1.5
│ │ ├── killable@1.0.0
│ │ ├── loglevel@1.6.1
│ │ ├── opn@5.3.0 deduped
│ │ ├── portfinder@1.0.13 deduped
│ │ ├─┬ selfsigned@1.10.3
│ │ │ └── node-forge@0.7.5
│ │ ├─┬ serve-index@1.9.1
│ │ │ ├── accepts@1.3.5 deduped
│ │ │ ├── batch@0.6.1
│ │ │ ├─┬ debug@2.6.9
│ │ │ │ └── ms@2.0.0 deduped
│ │ │ ├── escape-html@1.0.3 deduped
│ │ │ ├── http-errors@1.6.3 deduped
│ │ │ ├── mime-types@2.1.18 deduped
│ │ │ └── parseurl@1.3.2 deduped
│ │ ├─┬ sockjs@0.3.19
│ │ │ ├─┬ faye-websocket@0.10.0
│ │ │ │ └─┬ websocket-driver@0.7.0
│ │ │ │   ├── http-parser-js@0.4.12
│ │ │ │   └── websocket-extensions@0.1.3
│ │ │ └── uuid@3.2.1 deduped
│ │ ├─┬ sockjs-client@1.1.4
│ │ │ ├─┬ debug@2.6.9
│ │ │ │ └── ms@2.0.0 deduped
│ │ │ ├─┬ eventsource@0.1.6
│ │ │ │ └─┬ original@1.0.0
│ │ │ │   └─┬ url-parse@1.0.5
│ │ │ │     ├── querystringify@0.0.4
│ │ │ │     └── requires-port@1.0.0 deduped
│ │ │ ├─┬ faye-websocket@0.11.1
│ │ │ │ └── websocket-driver@0.7.0 deduped
│ │ │ ├── inherits@2.0.3 deduped
│ │ │ ├── json3@3.3.2
│ │ │ └─┬ url-parse@1.4.0
│ │ │   ├── querystringify@2.0.0
│ │ │   └── requires-port@1.0.0 deduped
│ │ ├─┬ spdy@3.4.7
│ │ │ ├─┬ debug@2.6.9
│ │ │ │ └── ms@2.0.0 deduped
│ │ │ ├── handle-thing@1.2.5
│ │ │ ├── http-deceiver@1.2.7
│ │ │ ├── safe-buffer@5.1.2 deduped
│ │ │ ├── select-hose@2.0.0
│ │ │ └─┬ spdy-transport@2.1.0
│ │ │   ├─┬ debug@2.6.9
│ │ │   │ └── ms@2.0.0 deduped
│ │ │   ├── detect-node@2.0.3
│ │ │   ├─┬ hpack.js@2.1.6
│ │ │   │ ├── inherits@2.0.3 deduped
│ │ │   │ ├── obuf@1.1.2 deduped
│ │ │   │ ├── readable-stream@2.3.6 deduped
│ │ │   │ └── wbuf@1.7.3 deduped
│ │ │   ├── obuf@1.1.2
│ │ │   ├── readable-stream@2.3.6 deduped
│ │ │   ├── safe-buffer@5.1.2 deduped
│ │ │   └─┬ wbuf@1.7.3
│ │ │     └── minimalistic-assert@1.0.1
│ │ ├─┬ strip-ansi@3.0.1
│ │ │ └── ansi-regex@2.1.1
│ │ ├── supports-color@5.4.0 deduped
│ │ ├─┬ webpack-dev-middleware@3.1.3
│ │ │ ├── loud-rejection@1.6.0 deduped
│ │ │ ├── memory-fs@0.4.1 deduped
│ │ │ ├── mime@2.3.1 deduped
│ │ │ ├── path-is-absolute@1.0.1 deduped
│ │ │ ├── range-parser@1.2.0 deduped
│ │ │ ├── url-join@4.0.0
│ │ │ └── webpack-log@1.2.0 deduped
│ │ ├─┬ webpack-log@1.2.0
│ │ │ ├── chalk@2.4.1 deduped
│ │ │ ├── log-symbols@2.2.0 deduped
│ │ │ ├── loglevelnext@1.0.5 deduped
│ │ │ └── uuid@3.2.1 deduped
│ │ └─┬ yargs@11.0.0
│ │   ├── cliui@4.1.0 deduped
│ │   ├── decamelize@1.2.0 deduped
│ │   ├─┬ find-up@2.1.0
│ │   │ └── locate-path@2.0.0 deduped
│ │   ├── get-caller-file@1.0.2 deduped
│ │   ├── os-locale@2.1.0 deduped
│ │   ├── require-directory@2.1.1 deduped
│ │   ├── require-main-filename@1.0.1 deduped
│ │   ├── set-blocking@2.0.0 deduped
│ │   ├── string-width@2.1.1 deduped
│ │   ├── which-module@2.0.0 deduped
│ │   ├── y18n@3.2.1
│ │   └─┬ yargs-parser@9.0.2
│ │     └── camelcase@4.1.0
│ ├─┬ webpack-merge@4.1.2
│ │ └── lodash@4.17.10 deduped
│ └─┬ yorkie@1.0.3
│   ├─┬ execa@0.8.0
│   │ ├── cross-spawn@5.1.0 deduped
│   │ ├── get-stream@3.0.0 deduped
│   │ ├── is-stream@1.1.0 deduped
│   │ ├── npm-run-path@2.0.2 deduped
│   │ ├── p-finally@1.0.0 deduped
│   │ ├── signal-exit@3.0.2 deduped
│   │ └── strip-eof@1.0.0 deduped
│   ├── is-ci@1.1.0 deduped
│   ├── normalize-path@1.0.0
│   └── strip-indent@2.0.0
├─┬ @vue/eslint-config-airbnb@3.0.0-beta.10
│ ├─┬ eslint-config-airbnb-base@12.1.0
│ │ └── eslint-restricted-globals@0.1.1
│ ├─┬ eslint-import-resolver-webpack@0.9.0
│ │ ├── array-find@1.0.0
│ │ ├─┬ debug@2.6.9
│ │ │ └── ms@2.0.0 deduped
│ │ ├─┬ enhanced-resolve@0.9.1
│ │ │ ├── graceful-fs@4.1.11 deduped
│ │ │ ├── memory-fs@0.2.0
│ │ │ └── tapable@0.1.10
│ │ ├── find-root@1.1.0
│ │ ├── has@1.0.1 deduped
│ │ ├── interpret@1.1.0
│ │ ├─┬ is-absolute@0.2.6
│ │ │ ├─┬ is-relative@0.2.1
│ │ │ │ └─┬ is-unc-path@0.1.2
│ │ │ │   └── unc-path-regex@0.1.2
│ │ │ └── is-windows@0.2.0
│ │ ├── lodash.get@4.4.2
│ │ ├── node-libs-browser@2.1.0 deduped
│ │ ├── resolve@1.7.1 deduped
│ │ └── semver@5.5.0 deduped
│ └── eslint-plugin-import@2.11.0 deduped
├─┬ ali-oss@5.2.0
│ ├── address@1.0.3 deduped
│ ├── agentkeepalive@2.2.0
│ ├── any-promise@1.3.0
│ ├── bowser@1.9.3
│ ├── co@4.6.0 deduped
│ ├── co-defer@1.0.0
│ ├─┬ co-gather@0.0.1
│ │ └── co-thread@0.0.1
│ ├── co-priority-queue@1.0.3
│ ├── copy-to@2.0.1
│ ├── dateformat@2.2.0
│ ├─┬ debug@2.6.9
│ │ └── ms@2.0.0
│ ├── destroy@1.0.4
│ ├── end-or-error@1.0.1
│ ├── get-ready@1.0.0
│ ├─┬ humanize-ms@1.2.1
│ │ └── ms@2.0.0 deduped
│ ├─┬ is-type-of@1.2.0
│ │ ├── core-util-is@1.0.2
│ │ ├── is-class@0.0.4
│ │ └── isstream@0.1.2 deduped
│ ├── jstoxml@0.2.4
│ ├── merge-descriptors@1.0.1
│ ├── mime@1.6.0
│ ├── platform@1.3.5
│ ├─┬ sdk-base@2.0.1
│ │ └── get-ready@1.0.0 deduped
│ ├─┬ stream-http@2.8.2
│ │ ├── builtin-status-codes@3.0.0
│ │ ├── inherits@2.0.3
│ │ ├─┬ readable-stream@2.3.6
│ │ │ ├── core-util-is@1.0.2 deduped
│ │ │ ├── inherits@2.0.3 deduped
│ │ │ ├── isarray@1.0.0 deduped
│ │ │ ├── process-nextick-args@2.0.0
│ │ │ ├── safe-buffer@5.1.2 deduped
│ │ │ ├── string_decoder@1.1.1 deduped
│ │ │ └── util-deprecate@1.0.2
│ │ ├── to-arraybuffer@1.0.1
│ │ └── xtend@4.0.1
│ ├─┬ urllib@2.27.0
│ │ ├── any-promise@1.3.0 deduped
│ │ ├── content-type@1.0.4
│ │ ├─┬ debug@2.6.9
│ │ │ └── ms@2.0.0 deduped
│ │ ├─┬ default-user-agent@1.0.0
│ │ │ └─┬ os-name@1.0.3
│ │ │   ├─┬ osx-release@1.1.0
│ │ │   │ └── minimist@1.2.0
│ │ │   └─┬ win-release@1.1.1
│ │ │     └── semver@5.5.0 deduped
│ │ ├─┬ digest-header@0.0.1
│ │ │ └─┬ utility@0.1.11
│ │ │   └── address@1.0.3 deduped
│ │ ├── ee-first@1.1.1
│ │ ├── humanize-ms@1.2.1 deduped
│ │ ├─┬ iconv-lite@0.4.23
│ │ │ └── safer-buffer@2.1.2
│ │ ├── ip@1.1.5 deduped
│ │ ├─┬ proxy-agent@2.3.1
│ │ │ ├─┬ agent-base@4.2.0
│ │ │ │ └─┬ es6-promisify@5.0.0
│ │ │ │   └── es6-promise@4.2.4
│ │ │ ├── debug@3.1.0 deduped
│ │ │ ├─┬ http-proxy-agent@2.1.0
│ │ │ │ ├── agent-base@4.2.0 deduped
│ │ │ │ └── debug@3.1.0 deduped
│ │ │ ├─┬ https-proxy-agent@2.2.1
│ │ │ │ ├── agent-base@4.2.0 deduped
│ │ │ │ └── debug@3.1.0 deduped
│ │ │ ├── lru-cache@4.1.3 deduped
│ │ │ ├─┬ pac-proxy-agent@2.0.2
│ │ │ │ ├── agent-base@4.2.0 deduped
│ │ │ │ ├── debug@3.1.0 deduped
│ │ │ │ ├─┬ get-uri@2.0.1
│ │ │ │ │ ├── data-uri-to-buffer@1.2.0
│ │ │ │ │ ├─┬ debug@2.6.9
│ │ │ │ │ │ └── ms@2.0.0 deduped
│ │ │ │ │ ├── extend@3.0.1 deduped
│ │ │ │ │ ├── file-uri-to-path@1.0.0
│ │ │ │ │ ├─┬ ftp@0.3.10
│ │ │ │ │ │ ├─┬ readable-stream@1.1.14
│ │ │ │ │ │ │ ├── core-util-is@1.0.2 deduped
│ │ │ │ │ │ │ ├── inherits@2.0.3 deduped
│ │ │ │ │ │ │ ├── isarray@0.0.1
│ │ │ │ │ │ │ └── string_decoder@0.10.31
│ │ │ │ │ │ └── xregexp@2.0.0
│ │ │ │ │ └── readable-stream@2.3.6 deduped
│ │ │ │ ├── http-proxy-agent@2.1.0 deduped
│ │ │ │ ├── https-proxy-agent@2.2.1 deduped
│ │ │ │ ├─┬ pac-resolver@3.0.0
│ │ │ │ │ ├── co@4.6.0 deduped
│ │ │ │ │ ├─┬ degenerator@1.0.4
│ │ │ │ │ │ ├── ast-types@0.11.3
│ │ │ │ │ │ ├── escodegen@1.9.1 deduped
│ │ │ │ │ │ └── esprima@3.1.3
│ │ │ │ │ ├── ip@1.1.5 deduped
│ │ │ │ │ ├── netmask@1.0.6
│ │ │ │ │ └── thunkify@2.1.2 deduped
│ │ │ │ ├── raw-body@2.3.2 deduped
│ │ │ │ └── socks-proxy-agent@3.0.1 deduped
│ │ │ ├── proxy-from-env@1.0.0
│ │ │ └─┬ socks-proxy-agent@3.0.1
│ │ │   ├── agent-base@4.2.0 deduped
│ │ │   └─┬ socks@1.1.10
│ │ │     ├── ip@1.1.5 deduped
│ │ │     └── smart-buffer@1.1.15
│ │ ├── qs@6.5.1 deduped
│ │ ├── statuses@1.4.0
│ │ └── utility@1.13.1 deduped
│ ├─┬ utility@1.13.1
│ │ ├── copy-to@2.0.1 deduped
│ │ ├── escape-html@1.0.3
│ │ ├── mkdirp@0.5.1 deduped
│ │ └─┬ mz@2.7.0
│ │   ├── any-promise@1.3.0 deduped
│ │   ├── object-assign@4.1.1 deduped
│ │   └─┬ thenify-all@1.6.0
│ │     └─┬ thenify@3.3.0
│ │       └── any-promise@1.3.0 deduped
│ └─┬ xml2js@0.4.19
│   ├── sax@1.2.4
│   └── xmlbuilder@9.0.7
├─┬ babel-core@6.26.3
│ ├─┬ babel-code-frame@6.26.0
│ │ ├─┬ chalk@1.1.3
│ │ │ ├── ansi-styles@2.2.1
│ │ │ ├── escape-string-regexp@1.0.5 deduped
│ │ │ ├── has-ansi@2.0.0 deduped
│ │ │ ├─┬ strip-ansi@3.0.1
│ │ │ │ └── ansi-regex@2.1.1 deduped
│ │ │ └── supports-color@2.0.0
│ │ ├── esutils@2.0.2 deduped
│ │ └── js-tokens@3.0.2
│ ├─┬ babel-generator@6.26.1
│ │ ├── babel-messages@6.23.0 deduped
│ │ ├── babel-runtime@6.26.0 deduped
│ │ ├── babel-types@6.26.0 deduped
│ │ ├─┬ detect-indent@4.0.0
│ │ │ └─┬ repeating@2.0.1
│ │ │   └─┬ is-finite@1.0.2
│ │ │     └── number-is-nan@1.0.1 deduped
│ │ ├── jsesc@1.3.0
│ │ ├── lodash@4.17.10 deduped
│ │ ├── source-map@0.5.7 deduped
│ │ └── trim-right@1.0.1
│ ├─┬ babel-helpers@6.24.1
│ │ ├── babel-runtime@6.26.0 deduped
│ │ └── babel-template@6.26.0 deduped
│ ├─┬ babel-messages@6.23.0
│ │ └── babel-runtime@6.26.0 deduped
│ ├─┬ babel-register@6.26.0
│ │ ├── babel-core@6.26.3 deduped
│ │ ├── babel-runtime@6.26.0 deduped
│ │ ├── core-js@2.5.6
│ │ ├─┬ home-or-tmp@2.0.0
│ │ │ ├── os-homedir@1.0.2 deduped
│ │ │ └── os-tmpdir@1.0.2
│ │ ├── lodash@4.17.10 deduped
│ │ ├── mkdirp@0.5.1 deduped
│ │ └─┬ source-map-support@0.4.18
│ │   └── source-map@0.5.7 deduped
│ ├─┬ babel-runtime@6.26.0
│ │ ├── core-js@2.5.6 deduped
│ │ └── regenerator-runtime@0.11.1
│ ├─┬ babel-template@6.26.0
│ │ ├── babel-runtime@6.26.0 deduped
│ │ ├── babel-traverse@6.26.0 deduped
│ │ ├── babel-types@6.26.0 deduped
│ │ ├── babylon@6.18.0
│ │ └── lodash@4.17.10 deduped
│ ├─┬ babel-traverse@6.26.0
│ │ ├── babel-code-frame@6.26.0 deduped
│ │ ├── babel-messages@6.23.0 deduped
│ │ ├── babel-runtime@6.26.0 deduped
│ │ ├── babel-types@6.26.0 deduped
│ │ ├── babylon@6.18.0
│ │ ├─┬ debug@2.6.9
│ │ │ └── ms@2.0.0 deduped
│ │ ├── globals@9.18.0
│ │ ├─┬ invariant@2.2.4
│ │ │ └── loose-envify@1.3.1 deduped
│ │ └── lodash@4.17.10 deduped
│ ├─┬ babel-types@6.26.0
│ │ ├── babel-runtime@6.26.0 deduped
│ │ ├── esutils@2.0.2 deduped
│ │ ├── lodash@4.17.10 deduped
│ │ └── to-fast-properties@1.0.3
│ ├── babylon@6.18.0
│ ├── convert-source-map@1.5.1
│ ├─┬ debug@2.6.9
│ │ └── ms@2.0.0 deduped
│ ├── json5@0.5.1
│ ├── lodash@4.17.10
│ ├─┬ minimatch@3.0.4
│ │ └─┬ brace-expansion@1.1.11
│ │   ├── balanced-match@1.0.0
│ │   └── concat-map@0.0.1
│ ├── path-is-absolute@1.0.1
│ ├── private@0.1.8
│ ├── slash@1.0.0
│ └── source-map@0.5.7
├─┬ babel-eslint@8.2.3
│ ├─┬ @babel/code-frame@7.0.0-beta.44
│ │ └─┬ @babel/highlight@7.0.0-beta.44
│ │   ├── chalk@2.4.1 deduped
│ │   ├── esutils@2.0.2 deduped
│ │   └── js-tokens@3.0.2 deduped
│ ├─┬ @babel/traverse@7.0.0-beta.44
│ │ ├── @babel/code-frame@7.0.0-beta.44 deduped
│ │ ├─┬ @babel/generator@7.0.0-beta.44
│ │ │ ├── @babel/types@7.0.0-beta.44 deduped
│ │ │ ├── jsesc@2.5.1
│ │ │ ├── lodash@4.17.10 deduped
│ │ │ ├── source-map@0.5.7 deduped
│ │ │ └── trim-right@1.0.1 deduped
│ │ ├─┬ @babel/helper-function-name@7.0.0-beta.44
│ │ │ ├─┬ @babel/helper-get-function-arity@7.0.0-beta.44
│ │ │ │ └── @babel/types@7.0.0-beta.44 deduped
│ │ │ ├─┬ @babel/template@7.0.0-beta.44
│ │ │ │ ├── @babel/code-frame@7.0.0-beta.44 deduped
│ │ │ │ ├── @babel/types@7.0.0-beta.44 deduped
│ │ │ │ ├── babylon@7.0.0-beta.44 deduped
│ │ │ │ └── lodash@4.17.10 deduped
│ │ │ └── @babel/types@7.0.0-beta.44 deduped
│ │ ├─┬ @babel/helper-split-export-declaration@7.0.0-beta.44
│ │ │ └── @babel/types@7.0.0-beta.44 deduped
│ │ ├── @babel/types@7.0.0-beta.44 deduped
│ │ ├── babylon@7.0.0-beta.44 deduped
│ │ ├── debug@3.1.0 deduped
│ │ ├── globals@11.5.0 deduped
│ │ ├── invariant@2.2.4 deduped
│ │ └── lodash@4.17.10 deduped
│ ├─┬ @babel/types@7.0.0-beta.44
│ │ ├── esutils@2.0.2 deduped
│ │ ├── lodash@4.17.10 deduped
│ │ └── to-fast-properties@2.0.0
│ ├── babylon@7.0.0-beta.44
│ ├─┬ eslint-scope@3.7.1
│ │ ├─┬ esrecurse@4.2.1
│ │ │ └── estraverse@4.2.0 deduped
│ │ └── estraverse@4.2.0
│ └── eslint-visitor-keys@1.0.0
├─┬ babel-plugin-import@1.7.0
│ └─┬ @babel/helper-module-imports@7.0.0-beta.46
│   ├─┬ @babel/types@7.0.0-beta.46
│   │ ├── esutils@2.0.2 deduped
│   │ ├── lodash@4.17.10 deduped
│   │ └── to-fast-properties@2.0.0 deduped
│   └── lodash@4.17.10 deduped
├─┬ babel-plugin-transform-es2015-modules-commonjs@6.26.2
│ ├─┬ babel-plugin-transform-strict-mode@6.24.1
│ │ ├── babel-runtime@6.26.0 deduped
│ │ └── babel-types@6.26.0 deduped
│ ├── babel-runtime@6.26.0 deduped
│ ├── babel-template@6.26.0 deduped
│ └── babel-types@6.26.0 deduped
├─┬ babel-plugin-transform-export-extensions@6.22.0
│ ├── babel-plugin-syntax-export-extensions@6.13.0
│ └── babel-runtime@6.26.0 deduped
├─┬ babel-plugin-transform-lib-import@0.1.0
│ └── babel-template@6.26.0 deduped
├── co@4.6.0
├─┬ cz-conventional-changelog@2.1.0
│ ├── conventional-commit-types@2.2.0
│ ├── lodash.map@4.6.0
│ ├── longest@1.0.1
│ ├── right-pad@1.0.1
│ └── word-wrap@1.2.3
├─┬ eslint@4.19.1
│ ├─┬ ajv@5.5.2
│ │ ├── co@4.6.0 deduped
│ │ ├── fast-deep-equal@1.1.0
│ │ ├── fast-json-stable-stringify@2.0.0
│ │ └── json-schema-traverse@0.3.1
│ ├── babel-code-frame@6.26.0 deduped
│ ├── chalk@2.4.1 deduped
│ ├─┬ concat-stream@1.6.2
│ │ ├── buffer-from@1.0.0
│ │ ├── inherits@2.0.3 deduped
│ │ ├── readable-stream@2.3.6 deduped
│ │ └── typedarray@0.0.6
│ ├─┬ cross-spawn@5.1.0
│ │ ├─┬ lru-cache@4.1.3
│ │ │ ├── pseudomap@1.0.2
��� │ │ └── yallist@2.1.2
│ │ ├─┬ shebang-command@1.2.0
│ │ │ └── shebang-regex@1.0.0
│ │ └─┬ which@1.3.0
│ │   └── isexe@2.0.0
│ ├─┬ debug@3.1.0
│ │ └── ms@2.0.0 deduped
│ ├─┬ doctrine@2.1.0
│ │ └── esutils@2.0.2 deduped
│ ├── eslint-scope@3.7.1 deduped
│ ├── eslint-visitor-keys@1.0.0 deduped
│ ├─┬ espree@3.5.4
│ │ ├── acorn@5.5.3 deduped
│ │ └─┬ acorn-jsx@3.0.1
│ │   └── acorn@3.3.0
│ ├─┬ esquery@1.0.1
│ │ └── estraverse@4.2.0 deduped
│ ├── esutils@2.0.2
│ ├─┬ file-entry-cache@2.0.0
│ │ ├─┬ flat-cache@1.3.0
│ │ │ ├── circular-json@0.3.3
│ │ │ ├─┬ del@2.2.2
│ │ │ │ ├─┬ globby@5.0.0
│ │ │ │ │ ├── array-union@1.0.2 deduped
│ │ │ │ │ ├── arrify@1.0.1 deduped
│ │ │ │ │ ├── glob@7.1.2 deduped
│ │ │ │ │ ├── object-assign@4.1.1 deduped
│ │ │ │ │ ├── pify@2.3.0 deduped
│ │ │ │ │ └── pinkie-promise@2.0.1 deduped
│ │ │ │ ├── is-path-cwd@1.0.0 deduped
│ │ │ │ ├── is-path-in-cwd@1.0.1 deduped
│ │ │ │ ├── object-assign@4.1.1 deduped
│ │ │ │ ├── pify@2.3.0 deduped
│ │ │ │ ├── pinkie-promise@2.0.1 deduped
│ │ │ │ └── rimraf@2.6.2 deduped
│ │ │ ├── graceful-fs@4.1.11 deduped
│ │ │ └─┬ write@0.2.1
│ │ │   └── mkdirp@0.5.1 deduped
│ │ └── object-assign@4.1.1 deduped
│ ├── functional-red-black-tree@1.0.1
│ ├─┬ glob@7.1.2
│ │ ├── fs.realpath@1.0.0
│ │ ├─┬ inflight@1.0.6
│ │ │ ├── once@1.4.0 deduped
│ │ │ └── wrappy@1.0.2
│ │ ├── inherits@2.0.3 deduped
│ │ ├── minimatch@3.0.4 deduped
│ │ ├─┬ once@1.4.0
│ │ │ └── wrappy@1.0.2 deduped
│ │ └── path-is-absolute@1.0.1 deduped
│ ├── globals@11.5.0
│ ├── ignore@3.3.8
│ ├── imurmurhash@0.1.4
│ ├─┬ inquirer@3.3.0
│ │ ├── ansi-escapes@3.1.0
│ │ ├── chalk@2.4.1 deduped
│ │ ├── cli-cursor@2.1.0 deduped
│ │ ├── cli-width@2.2.0
│ │ ├─┬ external-editor@2.2.0
│ │ │ ├── chardet@0.4.2
│ │ │ ├── iconv-lite@0.4.23 deduped
│ │ │ └─┬ tmp@0.0.33
│ │ │   └── os-tmpdir@1.0.2 deduped
│ │ ├─┬ figures@2.0.0
│ │ │ └── escape-string-regexp@1.0.5 deduped
│ │ ├── lodash@4.17.10 deduped
│ │ ├── mute-stream@0.0.7
│ │ ├─┬ run-async@2.3.0
│ │ │ └── is-promise@2.1.0
│ │ ├── rx-lite@4.0.8
│ │ ├─┬ rx-lite-aggregates@4.0.8
│ │ │ └── rx-lite@4.0.8 deduped
│ │ ├── string-width@2.1.1 deduped
│ │ ├── strip-ansi@4.0.0 deduped
│ │ └── through@2.3.8
│ ├── is-resolvable@1.1.0
│ ├─┬ js-yaml@3.11.0
│ │ ├─┬ argparse@1.0.10
│ │ │ └── sprintf-js@1.0.3
│ │ └── esprima@4.0.0
│ ├── json-stable-stringify-without-jsonify@1.0.1
│ ├─┬ levn@0.3.0
│ │ ├── prelude-ls@1.1.2
│ │ └─┬ type-check@0.3.2
│ │   └── prelude-ls@1.1.2 deduped
│ ├── lodash@4.17.10 deduped
│ ├── minimatch@3.0.4 deduped
│ ├─┬ mkdirp@0.5.1
│ │ └── minimist@0.0.8
│ ├── natural-compare@1.4.0
│ ├─┬ optionator@0.8.2
│ │ ├── deep-is@0.1.3
│ │ ├── fast-levenshtein@2.0.6
│ │ ├── levn@0.3.0 deduped
│ │ ├── prelude-ls@1.1.2 deduped
│ │ ├── type-check@0.3.2 deduped
│ │ └── wordwrap@1.0.0
│ ├── path-is-inside@1.0.2
│ ├── pluralize@7.0.0
│ ├── progress@2.0.0
│ ├── regexpp@1.1.0
│ ├─┬ require-uncached@1.0.3
│ │ ├─┬ caller-path@0.1.0
│ │ │ └── callsites@0.2.0
│ │ └── resolve-from@1.0.1
│ ├── semver@5.5.0 deduped
│ ├─┬ strip-ansi@4.0.0
│ │ └── ansi-regex@3.0.0
│ ├── strip-json-comments@2.0.1
│ ├─┬ table@4.0.2
│ │ ├── ajv@5.5.2 deduped
│ │ ├── ajv-keywords@2.1.1
│ │ ├── chalk@2.4.1 deduped
│ │ ├── lodash@4.17.10 deduped
│ │ ├─┬ slice-ansi@1.0.0
│ │ │ └── is-fullwidth-code-point@2.0.0 deduped
│ │ └── string-width@2.1.1 deduped
│ └── text-table@0.2.0
├─┬ eslint-config-airbnb@16.1.0
│ └── eslint-config-airbnb-base@12.1.0 deduped
├── eslint-plugin-babel@4.1.2
├─┬ eslint-plugin-import@2.11.0
│ ├── contains-path@0.1.0
│ ├─┬ debug@2.6.9
│ │ └── ms@2.0.0 deduped
│ ├─┬ doctrine@1.5.0
│ │ ├── esutils@2.0.2 deduped
│ │ └── isarray@1.0.0
│ ├─┬ eslint-import-resolver-node@0.3.2
│ │ ├─┬ debug@2.6.9
│ │ │ └── ms@2.0.0 deduped
│ │ └── resolve@1.7.1 deduped
│ ├─┬ eslint-module-utils@2.2.0
│ │ ├─┬ debug@2.6.9
│ │ │ └── ms@2.0.0 deduped
│ │ └─┬ pkg-dir@1.0.0
│ │   └─┬ find-up@1.1.2
│ │     ├─┬ path-exists@2.1.0
│ │     │ └── pinkie-promise@2.0.1 deduped
│ │     └── pinkie-promise@2.0.1 deduped
│ ├─┬ has@1.0.1
│ │ └── function-bind@1.1.1 deduped
│ ├── lodash@4.17.10 deduped
│ ├── minimatch@3.0.4 deduped
│ ├─┬ read-pkg-up@2.0.0
│ │ ├─┬ find-up@2.1.0
│ │ │ └── locate-path@2.0.0 deduped
│ │ └─┬ read-pkg@2.0.0
│ │   ├─┬ load-json-file@2.0.0
│ │   │ ├── graceful-fs@4.1.11 deduped
│ │   │ ├── parse-json@2.2.0 deduped
│ │   │ ├── pify@2.3.0 deduped
│ │   │ └── strip-bom@3.0.0 deduped
│ │   ├── normalize-package-data@2.4.0 deduped
│ │   └─┬ path-type@2.0.0
│ │     └── pify@2.3.0 deduped
│ └─┬ resolve@1.7.1
│   └── path-parse@1.0.5
├─┬ eslint-plugin-jsx-a11y@6.0.3
│ ├─┬ aria-query@0.7.1
│ │ ├── ast-types-flow@0.0.7 deduped
│ │ └── commander@2.15.1
│ ├─┬ array-includes@3.0.3
│ │ ├── define-properties@1.1.2 deduped
│ │ └── es-abstract@1.11.0 deduped
│ ├── ast-types-flow@0.0.7
│ ├─┬ axobject-query@0.1.0
│ │ └── ast-types-flow@0.0.7 deduped
│ ├── damerau-levenshtein@1.0.4
│ ├── emoji-regex@6.5.1
│ └─┬ jsx-ast-utils@2.0.1
│   └── array-includes@3.0.3 deduped
├─┬ eslint-plugin-react@7.8.1
│ ├── doctrine@2.1.0 deduped
│ ├── has@1.0.1 deduped
│ ├── jsx-ast-utils@2.0.1 deduped
│ └─┬ prop-types@15.6.1
│   ├─┬ fbjs@0.8.16
│   │ ├── core-js@1.2.7
│   │ ├─┬ isomorphic-fetch@2.2.1
│   │ │ ├─┬ node-fetch@1.7.3
│   │ │ │ ├─┬ encoding@0.1.12
│   │ │ │ │ └── iconv-lite@0.4.23 deduped
│   │ │ │ └── is-stream@1.1.0 deduped
│   │ │ └── whatwg-fetch@2.0.4
│   │ ├── loose-envify@1.3.1 deduped
│   │ ├── object-assign@4.1.1 deduped
│   │ ├─┬ promise@7.3.1
���   │ │ └── asap@2.0.6
│   │ ├── setimmediate@1.0.5
│   │ └── ua-parser-js@0.7.18
│   ├─┬ loose-envify@1.3.1
│   │ └── js-tokens@3.0.2 deduped
│   └── object-assign@4.1.1 deduped
├─┬ eslint-plugin-vue@4.5.0
│ └─┬ vue-eslint-parser@2.0.3
│   ├── debug@3.1.0 deduped
│   ├── eslint-scope@3.7.1 deduped
│   ├── eslint-visitor-keys@1.0.0 deduped
│   ├── espree@3.5.4 deduped
│   ├── esquery@1.0.1 deduped
│   └── lodash@4.17.10 deduped
├─┬ findup@0.1.5
│ ├── colors@0.6.2
│ └── commander@2.1.0
├─┬ ghooks@2.0.4
│ ├── findup@0.1.5 deduped
│ ├── lodash.clone@4.5.0
│ ├── manage-path@2.0.0
│ ├─┬ opt-cli@1.5.1
│ │ ├─┬ commander@2.9.0
│ │ │ └── graceful-readlink@1.0.1
│ │ ├─┬ lodash.clone@4.3.2
│ │ │ └── lodash._baseclone@4.5.7
│ │ ├── manage-path@2.0.0 deduped
│ │ └── spawn-command@0.0.2-1
│ ├── path-exists@3.0.0
│ └── spawn-command@0.0.2
├─┬ ice-devtools@1.0.0-beta.28
│ ├─┬ async@2.6.0
│ │ └── lodash@4.17.10 deduped
│ ├─┬ axios@0.18.0
│ │ ├─┬ follow-redirects@1.4.1
│ │ │ └── debug@3.1.0 deduped
│ │ └── is-buffer@1.1.6
│ ├── babel-core@6.26.3 deduped
│ ├─┬ babel-loader@7.1.4
│ │ ├─┬ find-cache-dir@1.0.0
│ │ │ ├── commondir@1.0.1 deduped
│ │ │ ├── make-dir@1.3.0 deduped
│ │ │ └─┬ pkg-dir@2.0.0
│ │ │   └─┬ find-up@2.1.0
│ │ │     └── locate-path@2.0.0 deduped
│ │ ├── loader-utils@1.1.0 deduped
│ │ └── mkdirp@0.5.1 deduped
│ ├─┬ babel-plugin-component@1.1.1
│ │ └─┬ @babel/helper-module-imports@7.0.0-beta.35
│ │   ├─┬ @babel/types@7.0.0-beta.35
│ │   │ ├── esutils@2.0.2 deduped
│ │   │ ├── lodash@4.17.10 deduped
│ │   │ └── to-fast-properties@2.0.0 deduped
│ │   └── lodash@4.17.10 deduped
│ ├── babel-plugin-transform-es2015-modules-commonjs@6.26.2 deduped
│ ├── babel-plugin-transform-export-extensions@6.22.0 deduped
│ ├── babel-plugin-transform-lib-import@0.1.0 deduped
│ ├─┬ babel-preset-env@1.7.0
│ │ ├─┬ babel-plugin-check-es2015-constants@6.22.0
│ │ │ └── babel-runtime@6.26.0 deduped
│ │ ├── babel-plugin-syntax-trailing-function-commas@6.22.0
│ │ ├─┬ babel-plugin-transform-async-to-generator@6.24.1
│ │ │ ├─┬ babel-helper-remap-async-to-generator@6.24.1
│ │ │ │ ├── babel-helper-function-name@6.24.1 deduped
│ │ │ │ ├── babel-runtime@6.26.0 deduped
│ │ │ │ ├── babel-template@6.26.0 deduped
│ │ │ │ ├── babel-traverse@6.26.0 deduped
│ │ │ │ └── babel-types@6.26.0 deduped
│ │ │ ├── babel-plugin-syntax-async-functions@6.13.0
│ │ │ └── babel-runtime@6.26.0 deduped
│ │ ├─┬ babel-plugin-transform-es2015-arrow-functions@6.22.0
│ │ │ └── babel-runtime@6.26.0 deduped
│ │ ├─┬ babel-plugin-transform-es2015-block-scoped-functions@6.22.0
│ │ │ └── babel-runtime@6.26.0 deduped
│ │ ├─┬ babel-plugin-transform-es2015-block-scoping@6.26.0
│ │ │ ├── babel-runtime@6.26.0 deduped
│ │ │ ├── babel-template@6.26.0 deduped
│ │ │ ├── babel-traverse@6.26.0 deduped
│ │ │ ├── babel-types@6.26.0 deduped
│ │ │ └── lodash@4.17.10 deduped
│ │ ├─┬ babel-plugin-transform-es2015-classes@6.24.1
│ │ │ ├─┬ babel-helper-define-map@6.26.0
│ │ │ │ ├── babel-helper-function-name@6.24.1 deduped
│ │ │ │ ├── babel-runtime@6.26.0 deduped
│ │ │ │ ├── babel-types@6.26.0 deduped
│ │ │ │ └── lodash@4.17.10 deduped
│ │ │ ├─┬ babel-helper-function-name@6.24.1
│ │ │ │ ├── babel-helper-get-function-arity@6.24.1 deduped
│ │ │ │ ├── babel-runtime@6.26.0 deduped
│ │ │ │ ├── babel-template@6.26.0 deduped
│ │ │ │ ├── babel-traverse@6.26.0 deduped
│ │ │ │ └── babel-types@6.26.0 deduped
│ │ │ ├─┬ babel-helper-optimise-call-expression@6.24.1
│ │ │ │ ├── babel-runtime@6.26.0 deduped
│ │ │ │ └── babel-types@6.26.0 deduped
│ │ │ ├─┬ babel-helper-replace-supers@6.24.1
│ │ │ │ ├── babel-helper-optimise-call-expression@6.24.1 deduped
│ │ │ │ ├── babel-messages@6.23.0 deduped
│ │ │ │ ├── babel-runtime@6.26.0 deduped
│ │ │ │ ├── babel-template@6.26.0 deduped
│ │ │ │ ├── babel-traverse@6.26.0 deduped
│ │ │ │ └── babel-types@6.26.0 deduped
│ │ │ ├── babel-messages@6.23.0 deduped
│ │ │ ├── babel-runtime@6.26.0 deduped
│ │ │ ├── babel-template@6.26.0 deduped
│ │ │ ├── babel-traverse@6.26.0 deduped
│ │ │ └── babel-types@6.26.0 deduped
│ │ ├─┬ babel-plugin-transform-es2015-computed-properties@6.24.1
│ │ │ ├── babel-runtime@6.26.0 deduped
│ │ │ └── babel-template@6.26.0 deduped
│ │ ├─┬ babel-plugin-transform-es2015-destructuring@6.23.0
│ │ │ └── babel-runtime@6.26.0 deduped
│ │ ├─┬ babel-plugin-transform-es2015-duplicate-keys@6.24.1
│ │ │ ├── babel-runtime@6.26.0 deduped
│ │ │ └── babel-types@6.26.0 deduped
│ │ ├─┬ babel-plugin-transform-es2015-for-of@6.23.0
│ │ │ └── babel-runtime@6.26.0 deduped
│ │ ├─┬ babel-plugin-transform-es2015-function-name@6.24.1
│ │ │ ├── babel-helper-function-name@6.24.1 deduped
│ │ │ ├── babel-runtime@6.26.0 deduped
│ │ │ └── babel-types@6.26.0 deduped
│ │ ├─┬ babel-plugin-transform-es2015-literals@6.22.0
│ │ │ └── babel-runtime@6.26.0 deduped
│ │ ├─┬ babel-plugin-transform-es2015-modules-amd@6.24.1
│ │ │ ├── babel-plugin-transform-es2015-modules-commonjs@6.26.2 deduped
│ │ │ ├── babel-runtime@6.26.0 deduped
│ │ │ └── babel-template@6.26.0 deduped
│ │ ├── babel-plugin-transform-es2015-modules-commonjs@6.26.2 deduped
│ │ ├─┬ babel-plugin-transform-es2015-modules-systemjs@6.24.1
│ │ │ ├─┬ babel-helper-hoist-variables@6.24.1
│ │ │ │ ├── babel-runtime@6.26.0 deduped
│ │ │ │ └── babel-types@6.26.0 deduped
│ │ │ ├── babel-runtime@6.26.0 deduped
│ │ │ └── babel-template@6.26.0 deduped
│ │ ├─┬ babel-plugin-transform-es2015-modules-umd@6.24.1
│ │ │ ├── babel-plugin-transform-es2015-modules-amd@6.24.1 deduped
│ │ │ ├── babel-runtime@6.26.0 deduped
│ │ │ └── babel-template@6.26.0 deduped
│ │ ├─┬ babel-plugin-transform-es2015-object-super@6.24.1
│ │ │ ├── babel-helper-replace-supers@6.24.1 deduped
│ │ │ └── babel-runtime@6.26.0 deduped
│ │ ├─┬ babel-plugin-transform-es2015-parameters@6.24.1
│ │ │ ���─┬ babel-helper-call-delegate@6.24.1
│ │ │ │ ├── babel-helper-hoist-variables@6.24.1 deduped
│ │ │ │ ├── babel-runtime@6.26.0 deduped
│ │ │ │ ├── babel-traverse@6.26.0 deduped
│ │ │ │ └── babel-types@6.26.0 deduped
│ │ │ ├─┬ babel-helper-get-function-arity@6.24.1
│ │ │ │ ├── babel-runtime@6.26.0 deduped
│ │ │ │ └── babel-types@6.26.0 deduped
│ │ │ ├── babel-runtime@6.26.0 deduped
│ │ │ ├── babel-template@6.26.0 deduped
│ │ │ ├── babel-traverse@6.26.0 deduped
│ │ │ └── babel-types@6.26.0 deduped
│ │ ├─┬ babel-plugin-transform-es2015-shorthand-properties@6.24.1
│ │ │ ├── babel-runtime@6.26.0 deduped
│ │ │ └── babel-types@6.26.0 deduped
│ │ ├─┬ babel-plugin-transform-es2015-spread@6.22.0
│ │ │ └── babel-runtime@6.26.0 deduped
│ │ ├─┬ babel-plugin-transform-es2015-sticky-regex@6.24.1
│ │ │ ├─┬ babel-helper-regex@6.26.0
│ │ │ │ ├── babel-runtime@6.26.0 deduped
│ │ │ │ ├── babel-types@6.26.0 deduped
│ │ │ │ └── lodash@4.17.10 deduped
│ │ │ ├── babel-runtime@6.26.0 deduped
│ │ │ └── babel-types@6.26.0 deduped
│ │ ├─┬ babel-plugin-transform-es2015-template-literals@6.22.0
│ │ │ └── babel-runtime@6.26.0 deduped
��� │ ├─┬ babel-plugin-transform-es2015-typeof-symbol@6.23.0
│ │ │ └── babel-runtime@6.26.0 deduped
│ │ ├─┬ babel-plugin-transform-es2015-unicode-regex@6.24.1
│ │ │ ├── babel-helper-regex@6.26.0 deduped
│ │ │ ├── babel-runtime@6.26.0 deduped
│ │ │ └─┬ regexpu-core@2.0.0
│ │ │   ├── regenerate@1.3.3 deduped
│ │ │   ├── regjsgen@0.2.0 deduped
│ │ │   └── regjsparser@0.1.5 deduped
│ │ ├─┬ babel-plugin-transform-exponentiation-operator@6.24.1
│ │ │ ├─┬ babel-helper-builder-binary-assignment-operator-visitor@6.24.1
│ │ │ │ ├─┬ babel-helper-explode-assignable-expression@6.24.1
│ │ │ │ │ ├── babel-runtime@6.26.0 deduped
│ │ │ │ │ ├── babel-traverse@6.26.0 deduped
│ │ │ │ │ └── babel-types@6.26.0 deduped
│ │ │ │ ├── babel-runtime@6.26.0 deduped
│ │ │ │ └── babel-types@6.26.0 deduped
│ │ │ ├── babel-plugin-syntax-exponentiation-operator@6.13.0
│ │ │ └── babel-runtime@6.26.0 deduped
│ │ ├─┬ babel-plugin-transform-regenerator@6.26.0
│ │ │ └─┬ regenerator-transform@0.10.1
│ │ │   ├── babel-runtime@6.26.0 deduped
│ │ │   ├── babel-types@6.26.0 deduped
│ │ │   └── private@0.1.8 deduped
│ │ ├── browserslist@3.2.7 deduped
│ │ ├── invariant@2.2.4 deduped
│ │ └── semver@5.5.0 deduped
│ ├─┬ babel-preset-es2015@6.24.1
│ │ ├── babel-plugin-check-es2015-constants@6.22.0 deduped
│ │ ├── babel-plugin-transform-es2015-arrow-functions@6.22.0 deduped
│ │ ├── babel-plugin-transform-es2015-block-scoped-functions@6.22.0 deduped
│ │ ├── babel-plugin-transform-es2015-block-scoping@6.26.0 deduped
│ │ ├── babel-plugin-transform-es2015-classes@6.24.1 deduped
│ │ ├── babel-plugin-transform-es2015-computed-properties@6.24.1 deduped
│ │ ├── babel-plugin-transform-es2015-destructuring@6.23.0 deduped
│ │ ├── babel-plugin-transform-es2015-duplicate-keys@6.24.1 deduped
│ │ ├── babel-plugin-transform-es2015-for-of@6.23.0 deduped
│ │ ├── babel-plugin-transform-es2015-function-name@6.24.1 deduped
│ │ ├── babel-plugin-transform-es2015-literals@6.22.0 deduped
│ │ ├── babel-plugin-transform-es2015-modules-amd@6.24.1 deduped
│ │ ├── babel-plugin-transform-es2015-modules-commonjs@6.26.2 deduped
│ │ ├── babel-plugin-transform-es2015-modules-systemjs@6.24.1 deduped
│ │ ├── babel-plugin-transform-es2015-modules-umd@6.24.1 deduped
│ │ ├── babel-plugin-transform-es2015-object-super@6.24.1 deduped
│ │ ├── babel-plugin-transform-es2015-parameters@6.24.1 deduped
│ │ ├── babel-plugin-transform-es2015-shorthand-properties@6.24.1 deduped
│ │ ├── babel-plugin-transform-es2015-spread@6.22.0 deduped
│ │ ├── babel-plugin-transform-es2015-sticky-regex@6.24.1 deduped
│ │ ├── babel-plugin-transform-es2015-template-literals@6.22.0 deduped
│ │ ├── babel-plugin-transform-es2015-typeof-symbol@6.23.0 deduped
│ │ ├── babel-plugin-transform-es2015-unicode-regex@6.24.1 deduped
│ │ └── babel-plugin-transform-regenerator@6.26.0 deduped
│ ├─┬ babel-preset-react@6.24.1
│ │ ├── babel-plugin-syntax-jsx@6.18.0
│ │ ├─┬ babel-plugin-transform-react-display-name@6.25.0
│ │ │ └── babel-runtime@6.26.0 deduped
│ │ ├─┬ babel-plugin-transform-react-jsx@6.24.1
│ │ │ ├─┬ babel-helper-builder-react-jsx@6.26.0
│ │ │ │ ├── babel-runtime@6.26.0 deduped
│ │ │ │ ├── babel-types@6.26.0 deduped
│ │ │ │ └── esutils@2.0.2 deduped
│ │ │ ├── babel-plugin-syntax-jsx@6.18.0 deduped
│ │ │ └── babel-runtime@6.26.0 deduped
│ │ ├─┬ babel-plugin-transform-react-jsx-self@6.22.0
│ │ │ ├── babel-plugin-syntax-jsx@6.18.0 deduped
│ │ │ └── babel-runtime@6.26.0 deduped
│ │ ├─┬ babel-plugin-transform-react-jsx-source@6.22.0
│ │ │ ├── babel-plugin-syntax-jsx@6.18.0 deduped
│ │ │ └── babel-runtime@6.26.0 deduped
│ │ └─┬ babel-preset-flow@6.23.0
│ │   └─┬ babel-plugin-transform-flow-strip-types@6.22.0
│ │     ├── babel-plugin-syntax-flow@6.18.0
│ │     └── babel-runtime@6.26.0 deduped
│ ├─┬ babel-preset-stage-0@6.24.1
│ │ ├─┬ babel-plugin-transform-do-expressions@6.22.0
│ │ │ ├── babel-plugin-syntax-do-expressions@6.13.0
│ │ │ └── babel-runtime@6.26.0 deduped
│ │ ├─┬ babel-plugin-transform-function-bind@6.22.0
│ │ │ ├── babel-plugin-syntax-function-bind@6.13.0
│ │ │ └── babel-runtime@6.26.0 deduped
│ │ └─┬ babel-preset-stage-1@6.24.1
│ │   ├─┬ babel-plugin-transform-class-constructor-call@6.24.1
│ │   │ ├── babel-plugin-syntax-class-constructor-call@6.18.0
│ │   │ ├── babel-runtime@6.26.0 deduped
│ │   │ └── babel-template@6.26.0 deduped
│ │   ├── babel-plugin-transform-export-extensions@6.22.0 deduped
│ │   └─┬ babel-preset-stage-2@6.24.1
│ │     ├── babel-plugin-syntax-dynamic-import@6.18.0
│ │     ├─┬ babel-plugin-transform-class-properties@6.24.1
│ │     │ ├── babel-helper-function-name@6.24.1 deduped
│ │     │ ├── babel-plugin-syntax-class-properties@6.13.0
│ │     │ ├── babel-runtime@6.26.0 deduped
│ │     │ └── babel-template@6.26.0 deduped
│ │     ├─┬ babel-plugin-transform-decorators@6.24.1
│ │     │ ├─┬ babel-helper-explode-class@6.24.1
│ │     │ │ ├─┬ babel-helper-bindify-decorators@6.24.1
│ │     │ │ │ ├── babel-runtime@6.26.0 deduped
│ │     │ │ │ ├── babel-traverse@6.26.0 deduped
│ │     │ │ │ └── babel-types@6.26.0 deduped
│ │     │ │ ├── babel-runtime@6.26.0 deduped
│ │     │ │ ├── babel-traverse@6.26.0 deduped
│ │     │ │ └── babel-types@6.26.0 deduped
│ │     │ ├── babel-plugin-syntax-decorators@6.13.0
│ │     │ ├── babel-runtime@6.26.0 deduped
│ │     │ ├── babel-template@6.26.0 deduped
│ │     │ └── babel-types@6.26.0 deduped
│ │     └─┬ babel-preset-stage-3@6.24.1
│ │       ├── babel-plugin-syntax-trailing-function-commas@6.22.0 deduped
│ │       ├─┬ babel-plugin-transform-async-generator-functions@6.24.1
│ │       │ ├── babel-helper-remap-async-to-generator@6.24.1 deduped
│ │       │ ├── babel-plugin-syntax-async-generators@6.13.0
│ │       │ └── babel-runtime@6.26.0 deduped
│ │       ├── babel-plugin-transform-async-to-generator@6.24.1 deduped
│ │       ├── babel-plugin-transform-exponentiation-operator@6.24.1 deduped
│ │       └─┬ babel-plugin-transform-object-rest-spread@6.26.0
│ │         ├── babel-plugin-syntax-object-rest-spread@6.13.0
│ │         └── babel-runtime@6.26.0 deduped
│ ├─┬ chalk@1.1.3
│ │ ├── ansi-styles@2.2.1
│ ��� ├── escape-string-regexp@1.0.5 deduped
│ │ ├─┬ has-ansi@2.0.0
│ │ │ └── ansi-regex@2.1.1 deduped
│ │ ├─┬ strip-ansi@3.0.1
│ │ │ └── ansi-regex@2.1.1 deduped
│ │ └── supports-color@2.0.0
│ ├─┬ consolidate@0.15.1
│ │ └── bluebird@3.5.1 deduped
│ ├── css-loader@0.28.11 deduped
│ ├─┬ debug@2.6.9
│ │ └── ms@2.0.0 deduped
│ ├─┬ download-git-repo@1.0.2
│ │ ├─┬ download@5.0.3
│ │ │ ├─┬ caw@2.0.1
│ │ │ │ ├─┬ get-proxy@2.1.0
│ │ │ │ │ └─┬ npm-conf@1.1.3
│ │ │ │ │   ├── config-chain@1.1.11 deduped
│ │ │ │ │   └── pify@3.0.0
│ │ │ │ ├─┬ isurl@1.0.0
│ │ │ │ │ ├─┬ has-to-string-tag-x@1.4.1
│ │ │ │ │ │ └── has-symbol-support-x@1.4.2
│ │ │ │ │ └── is-object@1.0.1
│ │ │ │ ├── tunnel-agent@0.6.0 deduped
│ │ │ │ └── url-to-options@1.0.1
│ │ │ ├─┬ decompress@4.2.0
│ │ │ │ ├─┬ decompress-tar@4.1.1
│ │ │ │ │ ├── file-type@5.2.0
│ │ │ │ │ ├── is-stream@1.1.0 deduped
│ │ │ │ │ └─┬ tar-stream@1.6.0
│ │ │ │ │   ├─┬ bl@1.2.2
│ │ │ │ │   │ ├── readable-stream@2.3.6 deduped
│ │ │ │ │   │ └── safe-buffer@5.1.2 deduped
│ │ │ │ │   ├─┬ buffer-alloc@1.1.0
│ │ │ │ │   │ ├── buffer-alloc-unsafe@0.1.1
│ │ │ │ │   │ └── buffer-fill@0.1.1
│ │ │ │ │   ├── end-of-stream@1.4.1 deduped
│ │ │ │ │   ├── fs-constants@1.0.0
│ │ │ │ │   ├── readable-stream@2.3.6 deduped
│ │ │ │ │   ├── to-buffer@1.1.1
│ │ │ │ │   └── xtend@4.0.1 deduped
│ │ │ │ ├─┬ decompress-tarbz2@4.1.1
│ │ │ │ │ ├── decompress-tar@4.1.1 deduped
│ │ │ │ │ ├── file-type@6.2.0
│ │ │ │ │ ├── is-stream@1.1.0 deduped
│ │ │ │ │ ├─┬ seek-bzip@1.0.5
│ │ │ │ │ │ └─┬ commander@2.8.1
│ │ │ │ │ │   └── graceful-readlink@1.0.1 deduped
│ │ │ │ │ └─┬ unbzip2-stream@1.2.5
│ │ │ │ │   ├─┬ buffer@3.6.0
│ │ │ │ │   │ ├── base64-js@0.0.8
│ │ │ │ │   │ ├── ieee754@1.1.11 deduped
│ │ │ │ │   │ └── isarray@1.0.0 deduped
│ │ │ │ │   └── through@2.3.8 deduped
│ │ │ │ ├─┬ decompress-targz@4.1.1
│ │ │ │ │ ├── decompress-tar@4.1.1 deduped
│ │ │ │ │ ├── file-type@5.2.0 deduped
│ │ │ │ │ └── is-stream@1.1.0 deduped
│ │ │ │ ├─┬ decompress-unzip@4.0.1
│ │ │ │ │ ├── file-type@3.9.0
│ │ │ │ │ ├─┬ get-stream@2.3.1
│ │ │ │ │ │ ├── object-assign@4.1.1 deduped
│ │ │ │ │ │ └─��� pinkie-promise@2.0.1 deduped
│ │ │ │ │ ├── pify@2.3.0 deduped
│ │ │ │ │ └─┬ yauzl@2.9.1
│ │ │ │ │   ├── buffer-crc32@0.2.13
│ │ │ │ │   └─┬ fd-slicer@1.0.1
│ │ │ │ │     └── pend@1.2.0
│ │ │ │ ├── graceful-fs@4.1.11 deduped
│ │ │ │ ├── make-dir@1.3.0 deduped
│ │ │ │ ├── pify@2.3.0 deduped
│ │ │ │ └─┬ strip-dirs@2.1.0
│ │ │ │   └── is-natural-number@4.0.1
│ │ │ ├─┬ filenamify@2.0.0
│ │ │ │ ├── filename-reserved-regex@2.0.0
│ │ │ │ ├─┬ strip-outer@1.0.1
│ │ │ │ │ └── escape-string-regexp@1.0.5 deduped
│ │ │ │ └─┬ trim-repeated@1.0.0
│ │ │ │   └── escape-string-regexp@1.0.5 deduped
│ │ │ ├── get-stream@3.0.0 deduped
│ │ │ ├── got@6.7.1 deduped
│ │ │ ├── mkdirp@0.5.1 deduped
│ │ │ └── pify@2.3.0 deduped
│ │ ├── git-clone@0.1.0
│ │ └── rimraf@2.6.2 deduped
│ ├── ejs@2.6.1
│ ├─┬ extract-text-webpack-plugin@4.0.0-beta.0
│ │ ├─┬ async@2.6.0
│ │ │ └── lodash@4.17.10 deduped
│ │ ├── loader-utils@1.1.0 deduped
│ │ ├── schema-utils@0.4.5 deduped
│ │ └── webpack-sources@1.1.0 deduped
│ ├── glob@7.1.2 deduped
│ ├─┬ glob-promise@3.4.0
│ │ └─┬ @types/glob@5.0.35
│ │   ├── @types/events@1.2.0
│ │   ├── @types/minimatch@3.0.3
│ │   └── @types/node@6.0.110
│ ├─┬ handlebars@4.0.11
│ │ ├── async@1.5.2 deduped
│ │ ├─┬ optimist@0.6.1
│ │ │ ├── minimist@0.0.8 deduped
│ │ │ └── wordwrap@0.0.3
│ │ ├─┬ source-map@0.4.4
│ │ │ └── amdefine@1.0.1
│ │ └─┬ uglify-js@2.8.29
│ │   ├── source-map@0.5.7
│ │   ├── uglify-to-browserify@1.0.2
│ │   └─┬ yargs@3.10.0
│ │     ├── camelcase@1.2.1
│ │     ├─┬ cliui@2.1.0
│ │     │ ├─┬ center-align@0.1.3
│ │     │ │ ├─┬ align-text@0.1.4
│ │     │ │ │ ├─┬ kind-of@3.2.2
│ │     │ │ │ │ └── is-buffer@1.1.6 deduped
│ │     │ │ │ ├── longest@1.0.1 deduped
│ │     │ │ │ └── repeat-string@1.6.1 deduped
│ │     │ │ └── lazy-cache@1.0.4
│ │     │ ├─┬ right-align@0.1.3
│ │     │ │ └── align-text@0.1.4 deduped
│ │     │ └── wordwrap@0.0.2
│ │     ├── decamelize@1.2.0 deduped
│ │     └── window-size@0.1.0
│ ├── html-webpack-plugin@3.2.0 deduped
│ ├── inquirer@3.3.0 deduped
│ ├── kebab-case@1.0.0
│ ├─┬ koa-router@7.4.0
│ │ ├── debug@3.1.0 deduped
│ │ ├─┬ http-errors@1.6.3
│ │ │ ├── depd@1.1.2 deduped
│ │ │ ├── inherits@2.0.3 deduped
│ │ │ ├── setprototypeof@1.1.0 deduped
│ │ │ └── statuses@1.4.0 deduped
│ │ ├─┬ koa-compose@3.2.1
│ │ │ └── any-promise@1.3.0 deduped
│ │ ├── methods@1.1.2
│ │ ├─┬ path-to-regexp@1.7.0
│ │ │ └── isarray@0.0.1
│ │ └── urijs@1.19.1
│ ├─┬ koa-views@6.1.4
│ │ ├── consolidate@0.15.1 deduped
│ │ ├── debug@3.1.0 deduped
│ │ ├─┬ get-paths@0.0.2
│ │ │ └─┬ fs-extra@4.0.3
│ │ │   ├── graceful-fs@4.1.11 deduped
│ │ │   ├── jsonfile@4.0.0 deduped
│ │ │   └── universalify@0.1.1 deduped
│ │ ├─┬ koa-send@4.1.3
│ │ │ ├─┬ debug@2.6.9
│ │ │ │ └── ms@2.0.0 deduped
│ │ │ ├── http-errors@1.6.3 deduped
│ │ │ ├── mz@2.7.0 deduped
│ │ │ └─┬ resolve-path@1.4.0
│ │ │   ├── http-errors@1.6.3 deduped
│ │ │   └── path-is-absolute@1.0.1 deduped
│ │ ├── mz@2.7.0 deduped
│ │ └─┬ pretty@2.0.0
│ │   ├─┬ condense-newlines@0.2.1
│ │   │ ├─┬ extend-shallow@2.0.1
│ │   │ │ └── is-extendable@0.1.1 deduped
│ │   │ ├── is-whitespace@0.3.0
│ │   │ └─┬ kind-of@3.2.2
│ │   │   └── is-buffer@1.1.6 deduped
│ │   ├─┬ extend-shallow@2.0.1
│ │   │ └── is-extendable@0.1.1
│ │   └─��� js-beautify@1.7.5
│ │     ├─┬ config-chain@1.1.11
│ │     │ ├── ini@1.3.5 deduped
│ │     │ └── proto-list@1.2.4
│ │     ├─┬ editorconfig@0.13.3
│ │     │ ├── bluebird@3.5.1 deduped
│ │     │ ├── commander@2.15.1 deduped
│ │     │ ├─┬ lru-cache@3.2.0
│ │     │ │ └── pseudomap@1.0.2 deduped
│ │     │ ├── semver@5.5.0 deduped
│ │     │ └── sigmund@1.0.1
│ │     ├── mkdirp@0.5.1 deduped
│ │     └── nopt@3.0.6 deduped
│ ├─┬ metalsmith@2.3.0
│ │ ├── absolute@0.0.1
│ │ ├─┬ chalk@1.1.3
│ │ │ ├── ansi-styles@2.2.1
│ │ │ ├── escape-string-regexp@1.0.5 deduped
│ │ │ ├── has-ansi@2.0.0 deduped
│ │ │ ├─┬ strip-ansi@3.0.1
│ │ │ │ └── ansi-regex@2.1.1 deduped
│ │ │ └── supports-color@2.0.0
│ │ ├── clone@1.0.4
│ │ ├─┬ co-fs-extra@1.2.1
│ │ │ ├─┬ co-from-stream@0.0.0
│ │ │ │ └── co-read@0.0.1
│ │ │ ├─┬ fs-extra@0.26.7
│ │ │ │ ├── graceful-fs@4.1.11 deduped
│ │ │ │ ├─┬ jsonfile@2.4.0
│ │ │ │ │ └── graceful-fs@4.1.11 deduped
│ │ │ │ ├─┬ klaw@1.3.1
│ │ │ │ │ └── graceful-fs@4.1.11 deduped
│ │ │ │ ├── path-is-absolute@1.0.1 deduped
│ │ │ │ └── rimraf@2.6.2 deduped
│ ��� │ └─┬ thunkify-wrap@1.0.4
│ │ │   └── enable@1.3.2
│ │ ├── commander@2.15.1 deduped
│ │ ├─┬ gray-matter@2.1.1
│ │ │ ├─┬ ansi-red@0.1.1
│ │ │ │ └── ansi-wrap@0.1.0
│ │ │ ├── coffee-script@1.12.7
│ │ │ ├─┬ extend-shallow@2.0.1
│ │ │ │ └── is-extendable@0.1.1 deduped
│ │ │ ├── js-yaml@3.11.0 deduped
│ │ │ └── toml@2.3.3
│ │ ├── has-generators@1.0.1
│ │ ├── is@3.2.1
│ │ ├── is-utf8@0.2.1
│ │ ├─┬ recursive-readdir@2.2.2
│ │ │ └── minimatch@3.0.4 deduped
│ │ ├── rimraf@2.6.2 deduped
│ │ ├── stat-mode@0.2.2
│ │ ├── thunkify@2.1.2
│ │ ├─┬ unyield@0.0.1
│ │ │ └── co@3.1.0
│ │ ├─┬ ware@1.3.0
│ │ │ └─┬ wrap-fn@0.1.5
│ │ │   └── co@3.1.0
│ │ └── win-fork@1.1.1
│ ├── mkdirp@0.5.1 deduped
│ ├── moment@2.22.1 deduped
│ ├─┬ multimatch@2.1.0
│ │ ├── array-differ@1.0.0
│ │ ├── array-union@1.0.2 deduped
│ │ ├── arrify@1.0.1
│ │ └── minimatch@3.0.4 deduped
│ ├─┬ node-sass@4.9.0
│ │ ├── async-foreach@0.1.3
│ │ ├─┬ chalk@1.1.3
│ │ │ ├── ansi-styles@2.2.1
│ │ │ ├── escape-string-regexp@1.0.5 deduped
│ │ │ ├── has-ansi@2.0.0 deduped
│ │ │ ├─┬ strip-ansi@3.0.1
│ │ │ │ └── ansi-regex@2.1.1 deduped
│ │ │ └── supports-color@2.0.0
│ │ ├─┬ cross-spawn@3.0.1
│ │ │ ├── lru-cache@4.1.3 deduped
│ │ │ └── which@1.3.0 deduped
│ │ ├─┬ gaze@1.1.2
│ │ │ └─┬ globule@1.2.0
│ │ │   ├── glob@7.1.2 deduped
│ │ │   ├── lodash@4.17.10 deduped
│ │ │   └── minimatch@3.0.4 deduped
│ │ ├── get-stdin@4.0.1
│ │ ├── glob@7.1.2 deduped
│ │ ├── in-publish@2.0.0
│ │ ├── lodash.assign@4.2.0
│ │ ├── lodash.clonedeep@4.5.0
│ │ ├── lodash.mergewith@4.6.1
│ │ ├─┬ meow@3.7.0
│ │ │ ├─┬ camelcase-keys@2.1.0
│ │ │ │ ├── camelcase@2.1.1
│ │ │ │ └── map-obj@1.0.1 deduped
│ │ │ ├── decamelize@1.2.0 deduped
│ │ │ ├── loud-rejection@1.6.0 deduped
│ │ │ ├── map-obj@1.0.1
│ │ │ ├── minimist@1.2.0
│ │ │ ├── normalize-package-data@2.4.0 deduped
│ │ │ ├── object-assign@4.1.1 deduped
│ │ │ ├─┬ read-pkg-up@1.0.1
│ │ │ │ ├── find-up@1.1.2 deduped
│ │ │ │ └─┬ read-pkg@1.1.0
│ │ │ │   ├─┬ load-json-file@1.1.0
│ │ │ │   │ ├── graceful-fs@4.1.11 deduped
│ │ │ │   │ ├── parse-json@2.2.0 deduped
│ │ │ │   │ ├── pify@2.3.0 deduped
│ │ │ │   │ ├── pinkie-promise@2.0.1 deduped
│ │ │ │   │ └─┬ strip-bom@2.0.0
│ │ │ │   │   └── is-utf8@0.2.1 deduped
│ │ │ │   ├── normalize-package-data@2.4.0 deduped
│ │ │ │   └─┬ path-type@1.1.0
│ │ │ │     ├── graceful-fs@4.1.11 deduped
│ │ │ │     ├── pify@2.3.0 deduped
│ │ │ │     └── pinkie-promise@2.0.1 deduped
│ │ │ ├─┬ redent@1.0.0
│ │ │ │ ├─┬ indent-string@2.1.0
│ │ │ │ │ └── repeating@2.0.1 deduped
│ │ │ │ └─┬ strip-indent@1.0.1
│ │ │ │   └── get-stdin@4.0.1 deduped
│ │ │ └── trim-newlines@1.0.0
│ │ ├── mkdirp@0.5.1 deduped
│ │ ├── nan@2.10.0 deduped
│ │ ├─┬ node-gyp@3.6.2
│ │ │ ├── fstream@1.0.11 deduped
│ │ │ ├── glob@7.1.2 deduped
│ │ │ ├── graceful-fs@4.1.11 deduped
│ │ │ ├── minimatch@3.0.4 deduped
│ │ │ ├── mkdirp@0.5.1 deduped
│ │ │ ├─┬ nopt@3.0.6
│ │ │ │ └── abbrev@1.1.1
│ │ │ ├── npmlog@4.1.2 deduped
│ │ │ ├─┬ osenv@0.1.5
│ │ │ │ ├── os-homedir@1.0.2 deduped
│ │ │ │ └── os-tmpdir@1.0.2 deduped
│ │ │ ├── request@2.85.0 deduped
│ │ │ ├── rimraf@2.6.2 deduped
│ │ │ ├── semver@5.3.0
│ │ │ ├── tar@2.2.1 deduped
│ │ │ └── which@1.3.0 deduped
│ │ ├── npmlog@4.1.2 deduped
│ │ ├─┬ request@2.79.0
│ │ │ ├── aws-sign2@0.6.0
│ │ │ ├── aws4@1.7.0 deduped
│ │ │ ├── caseless@0.11.0
│ │ │ ├── combined-stream@1.0.6 deduped
│ │ │ ├── extend@3.0.1 deduped
│ │ │ ├── forever-agent@0.6.1 deduped
│ │ │ ├─┬ form-data@2.1.4
│ │ │ │ ├── asynckit@0.4.0 deduped
│ │ │ │ ├── combined-stream@1.0.6 deduped
│ │ │ │ └── mime-types@2.1.18 deduped
│ │ │ ├─┬ har-validator@2.0.6
│ │ │ │ ├── chalk@1.1.3 deduped
│ │ │ │ ├── commander@2.15.1 deduped
│ │ │ │ ├─┬ is-my-json-valid@2.17.2
│ │ │ │ │ ├── generate-function@2.0.0
│ │ │ │ │ ├─┬ generate-object-property@1.2.0
│ │ │ │ │ │ └── is-property@1.0.2
│ │ │ │ │ ├── is-my-ip-valid@1.0.0
│ │ │ │ │ ├── jsonpointer@4.0.1
│ │ │ │ │ └── xtend@4.0.1 deduped
│ │ │ │ └── pinkie-promise@2.0.1 deduped
│ │ │ ├─┬ hawk@3.1.3
│ │ │ │ ├─┬ boom@2.10.1
│ │ │ │ │ └── hoek@2.16.3 deduped
│ │ │ │ ├─┬ cryptiles@2.0.5
│ │ │ │ │ └── boom@2.10.1 deduped
│ │ │ │ ├── hoek@2.16.3
│ │ │ │ └─┬ sntp@1.0.9
│ │ │ │   └── hoek@2.16.3 deduped
│ ��� │ ├─┬ http-signature@1.1.1
│ │ │ │ ├── assert-plus@0.2.0
│ │ │ │ ├── jsprim@1.4.1 deduped
│ │ │ │ └── sshpk@1.14.1 deduped
│ │ │ ├── is-typedarray@1.0.0 deduped
│ │ │ ├── isstream@0.1.2 deduped
│ │ │ ├── json-stringify-safe@5.0.1 deduped
│ │ │ ├── mime-types@2.1.18 deduped
│ │ │ ├── oauth-sign@0.8.2 deduped
│ │ │ ├── qs@6.3.2
│ │ │ ├── stringstream@0.0.5 deduped
│ │ │ ├── tough-cookie@2.3.4 deduped
│ │ │ ├── tunnel-agent@0.4.3
│ │ │ └── uuid@3.2.1 deduped
│ │ ├─┬ sass-graph@2.2.4
│ │ │ ├── glob@7.1.2 deduped
│ │ │ ├── lodash@4.17.10 deduped
│ │ │ ├─┬ scss-tokenizer@0.2.3
│ │ │ │ ├── js-base64@2.4.3 deduped
│ │ │ │ └─┬ source-map@0.4.4
│ │ │ │   └── amdefine@1.0.1 deduped
│ │ │ └─┬ yargs@7.1.0
│ │ │   ├── camelcase@3.0.0
│ │ │   ├─┬ cliui@3.2.0
│ │ │   │ ├── string-width@1.0.2 deduped
│ │ │   │ ├─┬ strip-ansi@3.0.1
│ │ │   │ │ └── ansi-regex@2.1.1 deduped
│ │ │   │ └── wrap-ansi@2.1.0 deduped
│ │ │   ├── decamelize@1.2.0 deduped
│ │ │   ├── get-caller-file@1.0.2 deduped
│ │ │   ├─┬ os-locale@1.4.0
│ │ │   │ └── lcid@1.0.0 deduped
│ │ │   ├── read-pkg-up@1.0.1 deduped
│ │ │   ├── require-directory@2.1.1 deduped
│ │ │   ├── require-main-filename@1.0.1 deduped
│ │ │   ├── set-blocking@2.0.0 deduped
│ │ │   ├─┬ string-width@1.0.2
│ │ │   │ ├── code-point-at@1.1.0 deduped
│ │ │   │ ├─┬ is-fullwidth-code-point@1.0.0
│ │ │   │ │ └── number-is-nan@1.0.1 deduped
│ │ │   │ └── strip-ansi@3.0.1 deduped
│ │ │   ├── which-module@1.0.0
│ │ │   ├── y18n@3.2.1
│ │ │   └─┬ yargs-parser@5.0.0
│ │ │     └── camelcase@3.0.0 deduped
│ │ ├─┬ stdout-stream@1.4.0
│ │ │ └── readable-stream@2.3.6 deduped
│ │ └─┬ true-case-path@1.0.2
│ │   └─┬ glob@6.0.4
│ │     ├── inflight@1.0.6 deduped
│ │     ├── inherits@2.0.3 deduped
│ │     ├── minimatch@3.0.4 deduped
│ │     ├── once@1.4.0 deduped
│ │     └── path-is-absolute@1.0.1 deduped
│ ├── ora@2.1.0 deduped
│ ├─┬ read-metadata@1.0.0
│ │ └── yaml-js@0.0.8
│ ├── request@2.85.0 deduped
│ ├── request-promise@4.2.2 deduped
│ ├─┬ rimraf@2.6.2
│ │ └── glob@7.1.2 deduped
│ ├─┬ sass-loader@6.0.7
│ │ ├─┬ clone-deep@2.0.2
│ │ │ ├─┬ for-own@1.0.0
│ │ │ │ └── for-in@1.0.2
│ │ │ ├─┬ is-plain-object@2.0.4
│ │ │ │ └── isobject@3.0.1 deduped
│ │ │ ├── kind-of@6.0.2 deduped
│ │ │ └─┬ shallow-clone@1.0.0
│ │ │   ├── is-extendable@0.1.1 deduped
│ │ │   ├── kind-of@5.1.0
│ │ │   └─┬ mixin-object@2.0.1
│ │ │     ├── for-in@0.1.8
│ │ │     └── is-extendable@0.1.1 deduped
│ │ ├── loader-utils@1.1.0 deduped
│ │ ├── lodash.tail@4.1.1
│ │ ├── neo-async@2.5.1 deduped
│ │ └── pify@3.0.0
│ ├── semver@5.5.0 deduped
│ ├─┬ style-loader@0.20.3
│ │ ├── loader-utils@1.1.0 deduped
│ │ └── schema-utils@0.4.5 deduped
│ ├─┬ tar@2.2.1
│ │ ├─┬ block-stream@0.0.9
│ │ │ └── inherits@2.0.3 deduped
│ │ ├─┬ fstream@1.0.11
│ │ │ ├── graceful-fs@4.1.11 deduped
│ │ │ ├── inherits@2.0.3 deduped
│ │ │ ├── mkdirp@0.5.1 deduped
│ │ │ └── rimraf@2.6.2 deduped
│ │ └── inherits@2.0.3 deduped
│ ├─┬ tildify@1.2.0
│ │ └── os-homedir@1.0.2
│ ├── uppercamelcase@3.0.0 deduped
│ ├─┬ user-home@2.0.0
│ │ └── os-homedir@1.0.2 deduped
│ ├── uuid@3.2.1
│ ├─┬ validate-npm-package-name@3.0.0
│ │ └── builtins@1.0.3
│ ├─┬ vue-loader@14.2.2
│ │ ├─┬ consolidate@0.14.5
│ │ │ └── bluebird@3.5.1 deduped
│ │ ├── hash-sum@1.0.2 deduped
│ │ ├── loader-utils@1.1.0 deduped
│ │ ├── lru-cache@4.1.3 deduped
│ │ ├── postcss@6.0.22 deduped
│ │ ├── postcss-load-config@1.2.0 deduped
│ │ ├─┬ postcss-selector-parser@2.2.3
│ │ │ ├── flatten@1.0.2
│ │ │ ├── indexes-of@1.0.1
│ │ │ └── uniq@1.0.1
│ │ ├── prettier@1.12.1
│ │ ├── resolve@1.7.1 deduped
│ │ ├── source-map@0.6.1
│ │ ├── vue-hot-reload-api@2.3.0 deduped
│ │ ├── vue-style-loader@4.1.0 deduped
│ │ └── vue-template-es2015-compiler@1.6.0
│ ├─┬ vue-style-loader@4.1.0
│ │ ├── hash-sum@1.0.2 deduped
│ │ └── loader-utils@1.1.0 deduped
│ ├── vue-template-compiler@2.5.16 deduped
│ ├── webpack@4.8.2 deduped
│ ├── webpack-dev-server@3.1.4 deduped
│ ├─┬ webpack-hot-client@2.2.2
│ │ ├── json-stringify-safe@5.0.1 deduped
│ │ ├─┬ loglevelnext@1.0.5
│ │ │ ├─┬ es6-symbol@3.1.1
│ │ │ │ ├─┬ d@1.0.0
│ │ │ │ │ └── es5-ext@0.10.42 deduped
│ │ │ │ └─┬ es5-ext@0.10.42
│ │ │ │   ├─┬ es6-iterator@2.0.3
│ │ │ │   │ ├── d@1.0.0 deduped
│ │ │ │   │ ├── es5-ext@0.10.42 deduped
│ │ │ │   │ └── es6-symbol@3.1.1 deduped
│ │ │ │   ├── es6-symbol@3.1.1 deduped
│ │ │ │   └── next-tick@1.0.0
│ │ │ └─┬ object.assign@4.1.0
│ │ │   ├── define-properties@1.1.2 deduped
│ │ │   ├── function-bind@1.1.1 deduped
│ │ │   ├── has-symbols@1.0.0
│ │ │   └── object-keys@1.0.11 deduped
│ │ ├── uuid@3.2.1 deduped
│ │ ├── webpack-log@1.2.0 deduped
│ │ └─┬ ws@4.1.0
│ │   ├── async-limiter@1.0.0
│ │   └── safe-buffer@5.1.2 deduped
│ ├── webpack-merge@4.1.2 deduped
│ ├─┬ webpack-plugin-import@0.1.2
│ │ └── loader-utils@1.1.0 deduped
│ ├─┬ webpack-serve@0.3.2
│ │ ├─┬ @shellscape/koa-static@4.0.5
│ │ │ ├─┬ @shellscape/koa-send@4.1.3
│ │ │ │ ├─┬ debug@2.6.9
│ │ │ │ │ └── ms@2.0.0 deduped
│ │ │ │ ├── http-errors@1.6.3 deduped
│ │ │ │ ├── mz@2.7.0 deduped
│ │ │ │ └── resolve-path@1.4.0 deduped
│ │ │ └─┬ debug@2.6.9
│ │ │   └── ms@2.0.0 deduped
│ │ ├── chalk@2.4.1 deduped
│ │ ├─┬ clipboardy@1.2.3
│ │ │ ├── arch@2.1.0
│ │ │ └─┬ execa@0.8.0
│ │ │   ├── cross-spawn@5.1.0 deduped
│ │ │   ├── get-stream@3.0.0 deduped
│ │ │   ├── is-stream@1.1.0 deduped
│ │ │   ├── npm-run-path@2.0.2 deduped
│ │ │   ├── p-finally@1.0.0 deduped
│ │ │   ├── signal-exit@3.0.2 deduped
│ │ │   └── strip-eof@1.0.0 deduped
│ │ ├─┬ cosmiconfig@4.0.0
│ │ │ ├── is-directory@0.3.1
│ │ │ ├── js-yaml@3.11.0 deduped
│ │ │ ├─┬ parse-json@4.0.0
│ │ │ │ ├── error-ex@1.3.1 deduped
│ │ │ │ └── json-parse-better-errors@1.0.2 deduped
│ │ │ └── require-from-string@2.0.2
│ │ ├── debug@3.1.0 deduped
│ │ ├─┬ find-up@2.1.0
│ │ │ └── locate-path@2.0.0 deduped
│ │ ├── get-port@3.2.0 deduped
│ │ ├── import-local@1.0.0 deduped
│ │ ├── killable@1.0.0 deduped
│ │ ├─┬ koa@2.5.1
│ │ │ ├── accepts@1.3.5 deduped
│ │ │ ├── content-disposition@0.5.2 deduped
│ │ │ ├── content-type@1.0.4 deduped
│ │ │ ├─┬ cookies@0.7.1
│ │ │ │ ├── depd@1.1.2 deduped
│ │ │ │ └── keygrip@1.0.2
│ │ │ ├── debug@3.1.0 deduped
│ │ │ ├── delegates@1.0.0
│ │ │ ├── depd@1.1.2 deduped
│ │ │ ├── destroy@1.0.4 deduped
│ │ │ ├── error-inject@1.0.0
│ │ │ ├── escape-html@1.0.3 deduped
│ │ │ ├── fresh@0.5.2 deduped
│ │ │ ├─┬ http-assert@1.3.0
│ │ │ │ ├── deep-equal@1.0.1 deduped
│ │ │ │ └── http-errors@1.6.3 deduped
│ │ │ ├── http-errors@1.6.3 deduped
│ │ │ ├── is-generator-function@1.0.7
│ │ │ ├── koa-compose@4.0.0
│ │ │ ├─┬ koa-convert@1.2.0
│ │ │ │ ├── co@4.6.0 deduped
│ │ │ │ └── koa-compose@3.2.1 deduped
│ │ │ ├── koa-is-json@1.0.0
│ │ │ ├── mime-types@2.1.18 deduped
│ │ │ ├── on-finished@2.3.0 deduped
│ │ │ ├── only@0.0.2
│ │ │ ├── parseurl@1.3.2 deduped
│ │ │ ├── statuses@1.4.0 deduped
│ │ │ ├── type-is@1.6.16 deduped
│ │ │ └── vary@1.1.2 deduped
│ │ ├─┬ koa-webpack@3.0.2
│ │ │ ├── app-root-path@2.0.1
│ │ │ ├─┬ merge-options@1.0.1
│ │ │ │ └── is-plain-obj@1.1.0 deduped
│ │ │ ├── webpack-dev-middleware@3.1.3 deduped
│ │ │ ├── webpack-hot-client@2.2.2 deduped
│ │ │ └── webpack-log@1.2.0 deduped
│ │ ├── lodash@4.17.10 deduped
│ │ ├─┬ loud-rejection@1.6.0
│ │ │ ├─┬ currently-unhandled@0.4.1
│ │ │ │ └── array-find-index@1.0.2
│ │ │ └── signal-exit@3.0.2 deduped
│ │ ├─┬ meow@4.0.1
│ │ │ ├─┬ camelcase-keys@4.2.0
│ │ │ │ ├── camelcase@4.1.0
│ │ │ │ ├── map-obj@2.0.0
│ │ │ │ └── quick-lru@1.1.0
│ │ │ ├─��� decamelize-keys@1.1.0
│ │ │ │ ├── decamelize@1.2.0 deduped
│ │ │ │ └── map-obj@1.0.1 deduped
│ │ │ ├── loud-rejection@1.6.0 deduped
│ │ │ ├── minimist@1.2.0
│ │ │ ├─┬ minimist-options@3.0.2
│ │ │ │ ├── arrify@1.0.1 deduped
│ │ │ │ └── is-plain-obj@1.1.0 deduped
│ │ │ ├── normalize-package-data@2.4.0 deduped
│ │ │ ├─┬ read-pkg-up@3.0.0
│ │ │ │ ├── find-up@2.1.0 deduped
│ │ │ │ └── read-pkg@3.0.0 deduped
│ │ │ ├─┬ redent@2.0.0
│ │ │ │ ├── indent-string@3.2.0
│ │ │ │ └── strip-indent@2.0.0
│ │ │ └── trim-newlines@2.0.0
│ │ ├─┬ nanobus@4.3.3
│ │ │ ├─┬ nanotiming@7.3.1
│ │ │ │ ├── nanoassert@1.1.0
│ │ │ │ └─┬ nanoscheduler@1.0.3
│ │ │ │   └── nanoassert@1.1.0 deduped
│ │ │ └── remove-array-items@1.0.0
│ │ ├── opn@5.3.0 deduped
│ │ ├── resolve@1.7.1 deduped
│ │ ├── time-fix-plugin@2.0.1
│ │ ├─┬ update-notifier@2.5.0
│ │ │ ├─┬ boxen@1.3.0
│ │ │ │ ├─┬ ansi-align@2.0.0
│ │ │ │ │ └── string-width@2.1.1 deduped
│ │ │ │ ├── camelcase@4.1.0
│ │ │ │ ├── chalk@2.4.1 deduped
│ │ │ │ ├── cli-boxes@1.0.0
│ │ │ │ ├── string-width@2.1.1 deduped
│ │ │ │ ├─┬ term-size@1.2.0
│ │ │ │ │ └─┬ execa@0.7.0
│ │ │ │ │   ├── cross-spawn@5.1.0 deduped
│ │ │ │ │   ├── get-stream@3.0.0 deduped
│ │ │ │ │   ├── is-stream@1.1.0 deduped
│ │ │ │ │   ├── npm-run-path@2.0.2 deduped
│ │ │ │ │   ├── p-finally@1.0.0 deduped
│ │ │ │ │   ├── signal-exit@3.0.2 deduped
│ │ │ │ │   └── strip-eof@1.0.0 deduped
│ │ │ │ └─┬ widest-line@2.0.0
│ │ │ │   └── string-width@2.1.1 deduped
│ │ │ ├── chalk@2.4.1 deduped
│ │ │ ├─┬ configstore@3.1.2
│ │ │ │ ├── dot-prop@4.2.0 deduped
│ │ │ │ ├── graceful-fs@4.1.11 deduped
│ │ │ │ ├── make-dir@1.3.0 deduped
│ │ │ │ ├─┬ unique-string@1.0.0
│ │ │ │ │ └── crypto-random-string@1.0.0
│ │ │ │ ├── write-file-atomic@2.3.0 deduped
│ │ │ │ └── xdg-basedir@3.0.0 deduped
│ │ │ ├── import-lazy@2.1.0
│ │ │ ├── is-ci@1.1.0 deduped
│ │ │ ├─┬ is-installed-globally@0.1.0
│ │ │ │ ├─┬ global-dirs@0.1.1
│ │ │ │ │ └── ini@1.3.5 deduped
│ │ │ │ └── is-path-inside@1.0.1 deduped
│ │ │ ├── is-npm@1.0.0
│ │ │ ├─┬ latest-version@3.1.0
│ │ │ │ └── package-json@4.0.1 deduped
│ │ │ ├─┬ semver-diff@2.1.0
│ │ │ │ └── semver@5.5.0 deduped
│ │ │ └── xdg-basedir@3.0.0
│ │ ├── url-join@3.0.0
│ │ ├── v8-compile-cache@1.1.2
│ │ ├── webpack-hot-client@2.2.2 deduped
│ │ └── webpack-log@1.2.0 deduped
│ └─┬ write@0.3.3
│   ├── fs-exists-sync@0.1.0
│   └── mkdirp@0.5.1 deduped
├─┬ lerna@2.11.0
│ ├── async@1.5.2
│ ├── chalk@2.4.1 deduped
│ ├─┬ cmd-shim@2.0.2
│ │ ├── graceful-fs@4.1.11 deduped
│ │ └── mkdirp@0.5.1 deduped
│ ├─┬ columnify@1.5.4
│ │ ├─┬ strip-ansi@3.0.1
│ │ │ └── ansi-regex@2.1.1 deduped
│ │ └── wcwidth@1.0.1 deduped
│ ├── command-join@2.0.0
│ ├─┬ conventional-changelog-cli@1.3.22
│ │ ├── add-stream@1.0.0
│ │ ├─┬ conventional-changelog@1.1.24
│ │ │ ├─┬ conventional-changelog-angular@1.6.6
│ │ │ │ ├─┬ compare-func@1.3.2
│ │ │ │ │ ├── array-ify@1.0.0
│ │ │ │ │ └─┬ dot-prop@3.0.0
│ │ │ │ │   └── is-obj@1.0.1 deduped
│ │ │ │ └── q@1.5.1
│ │ │ ├─┬ conventional-changelog-atom@0.2.8
│ │ │ │ └── q@1.5.1 deduped
│ │ │ ├─┬ conventional-changelog-codemirror@0.3.8
│ │ │ │ └── q@1.5.1 deduped
│ │ │ ├─┬ conventional-changelog-core@2.0.11
│ │ │ │ ├─┬ conventional-changelog-writer@3.0.9
│ │ │ │ ��� ├── compare-func@1.3.2 deduped
│ │ │ │ │ ├── conventional-commits-filter@1.1.6 deduped
│ │ │ │ │ ├── dateformat@3.0.3
│ │ │ │ │ ├── handlebars@4.0.11 deduped
│ │ │ │ │ ├── json-stringify-safe@5.0.1 deduped
│ │ │ │ │ ├── lodash@4.17.10 deduped
│ │ │ │ │ ├─┬ meow@4.0.1
│ │ │ │ │ │ ├─┬ camelcase-keys@4.2.0
│ │ │ │ │ │ │ ├── camelcase@4.1.0
│ │ │ │ │ │ │ ├── map-obj@2.0.0
│ │ │ │ │ │ │ └── quick-lru@1.1.0 deduped
│ │ │ │ │ │ ├── decamelize-keys@1.1.0 deduped
│ │ │ │ │ │ ├── loud-rejection@1.6.0 deduped
│ │ │ │ │ │ ├── minimist@1.2.0
│ │ │ │ │ │ ├── minimist-options@3.0.2 deduped
│ │ │ │ │ │ ├── normalize-package-data@2.4.0 deduped
│ │ │ │ │ │ ├─┬ read-pkg-up@3.0.0
│ │ │ │ │ │ │ ├─┬ find-up@2.1.0
│ │ │ │ │ │ │ │ └── locate-path@2.0.0 deduped
│ │ │ │ │ │ │ └── read-pkg@3.0.0 deduped
│ │ │ │ │ │ ├─┬ redent@2.0.0
│ │ │ │ │ │ │ ├── indent-string@3.2.0
│ │ │ │ │ │ │ └── strip-indent@2.0.0
│ │ │ │ │ │ └── trim-newlines@2.0.0
│ │ │ │ │ ├── semver@5.5.0 deduped
│ │ │ │ │ ├─┬ split@1.0.1
│ │ │ │ │ │ └── through@2.3.8 deduped
│ │ │ │ │ └── through2@2.0.3 deduped
│ │ │ │ ├── conventional-commits-parser@2.1.7 deduped
│ │ │ │ ├── dateformat@3.0.3
│ │ │ │ ├─┬ get-pkg-repo@1.4.0
│ │ │ │ │ ├── hosted-git-info@2.6.0 deduped
│ │ │ │ │ ├── meow@3.7.0 deduped
│ │ │ │ │ ├── normalize-package-data@2.4.0 deduped
│ │ │ │ │ ├── parse-github-repo-url@1.4.1
│ │ │ │ │ └── through2@2.0.3 deduped
│ │ │ │ ├── git-raw-commits@1.3.6 deduped
│ │ │ │ ├─┬ git-remote-origin-url@2.0.0
│ │ │ │ │ ├─┬ gitconfiglocal@1.0.0
│ │ │ │ │ │ └── ini@1.3.5 deduped
│ │ │ │ │ └── pify@2.3.0 deduped
│ │ │ │ ├── git-semver-tags@1.3.6 deduped
│ │ │ │ ├── lodash@4.17.10 deduped
│ │ │ │ ├── normalize-package-data@2.4.0 deduped
│ │ │ │ ├── q@1.5.1 deduped
│ │ │ │ ├─┬ read-pkg@1.1.0
│ │ │ │ │ ├─┬ load-json-file@1.1.0
│ │ │ │ │ │ ├── graceful-fs@4.1.11 deduped
│ │ │ │ │ │ ├── parse-json@2.2.0 deduped
│ │ │ │ │ │ ├── pify@2.3.0 deduped
│ │ │ │ │ │ ├── pinkie-promise@2.0.1 deduped
│ │ │ │ │ │ └─┬ strip-bom@2.0.0
│ │ │ │ │ │   └── is-utf8@0.2.1 deduped
│ │ │ │ │ ├���─ normalize-package-data@2.4.0 deduped
│ │ │ │ │ └─┬ path-type@1.1.0
│ │ │ │ │   ├── graceful-fs@4.1.11 deduped
│ │ │ │ │   ├── pify@2.3.0 deduped
│ │ │ │ │   └── pinkie-promise@2.0.1 deduped
│ │ │ │ ├── read-pkg-up@1.0.1 deduped
│ │ │ │ └── through2@2.0.3 deduped
│ │ │ ├─┬ conventional-changelog-ember@0.3.12
│ │ │ │ └── q@1.5.1 deduped
│ │ │ ├─┬ conventional-changelog-eslint@1.0.9
│ │ │ │ └── q@1.5.1 deduped
│ │ │ ├─┬ conventional-changelog-express@0.3.6
│ │ │ │ └── q@1.5.1 deduped
│ │ │ ├─┬ conventional-changelog-jquery@0.1.0
│ │ │ │ └── q@1.5.1 deduped
│ │ │ ├─┬ conventional-changelog-jscs@0.1.0
│ │ │ │ └── q@1.5.1 deduped
│ │ │ ├─┬ conventional-changelog-jshint@0.3.8
│ │ │ │ ├── compare-func@1.3.2 deduped
│ │ │ │ └── q@1.5.1 deduped
│ │ │ └── conventional-changelog-preset-loader@1.1.8
│ │ ├── lodash@4.17.10 deduped
│ │ ├─┬ meow@4.0.1
│ │ │ ├─┬ camelcase-keys@4.2.0
│ │ │ │ ├── camelcase@4.1.0
│ │ │ │ ├── map-obj@2.0.0
│ │ │ │ └── quick-lru@1.1.0 deduped
│ │ │ ├── decamelize-keys@1.1.0 deduped
│ │ │ ├── loud-rejection@1.6.0 deduped
│ │ │ ├── minimist@1.2.0
│ │ │ ├── minimist-options@3.0.2 deduped
│ │ │ ├── normalize-package-data@2.4.0 deduped
│ │ │ ├─┬ read-pkg-up@3.0.0
│ │ │ │ ├─┬ find-up@2.1.0
│ │ │ │ │ └── locate-path@2.0.0 deduped
│ │ │ │ └── read-pkg@3.0.0 deduped
│ │ │ ├─┬ redent@2.0.0
│ │ │ │ ├── indent-string@3.2.0
│ │ │ │ └── strip-indent@2.0.0
│ │ │ └── trim-newlines@2.0.0
│ │ └─┬ tempfile@1.1.1
│ │   ├── os-tmpdir@1.0.2 deduped
│ │   └── uuid@2.0.3
│ ├─┬ conventional-recommended-bump@1.2.1
│ │ ├── concat-stream@1.6.2 deduped
│ │ ├─┬ conventional-commits-filter@1.1.6
│ │ │ ├── is-subset@0.1.1
│ │ │ └── modify-values@1.0.1
│ │ ├─┬ conventional-commits-parser@2.1.7
│ │ │ ├─┬ is-text-path@1.0.1
│ │ │ │ └── text-extensions@1.7.0
│ │ │ ├─┬ JSONStream@1.3.2
│ │ │ │ ├── jsonparse@1.3.1
│ │ │ │ └── through@2.3.8 deduped
│ │ │ ├── lodash@4.17.10 deduped
│ │ │ ├─┬ meow@4.0.1
│ │ │ │ ├─┬ camelcase-keys@4.2.0
│ │ │ │ │ ├── camelcase@4.1.0
│ │ │ │ │ ├── map-obj@2.0.0
│ │ │ │ │ └── quick-lru@1.1.0 deduped
│ │ │ │ ├── decamelize-keys@1.1.0 deduped
│ │ │ │ ├── loud-rejection@1.6.0 deduped
│ │ │ │ ├── minimist@1.2.0
│ │ │ │ ├── minimist-options@3.0.2 deduped
│ │ │ │ ├── normalize-package-data@2.4.0 deduped
│ │ │ │ ├─┬ read-pkg-up@3.0.0
│ │ │ │ │ ├─┬ find-up@2.1.0
│ │ │ │ │ │ └── locate-path@2.0.0 deduped
│ │ │ │ │ └── read-pkg@3.0.0 deduped
│ │ │ │ ├─┬ redent@2.0.0
│ │ │ │ │ ├── indent-string@3.2.0
│ │ │ │ │ └── strip-indent@2.0.0
│ │ │ │ └── trim-newlines@2.0.0
│ │ │ ├─┬ split2@2.2.0
│ │ │ │ └── through2@2.0.3 deduped
│ │ │ ├─┬ through2@2.0.3
│ │ │ │ ├── readable-stream@2.3.6 deduped
│ │ │ │ └── xtend@4.0.1 deduped
│ │ │ └── trim-off-newlines@1.0.1
│ │ ├─┬ git-raw-commits@1.3.6
│ │ │ ├─┬ dargs@4.1.0
│ │ │ │ └── number-is-nan@1.0.1
│ │ │ ├─┬ lodash.template@4.4.0
│ │ │ │ ├── lodash._reinterpolate@3.0.0
│ │ │ │ └─┬ lodash.templatesettings@4.1.0
│ │ │ │   └── lodash._reinterpolate@3.0.0 deduped
│ │ │ ├─┬ meow@4.0.1
│ │ │ │ ├─┬ camelcase-keys@4.2.0
│ │ │ │ │ ├── camelcase@4.1.0
│ │ │ │ │ ├── map-obj@2.0.0
│ │ │ │ │ └── quick-lru@1.1.0 deduped
│ │ │ │ ├── decamelize-keys@1.1.0 deduped
│ │ │ │ ├── loud-rejection@1.6.0 deduped
│ │ │ │ ├── minimist@1.2.0
│ │ │ │ ├── minimist-options@3.0.2 deduped
│ │ │ │ ├── normalize-package-data@2.4.0 deduped
│ │ │ │ ├─┬ read-pkg-up@3.0.0
│ │ │ │ │ ├─┬ find-up@2.1.0
│ │ │ │ │ │ └── locate-path@2.0.0 deduped
│ │ │ │ │ └── read-pkg@3.0.0 deduped
│ │ │ │ ├─┬ redent@2.0.0
│ │ │ │ │ ├── indent-string@3.2.0
│ │ │ │ │ └── strip-indent@2.0.0
│ │ │ │ └── trim-newlines@2.0.0
│ │ │ ├── split2@2.2.0 deduped
│ │ │ └── through2@2.0.3 deduped
│ │ ├─┬ git-semver-tags@1.3.6
│ │ │ ├─┬ meow@4.0.1
│ │ │ │ ├─┬ camelcase-keys@4.2.0
│ │ │ │ │ ├── camelcase@4.1.0
│ │ │ │ │ ├── map-obj@2.0.0
│ │ │ │ │ └── quick-lru@1.1.0 deduped
│ │ │ │ ├── decamelize-keys@1.1.0 deduped
│ │ │ │ ├── loud-rejection@1.6.0 deduped
│ │ │ │ ├── minimist@1.2.0
│ │ │ │ ├── minimist-options@3.0.2 deduped
│ │ │ │ ├── normalize-package-data@2.4.0 deduped
│ │ │ │ ├─┬ read-pkg-up@3.0.0
│ │ │ │ │ ├─┬ find-up@2.1.0
│ │ │ │ │ │ └── locate-path@2.0.0 deduped
│ │ │ │ │ └── read-pkg@3.0.0 deduped
│ │ │ │ ├─┬ redent@2.0.0
│ │ │ │ │ ├── indent-string@3.2.0
│ │ │ │ │ └── strip-indent@2.0.0
│ │ │ │ └── trim-newlines@2.0.0
│ │ ��� └── semver@5.5.0 deduped
│ │ ├── meow@3.7.0 deduped
│ │ └── object-assign@4.1.1 deduped
│ ├── dedent@0.7.0
│ ├─┬ execa@0.8.0
│ │ ├── cross-spawn@5.1.0 deduped
│ │ ├── get-stream@3.0.0
│ │ ├── is-stream@1.1.0
│ │ ├─┬ npm-run-path@2.0.2
│ │ │ └── path-key@2.0.1
│ │ ├── p-finally@1.0.0 deduped
│ │ ├── signal-exit@3.0.2 deduped
│ │ └── strip-eof@1.0.0
│ ├─┬ find-up@2.1.0
│ │ └─┬ locate-path@2.0.0
│ │   ├─┬ p-locate@2.0.0
│ │   │ └── p-limit@1.2.0 deduped
│ │   └── path-exists@3.0.0
│ ├─┬ fs-extra@4.0.3
│ │ ├── graceful-fs@4.1.11 deduped
│ │ ├── jsonfile@4.0.0 deduped
│ │ └── universalify@0.1.1 deduped
│ ├── get-port@3.2.0
│ ├── glob@7.1.2 deduped
│ ├─┬ glob-parent@3.1.0
│ │ ├─┬ is-glob@3.1.0
│ │ │ └── is-extglob@2.1.1 deduped
│ │ └── path-dirname@1.0.2
│ ├─┬ globby@6.1.0
│ │ ├── array-union@1.0.2 deduped
│ │ ├── glob@7.1.2 deduped
│ │ ├── object-assign@4.1.1 deduped
│ │ ├── pify@2.3.0
│ │ └─┬ pinkie-promise@2.0.1
│ │   └── pinkie@2.0.4
│ ├── graceful-fs@4.1.11
│ ├── hosted-git-info@2.6.0
│ ├── inquirer@3.3.0 deduped
│ ├─┬ is-ci@1.1.0
│ │ └── ci-info@1.1.3
│ ���─┬ load-json-file@4.0.0
│ │ ├── graceful-fs@4.1.11 deduped
│ │ ├─┬ parse-json@4.0.0
│ │ │ ├─┬ error-ex@1.3.1
│ │ │ │ └── is-arrayish@0.2.1
│ │ │ └── json-parse-better-errors@1.0.2
│ │ ├── pify@3.0.0
│ │ └── strip-bom@3.0.0
│ ├── lodash@4.17.10 deduped
│ ├── minimatch@3.0.4 deduped
│ ├─┬ npmlog@4.1.2
│ │ ├─┬ are-we-there-yet@1.1.4
│ │ │ ├── delegates@1.0.0 deduped
│ │ │ └── readable-stream@2.3.6 deduped
│ │ ├── console-control-strings@1.1.0
│ │ ├─┬ gauge@2.7.4
│ │ │ ├── aproba@1.2.0
│ │ │ ├── console-control-strings@1.1.0 deduped
│ │ │ ├── has-unicode@2.0.1
│ │ │ ├── object-assign@4.1.1 deduped
│ │ │ ├── signal-exit@3.0.2 deduped
│ │ │ ├─┬ string-width@1.0.2
│ │ │ │ ├── code-point-at@1.1.0 deduped
│ │ │ │ ├─┬ is-fullwidth-code-point@1.0.0
│ │ │ │ │ └── number-is-nan@1.0.1 deduped
│ │ │ │ └── strip-ansi@3.0.1 deduped
│ │ │ ├─┬ strip-ansi@3.0.1
│ │ │ │ └── ansi-regex@2.1.1 deduped
│ │ │ └─┬ wide-align@1.1.2
│ │ │   └─┬ string-width@1.0.2
│ │ │     ├── code-point-at@1.1.0 deduped
│ │ │     ├─┬ is-fullwidth-code-point@1.0.0
│ │ │     │ └── number-is-nan@1.0.1 deduped
│ │ │     └���┬ strip-ansi@3.0.1
│ │ │       └── ansi-regex@2.1.1 deduped
│ │ └── set-blocking@2.0.0 deduped
│ ├── p-finally@1.0.0
│ ├─┬ package-json@4.0.1
│ │ ├─┬ got@6.7.1
│ │ │ ├─┬ create-error-class@3.0.2
│ │ │ │ └── capture-stack-trace@1.0.0
│ │ │ ├── duplexer3@0.1.4
│ │ │ ├── get-stream@3.0.0 deduped
│ │ │ ├── is-redirect@1.0.0
│ │ │ ├── is-retry-allowed@1.1.0
│ │ │ ├── is-stream@1.1.0 deduped
│ │ │ ├── lowercase-keys@1.0.1
│ │ │ ├── safe-buffer@5.1.2 deduped
│ │ │ ├── timed-out@4.0.1
│ │ │ ├── unzip-response@2.0.1
│ │ │ └─┬ url-parse-lax@1.0.0
│ │ │   └── prepend-http@1.0.4
│ │ ├─┬ registry-auth-token@3.3.2
│ │ │ ├─┬ rc@1.2.7
│ │ │ │ ├── deep-extend@0.5.1
│ │ │ │ ├── ini@1.3.5
│ │ │ │ ├── minimist@1.2.0
│ │ │ │ └── strip-json-comments@2.0.1 deduped
│ │ │ └── safe-buffer@5.1.2 deduped
│ │ ├─┬ registry-url@3.1.0
│ │ │ └── rc@1.2.7 deduped
│ │ └── semver@5.5.0 deduped
│ ├── path-exists@3.0.0
│ ├─┬ read-cmd-shim@1.0.1
│ │ └── graceful-fs@4.1.11 deduped
│ ├── read-pkg@3.0.0 deduped
│ ├── rimraf@2.6.2 deduped
│ ├── safe-buffer@5.1.2
│ ├── semver@5.5.0 deduped
│ ├── signal-exit@3.0.2
��� ├── slash@1.0.0
│ ├─┬ strong-log-transformer@1.0.6
│ │ ├── byline@5.0.0
│ │ ├── duplexer@0.1.1
│ │ ├── minimist@0.1.0
│ │ ├── moment@2.22.1 deduped
│ │ └── through@2.3.8 deduped
│ ├─┬ temp-write@3.4.0
│ │ ├── graceful-fs@4.1.11 deduped
│ │ ├── is-stream@1.1.0 deduped
│ │ ├─┬ make-dir@1.3.0
│ │ │ └── pify@3.0.0
│ │ ├── pify@3.0.0
│ │ ├── temp-dir@1.0.0
│ │ └── uuid@3.2.1 deduped
│ ├─┬ write-file-atomic@2.3.0
│ │ ├── graceful-fs@4.1.11 deduped
│ │ ├── imurmurhash@0.1.4 deduped
│ │ └── signal-exit@3.0.2 deduped
│ ├─┬ write-json-file@2.3.0
│ │ ├── detect-indent@5.0.0
│ │ ├── graceful-fs@4.1.11 deduped
│ │ ├── make-dir@1.3.0 deduped
│ │ ├── pify@3.0.0
│ │ ├─┬ sort-keys@2.0.0
│ │ │ └── is-plain-obj@1.1.0
│ │ └── write-file-atomic@2.3.0 deduped
│ ├─┬ write-pkg@3.1.0
│ │ ├─┬ sort-keys@2.0.0
│ │ │ └── is-plain-obj@1.1.0 deduped
│ │ └── write-json-file@2.3.0 deduped
│ └─┬ yargs@8.0.2
│   ├── camelcase@4.1.0
│   ├─┬ cliui@3.2.0
│   │ ├─┬ string-width@1.0.2
│   │ │ ├── code-point-at@1.1.0 deduped
│   │ │ ├─┬ is-fullwidth-code-point@1.0.0
│   │ │ │ └── number-is-nan@1.0.1 deduped
│   │ │ └── strip-ansi@3.0.1 deduped
│   │ ├─┬ strip-ansi@3.0.1
│   │ │ └── ansi-regex@2.1.1 deduped
│   │ └── wrap-ansi@2.1.0 deduped
│   ├── decamelize@1.2.0
│   ├── get-caller-file@1.0.2
│   ├─┬ os-locale@2.1.0
│   │ ├─┬ execa@0.7.0
│   │ │ ├── cross-spawn@5.1.0 deduped
│   │ │ ├── get-stream@3.0.0 deduped
│   │ │ ├── is-stream@1.1.0 deduped
│   │ │ ├── npm-run-path@2.0.2 deduped
│   │ │ ├── p-finally@1.0.0 deduped
│   │ │ ├── signal-exit@3.0.2 deduped
│   │ │ └── strip-eof@1.0.0 deduped
│   │ ├─┬ lcid@1.0.0
│   │ │ └── invert-kv@1.0.0
│   │ └─┬ mem@1.1.0
│   │   └── mimic-fn@1.2.0
│   ├─┬ read-pkg-up@2.0.0
│   │ ├── find-up@2.1.0 deduped
│   │ └─┬ read-pkg@2.0.0
│   │   ├─┬ load-json-file@2.0.0
│   │   │ ├── graceful-fs@4.1.11 deduped
│   │   │ ├── parse-json@2.2.0 deduped
│   │   │ ├── pify@2.3.0 deduped
│   │   │ └── strip-bom@3.0.0 deduped
│   │   ├── normalize-package-data@2.4.0 deduped
│   │   └─┬ path-type@2.0.0
│   │     └── pify@2.3.0 deduped
│   ├── require-directory@2.1.1
│   ├── require-main-filename@1.0.1
│   ├── set-blocking@2.0.0
│   ├── string-width@2.1.1 deduped
│   ├── which-module@2.0.0
│   ├── y18n@3.2.1
│   └─┬ yargs-parser@7.0.0
│     └── camelcase@4.1.0 deduped
├─┬ mark-twain@2.0.3
│ ├─┬ jsonml.js@0.1.0
│ │ └─┬ jsdom@8.5.0
│ │   ├── abab@1.0.4
│ │   ├── acorn@2.7.0
│ │   ├─┬ acorn-globals@1.0.9
│ │   │ └── acorn@2.7.0
│ │   ├── array-equal@1.0.0
│ │   ├── cssom@0.3.2
│ │   ├─┬ cssstyle@0.2.37
│ │   │ └── cssom@0.3.2 deduped
│ │   ├─┬ escodegen@1.9.1
│ │   │ ├── esprima@3.1.3
│ │   │ ├── estraverse@4.2.0 deduped
│ │   │ ├── esutils@2.0.2 deduped
│ │   │ ├── optionator@0.8.2 deduped
│ │   │ └── source-map@0.6.1
│ │   ├── iconv-lite@0.4.23 deduped
│ │   ├── nwmatcher@1.4.4
│ │   ├── parse5@1.5.1
│ │   ├── request@2.85.0 deduped
│ │   ├── sax@1.2.4 deduped
│ │   ├── symbol-tree@3.2.2
│ │   ├── tough-cookie@2.3.4 deduped
│ │   ├── webidl-conversions@3.0.1
│ │   ├─┬ whatwg-url@2.0.1
│ │   │ ├── tr46@0.0.3
│ │   │ └── webidl-conversions@3.0.1 deduped
│ │   └── xml-name-validator@2.0.1
│ ├─┬ remark@5.1.0
│ │ ├─┬ remark-parse@1.1.0
│ │ │ ├── collapse-white-space@1.0.4
│ │ │ ├── extend@3.0.1 deduped
│ │ │ ├─┬ parse-entities@1.1.2
│ │ │ │ ├── character-entities@1.2.2
│ │ │ │ ├── character-entities-legacy@1.1.2
│ │ │ │ ├── character-reference-invalid@1.1.2
│ │ │ │ ├─┬ is-alphanumerical@1.0.2
│ │ │ │ │ ├── is-alphabetical@1.0.2
│ │ │ │ │ └── is-decimal@1.0.2 deduped
│ │ │ │ ├── is-decimal@1.0.2
│ │ │ │ └── is-hexadecimal@1.0.2
│ │ │ ├── repeat-string@1.6.1
│ │ │ ├── trim@0.0.1
│ │ │ ├── trim-trailing-lines@1.1.1
│ │ │ ├─┬ unherit@1.1.1
│ │ │ │ ├── inherits@2.0.3 deduped
│ │ │ │ └── xtend@4.0.1 deduped
│ │ │ ├─┬ unist-util-remove-position@1.1.2
│ │ │ │ └─┬ unist-util-visit@1.3.1
│ │ │ │   └── unist-util-is@2.1.2
│ │ │ └── vfile-location@2.0.3
│ │ ├─┬ remark-stringify@1.1.0
│ │ │ ├── ccount@1.0.3
│ │ │ ├── extend@3.0.1 deduped
│ │ │ ├── longest-streak@1.0.0
│ │ │ ├── markdown-table@0.4.0
│ │ │ ├── parse-entities@1.1.2 deduped
│ │ │ ├── repeat-string@1.6.1 deduped
│ │ │ ├─┬ stringify-entities@1.3.2
│ │ │ │ ├── character-entities-html4@1.1.2
│ │ │ │ ├── character-entities-legacy@1.1.2 deduped
│ │ │ │ ├── is-alphanumerical@1.0.2 deduped
│ │ │ │ └── is-hexadecimal@1.0.2 deduped
│ │ │ └── unherit@1.1.1 deduped
│ │ └─┬ unified@4.2.1
│ │   ├── bail@1.0.3
│ │   ├── extend@3.0.1 deduped
│ │   ├── has@1.0.1 deduped
│ │   ├── once@1.4.0 deduped
│ │   ├── trough@1.0.2
│ │   └── vfile@1.4.0
│ └─┬ yaml-front-matter@4.0.0
│   ├── commander@1.0.0
│   └── js-yaml@3.11.0 deduped
├── moment@2.22.1
├─┬ nodejieba@2.2.6
│ └── nan@2.10.0
├─┬ request@2.85.0
│ ├── aws-sign2@0.7.0
│ ├── aws4@1.7.0
│ ├── caseless@0.12.0
│ ├─┬ combined-stream@1.0.6
│ │ └── delayed-stream@1.0.0
│ ├── extend@3.0.1
│ ├── forever-agent@0.6.1
│ ├─┬ form-data@2.3.2
│ │ ├── asynckit@0.4.0
│ │ ├── combined-stream@1.0.6 deduped
│ │ └── mime-types@2.1.18 deduped
│ ├─┬ har-validator@5.0.3
│ │ ├── ajv@5.5.2 deduped
│ │ └── har-schema@2.0.0
│ ├─┬ hawk@6.0.2
│ │ ├─┬ boom@4.3.1
│ │ │ └── hoek@4.2.1 deduped
│ │ ├─┬ cryptiles@3.1.2
│ │ │ └─┬ boom@5.2.0
│ │ │   └── hoek@4.2.1 deduped
│ │ ├── hoek@4.2.1
│ │ └─┬ sntp@2.1.0
│ │   └── hoek@4.2.1 deduped
│ ├─┬ http-signature@1.2.0
│ │ ├── assert-plus@1.0.0
│ │ ├─┬ jsprim@1.4.1
│ │ │ ├── assert-plus@1.0.0 deduped
│ │ │ ├── extsprintf@1.3.0
│ │ │ ├── json-schema@0.2.3
│ │ │ └─┬ verror@1.10.0
│ │ │   ├── assert-plus@1.0.0 deduped
│ │ │   ├── core-util-is@1.0.2 deduped
│ │ │   └── extsprintf@1.3.0 deduped
│ │ └─┬ sshpk@1.14.1
│ │   ├── asn1@0.2.3
│ │   ├── assert-plus@1.0.0 deduped
│ │   ├─┬ bcrypt-pbkdf@1.0.1
│ │   │ └── tweetnacl@0.14.5 deduped
│ │   ├─┬ dashdash@1.14.1
│ │   │ └── assert-plus@1.0.0 deduped
│ │   ├─┬ ecc-jsbn@0.1.1
│ │   │ └── jsbn@0.1.1 deduped
│ │   ├─┬ getpass@0.1.7
│ │   │ └── assert-plus@1.0.0 deduped
│ │   ├── jsbn@0.1.1
│ │   └── tweetnacl@0.14.5
│ ├── is-typedarray@1.0.0
│ ├── isstream@0.1.2
│ ├── json-stringify-safe@5.0.1
│ ├─┬ mime-types@2.1.18
│ │ └── mime-db@1.33.0
│ ├── oauth-sign@0.8.2
│ ├── performance-now@2.1.0
│ ├── qs@6.5.1
│ ├── safe-buffer@5.1.2 deduped
│ ├── stringstream@0.0.5
│ ├─┬ tough-cookie@2.3.4
│ │ └── punycode@1.4.1
│ ├─┬ tunnel-agent@0.6.0
│ │ └── safe-buffer@5.1.2 deduped
│ └── uuid@3.2.1 deduped
├─┬ request-promise@4.2.2
│ ├── bluebird@3.5.1
│ ├─┬ request-promise-core@1.1.1
│ │ └── lodash@4.17.10 deduped
│ ├── stealthy-require@1.1.1
│ └── tough-cookie@2.3.4 deduped
├── semver-regex@1.0.0
└─┬ uppercamelcase@3.0.0
  └── camelcase@4.1.0
npm ERR! missing: mkdirp@0.5.1, required by node-pre-gyp@0.9.1
npm ERR! missing: minimist@0.0.8, required by mkdirp@0.5.1
npm ERR! missing: minimatch@3.0.4, required by ignore-walk@3.0.1
npm ERR! missing: brace-expansion@1.1.11, required by minimatch@3.0.4
npm ERR! missing: balanced-match@1.0.0, required by brace-expansion@1.1.11
npm ERR! missing: concat-map@0.0.1, required by brace-expansion@1.1.11
npm ERR! missing: console-control-strings@1.1.0, required by npmlog@4.1.2
npm ERR! missing: inherits@2.0.3, required by readable-stream@2.3.6
npm ERR! missing: safe-buffer@5.1.1, required by readable-stream@2.3.6
npm ERR! missing: safe-buffer@5.1.1, required by string_decoder@1.1.1
npm ERR! missing: console-control-strings@1.1.0, required by gauge@2.7.4
npm ERR! missing: string-width@1.0.2, required by gauge@2.7.4
npm ERR! missing: strip-ansi@3.0.1, required by gauge@2.7.4
npm ERR! missing: code-point-at@1.1.0, required by string-width@1.0.2
npm ERR! missing: is-fullwidth-code-point@1.0.0, required by string-width@1.0.2
npm ERR! missing: strip-ansi@3.0.1, required by string-width@1.0.2
npm ERR! missing: number-is-nan@1.0.1, required by is-fullwidth-code-point@1.0.0
npm ERR! missing: ansi-regex@2.1.1, required by strip-ansi@3.0.1
npm ERR! missing: string-width@1.0.2, required by wide-align@1.1.2
npm ERR! missing: inherits@2.0.3, required by glob@7.1.2
npm ERR! missing: minimatch@3.0.4, required by glob@7.1.2
npm ERR! missing: once@1.4.0, required by glob@7.1.2
npm ERR! missing: once@1.4.0, required by inflight@1.0.6
npm ERR! missing: wrappy@1.0.2, required by inflight@1.0.6
npm ERR! missing: wrappy@1.0.2, required by once@1.4.0
npm ERR! missing: minipass@2.2.4, required by tar@4.4.1
npm ERR! missing: mkdirp@0.5.1, required by tar@4.4.1
npm ERR! missing: safe-buffer@5.1.1, required by tar@4.4.1
npm ERR! missing: yallist@3.0.2, required by tar@4.4.1
npm ERR! missing: minipass@2.2.4, required by fs-minipass@1.2.5
npm ERR! missing: safe-buffer@5.1.1, required by minipass@2.2.4
npm ERR! missing: yallist@3.0.2, required by minipass@2.2.4
npm ERR! missing: minipass@2.2.4, required by minizlib@1.1.0
20.27s$ npm run lint:nofix
> ice-workspace@0.0.2 lint:nofix /home/travis/build/alibaba/ice
> eslint --cache --ext .js .vue .jsx react-materials vue-materials
/home/travis/build/alibaba/ice/vue-materials/scaffolds/admin-lite/src/main.js
  1:17  warning  Unable to resolve path to module 'vue'                                   import/no-unresolved
  2:23  warning  Unable to resolve path to module 'element-ui'                            import/no-unresolved
  3:8   warning  Unable to resolve path to module 'element-ui/lib/theme-chalk/index.css'  import/no-unresolved
  4:8   warning  Unable to resolve path to module 'normalize.css/normalize.css'           import/no-unresolved
/home/travis/build/alibaba/ice/vue-materials/scaffolds/admin-lite/src/router.js
  1:17  warning  Unable to resolve path to module 'vue'         import/no-unresolved
  2:20  warning  Unable to resolve path to module 'vue-router'  import/no-unresolved
✖ 6 problems (0 errors, 6 warnings)
The command "npm run lint:nofix" exited with 0.
41.98s$ ice-devtools --version && npm run generate
1.0.0-beta.28
> ice-workspace@0.0.2 generate /home/travis/build/alibaba/ice
> ice-devtools generate && node ./scripts/generate-docs-database
@vue-materials/basic-not-found-block 1.0.0
[ERR checkAndQueryNpmTime] 未发布的 npm 包
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! ice-workspace@0.0.2 generate: `ice-devtools generate && node ./scripts/generate-docs-database`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the ice-workspace@0.0.2 generate script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR!     /home/travis/.npm/_logs/2018-05-12T15_27_27_975Z-debug.log
The command "ice-devtools --version && npm run generate" exited with 1.
0.66s$ npm run sync
> ice-workspace@0.0.2 sync /home/travis/build/alibaba/ice
> node scripts/sync-db.js
/home/travis/build/alibaba/ice/node_modules/ali-oss/lib/client.js:85
    throw new Error('require accessKeyId, accessKeySecret');
    ^
Error: require accessKeyId, accessKeySecret
    at Function.initOptions (/home/travis/build/alibaba/ice/node_modules/ali-oss/lib/client.js:85:11)
    at new Client (/home/travis/build/alibaba/ice/node_modules/ali-oss/lib/client.js:61:27)
    at Client (/home/travis/build/alibaba/ice/node_modules/ali-oss/lib/client.js:55:12)
    at Object.<anonymous> (/home/travis/build/alibaba/ice/scripts/sync-db.js:16:15)
    at Module._compile (module.js:652:30)
    at Object.Module._extensions..js (module.js:663:10)
    at Module.load (module.js:565:32)
    at tryModuleLoad (module.js:505:12)
    at Function.Module._load (module.js:497:3)
    at Function.Module.runMain (module.js:693:10)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! ice-workspace@0.0.2 sync: `node scripts/sync-db.js`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the ice-workspace@0.0.2 sync script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR!     /home/travis/.npm/_logs/2018-05-12T15_27_28_641Z-debug.log
The command "npm run sync" exited with 1.
Done. Your build exited with 1.
Top
©Travis CI, GmbH
Rigaer Straße 8
10247 Berlin, Germany
Imprint
Jobs
Help
Documentation
Changelog
Blog
Email
Twitter
Travis CI Status
Status: Travis CI Status
mowatermelon commented 6 years ago

image

mowatermelon commented 6 years ago

还是失败

@vue-materials/basic-exception-block 1.0.0
[ERR checkAndQueryNpmTime] 未发布的 npm 包
@vue-materials/basic-not-found-block 1.0.0
[ERR checkAndQueryNpmTime] 未发布的 npm 包
@vue-materials/empty-content-block 1.0.0
[ERR checkAndQueryNpmTime] 未发布的 npm 包
@vue-materials/not-permission-block 1.0.0
[ERR checkAndQueryNpmTime] 未发布的 npm 包

> ice-workspace@0.0.2 bootstrap X:\XX\XX
> lerna bootstrap

'lerna' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! ice-workspace@0.0.2 bootstrap: `lerna bootstrap`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the ice-workspace@0.0.2 bootstrap script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm WARN Local package.json exists, but node_modules missing, did you mean to install?

npm ERR! A complete log of this run can be found in:
npm ERR!     X:\XX\XX\node_cache\_logs\2018-05-12T15_30_26_788Z-debug.log
$ cnpm i lerna -g

Downloading lerna to X:\XX\XX\node_global\node_modules\lerna_tmp
Copying X:\XX\XX\node_global\node_modules\lerna_tmp\_lerna@2.11.0@lerna to X:\XX\XX\node_global\node_modules\lerna
Installing lerna's dependencies to X:\XX\XX\node_global\node_modules\lerna/node_modules
[1/39] dedent@^0.7.0 installed at node_modules\_dedent@0.7.0@dedent
[2/39] async@^1.5.0 installed at node_modules\_async@1.5.2@async
[3/39] command-join@^2.0.0 installed at node_modules\_command-join@2.0.0@command-join
[4/39] get-port@^3.2.0 installed at node_modules\_get-port@3.2.0@get-port
[5/39] chalk@^2.1.0 installed at node_modules\_chalk@2.4.1@chalk
[6/39] cmd-shim@^2.0.2 installed at node_modules\_cmd-shim@2.0.2@cmd-shim
[7/39] graceful-fs@^4.1.11 existed at node_modules\_graceful-fs@4.1.11@graceful-fs
[8/39] find-up@^2.1.0 installed at node_modules\_find-up@2.1.0@find-up
[9/39] execa@^0.8.0 installed at node_modules\_execa@0.8.0@execa
[10/39] hosted-git-info@^2.5.0 existed at node_modules\_hosted-git-info@2.6.0@hosted-git-info
[11/39] load-json-file@^4.0.0 existed at node_modules\_load-json-file@4.0.0@load-json-file
[12/39] glob-parent@^3.1.0 installed at node_modules\_glob-parent@3.1.0@glob-parent
[13/39] columnify@^1.5.4 installed at node_modules\_columnify@1.5.4@columnify
[14/39] minimatch@^3.0.4 existed at node_modules\_minimatch@3.0.4@minimatch
[15/39] p-finally@^1.0.0 existed at node_modules\_p-finally@1.0.0@p-finally
[16/39] fs-extra@^4.0.1 installed at node_modules\_fs-extra@4.0.3@fs-extra
[17/39] path-exists@^3.0.0 existed at node_modules\_path-exists@3.0.0@path-exists
[18/39] glob@^7.1.2 installed at node_modules\_glob@7.1.2@glob
[19/39] read-pkg@^3.0.0 existed at node_modules\_read-pkg@3.0.0@read-pkg
[20/39] read-cmd-shim@^1.0.1 installed at node_modules\_read-cmd-shim@1.0.1@read-cmd-shim
[21/39] is-ci@^1.0.10 installed at node_modules\_is-ci@1.1.0@is-ci
[22/39] globby@^6.1.0 installed at node_modules\_globby@6.1.0@globby
[23/39] safe-buffer@^5.1.1 existed at node_modules\_safe-buffer@5.1.2@safe-buffer
[24/39] signal-exit@^3.0.2 existed at node_modules\_signal-exit@3.0.2@signal-exit
[25/39] semver@^5.4.1 existed at node_modules\_semver@5.5.0@semver
[26/39] rimraf@^2.6.1 installed at node_modules\_rimraf@2.6.2@rimraf
[27/39] slash@^1.0.0 installed at node_modules\_slash@1.0.0@slash
[28/39] write-file-atomic@^2.3.0 installed at node_modules\_write-file-atomic@2.3.0@write-file-atomic
[29/39] npmlog@^4.1.2 installed at node_modules\_npmlog@4.1.2@npmlog
[30/39] temp-write@^3.3.0 installed at node_modules\_temp-write@3.4.0@temp-write
[31/39] package-json@^4.0.1 installed at node_modules\_package-json@4.0.1@package-json
[32/39] write-pkg@^3.1.0 installed at node_modules\_write-pkg@3.1.0@write-pkg
[33/39] write-json-file@^2.2.0 installed at node_modules\_write-json-file@2.3.0@write-json-file
[34/39] lodash@^4.17.4 existed at node_modules\_lodash@4.17.10@lodash
[35/39] inquirer@^3.2.2 installed at node_modules\_inquirer@3.3.0@inquirer
[36/39] conventional-recommended-bump@^1.2.1 installed at node_modules\_conventional-recommended-bump@1.2.1@conventional-recommended-bump
[37/39] strong-log-transformer@^1.0.6 installed at node_modules\_strong-log-transformer@1.0.6@strong-log-transformer
[38/39] yargs@^8.0.2 installed at node_modules\_yargs@8.0.2@yargs
[39/39] conventional-changelog-cli@^1.3.13 installed at node_modules\_conventional-changelog-cli@1.3.22@conventional-changelog-cli
Recently updated (since 2018-05-05): 3 packages (detail see file X:\XX\XX\node_global\node_modules\lerna\node_modules\.recently_updates.txt)
  2018-05-10
    → temp-write@3.4.0 › make-dir@^1.0.0(1.3.0) (21:52:55)
  2018-05-08
    → execa@0.8.0 › cross-spawn@5.1.0 › lru-cache@^4.0.1(4.1.3) (07:17:11)
    → inquirer@3.3.0 › external-editor@2.2.0 › iconv-lite@^0.4.17(0.4.23) (06:22:24)
All packages installed (300 packages installed from npm registry, used 11s, speed 442.94kB/s, json 265(1.11MB), tarball 3.45MB)
[lerna@2.11.0] link X:\XX\XX\node_global\lerna@ -> X:\XX\XX\node_global\node_modules\lerna\bin\lerna.js
X:\XX\XX>npm run bootstrap

> ice-workspace@0.0.2 bootstrap X:\XX\XX
> lerna bootstrap

lerna info version 2.11.0
lerna info versioning independent
lerna info Bootstrapping 192 packages
lerna info lifecycle preinstall
lerna info Installing external dependencies
lerna ERR! execute callback with error
lerna ERR! Error: Command failed: npm install
lerna ERR! npm WARN tar ENOENT: no such file or directory, open 'X:\XX\XX\react-materials\scaffolds\ice-design-analysis\node_modules\.staging\core-js-bce982b0\fn\html-collection\index.js'
lerna ERR! npm WARN tar ENOENT: no such file or directory, open 'X:\XX\XX\react-materials\scaffolds\ice-design-analysis\node_modules\.staging\core-js-bce982b0\fn\html-collection\iterator.js'
lerna ERR! npm WARN tar ENOENT: no such file or directory, lstat 'X:\XX\XX\react-materials\scaffolds\ice-design-analysis\node_modules\.staging\core-js-bce982b0\fn\string'
lerna ERR! npm WARN tar ENOENT: no such file or directory, open 'X:\XX\XX\react-materials\scaffolds\ice-design-analysis\node_modules\.staging\zrender-3ff52529\lib\vml\core.js'
lerna ERR! npm WARN tar ENOENT: no such file or directory, open 'X:\XX\XX\react-materials\scaffolds\ice-design-analysis\node_modules\.staging\zrender-3ff52529\lib\vml\graphic.js'
lerna ERR! npm WARN tar ENOENT: no such file or directory, open 'X:\XX\XX\react-materials\scaffolds\ice-design-analysis\node_modules\.staging\core-js-7e8f79ec\fn\string\anchor.js'
lerna ERR! npm WARN tar ENOENT: no such file or directory, open 'X:\XX\XX\react-materials\scaffolds\ice-design-analysis\node_modules\.staging\core-js-7e8f79ec\fn\string\at.js'
lerna ERR! npm WARN tar ENOENT: no such file or directory, open 'X:\XX\XX\react-materials\scaffolds\ice-design-analysis\node_modules\.staging\core-js-7e8f79ec\fn\string\big.js'
lerna ERR! npm WARN tar ENOENT: no such file or directory, open 'X:\XX\XX\react-materials\scaffolds\ice-design-analysis\node_modules\.staging\core-js-7e8f79ec\fn\string\blink.js'
lerna ERR! npm WARN tar ENOENT: no such file or directory, open 'X:\XX\XX\react-materials\scaffolds\ice-design-analysis\node_modules\.staging\core-js-7e8f79ec\fn\string\bold.js'
lerna ERR! npm WARN tar ENOENT: no such file or directory, open 'X:\XX\XX\react-materials\scaffolds\ice-design-analysis\node_modules\.staging\core-js-7e8f79ec\fn\string\code-point-at.js'
lerna ERR! npm WARN tar ENOENT: no such file or directory, open 'X:\XX\XX\react-materials\scaffolds\ice-design-analysis\node_modules\.staging\core-js-7e8f79ec\fn\string\ends-with.js'
lerna ERR! npm WARN tar ENOENT: no such file or directory, open 'X:\XX\XX\react-materials\scaffolds\ice-design-analysis\node_modules\.staging\core-js-7e8f79ec\fn\string\escape-html.js'
lerna ERR! npm WARN tar ENOENT: no such file or directory, open 'X:\XX\XX\react-materials\scaffolds\ice-design-analysis\node_modules\.staging\core-js-7e8f79ec\fn\string\fixed.js'
lerna ERR! npm WARN tar ENOENT: no such file or directory, open 'X:\XX\XX\react-materials\scaffolds\ice-design-analysis\node_modules\.staging\core-js-7e8f79ec\fn\string\fontcolor.js'
lerna ERR! npm WARN tar ENOENT: no such file or directory, open 'X:\XX\XX\react-materials\scaffolds\ice-design-analysis\node_modules\.staging\core-js-7e8f79ec\fn\string\fontsize.js'
lerna ERR! npm WARN tar ENOENT: no such file or directory, open 'X:\XX\XX\react-materials\scaffolds\ice-design-analysis\node_modules\.staging\core-js-7e8f79ec\fn\string\from-code-point.js'
lerna ERR! npm WARN tar ENOENT: no such file or directory, open 'X:\XX\XX\react-materials\scaffolds\ice-design-analysis\node_modules\.staging\core-js-7e8f79ec\fn\string\includes.js'
lerna ERR! npm WARN tar ENOENT: no such file or directory, open 'X:\XX\XX\react-materials\scaffolds\ice-design-analysis\node_modules\.staging\core-js-7e8f79ec\fn\string\index.js'
lerna ERR! npm WARN tar ENOENT: no such file or directory, open 'X:\XX\XX\react-materials\scaffolds\ice-design-analysis\node_modules\.staging\core-js-7e8f79ec\fn\string\italics.js'
lerna ERR! npm WARN tar ENOENT: no such file or directory, open 'X:\XX\XX\react-materials\scaffolds\ice-design-analysis\node_modules\.staging\core-js-7e8f79ec\fn\string\iterator.js'
lerna ERR! npm WARN tar ENOENT: no such file or directory, open 'X:\XX\XX\react-materials\scaffolds\ice-design-analysis\node_modules\.staging\core-js-7e8f79ec\fn\string\link.js'
lerna ERR! npm WARN tar ENOENT: no such file or directory, open 'X:\XX\XX\react-materials\scaffolds\ice-design-analysis\node_modules\.staging\core-js-7e8f79ec\fn\string\match-all.js'
lerna ERR! npm WARN tar ENOENT: no such file or directory, open 'X:\XX\XX\react-materials\scaffolds\ice-design-analysis\node_modules\.staging\core-js-7e8f79ec\fn\string\pad-end.js'
lerna ERR! npm WARN tar ENOENT: no such file or directory, open 'X:\XX\XX\react-materials\scaffolds\ice-design-analysis\node_modules\.staging\core-js-7e8f79ec\fn\string\pad-start.js'
lerna ERR! npm WARN tar ENOENT: no such file or directory, open 'X:\XX\XX\react-materials\scaffolds\ice-design-analysis\node_modules\.staging\core-js-7e8f79ec\fn\string\raw.js'
lerna ERR! npm WARN tar ENOENT: no such file or directory, open 'X:\XX\XX\react-materials\scaffolds\ice-design-analysis\node_modules\.staging\core-js-7e8f79ec\fn\string\repeat.js'
lerna ERR! npm WARN tar ENOENT: no such file or directory, open 'X:\XX\XX\react-materials\scaffolds\ice-design-analysis\node_modules\.staging\core-js-7e8f79ec\fn\string\small.js'
lerna ERR! npm WARN tar ENOENT: no such file or directory, open 'X:\XX\XX\react-materials\scaffolds\ice-design-analysis\node_modules\.staging\core-js-7e8f79ec\fn\string\starts-with.js'
lerna ERR! npm WARN tar ENOENT: no such file or directory, open 'X:\XX\XX\react-materials\scaffolds\ice-design-analysis\node_modules\.staging\core-js-7e8f79ec\fn\string\strike.js'
lerna ERR! npm WARN tar ENOENT: no such file or directory, open 'X:\XX\XX\react-materials\scaffolds\ice-design-analysis\node_modules\.staging\core-js-7e8f79ec\fn\string\sub.js'
lerna ERR! npm WARN tar ENOENT: no such file or directory, open 'X:\XX\XX\react-materials\scaffolds\ice-design-analysis\node_modules\.staging\core-js-7e8f79ec\fn\string\sup.js'
lerna ERR! npm WARN tar ENOENT: no such file or directory, open 'X:\XX\XX\react-materials\scaffolds\ice-design-analysis\node_modules\.staging\core-js-7e8f79ec\fn\string\trim-end.js'
lerna ERR! npm WARN tar ENOENT: no such file or directory, open 'X:\XX\XX\react-materials\scaffolds\ice-design-analysis\node_modules\.staging\core-js-7e8f79ec\fn\string\trim-left.js'
lerna ERR! npm WARN tar ENOENT: no such file or directory, open 'X:\XX\XX\react-materials\scaffolds\ice-design-analysis\node_modules\.staging\core-js-7e8f79ec\fn\string\trim-right.js'
lerna ERR! npm WARN tar ENOENT: no such file or directory, open 'X:\XX\XX\react-materials\scaffolds\ice-design-analysis\node_modules\.staging\core-js-7e8f79ec\fn\string\trim-start.js'
lerna ERR! npm WARN tar ENOENT: no such file or directory, open 'X:\XX\XX\react-materials\scaffolds\ice-design-analysis\node_modules\.staging\core-js-7e8f79ec\fn\string\trim.js'
lerna ERR! npm WARN tar ENOENT: no such file or directory, open 'X:\XX\XX\react-materials\scaffolds\ice-design-analysis\node_modules\.staging\core-js-7e8f79ec\fn\string\unescape-html.js'
lerna ERR! npm WARN tar ENOENT: no such file or directory, lstat 'X:\XX\XX\react-materials\scaffolds\ice-design-analysis\node_modules\.staging\@icedesign\base-60aa16e4\lib\_components\@alife\next-accordion\lib\scss'
lerna ERR! npm WARN tar ENOENT: no such file or directory, lstat 'X:\XX\XX\react-materials\scaffolds\ice-design-analysis\node_modules\.staging\@icedesign\base-60aa16e4\lib\_components'
lerna ERR! npm WARN tar ENOENT: no such file or directory, lstat 'X:\XX\XX\react-materials\scaffolds\ice-design-analysis\node_modules\.staging\@icedesign\base-c5eb8840\lib\_components\@alife\next-affix\lib'
lerna ERR! npm WARN tar EPERM: operation not permitted, lstat 'X:\XX\XX\react-materials\scaffolds\ice-design-analysis\node_modules\.staging\@icedesign\base-c5eb8840\lib\_components\@alife\next-animate\lib'
lerna ERR! npm WARN tar ENOENT: no such file or directory, lstat 'X:\XX\XX\react-materials\scaffolds\ice-design-analysis\node_modules\.staging\@icedesign\base-c5eb8840\lib\_components'
lerna ERR! npm WARN tar ENOENT: no such file or directory, lstat 'X:\XX\XX\react-materials\scaffolds\ice-design-analysis\node_modules\.staging\@icedesign\base-4a60a8cb\lib\_components\@alife\next-animate\lib\scss\_expand-entrances'
lerna ERR! npm WARN react-text-loop@1.1.0 requires a peer of react@^15.0.1 but none is installed. You must install peer dependencies yourself.
lerna ERR! npm WARN react-text-loop@1.1.0 requires a peer of react-dom@^15.0.1 but none is installed. You must install peer dependencies yourself.
lerna ERR! npm WARN react-transition-group@1.2.1 requires a peer of react-dom@^15.0.0 || ^16.0.0 but none is installed. You must install peer dependencies yourself.
lerna ERR! npm WARN ice-design-analysis No repository field.
lerna ERR! npm WARN ice-design-analysis No license field.
lerna ERR!
lerna ERR! npm ERR! code EINTEGRITY
lerna ERR! npm ERR! sha1-1YjJX3PBqZKLnHPVt2l1HDGFvNw= integrity checksum failed when using sha1: wanted sha1-1YjJX3PBqZKLnHPVt2l1HDGFvNw= but got sha1-kKOj1SMSrwM2PANy1FjSbAylnUI=. (816522 bytes)
lerna ERR! npm WARN tar ENOENT: no such file or directory, lstat 'X:\XX\XX\react-materials\scaffolds\ice-design-analysis\node_modules\.staging\@icedesign\base-4a60a8cb\lib\_components\@alife\next-animate\lib'
lerna ERR! npm WARN tar ENOENT: no such file or directory, lstat 'X:\XX\XX\react-materials\scaffolds\ice-design-analysis\node_modules\.staging\@icedesign\base-4a60a8cb\lib\_components\@alife\next-animate\lib'
lerna ERR! npm WARN tar ENOENT: no such file or directory, lstat 'X:\XX\XX\react-materials\scaffolds\ice-design-analysis\node_modules\.staging\@icedesign\base-4a60a8cb\lib\_components\@alife\next-animate\lib\scss'
lerna ERR! npm WARN tar ENOENT: no such file or directory, lstat 'X:\XX\XX\react-materials\scaffolds\ice-design-analysis\node_modules\.staging\@icedesign\base-4a60a8cb\lib\_components'
lerna ERR! npm WARN tar ENOENT: no such file or directory, open 'X:\XX\XX\react-materials\scaffolds\ice-design-analysis\node_modules\.staging\@icedesign\base-c5eb8840\lib\_components\@alife\next-locale-provider\lib\deep-merge.js'
lerna ERR! npm WARN tar ENOENT: no such file or directory, open 'X:\XX\XX\react-materials\scaffolds\ice-design-analysis\node_modules\.staging\@icedesign\base-c5eb8840\lib\_components\@alife\next-locale-provider\lib\index.js'
lerna ERR! npm WARN tar ENOENT: no such file or directory, open 'X:\XX\XX\react-materials\scaffolds\ice-design-analysis\node_modules\.staging\@icedesign\base-c5eb8840\lib\_components\@alife\next-progress\lib\scss\mixin.scss'
lerna ERR! npm WARN tar EPERM: operation not permitted, open 'X:\XX\XX\react-materials\scaffolds\ice-design-analysis\node_modules\.staging\@icedesign\base-c5eb8840\lib\_components\@alife\next-progress\lib\scss\normalize.scss'
lerna ERR! npm WARN tar ENOENT: no such file or directory, open 'X:\XX\XX\react-materials\scaffolds\ice-design-analysis\node_modules\.staging\@icedesign\base-c5eb8840\lib\_components\@alife\next-progress\lib\style.js'
lerna ERR! npm WARN tar ENOENT: no such file or directory, open 'X:\XX\XX\react-materials\scaffolds\ice-design-analysis\node_modules\.staging\@icedesign\base-c5eb8840\lib\_components\@alife\next-progress\lib\scss\variable.scss'
lerna ERR!
lerna ERR! npm ERR! A complete log of this run can be found in:
lerna ERR! npm ERR!     X:\XX\XX\node_cache\_logs\2018-05-12T15_48_27_491Z-debug.log
lerna ERR!
lerna ERR!     at Promise.all.then.arr (X:\XX\XX\node_global\node_modules\lerna\node_modules\_execa@0.8.0@execa\index.js:236:11)
lerna ERR!     at <anonymous>
lerna WARN complete Waiting for 3 child processes to exit. CTRL-C to exit immediately.
{ Error: Command failed: npm installdencies: verb installed leaf @vue-materials/admin-lite
npm WARN tar ENOENT: no such file or directory, open 'X:\XX\XX\react-materials\scaffolds\ice-design-analysis\node_modules\.staging\core-js-bce982b0\fn\html-collection\index.js'
npm WARN tar ENOENT: no such file or directory, open 'X:\XX\XX\react-materials\scaffolds\ice-design-analysis\node_modules\.staging\core-js-bce982b0\fn\html-collection\iterator.js'
npm WARN tar ENOENT: no such file or directory, lstat 'X:\XX\XX\react-materials\scaffolds\ice-design-analysis\node_modules\.staging\core-js-bce982b0\fn\string'
npm WARN tar ENOENT: no such file or directory, open 'X:\XX\XX\react-materials\scaffolds\ice-design-analysis\node_modules\.staging\zrender-3ff52529\lib\vml\core.js'
npm WARN tar ENOENT: no such file or directory, open 'X:\XX\XX\react-materials\scaffolds\ice-design-analysis\node_modules\.staging\zrender-3ff52529\lib\vml\graphic.js'
npm WARN tar ENOENT: no such file or directory, open 'X:\XX\XX\react-materials\scaffolds\ice-design-analysis\node_modules\.staging\core-js-7e8f79ec\fn\string\anchor.js'
npm WARN tar ENOENT: no such file or directory, open 'X:\XX\XX\react-materials\scaffolds\ice-design-analysis\node_modules\.staging\core-js-7e8f79ec\fn\string\at.js'
npm WARN tar ENOENT: no such file or directory, open 'X:\XX\XX\react-materials\scaffolds\ice-design-analysis\node_modules\.staging\core-js-7e8f79ec\fn\string\big.js'
npm WARN tar ENOENT: no such file or directory, open 'X:\XX\XX\react-materials\scaffolds\ice-design-analysis\node_modules\.staging\core-js-7e8f79ec\fn\string\blink.js'
npm WARN tar ENOENT: no such file or directory, open 'X:\XX\XX\react-materials\scaffolds\ice-design-analysis\node_modules\.staging\core-js-7e8f79ec\fn\string\bold.js'
npm WARN tar ENOENT: no such file or directory, open 'X:\XX\XX\react-materials\scaffolds\ice-design-analysis\node_modules\.staging\core-js-7e8f79ec\fn\string\code-point-at.js'
npm WARN tar ENOENT: no such file or directory, open 'X:\XX\XX\react-materials\scaffolds\ice-design-analysis\node_modules\.staging\core-js-7e8f79ec\fn\string\ends-with.js'
npm WARN tar ENOENT: no such file or directory, open 'X:\XX\XX\react-materials\scaffolds\ice-design-analysis\node_modules\.staging\core-js-7e8f79ec\fn\string\escape-html.js'
npm WARN tar ENOENT: no such file or directory, open 'X:\XX\XX\react-materials\scaffolds\ice-design-analysis\node_modules\.staging\core-js-7e8f79ec\fn\string\fixed.js'
npm WARN tar ENOENT: no such file or directory, open 'X:\XX\XX\react-materials\scaffolds\ice-design-analysis\node_modules\.staging\core-js-7e8f79ec\fn\string\fontcolor.js'
npm WARN tar ENOENT: no such file or directory, open 'X:\XX\XX\react-materials\scaffolds\ice-design-analysis\node_modules\.staging\core-js-7e8f79ec\fn\string\fontsize.js'
npm WARN tar ENOENT: no such file or directory, open 'X:\XX\XX\react-materials\scaffolds\ice-design-analysis\node_modules\.staging\core-js-7e8f79ec\fn\string\from-code-point.js'
npm WARN tar ENOENT: no such file or directory, open 'X:\XX\XX\react-materials\scaffolds\ice-design-analysis\node_modules\.staging\core-js-7e8f79ec\fn\string\includes.js'
npm WARN tar ENOENT: no such file or directory, open 'X:\XX\XX\react-materials\scaffolds\ice-design-analysis\node_modules\.staging\core-js-7e8f79ec\fn\string\index.js'
npm WARN tar ENOENT: no such file or directory, open 'X:\XX\XX\react-materials\scaffolds\ice-design-analysis\node_modules\.staging\core-js-7e8f79ec\fn\string\italics.js'
npm WARN tar ENOENT: no such file or directory, open 'X:\XX\XX\react-materials\scaffolds\ice-design-analysis\node_modules\.staging\core-js-7e8f79ec\fn\string\iterator.js'
npm WARN tar ENOENT: no such file or directory, open 'X:\XX\XX\react-materials\scaffolds\ice-design-analysis\node_modules\.staging\core-js-7e8f79ec\fn\string\link.js'
npm WARN tar ENOENT: no such file or directory, open 'X:\XX\XX\react-materials\scaffolds\ice-design-analysis\node_modules\.staging\core-js-7e8f79ec\fn\string\match-all.js'
npm WARN tar ENOENT: no such file or directory, open 'X:\XX\XX\react-materials\scaffolds\ice-design-analysis\node_modules\.staging\core-js-7e8f79ec\fn\string\pad-end.js'
npm WARN tar ENOENT: no such file or directory, open 'X:\XX\XX\react-materials\scaffolds\ice-design-analysis\node_modules\.staging\core-js-7e8f79ec\fn\string\pad-start.js'
npm WARN tar ENOENT: no such file or directory, open 'X:\XX\XX\react-materials\scaffolds\ice-design-analysis\node_modules\.staging\core-js-7e8f79ec\fn\string\raw.js'
npm WARN tar ENOENT: no such file or directory, open 'X:\XX\XX\react-materials\scaffolds\ice-design-analysis\node_modules\.staging\core-js-7e8f79ec\fn\string\repeat.js'
npm WARN tar ENOENT: no such file or directory, open 'X:\XX\XX\react-materials\scaffolds\ice-design-analysis\node_modules\.staging\core-js-7e8f79ec\fn\string\small.js'
npm WARN tar ENOENT: no such file or directory, open 'X:\XX\XX\react-materials\scaffolds\ice-design-analysis\node_modules\.staging\core-js-7e8f79ec\fn\string\starts-with.js'
npm WARN tar ENOENT: no such file or directory, open 'X:\XX\XX\react-materials\scaffolds\ice-design-analysis\node_modules\.staging\core-js-7e8f79ec\fn\string\strike.js'
npm WARN tar ENOENT: no such file or directory, open 'X:\XX\XX\react-materials\scaffolds\ice-design-analysis\node_modules\.staging\core-js-7e8f79ec\fn\string\sub.js'
npm WARN tar ENOENT: no such file or directory, open 'X:\XX\XX\react-materials\scaffolds\ice-design-analysis\node_modules\.staging\core-js-7e8f79ec\fn\string\sup.js'
npm WARN tar ENOENT: no such file or directory, open 'X:\XX\XX\react-materials\scaffolds\ice-design-analysis\node_modules\.staging\core-js-7e8f79ec\fn\string\trim-end.js'
npm WARN tar ENOENT: no such file or directory, open 'X:\XX\XX\react-materials\scaffolds\ice-design-analysis\node_modules\.staging\core-js-7e8f79ec\fn\string\trim-left.js'
npm WARN tar ENOENT: no such file or directory, open 'X:\XX\XX\react-materials\scaffolds\ice-design-analysis\node_modules\.staging\core-js-7e8f79ec\fn\string\trim-right.js'
npm WARN tar ENOENT: no such file or directory, open 'X:\XX\XX\react-materials\scaffolds\ice-design-analysis\node_modules\.staging\core-js-7e8f79ec\fn\string\trim-start.js'
npm WARN tar ENOENT: no such file or directory, open 'X:\XX\XX\react-materials\scaffolds\ice-design-analysis\node_modules\.staging\core-js-7e8f79ec\fn\string\trim.js'
npm WARN tar ENOENT: no such file or directory, open 'X:\XX\XX\react-materials\scaffolds\ice-design-analysis\node_modules\.staging\core-js-7e8f79ec\fn\string\unescape-html.js'
npm WARN tar ENOENT: no such file or directory, lstat 'X:\XX\XX\react-materials\scaffolds\ice-design-analysis\node_modules\.staging\@icedesign\base-60aa16e4\lib\_components\@alife\next-accordion\lib\scss'
npm WARN tar ENOENT: no such file or directory, lstat 'X:\XX\XX\react-materials\scaffolds\ice-design-analysis\node_modules\.staging\@icedesign\base-60aa16e4\lib\_components'
npm WARN tar ENOENT: no such file or directory, lstat 'X:\XX\XX\react-materials\scaffolds\ice-design-analysis\node_modules\.staging\@icedesign\base-c5eb8840\lib\_components\@alife\next-affix\lib'
npm WARN tar EPERM: operation not permitted, lstat 'X:\XX\XX\react-materials\scaffolds\ice-design-analysis\node_modules\.staging\@icedesign\base-c5eb8840\lib\_components\@alife\next-animate\lib'
npm WARN tar ENOENT: no such file or directory, lstat 'X:\XX\XX\react-materials\scaffolds\ice-design-analysis\node_modules\.staging\@icedesign\base-c5eb8840\lib\_components'
npm WARN tar ENOENT: no such file or directory, lstat 'X:\XX\XX\react-materials\scaffolds\ice-design-analysis\node_modules\.staging\@icedesign\base-4a60a8cb\lib\_components\@alife\next-animate\lib\scss\_expand-entrances'
npm WARN react-text-loop@1.1.0 requires a peer of react@^15.0.1 but none is installed. You must install peer dependencies yourself.
npm WARN react-text-loop@1.1.0 requires a peer of react-dom@^15.0.1 but none is installed. You must install peer dependencies yourself.
npm WARN react-transition-group@1.2.1 requires a peer of react-dom@^15.0.0 || ^16.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN ice-design-analysis No repository field.
npm WARN ice-design-analysis No license field.

npm ERR! code EINTEGRITY
npm ERR! sha1-1YjJX3PBqZKLnHPVt2l1HDGFvNw= integrity checksum failed when using sha1: wanted sha1-1YjJX3PBqZKLnHPVt2l1HDGFvNw= but got sha1-kKOj1SMSrwM2PANy1FjSbAylnUI=. (816522 bytes)
npm WARN tar ENOENT: no such file or directory, lstat 'X:\XX\XX\react-materials\scaffolds\ice-design-analysis\node_modules\.staging\@icedesign\base-4a60a8cb\lib\_components\@alife\next-animate\lib'
npm WARN tar ENOENT: no such file or directory, lstat 'X:\XX\XX\react-materials\scaffolds\ice-design-analysis\node_modules\.staging\@icedesign\base-4a60a8cb\lib\_components\@alife\next-animate\lib'
npm WARN tar ENOENT: no such file or directory, lstat 'X:\XX\XX\react-materials\scaffolds\ice-design-analysis\node_modules\.staging\@icedesign\base-4a60a8cb\lib\_components\@alife\next-animate\lib\scss'
npm WARN tar ENOENT: no such file or directory, lstat 'X:\XX\XX\react-materials\scaffolds\ice-design-analysis\node_modules\.staging\@icedesign\base-4a60a8cb\lib\_components'
npm WARN tar ENOENT: no such file or directory, open 'X:\XX\XX\react-materials\scaffolds\ice-design-analysis\node_modules\.staging\@icedesign\base-c5eb8840\lib\_components\@alife\next-locale-provider\lib\deep-merge.js'
npm WARN tar ENOENT: no such file or directory, open 'X:\XX\XX\react-materials\scaffolds\ice-design-analysis\node_modules\.staging\@icedesign\base-c5eb8840\lib\_components\@alife\next-locale-provider\lib\index.js'
npm WARN tar ENOENT: no such file or directory, open 'X:\XX\XX\react-materials\scaffolds\ice-design-analysis\node_modules\.staging\@icedesign\base-c5eb8840\lib\_components\@alife\next-progress\lib\scss\mixin.scss'
npm WARN tar EPERM: operation not permitted, open 'X:\XX\XX\react-materials\scaffolds\ice-design-analysis\node_modules\.staging\@icedesign\base-c5eb8840\lib\_components\@alife\next-progress\lib\scss\normalize.scss'
npm WARN tar ENOENT: no such file or directory, open 'X:\XX\XX\react-materials\scaffolds\ice-design-analysis\node_modules\.staging\@icedesign\base-c5eb8840\lib\_components\@alife\next-progress\lib\style.js'
npm WARN tar ENOENT: no such file or directory, open 'X:\XX\XX\react-materials\scaffolds\ice-design-analysis\node_modules\.staging\@icedesign\base-c5eb8840\lib\_components\@alife\next-progress\lib\scss\variable.scss'

npm ERR! A complete log of this run can be found in:
npm ERR!     X:\XX\XX\node_cache\_logs\2018-05-12T15_48_27_491Z-debug.log

    at Promise.all.then.arr (X:\XX\XX\node_global\node_modules\lerna\node_modules\_execa@0.8.0@execa\index.js:236:11)
    at <anonymous>
    at process._tickCallback (internal/process/next_tick.js:188:7)
  code: 1,
  killed: false,
  stdout: '',
  stderr: 'npm WARN tar ENOENT: no such file or directory, open \'F:\\documentBak\\idea\\iceworks\\iceType\\icet\\react-materials\\scaffolds\\ice-design-analysis\\node_modules\\.staging\\core-js-bce982b0\\fn\\html-collection\\index.js\'\nnpm WARN tar ENOENT: no such file or directory, open \'F:\\documentBak\\idea\\iceworks\\iceType\\icet\\react-materials\\scaffolds\\ice-design-analysis\\node_modules\\.staging\\core-js-bce982b0\\fn\\html-collection\\iterator.js\'\nnpm WARN tar ENOENT: no such file or directory, lstat \'F:\\documentBak\\idea\\iceworks\\iceType\\icet\\react-materials\\scaffolds\\ice-design-analysis\\node_modules\\.staging\\core-js-bce982b0\\fn\\string\'\nnpm WARN tar ENOENT: no such file or directory,
open \'F:\\documentBak\\idea\\iceworks\\iceType\\icet\\react-materials\\scaffolds\\ice-design-analysis\\node_modules\\.staging\\zrender-3ff52529\\lib\\vml\\core.js\'\nnpm WARN tar ENOENT: no such file or directory, open \'F:\\documentBak\\idea\\iceworks\\iceType\\icet\\react-materials\\scaffolds\\ice-design-analysis\\node_modules\\.staging\\zrender-3ff52529\\lib\\vml\\graphic.js\'\nnpm WARN tar ENOENT: no such file or directory, open \'F:\\documentBak\\idea\\iceworks\\iceType\\icet\\react-materials\\scaffolds\\ice-design-analysis\\node_modules\\.staging\\core-js-7e8f79ec\\fn\\string\\anchor.js\'\nnpm WARN tar ENOENT: no such file or directory, open \'F:\\documentBak\\idea\\iceworks\\iceType\\icet\\react-materials\\scaffolds\\ice-design-analysis\\node_modules\\.staging\\core-js-7e8f79ec\\fn\\string\\at.js\'\nnpm WARN tar ENOENT: no such file or directory, open \'F:\\documentBak\\idea\\iceworks\\iceType\\icet\\react-materials\\scaffolds\\ice-design-analysis\\node_modules\\.staging\\core-js-7e8f79ec\\fn\\string\\big.js\'\nnpm WARN tar ENOENT: no such file or directory, open \'F:\\documentBak\\idea\\iceworks\\iceType\\icet\\react-materials\\scaffolds\\ice-design-analysis\\node_modules\\.staging\\core-js-7e8f79ec\\fn\\string\\blink.js\'\nnpm WARN tar ENOENT: no such file or directory, open \'F:\\documentBak\\idea\\iceworks\\iceType\\icet\\react-materials\\scaffolds\\ice-design-analysis\\node_modules\\.staging\\core-js-7e8f79ec\\fn\\string\\bold.js\'\nnpm WARN tar ENOENT: no such file or directory, open \'F:\\documentBak\\idea\\iceworks\\iceType\\icet\\react-materials\\scaffolds\\ice-design-analysis\\node_modules\\.staging\\core-js-7e8f79ec\\fn\\string\\code-point-at.js\'\nnpm WARN tar ENOENT: no such file or directory, open \'F:\\documentBak\\idea\\iceworks\\iceType\\icet\\react-materials\\scaffolds\\ice-design-analysis\\node_modules\\.staging\\core-js-7e8f79ec\\fn\\string\\ends-with.js\'\nnpm WARN tar ENOENT: no such file or directory, open \'F:\\documentBak\\idea\\iceworks\\iceType\\icet\\react-materials\\scaffolds\\ice-design-analysis\\node_modules\\.staging\\core-js-7e8f79ec\\fn\\string\\escape-html.js\'\nnpm WARN tar ENOENT: no such file or directory, open \'F:\\documentBak\\idea\\iceworks\\iceType\\icet\\react-materials\\scaffolds\\ice-design-analysis\\node_modules\\.staging\\core-js-7e8f79ec\\fn\\string\\fixed.js\'\nnpm WARN tar ENOENT: no such file or directory, open \'F:\\documentBak\\idea\\iceworks\\iceType\\icet\\react-materials\\scaffolds\\ice-design-analysis\\node_modules\\.staging\\core-js-7e8f79ec\\fn\\string\\fontcolor.js\'\nnpm WARN tar ENOENT: no such file or directory, open \'F:\\documentBak\\idea\\iceworks\\iceType\\icet\\react-materials\\scaffolds\\ice-design-analysis\\node_modules\\.staging\\core-js-7e8f79ec\\fn\\string\\fontsize.js\'\nnpm WARN tar ENOENT: no such file or directory, open \'F:\\documentBak\\idea\\iceworks\\iceType\\icet\\react-materials\\scaffolds\\ice-design-analysis\\node_modules\\.staging\\core-js-7e8f79ec\\fn\\string\\from-code-point.js\'\nnpm WARN tar ENOENT: no such file or directory, open \'F:\\documentBak\\idea\\iceworks\\iceType\\icet\\react-materials\\scaffolds\\ice-design-analysis\\node_modules\\.staging\\core-js-7e8f79ec\\fn\\string\\includes.js\'\nnpm WARN tar ENOENT: no such file or directory, open \'F:\\documentBak\\idea\\iceworks\\iceType\\icet\\react-materials\\scaffolds\\ice-design-analysis\\node_modules\\.staging\\core-js-7e8f79ec\\fn\\string\\index.js\'\nnpm WARN tar ENOENT: no such file or directory, open \'F:\\documentBak\\idea\\iceworks\\iceType\\icet\\react-materials\\scaffolds\\ice-design-analysis\\node_modules\\.staging\\core-js-7e8f79ec\\fn\\string\\italics.js\'\nnpm WARN tar ENOENT: no such file or directory, open \'F:\\documentBak\\idea\\iceworks\\iceType\\icet\\react-materials\\scaffolds\\ice-design-analysis\\node_modules\\.staging\\core-js-7e8f79ec\\fn\\string\\iterator.js\'\nnpm
WARN tar ENOENT: no such file or directory, open \'F:\\documentBak\\idea\\iceworks\\iceType\\icet\\react-materials\\scaffolds\\ice-design-analysis\\node_modules\\.staging\\core-js-7e8f79ec\\fn\\string\\link.js\'\nnpm WARN tar ENOENT: no such file or directory, open \'F:\\documentBak\\idea\\iceworks\\iceType\\icet\\react-materials\\scaffolds\\ice-design-analysis\\node_modules\\.staging\\core-js-7e8f79ec\\fn\\string\\match-all.js\'\nnpm WARN tar ENOENT: no such file or directory, open \'F:\\documentBak\\idea\\iceworks\\iceType\\icet\\react-materials\\scaffolds\\ice-design-analysis\\node_modules\\.staging\\core-js-7e8f79ec\\fn\\string\\pad-end.js\'\nnpm WARN tar ENOENT: no such file or directory, open \'F:\\documentBak\\idea\\iceworks\\iceType\\icet\\react-materials\\scaffolds\\ice-design-analysis\\node_modules\\.staging\\core-js-7e8f79ec\\fn\\string\\pad-start.js\'\nnpm WARN tar ENOENT: no such file or directory, open \'F:\\documentBak\\idea\\iceworks\\iceType\\icet\\react-materials\\scaffolds\\ice-design-analysis\\node_modules\\.staging\\core-js-7e8f79ec\\fn\\string\\raw.js\'\nnpm WARN tar ENOENT: no such file or directory, open \'F:\\documentBak\\idea\\iceworks\\iceType\\icet\\react-materials\\scaffolds\\ice-design-analysis\\node_modules\\.staging\\core-js-7e8f79ec\\fn\\string\\repeat.js\'\nnpm WARN tar ENOENT: no such file or directory, open \'F:\\documentBak\\idea\\iceworks\\iceType\\icet\\react-materials\\scaffolds\\ice-design-analysis\\node_modules\\.staging\\core-js-7e8f79ec\\fn\\string\\small.js\'\nnpm WARN tar ENOENT: no such file or directory, open \'F:\\documentBak\\idea\\iceworks\\iceType\\icet\\react-materials\\scaffolds\\ice-design-analysis\\node_modules\\.staging\\core-js-7e8f79ec\\fn\\string\\starts-with.js\'\nnpm WARN tar ENOENT: no such file or directory, open \'F:\\documentBak\\idea\\iceworks\\iceType\\icet\\react-materials\\scaffolds\\ice-design-analysis\\node_modules\\.staging\\core-js-7e8f79ec\\fn\\string\\strike.js\'\nnpm WARN tar ENOENT: no such file or directory, open \'F:\\documentBak\\idea\\iceworks\\iceType\\icet\\react-materials\\scaffolds\\ice-design-analysis\\node_modules\\.staging\\core-js-7e8f79ec\\fn\\string\\sub.js\'\nnpm WARN tar ENOENT: no such file or directory, open \'F:\\documentBak\\idea\\iceworks\\iceType\\icet\\react-materials\\scaffolds\\ice-design-analysis\\node_modules\\.staging\\core-js-7e8f79ec\\fn\\string\\sup.js\'\nnpm WARN tar ENOENT: no such file or directory, open \'F:\\documentBak\\idea\\iceworks\\iceType\\icet\\react-materials\\scaffolds\\ice-design-analysis\\node_modules\\.staging\\core-js-7e8f79ec\\fn\\string\\trim-end.js\'\nnpm WARN tar ENOENT: no such file or directory, open \'F:\\documentBak\\idea\\iceworks\\iceType\\icet\\react-materials\\scaffolds\\ice-design-analysis\\node_modules\\.staging\\core-js-7e8f79ec\\fn\\string\\trim-left.js\'\nnpm WARN tar ENOENT: no such file or directory, open \'F:\\documentBak\\idea\\iceworks\\iceType\\icet\\react-materials\\scaffolds\\ice-design-analysis\\node_modules\\.staging\\core-js-7e8f79ec\\fn\\string\\trim-right.js\'\nnpm WARN tar ENOENT: no such file or directory, open \'F:\\documentBak\\idea\\iceworks\\iceType\\icet\\react-materials\\scaffolds\\ice-design-analysis\\node_modules\\.staging\\core-js-7e8f79ec\\fn\\string\\trim-start.js\'\nnpm WARN tar ENOENT: no such file or directory, open \'F:\\documentBak\\idea\\iceworks\\iceType\\icet\\react-materials\\scaffolds\\ice-design-analysis\\node_modules\\.staging\\core-js-7e8f79ec\\fn\\string\\trim.js\'\nnpm WARN tar ENOENT: no such file or directory, open \'F:\\documentBak\\idea\\iceworks\\iceType\\icet\\react-materials\\scaffolds\\ice-design-analysis\\node_modules\\.staging\\core-js-7e8f79ec\\fn\\string\\unescape-html.js\'\nnpm WARN tar ENOENT: no such file or directory, lstat \'F:\\documentBak\\idea\\iceworks\\iceType\\icet\\react-materials\\scaffolds\\ice-design-analysis\\node_modules\\.staging\\@icedesign\\base-60aa16e4\\lib\\_components\\@alife\\next-accordion\\lib\\scss\'\nnpm WARN tar ENOENT: no such file or directory, lstat \'F:\\documentBak\\idea\\iceworks\\iceType\\icet\\react-materials\\scaffolds\\ice-design-analysis\\node_modules\\.staging\\@icedesign\\base-60aa16e4\\lib\\_components\'\nnpm WARN tar ENOENT: no such file or directory, lstat \'F:\\documentBak\\idea\\iceworks\\iceType\\icet\\react-materials\\scaffolds\\ice-design-analysis\\node_modules\\.staging\\@icedesign\\base-c5eb8840\\lib\\_components\\@alife\\next-affix\\lib\'\nnpm WARN tar EPERM: operation not permitted, lstat \'F:\\documentBak\\idea\\iceworks\\iceType\\icet\\react-materials\\scaffolds\\ice-design-analysis\\node_modules\\.staging\\@icedesign\\base-c5eb8840\\lib\\_components\\@alife\\next-animate\\lib\'\nnpm WARN tar ENOENT: no such file or directory, lstat \'F:\\documentBak\\idea\\iceworks\\iceType\\icet\\react-materials\\scaffolds\\ice-design-analysis\\node_modules\\.staging\\@icedesign\\base-c5eb8840\\lib\\_components\'\nnpm WARN tar ENOENT: no such file or directory, lstat \'F:\\documentBak\\idea\\iceworks\\iceType\\icet\\react-materials\\scaffolds\\ice-design-analysis\\node_modules\\.staging\\@icedesign\\base-4a60a8cb\\lib\\_components\\@alife\\next-animate\\lib\\scss\\_expand-entrances\'\nnpm WARN react-text-loop@1.1.0 requires a peer of react@^15.0.1 but none is installed. You must install peer dependencies yourself.\nnpm WARN react-text-loop@1.1.0 requires a peer of react-dom@^15.0.1 but none is installed. You must install peer dependencies yourself.\nnpm WARN react-transition-group@1.2.1 requires a peer of react-dom@^15.0.0 || ^16.0.0 but none is installed. You must install peer dependencies yourself.\nnpm WARN ice-design-analysis No repository field.\nnpm WARN ice-design-analysis No license field.\n\nnpm ERR! code EINTEGRITY\nnpm ERR! sha1-1YjJX3PBqZKLnHPVt2l1HDGFvNw= integrity checksum failed when using sha1: wanted sha1-1YjJX3PBqZKLnHPVt2l1HDGFvNw= but got sha1-kKOj1SMSrwM2PANy1FjSbAylnUI=. (816522 bytes)\nnpm WARN tar ENOENT: no such file or directory, lstat \'F:\\documentBak\\idea\\iceworks\\iceType\\icet\\react-materials\\scaffolds\\ice-design-analysis\\node_modules\\.staging\\@icedesign\\base-4a60a8cb\\lib\\_components\\@alife\\next-animate\\lib\'\nnpm WARN tar ENOENT: no such
file or directory, lstat \'F:\\documentBak\\idea\\iceworks\\iceType\\icet\\react-materials\\scaffolds\\ice-design-analysis\\node_modules\\.staging\\@icedesign\\base-4a60a8cb\\lib\\_components\\@alife\\next-animate\\lib\'\nnpm WARN tar ENOENT: no such file or directory, lstat \'F:\\documentBak\\idea\\iceworks\\iceType\\icet\\react-materials\\scaffolds\\ice-design-analysis\\node_modules\\.staging\\@icedesign\\base-4a60a8cb\\lib\\_components\\@alife\\next-animate\\lib\\scss\'\nnpm WARN tar ENOENT: no such file or directory, lstat \'F:\\documentBak\\idea\\iceworks\\iceType\\icet\\react-materials\\scaffolds\\ice-design-analysis\\node_modules\\.staging\\@icedesign\\base-4a60a8cb\\lib\\_components\'\nnpm WARN tar ENOENT: no such file or directory, open \'F:\\documentBak\\idea\\iceworks\\iceType\\icet\\react-materials\\scaffolds\\ice-design-analysis\\node_modules\\.staging\\@icedesign\\base-c5eb8840\\lib\\_components\\@alife\\next-locale-provider\\lib\\deep-merge.js\'\nnpm WARN tar ENOENT: no such file or directory, open \'F:\\documentBak\\idea\\iceworks\\iceType\\icet\\react-materials\\scaffolds\\ice-design-analysis\\node_modules\\.staging\\@icedesign\\base-c5eb8840\\lib\\_components\\@alife\\next-locale-provider\\lib\\index.js\'\nnpm WARN tar ENOENT: no such file or directory, open \'F:\\documentBak\\idea\\iceworks\\iceType\\icet\\react-materials\\scaffolds\\ice-design-analysis\\node_modules\\.staging\\@icedesign\\base-c5eb8840\\lib\\_components\\@alife\\next-progress\\lib\\scss\\mixin.scss\'\nnpm WARN tar EPERM: operation not permitted, open \'F:\\documentBak\\idea\\iceworks\\iceType\\icet\\react-materials\\scaffolds\\ice-design-analysis\\node_modules\\.staging\\@icedesign\\base-c5eb8840\\lib\\_components\\@alife\\next-progress\\lib\\scss\\normalize.scss\'\nnpm WARN tar ENOENT: no such file or directory, open \'F:\\documentBak\\idea\\iceworks\\iceType\\icet\\react-materials\\scaffolds\\ice-design-analysis\\node_modules\\.staging\\@icedesign\\base-c5eb8840\\lib\\_components\\@alife\\next-progress\\lib\\style.js\'\nnpm WARN tar ENOENT: no such file or directory, open \'F:\\documentBak\\idea\\iceworks\\iceType\\icet\\react-materials\\scaffolds\\ice-design-analysis\\node_modules\\.staging\\@icedesign\\base-c5eb8840\\lib\\_components\\@alife\\next-progress\\lib\\scss\\variable.scss\'\n\nnpm ERR! A complete log of this run can be found in:\nnpm ERR!     X:\XX\XXnode_cache\\_logs\\2018-05-12T15_48_27_491Z-debug.log\n',
  failed: true,
  signal: null,
  cmd: 'npm install',
  timedOut: false,
  exitCode: 1 }
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! ice-workspace@0.0.2 bootstrap: `lerna bootstrap`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the ice-workspace@0.0.2 bootstrap script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm WARN Local package.json exists, but node_modules missing, did you mean to install?

npm ERR! A complete log of this run can be found in:
npm ERR!     X:\XX\XX\node_cache\_logs\2018-05-12T15_55_59_132Z-debug.log
$ npm publish
0 info it worked if it ends with ok
1 verbose cli [ 'X:\\XX\\XX\\nodejs\\node.exe',
1 verbose cli   'X:\\XX\\XX\\nodejs\\node_modules\\npm\\bin\\npm-cli.js',
1 verbose cli   'publish' ]
2 info using npm@5.6.0
3 info using node@v8.11.1
4 verbose npm-session fada27847771f62d
5 verbose publish [ '.' ]
6 info lifecycle @vue-materials/basic-not-found-block@1.0.0~prepublish: @vue-materials/basic-not-found-block@1.0.0
7 info lifecycle @vue-materials/basic-not-found-block@1.0.0~prepare: @vue-materials/basic-not-found-block@1.0.0
8 info lifecycle @vue-materials/basic-not-found-block@1.0.0~prepublishOnly: @vue-materials/basic-not-found-block@1.0.0
9 info lifecycle @vue-materials/basic-not-found-block@1.0.0~prepack: @vue-materials/basic-not-found-block@1.0.0
10 info lifecycle @vue-materials/basic-not-found-block@1.0.0~postpack: @vue-materials/basic-not-found-block@1.0.0
11 verbose getPublishConfig { access: 'public', registry: 'http://registry.npmjs.com' }
12 silly mapToRegistry name @vue-materials/basic-not-found-block
13 silly mapToRegistry scope (from package name) @vue-materials
14 verbose mapToRegistry no registry URL found in name for scope @vue-materials
15 silly mapToRegistry using default registry
16 silly mapToRegistry registry http://registry.npmjs.com
17 silly mapToRegistry data { type: 'tag',
17 silly mapToRegistry   registry: true,
17 silly mapToRegistry   where: undefined,
17 silly mapToRegistry   raw: '@vue-materials/basic-not-found-block',
17 silly mapToRegistry   name: '@vue-materials/basic-not-found-block',
17 silly mapToRegistry   escapedName: '@vue-materials%2fbasic-not-found-block',
17 silly mapToRegistry   scope: '@vue-materials',
17 silly mapToRegistry   rawSpec: '',
17 silly mapToRegistry   saveSpec: null,
17 silly mapToRegistry   fetchSpec: 'latest',
17 silly mapToRegistry   gitRange: undefined,
17 silly mapToRegistry   gitCommittish: undefined,
17 silly mapToRegistry   hosted: undefined }
18 silly mapToRegistry uri http://registry.npmjs.com/@vue-materials%2fbasic-not-found-block
19 verbose publish registryBase http://registry.npmjs.com/
20 silly publish uploading C:\Users\ADMINI~1\AppData\Local\Temp\npm-4344-b0ab0808\tmp\fromDir-9a0f0384\package.tgz
21 verbose stack Error: EPERM: operation not permitted, unlink 'C:\Users\ADMINI~1\AppData\Local\Temp\npm-4344-b0ab0808\tmp\fromDir-9a0f0384\package.tgz'
22 verbose cwd F:\documentBak\idea\iceworks\iceType\icet\vue-materials\blocks\BasicNotFound
23 verbose Windows_NT 10.0.17133
24 verbose argv "X:\\XX\\XX\\nodejs\\node.exe" "X:\\XX\\XX\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "publish"
25 verbose node v8.11.1
26 verbose npm  v5.6.0
27 error path C:\Users\ADMINI~1\AppData\Local\Temp\npm-4344-b0ab0808\tmp\fromDir-9a0f0384\package.tgz
28 error code EPERM
29 error errno -4048
30 error syscall unlink
31 error Error: EPERM: operation not permitted, unlink 'C:\Users\ADMINI~1\AppData\Local\Temp\npm-4344-b0ab0808\tmp\fromDir-9a0f0384\package.tgz'
31 error  { Error: EPERM: operation not permitted, unlink 'C:\Users\ADMINI~1\AppData\Local\Temp\npm-4344-b0ab0808\tmp\fromDir-9a0f0384\package.tgz'
31 error   cause:
31 error    { Error: EPERM: operation not permitted, unlink 'C:\Users\ADMINI~1\AppData\Local\Temp\npm-4344-b0ab0808\tmp\fromDir-9a0f0384\package.tgz'
31 error      errno: -4048,
31 error      code: 'EPERM',
31 error      syscall: 'unlink',
31 error      path: 'C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\npm-4344-b0ab0808\\tmp\\fromDir-9a0f0384\\package.tgz' },
31 error   isOperational: true,
31 error   stack: 'Error: EPERM: operation not permitted, unlink \'C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\npm-4344-b0ab0808\\tmp\\fromDir-9a0f0384\\package.tgz\'',
31 error   errno: -4048,
31 error   code: 'EPERM',
31 error   syscall: 'unlink',
31 error   path: 'C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\npm-4344-b0ab0808\\tmp\\fromDir-9a0f0384\\package.tgz' }
32 error Please try running this command again as root/Administrator.
33 verbose exit [ -4048, true ]
$ npm adduser
Username: melonhero
Password:
Email: (this IS public) neefoxmo@gmail.com
Logged in as melonhero on https://registry.npmjs.org/.

$ npm whoami # 验证一下
melonhero

$ npm config ls -l # 查看配置
; cli configs
long = true
metrics-registry = "https://registry.npmjs.org/"
scope = ""
user-agent = "npm/5.6.0 node/v8.11.1 win32 x64"

; userconfig C:\Users\Administrator\.npmrc
cache = "X:\\XX\\XX\\node_cache"
prefix = "X:\\XX\\XX\\node_global"

; default values
access = null
allow-same-version = false
also = null
always-auth = false
auth-type = "legacy"
bin-links = true
browser = null
ca = null
; cache = "C:\\Users\\Administrator\\AppData\\Roaming\\npm-cache" (overridden)
cache-lock-retries = 10
cache-lock-stale = 60000
cache-lock-wait = 10000
cache-max = null
cache-min = 10
cafile = undefined
cert = null
cidr = null
color = true
commit-hooks = true
depth = null
description = true
dev = false
dry-run = false
editor = "notepad.exe"
engine-strict = false
fetch-retries = 2
fetch-retry-factor = 10
fetch-retry-maxtimeout = 60000
fetch-retry-mintimeout = 10000
force = false
git = "git"
git-tag-version = true
global = false
global-style = false
globalconfig = "X:\\XX\\XX\\node_global\\etc\\npmrc"
globalignorefile = "X:\\XX\\XX\\node_global\\etc\\npmignore"
group = 0
ham-it-up = false
heading = "npm"
https-proxy = null
if-present = false
ignore-prepublish = false
ignore-scripts = false
init-author-email = ""
init-author-name = ""
init-author-url = ""
init-license = "ISC"
init-module = "C:\\Users\\Administrator\\.npm-init.js"
init-version = "1.0.0"
json = false
key = null
legacy-bundling = false
link = false
local-address = undefined
loglevel = "notice"
logs-max = 10
; long = false (overridden)
maxsockets = 50
message = "%s"
; metrics-registry = null (overridden)
node-options = null
node-version = "8.11.1"
offline = false
onload-script = null
only = null
optional = true
otp = 0
package-lock = true
package-lock-only = false
parseable = false
prefer-offline = false
prefer-online = false
; prefix = "X:\\XX\\XX\\nodejs" (overridden)
production = false
progress = true
proxy = null
read-only = false
rebuild-bundle = true
registry = "https://registry.npmjs.org/"
rollback = true
save = true
save-bundle = false
save-dev = false
save-exact = false
save-optional = false
save-prefix = "^"
save-prod = false
scope = ""
script-shell = null
scripts-prepend-node-path = "warn-only"
searchexclude = null
searchlimit = 20
searchopts = ""
searchstaleness = 900
send-metrics = false
shell = "C:\\Windows\\system32\\cmd.exe"
shrinkwrap = true
sign-git-tag = false
sso-poll-frequency = 500
sso-type = "oauth"
strict-ssl = true
tag = "latest"
tag-version-prefix = "v"
timing = false
tmp = "C:\\Users\\ADMINI~1\\AppData\\Local\\Temp"
umask = 0
unicode = false
unsafe-perm = true
usage = false
user = 0
; user-agent = "npm/{npm-version} node/{node-version} {platform} {arch}" (overridden)
userconfig = "C:\\Users\\Administrator\\.npmrc"
version = false
versions = false
viewer = "browser"
# 修改前

tmp = "C:\\Users\\ADMINI~1\\AppData\\Local\\Temp"

# 执行命令

npm config set tmp "X:\XX\XX\node_temp"

# 修改后

tmp = "X:\\XX\\XX\\node_temp"
$ npm set registry http://registry.npmjs.org
npm publish --tag 1.0.0 ##这边查看资料说可以加上publish的tag,结果这边一直报错
npm ERR! Tag name must not be a valid SemVer range: 1.0.0

npm ERR! A complete log of this run can be found in:
npm ERR!     X:\XX\XX\\node_cache\_logs\2018-05-12T16_48_43_826Z-debug.log
semver.valid('1.2.3') // true
semver.valid('a.b.c') // false
semver.clean('  =v1.2.3   ') // '1.2.3'
semver.satisfies('1.2.3', '1.x || >=2.5.0 || 5.0.0 - 7.2.3') // true
semver.gt('1.2.3', '9.8.7')  // false
semver.lt('1.2.3', '9.8.7')  // true

版本格式:主版号.次版号.修订号,版号递增规则如下:

主版号:当你做了不相容的API 修改,

次版号:当你做了向下相容的功能性新增,

修订号:当你做了向下相容的问题修正。

先行版号及版本编译资讯可以加到「主版号.次版号.修订号」的后面,作为延伸。

$ npm cache clean -f
npm config set tmp "X:\XX\XX\\node_temp"
npm config set registry https://registry.npm.taobao.org
mowatermelon commented 6 years ago

尝试了半天

npm ERR! path G:\Dev\web\node_temp\npm-9184-ea15ac1c\tmp\fromDir-ca297cd0\package.tgz
npm ERR! code EPERM
npm ERR! errno -4048
npm ERR! syscall unlink
npm ERR! Error: EPERM: operation not permitted, unlink 'G:\Dev\web\node_temp\npm-9184-ea15ac1c\tmp\fromDir-ca297cd0\package.tgz'
npm ERR!  { Error: EPERM: operation not permitted, unlink 'G:\Dev\web\node_temp\npm-9184-ea15ac1c\tmp\fromDir-ca297cd0\package.tgz'
npm ERR!   cause:
npm ERR!    { Error: EPERM: operation not permitted, unlink 'G:\Dev\web\node_temp\npm-9184-ea15ac1c\tmp\fromDir-ca297cd0\package.tgz'
npm ERR!      errno: -4048,
npm ERR!      code: 'EPERM',
npm ERR!      syscall: 'unlink',
npm ERR!      path: 'G:\\Dev\\web\\node_temp\\npm-9184-ea15ac1c\\tmp\\fromDir-ca297cd0\\package.tgz' },
npm ERR!   isOperational: true,
npm ERR!   stack: 'Error: EPERM: operation not permitted, unlink \'G:\\Dev\\web\\node_temp\\npm-9184-ea15ac1c\\tmp\\fromDir-ca297cd0\\package.tgz\'',
npm ERR!   errno: -4048,
npm ERR!   code: 'EPERM',
npm ERR!   syscall: 'unlink',
npm ERR!   path: 'G:\\Dev\\web\\node_temp\\npm-9184-ea15ac1c\\tmp\\fromDir-ca297cd0\\package.tgz' }
npm ERR!
npm ERR! The operation was rejected by your operating system.
npm ERR! It's possible that the file was already in use (by a text editor or antivirus),
npm ERR! or that you lack permissions to access it.
npm ERR!
npm ERR! If you believe this might be a permissions issue, please double-check the
npm ERR! permissions of the file and its containing directories, or try running
npm ERR! the command again as root/Administrator (though this is not recommended).

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\Administrator\AppData\Roaming\npm-cache\_logs\2018-05-12T18_14_00_059Z-debug.log

image

mowatermelon commented 6 years ago

image

mowatermelon commented 6 years ago
npm unlink
up to date in 0.085s

npm link
up to date in 0.248s
G:\Dev\web\node_global\node_modules\@vue-materials\basic-exception-block -> F:\documentBak\idea\iceworks\ice\vue-materials\blocks\BasicException
mowatermelon commented 6 years ago

我突然想起,我最初在新建组件的时候,提示的错误

npm notice created a lockfile as package-lock.json. You should commit this file.
0 info it worked if it ends with ok
1 verbose cli [ 'X:\\XX\\XX\\nodejs\\node.exe',
1 verbose cli   'X:\\XX\\XX\\node_global\\node_modules\\npm\\bin\\npm-cli.js',
1 verbose cli   'publish' ]
2 info using npm@6.0.1
3 info using node@v8.11.1
4 verbose npm-session fda6eebcb5982fa0
5 verbose publish [ '.' ]
6 info lifecycle @vue-materials/basic-exception-block@1.0.0~prepublish: @vue-materials/basic-exception-block@1.0.0
7 info lifecycle @vue-materials/basic-exception-block@1.0.0~prepare: @vue-materials/basic-exception-block@1.0.0
8 info lifecycle @vue-materials/basic-exception-block@1.0.0~prepublishOnly: @vue-materials/basic-exception-block@1.0.0
9 info lifecycle @vue-materials/basic-exception-block@1.0.0~prepack: @vue-materials/basic-exception-block@1.0.0
10 info lifecycle @vue-materials/basic-exception-block@1.0.0~postpack: @vue-materials/basic-exception-block@1.0.0
11 notice
12 notice package: @vue-materials/basic-exception-block@1.0.0
13 notice === Tarball Contents ===
14 notice 831B  package.json
14 notice 205B  README.md
14 notice 1.7kB src/BasicException.vue
14 notice 79B   src/index.js
15 notice === Tarball Details ===
16 notice name:          @vue-materials/basic-exception-block
16 notice version:       1.0.0
16 notice package size:  1.4 kB
16 notice unpacked size: 2.8 kB
16 notice shasum:        713850421d434a8b0131028a7e40882f8d0fa635
16 notice integrity:     sha512-wjYt0UnNgxP52[...]1izJvo9oagjFA==
16 notice total files:   4
17 notice
18 verbose getPublishConfig { access: 'public', registry: 'http://registry.npmjs.com' }
19 silly mapToRegistry name @vue-materials/basic-exception-block
20 silly mapToRegistry scope (from package name) @vue-materials
21 verbose mapToRegistry no registry URL found in name for scope @vue-materials
22 silly mapToRegistry using default registry
23 silly mapToRegistry registry http://registry.npmjs.com
24 silly mapToRegistry data { type: 'tag',
24 silly mapToRegistry   registry: true,
24 silly mapToRegistry   where: undefined,
24 silly mapToRegistry   raw: '@vue-materials/basic-exception-block',
24 silly mapToRegistry   name: '@vue-materials/basic-exception-block',
24 silly mapToRegistry   escapedName: '@vue-materials%2fbasic-exception-block',
24 silly mapToRegistry   scope: '@vue-materials',
24 silly mapToRegistry   rawSpec: '',
24 silly mapToRegistry   saveSpec: null,
24 silly mapToRegistry   fetchSpec: 'latest',
24 silly mapToRegistry   gitRange: undefined,
24 silly mapToRegistry   gitCommittish: undefined,
24 silly mapToRegistry   hosted: undefined }
25 silly mapToRegistry uri http://registry.npmjs.com/@vue-materials%2fbasic-exception-block
26 verbose publish registryBase http://registry.npmjs.com/
27 silly publish uploading G:\Dev\web\node_temp\npm-4520-3ef78d48\tmp\fromDir-76a6ddbf\package.tgz
28 verbose stack Error: EPERM: operation not permitted, unlink 'G:\Dev\web\node_temp\npm-4520-3ef78d48\tmp\fromDir-76a6ddbf\package.tgz'
29 verbose cwd X:\XX\XX\\vue-materials\blocks\BasicException
30 verbose Windows_NT 10.0.17133
31 verbose argv "X:\\XX\\XX\\nodejs\\node.exe" "X:\\XX\\XX\\node_global\\node_modules\\npm\\bin\\npm-cli.js" "publish"
32 verbose node v8.11.1
33 verbose npm  v6.0.1
34 error path G:\Dev\web\node_temp\npm-4520-3ef78d48\tmp\fromDir-76a6ddbf\package.tgz
35 error code EPERM
36 error errno -4048
37 error syscall unlink
38 error Error: EPERM: operation not permitted, unlink 'G:\Dev\web\node_temp\npm-4520-3ef78d48\tmp\fromDir-76a6ddbf\package.tgz'
38 error  { Error: EPERM: operation not permitted, unlink 'G:\Dev\web\node_temp\npm-4520-3ef78d48\tmp\fromDir-76a6ddbf\package.tgz'
38 error   cause:
38 error    { Error: EPERM: operation not permitted, unlink 'G:\Dev\web\node_temp\npm-4520-3ef78d48\tmp\fromDir-76a6ddbf\package.tgz'
38 error      errno: -4048,
38 error      code: 'EPERM',
38 error      syscall: 'unlink',
38 error      path: 'X:\\XX\\XX\\node_temp\\npm-4520-3ef78d48\\tmp\\fromDir-76a6ddbf\\package.tgz' },
38 error   isOperational: true,
38 error   stack: 'Error: EPERM: operation not permitted, unlink \'X:\\XX\\XX\\node_temp\\npm-4520-3ef78d48\\tmp\\fromDir-76a6ddbf\\package.tgz\'',
38 error   errno: -4048,
38 error   code: 'EPERM',
38 error   syscall: 'unlink',
38 error   path: 'X:\\XX\\XX\\node_temp\\npm-4520-3ef78d48\\tmp\\fromDir-76a6ddbf\\package.tgz' }
39 error The operation was rejected by your operating system.
39 error It's possible that the file was already in use (by a text editor or antivirus),
39 error or that you lack permissions to access it.
39 error
39 error If you believe this might be a permissions issue, please double-check the
39 error permissions of the file and its containing directories, or try running
39 error the command again as root/Administrator (though this is not recommended).
40 verbose exit [ -4048, true ]
mowatermelon commented 6 years ago

尝试全局更新npm版本

npm i -g npm
G:\Dev\web\node_global\npm -> G:\Dev\web\node_global\node_modules\npm\bin\npm-cli.js
G:\Dev\web\node_global\npx -> G:\Dev\web\node_global\node_modules\npm\bin\npx-cli.js
+ npm@6.0.1
added 682 packages in 157.9s
mowatermelon commented 6 years ago

npm cache verify,有人提供这个命令,我试了一下,确实可以,但是我也不知道为什么要执行这个验证缓存的数据完整性这个命令就可以了

完全没有用

mowatermelon commented 6 years ago

绝望的我,尝试初始化一个很小的项目,然后执行发布

npm init

放上最后生成的package.json

{
  "name": "melon-test-demo",
  "version": "1.0.0",
  "description": "this is a test npm publish",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [
    "demo",
    "npm",
    "module",
    "test"
  ],
  "author": "melonhero",
  "license": "ISC"
}

index.js

添加index.js的内容,

console.log("melon test publish demo npm module");

npm publish

$ npm publish
npm notice
npm notice package: melon-test-demo@1.0.0
npm notice === Tarball Contents ===
npm notice 315B package.json
npm notice 51B  index.js
npm notice === Tarball Details ===
npm notice name:          melon-test-demo
npm notice version:       1.0.0
npm notice package size:  351 B
npm notice unpacked size: 366 B
npm notice shasum:        d335ae89b922ff6e328aefbf3c100e76e15244f4
npm notice integrity:     sha512-0JysNjeBXwmF6[...]TeMMiSAPW6zmA==
npm notice total files:   2
npm notice
+ melon-test-demo@1.0.0

image

mowatermelon commented 6 years ago
npm --registry http://registry.cnpmjs
.org info underscore

underscore@1.9.0 | MIT | deps: none | versions: 34
JavaScript's functional programming helper library.
http://underscorejs.org

dist
.tarball http://r.cnpmjs.org/underscore/download/underscore-1.9.0.tgz
.shasum: 31dbb314cfcc88f169cd3692d9149d81a00a73e4

maintainers:
- jashkenas <jashkenas@gmail.com>
- jridgewell <justin+npm@ridgewell.name>

dist-tags:
latest: 1.9.0  stable: 1.9.0

published 3 weeks ago by jashkenas <jashkenas@gmail.com>
PS F:\documentBak\idea\iceworks\ice\vue-materials\blocks\BasicException> npm publish
npm notice
npm notice package: @vue-materials/basic-exception-block@1.0.0
npm notice === Tarball Contents ===
npm notice 831B  package.json
npm notice 205B  README.md
npm notice 1.7kB src/BasicException.vue
npm notice 79B   src/index.js
npm notice === Tarball Details ===
npm notice name:          @vue-materials/basic-exception-block
npm notice version:       1.0.0
npm notice package size:  1.4 kB
npm notice unpacked size: 2.8 kB
npm notice shasum:        713850421d434a8b0131028a7e40882f8d0fa635
npm notice integrity:     sha512-wjYt0UnNgxP52[...]1izJvo9oagjFA==
npm notice total files:   4
npm notice
npm ERR! path G:\Dev\web\node_temp\npm-8440-e24d4dba\tmp\fromDir-d5931203\package.tgz
npm ERR! code EPERM
npm ERR! errno -4048
npm ERR! syscall unlink
npm ERR! Error: EPERM: operation not permitted, unlink 'G:\Dev\web\node_temp\npm-8440-e24d4dba\tmp\fromDir-d5931203\package.tgz'
npm ERR!  { Error: EPERM: operation not permitted, unlink 'G:\Dev\web\node_temp\npm-8440-e24d4dba\tmp\fromDir-d5931203\package.tgz'
npm ERR!   cause:
npm ERR!    { Error: EPERM: operation not permitted, unlink 'G:\Dev\web\node_temp\npm-8440-e24d4dba\tmp\fromDir-d5931203\package.tgz'
npm ERR!      errno: -4048,
npm ERR!      code: 'EPERM',
npm ERR!      syscall: 'unlink',
npm ERR!      path: 'X:\\XX\\XX\\node_temp\\npm-8440-e24d4dba\\tmp\\fromDir-d5931203\\package.tgz' },
npm ERR!   isOperational: true,
npm ERR!   stack: 'Error: EPERM: operation not permitted, unlink \'X:\\XX\\XX\\node_temp\\npm-8440-e24d4dba\\tmp\\fromDir-d5931203\\package.tgz\'',
npm ERR!   errno: -4048,
npm ERR!   code: 'EPERM',
npm ERR!   syscall: 'unlink',
npm ERR!   path: 'X:\\XX\\XX\\node_temp\\npm-8440-e24d4dba\\tmp\\fromDir-d5931203\\package.tgz' }
npm ERR!
npm ERR! The operation was rejected by your operating system.
npm ERR! It's possible that the file was already in use (by a text editor or antivirus),
npm ERR! or that you lack permissions to access it.
npm ERR!
npm ERR! If you believe this might be a permissions issue, please double-check the
npm ERR! permissions of the file and its containing directories, or try running
npm ERR! the command again as root/Administrator (though this is not recommended).

npm ERR! A complete log of this run can be found in:
npm ERR!     X:\XX\XX\node_cache\_logs\2018-05-12T19_38_38_071Z-debug.log
mowatermelon commented 6 years ago

 npm ll
@vue-materials/basic-exception-block@1.0.0
| F:\documentBak\idea\iceworks\ice\vue-materials\blocks\BasicException
| 基于element-ui组件的基础异常报错
| git+https://github.com/alibaba/ice.git
| https://github.com/alibaba/ice#readme
+-- @vue-materials/basic-container@1.0.0
| | 简介:区块容器组件
| | git+https://github.com/alibaba/ice.git
| | https://github.com/alibaba/ice#readme
| `-- vue@2.5.16 deduped
|     Reactive, component-oriented view layer for modern web interfaces.
|     git+https://github.com/vuejs/vue.git
|     https://github.com/vuejs/vue#readme
`-- vue@2.5.16
    Reactive, component-oriented view layer for modern web interfaces.
    git+https://github.com/vuejs/vue.git
    https://github.com/vuejs/vue#readme
mowatermelon commented 6 years ago
PS F:\documentBak\idea\iceworks\ice\vue-materials\blocks\BasicException> npm uninstall vue
up to date in 1.429s
[+] no known vulnerabilities found [2 packages audited]

PS F:\documentBak\idea\iceworks\ice\vue-materials\blocks\BasicException> npm uninstall vue@2.5.16
up to date in 1.432s
[+] no known vulnerabilities found [2 packages audited]
mowatermelon commented 6 years ago

删除node-modulespackage.lock.json,我发现这边区块物料进去都没有node-modules文件夹和package.lock.json文件

npm ll
@vue-materials/basic-exception-block@1.0.0
| F:\documentBak\idea\iceworks\ice\vue-materials\blocks\BasicException
| 基于element-ui组件的基础异常报错
| git+https://github.com/alibaba/ice.git
| https://github.com/alibaba/ice#readme
`-- UNMET DEPENDENCY @vue-materials/basic-container@^1.0.0

npm ERR! missing: @vue-materials/basic-container@^1.0.0, required by @vue-materials/basic-exception-block@1.0.0

PS F:\documentBak\idea\iceworks\ice\vue-materials\blocks\BasicException> npm publish
npm notice
npm notice package: @vue-materials/basic-exception-block@1.0.0
npm notice === Tarball Contents ===
npm notice 809B  package.json
npm notice 205B  README.md
npm notice 1.7kB src/BasicException.vue
npm notice 79B   src/index.js
npm notice === Tarball Details ===
npm notice name:          @vue-materials/basic-exception-block
npm notice version:       1.0.0
npm notice package size:  1.4 kB
npm notice unpacked size: 2.8 kB
npm notice shasum:        d08f1919c6d7c0b9ea814af2bb894b54a0cb53bd
npm notice integrity:     sha512-SlRZmTTrdJBNq[...]8HIUl9Q7ineWw==
npm notice total files:   4
npm notice
npm ERR! path G:\Dev\web\node_temp\npm-1480-c1dd74d7\tmp\fromDir-e3fbc085\package.tgz
npm ERR! code EPERM
npm ERR! errno -4048
npm ERR! syscall unlink
npm ERR! Error: EPERM: operation not permitted, unlink 'G:\Dev\web\node_temp\npm-1480-c1dd74d7\tmp\fromDir-e3fbc085\package.tgz'
npm ERR!  { Error: EPERM: operation not permitted, unlink 'G:\Dev\web\node_temp\npm-1480-c1dd74d7\tmp\fromDir-e3fbc085\package.tgz'
npm ERR!   cause:
npm ERR!    { Error: EPERM: operation not permitted, unlink 'G:\Dev\web\node_temp\npm-1480-c1dd74d7\tmp\fromDir-e3fbc085\package.tgz'
npm ERR!      errno: -4048,
npm ERR!      code: 'EPERM',
npm ERR!      syscall: 'unlink',
npm ERR!      path: 'G:\\Dev\\web\\node_temp\\npm-1480-c1dd74d7\\tmp\\fromDir-e3fbc085\\package.tgz' },
npm ERR!   isOperational: true,
npm ERR!   stack: 'Error: EPERM: operation not permitted, unlink \'G:\\Dev\\web\\node_temp\\npm-1480-c1dd74d7\\tmp\\fromDir-e3fbc085\\package.tgz\'',
npm ERR!   errno: -4048,
npm ERR!   code: 'EPERM',
npm ERR!   syscall: 'unlink',
npm ERR!   path: 'G:\\Dev\\web\\node_temp\\npm-1480-c1dd74d7\\tmp\\fromDir-e3fbc085\\package.tgz' }
npm ERR!
npm ERR! The operation was rejected by your operating system.
npm ERR! It's possible that the file was already in use (by a text editor or antivirus),
npm ERR! or that you lack permissions to access it.
npm ERR!
npm ERR! If you believe this might be a permissions issue, please double-check the
npm ERR! permissions of the file and its containing directories, or try running
npm ERR! the command again as root/Administrator (though this is not recommended).

npm ERR! A complete log of this run can be found in:
npm ERR!     G:\Dev\web\node_cache\_logs\2018-05-12T19_46_48_603Z-debug.log
mowatermelon commented 6 years ago
npm link
npm notice created a lockfile as package-lock.json. You should commit this file.
added 2 packages from 2 contributors in 2.562s
[+] no known vulnerabilities found [3 packages audited]# [+]没有发现任何漏洞(3个包被审计)
mowatermelon commented 6 years ago
npm publish --access=public

npm install --from-git git@server:project
mowatermelon commented 6 years ago
$ npm access public @vue-materials/basic-container
npm ERR! code E403
npm ERR! Registry returned 403 for POST on http://registry.npmjs.org/-/package/%40vue-materials%2Fbasic-container/access

npm ERR! A complete log of this run can be found in:
npm ERR!     G:\Dev\web\node_cache\_logs\2018-05-12T20_39_33_992Z-debug.log

G:\Dev\web\node_cache_logs\2018-05-12T20_39_33_992Z-debug.log

1 verbose cli   'access',
1 verbose cli   'public',
1 verbose cli   '@vue-materials/basic-container' ]
2 info using npm@6.0.1
3 info using node@v8.11.1
4 silly mapToRegistry name @vue-materials/basic-container
5 silly mapToRegistry scope (from package name) @vue-materials
6 verbose mapToRegistry no registry URL found in name for scope @vue-materials
7 silly mapToRegistry scope (from config) @vue-materials
8 verbose mapToRegistry no registry URL found in config for scope @vue-materials
9 silly mapToRegistry using default registry
10 silly mapToRegistry registry http://registry.npmjs.org/
11 silly mapToRegistry data { type: 'tag',
11 silly mapToRegistry   registry: true,
11 silly mapToRegistry   where: undefined,
11 silly mapToRegistry   raw: '@vue-materials/basic-container',
11 silly mapToRegistry   name: '@vue-materials/basic-container',
11 silly mapToRegistry   escapedName: '@vue-materials%2fbasic-container',
11 silly mapToRegistry   scope: '@vue-materials',
11 silly mapToRegistry   rawSpec: '',
11 silly mapToRegistry   saveSpec: null,
11 silly mapToRegistry   fetchSpec: 'latest',
11 silly mapToRegistry   gitRange: undefined,
11 silly mapToRegistry   gitCommittish: undefined,
11 silly mapToRegistry   hosted: undefined }
12 silly mapToRegistry uri http://registry.npmjs.org/@vue-materials%2fbasic-container
13 verbose request uri http://registry.npmjs.org/-/package/%40vue-materials%2Fbasic-container/access
14 verbose request sending authorization for write operation
15 info attempt registry request try #1 at 04:39:32
16 verbose request using bearer token for auth
17 verbose request id e84e73927e26070d
18 http request POST http://registry.npmjs.org/-/package/%40vue-materials%2Fbasic-container/access
19 http 403 http://registry.npmjs.org/-/package/%40vue-materials%2Fbasic-container/access
20 verbose headers { 'content-type': 'application/json',
20 verbose headers   'cache-control': 'max-age=300',
20 verbose headers   'content-length': '23',
20 verbose headers   'accept-ranges': 'bytes',
20 verbose headers   date: 'Sat, 12 May 2018 20:39:36 GMT',
20 verbose headers   via: '1.1 varnish',
20 verbose headers   connection: 'keep-alive',
20 verbose headers   'x-served-by': 'cache-hnd18720-HND',
20 verbose headers   'x-cache': 'MISS',
20 verbose headers   'x-cache-hits': '0',
20 verbose headers   'x-timer': 'S1526157576.799938,VS0,VE1039',
20 verbose headers   vary: 'Accept-Encoding, Accept' }
21 verbose stack Error: Registry returned 403 for POST on http://registry.npmjs.org/-/package/%40vue-materials%2Fbasic-container/access
21 verbose stack     at makeError (G:\Dev\web\node_global\node_modules\npm\node_modules\npm-registry-client\lib\request.js:316:12)
21 verbose stack     at RegClient.<anonymous> (G:\Dev\web\node_global\node_modules\npm\node_modules\npm-registry-client\lib\request.js:292:14)
21 verbose stack     at Request._callback (G:\Dev\web\node_global\node_modules\npm\node_modules\npm-registry-client\lib\request.js:216:14)
21 verbose stack     at Request.self.callback (G:\Dev\web\node_global\node_modules\npm\node_modules\request\request.js:186:22)
21 verbose stack     at emitTwo (events.js:126:13)
21 verbose stack     at Request.emit (events.js:214:7)
21 verbose stack     at Request.<anonymous> (G:\Dev\web\node_global\node_modules\npm\node_modules\request\request.js:1163:10)
21 verbose stack     at emitOne (events.js:116:13)
21 verbose stack     at Request.emit (events.js:211:7)
21 verbose stack     at IncomingMessage.<anonymous> (G:\Dev\web\node_global\node_modules\npm\node_modules\request\request.js:1085:12)
22 verbose statusCode 403
23 verbose cwd F:\documentBak\idea\test-npm-template
24 verbose Windows_NT 10.0.17133
25 verbose argv "G:\\Dev\\web\\nodejs\\node.exe" "G:\\Dev\\web\\node_global\\node_modules\\npm\\bin\\npm-cli.js" "access" "public" "@vue-materials/basic-container"
26 verbose node v8.11.1
27 verbose npm  v6.0.1
28 error code E403
29 error Registry returned 403 for POST on http://registry.npmjs.org/-/package/%40vue-materials%2Fbasic-container/access
30 verbose exit [ 1, true ]
mowatermelon commented 6 years ago

主要是因为想要发布私有包,所以问题重重

$ npm config set scope  vue-materials

Administrator@MicroWin10-0003 MINGW64 /x/xxx/xx
$ npm config get scope
@vue-materials
mowatermelon commented 6 years ago
$ npm logout
$ npm adduser
Username: melonhero
Password: 
Email: (this IS public) neefoxmo@gmail.com
Logged in as melonhero to scope @vue-materials on http://registry.npmjs.org/.

$ npm publish
npm notice
npm notice package: @vue-materials/basic-exception-block@1.0.3
npm notice === Tarball Contents ===
npm notice 783B  package.json
npm notice 205B  README.md
npm notice 1.7kB src/BasicException.vue
npm notice 79B   src/index.js
npm notice === Tarball Details ===
npm notice name:          @vue-materials/basic-exception-block
npm notice version:       1.0.3
npm notice package size:  1.4 kB
npm notice unpacked size: 2.7 kB
npm notice shasum:        ee04e9322fe8b61515efec45c2cf7c717883a853
npm notice integrity:     sha512-2wouX2GUKBrFt[...]ng4Q6XhRsMCHQ==
npm notice total files:   4
npm notice
npm ERR! publish Failed PUT 403
npm ERR! code E403
npm ERR! Forbidden : @vue-materials/basic-exception-block

npm ERR! A complete log of this run can be found in:
npm ERR!     G:\Dev\web\node_cache\_logs\2018-05-12T20_53_58_516Z-debug.log
mowatermelon commented 6 years ago

$ npm publish
npm notice
npm notice package: @vue-materials/basic-exception-block-temp@1.0.1
npm notice === Tarball Contents ===
npm notice 836B package.json
npm notice === Tarball Details ===
npm notice name:          @vue-materials/basic-exception-block-temp
npm notice version:       1.0.1
npm notice package size:  574 B
npm notice unpacked size: 836 B
npm notice shasum:        52030c300b9a0b0b24e00a3fea6de5df72ce1565
npm notice integrity:     sha512-K5bqOLBz2gKzq[...]/gqn5p7UZV2zQ==
npm notice total files:   1
npm notice
npm ERR! publish Failed PUT 403
npm ERR! code E403
npm ERR! Forbidden : @vue-materials/basic-exception-block-temp

npm ERR! A complete log of this run can be found in:
npm ERR!     G:\Dev\web\node_cache\_logs\2018-05-12T21_07_25_554Z-debug.log
mowatermelon commented 6 years ago

scoped-packages scoped 就好比是一个 nmp modules 的命名空间。scoped-package 包名字以 @ 开始,scope 就是"@"与"/"之间的部分。

@scope/project-name 每一个 npm 用户都拥有一个自己的 scope

@username/project-name

mowatermelon commented 6 years ago
Administrator@MicroWin10-0003 MINGW64 /x/XX
$ npm unpublish basic-exception-block-temp
npm ERR! Refusing to delete entire project.
npm ERR! Run with --force to do this.
npm ERR! npm unpublish [<@scope>/]<pkg>[@<version>]

Administrator@MicroWin10-0003 MINGW64 /x/XX
$ npm unpublish basic-exception-block-temp --force
npm WARN using --force I sure hope you know what you are doing.
- basic-exception-block-temp

Administrator@MicroWin10-0003 MINGW64 /x/XX
$ npm unpublish basic-exception-block --force
npm WARN using --force I sure hope you know what you are doing.
- basic-exception-block
mowatermelon commented 6 years ago

修改包名

$ npm publish
npm notice
npm notice package: @melonhero/basic-exception-block@1.0.1
npm notice === Tarball Contents ===
npm notice 827B  package.json
npm notice 205B  README.md
npm notice 1.7kB src/BasicException.vue
npm notice 79B   src/index.js
npm notice === Tarball Details ===
npm notice name:          @melonhero/basic-exception-block
npm notice version:       1.0.1
npm notice package size:  1.4 kB
npm notice unpacked size: 2.8 kB
npm notice shasum:        1323b0c0986467fd7b29293a2b69b26f26dde6ef
npm notice integrity:     sha512-Eal4rMUFMithK[...]MXN816pfVk4Nw==
npm notice total files:   4
npm notice
+ @melonhero/basic-exception-block@1.0.1

同理

+ @melonhero/basic-not-found-block@1.0.0
+ @melonhero/empty-content@1.0.0
+ @melonhero/not-permission@1.0.0
mowatermelon commented 6 years ago
$ npm access public vue-materials
npm ERR! access commands are only accessible for scoped packages
npm ERR!
npm ERR! Usage:
npm ERR! npm access public [<package>]
npm ERR! npm access restricted [<package>]
npm ERR! npm access grant <read-only|read-write> <scope:team> [<package>]
npm ERR! npm access revoke <scope:team> [<package>]
npm ERR! npm access ls-packages [<user>|<scope>|<scope:team>]
npm ERR! npm access ls-collaborators [<package> [<user>]]
npm ERR! npm access edit [<package>]

Administrator@MicroWin10-0003 MINGW64 /f/documentBak/idea/demo
$ npm access public @vue-materials
npm ERR! code EINVALIDTAGNAME
npm ERR! Invalid tag name "@vue-materials": Tags may not have any characters that encodeURIComponent encodes.

npm ERR! A complete log of this run can be found in:
npm ERR!     G:\Dev\web\node_cache\_logs\2018-05-12T21_27_56_982Z-debug.log
mowatermelon commented 6 years ago
$ npm config list
; cli configs
metrics-registry = "http://registry.npmjs.org/"
scope = "@vue-materials"
user-agent = "npm/6.0.1 node/v8.11.1 win32 x64"

; userconfig C:\Users\Administrator\.npmrc
//registry.npm.taobao.org/:always-auth = false
//registry.npm.taobao.org/:email = "neefoxmo@gmail.com"
//registry.npm.taobao.org/:username = "melonhero"
@vue-materials:registry = "http://registry.npmjs.org/"
cache = "G:\\Dev\\web\\node_cache"
prefix = "G:\\Dev\\web\\node_global"
registry = "http://registry.npmjs.org/"
tmp = "G:\\Dev\\web\\node_temp"

; node bin location = G:\Dev\web\nodejs\node.exe
; cwd = F:\documentBak\idea\demo
; HOME = C:\Users\Administrator
; "npm config ls -l" to show all defaults.
mowatermelon commented 6 years ago
$ npm publish --access=public --scope=vue-materials
npm notice
npm notice package: @vue-materials/basic-exception-block@1.0.0
npm notice === Tarball Contents ===
npm notice 831B  package.json
npm notice 205B  README.md
npm notice 1.7kB src/BasicException.vue
npm notice 79B   src/index.js
npm notice === Tarball Details ===
npm notice name:          @vue-materials/basic-exception-block
npm notice version:       1.0.0
npm notice package size:  1.4 kB
npm notice unpacked size: 2.8 kB
npm notice shasum:        713850421d434a8b0131028a7e40882f8d0fa635
npm notice integrity:     sha512-wjYt0UnNgxP52[...]1izJvo9oagjFA==
npm notice total files:   4
npm notice
npm ERR! publish Failed PUT 403
npm ERR! code E403
npm ERR! Forbidden : @vue-materials/basic-exception-block

npm ERR! A complete log of this run can be found in:
npm ERR!     G:\Dev\web\node_cache\_logs\2018-05-12T21_33_54_498Z-debug.log
mowatermelon commented 6 years ago
$ npm publish --scope=@vue-materials/basic-exception-block
npm notice
npm notice package: @vue-materials/basic-exception-block@1.0.0
npm notice === Tarball Contents ===
npm notice 831B  package.json
npm notice 205B  README.md
npm notice 1.7kB src/BasicException.vue
npm notice 79B   src/index.js
npm notice === Tarball Details ===
npm notice name:          @vue-materials/basic-exception-block
npm notice version:       1.0.0
npm notice package size:  1.4 kB
npm notice unpacked size: 2.8 kB
npm notice shasum:        713850421d434a8b0131028a7e40882f8d0fa635
npm notice integrity:     sha512-wjYt0UnNgxP52[...]1izJvo9oagjFA==
npm notice total files:   4
npm notice
npm ERR! publish Failed PUT 403
npm ERR! code E403
npm ERR! Forbidden : @vue-materials/basic-exception-block

npm ERR! A complete log of this run can be found in:
npm ERR!     G:\Dev\web\node_cache\_logs\2018-05-12T21_36_31_473Z-debug.log
mowatermelon commented 6 years ago
$ npm publish --scope=vue-materials/basic-exception-block
npm notice
npm notice package: @vue-materials/basic-exception-block@1.0.0
npm notice === Tarball Contents ===
npm notice 831B  package.json
npm notice 205B  README.md
npm notice 1.7kB src/BasicException.vue
npm notice 79B   src/index.js
npm notice === Tarball Details ===
npm notice name:          @vue-materials/basic-exception-block
npm notice version:       1.0.0
npm notice package size:  1.4 kB
npm notice unpacked size: 2.8 kB
npm notice shasum:        713850421d434a8b0131028a7e40882f8d0fa635
npm notice integrity:     sha512-wjYt0UnNgxP52[...]1izJvo9oagjFA==
npm notice total files:   4
npm notice
npm ERR! publish Failed PUT 403
npm ERR! code E403
npm ERR! Forbidden : @vue-materials/basic-exception-block

npm ERR! A complete log of this run can be found in:
npm ERR!     G:\Dev\web\node_cache\_logs\2018-05-12T21_39_39_850Z-debug.log
mowatermelon commented 6 years ago
$ npm publish --scope=vue-materials
npm notice
npm notice package: basic-exception-block@1.0.0
npm notice === Tarball Contents ===
npm notice 816B  package.json
npm notice 205B  README.md
npm notice 1.7kB src/BasicException.vue
npm notice 79B   src/index.js
npm notice === Tarball Details ===
npm notice name:          basic-exception-block
npm notice version:       1.0.0
npm notice package size:  1.4 kB
npm notice unpacked size: 2.8 kB
npm notice shasum:        5ef0659b21506bebf9551e1b3b7594f7ef9010fe
npm notice integrity:     sha512-ELnNdSbuZtdEQ[...]5fiQrqSfMqvqQ==
npm notice total files:   4
npm notice
npm ERR! publish Failed PUT 403
npm ERR! code E403
npm ERR! basic-exception-block cannot be republished until 24 hours have passed. : basic-exception-block

npm ERR! A complete log of this run can be found in:
npm ERR!     G:\Dev\web\node_cache\_logs\2018-05-12T21_40_44_507Z-debug.log
mowatermelon commented 6 years ago

pr成功啦