diff options
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | .prettierrc | 4 | ||||
-rw-r--r-- | .vscode/launch.json | 24 | ||||
-rw-r--r-- | .vscode/settings.json | 3 | ||||
-rw-r--r-- | package.json | 20 | ||||
-rw-r--r-- | src/api/e621/index.ts | 50 | ||||
-rw-r--r-- | src/api/mastodon/index.ts | 58 | ||||
-rw-r--r-- | src/api/misskey/index.ts | 26 | ||||
-rw-r--r-- | src/config.ts | 34 | ||||
-rw-r--r-- | src/index.ts | 36 | ||||
-rw-r--r-- | tsconfig.json | 8 | ||||
-rw-r--r-- | yarn.lock | 427 |
12 files changed, 691 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..3c3629e --- /dev/null +++ b/.gitignore | |||
@@ -0,0 +1 @@ | |||
node_modules | |||
diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 0000000..e8980d1 --- /dev/null +++ b/.prettierrc | |||
@@ -0,0 +1,4 @@ | |||
1 | { | ||
2 | "printWidth": 120, | ||
3 | "tabWidth": 4 | ||
4 | } | ||
diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..fe4c94f --- /dev/null +++ b/.vscode/launch.json | |||
@@ -0,0 +1,24 @@ | |||
1 | { | ||
2 | "version": "0.2.0", | ||
3 | "configurations": [ | ||
4 | { | ||
5 | "name": "ts-node", | ||
6 | "type": "node", | ||
7 | "request": "launch", | ||
8 | "args": [ | ||
9 | "src/index.ts" | ||
10 | ], | ||
11 | "runtimeArgs": [ | ||
12 | "-r", | ||
13 | "ts-node/register" | ||
14 | ], | ||
15 | "env": { | ||
16 | "MASTODON_TOKEN": "-mPmNM7D-BOmWt2_VVUODTCSKk9sLG7BY8zOK-FFRMc", | ||
17 | "MISSKEY_TOKEN": "HGwt6ZGuZ7v6ztV3C0RMCwDYFuhhN6sg" | ||
18 | }, | ||
19 | "cwd": "${workspaceRoot}", | ||
20 | "protocol": "inspector", | ||
21 | "internalConsoleOptions": "openOnSessionStart" | ||
22 | } | ||
23 | ] | ||
24 | } | ||
diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..25fa621 --- /dev/null +++ b/.vscode/settings.json | |||
@@ -0,0 +1,3 @@ | |||
1 | { | ||
2 | "typescript.tsdk": "node_modules/typescript/lib" | ||
3 | } | ||
diff --git a/package.json b/package.json new file mode 100644 index 0000000..01dabf4 --- /dev/null +++ b/package.json | |||
@@ -0,0 +1,20 @@ | |||
1 | { | ||
2 | "name": "feralbot", | ||
3 | "version": "1.0.0", | ||
4 | "main": "index.js", | ||
5 | "author": "Volpeon", | ||
6 | "license": "MIT", | ||
7 | "private": true, | ||
8 | "dependencies": { | ||
9 | "@types/sharp": "^0.29.2", | ||
10 | "file-type": "^16.5.3", | ||
11 | "form-data": "^4.0.0", | ||
12 | "got": "^11.8.2", | ||
13 | "nanoid": "^3.1.30", | ||
14 | "ts-node": "^10.3.0", | ||
15 | "typescript": "^4.4.4" | ||
16 | }, | ||
17 | "devDependencies": { | ||
18 | "prettier": "^2.4.1" | ||
19 | } | ||
20 | } | ||
diff --git a/src/api/e621/index.ts b/src/api/e621/index.ts new file mode 100644 index 0000000..6aa6a35 --- /dev/null +++ b/src/api/e621/index.ts | |||
@@ -0,0 +1,50 @@ | |||
1 | import got from "got"; | ||
2 | import config from "../../config"; | ||
3 | |||
4 | export interface Post { | ||
5 | id: number; | ||
6 | file: { | ||
7 | url: string; | ||
8 | }; | ||
9 | sources: readonly string[]; | ||
10 | |||
11 | tags: { | ||
12 | general: readonly string[]; | ||
13 | species: readonly string[]; | ||
14 | character: readonly string[]; | ||
15 | copyright: readonly string[]; | ||
16 | artist: readonly string[]; | ||
17 | invalid: readonly string[]; | ||
18 | lore: readonly string[]; | ||
19 | meta: readonly string[]; | ||
20 | }; | ||
21 | } | ||
22 | |||
23 | export const client = got.extend({ | ||
24 | headers: { | ||
25 | "User-Agent": config.e621.userAgent, | ||
26 | }, | ||
27 | }); | ||
28 | |||
29 | export async function randomPost() { | ||
30 | const page = Math.floor(Math.random() * (config.e621.maxPage - 1)) + 1; | ||
31 | |||
32 | const response = await client | ||
33 | .get("https://e926.net/posts.json", { | ||
34 | searchParams: { | ||
35 | limit: 75, | ||
36 | page, | ||
37 | tags: config.e621.tags.join(" "), | ||
38 | }, | ||
39 | }) | ||
40 | .json<{ posts: readonly Post[] }>(); | ||
41 | |||
42 | if (!response.posts.length) { | ||
43 | throw new Error("No posts received"); | ||
44 | } | ||
45 | |||
46 | const postIndex = Math.floor(Math.random() * response.posts.length); | ||
47 | const post = response.posts[postIndex]; | ||
48 | |||
49 | return post; | ||
50 | } | ||
diff --git a/src/api/mastodon/index.ts b/src/api/mastodon/index.ts new file mode 100644 index 0000000..2d8636e --- /dev/null +++ b/src/api/mastodon/index.ts | |||
@@ -0,0 +1,58 @@ | |||
1 | import got from "got"; | ||
2 | import FormData from "form-data"; | ||
3 | import fileType from "file-type"; | ||
4 | import { nanoid } from "nanoid"; | ||
5 | import config from "../../config"; | ||
6 | |||
7 | export interface Attachment { | ||
8 | id: string; | ||
9 | } | ||
10 | |||
11 | export interface Status { | ||
12 | url: string; | ||
13 | } | ||
14 | |||
15 | export const client = got.extend({ | ||
16 | prefixUrl: config.mastodon.instance, | ||
17 | headers: { | ||
18 | Authorization: `Bearer ${config.mastodon.token}`, | ||
19 | }, | ||
20 | }); | ||
21 | |||
22 | export async function upload(buf: Buffer, filename: string) { | ||
23 | const type = await fileType.fromBuffer(buf); | ||
24 | |||
25 | const body = new FormData(); | ||
26 | body.append("i", config.mastodon.token); | ||
27 | body.append("file", buf, { filename: `${filename}.${type.ext}`, contentType: type.mime }); | ||
28 | |||
29 | return client.post("api/v1/media", { body }).json<Attachment>(); | ||
30 | } | ||
31 | |||
32 | export async function createStatus( | ||
33 | postUrl: string, | ||
34 | sourceUrl: string | undefined, | ||
35 | spoiler: string[], | ||
36 | attachmentId: string | ||
37 | ) { | ||
38 | let lines = [postUrl]; | ||
39 | if (sourceUrl) { | ||
40 | lines.push(`Source: ${sourceUrl}`); | ||
41 | } | ||
42 | |||
43 | const spoilerText = spoiler.length ? `CW: ${spoiler.join(", ")}` : undefined; | ||
44 | |||
45 | return client | ||
46 | .post("api/v1/statuses", { | ||
47 | headers: { | ||
48 | "Idempotency-Key": nanoid(), | ||
49 | }, | ||
50 | json: { | ||
51 | status: lines.join("\n"), | ||
52 | media_ids: [attachmentId], | ||
53 | sensitive: true, | ||
54 | spoiler_text: spoilerText, | ||
55 | }, | ||
56 | }) | ||
57 | .json<Status>(); | ||
58 | } | ||
diff --git a/src/api/misskey/index.ts b/src/api/misskey/index.ts new file mode 100644 index 0000000..64bfe67 --- /dev/null +++ b/src/api/misskey/index.ts | |||
@@ -0,0 +1,26 @@ | |||
1 | /* | ||
2 | import got from "got"; | ||
3 | import FormData from "form-data"; | ||
4 | import stream from "stream"; | ||
5 | import config from "../../config"; | ||
6 | |||
7 | export interface DriveFile { | ||
8 | id: string; | ||
9 | } | ||
10 | |||
11 | export const client = got.extend({ | ||
12 | prefixUrl: config.misskey.instance, | ||
13 | }); | ||
14 | |||
15 | export function upload(buf: Buffer, filename: string) { | ||
16 | const body = new FormData(); | ||
17 | body.append("i", config.misskey.token); | ||
18 | body.append("file", buf, { filename }); | ||
19 | |||
20 | return client.post("drive/files/create", { body }).json<DriveFile>(); | ||
21 | }; | ||
22 | |||
23 | export function createNote() { | ||
24 | |||
25 | } | ||
26 | */ | ||
diff --git a/src/config.ts b/src/config.ts new file mode 100644 index 0000000..f051888 --- /dev/null +++ b/src/config.ts | |||
@@ -0,0 +1,34 @@ | |||
1 | export default { | ||
2 | e621: { | ||
3 | userAgent: "@feralbot@botsin.space (by RedFoxxo)", | ||
4 | tags: [ | ||
5 | "feral", | ||
6 | "-anthro", | ||
7 | "-human", | ||
8 | "-meme", | ||
9 | "-humor", | ||
10 | "-photography_(artwork)", | ||
11 | "-portrait", | ||
12 | "-comic", | ||
13 | "-saliva", | ||
14 | "-friendship_is_magic", | ||
15 | "-my_little_pony", | ||
16 | "-type:swf", | ||
17 | "-type:webm", | ||
18 | "-type:gif", | ||
19 | "status:active", | ||
20 | "score:>=20", | ||
21 | "inpool:false", | ||
22 | ], | ||
23 | maxPage: 131, | ||
24 | }, | ||
25 | /*misskey: { | ||
26 | instance: "https://mk.vulpes.one/", | ||
27 | token: process.env.MISSKEY_TOKEN, | ||
28 | },*/ | ||
29 | mastodon: { | ||
30 | instance: "https://botsin.space/", | ||
31 | token: process.env.MASTODON_TOKEN, | ||
32 | }, | ||
33 | cw: ["gun"], | ||
34 | }; | ||
diff --git a/src/index.ts b/src/index.ts new file mode 100644 index 0000000..7185e23 --- /dev/null +++ b/src/index.ts | |||
@@ -0,0 +1,36 @@ | |||
1 | import * as e621 from "./api/e621"; | ||
2 | import * as mastodon from "./api/mastodon"; | ||
3 | import config from "./config"; | ||
4 | |||
5 | (async () => { | ||
6 | console.log("Fetching post..."); | ||
7 | |||
8 | const post = await e621.randomPost(); | ||
9 | const source = post.sources.length ? post.sources[0] : undefined; | ||
10 | const cws = config.cw.filter((w) => post.tags.general.includes(w)); | ||
11 | |||
12 | console.log(`Got ${post.id}`); | ||
13 | console.log(`Downloading image...`); | ||
14 | |||
15 | const file = await e621.client.get(post.file.url).buffer(); | ||
16 | |||
17 | /*console.log(`Compressing...`); | ||
18 | |||
19 | const compressedFile = await sharp(file) | ||
20 | .resize(1000, 1000, { | ||
21 | fit: "inside", | ||
22 | withoutEnlargement: true, | ||
23 | }) | ||
24 | .jpeg({ quality: 85, mozjpeg: true }) | ||
25 | .toBuffer();*/ | ||
26 | |||
27 | console.log(`Uploading...`); | ||
28 | |||
29 | const attachment = await mastodon.upload(file, post.id.toString(10)); | ||
30 | |||
31 | console.log(`Posting status...`); | ||
32 | |||
33 | const status = await mastodon.createStatus(`https://e926.net/posts/${post.id}`, source, cws, attachment.id); | ||
34 | |||
35 | console.log(`Done! ${status.url}`); | ||
36 | })(); | ||
diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..75337a5 --- /dev/null +++ b/tsconfig.json | |||
@@ -0,0 +1,8 @@ | |||
1 | { | ||
2 | "compilerOptions": { | ||
3 | "rootDirs": ["src"], | ||
4 | "target": "ES2020", | ||
5 | "moduleResolution": "node", | ||
6 | "esModuleInterop": true | ||
7 | } | ||
8 | } | ||
diff --git a/yarn.lock b/yarn.lock new file mode 100644 index 0000000..233de5d --- /dev/null +++ b/yarn.lock | |||
@@ -0,0 +1,427 @@ | |||
1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. | ||
2 | # yarn lockfile v1 | ||
3 | |||
4 | |||
5 | "@cspotcode/source-map-consumer@0.8.0": | ||
6 | version "0.8.0" | ||
7 | resolved "https://registry.yarnpkg.com/@cspotcode/source-map-consumer/-/source-map-consumer-0.8.0.tgz#33bf4b7b39c178821606f669bbc447a6a629786b" | ||
8 | integrity sha512-41qniHzTU8yAGbCp04ohlmSrZf8bkf/iJsl3V0dRGsQN/5GFfx+LbCSsCpp2gqrqjTVg/K6O8ycoV35JIwAzAg== | ||
9 | |||
10 | "@cspotcode/source-map-support@0.7.0": | ||
11 | version "0.7.0" | ||
12 | resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.7.0.tgz#4789840aa859e46d2f3173727ab707c66bf344f5" | ||
13 | integrity sha512-X4xqRHqN8ACt2aHVe51OxeA2HjbcL4MqFqXkrmQszJ1NOUuUu5u6Vqx/0lZSVNku7velL5FC/s5uEAj1lsBMhA== | ||
14 | dependencies: | ||
15 | "@cspotcode/source-map-consumer" "0.8.0" | ||
16 | |||
17 | "@sindresorhus/is@^4.0.0": | ||
18 | version "4.2.0" | ||
19 | resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-4.2.0.tgz#667bfc6186ae7c9e0b45a08960c551437176e1ca" | ||
20 | integrity sha512-VkE3KLBmJwcCaVARtQpfuKcKv8gcBmUubrfHGF84dXuuW6jgsRYxPtzcIhPyK9WAPpRt2/xY6zkD9MnRaJzSyw== | ||
21 | |||
22 | "@szmarczak/http-timer@^4.0.5": | ||
23 | version "4.0.6" | ||
24 | resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-4.0.6.tgz#b4a914bb62e7c272d4e5989fe4440f812ab1d807" | ||
25 | integrity sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w== | ||
26 | dependencies: | ||
27 | defer-to-connect "^2.0.0" | ||
28 | |||
29 | "@tokenizer/token@^0.3.0": | ||
30 | version "0.3.0" | ||
31 | resolved "https://registry.yarnpkg.com/@tokenizer/token/-/token-0.3.0.tgz#fe98a93fe789247e998c75e74e9c7c63217aa276" | ||
32 | integrity sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A== | ||
33 | |||
34 | "@tsconfig/node10@^1.0.7": | ||
35 | version "1.0.8" | ||
36 | resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.8.tgz#c1e4e80d6f964fbecb3359c43bd48b40f7cadad9" | ||
37 | integrity sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg== | ||
38 | |||
39 | "@tsconfig/node12@^1.0.7": | ||
40 | version "1.0.9" | ||
41 | resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.9.tgz#62c1f6dee2ebd9aead80dc3afa56810e58e1a04c" | ||
42 | integrity sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw== | ||
43 | |||
44 | "@tsconfig/node14@^1.0.0": | ||
45 | version "1.0.1" | ||
46 | resolved "https://registry.yarnpkg.com/@tsconfig/node14/-/node14-1.0.1.tgz#95f2d167ffb9b8d2068b0b235302fafd4df711f2" | ||
47 | integrity sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg== | ||
48 | |||
49 | "@tsconfig/node16@^1.0.2": | ||
50 | version "1.0.2" | ||
51 | resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.2.tgz#423c77877d0569db20e1fc80885ac4118314010e" | ||
52 | integrity sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA== | ||
53 | |||
54 | "@types/cacheable-request@^6.0.1": | ||
55 | version "6.0.2" | ||
56 | resolved "https://registry.yarnpkg.com/@types/cacheable-request/-/cacheable-request-6.0.2.tgz#c324da0197de0a98a2312156536ae262429ff6b9" | ||
57 | integrity sha512-B3xVo+dlKM6nnKTcmm5ZtY/OL8bOAOd2Olee9M1zft65ox50OzjEHW91sDiU9j6cvW8Ejg1/Qkf4xd2kugApUA== | ||
58 | dependencies: | ||
59 | "@types/http-cache-semantics" "*" | ||
60 | "@types/keyv" "*" | ||
61 | "@types/node" "*" | ||
62 | "@types/responselike" "*" | ||
63 | |||
64 | "@types/http-cache-semantics@*": | ||
65 | version "4.0.1" | ||
66 | resolved "https://registry.yarnpkg.com/@types/http-cache-semantics/-/http-cache-semantics-4.0.1.tgz#0ea7b61496902b95890dc4c3a116b60cb8dae812" | ||
67 | integrity sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ== | ||
68 | |||
69 | "@types/keyv@*": | ||
70 | version "3.1.3" | ||
71 | resolved "https://registry.yarnpkg.com/@types/keyv/-/keyv-3.1.3.tgz#1c9aae32872ec1f20dcdaee89a9f3ba88f465e41" | ||
72 | integrity sha512-FXCJgyyN3ivVgRoml4h94G/p3kY+u/B86La+QptcqJaWtBWtmc6TtkNfS40n9bIvyLteHh7zXOtgbobORKPbDg== | ||
73 | dependencies: | ||
74 | "@types/node" "*" | ||
75 | |||
76 | "@types/node@*": | ||
77 | version "16.11.1" | ||
78 | resolved "https://registry.yarnpkg.com/@types/node/-/node-16.11.1.tgz#2e50a649a50fc403433a14f829eface1a3443e97" | ||
79 | integrity sha512-PYGcJHL9mwl1Ek3PLiYgyEKtwTMmkMw4vbiyz/ps3pfdRYLVv+SN7qHVAImrjdAXxgluDEw6Ph4lyv+m9UpRmA== | ||
80 | |||
81 | "@types/responselike@*", "@types/responselike@^1.0.0": | ||
82 | version "1.0.0" | ||
83 | resolved "https://registry.yarnpkg.com/@types/responselike/-/responselike-1.0.0.tgz#251f4fe7d154d2bad125abe1b429b23afd262e29" | ||
84 | integrity sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA== | ||
85 | dependencies: | ||
86 | "@types/node" "*" | ||
87 | |||
88 | "@types/sharp@^0.29.2": | ||
89 | version "0.29.2" | ||
90 | resolved "https://registry.yarnpkg.com/@types/sharp/-/sharp-0.29.2.tgz#b4e932e982e258d1013236c8b4bcc14f9883c9a3" | ||
91 | integrity sha512-tIbMvtPa8kMyFMKNhpsPT1HO3CgXLuiCAA8bxHAGAZLyALpYvYc4hUu3pu0+3oExQA5LwvHrWp+OilgXCYVQgg== | ||
92 | dependencies: | ||
93 | "@types/node" "*" | ||
94 | |||
95 | acorn-walk@^8.1.1: | ||
96 | version "8.2.0" | ||
97 | resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1" | ||
98 | integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== | ||
99 | |||
100 | acorn@^8.4.1: | ||
101 | version "8.5.0" | ||
102 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.5.0.tgz#4512ccb99b3698c752591e9bb4472e38ad43cee2" | ||
103 | integrity sha512-yXbYeFy+jUuYd3/CDcg2NkIYE991XYX/bje7LmjJigUciaeO1JR4XxXgCIV1/Zc/dRuFEyw1L0pbA+qynJkW5Q== | ||
104 | |||
105 | arg@^4.1.0: | ||
106 | version "4.1.3" | ||
107 | resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" | ||
108 | integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== | ||
109 | |||
110 | asynckit@^0.4.0: | ||
111 | version "0.4.0" | ||
112 | resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" | ||
113 | integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= | ||
114 | |||
115 | cacheable-lookup@^5.0.3: | ||
116 | version "5.0.4" | ||
117 | resolved "https://registry.yarnpkg.com/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz#5a6b865b2c44357be3d5ebc2a467b032719a7005" | ||
118 | integrity sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA== | ||
119 | |||
120 | cacheable-request@^7.0.1: | ||
121 | version "7.0.2" | ||
122 | resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-7.0.2.tgz#ea0d0b889364a25854757301ca12b2da77f91d27" | ||
123 | integrity sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew== | ||
124 | dependencies: | ||
125 | clone-response "^1.0.2" | ||
126 | get-stream "^5.1.0" | ||
127 | http-cache-semantics "^4.0.0" | ||
128 | keyv "^4.0.0" | ||
129 | lowercase-keys "^2.0.0" | ||
130 | normalize-url "^6.0.1" | ||
131 | responselike "^2.0.0" | ||
132 | |||
133 | clone-response@^1.0.2: | ||
134 | version "1.0.2" | ||
135 | resolved "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.2.tgz#d1dc973920314df67fbeb94223b4ee350239e96b" | ||
136 | integrity sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws= | ||
137 | dependencies: | ||
138 | mimic-response "^1.0.0" | ||
139 | |||
140 | combined-stream@^1.0.8: | ||
141 | version "1.0.8" | ||
142 | resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" | ||
143 | integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== | ||
144 | dependencies: | ||
145 | delayed-stream "~1.0.0" | ||
146 | |||
147 | create-require@^1.1.0: | ||
148 | version "1.1.1" | ||
149 | resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" | ||
150 | integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== | ||
151 | |||
152 | decompress-response@^6.0.0: | ||
153 | version "6.0.0" | ||
154 | resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-6.0.0.tgz#ca387612ddb7e104bd16d85aab00d5ecf09c66fc" | ||
155 | integrity sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ== | ||
156 | dependencies: | ||
157 | mimic-response "^3.1.0" | ||
158 | |||
159 | defer-to-connect@^2.0.0: | ||
160 | version "2.0.1" | ||
161 | resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-2.0.1.tgz#8016bdb4143e4632b77a3449c6236277de520587" | ||
162 | integrity sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg== | ||
163 | |||
164 | delayed-stream@~1.0.0: | ||
165 | version "1.0.0" | ||
166 | resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" | ||
167 | integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= | ||
168 | |||
169 | diff@^4.0.1: | ||
170 | version "4.0.2" | ||
171 | resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" | ||
172 | integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== | ||
173 | |||
174 | end-of-stream@^1.1.0: | ||
175 | version "1.4.4" | ||
176 | resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" | ||
177 | integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== | ||
178 | dependencies: | ||
179 | once "^1.4.0" | ||
180 | |||
181 | file-type@^16.5.3: | ||
182 | version "16.5.3" | ||
183 | resolved "https://registry.yarnpkg.com/file-type/-/file-type-16.5.3.tgz#474b7e88c74724046abb505e9b8ed4db30c4fc06" | ||
184 | integrity sha512-uVsl7iFhHSOY4bEONLlTK47iAHtNsFHWP5YE4xJfZ4rnX7S1Q3wce09XgqSC7E/xh8Ncv/be1lNoyprlUH/x6A== | ||
185 | dependencies: | ||
186 | readable-web-to-node-stream "^3.0.0" | ||
187 | strtok3 "^6.2.4" | ||
188 | token-types "^4.1.1" | ||
189 | |||
190 | form-data@^4.0.0: | ||
191 | version "4.0.0" | ||
192 | resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452" | ||
193 | integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== | ||
194 | dependencies: | ||
195 | asynckit "^0.4.0" | ||
196 | combined-stream "^1.0.8" | ||
197 | mime-types "^2.1.12" | ||
198 | |||
199 | get-stream@^5.1.0: | ||
200 | version "5.2.0" | ||
201 | resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" | ||
202 | integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== | ||
203 | dependencies: | ||
204 | pump "^3.0.0" | ||
205 | |||
206 | got@^11.8.2: | ||
207 | version "11.8.2" | ||
208 | resolved "https://registry.yarnpkg.com/got/-/got-11.8.2.tgz#7abb3959ea28c31f3576f1576c1effce23f33599" | ||
209 | integrity sha512-D0QywKgIe30ODs+fm8wMZiAcZjypcCodPNuMz5H9Mny7RJ+IjJ10BdmGW7OM7fHXP+O7r6ZwapQ/YQmMSvB0UQ== | ||
210 | dependencies: | ||
211 | "@sindresorhus/is" "^4.0.0" | ||
212 | "@szmarczak/http-timer" "^4.0.5" | ||
213 | "@types/cacheable-request" "^6.0.1" | ||
214 | "@types/responselike" "^1.0.0" | ||
215 | cacheable-lookup "^5.0.3" | ||
216 | cacheable-request "^7.0.1" | ||
217 | decompress-response "^6.0.0" | ||
218 | http2-wrapper "^1.0.0-beta.5.2" | ||
219 | lowercase-keys "^2.0.0" | ||
220 | p-cancelable "^2.0.0" | ||
221 | responselike "^2.0.0" | ||
222 | |||
223 | http-cache-semantics@^4.0.0: | ||
224 | version "4.1.0" | ||
225 | resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz#49e91c5cbf36c9b94bcfcd71c23d5249ec74e390" | ||
226 | integrity sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ== | ||
227 | |||
228 | http2-wrapper@^1.0.0-beta.5.2: | ||
229 | version "1.0.3" | ||
230 | resolved "https://registry.yarnpkg.com/http2-wrapper/-/http2-wrapper-1.0.3.tgz#b8f55e0c1f25d4ebd08b3b0c2c079f9590800b3d" | ||
231 | integrity sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg== | ||
232 | dependencies: | ||
233 | quick-lru "^5.1.1" | ||
234 | resolve-alpn "^1.0.0" | ||
235 | |||
236 | ieee754@^1.2.1: | ||
237 | version "1.2.1" | ||
238 | resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" | ||
239 | integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== | ||
240 | |||
241 | inherits@^2.0.3: | ||
242 | version "2.0.4" | ||
243 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" | ||
244 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== | ||
245 | |||
246 | json-buffer@3.0.1: | ||
247 | version "3.0.1" | ||
248 | resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" | ||
249 | integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== | ||
250 | |||
251 | keyv@^4.0.0: | ||
252 | version "4.0.3" | ||
253 | resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.0.3.tgz#4f3aa98de254803cafcd2896734108daa35e4254" | ||
254 | integrity sha512-zdGa2TOpSZPq5mU6iowDARnMBZgtCqJ11dJROFi6tg6kTn4nuUdU09lFyLFSaHrWqpIJ+EBq4E8/Dc0Vx5vLdA== | ||
255 | dependencies: | ||
256 | json-buffer "3.0.1" | ||
257 | |||
258 | lowercase-keys@^2.0.0: | ||
259 | version "2.0.0" | ||
260 | resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479" | ||
261 | integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA== | ||
262 | |||
263 | make-error@^1.1.1: | ||
264 | version "1.3.6" | ||
265 | resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" | ||
266 | integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== | ||
267 | |||
268 | mime-db@1.50.0: | ||
269 | version "1.50.0" | ||
270 | resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.50.0.tgz#abd4ac94e98d3c0e185016c67ab45d5fde40c11f" | ||
271 | integrity sha512-9tMZCDlYHqeERXEHO9f/hKfNXhre5dK2eE/krIvUjZbS2KPcqGDfNShIWS1uW9XOTKQKqK6qbeOci18rbfW77A== | ||
272 | |||
273 | mime-types@^2.1.12: | ||
274 | version "2.1.33" | ||
275 | resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.33.tgz#1fa12a904472fafd068e48d9e8401f74d3f70edb" | ||
276 | integrity sha512-plLElXp7pRDd0bNZHw+nMd52vRYjLwQjygaNg7ddJ2uJtTlmnTCjWuPKxVu6//AdaRuME84SvLW91sIkBqGT0g== | ||
277 | dependencies: | ||
278 | mime-db "1.50.0" | ||
279 | |||
280 | mimic-response@^1.0.0: | ||
281 | version "1.0.1" | ||
282 | resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" | ||
283 | integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== | ||
284 | |||
285 | mimic-response@^3.1.0: | ||
286 | version "3.1.0" | ||
287 | resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-3.1.0.tgz#2d1d59af9c1b129815accc2c46a022a5ce1fa3c9" | ||
288 | integrity sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ== | ||
289 | |||
290 | nanoid@^3.1.30: | ||
291 | version "3.1.30" | ||
292 | resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.30.tgz#63f93cc548d2a113dc5dfbc63bfa09e2b9b64362" | ||
293 | integrity sha512-zJpuPDwOv8D2zq2WRoMe1HsfZthVewpel9CAvTfc/2mBD1uUT/agc5f7GHGWXlYkFvi1mVxe4IjvP2HNrop7nQ== | ||
294 | |||
295 | normalize-url@^6.0.1: | ||
296 | version "6.1.0" | ||
297 | resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-6.1.0.tgz#40d0885b535deffe3f3147bec877d05fe4c5668a" | ||
298 | integrity sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A== | ||
299 | |||
300 | once@^1.3.1, once@^1.4.0: | ||
301 | version "1.4.0" | ||
302 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" | ||
303 | integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= | ||
304 | dependencies: | ||
305 | wrappy "1" | ||
306 | |||
307 | p-cancelable@^2.0.0: | ||
308 | version "2.1.1" | ||
309 | resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-2.1.1.tgz#aab7fbd416582fa32a3db49859c122487c5ed2cf" | ||
310 | integrity sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg== | ||
311 | |||
312 | peek-readable@^4.0.1: | ||
313 | version "4.0.1" | ||
314 | resolved "https://registry.yarnpkg.com/peek-readable/-/peek-readable-4.0.1.tgz#9a045f291db254111c3412c1ce4fec27ddd4d202" | ||
315 | integrity sha512-7qmhptnR0WMSpxT5rMHG9bW/mYSR1uqaPFj2MHvT+y/aOUu6msJijpKt5SkTDKySwg65OWG2JwTMBlgcbwMHrQ== | ||
316 | |||
317 | prettier@^2.4.1: | ||
318 | version "2.4.1" | ||
319 | resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.4.1.tgz#671e11c89c14a4cfc876ce564106c4a6726c9f5c" | ||
320 | integrity sha512-9fbDAXSBcc6Bs1mZrDYb3XKzDLm4EXXL9sC1LqKP5rZkT6KRr/rf9amVUcODVXgguK/isJz0d0hP72WeaKWsvA== | ||
321 | |||
322 | pump@^3.0.0: | ||
323 | version "3.0.0" | ||
324 | resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" | ||
325 | integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== | ||
326 | dependencies: | ||
327 | end-of-stream "^1.1.0" | ||
328 | once "^1.3.1" | ||
329 | |||
330 | quick-lru@^5.1.1: | ||
331 | version "5.1.1" | ||
332 | resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932" | ||
333 | integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== | ||
334 | |||
335 | readable-stream@^3.6.0: | ||
336 | version "3.6.0" | ||
337 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" | ||
338 | integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== | ||
339 | dependencies: | ||
340 | inherits "^2.0.3" | ||
341 | string_decoder "^1.1.1" | ||
342 | util-deprecate "^1.0.1" | ||
343 | |||
344 | readable-web-to-node-stream@^3.0.0: | ||
345 | version "3.0.2" | ||
346 | resolved "https://registry.yarnpkg.com/readable-web-to-node-stream/-/readable-web-to-node-stream-3.0.2.tgz#5d52bb5df7b54861fd48d015e93a2cb87b3ee0bb" | ||
347 | integrity sha512-ePeK6cc1EcKLEhJFt/AebMCLL+GgSKhuygrZ/GLaKZYEecIgIECf4UaUuaByiGtzckwR4ain9VzUh95T1exYGw== | ||
348 | dependencies: | ||
349 | readable-stream "^3.6.0" | ||
350 | |||
351 | resolve-alpn@^1.0.0: | ||
352 | version "1.2.1" | ||
353 | resolved "https://registry.yarnpkg.com/resolve-alpn/-/resolve-alpn-1.2.1.tgz#b7adbdac3546aaaec20b45e7d8265927072726f9" | ||
354 | integrity sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g== | ||
355 | |||
356 | responselike@^2.0.0: | ||
357 | version "2.0.0" | ||
358 | resolved "https://registry.yarnpkg.com/responselike/-/responselike-2.0.0.tgz#26391bcc3174f750f9a79eacc40a12a5c42d7723" | ||
359 | integrity sha512-xH48u3FTB9VsZw7R+vvgaKeLKzT6jOogbQhEe/jewwnZgzPcnyWui2Av6JpoYZF/91uueC+lqhWqeURw5/qhCw== | ||
360 | dependencies: | ||
361 | lowercase-keys "^2.0.0" | ||
362 | |||
363 | safe-buffer@~5.2.0: | ||
364 | version "5.2.1" | ||
365 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" | ||
366 | integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== | ||
367 | |||
368 | string_decoder@^1.1.1: | ||
369 | version "1.3.0" | ||
370 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" | ||
371 | integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== | ||
372 | dependencies: | ||
373 | safe-buffer "~5.2.0" | ||
374 | |||
375 | strtok3@^6.2.4: | ||
376 | version "6.2.4" | ||
377 | resolved "https://registry.yarnpkg.com/strtok3/-/strtok3-6.2.4.tgz#302aea64c0fa25d12a0385069ba66253fdc38a81" | ||
378 | integrity sha512-GO8IcFF9GmFDvqduIspUBwCzCbqzegyVKIsSymcMgiZKeCfrN9SowtUoi8+b59WZMAjIzVZic/Ft97+pynR3Iw== | ||
379 | dependencies: | ||
380 | "@tokenizer/token" "^0.3.0" | ||
381 | peek-readable "^4.0.1" | ||
382 | |||
383 | token-types@^4.1.1: | ||
384 | version "4.1.1" | ||
385 | resolved "https://registry.yarnpkg.com/token-types/-/token-types-4.1.1.tgz#ef9e8c8e2e0ded9f1b3f8dbaa46a3228b113ba1a" | ||
386 | integrity sha512-hD+QyuUAyI2spzsI0B7gf/jJ2ggR4RjkAo37j3StuePhApJUwcWDjnHDOFdIWYSwNR28H14hpwm4EI+V1Ted1w== | ||
387 | dependencies: | ||
388 | "@tokenizer/token" "^0.3.0" | ||
389 | ieee754 "^1.2.1" | ||
390 | |||
391 | ts-node@^10.3.0: | ||
392 | version "10.3.0" | ||
393 | resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.3.0.tgz#a797f2ed3ff50c9a5d814ce400437cb0c1c048b4" | ||
394 | integrity sha512-RYIy3i8IgpFH45AX4fQHExrT8BxDeKTdC83QFJkNzkvt8uFB6QJ8XMyhynYiKMLxt9a7yuXaDBZNOYS3XjDcYw== | ||
395 | dependencies: | ||
396 | "@cspotcode/source-map-support" "0.7.0" | ||
397 | "@tsconfig/node10" "^1.0.7" | ||
398 | "@tsconfig/node12" "^1.0.7" | ||
399 | "@tsconfig/node14" "^1.0.0" | ||
400 | "@tsconfig/node16" "^1.0.2" | ||
401 | acorn "^8.4.1" | ||
402 | acorn-walk "^8.1.1" | ||
403 | arg "^4.1.0" | ||
404 | create-require "^1.1.0" | ||
405 | diff "^4.0.1" | ||
406 | make-error "^1.1.1" | ||
407 | yn "3.1.1" | ||
408 | |||
409 | typescript@^4.4.4: | ||
410 | version "4.4.4" | ||
411 | resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.4.4.tgz#2cd01a1a1f160704d3101fd5a58ff0f9fcb8030c" | ||
412 | integrity sha512-DqGhF5IKoBl8WNf8C1gu8q0xZSInh9j1kJJMqT3a94w1JzVaBU4EXOSMrz9yDqMT0xt3selp83fuFMQ0uzv6qA== | ||
413 | |||
414 | util-deprecate@^1.0.1: | ||
415 | version "1.0.2" | ||
416 | resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" | ||
417 | integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= | ||
418 | |||
419 | wrappy@1: | ||
420 | version "1.0.2" | ||
421 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" | ||
422 | integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= | ||
423 | |||
424 | yn@3.1.1: | ||
425 | version "3.1.1" | ||
426 | resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" | ||
427 | integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== | ||