From 4105f6f8720ecc71ab235bf2447f797a482062d6 Mon Sep 17 00:00:00 2001 From: ChenYCL Date: Tue, 1 Dec 2020 17:32:09 +0800 Subject: [PATCH] init --- .gitignore | 84 + .idea/.gitignore | 5 + .idea/codeStyles/codeStyleConfig.xml | 5 + .idea/ekp-cli.iml | 12 + .idea/modules.xml | 8 + .idea/vcs.xml | 6 + LICENSE | 21 + README.md | 49 + bin/create-project | 4 + package-lock.json | 1975 +++++++++++++++++ package.json | 40 + publish.sh | 14 + src/cli.js | 103 + src/lib/clone.js | 31 + src/main.js | 199 ++ templates/app/.editorconfig | 16 + templates/app/.eslintignore | 8 + templates/app/.eslintrc.js | 8 + templates/app/.gitignore | 40 + templates/app/.prettierignore | 23 + templates/app/.prettierrc.js | 5 + templates/app/.stylelintrc.js | 5 + templates/app/README.md | 127 ++ templates/app/config/config.ts | 68 + templates/app/config/defaultSettings.ts | 21 + templates/app/config/proxy.ts | 30 + templates/app/config/routes.ts | 75 + templates/app/jest.config.js | 10 + templates/app/jsconfig.json | 10 + templates/app/mock/listTableList.ts | 171 ++ templates/app/mock/notices.ts | 107 + templates/app/mock/route.ts | 5 + templates/app/mock/user.ts | 200 ++ templates/app/package.json | 108 + templates/app/public/CNAME | 1 + templates/app/public/favicon.ico | Bin 0 -> 4286 bytes templates/app/public/home_bg.png | Bin 0 -> 203330 bytes templates/app/public/icons/icon-128x128.png | Bin 0 -> 1329 bytes templates/app/public/icons/icon-192x192.png | Bin 0 -> 1856 bytes templates/app/public/icons/icon-512x512.png | Bin 0 -> 5082 bytes templates/app/public/logo.svg | 1 + templates/app/public/pro_icon.svg | 5 + templates/app/src/access.ts | 7 + templates/app/src/app.tsx | 165 ++ templates/app/src/components/Footer/index.tsx | 29 + .../src/components/HeaderDropdown/index.less | 16 + .../src/components/HeaderDropdown/index.tsx | 19 + .../src/components/HeaderSearch/index.less | 23 + .../app/src/components/HeaderSearch/index.tsx | 102 + .../src/components/NoticeIcon/NoticeIcon.tsx | 125 ++ .../src/components/NoticeIcon/NoticeList.less | 103 + .../src/components/NoticeIcon/NoticeList.tsx | 112 + .../app/src/components/NoticeIcon/index.less | 35 + .../app/src/components/NoticeIcon/index.tsx | 158 ++ .../RightContent/AvatarDropdown.tsx | 107 + .../src/components/RightContent/index.less | 62 + .../app/src/components/RightContent/index.tsx | 75 + .../app/src/components/WithView/index.tsx | 26 + templates/app/src/e2e/baseLayout.e2e.js | 57 + templates/app/src/global.less | 54 + templates/app/src/global.tsx | 85 + templates/app/src/hooks/readme.md | 2 + templates/app/src/layouts/customMenu.ts | 23 + templates/app/src/layouts/leftSide/index.less | 9 + templates/app/src/layouts/leftSide/index.tsx | 47 + templates/app/src/locales/en-US.ts | 24 + templates/app/src/locales/en-US/component.ts | 5 + .../app/src/locales/en-US/globalHeader.ts | 17 + templates/app/src/locales/en-US/menu.ts | 52 + templates/app/src/locales/en-US/pages.ts | 24 + templates/app/src/locales/en-US/pwa.ts | 6 + .../app/src/locales/en-US/settingDrawer.ts | 31 + templates/app/src/locales/en-US/settings.ts | 60 + templates/app/src/locales/zh-CN.ts | 24 + templates/app/src/locales/zh-CN/component.ts | 5 + .../app/src/locales/zh-CN/globalHeader.ts | 17 + templates/app/src/locales/zh-CN/menu.ts | 52 + templates/app/src/locales/zh-CN/pages.ts | 23 + templates/app/src/locales/zh-CN/pwa.ts | 6 + .../app/src/locales/zh-CN/settingDrawer.ts | 31 + templates/app/src/locales/zh-CN/settings.ts | 55 + templates/app/src/manifest.json | 22 + templates/app/src/pages/404.tsx | 18 + templates/app/src/pages/Admin.tsx | 10 + .../ListTableList/components/CreateForm.tsx | 26 + .../ListTableList/components/UpdateForm.tsx | 133 ++ .../app/src/pages/ListTableList/data.d.ts | 36 + .../app/src/pages/ListTableList/index.tsx | 265 +++ .../app/src/pages/ListTableList/service.ts | 38 + templates/app/src/pages/document.ejs | 19 + templates/app/src/pages/manage/index.less | 0 templates/app/src/pages/manage/index.tsx | 8 + .../app/src/pages/pageA/desktop/index.less | 3 + .../app/src/pages/pageA/desktop/index.tsx | 12 + templates/app/src/pages/pageA/index.tsx | 8 + .../app/src/pages/pageA/mobile/index.less | 5 + .../app/src/pages/pageA/mobile/index.tsx | 8 + templates/app/src/pages/readme.md | 18 + .../sysTemplateMain/edit/desktop/index.less | 3 + .../sysTemplateMain/edit/desktop/index.tsx | 12 + .../src/pages/sysTemplateMain/edit/index.tsx | 24 + .../sysTemplateMain/edit/mobile/index.less | 3 + .../sysTemplateMain/edit/mobile/index.tsx | 12 + .../sysTemplateMain/home/desktop/index.less | 3 + .../sysTemplateMain/home/desktop/index.tsx | 12 + .../src/pages/sysTemplateMain/home/index.tsx | 24 + .../sysTemplateMain/home/mobile/index.less | 3 + .../sysTemplateMain/home/mobile/index.tsx | 12 + .../sysTemplateMain/list/desktop/index.less | 3 + .../sysTemplateMain/list/desktop/index.tsx | 12 + .../src/pages/sysTemplateMain/list/index.tsx | 24 + .../sysTemplateMain/list/mobile/index.less | 3 + .../sysTemplateMain/list/mobile/index.tsx | 12 + .../sysTemplateMain/view/desktop/index.less | 3 + .../sysTemplateMain/view/desktop/index.tsx | 12 + .../src/pages/sysTemplateMain/view/index.tsx | 24 + .../sysTemplateMain/view/mobile/index.less | 3 + .../sysTemplateMain/view/mobile/index.tsx | 12 + templates/app/src/pages/user/login/index.less | 117 + templates/app/src/pages/user/login/index.tsx | 288 +++ templates/app/src/service-worker.js | 70 + templates/app/src/services/API.d.ts | 35 + templates/app/src/services/login.ts | 24 + templates/app/src/services/user.ts | 13 + templates/app/src/typings.d.ts | 38 + templates/app/src/utils/utils.less | 16 + templates/app/src/utils/utils.test.ts | 37 + templates/app/src/utils/utils.ts | 20 + templates/app/tests/PuppeteerEnvironment.js | 41 + templates/app/tests/beforeTest.js | 39 + templates/app/tests/getBrowser.js | 45 + templates/app/tests/run-tests.js | 52 + templates/app/tests/setupTests.js | 10 + templates/app/tsconfig.json | 40 + yarn.lock | 1428 ++++++++++++ 135 files changed, 8631 insertions(+) create mode 100644 .gitignore create mode 100644 .idea/.gitignore create mode 100644 .idea/codeStyles/codeStyleConfig.xml create mode 100644 .idea/ekp-cli.iml create mode 100644 .idea/modules.xml create mode 100644 .idea/vcs.xml create mode 100644 LICENSE create mode 100644 README.md create mode 100755 bin/create-project create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 publish.sh create mode 100644 src/cli.js create mode 100644 src/lib/clone.js create mode 100644 src/main.js create mode 100644 templates/app/.editorconfig create mode 100644 templates/app/.eslintignore create mode 100644 templates/app/.eslintrc.js create mode 100644 templates/app/.gitignore create mode 100644 templates/app/.prettierignore create mode 100644 templates/app/.prettierrc.js create mode 100644 templates/app/.stylelintrc.js create mode 100644 templates/app/README.md create mode 100644 templates/app/config/config.ts create mode 100644 templates/app/config/defaultSettings.ts create mode 100644 templates/app/config/proxy.ts create mode 100644 templates/app/config/routes.ts create mode 100644 templates/app/jest.config.js create mode 100644 templates/app/jsconfig.json create mode 100644 templates/app/mock/listTableList.ts create mode 100644 templates/app/mock/notices.ts create mode 100644 templates/app/mock/route.ts create mode 100644 templates/app/mock/user.ts create mode 100644 templates/app/package.json create mode 100644 templates/app/public/CNAME create mode 100644 templates/app/public/favicon.ico create mode 100644 templates/app/public/home_bg.png create mode 100644 templates/app/public/icons/icon-128x128.png create mode 100644 templates/app/public/icons/icon-192x192.png create mode 100644 templates/app/public/icons/icon-512x512.png create mode 100644 templates/app/public/logo.svg create mode 100644 templates/app/public/pro_icon.svg create mode 100644 templates/app/src/access.ts create mode 100644 templates/app/src/app.tsx create mode 100644 templates/app/src/components/Footer/index.tsx create mode 100644 templates/app/src/components/HeaderDropdown/index.less create mode 100644 templates/app/src/components/HeaderDropdown/index.tsx create mode 100644 templates/app/src/components/HeaderSearch/index.less create mode 100644 templates/app/src/components/HeaderSearch/index.tsx create mode 100644 templates/app/src/components/NoticeIcon/NoticeIcon.tsx create mode 100755 templates/app/src/components/NoticeIcon/NoticeList.less create mode 100644 templates/app/src/components/NoticeIcon/NoticeList.tsx create mode 100644 templates/app/src/components/NoticeIcon/index.less create mode 100644 templates/app/src/components/NoticeIcon/index.tsx create mode 100644 templates/app/src/components/RightContent/AvatarDropdown.tsx create mode 100644 templates/app/src/components/RightContent/index.less create mode 100644 templates/app/src/components/RightContent/index.tsx create mode 100644 templates/app/src/components/WithView/index.tsx create mode 100644 templates/app/src/e2e/baseLayout.e2e.js create mode 100644 templates/app/src/global.less create mode 100644 templates/app/src/global.tsx create mode 100644 templates/app/src/hooks/readme.md create mode 100644 templates/app/src/layouts/customMenu.ts create mode 100644 templates/app/src/layouts/leftSide/index.less create mode 100644 templates/app/src/layouts/leftSide/index.tsx create mode 100644 templates/app/src/locales/en-US.ts create mode 100644 templates/app/src/locales/en-US/component.ts create mode 100644 templates/app/src/locales/en-US/globalHeader.ts create mode 100644 templates/app/src/locales/en-US/menu.ts create mode 100644 templates/app/src/locales/en-US/pages.ts create mode 100644 templates/app/src/locales/en-US/pwa.ts create mode 100644 templates/app/src/locales/en-US/settingDrawer.ts create mode 100644 templates/app/src/locales/en-US/settings.ts create mode 100644 templates/app/src/locales/zh-CN.ts create mode 100644 templates/app/src/locales/zh-CN/component.ts create mode 100644 templates/app/src/locales/zh-CN/globalHeader.ts create mode 100644 templates/app/src/locales/zh-CN/menu.ts create mode 100644 templates/app/src/locales/zh-CN/pages.ts create mode 100644 templates/app/src/locales/zh-CN/pwa.ts create mode 100644 templates/app/src/locales/zh-CN/settingDrawer.ts create mode 100644 templates/app/src/locales/zh-CN/settings.ts create mode 100644 templates/app/src/manifest.json create mode 100644 templates/app/src/pages/404.tsx create mode 100644 templates/app/src/pages/Admin.tsx create mode 100644 templates/app/src/pages/ListTableList/components/CreateForm.tsx create mode 100644 templates/app/src/pages/ListTableList/components/UpdateForm.tsx create mode 100644 templates/app/src/pages/ListTableList/data.d.ts create mode 100644 templates/app/src/pages/ListTableList/index.tsx create mode 100644 templates/app/src/pages/ListTableList/service.ts create mode 100644 templates/app/src/pages/document.ejs create mode 100644 templates/app/src/pages/manage/index.less create mode 100644 templates/app/src/pages/manage/index.tsx create mode 100644 templates/app/src/pages/pageA/desktop/index.less create mode 100644 templates/app/src/pages/pageA/desktop/index.tsx create mode 100644 templates/app/src/pages/pageA/index.tsx create mode 100644 templates/app/src/pages/pageA/mobile/index.less create mode 100644 templates/app/src/pages/pageA/mobile/index.tsx create mode 100644 templates/app/src/pages/readme.md create mode 100644 templates/app/src/pages/sysTemplateMain/edit/desktop/index.less create mode 100644 templates/app/src/pages/sysTemplateMain/edit/desktop/index.tsx create mode 100644 templates/app/src/pages/sysTemplateMain/edit/index.tsx create mode 100644 templates/app/src/pages/sysTemplateMain/edit/mobile/index.less create mode 100644 templates/app/src/pages/sysTemplateMain/edit/mobile/index.tsx create mode 100644 templates/app/src/pages/sysTemplateMain/home/desktop/index.less create mode 100644 templates/app/src/pages/sysTemplateMain/home/desktop/index.tsx create mode 100644 templates/app/src/pages/sysTemplateMain/home/index.tsx create mode 100644 templates/app/src/pages/sysTemplateMain/home/mobile/index.less create mode 100644 templates/app/src/pages/sysTemplateMain/home/mobile/index.tsx create mode 100644 templates/app/src/pages/sysTemplateMain/list/desktop/index.less create mode 100644 templates/app/src/pages/sysTemplateMain/list/desktop/index.tsx create mode 100644 templates/app/src/pages/sysTemplateMain/list/index.tsx create mode 100644 templates/app/src/pages/sysTemplateMain/list/mobile/index.less create mode 100644 templates/app/src/pages/sysTemplateMain/list/mobile/index.tsx create mode 100644 templates/app/src/pages/sysTemplateMain/view/desktop/index.less create mode 100644 templates/app/src/pages/sysTemplateMain/view/desktop/index.tsx create mode 100644 templates/app/src/pages/sysTemplateMain/view/index.tsx create mode 100644 templates/app/src/pages/sysTemplateMain/view/mobile/index.less create mode 100644 templates/app/src/pages/sysTemplateMain/view/mobile/index.tsx create mode 100644 templates/app/src/pages/user/login/index.less create mode 100644 templates/app/src/pages/user/login/index.tsx create mode 100644 templates/app/src/service-worker.js create mode 100644 templates/app/src/services/API.d.ts create mode 100644 templates/app/src/services/login.ts create mode 100644 templates/app/src/services/user.ts create mode 100644 templates/app/src/typings.d.ts create mode 100644 templates/app/src/utils/utils.less create mode 100644 templates/app/src/utils/utils.test.ts create mode 100644 templates/app/src/utils/utils.ts create mode 100644 templates/app/tests/PuppeteerEnvironment.js create mode 100644 templates/app/tests/beforeTest.js create mode 100644 templates/app/tests/getBrowser.js create mode 100644 templates/app/tests/run-tests.js create mode 100644 templates/app/tests/setupTests.js create mode 100644 templates/app/tsconfig.json create mode 100644 yarn.lock diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..6dd754e --- /dev/null +++ b/.gitignore @@ -0,0 +1,84 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +lerna-debug.log* + +# Diagnostic reports (https://nodejs.org/api/report.html) +report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage + +# nyc test coverage +.nyc_output + +# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# Bower dependency directory (https://bower.io/) +bower_components + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (https://nodejs.org/api/addons.html) +build/Release + +# Dependency directories +node_modules/ +jspm_packages/ + +# TypeScript v1 declaration files +typings/ + +# Optional npm cache directory +.npm + +# Optional eslint cache +.eslintcache + +# Optional REPL history +.node_repl_history + +# Output of 'npm pack' +*.tgz + +# Yarn Integrity file +.yarn-integrity + +# dotenv environment variables file +.env +.env.test + +# parcel-bundler cache (https://parceljs.org/) +.cache + +# next.js build output +.next + +# nuxt.js build output +.nuxt + +# vuepress build output +.vuepress/dist + +# Serverless directories +.serverless/ + +# FuseBox cache +.fusebox/ + +# DynamoDB Local files +.dynamodb/ diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..b58b603 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,5 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ diff --git a/.idea/codeStyles/codeStyleConfig.xml b/.idea/codeStyles/codeStyleConfig.xml new file mode 100644 index 0000000..a55e7a1 --- /dev/null +++ b/.idea/codeStyles/codeStyleConfig.xml @@ -0,0 +1,5 @@ + + + + \ No newline at end of file diff --git a/.idea/ekp-cli.iml b/.idea/ekp-cli.iml new file mode 100644 index 0000000..24643cc --- /dev/null +++ b/.idea/ekp-cli.iml @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..02bc71a --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..a56c644 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2020 Dominik Kundel + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 0000000..b14c38f --- /dev/null +++ b/README.md @@ -0,0 +1,49 @@ +# `@lgoweb/cra` + +🏗 Personal CLI to bootstrap new projects + +## Installation & Usage + +```bash +# or +npx @lgoweb/cra +# or +npm install -g @lgoweb/cra + +cra -i # init prpject +cra -v # check version +``` + +## args + +`-g`: 'git init' + +`-y`: 'skip the promet' + +`-i`: 'install dependencies' + +`.eg: cra -i` + +# screenshot +``` +pc@pc  ~/Documents/demo  cra -i +? 请选模版 app +? 请输入开发环境端口<9505> 9505 +? 请输入子模块注册base名 sys-news +? 初始化git No + ✔ Copy project files + ✔ Modify config + ✔ Create gitignore + ✔ Create License + ✔ Install dependencies +DONE Project ready + +``` + +## License + +MIT + +## Collaborators + +- Dominik Kundel diff --git a/bin/create-project b/bin/create-project new file mode 100755 index 0000000..0a1d7ce --- /dev/null +++ b/bin/create-project @@ -0,0 +1,4 @@ +#!/usr/bin/env node + +require = require('esm')(module /*, options*/); +require('../src/cli.js').cli(process.argv); diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..8c42268 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,1975 @@ +{ + "name": "@lgoweb/cra", + "version": "1.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@samverschueren/stream-to-observable": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@samverschueren/stream-to-observable/-/stream-to-observable-0.3.0.tgz", + "integrity": "sha512-MI4Xx6LHs4Webyvi6EbspgyAb4D2Q2VtnCQ1blOJcoLS6mVa8lNN2rkIy1CVxfTUpoyIbCTkXES1rLXztFD1lg==", + "requires": { + "any-observable": "^0.3.0" + } + }, + "@sindresorhus/is": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.7.0.tgz", + "integrity": "sha512-ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow==" + }, + "@types/execa": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/@types/execa/-/execa-0.9.0.tgz", + "integrity": "sha512-mgfd93RhzjYBUHHV532turHC2j4l/qxsF/PbfDmprHDEUHmNZGlDn1CEsulGK3AfsPdhkWzZQT/S/k0UGhLGsA==", + "requires": { + "@types/node": "*" + } + }, + "@types/node": { + "version": "11.11.3", + "resolved": "https://registry.npmjs.org/@types/node/-/node-11.11.3.tgz", + "integrity": "sha512-wp6IOGu1lxsfnrD+5mX6qwSwWuqsdkKKxTN4aQc4wByHAKZJf9/D4KXPQ1POUjEbnCP5LMggB0OEFNY9OTsMqg==" + }, + "ajv": { + "version": "6.10.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.0.tgz", + "integrity": "sha512-nffhOpkymDECQyR0mnsUtoCE8RlX38G0rYP+wgLWFyZuUyuuojSSvi/+euOiQBIn63whYwYVIIH1TvE3tu4OEg==", + "requires": { + "fast-deep-equal": "^2.0.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ansi-escapes": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", + "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==" + }, + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "any-observable": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/any-observable/-/any-observable-0.3.0.tgz", + "integrity": "sha512-/FQM1EDkTsf63Ub2C6O7GuYFDsSXUwsaZDurV0np41ocwq0jthUAYCmhBX9f+KwlaCgIuWyr/4WlUQUBfKfZog==" + }, + "any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha1-q8av7tzqUugJzcA3au0845Y10X8=" + }, + "archive-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/archive-type/-/archive-type-4.0.0.tgz", + "integrity": "sha1-+S5yIzBW38aWlHJ0nCZ72wRrHXA=", + "requires": { + "file-type": "^4.2.0" + }, + "dependencies": { + "file-type": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-4.4.0.tgz", + "integrity": "sha1-G2AOX8ofvcboDApwxxyNul95BsU=" + } + } + }, + "arg": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.0.tgz", + "integrity": "sha512-ZWc51jO3qegGkVh8Hwpv636EkbesNV5ZNQPCtRa+0qytRYPEs9IYT9qITY9buezqUH5uqyzlWLcufrzU2rffdg==" + }, + "asn1": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", + "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "requires": { + "safer-buffer": "~2.1.0" + } + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" + }, + "aws4": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz", + "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==" + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + }, + "base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" + }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "requires": { + "tweetnacl": "^0.14.3" + } + }, + "bl": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", + "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", + "requires": { + "readable-stream": "^2.3.5", + "safe-buffer": "^5.1.1" + } + }, + "bluebird": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.3.tgz", + "integrity": "sha512-/qKPUQlaW1OyR51WeCPBvRnAlnZFUJkCSG5HzGnuIqhgyJtF+T94lFnn33eiazjRm2LAHVy2guNnaq48X9SJuw==" + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "buffer-alloc": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", + "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", + "requires": { + "buffer-alloc-unsafe": "^1.1.0", + "buffer-fill": "^1.0.0" + } + }, + "buffer-alloc-unsafe": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", + "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==" + }, + "buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=" + }, + "buffer-fill": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", + "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=" + }, + "cacheable-request": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-2.1.4.tgz", + "integrity": "sha1-DYCIAbY0KtM8kd+dC0TcCbkeXD0=", + "requires": { + "clone-response": "1.0.2", + "get-stream": "3.0.0", + "http-cache-semantics": "3.8.1", + "keyv": "3.0.0", + "lowercase-keys": "1.0.0", + "normalize-url": "2.0.1", + "responselike": "1.0.2" + }, + "dependencies": { + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" + }, + "lowercase-keys": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz", + "integrity": "sha1-TjNms55/VFfjXxMkvfb4jQv8cwY=" + } + } + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" + }, + "caw": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/caw/-/caw-2.0.1.tgz", + "integrity": "sha512-Cg8/ZSBEa8ZVY9HspcGUYaK63d/bN7rqS3CYCzEGUxuYv6UlmcjzDUz2fCFFHyTvUW5Pk0I+3hkA3iXlIj6guA==", + "requires": { + "get-proxy": "^2.0.0", + "isurl": "^1.0.0-alpha5", + "tunnel-agent": "^0.6.0", + "url-to-options": "^1.0.1" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==" + }, + "cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", + "requires": { + "restore-cursor": "^2.0.0" + } + }, + "cli-truncate": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-0.2.1.tgz", + "integrity": "sha1-nxXPuwcFAFNpIWxiasfQWrkN1XQ=", + "requires": { + "slice-ansi": "0.0.4", + "string-width": "^1.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "^2.0.0" + } + } + } + }, + "cli-width": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", + "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=" + }, + "clone-response": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", + "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", + "requires": { + "mimic-response": "^1.0.0" + } + }, + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "combined-stream": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.7.tgz", + "integrity": "sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w==", + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "config-chain": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.12.tgz", + "integrity": "sha512-a1eOIcu8+7lUInge4Rpf/n4Krkf3Dd9lqhljRzII1/Zno/kRtUWnznPO3jOKBmTEktkt3fkxisUcivoj0ebzoA==", + "requires": { + "ini": "^1.3.4", + "proto-list": "~1.2.1" + } + }, + "content-disposition": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", + "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", + "requires": { + "safe-buffer": "5.1.2" + } + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + }, + "covgen": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/covgen/-/covgen-3.1.0.tgz", + "integrity": "sha512-yuifa5IybCe+uMGl6xq/iOcayhyW2ha2FWiernRX/xENpi5IAs6mVjmgECiyncHoXlESKgiFzMPKMExiv0RW/g==", + "requires": { + "mkdirp-promise": "^5.0.1", + "mz": "^2.7.0", + "request": "^2.83.0", + "request-promise": "^4.2.2" + } + }, + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "requires": { + "assert-plus": "^1.0.0" + } + }, + "date-fns": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-1.30.1.tgz", + "integrity": "sha512-hBSVCvSmWC+QypYObzwGOd9wqdDpOt+0wl0KbU+R+uuZBS1jN8VsD1ss3irQDknRj5NvxiTF6oj/nDRnN/UQNw==" + }, + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" + }, + "decompress": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/decompress/-/decompress-4.2.1.tgz", + "integrity": "sha512-e48kc2IjU+2Zw8cTb6VZcJQ3lgVbS4uuB1TfCHbiZIP/haNXm+SVyhu+87jts5/3ROpd82GSVCoNs/z8l4ZOaQ==", + "requires": { + "decompress-tar": "^4.0.0", + "decompress-tarbz2": "^4.0.0", + "decompress-targz": "^4.0.0", + "decompress-unzip": "^4.0.1", + "graceful-fs": "^4.1.10", + "make-dir": "^1.0.0", + "pify": "^2.3.0", + "strip-dirs": "^2.0.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" + } + } + }, + "decompress-response": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", + "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", + "requires": { + "mimic-response": "^1.0.0" + } + }, + "decompress-tar": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-tar/-/decompress-tar-4.1.1.tgz", + "integrity": "sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==", + "requires": { + "file-type": "^5.2.0", + "is-stream": "^1.1.0", + "tar-stream": "^1.5.2" + }, + "dependencies": { + "file-type": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", + "integrity": "sha1-LdvqfHP/42No365J3DOMBYwritY=" + } + } + }, + "decompress-tarbz2": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz", + "integrity": "sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==", + "requires": { + "decompress-tar": "^4.1.0", + "file-type": "^6.1.0", + "is-stream": "^1.1.0", + "seek-bzip": "^1.0.5", + "unbzip2-stream": "^1.0.9" + }, + "dependencies": { + "file-type": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-6.2.0.tgz", + "integrity": "sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==" + } + } + }, + "decompress-targz": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-targz/-/decompress-targz-4.1.1.tgz", + "integrity": "sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==", + "requires": { + "decompress-tar": "^4.1.1", + "file-type": "^5.2.0", + "is-stream": "^1.1.0" + }, + "dependencies": { + "file-type": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", + "integrity": "sha1-LdvqfHP/42No365J3DOMBYwritY=" + } + } + }, + "decompress-unzip": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-4.0.1.tgz", + "integrity": "sha1-3qrM39FK6vhVePczroIQ+bSEj2k=", + "requires": { + "file-type": "^3.8.0", + "get-stream": "^2.2.0", + "pify": "^2.3.0", + "yauzl": "^2.4.2" + }, + "dependencies": { + "file-type": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", + "integrity": "sha1-JXoHg4TR24CHvESdEH1SpSZyuek=" + }, + "get-stream": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz", + "integrity": "sha1-Xzj5PzRgCWZu4BUKBUFn+Rvdld4=", + "requires": { + "object-assign": "^4.0.1", + "pinkie-promise": "^2.0.0" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" + } + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" + }, + "download": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/download/-/download-7.1.0.tgz", + "integrity": "sha512-xqnBTVd/E+GxJVrX5/eUJiLYjCGPwMpdL+jGhGU57BvtcA7wwhtHVbXBeUk51kOpW3S7Jn3BQbN9Q1R1Km2qDQ==", + "requires": { + "archive-type": "^4.0.0", + "caw": "^2.0.1", + "content-disposition": "^0.5.2", + "decompress": "^4.2.0", + "ext-name": "^5.0.0", + "file-type": "^8.1.0", + "filenamify": "^2.0.0", + "get-stream": "^3.0.0", + "got": "^8.3.1", + "make-dir": "^1.2.0", + "p-event": "^2.1.0", + "pify": "^3.0.0" + }, + "dependencies": { + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" + } + } + }, + "download-git-repo": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/download-git-repo/-/download-git-repo-3.0.2.tgz", + "integrity": "sha512-N8hWXD4hXqmEcNoR8TBYFntaOcYvEQ7Bz90mgm3bZRTuteGQqwT32VDMnTyD0KTEvb8BWrMc1tVmzuV9u/WrAg==", + "requires": { + "download": "^7.1.0", + "git-clone": "^0.1.0", + "rimraf": "^3.0.0" + } + }, + "duplexer3": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", + "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=" + }, + "ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "requires": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "elegant-spinner": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/elegant-spinner/-/elegant-spinner-1.0.1.tgz", + "integrity": "sha1-2wQ1IcldfjA/2PNFvtwzSc+wcp4=" + }, + "end-of-stream": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", + "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", + "requires": { + "once": "^1.4.0" + } + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" + }, + "esm": { + "version": "3.2.18", + "resolved": "https://registry.npmjs.org/esm/-/esm-3.2.18.tgz", + "integrity": "sha512-1UENjnnI37UDp7KuOqKYjfqdaMim06eBWnDv37smaxTIzDl0ZWnlgoXwsVwD9+Lidw+q/f1gUf2diVMDCycoVw==" + }, + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "ext-list": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/ext-list/-/ext-list-2.2.2.tgz", + "integrity": "sha512-u+SQgsubraE6zItfVA0tBuCBhfU9ogSRnsvygI7wht9TS510oLkBRXBsqopeUG/GBOIQyKZO9wjTqIu/sf5zFA==", + "requires": { + "mime-db": "^1.28.0" + } + }, + "ext-name": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ext-name/-/ext-name-5.0.0.tgz", + "integrity": "sha512-yblEwXAbGv1VQDmow7s38W77hzAgJAO50ztBLMcUyUBfxv1HC+LGwtiEN+Co6LtlqT/5uwVOxsD4TNIilWhwdQ==", + "requires": { + "ext-list": "^2.0.0", + "sort-keys-length": "^1.0.0" + } + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + }, + "external-editor": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.0.3.tgz", + "integrity": "sha512-bn71H9+qWoOQKyZDo25mOMVpSmXROAsTJVVVYzrrtol3d4y+AsKjf4Iwl2Q+IuT0kFSQ1qo166UuIwqYq7mGnA==", + "requires": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + } + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" + }, + "fast-deep-equal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=" + }, + "fast-json-stable-stringify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", + "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=" + }, + "fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=", + "requires": { + "pend": "~1.2.0" + } + }, + "figures": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", + "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", + "requires": { + "escape-string-regexp": "^1.0.5" + } + }, + "file-type": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-8.1.0.tgz", + "integrity": "sha512-qyQ0pzAy78gVoJsmYeNgl8uH8yKhr1lVhW7JbzJmnlRi0I4R2eEDEJZVKG8agpDnLpacwNbDhLNG/LMdxHD2YQ==" + }, + "filename-reserved-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz", + "integrity": "sha1-q/c9+rc10EVECr/qLZHzieu/oik=" + }, + "filenamify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-2.1.0.tgz", + "integrity": "sha512-ICw7NTT6RsDp2rnYKVd8Fu4cr6ITzGy3+u4vUujPkabyaz+03F24NWEX7fs5fp+kBonlaqPH8fAO2NM+SXt/JA==", + "requires": { + "filename-reserved-regex": "^2.0.0", + "strip-outer": "^1.0.0", + "trim-repeated": "^1.0.0" + } + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" + }, + "form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, + "from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", + "requires": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" + } + }, + "fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "get-proxy": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/get-proxy/-/get-proxy-2.1.0.tgz", + "integrity": "sha512-zmZIaQTWnNQb4R4fJUEp/FC51eZsc6EkErspy3xtIYStaq8EB/hDIWipxsal+E8rz0qD7f2sL/NA9Xee4RInJw==", + "requires": { + "npm-conf": "^1.1.0" + } + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "requires": { + "pump": "^3.0.0" + } + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "requires": { + "assert-plus": "^1.0.0" + } + }, + "git-clone": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/git-clone/-/git-clone-0.1.0.tgz", + "integrity": "sha1-DXYWN3gJOu9/HDAjjyqe8/B6Lrk=" + }, + "gitignore": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/gitignore/-/gitignore-0.6.0.tgz", + "integrity": "sha1-hRjjnR4S+JbrCXHg+MmC5hbtdl4=" + }, + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "got": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/got/-/got-8.3.2.tgz", + "integrity": "sha512-qjUJ5U/hawxosMryILofZCkm3C84PLJS/0grRIpjAwu+Lkxxj5cxeCU25BG0/3mDSpXKTyZr8oh8wIgLaH0QCw==", + "requires": { + "@sindresorhus/is": "^0.7.0", + "cacheable-request": "^2.1.1", + "decompress-response": "^3.3.0", + "duplexer3": "^0.1.4", + "get-stream": "^3.0.0", + "into-stream": "^3.1.0", + "is-retry-allowed": "^1.1.0", + "isurl": "^1.0.0-alpha5", + "lowercase-keys": "^1.0.0", + "mimic-response": "^1.0.0", + "p-cancelable": "^0.4.0", + "p-timeout": "^2.0.1", + "pify": "^3.0.0", + "safe-buffer": "^5.1.1", + "timed-out": "^4.0.1", + "url-parse-lax": "^3.0.0", + "url-to-options": "^1.0.1" + }, + "dependencies": { + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" + } + } + }, + "graceful-fs": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", + "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==" + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" + }, + "har-validator": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", + "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", + "requires": { + "ajv": "^6.5.5", + "har-schema": "^2.0.0" + } + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "requires": { + "ansi-regex": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + } + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + }, + "has-symbol-support-x": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz", + "integrity": "sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==" + }, + "has-to-string-tag-x": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz", + "integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==", + "requires": { + "has-symbol-support-x": "^1.4.1" + } + }, + "http-cache-semantics": { + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz", + "integrity": "sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==" + }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" + }, + "indent-string": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", + "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=" + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "ini": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==" + }, + "inquirer": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.2.2.tgz", + "integrity": "sha512-Z2rREiXA6cHRR9KBOarR3WuLlFzlIfAEIiB45ll5SSadMg7WqOh1MKEjjndfuH5ewXdixWCxqnVfGOQzPeiztA==", + "requires": { + "ansi-escapes": "^3.2.0", + "chalk": "^2.4.2", + "cli-cursor": "^2.1.0", + "cli-width": "^2.0.0", + "external-editor": "^3.0.3", + "figures": "^2.0.0", + "lodash": "^4.17.11", + "mute-stream": "0.0.7", + "run-async": "^2.2.0", + "rxjs": "^6.4.0", + "string-width": "^2.1.0", + "strip-ansi": "^5.0.0", + "through": "^2.3.6" + } + }, + "into-stream": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/into-stream/-/into-stream-3.1.0.tgz", + "integrity": "sha1-lvsKk2wSur1v8XUqF9BWFqvQlMY=", + "requires": { + "from2": "^2.1.1", + "p-is-promise": "^1.1.0" + } + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" + }, + "is-natural-number": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-4.0.1.tgz", + "integrity": "sha1-q5124dtM7VHjXeDHLr7PCfc0zeg=" + }, + "is-object": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.1.tgz", + "integrity": "sha1-iVJojF7C/9awPsyF52ngKQMINHA=" + }, + "is-observable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-observable/-/is-observable-1.1.0.tgz", + "integrity": "sha512-NqCa4Sa2d+u7BWc6CukaObG3Fh+CU9bvixbpcXYhy2VvYS7vVGIdAgnIS5Ks3A/cqk4rebLJ9s8zBstT2aKnIA==", + "requires": { + "symbol-observable": "^1.1.0" + } + }, + "is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=" + }, + "is-promise": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", + "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=" + }, + "is-retry-allowed": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz", + "integrity": "sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==" + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" + }, + "isurl": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz", + "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==", + "requires": { + "has-to-string-tag-x": "^1.2.0", + "is-object": "^1.0.1" + } + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" + }, + "json-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", + "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=" + }, + "json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" + }, + "jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, + "keyv": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.0.0.tgz", + "integrity": "sha512-eguHnq22OE3uVoSYG0LVWNP+4ppamWr9+zWBe1bsNcovIMy6huUJFPgy4mGwCd/rnl3vOLGW1MTlu4c57CT1xA==", + "requires": { + "json-buffer": "3.0.0" + } + }, + "listr": { + "version": "0.14.3", + "resolved": "https://registry.npmjs.org/listr/-/listr-0.14.3.tgz", + "integrity": "sha512-RmAl7su35BFd/xoMamRjpIE4j3v+L28o8CT5YhAXQJm1fD+1l9ngXY8JAQRJ+tFK2i5njvi0iRUKV09vPwA0iA==", + "requires": { + "@samverschueren/stream-to-observable": "^0.3.0", + "is-observable": "^1.1.0", + "is-promise": "^2.1.0", + "is-stream": "^1.1.0", + "listr-silent-renderer": "^1.1.1", + "listr-update-renderer": "^0.5.0", + "listr-verbose-renderer": "^0.5.0", + "p-map": "^2.0.0", + "rxjs": "^6.3.3" + } + }, + "listr-silent-renderer": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/listr-silent-renderer/-/listr-silent-renderer-1.1.1.tgz", + "integrity": "sha1-kktaN1cVN3C/Go4/v3S4u/P5JC4=" + }, + "listr-update-renderer": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/listr-update-renderer/-/listr-update-renderer-0.5.0.tgz", + "integrity": "sha512-tKRsZpKz8GSGqoI/+caPmfrypiaq+OQCbd+CovEC24uk1h952lVj5sC7SqyFUm+OaJ5HN/a1YLt5cit2FMNsFA==", + "requires": { + "chalk": "^1.1.3", + "cli-truncate": "^0.2.1", + "elegant-spinner": "^1.0.1", + "figures": "^1.7.0", + "indent-string": "^3.0.0", + "log-symbols": "^1.0.2", + "log-update": "^2.3.0", + "strip-ansi": "^3.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "figures": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", + "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", + "requires": { + "escape-string-regexp": "^1.0.5", + "object-assign": "^4.1.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + } + } + }, + "listr-verbose-renderer": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/listr-verbose-renderer/-/listr-verbose-renderer-0.5.0.tgz", + "integrity": "sha512-04PDPqSlsqIOaaaGZ+41vq5FejI9auqTInicFRndCBgE3bXG8D6W1I+mWhk+1nqbHmyhla/6BUrd5OSiHwKRXw==", + "requires": { + "chalk": "^2.4.1", + "cli-cursor": "^2.1.0", + "date-fns": "^1.27.2", + "figures": "^2.0.0" + } + }, + "lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==" + }, + "log-symbols": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-1.0.2.tgz", + "integrity": "sha1-N2/3tY6jCGoPCfrMdGF+ylAeGhg=", + "requires": { + "chalk": "^1.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + } + } + }, + "log-update": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-2.3.0.tgz", + "integrity": "sha1-iDKP19HOeTiykoN0bwsbwSayRwg=", + "requires": { + "ansi-escapes": "^3.0.0", + "cli-cursor": "^2.0.0", + "wrap-ansi": "^3.0.1" + } + }, + "lowercase-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", + "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==" + }, + "make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "requires": { + "pify": "^3.0.0" + } + }, + "mime-db": { + "version": "1.38.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.38.0.tgz", + "integrity": "sha512-bqVioMFFzc2awcdJZIzR3HjZFX20QhilVS7hytkKrv7xFAn8bM1gzc/FOX2awLISvWe0PV8ptFKcon+wZ5qYkg==" + }, + "mime-types": { + "version": "2.1.22", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.22.tgz", + "integrity": "sha512-aGl6TZGnhm/li6F7yx82bJiBZwgiEa4Hf6CNr8YO+r5UHr53tSTYZb102zyU50DOWWKeOv0uQLRL0/9EiKWCog==", + "requires": { + "mime-db": "~1.38.0" + } + }, + "mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==" + }, + "mimic-response": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==" + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "requires": { + "minimist": "0.0.8" + } + }, + "mkdirp-promise": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/mkdirp-promise/-/mkdirp-promise-5.0.1.tgz", + "integrity": "sha1-6bj2jlUsaKnBcTuEiD96HdA5uKE=", + "requires": { + "mkdirp": "*" + } + }, + "mute-stream": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", + "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=" + }, + "mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "requires": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "ncp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ncp/-/ncp-2.0.0.tgz", + "integrity": "sha1-GVoh1sRuNh0vsSgbo4uR6d9727M=" + }, + "nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" + }, + "normalize-url": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-2.0.1.tgz", + "integrity": "sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw==", + "requires": { + "prepend-http": "^2.0.0", + "query-string": "^5.0.1", + "sort-keys": "^2.0.0" + }, + "dependencies": { + "sort-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-2.0.0.tgz", + "integrity": "sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg=", + "requires": { + "is-plain-obj": "^1.0.0" + } + } + } + }, + "npm-conf": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/npm-conf/-/npm-conf-1.1.3.tgz", + "integrity": "sha512-Yic4bZHJOt9RCFbRP3GgpqhScOY4HH3V2P8yBj6CeYq118Qr+BLXqT2JvpJ00mryLESpgOxf5XlFv4ZjXxLScw==", + "requires": { + "config-chain": "^1.1.11", + "pify": "^3.0.0" + } + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "requires": { + "path-key": "^2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" + }, + "oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", + "requires": { + "mimic-fn": "^1.0.0" + } + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" + }, + "p-cancelable": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.4.1.tgz", + "integrity": "sha512-HNa1A8LvB1kie7cERyy21VNeHb2CWJJYqyyC2o3klWFfMGlFmWv2Z7sFgZH8ZiaYL95ydToKTFVXgMV/Os0bBQ==" + }, + "p-event": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/p-event/-/p-event-2.3.1.tgz", + "integrity": "sha512-NQCqOFhbpVTMX4qMe8PF8lbGtzZ+LCiN7pcNrb/413Na7+TRoe1xkKUzuWa/YEJdGQ0FvKtj35EEbDoVPO2kbA==", + "requires": { + "p-timeout": "^2.0.1" + } + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" + }, + "p-is-promise": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-1.1.0.tgz", + "integrity": "sha1-nJRWmJ6fZYgBewQ01WCXZ1w9oF4=" + }, + "p-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.0.0.tgz", + "integrity": "sha512-GO107XdrSUmtHxVoi60qc9tUl/KkNKm+X2CF4P9amalpGxv5YqVPJNfSb0wcA+syCopkZvYYIzW8OVTQW59x/w==" + }, + "p-timeout": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-2.0.1.tgz", + "integrity": "sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA==", + "requires": { + "p-finally": "^1.0.0" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" + }, + "pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=" + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=" + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "requires": { + "pinkie": "^2.0.0" + } + }, + "pkg-install": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/pkg-install/-/pkg-install-0.2.0.tgz", + "integrity": "sha512-50SoKDmAiXpEeaAX32myrlsoGDdnnP9a2/8ryTGr9r7MnDKrirjdlwMvfIVTY6/AUHq1poa5bHwtvTwhLoqQ6A==", + "requires": { + "@types/execa": "^0.9.0", + "@types/node": "^11.9.4", + "execa": "^1.0.0" + } + }, + "prepend-http": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", + "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=" + }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, + "proto-list": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", + "integrity": "sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=" + }, + "psl": { + "version": "1.1.31", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.31.tgz", + "integrity": "sha512-/6pt4+C+T+wZUieKR620OpzN/LlnNKuWjy1iFLQ/UG35JqHlR/89MP1d96dUfkf6Dne3TuLQzOYEYshJ+Hx8mw==" + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" + }, + "qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" + }, + "query-string": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz", + "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==", + "requires": { + "decode-uri-component": "^0.2.0", + "object-assign": "^4.1.0", + "strict-uri-encode": "^1.0.0" + } + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "request": { + "version": "2.88.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", + "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", + "requires": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.0", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.4.3", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + } + }, + "request-promise": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/request-promise/-/request-promise-4.2.4.tgz", + "integrity": "sha512-8wgMrvE546PzbR5WbYxUQogUnUDfM0S7QIFZMID+J73vdFARkFy+HElj4T+MWYhpXwlLp0EQ8Zoj8xUA0he4Vg==", + "requires": { + "bluebird": "^3.5.0", + "request-promise-core": "1.1.2", + "stealthy-require": "^1.1.1", + "tough-cookie": "^2.3.3" + } + }, + "request-promise-core": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.2.tgz", + "integrity": "sha512-UHYyq1MO8GsefGEt7EprS8UrXsm1TxEvFUX1IMTuSLU2Rh7fTIdFtl8xD7JiEYiWU2dl+NYAjCTksTehQUxPag==", + "requires": { + "lodash": "^4.17.11" + } + }, + "responselike": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", + "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", + "requires": { + "lowercase-keys": "^1.0.0" + } + }, + "restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", + "requires": { + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" + } + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "requires": { + "glob": "^7.1.3" + } + }, + "run-async": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", + "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", + "requires": { + "is-promise": "^2.1.0" + } + }, + "rxjs": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.4.0.tgz", + "integrity": "sha512-Z9Yfa11F6B9Sg/BK9MnqnQ+aQYicPLtilXBp2yUtDt2JRCE0h26d33EnfO3ZxoNxG0T92OUucP3Ct7cpfkdFfw==", + "requires": { + "tslib": "^1.9.0" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "seek-bzip": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.6.tgz", + "integrity": "sha512-e1QtP3YL5tWww8uKaOCQ18UxIT2laNBXHjV/S2WYCiK4udiv8lkG89KRIoCjUagnAmCBurjF4zEVX2ByBbnCjQ==", + "requires": { + "commander": "^2.8.1" + } + }, + "semver": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz", + "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==" + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=" + }, + "signal-exit": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" + }, + "slice-ansi": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz", + "integrity": "sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU=" + }, + "sort-keys": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", + "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=", + "requires": { + "is-plain-obj": "^1.0.0" + } + }, + "sort-keys-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/sort-keys-length/-/sort-keys-length-1.0.1.tgz", + "integrity": "sha1-nLb09OnkgVWmqgZx7dM2/xR5oYg=", + "requires": { + "sort-keys": "^1.0.0" + } + }, + "spdx-license-list": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/spdx-license-list/-/spdx-license-list-5.0.0.tgz", + "integrity": "sha512-N5u9tEFRBUzQDjMKRRt8SHxC/UaqYApPmdF4MMFnICQg3z52onNbnneuro/sWw2rd+eGu9agQOzUbD671Xia7Q==" + }, + "sshpk": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", + "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", + "requires": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + } + }, + "stealthy-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", + "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=" + }, + "strict-uri-encode": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", + "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=" + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "dependencies": { + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "strip-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.1.0.tgz", + "integrity": "sha512-TjxrkPONqO2Z8QDCpeE2j6n0M6EwxzyDgzEeGp+FbdvaJAt//ClYi6W5my+3ROlC/hZX2KACUwDfK49Ka5eDvg==", + "requires": { + "ansi-regex": "^4.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" + } + } + }, + "strip-dirs": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-2.1.0.tgz", + "integrity": "sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g==", + "requires": { + "is-natural-number": "^4.0.1" + } + }, + "strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=" + }, + "strip-outer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz", + "integrity": "sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==", + "requires": { + "escape-string-regexp": "^1.0.2" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + }, + "symbol-observable": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz", + "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==" + }, + "tar-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", + "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", + "requires": { + "bl": "^1.0.0", + "buffer-alloc": "^1.2.0", + "end-of-stream": "^1.0.0", + "fs-constants": "^1.0.0", + "readable-stream": "^2.3.0", + "to-buffer": "^1.1.1", + "xtend": "^4.0.0" + } + }, + "thenify": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.0.tgz", + "integrity": "sha1-5p44obq+lpsBCCB5eLn2K4hgSDk=", + "requires": { + "any-promise": "^1.0.0" + } + }, + "thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY=", + "requires": { + "thenify": ">= 3.1.0 < 4" + } + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" + }, + "timed-out": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", + "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=" + }, + "tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "requires": { + "os-tmpdir": "~1.0.2" + } + }, + "to-buffer": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", + "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==" + }, + "tough-cookie": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", + "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", + "requires": { + "psl": "^1.1.24", + "punycode": "^1.4.1" + }, + "dependencies": { + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" + } + } + }, + "trim-repeated": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz", + "integrity": "sha1-42RqLqTokTEr9+rObPsFOAvAHCE=", + "requires": { + "escape-string-regexp": "^1.0.2" + } + }, + "tslib": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz", + "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==" + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" + }, + "unbzip2-stream": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz", + "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==", + "requires": { + "buffer": "^5.2.1", + "through": "^2.3.8" + } + }, + "uri-js": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", + "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "requires": { + "punycode": "^2.1.0" + } + }, + "url-parse-lax": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", + "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", + "requires": { + "prepend-http": "^2.0.0" + } + }, + "url-to-options": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/url-to-options/-/url-to-options-1.0.1.tgz", + "integrity": "sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k=" + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "uuid": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", + "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==" + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "requires": { + "isexe": "^2.0.0" + } + }, + "wrap-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-3.0.1.tgz", + "integrity": "sha1-KIoE2H7aXChuBg3+jxNc6NAH+Lo=", + "requires": { + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0" + }, + "dependencies": { + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" + }, + "yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", + "requires": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..9f6b479 --- /dev/null +++ b/package.json @@ -0,0 +1,40 @@ +{ + "name": "@lgoweb/cra", + "version": "1.0.0", + "description": "A CLI to bootstrap projects", + "main": "src/index.js", + "bin": { + "cra": "bin/create-project" + }, + "publishConfig": { + "access": "public" + }, + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "keywords": [ + "cli", + "create-project" + ], + "author": "ChenYCL (https://github.com/ChenYCL)", + "license": "MIT", + "dependencies": { + "arg": "^4.1.0", + "chalk": "^2.4.2", + "covgen": "^3.1.0", + "download-git-repo": "^3.0.2", + "esm": "^3.2.18", + "execa": "^1.0.0", + "gitignore": "^0.6.0", + "inquirer": "^6.2.2", + "listr": "^0.14.3", + "ncp": "^2.0.0", + "pkg-install": "^0.2.0", + "spdx-license-list": "^5.0.0" + }, + "files": [ + "bin/", + "src/", + "templates/" + ] +} diff --git a/publish.sh b/publish.sh new file mode 100644 index 0000000..3dd5a08 --- /dev/null +++ b/publish.sh @@ -0,0 +1,14 @@ +#!/usr/bin/env bash +set -e +# 修改npm源地址 +npm config get registry +npm config set registry=http://registry.npmjs.org +# 登陆输入自己的npm账号和密码,还有邮箱 +echo '登录' +npm login +echo "发布中..." +npm publish +# 改回npm源地址 +# npm config set registry=https://registry.npm.taobao.org +echo -e "\n发布成功\n" +exit diff --git a/src/cli.js b/src/cli.js new file mode 100644 index 0000000..95cd463 --- /dev/null +++ b/src/cli.js @@ -0,0 +1,103 @@ +import arg from 'arg'; +import inquirer from 'inquirer'; +import { createProject } from './main'; +import chalk from "chalk"; + +function parseArgumentsIntoOptions(rawArgs) { + const args = arg( + { + '--git': Boolean, + '--yes': Boolean, + '--install': Boolean, + '--version':Boolean, + '-g': '--git', + '-y': '--yes', + '-i': '--install', + '-v':'--version', + }, + { + argv: rawArgs.slice(2), + } + ); + return { + skipPrompts: args['--yes'] || false, + git: args['--git'] || false, + template: args._[0], + runInstall: args['--install'] || false, + version:args['--version'] || false + }; +} + +async function promptForMissingOptions(options) { + const defaultTemplate = 'app'; + if(options.version){ + console.log('% cli version:', chalk.green.bold(require('../package.json').version)); + process.exit() + } + if (options.skipPrompts) { + return { + ...options, + template: options.template || defaultTemplate, + }; + } + + const questions = []; + if (!options.template) { + questions.push({ + type: 'list', + name: 'template', + message: '请选模版', + choices: ['app'], + default: defaultTemplate, + }); + } + + if (!options.port) { + questions.push({ + type: 'input', + name: 'port', + message: '请输入开发环境端口<9505>', + validate:(value)=>{ + if(isNaN(value)){ + return '必须是数字' + } + return true + }, + default: 9505, + }); + } + + if (!options.base) { + questions.push({ + type: 'input', + name: 'base', + message: '请输入子模块注册base名', + }); + } + + if (!options.git) { + questions.push({ + type: 'confirm', + name: 'git', + message: '初始化git', + default: false, + }); + } + + const answers = await inquirer.prompt(questions); + return { + ...options, + template: options.template || answers.template, + git: options.git || answers.git, + port: options.port || answers.port, + base: options.base || answers.base + }; +} + +export async function cli(args) { + let options = parseArgumentsIntoOptions(args); + options = await promptForMissingOptions(options); + await createProject(options); +} + +// ... diff --git a/src/lib/clone.js b/src/lib/clone.js new file mode 100644 index 0000000..6547acb --- /dev/null +++ b/src/lib/clone.js @@ -0,0 +1,31 @@ +// node的 util 模块 promisify可以把回调promise化 +const { promisify } = require("util"); +// 进度显示工具 +const ora = require("ora"); +// 颜色显示工具 +const chalk = require("chalk"); +// 下载git 仓库代码工具 +const download = promisify(require("download-git-repo")); +/** + * + * @param {string} repo 仓库地址 + * @param {string} dir 文件夹 + * @param {object} opotions 配置项 + */ +const clone = async function(repo, dir, opotions = {}) { + const process = ora(`开始下载 ${chalk.blue(repo)}`); + process.start(); + process.color = "yellow"; + process.text = `正在下载..... ${chalk.yellow(repo)} `; + try { + await download(repo, dir, opotions); + process.color = "green"; + process.text = `下载成功 ${chalk.green(repo)} `; + process.succeed(); + } catch (error) { + process.color = "red"; + process.text = "下载失败"; + process.fail(); + } +}; +module.exports = clone; diff --git a/src/main.js b/src/main.js new file mode 100644 index 0000000..663e871 --- /dev/null +++ b/src/main.js @@ -0,0 +1,199 @@ +import chalk from 'chalk'; +import execa from 'execa'; +import fs from 'fs'; +import gitignore from 'gitignore'; +import Listr from 'listr'; +import ncp from 'ncp'; +import path from 'path'; +import {projectInstall} from 'pkg-install'; +import license from 'spdx-license-list/licenses/MIT'; +import {promisify} from 'util'; + +const access = promisify(fs.access); +const writeFile = promisify(fs.writeFile); +const copy = promisify(ncp); +const writeGitignore = promisify(gitignore.writeFile); + +async function copyTemplateFiles(options) { + return copy(options.templateDirectory, options.targetDirectory, { + clobber: false, + }); +} + +async function createGitignore(options) { + const file = fs.createWriteStream( + path.join(options.targetDirectory, '.gitignore'), + {flags: 'a'} + ); + return writeGitignore({ + type: 'Node', + file: file, + }); +} + +async function createLicense(options) { + const targetPath = path.join(options.targetDirectory, 'LICENSE'); + const licenseContent = license.licenseText + .replace('', new Date().getFullYear()) + .replace('', `${options.name} (${options.email})`); + return writeFile(targetPath, licenseContent, 'utf8'); +} + +async function initGit(options) { + const result = await execa('git', ['init'], { + cwd: options.targetDirectory, + }); + if (result.failed) { + return Promise.reject(new Error('Failed to initialize git')); + } + return; +} + +async function modifyConfig(options) { + const envPath = path.join(options.targetDirectory, '.env') + fs.writeFileSync(envPath, `PORT=${options.port}`) + + let config = ` + // https://umijs.org/config/ +import { defineConfig } from 'umi'; +import defaultSettings from './defaultSettings'; +import proxy from './proxy'; +import routes from './routes'; + +const { REACT_APP_ENV } = process.env; + +export default defineConfig({ + hash: true, + antd: {}, + dva: { + hmr: true, + }, + layout: { + name: 'Ant Design Pro', + locale: true, + siderWidth: 208, + ...defaultSettings, + }, + locale: { + // default zh-CN + default: 'zh-CN', + antd: true, + // default true, when it is true, will use \`navigator.language\` overwrite default + baseNavigator: true, + }, + dynamicImport: { + loading: '@ant-design/pro-layout/es/PageLoading', + }, + targets: { + ie: 11, + }, + // umi routes: https://umijs.org/docs/routing + routes, + // Theme for antd: https://ant.design/docs/react/customize-theme-cn + theme: { + 'primary-color': defaultSettings.primaryColor, + }, + esbuild: {}, + title: false, + ignoreMomentLocale: true, + history: { type: 'hash' }, + proxy: proxy[REACT_APP_ENV || 'dev'], + qiankun: { + // master: {}, + slave: {}, + }, + metas:[ + { + name: 'keywords', + content: '内容' + }, + { + name: 'description', + content: '🍙 插件化的企业级前端应用框架。' + }, + + ], + // manifest: { + // basePath: '/', + // }, + nodeModulesTransform:{ type: 'none' }, + base: '/${options.base}/', + publicPath: '/', + outputPath: './${options.base}', + exportStatic: {}, +}); + + + ` + let configPath = path.join(options.targetDirectory, 'config', 'config.ts') + fs.writeFileSync(configPath, config) +} + +export async function createProject(options) { + options = { + ...options, + targetDirectory: options.targetDirectory || process.cwd(), + email: 'aa34913@gmail.com', + name: 'ChenYCL', + }; + + const fullPathName = new URL(import.meta.url).pathname; + const templateDir = path.resolve( + fullPathName.substr(fullPathName.indexOf('/')), + '../../templates', + options.template.toLowerCase() + ); + options.templateDirectory = templateDir; + + try { + await access(templateDir, fs.constants.R_OK); + } catch (err) { + console.error('%s 无效模版名', chalk.red.bold('ERROR')); + process.exit(1); + } + + const tasks = new Listr( + [ + { + title: 'Copy project files', + task: () => copyTemplateFiles(options), + }, + { + title: 'Modify config', + task: () => modifyConfig(options) + }, + { + title: 'Create gitignore', + task: () => createGitignore(options), + }, + { + title: 'Create License', + task: () => createLicense(options), + }, + { + title: 'Initialize git', + task: () => initGit(options), + enabled: () => options.git, + }, + { + title: 'Install dependencies', + task: () => + projectInstall({ + cwd: options.targetDirectory, + }), + skip: () => + !options.runInstall + ? 'Pass --install to automatically install dependencies' + : undefined, + }, + ], + { + exitOnError: false, + concurrency: true + } + ); + + await tasks.run(); + console.log('%s Project ready', chalk.green.bold('DONE')); + return true; +} diff --git a/templates/app/.editorconfig b/templates/app/.editorconfig new file mode 100644 index 0000000..7e3649a --- /dev/null +++ b/templates/app/.editorconfig @@ -0,0 +1,16 @@ +# http://editorconfig.org +root = true + +[*] +indent_style = space +indent_size = 2 +end_of_line = lf +charset = utf-8 +trim_trailing_whitespace = true +insert_final_newline = true + +[*.md] +trim_trailing_whitespace = false + +[Makefile] +indent_style = tab diff --git a/templates/app/.eslintignore b/templates/app/.eslintignore new file mode 100644 index 0000000..8336e93 --- /dev/null +++ b/templates/app/.eslintignore @@ -0,0 +1,8 @@ +/lambda/ +/scripts +/config +.history +public +dist +.umi +mock \ No newline at end of file diff --git a/templates/app/.eslintrc.js b/templates/app/.eslintrc.js new file mode 100644 index 0000000..b882c20 --- /dev/null +++ b/templates/app/.eslintrc.js @@ -0,0 +1,8 @@ +module.exports = { + extends: [require.resolve('@umijs/fabric/dist/eslint')], + globals: { + ANT_DESIGN_PRO_ONLY_DO_NOT_USE_IN_YOUR_PRODUCTION: true, + page: true, + REACT_APP_ENV: true, + }, +}; diff --git a/templates/app/.gitignore b/templates/app/.gitignore new file mode 100644 index 0000000..cbc3faa --- /dev/null +++ b/templates/app/.gitignore @@ -0,0 +1,40 @@ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies +**/node_modules +# roadhog-api-doc ignore +/src/utils/request-temp.js +_roadhog-api-doc +sys-template +# production +/dist +/.vscode + +# misc +.DS_Store +npm-debug.log* +yarn-error.log + +/coverage +.idea +yarn.lock +package-lock.json +*bak +.vscode + +# visual studio code +.history +*.log +functions/* +.temp/** + +# umi +.umi +.umi-production + +# screenshot +screenshot +.firebase +.eslintcache + +build diff --git a/templates/app/.prettierignore b/templates/app/.prettierignore new file mode 100644 index 0000000..d17efb4 --- /dev/null +++ b/templates/app/.prettierignore @@ -0,0 +1,23 @@ +**/*.svg +package.json +.umi +.umi-production +/dist +.dockerignore +.DS_Store +.eslintignore +*.png +*.toml +docker +.editorconfig +Dockerfile* +.gitignore +.prettierignore +LICENSE +.eslintcache +*.lock +yarn-error.log +.history +CNAME +/build +/public \ No newline at end of file diff --git a/templates/app/.prettierrc.js b/templates/app/.prettierrc.js new file mode 100644 index 0000000..7b597d7 --- /dev/null +++ b/templates/app/.prettierrc.js @@ -0,0 +1,5 @@ +const fabric = require('@umijs/fabric'); + +module.exports = { + ...fabric.prettier, +}; diff --git a/templates/app/.stylelintrc.js b/templates/app/.stylelintrc.js new file mode 100644 index 0000000..c203078 --- /dev/null +++ b/templates/app/.stylelintrc.js @@ -0,0 +1,5 @@ +const fabric = require('@umijs/fabric'); + +module.exports = { + ...fabric.stylelint, +}; diff --git a/templates/app/README.md b/templates/app/README.md new file mode 100644 index 0000000..4fb6cd5 --- /dev/null +++ b/templates/app/README.md @@ -0,0 +1,127 @@ +## 基座与微应用部署 + +### 基座注册子应用(config.ts) + +```ts +// qiankun插件集成 +qiankun: { + master: { + apps: [ + { + name: 'sys-template', // 模板应用 唯一标识 + entry: '//localhost:9506', // html entry + }, + ]; + } +} +``` + +### 装载子应用 + +- 使用路由绑定的方式 _建议使用这种方式来引入自带路由的子应用_ + +```ts + // 子应用注册路由 + { + name: '应用模板', + icon: 'smile', + path: '/sys-template', + microApp: 'sys-template', + locale: false, + // layout:true, // 污染 + // 不使用基座layout + // layout: false, + layout: { + hideMenu: true, + hideNav: false, + hideFooter: true, + }, + }, +``` + +- 使用 组件的方式 + + _建议使用这种方式来引入不带路由的子应用。 否则请自行关注微应用依赖的路由跟当前浏览器 url 是否能正确匹配上,否则很容易出现微应用加载了,但是页面没有渲染出来的情况。_ + +```ts +import { MicroApp } from 'umi'; + +; +``` + +### 子应用集成 qiankun 配置(config.ts) + +```ts + // qiankun插件集成 + qiankun: { + slave: {}, + }, + +``` + +### 基座与子应用通讯 + +```ts +import { useModel } from 'umi'; +export default () => { + // 获取基座数据 + const masterProps = useModel('@@qiankunStateFromMaster') || {}; + const { masterState, setMasterState } = baseProps; + return ( +
+

list

+

{masterState.test}

+ +
+ ); +}; +``` + +## 微应用目录结构与页面路由约定 + +``` +├─config +│ config.ts umi内置功能和插件的配置 +│ routes.ts 页面路由配置 +│ +├─mock 存储mock文件 +│ +├─public 此目录下所有文件会被copy到输出路径 +│ +├─src +│ │ app.tsx 运行时入口,可扩展运行时的能力,比如修改路由等 +│ │ +│ ├─components 组件目录 +│ │ +│ ├─layouts 全局布局文件,可自定义左侧导航 +│ │ +│ ├─locales 国际化 +│ │ +│ ├─pages 所有路由组件存放位置 +│ │ │ +│ │ ├─manage 约定管理端入口目录 +│ │ │ +│ │ ├─sysTemplateMain 业务模型 +│ │ │ ├─edit 新建、编辑页面目录 +│ │ │ │ │ index.tsx 组件入口 +│ │ │ │ │ +│ │ │ │ ├─desktop 桌面端入口 +│ │ │ │ │ index.less +│ │ │ │ │ index.tsx +│ │ │ │ │ +│ │ │ │ └─mobile 移动端入口 +│ │ │ │ index.less +│ │ │ │ index.tsx +│ │ │ │ +│ │ │ ├─home 主页目录 +│ │ │ │ +│ │ │ ├─list 列表页目录 +│ │ │ │ +│ │ │ └─view 查看页目录 +│ │ +│ ├─services 业务接口定义 +│ │ +│ ├─types 业务模型定义 +│ | +│ └─utils 工具类 +``` diff --git a/templates/app/config/config.ts b/templates/app/config/config.ts new file mode 100644 index 0000000..ce59c4b --- /dev/null +++ b/templates/app/config/config.ts @@ -0,0 +1,68 @@ +// https://umijs.org/config/ +import { defineConfig } from 'umi'; +import defaultSettings from './defaultSettings'; +import proxy from './proxy'; +import routes from './routes'; + +const { REACT_APP_ENV } = process.env; + +export default defineConfig({ + hash: true, + antd: {}, + dva: { + hmr: true, + }, + layout: { + name: 'Ant Design Pro', + locale: true, + siderWidth: 208, + ...defaultSettings, + }, + locale: { + // default zh-CN + default: 'zh-CN', + antd: true, + // default true, when it is true, will use `navigator.language` overwrite default + baseNavigator: true, + }, + dynamicImport: { + loading: '@ant-design/pro-layout/es/PageLoading', + }, + targets: { + ie: 11, + }, + // umi routes: https://umijs.org/docs/routing + routes, + // Theme for antd: https://ant.design/docs/react/customize-theme-cn + theme: { + 'primary-color': defaultSettings.primaryColor, + }, + esbuild: {}, + title: false, + ignoreMomentLocale: true, + history: { type: 'hash' }, + proxy: proxy[REACT_APP_ENV || 'dev'], + qiankun: { + // master: {}, + slave: {}, + }, + metas:[ + { + name: 'keywords', + content: '内容' + }, + { + name: 'description', + content: '🍙 插件化的企业级前端应用框架。' + }, + + ], + // manifest: { + // basePath: '/', + // }, + nodeModulesTransform:{ type: 'none' }, + base: '/sys-template/', + publicPath: '/', + outputPath: './sys-template', + exportStatic: {}, +}); diff --git a/templates/app/config/defaultSettings.ts b/templates/app/config/defaultSettings.ts new file mode 100644 index 0000000..15397c6 --- /dev/null +++ b/templates/app/config/defaultSettings.ts @@ -0,0 +1,21 @@ +import { Settings as LayoutSettings } from '@ant-design/pro-layout'; + +const Settings: LayoutSettings & { + pwa?: boolean; + logo?: string; +} = { + navTheme: 'light', + // 拂晓蓝 + primaryColor: '#1890ff', + layout: 'mix', + contentWidth: 'Fluid', + fixedHeader: false, + fixSiderbar: true, + colorWeak: false, + title: 'Ant Design Pro', + pwa: false, + logo: 'https://gw.alipayobjects.com/zos/rmsportal/KDpgvguMpGfqaHPjicRK.svg', + iconfontUrl: '', +}; + +export default Settings; diff --git a/templates/app/config/proxy.ts b/templates/app/config/proxy.ts new file mode 100644 index 0000000..3fa70dd --- /dev/null +++ b/templates/app/config/proxy.ts @@ -0,0 +1,30 @@ +/** + * 在生产环境 代理是无法生效的,所以这里没有生产环境的配置 + * The agent cannot take effect in the production environment + * so there is no configuration of the production environment + * For details, please see + * https://pro.ant.design/docs/deploy + */ +export default { + dev: { + '/api/': { + target: 'https://preview.pro.ant.design', + changeOrigin: true, + pathRewrite: { '^': '' }, + }, + }, + test: { + '/api/': { + target: 'https://preview.pro.ant.design', + changeOrigin: true, + pathRewrite: { '^': '' }, + }, + }, + pre: { + '/api/': { + target: 'your pre url', + changeOrigin: true, + pathRewrite: { '^': '' }, + }, + }, +}; diff --git a/templates/app/config/routes.ts b/templates/app/config/routes.ts new file mode 100644 index 0000000..9cdf4ae --- /dev/null +++ b/templates/app/config/routes.ts @@ -0,0 +1,75 @@ +export default [ + { + path: '/user', + layout: false, + routes: [ + { + name: 'login', + path: '/user/login', + component: './user/login', + }, + ], + }, + + { + path: '/admin', + name: 'admin', + icon: 'crown', + access: 'canAdmin', + // component: './Admin', + routes: [ + { + path: '/admin/sub-page', + name: 'sub-page', + icon: 'smile', + component: './manage/index', + }, + ], + }, + { + name: 'list.table-list', + icon: 'table', + path: '/tblist', + component: './ListTableList', + }, + + // { + // path: '/desktop', + // component: './desktop/pageA', + // }, + // { + // path: '/mobile', + // + // component: './mobile/pageA', + // }, + + { + path: '/manage', + + component: './manage/index', + }, + // pc 和 mobile 公用一套路由,页面内部去拆分代码 + { + path: '/index', + component: './pageA', + }, + { + path: '/list', + component: './sysTemplateMain/list/index', + }, + { + path: '/edit', + component: './sysTemplateMain/edit/index', + }, + { + path: '/view', + component: './sysTemplateMain/view/index', + }, + { + path: '/', + redirect: '/index', + }, + { + component: './404', + }, +]; diff --git a/templates/app/jest.config.js b/templates/app/jest.config.js new file mode 100644 index 0000000..09a2211 --- /dev/null +++ b/templates/app/jest.config.js @@ -0,0 +1,10 @@ +module.exports = { + testURL: 'http://localhost:8000', + testEnvironment: './tests/PuppeteerEnvironment', + verbose: false, + extraSetupFiles: ['./tests/setupTests.js'], + globals: { + ANT_DESIGN_PRO_ONLY_DO_NOT_USE_IN_YOUR_PRODUCTION: false, + localStorage: null, + }, +}; diff --git a/templates/app/jsconfig.json b/templates/app/jsconfig.json new file mode 100644 index 0000000..f87334d --- /dev/null +++ b/templates/app/jsconfig.json @@ -0,0 +1,10 @@ +{ + "compilerOptions": { + "emitDecoratorMetadata": true, + "experimentalDecorators": true, + "baseUrl": ".", + "paths": { + "@/*": ["./src/*"] + } + } +} diff --git a/templates/app/mock/listTableList.ts b/templates/app/mock/listTableList.ts new file mode 100644 index 0000000..20a87fe --- /dev/null +++ b/templates/app/mock/listTableList.ts @@ -0,0 +1,171 @@ +// eslint-disable-next-line import/no-extraneous-dependencies +import { Request, Response } from 'express'; +import { parse } from 'url'; +import { TableListItem, TableListParams } from '@/pages/ListTableList/data'; + +// mock tableListDataSource +const genList = (current: number, pageSize: number) => { + const tableListDataSource: TableListItem[] = []; + + for (let i = 0; i < pageSize; i += 1) { + const index = (current - 1) * 10 + i; + tableListDataSource.push({ + key: index, + disabled: i % 6 === 0, + href: 'https://ant.design', + avatar: [ + 'https://gw.alipayobjects.com/zos/rmsportal/eeHMaZBwmTvLdIwMfBpg.png', + 'https://gw.alipayobjects.com/zos/rmsportal/udxAbMEhpwthVVcjLXik.png', + ][i % 2], + name: `TradeCode ${index}`, + owner: '曲丽丽', + desc: '这是一段描述', + callNo: Math.floor(Math.random() * 1000), + status: Math.floor(Math.random() * 10) % 4, + updatedAt: new Date(), + createdAt: new Date(), + progress: Math.ceil(Math.random() * 100), + }); + } + tableListDataSource.reverse(); + return tableListDataSource; +}; + +let tableListDataSource = genList(1, 100); + +function getRule(req: Request, res: Response, u: string) { + let realUrl = u; + if (!realUrl || Object.prototype.toString.call(realUrl) !== '[object String]') { + realUrl = req.url; + } + const { current = 1, pageSize = 10 } = req.query; + const params = (parse(realUrl, true).query as unknown) as TableListParams; + + let dataSource = [...tableListDataSource].slice( + ((current as number) - 1) * (pageSize as number), + (current as number) * (pageSize as number), + ); + const sorter = JSON.parse(params.sorter as any); + if (sorter) { + dataSource = dataSource.sort((prev, next) => { + let sortNumber = 0; + Object.keys(sorter).forEach((key) => { + if (sorter[key] === 'descend') { + if (prev[key] - next[key] > 0) { + sortNumber += -1; + } else { + sortNumber += 1; + } + return; + } + if (prev[key] - next[key] > 0) { + sortNumber += 1; + } else { + sortNumber += -1; + } + }); + return sortNumber; + }); + } + if (params.filter) { + const filter = JSON.parse(params.filter as any) as { + [key: string]: string[]; + }; + if (Object.keys(filter).length > 0) { + dataSource = dataSource.filter((item) => { + return Object.keys(filter).some((key) => { + if (!filter[key]) { + return true; + } + if (filter[key].includes(`${item[key]}`)) { + return true; + } + return false; + }); + }); + } + } + + if (params.name) { + dataSource = dataSource.filter((data) => data.name.includes(params.name || '')); + } + const result = { + data: dataSource, + total: tableListDataSource.length, + success: true, + pageSize, + current: parseInt(`${params.currentPage}`, 10) || 1, + }; + + return res.json(result); +} + +function postRule(req: Request, res: Response, u: string, b: Request) { + let realUrl = u; + if (!realUrl || Object.prototype.toString.call(realUrl) !== '[object String]') { + realUrl = req.url; + } + + const body = (b && b.body) || req.body; + const { method, name, desc, key } = body; + + switch (method) { + /* eslint no-case-declarations:0 */ + case 'delete': + tableListDataSource = tableListDataSource.filter((item) => key.indexOf(item.key) === -1); + break; + case 'post': + (() => { + const i = Math.ceil(Math.random() * 10000); + const newRule = { + key: tableListDataSource.length, + href: 'https://ant.design', + avatar: [ + 'https://gw.alipayobjects.com/zos/rmsportal/eeHMaZBwmTvLdIwMfBpg.png', + 'https://gw.alipayobjects.com/zos/rmsportal/udxAbMEhpwthVVcjLXik.png', + ][i % 2], + name, + owner: '曲丽丽', + desc, + callNo: Math.floor(Math.random() * 1000), + status: Math.floor(Math.random() * 10) % 2, + updatedAt: new Date(), + createdAt: new Date(), + progress: Math.ceil(Math.random() * 100), + }; + tableListDataSource.unshift(newRule); + return res.json(newRule); + })(); + return; + + case 'update': + (() => { + let newRule = {}; + tableListDataSource = tableListDataSource.map((item) => { + if (item.key === key) { + newRule = { ...item, desc, name }; + return { ...item, desc, name }; + } + return item; + }); + return res.json(newRule); + })(); + return; + default: + break; + } + + const result = { + list: tableListDataSource, + pagination: { + total: tableListDataSource.length, + }, + }; + + res.json(result); +} + +export default { + 'GET /api/rule': getRule, + 'POST /api/rule': postRule, +}; diff --git a/templates/app/mock/notices.ts b/templates/app/mock/notices.ts new file mode 100644 index 0000000..732dd58 --- /dev/null +++ b/templates/app/mock/notices.ts @@ -0,0 +1,107 @@ +import { Request, Response } from 'express'; + +const getNotices = (req: Request, res: Response) => { + res.json({ + data: [ + { + id: '000000001', + avatar: 'https://gw.alipayobjects.com/zos/rmsportal/ThXAXghbEsBCCSDihZxY.png', + title: '你收到了 14 份新周报', + datetime: '2017-08-09', + type: 'notification', + }, + { + id: '000000002', + avatar: 'https://gw.alipayobjects.com/zos/rmsportal/OKJXDXrmkNshAMvwtvhu.png', + title: '你推荐的 曲妮妮 已通过第三轮面试', + datetime: '2017-08-08', + type: 'notification', + }, + { + id: '000000003', + avatar: 'https://gw.alipayobjects.com/zos/rmsportal/kISTdvpyTAhtGxpovNWd.png', + title: '这种模板可以区分多种通知类型', + datetime: '2017-08-07', + read: true, + type: 'notification', + }, + { + id: '000000004', + avatar: 'https://gw.alipayobjects.com/zos/rmsportal/GvqBnKhFgObvnSGkDsje.png', + title: '左侧图标用于区分不同的类型', + datetime: '2017-08-07', + type: 'notification', + }, + { + id: '000000005', + avatar: 'https://gw.alipayobjects.com/zos/rmsportal/ThXAXghbEsBCCSDihZxY.png', + title: '内容不要超过两行字,超出时自动截断', + datetime: '2017-08-07', + type: 'notification', + }, + { + id: '000000006', + avatar: 'https://gw.alipayobjects.com/zos/rmsportal/fcHMVNCjPOsbUGdEduuv.jpeg', + title: '曲丽丽 评论了你', + description: '描述信息描述信息描述信息', + datetime: '2017-08-07', + type: 'message', + clickClose: true, + }, + { + id: '000000007', + avatar: 'https://gw.alipayobjects.com/zos/rmsportal/fcHMVNCjPOsbUGdEduuv.jpeg', + title: '朱偏右 回复了你', + description: '这种模板用于提醒谁与你发生了互动,左侧放『谁』的头像', + datetime: '2017-08-07', + type: 'message', + clickClose: true, + }, + { + id: '000000008', + avatar: 'https://gw.alipayobjects.com/zos/rmsportal/fcHMVNCjPOsbUGdEduuv.jpeg', + title: '标题', + description: '这种模板用于提醒谁与你发生了互动,左侧放『谁』的头像', + datetime: '2017-08-07', + type: 'message', + clickClose: true, + }, + { + id: '000000009', + title: '任务名称', + description: '任务需要在 2017-01-12 20:00 前启动', + extra: '未开始', + status: 'todo', + type: 'event', + }, + { + id: '000000010', + title: '第三方紧急代码变更', + description: '冠霖提交于 2017-01-06,需在 2017-01-07 前完成代码变更任务', + extra: '马上到期', + status: 'urgent', + type: 'event', + }, + { + id: '000000011', + title: '信息安全考试', + description: '指派竹尔于 2017-01-09 前完成更新并发布', + extra: '已耗时 8 天', + status: 'doing', + type: 'event', + }, + { + id: '000000012', + title: 'ABCD 版本发布', + description: '冠霖提交于 2017-01-06,需在 2017-01-07 前完成代码变更任务', + extra: '进行中', + status: 'processing', + type: 'event', + }, + ], + }); +}; + +export default { + 'GET /api/notices': getNotices, +}; diff --git a/templates/app/mock/route.ts b/templates/app/mock/route.ts new file mode 100644 index 0000000..418d10f --- /dev/null +++ b/templates/app/mock/route.ts @@ -0,0 +1,5 @@ +export default { + '/api/auth_routes': { + '/form/advanced-form': { authority: ['admin', 'user'] }, + }, +}; diff --git a/templates/app/mock/user.ts b/templates/app/mock/user.ts new file mode 100644 index 0000000..70d6112 --- /dev/null +++ b/templates/app/mock/user.ts @@ -0,0 +1,200 @@ +import { Request, Response } from 'express'; + +const waitTime = (time: number = 100) => { + return new Promise((resolve) => { + setTimeout(() => { + resolve(true); + }, time); + }); +}; + +async function getFakeCaptcha(req: Request, res: Response) { + await waitTime(2000); + return res.json('captcha-xxx'); +} + +const { ANT_DESIGN_PRO_ONLY_DO_NOT_USE_IN_YOUR_PRODUCTION } = process.env; + +/** + * 当前用户的权限,如果为空代表没登录 + * current user access, if is '', user need login + * 如果是 pro 的预览,默认是有权限的 + */ +let access = ANT_DESIGN_PRO_ONLY_DO_NOT_USE_IN_YOUR_PRODUCTION === 'site' ? 'admin' : ''; + +const getAccess = () => { + return access; +}; + +// 代码中会兼容本地 service mock 以及部署站点的静态数据 +export default { + // 支持值为 Object 和 Array + 'GET /api/currentUser': (req: Request, res: Response) => { + if (!getAccess()) { + res.status(401).send({ + data: { + isLogin: false, + }, + errorCode: '401', + errorMessage: '请先登录!', + success: true, + }); + return; + } + res.send({ + name: 'Serati Ma', + avatar: 'https://gw.alipayobjects.com/zos/antfincdn/XAosXuNZyF/BiazfanxmamNRoxxVxka.png', + userid: '00000001', + email: 'antdesign@alipay.com', + signature: '海纳百川,有容乃大', + title: '交互专家', + group: '蚂蚁金服-某某某事业群-某某平台部-某某技术部-UED', + tags: [ + { + key: '0', + label: '很有想法的', + }, + { + key: '1', + label: '专注设计', + }, + { + key: '2', + label: '辣~', + }, + { + key: '3', + label: '大长腿', + }, + { + key: '4', + label: '川妹子', + }, + { + key: '5', + label: '海纳百川', + }, + ], + notifyCount: 12, + unreadCount: 11, + country: 'China', + access: getAccess(), + geographic: { + province: { + label: '浙江省', + key: '330000', + }, + city: { + label: '杭州市', + key: '330100', + }, + }, + address: '西湖区工专路 77 号', + phone: '0752-268888888', + }); + }, + // GET POST 可省略 + 'GET /api/users': [ + { + key: '1', + name: 'John Brown', + age: 32, + address: 'New York No. 1 Lake Park', + }, + { + key: '2', + name: 'Jim Green', + age: 42, + address: 'London No. 1 Lake Park', + }, + { + key: '3', + name: 'Joe Black', + age: 32, + address: 'Sidney No. 1 Lake Park', + }, + ], + 'POST /api/login/account': async (req: Request, res: Response) => { + const { password, username, type } = req.body; + await waitTime(2000); + if (password === 'ant.design' && username === 'admin') { + res.send({ + status: 'ok', + type, + currentAuthority: 'admin', + }); + access = 'admin'; + return; + } + if (password === 'ant.design' && username === 'user') { + res.send({ + status: 'ok', + type, + currentAuthority: 'user', + }); + access = 'user'; + return; + } + if (type === 'mobile') { + res.send({ + status: 'ok', + type, + currentAuthority: 'admin', + }); + access = 'admin'; + return; + } + + res.send({ + status: 'error', + type, + currentAuthority: 'guest', + }); + access = 'guest'; + }, + 'GET /api/login/outLogin': (req: Request, res: Response) => { + access = ''; + res.send({ data: {}, success: true }); + }, + 'POST /api/register': (req: Request, res: Response) => { + res.send({ status: 'ok', currentAuthority: 'user', success: true }); + }, + 'GET /api/500': (req: Request, res: Response) => { + res.status(500).send({ + timestamp: 1513932555104, + status: 500, + error: 'error', + message: 'error', + path: '/base/category/list', + }); + }, + 'GET /api/404': (req: Request, res: Response) => { + res.status(404).send({ + timestamp: 1513932643431, + status: 404, + error: 'Not Found', + message: 'No message available', + path: '/base/category/list/2121212', + }); + }, + 'GET /api/403': (req: Request, res: Response) => { + res.status(403).send({ + timestamp: 1513932555104, + status: 403, + error: 'Unauthorized', + message: 'Unauthorized', + path: '/base/category/list', + }); + }, + 'GET /api/401': (req: Request, res: Response) => { + res.status(401).send({ + timestamp: 1513932555104, + status: 401, + error: 'Unauthorized', + message: 'Unauthorized', + path: '/base/category/list', + }); + }, + + 'GET /api/login/captcha': getFakeCaptcha, +}; diff --git a/templates/app/package.json b/templates/app/package.json new file mode 100644 index 0000000..9debae6 --- /dev/null +++ b/templates/app/package.json @@ -0,0 +1,108 @@ +{ + "name": "sys-template", + "version": "0.0.1", + "private": true, + "description": "An out-of-box UI solution for enterprise applications", + "scripts": { + "analyze": "cross-env ANALYZE=1 umi build", + "build": "umi build", + "deploy": "", + "dev": "npm run start:dev", + "i18n-remove": "pro i18n-remove --locale=zh-CN --write", + "postinstall": "umi g tmp", + "lint": "umi g tmp && npm run lint:js && npm run lint:style && npm run lint:prettier", + "lint-staged": "lint-staged", + "lint-staged:js": "eslint --ext .js,.jsx,.ts,.tsx ", + "lint:fix": "eslint --fix --cache --ext .js,.jsx,.ts,.tsx --format=pretty ./src && npm run lint:style", + "lint:js": "eslint --cache --ext .js,.jsx,.ts,.tsx --format=pretty ./src", + "lint:prettier": "prettier --check \"src/**/*\" --end-of-line auto", + "lint:style": "stylelint --fix \"src/**/*.less\" --syntax less", + "precommit": "lint-staged", + "prettier": "prettier -c --write \"src/**/*\"", + "start": "umi dev", + "start:dev": "cross-env REACT_APP_ENV=dev MOCK=none umi dev", + "start:no-mock": "cross-env MOCK=none umi dev", + "start:no-ui": "cross-env UMI_UI=none umi dev", + "start:pre": "cross-env REACT_APP_ENV=pre umi dev", + "start:test": "cross-env REACT_APP_ENV=test MOCK=none umi dev", + "pretest": "node ./tests/beforeTest", + "test": "umi test", + "test:all": "node ./tests/run-tests.js", + "test:component": "umi test ./src/components", + "tsc": "tsc --noEmit" + }, + "lint-staged": { + "**/*.less": "stylelint --syntax less", + "**/*.{js,jsx,ts,tsx}": "npm run lint-staged:js", + "**/*.{js,jsx,tsx,ts,less,md,json}": [ + "prettier --write" + ] + }, + "browserslist": [ + "> 1%", + "last 2 versions", + "not ie <= 10" + ], + "dependencies": { + "@ant-design/icons": "^4.0.0", + "@ant-design/pro-descriptions": "^1.0.19", + "@ant-design/pro-form": "^1.2.0", + "@ant-design/pro-layout": "^6.4.19", + "@ant-design/pro-table": "^2.9.5", + "@ckeditor/ckeditor5-build-classic": "*", + "@ckeditor/ckeditor5-react": "*", + "@umijs/plugin-sass": "*", + "@umijs/route-utils": "^1.0.33", + "antd": "^4.7.0", + "classnames": "^2.2.6", + "lodash": "^4.17.11", + "moment": "^2.25.3", + "omit.js": "^2.0.2", + "qs": "^6.9.0", + "react": "^16.8.6", + "react-device-detect": "^1.14.0", + "react-dom": "^16.8.6", + "react-helmet-async": "^1.0.4", + "umi": "^3.2.14", + "umi-request": "^1.0.8", + "use-merge-value": "^1.0.1" + }, + "devDependencies": { + "@ant-design/pro-cli": "^2.0.2", + "@types/classnames": "^2.2.7", + "@types/express": "^4.17.0", + "@types/history": "^4.7.2", + "@types/jest": "^26.0.0", + "@types/lodash": "^4.14.144", + "@types/qs": "^6.5.3", + "@types/react": "^16.9.17", + "@types/react-dom": "^16.8.4", + "@types/react-helmet": "^6.1.0", + "@umijs/fabric": "^2.3.0", + "@umijs/plugin-blocks": "^2.0.5", + "@umijs/plugin-esbuild": "^1.0.0-beta.2", + "@umijs/plugin-qiankun": "^2.17.5", + "@umijs/preset-ant-design-pro": "^1.2.0", + "@umijs/preset-react": "^1.4.8", + "@umijs/yorkie": "^2.0.3", + "carlo": "^0.9.46", + "cross-env": "^7.0.0", + "cross-port-killer": "^1.1.1", + "detect-installer": "^1.0.1", + "enzyme": "^3.11.0", + "eslint": "^7.1.0", + "express": "^4.17.1", + "gh-pages": "^3.0.0", + "jsdom-global": "^3.0.2", + "lint-staged": "^10.0.0", + "mockjs": "^1.0.1-beta3", + "prettier": "^2.0.1", + "pro-download": "1.0.1", + "puppeteer-core": "^5.0.0", + "stylelint": "^13.0.0", + "typescript": "^4.0.3" + }, + "engines": { + "node": ">=10.0.0" + } +} diff --git a/templates/app/public/CNAME b/templates/app/public/CNAME new file mode 100644 index 0000000..30c2d4d --- /dev/null +++ b/templates/app/public/CNAME @@ -0,0 +1 @@ +preview.pro.ant.design \ No newline at end of file diff --git a/templates/app/public/favicon.ico b/templates/app/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..e2e93252988b5bed120ddeb168eb577bf0caa881 GIT binary patch literal 4286 zcmeHLO(?8k6#ga#Gs=ufvobTd=q@y~nOLdYlqL%nQY4WqC`)z}3y~cqOAAF4VkQd~ z^3$wrC}~D1l%!eMp!|gA&U5sN?~b{2>)yNg-s#Lc-+9k_p7Y<=XqqYcDJs(Vt%dBG z=F~Lpdy*pd!Y zozZT}udJ-#| zqiAVq0sT@kAMMobbULxOw+F6{j*egO8CQ?TgTuo^+}_@zrlv;l$*-)e#PRVl?(Xgo zi9`?zg>ZFsh0DuJ)Ya9!von7LPN@OfP9IfH_4tet&&I~a#O{TK1<3*LO-xJ( zZ*Fc5%v&m4#Z&mZySs8{XJ-fV^Yh@{p`ju8d_J)w6+U%`!(qAC+uJK~qg_o+O|QC` zTVg0Y{jSHqzP^^&G0t4^cwF+$`egj?@9$AtTMLuPB>7!lUKY8&zP?xd=H_PM(U;HS ztNi!(_oJes0<5X6tu4{BxVR{FO)_x3UauFkv$I%RTSHe@7dAIHF+4mhc?|>t(!XbCXVQZk z8yje7Xh2R*&WCwdw&?N4$H!4$Uyq)i9_;V$3;y)^-LKhmkv{Z#(CP^-7Wn# zI5-H>z`y`nTU%u=f7Tbh-mg5fPT0G8`Wx6^vD1(>-r0;AFlyjWYC!!D@UQlt)%}4^ literal 0 HcmV?d00001 diff --git a/templates/app/public/home_bg.png b/templates/app/public/home_bg.png new file mode 100644 index 0000000000000000000000000000000000000000..7c92a4bef248fd9a6cba50e72c5a641ee4cdca2f GIT binary patch literal 203330 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¬4*_ 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 z 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 g>MQXTm2T=TNap`^ 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%0DM!Hp}{;&%I4T^x7n$3v;!}60cbAOLzGYwk(SO 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 literal 0 HcmV?d00001 diff --git a/templates/app/public/icons/icon-128x128.png b/templates/app/public/icons/icon-128x128.png new file mode 100644 index 0000000000000000000000000000000000000000..48d0e2339a60a637b94319c65e8654289b4f4b6c GIT binary patch literal 1329 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

*C7T$?5!b= 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 28 Copy 5Created with Sketch. \ No newline at end of file diff --git a/templates/app/public/pro_icon.svg b/templates/app/public/pro_icon.svg new file mode 100644 index 0000000..e075b78 --- /dev/null +++ b/templates/app/public/pro_icon.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/templates/app/src/access.ts b/templates/app/src/access.ts new file mode 100644 index 0000000..4af52b9 --- /dev/null +++ b/templates/app/src/access.ts @@ -0,0 +1,7 @@ +// src/access.ts +export default function access(initialState: { currentUser?: API.CurrentUser | undefined }) { + const { currentUser } = initialState || {}; + return { + canAdmin: currentUser && currentUser.access === 'admin', + }; +} diff --git a/templates/app/src/app.tsx b/templates/app/src/app.tsx new file mode 100644 index 0000000..e74d642 --- /dev/null +++ b/templates/app/src/app.tsx @@ -0,0 +1,165 @@ +import React from 'react'; +import { BasicLayoutProps, Settings as LayoutSettings, PageLoading } from '@ant-design/pro-layout'; +import { notification } from 'antd'; +import { history, RequestConfig } from 'umi'; +import RightContent from '@/components/RightContent'; +// import Footer from '@/components/Footer'; +import { RequestOptionsInit, ResponseError } from 'umi-request'; +// import { queryCurrent } from './services/user'; +import defaultSettings from '../config/defaultSettings'; +// import { isMobile } from 'react-device-detect'; +/** + * 获取用户信息比较慢的时候会展示一个 loading + */ +export const initialStateConfig = { + loading: , +}; + +export async function getInitialState(): Promise<{ + settings?: LayoutSettings; + currentUser?: API.CurrentUser; + fetchUserInfo?: () => Promise; +}> { + // const fetchUserInfo = async () => { + // try { + // const currentUser = await queryCurrent(); + // return currentUser; + // } catch (error) { + // history.push('/user/login'); + // } + // return undefined; + // }; + // 如果是登录页面,不执行 + if (history.location.pathname !== '/user/login') { + // const currentUser = await fetchUserInfo(); + // return { + // fetchUserInfo, + // currentUser, + // settings: defaultSettings, + // }; + } + return { + // fetchUserInfo, + settings: defaultSettings, + }; +} + +export const layout = ({ + initialState, +}: { + initialState: { settings?: LayoutSettings; currentUser?: API.CurrentUser }; +}): BasicLayoutProps => { + return { + rightContentRender: () => , + // menuDataRender:null + disableContentMargin: false, + // footerRender: () =>