├── .eslintrc.js ├── .gitignore ├── .travis.yml ├── LICENSE ├── README-zh_CN.md ├── README.md ├── example └── src │ ├── components │ └── HelloWorld.vue │ └── views │ ├── index │ ├── App.vue │ ├── app.js │ └── file.json │ └── multi-page │ ├── file.json │ ├── home │ ├── App.vue │ ├── app.js │ └── file.json │ └── subpage │ ├── App.vue │ ├── app.js │ └── file.json ├── generator.js ├── index.js ├── logger ├── dirTree.js └── index.js ├── logo.png ├── package.json ├── prompts.js ├── template └── src │ └── views │ └── preview │ ├── App.vue │ ├── app.js │ ├── file.json │ ├── mdc.drawer.css │ └── tree-item.vue ├── vue.config.js └── yarn.lock /.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | extends: [ 3 | // https://github.com/feross/standard/blob/master/RULES.md#javascript-standard-style 4 | 'standard', 5 | // https://github.com/vuejs/eslint-plugin-vue#priority-c-recommended-minimizing-arbitrary-choices-and-cognitive-overhead 6 | 'plugin:vue/recommended', 7 | ], 8 | rules: { 9 | 'vue/require-default-prop': 'off' 10 | } 11 | }; -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules 3 | /dist 4 | 5 | # local env files 6 | .env.local 7 | .env.*.local 8 | 9 | # Log files 10 | npm-debug.log* 11 | yarn-debug.log* 12 | yarn-error.log* 13 | 14 | # Editor directories and files 15 | .idea 16 | .vscode 17 | *.suo 18 | *.ntvs* 19 | *.njsproj 20 | *.sln 21 | *.sw* 22 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - "8" 4 | 5 | jobs: 6 | include: 7 | - stage: npm release 8 | node_js: "8" 9 | script: echo "Deploying to npm ..." 10 | deploy: 11 | provider: npm 12 | email: "aircity@drrr.us" 13 | api_key: $NPM_API_KEY 14 | gem: vue-cli-plugin-pages 15 | on: deploy-npm-release 16 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT LICENSE 2 | 3 | Copyright (c) 2016-present aircity@drrr.us 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining 6 | a copy of this software and associated documentation files (the 7 | "Software"), to deal in the Software without restriction, including 8 | without limitation the rights to use, copy, modify, merge, publish, 9 | distribute, sublicense, and/or sell copies of the Software, and to 10 | permit persons to whom the Software is furnished to do so, subject to 11 | the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be 14 | included in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 20 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 21 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 22 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /README-zh_CN.md: -------------------------------------------------------------------------------- 1 | [English](./README.md) | 简体中文 2 | 3 | # vue-cli-plugin-pages 4 | 5 | 基于vue-cli 3.x的多页面应用插件 6 | 7 | ## 🔗 内容列表 8 | 9 | * [特性](#-特性) 10 | * [应用](#-应用) 11 | 12 | ## ✨ 特性 13 | 14 | * 生成多页面配置 [pages](https://cli.vuejs.org/config/#pages) (将匹配`src/views/**/app.js`的文件作为入口中的一个,生成pages的entry和filename) 15 | ``` 16 | { 17 | "index": { 18 | "entry": "src/views/index/app.js", 19 | "filename": "index.html", 20 | "template": "public/index.html" 21 | }, 22 | "preview": { 23 | "entry": "src/views/preview/app.js", 24 | "filename": "preview.html", 25 | "template": "public/index.html" 26 | }, 27 | "multi-page~home": { 28 | "entry": "src/views/multi-page/home/app.js", 29 | "filename": "multi-page/home.html", 30 | "template": "public/index.html" 31 | }, 32 | "multi-page~subpage": { 33 | "entry": "src/views/multi-page/subpage/app.js", 34 | "filename": "multi-page/subpage.html", 35 | "template": "public/index.html" 36 | } 37 | } 38 | ``` 39 | 40 | * 将页面位置生成到`logs/location.json` 41 | ``` 42 | { 43 | "route": [ 44 | { "name": "Index Page", "chunk": "index", "location": "index.html" }, 45 | { "name": "Index Page", "chunk": "preview", "location": "preview.html" }, 46 | { 47 | "name": "Home Page", 48 | "chunk": "multi-page~home", 49 | "location": "multi-page/home.html" 50 | }, 51 | { 52 | "name": "Subpage", 53 | "chunk": "multi-page~subpage", 54 | "location": "multi-page/subpage.html" 55 | } 56 | ] 57 | } 58 | ``` 59 | 60 | * 将页面目录文件树生成到`logs/tree.json` 61 | 62 | ``` 63 | { 64 | "path": "#", 65 | "name": "views", 66 | "children": [ 67 | { 68 | "path": "index.html", 69 | "name": "Index Page", 70 | "children": [], 71 | "size": 135, 72 | "type": "file", 73 | "extension": ".js", 74 | "merged": true 75 | }, 76 | { 77 | "path": "#", 78 | "name": "Multi Page", 79 | "children": [ 80 | { 81 | "path": "multi-page/home.html", 82 | "name": "Home Page", 83 | "children": [], 84 | "size": 135, 85 | "type": "file", 86 | "extension": ".js", 87 | "merged": true 88 | }, 89 | { 90 | "path": "multi-page/subpage.html", 91 | "name": "Subpage", 92 | "children": [], 93 | "size": 135, 94 | "type": "file", 95 | "extension": ".js", 96 | "merged": true 97 | } 98 | ], 99 | "size": 270, 100 | "type": "directory" 101 | }, 102 | { 103 | "path": "preview.html", 104 | "name": "Index Page", 105 | "children": [], 106 | "size": 135, 107 | "type": "file", 108 | "extension": ".js", 109 | "merged": true 110 | } 111 | ], 112 | "size": 540, 113 | "type": "directory" 114 | } 115 | 116 | ``` 117 | 118 | ## 🔨 应用 119 | 120 | :warning: Make sure you have vue-cli 3.x.x: 121 | 122 | ``` 123 | vue --version 124 | ``` 125 | 126 | If you don't have a project created with vue-cli 3.x yet: 127 | 128 | ``` 129 | vue create my-new-app 130 | ``` 131 | 132 | Navigate to the newly created project folder and add the cli plugin: 133 | 134 | ``` 135 | cd my-new-app 136 | vue add pages 137 | ``` 138 | 139 | Start your app: 140 | 141 | ``` 142 | npm run serve 143 | ``` 144 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | English | [简体中文](./README-zh_CN.md) 2 | 3 | # vue-cli-plugin-pages 4 | 5 | This is a vue-cli 3.x plugin to build multi-page application. 6 | 7 | ## 🔗 Table of contents 8 | 9 | * [Features](#-features) 10 | * [Usage](#-usage) 11 | 12 | 13 | ## ✨ Features 14 | 15 | * Generate multi-page [pages](https://cli.vuejs.org/config/#pages) config.(Get the entries and filenames through `src/views/**/app.js`) 16 | ``` 17 | { 18 | "index": { 19 | "entry": "src/views/index/app.js", 20 | "filename": "index.html", 21 | "template": "public/index.html" 22 | }, 23 | "preview": { 24 | "entry": "src/views/preview/app.js", 25 | "filename": "preview.html", 26 | "template": "public/index.html" 27 | }, 28 | "multi-page~home": { 29 | "entry": "src/views/multi-page/home/app.js", 30 | "filename": "multi-page/home.html", 31 | "template": "public/index.html" 32 | }, 33 | "multi-page~subpage": { 34 | "entry": "src/views/multi-page/subpage/app.js", 35 | "filename": "multi-page/subpage.html", 36 | "template": "public/index.html" 37 | } 38 | } 39 | ``` 40 | 41 | * Generate multi-page location to `logs/location.json`. 42 | ``` 43 | { 44 | "route": [ 45 | { "name": "Index Page", "chunk": "index", "location": "index.html" }, 46 | { "name": "Index Page", "chunk": "preview", "location": "preview.html" }, 47 | { 48 | "name": "Home Page", 49 | "chunk": "multi-page~home", 50 | "location": "multi-page/home.html" 51 | }, 52 | { 53 | "name": "Subpage", 54 | "chunk": "multi-page~subpage", 55 | "location": "multi-page/subpage.html" 56 | } 57 | ] 58 | } 59 | ``` 60 | 61 | * Generate multi-page directory tree to `logs/tree.json`. 62 | 63 | ``` 64 | { 65 | "path": "#", 66 | "name": "views", 67 | "children": [ 68 | { 69 | "path": "index.html", 70 | "name": "Index Page", 71 | "children": [], 72 | "size": 135, 73 | "type": "file", 74 | "extension": ".js", 75 | "merged": true 76 | }, 77 | { 78 | "path": "#", 79 | "name": "Multi Page", 80 | "children": [ 81 | { 82 | "path": "multi-page/home.html", 83 | "name": "Home Page", 84 | "children": [], 85 | "size": 135, 86 | "type": "file", 87 | "extension": ".js", 88 | "merged": true 89 | }, 90 | { 91 | "path": "multi-page/subpage.html", 92 | "name": "Subpage", 93 | "children": [], 94 | "size": 135, 95 | "type": "file", 96 | "extension": ".js", 97 | "merged": true 98 | } 99 | ], 100 | "size": 270, 101 | "type": "directory" 102 | }, 103 | { 104 | "path": "preview.html", 105 | "name": "Index Page", 106 | "children": [], 107 | "size": 135, 108 | "type": "file", 109 | "extension": ".js", 110 | "merged": true 111 | } 112 | ], 113 | "size": 540, 114 | "type": "directory" 115 | } 116 | 117 | ``` 118 | 119 | ## 🔨 Usage 120 | 121 | :warning: Make sure you have vue-cli 3.x.x: 122 | 123 | ``` 124 | vue --version 125 | ``` 126 | 127 | If you don't have a project created with vue-cli 3.x yet: 128 | 129 | ``` 130 | vue create my-new-app 131 | ``` 132 | 133 | Navigate to the newly created project folder and add the cli plugin: 134 | 135 | ``` 136 | cd my-new-app 137 | vue add pages 138 | ``` 139 | 140 | Start your app: 141 | 142 | ``` 143 | npm run serve 144 | ``` 145 | -------------------------------------------------------------------------------- /example/src/components/HelloWorld.vue: -------------------------------------------------------------------------------- 1 | 2 | 3 | {{ msg }} 4 | 5 | For guide and recipes on how to configure / customize this project, check out the 6 | vue-cli documentation. 10 | 11 | Where You Are 12 | 13 | 14 | {{ pathname }} 15 | 16 | 17 | 18 | 19 | 20 | 31 | 32 | 33 | 49 | -------------------------------------------------------------------------------- /example/src/views/index/App.vue: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | 7 | 8 | 9 | 10 | 20 | 21 | 31 | -------------------------------------------------------------------------------- /example/src/views/index/app.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue' 2 | import App from './App.vue' 3 | 4 | Vue.config.productionTip = false 5 | 6 | new Vue({ 7 | render: h => h(App) 8 | }).$mount('#app') 9 | -------------------------------------------------------------------------------- /example/src/views/index/file.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Index Page" 3 | } 4 | -------------------------------------------------------------------------------- /example/src/views/multi-page/file.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Multi Page" 3 | } 4 | -------------------------------------------------------------------------------- /example/src/views/multi-page/home/App.vue: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | 7 | 8 | 9 | 10 | 20 | 21 | 31 | -------------------------------------------------------------------------------- /example/src/views/multi-page/home/app.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue' 2 | import App from './App.vue' 3 | 4 | Vue.config.productionTip = false 5 | 6 | new Vue({ 7 | render: h => h(App) 8 | }).$mount('#app') 9 | -------------------------------------------------------------------------------- /example/src/views/multi-page/home/file.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Home Page" 3 | } 4 | -------------------------------------------------------------------------------- /example/src/views/multi-page/subpage/App.vue: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | 7 | 8 | 9 | 10 | 20 | 21 | 31 | -------------------------------------------------------------------------------- /example/src/views/multi-page/subpage/app.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue' 2 | import App from './App.vue' 3 | 4 | Vue.config.productionTip = false 5 | 6 | new Vue({ 7 | render: h => h(App) 8 | }).$mount('#app') 9 | -------------------------------------------------------------------------------- /example/src/views/multi-page/subpage/file.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Subpage" 3 | } 4 | -------------------------------------------------------------------------------- /generator.js: -------------------------------------------------------------------------------- 1 | const fs = require('fs') 2 | const path = require('path') 3 | 4 | module.exports = (api, opts) => { 5 | api.render('./template') 6 | if (opts.generate === 'whole') { 7 | api.render('./example') 8 | } 9 | const configPath = 10 | process.env.VUE_CLI_SERVICE_CONFIG_PATH || api.resolve('vue.config.js') 11 | 12 | if (!fs.existsSync(configPath)) { 13 | try { 14 | let template = fs.readFileSync(path.join(__dirname, './vue.config.js')) 15 | fs.writeFile(configPath, template, function (err) { 16 | if (err) { 17 | return console.log(err) 18 | } 19 | }) 20 | } catch (e) { 21 | throw e 22 | } 23 | } else { 24 | // api.injectImports(configPath, `const logger = require('vue-cli-plugin-pages/logger')`) 25 | console.log(`You can easy to get pages opition:`) 26 | console.log(`const logger = require('vue-cli-plugin-pages/logger')`) 27 | console.log(`const pages = logger.start()`) 28 | } 29 | 30 | api.onCreateComplete(() => { 31 | // Linting the generated files 32 | if (api.hasPlugin('eslint')) { 33 | // Lint generated/modified files 34 | try { 35 | const lint = require('@vue/cli-plugin-eslint/lint') 36 | lint({ 37 | silent: true 38 | }, api) 39 | } catch (e) { 40 | // No ESLint vue-cli plugin 41 | } 42 | } 43 | }) 44 | } 45 | -------------------------------------------------------------------------------- /index.js: -------------------------------------------------------------------------------- 1 | const logger = require('./logger') 2 | const pages = logger.start() 3 | 4 | module.exports = api => { 5 | if (!api.service.projectOptions.pages) { 6 | api.service.projectOptions.pages = pages 7 | } 8 | api.chainWebpack(webpackConfig => { 9 | webpackConfig.resolve.modules.add(api.resolve('src')) 10 | webpackConfig.resolve.alias.set('@logs', api.resolve('logs')) 11 | }) 12 | } 13 | -------------------------------------------------------------------------------- /logger/dirTree.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | const FS = require('fs') 4 | const PATH = require('path') 5 | const constants = { 6 | DIRECTORY: 'directory', 7 | FILE: 'file' 8 | } 9 | 10 | function safeReadDirSync (path) { 11 | let dirData = {} 12 | try { 13 | dirData = FS.readdirSync(path) 14 | } catch (ex) { 15 | if (ex.code === 'EACCES') { 16 | return null 17 | } else throw ex 18 | } 19 | return dirData 20 | } 21 | 22 | /** 23 | * Normalizes windows style paths by replacing double backslahes with single forward slahes (unix style). 24 | * @param {string} path 25 | * @return {string} 26 | */ 27 | function normalizePath (path) { 28 | return path.replace(/\\/g, '/') 29 | } 30 | 31 | /** 32 | * Tests if the supplied parameter is of type RegExp 33 | * @param {any} regExp 34 | * @return {Boolean} 35 | */ 36 | function isRegExp (regExp) { 37 | return typeof regExp === 'object' && regExp.constructor === RegExp 38 | } 39 | 40 | function directoryTree (path, options, onEachFile) { 41 | const name = PATH.basename(path) 42 | path = options && options.normalizePath ? normalizePath(path) : path 43 | const item = { 44 | path, 45 | name 46 | } 47 | let stats 48 | 49 | try { 50 | stats = FS.statSync(path) 51 | } catch (e) { 52 | return null 53 | } 54 | 55 | // Skip if it matches the exclude regex 56 | if (options && options.exclude) { 57 | const excludes = isRegExp(options.exclude) ? [options.exclude] 58 | : options.exclude 59 | if (excludes.some(exclusion => exclusion.test(path))) { 60 | return null 61 | } 62 | } 63 | 64 | if (stats.isFile()) { 65 | const ext = PATH.extname(path).toLowerCase() 66 | // Skip if it does not match the extension regex 67 | if (options && options.extensions && !options.extensions.test(ext)) { 68 | return null 69 | } 70 | // Skip if it does not match the basename regex 71 | const basename = PATH.basename(path) 72 | if (options && options.basename && !options.basename.test(basename)) { 73 | return null 74 | } 75 | item.size = stats.size // File size in bytes 76 | item.extension = ext 77 | item.type = constants.FILE 78 | // Handling pages root 79 | if (onEachFile && !item.merged) { 80 | onEachFile(item, PATH) 81 | } 82 | } else if (stats.isDirectory()) { 83 | const dirData = safeReadDirSync(path) 84 | if (dirData === null) return null 85 | 86 | item.children = dirData 87 | .map(child => directoryTree(PATH.join(path, child), options, onEachFile)) 88 | .filter(e => !!e) 89 | item.size = item.children.reduce((prev, cur) => prev + cur.size, 0) 90 | item.type = constants.DIRECTORY 91 | // Handling pages 92 | if (item.children.length === 0) return null 93 | if ( 94 | item.children.length === 1 && 95 | item.children[0].type === 'file' && 96 | !item.children[0].merged 97 | ) { 98 | Object.assign(item, item.children[0]) 99 | delete item.children 100 | item.merged = true 101 | } 102 | if (onEachFile && !item.merged) { 103 | onEachFile(item, PATH) 104 | } 105 | } else { 106 | return null // Or set item.size = 0 for devices, FIFO and sockets ? 107 | } 108 | return item 109 | } 110 | 111 | module.exports = directoryTree 112 | -------------------------------------------------------------------------------- /logger/index.js: -------------------------------------------------------------------------------- 1 | const globby = require('globby') 2 | const prettier = require('prettier') 3 | const makeDir = require('make-dir') 4 | const PATH = require('path') 5 | const del = require('del') 6 | const FS = require('fs') 7 | const dirTree = require('./dirTree.js') 8 | 9 | const mergeFileConfig = (item, dirpath) => { 10 | const configFile = PATH.join(dirpath, 'file.json') 11 | if (FS.existsSync(configFile)) { 12 | try { 13 | const infoJson = JSON.parse(FS.readFileSync(configFile).toString()) 14 | if (infoJson) { 15 | Object.assign(item, infoJson) 16 | } 17 | } catch (err) { 18 | console.log(err) 19 | } 20 | } 21 | } 22 | 23 | const getTemplatePath = (dirpath) => { 24 | const customTemplatePath = PATH.join(dirpath, 'index.ejs') 25 | const templatePath = PATH.join(dirpath, 'index.html') 26 | if (FS.existsSync(customTemplatePath)) { 27 | return customTemplatePath 28 | } else if (FS.existsSync(templatePath)) { 29 | return templatePath 30 | } else { 31 | return 'public/index.html' 32 | } 33 | } 34 | 35 | const relative = (from, to) => { 36 | return PATH.relative(from, to).replace(/\\/g, '/') 37 | } 38 | 39 | module.exports = { 40 | start () { 41 | const viewRoot = 'src/views' 42 | const paths = globby.sync([`${viewRoot}/**/app.js`]) 43 | const chunks = paths.map(path => { 44 | return PATH.dirname(PATH.relative(viewRoot, path)) 45 | .split(PATH.sep) 46 | .join('~') 47 | }) 48 | makeDir.sync('logs') 49 | del.sync('logs/*.json') 50 | // generate html-webpack-plugin options 51 | const htmlFile = 'logs/pages.json' 52 | let htmlConfig = {} 53 | paths.forEach((path, index) => { 54 | const chunk = chunks[index] 55 | const dirpath = PATH.dirname(path) 56 | const htmlTpl = getTemplatePath(dirpath) 57 | htmlConfig[chunk] = { 58 | entry: path, 59 | filename: relative(viewRoot, dirpath) + '.html', 60 | // template: 'public/index.html' 61 | template: htmlTpl, 62 | inject: htmlTpl.endsWith('.html') 63 | } 64 | }) 65 | 66 | htmlConfig = JSON.stringify(htmlConfig) !== '{}' ? htmlConfig : null 67 | if (htmlConfig) { 68 | const htmlConfigStr = prettier.format(JSON.stringify(htmlConfig), { 69 | parser: 'json' 70 | }) 71 | FS.writeFile(htmlFile, htmlConfigStr, function (err) { 72 | if (err) { 73 | return console.log(err) 74 | } 75 | }) 76 | } 77 | this.log(viewRoot, paths, chunks) 78 | return htmlConfig 79 | }, 80 | 81 | log (viewRoot, paths, chunks) { 82 | // generate view route 83 | const routeFile = 'logs/location.json' 84 | const routesPath = paths.map((path, index) => { 85 | const dirpath = PATH.dirname(path) 86 | const item = { 87 | name: chunks[index], 88 | chunk: chunks[index], 89 | location: relative(viewRoot, dirpath) + '.html' 90 | } 91 | mergeFileConfig(item, dirpath) 92 | return item 93 | }) 94 | if (routeFile) { 95 | const routesPathStr = prettier.format(JSON.stringify({ 96 | route: routesPath 97 | }), { 98 | parser: 'json' 99 | }) 100 | FS.writeFile(routeFile, routesPathStr, function (err) { 101 | if (err) { 102 | return console.log(err) 103 | } 104 | }) 105 | } 106 | // generate view Tree 107 | const logsTree = dirTree( 108 | viewRoot, { 109 | basename: /^app.js$/, 110 | normalizePath: true 111 | }, 112 | (item, PATH) => { 113 | const path = item.path 114 | const dirpath = PATH.dirname(path) 115 | if (item.type === 'file') { 116 | item.path = relative(viewRoot, dirpath) + '.html' 117 | mergeFileConfig(item, dirpath) 118 | } else if (item.type === 'directory') { 119 | mergeFileConfig(item, path) 120 | item.path = '#' 121 | } 122 | } 123 | ) 124 | const treeFile = 'logs/tree.json' 125 | if (logsTree) { 126 | const logsTreeStr = prettier.format(JSON.stringify(logsTree), { 127 | parser: 'json' 128 | }) 129 | FS.writeFile(treeFile, logsTreeStr, function (err) { 130 | if (err) { 131 | return console.log(err) 132 | } 133 | }) 134 | } 135 | } 136 | } 137 | -------------------------------------------------------------------------------- /logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aircity/vue-cli-plugin-pages/0ec85cbef657d3efd6139c786058957179bce980/logo.png -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "vue-cli-plugin-pages", 3 | "version": "1.1.6", 4 | "main": "index.js", 5 | "license": "MIT", 6 | "author": "aircity ", 7 | "scripts": { 8 | "test": "node index.js" 9 | }, 10 | "dependencies": { 11 | "globby": "^10.0.1", 12 | "make-dir": "^3.0.0", 13 | "prettier": "^1.18.2" 14 | }, 15 | "devDependencies": { 16 | "eslint": "^6.4.0", 17 | "eslint-config-standard": "^14.1.0", 18 | "eslint-plugin-import": "^2.18.2", 19 | "eslint-plugin-node": "^10.0.0", 20 | "eslint-plugin-promise": "^4.2.1", 21 | "eslint-plugin-standard": "^4.0.1", 22 | "eslint-plugin-vue": "^5.2.3" 23 | }, 24 | "repository": { 25 | "type": "git", 26 | "url": "git+https://github.com/Aircity/vue-cli-plugin-pages.git" 27 | }, 28 | "homepage": "https://github.com/Aircity/vue-cli-plugin-pages#readme", 29 | "description": "vue-cli 3 plugin to build multi-page application", 30 | "keywords": [ 31 | "vue", 32 | "vue-cli", 33 | "multi-page", 34 | "multipage", 35 | "multiple" 36 | ] 37 | } -------------------------------------------------------------------------------- /prompts.js: -------------------------------------------------------------------------------- 1 | module.exports = [{ 2 | name: 'generate', 3 | type: 'list', 4 | message: 'What do you want to generate?', 5 | choices: [ 6 | { 7 | name: 'Initial framework and generate examples', 8 | value: 'whole' 9 | }, 10 | { 11 | name: 'Initial framework only', 12 | value: 'init' 13 | } 14 | ], 15 | default: 'init' 16 | }] 17 | -------------------------------------------------------------------------------- /template/src/views/preview/App.vue: -------------------------------------------------------------------------------- 1 | 2 | 3 | 27 | 28 | 31 | 37 | 38 | 39 | 40 | 41 | 42 | 70 | 71 | 148 | -------------------------------------------------------------------------------- /template/src/views/preview/app.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue' 2 | import App from './App.vue' 3 | 4 | Vue.config.productionTip = false 5 | 6 | new Vue({ 7 | render: h => h(App) 8 | }).$mount('#app') 9 | -------------------------------------------------------------------------------- /template/src/views/preview/file.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Index Page" 3 | } 4 | -------------------------------------------------------------------------------- /template/src/views/preview/mdc.drawer.css: -------------------------------------------------------------------------------- 1 | /*! 2 | Material Components for the Web 3 | Copyright (c) 2018 Google Inc. 4 | License: MIT 5 | */ 6 | .mdc-drawer { 7 | border-color: rgba(0, 0, 0, 0.12); 8 | background-color: #fff; 9 | display: flex; 10 | flex-direction: column; 11 | flex-shrink: 0; 12 | box-sizing: border-box; 13 | width: 256px; 14 | max-width: 256px; 15 | height: 100%; 16 | transition-property: -webkit-transform; 17 | transition-property: transform; 18 | transition-property: transform, -webkit-transform; 19 | transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); 20 | border-right-width: 1px; 21 | border-right-style: solid; 22 | overflow: hidden; 23 | z-index: 6; } 24 | .mdc-drawer .mdc-drawer__title { 25 | color: rgba(0, 0, 0, 0.87); } 26 | .mdc-drawer .mdc-list-group__subheader { 27 | color: rgba(0, 0, 0, 0.6); } 28 | .mdc-drawer .mdc-drawer__subtitle { 29 | color: rgba(0, 0, 0, 0.6); } 30 | .mdc-drawer .mdc-list-item__graphic { 31 | color: rgba(0, 0, 0, 0.6); } 32 | .mdc-drawer .mdc-list-item { 33 | color: rgba(0, 0, 0, 0.87); } 34 | .mdc-drawer .mdc-list-item--activated .mdc-list-item__graphic { 35 | color: #6200ee; } 36 | .mdc-drawer .mdc-list-item--activated { 37 | color: rgba(98, 0, 238, 0.87); } 38 | .mdc-drawer .mdc-list-item { 39 | border-radius: 4px; } 40 | [dir="rtl"] .mdc-drawer, .mdc-drawer[dir="rtl"] { 41 | border-right-width: 0; 42 | border-left-width: 1px; 43 | border-right-style: none; 44 | border-left-style: solid; } 45 | .mdc-drawer .mdc-list-item { 46 | font-family: Roboto, sans-serif; 47 | -moz-osx-font-smoothing: grayscale; 48 | -webkit-font-smoothing: antialiased; 49 | font-size: 0.875rem; 50 | line-height: 1.375rem; 51 | font-weight: 500; 52 | letter-spacing: 0.00714em; 53 | text-decoration: inherit; 54 | text-transform: inherit; 55 | height: calc(48px - 2 * 4px); 56 | margin: 8px 8px; 57 | padding: 0 8px; } 58 | .mdc-drawer .mdc-list-item:nth-child(1) { 59 | margin-top: 2px; } 60 | .mdc-drawer .mdc-list-item:nth-last-child(1) { 61 | margin-bottom: 0; } 62 | .mdc-drawer .mdc-list-group__subheader { 63 | font-family: Roboto, sans-serif; 64 | -moz-osx-font-smoothing: grayscale; 65 | -webkit-font-smoothing: antialiased; 66 | font-size: 0.875rem; 67 | line-height: 1.25rem; 68 | font-weight: 400; 69 | letter-spacing: 0.01786em; 70 | text-decoration: inherit; 71 | text-transform: inherit; 72 | display: block; 73 | margin-top: 0; 74 | line-height: normal; 75 | margin: 0; 76 | padding: 0 16px; } 77 | .mdc-drawer .mdc-list-group__subheader::before { 78 | display: inline-block; 79 | width: 0; 80 | height: 24px; 81 | content: ""; 82 | vertical-align: 0; } 83 | .mdc-drawer .mdc-list-divider { 84 | margin: 3px 0 4px 0; } 85 | .mdc-drawer .mdc-list-item__text, 86 | .mdc-drawer .mdc-list-item__graphic { 87 | pointer-events: none; } 88 | 89 | .mdc-drawer--open { 90 | transition: -webkit-transform 250ms 0ms cubic-bezier(0.4, 0, 0.2, 1); 91 | transition: transform 250ms 0ms cubic-bezier(0.4, 0, 0.2, 1); 92 | transition: transform 250ms 0ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 250ms 0ms cubic-bezier(0.4, 0, 0.2, 1); } 93 | 94 | .mdc-drawer--animate { 95 | -webkit-transform: translateX(-100%); 96 | transform: translateX(-100%); } 97 | [dir="rtl"] .mdc-drawer--animate, .mdc-drawer--animate[dir="rtl"] { 98 | -webkit-transform: translateX(100%); 99 | transform: translateX(100%); } 100 | 101 | .mdc-drawer--opening { 102 | -webkit-transform: translateX(0); 103 | transform: translateX(0); 104 | transition-duration: 250ms; } 105 | [dir="rtl"] .mdc-drawer--opening, .mdc-drawer--opening[dir="rtl"] { 106 | -webkit-transform: translateX(0); 107 | transform: translateX(0); } 108 | 109 | .mdc-drawer--closing { 110 | -webkit-transform: translateX(-100%); 111 | transform: translateX(-100%); 112 | transition-duration: 200ms; } 113 | [dir="rtl"] .mdc-drawer--closing, .mdc-drawer--closing[dir="rtl"] { 114 | -webkit-transform: translateX(100%); 115 | transform: translateX(100%); } 116 | 117 | .mdc-drawer__header { 118 | flex-shrink: 0; 119 | box-sizing: border-box; 120 | min-height: 64px; 121 | padding: 0 16px 4px; } 122 | 123 | .mdc-drawer__title { 124 | font-family: Roboto, sans-serif; 125 | -moz-osx-font-smoothing: grayscale; 126 | -webkit-font-smoothing: antialiased; 127 | font-size: 1.25rem; 128 | line-height: 2rem; 129 | font-weight: 500; 130 | letter-spacing: 0.0125em; 131 | text-decoration: inherit; 132 | text-transform: inherit; 133 | display: block; 134 | margin-top: 0; 135 | line-height: normal; 136 | margin-bottom: -20px; } 137 | .mdc-drawer__title::before { 138 | display: inline-block; 139 | width: 0; 140 | height: 36px; 141 | content: ""; 142 | vertical-align: 0; } 143 | .mdc-drawer__title::after { 144 | display: inline-block; 145 | width: 0; 146 | height: 20px; 147 | content: ""; 148 | vertical-align: -20px; } 149 | 150 | .mdc-drawer__subtitle { 151 | font-family: Roboto, sans-serif; 152 | -moz-osx-font-smoothing: grayscale; 153 | -webkit-font-smoothing: antialiased; 154 | font-size: 0.875rem; 155 | line-height: 1.25rem; 156 | font-weight: 400; 157 | letter-spacing: 0.01786em; 158 | text-decoration: inherit; 159 | text-transform: inherit; 160 | display: block; 161 | margin-top: 0; 162 | line-height: normal; 163 | margin-bottom: 0; } 164 | .mdc-drawer__subtitle::before { 165 | display: inline-block; 166 | width: 0; 167 | height: 20px; 168 | content: ""; 169 | vertical-align: 0; } 170 | 171 | .mdc-drawer__content { 172 | height: 100%; 173 | overflow-y: auto; } 174 | 175 | .mdc-drawer--dismissible { 176 | /* @noflip */ 177 | left: 0; 178 | /* @noflip */ 179 | right: initial; 180 | display: none; 181 | position: absolute; 182 | top: 0; } 183 | [dir="rtl"] .mdc-drawer--dismissible, .mdc-drawer--dismissible[dir="rtl"] { 184 | /* @noflip */ 185 | left: initial; 186 | /* @noflip */ 187 | right: 0; } 188 | .mdc-drawer--dismissible.mdc-drawer--open { 189 | display: flex; } 190 | 191 | .mdc-drawer-app-content { 192 | /* @noflip */ 193 | margin-left: 0; 194 | /* @noflip */ 195 | margin-right: 0; 196 | position: relative; } 197 | [dir="rtl"] .mdc-drawer-app-content, .mdc-drawer-app-content[dir="rtl"] { 198 | /* @noflip */ 199 | margin-left: 0; 200 | /* @noflip */ 201 | margin-right: 0; } 202 | .mdc-drawer--open + .mdc-drawer-app-content { 203 | /* @noflip */ 204 | margin-left: 256px; 205 | /* @noflip */ 206 | margin-right: 0; } 207 | [dir="rtl"] .mdc-drawer--open + .mdc-drawer-app-content, .mdc-drawer--open + .mdc-drawer-app-content[dir="rtl"] { 208 | /* @noflip */ 209 | margin-left: 0; 210 | /* @noflip */ 211 | margin-right: 256px; } 212 | .mdc-drawer--closing + .mdc-drawer-app-content { 213 | /* @noflip */ 214 | margin-left: 0; 215 | /* @noflip */ 216 | margin-right: 0; } 217 | [dir="rtl"] .mdc-drawer--closing + .mdc-drawer-app-content, .mdc-drawer--closing + .mdc-drawer-app-content[dir="rtl"] { 218 | /* @noflip */ 219 | margin-left: 0; 220 | /* @noflip */ 221 | margin-right: 0; } 222 | 223 | .mdc-drawer--modal { 224 | box-shadow: 0px 8px 10px -5px rgba(0, 0, 0, 0.2), 0px 16px 24px 2px rgba(0, 0, 0, 0.14), 0px 6px 30px 5px rgba(0, 0, 0, 0.12); 225 | /* @noflip */ 226 | left: 0; 227 | /* @noflip */ 228 | right: initial; 229 | display: none; 230 | position: fixed; } 231 | .mdc-drawer--modal + .mdc-drawer-scrim { 232 | background-color: rgba(0, 0, 0, 0.32); } 233 | [dir="rtl"] .mdc-drawer--modal, .mdc-drawer--modal[dir="rtl"] { 234 | /* @noflip */ 235 | left: initial; 236 | /* @noflip */ 237 | right: 0; } 238 | .mdc-drawer--modal.mdc-drawer--open { 239 | display: flex; } 240 | 241 | .mdc-drawer-scrim { 242 | display: none; 243 | position: fixed; 244 | top: 0; 245 | left: 0; 246 | width: 100%; 247 | height: 100%; 248 | transition-property: opacity; 249 | transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); 250 | z-index: 5; } 251 | .mdc-drawer--open + .mdc-drawer-scrim { 252 | display: block; } 253 | .mdc-drawer--animate + .mdc-drawer-scrim { 254 | opacity: 0; } 255 | .mdc-drawer--opening + .mdc-drawer-scrim { 256 | transition-duration: 250ms; 257 | opacity: 1; } 258 | .mdc-drawer--closing + .mdc-drawer-scrim { 259 | transition-duration: 200ms; 260 | opacity: 0; } 261 | 262 | /*# sourceMappingURL=mdc.drawer.css.map*/ 263 | -------------------------------------------------------------------------------- /template/src/views/preview/tree-item.vue: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 13 | 14 | 15 | {{ item.name }} 16 | 17 | 22 | 28 | 29 | 30 | 31 | {{ item.name }} 32 | 33 | 34 | 37 | 42 | 43 | 44 | 45 | 46 | 64 | 65 | 253 | -------------------------------------------------------------------------------- /vue.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | devServer: { 3 | open: true, 4 | index: 'preview.html' 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@babel/code-frame@^7.0.0": 6 | version "7.5.5" 7 | resolved "https://registry.npm.taobao.org/@babel/code-frame/download/@babel/code-frame-7.5.5.tgz#bc0782f6d69f7b7d49531219699b988f669a8f9d" 8 | integrity sha1-vAeC9tafe31JUxIZaZuYj2aaj50= 9 | dependencies: 10 | "@babel/highlight" "^7.0.0" 11 | 12 | "@babel/highlight@^7.0.0": 13 | version "7.5.0" 14 | resolved "https://registry.npm.taobao.org/@babel/highlight/download/@babel/highlight-7.5.0.tgz#56d11312bd9248fa619591d02472be6e8cb32540" 15 | integrity sha1-VtETEr2SSPphlZHQJHK+boyzJUA= 16 | dependencies: 17 | chalk "^2.0.0" 18 | esutils "^2.0.2" 19 | js-tokens "^4.0.0" 20 | 21 | "@nodelib/fs.scandir@2.1.2": 22 | version "2.1.2" 23 | resolved "https://registry.npm.taobao.org/@nodelib/fs.scandir/download/@nodelib/fs.scandir-2.1.2.tgz#1f981cd5b83e85cfdeb386fc693d4baab392fa54" 24 | integrity sha1-H5gc1bg+hc/es4b8aT1LqrOS+lQ= 25 | dependencies: 26 | "@nodelib/fs.stat" "2.0.2" 27 | run-parallel "^1.1.9" 28 | 29 | "@nodelib/fs.stat@2.0.2", "@nodelib/fs.stat@^2.0.1": 30 | version "2.0.2" 31 | resolved "https://registry.npm.taobao.org/@nodelib/fs.stat/download/@nodelib/fs.stat-2.0.2.tgz#2762aea8fe78ea256860182dcb52d61ee4b8fda6" 32 | integrity sha1-J2KuqP546iVoYBgty1LWHuS4/aY= 33 | 34 | "@nodelib/fs.walk@^1.2.1": 35 | version "1.2.3" 36 | resolved "https://registry.npm.taobao.org/@nodelib/fs.walk/download/@nodelib/fs.walk-1.2.3.tgz#a555dc256acaf00c62b0db29529028dd4d4cb141" 37 | integrity sha1-pVXcJWrK8AxisNspUpAo3U1MsUE= 38 | dependencies: 39 | "@nodelib/fs.scandir" "2.1.2" 40 | fastq "^1.6.0" 41 | 42 | "@types/events@*": 43 | version "3.0.0" 44 | resolved "https://registry.npm.taobao.org/@types/events/download/@types/events-3.0.0.tgz?cache=0&sync_timestamp=1567532284800&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fevents%2Fdownload%2F%40types%2Fevents-3.0.0.tgz#2862f3f58a9a7f7c3e78d79f130dd4d71c25c2a7" 45 | integrity sha1-KGLz9Yqaf3w+eNefEw3U1xwlwqc= 46 | 47 | "@types/glob@^7.1.1": 48 | version "7.1.1" 49 | resolved "https://registry.npm.taobao.org/@types/glob/download/@types/glob-7.1.1.tgz?cache=0&sync_timestamp=1567532885668&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fglob%2Fdownload%2F%40types%2Fglob-7.1.1.tgz#aa59a1c6e3fbc421e07ccd31a944c30eba521575" 50 | integrity sha1-qlmhxuP7xCHgfM0xqUTDDrpSFXU= 51 | dependencies: 52 | "@types/events" "*" 53 | "@types/minimatch" "*" 54 | "@types/node" "*" 55 | 56 | "@types/minimatch@*": 57 | version "3.0.3" 58 | resolved "https://registry.npm.taobao.org/@types/minimatch/download/@types/minimatch-3.0.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fminimatch%2Fdownload%2F%40types%2Fminimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d" 59 | integrity sha1-PcoOPzOyAPx9ETnAzZbBJoyt/Z0= 60 | 61 | "@types/node@*": 62 | version "12.7.5" 63 | resolved "https://registry.npm.taobao.org/@types/node/download/@types/node-12.7.5.tgz?cache=0&sync_timestamp=1568180598397&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fnode%2Fdownload%2F%40types%2Fnode-12.7.5.tgz#e19436e7f8e9b4601005d73673b6dc4784ffcc2f" 64 | integrity sha1-4ZQ25/jptGAQBdc2c7bcR4T/zC8= 65 | 66 | acorn-jsx@^5.0.0, acorn-jsx@^5.0.2: 67 | version "5.0.2" 68 | resolved "https://registry.npm.taobao.org/acorn-jsx/download/acorn-jsx-5.0.2.tgz#84b68ea44b373c4f8686023a551f61a21b7c4a4f" 69 | integrity sha1-hLaOpEs3PE+GhgI6VR9hoht8Sk8= 70 | 71 | acorn@^6.0.2: 72 | version "6.4.2" 73 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.2.tgz#35866fd710528e92de10cf06016498e47e39e1e6" 74 | integrity sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ== 75 | 76 | acorn@^7.0.0: 77 | version "7.0.0" 78 | resolved "https://registry.npm.taobao.org/acorn/download/acorn-7.0.0.tgz#26b8d1cd9a9b700350b71c0905546f64d1284e7a" 79 | integrity sha1-JrjRzZqbcANQtxwJBVRvZNEoTno= 80 | 81 | ajv@^6.10.0, ajv@^6.10.2: 82 | version "6.10.2" 83 | resolved "https://registry.npm.taobao.org/ajv/download/ajv-6.10.2.tgz#d3cea04d6b017b2894ad69040fec8b623eb4bd52" 84 | integrity sha1-086gTWsBeyiUrWkED+yLYj60vVI= 85 | dependencies: 86 | fast-deep-equal "^2.0.1" 87 | fast-json-stable-stringify "^2.0.0" 88 | json-schema-traverse "^0.4.1" 89 | uri-js "^4.2.2" 90 | 91 | ansi-escapes@^3.2.0: 92 | version "3.2.0" 93 | resolved "https://registry.npm.taobao.org/ansi-escapes/download/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b" 94 | integrity sha1-h4C5j/nb9WOBUtHx/lwde0RCl2s= 95 | 96 | ansi-regex@^3.0.0: 97 | version "3.0.0" 98 | resolved "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" 99 | integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= 100 | 101 | ansi-regex@^4.1.0: 102 | version "4.1.0" 103 | resolved "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" 104 | integrity sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc= 105 | 106 | ansi-styles@^3.2.0, ansi-styles@^3.2.1: 107 | version "3.2.1" 108 | resolved "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz?cache=0&sync_timestamp=1566430562325&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" 109 | integrity sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0= 110 | dependencies: 111 | color-convert "^1.9.0" 112 | 113 | argparse@^1.0.7: 114 | version "1.0.10" 115 | resolved "https://registry.npm.taobao.org/argparse/download/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" 116 | integrity sha1-vNZ5HqWuCXJeF+WtmIE0zUCz2RE= 117 | dependencies: 118 | sprintf-js "~1.0.2" 119 | 120 | array-includes@^3.0.3: 121 | version "3.0.3" 122 | resolved "https://registry.npm.taobao.org/array-includes/download/array-includes-3.0.3.tgz#184b48f62d92d7452bb31b323165c7f8bd02266d" 123 | integrity sha1-GEtI9i2S10UrsxsyMWXH+L0CJm0= 124 | dependencies: 125 | define-properties "^1.1.2" 126 | es-abstract "^1.7.0" 127 | 128 | array-union@^2.1.0: 129 | version "2.1.0" 130 | resolved "https://registry.npm.taobao.org/array-union/download/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" 131 | integrity sha1-t5hCCtvrHego2ErNii4j0+/oXo0= 132 | 133 | astral-regex@^1.0.0: 134 | version "1.0.0" 135 | resolved "https://registry.npm.taobao.org/astral-regex/download/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9" 136 | integrity sha1-bIw/uCfdQ+45GPJ7gngqt2WKb9k= 137 | 138 | balanced-match@^1.0.0: 139 | version "1.0.0" 140 | resolved "https://registry.npm.taobao.org/balanced-match/download/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" 141 | integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= 142 | 143 | brace-expansion@^1.1.7: 144 | version "1.1.11" 145 | resolved "https://registry.npm.taobao.org/brace-expansion/download/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" 146 | integrity sha1-PH/L9SnYcibz0vUrlm/1Jx60Qd0= 147 | dependencies: 148 | balanced-match "^1.0.0" 149 | concat-map "0.0.1" 150 | 151 | braces@^3.0.1: 152 | version "3.0.2" 153 | resolved "https://registry.npm.taobao.org/braces/download/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" 154 | integrity sha1-NFThpGLujVmeI23zNs2epPiv4Qc= 155 | dependencies: 156 | fill-range "^7.0.1" 157 | 158 | callsites@^3.0.0: 159 | version "3.1.0" 160 | resolved "https://registry.npm.taobao.org/callsites/download/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" 161 | integrity sha1-s2MKvYlDQy9Us/BRkjjjPNffL3M= 162 | 163 | chalk@^2.0.0, chalk@^2.1.0, chalk@^2.4.2: 164 | version "2.4.2" 165 | resolved "https://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" 166 | integrity sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ= 167 | dependencies: 168 | ansi-styles "^3.2.1" 169 | escape-string-regexp "^1.0.5" 170 | supports-color "^5.3.0" 171 | 172 | chardet@^0.7.0: 173 | version "0.7.0" 174 | resolved "https://registry.npm.taobao.org/chardet/download/chardet-0.7.0.tgz?cache=0&sync_timestamp=1562888139305&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchardet%2Fdownload%2Fchardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" 175 | integrity sha1-kAlISfCTfy7twkJdDSip5fDLrZ4= 176 | 177 | cli-cursor@^2.1.0: 178 | version "2.1.0" 179 | resolved "https://registry.npm.taobao.org/cli-cursor/download/cli-cursor-2.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcli-cursor%2Fdownload%2Fcli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" 180 | integrity sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU= 181 | dependencies: 182 | restore-cursor "^2.0.0" 183 | 184 | cli-width@^2.0.0: 185 | version "2.2.0" 186 | resolved "https://registry.npm.taobao.org/cli-width/download/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639" 187 | integrity sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk= 188 | 189 | color-convert@^1.9.0: 190 | version "1.9.3" 191 | resolved "https://registry.npm.taobao.org/color-convert/download/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" 192 | integrity sha1-u3GFBpDh8TZWfeYp0tVHHe2kweg= 193 | dependencies: 194 | color-name "1.1.3" 195 | 196 | color-name@1.1.3: 197 | version "1.1.3" 198 | resolved "https://registry.npm.taobao.org/color-name/download/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" 199 | integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= 200 | 201 | concat-map@0.0.1: 202 | version "0.0.1" 203 | resolved "https://registry.npm.taobao.org/concat-map/download/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 204 | integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= 205 | 206 | contains-path@^0.1.0: 207 | version "0.1.0" 208 | resolved "https://registry.npm.taobao.org/contains-path/download/contains-path-0.1.0.tgz#fe8cf184ff6670b6baef01a9d4861a5cbec4120a" 209 | integrity sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo= 210 | 211 | cross-spawn@^6.0.5: 212 | version "6.0.5" 213 | resolved "https://registry.npm.taobao.org/cross-spawn/download/cross-spawn-6.0.5.tgz?cache=0&sync_timestamp=1567511270254&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcross-spawn%2Fdownload%2Fcross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" 214 | integrity sha1-Sl7Hxk364iw6FBJNus3uhG2Ay8Q= 215 | dependencies: 216 | nice-try "^1.0.4" 217 | path-key "^2.0.1" 218 | semver "^5.5.0" 219 | shebang-command "^1.2.0" 220 | which "^1.2.9" 221 | 222 | debug@^2.6.8, debug@^2.6.9: 223 | version "2.6.9" 224 | resolved "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" 225 | integrity sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8= 226 | dependencies: 227 | ms "2.0.0" 228 | 229 | debug@^4.0.1, debug@^4.1.0: 230 | version "4.1.1" 231 | resolved "https://registry.npm.taobao.org/debug/download/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" 232 | integrity sha1-O3ImAlUQnGtYnO4FDx1RYTlmR5E= 233 | dependencies: 234 | ms "^2.1.1" 235 | 236 | deep-is@~0.1.3: 237 | version "0.1.3" 238 | resolved "https://registry.npm.taobao.org/deep-is/download/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" 239 | integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= 240 | 241 | define-properties@^1.1.2, define-properties@^1.1.3: 242 | version "1.1.3" 243 | resolved "https://registry.npm.taobao.org/define-properties/download/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" 244 | integrity sha1-z4jabL7ib+bbcJT2HYcMvYTO6fE= 245 | dependencies: 246 | object-keys "^1.0.12" 247 | 248 | dir-glob@^3.0.1: 249 | version "3.0.1" 250 | resolved "https://registry.npm.taobao.org/dir-glob/download/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" 251 | integrity sha1-Vtv3PZkqSpO6FYT0U0Bj/S5BcX8= 252 | dependencies: 253 | path-type "^4.0.0" 254 | 255 | doctrine@1.5.0: 256 | version "1.5.0" 257 | resolved "https://registry.npm.taobao.org/doctrine/download/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa" 258 | integrity sha1-N53Ocw9hZvds76TmcHoVmwLFpvo= 259 | dependencies: 260 | esutils "^2.0.2" 261 | isarray "^1.0.0" 262 | 263 | doctrine@^3.0.0: 264 | version "3.0.0" 265 | resolved "https://registry.npm.taobao.org/doctrine/download/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" 266 | integrity sha1-rd6+rXKmV023g2OdyHoSF3OXOWE= 267 | dependencies: 268 | esutils "^2.0.2" 269 | 270 | emoji-regex@^7.0.1: 271 | version "7.0.3" 272 | resolved "https://registry.npm.taobao.org/emoji-regex/download/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" 273 | integrity sha1-kzoEBShgyF6DwSJHnEdIqOTHIVY= 274 | 275 | error-ex@^1.2.0: 276 | version "1.3.2" 277 | resolved "https://registry.npm.taobao.org/error-ex/download/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" 278 | integrity sha1-tKxAZIEH/c3PriQvQovqihTU8b8= 279 | dependencies: 280 | is-arrayish "^0.2.1" 281 | 282 | es-abstract@^1.12.0, es-abstract@^1.7.0: 283 | version "1.14.2" 284 | resolved "https://registry.npm.taobao.org/es-abstract/download/es-abstract-1.14.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fes-abstract%2Fdownload%2Fes-abstract-1.14.2.tgz#7ce108fad83068c8783c3cdf62e504e084d8c497" 285 | integrity sha1-fOEI+tgwaMh4PDzfYuUE4ITYxJc= 286 | dependencies: 287 | es-to-primitive "^1.2.0" 288 | function-bind "^1.1.1" 289 | has "^1.0.3" 290 | has-symbols "^1.0.0" 291 | is-callable "^1.1.4" 292 | is-regex "^1.0.4" 293 | object-inspect "^1.6.0" 294 | object-keys "^1.1.1" 295 | string.prototype.trimleft "^2.0.0" 296 | string.prototype.trimright "^2.0.0" 297 | 298 | es-to-primitive@^1.2.0: 299 | version "1.2.0" 300 | resolved "https://registry.npm.taobao.org/es-to-primitive/download/es-to-primitive-1.2.0.tgz#edf72478033456e8dda8ef09e00ad9650707f377" 301 | integrity sha1-7fckeAM0VujdqO8J4ArZZQcH83c= 302 | dependencies: 303 | is-callable "^1.1.4" 304 | is-date-object "^1.0.1" 305 | is-symbol "^1.0.2" 306 | 307 | escape-string-regexp@^1.0.5: 308 | version "1.0.5" 309 | resolved "https://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fescape-string-regexp%2Fdownload%2Fescape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" 310 | integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= 311 | 312 | eslint-config-standard@^14.1.0: 313 | version "14.1.0" 314 | resolved "https://registry.npm.taobao.org/eslint-config-standard/download/eslint-config-standard-14.1.0.tgz#b23da2b76fe5a2eba668374f246454e7058f15d4" 315 | integrity sha1-sj2it2/louumaDdPJGRU5wWPFdQ= 316 | 317 | eslint-import-resolver-node@^0.3.2: 318 | version "0.3.2" 319 | resolved "https://registry.npm.taobao.org/eslint-import-resolver-node/download/eslint-import-resolver-node-0.3.2.tgz#58f15fb839b8d0576ca980413476aab2472db66a" 320 | integrity sha1-WPFfuDm40FdsqYBBNHaqskcttmo= 321 | dependencies: 322 | debug "^2.6.9" 323 | resolve "^1.5.0" 324 | 325 | eslint-module-utils@^2.4.0: 326 | version "2.4.1" 327 | resolved "https://registry.npm.taobao.org/eslint-module-utils/download/eslint-module-utils-2.4.1.tgz#7b4675875bf96b0dbf1b21977456e5bb1f5e018c" 328 | integrity sha1-e0Z1h1v5aw2/GyGXdFblux9eAYw= 329 | dependencies: 330 | debug "^2.6.8" 331 | pkg-dir "^2.0.0" 332 | 333 | eslint-plugin-es@^2.0.0: 334 | version "2.0.0" 335 | resolved "https://registry.npm.taobao.org/eslint-plugin-es/download/eslint-plugin-es-2.0.0.tgz#0f5f5da5f18aa21989feebe8a73eadefb3432976" 336 | integrity sha1-D19dpfGKohmJ/uvopz6t77NDKXY= 337 | dependencies: 338 | eslint-utils "^1.4.2" 339 | regexpp "^3.0.0" 340 | 341 | eslint-plugin-import@^2.18.2: 342 | version "2.18.2" 343 | resolved "https://registry.npm.taobao.org/eslint-plugin-import/download/eslint-plugin-import-2.18.2.tgz#02f1180b90b077b33d447a17a2326ceb400aceb6" 344 | integrity sha1-AvEYC5Cwd7M9RHoXojJs60AKzrY= 345 | dependencies: 346 | array-includes "^3.0.3" 347 | contains-path "^0.1.0" 348 | debug "^2.6.9" 349 | doctrine "1.5.0" 350 | eslint-import-resolver-node "^0.3.2" 351 | eslint-module-utils "^2.4.0" 352 | has "^1.0.3" 353 | minimatch "^3.0.4" 354 | object.values "^1.1.0" 355 | read-pkg-up "^2.0.0" 356 | resolve "^1.11.0" 357 | 358 | eslint-plugin-node@^10.0.0: 359 | version "10.0.0" 360 | resolved "https://registry.npm.taobao.org/eslint-plugin-node/download/eslint-plugin-node-10.0.0.tgz#fd1adbc7a300cf7eb6ac55cf4b0b6fc6e577f5a6" 361 | integrity sha1-/Rrbx6MAz362rFXPSwtvxuV39aY= 362 | dependencies: 363 | eslint-plugin-es "^2.0.0" 364 | eslint-utils "^1.4.2" 365 | ignore "^5.1.1" 366 | minimatch "^3.0.4" 367 | resolve "^1.10.1" 368 | semver "^6.1.0" 369 | 370 | eslint-plugin-promise@^4.2.1: 371 | version "4.2.1" 372 | resolved "https://registry.npm.taobao.org/eslint-plugin-promise/download/eslint-plugin-promise-4.2.1.tgz#845fd8b2260ad8f82564c1222fce44ad71d9418a" 373 | integrity sha1-hF/YsiYK2PglZMEiL85ErXHZQYo= 374 | 375 | eslint-plugin-standard@^4.0.1: 376 | version "4.0.1" 377 | resolved "https://registry.npm.taobao.org/eslint-plugin-standard/download/eslint-plugin-standard-4.0.1.tgz?cache=0&sync_timestamp=1566246326407&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-plugin-standard%2Fdownload%2Feslint-plugin-standard-4.0.1.tgz#ff0519f7ffaff114f76d1bd7c3996eef0f6e20b4" 378 | integrity sha1-/wUZ9/+v8RT3bRvXw5lu7w9uILQ= 379 | 380 | eslint-plugin-vue@^5.2.3: 381 | version "5.2.3" 382 | resolved "https://registry.npm.taobao.org/eslint-plugin-vue/download/eslint-plugin-vue-5.2.3.tgz#3ee7597d823b5478804b2feba9863b1b74273961" 383 | integrity sha1-PudZfYI7VHiASy/rqYY7G3QnOWE= 384 | dependencies: 385 | vue-eslint-parser "^5.0.0" 386 | 387 | eslint-scope@^4.0.0: 388 | version "4.0.3" 389 | resolved "https://registry.npm.taobao.org/eslint-scope/download/eslint-scope-4.0.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-scope%2Fdownload%2Feslint-scope-4.0.3.tgz#ca03833310f6889a3264781aa82e63eb9cfe7848" 390 | integrity sha1-ygODMxD2iJoyZHgaqC5j65z+eEg= 391 | dependencies: 392 | esrecurse "^4.1.0" 393 | estraverse "^4.1.1" 394 | 395 | eslint-scope@^5.0.0: 396 | version "5.0.0" 397 | resolved "https://registry.npm.taobao.org/eslint-scope/download/eslint-scope-5.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-scope%2Fdownload%2Feslint-scope-5.0.0.tgz#e87c8887c73e8d1ec84f1ca591645c358bfc8fb9" 398 | integrity sha1-6HyIh8c+jR7ITxylkWRcNYv8j7k= 399 | dependencies: 400 | esrecurse "^4.1.0" 401 | estraverse "^4.1.1" 402 | 403 | eslint-utils@^1.4.2: 404 | version "1.4.2" 405 | resolved "https://registry.npm.taobao.org/eslint-utils/download/eslint-utils-1.4.2.tgz?cache=0&sync_timestamp=1566297013046&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-utils%2Fdownload%2Feslint-utils-1.4.2.tgz#166a5180ef6ab7eb462f162fd0e6f2463d7309ab" 406 | integrity sha1-FmpRgO9qt+tGLxYv0ObyRj1zCas= 407 | dependencies: 408 | eslint-visitor-keys "^1.0.0" 409 | 410 | eslint-visitor-keys@^1.0.0, eslint-visitor-keys@^1.1.0: 411 | version "1.1.0" 412 | resolved "https://registry.npm.taobao.org/eslint-visitor-keys/download/eslint-visitor-keys-1.1.0.tgz?cache=0&sync_timestamp=1565705523991&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-visitor-keys%2Fdownload%2Feslint-visitor-keys-1.1.0.tgz#e2a82cea84ff246ad6fb57f9bde5b46621459ec2" 413 | integrity sha1-4qgs6oT/JGrW+1f5veW0ZiFFnsI= 414 | 415 | eslint@^6.4.0: 416 | version "6.4.0" 417 | resolved "https://registry.npm.taobao.org/eslint/download/eslint-6.4.0.tgz#5aa9227c3fbe921982b2eda94ba0d7fae858611a" 418 | integrity sha1-WqkifD++khmCsu2pS6DX+uhYYRo= 419 | dependencies: 420 | "@babel/code-frame" "^7.0.0" 421 | ajv "^6.10.0" 422 | chalk "^2.1.0" 423 | cross-spawn "^6.0.5" 424 | debug "^4.0.1" 425 | doctrine "^3.0.0" 426 | eslint-scope "^5.0.0" 427 | eslint-utils "^1.4.2" 428 | eslint-visitor-keys "^1.1.0" 429 | espree "^6.1.1" 430 | esquery "^1.0.1" 431 | esutils "^2.0.2" 432 | file-entry-cache "^5.0.1" 433 | functional-red-black-tree "^1.0.1" 434 | glob-parent "^5.0.0" 435 | globals "^11.7.0" 436 | ignore "^4.0.6" 437 | import-fresh "^3.0.0" 438 | imurmurhash "^0.1.4" 439 | inquirer "^6.4.1" 440 | is-glob "^4.0.0" 441 | js-yaml "^3.13.1" 442 | json-stable-stringify-without-jsonify "^1.0.1" 443 | levn "^0.3.0" 444 | lodash "^4.17.14" 445 | minimatch "^3.0.4" 446 | mkdirp "^0.5.1" 447 | natural-compare "^1.4.0" 448 | optionator "^0.8.2" 449 | progress "^2.0.0" 450 | regexpp "^2.0.1" 451 | semver "^6.1.2" 452 | strip-ansi "^5.2.0" 453 | strip-json-comments "^3.0.1" 454 | table "^5.2.3" 455 | text-table "^0.2.0" 456 | v8-compile-cache "^2.0.3" 457 | 458 | espree@^4.1.0: 459 | version "4.1.0" 460 | resolved "https://registry.npm.taobao.org/espree/download/espree-4.1.0.tgz#728d5451e0fd156c04384a7ad89ed51ff54eb25f" 461 | integrity sha1-co1UUeD9FWwEOEp62J7VH/VOsl8= 462 | dependencies: 463 | acorn "^6.0.2" 464 | acorn-jsx "^5.0.0" 465 | eslint-visitor-keys "^1.0.0" 466 | 467 | espree@^6.1.1: 468 | version "6.1.1" 469 | resolved "https://registry.npm.taobao.org/espree/download/espree-6.1.1.tgz#7f80e5f7257fc47db450022d723e356daeb1e5de" 470 | integrity sha1-f4Dl9yV/xH20UAItcj41ba6x5d4= 471 | dependencies: 472 | acorn "^7.0.0" 473 | acorn-jsx "^5.0.2" 474 | eslint-visitor-keys "^1.1.0" 475 | 476 | esprima@^4.0.0: 477 | version "4.0.1" 478 | resolved "https://registry.npm.taobao.org/esprima/download/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" 479 | integrity sha1-E7BM2z5sXRnfkatph6hpVhmwqnE= 480 | 481 | esquery@^1.0.1: 482 | version "1.0.1" 483 | resolved "https://registry.npm.taobao.org/esquery/download/esquery-1.0.1.tgz#406c51658b1f5991a5f9b62b1dc25b00e3e5c708" 484 | integrity sha1-QGxRZYsfWZGl+bYrHcJbAOPlxwg= 485 | dependencies: 486 | estraverse "^4.0.0" 487 | 488 | esrecurse@^4.1.0: 489 | version "4.2.1" 490 | resolved "https://registry.npm.taobao.org/esrecurse/download/esrecurse-4.2.1.tgz#007a3b9fdbc2b3bb87e4879ea19c92fdbd3942cf" 491 | integrity sha1-AHo7n9vCs7uH5IeeoZyS/b05Qs8= 492 | dependencies: 493 | estraverse "^4.1.0" 494 | 495 | estraverse@^4.0.0, estraverse@^4.1.0, estraverse@^4.1.1: 496 | version "4.3.0" 497 | resolved "https://registry.npm.taobao.org/estraverse/download/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" 498 | integrity sha1-OYrT88WiSUi+dyXoPRGn3ijNvR0= 499 | 500 | esutils@^2.0.2: 501 | version "2.0.3" 502 | resolved "https://registry.npm.taobao.org/esutils/download/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" 503 | integrity sha1-dNLrTeC42hKTcRkQ1Qd1ubcQ72Q= 504 | 505 | external-editor@^3.0.3: 506 | version "3.1.0" 507 | resolved "https://registry.npm.taobao.org/external-editor/download/external-editor-3.1.0.tgz?cache=0&sync_timestamp=1562602052556&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fexternal-editor%2Fdownload%2Fexternal-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495" 508 | integrity sha1-ywP3QL764D6k0oPK7SdBqD8zVJU= 509 | dependencies: 510 | chardet "^0.7.0" 511 | iconv-lite "^0.4.24" 512 | tmp "^0.0.33" 513 | 514 | fast-deep-equal@^2.0.1: 515 | version "2.0.1" 516 | resolved "https://registry.npm.taobao.org/fast-deep-equal/download/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49" 517 | integrity sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk= 518 | 519 | fast-glob@^3.0.3: 520 | version "3.0.4" 521 | resolved "https://registry.npm.taobao.org/fast-glob/download/fast-glob-3.0.4.tgz#d484a41005cb6faeb399b951fd1bd70ddaebb602" 522 | integrity sha1-1ISkEAXLb66zmblR/RvXDdrrtgI= 523 | dependencies: 524 | "@nodelib/fs.stat" "^2.0.1" 525 | "@nodelib/fs.walk" "^1.2.1" 526 | glob-parent "^5.0.0" 527 | is-glob "^4.0.1" 528 | merge2 "^1.2.3" 529 | micromatch "^4.0.2" 530 | 531 | fast-json-stable-stringify@^2.0.0: 532 | version "2.0.0" 533 | resolved "https://registry.npm.taobao.org/fast-json-stable-stringify/download/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2" 534 | integrity sha1-1RQsDK7msRifh9OnYREGT4bIu/I= 535 | 536 | fast-levenshtein@~2.0.4: 537 | version "2.0.6" 538 | resolved "https://registry.npm.taobao.org/fast-levenshtein/download/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" 539 | integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= 540 | 541 | fastq@^1.6.0: 542 | version "1.6.0" 543 | resolved "https://registry.npm.taobao.org/fastq/download/fastq-1.6.0.tgz#4ec8a38f4ac25f21492673adb7eae9cfef47d1c2" 544 | integrity sha1-Tsijj0rCXyFJJnOtt+rpz+9H0cI= 545 | dependencies: 546 | reusify "^1.0.0" 547 | 548 | figures@^2.0.0: 549 | version "2.0.0" 550 | resolved "https://registry.npm.taobao.org/figures/download/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962" 551 | integrity sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI= 552 | dependencies: 553 | escape-string-regexp "^1.0.5" 554 | 555 | file-entry-cache@^5.0.1: 556 | version "5.0.1" 557 | resolved "https://registry.npm.taobao.org/file-entry-cache/download/file-entry-cache-5.0.1.tgz#ca0f6efa6dd3d561333fb14515065c2fafdf439c" 558 | integrity sha1-yg9u+m3T1WEzP7FFFQZcL6/fQ5w= 559 | dependencies: 560 | flat-cache "^2.0.1" 561 | 562 | fill-range@^7.0.1: 563 | version "7.0.1" 564 | resolved "https://registry.npm.taobao.org/fill-range/download/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" 565 | integrity sha1-GRmmp8df44ssfHflGYU12prN2kA= 566 | dependencies: 567 | to-regex-range "^5.0.1" 568 | 569 | find-up@^2.0.0, find-up@^2.1.0: 570 | version "2.1.0" 571 | resolved "https://registry.npm.taobao.org/find-up/download/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" 572 | integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c= 573 | dependencies: 574 | locate-path "^2.0.0" 575 | 576 | flat-cache@^2.0.1: 577 | version "2.0.1" 578 | resolved "https://registry.npm.taobao.org/flat-cache/download/flat-cache-2.0.1.tgz#5d296d6f04bda44a4630a301413bdbc2ec085ec0" 579 | integrity sha1-XSltbwS9pEpGMKMBQTvbwuwIXsA= 580 | dependencies: 581 | flatted "^2.0.0" 582 | rimraf "2.6.3" 583 | write "1.0.3" 584 | 585 | flatted@^2.0.0: 586 | version "2.0.1" 587 | resolved "https://registry.npm.taobao.org/flatted/download/flatted-2.0.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fflatted%2Fdownload%2Fflatted-2.0.1.tgz#69e57caa8f0eacbc281d2e2cb458d46fdb449e08" 588 | integrity sha1-aeV8qo8OrLwoHS4stFjUb9tEngg= 589 | 590 | fs.realpath@^1.0.0: 591 | version "1.0.0" 592 | resolved "https://registry.npm.taobao.org/fs.realpath/download/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 593 | integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= 594 | 595 | function-bind@^1.1.1: 596 | version "1.1.1" 597 | resolved "https://registry.npm.taobao.org/function-bind/download/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" 598 | integrity sha1-pWiZ0+o8m6uHS7l3O3xe3pL0iV0= 599 | 600 | functional-red-black-tree@^1.0.1: 601 | version "1.0.1" 602 | resolved "https://registry.npm.taobao.org/functional-red-black-tree/download/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" 603 | integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= 604 | 605 | glob-parent@^5.0.0: 606 | version "5.1.2" 607 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" 608 | integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== 609 | dependencies: 610 | is-glob "^4.0.1" 611 | 612 | glob@^7.1.3: 613 | version "7.1.4" 614 | resolved "https://registry.npm.taobao.org/glob/download/glob-7.1.4.tgz#aa608a2f6c577ad357e1ae5a5c26d9a8d1969255" 615 | integrity sha1-qmCKL2xXetNX4a5aXCbZqNGWklU= 616 | dependencies: 617 | fs.realpath "^1.0.0" 618 | inflight "^1.0.4" 619 | inherits "2" 620 | minimatch "^3.0.4" 621 | once "^1.3.0" 622 | path-is-absolute "^1.0.0" 623 | 624 | globals@^11.7.0: 625 | version "11.12.0" 626 | resolved "https://registry.npm.taobao.org/globals/download/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" 627 | integrity sha1-q4eVM4hooLq9hSV1gBjCp+uVxC4= 628 | 629 | globby@^10.0.1: 630 | version "10.0.1" 631 | resolved "https://registry.npm.taobao.org/globby/download/globby-10.0.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fglobby%2Fdownload%2Fglobby-10.0.1.tgz#4782c34cb75dd683351335c5829cc3420e606b22" 632 | integrity sha1-R4LDTLdd1oM1EzXFgpzDQg5gayI= 633 | dependencies: 634 | "@types/glob" "^7.1.1" 635 | array-union "^2.1.0" 636 | dir-glob "^3.0.1" 637 | fast-glob "^3.0.3" 638 | glob "^7.1.3" 639 | ignore "^5.1.1" 640 | merge2 "^1.2.3" 641 | slash "^3.0.0" 642 | 643 | graceful-fs@^4.1.2: 644 | version "4.2.2" 645 | resolved "https://registry.npm.taobao.org/graceful-fs/download/graceful-fs-4.2.2.tgz#6f0952605d0140c1cfdb138ed005775b92d67b02" 646 | integrity sha1-bwlSYF0BQMHP2xOO0AV3W5LWewI= 647 | 648 | has-flag@^3.0.0: 649 | version "3.0.0" 650 | resolved "https://registry.npm.taobao.org/has-flag/download/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" 651 | integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= 652 | 653 | has-symbols@^1.0.0: 654 | version "1.0.0" 655 | resolved "https://registry.npm.taobao.org/has-symbols/download/has-symbols-1.0.0.tgz#ba1a8f1af2a0fc39650f5c850367704122063b44" 656 | integrity sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q= 657 | 658 | has@^1.0.1, has@^1.0.3: 659 | version "1.0.3" 660 | resolved "https://registry.npm.taobao.org/has/download/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" 661 | integrity sha1-ci18v8H2qoJB8W3YFOAR4fQeh5Y= 662 | dependencies: 663 | function-bind "^1.1.1" 664 | 665 | hosted-git-info@^2.1.4: 666 | version "2.8.9" 667 | resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" 668 | integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== 669 | 670 | iconv-lite@^0.4.24: 671 | version "0.4.24" 672 | resolved "https://registry.npm.taobao.org/iconv-lite/download/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" 673 | integrity sha1-ICK0sl+93CHS9SSXSkdKr+czkIs= 674 | dependencies: 675 | safer-buffer ">= 2.1.2 < 3" 676 | 677 | ignore@^4.0.6: 678 | version "4.0.6" 679 | resolved "https://registry.npm.taobao.org/ignore/download/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" 680 | integrity sha1-dQ49tYYgh7RzfrrIIH/9HvJ7Jfw= 681 | 682 | ignore@^5.1.1: 683 | version "5.1.4" 684 | resolved "https://registry.npm.taobao.org/ignore/download/ignore-5.1.4.tgz#84b7b3dbe64552b6ef0eca99f6743dbec6d97adf" 685 | integrity sha1-hLez2+ZFUrbvDsqZ9nQ9vsbZet8= 686 | 687 | import-fresh@^3.0.0: 688 | version "3.1.0" 689 | resolved "https://registry.npm.taobao.org/import-fresh/download/import-fresh-3.1.0.tgz#6d33fa1dcef6df930fae003446f33415af905118" 690 | integrity sha1-bTP6Hc7235MPrgA0RvM0Fa+QURg= 691 | dependencies: 692 | parent-module "^1.0.0" 693 | resolve-from "^4.0.0" 694 | 695 | imurmurhash@^0.1.4: 696 | version "0.1.4" 697 | resolved "https://registry.npm.taobao.org/imurmurhash/download/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" 698 | integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= 699 | 700 | inflight@^1.0.4: 701 | version "1.0.6" 702 | resolved "https://registry.npm.taobao.org/inflight/download/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" 703 | integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= 704 | dependencies: 705 | once "^1.3.0" 706 | wrappy "1" 707 | 708 | inherits@2: 709 | version "2.0.4" 710 | resolved "https://registry.npm.taobao.org/inherits/download/inherits-2.0.4.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Finherits%2Fdownload%2Finherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" 711 | integrity sha1-D6LGT5MpF8NDOg3tVTY6rjdBa3w= 712 | 713 | inquirer@^6.4.1: 714 | version "6.5.2" 715 | resolved "https://registry.npm.taobao.org/inquirer/download/inquirer-6.5.2.tgz#ad50942375d036d327ff528c08bd5fab089928ca" 716 | integrity sha1-rVCUI3XQNtMn/1KMCL1fqwiZKMo= 717 | dependencies: 718 | ansi-escapes "^3.2.0" 719 | chalk "^2.4.2" 720 | cli-cursor "^2.1.0" 721 | cli-width "^2.0.0" 722 | external-editor "^3.0.3" 723 | figures "^2.0.0" 724 | lodash "^4.17.12" 725 | mute-stream "0.0.7" 726 | run-async "^2.2.0" 727 | rxjs "^6.4.0" 728 | string-width "^2.1.0" 729 | strip-ansi "^5.1.0" 730 | through "^2.3.6" 731 | 732 | is-arrayish@^0.2.1: 733 | version "0.2.1" 734 | resolved "https://registry.npm.taobao.org/is-arrayish/download/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" 735 | integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= 736 | 737 | is-callable@^1.1.4: 738 | version "1.1.4" 739 | resolved "https://registry.npm.taobao.org/is-callable/download/is-callable-1.1.4.tgz#1e1adf219e1eeb684d691f9d6a05ff0d30a24d75" 740 | integrity sha1-HhrfIZ4e62hNaR+dagX/DTCiTXU= 741 | 742 | is-date-object@^1.0.1: 743 | version "1.0.1" 744 | resolved "https://registry.npm.taobao.org/is-date-object/download/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16" 745 | integrity sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY= 746 | 747 | is-extglob@^2.1.1: 748 | version "2.1.1" 749 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" 750 | integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= 751 | 752 | is-fullwidth-code-point@^2.0.0: 753 | version "2.0.0" 754 | resolved "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" 755 | integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= 756 | 757 | is-glob@^4.0.0, is-glob@^4.0.1: 758 | version "4.0.1" 759 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" 760 | integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== 761 | dependencies: 762 | is-extglob "^2.1.1" 763 | 764 | is-number@^7.0.0: 765 | version "7.0.0" 766 | resolved "https://registry.npm.taobao.org/is-number/download/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" 767 | integrity sha1-dTU0W4lnNNX4DE0GxQlVUnoU8Ss= 768 | 769 | is-promise@^2.1.0: 770 | version "2.1.0" 771 | resolved "https://registry.npm.taobao.org/is-promise/download/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" 772 | integrity sha1-eaKp7OfwlugPNtKy87wWwf9L8/o= 773 | 774 | is-regex@^1.0.4: 775 | version "1.0.4" 776 | resolved "https://registry.npm.taobao.org/is-regex/download/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491" 777 | integrity sha1-VRdIm1RwkbCTDglWVM7SXul+lJE= 778 | dependencies: 779 | has "^1.0.1" 780 | 781 | is-symbol@^1.0.2: 782 | version "1.0.2" 783 | resolved "https://registry.npm.taobao.org/is-symbol/download/is-symbol-1.0.2.tgz#a055f6ae57192caee329e7a860118b497a950f38" 784 | integrity sha1-oFX2rlcZLK7jKeeoYBGLSXqVDzg= 785 | dependencies: 786 | has-symbols "^1.0.0" 787 | 788 | isarray@^1.0.0: 789 | version "1.0.0" 790 | resolved "https://registry.npm.taobao.org/isarray/download/isarray-1.0.0.tgz?cache=0&sync_timestamp=1562592096220&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fisarray%2Fdownload%2Fisarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" 791 | integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= 792 | 793 | isexe@^2.0.0: 794 | version "2.0.0" 795 | resolved "https://registry.npm.taobao.org/isexe/download/isexe-2.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fisexe%2Fdownload%2Fisexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" 796 | integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= 797 | 798 | js-tokens@^4.0.0: 799 | version "4.0.0" 800 | resolved "https://registry.npm.taobao.org/js-tokens/download/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" 801 | integrity sha1-GSA/tZmR35jjoocFDUZHzerzJJk= 802 | 803 | js-yaml@^3.13.1: 804 | version "3.13.1" 805 | resolved "https://registry.npm.taobao.org/js-yaml/download/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847" 806 | integrity sha1-r/FRswv9+o5J4F2iLnQV6d+jeEc= 807 | dependencies: 808 | argparse "^1.0.7" 809 | esprima "^4.0.0" 810 | 811 | json-schema-traverse@^0.4.1: 812 | version "0.4.1" 813 | resolved "https://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" 814 | integrity sha1-afaofZUTq4u4/mO9sJecRI5oRmA= 815 | 816 | json-stable-stringify-without-jsonify@^1.0.1: 817 | version "1.0.1" 818 | resolved "https://registry.npm.taobao.org/json-stable-stringify-without-jsonify/download/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" 819 | integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= 820 | 821 | levn@^0.3.0, levn@~0.3.0: 822 | version "0.3.0" 823 | resolved "https://registry.npm.taobao.org/levn/download/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" 824 | integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= 825 | dependencies: 826 | prelude-ls "~1.1.2" 827 | type-check "~0.3.2" 828 | 829 | load-json-file@^2.0.0: 830 | version "2.0.0" 831 | resolved "https://registry.npm.taobao.org/load-json-file/download/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8" 832 | integrity sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg= 833 | dependencies: 834 | graceful-fs "^4.1.2" 835 | parse-json "^2.2.0" 836 | pify "^2.0.0" 837 | strip-bom "^3.0.0" 838 | 839 | locate-path@^2.0.0: 840 | version "2.0.0" 841 | resolved "https://registry.npm.taobao.org/locate-path/download/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" 842 | integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4= 843 | dependencies: 844 | p-locate "^2.0.0" 845 | path-exists "^3.0.0" 846 | 847 | lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.14: 848 | version "4.17.21" 849 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" 850 | integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== 851 | 852 | make-dir@^3.0.0: 853 | version "3.0.0" 854 | resolved "https://registry.npm.taobao.org/make-dir/download/make-dir-3.0.0.tgz#1b5f39f6b9270ed33f9f054c5c0f84304989f801" 855 | integrity sha1-G1859rknDtM/nwVMXA+EMEmJ+AE= 856 | dependencies: 857 | semver "^6.0.0" 858 | 859 | merge2@^1.2.3: 860 | version "1.3.0" 861 | resolved "https://registry.npm.taobao.org/merge2/download/merge2-1.3.0.tgz#5b366ee83b2f1582c48f87e47cf1a9352103ca81" 862 | integrity sha1-WzZu6DsvFYLEj4fkfPGpNSEDyoE= 863 | 864 | micromatch@^4.0.2: 865 | version "4.0.2" 866 | resolved "https://registry.npm.taobao.org/micromatch/download/micromatch-4.0.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmicromatch%2Fdownload%2Fmicromatch-4.0.2.tgz#4fcb0999bf9fbc2fcbdd212f6d629b9a56c39259" 867 | integrity sha1-T8sJmb+fvC/L3SEvbWKbmlbDklk= 868 | dependencies: 869 | braces "^3.0.1" 870 | picomatch "^2.0.5" 871 | 872 | mimic-fn@^1.0.0: 873 | version "1.2.0" 874 | resolved "https://registry.npm.taobao.org/mimic-fn/download/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" 875 | integrity sha1-ggyGo5M0ZA6ZUWkovQP8qIBX0CI= 876 | 877 | minimatch@^3.0.4: 878 | version "3.0.4" 879 | resolved "https://registry.npm.taobao.org/minimatch/download/minimatch-3.0.4.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fminimatch%2Fdownload%2Fminimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" 880 | integrity sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM= 881 | dependencies: 882 | brace-expansion "^1.1.7" 883 | 884 | minimist@0.0.8: 885 | version "0.0.8" 886 | resolved "https://registry.npm.taobao.org/minimist/download/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" 887 | integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0= 888 | 889 | mkdirp@^0.5.1: 890 | version "0.5.1" 891 | resolved "https://registry.npm.taobao.org/mkdirp/download/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" 892 | integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM= 893 | dependencies: 894 | minimist "0.0.8" 895 | 896 | ms@2.0.0: 897 | version "2.0.0" 898 | resolved "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" 899 | integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= 900 | 901 | ms@^2.1.1: 902 | version "2.1.2" 903 | resolved "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" 904 | integrity sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk= 905 | 906 | mute-stream@0.0.7: 907 | version "0.0.7" 908 | resolved "https://registry.npm.taobao.org/mute-stream/download/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" 909 | integrity sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s= 910 | 911 | natural-compare@^1.4.0: 912 | version "1.4.0" 913 | resolved "https://registry.npm.taobao.org/natural-compare/download/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" 914 | integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= 915 | 916 | nice-try@^1.0.4: 917 | version "1.0.5" 918 | resolved "https://registry.npm.taobao.org/nice-try/download/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" 919 | integrity sha1-ozeKdpbOfSI+iPybdkvX7xCJ42Y= 920 | 921 | normalize-package-data@^2.3.2: 922 | version "2.5.0" 923 | resolved "https://registry.npm.taobao.org/normalize-package-data/download/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" 924 | integrity sha1-5m2xg4sgDB38IzIl0SyzZSDiNKg= 925 | dependencies: 926 | hosted-git-info "^2.1.4" 927 | resolve "^1.10.0" 928 | semver "2 || 3 || 4 || 5" 929 | validate-npm-package-license "^3.0.1" 930 | 931 | object-inspect@^1.6.0: 932 | version "1.6.0" 933 | resolved "https://registry.npm.taobao.org/object-inspect/download/object-inspect-1.6.0.tgz#c70b6cbf72f274aab4c34c0c82f5167bf82cf15b" 934 | integrity sha1-xwtsv3LydKq0w0wMgvUWe/gs8Vs= 935 | 936 | object-keys@^1.0.12, object-keys@^1.1.1: 937 | version "1.1.1" 938 | resolved "https://registry.npm.taobao.org/object-keys/download/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" 939 | integrity sha1-HEfyct8nfzsdrwYWd9nILiMixg4= 940 | 941 | object.values@^1.1.0: 942 | version "1.1.0" 943 | resolved "https://registry.npm.taobao.org/object.values/download/object.values-1.1.0.tgz#bf6810ef5da3e5325790eaaa2be213ea84624da9" 944 | integrity sha1-v2gQ712j5TJXkOqqK+IT6oRiTak= 945 | dependencies: 946 | define-properties "^1.1.3" 947 | es-abstract "^1.12.0" 948 | function-bind "^1.1.1" 949 | has "^1.0.3" 950 | 951 | once@^1.3.0: 952 | version "1.4.0" 953 | resolved "https://registry.npm.taobao.org/once/download/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 954 | integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= 955 | dependencies: 956 | wrappy "1" 957 | 958 | onetime@^2.0.0: 959 | version "2.0.1" 960 | resolved "https://registry.npm.taobao.org/onetime/download/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" 961 | integrity sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ= 962 | dependencies: 963 | mimic-fn "^1.0.0" 964 | 965 | optionator@^0.8.2: 966 | version "0.8.2" 967 | resolved "https://registry.npm.taobao.org/optionator/download/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64" 968 | integrity sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q= 969 | dependencies: 970 | deep-is "~0.1.3" 971 | fast-levenshtein "~2.0.4" 972 | levn "~0.3.0" 973 | prelude-ls "~1.1.2" 974 | type-check "~0.3.2" 975 | wordwrap "~1.0.0" 976 | 977 | os-tmpdir@~1.0.2: 978 | version "1.0.2" 979 | resolved "https://registry.npm.taobao.org/os-tmpdir/download/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" 980 | integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= 981 | 982 | p-limit@^1.1.0: 983 | version "1.3.0" 984 | resolved "https://registry.npm.taobao.org/p-limit/download/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" 985 | integrity sha1-uGvV8MJWkJEcdZD8v8IBDVSzzLg= 986 | dependencies: 987 | p-try "^1.0.0" 988 | 989 | p-locate@^2.0.0: 990 | version "2.0.0" 991 | resolved "https://registry.npm.taobao.org/p-locate/download/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" 992 | integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM= 993 | dependencies: 994 | p-limit "^1.1.0" 995 | 996 | p-try@^1.0.0: 997 | version "1.0.0" 998 | resolved "https://registry.npm.taobao.org/p-try/download/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" 999 | integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M= 1000 | 1001 | parent-module@^1.0.0: 1002 | version "1.0.1" 1003 | resolved "https://registry.npm.taobao.org/parent-module/download/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" 1004 | integrity sha1-aR0nCeeMefrjoVZiJFLQB2LKqqI= 1005 | dependencies: 1006 | callsites "^3.0.0" 1007 | 1008 | parse-json@^2.2.0: 1009 | version "2.2.0" 1010 | resolved "https://registry.npm.taobao.org/parse-json/download/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" 1011 | integrity sha1-9ID0BDTvgHQfhGkJn43qGPVaTck= 1012 | dependencies: 1013 | error-ex "^1.2.0" 1014 | 1015 | path-exists@^3.0.0: 1016 | version "3.0.0" 1017 | resolved "https://registry.npm.taobao.org/path-exists/download/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" 1018 | integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= 1019 | 1020 | path-is-absolute@^1.0.0: 1021 | version "1.0.1" 1022 | resolved "https://registry.npm.taobao.org/path-is-absolute/download/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 1023 | integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= 1024 | 1025 | path-key@^2.0.1: 1026 | version "2.0.1" 1027 | resolved "https://registry.npm.taobao.org/path-key/download/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" 1028 | integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= 1029 | 1030 | path-parse@^1.0.6: 1031 | version "1.0.7" 1032 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" 1033 | integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== 1034 | 1035 | path-type@^2.0.0: 1036 | version "2.0.0" 1037 | resolved "https://registry.npm.taobao.org/path-type/download/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73" 1038 | integrity sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM= 1039 | dependencies: 1040 | pify "^2.0.0" 1041 | 1042 | path-type@^4.0.0: 1043 | version "4.0.0" 1044 | resolved "https://registry.npm.taobao.org/path-type/download/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" 1045 | integrity sha1-hO0BwKe6OAr+CdkKjBgNzZ0DBDs= 1046 | 1047 | picomatch@^2.0.5: 1048 | version "2.0.7" 1049 | resolved "https://registry.npm.taobao.org/picomatch/download/picomatch-2.0.7.tgz#514169d8c7cd0bdbeecc8a2609e34a7163de69f6" 1050 | integrity sha1-UUFp2MfNC9vuzIomCeNKcWPeafY= 1051 | 1052 | pify@^2.0.0: 1053 | version "2.3.0" 1054 | resolved "https://registry.npm.taobao.org/pify/download/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" 1055 | integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw= 1056 | 1057 | pkg-dir@^2.0.0: 1058 | version "2.0.0" 1059 | resolved "https://registry.npm.taobao.org/pkg-dir/download/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b" 1060 | integrity sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s= 1061 | dependencies: 1062 | find-up "^2.1.0" 1063 | 1064 | prelude-ls@~1.1.2: 1065 | version "1.1.2" 1066 | resolved "https://registry.npm.taobao.org/prelude-ls/download/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" 1067 | integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= 1068 | 1069 | prettier@^1.18.2: 1070 | version "1.18.2" 1071 | resolved "https://registry.npm.taobao.org/prettier/download/prettier-1.18.2.tgz#6823e7c5900017b4bd3acf46fe9ac4b4d7bda9ea" 1072 | integrity sha1-aCPnxZAAF7S9Os9G/prEtNe9qeo= 1073 | 1074 | progress@^2.0.0: 1075 | version "2.0.3" 1076 | resolved "https://registry.npm.taobao.org/progress/download/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" 1077 | integrity sha1-foz42PW48jnBvGi+tOt4Vn1XLvg= 1078 | 1079 | punycode@^2.1.0: 1080 | version "2.1.1" 1081 | resolved "https://registry.npm.taobao.org/punycode/download/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" 1082 | integrity sha1-tYsBCsQMIsVldhbI0sLALHv0eew= 1083 | 1084 | read-pkg-up@^2.0.0: 1085 | version "2.0.0" 1086 | resolved "https://registry.npm.taobao.org/read-pkg-up/download/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be" 1087 | integrity sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4= 1088 | dependencies: 1089 | find-up "^2.0.0" 1090 | read-pkg "^2.0.0" 1091 | 1092 | read-pkg@^2.0.0: 1093 | version "2.0.0" 1094 | resolved "https://registry.npm.taobao.org/read-pkg/download/read-pkg-2.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fread-pkg%2Fdownload%2Fread-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8" 1095 | integrity sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg= 1096 | dependencies: 1097 | load-json-file "^2.0.0" 1098 | normalize-package-data "^2.3.2" 1099 | path-type "^2.0.0" 1100 | 1101 | regexpp@^2.0.1: 1102 | version "2.0.1" 1103 | resolved "https://registry.npm.taobao.org/regexpp/download/regexpp-2.0.1.tgz?cache=0&sync_timestamp=1567160849322&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregexpp%2Fdownload%2Fregexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f" 1104 | integrity sha1-jRnTHPYySCtYkEn4KB+T28uk0H8= 1105 | 1106 | regexpp@^3.0.0: 1107 | version "3.0.0" 1108 | resolved "https://registry.npm.taobao.org/regexpp/download/regexpp-3.0.0.tgz?cache=0&sync_timestamp=1567160849322&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregexpp%2Fdownload%2Fregexpp-3.0.0.tgz#dd63982ee3300e67b41c1956f850aa680d9d330e" 1109 | integrity sha1-3WOYLuMwDme0HBlW+FCqaA2dMw4= 1110 | 1111 | resolve-from@^4.0.0: 1112 | version "4.0.0" 1113 | resolved "https://registry.npm.taobao.org/resolve-from/download/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" 1114 | integrity sha1-SrzYUq0y3Xuqv+m0DgCjbbXzkuY= 1115 | 1116 | resolve@^1.10.0, resolve@^1.10.1, resolve@^1.11.0, resolve@^1.5.0: 1117 | version "1.12.0" 1118 | resolved "https://registry.npm.taobao.org/resolve/download/resolve-1.12.0.tgz?cache=0&sync_timestamp=1564641434608&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fresolve%2Fdownload%2Fresolve-1.12.0.tgz#3fc644a35c84a48554609ff26ec52b66fa577df6" 1119 | integrity sha1-P8ZEo1yEpIVUYJ/ybsUrZvpXffY= 1120 | dependencies: 1121 | path-parse "^1.0.6" 1122 | 1123 | restore-cursor@^2.0.0: 1124 | version "2.0.0" 1125 | resolved "https://registry.npm.taobao.org/restore-cursor/download/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" 1126 | integrity sha1-n37ih/gv0ybU/RYpI9YhKe7g368= 1127 | dependencies: 1128 | onetime "^2.0.0" 1129 | signal-exit "^3.0.2" 1130 | 1131 | reusify@^1.0.0: 1132 | version "1.0.4" 1133 | resolved "https://registry.npm.taobao.org/reusify/download/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" 1134 | integrity sha1-kNo4Kx4SbvwCFG6QhFqI2xKSXXY= 1135 | 1136 | rimraf@2.6.3: 1137 | version "2.6.3" 1138 | resolved "https://registry.npm.taobao.org/rimraf/download/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" 1139 | integrity sha1-stEE/g2Psnz54KHNqCYt04M8bKs= 1140 | dependencies: 1141 | glob "^7.1.3" 1142 | 1143 | run-async@^2.2.0: 1144 | version "2.3.0" 1145 | resolved "https://registry.npm.taobao.org/run-async/download/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0" 1146 | integrity sha1-A3GrSuC91yDUFm19/aZP96RFpsA= 1147 | dependencies: 1148 | is-promise "^2.1.0" 1149 | 1150 | run-parallel@^1.1.9: 1151 | version "1.1.9" 1152 | resolved "https://registry.npm.taobao.org/run-parallel/download/run-parallel-1.1.9.tgz#c9dd3a7cf9f4b2c4b6244e173a6ed866e61dd679" 1153 | integrity sha1-yd06fPn0ssS2JE4XOm7YZuYd1nk= 1154 | 1155 | rxjs@^6.4.0: 1156 | version "6.5.3" 1157 | resolved "https://registry.npm.taobao.org/rxjs/download/rxjs-6.5.3.tgz#510e26317f4db91a7eb1de77d9dd9ba0a4899a3a" 1158 | integrity sha1-UQ4mMX9NuRp+sd532d2boKSJmjo= 1159 | dependencies: 1160 | tslib "^1.9.0" 1161 | 1162 | "safer-buffer@>= 2.1.2 < 3": 1163 | version "2.1.2" 1164 | resolved "https://registry.npm.taobao.org/safer-buffer/download/safer-buffer-2.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsafer-buffer%2Fdownload%2Fsafer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" 1165 | integrity sha1-RPoWGwGHuVSd2Eu5GAL5vYOFzWo= 1166 | 1167 | "semver@2 || 3 || 4 || 5", semver@^5.5.0: 1168 | version "5.7.1" 1169 | resolved "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz?cache=0&sync_timestamp=1565627380363&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" 1170 | integrity sha1-qVT5Ma66UI0we78Gnv8MAclhFvc= 1171 | 1172 | semver@^6.0.0, semver@^6.1.0, semver@^6.1.2: 1173 | version "6.3.0" 1174 | resolved "https://registry.npm.taobao.org/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1565627380363&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" 1175 | integrity sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0= 1176 | 1177 | shebang-command@^1.2.0: 1178 | version "1.2.0" 1179 | resolved "https://registry.npm.taobao.org/shebang-command/download/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" 1180 | integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= 1181 | dependencies: 1182 | shebang-regex "^1.0.0" 1183 | 1184 | shebang-regex@^1.0.0: 1185 | version "1.0.0" 1186 | resolved "https://registry.npm.taobao.org/shebang-regex/download/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" 1187 | integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= 1188 | 1189 | signal-exit@^3.0.2: 1190 | version "3.0.2" 1191 | resolved "https://registry.npm.taobao.org/signal-exit/download/signal-exit-3.0.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsignal-exit%2Fdownload%2Fsignal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" 1192 | integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0= 1193 | 1194 | slash@^3.0.0: 1195 | version "3.0.0" 1196 | resolved "https://registry.npm.taobao.org/slash/download/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" 1197 | integrity sha1-ZTm+hwwWWtvVJAIg2+Nh8bxNRjQ= 1198 | 1199 | slice-ansi@^2.1.0: 1200 | version "2.1.0" 1201 | resolved "https://registry.npm.taobao.org/slice-ansi/download/slice-ansi-2.1.0.tgz#cacd7693461a637a5788d92a7dd4fba068e81636" 1202 | integrity sha1-ys12k0YaY3pXiNkqfdT7oGjoFjY= 1203 | dependencies: 1204 | ansi-styles "^3.2.0" 1205 | astral-regex "^1.0.0" 1206 | is-fullwidth-code-point "^2.0.0" 1207 | 1208 | spdx-correct@^3.0.0: 1209 | version "3.1.0" 1210 | resolved "https://registry.npm.taobao.org/spdx-correct/download/spdx-correct-3.1.0.tgz#fb83e504445268f154b074e218c87c003cd31df4" 1211 | integrity sha1-+4PlBERSaPFUsHTiGMh8ADzTHfQ= 1212 | dependencies: 1213 | spdx-expression-parse "^3.0.0" 1214 | spdx-license-ids "^3.0.0" 1215 | 1216 | spdx-exceptions@^2.1.0: 1217 | version "2.2.0" 1218 | resolved "https://registry.npm.taobao.org/spdx-exceptions/download/spdx-exceptions-2.2.0.tgz#2ea450aee74f2a89bfb94519c07fcd6f41322977" 1219 | integrity sha1-LqRQrudPKom/uUUZwH/Nb0EyKXc= 1220 | 1221 | spdx-expression-parse@^3.0.0: 1222 | version "3.0.0" 1223 | resolved "https://registry.npm.taobao.org/spdx-expression-parse/download/spdx-expression-parse-3.0.0.tgz#99e119b7a5da00e05491c9fa338b7904823b41d0" 1224 | integrity sha1-meEZt6XaAOBUkcn6M4t5BII7QdA= 1225 | dependencies: 1226 | spdx-exceptions "^2.1.0" 1227 | spdx-license-ids "^3.0.0" 1228 | 1229 | spdx-license-ids@^3.0.0: 1230 | version "3.0.5" 1231 | resolved "https://registry.npm.taobao.org/spdx-license-ids/download/spdx-license-ids-3.0.5.tgz#3694b5804567a458d3c8045842a6358632f62654" 1232 | integrity sha1-NpS1gEVnpFjTyARYQqY1hjL2JlQ= 1233 | 1234 | sprintf-js@~1.0.2: 1235 | version "1.0.3" 1236 | resolved "https://registry.npm.taobao.org/sprintf-js/download/sprintf-js-1.0.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsprintf-js%2Fdownload%2Fsprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" 1237 | integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= 1238 | 1239 | string-width@^2.1.0: 1240 | version "2.1.1" 1241 | resolved "https://registry.npm.taobao.org/string-width/download/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" 1242 | integrity sha1-q5Pyeo3BPSjKyBXEYhQ6bZASrp4= 1243 | dependencies: 1244 | is-fullwidth-code-point "^2.0.0" 1245 | strip-ansi "^4.0.0" 1246 | 1247 | string-width@^3.0.0: 1248 | version "3.1.0" 1249 | resolved "https://registry.npm.taobao.org/string-width/download/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" 1250 | integrity sha1-InZ74htirxCBV0MG9prFG2IgOWE= 1251 | dependencies: 1252 | emoji-regex "^7.0.1" 1253 | is-fullwidth-code-point "^2.0.0" 1254 | strip-ansi "^5.1.0" 1255 | 1256 | string.prototype.trimleft@^2.0.0: 1257 | version "2.1.0" 1258 | resolved "https://registry.npm.taobao.org/string.prototype.trimleft/download/string.prototype.trimleft-2.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring.prototype.trimleft%2Fdownload%2Fstring.prototype.trimleft-2.1.0.tgz#6cc47f0d7eb8d62b0f3701611715a3954591d634" 1259 | integrity sha1-bMR/DX641isPNwFhFxWjlUWR1jQ= 1260 | dependencies: 1261 | define-properties "^1.1.3" 1262 | function-bind "^1.1.1" 1263 | 1264 | string.prototype.trimright@^2.0.0: 1265 | version "2.1.0" 1266 | resolved "https://registry.npm.taobao.org/string.prototype.trimright/download/string.prototype.trimright-2.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring.prototype.trimright%2Fdownload%2Fstring.prototype.trimright-2.1.0.tgz#669d164be9df9b6f7559fa8e89945b168a5a6c58" 1267 | integrity sha1-Zp0WS+nfm291WfqOiZRbFopabFg= 1268 | dependencies: 1269 | define-properties "^1.1.3" 1270 | function-bind "^1.1.1" 1271 | 1272 | strip-ansi@^4.0.0: 1273 | version "4.0.0" 1274 | resolved "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" 1275 | integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= 1276 | dependencies: 1277 | ansi-regex "^3.0.0" 1278 | 1279 | strip-ansi@^5.1.0, strip-ansi@^5.2.0: 1280 | version "5.2.0" 1281 | resolved "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" 1282 | integrity sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4= 1283 | dependencies: 1284 | ansi-regex "^4.1.0" 1285 | 1286 | strip-bom@^3.0.0: 1287 | version "3.0.0" 1288 | resolved "https://registry.npm.taobao.org/strip-bom/download/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" 1289 | integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= 1290 | 1291 | strip-json-comments@^3.0.1: 1292 | version "3.0.1" 1293 | resolved "https://registry.npm.taobao.org/strip-json-comments/download/strip-json-comments-3.0.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-json-comments%2Fdownload%2Fstrip-json-comments-3.0.1.tgz#85713975a91fb87bf1b305cca77395e40d2a64a7" 1294 | integrity sha1-hXE5dakfuHvxswXMp3OV5A0qZKc= 1295 | 1296 | supports-color@^5.3.0: 1297 | version "5.5.0" 1298 | resolved "https://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" 1299 | integrity sha1-4uaaRKyHcveKHsCzW2id9lMO/I8= 1300 | dependencies: 1301 | has-flag "^3.0.0" 1302 | 1303 | table@^5.2.3: 1304 | version "5.4.6" 1305 | resolved "https://registry.npm.taobao.org/table/download/table-5.4.6.tgz#1292d19500ce3f86053b05f0e8e7e4a3bb21079e" 1306 | integrity sha1-EpLRlQDOP4YFOwXw6Ofko7shB54= 1307 | dependencies: 1308 | ajv "^6.10.2" 1309 | lodash "^4.17.14" 1310 | slice-ansi "^2.1.0" 1311 | string-width "^3.0.0" 1312 | 1313 | text-table@^0.2.0: 1314 | version "0.2.0" 1315 | resolved "https://registry.npm.taobao.org/text-table/download/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" 1316 | integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= 1317 | 1318 | through@^2.3.6: 1319 | version "2.3.8" 1320 | resolved "https://registry.npm.taobao.org/through/download/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" 1321 | integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= 1322 | 1323 | tmp@^0.0.33: 1324 | version "0.0.33" 1325 | resolved "https://registry.npm.taobao.org/tmp/download/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" 1326 | integrity sha1-bTQzWIl2jSGyvNoKonfO07G/rfk= 1327 | dependencies: 1328 | os-tmpdir "~1.0.2" 1329 | 1330 | to-regex-range@^5.0.1: 1331 | version "5.0.1" 1332 | resolved "https://registry.npm.taobao.org/to-regex-range/download/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" 1333 | integrity sha1-FkjESq58jZiKMmAY7XL1tN0DkuQ= 1334 | dependencies: 1335 | is-number "^7.0.0" 1336 | 1337 | tslib@^1.9.0: 1338 | version "1.10.0" 1339 | resolved "https://registry.npm.taobao.org/tslib/download/tslib-1.10.0.tgz#c3c19f95973fb0a62973fb09d90d961ee43e5c8a" 1340 | integrity sha1-w8GflZc/sKYpc/sJ2Q2WHuQ+XIo= 1341 | 1342 | type-check@~0.3.2: 1343 | version "0.3.2" 1344 | resolved "https://registry.npm.taobao.org/type-check/download/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" 1345 | integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= 1346 | dependencies: 1347 | prelude-ls "~1.1.2" 1348 | 1349 | uri-js@^4.2.2: 1350 | version "4.2.2" 1351 | resolved "https://registry.npm.taobao.org/uri-js/download/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0" 1352 | integrity sha1-lMVA4f93KVbiKZUHwBCupsiDjrA= 1353 | dependencies: 1354 | punycode "^2.1.0" 1355 | 1356 | v8-compile-cache@^2.0.3: 1357 | version "2.1.0" 1358 | resolved "https://registry.npm.taobao.org/v8-compile-cache/download/v8-compile-cache-2.1.0.tgz#e14de37b31a6d194f5690d67efc4e7f6fc6ab30e" 1359 | integrity sha1-4U3jezGm0ZT1aQ1n78Tn9vxqsw4= 1360 | 1361 | validate-npm-package-license@^3.0.1: 1362 | version "3.0.4" 1363 | resolved "https://registry.npm.taobao.org/validate-npm-package-license/download/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" 1364 | integrity sha1-/JH2uce6FchX9MssXe/uw51PQQo= 1365 | dependencies: 1366 | spdx-correct "^3.0.0" 1367 | spdx-expression-parse "^3.0.0" 1368 | 1369 | vue-eslint-parser@^5.0.0: 1370 | version "5.0.0" 1371 | resolved "https://registry.npm.taobao.org/vue-eslint-parser/download/vue-eslint-parser-5.0.0.tgz#00f4e4da94ec974b821a26ff0ed0f7a78402b8a1" 1372 | integrity sha1-APTk2pTsl0uCGib/DtD3p4QCuKE= 1373 | dependencies: 1374 | debug "^4.1.0" 1375 | eslint-scope "^4.0.0" 1376 | eslint-visitor-keys "^1.0.0" 1377 | espree "^4.1.0" 1378 | esquery "^1.0.1" 1379 | lodash "^4.17.11" 1380 | 1381 | which@^1.2.9: 1382 | version "1.3.1" 1383 | resolved "https://registry.npm.taobao.org/which/download/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" 1384 | integrity sha1-pFBD1U9YBTFtqNYvn1CRjT2nCwo= 1385 | dependencies: 1386 | isexe "^2.0.0" 1387 | 1388 | wordwrap@~1.0.0: 1389 | version "1.0.0" 1390 | resolved "https://registry.npm.taobao.org/wordwrap/download/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" 1391 | integrity sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus= 1392 | 1393 | wrappy@1: 1394 | version "1.0.2" 1395 | resolved "https://registry.npm.taobao.org/wrappy/download/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 1396 | integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= 1397 | 1398 | write@1.0.3: 1399 | version "1.0.3" 1400 | resolved "https://registry.npm.taobao.org/write/download/write-1.0.3.tgz#0800e14523b923a387e415123c865616aae0f5c3" 1401 | integrity sha1-CADhRSO5I6OH5BUSPIZWFqrg9cM= 1402 | dependencies: 1403 | mkdirp "^0.5.1" 1404 | --------------------------------------------------------------------------------
5 | For guide and recipes on how to configure / customize this project, check out the 6 | vue-cli documentation. 10 |