├── .gitignore ├── .npmignore ├── README.md ├── docs.config.js ├── docs.html ├── docs └── index.html ├── index.js ├── lib └── posthtml-xm-import │ ├── index.js │ └── package.json ├── package.json ├── test ├── cases │ ├── config.js │ ├── markdown │ │ ├── _base.html │ │ ├── index.html │ │ └── markdown.md │ ├── nested │ │ ├── _base.html │ │ └── nested │ │ │ └── nested │ │ │ ├── _nested.html │ │ │ └── page.html │ └── simple │ │ ├── _base.html │ │ └── index.html ├── createSnapshot.js ├── snapshot.json └── test.js ├── utils.js └── yarn.lock /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | test/.tmp 3 | .xm/ 4 | -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- 1 | lib 2 | test 3 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # ₪ xm - extensible HTML 2 | 3 | xm is a tiny compiler for HTML that adds 4 | 5 | - `` tag to inline external HTML files 6 | - `` and `` tags to define slots and fill them with content 7 | - `` tag to portal into Markdown 8 | 9 |

10 | screenshot of an html template with slots 11 |

12 |

13 | screenshot of an html page that imports the previous example and fills the slots 14 |

15 | 16 | xm CLI comes with a **dev mode** that compiles and serves built HTML. 17 | 18 | Furthermore xm is built on top of [posthtml-cli](https://posthtml.org/#/cli) and therefore it is [extensible](https://posthtml.org/#/cli?id=options). 19 | 20 | Are you using xm? Share your site's URL [here](https://github.com/giuseppeg/xm/issues/2). 21 | 22 | ## Install 23 | 24 | ``` 25 | npm i -g xm 26 | ``` 27 | 28 | ### Usage 29 | 30 | ``` 31 | Usage: xm [options] 32 | 33 | Commands: 34 | 35 | dev Compiles HTML files on change and serves the root folder 36 | build Compiles the HTML files once 37 | help Displays help 38 | 39 | Options: 40 | 41 | --root Folder to compile (default ./) 42 | --output Output (destination) folder. This is necessary only when using xm build 43 | --htmlOnly Compile and copy only the built HTML files 44 | ``` 45 | 46 | #### `` element 47 | 48 | Allows to inline (import) HTML files into the current one. 49 | 50 | ```html 51 | 52 | ``` 53 | 54 | Paths are relative. 55 | 56 | ```html 57 | 58 | 59 | 60 | 61 | ``` 62 | 63 | You can prefix paths with `/` to make them absolute i.e. relative to the `--root` value. 64 | 65 | ``` 66 | $ xm build --root ./src 67 | # 68 | # -> ./src/file.html 69 | ``` 70 | 71 | #### Importing markdown files 72 | 73 | xm supports importing `.md` (markdown) files too. When importing such files the front matter declarations are converted to `fill` elements. 74 | 75 | ```html 76 | 79 | 80 | ``` 81 | 82 | 💡 This feature can be used to generate styled docs sites for your open source project! 83 | 84 | If you create a reusable theme for README-like files we encourage you to use the following naming convention: 85 | 86 | ``` 87 | xm-theme- 88 | ``` 89 | 90 | Share your site or theme URL [here](https://github.com/giuseppeg/xm/issues/2). 91 | 92 | #### `` and `` elements 93 | 94 | HTML files can define `slot` elements with an attribute `name`. slots can be filled when importing HTML files using the `fill` tag. 95 | 96 | ```html 97 | 98 | 99 | 100 | <slot name="title"></slot> 101 |
102 | 103 |
104 | 105 | 106 | 107 | 108 | About 109 | 110 |

About

111 |

welcome

112 |
113 |
114 |
Unique to this page
115 | 116 | 117 | 118 | 119 | About 120 |
121 |

About

122 |

welcome

123 |
124 |
Unique to this page
125 | ``` 126 | 127 | You can also define a special unnamed `slot` that will be filled with the `import` children that are not `fill` tags: 128 | 129 | ```html 130 | 131 | 132 | 133 |
134 | 135 | 136 | 137 | 138 | good bye 139 | hello 140 |

friend

141 |
142 | 143 | 144 | 145 | hello 146 |

friend

147 |
good bye
148 | ``` 149 | 150 | #### Credits 151 | 152 | - [Ivan Demidov](https://github.com/scrum) for helping me out with PRs and PostHTML 153 | - [askucher](https://github.com/askucher) for transferring ownership of the `xm` package 154 | -------------------------------------------------------------------------------- /docs.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | plugins: { 3 | "posthtml-md2html": { 4 | highlight: function(code, language) { 5 | const hljs = require("highlight.js"); 6 | const validLanguage = hljs.getLanguage(language) 7 | ? language 8 | : "plaintext"; 9 | return hljs.highlight(validLanguage, code).value; 10 | }, 11 | }, 12 | }, 13 | }; 14 | -------------------------------------------------------------------------------- /docs.html: -------------------------------------------------------------------------------- 1 | 2 | ₪ xm 3 | 4 | 5 | 105 | 119 |
120 |
121 | 122 |
123 | 124 | Fork me on GitHub 134 |
135 | -------------------------------------------------------------------------------- /docs/index.html: -------------------------------------------------------------------------------- 1 | 2 | ₪ xm 3 | 4 | 5 | 105 | 119 |
120 |
121 |

₪ xm - extensible HTML

122 |

xm is a tiny compiler for HTML that adds

123 |
    124 |
  • <import> tag to inline external HTML files
  • 125 |
  • <slot> and <fill> tags to define slots and fill them with content
  • 126 |
  • <markdown> tag to portal into Markdown
  • 127 |
128 |

129 | screenshot of an html template with slots 130 |

131 |

132 | screenshot of an html page that imports the previous example and fills the slots 133 |

134 | 135 |

xm CLI comes with a dev mode that compiles and serves built HTML.

136 |

Furthermore xm is built on top of posthtml-cli and therefore it is extensible.

137 |

Are you using xm? Share your site's URL here.

138 |

Install

139 |
npm i -g xm

Usage

140 |
Usage: xm <command> [options]
141 | 
142 | Commands:
143 | 
144 |   dev     Compiles HTML files on change and serves the root folder
145 |   build   Compiles the HTML files once
146 |   help    Displays help
147 | 
148 | Options:
149 | 
150 |   --root       Folder to compile (default ./)
151 |   --output     Output (destination) folder. This is necessary only when using xm build
152 |   --htmlOnly   Compile and copy only the built HTML files

<import> element

153 |

Allows to inline (import) HTML files into the current one.

154 |
<import src="file.html" />
155 |

Paths are relative.

156 |
<!-- src/folder/index.html -->
157 | 
158 | <import src="file.html" />
159 | <!-- file.html -> src/folder/file.html -->
160 |

You can prefix paths with / to make them absolute i.e. relative to the --root value.

161 |
$ xm build --root ./src
162 | # <import src="file.html" />
163 | # -> ./src/file.html

Importing markdown files

164 |

xm supports importing .md (markdown) files too. When importing such files the front matter declarations are converted to fill elements.

165 |
<style>
166 |   /* theme */
167 | </style>
168 | <import src="README.md" />
169 |

💡 This feature can be used to generate styled docs sites for your open source project!

170 |

If you create a reusable theme for README-like files we encourage you to use the following naming convention:

171 |
xm-theme-<theme-name>

Share your site or theme URL here.

172 |

<slot> and <fill> elements

173 |

HTML files can define slot elements with an attribute name. slots can be filled when importing HTML files using the fill tag.

174 |
<!-- base.html -->
175 | 
176 | <!DOCTYPE html>
177 | <title><slot name="title"></slot></title>
178 | <main>
179 |   <slot name="main"></slot>
180 | </main>
181 | 
182 | <!-- about.html -->
183 | 
184 | <import src="base.html">
185 |   <fill name="title">About</fill>
186 |   <fill name="main">
187 |     <h1>About</h1>
188 |     <p>welcome</p>
189 |   </fill>
190 | </import>
191 | <footer>Unique to this page</footer>
192 | 
193 | <!-- about.html (compiled with xm) -->
194 | 
195 | <!DOCTYPE html>
196 | <title>About</title>
197 | <main>
198 |   <h1>About</h1>
199 |   <p>welcome</p>
200 | </main>
201 | <footer>Unique to this page</footer>
202 |

You can also define a special unnamed slot that will be filled with the import children that are not fill tags:

203 |
<!-- base.html -->
204 | 
205 | <slot></slot>
206 | <footer><slot name="footer"></slot></footer>
207 | 
208 | <!-- about.html -->
209 | 
210 | <import src="base.html">
211 |   <fill name="footer">good bye</fill>
212 |   hello
213 |   <p>friend</p>
214 | </import>
215 | 
216 | <!-- about.html (compiled with xm) -->
217 | 
218 | hello
219 | <p>friend</p>
220 | <footer>good bye</footer>
221 |

Credits

222 |
    223 |
  • Ivan Demidov for helping me out with PRs and PostHTML
  • 224 |
  • askucher for transferring ownership of the xm package
  • 225 |
226 |
227 | 228 | Fork me on GitHub 229 |
230 | -------------------------------------------------------------------------------- /index.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | const fs = require("fs"); 3 | const path = require("path"); 4 | const URL = require("url").URL; 5 | const { log, name, spawn, onCompile, help } = require("./utils"); 6 | 7 | let args = process.argv.slice(2); 8 | 9 | log(`\n ₪ ${name} extensible static HTML\n`, { prefix: null }); 10 | 11 | const cmds = ["dev", "build", "help"]; 12 | const cmd = args.shift(); 13 | 14 | if (!cmds.includes(cmd)) { 15 | if (cmd) { 16 | log( 17 | `Invalid command ${cmd || ""}. Valid commands are ${cmds 18 | .map((c) => `${c}`) 19 | .join(" ")}.` 20 | ); 21 | process.exit(1); 22 | } else { 23 | help(); 24 | process.exit(0); 25 | } 26 | } 27 | 28 | if (cmd === "help" || args.some((a) => a === "-h" || a === "--help")) { 29 | help(); 30 | process.exit(0); 31 | } 32 | 33 | const isDev = cmd === "dev"; 34 | 35 | const portOptionIndex = args.findIndex((a) => a === "-p" || a === "--port"); 36 | let port = 5000; 37 | if (~portOptionIndex && args[portOptionIndex + 1]) { 38 | port = args[portOptionIndex + 1]; 39 | args.splice(portOptionIndex, 2); 40 | } 41 | 42 | const rootDir = args.reduce((rootDir, option, index) => { 43 | if (["-r", "--root"].includes(option) && args[index + 1]) { 44 | rootDir = args[index + 1]; 45 | } 46 | return rootDir; 47 | }, "."); 48 | 49 | const outputOptionIndex = args.findIndex((a) => a === "-o" || a === "--output"); 50 | let devDir = `.${name}`; 51 | let outDir = isDev 52 | ? path.join(rootDir, devDir) 53 | : (~outputOptionIndex && args[outputOptionIndex + 1]) || "out"; 54 | if (~outputOptionIndex) { 55 | args[outputOptionIndex + 1] = outDir; 56 | } else { 57 | args.push("-o"); 58 | args.push(outDir); 59 | } 60 | 61 | // Mirror the input folder tree when outputting. 62 | args.push("-a"); 63 | 64 | const hasPattern = args.findIndex((a) => /^[-!]/.test(a)); 65 | if (hasPattern === 0) { 66 | args.unshift("**/*.html"); 67 | } 68 | 69 | args.splice(1, 0, `!**/${isDev ? devDir : outDir}/**`); 70 | 71 | args.push("-u"); 72 | args.push(`posthtml-${name}-import`); 73 | 74 | args.push(`--posthtml-${name}-import.root`); 75 | args.push(rootDir); 76 | 77 | args.push(`--posthtml-${name}-import.strict`); 78 | args.push(""); 79 | 80 | args.push("-u"); 81 | args.push("posthtml-md2html"); 82 | args.push("--posthtml-md2html.gfm"); 83 | args.push("true"); 84 | 85 | if (fs.existsSync(outDir)) { 86 | fs.rmdirSync(outDir, { recursive: true }); 87 | } 88 | 89 | const htmlOnlyIndex = args.findIndex((a) => a === "-x" || a === "--htmlOnly"); 90 | const run = 91 | ~htmlOnlyIndex || isDev 92 | ? (fn) => fn() 93 | : (fn) => { 94 | require("ncp").ncp( 95 | rootDir, 96 | outDir, 97 | { 98 | filter: (filePath) => 99 | !filePath.includes(outDir) && !filePath.includes(devDir), 100 | }, 101 | (err) => { 102 | if (err) { 103 | throw err; 104 | } 105 | fn(); 106 | } 107 | ); 108 | }; 109 | 110 | if (~htmlOnlyIndex) { 111 | args.splice(htmlOnlyIndex, 1); 112 | } 113 | 114 | run(() => { 115 | if (isDev) { 116 | const http = require("http"); 117 | const sirvHandler = require("sirv")(rootDir, { dev: true }); 118 | const server = new http.createServer((req, res, next) => { 119 | const pathname = new URL(req.url, "https://localhost/").pathname || "/"; 120 | let filename = path.join(rootDir, pathname); 121 | const extension = path.extname(filename).trim(); 122 | const shouldRebuildRoute = 123 | (!extension || extension === ".html") && 124 | ["index.html", ".html", ""].some((guess) => { 125 | let guessFilename = 126 | guess == "index.html" 127 | ? path.join(filename, guess) 128 | : filename + guess; 129 | if (fs.existsSync(path.resolve(guessFilename))) { 130 | filename = 131 | guess == "index.html" 132 | ? path.join(pathname, guess) 133 | : pathname + guess; 134 | return true; 135 | } 136 | return false; 137 | }); 138 | 139 | if (shouldRebuildRoute) { 140 | // html files will be built and served from the devDir 141 | log(`Serving ${req.url} ...`); 142 | req.url = path.join(devDir, req.url); 143 | const [_, ...newArgs] = args; 144 | newArgs.unshift(filename); 145 | spawn("posthtml", { 146 | args: newArgs, 147 | onMsg: () => {}, 148 | }); 149 | } 150 | return sirvHandler(req, res, next); 151 | }); 152 | 153 | server.listen(port, (err) => { 154 | if (err) { 155 | log(`${err}`); 156 | process.exit(1); 157 | } 158 | log(`Listening on http://localhost:${port}\n`); 159 | }); 160 | } else { 161 | spawn("posthtml", { 162 | args, 163 | onMsg: () => { 164 | log("Done."); 165 | }, 166 | }); 167 | } 168 | }); 169 | -------------------------------------------------------------------------------- /lib/posthtml-xm-import/index.js: -------------------------------------------------------------------------------- 1 | // Based on https://github.com/posthtml/posthtml-extend 2 | const fs = require("fs"); 3 | const path = require("path"); 4 | const util = require("util"); 5 | const parseToPostHtml = require("posthtml-parser"); 6 | const { match } = require("posthtml/lib/api"); 7 | const fm = require("front-matter"); 8 | 9 | const errors = { 10 | IMPORT_NO_SRC: ' has no "src"', 11 | FILL_NO_NAME: ' has no "name"', 12 | UNEXPECTED_BLOCK: 'Unexpected block "%s"', 13 | }; 14 | 15 | const UNNAMED = "__xm-import-content__"; 16 | 17 | module.exports = (options = {}) => { 18 | return (tree) => { 19 | options.encoding = options.encoding || "utf8"; 20 | options.root = options.root || "./"; 21 | options.plugins = options.plugins || []; 22 | options.strict = Object.prototype.hasOwnProperty.call(options, "strict") 23 | ? !!options.strict 24 | : true; 25 | 26 | enableSlotsInTitle(tree); 27 | tree = handleImportNodes(tree, options, tree.messages); 28 | 29 | tree.markdownNodes.forEach(([importNode, markdownTree]) => { 30 | importNode.content = markdownTree; 31 | }); 32 | 33 | const slotsFills = select(tree, ["slot", "fill"]); 34 | fillSlots(slotsFills.slot, slotsFills.fill); 35 | 36 | for (let tag in slotsFills) { 37 | for (let name in slotsFills[tag]) { 38 | if (name === UNNAMED) { 39 | continue; 40 | } 41 | slotsFills[tag][name].forEach((node, index) => { 42 | node.tag = false; 43 | node.content = tag === "fill" ? [] : node.content || []; 44 | }); 45 | } 46 | } 47 | 48 | delete tree.markdownNodes; 49 | return tree; 50 | }; 51 | }; 52 | 53 | function handleImportNodes(tree, options, messages) { 54 | const markdownNodes = []; 55 | match.call( 56 | applyPluginsToTree(tree, options.plugins), 57 | { tag: "import" }, 58 | (importNode) => { 59 | if ( 60 | !importNode.attrs || 61 | (!importNode.attrs.src && !importNode.attrs.href) 62 | ) { 63 | throw getError(errors.IMPORT_NO_SRC); 64 | } 65 | const url = importNode.attrs.src || importNode.attrs.href; 66 | const importPath = url.startsWith("/") 67 | ? path.resolve(options.root, url.slice(1)) 68 | : path.resolve(path.dirname(tree.options.from), url); 69 | const isMarkdown = importPath.endsWith(".md"); 70 | let importedHtml = fs.readFileSync(importPath, options.encoding); 71 | 72 | let frontmatter = null; 73 | if (isMarkdown) { 74 | const result = fm(importedHtml); 75 | let fills = ""; 76 | frontmatter = result.attributes; 77 | for (attr in result.attributes) { 78 | fills += `${result.attributes[attr]}\n`; 79 | } 80 | importedHtml = `${fills}`; 81 | const markdownTree = parseToPostHtml(importedHtml); 82 | markdownTree[markdownTree.length - 1].content = [result.body.trim()]; 83 | importNode.tag = false; 84 | markdownNodes.push([importNode, markdownTree]); 85 | } else { 86 | const importedTree = handleImportNodes( 87 | applyPluginsToTree(parseToPostHtml(importedHtml), options.plugins), 88 | options, 89 | messages 90 | ); 91 | enableSlotsInTitle(importedTree); 92 | const slotNodes = select(importedTree, ["slot"]); 93 | const fillNodes = select(importNode.content, ["fill"]); 94 | fillNodes[UNNAMED] = importNode; 95 | fillSlots(slotNodes, fillNodes, options.strict); 96 | importNode.tag = false; 97 | importNode.content = importedTree; 98 | } 99 | 100 | messages.push({ 101 | type: "dependency", 102 | file: importPath, 103 | from: options.from, 104 | frontmatter, 105 | }); 106 | 107 | return importNode; 108 | } 109 | ); 110 | 111 | tree.markdownNodes = markdownNodes; 112 | return tree; 113 | } 114 | 115 | function applyPluginsToTree(tree, plugins) { 116 | return plugins.reduce((tree, plugin) => (tree = plugin(tree)), tree); 117 | } 118 | 119 | function fillSlots(slotNodes, fillNodes, strictNames) { 120 | // Default UNNAMED 121 | if (slotNodes[UNNAMED] && fillNodes[UNNAMED]) { 122 | let slotNode = slotNodes[UNNAMED][0]; 123 | slotNode.content = mergeContent( 124 | fillNodes[UNNAMED].content.filter((node, index, src) => { 125 | if (node == null) { 126 | return node; 127 | } 128 | if (typeof node === "string") { 129 | const nextNode = src[index + 1]; 130 | if (nextNode && nextNode.tag === "fill" && !node.trim()) { 131 | return false; 132 | } 133 | return true; 134 | } 135 | return node.tag !== "fill"; 136 | }), 137 | slotNode.content, 138 | "replace" 139 | ); 140 | fillNodes[UNNAMED].content = fillNodes[UNNAMED].content.filter( 141 | (node) => node && node.tag === "fill" 142 | ); 143 | slotNode.tag = false; 144 | } 145 | 146 | for (let name in fillNodes) { 147 | let slotNode = slotNodes[name]; 148 | if (!slotNode || slotNode.length === 0 || name === UNNAMED) { 149 | continue; 150 | } 151 | 152 | fillNodes[name].forEach((fillNode) => { 153 | (fillNode.content || []).some((node) => { 154 | if (node.tag === "fill") { 155 | throw new Error( 156 | "Found nested tag. Nested are not supported.\n\n" + 157 | ` \n` + 158 | ` \n` + 159 | ` \n` 160 | ); 161 | } 162 | }); 163 | 164 | slotNode.forEach((slotNode) => { 165 | slotNode.content = mergeContent( 166 | fillNode.content, 167 | slotNode.content, 168 | getBlockType(fillNode) 169 | ); 170 | slotNode.tag = false; 171 | }); 172 | }); 173 | } 174 | } 175 | 176 | function mergeContent(extendBlockContent, layoutBlockContent, extendBlockType) { 177 | extendBlockContent = extendBlockContent || []; 178 | layoutBlockContent = layoutBlockContent || []; 179 | 180 | switch (extendBlockType) { 181 | case "replace": 182 | layoutBlockContent = extendBlockContent; 183 | break; 184 | 185 | case "prepend": 186 | layoutBlockContent = extendBlockContent.concat(layoutBlockContent); 187 | break; 188 | 189 | case "append": 190 | layoutBlockContent = layoutBlockContent.concat(extendBlockContent); 191 | break; 192 | } 193 | 194 | return layoutBlockContent; 195 | } 196 | 197 | function getBlockType(blockNode) { 198 | let blockType = (blockNode.attrs && blockNode.attrs.type) || ""; 199 | blockType = blockType.toLowerCase(); 200 | if (["replace", "prepend", "append"].indexOf(blockType) === -1) { 201 | blockType = "replace"; 202 | } 203 | 204 | return blockType; 205 | } 206 | 207 | function select(content = [], tags) { 208 | const isSingleTag = tags.length === 1; 209 | let nodes = isSingleTag 210 | ? {} 211 | : tags.reduce((nodes, tag) => { 212 | nodes[tag] = {}; 213 | return nodes; 214 | }, {}); 215 | match.call(content, tags.map((tag) => ({ tag: tag })), (node) => { 216 | if (node.tag === "fill" && (!node.attrs || !node.attrs.name)) { 217 | console.log(node); 218 | throw getError(errors.FILL_NO_NAME); 219 | } 220 | const name = node.attrs ? node.attrs.name : UNNAMED; 221 | if (isSingleTag) { 222 | nodes[name] = nodes[name] || []; 223 | nodes[name].push(node); 224 | } else { 225 | nodes[node.tag][name] = nodes[node.tag][name] || []; 226 | nodes[node.tag][name].push(node); 227 | } 228 | return node; 229 | }); 230 | 231 | return nodes; 232 | } 233 | 234 | function enableSlotsInTitle(tree) { 235 | match.call(tree, { tag: "title" }, (node) => { 236 | if ( 237 | node.content && 238 | typeof node.content[0] === "string" && 239 | node.content[0].includes(" 2 | 3 | <slot name="title">title fail</slot> 4 | 5 | 6 | 7 | 8 | title fail 9 |
10 | content fail 11 | unnamed fail 12 | 4 13 |
14 |
15 | 5 16 |
17 | 18 | 19 | -------------------------------------------------------------------------------- /test/cases/markdown/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | # 2 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /test/cases/markdown/markdown.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 1 3 | --- 4 | 5 | # 3 6 | 7 | ```javascript 8 | alert("3"); 9 | ``` 10 | -------------------------------------------------------------------------------- /test/cases/nested/_base.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | <slot name="title">title fail</slot> 4 | 5 | 6 | 7 | 8 |
9 | content fail 10 | unnamed fail 11 | 7 12 |
13 |
14 | 8 15 |
16 | 17 | 18 | -------------------------------------------------------------------------------- /test/cases/nested/nested/nested/_nested.html: -------------------------------------------------------------------------------- 1 |
2 | 1 3 | 3 4 | _nested.html unnamed fail 5 | _nested.html nested fail 6 |
7 | -------------------------------------------------------------------------------- /test/cases/nested/nested/nested/page.html: -------------------------------------------------------------------------------- 1 | 2 | 6 3 | 4 | 2 5 | 6 | 5 7 | 4 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /test/cases/simple/_base.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | <slot name="title">title fail</slot> 4 | 5 | 6 | 7 | 8 |
9 | content fail 10 | unnamed fail 11 | content-after fail 12 |
13 |
14 | 5 15 |
16 | 17 | 18 | -------------------------------------------------------------------------------- /test/cases/simple/index.html: -------------------------------------------------------------------------------- 1 | 2 | 1 3 | 3 4 | 5 | 2 6 | 7 | 4 8 | 9 | 10 | 6 11 | -------------------------------------------------------------------------------- /test/createSnapshot.js: -------------------------------------------------------------------------------- 1 | const fs = require("fs"); 2 | const snapshot = require("snapshot-dir").snapshot; 3 | 4 | snapshot("test/.tmp").then((result) => 5 | fs.writeFileSync("test/snapshot.json", JSON.stringify(result, null, 2)) 6 | ); 7 | -------------------------------------------------------------------------------- /test/snapshot.json: -------------------------------------------------------------------------------- 1 | { 2 | "config.js": "ebc017db0f1f010de4132489d2dfc9eb", 3 | "markdown/_base.html": "bd859a717a60835975a6cf1096a720ee", 4 | "markdown/index.html": "d9151051c9d7f96a22854969db66bdf4", 5 | "markdown/markdown.md": "6c26df00eb021dd474c316f242f33afc", 6 | "nested/_base.html": "9b7e47d91ca5c8615249427df666558a", 7 | "nested/nested/nested/_nested.html": "16fa3661c54cf0d822406e6d79683fe0", 8 | "nested/nested/nested/page.html": "cbdf34c25e3969fec4653249d1fcc919", 9 | "simple/_base.html": "305317b853a0c126acf2e88eb5d15e20", 10 | "simple/index.html": "ee61e485389c4f5e4de7c67a52f8dbd1" 11 | } 12 | -------------------------------------------------------------------------------- /test/test.js: -------------------------------------------------------------------------------- 1 | const fs = require("fs"); 2 | const snapshotCompare = require("snapshot-dir").snapshotCompareSync; 3 | const assert = require("assert"); 4 | 5 | const result = snapshotCompare("test/.tmp", require("./snapshot.json")); 6 | assert.ok( 7 | !result, 8 | "The snapshot did not match.\n\n" + JSON.stringify(result, null, 2) 9 | ); 10 | -------------------------------------------------------------------------------- /utils.js: -------------------------------------------------------------------------------- 1 | const child_process = require("child_process"); 2 | const path = require("path"); 3 | 4 | const tagsMap = { 5 | b: [1, 22], 6 | i: [3, 23], 7 | u: [4, 24], 8 | h: [7, 27], 9 | }; 10 | const name = require("./package.json").name; 11 | module.exports.name = name; 12 | function log(msg, { prefix } = { prefix: "₪" }) { 13 | if (prefix) { 14 | msg = msg.replace( 15 | /\S/, 16 | (firstChar) => 17 | ` \x1b[${tagsMap.h[0]}m ${prefix} \x1b[${tagsMap.h[1]}m ${firstChar}` 18 | ); 19 | } 20 | 21 | msg = msg.replace(/<(\/)?(.*?)>/gi, (src, isClosing, tag) => { 22 | return tagsMap[tag] 23 | ? `\x1b[${isClosing ? tagsMap[tag][1] : tagsMap[tag][0]}m` 24 | : src; 25 | }); 26 | 27 | console.log(msg); 28 | } 29 | module.exports.log = log; 30 | 31 | module.exports.onCompile = (msg) => { 32 | msg 33 | .trim() 34 | .split("\n") 35 | .forEach((line) => { 36 | if (line.trim()) { 37 | log(line); 38 | } else { 39 | log(line, { prefix: false }); 40 | } 41 | }); 42 | }; 43 | 44 | module.exports.spawn = function spawn( 45 | cliName, 46 | { args = {}, options = {}, async = false, onMsg } 47 | ) { 48 | const child = (async ? child_process.spawn : child_process.spawnSync)( 49 | path.resolve(__dirname, "node_modules", ".bin", cliName), 50 | args, 51 | { 52 | stdio: process.env.DEBUG 53 | ? "inherit" 54 | : ["inherit", onMsg ? "pipe" : "inherit", "inherit"], 55 | ...options, 56 | } 57 | ); 58 | if (onMsg && !process.env.DEBUG) { 59 | if (async) { 60 | child.stdout.on("data", onMsg); 61 | } 62 | onMsg(child.stdout.toString()); 63 | } 64 | return child; 65 | }; 66 | 67 | module.exports.help = function help() { 68 | log(`Usage: ${name} [options]\n`); 69 | 70 | log(`Commands:\n`); 71 | log( 72 | ` dev Compiles HTML files on change and serves the root folder`, 73 | { 74 | prefix: false, 75 | } 76 | ); 77 | log(` build Compiles the HTML files once`, { prefix: false }); 78 | log(` help Displays help`, { prefix: false }); 79 | 80 | log(`\nOptions:\n`); 81 | log(` --root Folder to compile (default ./)`, { 82 | prefix: false, 83 | }); 84 | log( 85 | ` --output Output (destination) folder. This is necessary only when using ${name} build`, 86 | { 87 | prefix: false, 88 | } 89 | ); 90 | log( 91 | ` --htmlOnly Compiles and copies only the built HTML files`, 92 | { 93 | prefix: false, 94 | } 95 | ); 96 | log( 97 | ` --port Port used for the dev server (default: 5000)\n`, 98 | { 99 | prefix: false, 100 | } 101 | ); 102 | }; 103 | -------------------------------------------------------------------------------- /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.10.4" 7 | resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.10.4.tgz#168da1a36e90da68ae8d49c0f1b48c7c6249213a" 8 | integrity sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg== 9 | dependencies: 10 | "@babel/highlight" "^7.10.4" 11 | 12 | "@babel/helper-validator-identifier@^7.10.4": 13 | version "7.10.4" 14 | resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz#a78c7a7251e01f616512d31b10adcf52ada5e0d2" 15 | integrity sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw== 16 | 17 | "@babel/highlight@^7.10.4": 18 | version "7.10.4" 19 | resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.10.4.tgz#7d1bdfd65753538fabe6c38596cdb76d9ac60143" 20 | integrity sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA== 21 | dependencies: 22 | "@babel/helper-validator-identifier" "^7.10.4" 23 | chalk "^2.0.0" 24 | js-tokens "^4.0.0" 25 | 26 | "@nodelib/fs.scandir@2.1.3": 27 | version "2.1.3" 28 | resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz#3a582bdb53804c6ba6d146579c46e52130cf4a3b" 29 | integrity sha512-eGmwYQn3gxo4r7jdQnkrrN6bY478C3P+a/y72IJukF8LjB6ZHeB3c+Ehacj3sYeSmUXGlnA67/PmbM9CVwL7Dw== 30 | dependencies: 31 | "@nodelib/fs.stat" "2.0.3" 32 | run-parallel "^1.1.9" 33 | 34 | "@nodelib/fs.stat@2.0.3", "@nodelib/fs.stat@^2.0.2": 35 | version "2.0.3" 36 | resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz#34dc5f4cabbc720f4e60f75a747e7ecd6c175bd3" 37 | integrity sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA== 38 | 39 | "@nodelib/fs.walk@^1.2.3": 40 | version "1.2.4" 41 | resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz#011b9202a70a6366e436ca5c065844528ab04976" 42 | integrity sha512-1V9XOY4rDW0rehzbrcqAmHnz8e7SKvX27gh8Gt2WgB0+pdzdiLV83p72kZPU+jvMbS1qU5mauP2iOvO8rhmurQ== 43 | dependencies: 44 | "@nodelib/fs.scandir" "2.1.3" 45 | fastq "^1.6.0" 46 | 47 | "@polka/url@^1.0.0-next.9": 48 | version "1.0.0-next.11" 49 | resolved "https://registry.yarnpkg.com/@polka/url/-/url-1.0.0-next.11.tgz#aeb16f50649a91af79dbe36574b66d0f9e4d9f71" 50 | integrity sha512-3NsZsJIA/22P3QUyrEDNA2D133H4j224twJrdipXN38dpnIOzAbUDtOwkcJ5pXmn75w7LSQDjA4tO9dm1XlqlA== 51 | 52 | "@sindresorhus/is@^0.14.0": 53 | version "0.14.0" 54 | resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.14.0.tgz#9fb3a3cf3132328151f353de4632e01e52102bea" 55 | integrity sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ== 56 | 57 | "@szmarczak/http-timer@^1.1.2": 58 | version "1.1.2" 59 | resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-1.1.2.tgz#b1665e2c461a2cd92f4c1bbf50d5454de0d4b421" 60 | integrity sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA== 61 | dependencies: 62 | defer-to-connect "^1.0.1" 63 | 64 | "@types/deep-diff@^0.0.30": 65 | version "0.0.30" 66 | resolved "https://registry.yarnpkg.com/@types/deep-diff/-/deep-diff-0.0.30.tgz#43e25d439d3caf0c7f57b02082659b819806d5f0" 67 | integrity sha1-Q+JdQ508rwx/V7AggmWbgZgG1fA= 68 | 69 | "@types/events@*": 70 | version "3.0.0" 71 | resolved "https://registry.yarnpkg.com/@types/events/-/events-3.0.0.tgz#2862f3f58a9a7f7c3e78d79f130dd4d71c25c2a7" 72 | integrity sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g== 73 | 74 | "@types/glob@^5.0.30": 75 | version "5.0.36" 76 | resolved "https://registry.yarnpkg.com/@types/glob/-/glob-5.0.36.tgz#0c80a9c8664fc7d19781de229f287077fd622cb2" 77 | integrity sha512-KEzSKuP2+3oOjYYjujue6Z3Yqis5HKA1BsIC+jZ1v3lrRNdsqyNNtX0rQf6LSuI4DJJ2z5UV//zBZCcvM0xikg== 78 | dependencies: 79 | "@types/events" "*" 80 | "@types/minimatch" "*" 81 | "@types/node" "*" 82 | 83 | "@types/md5@^2.1.32": 84 | version "2.2.1" 85 | resolved "https://registry.yarnpkg.com/@types/md5/-/md5-2.2.1.tgz#0e2d65d8f6cc91aafbc9be5a4c08fee9250406ce" 86 | integrity sha512-bZB0jqBL7JETFqvRKyuDETFceFaVcLm2MBPP5LFEEL/SZuqLnyvzF37tXmMERDncC3oeEj/fOUw88ftJeMpZaw== 87 | dependencies: 88 | "@types/node" "*" 89 | 90 | "@types/minimatch@*": 91 | version "3.0.3" 92 | resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d" 93 | integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA== 94 | 95 | "@types/minimist@^1.2.0": 96 | version "1.2.1" 97 | resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.1.tgz#283f669ff76d7b8260df8ab7a4262cc83d988256" 98 | integrity sha512-fZQQafSREFyuZcdWFAExYjBiCL7AUCdgsk80iO0q4yihYYdcIiH28CcuPTGFgLOCC8RlW49GSQxdHwZP+I7CNg== 99 | 100 | "@types/node@*": 101 | version "14.14.8" 102 | resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.8.tgz#2127bd81949a95c8b7d3240f3254352d72563aec" 103 | integrity sha512-z/5Yd59dCKI5kbxauAJgw6dLPzW+TNOItNE00PkpzNwUIEwdj/Lsqwq94H5DdYBX7C13aRA0CY32BK76+neEUA== 104 | 105 | "@types/node@^7.0.14": 106 | version "7.10.14" 107 | resolved "https://registry.yarnpkg.com/@types/node/-/node-7.10.14.tgz#06fa7319b8131b969a8da4a14c487e6f28abacf7" 108 | integrity sha512-29GS75BE8asnTno3yB6ubOJOO0FboExEqNJy4bpz0GSmW/8wPTNL4h9h63c6s1uTrOopCmJYe/4yJLh5r92ZUA== 109 | 110 | "@types/normalize-package-data@^2.4.0": 111 | version "2.4.0" 112 | resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz#e486d0d97396d79beedd0a6e33f4534ff6b4973e" 113 | integrity sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA== 114 | 115 | "@types/parse-json@^4.0.0": 116 | version "4.0.0" 117 | resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" 118 | integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== 119 | 120 | ansi-align@^3.0.0: 121 | version "3.0.0" 122 | resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-3.0.0.tgz#b536b371cf687caaef236c18d3e21fe3797467cb" 123 | integrity sha512-ZpClVKqXN3RGBmKibdfWzqCY4lnjEuoNzU5T0oEFpfd/z5qJHVarukridD4juLO2FXMiwUQxr9WqQtaYa8XRYw== 124 | dependencies: 125 | string-width "^3.0.0" 126 | 127 | ansi-regex@^4.1.0: 128 | version "4.1.0" 129 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" 130 | integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== 131 | 132 | ansi-regex@^5.0.0: 133 | version "5.0.0" 134 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" 135 | integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== 136 | 137 | ansi-styles@^3.2.1: 138 | version "3.2.1" 139 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" 140 | integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== 141 | dependencies: 142 | color-convert "^1.9.0" 143 | 144 | ansi-styles@^4.1.0: 145 | version "4.3.0" 146 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" 147 | integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== 148 | dependencies: 149 | color-convert "^2.0.1" 150 | 151 | argparse@^1.0.7: 152 | version "1.0.10" 153 | resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" 154 | integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== 155 | dependencies: 156 | sprintf-js "~1.0.2" 157 | 158 | arrify@^1.0.1: 159 | version "1.0.1" 160 | resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" 161 | integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0= 162 | 163 | balanced-match@^1.0.0: 164 | version "1.0.0" 165 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" 166 | integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= 167 | 168 | boxen@^4.2.0: 169 | version "4.2.0" 170 | resolved "https://registry.yarnpkg.com/boxen/-/boxen-4.2.0.tgz#e411b62357d6d6d36587c8ac3d5d974daa070e64" 171 | integrity sha512-eB4uT9RGzg2odpER62bBwSLvUeGC+WbRjjyyFhGsKnc8wp/m0+hQsMUvUe3H2V0D5vw0nBdO1hCJoZo5mKeuIQ== 172 | dependencies: 173 | ansi-align "^3.0.0" 174 | camelcase "^5.3.1" 175 | chalk "^3.0.0" 176 | cli-boxes "^2.2.0" 177 | string-width "^4.1.0" 178 | term-size "^2.1.0" 179 | type-fest "^0.8.1" 180 | widest-line "^3.1.0" 181 | 182 | brace-expansion@^1.1.7: 183 | version "1.1.11" 184 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" 185 | integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== 186 | dependencies: 187 | balanced-match "^1.0.0" 188 | concat-map "0.0.1" 189 | 190 | braces@^3.0.1: 191 | version "3.0.2" 192 | resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" 193 | integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== 194 | dependencies: 195 | fill-range "^7.0.1" 196 | 197 | buffer-from@^1.0.0: 198 | version "1.1.1" 199 | resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" 200 | integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== 201 | 202 | cacheable-request@^6.0.0: 203 | version "6.1.0" 204 | resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-6.1.0.tgz#20ffb8bd162ba4be11e9567d823db651052ca912" 205 | integrity sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg== 206 | dependencies: 207 | clone-response "^1.0.2" 208 | get-stream "^5.1.0" 209 | http-cache-semantics "^4.0.0" 210 | keyv "^3.0.0" 211 | lowercase-keys "^2.0.0" 212 | normalize-url "^4.1.0" 213 | responselike "^1.0.2" 214 | 215 | callsites@^3.0.0: 216 | version "3.1.0" 217 | resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" 218 | integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== 219 | 220 | camelcase-keys@^6.2.2: 221 | version "6.2.2" 222 | resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-6.2.2.tgz#5e755d6ba51aa223ec7d3d52f25778210f9dc3c0" 223 | integrity sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg== 224 | dependencies: 225 | camelcase "^5.3.1" 226 | map-obj "^4.0.0" 227 | quick-lru "^4.0.1" 228 | 229 | camelcase@^5.0.0, camelcase@^5.3.1: 230 | version "5.3.1" 231 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" 232 | integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== 233 | 234 | chalk@^2.0.0: 235 | version "2.4.2" 236 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" 237 | integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== 238 | dependencies: 239 | ansi-styles "^3.2.1" 240 | escape-string-regexp "^1.0.5" 241 | supports-color "^5.3.0" 242 | 243 | chalk@^3.0.0: 244 | version "3.0.0" 245 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4" 246 | integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg== 247 | dependencies: 248 | ansi-styles "^4.1.0" 249 | supports-color "^7.1.0" 250 | 251 | chalk@^4.1.0: 252 | version "4.1.0" 253 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a" 254 | integrity sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A== 255 | dependencies: 256 | ansi-styles "^4.1.0" 257 | supports-color "^7.1.0" 258 | 259 | charenc@0.0.2: 260 | version "0.0.2" 261 | resolved "https://registry.yarnpkg.com/charenc/-/charenc-0.0.2.tgz#c0a1d2f3a7092e03774bfa83f14c0fc5790a8667" 262 | integrity sha1-wKHS86cJLgN3S/qD8UwPxXkKhmc= 263 | 264 | ci-info@^2.0.0: 265 | version "2.0.0" 266 | resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" 267 | integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== 268 | 269 | cli-boxes@^2.2.0: 270 | version "2.2.1" 271 | resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-2.2.1.tgz#ddd5035d25094fce220e9cab40a45840a440318f" 272 | integrity sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw== 273 | 274 | clone-response@^1.0.2: 275 | version "1.0.2" 276 | resolved "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.2.tgz#d1dc973920314df67fbeb94223b4ee350239e96b" 277 | integrity sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws= 278 | dependencies: 279 | mimic-response "^1.0.0" 280 | 281 | color-convert@^1.9.0: 282 | version "1.9.3" 283 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" 284 | integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== 285 | dependencies: 286 | color-name "1.1.3" 287 | 288 | color-convert@^2.0.1: 289 | version "2.0.1" 290 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" 291 | integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== 292 | dependencies: 293 | color-name "~1.1.4" 294 | 295 | color-name@1.1.3: 296 | version "1.1.3" 297 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" 298 | integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= 299 | 300 | color-name@~1.1.4: 301 | version "1.1.4" 302 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" 303 | integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== 304 | 305 | concat-map@0.0.1: 306 | version "0.0.1" 307 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 308 | integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= 309 | 310 | configstore@^5.0.1: 311 | version "5.0.1" 312 | resolved "https://registry.yarnpkg.com/configstore/-/configstore-5.0.1.tgz#d365021b5df4b98cdd187d6a3b0e3f6a7cc5ed96" 313 | integrity sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA== 314 | dependencies: 315 | dot-prop "^5.2.0" 316 | graceful-fs "^4.1.2" 317 | make-dir "^3.0.0" 318 | unique-string "^2.0.0" 319 | write-file-atomic "^3.0.0" 320 | xdg-basedir "^4.0.0" 321 | 322 | cosmiconfig@^7.0.0: 323 | version "7.0.0" 324 | resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.0.0.tgz#ef9b44d773959cae63ddecd122de23853b60f8d3" 325 | integrity sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA== 326 | dependencies: 327 | "@types/parse-json" "^4.0.0" 328 | import-fresh "^3.2.1" 329 | parse-json "^5.0.0" 330 | path-type "^4.0.0" 331 | yaml "^1.10.0" 332 | 333 | crypt@0.0.2: 334 | version "0.0.2" 335 | resolved "https://registry.yarnpkg.com/crypt/-/crypt-0.0.2.tgz#88d7ff7ec0dfb86f713dc87bbb42d044d3e6c41b" 336 | integrity sha1-iNf/fsDfuG9xPch7u0LQRNPmxBs= 337 | 338 | crypto-random-string@^2.0.0: 339 | version "2.0.0" 340 | resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5" 341 | integrity sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA== 342 | 343 | decamelize-keys@^1.1.0: 344 | version "1.1.0" 345 | resolved "https://registry.yarnpkg.com/decamelize-keys/-/decamelize-keys-1.1.0.tgz#d171a87933252807eb3cb61dc1c1445d078df2d9" 346 | integrity sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk= 347 | dependencies: 348 | decamelize "^1.1.0" 349 | map-obj "^1.0.0" 350 | 351 | decamelize@^1.1.0, decamelize@^1.2.0: 352 | version "1.2.0" 353 | resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" 354 | integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= 355 | 356 | decompress-response@^3.3.0: 357 | version "3.3.0" 358 | resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-3.3.0.tgz#80a4dd323748384bfa248083622aedec982adff3" 359 | integrity sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M= 360 | dependencies: 361 | mimic-response "^1.0.0" 362 | 363 | deep-diff@^0.3.6: 364 | version "0.3.8" 365 | resolved "https://registry.yarnpkg.com/deep-diff/-/deep-diff-0.3.8.tgz#c01de63efb0eec9798801d40c7e0dae25b582c84" 366 | integrity sha1-wB3mPvsO7JeYgB1Ax+Da4ltYLIQ= 367 | 368 | deep-extend@^0.6.0: 369 | version "0.6.0" 370 | resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" 371 | integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== 372 | 373 | defer-to-connect@^1.0.1: 374 | version "1.1.3" 375 | resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-1.1.3.tgz#331ae050c08dcf789f8c83a7b81f0ed94f4ac591" 376 | integrity sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ== 377 | 378 | dom-serializer@0: 379 | version "0.2.2" 380 | resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.2.2.tgz#1afb81f533717175d478655debc5e332d9f9bb51" 381 | integrity sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g== 382 | dependencies: 383 | domelementtype "^2.0.1" 384 | entities "^2.0.0" 385 | 386 | domelementtype@1, domelementtype@^1.3.1: 387 | version "1.3.1" 388 | resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.1.tgz#d048c44b37b0d10a7f2a3d5fee3f4333d790481f" 389 | integrity sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w== 390 | 391 | domelementtype@^2.0.1: 392 | version "2.0.2" 393 | resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.0.2.tgz#f3b6e549201e46f588b59463dd77187131fe6971" 394 | integrity sha512-wFwTwCVebUrMgGeAwRL/NhZtHAUyT9n9yg4IMDwf10+6iCMxSkVq9MGCVEH+QZWo1nNidy8kNvwmv4zWHDTqvA== 395 | 396 | domhandler@^2.3.0: 397 | version "2.4.2" 398 | resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.4.2.tgz#8805097e933d65e85546f726d60f5eb88b44f803" 399 | integrity sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA== 400 | dependencies: 401 | domelementtype "1" 402 | 403 | domutils@^1.5.1: 404 | version "1.7.0" 405 | resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.7.0.tgz#56ea341e834e06e6748af7a1cb25da67ea9f8c2a" 406 | integrity sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg== 407 | dependencies: 408 | dom-serializer "0" 409 | domelementtype "1" 410 | 411 | dot-prop@^5.2.0: 412 | version "5.3.0" 413 | resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88" 414 | integrity sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q== 415 | dependencies: 416 | is-obj "^2.0.0" 417 | 418 | duplexer3@^0.1.4: 419 | version "0.1.4" 420 | resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" 421 | integrity sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI= 422 | 423 | emoji-regex@^7.0.1: 424 | version "7.0.3" 425 | resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" 426 | integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== 427 | 428 | emoji-regex@^8.0.0: 429 | version "8.0.0" 430 | resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" 431 | integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== 432 | 433 | end-of-stream@^1.1.0: 434 | version "1.4.4" 435 | resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" 436 | integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== 437 | dependencies: 438 | once "^1.4.0" 439 | 440 | entities@^1.1.1: 441 | version "1.1.2" 442 | resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.2.tgz#bdfa735299664dfafd34529ed4f8522a275fea56" 443 | integrity sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w== 444 | 445 | entities@^2.0.0: 446 | version "2.1.0" 447 | resolved "https://registry.yarnpkg.com/entities/-/entities-2.1.0.tgz#992d3129cf7df6870b96c57858c249a120f8b8b5" 448 | integrity sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w== 449 | 450 | error-ex@^1.3.1: 451 | version "1.3.2" 452 | resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" 453 | integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== 454 | dependencies: 455 | is-arrayish "^0.2.1" 456 | 457 | escape-goat@^2.0.0: 458 | version "2.1.1" 459 | resolved "https://registry.yarnpkg.com/escape-goat/-/escape-goat-2.1.1.tgz#1b2dc77003676c457ec760b2dc68edb648188675" 460 | integrity sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q== 461 | 462 | escape-string-regexp@^1.0.5: 463 | version "1.0.5" 464 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" 465 | integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= 466 | 467 | esprima@^4.0.0: 468 | version "4.0.1" 469 | resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" 470 | integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== 471 | 472 | fast-glob@^3.2.4: 473 | version "3.2.4" 474 | resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.4.tgz#d20aefbf99579383e7f3cc66529158c9b98554d3" 475 | integrity sha512-kr/Oo6PX51265qeuCYsyGypiO5uJFgBS0jksyG7FUeCyQzNwYnzrNIMR1NXfkZXsMYXYLRAHgISHBz8gQcxKHQ== 476 | dependencies: 477 | "@nodelib/fs.stat" "^2.0.2" 478 | "@nodelib/fs.walk" "^1.2.3" 479 | glob-parent "^5.1.0" 480 | merge2 "^1.3.0" 481 | micromatch "^4.0.2" 482 | picomatch "^2.2.1" 483 | 484 | fastq@^1.6.0: 485 | version "1.9.0" 486 | resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.9.0.tgz#e16a72f338eaca48e91b5c23593bcc2ef66b7947" 487 | integrity sha512-i7FVWL8HhVY+CTkwFxkN2mk3h+787ixS5S63eb78diVRc1MCssarHq3W5cj0av7YDSwmaV928RNag+U1etRQ7w== 488 | dependencies: 489 | reusify "^1.0.4" 490 | 491 | fill-range@^7.0.1: 492 | version "7.0.1" 493 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" 494 | integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== 495 | dependencies: 496 | to-regex-range "^5.0.1" 497 | 498 | find-up@^4.1.0: 499 | version "4.1.0" 500 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" 501 | integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== 502 | dependencies: 503 | locate-path "^5.0.0" 504 | path-exists "^4.0.0" 505 | 506 | front-matter@^4.0.2: 507 | version "4.0.2" 508 | resolved "https://registry.yarnpkg.com/front-matter/-/front-matter-4.0.2.tgz#b14e54dc745cfd7293484f3210d15ea4edd7f4d5" 509 | integrity sha512-I8ZuJ/qG92NWX8i5x1Y8qyj3vizhXS31OxjKDu3LKP+7/qBgfIKValiZIEwoVoJKUHlhWtYrktkxV1XsX+pPlg== 510 | dependencies: 511 | js-yaml "^3.13.1" 512 | 513 | fs.realpath@^1.0.0: 514 | version "1.0.0" 515 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 516 | integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= 517 | 518 | function-bind@^1.1.1: 519 | version "1.1.1" 520 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" 521 | integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== 522 | 523 | get-stream@^4.1.0: 524 | version "4.1.0" 525 | resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" 526 | integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== 527 | dependencies: 528 | pump "^3.0.0" 529 | 530 | get-stream@^5.1.0: 531 | version "5.2.0" 532 | resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" 533 | integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== 534 | dependencies: 535 | pump "^3.0.0" 536 | 537 | glob-parent@^5.1.0: 538 | version "5.1.1" 539 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.1.tgz#b6c1ef417c4e5663ea498f1c45afac6916bbc229" 540 | integrity sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ== 541 | dependencies: 542 | is-glob "^4.0.1" 543 | 544 | glob@^7.1.1: 545 | version "7.1.6" 546 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" 547 | integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== 548 | dependencies: 549 | fs.realpath "^1.0.0" 550 | inflight "^1.0.4" 551 | inherits "2" 552 | minimatch "^3.0.4" 553 | once "^1.3.0" 554 | path-is-absolute "^1.0.0" 555 | 556 | global-dirs@^2.0.1: 557 | version "2.0.1" 558 | resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-2.0.1.tgz#acdf3bb6685bcd55cb35e8a052266569e9469201" 559 | integrity sha512-5HqUqdhkEovj2Of/ms3IeS/EekcO54ytHRLV4PEY2rhRwrHXLQjeVEES0Lhka0xwNDtGYn58wyC4s5+MHsOO6A== 560 | dependencies: 561 | ini "^1.3.5" 562 | 563 | got@^9.6.0: 564 | version "9.6.0" 565 | resolved "https://registry.yarnpkg.com/got/-/got-9.6.0.tgz#edf45e7d67f99545705de1f7bbeeeb121765ed85" 566 | integrity sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q== 567 | dependencies: 568 | "@sindresorhus/is" "^0.14.0" 569 | "@szmarczak/http-timer" "^1.1.2" 570 | cacheable-request "^6.0.0" 571 | decompress-response "^3.3.0" 572 | duplexer3 "^0.1.4" 573 | get-stream "^4.1.0" 574 | lowercase-keys "^1.0.1" 575 | mimic-response "^1.0.1" 576 | p-cancelable "^1.0.0" 577 | to-readable-stream "^1.0.0" 578 | url-parse-lax "^3.0.0" 579 | 580 | graceful-fs@^4.1.2: 581 | version "4.2.4" 582 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" 583 | integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== 584 | 585 | hard-rejection@^2.1.0: 586 | version "2.1.0" 587 | resolved "https://registry.yarnpkg.com/hard-rejection/-/hard-rejection-2.1.0.tgz#1c6eda5c1685c63942766d79bb40ae773cecd883" 588 | integrity sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA== 589 | 590 | has-flag@^3.0.0: 591 | version "3.0.0" 592 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" 593 | integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= 594 | 595 | has-flag@^4.0.0: 596 | version "4.0.0" 597 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" 598 | integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== 599 | 600 | has-yarn@^2.1.0: 601 | version "2.1.0" 602 | resolved "https://registry.yarnpkg.com/has-yarn/-/has-yarn-2.1.0.tgz#137e11354a7b5bf11aa5cb649cf0c6f3ff2b2e77" 603 | integrity sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw== 604 | 605 | has@^1.0.3: 606 | version "1.0.3" 607 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" 608 | integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== 609 | dependencies: 610 | function-bind "^1.1.1" 611 | 612 | highlight.js@^10.1.2: 613 | version "10.3.2" 614 | resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-10.3.2.tgz#135fd3619a00c3cbb8b4cd6dbc78d56bfcbc46f1" 615 | integrity sha512-3jRT7OUYsVsKvukNKZCtnvRcFyCJqSEIuIMsEybAXRiFSwpt65qjPd/Pr+UOdYt7WJlt+lj3+ypUsHiySBp/Jw== 616 | 617 | hosted-git-info@^2.1.4: 618 | version "2.8.8" 619 | resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.8.tgz#7539bd4bc1e0e0a895815a2e0262420b12858488" 620 | integrity sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg== 621 | 622 | htmlparser2@^3.9.2: 623 | version "3.10.1" 624 | resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.10.1.tgz#bd679dc3f59897b6a34bb10749c855bb53a9392f" 625 | integrity sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ== 626 | dependencies: 627 | domelementtype "^1.3.1" 628 | domhandler "^2.3.0" 629 | domutils "^1.5.1" 630 | entities "^1.1.1" 631 | inherits "^2.0.1" 632 | readable-stream "^3.1.1" 633 | 634 | http-cache-semantics@^4.0.0: 635 | version "4.1.0" 636 | resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz#49e91c5cbf36c9b94bcfcd71c23d5249ec74e390" 637 | integrity sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ== 638 | 639 | import-fresh@^3.2.1: 640 | version "3.2.2" 641 | resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.2.2.tgz#fc129c160c5d68235507f4331a6baad186bdbc3e" 642 | integrity sha512-cTPNrlvJT6twpYy+YmKUKrTSjWFs3bjYjAhCwm+z4EOCubZxAuO+hHpRN64TqjEaYSHs7tJAE0w1CKMGmsG/lw== 643 | dependencies: 644 | parent-module "^1.0.0" 645 | resolve-from "^4.0.0" 646 | 647 | import-lazy@^2.1.0: 648 | version "2.1.0" 649 | resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-2.1.0.tgz#05698e3d45c88e8d7e9d92cb0584e77f096f3e43" 650 | integrity sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM= 651 | 652 | imurmurhash@^0.1.4: 653 | version "0.1.4" 654 | resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" 655 | integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= 656 | 657 | indent-string@^4.0.0: 658 | version "4.0.0" 659 | resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" 660 | integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== 661 | 662 | inflight@^1.0.4: 663 | version "1.0.6" 664 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" 665 | integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= 666 | dependencies: 667 | once "^1.3.0" 668 | wrappy "1" 669 | 670 | inherits@2, inherits@^2.0.1, inherits@^2.0.3: 671 | version "2.0.4" 672 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" 673 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== 674 | 675 | ini@^1.3.5, ini@~1.3.0: 676 | version "1.3.5" 677 | resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" 678 | integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw== 679 | 680 | is-arrayish@^0.2.1: 681 | version "0.2.1" 682 | resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" 683 | integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= 684 | 685 | is-buffer@~1.1.6: 686 | version "1.1.6" 687 | resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" 688 | integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== 689 | 690 | is-ci@^2.0.0: 691 | version "2.0.0" 692 | resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" 693 | integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== 694 | dependencies: 695 | ci-info "^2.0.0" 696 | 697 | is-core-module@^2.1.0: 698 | version "2.1.0" 699 | resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.1.0.tgz#a4cc031d9b1aca63eecbd18a650e13cb4eeab946" 700 | integrity sha512-YcV7BgVMRFRua2FqQzKtTDMz8iCuLEyGKjr70q8Zm1yy2qKcurbFEd79PAdHV77oL3NrAaOVQIbMmiHQCHB7ZA== 701 | dependencies: 702 | has "^1.0.3" 703 | 704 | is-extglob@^2.1.1: 705 | version "2.1.1" 706 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" 707 | integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= 708 | 709 | is-fullwidth-code-point@^2.0.0: 710 | version "2.0.0" 711 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" 712 | integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= 713 | 714 | is-fullwidth-code-point@^3.0.0: 715 | version "3.0.0" 716 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" 717 | integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== 718 | 719 | is-glob@^4.0.1: 720 | version "4.0.1" 721 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" 722 | integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== 723 | dependencies: 724 | is-extglob "^2.1.1" 725 | 726 | is-installed-globally@^0.3.2: 727 | version "0.3.2" 728 | resolved "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.3.2.tgz#fd3efa79ee670d1187233182d5b0a1dd00313141" 729 | integrity sha512-wZ8x1js7Ia0kecP/CHM/3ABkAmujX7WPvQk6uu3Fly/Mk44pySulQpnHG46OMjHGXApINnV4QhY3SWnECO2z5g== 730 | dependencies: 731 | global-dirs "^2.0.1" 732 | is-path-inside "^3.0.1" 733 | 734 | is-npm@^5.0.0: 735 | version "5.0.0" 736 | resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-5.0.0.tgz#43e8d65cc56e1b67f8d47262cf667099193f45a8" 737 | integrity sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA== 738 | 739 | is-number@^7.0.0: 740 | version "7.0.0" 741 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" 742 | integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== 743 | 744 | is-obj@^2.0.0: 745 | version "2.0.0" 746 | resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982" 747 | integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w== 748 | 749 | is-path-inside@^3.0.1: 750 | version "3.0.2" 751 | resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.2.tgz#f5220fc82a3e233757291dddc9c5877f2a1f3017" 752 | integrity sha512-/2UGPSgmtqwo1ktx8NDHjuPwZWmHhO+gj0f93EkhLB5RgW9RZevWYYlIkS6zePc6U2WpOdQYIwHe9YC4DWEBVg== 753 | 754 | is-plain-obj@^1.1.0: 755 | version "1.1.0" 756 | resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" 757 | integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4= 758 | 759 | is-plain-obj@^2.1.0: 760 | version "2.1.0" 761 | resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" 762 | integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== 763 | 764 | is-typedarray@^1.0.0: 765 | version "1.0.0" 766 | resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" 767 | integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= 768 | 769 | is-yarn-global@^0.3.0: 770 | version "0.3.0" 771 | resolved "https://registry.yarnpkg.com/is-yarn-global/-/is-yarn-global-0.3.0.tgz#d502d3382590ea3004893746754c89139973e232" 772 | integrity sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw== 773 | 774 | js-tokens@^4.0.0: 775 | version "4.0.0" 776 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" 777 | integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== 778 | 779 | js-yaml@^3.13.1: 780 | version "3.14.0" 781 | resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.0.tgz#a7a34170f26a21bb162424d8adacb4113a69e482" 782 | integrity sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A== 783 | dependencies: 784 | argparse "^1.0.7" 785 | esprima "^4.0.0" 786 | 787 | json-buffer@3.0.0: 788 | version "3.0.0" 789 | resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.0.tgz#5b1f397afc75d677bde8bcfc0e47e1f9a3d9a898" 790 | integrity sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg= 791 | 792 | json-parse-even-better-errors@^2.3.0: 793 | version "2.3.1" 794 | resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" 795 | integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== 796 | 797 | keyv@^3.0.0: 798 | version "3.1.0" 799 | resolved "https://registry.yarnpkg.com/keyv/-/keyv-3.1.0.tgz#ecc228486f69991e49e9476485a5be1e8fc5c4d9" 800 | integrity sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA== 801 | dependencies: 802 | json-buffer "3.0.0" 803 | 804 | kind-of@^6.0.3: 805 | version "6.0.3" 806 | resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" 807 | integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== 808 | 809 | latest-version@^5.1.0: 810 | version "5.1.0" 811 | resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-5.1.0.tgz#119dfe908fe38d15dfa43ecd13fa12ec8832face" 812 | integrity sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA== 813 | dependencies: 814 | package-json "^6.3.0" 815 | 816 | lines-and-columns@^1.1.6: 817 | version "1.1.6" 818 | resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" 819 | integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= 820 | 821 | locate-path@^5.0.0: 822 | version "5.0.0" 823 | resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" 824 | integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== 825 | dependencies: 826 | p-locate "^4.1.0" 827 | 828 | lowercase-keys@^1.0.0, lowercase-keys@^1.0.1: 829 | version "1.0.1" 830 | resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f" 831 | integrity sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA== 832 | 833 | lowercase-keys@^2.0.0: 834 | version "2.0.0" 835 | resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479" 836 | integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA== 837 | 838 | make-dir@^3.0.0: 839 | version "3.1.0" 840 | resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" 841 | integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== 842 | dependencies: 843 | semver "^6.0.0" 844 | 845 | map-obj@^1.0.0: 846 | version "1.0.1" 847 | resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" 848 | integrity sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0= 849 | 850 | map-obj@^4.0.0: 851 | version "4.1.0" 852 | resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-4.1.0.tgz#b91221b542734b9f14256c0132c897c5d7256fd5" 853 | integrity sha512-glc9y00wgtwcDmp7GaE/0b0OnxpNJsVf3ael/An6Fe2Q51LLwN1er6sdomLRzz5h0+yMpiYLhWYF5R7HeqVd4g== 854 | 855 | marked@^0.8.2: 856 | version "0.8.2" 857 | resolved "https://registry.yarnpkg.com/marked/-/marked-0.8.2.tgz#4faad28d26ede351a7a1aaa5fec67915c869e355" 858 | integrity sha512-EGwzEeCcLniFX51DhTpmTom+dSA/MG/OBUDjnWtHbEnjAH180VzUeAw+oE4+Zv+CoYBWyRlYOTR0N8SO9R1PVw== 859 | 860 | md5@^2.2.1: 861 | version "2.3.0" 862 | resolved "https://registry.yarnpkg.com/md5/-/md5-2.3.0.tgz#c3da9a6aae3a30b46b7b0c349b87b110dc3bda4f" 863 | integrity sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g== 864 | dependencies: 865 | charenc "0.0.2" 866 | crypt "0.0.2" 867 | is-buffer "~1.1.6" 868 | 869 | meow@^7.1.1: 870 | version "7.1.1" 871 | resolved "https://registry.yarnpkg.com/meow/-/meow-7.1.1.tgz#7c01595e3d337fcb0ec4e8eed1666ea95903d306" 872 | integrity sha512-GWHvA5QOcS412WCo8vwKDlTelGLsCGBVevQB5Kva961rmNfun0PCbv5+xta2kUMFJyR8/oWnn7ddeKdosbAPbA== 873 | dependencies: 874 | "@types/minimist" "^1.2.0" 875 | camelcase-keys "^6.2.2" 876 | decamelize-keys "^1.1.0" 877 | hard-rejection "^2.1.0" 878 | minimist-options "4.1.0" 879 | normalize-package-data "^2.5.0" 880 | read-pkg-up "^7.0.1" 881 | redent "^3.0.0" 882 | trim-newlines "^3.0.0" 883 | type-fest "^0.13.1" 884 | yargs-parser "^18.1.3" 885 | 886 | merge-options@^3.0.3: 887 | version "3.0.3" 888 | resolved "https://registry.yarnpkg.com/merge-options/-/merge-options-3.0.3.tgz#802b401f0de8dfae00d2a1e2dab9759b3dd98fe4" 889 | integrity sha512-jytfjQxL5mVrtD9O24zOXU4neV3uVbQdn1F0o1pzSa1yH9LTEUOtfwpWSsyAxrrrXqAFTxaU4ynqkmekHLvYew== 890 | dependencies: 891 | is-plain-obj "^2.1.0" 892 | 893 | merge2@^1.3.0: 894 | version "1.4.1" 895 | resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" 896 | integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== 897 | 898 | micromatch@^4.0.2: 899 | version "4.0.2" 900 | resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.2.tgz#4fcb0999bf9fbc2fcbdd212f6d629b9a56c39259" 901 | integrity sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q== 902 | dependencies: 903 | braces "^3.0.1" 904 | picomatch "^2.0.5" 905 | 906 | mime@^2.3.1: 907 | version "2.4.6" 908 | resolved "https://registry.yarnpkg.com/mime/-/mime-2.4.6.tgz#e5b407c90db442f2beb5b162373d07b69affa4d1" 909 | integrity sha512-RZKhC3EmpBchfTGBVb8fb+RL2cWyw/32lshnsETttkBAyAUXSGHxbEJWWRXc751DrIxG1q04b8QwMbAwkRPpUA== 910 | 911 | mimic-response@^1.0.0, mimic-response@^1.0.1: 912 | version "1.0.1" 913 | resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" 914 | integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== 915 | 916 | min-indent@^1.0.0: 917 | version "1.0.1" 918 | resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" 919 | integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== 920 | 921 | minimatch@^3.0.4: 922 | version "3.0.4" 923 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" 924 | integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== 925 | dependencies: 926 | brace-expansion "^1.1.7" 927 | 928 | minimist-options@4.1.0: 929 | version "4.1.0" 930 | resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-4.1.0.tgz#c0655713c53a8a2ebd77ffa247d342c40f010619" 931 | integrity sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A== 932 | dependencies: 933 | arrify "^1.0.1" 934 | is-plain-obj "^1.1.0" 935 | kind-of "^6.0.3" 936 | 937 | minimist@^1.2.0: 938 | version "1.2.5" 939 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" 940 | integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== 941 | 942 | ncp@^2.0.0: 943 | version "2.0.0" 944 | resolved "https://registry.yarnpkg.com/ncp/-/ncp-2.0.0.tgz#195a21d6c46e361d2fb1281ba38b91e9df7bdbb3" 945 | integrity sha1-GVoh1sRuNh0vsSgbo4uR6d9727M= 946 | 947 | normalize-package-data@^2.5.0: 948 | version "2.5.0" 949 | resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" 950 | integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== 951 | dependencies: 952 | hosted-git-info "^2.1.4" 953 | resolve "^1.10.0" 954 | semver "2 || 3 || 4 || 5" 955 | validate-npm-package-license "^3.0.1" 956 | 957 | normalize-path@^3.0.0: 958 | version "3.0.0" 959 | resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" 960 | integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== 961 | 962 | normalize-url@^4.1.0: 963 | version "4.5.0" 964 | resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.5.0.tgz#453354087e6ca96957bd8f5baf753f5982142129" 965 | integrity sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ== 966 | 967 | once@^1.3.0, once@^1.3.1, once@^1.4.0: 968 | version "1.4.0" 969 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 970 | integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= 971 | dependencies: 972 | wrappy "1" 973 | 974 | p-cancelable@^1.0.0: 975 | version "1.1.0" 976 | resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-1.1.0.tgz#d078d15a3af409220c886f1d9a0ca2e441ab26cc" 977 | integrity sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw== 978 | 979 | p-limit@^2.2.0: 980 | version "2.3.0" 981 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" 982 | integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== 983 | dependencies: 984 | p-try "^2.0.0" 985 | 986 | p-locate@^4.1.0: 987 | version "4.1.0" 988 | resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" 989 | integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== 990 | dependencies: 991 | p-limit "^2.2.0" 992 | 993 | p-try@^2.0.0: 994 | version "2.2.0" 995 | resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" 996 | integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== 997 | 998 | package-json@^6.3.0: 999 | version "6.5.0" 1000 | resolved "https://registry.yarnpkg.com/package-json/-/package-json-6.5.0.tgz#6feedaca35e75725876d0b0e64974697fed145b0" 1001 | integrity sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ== 1002 | dependencies: 1003 | got "^9.6.0" 1004 | registry-auth-token "^4.0.0" 1005 | registry-url "^5.0.0" 1006 | semver "^6.2.0" 1007 | 1008 | parent-module@^1.0.0: 1009 | version "1.0.1" 1010 | resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" 1011 | integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== 1012 | dependencies: 1013 | callsites "^3.0.0" 1014 | 1015 | parse-json@^5.0.0: 1016 | version "5.1.0" 1017 | resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.1.0.tgz#f96088cdf24a8faa9aea9a009f2d9d942c999646" 1018 | integrity sha512-+mi/lmVVNKFNVyLXV31ERiy2CY5E1/F6QtJFEzoChPRwwngMNXRDQ9GJ5WdE2Z2P4AujsOi0/+2qHID68KwfIQ== 1019 | dependencies: 1020 | "@babel/code-frame" "^7.0.0" 1021 | error-ex "^1.3.1" 1022 | json-parse-even-better-errors "^2.3.0" 1023 | lines-and-columns "^1.1.6" 1024 | 1025 | path-exists@^4.0.0: 1026 | version "4.0.0" 1027 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" 1028 | integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== 1029 | 1030 | path-is-absolute@^1.0.0: 1031 | version "1.0.1" 1032 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 1033 | integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= 1034 | 1035 | path-parse@^1.0.6: 1036 | version "1.0.6" 1037 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" 1038 | integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== 1039 | 1040 | path-type@^4.0.0: 1041 | version "4.0.0" 1042 | resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" 1043 | integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== 1044 | 1045 | picomatch@^2.0.5, picomatch@^2.2.1: 1046 | version "2.2.2" 1047 | resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" 1048 | integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg== 1049 | 1050 | posthtml-cli@^0.8.1: 1051 | version "0.8.1" 1052 | resolved "https://registry.yarnpkg.com/posthtml-cli/-/posthtml-cli-0.8.1.tgz#0193889e2787ffeb382f7a942ca913da833e6cd8" 1053 | integrity sha512-U7lg8qfXp/ZHVeL+EoyzKeziT5lbKaeQZ8NUNDpUTJ4L6KGM9OnL1eihtxfkA4bAVDWzl9Wte4BWPk5wnCEqpw== 1054 | dependencies: 1055 | cosmiconfig "^7.0.0" 1056 | fast-glob "^3.2.4" 1057 | make-dir "^3.0.0" 1058 | meow "^7.1.1" 1059 | merge-options "^3.0.3" 1060 | normalize-path "^3.0.0" 1061 | posthtml "^0.13.3" 1062 | to-camel-case "^1.0.0" 1063 | update-notifier "^5.0.0" 1064 | 1065 | posthtml-match-helper@^1.0.1: 1066 | version "1.0.1" 1067 | resolved "https://registry.yarnpkg.com/posthtml-match-helper/-/posthtml-match-helper-1.0.1.tgz#451253de8e5844a348e963ad5edd7769eb129513" 1068 | integrity sha1-RRJT3o5YRKNI6WOtXt13aesSlRM= 1069 | 1070 | posthtml-md2html@^0.0.2: 1071 | version "0.0.2" 1072 | resolved "https://registry.yarnpkg.com/posthtml-md2html/-/posthtml-md2html-0.0.2.tgz#231203e802525592119de72f0b1dba40bb3503fe" 1073 | integrity sha512-H5/EJPtYcg9f0JuAItIT6ySHCp/1Ctq2LqRQjg2/+GWD29PR8gt+lFO/F2IDGVwzvCuPGi5yI/dCGuvCp4uiDQ== 1074 | dependencies: 1075 | marked "^0.8.2" 1076 | posthtml "^0.12.0" 1077 | posthtml-match-helper "^1.0.1" 1078 | 1079 | posthtml-parser@^0.4.2: 1080 | version "0.4.2" 1081 | resolved "https://registry.yarnpkg.com/posthtml-parser/-/posthtml-parser-0.4.2.tgz#a132bbdf0cd4bc199d34f322f5c1599385d7c6c1" 1082 | integrity sha512-BUIorsYJTvS9UhXxPTzupIztOMVNPa/HtAm9KHni9z6qEfiJ1bpOBL5DfUOL9XAc3XkLIEzBzpph+Zbm4AdRAg== 1083 | dependencies: 1084 | htmlparser2 "^3.9.2" 1085 | 1086 | posthtml-parser@^0.5.0: 1087 | version "0.5.3" 1088 | resolved "https://registry.yarnpkg.com/posthtml-parser/-/posthtml-parser-0.5.3.tgz#e95b92e57d98da50b443e116fcee39466cd9012e" 1089 | integrity sha512-uHosRn0y+1wbnlYKrqMjBPoo/kK5LPYImLtiETszNFYfFwAD3cQdD1R2E13Mh5icBxkHj+yKtlIHozCsmVWD/Q== 1090 | dependencies: 1091 | htmlparser2 "^3.9.2" 1092 | 1093 | posthtml-render@^1.2.2, posthtml-render@^1.2.3: 1094 | version "1.4.0" 1095 | resolved "https://registry.yarnpkg.com/posthtml-render/-/posthtml-render-1.4.0.tgz#40114070c45881cacb93347dae3eff53afbcff13" 1096 | integrity sha512-W1779iVHGfq0Fvh2PROhCe2QhB8mEErgqzo1wpIt36tCgChafP+hbXIhLDOM8ePJrZcFs0vkNEtdibEWVqChqw== 1097 | 1098 | posthtml-xm-import@^0.1.2: 1099 | version "0.1.2" 1100 | resolved "https://registry.yarnpkg.com/posthtml-xm-import/-/posthtml-xm-import-0.1.2.tgz#3c267678dc51828ef9f082946bc377b95c7ad23b" 1101 | integrity sha512-W8ZOqX3rYP1jmAoVK6vDXz8KtCc1Brl7wQJ/1/N49cF89cdp2MXnmtn1ykL3Mh9qKV82yC8W7qMNNyN/sgpUrA== 1102 | 1103 | posthtml@^0.12.0: 1104 | version "0.12.3" 1105 | resolved "https://registry.yarnpkg.com/posthtml/-/posthtml-0.12.3.tgz#8fa5b903907e9c10ba5b883863cc550189a309d5" 1106 | integrity sha512-Fbpi95+JJyR0tqU7pUy1zTSQFjAsluuwB9pJ1h0jtnGk7n/O2TBtP5nDl9rV0JVACjQ1Lm5wSp4ppChr8u3MhA== 1107 | dependencies: 1108 | posthtml-parser "^0.4.2" 1109 | posthtml-render "^1.2.2" 1110 | 1111 | posthtml@^0.13.3: 1112 | version "0.13.4" 1113 | resolved "https://registry.yarnpkg.com/posthtml/-/posthtml-0.13.4.tgz#ad81b3fa62b85f81ccdb5710f4ec375a4ed94934" 1114 | integrity sha512-i2oTo/+dwXGC6zaAQSF6WZEQSbEqu10hsvg01DWzGAfZmy31Iiy9ktPh9nnXDfZiYytjxTIvxoK4TI0uk4QWpw== 1115 | dependencies: 1116 | posthtml-parser "^0.5.0" 1117 | posthtml-render "^1.2.3" 1118 | 1119 | prepend-http@^2.0.0: 1120 | version "2.0.0" 1121 | resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897" 1122 | integrity sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc= 1123 | 1124 | pump@^3.0.0: 1125 | version "3.0.0" 1126 | resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" 1127 | integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== 1128 | dependencies: 1129 | end-of-stream "^1.1.0" 1130 | once "^1.3.1" 1131 | 1132 | pupa@^2.1.1: 1133 | version "2.1.1" 1134 | resolved "https://registry.yarnpkg.com/pupa/-/pupa-2.1.1.tgz#f5e8fd4afc2c5d97828faa523549ed8744a20d62" 1135 | integrity sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A== 1136 | dependencies: 1137 | escape-goat "^2.0.0" 1138 | 1139 | quick-lru@^4.0.1: 1140 | version "4.0.1" 1141 | resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-4.0.1.tgz#5b8878f113a58217848c6482026c73e1ba57727f" 1142 | integrity sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g== 1143 | 1144 | rc@^1.2.8: 1145 | version "1.2.8" 1146 | resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" 1147 | integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== 1148 | dependencies: 1149 | deep-extend "^0.6.0" 1150 | ini "~1.3.0" 1151 | minimist "^1.2.0" 1152 | strip-json-comments "~2.0.1" 1153 | 1154 | read-pkg-up@^7.0.1: 1155 | version "7.0.1" 1156 | resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz#f3a6135758459733ae2b95638056e1854e7ef507" 1157 | integrity sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg== 1158 | dependencies: 1159 | find-up "^4.1.0" 1160 | read-pkg "^5.2.0" 1161 | type-fest "^0.8.1" 1162 | 1163 | read-pkg@^5.2.0: 1164 | version "5.2.0" 1165 | resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc" 1166 | integrity sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== 1167 | dependencies: 1168 | "@types/normalize-package-data" "^2.4.0" 1169 | normalize-package-data "^2.5.0" 1170 | parse-json "^5.0.0" 1171 | type-fest "^0.6.0" 1172 | 1173 | readable-stream@^3.1.1: 1174 | version "3.6.0" 1175 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" 1176 | integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== 1177 | dependencies: 1178 | inherits "^2.0.3" 1179 | string_decoder "^1.1.1" 1180 | util-deprecate "^1.0.1" 1181 | 1182 | redent@^3.0.0: 1183 | version "3.0.0" 1184 | resolved "https://registry.yarnpkg.com/redent/-/redent-3.0.0.tgz#e557b7998316bb53c9f1f56fa626352c6963059f" 1185 | integrity sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg== 1186 | dependencies: 1187 | indent-string "^4.0.0" 1188 | strip-indent "^3.0.0" 1189 | 1190 | registry-auth-token@^4.0.0: 1191 | version "4.2.1" 1192 | resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-4.2.1.tgz#6d7b4006441918972ccd5fedcd41dc322c79b250" 1193 | integrity sha512-6gkSb4U6aWJB4SF2ZvLb76yCBjcvufXBqvvEx1HbmKPkutswjW1xNVRY0+daljIYRbogN7O0etYSlbiaEQyMyw== 1194 | dependencies: 1195 | rc "^1.2.8" 1196 | 1197 | registry-url@^5.0.0: 1198 | version "5.1.0" 1199 | resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-5.1.0.tgz#e98334b50d5434b81136b44ec638d9c2009c5009" 1200 | integrity sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw== 1201 | dependencies: 1202 | rc "^1.2.8" 1203 | 1204 | resolve-from@^4.0.0: 1205 | version "4.0.0" 1206 | resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" 1207 | integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== 1208 | 1209 | resolve@^1.10.0: 1210 | version "1.19.0" 1211 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.19.0.tgz#1af5bf630409734a067cae29318aac7fa29a267c" 1212 | integrity sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg== 1213 | dependencies: 1214 | is-core-module "^2.1.0" 1215 | path-parse "^1.0.6" 1216 | 1217 | responselike@^1.0.2: 1218 | version "1.0.2" 1219 | resolved "https://registry.yarnpkg.com/responselike/-/responselike-1.0.2.tgz#918720ef3b631c5642be068f15ade5a46f4ba1e7" 1220 | integrity sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec= 1221 | dependencies: 1222 | lowercase-keys "^1.0.0" 1223 | 1224 | reusify@^1.0.4: 1225 | version "1.0.4" 1226 | resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" 1227 | integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== 1228 | 1229 | run-parallel@^1.1.9: 1230 | version "1.1.10" 1231 | resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.1.10.tgz#60a51b2ae836636c81377df16cb107351bcd13ef" 1232 | integrity sha512-zb/1OuZ6flOlH6tQyMPUrE3x3Ulxjlo9WIVXR4yVYi4H9UXQaeIsPbLn2R3O3vQCnDKkAl2qHiuocKKX4Tz/Sw== 1233 | 1234 | safe-buffer@~5.2.0: 1235 | version "5.2.1" 1236 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" 1237 | integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== 1238 | 1239 | semver-diff@^3.1.1: 1240 | version "3.1.1" 1241 | resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-3.1.1.tgz#05f77ce59f325e00e2706afd67bb506ddb1ca32b" 1242 | integrity sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg== 1243 | dependencies: 1244 | semver "^6.3.0" 1245 | 1246 | "semver@2 || 3 || 4 || 5": 1247 | version "5.7.1" 1248 | resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" 1249 | integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== 1250 | 1251 | semver@^6.0.0, semver@^6.2.0, semver@^6.3.0: 1252 | version "6.3.0" 1253 | resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" 1254 | integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== 1255 | 1256 | semver@^7.3.2: 1257 | version "7.3.2" 1258 | resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938" 1259 | integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ== 1260 | 1261 | signal-exit@^3.0.2: 1262 | version "3.0.3" 1263 | resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" 1264 | integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== 1265 | 1266 | sirv@^1.0.6: 1267 | version "1.0.7" 1268 | resolved "https://registry.yarnpkg.com/sirv/-/sirv-1.0.7.tgz#ad8ca1f84430777a59162592626c2b8e9b9f1384" 1269 | integrity sha512-QMT2OTD3CTr8de9VByPmvSEeyt6k8/Cxg0J2kQJ5HNhIWfhFg9ypcIWWzez9rPWnGj+WtJ7AZD/MdT/vdilV/A== 1270 | dependencies: 1271 | "@polka/url" "^1.0.0-next.9" 1272 | mime "^2.3.1" 1273 | totalist "^1.0.0" 1274 | 1275 | snapshot-dir@^1.1.2: 1276 | version "1.1.2" 1277 | resolved "https://registry.yarnpkg.com/snapshot-dir/-/snapshot-dir-1.1.2.tgz#aa4cd6d4a252157d8986e11627aae68d1eb12ec3" 1278 | integrity sha1-qkzW1KJSFX2JhuEWJ6rmjR6xLsM= 1279 | dependencies: 1280 | "@types/deep-diff" "^0.0.30" 1281 | "@types/glob" "^5.0.30" 1282 | "@types/md5" "^2.1.32" 1283 | "@types/node" "^7.0.14" 1284 | deep-diff "^0.3.6" 1285 | glob "^7.1.1" 1286 | md5 "^2.2.1" 1287 | 1288 | source-map-support@^0.5.19: 1289 | version "0.5.19" 1290 | resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61" 1291 | integrity sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw== 1292 | dependencies: 1293 | buffer-from "^1.0.0" 1294 | source-map "^0.6.0" 1295 | 1296 | source-map@^0.6.0: 1297 | version "0.6.1" 1298 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" 1299 | integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== 1300 | 1301 | spdx-correct@^3.0.0: 1302 | version "3.1.1" 1303 | resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" 1304 | integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w== 1305 | dependencies: 1306 | spdx-expression-parse "^3.0.0" 1307 | spdx-license-ids "^3.0.0" 1308 | 1309 | spdx-exceptions@^2.1.0: 1310 | version "2.3.0" 1311 | resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" 1312 | integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== 1313 | 1314 | spdx-expression-parse@^3.0.0: 1315 | version "3.0.1" 1316 | resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" 1317 | integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== 1318 | dependencies: 1319 | spdx-exceptions "^2.1.0" 1320 | spdx-license-ids "^3.0.0" 1321 | 1322 | spdx-license-ids@^3.0.0: 1323 | version "3.0.6" 1324 | resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.6.tgz#c80757383c28abf7296744998cbc106ae8b854ce" 1325 | integrity sha512-+orQK83kyMva3WyPf59k1+Y525csj5JejicWut55zeTWANuN17qSiSLUXWtzHeNWORSvT7GLDJ/E/XiIWoXBTw== 1326 | 1327 | sprintf-js@~1.0.2: 1328 | version "1.0.3" 1329 | resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" 1330 | integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= 1331 | 1332 | string-width@^3.0.0: 1333 | version "3.1.0" 1334 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" 1335 | integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== 1336 | dependencies: 1337 | emoji-regex "^7.0.1" 1338 | is-fullwidth-code-point "^2.0.0" 1339 | strip-ansi "^5.1.0" 1340 | 1341 | string-width@^4.0.0, string-width@^4.1.0: 1342 | version "4.2.0" 1343 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.0.tgz#952182c46cc7b2c313d1596e623992bd163b72b5" 1344 | integrity sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg== 1345 | dependencies: 1346 | emoji-regex "^8.0.0" 1347 | is-fullwidth-code-point "^3.0.0" 1348 | strip-ansi "^6.0.0" 1349 | 1350 | string_decoder@^1.1.1: 1351 | version "1.3.0" 1352 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" 1353 | integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== 1354 | dependencies: 1355 | safe-buffer "~5.2.0" 1356 | 1357 | strip-ansi@^5.1.0: 1358 | version "5.2.0" 1359 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" 1360 | integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== 1361 | dependencies: 1362 | ansi-regex "^4.1.0" 1363 | 1364 | strip-ansi@^6.0.0: 1365 | version "6.0.0" 1366 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" 1367 | integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== 1368 | dependencies: 1369 | ansi-regex "^5.0.0" 1370 | 1371 | strip-indent@^3.0.0: 1372 | version "3.0.0" 1373 | resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001" 1374 | integrity sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ== 1375 | dependencies: 1376 | min-indent "^1.0.0" 1377 | 1378 | strip-json-comments@~2.0.1: 1379 | version "2.0.1" 1380 | resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" 1381 | integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= 1382 | 1383 | supports-color@^5.3.0: 1384 | version "5.5.0" 1385 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" 1386 | integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== 1387 | dependencies: 1388 | has-flag "^3.0.0" 1389 | 1390 | supports-color@^7.1.0: 1391 | version "7.2.0" 1392 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" 1393 | integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== 1394 | dependencies: 1395 | has-flag "^4.0.0" 1396 | 1397 | term-size@^2.1.0: 1398 | version "2.2.1" 1399 | resolved "https://registry.yarnpkg.com/term-size/-/term-size-2.2.1.tgz#2a6a54840432c2fb6320fea0f415531e90189f54" 1400 | integrity sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg== 1401 | 1402 | to-camel-case@^1.0.0: 1403 | version "1.0.0" 1404 | resolved "https://registry.yarnpkg.com/to-camel-case/-/to-camel-case-1.0.0.tgz#1a56054b2f9d696298ce66a60897322b6f423e46" 1405 | integrity sha1-GlYFSy+daWKYzmamCJcyK29CPkY= 1406 | dependencies: 1407 | to-space-case "^1.0.0" 1408 | 1409 | to-no-case@^1.0.0: 1410 | version "1.0.2" 1411 | resolved "https://registry.yarnpkg.com/to-no-case/-/to-no-case-1.0.2.tgz#c722907164ef6b178132c8e69930212d1b4aa16a" 1412 | integrity sha1-xyKQcWTvaxeBMsjmmTAhLRtKoWo= 1413 | 1414 | to-readable-stream@^1.0.0: 1415 | version "1.0.0" 1416 | resolved "https://registry.yarnpkg.com/to-readable-stream/-/to-readable-stream-1.0.0.tgz#ce0aa0c2f3df6adf852efb404a783e77c0475771" 1417 | integrity sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q== 1418 | 1419 | to-regex-range@^5.0.1: 1420 | version "5.0.1" 1421 | resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" 1422 | integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== 1423 | dependencies: 1424 | is-number "^7.0.0" 1425 | 1426 | to-space-case@^1.0.0: 1427 | version "1.0.0" 1428 | resolved "https://registry.yarnpkg.com/to-space-case/-/to-space-case-1.0.0.tgz#b052daafb1b2b29dc770cea0163e5ec0ebc9fc17" 1429 | integrity sha1-sFLar7Gysp3HcM6gFj5ewOvJ/Bc= 1430 | dependencies: 1431 | to-no-case "^1.0.0" 1432 | 1433 | totalist@^1.0.0: 1434 | version "1.1.0" 1435 | resolved "https://registry.yarnpkg.com/totalist/-/totalist-1.1.0.tgz#a4d65a3e546517701e3e5c37a47a70ac97fe56df" 1436 | integrity sha512-gduQwd1rOdDMGxFG1gEvhV88Oirdo2p+KjoYFU7k2g+i7n6AFFbDQ5kMPUsW0pNbfQsB/cwXvT1i4Bue0s9g5g== 1437 | 1438 | trim-newlines@^3.0.0: 1439 | version "3.0.0" 1440 | resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-3.0.0.tgz#79726304a6a898aa8373427298d54c2ee8b1cb30" 1441 | integrity sha512-C4+gOpvmxaSMKuEf9Qc134F1ZuOHVXKRbtEflf4NTtuuJDEIJ9p5PXsalL8SkeRw+qit1Mo+yuvMPAKwWg/1hA== 1442 | 1443 | type-fest@^0.13.1: 1444 | version "0.13.1" 1445 | resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.13.1.tgz#0172cb5bce80b0bd542ea348db50c7e21834d934" 1446 | integrity sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg== 1447 | 1448 | type-fest@^0.6.0: 1449 | version "0.6.0" 1450 | resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b" 1451 | integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== 1452 | 1453 | type-fest@^0.8.1: 1454 | version "0.8.1" 1455 | resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" 1456 | integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== 1457 | 1458 | typedarray-to-buffer@^3.1.5: 1459 | version "3.1.5" 1460 | resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" 1461 | integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== 1462 | dependencies: 1463 | is-typedarray "^1.0.0" 1464 | 1465 | unique-string@^2.0.0: 1466 | version "2.0.0" 1467 | resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-2.0.0.tgz#39c6451f81afb2749de2b233e3f7c5e8843bd89d" 1468 | integrity sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg== 1469 | dependencies: 1470 | crypto-random-string "^2.0.0" 1471 | 1472 | update-notifier@^5.0.0: 1473 | version "5.0.1" 1474 | resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-5.0.1.tgz#1f92d45fb1f70b9e33880a72dd262bc12d22c20d" 1475 | integrity sha512-BuVpRdlwxeIOvmc32AGYvO1KVdPlsmqSh8KDDBxS6kDE5VR7R8OMP1d8MdhaVBvxl4H3551k9akXr0Y1iIB2Wg== 1476 | dependencies: 1477 | boxen "^4.2.0" 1478 | chalk "^4.1.0" 1479 | configstore "^5.0.1" 1480 | has-yarn "^2.1.0" 1481 | import-lazy "^2.1.0" 1482 | is-ci "^2.0.0" 1483 | is-installed-globally "^0.3.2" 1484 | is-npm "^5.0.0" 1485 | is-yarn-global "^0.3.0" 1486 | latest-version "^5.1.0" 1487 | pupa "^2.1.1" 1488 | semver "^7.3.2" 1489 | semver-diff "^3.1.1" 1490 | xdg-basedir "^4.0.0" 1491 | 1492 | url-parse-lax@^3.0.0: 1493 | version "3.0.0" 1494 | resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-3.0.0.tgz#16b5cafc07dbe3676c1b1999177823d6503acb0c" 1495 | integrity sha1-FrXK/Afb42dsGxmZF3gj1lA6yww= 1496 | dependencies: 1497 | prepend-http "^2.0.0" 1498 | 1499 | util-deprecate@^1.0.1: 1500 | version "1.0.2" 1501 | resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" 1502 | integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= 1503 | 1504 | validate-npm-package-license@^3.0.1: 1505 | version "3.0.4" 1506 | resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" 1507 | integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== 1508 | dependencies: 1509 | spdx-correct "^3.0.0" 1510 | spdx-expression-parse "^3.0.0" 1511 | 1512 | widest-line@^3.1.0: 1513 | version "3.1.0" 1514 | resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-3.1.0.tgz#8292333bbf66cb45ff0de1603b136b7ae1496eca" 1515 | integrity sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg== 1516 | dependencies: 1517 | string-width "^4.0.0" 1518 | 1519 | wrappy@1: 1520 | version "1.0.2" 1521 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 1522 | integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= 1523 | 1524 | write-file-atomic@^3.0.0: 1525 | version "3.0.3" 1526 | resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" 1527 | integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== 1528 | dependencies: 1529 | imurmurhash "^0.1.4" 1530 | is-typedarray "^1.0.0" 1531 | signal-exit "^3.0.2" 1532 | typedarray-to-buffer "^3.1.5" 1533 | 1534 | xdg-basedir@^4.0.0: 1535 | version "4.0.0" 1536 | resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-4.0.0.tgz#4bc8d9984403696225ef83a1573cbbcb4e79db13" 1537 | integrity sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q== 1538 | 1539 | yaml@^1.10.0: 1540 | version "1.10.0" 1541 | resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.0.tgz#3b593add944876077d4d683fee01081bd9fff31e" 1542 | integrity sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg== 1543 | 1544 | yargs-parser@^18.1.3: 1545 | version "18.1.3" 1546 | resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" 1547 | integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== 1548 | dependencies: 1549 | camelcase "^5.0.0" 1550 | decamelize "^1.2.0" 1551 | --------------------------------------------------------------------------------