├── .editorconfig ├── .eslintrc.yml ├── .gitignore ├── .npmignore ├── LICENSE ├── README.md ├── package.json ├── src ├── crypto.js ├── index.js └── modules │ ├── analysis.js │ ├── customerservicemessage.js │ ├── logistics.js │ ├── nearbypoi.js │ ├── pluginmanager.js │ ├── security.js │ ├── soter.js │ ├── templatemessage.js │ ├── uniformmessage.js │ ├── updatablemessage.js │ └── wxacode.js └── yarn.lock /.editorconfig: -------------------------------------------------------------------------------- 1 | # See http://editorconfig.org/ 2 | root = true 3 | 4 | [*] 5 | indent_style = space 6 | indent_size = 2 7 | end_of_line = lf 8 | charset = utf-8 9 | trim_trailing_whitespace = true 10 | insert_final_newline = true 11 | -------------------------------------------------------------------------------- /.eslintrc.yml: -------------------------------------------------------------------------------- 1 | root: true 2 | extends: willin 3 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | .nyc_output/ 3 | dist/ 4 | demo/ 5 | 6 | .DS_Store 7 | *.log 8 | *.log.* 9 | dump.rdb 10 | coverage.lcov 11 | .env 12 | -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | .nyc_output/ 3 | dist/ 4 | demo/ 5 | 6 | .DS_Store 7 | *.log 8 | *.log.* 9 | dump.rdb 10 | coverage.lcov 11 | .env 12 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Apache License 2 | Version 2.0, January 2004 3 | http://www.apache.org/licenses/ 4 | 5 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 6 | 7 | 1. Definitions. 8 | 9 | "License" shall mean the terms and conditions for use, reproduction, 10 | and distribution as defined by Sections 1 through 9 of this document. 11 | 12 | "Licensor" shall mean the copyright owner or entity authorized by 13 | the copyright owner that is granting the License. 14 | 15 | "Legal Entity" shall mean the union of the acting entity and all 16 | other entities that control, are controlled by, or are under common 17 | control with that entity. For the purposes of this definition, 18 | "control" means (i) the power, direct or indirect, to cause the 19 | direction or management of such entity, whether by contract or 20 | otherwise, or (ii) ownership of fifty percent (50%) or more of the 21 | outstanding shares, or (iii) beneficial ownership of such entity. 22 | 23 | "You" (or "Your") shall mean an individual or Legal Entity 24 | exercising permissions granted by this License. 25 | 26 | "Source" form shall mean the preferred form for making modifications, 27 | including but not limited to software source code, documentation 28 | source, and configuration files. 29 | 30 | "Object" form shall mean any form resulting from mechanical 31 | transformation or translation of a Source form, including but 32 | not limited to compiled object code, generated documentation, 33 | and conversions to other media types. 34 | 35 | "Work" shall mean the work of authorship, whether in Source or 36 | Object form, made available under the License, as indicated by a 37 | copyright notice that is included in or attached to the work 38 | (an example is provided in the Appendix below). 39 | 40 | "Derivative Works" shall mean any work, whether in Source or Object 41 | form, that is based on (or derived from) the Work and for which the 42 | editorial revisions, annotations, elaborations, or other modifications 43 | represent, as a whole, an original work of authorship. For the purposes 44 | of this License, Derivative Works shall not include works that remain 45 | separable from, or merely link (or bind by name) to the interfaces of, 46 | the Work and Derivative Works thereof. 47 | 48 | "Contribution" shall mean any work of authorship, including 49 | the original version of the Work and any modifications or additions 50 | to that Work or Derivative Works thereof, that is intentionally 51 | submitted to Licensor for inclusion in the Work by the copyright owner 52 | or by an individual or Legal Entity authorized to submit on behalf of 53 | the copyright owner. For the purposes of this definition, "submitted" 54 | means any form of electronic, verbal, or written communication sent 55 | to the Licensor or its representatives, including but not limited to 56 | communication on electronic mailing lists, source code control systems, 57 | and issue tracking systems that are managed by, or on behalf of, the 58 | Licensor for the purpose of discussing and improving the Work, but 59 | excluding communication that is conspicuously marked or otherwise 60 | designated in writing by the copyright owner as "Not a Contribution." 61 | 62 | "Contributor" shall mean Licensor and any individual or Legal Entity 63 | on behalf of whom a Contribution has been received by Licensor and 64 | subsequently incorporated within the Work. 65 | 66 | 2. Grant of Copyright License. Subject to the terms and conditions of 67 | this License, each Contributor hereby grants to You a perpetual, 68 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 69 | copyright license to reproduce, prepare Derivative Works of, 70 | publicly display, publicly perform, sublicense, and distribute the 71 | Work and such Derivative Works in Source or Object form. 72 | 73 | 3. Grant of Patent License. Subject to the terms and conditions of 74 | this License, each Contributor hereby grants to You a perpetual, 75 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 76 | (except as stated in this section) patent license to make, have made, 77 | use, offer to sell, sell, import, and otherwise transfer the Work, 78 | where such license applies only to those patent claims licensable 79 | by such Contributor that are necessarily infringed by their 80 | Contribution(s) alone or by combination of their Contribution(s) 81 | with the Work to which such Contribution(s) was submitted. If You 82 | institute patent litigation against any entity (including a 83 | cross-claim or counterclaim in a lawsuit) alleging that the Work 84 | or a Contribution incorporated within the Work constitutes direct 85 | or contributory patent infringement, then any patent licenses 86 | granted to You under this License for that Work shall terminate 87 | as of the date such litigation is filed. 88 | 89 | 4. Redistribution. You may reproduce and distribute copies of the 90 | Work or Derivative Works thereof in any medium, with or without 91 | modifications, and in Source or Object form, provided that You 92 | meet the following conditions: 93 | 94 | (a) You must give any other recipients of the Work or 95 | Derivative Works a copy of this License; and 96 | 97 | (b) You must cause any modified files to carry prominent notices 98 | stating that You changed the files; and 99 | 100 | (c) You must retain, in the Source form of any Derivative Works 101 | that You distribute, all copyright, patent, trademark, and 102 | attribution notices from the Source form of the Work, 103 | excluding those notices that do not pertain to any part of 104 | the Derivative Works; and 105 | 106 | (d) If the Work includes a "NOTICE" text file as part of its 107 | distribution, then any Derivative Works that You distribute must 108 | include a readable copy of the attribution notices contained 109 | within such NOTICE file, excluding those notices that do not 110 | pertain to any part of the Derivative Works, in at least one 111 | of the following places: within a NOTICE text file distributed 112 | as part of the Derivative Works; within the Source form or 113 | documentation, if provided along with the Derivative Works; or, 114 | within a display generated by the Derivative Works, if and 115 | wherever such third-party notices normally appear. The contents 116 | of the NOTICE file are for informational purposes only and 117 | do not modify the License. You may add Your own attribution 118 | notices within Derivative Works that You distribute, alongside 119 | or as an addendum to the NOTICE text from the Work, provided 120 | that such additional attribution notices cannot be construed 121 | as modifying the License. 122 | 123 | You may add Your own copyright statement to Your modifications and 124 | may provide additional or different license terms and conditions 125 | for use, reproduction, or distribution of Your modifications, or 126 | for any such Derivative Works as a whole, provided Your use, 127 | reproduction, and distribution of the Work otherwise complies with 128 | the conditions stated in this License. 129 | 130 | 5. Submission of Contributions. Unless You explicitly state otherwise, 131 | any Contribution intentionally submitted for inclusion in the Work 132 | by You to the Licensor shall be under the terms and conditions of 133 | this License, without any additional terms or conditions. 134 | Notwithstanding the above, nothing herein shall supersede or modify 135 | the terms of any separate license agreement you may have executed 136 | with Licensor regarding such Contributions. 137 | 138 | 6. Trademarks. This License does not grant permission to use the trade 139 | names, trademarks, service marks, or product names of the Licensor, 140 | except as required for reasonable and customary use in describing the 141 | origin of the Work and reproducing the content of the NOTICE file. 142 | 143 | 7. Disclaimer of Warranty. Unless required by applicable law or 144 | agreed to in writing, Licensor provides the Work (and each 145 | Contributor provides its Contributions) on an "AS IS" BASIS, 146 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 147 | implied, including, without limitation, any warranties or conditions 148 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A 149 | PARTICULAR PURPOSE. You are solely responsible for determining the 150 | appropriateness of using or redistributing the Work and assume any 151 | risks associated with Your exercise of permissions under this License. 152 | 153 | 8. Limitation of Liability. In no event and under no legal theory, 154 | whether in tort (including negligence), contract, or otherwise, 155 | unless required by applicable law (such as deliberate and grossly 156 | negligent acts) or agreed to in writing, shall any Contributor be 157 | liable to You for damages, including any direct, indirect, special, 158 | incidental, or consequential damages of any character arising as a 159 | result of this License or out of the use or inability to use the 160 | Work (including but not limited to damages for loss of goodwill, 161 | work stoppage, computer failure or malfunction, or any and all 162 | other commercial damages or losses), even if such Contributor 163 | has been advised of the possibility of such damages. 164 | 165 | 9. Accepting Warranty or Additional Liability. While redistributing 166 | the Work or Derivative Works thereof, You may choose to offer, 167 | and charge a fee for, acceptance of support, warranty, indemnity, 168 | or other liability obligations and/or rights consistent with this 169 | License. However, in accepting such obligations, You may act only 170 | on Your own behalf and on Your sole responsibility, not on behalf 171 | of any other Contributor, and only if You agree to indemnify, 172 | defend, and hold each Contributor harmless for any liability 173 | incurred by, or claims asserted against, such Contributor by reason 174 | of your accepting any such warranty or additional liability. 175 | 176 | END OF TERMS AND CONDITIONS 177 | 178 | APPENDIX: How to apply the Apache License to your work. 179 | 180 | To apply the Apache License to your work, attach the following 181 | boilerplate notice, with the fields enclosed by brackets "[]" 182 | replaced with your own identifying information. (Don't include 183 | the brackets!) The text should be enclosed in the appropriate 184 | comment syntax for the file format. We also recommend that a 185 | file or class name and description of purpose be included on the 186 | same "printed page" as the copyright notice for easier 187 | identification within third-party archives. 188 | 189 | Copyright 2019 Willin Wang 190 | 191 | Licensed under the Apache License, Version 2.0 (the "License"); 192 | you may not use this file except in compliance with the License. 193 | You may obtain a copy of the License at 194 | 195 | http://www.apache.org/licenses/LICENSE-2.0 196 | 197 | Unless required by applicable law or agreed to in writing, software 198 | distributed under the License is distributed on an "AS IS" BASIS, 199 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 200 | See the License for the specific language governing permissions and 201 | limitations under the License. 202 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # mp-sdk 2 | 3 | 比官方SDK更好用的微信小程序服务器端SDK。 4 | 5 | > 已经疯狂得不能用代码行数(总计`89`行,包含空行和debug)来衡量该项目了,代码仅有 `1,310`字节(净化后)。 6 | 7 | [![github](https://img.shields.io/github/followers/willin.svg?style=social&label=Followers)](https://github.com/willin) [![npm](https://img.shields.io/npm/v/mp-sdk.svg)](https://npmjs.org/package/mp-sdk) [![npm](https://img.shields.io/npm/dm/mp-sdk.svg)](https://npmjs.org/package/mp-sdk) [![npm](https://img.shields.io/npm/dt/mp-sdk.svg)](https://npmjs.org/package/mp-sdk) [![codebeat badge](https://codebeat.co/badges/dcda6ad6-46a4-4178-900a-aaf9ea056321)](https://codebeat.co/projects/github-com-willin-mp-sdk-master) 8 | 9 | Minimum, Flexible, Scalable. 10 | 11 | 支持Lazy Require。 12 | 13 | 14 | 15 | 16 | 17 | - [安装使用](#%E5%AE%89%E8%A3%85%E4%BD%BF%E7%94%A8) 18 | - [基本使用示例](#%E5%9F%BA%E6%9C%AC%E4%BD%BF%E7%94%A8%E7%A4%BA%E4%BE%8B) 19 | - [二维码处理示例](#%E4%BA%8C%E7%BB%B4%E7%A0%81%E5%A4%84%E7%90%86%E7%A4%BA%E4%BE%8B) 20 | - [解密示例](#%E8%A7%A3%E5%AF%86%E7%A4%BA%E4%BE%8B) 21 | - [参考文档](#%E5%8F%82%E8%80%83%E6%96%87%E6%A1%A3) 22 | - [相关项目推荐](#%E7%9B%B8%E5%85%B3%E9%A1%B9%E7%9B%AE%E6%8E%A8%E8%8D%90) 23 | - [License](#license) 24 | 25 | 26 | 27 | ## 安装使用 28 | 29 | ```bash 30 | yarn add mp-sdk 31 | # 或 32 | npm i --save mp-sdk 33 | ``` 34 | 35 | ### 基本使用示例 36 | 37 | ```js 38 | const sdk = require('mp-sdk'); 39 | 40 | const cloud = sdk('appid', 'secret'); 41 | 42 | // appid、secret、access_token、grant_type 4个字段可以忽略不写 43 | cloud.auth.code2Session({ 44 | js_code: 'js_code' 45 | }).then(result => { 46 | // code here 47 | }); 48 | ``` 49 | 50 | ### 二维码处理示例 51 | 52 | ```js 53 | const sdk = require('mp-sdk'); 54 | const fs = require('fs'); 55 | 56 | const cloud = sdk('appid', 'secret'); 57 | 58 | cloud.wxacode.getUnlimited({ 59 | scene: 'test', 60 | path: 'page/index?foo=bar' 61 | }).then((d) => { 62 | fs.writeFileSync('1.png', d); 63 | }); 64 | ``` 65 | 66 | ### 解密示例 67 | 68 | 本SDK中加入解密方法 `.crypto.decryptData`。 69 | 70 | 传入一个对象,包含以下三个参数: 71 | 72 | - sessionKey: 登录会话的凭证 73 | - encryptedData: 密文数据 74 | - iv:初始化向量 75 | 76 | 以上三个字段均为必须,在微信开发者文档中也有具体的说明。 77 | 78 | ```js 79 | const sdk = require('mp-sdk'); 80 | const cloud = sdk('appid', 'secret'); 81 | 82 | // 注意: 该方法并不放回 Promise 而是直接返回解密结果。 83 | const result = cloud.crypto.decryptData({ 84 | sessionKey: 'xxx', 85 | encryptedData: 'xxx', 86 | iv: 'xxx' 87 | }); 88 | 89 | console.log(result); 90 | // 可能结果如下: watermark 对象用作校验,具体请参考文档 91 | // { 92 | // phoneNumber: 'xxxx', 93 | // purePhoneNumber: 'xxx', 94 | // countryCode: 'xxxx', 95 | // watermark: { timestamp: 1560502778, appid: 'wxc0783c8b8bfef8d3' } 96 | // } 97 | ``` 98 | 99 | ## 参考文档 100 | 101 | - 接口文档: https://developers.weixin.qq.com/miniprogram/dev/api-backend/ 102 | - 登录(sessionKey获取): https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/login.html 103 | - 数据加密解密: https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html 104 | - 小程序端授权: https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/authorize.html 105 | 106 | ## 相关项目推荐 107 | 108 | - 阿里云SDK: https://github.com/willin/waliyun 109 | - 腾讯云SDK: https://github.com/willin/wqcloud 110 | - 网易云音乐SDK: https://github.com/willin/wnm 111 | - Rescuetime SDK: https://github.com/willin/wrescuetime 112 | 113 | ## License 114 | 115 | Apache 2.0 116 | 117 | donate 118 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "mp-sdk", 3 | "version": "0.2.0", 4 | "description": "微信小程序服务器端SDK。Wechat Mini Program (mp) Serverside SDK", 5 | "keywords": [ 6 | "sdk", "mp", "wechat", "mini-program" 7 | ], 8 | "main": "src/index.js", 9 | "repository": "git@github.com:willin/mp-sdk.git", 10 | "author": "willin ", 11 | "license": "Apache-2.0", 12 | "dependencies": { 13 | "axios": "^0.21.1", 14 | "debug": "^4.1.1" 15 | }, 16 | "devDependencies": { 17 | "eslint": "^5.16.0", 18 | "eslint-config-willin": "^1.0.2" 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/crypto.js: -------------------------------------------------------------------------------- 1 | const crypto = require('crypto'); 2 | 3 | module.exports = appId => ({ 4 | sessionKey = '', 5 | encryptedData = '', 6 | iv = '' 7 | }) => { 8 | let decoded = {}; 9 | try { 10 | // 解密 11 | const decipher = crypto.createDecipheriv('aes-128-cbc', Buffer.from(sessionKey, 'base64'), Buffer.from(iv, 'base64')); 12 | // 设置自动 padding 为 true,删除填充补位 13 | decipher.setAutoPadding(true); 14 | decoded = decipher.update(Buffer.from(encryptedData, 'base64'), 'binary', 'utf8'); 15 | decoded += decipher.final('utf8'); 16 | 17 | decoded = JSON.parse(decoded); 18 | } catch (err) { 19 | throw new Error('Illegal Buffer'); 20 | } 21 | 22 | if (decoded.watermark.appid !== appId) { 23 | throw new Error('Illegal Buffer'); 24 | } 25 | 26 | return decoded; 27 | }; 28 | -------------------------------------------------------------------------------- /src/index.js: -------------------------------------------------------------------------------- 1 | const assert = require('assert'); 2 | const axios = require('axios'); 3 | const debug = require('debug'); 4 | const fs = require('fs'); 5 | const path = require('path'); 6 | const decryptData = require('./crypto'); 7 | 8 | const modules = fs.readdirSync(path.join(__dirname, '/modules')).filter(f => f.endsWith('.js')).map(f => f.replace(/.js$/, '')); 9 | 10 | axios.defaults.baseURL = 'https://api.weixin.qq.com'; 11 | axios.interceptors.request.use((config) => { 12 | const { method, url, params } = config; 13 | debug('mp-sdk:request')(`${method.toUpperCase()} ${url}`); 14 | debug('mp-sdk:request')(params); 15 | return config; 16 | }, error => Promise.reject(error)); 17 | 18 | axios.interceptors.response.use(({ data }) => { 19 | debug('mp-sdk:response')(data); 20 | return data; 21 | }, error => Promise.reject(error)); 22 | 23 | let globalToken = { 24 | token: '', 25 | expires: 0 26 | }; 27 | 28 | module.exports = (appid, secret) => { 29 | assert.ok(appid, 'The 1st param `appid` is required.'); 30 | assert.ok(secret, 'The 2nd param `secret` is required.'); 31 | 32 | const getAccessToken = () => { 33 | if (globalToken.expires > new Date()) { 34 | return Promise.resolve(globalToken.token); 35 | } 36 | return axios.get('/cgi-bin/token', { 37 | params: { 38 | grant_type: 'client_credential', appid, secret 39 | } 40 | }).then(({ access_token: token = '', expires_in: expires = 0 }) => { 41 | globalToken = { 42 | token, 43 | expires: new Date() + (expires - 2e2) * 1e3 44 | }; 45 | return token; 46 | }); 47 | }; 48 | 49 | const makeRequest = ({ url, data = {}, module }) => getAccessToken() 50 | .then(token => axios.post(url, data, { params: { access_token: token }, ...(module === 'wxacode' ? { responseType: 'arraybuffer' } : {}) })); 51 | 52 | const originObj = { 53 | crypto: { 54 | decryptData: decryptData(appid) 55 | }, 56 | auth: { 57 | code2Session: params => axios.get('/sns/jscode2session', { 58 | params: { 59 | appid, secret, grant_type: 'authorization_code', ...params 60 | } 61 | }), 62 | getAccessToken, 63 | getPaidUnionId: params => getAccessToken().then(token => axios.get('https://api.weixin.qq.com/wxa/getpaidunionid', 64 | { params: { access_token: token, ...params } })) 65 | } 66 | }; 67 | return new Proxy(originObj, { 68 | get: (obj, target) => { 69 | const module = target.toLowerCase(); 70 | if (Object.prototype.hasOwnProperty.call(obj, module)) { 71 | return obj[module]; 72 | } 73 | if (modules.indexOf(module) !== -1) { 74 | const loadModule = methods => Object.keys(methods).reduce((o, method) => { 75 | Object.assign(o, { 76 | [method]: data => makeRequest({ url: methods[method], data, module }) 77 | }); 78 | return o; 79 | }, {}); 80 | Object.assign(obj, { 81 | // eslint-disable-next-line global-require,import/no-dynamic-require 82 | [module]: loadModule(require(`./modules/${module}`)) 83 | }); 84 | return obj[module]; 85 | } 86 | return assert.fail('No such module.'); 87 | } 88 | }); 89 | }; 90 | -------------------------------------------------------------------------------- /src/modules/analysis.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | getMonthlyRetain: '/datacube/getweanalysisappidmonthlyretaininfo', 3 | getWeeklyRetain: '/datacube/getweanalysisappidweeklyretaininfo', 4 | getDailyRetain: '/datacube/getweanalysisappiddailyretaininfo', 5 | getMonthlyVisitTrend: '/datacube/getweanalysisappidmonthlyvisittrend', 6 | getWeeklyVisitTrend: '/datacube/getweanalysisappidweeklyvisittrend', 7 | getDailyVisitTrend: '/datacube/getweanalysisappiddailyvisittrend', 8 | getUserPortrait: '/datacube/getweanalysisappiduserportrait', 9 | getVisitDistribution: '/datacube/getweanalysisappidvisitdistribution', 10 | getVisitPage: '/datacube/getweanalysisappidvisitpage', 11 | getDailySummary: '/datacube/getweanalysisappiddailysummarytrend' 12 | }; 13 | -------------------------------------------------------------------------------- /src/modules/customerservicemessage.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | setTyping: '/cgi-bin/message/custom/typing', 3 | uploadTempMedia: '/cgi-bin/media/upload', 4 | getTempMedia: '/cgi-bin/media/get', 5 | send: '/cgi-bin/message/custom/send' 6 | }; 7 | -------------------------------------------------------------------------------- /src/modules/logistics.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | getPath: '/cgi-bin/express/business/path/get', 3 | addOrder: '/cgi-bin/express/business/order/add', 4 | cancelOrder: '/cgi-bin/express/business/order/cancel', 5 | getAllDelivery: '/cgi-bin/express/business/delivery/getall', 6 | getOrder: '/cgi-bin/express/business/order/get', 7 | getPrinter: '/cgi-bin/express/business/printer/getall', 8 | getQuota: '/cgi-bin/express/business/quota/get', 9 | updatePrinter: '/cgi-bin/express/business/printer/update', 10 | getContact: '/cgi-bin/express/delivery/contact/get', 11 | previewTemplate: '/cgi-bin/express/delivery/template/preview', 12 | updateBusiness: '/cgi-bin/express/delivery/service/business/update', 13 | updatePath: '/cgi-bin/express/delivery/path/update' 14 | }; 15 | -------------------------------------------------------------------------------- /src/modules/nearbypoi.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | add: '/wxa/addnearbypoi', 3 | delete: '/wxa/delnearbypoi', 4 | getList: '/wxa/getnearbypoilist', 5 | setShowStatus: '/wxa/setnearbypoishowstatus' 6 | }; 7 | -------------------------------------------------------------------------------- /src/modules/pluginmanager.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | applyPlugin: '/wxa/plugin', 3 | getPluginDevApplyList: '/wxa/devplugin', 4 | getPluginList: '/wxa/plugin', 5 | setDevPluginApplyStatus: '/wxa/devplugin', 6 | unbindPlugin: '/wxa/plugin' 7 | }; 8 | -------------------------------------------------------------------------------- /src/modules/security.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | imgSecCheck: '/wxa/img_sec_check', 3 | mediaCheckAsync: '/wxa/media_check_async', 4 | msgSecCheck: '/wxa/msg_sec_check' 5 | }; 6 | -------------------------------------------------------------------------------- /src/modules/soter.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | verifySignature: '/cgi-bin/soter/verify_signature' 3 | }; 4 | -------------------------------------------------------------------------------- /src/modules/templatemessage.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | addTemplate: '/cgi-bin/wxopen/template/add', 3 | deleteTemplate: '/cgi-bin/wxopen/template/del', 4 | getTemplateLibraryById: '/cgi-bin/wxopen/template/library/get', 5 | getTemplateLibraryList: '/cgi-bin/wxopen/template/library/list', 6 | getTemplateList: '/cgi-bin/wxopen/template/list', 7 | send: '/cgi-bin/message/wxopen/template/send' 8 | }; 9 | -------------------------------------------------------------------------------- /src/modules/uniformmessage.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | send: '/cgi-bin/message/wxopen/template/uniform_send' 3 | }; 4 | -------------------------------------------------------------------------------- /src/modules/updatablemessage.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | createActivityId: '/cgi-bin/message/wxopen/activityid/create', 3 | setUpdatableMsg: '/cgi-bin/message/wxopen/updatablemsg/send' 4 | }; 5 | -------------------------------------------------------------------------------- /src/modules/wxacode.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | createQRCode: '/cgi-bin/wxaapp/createwxaqrcode', 3 | get: '/wxa/getwxacode', 4 | getUnlimited: '/wxa/getwxacodeunlimit' 5 | }; 6 | -------------------------------------------------------------------------------- /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.0.0" 7 | resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0.tgz#06e2ab19bdb535385559aabb5ba59729482800f8" 8 | integrity sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA== 9 | dependencies: 10 | "@babel/highlight" "^7.0.0" 11 | 12 | "@babel/highlight@^7.0.0": 13 | version "7.0.0" 14 | resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.0.0.tgz#f710c38c8d458e6dd9a201afb637fcb781ce99e4" 15 | integrity sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw== 16 | dependencies: 17 | chalk "^2.0.0" 18 | esutils "^2.0.2" 19 | js-tokens "^4.0.0" 20 | 21 | acorn-jsx@^5.0.0: 22 | version "5.0.1" 23 | resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.0.1.tgz#32a064fd925429216a09b141102bfdd185fae40e" 24 | integrity sha512-HJ7CfNHrfJLlNTzIEUTj43LNWGkqpRLxm3YjAlcD0ACydk9XynzYsCBHxut+iqt+1aBXkx9UP/w/ZqMr13XIzg== 25 | 26 | acorn@^6.0.7: 27 | version "6.4.2" 28 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.2.tgz#35866fd710528e92de10cf06016498e47e39e1e6" 29 | integrity sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ== 30 | 31 | ajv@^6.9.1: 32 | version "6.12.6" 33 | resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" 34 | integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== 35 | dependencies: 36 | fast-deep-equal "^3.1.1" 37 | fast-json-stable-stringify "^2.0.0" 38 | json-schema-traverse "^0.4.1" 39 | uri-js "^4.2.2" 40 | 41 | ansi-escapes@^3.2.0: 42 | version "3.2.0" 43 | resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b" 44 | integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ== 45 | 46 | ansi-regex@^3.0.0: 47 | version "3.0.0" 48 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" 49 | integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= 50 | 51 | ansi-regex@^4.1.0: 52 | version "4.1.0" 53 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" 54 | integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== 55 | 56 | ansi-styles@^3.2.0, ansi-styles@^3.2.1: 57 | version "3.2.1" 58 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" 59 | integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== 60 | dependencies: 61 | color-convert "^1.9.0" 62 | 63 | argparse@^1.0.7: 64 | version "1.0.10" 65 | resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" 66 | integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== 67 | dependencies: 68 | sprintf-js "~1.0.2" 69 | 70 | array-includes@^3.0.3: 71 | version "3.0.3" 72 | resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.0.3.tgz#184b48f62d92d7452bb31b323165c7f8bd02266d" 73 | integrity sha1-GEtI9i2S10UrsxsyMWXH+L0CJm0= 74 | dependencies: 75 | define-properties "^1.1.2" 76 | es-abstract "^1.7.0" 77 | 78 | astral-regex@^1.0.0: 79 | version "1.0.0" 80 | resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9" 81 | integrity sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg== 82 | 83 | axios@^0.21.1: 84 | version "0.21.2" 85 | resolved "https://registry.yarnpkg.com/axios/-/axios-0.21.2.tgz#21297d5084b2aeeb422f5d38e7be4fbb82239017" 86 | integrity sha512-87otirqUw3e8CzHTMO+/9kh/FSgXt/eVDvipijwDtEuwbkySWZ9SBm6VEubmJ/kLKEoLQV/POhxXFb66bfekfg== 87 | dependencies: 88 | follow-redirects "^1.14.0" 89 | 90 | balanced-match@^1.0.0: 91 | version "1.0.0" 92 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" 93 | integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= 94 | 95 | brace-expansion@^1.1.7: 96 | version "1.1.11" 97 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" 98 | integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== 99 | dependencies: 100 | balanced-match "^1.0.0" 101 | concat-map "0.0.1" 102 | 103 | callsites@^3.0.0: 104 | version "3.1.0" 105 | resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" 106 | integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== 107 | 108 | chalk@^2.0.0, chalk@^2.1.0, chalk@^2.4.2: 109 | version "2.4.2" 110 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" 111 | integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== 112 | dependencies: 113 | ansi-styles "^3.2.1" 114 | escape-string-regexp "^1.0.5" 115 | supports-color "^5.3.0" 116 | 117 | chardet@^0.7.0: 118 | version "0.7.0" 119 | resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" 120 | integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== 121 | 122 | cli-cursor@^2.1.0: 123 | version "2.1.0" 124 | resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" 125 | integrity sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU= 126 | dependencies: 127 | restore-cursor "^2.0.0" 128 | 129 | cli-width@^2.0.0: 130 | version "2.2.0" 131 | resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639" 132 | integrity sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk= 133 | 134 | color-convert@^1.9.0: 135 | version "1.9.3" 136 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" 137 | integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== 138 | dependencies: 139 | color-name "1.1.3" 140 | 141 | color-name@1.1.3: 142 | version "1.1.3" 143 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" 144 | integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= 145 | 146 | concat-map@0.0.1: 147 | version "0.0.1" 148 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 149 | integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= 150 | 151 | contains-path@^0.1.0: 152 | version "0.1.0" 153 | resolved "https://registry.yarnpkg.com/contains-path/-/contains-path-0.1.0.tgz#fe8cf184ff6670b6baef01a9d4861a5cbec4120a" 154 | integrity sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo= 155 | 156 | cross-spawn@^6.0.5: 157 | version "6.0.5" 158 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" 159 | integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== 160 | dependencies: 161 | nice-try "^1.0.4" 162 | path-key "^2.0.1" 163 | semver "^5.5.0" 164 | shebang-command "^1.2.0" 165 | which "^1.2.9" 166 | 167 | debug@^2.6.8, debug@^2.6.9: 168 | version "2.6.9" 169 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" 170 | integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== 171 | dependencies: 172 | ms "2.0.0" 173 | 174 | debug@^4.0.1, debug@^4.1.1: 175 | version "4.1.1" 176 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" 177 | integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw== 178 | dependencies: 179 | ms "^2.1.1" 180 | 181 | deep-is@~0.1.3: 182 | version "0.1.3" 183 | resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" 184 | integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= 185 | 186 | define-properties@^1.1.2, define-properties@^1.1.3: 187 | version "1.1.3" 188 | resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" 189 | integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== 190 | dependencies: 191 | object-keys "^1.0.12" 192 | 193 | doctrine@1.5.0: 194 | version "1.5.0" 195 | resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa" 196 | integrity sha1-N53Ocw9hZvds76TmcHoVmwLFpvo= 197 | dependencies: 198 | esutils "^2.0.2" 199 | isarray "^1.0.0" 200 | 201 | doctrine@^3.0.0: 202 | version "3.0.0" 203 | resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" 204 | integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== 205 | dependencies: 206 | esutils "^2.0.2" 207 | 208 | emoji-regex@^7.0.1: 209 | version "7.0.3" 210 | resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" 211 | integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== 212 | 213 | error-ex@^1.2.0: 214 | version "1.3.2" 215 | resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" 216 | integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== 217 | dependencies: 218 | is-arrayish "^0.2.1" 219 | 220 | es-abstract@^1.12.0, es-abstract@^1.7.0: 221 | version "1.13.0" 222 | resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.13.0.tgz#ac86145fdd5099d8dd49558ccba2eaf9b88e24e9" 223 | integrity sha512-vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg== 224 | dependencies: 225 | es-to-primitive "^1.2.0" 226 | function-bind "^1.1.1" 227 | has "^1.0.3" 228 | is-callable "^1.1.4" 229 | is-regex "^1.0.4" 230 | object-keys "^1.0.12" 231 | 232 | es-to-primitive@^1.2.0: 233 | version "1.2.0" 234 | resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.0.tgz#edf72478033456e8dda8ef09e00ad9650707f377" 235 | integrity sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg== 236 | dependencies: 237 | is-callable "^1.1.4" 238 | is-date-object "^1.0.1" 239 | is-symbol "^1.0.2" 240 | 241 | escape-string-regexp@^1.0.5: 242 | version "1.0.5" 243 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" 244 | integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= 245 | 246 | eslint-config-airbnb-base@*: 247 | version "13.1.0" 248 | resolved "https://registry.yarnpkg.com/eslint-config-airbnb-base/-/eslint-config-airbnb-base-13.1.0.tgz#b5a1b480b80dfad16433d6c4ad84e6605052c05c" 249 | integrity sha512-XWwQtf3U3zIoKO1BbHh6aUhJZQweOwSt4c2JrPDg9FP3Ltv3+YfEv7jIDB8275tVnO/qOHbfuYg3kzw6Je7uWw== 250 | dependencies: 251 | eslint-restricted-globals "^0.1.1" 252 | object.assign "^4.1.0" 253 | object.entries "^1.0.4" 254 | 255 | eslint-config-willin@^1.0.2: 256 | version "1.0.2" 257 | resolved "https://registry.yarnpkg.com/eslint-config-willin/-/eslint-config-willin-1.0.2.tgz#3504d8e87c45d61d2e0513d92de6b381b01b80ea" 258 | integrity sha512-bACXwIPdLGSiGldGcaiD8guDjOeJEeObHw445S7YlgmEgjnT2PH6WzREbLSgZtywvG46xSAIiLdzF8Hk2mIZlw== 259 | dependencies: 260 | eslint "*" 261 | eslint-config-airbnb-base "*" 262 | eslint-plugin-import "*" 263 | 264 | eslint-import-resolver-node@^0.3.2: 265 | version "0.3.2" 266 | resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.2.tgz#58f15fb839b8d0576ca980413476aab2472db66a" 267 | integrity sha512-sfmTqJfPSizWu4aymbPr4Iidp5yKm8yDkHp+Ir3YiTHiiDfxh69mOUsmiqW6RZ9zRXFaF64GtYmN7e+8GHBv6Q== 268 | dependencies: 269 | debug "^2.6.9" 270 | resolve "^1.5.0" 271 | 272 | eslint-module-utils@^2.4.0: 273 | version "2.4.0" 274 | resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.4.0.tgz#8b93499e9b00eab80ccb6614e69f03678e84e09a" 275 | integrity sha512-14tltLm38Eu3zS+mt0KvILC3q8jyIAH518MlG+HO0p+yK885Lb1UHTY/UgR91eOyGdmxAPb+OLoW4znqIT6Ndw== 276 | dependencies: 277 | debug "^2.6.8" 278 | pkg-dir "^2.0.0" 279 | 280 | eslint-plugin-import@*: 281 | version "2.17.3" 282 | resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.17.3.tgz#00548b4434c18faebaba04b24ae6198f280de189" 283 | integrity sha512-qeVf/UwXFJbeyLbxuY8RgqDyEKCkqV7YC+E5S5uOjAp4tOc8zj01JP3ucoBM8JcEqd1qRasJSg6LLlisirfy0Q== 284 | dependencies: 285 | array-includes "^3.0.3" 286 | contains-path "^0.1.0" 287 | debug "^2.6.9" 288 | doctrine "1.5.0" 289 | eslint-import-resolver-node "^0.3.2" 290 | eslint-module-utils "^2.4.0" 291 | has "^1.0.3" 292 | lodash "^4.17.11" 293 | minimatch "^3.0.4" 294 | read-pkg-up "^2.0.0" 295 | resolve "^1.11.0" 296 | 297 | eslint-restricted-globals@^0.1.1: 298 | version "0.1.1" 299 | resolved "https://registry.yarnpkg.com/eslint-restricted-globals/-/eslint-restricted-globals-0.1.1.tgz#35f0d5cbc64c2e3ed62e93b4b1a7af05ba7ed4d7" 300 | integrity sha1-NfDVy8ZMLj7WLpO0saevBbp+1Nc= 301 | 302 | eslint-scope@^4.0.3: 303 | version "4.0.3" 304 | resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.3.tgz#ca03833310f6889a3264781aa82e63eb9cfe7848" 305 | integrity sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg== 306 | dependencies: 307 | esrecurse "^4.1.0" 308 | estraverse "^4.1.1" 309 | 310 | eslint-utils@^1.3.1: 311 | version "1.4.3" 312 | resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.4.3.tgz#74fec7c54d0776b6f67e0251040b5806564e981f" 313 | integrity sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q== 314 | dependencies: 315 | eslint-visitor-keys "^1.1.0" 316 | 317 | eslint-visitor-keys@^1.0.0, eslint-visitor-keys@^1.1.0: 318 | version "1.1.0" 319 | resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz#e2a82cea84ff246ad6fb57f9bde5b46621459ec2" 320 | integrity sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A== 321 | 322 | eslint@*, eslint@^5.16.0: 323 | version "5.16.0" 324 | resolved "https://registry.yarnpkg.com/eslint/-/eslint-5.16.0.tgz#a1e3ac1aae4a3fbd8296fcf8f7ab7314cbb6abea" 325 | integrity sha512-S3Rz11i7c8AA5JPv7xAH+dOyq/Cu/VXHiHXBPOU1k/JAM5dXqQPt3qcrhpHSorXmrpu2g0gkIBVXAqCpzfoZIg== 326 | dependencies: 327 | "@babel/code-frame" "^7.0.0" 328 | ajv "^6.9.1" 329 | chalk "^2.1.0" 330 | cross-spawn "^6.0.5" 331 | debug "^4.0.1" 332 | doctrine "^3.0.0" 333 | eslint-scope "^4.0.3" 334 | eslint-utils "^1.3.1" 335 | eslint-visitor-keys "^1.0.0" 336 | espree "^5.0.1" 337 | esquery "^1.0.1" 338 | esutils "^2.0.2" 339 | file-entry-cache "^5.0.1" 340 | functional-red-black-tree "^1.0.1" 341 | glob "^7.1.2" 342 | globals "^11.7.0" 343 | ignore "^4.0.6" 344 | import-fresh "^3.0.0" 345 | imurmurhash "^0.1.4" 346 | inquirer "^6.2.2" 347 | js-yaml "^3.13.0" 348 | json-stable-stringify-without-jsonify "^1.0.1" 349 | levn "^0.3.0" 350 | lodash "^4.17.11" 351 | minimatch "^3.0.4" 352 | mkdirp "^0.5.1" 353 | natural-compare "^1.4.0" 354 | optionator "^0.8.2" 355 | path-is-inside "^1.0.2" 356 | progress "^2.0.0" 357 | regexpp "^2.0.1" 358 | semver "^5.5.1" 359 | strip-ansi "^4.0.0" 360 | strip-json-comments "^2.0.1" 361 | table "^5.2.3" 362 | text-table "^0.2.0" 363 | 364 | espree@^5.0.1: 365 | version "5.0.1" 366 | resolved "https://registry.yarnpkg.com/espree/-/espree-5.0.1.tgz#5d6526fa4fc7f0788a5cf75b15f30323e2f81f7a" 367 | integrity sha512-qWAZcWh4XE/RwzLJejfcofscgMc9CamR6Tn1+XRXNzrvUSSbiAjGOI/fggztjIi7y9VLPqnICMIPiGyr8JaZ0A== 368 | dependencies: 369 | acorn "^6.0.7" 370 | acorn-jsx "^5.0.0" 371 | eslint-visitor-keys "^1.0.0" 372 | 373 | esprima@^4.0.0: 374 | version "4.0.1" 375 | resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" 376 | integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== 377 | 378 | esquery@^1.0.1: 379 | version "1.0.1" 380 | resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.0.1.tgz#406c51658b1f5991a5f9b62b1dc25b00e3e5c708" 381 | integrity sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA== 382 | dependencies: 383 | estraverse "^4.0.0" 384 | 385 | esrecurse@^4.1.0: 386 | version "4.2.1" 387 | resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.1.tgz#007a3b9fdbc2b3bb87e4879ea19c92fdbd3942cf" 388 | integrity sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ== 389 | dependencies: 390 | estraverse "^4.1.0" 391 | 392 | estraverse@^4.0.0, estraverse@^4.1.0, estraverse@^4.1.1: 393 | version "4.2.0" 394 | resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13" 395 | integrity sha1-De4/7TH81GlhjOc0IJn8GvoL2xM= 396 | 397 | esutils@^2.0.2: 398 | version "2.0.2" 399 | resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" 400 | integrity sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs= 401 | 402 | external-editor@^3.0.3: 403 | version "3.0.3" 404 | resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.0.3.tgz#5866db29a97826dbe4bf3afd24070ead9ea43a27" 405 | integrity sha512-bn71H9+qWoOQKyZDo25mOMVpSmXROAsTJVVVYzrrtol3d4y+AsKjf4Iwl2Q+IuT0kFSQ1qo166UuIwqYq7mGnA== 406 | dependencies: 407 | chardet "^0.7.0" 408 | iconv-lite "^0.4.24" 409 | tmp "^0.0.33" 410 | 411 | fast-deep-equal@^3.1.1: 412 | version "3.1.3" 413 | resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" 414 | integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== 415 | 416 | fast-json-stable-stringify@^2.0.0: 417 | version "2.1.0" 418 | resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" 419 | integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== 420 | 421 | fast-levenshtein@~2.0.4: 422 | version "2.0.6" 423 | resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" 424 | integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= 425 | 426 | figures@^2.0.0: 427 | version "2.0.0" 428 | resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962" 429 | integrity sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI= 430 | dependencies: 431 | escape-string-regexp "^1.0.5" 432 | 433 | file-entry-cache@^5.0.1: 434 | version "5.0.1" 435 | resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-5.0.1.tgz#ca0f6efa6dd3d561333fb14515065c2fafdf439c" 436 | integrity sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g== 437 | dependencies: 438 | flat-cache "^2.0.1" 439 | 440 | find-up@^2.0.0, find-up@^2.1.0: 441 | version "2.1.0" 442 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" 443 | integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c= 444 | dependencies: 445 | locate-path "^2.0.0" 446 | 447 | flat-cache@^2.0.1: 448 | version "2.0.1" 449 | resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-2.0.1.tgz#5d296d6f04bda44a4630a301413bdbc2ec085ec0" 450 | integrity sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA== 451 | dependencies: 452 | flatted "^2.0.0" 453 | rimraf "2.6.3" 454 | write "1.0.3" 455 | 456 | flatted@^2.0.0: 457 | version "2.0.0" 458 | resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.0.tgz#55122b6536ea496b4b44893ee2608141d10d9916" 459 | integrity sha512-R+H8IZclI8AAkSBRQJLVOsxwAoHd6WC40b4QTNWIjzAa6BXOBfQcM587MXDTVPeYaopFNWHUFLx7eNmHDSxMWg== 460 | 461 | follow-redirects@^1.14.0: 462 | version "1.14.8" 463 | resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.8.tgz#016996fb9a11a100566398b1c6839337d7bfa8fc" 464 | integrity sha512-1x0S9UVJHsQprFcEC/qnNzBLcIxsjAV905f/UkQxbclCsoTWlacCNOpQa/anodLl2uaEKFhfWOvM2Qg77+15zA== 465 | 466 | fs.realpath@^1.0.0: 467 | version "1.0.0" 468 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 469 | integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= 470 | 471 | function-bind@^1.1.1: 472 | version "1.1.1" 473 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" 474 | integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== 475 | 476 | functional-red-black-tree@^1.0.1: 477 | version "1.0.1" 478 | resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" 479 | integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= 480 | 481 | glob@^7.1.2, glob@^7.1.3: 482 | version "7.1.4" 483 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.4.tgz#aa608a2f6c577ad357e1ae5a5c26d9a8d1969255" 484 | integrity sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A== 485 | dependencies: 486 | fs.realpath "^1.0.0" 487 | inflight "^1.0.4" 488 | inherits "2" 489 | minimatch "^3.0.4" 490 | once "^1.3.0" 491 | path-is-absolute "^1.0.0" 492 | 493 | globals@^11.7.0: 494 | version "11.12.0" 495 | resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" 496 | integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== 497 | 498 | graceful-fs@^4.1.2: 499 | version "4.1.15" 500 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.15.tgz#ffb703e1066e8a0eeaa4c8b80ba9253eeefbfb00" 501 | integrity sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA== 502 | 503 | has-flag@^3.0.0: 504 | version "3.0.0" 505 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" 506 | integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= 507 | 508 | has-symbols@^1.0.0: 509 | version "1.0.0" 510 | resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.0.tgz#ba1a8f1af2a0fc39650f5c850367704122063b44" 511 | integrity sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q= 512 | 513 | has@^1.0.1, has@^1.0.3: 514 | version "1.0.3" 515 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" 516 | integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== 517 | dependencies: 518 | function-bind "^1.1.1" 519 | 520 | hosted-git-info@^2.1.4: 521 | version "2.8.9" 522 | resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" 523 | integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== 524 | 525 | iconv-lite@^0.4.24: 526 | version "0.4.24" 527 | resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" 528 | integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== 529 | dependencies: 530 | safer-buffer ">= 2.1.2 < 3" 531 | 532 | ignore@^4.0.6: 533 | version "4.0.6" 534 | resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" 535 | integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== 536 | 537 | import-fresh@^3.0.0: 538 | version "3.0.0" 539 | resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.0.0.tgz#a3d897f420cab0e671236897f75bc14b4885c390" 540 | integrity sha512-pOnA9tfM3Uwics+SaBLCNyZZZbK+4PTu0OPZtLlMIrv17EdBoC15S9Kn8ckJ9TZTyKb3ywNE5y1yeDxxGA7nTQ== 541 | dependencies: 542 | parent-module "^1.0.0" 543 | resolve-from "^4.0.0" 544 | 545 | imurmurhash@^0.1.4: 546 | version "0.1.4" 547 | resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" 548 | integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= 549 | 550 | inflight@^1.0.4: 551 | version "1.0.6" 552 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" 553 | integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= 554 | dependencies: 555 | once "^1.3.0" 556 | wrappy "1" 557 | 558 | inherits@2: 559 | version "2.0.3" 560 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" 561 | integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= 562 | 563 | inquirer@^6.2.2: 564 | version "6.3.1" 565 | resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.3.1.tgz#7a413b5e7950811013a3db491c61d1f3b776e8e7" 566 | integrity sha512-MmL624rfkFt4TG9y/Jvmt8vdmOo836U7Y0Hxr2aFk3RelZEGX4Igk0KabWrcaaZaTv9uzglOqWh1Vly+FAWAXA== 567 | dependencies: 568 | ansi-escapes "^3.2.0" 569 | chalk "^2.4.2" 570 | cli-cursor "^2.1.0" 571 | cli-width "^2.0.0" 572 | external-editor "^3.0.3" 573 | figures "^2.0.0" 574 | lodash "^4.17.11" 575 | mute-stream "0.0.7" 576 | run-async "^2.2.0" 577 | rxjs "^6.4.0" 578 | string-width "^2.1.0" 579 | strip-ansi "^5.1.0" 580 | through "^2.3.6" 581 | 582 | is-arrayish@^0.2.1: 583 | version "0.2.1" 584 | resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" 585 | integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= 586 | 587 | is-callable@^1.1.4: 588 | version "1.1.4" 589 | resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.4.tgz#1e1adf219e1eeb684d691f9d6a05ff0d30a24d75" 590 | integrity sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA== 591 | 592 | is-date-object@^1.0.1: 593 | version "1.0.1" 594 | resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16" 595 | integrity sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY= 596 | 597 | is-fullwidth-code-point@^2.0.0: 598 | version "2.0.0" 599 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" 600 | integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= 601 | 602 | is-promise@^2.1.0: 603 | version "2.1.0" 604 | resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" 605 | integrity sha1-eaKp7OfwlugPNtKy87wWwf9L8/o= 606 | 607 | is-regex@^1.0.4: 608 | version "1.0.4" 609 | resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491" 610 | integrity sha1-VRdIm1RwkbCTDglWVM7SXul+lJE= 611 | dependencies: 612 | has "^1.0.1" 613 | 614 | is-symbol@^1.0.2: 615 | version "1.0.2" 616 | resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.2.tgz#a055f6ae57192caee329e7a860118b497a950f38" 617 | integrity sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw== 618 | dependencies: 619 | has-symbols "^1.0.0" 620 | 621 | isarray@^1.0.0: 622 | version "1.0.0" 623 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" 624 | integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= 625 | 626 | isexe@^2.0.0: 627 | version "2.0.0" 628 | resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" 629 | integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= 630 | 631 | js-tokens@^4.0.0: 632 | version "4.0.0" 633 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" 634 | integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== 635 | 636 | js-yaml@^3.13.0: 637 | version "3.13.1" 638 | resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847" 639 | integrity sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw== 640 | dependencies: 641 | argparse "^1.0.7" 642 | esprima "^4.0.0" 643 | 644 | json-schema-traverse@^0.4.1: 645 | version "0.4.1" 646 | resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" 647 | integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== 648 | 649 | json-stable-stringify-without-jsonify@^1.0.1: 650 | version "1.0.1" 651 | resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" 652 | integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= 653 | 654 | levn@^0.3.0, levn@~0.3.0: 655 | version "0.3.0" 656 | resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" 657 | integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= 658 | dependencies: 659 | prelude-ls "~1.1.2" 660 | type-check "~0.3.2" 661 | 662 | load-json-file@^2.0.0: 663 | version "2.0.0" 664 | resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8" 665 | integrity sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg= 666 | dependencies: 667 | graceful-fs "^4.1.2" 668 | parse-json "^2.2.0" 669 | pify "^2.0.0" 670 | strip-bom "^3.0.0" 671 | 672 | locate-path@^2.0.0: 673 | version "2.0.0" 674 | resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" 675 | integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4= 676 | dependencies: 677 | p-locate "^2.0.0" 678 | path-exists "^3.0.0" 679 | 680 | lodash@^4.17.11: 681 | version "4.17.21" 682 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" 683 | integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== 684 | 685 | mimic-fn@^1.0.0: 686 | version "1.2.0" 687 | resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" 688 | integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ== 689 | 690 | minimatch@^3.0.4: 691 | version "3.0.4" 692 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" 693 | integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== 694 | dependencies: 695 | brace-expansion "^1.1.7" 696 | 697 | minimist@0.0.8: 698 | version "0.0.8" 699 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" 700 | integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0= 701 | 702 | mkdirp@^0.5.1: 703 | version "0.5.1" 704 | resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" 705 | integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM= 706 | dependencies: 707 | minimist "0.0.8" 708 | 709 | ms@2.0.0: 710 | version "2.0.0" 711 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" 712 | integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= 713 | 714 | ms@^2.1.1: 715 | version "2.1.2" 716 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" 717 | integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== 718 | 719 | mute-stream@0.0.7: 720 | version "0.0.7" 721 | resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" 722 | integrity sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s= 723 | 724 | natural-compare@^1.4.0: 725 | version "1.4.0" 726 | resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" 727 | integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= 728 | 729 | nice-try@^1.0.4: 730 | version "1.0.5" 731 | resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" 732 | integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== 733 | 734 | normalize-package-data@^2.3.2: 735 | version "2.5.0" 736 | resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" 737 | integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== 738 | dependencies: 739 | hosted-git-info "^2.1.4" 740 | resolve "^1.10.0" 741 | semver "2 || 3 || 4 || 5" 742 | validate-npm-package-license "^3.0.1" 743 | 744 | object-keys@^1.0.11, object-keys@^1.0.12: 745 | version "1.1.1" 746 | resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" 747 | integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== 748 | 749 | object.assign@^4.1.0: 750 | version "4.1.0" 751 | resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da" 752 | integrity sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w== 753 | dependencies: 754 | define-properties "^1.1.2" 755 | function-bind "^1.1.1" 756 | has-symbols "^1.0.0" 757 | object-keys "^1.0.11" 758 | 759 | object.entries@^1.0.4: 760 | version "1.1.0" 761 | resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.0.tgz#2024fc6d6ba246aee38bdb0ffd5cfbcf371b7519" 762 | integrity sha512-l+H6EQ8qzGRxbkHOd5I/aHRhHDKoQXQ8g0BYt4uSweQU1/J6dZUOyWh9a2Vky35YCKjzmgxOzta2hH6kf9HuXA== 763 | dependencies: 764 | define-properties "^1.1.3" 765 | es-abstract "^1.12.0" 766 | function-bind "^1.1.1" 767 | has "^1.0.3" 768 | 769 | once@^1.3.0: 770 | version "1.4.0" 771 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 772 | integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= 773 | dependencies: 774 | wrappy "1" 775 | 776 | onetime@^2.0.0: 777 | version "2.0.1" 778 | resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" 779 | integrity sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ= 780 | dependencies: 781 | mimic-fn "^1.0.0" 782 | 783 | optionator@^0.8.2: 784 | version "0.8.2" 785 | resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64" 786 | integrity sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q= 787 | dependencies: 788 | deep-is "~0.1.3" 789 | fast-levenshtein "~2.0.4" 790 | levn "~0.3.0" 791 | prelude-ls "~1.1.2" 792 | type-check "~0.3.2" 793 | wordwrap "~1.0.0" 794 | 795 | os-tmpdir@~1.0.2: 796 | version "1.0.2" 797 | resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" 798 | integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= 799 | 800 | p-limit@^1.1.0: 801 | version "1.3.0" 802 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" 803 | integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q== 804 | dependencies: 805 | p-try "^1.0.0" 806 | 807 | p-locate@^2.0.0: 808 | version "2.0.0" 809 | resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" 810 | integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM= 811 | dependencies: 812 | p-limit "^1.1.0" 813 | 814 | p-try@^1.0.0: 815 | version "1.0.0" 816 | resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" 817 | integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M= 818 | 819 | parent-module@^1.0.0: 820 | version "1.0.1" 821 | resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" 822 | integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== 823 | dependencies: 824 | callsites "^3.0.0" 825 | 826 | parse-json@^2.2.0: 827 | version "2.2.0" 828 | resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" 829 | integrity sha1-9ID0BDTvgHQfhGkJn43qGPVaTck= 830 | dependencies: 831 | error-ex "^1.2.0" 832 | 833 | path-exists@^3.0.0: 834 | version "3.0.0" 835 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" 836 | integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= 837 | 838 | path-is-absolute@^1.0.0: 839 | version "1.0.1" 840 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 841 | integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= 842 | 843 | path-is-inside@^1.0.2: 844 | version "1.0.2" 845 | resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" 846 | integrity sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM= 847 | 848 | path-key@^2.0.1: 849 | version "2.0.1" 850 | resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" 851 | integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= 852 | 853 | path-parse@^1.0.6: 854 | version "1.0.7" 855 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" 856 | integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== 857 | 858 | path-type@^2.0.0: 859 | version "2.0.0" 860 | resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73" 861 | integrity sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM= 862 | dependencies: 863 | pify "^2.0.0" 864 | 865 | pify@^2.0.0: 866 | version "2.3.0" 867 | resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" 868 | integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw= 869 | 870 | pkg-dir@^2.0.0: 871 | version "2.0.0" 872 | resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b" 873 | integrity sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s= 874 | dependencies: 875 | find-up "^2.1.0" 876 | 877 | prelude-ls@~1.1.2: 878 | version "1.1.2" 879 | resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" 880 | integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= 881 | 882 | progress@^2.0.0: 883 | version "2.0.3" 884 | resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" 885 | integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== 886 | 887 | punycode@^2.1.0: 888 | version "2.1.1" 889 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" 890 | integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== 891 | 892 | read-pkg-up@^2.0.0: 893 | version "2.0.0" 894 | resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be" 895 | integrity sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4= 896 | dependencies: 897 | find-up "^2.0.0" 898 | read-pkg "^2.0.0" 899 | 900 | read-pkg@^2.0.0: 901 | version "2.0.0" 902 | resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8" 903 | integrity sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg= 904 | dependencies: 905 | load-json-file "^2.0.0" 906 | normalize-package-data "^2.3.2" 907 | path-type "^2.0.0" 908 | 909 | regexpp@^2.0.1: 910 | version "2.0.1" 911 | resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f" 912 | integrity sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw== 913 | 914 | resolve-from@^4.0.0: 915 | version "4.0.0" 916 | resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" 917 | integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== 918 | 919 | resolve@^1.10.0, resolve@^1.11.0, resolve@^1.5.0: 920 | version "1.11.1" 921 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.11.1.tgz#ea10d8110376982fef578df8fc30b9ac30a07a3e" 922 | integrity sha512-vIpgF6wfuJOZI7KKKSP+HmiKggadPQAdsp5HiC1mvqnfp0gF1vdwgBWZIdrVft9pgqoMFQN+R7BSWZiBxx+BBw== 923 | dependencies: 924 | path-parse "^1.0.6" 925 | 926 | restore-cursor@^2.0.0: 927 | version "2.0.0" 928 | resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" 929 | integrity sha1-n37ih/gv0ybU/RYpI9YhKe7g368= 930 | dependencies: 931 | onetime "^2.0.0" 932 | signal-exit "^3.0.2" 933 | 934 | rimraf@2.6.3: 935 | version "2.6.3" 936 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" 937 | integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA== 938 | dependencies: 939 | glob "^7.1.3" 940 | 941 | run-async@^2.2.0: 942 | version "2.3.0" 943 | resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0" 944 | integrity sha1-A3GrSuC91yDUFm19/aZP96RFpsA= 945 | dependencies: 946 | is-promise "^2.1.0" 947 | 948 | rxjs@^6.4.0: 949 | version "6.5.2" 950 | resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.2.tgz#2e35ce815cd46d84d02a209fb4e5921e051dbec7" 951 | integrity sha512-HUb7j3kvb7p7eCUHE3FqjoDsC1xfZQ4AHFWfTKSpZ+sAhhz5X1WX0ZuUqWbzB2QhSLp3DoLUG+hMdEDKqWo2Zg== 952 | dependencies: 953 | tslib "^1.9.0" 954 | 955 | "safer-buffer@>= 2.1.2 < 3": 956 | version "2.1.2" 957 | resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" 958 | integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== 959 | 960 | "semver@2 || 3 || 4 || 5", semver@^5.5.0, semver@^5.5.1: 961 | version "5.7.0" 962 | resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.0.tgz#790a7cf6fea5459bac96110b29b60412dc8ff96b" 963 | integrity sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA== 964 | 965 | shebang-command@^1.2.0: 966 | version "1.2.0" 967 | resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" 968 | integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= 969 | dependencies: 970 | shebang-regex "^1.0.0" 971 | 972 | shebang-regex@^1.0.0: 973 | version "1.0.0" 974 | resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" 975 | integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= 976 | 977 | signal-exit@^3.0.2: 978 | version "3.0.2" 979 | resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" 980 | integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0= 981 | 982 | slice-ansi@^2.1.0: 983 | version "2.1.0" 984 | resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-2.1.0.tgz#cacd7693461a637a5788d92a7dd4fba068e81636" 985 | integrity sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ== 986 | dependencies: 987 | ansi-styles "^3.2.0" 988 | astral-regex "^1.0.0" 989 | is-fullwidth-code-point "^2.0.0" 990 | 991 | spdx-correct@^3.0.0: 992 | version "3.1.0" 993 | resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.0.tgz#fb83e504445268f154b074e218c87c003cd31df4" 994 | integrity sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q== 995 | dependencies: 996 | spdx-expression-parse "^3.0.0" 997 | spdx-license-ids "^3.0.0" 998 | 999 | spdx-exceptions@^2.1.0: 1000 | version "2.2.0" 1001 | resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz#2ea450aee74f2a89bfb94519c07fcd6f41322977" 1002 | integrity sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA== 1003 | 1004 | spdx-expression-parse@^3.0.0: 1005 | version "3.0.0" 1006 | resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz#99e119b7a5da00e05491c9fa338b7904823b41d0" 1007 | integrity sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg== 1008 | dependencies: 1009 | spdx-exceptions "^2.1.0" 1010 | spdx-license-ids "^3.0.0" 1011 | 1012 | spdx-license-ids@^3.0.0: 1013 | version "3.0.4" 1014 | resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.4.tgz#75ecd1a88de8c184ef015eafb51b5b48bfd11bb1" 1015 | integrity sha512-7j8LYJLeY/Yb6ACbQ7F76qy5jHkp0U6jgBfJsk97bwWlVUnUWsAgpyaCvo17h0/RQGnQ036tVDomiwoI4pDkQA== 1016 | 1017 | sprintf-js@~1.0.2: 1018 | version "1.0.3" 1019 | resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" 1020 | integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= 1021 | 1022 | string-width@^2.1.0: 1023 | version "2.1.1" 1024 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" 1025 | integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== 1026 | dependencies: 1027 | is-fullwidth-code-point "^2.0.0" 1028 | strip-ansi "^4.0.0" 1029 | 1030 | string-width@^3.0.0: 1031 | version "3.1.0" 1032 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" 1033 | integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== 1034 | dependencies: 1035 | emoji-regex "^7.0.1" 1036 | is-fullwidth-code-point "^2.0.0" 1037 | strip-ansi "^5.1.0" 1038 | 1039 | strip-ansi@^4.0.0: 1040 | version "4.0.0" 1041 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" 1042 | integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= 1043 | dependencies: 1044 | ansi-regex "^3.0.0" 1045 | 1046 | strip-ansi@^5.1.0: 1047 | version "5.2.0" 1048 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" 1049 | integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== 1050 | dependencies: 1051 | ansi-regex "^4.1.0" 1052 | 1053 | strip-bom@^3.0.0: 1054 | version "3.0.0" 1055 | resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" 1056 | integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= 1057 | 1058 | strip-json-comments@^2.0.1: 1059 | version "2.0.1" 1060 | resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" 1061 | integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= 1062 | 1063 | supports-color@^5.3.0: 1064 | version "5.5.0" 1065 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" 1066 | integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== 1067 | dependencies: 1068 | has-flag "^3.0.0" 1069 | 1070 | table@^5.2.3: 1071 | version "5.4.0" 1072 | resolved "https://registry.yarnpkg.com/table/-/table-5.4.0.tgz#d772a3216e68829920a41a32c18eda286c95d780" 1073 | integrity sha512-nHFDrxmbrkU7JAFKqKbDJXfzrX2UBsWmrieXFTGxiI5e4ncg3VqsZeI4EzNmX0ncp4XNGVeoxIWJXfCIXwrsvw== 1074 | dependencies: 1075 | ajv "^6.9.1" 1076 | lodash "^4.17.11" 1077 | slice-ansi "^2.1.0" 1078 | string-width "^3.0.0" 1079 | 1080 | text-table@^0.2.0: 1081 | version "0.2.0" 1082 | resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" 1083 | integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= 1084 | 1085 | through@^2.3.6: 1086 | version "2.3.8" 1087 | resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" 1088 | integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= 1089 | 1090 | tmp@^0.0.33: 1091 | version "0.0.33" 1092 | resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" 1093 | integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== 1094 | dependencies: 1095 | os-tmpdir "~1.0.2" 1096 | 1097 | tslib@^1.9.0: 1098 | version "1.10.0" 1099 | resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.10.0.tgz#c3c19f95973fb0a62973fb09d90d961ee43e5c8a" 1100 | integrity sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ== 1101 | 1102 | type-check@~0.3.2: 1103 | version "0.3.2" 1104 | resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" 1105 | integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= 1106 | dependencies: 1107 | prelude-ls "~1.1.2" 1108 | 1109 | uri-js@^4.2.2: 1110 | version "4.4.1" 1111 | resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" 1112 | integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== 1113 | dependencies: 1114 | punycode "^2.1.0" 1115 | 1116 | validate-npm-package-license@^3.0.1: 1117 | version "3.0.4" 1118 | resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" 1119 | integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== 1120 | dependencies: 1121 | spdx-correct "^3.0.0" 1122 | spdx-expression-parse "^3.0.0" 1123 | 1124 | which@^1.2.9: 1125 | version "1.3.1" 1126 | resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" 1127 | integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== 1128 | dependencies: 1129 | isexe "^2.0.0" 1130 | 1131 | wordwrap@~1.0.0: 1132 | version "1.0.0" 1133 | resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" 1134 | integrity sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus= 1135 | 1136 | wrappy@1: 1137 | version "1.0.2" 1138 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 1139 | integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= 1140 | 1141 | write@1.0.3: 1142 | version "1.0.3" 1143 | resolved "https://registry.yarnpkg.com/write/-/write-1.0.3.tgz#0800e14523b923a387e415123c865616aae0f5c3" 1144 | integrity sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig== 1145 | dependencies: 1146 | mkdirp "^0.5.1" 1147 | --------------------------------------------------------------------------------