├── .gitignore
├── README.md
├── api
├── [title].ts
└── index.ts
├── index.html
├── now.json
├── package.json
├── static
├── AyerPosterAngular-SemiboldItalic-Web.woff2
└── National2Web-RegularItalic.woff2
└── yarn.lock
/.gitignore:
--------------------------------------------------------------------------------
1 | .now
2 | node_modules
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | **Note: the functionality of this repo has now moved directly into [my site repo](https://github.com/daneden/daneden.me).**
2 |
3 | # daneden.me OpenGraph Image Generator
4 |
5 | This repo provides a serverless function, deployed on Zeit Now, which generates a 1200x1200px image for OpenGraph cards with a provided title.
6 |
7 | It's used on my website, [daneden.me](https://daneden.me), to automatically generate images to be attached to social media shares of my blog posts.
8 |
9 | ## How it works
10 |
11 | 1. A request is made to the API with a `title` query parameter. This string will be what gets rendered in the resulting image.
12 | 2. The API generates an HTML string;
13 | 3. The HTML string is passed to a Puppeteer instance running Chrome;
14 | 4. Puppeteer is instructed to take a screenshot of the resulting page;
15 | 5. This screenshot is returned as the response for the HTTP request;
16 | 6. The response is cached for a long time via Now to prevent unnecessary (and expensive) image regeneration.
17 |
18 | An important step I had to take to make this work was grabbing custom fonts as base64 strings, since it was hard to get Puppeteer to wait until fonts were loaded over HTTP.
19 |
--------------------------------------------------------------------------------
/api/[title].ts:
--------------------------------------------------------------------------------
1 | import { NowRequest, NowResponse } from "@now/node"
2 | import main from "./index"
3 |
4 | export default async function(req: NowRequest, res: NowResponse) {
5 | return await main(req, res)
6 | }
7 |
--------------------------------------------------------------------------------
/api/index.ts:
--------------------------------------------------------------------------------
1 | import { NowRequest, NowResponse } from "@now/node"
2 | import chrome from "chrome-aws-lambda"
3 | import fs from "fs"
4 | import path from "path"
5 | import puppeteer from "puppeteer-core"
6 |
7 | const loadFont = file => {
8 | const font = fs.readFileSync(path.join(__dirname, `../static/${file}`))
9 | return font.toString("base64")
10 | }
11 |
12 | const generateHTML = (title = "Hello world") => {
13 | return `
14 |
71 |
72 |
73 |
${title.replace(/ ([^ ]*)$/, "\u00A0$1")}
74 |
75 |
76 | Daniel Eden, Designer
77 |
78 |
79 | `
80 | }
81 |
82 | const getScreenshot = async function({ html, type = "png" }) {
83 | if (!html) {
84 | throw Error("You must provide an html property.")
85 | }
86 |
87 | const browser = await puppeteer.launch({
88 | args: chrome.args,
89 | executablePath: await chrome.executablePath,
90 | headless: false,
91 | })
92 |
93 | const page = await browser.newPage()
94 | await page.setContent(html, { waitUntil: "networkidle2" })
95 | const element = await page.$("html")
96 | await page.evaluateHandle("document.fonts.ready")
97 | return await element.screenshot({ type }).then(async data => {
98 | await browser.close()
99 | return data
100 | })
101 | }
102 |
103 | export default async (request: NowRequest, response: NowResponse) => {
104 | const { title } = request.query
105 |
106 | if (!title) {
107 | response.status(404).end()
108 | }
109 |
110 | const html = generateHTML(String(title))
111 | const result = await getScreenshot({ html })
112 | response.writeHead(200, { "Content-Type": "image/png" })
113 | response.end(result)
114 | }
115 |
--------------------------------------------------------------------------------
/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | OpenGraph Image Generator for daneden.me
5 |
6 |
7 |
48 |
49 | Open Graph Image Generator for daneden.me
50 | This tiny website serves a single purpose as a way to generate Open Graph images for my website, daneden.me.
51 | The images are generated by the api
route on this website with a title
parameter, like so:
52 | <meta name="og:image" content="https://daneden-og-generator.daneden.now.sh/api?title=An%20Example%20Generated%20Image"/>
53 | The resulting images look like this:
54 | 
55 |
56 |
--------------------------------------------------------------------------------
/now.json:
--------------------------------------------------------------------------------
1 | {
2 | "routes": [
3 | {
4 | "src": "/api(.*)",
5 | "dest": "/api$1",
6 | "headers": {
7 | "Cache-Control": "max-age=31536000, public",
8 | "Access-Control-Allow-Origin": "*",
9 | "Access-Control-Allow-Methods": "GET",
10 | "Access-Control-Allow-Headers": "Origin, X-Requested-With, Content-Type, Accept, Authorization"
11 | }
12 | }
13 | ]
14 | }
15 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "daneden-og-generator",
3 | "version": "1.0.0",
4 | "main": "index.js",
5 | "license": "MIT",
6 | "dependencies": {
7 | "@now/node": "^1.5.0",
8 | "@types/sharp": "^0.24.0",
9 | "chrome-aws-lambda": "^2.1.1",
10 | "puppeteer-core": "^2.1.1",
11 | "sharp": "^0.25.1"
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/static/AyerPosterAngular-SemiboldItalic-Web.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daneden/daneden-og-image-generator/5bf64bc89eda5122f7803856aa31680933839af7/static/AyerPosterAngular-SemiboldItalic-Web.woff2
--------------------------------------------------------------------------------
/static/National2Web-RegularItalic.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daneden/daneden-og-image-generator/5bf64bc89eda5122f7803856aa31680933839af7/static/National2Web-RegularItalic.woff2
--------------------------------------------------------------------------------
/yarn.lock:
--------------------------------------------------------------------------------
1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2 | # yarn lockfile v1
3 |
4 |
5 | "@now/node@^1.5.0":
6 | version "1.5.0"
7 | resolved "https://registry.yarnpkg.com/@now/node/-/node-1.5.0.tgz#a159772276ae11acf87cf2620a86204abff38f1c"
8 | integrity sha512-0MChNIBHsViTMPDsifTveWmMpUSUbVQYAHg9Qa8p7uF7pkfBAghyCGHSKHJVg3zxx0vVE4z+rYgaRS6xvF8qMA==
9 | dependencies:
10 | "@types/node" "*"
11 |
12 | "@types/mime-types@^2.1.0":
13 | version "2.1.0"
14 | resolved "https://registry.yarnpkg.com/@types/mime-types/-/mime-types-2.1.0.tgz#9ca52cda363f699c69466c2a6ccdaad913ea7a73"
15 | integrity sha1-nKUs2jY/aZxpRmwqbM2q2RPqenM=
16 |
17 | "@types/node@*":
18 | version "13.9.0"
19 | resolved "https://registry.yarnpkg.com/@types/node/-/node-13.9.0.tgz#5b6ee7a77faacddd7de719017d0bc12f52f81589"
20 | integrity sha512-0ARSQootUG1RljH2HncpsY2TJBfGQIKOOi7kxzUY6z54ePu/ZD+wJA8zI2Q6v8rol2qpG/rvqsReco8zNMPvhQ==
21 |
22 | "@types/sharp@^0.24.0":
23 | version "0.24.0"
24 | resolved "https://registry.yarnpkg.com/@types/sharp/-/sharp-0.24.0.tgz#28abfeac45b4dcb472305503105322e97a6c2672"
25 | integrity sha512-+0WeyJajTSoIacBzonsq856whNJC+cN9FNEs0yZ6hFq/V1CZmlqM8vBRy7TKZunH+gIO7SwDCzgXYWRRbzqfDA==
26 | dependencies:
27 | "@types/node" "*"
28 |
29 | agent-base@5:
30 | version "5.1.1"
31 | resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-5.1.1.tgz#e8fb3f242959db44d63be665db7a8e739537a32c"
32 | integrity sha512-TMeqbNl2fMW0nMjTEPOwe3J/PRFP4vqeoNuQMG0HlMrtm5QxKqdvAkZ1pRBQ/ulIyDD5Yq0nJ7YbdD8ey0TO3g==
33 |
34 | ansi-regex@^2.0.0:
35 | version "2.1.1"
36 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df"
37 | integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8=
38 |
39 | ansi-regex@^3.0.0:
40 | version "3.0.0"
41 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998"
42 | integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=
43 |
44 | aproba@^1.0.3:
45 | version "1.2.0"
46 | resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a"
47 | integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==
48 |
49 | are-we-there-yet@~1.1.2:
50 | version "1.1.5"
51 | resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz#4b35c2944f062a8bfcda66410760350fe9ddfc21"
52 | integrity sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==
53 | dependencies:
54 | delegates "^1.0.0"
55 | readable-stream "^2.0.6"
56 |
57 | async-limiter@~1.0.0:
58 | version "1.0.1"
59 | resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd"
60 | integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==
61 |
62 | balanced-match@^1.0.0:
63 | version "1.0.0"
64 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"
65 | integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c=
66 |
67 | bl@^4.0.1:
68 | version "4.0.1"
69 | resolved "https://registry.yarnpkg.com/bl/-/bl-4.0.1.tgz#8c9b4fb754e80cc86463077722be7b88b4af3f42"
70 | integrity sha512-FL/TdvchukRCuWVxT0YMO/7+L5TNeNrVFvRU2IY63aUyv9mpt8splf2NEr6qXtPo5fya5a66YohQKvGNmLrWNA==
71 | dependencies:
72 | readable-stream "^3.4.0"
73 |
74 | brace-expansion@^1.1.7:
75 | version "1.1.11"
76 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
77 | integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==
78 | dependencies:
79 | balanced-match "^1.0.0"
80 | concat-map "0.0.1"
81 |
82 | buffer-from@^1.0.0:
83 | version "1.1.1"
84 | resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef"
85 | integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==
86 |
87 | chownr@^1.1.1, chownr@^1.1.3:
88 | version "1.1.4"
89 | resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b"
90 | integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==
91 |
92 | chrome-aws-lambda@^2.1.1:
93 | version "2.1.1"
94 | resolved "https://registry.yarnpkg.com/chrome-aws-lambda/-/chrome-aws-lambda-2.1.1.tgz#2aeb0c97fb67e908d06dc8d92d92c7d4fb58467c"
95 | integrity sha512-Wer2QuygxsCov5bM2+8CLa6qYpNsc5AxYTlgTne00aFoxFP491LGJRxOQtGnYtsJP6UG4pB0SfrwTyPnLys1Lw==
96 | dependencies:
97 | lambdafs "^1.3.0"
98 |
99 | code-point-at@^1.0.0:
100 | version "1.1.0"
101 | resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77"
102 | integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=
103 |
104 | color-convert@^1.9.1:
105 | version "1.9.3"
106 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
107 | integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==
108 | dependencies:
109 | color-name "1.1.3"
110 |
111 | color-name@1.1.3:
112 | version "1.1.3"
113 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
114 | integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=
115 |
116 | color-name@^1.0.0:
117 | version "1.1.4"
118 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
119 | integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
120 |
121 | color-string@^1.5.2:
122 | version "1.5.3"
123 | resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.5.3.tgz#c9bbc5f01b58b5492f3d6857459cb6590ce204cc"
124 | integrity sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw==
125 | dependencies:
126 | color-name "^1.0.0"
127 | simple-swizzle "^0.2.2"
128 |
129 | color@^3.1.2:
130 | version "3.1.2"
131 | resolved "https://registry.yarnpkg.com/color/-/color-3.1.2.tgz#68148e7f85d41ad7649c5fa8c8106f098d229e10"
132 | integrity sha512-vXTJhHebByxZn3lDvDJYw4lR5+uB3vuoHsuYA5AKuxRVn5wzzIfQKGLBmgdVRHKTJYeK5rvJcHnrd0Li49CFpg==
133 | dependencies:
134 | color-convert "^1.9.1"
135 | color-string "^1.5.2"
136 |
137 | concat-map@0.0.1:
138 | version "0.0.1"
139 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
140 | integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=
141 |
142 | concat-stream@1.6.2:
143 | version "1.6.2"
144 | resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34"
145 | integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==
146 | dependencies:
147 | buffer-from "^1.0.0"
148 | inherits "^2.0.3"
149 | readable-stream "^2.2.2"
150 | typedarray "^0.0.6"
151 |
152 | console-control-strings@^1.0.0, console-control-strings@~1.1.0:
153 | version "1.1.0"
154 | resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e"
155 | integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=
156 |
157 | core-util-is@~1.0.0:
158 | version "1.0.2"
159 | resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
160 | integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=
161 |
162 | debug@2.6.9:
163 | version "2.6.9"
164 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
165 | integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
166 | dependencies:
167 | ms "2.0.0"
168 |
169 | debug@4, debug@^4.1.0:
170 | version "4.1.1"
171 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791"
172 | integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==
173 | dependencies:
174 | ms "^2.1.1"
175 |
176 | decompress-response@^4.2.0:
177 | version "4.2.1"
178 | resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-4.2.1.tgz#414023cc7a302da25ce2ec82d0d5238ccafd8986"
179 | integrity sha512-jOSne2qbyE+/r8G1VU+G/82LBs2Fs4LAsTiLSHOCOMZQl2OKZ6i8i4IyHemTe+/yIXOtTcRQMzPcgyhoFlqPkw==
180 | dependencies:
181 | mimic-response "^2.0.0"
182 |
183 | deep-extend@^0.6.0:
184 | version "0.6.0"
185 | resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac"
186 | integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==
187 |
188 | delegates@^1.0.0:
189 | version "1.0.0"
190 | resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a"
191 | integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=
192 |
193 | detect-libc@^1.0.3:
194 | version "1.0.3"
195 | resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b"
196 | integrity sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=
197 |
198 | end-of-stream@^1.1.0, end-of-stream@^1.4.1:
199 | version "1.4.4"
200 | resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0"
201 | integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==
202 | dependencies:
203 | once "^1.4.0"
204 |
205 | expand-template@^2.0.3:
206 | version "2.0.3"
207 | resolved "https://registry.yarnpkg.com/expand-template/-/expand-template-2.0.3.tgz#6e14b3fcee0f3a6340ecb57d2e8918692052a47c"
208 | integrity sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==
209 |
210 | extract-zip@^1.6.6:
211 | version "1.6.7"
212 | resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-1.6.7.tgz#a840b4b8af6403264c8db57f4f1a74333ef81fe9"
213 | integrity sha1-qEC0uK9kAyZMjbV/Txp0Mz74H+k=
214 | dependencies:
215 | concat-stream "1.6.2"
216 | debug "2.6.9"
217 | mkdirp "0.5.1"
218 | yauzl "2.4.1"
219 |
220 | fd-slicer@~1.0.1:
221 | version "1.0.1"
222 | resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.0.1.tgz#8b5bcbd9ec327c5041bf9ab023fd6750f1177e65"
223 | integrity sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU=
224 | dependencies:
225 | pend "~1.2.0"
226 |
227 | fs-constants@^1.0.0:
228 | version "1.0.0"
229 | resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad"
230 | integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==
231 |
232 | fs-minipass@^2.0.0:
233 | version "2.1.0"
234 | resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb"
235 | integrity sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==
236 | dependencies:
237 | minipass "^3.0.0"
238 |
239 | fs.realpath@^1.0.0:
240 | version "1.0.0"
241 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
242 | integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8=
243 |
244 | gauge@~2.7.3:
245 | version "2.7.4"
246 | resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7"
247 | integrity sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=
248 | dependencies:
249 | aproba "^1.0.3"
250 | console-control-strings "^1.0.0"
251 | has-unicode "^2.0.0"
252 | object-assign "^4.1.0"
253 | signal-exit "^3.0.0"
254 | string-width "^1.0.1"
255 | strip-ansi "^3.0.1"
256 | wide-align "^1.1.0"
257 |
258 | github-from-package@0.0.0:
259 | version "0.0.0"
260 | resolved "https://registry.yarnpkg.com/github-from-package/-/github-from-package-0.0.0.tgz#97fb5d96bfde8973313f20e8288ef9a167fa64ce"
261 | integrity sha1-l/tdlr/eiXMxPyDoKI75oWf6ZM4=
262 |
263 | glob@^7.1.3:
264 | version "7.1.6"
265 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6"
266 | integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==
267 | dependencies:
268 | fs.realpath "^1.0.0"
269 | inflight "^1.0.4"
270 | inherits "2"
271 | minimatch "^3.0.4"
272 | once "^1.3.0"
273 | path-is-absolute "^1.0.0"
274 |
275 | has-unicode@^2.0.0:
276 | version "2.0.1"
277 | resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9"
278 | integrity sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=
279 |
280 | https-proxy-agent@^4.0.0:
281 | version "4.0.0"
282 | resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-4.0.0.tgz#702b71fb5520a132a66de1f67541d9e62154d82b"
283 | integrity sha512-zoDhWrkR3of1l9QAL8/scJZyLu8j/gBkcwcaQOZh7Gyh/+uJQzGVETdgT30akuwkpL8HTRfssqI3BZuV18teDg==
284 | dependencies:
285 | agent-base "5"
286 | debug "4"
287 |
288 | inflight@^1.0.4:
289 | version "1.0.6"
290 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
291 | integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=
292 | dependencies:
293 | once "^1.3.0"
294 | wrappy "1"
295 |
296 | inherits@2, inherits@^2.0.3, inherits@~2.0.3:
297 | version "2.0.4"
298 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
299 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
300 |
301 | ini@~1.3.0:
302 | version "1.3.5"
303 | resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927"
304 | integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==
305 |
306 | is-arrayish@^0.3.1:
307 | version "0.3.2"
308 | resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03"
309 | integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==
310 |
311 | is-fullwidth-code-point@^1.0.0:
312 | version "1.0.0"
313 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb"
314 | integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs=
315 | dependencies:
316 | number-is-nan "^1.0.0"
317 |
318 | is-fullwidth-code-point@^2.0.0:
319 | version "2.0.0"
320 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f"
321 | integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=
322 |
323 | isarray@~1.0.0:
324 | version "1.0.0"
325 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
326 | integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=
327 |
328 | lambdafs@^1.3.0:
329 | version "1.3.0"
330 | resolved "https://registry.yarnpkg.com/lambdafs/-/lambdafs-1.3.0.tgz#7e369cedc9a09623bb365fa99a1113c2ab2fc7ae"
331 | integrity sha512-HqRPmEgtkTW4sCYDUjTEuTGkjCHuLvtZU8iM8GkhD7SpjW4AJJbBk86YU4K43sWGuW5Vmzp1lVCx4ab/kJsuBw==
332 | dependencies:
333 | tar-fs "^2.0.0"
334 |
335 | mime-db@1.43.0:
336 | version "1.43.0"
337 | resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.43.0.tgz#0a12e0502650e473d735535050e7c8f4eb4fae58"
338 | integrity sha512-+5dsGEEovYbT8UY9yD7eE4XTc4UwJ1jBYlgaQQF38ENsKR3wj/8q8RFZrF9WIZpB2V1ArTVFUva8sAul1NzRzQ==
339 |
340 | mime-types@^2.1.25:
341 | version "2.1.26"
342 | resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.26.tgz#9c921fc09b7e149a65dfdc0da4d20997200b0a06"
343 | integrity sha512-01paPWYgLrkqAyrlDorC1uDwl2p3qZT7yl806vW7DvDoxwXi46jsjFbg+WdwotBIk6/MbEhO/dh5aZ5sNj/dWQ==
344 | dependencies:
345 | mime-db "1.43.0"
346 |
347 | mime@^2.0.3:
348 | version "2.4.4"
349 | resolved "https://registry.yarnpkg.com/mime/-/mime-2.4.4.tgz#bd7b91135fc6b01cde3e9bae33d659b63d8857e5"
350 | integrity sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==
351 |
352 | mimic-response@^2.0.0:
353 | version "2.1.0"
354 | resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-2.1.0.tgz#d13763d35f613d09ec37ebb30bac0469c0ee8f43"
355 | integrity sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==
356 |
357 | minimatch@^3.0.4:
358 | version "3.0.4"
359 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
360 | integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==
361 | dependencies:
362 | brace-expansion "^1.1.7"
363 |
364 | minimist@0.0.8:
365 | version "0.0.8"
366 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d"
367 | integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=
368 |
369 | minimist@^1.2.0:
370 | version "1.2.0"
371 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284"
372 | integrity sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=
373 |
374 | minipass@^3.0.0:
375 | version "3.1.1"
376 | resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.1.1.tgz#7607ce778472a185ad6d89082aa2070f79cedcd5"
377 | integrity sha512-UFqVihv6PQgwj8/yTGvl9kPz7xIAY+R5z6XYjRInD3Gk3qx6QGSD6zEcpeG4Dy/lQnv1J6zv8ejV90hyYIKf3w==
378 | dependencies:
379 | yallist "^4.0.0"
380 |
381 | minizlib@^2.1.0:
382 | version "2.1.0"
383 | resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.0.tgz#fd52c645301ef09a63a2c209697c294c6ce02cf3"
384 | integrity sha512-EzTZN/fjSvifSX0SlqUERCN39o6T40AMarPbv0MrarSFtIITCBh7bi+dU8nxGFHuqs9jdIAeoYoKuQAAASsPPA==
385 | dependencies:
386 | minipass "^3.0.0"
387 | yallist "^4.0.0"
388 |
389 | mkdirp@0.5.1, mkdirp@^0.5.1:
390 | version "0.5.1"
391 | resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903"
392 | integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=
393 | dependencies:
394 | minimist "0.0.8"
395 |
396 | mkdirp@^1.0.3:
397 | version "1.0.3"
398 | resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.3.tgz#4cf2e30ad45959dddea53ad97d518b6c8205e1ea"
399 | integrity sha512-6uCP4Qc0sWsgMLy1EOqqS/3rjDHOEnsStVr/4vtAIK2Y5i2kA7lFFejYrpIyiN9w0pYf4ckeCYT9f1r1P9KX5g==
400 |
401 | ms@2.0.0:
402 | version "2.0.0"
403 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
404 | integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=
405 |
406 | ms@^2.1.1:
407 | version "2.1.2"
408 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
409 | integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
410 |
411 | napi-build-utils@^1.0.1:
412 | version "1.0.2"
413 | resolved "https://registry.yarnpkg.com/napi-build-utils/-/napi-build-utils-1.0.2.tgz#b1fddc0b2c46e380a0b7a76f984dd47c41a13806"
414 | integrity sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==
415 |
416 | node-abi@^2.7.0:
417 | version "2.15.0"
418 | resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-2.15.0.tgz#51d55cc711bd9e4a24a572ace13b9231945ccb10"
419 | integrity sha512-FeLpTS0F39U7hHZU1srAK4Vx+5AHNVOTP+hxBNQknR/54laTHSFIJkDWDqiquY1LeLUgTfPN7sLPhMubx0PLAg==
420 | dependencies:
421 | semver "^5.4.1"
422 |
423 | node-addon-api@^2.0.0:
424 | version "2.0.0"
425 | resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-2.0.0.tgz#f9afb8d777a91525244b01775ea0ddbe1125483b"
426 | integrity sha512-ASCL5U13as7HhOExbT6OlWJJUV/lLzL2voOSP1UVehpRD8FbSrSDjfScK/KwAvVTI5AS6r4VwbOMlIqtvRidnA==
427 |
428 | noop-logger@^0.1.1:
429 | version "0.1.1"
430 | resolved "https://registry.yarnpkg.com/noop-logger/-/noop-logger-0.1.1.tgz#94a2b1633c4f1317553007d8966fd0e841b6a4c2"
431 | integrity sha1-lKKxYzxPExdVMAfYlm/Q6EG2pMI=
432 |
433 | npmlog@^4.0.1, npmlog@^4.1.2:
434 | version "4.1.2"
435 | resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b"
436 | integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==
437 | dependencies:
438 | are-we-there-yet "~1.1.2"
439 | console-control-strings "~1.1.0"
440 | gauge "~2.7.3"
441 | set-blocking "~2.0.0"
442 |
443 | number-is-nan@^1.0.0:
444 | version "1.0.1"
445 | resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d"
446 | integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=
447 |
448 | object-assign@^4.1.0:
449 | version "4.1.1"
450 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
451 | integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=
452 |
453 | once@^1.3.0, once@^1.3.1, once@^1.4.0:
454 | version "1.4.0"
455 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
456 | integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E=
457 | dependencies:
458 | wrappy "1"
459 |
460 | path-is-absolute@^1.0.0:
461 | version "1.0.1"
462 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
463 | integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18=
464 |
465 | pend@~1.2.0:
466 | version "1.2.0"
467 | resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50"
468 | integrity sha1-elfrVQpng/kRUzH89GY9XI4AelA=
469 |
470 | prebuild-install@^5.3.3:
471 | version "5.3.3"
472 | resolved "https://registry.yarnpkg.com/prebuild-install/-/prebuild-install-5.3.3.tgz#ef4052baac60d465f5ba6bf003c9c1de79b9da8e"
473 | integrity sha512-GV+nsUXuPW2p8Zy7SarF/2W/oiK8bFQgJcncoJ0d7kRpekEA0ftChjfEaF9/Y+QJEc/wFR7RAEa8lYByuUIe2g==
474 | dependencies:
475 | detect-libc "^1.0.3"
476 | expand-template "^2.0.3"
477 | github-from-package "0.0.0"
478 | minimist "^1.2.0"
479 | mkdirp "^0.5.1"
480 | napi-build-utils "^1.0.1"
481 | node-abi "^2.7.0"
482 | noop-logger "^0.1.1"
483 | npmlog "^4.0.1"
484 | pump "^3.0.0"
485 | rc "^1.2.7"
486 | simple-get "^3.0.3"
487 | tar-fs "^2.0.0"
488 | tunnel-agent "^0.6.0"
489 | which-pm-runs "^1.0.0"
490 |
491 | process-nextick-args@~2.0.0:
492 | version "2.0.1"
493 | resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2"
494 | integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==
495 |
496 | progress@^2.0.1:
497 | version "2.0.3"
498 | resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8"
499 | integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==
500 |
501 | proxy-from-env@^1.0.0:
502 | version "1.1.0"
503 | resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2"
504 | integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==
505 |
506 | pump@^3.0.0:
507 | version "3.0.0"
508 | resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64"
509 | integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==
510 | dependencies:
511 | end-of-stream "^1.1.0"
512 | once "^1.3.1"
513 |
514 | puppeteer-core@^2.1.1:
515 | version "2.1.1"
516 | resolved "https://registry.yarnpkg.com/puppeteer-core/-/puppeteer-core-2.1.1.tgz#e9b3fbc1237b4f66e25999832229e9db3e0b90ed"
517 | integrity sha512-n13AWriBMPYxnpbb6bnaY5YoY6rGj8vPLrz6CZF3o0qJNEwlcfJVxBzYZ0NJsQ21UbdJoijPCDrM++SUVEz7+w==
518 | dependencies:
519 | "@types/mime-types" "^2.1.0"
520 | debug "^4.1.0"
521 | extract-zip "^1.6.6"
522 | https-proxy-agent "^4.0.0"
523 | mime "^2.0.3"
524 | mime-types "^2.1.25"
525 | progress "^2.0.1"
526 | proxy-from-env "^1.0.0"
527 | rimraf "^2.6.1"
528 | ws "^6.1.0"
529 |
530 | rc@^1.2.7:
531 | version "1.2.8"
532 | resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed"
533 | integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==
534 | dependencies:
535 | deep-extend "^0.6.0"
536 | ini "~1.3.0"
537 | minimist "^1.2.0"
538 | strip-json-comments "~2.0.1"
539 |
540 | readable-stream@^2.0.6, readable-stream@^2.2.2:
541 | version "2.3.7"
542 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57"
543 | integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==
544 | dependencies:
545 | core-util-is "~1.0.0"
546 | inherits "~2.0.3"
547 | isarray "~1.0.0"
548 | process-nextick-args "~2.0.0"
549 | safe-buffer "~5.1.1"
550 | string_decoder "~1.1.1"
551 | util-deprecate "~1.0.1"
552 |
553 | readable-stream@^3.1.1, readable-stream@^3.4.0:
554 | version "3.6.0"
555 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198"
556 | integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==
557 | dependencies:
558 | inherits "^2.0.3"
559 | string_decoder "^1.1.1"
560 | util-deprecate "^1.0.1"
561 |
562 | rimraf@^2.6.1:
563 | version "2.7.1"
564 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec"
565 | integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==
566 | dependencies:
567 | glob "^7.1.3"
568 |
569 | safe-buffer@^5.0.1, safe-buffer@~5.2.0:
570 | version "5.2.0"
571 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.0.tgz#b74daec49b1148f88c64b68d49b1e815c1f2f519"
572 | integrity sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==
573 |
574 | safe-buffer@~5.1.0, safe-buffer@~5.1.1:
575 | version "5.1.2"
576 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
577 | integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
578 |
579 | semver@^5.4.1:
580 | version "5.7.1"
581 | resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7"
582 | integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==
583 |
584 | semver@^7.1.3:
585 | version "7.1.3"
586 | resolved "https://registry.yarnpkg.com/semver/-/semver-7.1.3.tgz#e4345ce73071c53f336445cfc19efb1c311df2a6"
587 | integrity sha512-ekM0zfiA9SCBlsKa2X1hxyxiI4L3B6EbVJkkdgQXnSEEaHlGdvyodMruTiulSRWMMB4NeIuYNMC9rTKTz97GxA==
588 |
589 | set-blocking@~2.0.0:
590 | version "2.0.0"
591 | resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7"
592 | integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc=
593 |
594 | sharp@^0.25.1:
595 | version "0.25.1"
596 | resolved "https://registry.yarnpkg.com/sharp/-/sharp-0.25.1.tgz#7bcc9c0ed0debcf1109913e4b3e901d56e957f07"
597 | integrity sha512-CO/16EfYsSPUyW0uHNVhMMR6mqMeMKA5AjVA0/yH2VgYCX+M7jCklzciHGZdOfewDUMVSiu5elFFpkvvhPwgoA==
598 | dependencies:
599 | color "^3.1.2"
600 | detect-libc "^1.0.3"
601 | node-addon-api "^2.0.0"
602 | npmlog "^4.1.2"
603 | prebuild-install "^5.3.3"
604 | semver "^7.1.3"
605 | simple-get "^3.1.0"
606 | tar "^6.0.1"
607 | tunnel-agent "^0.6.0"
608 |
609 | signal-exit@^3.0.0:
610 | version "3.0.2"
611 | resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d"
612 | integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=
613 |
614 | simple-concat@^1.0.0:
615 | version "1.0.0"
616 | resolved "https://registry.yarnpkg.com/simple-concat/-/simple-concat-1.0.0.tgz#7344cbb8b6e26fb27d66b2fc86f9f6d5997521c6"
617 | integrity sha1-c0TLuLbib7J9ZrL8hvn21Zl1IcY=
618 |
619 | simple-get@^3.0.3, simple-get@^3.1.0:
620 | version "3.1.0"
621 | resolved "https://registry.yarnpkg.com/simple-get/-/simple-get-3.1.0.tgz#b45be062435e50d159540b576202ceec40b9c6b3"
622 | integrity sha512-bCR6cP+aTdScaQCnQKbPKtJOKDp/hj9EDLJo3Nw4y1QksqaovlW/bnptB6/c1e+qmNIDHRK+oXFDdEqBT8WzUA==
623 | dependencies:
624 | decompress-response "^4.2.0"
625 | once "^1.3.1"
626 | simple-concat "^1.0.0"
627 |
628 | simple-swizzle@^0.2.2:
629 | version "0.2.2"
630 | resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a"
631 | integrity sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=
632 | dependencies:
633 | is-arrayish "^0.3.1"
634 |
635 | string-width@^1.0.1:
636 | version "1.0.2"
637 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3"
638 | integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=
639 | dependencies:
640 | code-point-at "^1.0.0"
641 | is-fullwidth-code-point "^1.0.0"
642 | strip-ansi "^3.0.0"
643 |
644 | "string-width@^1.0.2 || 2":
645 | version "2.1.1"
646 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e"
647 | integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==
648 | dependencies:
649 | is-fullwidth-code-point "^2.0.0"
650 | strip-ansi "^4.0.0"
651 |
652 | string_decoder@^1.1.1:
653 | version "1.3.0"
654 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e"
655 | integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==
656 | dependencies:
657 | safe-buffer "~5.2.0"
658 |
659 | string_decoder@~1.1.1:
660 | version "1.1.1"
661 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8"
662 | integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==
663 | dependencies:
664 | safe-buffer "~5.1.0"
665 |
666 | strip-ansi@^3.0.0, strip-ansi@^3.0.1:
667 | version "3.0.1"
668 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf"
669 | integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=
670 | dependencies:
671 | ansi-regex "^2.0.0"
672 |
673 | strip-ansi@^4.0.0:
674 | version "4.0.0"
675 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f"
676 | integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8=
677 | dependencies:
678 | ansi-regex "^3.0.0"
679 |
680 | strip-json-comments@~2.0.1:
681 | version "2.0.1"
682 | resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a"
683 | integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo=
684 |
685 | tar-fs@^2.0.0:
686 | version "2.0.0"
687 | resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-2.0.0.tgz#677700fc0c8b337a78bee3623fdc235f21d7afad"
688 | integrity sha512-vaY0obB6Om/fso8a8vakQBzwholQ7v5+uy+tF3Ozvxv1KNezmVQAiWtcNmMHFSFPqL3dJA8ha6gdtFbfX9mcxA==
689 | dependencies:
690 | chownr "^1.1.1"
691 | mkdirp "^0.5.1"
692 | pump "^3.0.0"
693 | tar-stream "^2.0.0"
694 |
695 | tar-stream@^2.0.0:
696 | version "2.1.1"
697 | resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.1.1.tgz#e188b1dd74b940b9efc4a832a9a2dc957845937c"
698 | integrity sha512-GZjLk64XcE/58qwIc1ZfXGqTSE4OutPMEkfBE/oh9eJ4x1eMRjYkgrLrav7PzddpvIpSJSGi8FgNNYXdB9Vumg==
699 | dependencies:
700 | bl "^4.0.1"
701 | end-of-stream "^1.4.1"
702 | fs-constants "^1.0.0"
703 | inherits "^2.0.3"
704 | readable-stream "^3.1.1"
705 |
706 | tar@^6.0.1:
707 | version "6.0.1"
708 | resolved "https://registry.yarnpkg.com/tar/-/tar-6.0.1.tgz#7b3bd6c313cb6e0153770108f8d70ac298607efa"
709 | integrity sha512-bKhKrrz2FJJj5s7wynxy/fyxpE0CmCjmOQ1KV4KkgXFWOgoIT/NbTMnB1n+LFNrNk0SSBVGGxcK5AGsyC+pW5Q==
710 | dependencies:
711 | chownr "^1.1.3"
712 | fs-minipass "^2.0.0"
713 | minipass "^3.0.0"
714 | minizlib "^2.1.0"
715 | mkdirp "^1.0.3"
716 | yallist "^4.0.0"
717 |
718 | tunnel-agent@^0.6.0:
719 | version "0.6.0"
720 | resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd"
721 | integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=
722 | dependencies:
723 | safe-buffer "^5.0.1"
724 |
725 | typedarray@^0.0.6:
726 | version "0.0.6"
727 | resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
728 | integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=
729 |
730 | util-deprecate@^1.0.1, util-deprecate@~1.0.1:
731 | version "1.0.2"
732 | resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
733 | integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=
734 |
735 | which-pm-runs@^1.0.0:
736 | version "1.0.0"
737 | resolved "https://registry.yarnpkg.com/which-pm-runs/-/which-pm-runs-1.0.0.tgz#670b3afbc552e0b55df6b7780ca74615f23ad1cb"
738 | integrity sha1-Zws6+8VS4LVd9rd4DKdGFfI60cs=
739 |
740 | wide-align@^1.1.0:
741 | version "1.1.3"
742 | resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457"
743 | integrity sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==
744 | dependencies:
745 | string-width "^1.0.2 || 2"
746 |
747 | wrappy@1:
748 | version "1.0.2"
749 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
750 | integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=
751 |
752 | ws@^6.1.0:
753 | version "6.2.1"
754 | resolved "https://registry.yarnpkg.com/ws/-/ws-6.2.1.tgz#442fdf0a47ed64f59b6a5d8ff130f4748ed524fb"
755 | integrity sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==
756 | dependencies:
757 | async-limiter "~1.0.0"
758 |
759 | yallist@^4.0.0:
760 | version "4.0.0"
761 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72"
762 | integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==
763 |
764 | yauzl@2.4.1:
765 | version "2.4.1"
766 | resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.4.1.tgz#9528f442dab1b2284e58b4379bb194e22e0c4005"
767 | integrity sha1-lSj0QtqxsihOWLQ3m7GU4i4MQAU=
768 | dependencies:
769 | fd-slicer "~1.0.1"
770 |
--------------------------------------------------------------------------------