diff options
| -rw-r--r-- | package.json | 1 | ||||
| -rw-r--r-- | src/api/e621/index.ts | 18 | ||||
| -rw-r--r-- | src/config.ts | 2 | ||||
| -rw-r--r-- | src/index.ts | 64 | ||||
| -rw-r--r-- | yarn.lock | 179 |
5 files changed, 244 insertions, 20 deletions
diff --git a/package.json b/package.json index a88dbf9..22329e2 100644 --- a/package.json +++ b/package.json | |||
| @@ -14,6 +14,7 @@ | |||
| 14 | "form-data": "^4.0.0", | 14 | "form-data": "^4.0.0", |
| 15 | "got": "^11.8.2", | 15 | "got": "^11.8.2", |
| 16 | "nanoid": "^3.1.30", | 16 | "nanoid": "^3.1.30", |
| 17 | "ts-command-line-args": "^2.1.0", | ||
| 17 | "ts-node": "^10.3.0", | 18 | "ts-node": "^10.3.0", |
| 18 | "typescript": "^4.4.4" | 19 | "typescript": "^4.4.4" |
| 19 | }, | 20 | }, |
diff --git a/src/api/e621/index.ts b/src/api/e621/index.ts index c8e0f44..411edae 100644 --- a/src/api/e621/index.ts +++ b/src/api/e621/index.ts | |||
| @@ -26,7 +26,23 @@ export const client = got.extend({ | |||
| 26 | }, | 26 | }, |
| 27 | }); | 27 | }); |
| 28 | 28 | ||
| 29 | export async function randomPost() { | 29 | export async function getPost(id: number) { |
| 30 | const response = await client | ||
| 31 | .get("https://e926.net/posts.json", { | ||
| 32 | searchParams: { | ||
| 33 | tags: `id:${id}`, | ||
| 34 | }, | ||
| 35 | }) | ||
| 36 | .json<{ posts: readonly Post[] }>(); | ||
| 37 | |||
| 38 | if (!response.posts.length) { | ||
| 39 | throw new Error("No posts received"); | ||
| 40 | } | ||
| 41 | |||
| 42 | return response.posts[0]; | ||
| 43 | } | ||
| 44 | |||
| 45 | export async function getRandomPost() { | ||
| 30 | const queryIndex = Math.floor(Math.random() * config.e621.queries.length); | 46 | const queryIndex = Math.floor(Math.random() * config.e621.queries.length); |
| 31 | const query = config.e621.queries[queryIndex]; | 47 | const query = config.e621.queries[queryIndex]; |
| 32 | const page = Math.floor(Math.random() * (query.maxPage - 1)) + 1; | 48 | const page = Math.floor(Math.random() * (query.maxPage - 1)) + 1; |
diff --git a/src/config.ts b/src/config.ts index f6e7447..d854725 100644 --- a/src/config.ts +++ b/src/config.ts | |||
| @@ -37,5 +37,5 @@ export default { | |||
| 37 | instance: "https://botsin.space/", | 37 | instance: "https://botsin.space/", |
| 38 | token: process.env.MASTODON_TOKEN, | 38 | token: process.env.MASTODON_TOKEN, |
| 39 | }, | 39 | }, |
| 40 | cw: ["gun"], | 40 | cw: ["gun", "blood"], |
| 41 | }; | 41 | }; |
diff --git a/src/index.ts b/src/index.ts index 34cd5f1..e2fee01 100644 --- a/src/index.ts +++ b/src/index.ts | |||
| @@ -1,34 +1,49 @@ | |||
| 1 | import * as e621 from "./api/e621"; | 1 | import * as e621 from "./api/e621"; |
| 2 | import * as mastodon from "./api/mastodon"; | 2 | import * as mastodon from "./api/mastodon"; |
| 3 | import config from "./config"; | 3 | import config from "./config"; |
| 4 | import * as cliArgs from 'ts-command-line-args'; | ||
| 4 | 5 | ||
| 5 | (async () => { | 6 | const args = cliArgs.parse<{ |
| 6 | if (!config.mastodon.token) { | 7 | id?: number; |
| 7 | console.error("MASTODON_TOKEN not set"); | 8 | help?: boolean; |
| 8 | return; | 9 | }>( |
| 9 | } | 10 | { |
| 11 | id: { type: Number, optional: true }, | ||
| 12 | help: { type: Boolean, optional: true, alias: 'h' }, | ||
| 13 | }, | ||
| 14 | { | ||
| 15 | helpArg: 'help', | ||
| 16 | }, | ||
| 17 | ); | ||
| 18 | |||
| 19 | async function postRandomPicture() { | ||
| 20 | console.log("Fetching random post..."); | ||
| 21 | |||
| 22 | const { queryIndex, post } = await e621.getRandomPost(); | ||
| 23 | |||
| 24 | console.log(`Got ${post.id} via query ${queryIndex}`); | ||
| 25 | |||
| 26 | await handlePost(post); | ||
| 27 | } | ||
| 28 | |||
| 29 | async function postSpecificPicture(id: number) { | ||
| 30 | console.log("Fetching post ${id}..."); | ||
| 31 | |||
| 32 | const post = await e621.getPost(id); | ||
| 10 | 33 | ||
| 11 | console.log("Fetching post..."); | 34 | console.log(`Got ${post.id}`); |
| 35 | |||
| 36 | await handlePost(post); | ||
| 37 | } | ||
| 12 | 38 | ||
| 13 | const { queryIndex, post } = await e621.randomPost(); | 39 | async function handlePost(post: e621.Post) { |
| 14 | const source = post.sources.length ? post.sources[0] : undefined; | 40 | const source = post.sources.length ? post.sources[0] : undefined; |
| 15 | const cws = config.cw.filter((w) => post.tags.general.includes(w)); | 41 | const cws = config.cw.filter((w) => post.tags.general.includes(w)); |
| 16 | 42 | ||
| 17 | console.log(`Got ${post.id} via query ${queryIndex}`); | ||
| 18 | console.log(`Downloading image...`); | 43 | console.log(`Downloading image...`); |
| 19 | 44 | ||
| 20 | const file = await e621.client.get(post.file.url).buffer(); | 45 | const file = await e621.client.get(post.file.url).buffer(); |
| 21 | 46 | ||
| 22 | /*console.log(`Compressing...`); | ||
| 23 | |||
| 24 | const compressedFile = await sharp(file) | ||
| 25 | .resize(1000, 1000, { | ||
| 26 | fit: "inside", | ||
| 27 | withoutEnlargement: true, | ||
| 28 | }) | ||
| 29 | .jpeg({ quality: 85, mozjpeg: true }) | ||
| 30 | .toBuffer();*/ | ||
| 31 | |||
| 32 | console.log(`Uploading...`); | 47 | console.log(`Uploading...`); |
| 33 | 48 | ||
| 34 | const attachment = await mastodon.upload(file, post.id.toString(10)); | 49 | const attachment = await mastodon.upload(file, post.id.toString(10)); |
| @@ -38,4 +53,17 @@ import config from "./config"; | |||
| 38 | const status = await mastodon.createStatus(`https://e926.net/posts/${post.id}`, source, cws, attachment.id); | 53 | const status = await mastodon.createStatus(`https://e926.net/posts/${post.id}`, source, cws, attachment.id); |
| 39 | 54 | ||
| 40 | console.log(`Done! ${status.url}`); | 55 | console.log(`Done! ${status.url}`); |
| 56 | } | ||
| 57 | |||
| 58 | (async () => { | ||
| 59 | if (!config.mastodon.token) { | ||
| 60 | console.error("MASTODON_TOKEN not set"); | ||
| 61 | return; | ||
| 62 | } | ||
| 63 | |||
| 64 | if (args.id) { | ||
| 65 | await postSpecificPicture(args.id); | ||
| 66 | } else { | ||
| 67 | await postRandomPicture(); | ||
| 68 | } | ||
| 41 | })(); | 69 | })(); |
| @@ -102,11 +102,35 @@ acorn@^8.4.1: | |||
| 102 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.5.0.tgz#4512ccb99b3698c752591e9bb4472e38ad43cee2" | 102 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.5.0.tgz#4512ccb99b3698c752591e9bb4472e38ad43cee2" |
| 103 | integrity sha512-yXbYeFy+jUuYd3/CDcg2NkIYE991XYX/bje7LmjJigUciaeO1JR4XxXgCIV1/Zc/dRuFEyw1L0pbA+qynJkW5Q== | 103 | integrity sha512-yXbYeFy+jUuYd3/CDcg2NkIYE991XYX/bje7LmjJigUciaeO1JR4XxXgCIV1/Zc/dRuFEyw1L0pbA+qynJkW5Q== |
| 104 | 104 | ||
| 105 | ansi-styles@^3.2.1: | ||
| 106 | version "3.2.1" | ||
| 107 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" | ||
| 108 | integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== | ||
| 109 | dependencies: | ||
| 110 | color-convert "^1.9.0" | ||
| 111 | |||
| 112 | ansi-styles@^4.1.0: | ||
| 113 | version "4.3.0" | ||
| 114 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" | ||
| 115 | integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== | ||
| 116 | dependencies: | ||
| 117 | color-convert "^2.0.1" | ||
| 118 | |||
| 105 | arg@^4.1.0: | 119 | arg@^4.1.0: |
| 106 | version "4.1.3" | 120 | version "4.1.3" |
| 107 | resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" | 121 | resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" |
| 108 | integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== | 122 | integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== |
| 109 | 123 | ||
| 124 | array-back@^3.0.1, array-back@^3.1.0: | ||
| 125 | version "3.1.0" | ||
| 126 | resolved "https://registry.yarnpkg.com/array-back/-/array-back-3.1.0.tgz#b8859d7a508871c9a7b2cf42f99428f65e96bfb0" | ||
| 127 | integrity sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q== | ||
| 128 | |||
| 129 | array-back@^4.0.1: | ||
| 130 | version "4.0.2" | ||
| 131 | resolved "https://registry.yarnpkg.com/array-back/-/array-back-4.0.2.tgz#8004e999a6274586beeb27342168652fdb89fa1e" | ||
| 132 | integrity sha512-NbdMezxqf94cnNfWLL7V/im0Ub+Anbb0IoZhvzie8+4HJ4nMQuzHuy49FkGYCJK2yAloZ3meiB6AVMClbrI1vg== | ||
| 133 | |||
| 110 | asynckit@^0.4.0: | 134 | asynckit@^0.4.0: |
| 111 | version "0.4.0" | 135 | version "0.4.0" |
| 112 | resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" | 136 | resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" |
| @@ -130,6 +154,23 @@ cacheable-request@^7.0.1: | |||
| 130 | normalize-url "^6.0.1" | 154 | normalize-url "^6.0.1" |
| 131 | responselike "^2.0.0" | 155 | responselike "^2.0.0" |
| 132 | 156 | ||
| 157 | chalk@^2.4.2: | ||
| 158 | version "2.4.2" | ||
| 159 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" | ||
| 160 | integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== | ||
| 161 | dependencies: | ||
| 162 | ansi-styles "^3.2.1" | ||
| 163 | escape-string-regexp "^1.0.5" | ||
| 164 | supports-color "^5.3.0" | ||
| 165 | |||
| 166 | chalk@^4.1.0: | ||
| 167 | version "4.1.2" | ||
| 168 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" | ||
| 169 | integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== | ||
| 170 | dependencies: | ||
| 171 | ansi-styles "^4.1.0" | ||
| 172 | supports-color "^7.1.0" | ||
| 173 | |||
| 133 | clone-response@^1.0.2: | 174 | clone-response@^1.0.2: |
| 134 | version "1.0.2" | 175 | version "1.0.2" |
| 135 | resolved "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.2.tgz#d1dc973920314df67fbeb94223b4ee350239e96b" | 176 | resolved "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.2.tgz#d1dc973920314df67fbeb94223b4ee350239e96b" |
| @@ -137,6 +178,30 @@ clone-response@^1.0.2: | |||
| 137 | dependencies: | 178 | dependencies: |
| 138 | mimic-response "^1.0.0" | 179 | mimic-response "^1.0.0" |
| 139 | 180 | ||
| 181 | color-convert@^1.9.0: | ||
| 182 | version "1.9.3" | ||
| 183 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" | ||
| 184 | integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== | ||
| 185 | dependencies: | ||
| 186 | color-name "1.1.3" | ||
| 187 | |||
| 188 | color-convert@^2.0.1: | ||
| 189 | version "2.0.1" | ||
| 190 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" | ||
| 191 | integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== | ||
| 192 | dependencies: | ||
| 193 | color-name "~1.1.4" | ||
| 194 | |||
| 195 | color-name@1.1.3: | ||
| 196 | version "1.1.3" | ||
| 197 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" | ||
| 198 | integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= | ||
| 199 | |||
| 200 | color-name@~1.1.4: | ||
| 201 | version "1.1.4" | ||
| 202 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" | ||
| 203 | integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== | ||
| 204 | |||
| 140 | combined-stream@^1.0.8: | 205 | combined-stream@^1.0.8: |
| 141 | version "1.0.8" | 206 | version "1.0.8" |
| 142 | resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" | 207 | resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" |
| @@ -144,6 +209,26 @@ combined-stream@^1.0.8: | |||
| 144 | dependencies: | 209 | dependencies: |
| 145 | delayed-stream "~1.0.0" | 210 | delayed-stream "~1.0.0" |
| 146 | 211 | ||
| 212 | command-line-args@^5.1.1: | ||
| 213 | version "5.2.0" | ||
| 214 | resolved "https://registry.yarnpkg.com/command-line-args/-/command-line-args-5.2.0.tgz#087b02748272169741f1fd7c785b295df079b9be" | ||
| 215 | integrity sha512-4zqtU1hYsSJzcJBOcNZIbW5Fbk9BkjCp1pZVhQKoRaWL5J7N4XphDLwo8aWwdQpTugxwu+jf9u2ZhkXiqp5Z6A== | ||
| 216 | dependencies: | ||
| 217 | array-back "^3.1.0" | ||
| 218 | find-replace "^3.0.0" | ||
| 219 | lodash.camelcase "^4.3.0" | ||
| 220 | typical "^4.0.0" | ||
| 221 | |||
| 222 | command-line-usage@^6.1.0: | ||
| 223 | version "6.1.1" | ||
| 224 | resolved "https://registry.yarnpkg.com/command-line-usage/-/command-line-usage-6.1.1.tgz#c908e28686108917758a49f45efb4f02f76bc03f" | ||
| 225 | integrity sha512-F59pEuAR9o1SF/bD0dQBDluhpT4jJQNWUHEuVBqpDmCUo6gPjCi+m9fCWnWZVR/oG6cMTUms4h+3NPl74wGXvA== | ||
| 226 | dependencies: | ||
| 227 | array-back "^4.0.1" | ||
| 228 | chalk "^2.4.2" | ||
| 229 | table-layout "^1.0.1" | ||
| 230 | typical "^5.2.0" | ||
| 231 | |||
| 147 | create-require@^1.1.0: | 232 | create-require@^1.1.0: |
| 148 | version "1.1.1" | 233 | version "1.1.1" |
| 149 | resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" | 234 | resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" |
| @@ -156,6 +241,11 @@ decompress-response@^6.0.0: | |||
| 156 | dependencies: | 241 | dependencies: |
| 157 | mimic-response "^3.1.0" | 242 | mimic-response "^3.1.0" |
| 158 | 243 | ||
| 244 | deep-extend@~0.6.0: | ||
| 245 | version "0.6.0" | ||
| 246 | resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" | ||
| 247 | integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== | ||
| 248 | |||
| 159 | defer-to-connect@^2.0.0: | 249 | defer-to-connect@^2.0.0: |
| 160 | version "2.0.1" | 250 | version "2.0.1" |
| 161 | resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-2.0.1.tgz#8016bdb4143e4632b77a3449c6236277de520587" | 251 | resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-2.0.1.tgz#8016bdb4143e4632b77a3449c6236277de520587" |
| @@ -178,6 +268,11 @@ end-of-stream@^1.1.0: | |||
| 178 | dependencies: | 268 | dependencies: |
| 179 | once "^1.4.0" | 269 | once "^1.4.0" |
| 180 | 270 | ||
| 271 | escape-string-regexp@^1.0.5: | ||
| 272 | version "1.0.5" | ||
| 273 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" | ||
| 274 | integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= | ||
| 275 | |||
| 181 | file-type@^16.5.3: | 276 | file-type@^16.5.3: |
| 182 | version "16.5.3" | 277 | version "16.5.3" |
| 183 | resolved "https://registry.yarnpkg.com/file-type/-/file-type-16.5.3.tgz#474b7e88c74724046abb505e9b8ed4db30c4fc06" | 278 | resolved "https://registry.yarnpkg.com/file-type/-/file-type-16.5.3.tgz#474b7e88c74724046abb505e9b8ed4db30c4fc06" |
| @@ -187,6 +282,13 @@ file-type@^16.5.3: | |||
| 187 | strtok3 "^6.2.4" | 282 | strtok3 "^6.2.4" |
| 188 | token-types "^4.1.1" | 283 | token-types "^4.1.1" |
| 189 | 284 | ||
| 285 | find-replace@^3.0.0: | ||
| 286 | version "3.0.0" | ||
| 287 | resolved "https://registry.yarnpkg.com/find-replace/-/find-replace-3.0.0.tgz#3e7e23d3b05167a76f770c9fbd5258b0def68c38" | ||
| 288 | integrity sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ== | ||
| 289 | dependencies: | ||
| 290 | array-back "^3.0.1" | ||
| 291 | |||
| 190 | form-data@^4.0.0: | 292 | form-data@^4.0.0: |
| 191 | version "4.0.0" | 293 | version "4.0.0" |
| 192 | resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452" | 294 | resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452" |
| @@ -220,6 +322,16 @@ got@^11.8.2: | |||
| 220 | p-cancelable "^2.0.0" | 322 | p-cancelable "^2.0.0" |
| 221 | responselike "^2.0.0" | 323 | responselike "^2.0.0" |
| 222 | 324 | ||
| 325 | has-flag@^3.0.0: | ||
| 326 | version "3.0.0" | ||
| 327 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" | ||
| 328 | integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= | ||
| 329 | |||
| 330 | has-flag@^4.0.0: | ||
| 331 | version "4.0.0" | ||
| 332 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" | ||
| 333 | integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== | ||
| 334 | |||
| 223 | http-cache-semantics@^4.0.0: | 335 | http-cache-semantics@^4.0.0: |
| 224 | version "4.1.0" | 336 | version "4.1.0" |
| 225 | resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz#49e91c5cbf36c9b94bcfcd71c23d5249ec74e390" | 337 | resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz#49e91c5cbf36c9b94bcfcd71c23d5249ec74e390" |
| @@ -255,6 +367,11 @@ keyv@^4.0.0: | |||
| 255 | dependencies: | 367 | dependencies: |
| 256 | json-buffer "3.0.1" | 368 | json-buffer "3.0.1" |
| 257 | 369 | ||
| 370 | lodash.camelcase@^4.3.0: | ||
| 371 | version "4.3.0" | ||
| 372 | resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6" | ||
| 373 | integrity sha1-soqmKIorn8ZRA1x3EfZathkDMaY= | ||
| 374 | |||
| 258 | lowercase-keys@^2.0.0: | 375 | lowercase-keys@^2.0.0: |
| 259 | version "2.0.0" | 376 | version "2.0.0" |
| 260 | resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479" | 377 | resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479" |
| @@ -348,6 +465,11 @@ readable-web-to-node-stream@^3.0.0: | |||
| 348 | dependencies: | 465 | dependencies: |
| 349 | readable-stream "^3.6.0" | 466 | readable-stream "^3.6.0" |
| 350 | 467 | ||
| 468 | reduce-flatten@^2.0.0: | ||
| 469 | version "2.0.0" | ||
| 470 | resolved "https://registry.yarnpkg.com/reduce-flatten/-/reduce-flatten-2.0.0.tgz#734fd84e65f375d7ca4465c69798c25c9d10ae27" | ||
| 471 | integrity sha512-EJ4UNY/U1t2P/2k6oqotuX2Cc3T6nxJwsM0N0asT7dhrtH1ltUxDn4NalSYmPE2rCkVpcf/X6R0wDwcFpzhd4w== | ||
| 472 | |||
| 351 | resolve-alpn@^1.0.0: | 473 | resolve-alpn@^1.0.0: |
| 352 | version "1.2.1" | 474 | version "1.2.1" |
| 353 | resolved "https://registry.yarnpkg.com/resolve-alpn/-/resolve-alpn-1.2.1.tgz#b7adbdac3546aaaec20b45e7d8265927072726f9" | 475 | resolved "https://registry.yarnpkg.com/resolve-alpn/-/resolve-alpn-1.2.1.tgz#b7adbdac3546aaaec20b45e7d8265927072726f9" |
| @@ -365,6 +487,11 @@ safe-buffer@~5.2.0: | |||
| 365 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" | 487 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" |
| 366 | integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== | 488 | integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== |
| 367 | 489 | ||
| 490 | string-format@^2.0.0: | ||
| 491 | version "2.0.0" | ||
| 492 | resolved "https://registry.yarnpkg.com/string-format/-/string-format-2.0.0.tgz#f2df2e7097440d3b65de31b6d40d54c96eaffb9b" | ||
| 493 | integrity sha512-bbEs3scLeYNXLecRRuk6uJxdXUSj6le/8rNPHChIJTn2V79aXVTR1EH2OH5zLKKoz0V02fOUKZZcw01pLUShZA== | ||
| 494 | |||
| 368 | string_decoder@^1.1.1: | 495 | string_decoder@^1.1.1: |
| 369 | version "1.3.0" | 496 | version "1.3.0" |
| 370 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" | 497 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" |
| @@ -380,6 +507,30 @@ strtok3@^6.2.4: | |||
| 380 | "@tokenizer/token" "^0.3.0" | 507 | "@tokenizer/token" "^0.3.0" |
| 381 | peek-readable "^4.0.1" | 508 | peek-readable "^4.0.1" |
| 382 | 509 | ||
| 510 | supports-color@^5.3.0: | ||
| 511 | version "5.5.0" | ||
| 512 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" | ||
| 513 | integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== | ||
| 514 | dependencies: | ||
| 515 | has-flag "^3.0.0" | ||
| 516 | |||
| 517 | supports-color@^7.1.0: | ||
| 518 | version "7.2.0" | ||
| 519 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" | ||
| 520 | integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== | ||
| 521 | dependencies: | ||
| 522 | has-flag "^4.0.0" | ||
| 523 | |||
| 524 | table-layout@^1.0.1: | ||
| 525 | version "1.0.2" | ||
| 526 | resolved "https://registry.yarnpkg.com/table-layout/-/table-layout-1.0.2.tgz#c4038a1853b0136d63365a734b6931cf4fad4a04" | ||
| 527 | integrity sha512-qd/R7n5rQTRFi+Zf2sk5XVVd9UQl6ZkduPFC3S7WEGJAmetDTjY3qPN50eSKzwuzEyQKy5TN2TiZdkIjos2L6A== | ||
| 528 | dependencies: | ||
| 529 | array-back "^4.0.1" | ||
| 530 | deep-extend "~0.6.0" | ||
| 531 | typical "^5.2.0" | ||
| 532 | wordwrapjs "^4.0.0" | ||
| 533 | |||
| 383 | token-types@^4.1.1: | 534 | token-types@^4.1.1: |
| 384 | version "4.1.1" | 535 | version "4.1.1" |
| 385 | resolved "https://registry.yarnpkg.com/token-types/-/token-types-4.1.1.tgz#ef9e8c8e2e0ded9f1b3f8dbaa46a3228b113ba1a" | 536 | resolved "https://registry.yarnpkg.com/token-types/-/token-types-4.1.1.tgz#ef9e8c8e2e0ded9f1b3f8dbaa46a3228b113ba1a" |
| @@ -388,6 +539,16 @@ token-types@^4.1.1: | |||
| 388 | "@tokenizer/token" "^0.3.0" | 539 | "@tokenizer/token" "^0.3.0" |
| 389 | ieee754 "^1.2.1" | 540 | ieee754 "^1.2.1" |
| 390 | 541 | ||
| 542 | ts-command-line-args@^2.1.0: | ||
| 543 | version "2.1.0" | ||
| 544 | resolved "https://registry.yarnpkg.com/ts-command-line-args/-/ts-command-line-args-2.1.0.tgz#1f75ceabaf794fd6171a2c749e95d27e5231f89b" | ||
| 545 | integrity sha512-C9BWuFzNLAmEmfnxBhq40YHu7CptJd7ytLHqtD8xRaIA0jZBtTdo+u32OlMHxGvoegUfinnMh41kcjvaZ1RiFA== | ||
| 546 | dependencies: | ||
| 547 | chalk "^4.1.0" | ||
| 548 | command-line-args "^5.1.1" | ||
| 549 | command-line-usage "^6.1.0" | ||
| 550 | string-format "^2.0.0" | ||
| 551 | |||
| 391 | ts-node@^10.3.0: | 552 | ts-node@^10.3.0: |
| 392 | version "10.3.0" | 553 | version "10.3.0" |
| 393 | resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.3.0.tgz#a797f2ed3ff50c9a5d814ce400437cb0c1c048b4" | 554 | resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.3.0.tgz#a797f2ed3ff50c9a5d814ce400437cb0c1c048b4" |
| @@ -411,11 +572,29 @@ typescript@^4.4.4: | |||
| 411 | resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.4.4.tgz#2cd01a1a1f160704d3101fd5a58ff0f9fcb8030c" | 572 | resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.4.4.tgz#2cd01a1a1f160704d3101fd5a58ff0f9fcb8030c" |
| 412 | integrity sha512-DqGhF5IKoBl8WNf8C1gu8q0xZSInh9j1kJJMqT3a94w1JzVaBU4EXOSMrz9yDqMT0xt3selp83fuFMQ0uzv6qA== | 573 | integrity sha512-DqGhF5IKoBl8WNf8C1gu8q0xZSInh9j1kJJMqT3a94w1JzVaBU4EXOSMrz9yDqMT0xt3selp83fuFMQ0uzv6qA== |
| 413 | 574 | ||
| 575 | typical@^4.0.0: | ||
| 576 | version "4.0.0" | ||
| 577 | resolved "https://registry.yarnpkg.com/typical/-/typical-4.0.0.tgz#cbeaff3b9d7ae1e2bbfaf5a4e6f11eccfde94fc4" | ||
| 578 | integrity sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw== | ||
| 579 | |||
| 580 | typical@^5.2.0: | ||
| 581 | version "5.2.0" | ||
| 582 | resolved "https://registry.yarnpkg.com/typical/-/typical-5.2.0.tgz#4daaac4f2b5315460804f0acf6cb69c52bb93066" | ||
| 583 | integrity sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg== | ||
| 584 | |||
| 414 | util-deprecate@^1.0.1: | 585 | util-deprecate@^1.0.1: |
| 415 | version "1.0.2" | 586 | version "1.0.2" |
| 416 | resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" | 587 | resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" |
| 417 | integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= | 588 | integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= |
| 418 | 589 | ||
| 590 | wordwrapjs@^4.0.0: | ||
| 591 | version "4.0.1" | ||
| 592 | resolved "https://registry.yarnpkg.com/wordwrapjs/-/wordwrapjs-4.0.1.tgz#d9790bccfb110a0fc7836b5ebce0937b37a8b98f" | ||
| 593 | integrity sha512-kKlNACbvHrkpIw6oPeYDSmdCTu2hdMHoyXLTcUKala++lx5Y+wjJ/e474Jqv5abnVmwxw08DiTuHmw69lJGksA== | ||
| 594 | dependencies: | ||
| 595 | reduce-flatten "^2.0.0" | ||
| 596 | typical "^5.2.0" | ||
| 597 | |||
| 419 | wrappy@1: | 598 | wrappy@1: |
| 420 | version "1.0.2" | 599 | version "1.0.2" |
| 421 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" | 600 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" |
