├── .DS_Store ├── .eslintrc.js ├── .github ├── ISSUE_TEMPLATE │ └── bug_report.md └── workflows │ └── main.yml ├── .gitignore ├── .prettierrc ├── LICENSE ├── README-zh_CN.md ├── README-zh_TW.md ├── README.md ├── generator ├── .DS_Store ├── generate │ ├── deleteFile.js │ ├── editPackage.js │ ├── editTsConfig.js │ ├── generateIndex.js │ └── manifest.js ├── index.js ├── template │ ├── vue.config.js │ ├── vueFile │ │ ├── devtools.vue │ │ ├── options.vue │ │ └── popup.vue │ └── vueIndex │ │ ├── vue2Index.js │ │ └── vue3Index.js └── utils.js ├── index.js ├── logo.png ├── package.json ├── prompts.js ├── tea.yaml └── yarn.lock /.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanyu1225/vue-cli-plugin-chrome-extension-cli/54729f6a89d7da960bbb01e7f1fe827d93b7b7e0/.DS_Store -------------------------------------------------------------------------------- /.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | root: true, 3 | env: { 4 | node: true, 5 | webextensions: true, 6 | }, 7 | extends: ['plugin:vue/essential', '@vue/standard'], 8 | rules: { 9 | 'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off', 10 | 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off', 11 | 'camelcase': 'off', 12 | }, 13 | }; -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug report 3 | about: Create a report to help us improve 4 | title: "[BUG]" 5 | labels: bug 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Describe the bug** 11 | A clear and concise description of what the bug is. 12 | 13 | **To Reproduce** 14 | Steps to reproduce the behavior: 15 | 16 | 1. Use Vue cli create project 17 | ``` 18 | Vue CLI v5.0.1 19 | ? Please pick a preset: Manually select features 20 | ? Check the features needed for your project: Babel, TS, CSS Pre-processors, Linter 21 | ? Choose a version of Vue.js that you want to start the project with 3.x 22 | ? Use class-style component syntax? No 23 | ? Use Babel alongside TypeScript (required for modern mode, auto-detected polyfills, transpiling JSX)? Yes 24 | ? Pick a CSS pre-processor (PostCSS, Autoprefixer and CSS Modules are supported by default): Sass/SCSS (with dart-sass) 25 | ? Pick a linter / formatter config: Prettier 26 | ? Pick additional lint features: Lint on save 27 | ? Where do you prefer placing config for Babel, ESLint, etc.? In dedicated config files 28 | ? Save this as a preset for future projects? No 29 | ``` 30 | 31 | 2. Install chrome-extension-cli Plugin 32 | ``` 33 | ? Name of the Chrome Extension? chrome-extension-name 34 | ? Description for the Chrome Extension? chrome extension 35 | ? Version for the Chrome Extension? 0.0.1 36 | ? manifest_version for the Chrome Extension? 3 37 | ? delete Initial file? (src/main.js src/components public/index.html public/favicon) Yes 38 | ? Please select the required components : background, popup, content 39 | ``` 40 | 5. See error ```something error...``` 41 | 42 | **Expected behavior** 43 | A clear and concise description of what you expected to happen. 44 | 45 | **Screenshots** 46 | If applicable, add screenshots to help explain your problem. 47 | 48 | 49 | ***please complete the following information:*** 50 | - Node Version: [16.14.0] 51 | - OS: [Mac OS Big Sur] 52 | - Vue Cli Version [5.0.1] 53 | 54 | **Additional context** 55 | Add any other context about the problem here. 56 | -------------------------------------------------------------------------------- /.github/workflows/main.yml: -------------------------------------------------------------------------------- 1 | name: publish 2 | env: 3 | CI: true 4 | on: 5 | push: 6 | branches: 7 | - main 8 | 9 | jobs: 10 | release: 11 | name: Setup 12 | runs-on: ubuntu-latest 13 | steps: 14 | - name: checkout 15 | uses: actions/checkout@v2 16 | - name: setup Node 17 | uses: actions/setup-node@v2 18 | with: 19 | node-version: 15 20 | registry-url: "https://npm.pkg.github.com" 21 | # - name: install Package 22 | # run: npm install 23 | # - name: test 24 | # run: npm test 25 | # Publish to npm if this version is not published 26 | - name: Publish To NPM 📦 27 | uses: JS-DevTools/npm-publish@v1 28 | with: 29 | token: ${{ secrets.NPM_TOKEN }} 30 | # Push tag to GitHub if package.json version's tag is not tagged 31 | - name: package-version 32 | run: node -p -e '`PACKAGE_VERSION=${require("./package.json").version}`' >> $GITHUB_ENV 33 | - name: package-version-to-git-tag 34 | uses: pkgdeps/git-tag-action@v2 35 | with: 36 | github_token: ${{ secrets.GITHUB_TOKEN }} 37 | github_repo: ${{ github.repository }} 38 | version: ${{ env.PACKAGE_VERSION }} 39 | git_commit_sha: ${{ github.sha }} 40 | git_tag_prefix: "v" 41 | 42 | line-notify: 43 | needs: release 44 | runs-on: ubuntu-latest 45 | steps: 46 | - name: line-notify📱 47 | uses: fjogeleit/http-request-action@master 48 | with: 49 | url: "https://notify-api.line.me/api/notify?message=%22vue-cli-plugin-chrome-extension-cli%22%20is%20success%20publish%20to%20NPM&stickerPackageId=6362&stickerId=11087920" 50 | method: "POST" 51 | contentType: "application/x-www-form-urlencoded" 52 | customHeaders: ${{ secrets.LINE_NOTIFY }} 53 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules 3 | /dist 4 | 5 | 6 | # local env files 7 | .env.local 8 | .env.*.local 9 | 10 | # Log files 11 | npm-debug.log* 12 | yarn-debug.log* 13 | yarn-error.log* 14 | pnpm-debug.log* 15 | 16 | # Editor directories and files 17 | .idea 18 | .vscode 19 | *.suo 20 | *.ntvs* 21 | *.njsproj 22 | *.sln 23 | *.sw? 24 | -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "arrowParens": "always", 3 | "printWidth": 120, 4 | "singleQuote": true, 5 | "semi": false 6 | } -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021 sanyu1225 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README-zh_CN.md: -------------------------------------------------------------------------------- 1 | # vue-cli-plugin-chrome-extension-cli 2 | 3 | [English](./README.md) | 简体中文 | [繁體中文](./README-zh_TW.md) 4 | 5 | 使用 Vue-CLI 轻松建构 chrome 扩展插件 6 | 7 |

Vue logo

8 | 9 |

10 | Version 11 | License 12 |

13 | 14 | 支援 vue2 vue3 TypeScript 跟 JavaScript! 15 | ## 版本要求 16 | [vue-cli](https://cli.vuejs.org/) 5.0.1 或更高 17 | ## 安裝 18 | 19 | 该插件用于将新项目用于 chrome 扩展。 20 | 21 | ![](https://sanyu1225.github.io/images/shell.gif) 22 | 23 | ## 使用方法? 24 | 25 | ``` 26 | vue create 27 | # 回答要建构的vue专案问答 28 | cd 29 | vue add chrome-extension-cli 30 | # 回答要建构的chrome extension问答 31 | # 🎉 32 | ``` 33 | 34 | ## 资料夹结构 35 | 36 | ``` 37 | . 38 | ├── public 39 | │ ├── can set image. 40 | ├── src/ 41 | │ ├── assets 42 | │ │ └── Static assets 43 | │ ├── entry 44 | │ │ ├── options.js 45 | │ │ ├── popup.js 46 | | | ├── devtools.js 47 | │ │ ├── content.js 48 | │ │ └── background.js 49 | │ └── view 50 | │ │ ├── popup.vue 51 | │ │ ├── options.vue 52 | | | └── devtools.vue 53 | │ ├── manifest.development.json 54 | │ └── manifest.production.json 55 | └── vue.config.js 56 | ``` 57 | 58 | ### 本地开发 跟 生产模式 59 | 60 | - 使用` npm run build-watch`运行开发模式,将生成一个`dist`文件。 安装[Extension Reloader](https://chrome.google.com/webstore/detail/extensions-reloader/fimgfedafeadlieiabdeeaodndnlbhid),以便在热更新。 (注意,当您更改 manifest.json 文件时,它不会自动加载,您需要点选 extension 页面中的更新) 61 | - 生产模式 `npm run build`,并将其压缩成 zip 并部署到 chrome 商店中。 62 | 63 | ### prompts.js 64 | 65 | 对话都是通过[inquirer.js](https://github.com/SBoudrias/Inquirer.js) api.实现 66 | 67 | ## Credit 68 | 69 | - https://github.com/zwenza/vue-cli-plugin-build-watch 70 | - https://github.com/RequireSun/vue-cli-plugin-chrome-extension 71 | - https://github.com/superoo7/vue-cli-plugin-chrome-ext 72 | 73 | ## License 74 | 75 | [MIT](https://opensource.org/licenses/MIT) 76 | -------------------------------------------------------------------------------- /README-zh_TW.md: -------------------------------------------------------------------------------- 1 | # vue-cli-plugin-chrome-extension-cli 2 | 3 | [English](./README.md) | [简体中文](./README-zh_CN.md) | 繁體中文 4 | 5 |

Vue logo

6 | 7 |

8 | Version 9 | License 10 |

11 | 12 | 使用 Vue-CLI 輕鬆建構 chrome 插件 13 | 14 | 支援 vue2 vue3 TypeScript 跟 JavaScript! 15 | ## 版本要求 16 | [vue-cli](https://cli.vuejs.org/) 5.0.1 或更高 17 | ## 安裝 18 | 19 | 該插件用於將新專案 用於 chrome extension 插件。 20 | 21 | ![](https://sanyu1225.github.io/images/shell.gif) 22 | 23 | ## 使用方法? 24 | 25 | ``` 26 | vue create 27 | # 回答要建構的vue專案問答 28 | cd 29 | vue add chrome-extension-cli 30 | # 回答要建構的chrome extension問答 31 | # 🎉 32 | ``` 33 | 34 | ## 資料夾結構 35 | 36 | ``` 37 | . 38 | ├── public 39 | │ ├── can set image. 40 | ├── src/ 41 | │ ├── assets 42 | │ │ └── Static assets 43 | │ ├── entry 44 | │ │ ├── options.js 45 | │ │ ├── popup.js 46 | | | ├── devtools.js 47 | │ │ ├── content.js 48 | │ │ └── background.js 49 | │ └── view 50 | │ │ ├── popup.vue 51 | │ │ ├── options.vue 52 | | | └── devtools.vue 53 | │ ├── manifest.development.json 54 | │ └── manifest.production.json 55 | └── vue.config.js 56 | ``` 57 | 58 | ### 本地開發 跟 生產模式 59 | 60 | - 使用` npm run build-watch`運行開發模式,將生成一個`dist`文件。 安裝[Extension Reloader](https://chrome.google.com/webstore/detail/extensions-reloader/fimgfedafeadlieiabdeeaodndnlbhid),以便在熱更新。 (注意,當您更改 manifest.json 文件時,它不會自動加載,您需要點選 extension 頁面中的更新) 61 | 62 | - 生產模式 `npm run build`,並將其壓縮成 zip 並部署到 chrome 商店中。 63 | 64 | ### prompts.js 65 | 66 | 對話都是通過[inquirer.js](https://github.com/SBoudrias/Inquirer.js) api.實現 67 | 68 | ## Credit 69 | 70 | - https://github.com/zwenza/vue-cli-plugin-build-watch 71 | - https://github.com/RequireSun/vue-cli-plugin-chrome-extension 72 | - https://github.com/superoo7/vue-cli-plugin-chrome-ext 73 | 74 | ## License 75 | 76 | [MIT](https://opensource.org/licenses/MIT) 77 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # vue-cli-plugin-chrome-extension-cli 2 | 3 | English | [简体中文](./README-zh_CN.md) | [繁體中文](./README-zh_TW.md) 4 | 5 | Start a chrome extension project with Vue-CLI with ease! 6 | 7 |

Vue logo

8 | 9 |

10 | Version 11 | License 12 |

13 | 14 | support vue2 vue3 TypeScript and JavaScript! 15 | ## Requirements 16 | [vue-cli](https://cli.vuejs.org/) 5.0.1 or higher 17 | 18 | ## Installation 19 | 20 | This plugin is meant for using new project for chrome extensions. Tested on default project of Vue, Vue with TypeScript 21 | 22 | ![](https://sanyu1225.github.io/images/shell.gif) 23 | 24 | ## Usage? 25 | 26 | ``` 27 | vue create 28 | # Answer some questions 29 | cd 30 | vue add chrome-extension-cli 31 | # Answer some questions 32 | # 🎉 33 | ``` 34 | 35 | ## File folder 36 | 37 | ``` 38 | . 39 | ├── public 40 | │ ├── can set image. 41 | ├── src/ 42 | │ ├── assets 43 | │ │ └── Static assets 44 | │ ├── entry 45 | │ │ ├── options.js 46 | │ │ ├── popup.js 47 | | | ├── devtools.js 48 | │ │ ├── content.js 49 | │ │ └── background.js 50 | │ └── view 51 | │ │ ├── popup.vue 52 | │ │ ├── options.vue 53 | | | └── devtools.vue 54 | │ ├── manifest.development.json 55 | │ └── manifest.production.json 56 | └── vue.config.js 57 | ``` 58 | 59 | ### Run Development mode and Production 60 | 61 | - Run development mode with `npm run build-watch` and a `dist` file will be generated. Install [Extension Reloader](https://chrome.google.com/webstore/detail/extensions-reloader/fimgfedafeadlieiabdeeaodndnlbhid) to reload chrome extensions easily everytime you reload. (take note that when u change manifest.json file, it will not automatically load, you need to click update extension ) 62 | 63 | - Build for production `npm run build` and zip it and deploy onto chrome store. 64 | ### prompts.js 65 | 66 | Vue CLI prompt is based on [inquirer.js](https://github.com/SBoudrias/Inquirer.js) api. 67 | 68 | ## Credit 69 | 70 | - https://github.com/zwenza/vue-cli-plugin-build-watch 71 | - https://github.com/RequireSun/vue-cli-plugin-chrome-extension 72 | - https://github.com/superoo7/vue-cli-plugin-chrome-ext 73 | 74 | ## License 75 | 76 | [MIT](https://opensource.org/licenses/MIT) 77 | -------------------------------------------------------------------------------- /generator/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanyu1225/vue-cli-plugin-chrome-extension-cli/54729f6a89d7da960bbb01e7f1fe827d93b7b7e0/generator/.DS_Store -------------------------------------------------------------------------------- /generator/generate/deleteFile.js: -------------------------------------------------------------------------------- 1 | const fs = require('fs') 2 | 3 | // remove folder all file 4 | const deleteFolderFile = (path) => { 5 | try { 6 | let files = [] 7 | if (fs.existsSync(path)) { 8 | files = fs.readdirSync(path) 9 | files.forEach(function (file, index) { 10 | let curPath = path + '/' + file 11 | if (fs.statSync(curPath).isDirectory()) { // recurse 12 | deleteFolderFile(curPath) 13 | } else { // delete file 14 | fs.unlinkSync(curPath) 15 | } 16 | }) 17 | fs.rmdirSync(path) 18 | } 19 | } catch (e) { 20 | console.log('remove folder error', e) 21 | } 22 | } 23 | 24 | const deleteFile = (path, isTypeScript) => { 25 | try { 26 | // remove main.js 27 | fs.unlinkSync(`${path}/src/main.${isTypeScript ? 'ts' : 'js'}`) 28 | // remove App.vue 29 | fs.unlinkSync(`${path}/src/App.vue`) 30 | // remove components 31 | deleteFolderFile(`${path}/src/components`) 32 | } catch (error) { 33 | console.warn('remove file error', error) 34 | } 35 | } 36 | 37 | module.exports = deleteFile 38 | -------------------------------------------------------------------------------- /generator/generate/editPackage.js: -------------------------------------------------------------------------------- 1 | 2 | module.exports = (api, isTypeScript) => { 3 | const extPkg = { 4 | scripts: { 5 | 'build-watch': 'vue-cli-service --env.NODE_ENV=development build-watch --mode development' 6 | }, 7 | eslintConfig: { 8 | env: { 9 | webextensions: true 10 | } 11 | } 12 | } 13 | 14 | if (isTypeScript) { 15 | extPkg.devDependencies = { 16 | ...extPkg.devDependencies, 17 | '@types/chrome': '^0.0.179' 18 | } 19 | } 20 | 21 | api.extendPackage(extPkg) 22 | } 23 | -------------------------------------------------------------------------------- /generator/generate/editTsConfig.js: -------------------------------------------------------------------------------- 1 | const fs = require('fs') 2 | 3 | module.exports = (path) => { 4 | if (!fs.existsSync(path)) return 5 | 6 | function updateTsConfig (json) { 7 | fs.writeFileSync(path, JSON.stringify(json, null, 4), { 8 | encoding: 'utf-8' 9 | }) 10 | } 11 | 12 | const tsConfigFile = fs.readFileSync(path) 13 | const tsConfigJson = JSON.parse(tsConfigFile) 14 | 15 | // No compilerOptions before 16 | if (!tsConfigJson.hasOwnProperty('compilerOptions')) { 17 | const newConfig = { 18 | ...tsConfigJson, 19 | ...{ 20 | compilerOptions: { 21 | types: ['chrome'] 22 | } 23 | } 24 | } 25 | updateTsConfig(newConfig) 26 | return 27 | } 28 | 29 | // Have compilerOptions before and have types options already 30 | if (tsConfigJson.compilerOptions.hasOwnProperty('types')) { 31 | // Push chrome types 32 | tsConfigJson.compilerOptions.types.push('chrome') 33 | updateTsConfig(tsConfigJson) 34 | return 35 | } 36 | // Have compilerOptions before and but no types options before 37 | tsConfigJson.compilerOptions.types = ['chrome'] 38 | updateTsConfig(tsConfigJson) 39 | } 40 | -------------------------------------------------------------------------------- /generator/generate/generateIndex.js: -------------------------------------------------------------------------------- 1 | const generateIndexFile = async (api, vueVersion = 3, isTypeScript, componentsName, name) => { 2 | const fs = require('fs') 3 | 4 | /** devtools should add chrome api */ 5 | function addDevToolsFnc (api, isTypeScript, name) { 6 | api.afterInvoke(() => { 7 | const { EOL } = require('os') 8 | const fs = require('fs') 9 | const path = `./src/entry/devtools.${isTypeScript ? 'ts' : 'js'}` 10 | const contentMain = fs.readFileSync(path, { encoding: 'utf-8' }) 11 | const lines = contentMain.split(/\r?\n/g) 12 | 13 | // const renderIndex = lines.findIndex(line => line.match(/render/)) 14 | lines[2] += `chrome.devtools.panels.create('${name}', '', 'devtools.html')` 15 | 16 | fs.writeFileSync(path, lines.join(EOL), { encoding: 'utf-8' }) 17 | }) 18 | } 19 | 20 | // genrate options or popup vue index and vue file 21 | async function createVueFile (api, vueVersion, isTypeScript, componentsName) { 22 | // vue index 23 | const renderPath = `./src/entry/${componentsName}.${isTypeScript ? 'ts' : 'js'}` 24 | const renderTemplate = `../template/vueIndex/vue${vueVersion}Index.js` 25 | // vue file 26 | const renderVuePath = `./src/view/${componentsName}.vue` 27 | const renderVueTemplate = `../template/vueFile/${componentsName}.vue` 28 | api.render({ 29 | [renderPath]: renderTemplate, 30 | [renderVuePath]: renderVueTemplate 31 | }) 32 | } 33 | 34 | switch (componentsName) { 35 | // just only script file 36 | case 'background': 37 | case 'content': 38 | fs.writeFileSync( 39 | `src/entry/${componentsName}.${!isTypeScript ? 'js' : 'ts'}`, 40 | `console.log('hello world ${componentsName} todo something~')`, 41 | { 42 | encoding: 'utf-8' 43 | } 44 | ) 45 | break 46 | case 'options': 47 | case 'popup': 48 | case 'devtools': 49 | // create vueFile and vueIneex 50 | await createVueFile(api, vueVersion, isTypeScript, componentsName) 51 | if (componentsName === 'devtools') { 52 | addDevToolsFnc(api, isTypeScript, name) 53 | } 54 | break 55 | default: 56 | throw new Error('componentsName was not found!') 57 | } 58 | } 59 | 60 | module.exports = generateIndexFile 61 | -------------------------------------------------------------------------------- /generator/generate/manifest.js: -------------------------------------------------------------------------------- 1 | const generateManifest = (options, manifestPath) => { 2 | const fs = require('fs') 3 | const { version_no: version, manifest_version, description, name, components } = options 4 | const manifestJson = { 5 | manifest_version, 6 | name, 7 | description, 8 | version 9 | } 10 | const mf2_Key = { 11 | 'background': 'background', 12 | 'popup': 'browser_action', 13 | 'content': 'content_scripts', 14 | 'options': 'options_page', 15 | 'devtools': 'devtools_page' 16 | } 17 | const mf3_Key = { 18 | 'background': 'background', 19 | 'popup': 'action', 20 | 'content': 'content_scripts', 21 | 'options': 'options_page', 22 | 'devtools': 'devtools_page' 23 | } 24 | const mf3_content = { 25 | 'background': { 26 | 'service_worker': '/background.js' 27 | }, 28 | 'action': { 29 | 'default_popup': 'popup.html' 30 | }, 31 | 'content_scripts': [{ 32 | 'matches': [''], 33 | 'js': ['/content.js'] 34 | }], 35 | 'options_page': 'options.html', 36 | 'devtools_page': 'devtools.html' 37 | } 38 | const mf2_content = { 39 | 'background': { 40 | 'scripts': ['/background.js'], 41 | 'persistent': false 42 | }, 43 | 'browser_action': { default_popup: 'popup.html' }, 44 | 'content_scripts': [{ 45 | 'matches': [''], 46 | 'js': ['/content.js'] 47 | }], 48 | 'options_page': 'options.html', 49 | 'devtools_page': 'devtools.html' 50 | } 51 | 52 | const prodJSON = JSON.parse(JSON.stringify(manifestJson)) 53 | const devJSON = JSON.parse(JSON.stringify(manifestJson)) 54 | 55 | if (manifest_version === 3) { 56 | components.forEach(element => { 57 | prodJSON[mf3_Key[element]] = mf3_content[mf3_Key[element]] 58 | devJSON[mf3_Key[element]] = mf3_content[mf3_Key[element]] 59 | }) 60 | } else { 61 | components.forEach(element => { 62 | prodJSON[mf2_Key[element]] = mf2_content[mf2_Key[element]] 63 | devJSON[mf2_Key[element]] = mf2_content[mf2_Key[element]] 64 | }) 65 | devJSON['content_security_policy'] = 66 | "script-src 'self' 'unsafe-eval'; object-src 'self'" 67 | } 68 | 69 | /** create dev and prod manifest */ 70 | fs.writeFileSync( 71 | `${manifestPath}/manifest.production.json`, 72 | JSON.stringify(prodJSON, null, 4), 73 | { 74 | encoding: 'utf-8' 75 | } 76 | ) 77 | 78 | fs.writeFileSync( 79 | `${manifestPath}/manifest.development.json`, 80 | JSON.stringify(devJSON, null, 4), 81 | { 82 | encoding: 'utf-8' 83 | } 84 | ) 85 | } 86 | 87 | module.exports = generateManifest 88 | -------------------------------------------------------------------------------- /generator/index.js: -------------------------------------------------------------------------------- 1 | const generateManifest = require('./generate/manifest') 2 | const generateIndex = require('./generate/generateIndex') 3 | const deleteFile = require('./generate/deleteFile') 4 | const editTsConfig = require('./generate/editTsConfig') 5 | const editPackage = require('./generate/editPackage') 6 | const fs = require('fs') 7 | 8 | module.exports = async (api, options, { vueVersion }) => { 9 | const utils = require('./utils')(api) 10 | const isTypeScript = utils.isTypeScriptProject() 11 | const replaceFileString = utils.replaceFileString 12 | const { deleteInitFile, components, name } = options 13 | // create file and empty folder 14 | api.render({ 15 | './vue.config.js': './template/vue.config.js' 16 | }) 17 | 18 | // create empty entry folder 19 | fs.mkdir(`src/entry`, (err) => { 20 | if (err) console.log('create entry folder error') 21 | }) 22 | 23 | // dynamic generate components 24 | components.forEach((e) => { 25 | generateIndex(api, vueVersion, isTypeScript, e, name) 26 | }) 27 | 28 | // extendPackage 29 | editPackage(api, isTypeScript) 30 | 31 | api.onCreateComplete(() => { 32 | generateManifest(options, api.resolve('./src')) // add manifest.json 33 | // edit tsconfig.json 34 | if (isTypeScript) editTsConfig(api.resolve('./tsconfig.json')) 35 | // delete vue Initial file 36 | if (deleteInitFile) deleteFile(api.resolve('./'), isTypeScript) 37 | }) 38 | 39 | // Modify file content 40 | api.afterInvoke(() => { 41 | components.forEach((e) => { 42 | const whiteList = ['popup', 'options', 'devtools'] 43 | if (whiteList.includes(e)) { 44 | const renderPath = `./src/entry/${e}.${isTypeScript ? 'ts' : 'js'}` 45 | replaceFileString(renderPath, /App\.vue/, 'App.vue', `../view/${e}.vue`) 46 | } 47 | }) 48 | }) 49 | } 50 | -------------------------------------------------------------------------------- /generator/template/vue.config.js: -------------------------------------------------------------------------------- 1 | const path = require('path') 2 | const fs = require('fs') 3 | 4 | // Generate pages object 5 | const pages = {} 6 | 7 | function getEntryFile (entryPath) { 8 | let files = fs.readdirSync(entryPath) 9 | return files 10 | } 11 | 12 | const chromeName = getEntryFile(path.resolve(`src/entry`)) 13 | 14 | function getFileExtension (filename) { 15 | return /[.]/.exec(filename) ? /[^.]+$/.exec(filename)[0] : undefined 16 | } 17 | chromeName.forEach((name) => { 18 | const fileExtension = getFileExtension(name) 19 | const fileName = name.replace('.' + fileExtension, '') 20 | pages[fileName] = { 21 | entry: `src/entry/${name}`, 22 | template: 'public/index.html', 23 | filename: `${fileName}.html` 24 | } 25 | }) 26 | 27 | const isDevMode = process.env.NODE_ENV === 'development' 28 | 29 | module.exports = { 30 | pages, 31 | filenameHashing: false, 32 | chainWebpack: (config) => { 33 | config.plugin('copy').use(require('copy-webpack-plugin'), [ 34 | { 35 | patterns: [ 36 | { 37 | from: path.resolve(`src/manifest.${process.env.NODE_ENV}.json`), 38 | to: `${path.resolve('dist')}/manifest.json` 39 | }, 40 | { 41 | from: path.resolve(`public/`), 42 | to: `${path.resolve('dist')}/` 43 | } 44 | ] 45 | } 46 | ]) 47 | }, 48 | configureWebpack: { 49 | output: { 50 | filename: `[name].js`, 51 | chunkFilename: `[name].js` 52 | }, 53 | devtool: isDevMode ? 'inline-source-map' : false 54 | }, 55 | css: { 56 | extract: false // Make sure the css is the same 57 | } 58 | } 59 | -------------------------------------------------------------------------------- /generator/template/vueFile/devtools.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 18 | 19 | 29 | -------------------------------------------------------------------------------- /generator/template/vueFile/options.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 18 | 19 | 29 | -------------------------------------------------------------------------------- /generator/template/vueFile/popup.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 18 | 19 | 29 | -------------------------------------------------------------------------------- /generator/template/vueIndex/vue2Index.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 | -------------------------------------------------------------------------------- /generator/template/vueIndex/vue3Index.js: -------------------------------------------------------------------------------- 1 | import { createApp } from 'vue' 2 | import App from 'App.vue' 3 | 4 | createApp(App).mount('#app') 5 | -------------------------------------------------------------------------------- /generator/utils.js: -------------------------------------------------------------------------------- 1 | const fs = require('fs') 2 | 3 | module.exports = api => { 4 | return { 5 | isTypeScriptProject () { 6 | const tsPath = api.resolve('src/main.ts') 7 | return fs.existsSync(tsPath) 8 | }, 9 | getMain () { 10 | return this.isTypeScriptProject() ? 'src/main.ts' : 'src/main.js' 11 | }, 12 | replaceFileString (path, regex, searchValue, replaceValue) { 13 | const { EOL } = require('os') 14 | const contentMain = fs.readFileSync(api.resolve(path), { encoding: 'utf-8' }) 15 | const lines = contentMain.split(/\r?\n/g) 16 | const renderIndex = lines.findIndex(line => line.match(regex)) 17 | lines[renderIndex] = lines[renderIndex].replace(searchValue, replaceValue) 18 | fs.writeFileSync(api.resolve(path), lines.join(EOL), { encoding: 'utf-8' }) 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /index.js: -------------------------------------------------------------------------------- 1 | module.exports = (api, opts) => { 2 | api.chainWebpack(webpackConfig => { 3 | // remove split chunks for chrome extension, make sure everything in a file 4 | webpackConfig.optimization.delete('splitChunks') 5 | }) 6 | 7 | api.registerCommand('build-watch', (...args) => { 8 | api.configureWebpack(webpackConfig => { 9 | webpackConfig.watch = true 10 | }) 11 | api.service.run('build', ...args) 12 | }) 13 | } 14 | -------------------------------------------------------------------------------- /logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanyu1225/vue-cli-plugin-chrome-extension-cli/54729f6a89d7da960bbb01e7f1fe827d93b7b7e0/logo.png -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "vue-cli-plugin-chrome-extension-cli", 3 | "version": "1.1.4", 4 | "description": "Use Vue CLI generate chrome extension template | generate chrome extension with vue.js", 5 | "author": "sanyu1225 ", 6 | "scripts": {}, 7 | "dependencies": {}, 8 | "devDependencies": { 9 | "@vue/eslint-config-standard": "^3.0.0", 10 | "eslint": "^5.1.0", 11 | "eslint-plugin-vue": "^4.5.0" 12 | }, 13 | "bugs": { 14 | "url": "https://github.com/sanyu1225/vue-cli-plugin-chrome-extension-cli/issues" 15 | }, 16 | "homepage": "https://github.com/sanyu1225/vue-cli-plugin-chrome-extension-cli#readme", 17 | "keywords": [ 18 | "vue", 19 | "vue-cli", 20 | "chrome", 21 | "chrome-extension", 22 | "vue3", 23 | "typeScript", 24 | "javaScript" 25 | ], 26 | "license": "MIT", 27 | "main": "index.js", 28 | "repository": { 29 | "type": "git", 30 | "url": "git+https://github.com/sanyu1225/vue-cli-plugin-chrome-extension-cli.git" 31 | } 32 | } -------------------------------------------------------------------------------- /prompts.js: -------------------------------------------------------------------------------- 1 | module.exports = [{ 2 | name: 'name', 3 | type: 'input', 4 | message: 'Name of the Chrome Extension?', 5 | default: 'chrome-extension-name' 6 | }, 7 | { 8 | name: 'description', 9 | type: 'input', 10 | message: 'Description for the Chrome Extension?', 11 | default: 'chrome extension' 12 | }, 13 | { 14 | name: 'version_no', 15 | type: 'input', 16 | message: 'Version for the Chrome Extension?', 17 | default: '0.0.1' 18 | }, { 19 | name: 'manifest_version', 20 | type: 'list', 21 | message: 'manifest_version for the Chrome Extension?', 22 | choices: [ 23 | 3, 2 24 | ], 25 | default: [3] 26 | }, { 27 | name: 'deleteInitFile', 28 | type: 'confirm', 29 | message: 'delete Initial file? (src/main.js src/components)', 30 | default: true 31 | }, { 32 | name: 'components', 33 | message: 'Please select the required components :', 34 | type: 'checkbox', 35 | choices: [ 36 | 'background', 37 | 'popup', 38 | 'content', 39 | 'options', 40 | 'devtools' 41 | ], 42 | default: ['popup', 'content'] 43 | }] 44 | -------------------------------------------------------------------------------- /tea.yaml: -------------------------------------------------------------------------------- 1 | # https://tea.xyz/what-is-this-file 2 | --- 3 | version: 1.0.0 4 | codeOwners: 5 | - '0xEDB57EFF6AECEda9b3aF96EE17592B5b53fDb2B9' 6 | quorum: 1 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.12.13" 7 | resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.13.tgz#dcfc826beef65e75c50e21d3837d7d95798dd658" 8 | integrity sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g== 9 | dependencies: 10 | "@babel/highlight" "^7.12.13" 11 | 12 | "@babel/helper-validator-identifier@^7.14.0": 13 | version "7.14.0" 14 | resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.0.tgz#d26cad8a47c65286b15df1547319a5d0bcf27288" 15 | integrity sha512-V3ts7zMSu5lfiwWDVWzRDGIN+lnCEUdaXgtVHJgLb1rGaA6jMrtB9EmE7L18foXJIE8Un/A/h6NJfGQp/e1J4A== 16 | 17 | "@babel/highlight@^7.12.13": 18 | version "7.14.0" 19 | resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.14.0.tgz#3197e375711ef6bf834e67d0daec88e4f46113cf" 20 | integrity sha512-YSCOwxvTYEIMSGaBQb5kDDsCopDdiUGsqpatp3fOlI4+2HQSkTmEVWnVuySdAC5EWCqSWWTv0ib63RjR7dTBdg== 21 | dependencies: 22 | "@babel/helper-validator-identifier" "^7.14.0" 23 | chalk "^2.0.0" 24 | js-tokens "^4.0.0" 25 | 26 | "@types/json5@^0.0.29": 27 | version "0.0.29" 28 | resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" 29 | integrity sha1-7ihweulOEdK4J7y+UnC86n8+ce4= 30 | 31 | "@vue/eslint-config-standard@^3.0.0": 32 | version "3.0.5" 33 | resolved "https://registry.yarnpkg.com/@vue/eslint-config-standard/-/eslint-config-standard-3.0.5.tgz#7d6ae809eaec90993c6033d9543f48f687b9ebf1" 34 | integrity sha512-qijT6OWUgsCO/MTC9Qpw4JtRL01cX0+kIikU0bXQxWXyh8WfNnfvxPouo7tKf7W28qqqiGmwDUnbvTB50SLcTw== 35 | dependencies: 36 | eslint-config-standard "^12.0.0-alpha.0" 37 | eslint-plugin-import "^2.11.0" 38 | eslint-plugin-node "^6.0.1" 39 | eslint-plugin-promise "^3.7.0" 40 | eslint-plugin-standard "^3.1.0" 41 | 42 | acorn-jsx@^3.0.0: 43 | version "3.0.1" 44 | resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-3.0.1.tgz#afdf9488fb1ecefc8348f6fb22f464e32a58b36b" 45 | integrity sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s= 46 | dependencies: 47 | acorn "^3.0.4" 48 | 49 | acorn-jsx@^5.0.0: 50 | version "5.3.1" 51 | resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.1.tgz#fc8661e11b7ac1539c47dbfea2e72b3af34d267b" 52 | integrity sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng== 53 | 54 | acorn@^3.0.4: 55 | version "3.3.0" 56 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a" 57 | integrity sha1-ReN/s56No/JbruP/U2niu18iAXo= 58 | 59 | acorn@^5.5.0: 60 | version "5.7.4" 61 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.4.tgz#3e8d8a9947d0599a1796d10225d7432f4a4acf5e" 62 | integrity sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg== 63 | 64 | acorn@^6.0.7: 65 | version "6.4.2" 66 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.2.tgz#35866fd710528e92de10cf06016498e47e39e1e6" 67 | integrity sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ== 68 | 69 | ajv@^6.10.2, ajv@^6.9.1: 70 | version "6.12.6" 71 | resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" 72 | integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== 73 | dependencies: 74 | fast-deep-equal "^3.1.1" 75 | fast-json-stable-stringify "^2.0.0" 76 | json-schema-traverse "^0.4.1" 77 | uri-js "^4.2.2" 78 | 79 | ansi-escapes@^3.2.0: 80 | version "3.2.0" 81 | resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b" 82 | integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ== 83 | 84 | ansi-regex@^3.0.0: 85 | version "3.0.0" 86 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" 87 | integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= 88 | 89 | ansi-regex@^4.1.0: 90 | version "4.1.0" 91 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" 92 | integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== 93 | 94 | ansi-styles@^3.2.0, ansi-styles@^3.2.1: 95 | version "3.2.1" 96 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" 97 | integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== 98 | dependencies: 99 | color-convert "^1.9.0" 100 | 101 | argparse@^1.0.7: 102 | version "1.0.10" 103 | resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" 104 | integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== 105 | dependencies: 106 | sprintf-js "~1.0.2" 107 | 108 | array-includes@^3.1.3: 109 | version "3.1.3" 110 | resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.3.tgz#c7f619b382ad2afaf5326cddfdc0afc61af7690a" 111 | integrity sha512-gcem1KlBU7c9rB+Rq8/3PPKsK2kjqeEBa3bD5kkQo4nYlOHQCJqIJFqBXDEfwaRuYTT4E+FxA9xez7Gf/e3Q7A== 112 | dependencies: 113 | call-bind "^1.0.2" 114 | define-properties "^1.1.3" 115 | es-abstract "^1.18.0-next.2" 116 | get-intrinsic "^1.1.1" 117 | is-string "^1.0.5" 118 | 119 | array.prototype.flat@^1.2.4: 120 | version "1.2.4" 121 | resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.2.4.tgz#6ef638b43312bd401b4c6199fdec7e2dc9e9a123" 122 | integrity sha512-4470Xi3GAPAjZqFcljX2xzckv1qeKPizoNkiS0+O4IoPR2ZNpcjE0pkhdihlDouK+x6QOast26B4Q/O9DJnwSg== 123 | dependencies: 124 | call-bind "^1.0.0" 125 | define-properties "^1.1.3" 126 | es-abstract "^1.18.0-next.1" 127 | 128 | astral-regex@^1.0.0: 129 | version "1.0.0" 130 | resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9" 131 | integrity sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg== 132 | 133 | balanced-match@^1.0.0: 134 | version "1.0.2" 135 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" 136 | integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== 137 | 138 | brace-expansion@^1.1.7: 139 | version "1.1.11" 140 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" 141 | integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== 142 | dependencies: 143 | balanced-match "^1.0.0" 144 | concat-map "0.0.1" 145 | 146 | call-bind@^1.0.0, call-bind@^1.0.2: 147 | version "1.0.2" 148 | resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" 149 | integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== 150 | dependencies: 151 | function-bind "^1.1.1" 152 | get-intrinsic "^1.0.2" 153 | 154 | callsites@^3.0.0: 155 | version "3.1.0" 156 | resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" 157 | integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== 158 | 159 | chalk@^2.0.0, chalk@^2.1.0, chalk@^2.4.2: 160 | version "2.4.2" 161 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" 162 | integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== 163 | dependencies: 164 | ansi-styles "^3.2.1" 165 | escape-string-regexp "^1.0.5" 166 | supports-color "^5.3.0" 167 | 168 | chardet@^0.7.0: 169 | version "0.7.0" 170 | resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" 171 | integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== 172 | 173 | cli-cursor@^2.1.0: 174 | version "2.1.0" 175 | resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" 176 | integrity sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU= 177 | dependencies: 178 | restore-cursor "^2.0.0" 179 | 180 | cli-width@^2.0.0: 181 | version "2.2.1" 182 | resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.1.tgz#b0433d0b4e9c847ef18868a4ef16fd5fc8271c48" 183 | integrity sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw== 184 | 185 | color-convert@^1.9.0: 186 | version "1.9.3" 187 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" 188 | integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== 189 | dependencies: 190 | color-name "1.1.3" 191 | 192 | color-name@1.1.3: 193 | version "1.1.3" 194 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" 195 | integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= 196 | 197 | concat-map@0.0.1: 198 | version "0.0.1" 199 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 200 | integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= 201 | 202 | cross-spawn@^6.0.5: 203 | version "6.0.5" 204 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" 205 | integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== 206 | dependencies: 207 | nice-try "^1.0.4" 208 | path-key "^2.0.1" 209 | semver "^5.5.0" 210 | shebang-command "^1.2.0" 211 | which "^1.2.9" 212 | 213 | debug@^2.6.9: 214 | version "2.6.9" 215 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" 216 | integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== 217 | dependencies: 218 | ms "2.0.0" 219 | 220 | debug@^3.1.0, debug@^3.2.7: 221 | version "3.2.7" 222 | resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" 223 | integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== 224 | dependencies: 225 | ms "^2.1.1" 226 | 227 | debug@^4.0.1: 228 | version "4.3.1" 229 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee" 230 | integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ== 231 | dependencies: 232 | ms "2.1.2" 233 | 234 | deep-is@~0.1.3: 235 | version "0.1.3" 236 | resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" 237 | integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= 238 | 239 | define-properties@^1.1.3: 240 | version "1.1.3" 241 | resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" 242 | integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== 243 | dependencies: 244 | object-keys "^1.0.12" 245 | 246 | doctrine@^2.1.0: 247 | version "2.1.0" 248 | resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" 249 | integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== 250 | dependencies: 251 | esutils "^2.0.2" 252 | 253 | doctrine@^3.0.0: 254 | version "3.0.0" 255 | resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" 256 | integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== 257 | dependencies: 258 | esutils "^2.0.2" 259 | 260 | emoji-regex@^7.0.1: 261 | version "7.0.3" 262 | resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" 263 | integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== 264 | 265 | error-ex@^1.3.1: 266 | version "1.3.2" 267 | resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" 268 | integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== 269 | dependencies: 270 | is-arrayish "^0.2.1" 271 | 272 | es-abstract@^1.18.0-next.1, es-abstract@^1.18.0-next.2, es-abstract@^1.18.2: 273 | version "1.18.3" 274 | resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.18.3.tgz#25c4c3380a27aa203c44b2b685bba94da31b63e0" 275 | integrity sha512-nQIr12dxV7SSxE6r6f1l3DtAeEYdsGpps13dR0TwJg1S8gyp4ZPgy3FZcHBgbiQqnoqSTb+oC+kO4UQ0C/J8vw== 276 | dependencies: 277 | call-bind "^1.0.2" 278 | es-to-primitive "^1.2.1" 279 | function-bind "^1.1.1" 280 | get-intrinsic "^1.1.1" 281 | has "^1.0.3" 282 | has-symbols "^1.0.2" 283 | is-callable "^1.2.3" 284 | is-negative-zero "^2.0.1" 285 | is-regex "^1.1.3" 286 | is-string "^1.0.6" 287 | object-inspect "^1.10.3" 288 | object-keys "^1.1.1" 289 | object.assign "^4.1.2" 290 | string.prototype.trimend "^1.0.4" 291 | string.prototype.trimstart "^1.0.4" 292 | unbox-primitive "^1.0.1" 293 | 294 | es-to-primitive@^1.2.1: 295 | version "1.2.1" 296 | resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" 297 | integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== 298 | dependencies: 299 | is-callable "^1.1.4" 300 | is-date-object "^1.0.1" 301 | is-symbol "^1.0.2" 302 | 303 | escape-string-regexp@^1.0.5: 304 | version "1.0.5" 305 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" 306 | integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= 307 | 308 | eslint-config-standard@^12.0.0-alpha.0: 309 | version "12.0.0" 310 | resolved "https://registry.yarnpkg.com/eslint-config-standard/-/eslint-config-standard-12.0.0.tgz#638b4c65db0bd5a41319f96bba1f15ddad2107d9" 311 | integrity sha512-COUz8FnXhqFitYj4DTqHzidjIL/t4mumGZto5c7DrBpvWoie+Sn3P4sLEzUGeYhRElWuFEf8K1S1EfvD1vixCQ== 312 | 313 | eslint-import-resolver-node@^0.3.4: 314 | version "0.3.4" 315 | resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.4.tgz#85ffa81942c25012d8231096ddf679c03042c717" 316 | integrity sha512-ogtf+5AB/O+nM6DIeBUNr2fuT7ot9Qg/1harBfBtaP13ekEWFQEEMP94BCB7zaNW3gyY+8SHYF00rnqYwXKWOA== 317 | dependencies: 318 | debug "^2.6.9" 319 | resolve "^1.13.1" 320 | 321 | eslint-module-utils@^2.6.1: 322 | version "2.6.1" 323 | resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.6.1.tgz#b51be1e473dd0de1c5ea638e22429c2490ea8233" 324 | integrity sha512-ZXI9B8cxAJIH4nfkhTwcRTEAnrVfobYqwjWy/QMCZ8rHkZHFjf9yO4BzpiF9kCSfNlMG54eKigISHpX0+AaT4A== 325 | dependencies: 326 | debug "^3.2.7" 327 | pkg-dir "^2.0.0" 328 | 329 | eslint-plugin-import@^2.11.0: 330 | version "2.23.4" 331 | resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.23.4.tgz#8dceb1ed6b73e46e50ec9a5bb2411b645e7d3d97" 332 | integrity sha512-6/wP8zZRsnQFiR3iaPFgh5ImVRM1WN5NUWfTIRqwOdeiGJlBcSk82o1FEVq8yXmy4lkIzTo7YhHCIxlU/2HyEQ== 333 | dependencies: 334 | array-includes "^3.1.3" 335 | array.prototype.flat "^1.2.4" 336 | debug "^2.6.9" 337 | doctrine "^2.1.0" 338 | eslint-import-resolver-node "^0.3.4" 339 | eslint-module-utils "^2.6.1" 340 | find-up "^2.0.0" 341 | has "^1.0.3" 342 | is-core-module "^2.4.0" 343 | minimatch "^3.0.4" 344 | object.values "^1.1.3" 345 | pkg-up "^2.0.0" 346 | read-pkg-up "^3.0.0" 347 | resolve "^1.20.0" 348 | tsconfig-paths "^3.9.0" 349 | 350 | eslint-plugin-node@^6.0.1: 351 | version "6.0.1" 352 | resolved "https://registry.yarnpkg.com/eslint-plugin-node/-/eslint-plugin-node-6.0.1.tgz#bf19642298064379315d7a4b2a75937376fa05e4" 353 | integrity sha512-Q/Cc2sW1OAISDS+Ji6lZS2KV4b7ueA/WydVWd1BECTQwVvfQy5JAi3glhINoKzoMnfnuRgNP+ZWKrGAbp3QDxw== 354 | dependencies: 355 | ignore "^3.3.6" 356 | minimatch "^3.0.4" 357 | resolve "^1.3.3" 358 | semver "^5.4.1" 359 | 360 | eslint-plugin-promise@^3.7.0: 361 | version "3.8.0" 362 | resolved "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-3.8.0.tgz#65ebf27a845e3c1e9d6f6a5622ddd3801694b621" 363 | integrity sha512-JiFL9UFR15NKpHyGii1ZcvmtIqa3UTwiDAGb8atSffe43qJ3+1czVGN6UtkklpcJ2DVnqvTMzEKRaJdBkAL2aQ== 364 | 365 | eslint-plugin-standard@^3.1.0: 366 | version "3.1.0" 367 | resolved "https://registry.yarnpkg.com/eslint-plugin-standard/-/eslint-plugin-standard-3.1.0.tgz#2a9e21259ba4c47c02d53b2d0c9135d4b1022d47" 368 | integrity sha512-fVcdyuKRr0EZ4fjWl3c+gp1BANFJD1+RaWa2UPYfMZ6jCtp5RG00kSaXnK/dE5sYzt4kaWJ9qdxqUfc0d9kX0w== 369 | 370 | eslint-plugin-vue@^4.5.0: 371 | version "4.7.1" 372 | resolved "https://registry.yarnpkg.com/eslint-plugin-vue/-/eslint-plugin-vue-4.7.1.tgz#c829b9fc62582c1897b5a0b94afd44ecca511e63" 373 | integrity sha512-esETKhVMI7Vdli70Wt4bvAwnZBJeM0pxVX9Yb0wWKxdCJc2EADalVYK/q2FzMw8oKN0wPMdqVCKS8kmR89recA== 374 | dependencies: 375 | vue-eslint-parser "^2.0.3" 376 | 377 | eslint-scope@^3.7.1: 378 | version "3.7.3" 379 | resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-3.7.3.tgz#bb507200d3d17f60247636160b4826284b108535" 380 | integrity sha512-W+B0SvF4gamyCTmUc+uITPY0989iXVfKvhwtmJocTaYoc/3khEHmEmvfY/Gn9HA9VV75jrQECsHizkNw1b68FA== 381 | dependencies: 382 | esrecurse "^4.1.0" 383 | estraverse "^4.1.1" 384 | 385 | eslint-scope@^4.0.3: 386 | version "4.0.3" 387 | resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.3.tgz#ca03833310f6889a3264781aa82e63eb9cfe7848" 388 | integrity sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg== 389 | dependencies: 390 | esrecurse "^4.1.0" 391 | estraverse "^4.1.1" 392 | 393 | eslint-utils@^1.3.1: 394 | version "1.4.3" 395 | resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.4.3.tgz#74fec7c54d0776b6f67e0251040b5806564e981f" 396 | integrity sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q== 397 | dependencies: 398 | eslint-visitor-keys "^1.1.0" 399 | 400 | eslint-visitor-keys@^1.0.0, eslint-visitor-keys@^1.1.0: 401 | version "1.3.0" 402 | resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" 403 | integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== 404 | 405 | eslint@^5.1.0: 406 | version "5.16.0" 407 | resolved "https://registry.yarnpkg.com/eslint/-/eslint-5.16.0.tgz#a1e3ac1aae4a3fbd8296fcf8f7ab7314cbb6abea" 408 | integrity sha512-S3Rz11i7c8AA5JPv7xAH+dOyq/Cu/VXHiHXBPOU1k/JAM5dXqQPt3qcrhpHSorXmrpu2g0gkIBVXAqCpzfoZIg== 409 | dependencies: 410 | "@babel/code-frame" "^7.0.0" 411 | ajv "^6.9.1" 412 | chalk "^2.1.0" 413 | cross-spawn "^6.0.5" 414 | debug "^4.0.1" 415 | doctrine "^3.0.0" 416 | eslint-scope "^4.0.3" 417 | eslint-utils "^1.3.1" 418 | eslint-visitor-keys "^1.0.0" 419 | espree "^5.0.1" 420 | esquery "^1.0.1" 421 | esutils "^2.0.2" 422 | file-entry-cache "^5.0.1" 423 | functional-red-black-tree "^1.0.1" 424 | glob "^7.1.2" 425 | globals "^11.7.0" 426 | ignore "^4.0.6" 427 | import-fresh "^3.0.0" 428 | imurmurhash "^0.1.4" 429 | inquirer "^6.2.2" 430 | js-yaml "^3.13.0" 431 | json-stable-stringify-without-jsonify "^1.0.1" 432 | levn "^0.3.0" 433 | lodash "^4.17.11" 434 | minimatch "^3.0.4" 435 | mkdirp "^0.5.1" 436 | natural-compare "^1.4.0" 437 | optionator "^0.8.2" 438 | path-is-inside "^1.0.2" 439 | progress "^2.0.0" 440 | regexpp "^2.0.1" 441 | semver "^5.5.1" 442 | strip-ansi "^4.0.0" 443 | strip-json-comments "^2.0.1" 444 | table "^5.2.3" 445 | text-table "^0.2.0" 446 | 447 | espree@^3.5.2: 448 | version "3.5.4" 449 | resolved "https://registry.yarnpkg.com/espree/-/espree-3.5.4.tgz#b0f447187c8a8bed944b815a660bddf5deb5d1a7" 450 | integrity sha512-yAcIQxtmMiB/jL32dzEp2enBeidsB7xWPLNiw3IIkpVds1P+h7qF9YwJq1yUNzp2OKXgAprs4F61ih66UsoD1A== 451 | dependencies: 452 | acorn "^5.5.0" 453 | acorn-jsx "^3.0.0" 454 | 455 | espree@^5.0.1: 456 | version "5.0.1" 457 | resolved "https://registry.yarnpkg.com/espree/-/espree-5.0.1.tgz#5d6526fa4fc7f0788a5cf75b15f30323e2f81f7a" 458 | integrity sha512-qWAZcWh4XE/RwzLJejfcofscgMc9CamR6Tn1+XRXNzrvUSSbiAjGOI/fggztjIi7y9VLPqnICMIPiGyr8JaZ0A== 459 | dependencies: 460 | acorn "^6.0.7" 461 | acorn-jsx "^5.0.0" 462 | eslint-visitor-keys "^1.0.0" 463 | 464 | esprima@^4.0.0: 465 | version "4.0.1" 466 | resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" 467 | integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== 468 | 469 | esquery@^1.0.0, esquery@^1.0.1: 470 | version "1.4.0" 471 | resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.4.0.tgz#2148ffc38b82e8c7057dfed48425b3e61f0f24a5" 472 | integrity sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w== 473 | dependencies: 474 | estraverse "^5.1.0" 475 | 476 | esrecurse@^4.1.0: 477 | version "4.3.0" 478 | resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" 479 | integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== 480 | dependencies: 481 | estraverse "^5.2.0" 482 | 483 | estraverse@^4.1.1: 484 | version "4.3.0" 485 | resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" 486 | integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== 487 | 488 | estraverse@^5.1.0, estraverse@^5.2.0: 489 | version "5.2.0" 490 | resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880" 491 | integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ== 492 | 493 | esutils@^2.0.2: 494 | version "2.0.3" 495 | resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" 496 | integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== 497 | 498 | external-editor@^3.0.3: 499 | version "3.1.0" 500 | resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495" 501 | integrity sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew== 502 | dependencies: 503 | chardet "^0.7.0" 504 | iconv-lite "^0.4.24" 505 | tmp "^0.0.33" 506 | 507 | fast-deep-equal@^3.1.1: 508 | version "3.1.3" 509 | resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" 510 | integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== 511 | 512 | fast-json-stable-stringify@^2.0.0: 513 | version "2.1.0" 514 | resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" 515 | integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== 516 | 517 | fast-levenshtein@~2.0.6: 518 | version "2.0.6" 519 | resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" 520 | integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= 521 | 522 | figures@^2.0.0: 523 | version "2.0.0" 524 | resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962" 525 | integrity sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI= 526 | dependencies: 527 | escape-string-regexp "^1.0.5" 528 | 529 | file-entry-cache@^5.0.1: 530 | version "5.0.1" 531 | resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-5.0.1.tgz#ca0f6efa6dd3d561333fb14515065c2fafdf439c" 532 | integrity sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g== 533 | dependencies: 534 | flat-cache "^2.0.1" 535 | 536 | find-up@^2.0.0, find-up@^2.1.0: 537 | version "2.1.0" 538 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" 539 | integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c= 540 | dependencies: 541 | locate-path "^2.0.0" 542 | 543 | flat-cache@^2.0.1: 544 | version "2.0.1" 545 | resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-2.0.1.tgz#5d296d6f04bda44a4630a301413bdbc2ec085ec0" 546 | integrity sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA== 547 | dependencies: 548 | flatted "^2.0.0" 549 | rimraf "2.6.3" 550 | write "1.0.3" 551 | 552 | flatted@^2.0.0: 553 | version "2.0.2" 554 | resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.2.tgz#4575b21e2bcee7434aa9be662f4b7b5f9c2b5138" 555 | integrity sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA== 556 | 557 | fs.realpath@^1.0.0: 558 | version "1.0.0" 559 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 560 | integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= 561 | 562 | function-bind@^1.1.1: 563 | version "1.1.1" 564 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" 565 | integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== 566 | 567 | functional-red-black-tree@^1.0.1: 568 | version "1.0.1" 569 | resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" 570 | integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= 571 | 572 | get-intrinsic@^1.0.2, get-intrinsic@^1.1.1: 573 | version "1.1.1" 574 | resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6" 575 | integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q== 576 | dependencies: 577 | function-bind "^1.1.1" 578 | has "^1.0.3" 579 | has-symbols "^1.0.1" 580 | 581 | glob@^7.1.2, glob@^7.1.3: 582 | version "7.1.7" 583 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90" 584 | integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ== 585 | dependencies: 586 | fs.realpath "^1.0.0" 587 | inflight "^1.0.4" 588 | inherits "2" 589 | minimatch "^3.0.4" 590 | once "^1.3.0" 591 | path-is-absolute "^1.0.0" 592 | 593 | globals@^11.7.0: 594 | version "11.12.0" 595 | resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" 596 | integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== 597 | 598 | graceful-fs@^4.1.2: 599 | version "4.2.6" 600 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.6.tgz#ff040b2b0853b23c3d31027523706f1885d76bee" 601 | integrity sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ== 602 | 603 | has-bigints@^1.0.1: 604 | version "1.0.1" 605 | resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.1.tgz#64fe6acb020673e3b78db035a5af69aa9d07b113" 606 | integrity sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA== 607 | 608 | has-flag@^3.0.0: 609 | version "3.0.0" 610 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" 611 | integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= 612 | 613 | has-symbols@^1.0.1, has-symbols@^1.0.2: 614 | version "1.0.2" 615 | resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.2.tgz#165d3070c00309752a1236a479331e3ac56f1423" 616 | integrity sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw== 617 | 618 | has@^1.0.3: 619 | version "1.0.3" 620 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" 621 | integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== 622 | dependencies: 623 | function-bind "^1.1.1" 624 | 625 | hosted-git-info@^2.1.4: 626 | version "2.8.9" 627 | resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" 628 | integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== 629 | 630 | iconv-lite@^0.4.24: 631 | version "0.4.24" 632 | resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" 633 | integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== 634 | dependencies: 635 | safer-buffer ">= 2.1.2 < 3" 636 | 637 | ignore@^3.3.6: 638 | version "3.3.10" 639 | resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.10.tgz#0a97fb876986e8081c631160f8f9f389157f0043" 640 | integrity sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug== 641 | 642 | ignore@^4.0.6: 643 | version "4.0.6" 644 | resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" 645 | integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== 646 | 647 | import-fresh@^3.0.0: 648 | version "3.3.0" 649 | resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" 650 | integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== 651 | dependencies: 652 | parent-module "^1.0.0" 653 | resolve-from "^4.0.0" 654 | 655 | imurmurhash@^0.1.4: 656 | version "0.1.4" 657 | resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" 658 | integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= 659 | 660 | inflight@^1.0.4: 661 | version "1.0.6" 662 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" 663 | integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= 664 | dependencies: 665 | once "^1.3.0" 666 | wrappy "1" 667 | 668 | inherits@2: 669 | version "2.0.4" 670 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" 671 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== 672 | 673 | inquirer@^6.2.2: 674 | version "6.5.2" 675 | resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.5.2.tgz#ad50942375d036d327ff528c08bd5fab089928ca" 676 | integrity sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ== 677 | dependencies: 678 | ansi-escapes "^3.2.0" 679 | chalk "^2.4.2" 680 | cli-cursor "^2.1.0" 681 | cli-width "^2.0.0" 682 | external-editor "^3.0.3" 683 | figures "^2.0.0" 684 | lodash "^4.17.12" 685 | mute-stream "0.0.7" 686 | run-async "^2.2.0" 687 | rxjs "^6.4.0" 688 | string-width "^2.1.0" 689 | strip-ansi "^5.1.0" 690 | through "^2.3.6" 691 | 692 | is-arrayish@^0.2.1: 693 | version "0.2.1" 694 | resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" 695 | integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= 696 | 697 | is-bigint@^1.0.1: 698 | version "1.0.2" 699 | resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.2.tgz#ffb381442503235ad245ea89e45b3dbff040ee5a" 700 | integrity sha512-0JV5+SOCQkIdzjBK9buARcV804Ddu7A0Qet6sHi3FimE9ne6m4BGQZfRn+NZiXbBk4F4XmHfDZIipLj9pX8dSA== 701 | 702 | is-boolean-object@^1.1.0: 703 | version "1.1.1" 704 | resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.1.tgz#3c0878f035cb821228d350d2e1e36719716a3de8" 705 | integrity sha512-bXdQWkECBUIAcCkeH1unwJLIpZYaa5VvuygSyS/c2lf719mTKZDU5UdDRlpd01UjADgmW8RfqaP+mRaVPdr/Ng== 706 | dependencies: 707 | call-bind "^1.0.2" 708 | 709 | is-callable@^1.1.4, is-callable@^1.2.3: 710 | version "1.2.3" 711 | resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.3.tgz#8b1e0500b73a1d76c70487636f368e519de8db8e" 712 | integrity sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ== 713 | 714 | is-core-module@^2.2.0, is-core-module@^2.4.0: 715 | version "2.4.0" 716 | resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.4.0.tgz#8e9fc8e15027b011418026e98f0e6f4d86305cc1" 717 | integrity sha512-6A2fkfq1rfeQZjxrZJGerpLCTHRNEBiSgnu0+obeJpEPZRUooHgsizvzv0ZjJwOz3iWIHdJtVWJ/tmPr3D21/A== 718 | dependencies: 719 | has "^1.0.3" 720 | 721 | is-date-object@^1.0.1: 722 | version "1.0.4" 723 | resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.4.tgz#550cfcc03afada05eea3dd30981c7b09551f73e5" 724 | integrity sha512-/b4ZVsG7Z5XVtIxs/h9W8nvfLgSAyKYdtGWQLbqy6jA1icmgjf8WCoTKgeS4wy5tYaPePouzFMANbnj94c2Z+A== 725 | 726 | is-fullwidth-code-point@^2.0.0: 727 | version "2.0.0" 728 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" 729 | integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= 730 | 731 | is-negative-zero@^2.0.1: 732 | version "2.0.1" 733 | resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.1.tgz#3de746c18dda2319241a53675908d8f766f11c24" 734 | integrity sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w== 735 | 736 | is-number-object@^1.0.4: 737 | version "1.0.5" 738 | resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.5.tgz#6edfaeed7950cff19afedce9fbfca9ee6dd289eb" 739 | integrity sha512-RU0lI/n95pMoUKu9v1BZP5MBcZuNSVJkMkAG2dJqC4z2GlkGUNeH68SuHuBKBD/XFe+LHZ+f9BKkLET60Niedw== 740 | 741 | is-regex@^1.1.3: 742 | version "1.1.3" 743 | resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.3.tgz#d029f9aff6448b93ebbe3f33dac71511fdcbef9f" 744 | integrity sha512-qSVXFz28HM7y+IWX6vLCsexdlvzT1PJNFSBuaQLQ5o0IEw8UDYW6/2+eCMVyIsbM8CNLX2a/QWmSpyxYEHY7CQ== 745 | dependencies: 746 | call-bind "^1.0.2" 747 | has-symbols "^1.0.2" 748 | 749 | is-string@^1.0.5, is-string@^1.0.6: 750 | version "1.0.6" 751 | resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.6.tgz#3fe5d5992fb0d93404f32584d4b0179a71b54a5f" 752 | integrity sha512-2gdzbKUuqtQ3lYNrUTQYoClPhm7oQu4UdpSZMp1/DGgkHBT8E2Z1l0yMdb6D4zNAxwDiMv8MdulKROJGNl0Q0w== 753 | 754 | is-symbol@^1.0.2, is-symbol@^1.0.3: 755 | version "1.0.4" 756 | resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" 757 | integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== 758 | dependencies: 759 | has-symbols "^1.0.2" 760 | 761 | isexe@^2.0.0: 762 | version "2.0.0" 763 | resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" 764 | integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= 765 | 766 | js-tokens@^4.0.0: 767 | version "4.0.0" 768 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" 769 | integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== 770 | 771 | js-yaml@^3.13.0: 772 | version "3.14.1" 773 | resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" 774 | integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== 775 | dependencies: 776 | argparse "^1.0.7" 777 | esprima "^4.0.0" 778 | 779 | json-parse-better-errors@^1.0.1: 780 | version "1.0.2" 781 | resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" 782 | integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== 783 | 784 | json-schema-traverse@^0.4.1: 785 | version "0.4.1" 786 | resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" 787 | integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== 788 | 789 | json-stable-stringify-without-jsonify@^1.0.1: 790 | version "1.0.1" 791 | resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" 792 | integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= 793 | 794 | json5@^1.0.1: 795 | version "1.0.1" 796 | resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" 797 | integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow== 798 | dependencies: 799 | minimist "^1.2.0" 800 | 801 | levn@^0.3.0, levn@~0.3.0: 802 | version "0.3.0" 803 | resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" 804 | integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= 805 | dependencies: 806 | prelude-ls "~1.1.2" 807 | type-check "~0.3.2" 808 | 809 | load-json-file@^4.0.0: 810 | version "4.0.0" 811 | resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" 812 | integrity sha1-L19Fq5HjMhYjT9U62rZo607AmTs= 813 | dependencies: 814 | graceful-fs "^4.1.2" 815 | parse-json "^4.0.0" 816 | pify "^3.0.0" 817 | strip-bom "^3.0.0" 818 | 819 | locate-path@^2.0.0: 820 | version "2.0.0" 821 | resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" 822 | integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4= 823 | dependencies: 824 | p-locate "^2.0.0" 825 | path-exists "^3.0.0" 826 | 827 | lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.14, lodash@^4.17.4: 828 | version "4.17.21" 829 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" 830 | integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== 831 | 832 | mimic-fn@^1.0.0: 833 | version "1.2.0" 834 | resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" 835 | integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ== 836 | 837 | minimatch@^3.0.4: 838 | version "3.0.4" 839 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" 840 | integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== 841 | dependencies: 842 | brace-expansion "^1.1.7" 843 | 844 | minimist@^1.2.0, minimist@^1.2.5: 845 | version "1.2.5" 846 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" 847 | integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== 848 | 849 | mkdirp@^0.5.1: 850 | version "0.5.5" 851 | resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" 852 | integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== 853 | dependencies: 854 | minimist "^1.2.5" 855 | 856 | ms@2.0.0: 857 | version "2.0.0" 858 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" 859 | integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= 860 | 861 | ms@2.1.2: 862 | version "2.1.2" 863 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" 864 | integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== 865 | 866 | ms@^2.1.1: 867 | version "2.1.3" 868 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" 869 | integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== 870 | 871 | mute-stream@0.0.7: 872 | version "0.0.7" 873 | resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" 874 | integrity sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s= 875 | 876 | natural-compare@^1.4.0: 877 | version "1.4.0" 878 | resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" 879 | integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= 880 | 881 | nice-try@^1.0.4: 882 | version "1.0.5" 883 | resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" 884 | integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== 885 | 886 | normalize-package-data@^2.3.2: 887 | version "2.5.0" 888 | resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" 889 | integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== 890 | dependencies: 891 | hosted-git-info "^2.1.4" 892 | resolve "^1.10.0" 893 | semver "2 || 3 || 4 || 5" 894 | validate-npm-package-license "^3.0.1" 895 | 896 | object-inspect@^1.10.3: 897 | version "1.10.3" 898 | resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.10.3.tgz#c2aa7d2d09f50c99375704f7a0adf24c5782d369" 899 | integrity sha512-e5mCJlSH7poANfC8z8S9s9S2IN5/4Zb3aZ33f5s8YqoazCFzNLloLU8r5VCG+G7WoqLvAAZoVMcy3tp/3X0Plw== 900 | 901 | object-keys@^1.0.12, object-keys@^1.1.1: 902 | version "1.1.1" 903 | resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" 904 | integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== 905 | 906 | object.assign@^4.1.2: 907 | version "4.1.2" 908 | resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940" 909 | integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ== 910 | dependencies: 911 | call-bind "^1.0.0" 912 | define-properties "^1.1.3" 913 | has-symbols "^1.0.1" 914 | object-keys "^1.1.1" 915 | 916 | object.values@^1.1.3: 917 | version "1.1.4" 918 | resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.4.tgz#0d273762833e816b693a637d30073e7051535b30" 919 | integrity sha512-TnGo7j4XSnKQoK3MfvkzqKCi0nVe/D9I9IjwTNYdb/fxYHpjrluHVOgw0AF6jrRFGMPHdfuidR09tIDiIvnaSg== 920 | dependencies: 921 | call-bind "^1.0.2" 922 | define-properties "^1.1.3" 923 | es-abstract "^1.18.2" 924 | 925 | once@^1.3.0: 926 | version "1.4.0" 927 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 928 | integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= 929 | dependencies: 930 | wrappy "1" 931 | 932 | onetime@^2.0.0: 933 | version "2.0.1" 934 | resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" 935 | integrity sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ= 936 | dependencies: 937 | mimic-fn "^1.0.0" 938 | 939 | optionator@^0.8.2: 940 | version "0.8.3" 941 | resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" 942 | integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== 943 | dependencies: 944 | deep-is "~0.1.3" 945 | fast-levenshtein "~2.0.6" 946 | levn "~0.3.0" 947 | prelude-ls "~1.1.2" 948 | type-check "~0.3.2" 949 | word-wrap "~1.2.3" 950 | 951 | os-tmpdir@~1.0.2: 952 | version "1.0.2" 953 | resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" 954 | integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= 955 | 956 | p-limit@^1.1.0: 957 | version "1.3.0" 958 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" 959 | integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q== 960 | dependencies: 961 | p-try "^1.0.0" 962 | 963 | p-locate@^2.0.0: 964 | version "2.0.0" 965 | resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" 966 | integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM= 967 | dependencies: 968 | p-limit "^1.1.0" 969 | 970 | p-try@^1.0.0: 971 | version "1.0.0" 972 | resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" 973 | integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M= 974 | 975 | parent-module@^1.0.0: 976 | version "1.0.1" 977 | resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" 978 | integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== 979 | dependencies: 980 | callsites "^3.0.0" 981 | 982 | parse-json@^4.0.0: 983 | version "4.0.0" 984 | resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" 985 | integrity sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA= 986 | dependencies: 987 | error-ex "^1.3.1" 988 | json-parse-better-errors "^1.0.1" 989 | 990 | path-exists@^3.0.0: 991 | version "3.0.0" 992 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" 993 | integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= 994 | 995 | path-is-absolute@^1.0.0: 996 | version "1.0.1" 997 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 998 | integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= 999 | 1000 | path-is-inside@^1.0.2: 1001 | version "1.0.2" 1002 | resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" 1003 | integrity sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM= 1004 | 1005 | path-key@^2.0.1: 1006 | version "2.0.1" 1007 | resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" 1008 | integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= 1009 | 1010 | path-parse@^1.0.6: 1011 | version "1.0.7" 1012 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" 1013 | integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== 1014 | 1015 | path-type@^3.0.0: 1016 | version "3.0.0" 1017 | resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" 1018 | integrity sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg== 1019 | dependencies: 1020 | pify "^3.0.0" 1021 | 1022 | pify@^3.0.0: 1023 | version "3.0.0" 1024 | resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" 1025 | integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= 1026 | 1027 | pkg-dir@^2.0.0: 1028 | version "2.0.0" 1029 | resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b" 1030 | integrity sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s= 1031 | dependencies: 1032 | find-up "^2.1.0" 1033 | 1034 | pkg-up@^2.0.0: 1035 | version "2.0.0" 1036 | resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-2.0.0.tgz#c819ac728059a461cab1c3889a2be3c49a004d7f" 1037 | integrity sha1-yBmscoBZpGHKscOImivjxJoATX8= 1038 | dependencies: 1039 | find-up "^2.1.0" 1040 | 1041 | prelude-ls@~1.1.2: 1042 | version "1.1.2" 1043 | resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" 1044 | integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= 1045 | 1046 | progress@^2.0.0: 1047 | version "2.0.3" 1048 | resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" 1049 | integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== 1050 | 1051 | punycode@^2.1.0: 1052 | version "2.1.1" 1053 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" 1054 | integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== 1055 | 1056 | read-pkg-up@^3.0.0: 1057 | version "3.0.0" 1058 | resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-3.0.0.tgz#3ed496685dba0f8fe118d0691dc51f4a1ff96f07" 1059 | integrity sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc= 1060 | dependencies: 1061 | find-up "^2.0.0" 1062 | read-pkg "^3.0.0" 1063 | 1064 | read-pkg@^3.0.0: 1065 | version "3.0.0" 1066 | resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389" 1067 | integrity sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k= 1068 | dependencies: 1069 | load-json-file "^4.0.0" 1070 | normalize-package-data "^2.3.2" 1071 | path-type "^3.0.0" 1072 | 1073 | regexpp@^2.0.1: 1074 | version "2.0.1" 1075 | resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f" 1076 | integrity sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw== 1077 | 1078 | resolve-from@^4.0.0: 1079 | version "4.0.0" 1080 | resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" 1081 | integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== 1082 | 1083 | resolve@^1.10.0, resolve@^1.13.1, resolve@^1.20.0, resolve@^1.3.3: 1084 | version "1.20.0" 1085 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975" 1086 | integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== 1087 | dependencies: 1088 | is-core-module "^2.2.0" 1089 | path-parse "^1.0.6" 1090 | 1091 | restore-cursor@^2.0.0: 1092 | version "2.0.0" 1093 | resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" 1094 | integrity sha1-n37ih/gv0ybU/RYpI9YhKe7g368= 1095 | dependencies: 1096 | onetime "^2.0.0" 1097 | signal-exit "^3.0.2" 1098 | 1099 | rimraf@2.6.3: 1100 | version "2.6.3" 1101 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" 1102 | integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA== 1103 | dependencies: 1104 | glob "^7.1.3" 1105 | 1106 | run-async@^2.2.0: 1107 | version "2.4.1" 1108 | resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455" 1109 | integrity sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ== 1110 | 1111 | rxjs@^6.4.0: 1112 | version "6.6.7" 1113 | resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.7.tgz#90ac018acabf491bf65044235d5863c4dab804c9" 1114 | integrity sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ== 1115 | dependencies: 1116 | tslib "^1.9.0" 1117 | 1118 | "safer-buffer@>= 2.1.2 < 3": 1119 | version "2.1.2" 1120 | resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" 1121 | integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== 1122 | 1123 | "semver@2 || 3 || 4 || 5", semver@^5.4.1, semver@^5.5.0, semver@^5.5.1: 1124 | version "5.7.1" 1125 | resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" 1126 | integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== 1127 | 1128 | shebang-command@^1.2.0: 1129 | version "1.2.0" 1130 | resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" 1131 | integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= 1132 | dependencies: 1133 | shebang-regex "^1.0.0" 1134 | 1135 | shebang-regex@^1.0.0: 1136 | version "1.0.0" 1137 | resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" 1138 | integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= 1139 | 1140 | signal-exit@^3.0.2: 1141 | version "3.0.3" 1142 | resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" 1143 | integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== 1144 | 1145 | slice-ansi@^2.1.0: 1146 | version "2.1.0" 1147 | resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-2.1.0.tgz#cacd7693461a637a5788d92a7dd4fba068e81636" 1148 | integrity sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ== 1149 | dependencies: 1150 | ansi-styles "^3.2.0" 1151 | astral-regex "^1.0.0" 1152 | is-fullwidth-code-point "^2.0.0" 1153 | 1154 | spdx-correct@^3.0.0: 1155 | version "3.1.1" 1156 | resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" 1157 | integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w== 1158 | dependencies: 1159 | spdx-expression-parse "^3.0.0" 1160 | spdx-license-ids "^3.0.0" 1161 | 1162 | spdx-exceptions@^2.1.0: 1163 | version "2.3.0" 1164 | resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" 1165 | integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== 1166 | 1167 | spdx-expression-parse@^3.0.0: 1168 | version "3.0.1" 1169 | resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" 1170 | integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== 1171 | dependencies: 1172 | spdx-exceptions "^2.1.0" 1173 | spdx-license-ids "^3.0.0" 1174 | 1175 | spdx-license-ids@^3.0.0: 1176 | version "3.0.9" 1177 | resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.9.tgz#8a595135def9592bda69709474f1cbeea7c2467f" 1178 | integrity sha512-Ki212dKK4ogX+xDo4CtOZBVIwhsKBEfsEEcwmJfLQzirgc2jIWdzg40Unxz/HzEUqM1WFzVlQSMF9kZZ2HboLQ== 1179 | 1180 | sprintf-js@~1.0.2: 1181 | version "1.0.3" 1182 | resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" 1183 | integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= 1184 | 1185 | string-width@^2.1.0: 1186 | version "2.1.1" 1187 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" 1188 | integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== 1189 | dependencies: 1190 | is-fullwidth-code-point "^2.0.0" 1191 | strip-ansi "^4.0.0" 1192 | 1193 | string-width@^3.0.0: 1194 | version "3.1.0" 1195 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" 1196 | integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== 1197 | dependencies: 1198 | emoji-regex "^7.0.1" 1199 | is-fullwidth-code-point "^2.0.0" 1200 | strip-ansi "^5.1.0" 1201 | 1202 | string.prototype.trimend@^1.0.4: 1203 | version "1.0.4" 1204 | resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz#e75ae90c2942c63504686c18b287b4a0b1a45f80" 1205 | integrity sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A== 1206 | dependencies: 1207 | call-bind "^1.0.2" 1208 | define-properties "^1.1.3" 1209 | 1210 | string.prototype.trimstart@^1.0.4: 1211 | version "1.0.4" 1212 | resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz#b36399af4ab2999b4c9c648bd7a3fb2bb26feeed" 1213 | integrity sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw== 1214 | dependencies: 1215 | call-bind "^1.0.2" 1216 | define-properties "^1.1.3" 1217 | 1218 | strip-ansi@^4.0.0: 1219 | version "4.0.0" 1220 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" 1221 | integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= 1222 | dependencies: 1223 | ansi-regex "^3.0.0" 1224 | 1225 | strip-ansi@^5.1.0: 1226 | version "5.2.0" 1227 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" 1228 | integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== 1229 | dependencies: 1230 | ansi-regex "^4.1.0" 1231 | 1232 | strip-bom@^3.0.0: 1233 | version "3.0.0" 1234 | resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" 1235 | integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= 1236 | 1237 | strip-json-comments@^2.0.1: 1238 | version "2.0.1" 1239 | resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" 1240 | integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= 1241 | 1242 | supports-color@^5.3.0: 1243 | version "5.5.0" 1244 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" 1245 | integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== 1246 | dependencies: 1247 | has-flag "^3.0.0" 1248 | 1249 | table@^5.2.3: 1250 | version "5.4.6" 1251 | resolved "https://registry.yarnpkg.com/table/-/table-5.4.6.tgz#1292d19500ce3f86053b05f0e8e7e4a3bb21079e" 1252 | integrity sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug== 1253 | dependencies: 1254 | ajv "^6.10.2" 1255 | lodash "^4.17.14" 1256 | slice-ansi "^2.1.0" 1257 | string-width "^3.0.0" 1258 | 1259 | text-table@^0.2.0: 1260 | version "0.2.0" 1261 | resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" 1262 | integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= 1263 | 1264 | through@^2.3.6: 1265 | version "2.3.8" 1266 | resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" 1267 | integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= 1268 | 1269 | tmp@^0.0.33: 1270 | version "0.0.33" 1271 | resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" 1272 | integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== 1273 | dependencies: 1274 | os-tmpdir "~1.0.2" 1275 | 1276 | tsconfig-paths@^3.9.0: 1277 | version "3.9.0" 1278 | resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.9.0.tgz#098547a6c4448807e8fcb8eae081064ee9a3c90b" 1279 | integrity sha512-dRcuzokWhajtZWkQsDVKbWyY+jgcLC5sqJhg2PSgf4ZkH2aHPvaOY8YWGhmjb68b5qqTfasSsDO9k7RUiEmZAw== 1280 | dependencies: 1281 | "@types/json5" "^0.0.29" 1282 | json5 "^1.0.1" 1283 | minimist "^1.2.0" 1284 | strip-bom "^3.0.0" 1285 | 1286 | tslib@^1.9.0: 1287 | version "1.14.1" 1288 | resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" 1289 | integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== 1290 | 1291 | type-check@~0.3.2: 1292 | version "0.3.2" 1293 | resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" 1294 | integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= 1295 | dependencies: 1296 | prelude-ls "~1.1.2" 1297 | 1298 | unbox-primitive@^1.0.1: 1299 | version "1.0.1" 1300 | resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.1.tgz#085e215625ec3162574dc8859abee78a59b14471" 1301 | integrity sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw== 1302 | dependencies: 1303 | function-bind "^1.1.1" 1304 | has-bigints "^1.0.1" 1305 | has-symbols "^1.0.2" 1306 | which-boxed-primitive "^1.0.2" 1307 | 1308 | uri-js@^4.2.2: 1309 | version "4.4.1" 1310 | resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" 1311 | integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== 1312 | dependencies: 1313 | punycode "^2.1.0" 1314 | 1315 | validate-npm-package-license@^3.0.1: 1316 | version "3.0.4" 1317 | resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" 1318 | integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== 1319 | dependencies: 1320 | spdx-correct "^3.0.0" 1321 | spdx-expression-parse "^3.0.0" 1322 | 1323 | vue-eslint-parser@^2.0.3: 1324 | version "2.0.3" 1325 | resolved "https://registry.yarnpkg.com/vue-eslint-parser/-/vue-eslint-parser-2.0.3.tgz#c268c96c6d94cfe3d938a5f7593959b0ca3360d1" 1326 | integrity sha512-ZezcU71Owm84xVF6gfurBQUGg8WQ+WZGxgDEQu1IHFBZNx7BFZg3L1yHxrCBNNwbwFtE1GuvfJKMtb6Xuwc/Bw== 1327 | dependencies: 1328 | debug "^3.1.0" 1329 | eslint-scope "^3.7.1" 1330 | eslint-visitor-keys "^1.0.0" 1331 | espree "^3.5.2" 1332 | esquery "^1.0.0" 1333 | lodash "^4.17.4" 1334 | 1335 | which-boxed-primitive@^1.0.2: 1336 | version "1.0.2" 1337 | resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" 1338 | integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== 1339 | dependencies: 1340 | is-bigint "^1.0.1" 1341 | is-boolean-object "^1.1.0" 1342 | is-number-object "^1.0.4" 1343 | is-string "^1.0.5" 1344 | is-symbol "^1.0.3" 1345 | 1346 | which@^1.2.9: 1347 | version "1.3.1" 1348 | resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" 1349 | integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== 1350 | dependencies: 1351 | isexe "^2.0.0" 1352 | 1353 | word-wrap@~1.2.3: 1354 | version "1.2.3" 1355 | resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" 1356 | integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== 1357 | 1358 | wrappy@1: 1359 | version "1.0.2" 1360 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 1361 | integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= 1362 | 1363 | write@1.0.3: 1364 | version "1.0.3" 1365 | resolved "https://registry.yarnpkg.com/write/-/write-1.0.3.tgz#0800e14523b923a387e415123c865616aae0f5c3" 1366 | integrity sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig== 1367 | dependencies: 1368 | mkdirp "^0.5.1" 1369 | --------------------------------------------------------------------------------