From 7d1ca165b7f6fd60b231e47e454c6e0968765282 Mon Sep 17 00:00:00 2001 From: TheEssem Date: Mon, 28 Oct 2019 11:02:00 -0500 Subject: [PATCH] Added gamexplain and yoda, replaced many unneeded packages --- assets/images/gamexplain.png | Bin 0 -> 73206 bytes commands/gamexplain.js | 25 ++ commands/haah.js | 5 +- commands/hooh.js | 5 +- commands/image.js | 10 +- commands/lengthen.js | 6 +- commands/scott.js | 2 +- commands/sonic.js | 3 +- commands/trump.js | 4 +- commands/waaw.js | 9 +- commands/wdt.js | 4 +- commands/woow.js | 9 +- commands/yoda.js | 10 + commands/youtube.js | 23 +- package-lock.json | 607 +++++++++++++---------------------- package.json | 6 +- readme.md | 3 +- 17 files changed, 301 insertions(+), 430 deletions(-) create mode 100644 assets/images/gamexplain.png create mode 100644 commands/gamexplain.js create mode 100644 commands/yoda.js diff --git a/assets/images/gamexplain.png b/assets/images/gamexplain.png new file mode 100644 index 0000000000000000000000000000000000000000..c12ad9619c96fe6b1d2b06e6015920dba5357e83 GIT binary patch literal 73206 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 aEB=4(0f+@pEF|Rs0000 { + const image = await require("../utils/imagedetect.js")(message); + if (image === undefined) return `${message.author.mention}, you need to provide an image to make a GameXplain thumbnail meme!`; + message.channel.sendTyping(); + const template = "./assets/images/gamexplain.png"; + const imageData = await fetch(image.url); + const imageBuffer = await imageData.buffer(); + const path = `/tmp/${Math.random().toString(36).substring(2, 15)}.${image.type}`; + require("util").promisify(fs.writeFile)(path, imageBuffer); + const command = gm(template).out("-background").out("white").out("-gravity").out("Center").out("(").out("-clone").out("0").out("(").out(path).out("-virtual-pixel").out("transparent").out("-resize").out("1181x571!").out(")").out("-geometry").out("+0+40").out("-composite").out(")").out("+swap").out("-composite"); + const resultBuffer = await gmToBuffer(command); + return message.channel.createMessage("", { + file: resultBuffer, + name: "gamexplain.png" + }); +}; + +exports.aliases = ["gx"]; \ No newline at end of file diff --git a/commands/haah.js b/commands/haah.js index 02e5cb6..f7b1696 100644 --- a/commands/haah.js +++ b/commands/haah.js @@ -3,7 +3,6 @@ const gm = require("gm").subClass({ imageMagick: true }); -const tempy = require("tempy"); const fetch = require("node-fetch"); exports.run = async (message) => { @@ -12,8 +11,8 @@ exports.run = async (message) => { message.channel.sendTyping(); const imageData = await fetch(image.url); const imageBuffer = await imageData.buffer(); - const data = tempy.file({ extension: image.type }); - const data2 = tempy.file({ extension: image.type }); + const data = `/tmp/${Math.random().toString(36).substring(2, 15)}.${image.type}`; + const data2 = `/tmp/${Math.random().toString(36).substring(2, 15)}.${image.type}`; gm(imageBuffer).gravity("West").crop("50%", 0).strip().write(data2, (error) => { if (error) console.error; gm(data2).flop().strip().write(data, async (error) => { diff --git a/commands/hooh.js b/commands/hooh.js index 945ac5e..311bf1f 100644 --- a/commands/hooh.js +++ b/commands/hooh.js @@ -3,7 +3,6 @@ const gm = require("gm").subClass({ imageMagick: true }); -const tempy = require("tempy"); const fetch = require("node-fetch"); exports.run = async (message) => { @@ -12,8 +11,8 @@ exports.run = async (message) => { message.channel.sendTyping(); const imageData = await fetch(image.url); const imageBuffer = await imageData.buffer(); - const data = tempy.file({ extension: image.type }); - const data2 = tempy.file({ extension: image.type }); + const data = `/tmp/${Math.random().toString(36).substring(2, 15)}.${image.type}`; + const data2 = `/tmp/${Math.random().toString(36).substring(2, 15)}.${image.type}`; gm(imageBuffer).gravity("South").crop(0, "50%").strip().write(data2, (error) => { if (error) console.error; gm(data2).flip().strip().write(data, async (error) => { diff --git a/commands/image.js b/commands/image.js index 9c02625..2fe2697 100644 --- a/commands/image.js +++ b/commands/image.js @@ -1,16 +1,16 @@ -const GoogleImages = require("google-images"); +const { google } = require("googleapis"); const client = require("../utils/client.js"); const paginator = require("../utils/pagination/pagination"); const config = require("../config.json"); +const search = google.customsearch("v1"); exports.run = async (message, args) => { if (!message.channel.guild.members.get(client.user.id).permission.has("addReactions") && !message.channel.permissionsOf(client.user.id).has("addReactions")) return `${message.author.mention}, I don't have the \`Add Reactions\` permission!`; if (!message.channel.guild.members.get(client.user.id).permission.has("embedLinks") && !message.channel.permissionsOf(client.user.id).has("embedLinks")) return `${message.author.mention}, I don't have the \`Embed Links\` permission!`; if (args.length === 0) return `${message.author.mention}, you need to provide something to search for!`; const embeds = []; - const imageSearch = new GoogleImages(config.cseID, config.googleKey); - const images = await imageSearch.search(args.join(" "), { safe: "high" }); - for (const [i, value] of images.entries()) { + const images = await search.cse.list({ searchType: "image", safe: "active", cx: config.cseID, q: args.join(" "), auth: config.googleKey }); + for (const [i, value] of images.data.items.entries()) { embeds.push({ "embed": { "title": "Search Results", @@ -19,7 +19,7 @@ exports.run = async (message, args) => { "text": `Page ${i + 1} of ${images.length}` }, "image": { - "url": value.url + "url": value.link }, "author": { "name": message.author.username, diff --git a/commands/lengthen.js b/commands/lengthen.js index e8125f5..9401a62 100644 --- a/commands/lengthen.js +++ b/commands/lengthen.js @@ -1,11 +1,13 @@ const urlCheck = require("../utils/urlcheck.js"); +const fetch = require("node-fetch"); exports.run = async (message, args) => { message.channel.sendTyping(); if (args.length === 0 || !urlCheck(args[0])) return `${message.author.mention}, you need to provide a short URL to lengthen!`; if (urlCheck(args[0])) { - const url = await require("url-unshort")().expand(args[0]); - return url; + //const url = await require("url-unshort")().expand(args[0]); + const url = await fetch(args[0], { redirect: "manual" }); + return url.headers.get("location") || args[0]; } }; diff --git a/commands/scott.js b/commands/scott.js index 08e583d..3ce6d43 100644 --- a/commands/scott.js +++ b/commands/scott.js @@ -12,7 +12,7 @@ exports.run = async (message) => { const template = "./assets/images/scott.png"; const imageData = await fetch(image.url); const imageBuffer = await imageData.buffer(); - const path = require("tempy").file({ extension: image.type }); + const path = `/tmp/${Math.random().toString(36).substring(2, 15)}.${image.type}`; require("util").promisify(fs.writeFile)(path, imageBuffer); const command = gm(template).out("-gravity").out("Center").out("(").out(path).out("-virtual-pixel").out("transparent").out("-resize").out("415x234!").out("+distort").out("Perspective").out("0,0 129,187 415,0 517,182 415,234 517,465 0,234 132,418").out("-geometry").out("-110+83").out(")").out("-composite"); const resultBuffer = await gmToBuffer(command); diff --git a/commands/sonic.js b/commands/sonic.js index 1a66202..ebb95c0 100644 --- a/commands/sonic.js +++ b/commands/sonic.js @@ -2,14 +2,13 @@ const gm = require("gm").subClass({ imageMagick: true }); const gmToBuffer = require("../utils/gmbuffer.js"); -const tempy = require("tempy"); const wrap = require("../utils/wrap.js"); exports.run = async (message, args) => { if (args.length === 0) return `${message.author.mention}, you need to provide an image to make a Sonic meme!`; message.channel.sendTyping(); const template = "./assets/images/sonic.jpg"; - const file = tempy.file({ extension: "png" }); + const file = `/tmp/${Math.random().toString(36).substring(2, 15)}.png`; const cleanedMessage = args.join(" ").replace(/&/g, "\\&").replace(/>/g, "\\>").replace(/ { if (error) console.error; diff --git a/commands/trump.js b/commands/trump.js index ed44688..1289c46 100644 --- a/commands/trump.js +++ b/commands/trump.js @@ -12,9 +12,7 @@ exports.run = async (message) => { const template = "./assets/images/trump.png"; const imageData = await fetch(image.url); const imageBuffer = await imageData.buffer(); - const path = require("tempy").file({ - extension: image.type - }); + const path = `/tmp/${Math.random().toString(36).substring(2, 15)}.${image.type}`; require("util").promisify(fs.writeFile)(path, imageBuffer); const command = gm(template).out("-background").out("none").out("-gravity").out("South").out("(").out("-clone").out("0").out("(").out(path).out("-virtual-pixel").out("transparent").out("-resize").out("365x179!").out("+distort").out("Perspective").out("0,0 207,268 365,0 548,271 365,179 558,450 0,179 193,450").out(")").out("-geometry").out("-25-1").out("-composite").out(")").out("+swap").out("-composite"); const resultBuffer = await gmToBuffer(command); diff --git a/commands/waaw.js b/commands/waaw.js index e775987..6d6e3d5 100644 --- a/commands/waaw.js +++ b/commands/waaw.js @@ -3,7 +3,6 @@ const gm = require("gm").subClass({ imageMagick: true }); -const tempy = require("tempy"); const fetch = require("node-fetch"); exports.run = async (message) => { @@ -12,12 +11,8 @@ exports.run = async (message) => { message.channel.sendTyping(); const imageData = await fetch(image.url); const imageBuffer = await imageData.buffer(); - const data = tempy.file({ - extension: image.type - }); - const data2 = tempy.file({ - extension: image.type - }); + const data = `/tmp/${Math.random().toString(36).substring(2, 15)}.${image.type}`; + const data2 = `/tmp/${Math.random().toString(36).substring(2, 15)}.${image.type}`; gm(imageBuffer).gravity("East").crop("50%", 0).strip().write(data2, (error) => { if (error) console.error; gm(data2).flop().strip().write(data, async (error) => { diff --git a/commands/wdt.js b/commands/wdt.js index f4e97ff..9ad0b50 100644 --- a/commands/wdt.js +++ b/commands/wdt.js @@ -12,9 +12,7 @@ exports.run = async (message) => { const template = "./assets/images/whodidthis.png"; const imageData = await fetch(image.url); const imageBuffer = await imageData.buffer(); - const path = require("tempy").file({ - extension: image.type - }); + const path = `/tmp/${Math.random().toString(36).substring(2, 15)}.${image.type}`; require("util").promisify(fs.writeFile)(path, imageBuffer); const command = gm(template).composite(path).gravity("Center").geometry("374x374+0+0"); const resultBuffer = await gmToBuffer(command); diff --git a/commands/woow.js b/commands/woow.js index 18094ee..f4209ee 100644 --- a/commands/woow.js +++ b/commands/woow.js @@ -3,7 +3,6 @@ const gm = require("gm").subClass({ imageMagick: true }); -const tempy = require("tempy"); const fetch = require("node-fetch"); exports.run = async (message) => { @@ -12,12 +11,8 @@ exports.run = async (message) => { message.channel.sendTyping(); const imageData = await fetch(image.url); const imageBuffer = await imageData.buffer(); - const data = tempy.file({ - extension: image.type - }); - const data2 = tempy.file({ - extension: image.type - }); + const data = `/tmp/${Math.random().toString(36).substring(2, 15)}.${image.type}`; + const data2 = `/tmp/${Math.random().toString(36).substring(2, 15)}.${image.type}`; gm(imageBuffer).gravity("North").crop(0, "50%").strip().write(data2, (error) => { if (error) console.error; gm(data2).flip().strip().write(data, async (error) => { diff --git a/commands/yoda.js b/commands/yoda.js new file mode 100644 index 0000000..6177f3a --- /dev/null +++ b/commands/yoda.js @@ -0,0 +1,10 @@ +const fetch = require("node-fetch"); + +exports.run = async (message, args) => { + if (args.length === 0) return `${message.author.mention}, you need to provide some text to translate to Yodish!`; + const request = await fetch(`https://yoda-api.appspot.com/api/v1/yodish?text=${args.join("%20")}`); + const json = await request.json(); + return json.yodish; +}; + +exports.aliases = ["yodish"]; \ No newline at end of file diff --git a/commands/youtube.js b/commands/youtube.js index 6573fc7..87cc506 100644 --- a/commands/youtube.js +++ b/commands/youtube.js @@ -1,16 +1,21 @@ -const YouTube = require("simple-youtube-api"); +const { google } = require("googleapis"); const config = require("../config.json"); -const youtube = new YouTube(config.googleKey); +const youtube = google.youtube({ + version: "v3", + auth: config.googleKey, +}); exports.run = async (message, args) => { if (args.length === 0) return `${message.author.mention}, you need to provide something to search for!`; message.channel.sendTyping(); - const result = await youtube.search(args.join(" "), 1); - if (result[0].type === "channel") { - return `<:youtube:637020823005167626> **${result[0].raw.snippet.title.replace("*", "\\*")}**\nhttps://youtube.com/channel/${result[0].id}`; - } else if (result[0].type === "playlist") { - return `<:youtube:637020823005167626> **${result[0].title.replace("*", "\\*")}**\nCreated by **${result[0].channel.title.replace("*", "\\*")}**\nhttps://youtube.com/playlist?list=${result[0].id}`; + const result = await youtube.search.list({ q: args.join(" "), part: "snippet" }); + if (result.data.items[0].id.kind === "youtube#channel") { + return `<:youtube:637020823005167626> **${result.data.items[0].snippet.title.replace("*", "\\*")}**\nhttps://youtube.com/channel/${result.data.items[0].id.channelId}`; + } else if (result.data.items[0].id.kind === "youtube#playlist") { + return `<:youtube:637020823005167626> **${result.data.items[0].snippet.title.replace("*", "\\*")}**\nCreated by **${result.data.items[0].snippet.channelTitle.replace("*", "\\*")}**\nhttps://youtube.com/playlist?list=${result.data.items[0].id.playlistId}`; } else { - return `<:youtube:637020823005167626> **${result[0].title.replace("*", "\\*")}**\nUploaded by **${result[0].channel.title.replace("*", "\\*")}** on **${result[0].publishedAt.toISOString().split("T")[0]}**\nhttps://youtube.com/watch?v=${result[0].id}`; + return `<:youtube:637020823005167626> **${result.data.items[0].snippet.title.replace("*", "\\*")}**\nUploaded by **${result.data.items[0].snippet.channelTitle.replace("*", "\\*")}** on **${result.data.items[0].snippet.publishedAt.split("T")[0]}**\nhttps://youtube.com/watch?v=${result.data.items[0].id.videoId}`; } -}; \ No newline at end of file +}; + +exports.aliases = ["yt", "video", "ytsearch"]; \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 7f99a53..b9306f1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -42,6 +42,14 @@ "resolved": "https://registry.npmjs.org/@types/node/-/node-12.11.7.tgz", "integrity": "sha512-JNbGaHFCLwgHn/iCckiGSOZ1XYHsKFwREtzPwSGCVld1SGhOlmZw2D4ZI94HQCrBHbADzW9m4LER/8olJTRGHA==" }, + "abort-controller": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", + "requires": { + "event-target-shim": "^5.0.0" + } + }, "acorn": { "version": "6.1.1", "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.1.1.tgz", @@ -54,6 +62,14 @@ "integrity": "sha512-HJ7CfNHrfJLlNTzIEUTj43LNWGkqpRLxm3YjAlcD0ACydk9XynzYsCBHxut+iqt+1aBXkx9UP/w/ZqMr13XIzg==", "dev": true }, + "agent-base": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz", + "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==", + "requires": { + "es6-promisify": "^5.0.0" + } + }, "ajv": { "version": "6.10.0", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.0.tgz", @@ -132,6 +148,7 @@ "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, "requires": { "sprintf-js": "~1.0.2" } @@ -146,6 +163,11 @@ "resolved": "https://registry.npmjs.org/array-series/-/array-series-0.1.5.tgz", "integrity": "sha1-3103v8XC7wdV4qpPkv6ufUtaly8=" }, + "arrify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz", + "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==" + }, "astral-regex": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", @@ -170,21 +192,17 @@ "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" }, - "axios": { - "version": "0.18.1", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.18.1.tgz", - "integrity": "sha512-0BfJq4NSfQXd+SkFdrvFbG7addhYSBA2mQwISr46pD6E5iqkWg02RAs8vyTT/j0RTnoYmeXauBuSv1qKwR179g==", - "requires": { - "follow-redirects": "1.5.10", - "is-buffer": "^2.0.2" - } - }, "balanced-match": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", "dev": true }, + "base64-js": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz", + "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==" + }, "better-sqlite-pool": { "version": "github:eslachance/better-sqlite-pool#99b91427e4137d6aa6d3a42076880fb02b0778ac", "from": "github:eslachance/better-sqlite-pool", @@ -227,6 +245,11 @@ } } }, + "bignumber.js": { + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-7.2.1.tgz", + "integrity": "sha512-S4XzBk5sMB+Rcb/LNcpzXr57VRTxgAvaAEDAl1AwRx27j00hT84O6OkteE7u8UB3NuaaygCRrEpqox4uDOrbdQ==" + }, "bindings": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", @@ -302,6 +325,11 @@ "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==" }, + "buffer-equal-constant-time": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", + "integrity": "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=" + }, "buffer-fill": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", @@ -326,11 +354,6 @@ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" }, - "capture-stack-trace": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.1.tgz", - "integrity": "sha512-mYQLZnx5Qt1JgB1WEiMCf2647plpGeQ2NMR/5L0HNZzGQo4fuSPnK+wjfPnKZV0aiJDgzmWqqkV/g7JD+DW0qw==" - }, "chalk": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", @@ -511,14 +534,6 @@ "strip-eof": "^1.0.0" } }, - "create-error-class": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz", - "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=", - "requires": { - "capture-stack-trace": "^1.0.0" - } - }, "cross-spawn": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-4.0.2.tgz", @@ -528,11 +543,6 @@ "which": "^1.2.9" } }, - "crypto-random-string": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz", - "integrity": "sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4=" - }, "css-select": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", @@ -586,11 +596,6 @@ "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", "dev": true }, - "deepmerge": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-1.5.2.tgz", - "integrity": "sha512-95k0GDqvBjZavkuvzx/YqVLv/6YYa17fz6ILMSf7neqQITCPbnfEnQvEgMPNjH4kgobe7+WIL0yJEHku+H3qtQ==" - }, "delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", @@ -661,10 +666,13 @@ "domelementtype": "1" } }, - "duplexer3": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", - "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=" + "ecdsa-sig-formatter": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", + "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", + "requires": { + "safe-buffer": "^5.0.1" + } }, "emoji-regex": { "version": "7.0.3", @@ -722,10 +730,24 @@ "nan": "^2.1.0" } }, + "es6-promise": { + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", + "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==" + }, + "es6-promisify": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", + "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", + "requires": { + "es6-promise": "^4.0.3" + } + }, "escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true }, "eslint": { "version": "5.16.0", @@ -840,7 +862,8 @@ "esprima": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true }, "esquery": { "version": "1.0.1", @@ -872,6 +895,11 @@ "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", "dev": true }, + "event-target-shim": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==" + }, "eventemitter3": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.2.tgz", @@ -882,6 +910,11 @@ "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==" }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + }, "external-editor": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.0.3.tgz", @@ -927,6 +960,11 @@ "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.0.6.tgz", "integrity": "sha512-q8BZ89jjc+mz08rSxROs8VsrBBcn1SIw1kq9NjolL509tkABRk9io01RAjSaEv1Xb2uFLt8VtRiZbGp5H8iDtg==" }, + "fast-text-encoding": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fast-text-encoding/-/fast-text-encoding-1.0.0.tgz", + "integrity": "sha512-R9bHCvweUxxwkDwhjav5vxpFvdPGlVngtqmx4pIZfSUhM/Q4NiIUHB456BAf+Q1Nwu3HEZYONtu+Rya+af4jiQ==" + }, "fecha": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/fecha/-/fecha-2.3.3.tgz", @@ -985,29 +1023,6 @@ "integrity": "sha512-R+H8IZclI8AAkSBRQJLVOsxwAoHd6WC40b4QTNWIjzAa6BXOBfQcM587MXDTVPeYaopFNWHUFLx7eNmHDSxMWg==", "dev": true }, - "follow-redirects": { - "version": "1.5.10", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz", - "integrity": "sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==", - "requires": { - "debug": "=3.1.0" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - } - } - }, "form-data": { "version": "2.5.1", "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz", @@ -1096,6 +1111,34 @@ } } }, + "gaxios": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/gaxios/-/gaxios-2.1.0.tgz", + "integrity": "sha512-Gtpb5sdQmb82sgVkT2GnS2n+Kx4dlFwbeMYcDlD395aEvsLCSQXJJcHt7oJ2LrGxDEAeiOkK79Zv2A8Pzt6CFg==", + "requires": { + "abort-controller": "^3.0.0", + "extend": "^3.0.2", + "https-proxy-agent": "^3.0.0", + "is-stream": "^2.0.0", + "node-fetch": "^2.3.0" + }, + "dependencies": { + "is-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", + "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==" + } + } + }, + "gcp-metadata": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-3.2.0.tgz", + "integrity": "sha512-ympv+yQ6k5QuWCuwQqnGEvFGS7MBKdcQdj1i188v3bW9QLFIchTGaBCEZxSQapT0jffdn1vdt8oJhB5VBWQO1Q==", + "requires": { + "gaxios": "^2.0.1", + "json-bigint": "^0.3.0" + } + }, "get-caller-file": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", @@ -1106,11 +1149,6 @@ "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-5.0.1.tgz", "integrity": "sha1-Ei4WFZHiH/TFJTAwVpPyDmOTo5g=" }, - "get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" - }, "github-from-package": { "version": "0.0.0", "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", @@ -1147,30 +1185,70 @@ "debug": "^3.1.0" } }, - "google-images": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/google-images/-/google-images-2.1.0.tgz", - "integrity": "sha1-EnSuQEgll4Jk06T48tUmuI0L8Cw=", + "google-auth-library": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-5.5.1.tgz", + "integrity": "sha512-zCtjQccWS/EHYyFdXRbfeSGM/gW+d7uMAcVnvXRnjBXON5ijo6s0nsObP0ifqileIDSbZjTlLtgo+UoN8IFJcg==", "requires": { - "got": "^6.7.1" + "arrify": "^2.0.0", + "base64-js": "^1.3.0", + "fast-text-encoding": "^1.0.0", + "gaxios": "^2.1.0", + "gcp-metadata": "^3.2.0", + "gtoken": "^4.1.0", + "jws": "^3.1.5", + "lru-cache": "^5.0.0" + }, + "dependencies": { + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "requires": { + "yallist": "^3.0.2" + } + } } }, - "got": { - "version": "6.7.1", - "resolved": "https://registry.npmjs.org/got/-/got-6.7.1.tgz", - "integrity": "sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=", + "google-p12-pem": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/google-p12-pem/-/google-p12-pem-2.0.2.tgz", + "integrity": "sha512-UfnEARfJKI6pbmC1hfFFm+UAcZxeIwTiEcHfqKe/drMsXD/ilnVjF7zgOGpHXyhuvX6jNJK3S8A0hOQjwtFxEw==", "requires": { - "create-error-class": "^3.0.0", - "duplexer3": "^0.1.4", - "get-stream": "^3.0.0", - "is-redirect": "^1.0.0", - "is-retry-allowed": "^1.0.0", - "is-stream": "^1.0.0", - "lowercase-keys": "^1.0.0", - "safe-buffer": "^5.0.1", - "timed-out": "^4.0.0", - "unzip-response": "^2.0.1", - "url-parse-lax": "^1.0.0" + "node-forge": "^0.9.0" + } + }, + "googleapis": { + "version": "44.0.0", + "resolved": "https://registry.npmjs.org/googleapis/-/googleapis-44.0.0.tgz", + "integrity": "sha512-xfToYX/Z7zkGJnMjA2FTRZGqc3W+3WjU7KH6jh6+GvQBxEofZjEcfDmy+h+yZKeky7mWBT35LdRr1MM2jXYnyA==", + "requires": { + "google-auth-library": "^5.2.0", + "googleapis-common": "^3.1.0" + } + }, + "googleapis-common": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/googleapis-common/-/googleapis-common-3.1.1.tgz", + "integrity": "sha512-sXNS9oJifZOk2Pa6SzxoSfv0Mj9y/qIOsVV7D8WHuH//90CXNnpR/nCYVa+KcPMDT9ONq21sbtvjfKATMV1Bug==", + "requires": { + "extend": "^3.0.2", + "gaxios": "^2.0.1", + "google-auth-library": "^5.2.0", + "qs": "^6.7.0", + "url-template": "^2.0.8", + "uuid": "^3.3.2" + } + }, + "gtoken": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/gtoken/-/gtoken-4.1.0.tgz", + "integrity": "sha512-wqyn2gf5buzEZN4QNmmiiW2i2JkEdZnL7Z/9p44RtZqgt4077m4khRgAYNuu8cBwHWCc6MsP6eDUn/KkF6jFIw==", + "requires": { + "gaxios": "^2.0.0", + "google-p12-pem": "^2.0.0", + "jws": "^3.1.5", + "mime": "^2.2.0" } }, "has-flag": { @@ -1179,19 +1257,6 @@ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true }, - "has-symbol-support-x": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz", - "integrity": "sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==" - }, - "has-to-string-tag-x": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz", - "integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==", - "requires": { - "has-symbol-support-x": "^1.4.1" - } - }, "has-unicode": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", @@ -1210,6 +1275,15 @@ "readable-stream": "^3.1.1" } }, + "https-proxy-agent": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-3.0.1.tgz", + "integrity": "sha512-+ML2Rbh6DAuee7d07tYGEKOEi2voWPUGan+ExdPbPW6Z3svq+JCqr0v8WmKPOkz1vOVykPCBSuobe7G8GJUtVg==", + "requires": { + "agent-base": "^4.3.0", + "debug": "^3.1.0" + } + }, "iconv-lite": { "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", @@ -1309,47 +1383,17 @@ "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" }, - "is-buffer": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.3.tgz", - "integrity": "sha512-U15Q7MXTuZlrbymiz95PJpZxu8IlipAp4dtS3wOdgPXx3mqBnslrWU14kxfHB+Py/+2PVKSr37dMAgM2A4uArw==" - }, "is-fullwidth-code-point": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" }, - "is-google-domain": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-google-domain/-/is-google-domain-1.0.0.tgz", - "integrity": "sha1-feHSOqFHuGrJbG0H4PFt+GYARzM=" - }, - "is-object": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.1.tgz", - "integrity": "sha1-iVJojF7C/9awPsyF52ngKQMINHA=" - }, - "is-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=" - }, "is-promise": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=", "dev": true }, - "is-redirect": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz", - "integrity": "sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ=" - }, - "is-retry-allowed": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz", - "integrity": "sha1-EaBgVotnM5REAz0BJaYaINVk+zQ=" - }, "is-stream": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", @@ -1365,20 +1409,6 @@ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" }, - "iso8601-duration": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/iso8601-duration/-/iso8601-duration-1.2.0.tgz", - "integrity": "sha512-ErTBd++b17E8nmWII1K1uZtBgD1E8RjyvwmxlCjPHNqHMD7gmcMHOw0E8Ro/6+QT4PhHRSnnMo7bxa1vFPkwhg==" - }, - "isurl": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz", - "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==", - "requires": { - "has-to-string-tag-x": "^1.2.0", - "is-object": "^1.0.1" - } - }, "js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -1389,11 +1419,20 @@ "version": "3.13.1", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", + "dev": true, "requires": { "argparse": "^1.0.7", "esprima": "^4.0.0" } }, + "json-bigint": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/json-bigint/-/json-bigint-0.3.0.tgz", + "integrity": "sha1-DM2RLEuCcNBfBW+9E4FLU9OCWx4=", + "requires": { + "bignumber.js": "^7.0.0" + } + }, "json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", @@ -1411,6 +1450,25 @@ "resolved": "https://registry.npmjs.org/jsqr/-/jsqr-1.2.0.tgz", "integrity": "sha512-wKcQS9QC2VHGk7aphWCp1RrFyC0CM6fMgC5prZZ2KV/Lk6OKNoCod9IR6bao+yx3KPY0gZFC5dc+h+KFzCI0Wg==" }, + "jwa": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", + "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==", + "requires": { + "buffer-equal-constant-time": "1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" + } + }, + "jws": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", + "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", + "requires": { + "jwa": "^1.4.1", + "safe-buffer": "^5.0.1" + } + }, "kuler": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/kuler/-/kuler-1.0.1.tgz", @@ -1443,66 +1501,6 @@ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==" }, - "lodash.assignin": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.assignin/-/lodash.assignin-4.2.0.tgz", - "integrity": "sha1-uo31+4QesKPoBEIysOJjqNxqKKI=" - }, - "lodash.bind": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/lodash.bind/-/lodash.bind-4.2.1.tgz", - "integrity": "sha1-euMBfpOWIqwxt9fX3LGzTbFpDTU=" - }, - "lodash.defaults": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", - "integrity": "sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw=" - }, - "lodash.filter": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.filter/-/lodash.filter-4.6.0.tgz", - "integrity": "sha1-ZosdSYFgOuHMWm+nYBQ+SAtMSs4=" - }, - "lodash.flatten": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", - "integrity": "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=" - }, - "lodash.foreach": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.foreach/-/lodash.foreach-4.5.0.tgz", - "integrity": "sha1-Gmo16s5AEoDH8G3d7DUWWrJ+PlM=" - }, - "lodash.map": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.map/-/lodash.map-4.6.0.tgz", - "integrity": "sha1-dx7Hg540c9nEzeKLGTlMNWL09tM=" - }, - "lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" - }, - "lodash.pick": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz", - "integrity": "sha1-UvBWEP/53tQiYRRB7R/BI6AwAbM=" - }, - "lodash.reduce": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.reduce/-/lodash.reduce-4.6.0.tgz", - "integrity": "sha1-8atrg5KZrUj3hKu/R2WW8DuRTTs=" - }, - "lodash.reject": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.reject/-/lodash.reject-4.6.0.tgz", - "integrity": "sha1-gNZJLcFHCGS79YNTO2UfQqn1JBU=" - }, - "lodash.some": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.some/-/lodash.some-4.6.0.tgz", - "integrity": "sha1-G7nzFO9ri63tE7VJFpsqlF62jk0=" - }, "logform": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/logform/-/logform-2.1.2.tgz", @@ -1515,11 +1513,6 @@ "triple-beam": "^1.3.0" } }, - "lowercase-keys": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", - "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==" - }, "lru-cache": { "version": "4.1.5", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", @@ -1536,10 +1529,10 @@ } } }, - "mdurl": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", - "integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=" + "mime": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz", + "integrity": "sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==" }, "mime-db": { "version": "1.40.0", @@ -1654,6 +1647,11 @@ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz", "integrity": "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==" }, + "node-forge": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.9.1.tgz", + "integrity": "sha512-G6RlQt5Sb4GMBzXvhfkeFmbqR6MzhtnT7VTHuLadjkii3rdYHNdw0m8zA4BTxVIh68FicCQ2NSUANpsqkr9jvQ==" + }, "node-gyp-build": { "version": "3.7.0", "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-3.7.0.tgz", @@ -1803,16 +1801,6 @@ "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", "dev": true }, - "p-cancelable": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.3.0.tgz", - "integrity": "sha512-RVbZPLso8+jFeq1MfNvgXtCRED2raz/dKpacfTNxsx6pLEpEomM7gah6VeHSYV3+vo0OAi4MkArtQcWWXuQoyw==" - }, - "p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" - }, "p-limit": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz", @@ -1829,14 +1817,6 @@ "p-limit": "^2.0.0" } }, - "p-timeout": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-1.2.1.tgz", - "integrity": "sha1-XrOzU7f86Z8QGhA4iAuwVOu+o4Y=", - "requires": { - "p-finally": "^1.0.0" - } - }, "p-try": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", @@ -1942,11 +1922,6 @@ "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", "dev": true }, - "prepend-http": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", - "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=" - }, "process-nextick-args": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", @@ -1966,7 +1941,8 @@ "punycode": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true }, "qrcode": { "version": "1.4.2", @@ -1979,6 +1955,11 @@ "yargs": "^13.2.4" } }, + "qs": { + "version": "6.9.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.0.tgz", + "integrity": "sha512-27RP4UotQORTpmNQDX8BHPukOnBP3p1uUJY5UnDhaJB+rMt9iMsok724XL+UHU23bEFOHRMQ2ZhI99qOWUMGFA==" + }, "rc": { "version": "1.2.8", "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", @@ -2068,11 +2049,6 @@ "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", "dev": true }, - "require-all": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/require-all/-/require-all-2.2.0.tgz", - "integrity": "sha1-tEIMIzrAKC0P9Jsnf7iAqLXeCJQ=" - }, "require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", @@ -2146,11 +2122,6 @@ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", "dev": true }, - "sax": { - "version": "0.5.8", - "resolved": "https://registry.npmjs.org/sax/-/sax-0.5.8.tgz", - "integrity": "sha1-1HLbIo6zMcJQaw6MFVJK25OdEsE=" - }, "semver": { "version": "5.7.0", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz", @@ -2237,15 +2208,6 @@ "is-arrayish": "^0.3.1" } }, - "simple-youtube-api": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/simple-youtube-api/-/simple-youtube-api-5.2.1.tgz", - "integrity": "sha512-vmndP9Bkh35tifn2OwY+th2imSsfYtmDqczgdOW5yEARFzvSoR8VSQFsivJnctfV5QHQUL6VrOpNdbmDRLh9Bg==", - "requires": { - "iso8601-duration": "^1.2.0", - "node-fetch": "^2.6.0" - } - }, "slice-ansi": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", @@ -2260,7 +2222,8 @@ "sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true }, "stack-trace": { "version": "0.0.10", @@ -2430,20 +2393,6 @@ } } }, - "temp-dir": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-1.0.0.tgz", - "integrity": "sha1-CnwOom06Oa+n4OvqnB/AvE2qAR0=" - }, - "tempy": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/tempy/-/tempy-0.2.1.tgz", - "integrity": "sha512-LB83o9bfZGrntdqPuRdanIVCPReam9SOZKW0fOy5I9X3A854GGWi0tjCqoXEk84XIEYBc/x9Hq3EFop/H5wJaw==", - "requires": { - "temp-dir": "^1.0.0", - "unique-string": "^1.0.0" - } - }, "text-hex": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/text-hex/-/text-hex-1.0.0.tgz", @@ -2461,11 +2410,6 @@ "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", "dev": true }, - "timed-out": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", - "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=" - }, "to-buffer": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", @@ -2505,19 +2449,6 @@ "prelude-ls": "~1.1.2" } }, - "unique-string": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz", - "integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=", - "requires": { - "crypto-random-string": "^1.0.0" - } - }, - "unzip-response": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/unzip-response/-/unzip-response-2.0.1.tgz", - "integrity": "sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c=" - }, "uri-js": { "version": "4.2.2", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", @@ -2527,86 +2458,21 @@ "punycode": "^2.1.0" } }, - "url-parse-lax": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", - "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", - "requires": { - "prepend-http": "^1.0.1" - } - }, - "url-to-options": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/url-to-options/-/url-to-options-1.0.1.tgz", - "integrity": "sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k=" - }, - "url-unshort": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/url-unshort/-/url-unshort-5.0.0.tgz", - "integrity": "sha1-YkqSuTFg/aXoLhdevoGBVO077Xg=", - "requires": { - "cheerio": "^0.22.0", - "deepmerge": "^1.3.1", - "escape-string-regexp": "^1.0.5", - "got": "^7.0.0", - "is-google-domain": "^1.0.0", - "js-yaml": "^3.7.0", - "mdurl": "^1.0.0", - "punycode": "^2.0.1", - "require-all": "^2.0.0" - }, - "dependencies": { - "cheerio": { - "version": "0.22.0", - "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-0.22.0.tgz", - "integrity": "sha1-qbqoYKP5tZWmuBsahocxIe06Jp4=", - "requires": { - "css-select": "~1.2.0", - "dom-serializer": "~0.1.0", - "entities": "~1.1.1", - "htmlparser2": "^3.9.1", - "lodash.assignin": "^4.0.9", - "lodash.bind": "^4.1.4", - "lodash.defaults": "^4.0.1", - "lodash.filter": "^4.4.0", - "lodash.flatten": "^4.2.0", - "lodash.foreach": "^4.3.0", - "lodash.map": "^4.4.0", - "lodash.merge": "^4.4.0", - "lodash.pick": "^4.2.1", - "lodash.reduce": "^4.4.0", - "lodash.reject": "^4.4.0", - "lodash.some": "^4.4.0" - } - }, - "got": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/got/-/got-7.1.0.tgz", - "integrity": "sha512-Y5WMo7xKKq1muPsxD+KmrR8DH5auG7fBdDVueZwETwV6VytKyU9OX/ddpq2/1hp1vIPvVb4T81dKQz3BivkNLw==", - "requires": { - "decompress-response": "^3.2.0", - "duplexer3": "^0.1.4", - "get-stream": "^3.0.0", - "is-plain-obj": "^1.1.0", - "is-retry-allowed": "^1.0.0", - "is-stream": "^1.0.0", - "isurl": "^1.0.0-alpha5", - "lowercase-keys": "^1.0.0", - "p-cancelable": "^0.3.0", - "p-timeout": "^1.1.1", - "safe-buffer": "^5.0.1", - "timed-out": "^4.0.0", - "url-parse-lax": "^1.0.0", - "url-to-options": "^1.0.1" - } - } - } + "url-template": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/url-template/-/url-template-2.0.8.tgz", + "integrity": "sha1-/FZaPMy/93MMd19WQflVV5FDnyE=" }, "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" }, + "uuid": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.3.tgz", + "integrity": "sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ==" + }, "uws": { "version": "10.148.2", "resolved": "https://registry.npmjs.org/uws/-/uws-10.148.2.tgz", @@ -2754,14 +2620,6 @@ "async-limiter": "^1.0.0" } }, - "xml2js": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.2.8.tgz", - "integrity": "sha1-m4FpCTFjH/CdGVdUn69U9PmAs8I=", - "requires": { - "sax": "0.5.x" - } - }, "xtend": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", @@ -2828,15 +2686,6 @@ "decamelize": "^1.2.0" } }, - "youtube-search": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/youtube-search/-/youtube-search-1.1.4.tgz", - "integrity": "sha512-eS3VAqm2avF094d/zu/iKjxMWIAPZ9GZ2V4qVYlznUwt2gEfQRG64o4rRHmeG60GGPCRNoPIJfbjilbfGSMfVA==", - "requires": { - "axios": "^0.18.0", - "xml2js": "~0.2.8" - } - }, "zlib-sync": { "version": "0.1.5", "resolved": "https://registry.npmjs.org/zlib-sync/-/zlib-sync-0.1.5.tgz", diff --git a/package.json b/package.json index df76887..f783671 100644 --- a/package.json +++ b/package.json @@ -26,7 +26,7 @@ "eventemitter3": "^3.1.2", "file-type": "^10.9.0", "gm": "^1.23.1", - "google-images": "^2.1.0", + "googleapis": "^44.0.0", "jsqr": "^1.2.0", "moment": "^2.24.0", "moment-duration-format": "^2.3.2", @@ -35,12 +35,8 @@ "qrcode": "^1.4.2", "retrotext": "github:TheEssem/retrotext", "sharp": "^0.22.1", - "simple-youtube-api": "^5.2.1", - "tempy": "^0.2.1", - "url-unshort": "^5.0.0", "uws": "^10.148.1", "winston": "^3.2.1", - "youtube-search": "^1.1.4", "zlib-sync": "^0.1.5" }, "devDependencies": { diff --git a/readme.md b/readme.md index 7071546..d1d6928 100644 --- a/readme.md +++ b/readme.md @@ -22,7 +22,8 @@ npm install ``` Finally, fill in the info inside `config.json` and run `app.js`. +If you want to run this on Windows, I highly recommend using Windows Subsystem for Linux. ## Credits -Logo by [Stellio](https://twitter.com/MeloncholySteel). +Icon by [Stellio](https://twitter.com/MeloncholySteel). All images and sounds are copyright of their respective owners.