├── .gitignore ├── cli.js ├── initit.js ├── license ├── package.json ├── readme.md ├── templates └── basic │ ├── .gitignore │ ├── .prettierrc │ ├── README.md │ ├── deck.mdx │ ├── package-lock.json │ ├── package.json │ └── yarn.lock └── yarn.lock /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | dist 3 | 4 | build 5 | .rpt2_cache 6 | 7 | .DS_Store 8 | .env 9 | .env.local 10 | .env.development.local 11 | .env.test.local 12 | .env.production.local 13 | 14 | npm-debug.log* 15 | yarn-debug.log* 16 | yarn-error.log* 17 | -------------------------------------------------------------------------------- /cli.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | const fs = require("fs"); 3 | const path = require("path"); 4 | const meow = require("meow"); 5 | const chalk = require("chalk"); 6 | const initit = require("./initit"); 7 | 8 | // From: https://github.com/jxnblk/mdx-deck/blob/master/packages/create-deck/cli.js 9 | 10 | const logo = chalk.magenta("[code-surfer-deck]"); 11 | const log = (...args) => { 12 | console.log(logo, ...args); 13 | }; 14 | log.error = (...args) => { 15 | console.log(chalk.red("[ERROR]"), ...args); 16 | }; 17 | 18 | const template = "pomber/create-code-surfer-deck/templates/basic"; 19 | 20 | const cli = meow( 21 | ` 22 | Usage 23 | 24 | $ npm init code-surfer-deck my-deck 25 | 26 | $ npx create-code-surfer-deck my-deck 27 | 28 | `, 29 | { 30 | booleanDefault: undefined, 31 | flags: { 32 | help: { 33 | type: "boolean", 34 | alias: "h" 35 | }, 36 | version: { 37 | type: "boolean", 38 | alias: "v" 39 | } 40 | } 41 | } 42 | ); 43 | 44 | const [name] = cli.input; 45 | 46 | if (!name) { 47 | cli.showHelp(0); 48 | } 49 | 50 | // todo: ensure directory doesn't exist 51 | initit({ name, template }) 52 | .then(res => { 53 | log("created code-surfer-deck"); 54 | process.exit(0); 55 | }) 56 | .catch(err => { 57 | log.error("failed to create code-surfer-deck"); 58 | log.error(err); 59 | process.exit(1); 60 | }); 61 | -------------------------------------------------------------------------------- /initit.js: -------------------------------------------------------------------------------- 1 | const fs = require("fs-extra"); 2 | const path = require("path"); 3 | const os = require("os"); 4 | const exec = require("child_process").execSync; 5 | const spawn = require("cross-spawn"); 6 | const https = require("https"); 7 | const tar = require("tar-fs"); 8 | const gunzip = require("gunzip-maybe"); 9 | 10 | const install = () => { 11 | return new Promise((resolve, reject) => { 12 | console.log("Installing dependencies..."); 13 | const child = spawn("npm", ["install"], { 14 | stdio: "inherit" 15 | }); 16 | child.on("close", code => { 17 | if (code !== 0) { 18 | reject(); 19 | return; 20 | } 21 | resolve(); 22 | }); 23 | }); 24 | }; 25 | 26 | const gitInit = () => { 27 | exec("git --version", { stdio: "inherit" }); 28 | exec("git init", { stdio: "inherit" }); 29 | exec("git add .", { stdio: "inherit" }); 30 | exec('git commit -am "Init"', { stdio: "inherit" }); 31 | return true; 32 | }; 33 | 34 | const getTar = ({ user, repo, templatepath = "", name }) => { 35 | return new Promise((resolve, reject) => { 36 | console.log("Downloading template..."); 37 | const ignorePrefix = "__INITIT_IGNORE__/"; 38 | const ignorepath = path.join(name, ignorePrefix); 39 | const extractTar = tar.extract(name, { 40 | map: header => { 41 | const prefix = `${repo}-master/${templatepath}`; 42 | if (header.name.startsWith(prefix)) { 43 | return Object.assign({}, header, { 44 | name: header.name.substr(prefix.length) 45 | }); 46 | } else { 47 | return Object.assign({}, header, { 48 | name: ignorePrefix + header.name 49 | }); 50 | } 51 | }, 52 | ignore: filepath => { 53 | const isInIgnoreFolder = !path 54 | .relative(ignorepath, filepath) 55 | .startsWith(".."); 56 | return isInIgnoreFolder; 57 | } 58 | }); 59 | https.get( 60 | `https://codeload.github.com/${user}/${repo}/tar.gz/master`, 61 | response => response.pipe(gunzip()).pipe(extractTar) 62 | ); 63 | extractTar.on("error", reject); 64 | extractTar.on("finish", resolve); 65 | }); 66 | }; 67 | 68 | const create = async (opts = {}) => { 69 | if (!opts.name) { 70 | throw new Error("name argument required"); 71 | } 72 | 73 | if (!opts.template) { 74 | throw new Error("template argument required"); 75 | } 76 | 77 | const dirname = path.resolve(opts.name); 78 | const name = path.basename(dirname); 79 | const [user, repo, ...paths] = opts.template.split("/"); 80 | 81 | fs.ensureDirSync(name); 82 | 83 | await getTar( 84 | Object.assign({}, opts, { 85 | name, 86 | user, 87 | repo, 88 | templatepath: paths.join("/") 89 | }) 90 | ); 91 | 92 | const templatePkg = require(path.join(dirname, "package.json")); 93 | 94 | const pkg = Object.assign({}, templatePkg, { 95 | name, 96 | version: "1.0.0" 97 | }); 98 | 99 | fs.writeFileSync( 100 | path.join(dirname, "package.json"), 101 | JSON.stringify(pkg, null, 2) + os.EOL 102 | ); 103 | 104 | process.chdir(dirname); 105 | 106 | await install(); 107 | gitInit(); 108 | 109 | exec("npm test", { stdio: "inherit" }); 110 | return { name, dirname }; 111 | }; 112 | 113 | module.exports = create; 114 | -------------------------------------------------------------------------------- /license: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2019-present, Rodrigo Pombo 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 6 | 7 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "create-code-surfer-deck", 3 | "version": "3.0.0", 4 | "description": "Create a presentation using MDX Deck and Code Surfer", 5 | "bin": { 6 | "create-code-surfer-deck": "cli.js" 7 | }, 8 | "author": "pomber", 9 | "repository": "pomber/create-code-surfer-deck", 10 | "license": "MIT", 11 | "dependencies": { 12 | "arg": "^4.1.0", 13 | "chalk": "^2.4.1", 14 | "cross-spawn": "^6.0.5", 15 | "fs-extra": "^8.0.1", 16 | "gunzip-maybe": "^1.4.1", 17 | "meow": "^5.0.0", 18 | "tar-fs": "^2.0.0" 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /readme.md: -------------------------------------------------------------------------------- 1 | # npm init code-surfer-deck 2 | 3 | Create a presentation using [MDX Deck](https://github.com/jxnblk/mdx-deck) and [Code Surfer](https://github.com/pomber/code-surfer) 4 | 5 | ```bash 6 | $ npm init code-surfer-deck my-deck 7 | $ cd my-deck 8 | $ npm start 9 | ``` 10 | -------------------------------------------------------------------------------- /templates/basic/.gitignore: -------------------------------------------------------------------------------- 1 | dist 2 | node_modules -------------------------------------------------------------------------------- /templates/basic/.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "trailingComma": "es5", 3 | "printWidth": 60 4 | } 5 | -------------------------------------------------------------------------------- /templates/basic/README.md: -------------------------------------------------------------------------------- 1 | # MDX Deck + Code Surfer template 2 | 3 | This project was generated with the `npm init code-surfer-deck` command. 4 | 5 | ## Development 6 | 7 | To run the presentation deck in development mode: 8 | 9 | ```sh 10 | npm start 11 | ``` 12 | 13 | Edit the [`deck.mdx`](deck.mdx) file to get started. 14 | 15 | ## Exporting 16 | 17 | To build the presentation deck: 18 | 19 | ```sh 20 | npm run build 21 | ``` 22 | 23 | For more documentation see [MDX Deck](https://github.com/jxnblk/mdx-deck) and [Code Surfer](https://codesurfer.pomb.us/) 24 | -------------------------------------------------------------------------------- /templates/basic/deck.mdx: -------------------------------------------------------------------------------- 1 | import { 2 | CodeSurfer, 3 | CodeSurferColumns, 4 | Step, 5 | } from "code-surfer"; 6 | import { github, vsDark } from "@code-surfer/themes"; 7 | 8 | export const theme = vsDark; 9 | 10 | # Hello 👋 11 | 12 | You are using [MDX Deck](https://github.com/jxnblk/mdx-deck) and [Code Surfer](https://codesurfer.pomb.us) 13 | 14 | --- 15 | 16 | 17 | 18 | ```js title="This is a title" subtitle="and this a subtitle" 19 | function lorem(ipsum, dolor = 1) { 20 | const sit = ipsum == null ? 0 : ipsum.sit; 21 | dolor = sit - amet(dolor); 22 | return sit 23 | ? consectetur(ipsum, 0, dolor < 0 ? 0 : dolor) 24 | : []; 25 | } 26 | 27 | function incididunt(ipsum, ut = 1) { 28 | ut = labore.et(amet(ut), 0); 29 | const sit = ipsum == null ? 0 : ipsum.sit; 30 | 31 | if (!sit || ut < 1) { 32 | return []; 33 | } 34 | 35 | let dolore = 0; 36 | let magna = 0; 37 | const aliqua = new eiusmod(labore.ut(sit / ut)); 38 | 39 | while (dolore < sit) { 40 | aliqua[magna++] = consectetur( 41 | ipsum, 42 | dolore, 43 | (dolore += ut) 44 | ); 45 | } 46 | 47 | return aliqua; 48 | } 49 | ``` 50 | 51 | ```js 52 | function lorem(ipsum, dolor = 1) { 53 | const sit = ipsum == null ? 0 : ipsum.sit; 54 | dolor = sit - amet(dolor); 55 | return sit 56 | ? consectetur(ipsum, 0, dolor < 0 ? 0 : dolor) 57 | : []; 58 | } 59 | 60 | function adipiscing(...elit) { 61 | if (!elit.sit) { 62 | return []; 63 | } 64 | 65 | const sed = elit[0]; 66 | return eiusmod.tempor(sed) ? sed : [sed]; 67 | } 68 | 69 | function incididunt(ipsum, ut = 1) { 70 | ut = labore.et(amet(ut), 0); 71 | const sit = ipsum == null ? 0 : ipsum.sit; 72 | 73 | if (!sit || ut < 1) { 74 | return []; 75 | } 76 | 77 | let dolore = 0; 78 | let magna = 0; 79 | const aliqua = new eiusmod(labore.ut(sit / ut)); 80 | 81 | while (dolore < sit) { 82 | aliqua[magna++] = consectetur( 83 | ipsum, 84 | dolore, 85 | (dolore += ut) 86 | ); 87 | } 88 | 89 | return aliqua; 90 | } 91 | ``` 92 | 93 | ```diff 1[10:14],2[15:19],3[22:27],10:12 94 | 95 | ``` 96 | 97 | 98 | 99 | --- 100 | 101 | 102 | 103 | 104 | 105 | ```js 106 | const magna = aliqua => aliqua.ut((enim, ad) => enim, 0); 107 | ``` 108 | 109 | ```js 110 | const minim = (ad, enim) => dolore.magna(ad / enim); 111 | ``` 112 | 113 | 114 | 115 | 116 | 117 | ```js 118 | const lorem = (ipsum, dolor, sit) => { 119 | const amet = dolor - ipsum; 120 | return consectetur.adipiscing( 121 | { 122 | elit: sed.eiusmod(sit - dolor) / amet + 2, 123 | }, 124 | (tempor, incididunt) => ipsum + amet * incididunt 125 | ); 126 | }; 127 | 128 | const magna = aliqua => aliqua.ut((enim, ad) => enim, 0); 129 | ``` 130 | 131 | ```js 132 | const minim = (ad, enim) => dolore.magna(ad / enim); 133 | 134 | const sed = (eiusmod, tempor, incididunt) => { 135 | const ut = tempor - eiusmod; 136 | return labore.et( 137 | { 138 | amet: dolore.magna(incididunt - tempor) / ut + 2, 139 | }, 140 | (aliqua, elit) => eiusmod + ut * elit 141 | ); 142 | }; 143 | ``` 144 | 145 | 146 | 147 | 148 | 149 | --- 150 | 151 | docs: 152 | [codesurfer.pomb.us](https://codesurfer.pomb.us) 153 | -------------------------------------------------------------------------------- /templates/basic/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "private": true, 3 | "version": "0.0.0", 4 | "scripts": { 5 | "start": "mdx-deck deck.mdx", 6 | "build": "mdx-deck build deck.mdx", 7 | "test": "echo \"there are no tests\"" 8 | }, 9 | "devDependencies": { 10 | "code-surfer": "3.1.0", 11 | "mdx-deck": "3.0.13" 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | ansi-styles@^3.2.1: 6 | version "3.2.1" 7 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" 8 | integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== 9 | dependencies: 10 | color-convert "^1.9.0" 11 | 12 | arg@^4.1.0: 13 | version "4.1.0" 14 | resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.0.tgz#583c518199419e0037abb74062c37f8519e575f0" 15 | integrity sha512-ZWc51jO3qegGkVh8Hwpv636EkbesNV5ZNQPCtRa+0qytRYPEs9IYT9qITY9buezqUH5uqyzlWLcufrzU2rffdg== 16 | 17 | array-find-index@^1.0.1: 18 | version "1.0.2" 19 | resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" 20 | integrity sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E= 21 | 22 | arrify@^1.0.1: 23 | version "1.0.1" 24 | resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" 25 | integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0= 26 | 27 | bl@^3.0.0: 28 | version "3.0.0" 29 | resolved "https://registry.yarnpkg.com/bl/-/bl-3.0.0.tgz#3611ec00579fd18561754360b21e9f784500ff88" 30 | integrity sha512-EUAyP5UHU5hxF8BPT0LKW8gjYLhq1DQIcneOX/pL/m2Alo+OYDQAJlHq+yseMP50Os2nHXOSic6Ss3vSQeyf4A== 31 | dependencies: 32 | readable-stream "^3.0.1" 33 | 34 | browserify-zlib@^0.1.4: 35 | version "0.1.4" 36 | resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.1.4.tgz#bb35f8a519f600e0fa6b8485241c979d0141fb2d" 37 | integrity sha1-uzX4pRn2AOD6a4SFJByXnQFB+y0= 38 | dependencies: 39 | pako "~0.2.0" 40 | 41 | buffer-from@^1.0.0: 42 | version "1.1.1" 43 | resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" 44 | integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== 45 | 46 | camelcase-keys@^4.0.0: 47 | version "4.2.0" 48 | resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-4.2.0.tgz#a2aa5fb1af688758259c32c141426d78923b9b77" 49 | integrity sha1-oqpfsa9oh1glnDLBQUJteJI7m3c= 50 | dependencies: 51 | camelcase "^4.1.0" 52 | map-obj "^2.0.0" 53 | quick-lru "^1.0.0" 54 | 55 | camelcase@^4.1.0: 56 | version "4.1.0" 57 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" 58 | integrity sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0= 59 | 60 | chalk@^2.4.1: 61 | version "2.4.2" 62 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" 63 | integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== 64 | dependencies: 65 | ansi-styles "^3.2.1" 66 | escape-string-regexp "^1.0.5" 67 | supports-color "^5.3.0" 68 | 69 | chownr@^1.1.1: 70 | version "1.1.1" 71 | resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.1.tgz#54726b8b8fff4df053c42187e801fb4412df1494" 72 | integrity sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g== 73 | 74 | color-convert@^1.9.0: 75 | version "1.9.3" 76 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" 77 | integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== 78 | dependencies: 79 | color-name "1.1.3" 80 | 81 | color-name@1.1.3: 82 | version "1.1.3" 83 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" 84 | integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= 85 | 86 | core-util-is@~1.0.0: 87 | version "1.0.2" 88 | resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" 89 | integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= 90 | 91 | cross-spawn@^6.0.5: 92 | version "6.0.5" 93 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" 94 | integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== 95 | dependencies: 96 | nice-try "^1.0.4" 97 | path-key "^2.0.1" 98 | semver "^5.5.0" 99 | shebang-command "^1.2.0" 100 | which "^1.2.9" 101 | 102 | currently-unhandled@^0.4.1: 103 | version "0.4.1" 104 | resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea" 105 | integrity sha1-mI3zP+qxke95mmE2nddsF635V+o= 106 | dependencies: 107 | array-find-index "^1.0.1" 108 | 109 | decamelize-keys@^1.0.0: 110 | version "1.1.0" 111 | resolved "https://registry.yarnpkg.com/decamelize-keys/-/decamelize-keys-1.1.0.tgz#d171a87933252807eb3cb61dc1c1445d078df2d9" 112 | integrity sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk= 113 | dependencies: 114 | decamelize "^1.1.0" 115 | map-obj "^1.0.0" 116 | 117 | decamelize@^1.1.0: 118 | version "1.2.0" 119 | resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" 120 | integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= 121 | 122 | duplexify@^3.5.0, duplexify@^3.6.0: 123 | version "3.7.1" 124 | resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309" 125 | integrity sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g== 126 | dependencies: 127 | end-of-stream "^1.0.0" 128 | inherits "^2.0.1" 129 | readable-stream "^2.0.0" 130 | stream-shift "^1.0.0" 131 | 132 | end-of-stream@^1.0.0, end-of-stream@^1.1.0, end-of-stream@^1.4.1: 133 | version "1.4.1" 134 | resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.1.tgz#ed29634d19baba463b6ce6b80a37213eab71ec43" 135 | integrity sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q== 136 | dependencies: 137 | once "^1.4.0" 138 | 139 | error-ex@^1.3.1: 140 | version "1.3.2" 141 | resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" 142 | integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== 143 | dependencies: 144 | is-arrayish "^0.2.1" 145 | 146 | escape-string-regexp@^1.0.5: 147 | version "1.0.5" 148 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" 149 | integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= 150 | 151 | find-up@^2.0.0: 152 | version "2.1.0" 153 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" 154 | integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c= 155 | dependencies: 156 | locate-path "^2.0.0" 157 | 158 | fs-constants@^1.0.0: 159 | version "1.0.0" 160 | resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" 161 | integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== 162 | 163 | fs-extra@^8.0.1: 164 | version "8.0.1" 165 | resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.0.1.tgz#90294081f978b1f182f347a440a209154344285b" 166 | integrity sha512-W+XLrggcDzlle47X/XnS7FXrXu9sDo+Ze9zpndeBxdgv88FHLm1HtmkhEwavruS6koanBjp098rUpHs65EmG7A== 167 | dependencies: 168 | graceful-fs "^4.1.2" 169 | jsonfile "^4.0.0" 170 | universalify "^0.1.0" 171 | 172 | graceful-fs@^4.1.2, graceful-fs@^4.1.6: 173 | version "4.1.15" 174 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.15.tgz#ffb703e1066e8a0eeaa4c8b80ba9253eeefbfb00" 175 | integrity sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA== 176 | 177 | gunzip-maybe@^1.4.1: 178 | version "1.4.1" 179 | resolved "https://registry.yarnpkg.com/gunzip-maybe/-/gunzip-maybe-1.4.1.tgz#39c72ed89d1b49ba708e18776500488902a52027" 180 | integrity sha512-qtutIKMthNJJgeHQS7kZ9FqDq59/Wn0G2HYCRNjpup7yKfVI6/eqwpmroyZGFoCYaG+sW6psNVb4zoLADHpp2g== 181 | dependencies: 182 | browserify-zlib "^0.1.4" 183 | is-deflate "^1.0.0" 184 | is-gzip "^1.0.0" 185 | peek-stream "^1.1.0" 186 | pumpify "^1.3.3" 187 | through2 "^2.0.3" 188 | 189 | has-flag@^3.0.0: 190 | version "3.0.0" 191 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" 192 | integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= 193 | 194 | hosted-git-info@^2.1.4: 195 | version "2.7.1" 196 | resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.7.1.tgz#97f236977bd6e125408930ff6de3eec6281ec047" 197 | integrity sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w== 198 | 199 | indent-string@^3.0.0: 200 | version "3.2.0" 201 | resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-3.2.0.tgz#4a5fd6d27cc332f37e5419a504dbb837105c9289" 202 | integrity sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok= 203 | 204 | inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.3: 205 | version "2.0.3" 206 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" 207 | integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= 208 | 209 | is-arrayish@^0.2.1: 210 | version "0.2.1" 211 | resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" 212 | integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= 213 | 214 | is-deflate@^1.0.0: 215 | version "1.0.0" 216 | resolved "https://registry.yarnpkg.com/is-deflate/-/is-deflate-1.0.0.tgz#c862901c3c161fb09dac7cdc7e784f80e98f2f14" 217 | integrity sha1-yGKQHDwWH7CdrHzcfnhPgOmPLxQ= 218 | 219 | is-gzip@^1.0.0: 220 | version "1.0.0" 221 | resolved "https://registry.yarnpkg.com/is-gzip/-/is-gzip-1.0.0.tgz#6ca8b07b99c77998025900e555ced8ed80879a83" 222 | integrity sha1-bKiwe5nHeZgCWQDlVc7Y7YCHmoM= 223 | 224 | is-plain-obj@^1.1.0: 225 | version "1.1.0" 226 | resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" 227 | integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4= 228 | 229 | isarray@~1.0.0: 230 | version "1.0.0" 231 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" 232 | integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= 233 | 234 | isexe@^2.0.0: 235 | version "2.0.0" 236 | resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" 237 | integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= 238 | 239 | json-parse-better-errors@^1.0.1: 240 | version "1.0.2" 241 | resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" 242 | integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== 243 | 244 | jsonfile@^4.0.0: 245 | version "4.0.0" 246 | resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" 247 | integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss= 248 | optionalDependencies: 249 | graceful-fs "^4.1.6" 250 | 251 | load-json-file@^4.0.0: 252 | version "4.0.0" 253 | resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" 254 | integrity sha1-L19Fq5HjMhYjT9U62rZo607AmTs= 255 | dependencies: 256 | graceful-fs "^4.1.2" 257 | parse-json "^4.0.0" 258 | pify "^3.0.0" 259 | strip-bom "^3.0.0" 260 | 261 | locate-path@^2.0.0: 262 | version "2.0.0" 263 | resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" 264 | integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4= 265 | dependencies: 266 | p-locate "^2.0.0" 267 | path-exists "^3.0.0" 268 | 269 | loud-rejection@^1.0.0: 270 | version "1.6.0" 271 | resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f" 272 | integrity sha1-W0b4AUft7leIcPCG0Eghz5mOVR8= 273 | dependencies: 274 | currently-unhandled "^0.4.1" 275 | signal-exit "^3.0.0" 276 | 277 | map-obj@^1.0.0: 278 | version "1.0.1" 279 | resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" 280 | integrity sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0= 281 | 282 | map-obj@^2.0.0: 283 | version "2.0.0" 284 | resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-2.0.0.tgz#a65cd29087a92598b8791257a523e021222ac1f9" 285 | integrity sha1-plzSkIepJZi4eRJXpSPgISIqwfk= 286 | 287 | meow@^5.0.0: 288 | version "5.0.0" 289 | resolved "https://registry.yarnpkg.com/meow/-/meow-5.0.0.tgz#dfc73d63a9afc714a5e371760eb5c88b91078aa4" 290 | integrity sha512-CbTqYU17ABaLefO8vCU153ZZlprKYWDljcndKKDCFcYQITzWCXZAVk4QMFZPgvzrnUQ3uItnIE/LoUOwrT15Ig== 291 | dependencies: 292 | camelcase-keys "^4.0.0" 293 | decamelize-keys "^1.0.0" 294 | loud-rejection "^1.0.0" 295 | minimist-options "^3.0.1" 296 | normalize-package-data "^2.3.4" 297 | read-pkg-up "^3.0.0" 298 | redent "^2.0.0" 299 | trim-newlines "^2.0.0" 300 | yargs-parser "^10.0.0" 301 | 302 | minimist-options@^3.0.1: 303 | version "3.0.2" 304 | resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-3.0.2.tgz#fba4c8191339e13ecf4d61beb03f070103f3d954" 305 | integrity sha512-FyBrT/d0d4+uiZRbqznPXqw3IpZZG3gl3wKWiX784FycUKVwBt0uLBFkQrtE4tZOrgo78nZp2jnKz3L65T5LdQ== 306 | dependencies: 307 | arrify "^1.0.1" 308 | is-plain-obj "^1.1.0" 309 | 310 | minimist@0.0.8: 311 | version "0.0.8" 312 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" 313 | integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0= 314 | 315 | mkdirp@^0.5.1: 316 | version "0.5.1" 317 | resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" 318 | integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM= 319 | dependencies: 320 | minimist "0.0.8" 321 | 322 | nice-try@^1.0.4: 323 | version "1.0.5" 324 | resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" 325 | integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== 326 | 327 | normalize-package-data@^2.3.2, normalize-package-data@^2.3.4: 328 | version "2.5.0" 329 | resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" 330 | integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== 331 | dependencies: 332 | hosted-git-info "^2.1.4" 333 | resolve "^1.10.0" 334 | semver "2 || 3 || 4 || 5" 335 | validate-npm-package-license "^3.0.1" 336 | 337 | once@^1.3.1, once@^1.4.0: 338 | version "1.4.0" 339 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 340 | integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= 341 | dependencies: 342 | wrappy "1" 343 | 344 | p-limit@^1.1.0: 345 | version "1.3.0" 346 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" 347 | integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q== 348 | dependencies: 349 | p-try "^1.0.0" 350 | 351 | p-locate@^2.0.0: 352 | version "2.0.0" 353 | resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" 354 | integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM= 355 | dependencies: 356 | p-limit "^1.1.0" 357 | 358 | p-try@^1.0.0: 359 | version "1.0.0" 360 | resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" 361 | integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M= 362 | 363 | pako@~0.2.0: 364 | version "0.2.9" 365 | resolved "https://registry.yarnpkg.com/pako/-/pako-0.2.9.tgz#f3f7522f4ef782348da8161bad9ecfd51bf83a75" 366 | integrity sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU= 367 | 368 | parse-json@^4.0.0: 369 | version "4.0.0" 370 | resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" 371 | integrity sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA= 372 | dependencies: 373 | error-ex "^1.3.1" 374 | json-parse-better-errors "^1.0.1" 375 | 376 | path-exists@^3.0.0: 377 | version "3.0.0" 378 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" 379 | integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= 380 | 381 | path-key@^2.0.1: 382 | version "2.0.1" 383 | resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" 384 | integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= 385 | 386 | path-parse@^1.0.6: 387 | version "1.0.6" 388 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" 389 | integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== 390 | 391 | path-type@^3.0.0: 392 | version "3.0.0" 393 | resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" 394 | integrity sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg== 395 | dependencies: 396 | pify "^3.0.0" 397 | 398 | peek-stream@^1.1.0: 399 | version "1.1.3" 400 | resolved "https://registry.yarnpkg.com/peek-stream/-/peek-stream-1.1.3.tgz#3b35d84b7ccbbd262fff31dc10da56856ead6d67" 401 | integrity sha512-FhJ+YbOSBb9/rIl2ZeE/QHEsWn7PqNYt8ARAY3kIgNGOk13g9FGyIY6JIl/xB/3TFRVoTv5as0l11weORrTekA== 402 | dependencies: 403 | buffer-from "^1.0.0" 404 | duplexify "^3.5.0" 405 | through2 "^2.0.3" 406 | 407 | pify@^3.0.0: 408 | version "3.0.0" 409 | resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" 410 | integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= 411 | 412 | process-nextick-args@~2.0.0: 413 | version "2.0.0" 414 | resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.0.tgz#a37d732f4271b4ab1ad070d35508e8290788ffaa" 415 | integrity sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw== 416 | 417 | pump@^2.0.0: 418 | version "2.0.1" 419 | resolved "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909" 420 | integrity sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA== 421 | dependencies: 422 | end-of-stream "^1.1.0" 423 | once "^1.3.1" 424 | 425 | pump@^3.0.0: 426 | version "3.0.0" 427 | resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" 428 | integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== 429 | dependencies: 430 | end-of-stream "^1.1.0" 431 | once "^1.3.1" 432 | 433 | pumpify@^1.3.3: 434 | version "1.5.1" 435 | resolved "https://registry.yarnpkg.com/pumpify/-/pumpify-1.5.1.tgz#36513be246ab27570b1a374a5ce278bfd74370ce" 436 | integrity sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ== 437 | dependencies: 438 | duplexify "^3.6.0" 439 | inherits "^2.0.3" 440 | pump "^2.0.0" 441 | 442 | quick-lru@^1.0.0: 443 | version "1.1.0" 444 | resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-1.1.0.tgz#4360b17c61136ad38078397ff11416e186dcfbb8" 445 | integrity sha1-Q2CxfGETatOAeDl/8RQW4Ybc+7g= 446 | 447 | read-pkg-up@^3.0.0: 448 | version "3.0.0" 449 | resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-3.0.0.tgz#3ed496685dba0f8fe118d0691dc51f4a1ff96f07" 450 | integrity sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc= 451 | dependencies: 452 | find-up "^2.0.0" 453 | read-pkg "^3.0.0" 454 | 455 | read-pkg@^3.0.0: 456 | version "3.0.0" 457 | resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389" 458 | integrity sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k= 459 | dependencies: 460 | load-json-file "^4.0.0" 461 | normalize-package-data "^2.3.2" 462 | path-type "^3.0.0" 463 | 464 | readable-stream@^2.0.0, readable-stream@~2.3.6: 465 | version "2.3.6" 466 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" 467 | integrity sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw== 468 | dependencies: 469 | core-util-is "~1.0.0" 470 | inherits "~2.0.3" 471 | isarray "~1.0.0" 472 | process-nextick-args "~2.0.0" 473 | safe-buffer "~5.1.1" 474 | string_decoder "~1.1.1" 475 | util-deprecate "~1.0.1" 476 | 477 | readable-stream@^3.0.1, readable-stream@^3.1.1: 478 | version "3.4.0" 479 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.4.0.tgz#a51c26754658e0a3c21dbf59163bd45ba6f447fc" 480 | integrity sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ== 481 | dependencies: 482 | inherits "^2.0.3" 483 | string_decoder "^1.1.1" 484 | util-deprecate "^1.0.1" 485 | 486 | redent@^2.0.0: 487 | version "2.0.0" 488 | resolved "https://registry.yarnpkg.com/redent/-/redent-2.0.0.tgz#c1b2007b42d57eb1389079b3c8333639d5e1ccaa" 489 | integrity sha1-wbIAe0LVfrE4kHmzyDM2OdXhzKo= 490 | dependencies: 491 | indent-string "^3.0.0" 492 | strip-indent "^2.0.0" 493 | 494 | resolve@^1.10.0: 495 | version "1.11.1" 496 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.11.1.tgz#ea10d8110376982fef578df8fc30b9ac30a07a3e" 497 | integrity sha512-vIpgF6wfuJOZI7KKKSP+HmiKggadPQAdsp5HiC1mvqnfp0gF1vdwgBWZIdrVft9pgqoMFQN+R7BSWZiBxx+BBw== 498 | dependencies: 499 | path-parse "^1.0.6" 500 | 501 | safe-buffer@~5.1.0, safe-buffer@~5.1.1: 502 | version "5.1.2" 503 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" 504 | integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== 505 | 506 | "semver@2 || 3 || 4 || 5", semver@^5.5.0: 507 | version "5.7.0" 508 | resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.0.tgz#790a7cf6fea5459bac96110b29b60412dc8ff96b" 509 | integrity sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA== 510 | 511 | shebang-command@^1.2.0: 512 | version "1.2.0" 513 | resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" 514 | integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= 515 | dependencies: 516 | shebang-regex "^1.0.0" 517 | 518 | shebang-regex@^1.0.0: 519 | version "1.0.0" 520 | resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" 521 | integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= 522 | 523 | signal-exit@^3.0.0: 524 | version "3.0.2" 525 | resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" 526 | integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0= 527 | 528 | spdx-correct@^3.0.0: 529 | version "3.1.0" 530 | resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.0.tgz#fb83e504445268f154b074e218c87c003cd31df4" 531 | integrity sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q== 532 | dependencies: 533 | spdx-expression-parse "^3.0.0" 534 | spdx-license-ids "^3.0.0" 535 | 536 | spdx-exceptions@^2.1.0: 537 | version "2.2.0" 538 | resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz#2ea450aee74f2a89bfb94519c07fcd6f41322977" 539 | integrity sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA== 540 | 541 | spdx-expression-parse@^3.0.0: 542 | version "3.0.0" 543 | resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz#99e119b7a5da00e05491c9fa338b7904823b41d0" 544 | integrity sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg== 545 | dependencies: 546 | spdx-exceptions "^2.1.0" 547 | spdx-license-ids "^3.0.0" 548 | 549 | spdx-license-ids@^3.0.0: 550 | version "3.0.4" 551 | resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.4.tgz#75ecd1a88de8c184ef015eafb51b5b48bfd11bb1" 552 | integrity sha512-7j8LYJLeY/Yb6ACbQ7F76qy5jHkp0U6jgBfJsk97bwWlVUnUWsAgpyaCvo17h0/RQGnQ036tVDomiwoI4pDkQA== 553 | 554 | stream-shift@^1.0.0: 555 | version "1.0.0" 556 | resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.0.tgz#d5c752825e5367e786f78e18e445ea223a155952" 557 | integrity sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI= 558 | 559 | string_decoder@^1.1.1: 560 | version "1.2.0" 561 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.2.0.tgz#fe86e738b19544afe70469243b2a1ee9240eae8d" 562 | integrity sha512-6YqyX6ZWEYguAxgZzHGL7SsCeGx3V2TtOTqZz1xSTSWnqsbWwbptafNyvf/ACquZUXV3DANr5BDIwNYe1mN42w== 563 | dependencies: 564 | safe-buffer "~5.1.0" 565 | 566 | string_decoder@~1.1.1: 567 | version "1.1.1" 568 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" 569 | integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== 570 | dependencies: 571 | safe-buffer "~5.1.0" 572 | 573 | strip-bom@^3.0.0: 574 | version "3.0.0" 575 | resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" 576 | integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= 577 | 578 | strip-indent@^2.0.0: 579 | version "2.0.0" 580 | resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-2.0.0.tgz#5ef8db295d01e6ed6cbf7aab96998d7822527b68" 581 | integrity sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g= 582 | 583 | supports-color@^5.3.0: 584 | version "5.5.0" 585 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" 586 | integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== 587 | dependencies: 588 | has-flag "^3.0.0" 589 | 590 | tar-fs@^2.0.0: 591 | version "2.0.0" 592 | resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-2.0.0.tgz#677700fc0c8b337a78bee3623fdc235f21d7afad" 593 | integrity sha512-vaY0obB6Om/fso8a8vakQBzwholQ7v5+uy+tF3Ozvxv1KNezmVQAiWtcNmMHFSFPqL3dJA8ha6gdtFbfX9mcxA== 594 | dependencies: 595 | chownr "^1.1.1" 596 | mkdirp "^0.5.1" 597 | pump "^3.0.0" 598 | tar-stream "^2.0.0" 599 | 600 | tar-stream@^2.0.0: 601 | version "2.1.0" 602 | resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.1.0.tgz#d1aaa3661f05b38b5acc9b7020efdca5179a2cc3" 603 | integrity sha512-+DAn4Nb4+gz6WZigRzKEZl1QuJVOLtAwwF+WUxy1fJ6X63CaGaUAxJRD2KEn1OMfcbCjySTYpNC6WmfQoIEOdw== 604 | dependencies: 605 | bl "^3.0.0" 606 | end-of-stream "^1.4.1" 607 | fs-constants "^1.0.0" 608 | inherits "^2.0.3" 609 | readable-stream "^3.1.1" 610 | 611 | through2@^2.0.3: 612 | version "2.0.5" 613 | resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" 614 | integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== 615 | dependencies: 616 | readable-stream "~2.3.6" 617 | xtend "~4.0.1" 618 | 619 | trim-newlines@^2.0.0: 620 | version "2.0.0" 621 | resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-2.0.0.tgz#b403d0b91be50c331dfc4b82eeceb22c3de16d20" 622 | integrity sha1-tAPQuRvlDDMd/EuC7s6yLD3hbSA= 623 | 624 | universalify@^0.1.0: 625 | version "0.1.2" 626 | resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" 627 | integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== 628 | 629 | util-deprecate@^1.0.1, util-deprecate@~1.0.1: 630 | version "1.0.2" 631 | resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" 632 | integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= 633 | 634 | validate-npm-package-license@^3.0.1: 635 | version "3.0.4" 636 | resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" 637 | integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== 638 | dependencies: 639 | spdx-correct "^3.0.0" 640 | spdx-expression-parse "^3.0.0" 641 | 642 | which@^1.2.9: 643 | version "1.3.1" 644 | resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" 645 | integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== 646 | dependencies: 647 | isexe "^2.0.0" 648 | 649 | wrappy@1: 650 | version "1.0.2" 651 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 652 | integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= 653 | 654 | xtend@~4.0.1: 655 | version "4.0.1" 656 | resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" 657 | integrity sha1-pcbVMr5lbiPbgg77lDofBJmNY68= 658 | 659 | yargs-parser@^10.0.0: 660 | version "10.1.0" 661 | resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-10.1.0.tgz#7202265b89f7e9e9f2e5765e0fe735a905edbaa8" 662 | integrity sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ== 663 | dependencies: 664 | camelcase "^4.1.0" 665 | --------------------------------------------------------------------------------