commit e4bf3bec567aa2fd7c3ef37e0b4b8a763ae7e7c9
parent 87b0223f32dafcbf0b943f6dd54274a8c8fcffa5
Author: Demonstrandum <moi@knutsen.co>
Date: Thu, 19 Mar 2020 15:37:52 +0000
Added boomer.ts.
Diffstat:
22 files changed, 288 insertions(+), 63 deletions(-)
diff --git a/HELP.md b/HELP.md
@@ -79,17 +79,17 @@
- `!weather <location>` — gives you the weather in a certain location, if location is left blank, it will either give you the weather in the default location, or in the area you `set` previously.
- `!say [phrase]` — Repeats what you told it to say.
- `!milkies` — In case you're feeling thirsty...
-- `!cowsay <options> [phrase]` **〈not impl.〉** — Make a cow say something, using Unix-like command line arguments.
-- `!figlet <options> [phrase]` **〈not impl.〉** — Print text in ASCII format, using Unix-like command line arguments.
-- `!roll <upper-bound>` **〈not impl.〉** — Roll a dice, default upper bound is 6.
+- `!{cowsay,cowthink} <options> [phrase]` — Make a cow say something, using Unix-like command-line arguments.
+- `!figlet <options> [phrase]` — Print text in ASCII format, using Unix-like command-line arguments.
+- `!roll <upper-bound>` — Roll a dice, default upper bound is 6.
- `!8ball` — Ask a question, receive a response.
- `!summon [@user-name]` **〈not impl.〉** — Summon someone to the server by making the bot poke them in their DMs about it.
-- `!mock [phrase]` **〈not impl.〉** — Say something, _bUt iN a MocKiNg WaY_...
-- `!boomer [phrase]` **〈not impl.〉** — Say something, but in the way your demented boomer uncle would write it on Facebook.
+- `!mock [phrase]` — Say something, _bUt iN a MocKiNg WaY_...
+- `!boomer [phrase]` — Say something, but in the way your demented boomer uncle would write it on Facebook.
- `!ship [@user-name] [@user-name]` — Shows the love grade between two people.
- `!kiss [@user-name]` — Blow a kiss to someone you like!
- `!emojify [phrase]` — Turn your text into discord-style emoji.
-
+- `!B [phrase]` — Replace some elements of your text with a certain U+1F171.
▬▬▬
**Source Code & Bugs:**
diff --git a/lib/commands/b.ts b/lib/commands/b.ts
@@ -4,19 +4,16 @@ export default home_scope => {
const { message, args }
: { message: Message, args: string[] } = home_scope;
- let input: string;
-
- if (args.length === 0)
- input = "b";
- else
- input = args.join(' ').toLowerCase();
+ const input = (args.length === 0)
+ ? "b"
+ : args.join(' ').toLowerCase();
const alphabet = 'pb';
- let letters = [...input].map((chr: any) =>
+ const letters = [...input].map((chr: any) =>
isNaN(chr) && alphabet.includes(chr)
? `b`.emojify()
- : chr)
+ : chr);
message.channel.send(letters.join(' '));
};
diff --git a/lib/commands/boomer.ts b/lib/commands/boomer.ts
@@ -0,0 +1,79 @@
+declare global {
+ interface Array<T> {
+ demented_join(sep: string, sep_alt: string, prob: number): string;
+ }
+ interface String {
+ demented_upcase(prob: number): string;
+ demented_spelling(): string;
+ }
+}
+
+Array.prototype.demented_join = function (sep = ', ', sep_alt = ' ', prob = 0.2) {
+ let s = "";
+ let sep_temp = "";
+ for (const e of this) {
+ if (!e) continue;
+
+ const l_space = Math.random() < prob ? sep_alt : '';
+ const r_space = Math.random() < prob ? sep_alt : '';
+ const elem = `${l_space}${e}${r_space}`;
+ s += `${sep_temp}${elem}`;
+ sep_temp = sep;
+ }
+ return s;
+};
+
+String.prototype.demented_upcase = function (prob = 0.2) {
+ if (Math.random() < prob)
+ return this.toUpperCase() + ((Math.random() < 0.1) ? '!' : '');
+ else return this.toString();
+};
+
+String.prototype.demented_spelling = function () {
+ const given = String(this);
+ switch (given) {
+ case 'than':
+ return 'then';
+ case 'then':
+ return 'than';
+ case 'your':
+ return 'yore';
+ case 'their':
+ return 'there';
+ case 'they\'re':
+ return 'their';
+ case 'there':
+ return 'their';
+ default:
+ break;
+ }
+ return given;
+};
+
+const boomerfy = (original: string): string => {
+ if (original.trim().length < 1)
+ return boomerfy("Ok, boomer.");
+
+ let string = original
+ .toLowerCase()
+ .split(' ')
+ .map(e => e.demented_spelling()).join(' ')
+ .replace(/(.*)n't(.*)/g, "$1'nt$2")
+ .replace(/(.*)'re(.*)/, '$1r$2')
+ .replace(/([^\.])\./g, '$1 .');
+
+ string = string.split(/[ ]/)
+ .map(s => s.demented_upcase(0.1))
+ .demented_join(' ', ',', 0.01);
+ string = string.split(/[ ]/).demented_join(' ', ' ... ', 0.01);
+ string = string.split(/[ ]/).demented_join(' ', ' ', 0.02);
+
+ string = string
+ .replace(/,/g, ' ,');
+ return string;
+};
+
+export default home_scope => {
+ const { message, args } = home_scope;
+ message.reply(boomerfy(args.join(' ')));
+};
diff --git a/lib/commands/cowsay.ts b/lib/commands/cowsay.ts
@@ -1,4 +1,4 @@
-import { execFileSync as exec_file_sync } from 'child_process'
+import { execFileSync as exec_file_sync } from 'child_process';
export default home_scope => {
const { message, args } = home_scope;
// This is safe because no shell is spawned:
diff --git a/lib/commands/cowthink.ts b/lib/commands/cowthink.ts
@@ -1,4 +1,4 @@
-import { execFileSync as exec_file_sync } from 'child_process'
+import { execFileSync as exec_file_sync } from 'child_process';
export default home_scope => {
const { message, args } = home_scope;
// This is safe because no shell is spawned:
diff --git a/lib/commands/figlet.ts b/lib/commands/figlet.ts
@@ -1,4 +1,4 @@
-import { execFileSync as exec_file_sync } from 'child_process'
+import { execFileSync as exec_file_sync } from 'child_process';
export default home_scope => {
const { message, args } = home_scope;
// This is safe because no shell is spawned:
diff --git a/lib/commands/fork.ts b/lib/commands/fork.ts
@@ -1,4 +1,4 @@
export default home_scope => {
const { message, GIT_URL } = home_scope;
message.answer(`${GIT_URL}/fork`);
-}-
\ No newline at end of file
+};
diff --git a/lib/commands/github.ts b/lib/commands/github.ts
@@ -1,4 +1,4 @@
export default home_scope => {
const { message, GIT_URL } = home_scope;
message.answer(`${GIT_URL}/`);
-}-
\ No newline at end of file
+};
diff --git a/lib/commands/id.ts b/lib/commands/id.ts
@@ -1,13 +1,12 @@
export default home_scope => {
- const { message } = home_scope
+ const { message } = home_scope;
const rep = [];
- ['channel', 'user', 'role'].forEach(n =>
- message[n + 's'].each(o => rep.push(n + ' id: `' + o.id + '`'))
- )
- //joining an empty array yields an empty string which is false
+ ['channel', 'user', 'role'].each(n =>
+ message[n + 's'].each(o => rep.push(n + ' id: `' + o.id + '`')));
+ // Joining an empty array yields an empty string which is false
const reply = rep.join(', ') || `User ID: \`${message.author.id}\`
Author: ${message.author}
- Message ID: \`${message.id}\``;
+ Message ID: \`${message.id}\``.squeeze();
console.log(`Replied: ${reply}`);
message.answer(reply);
-}-
\ No newline at end of file
+};
diff --git a/lib/commands/ily.ts b/lib/commands/ily.ts
@@ -1,4 +1,4 @@
export default home_scope => {
const { message } = home_scope;
message.answer('Y-you too...');
-}-
\ No newline at end of file
+};
diff --git a/lib/commands/invite.ts b/lib/commands/invite.ts
@@ -1,4 +1,4 @@
export default home_scope => {
const { message } = home_scope;
message.answer('invite link: https://discordapp.com/api/oauth2/authorize?client_id=684895962212204748&permissions=8&scope=bot');
-}-
\ No newline at end of file
+};
diff --git a/lib/commands/issue.ts b/lib/commands/issue.ts
@@ -1,4 +1,4 @@
export default home_scope => {
const { message, GIT_URL } = home_scope;
message.answer(`${GIT_URL}/issues`);
-}-
\ No newline at end of file
+};
diff --git a/lib/commands/milkies.ts b/lib/commands/milkies.ts
@@ -1,4 +1,5 @@
export default home_scope => {
const { message } = home_scope;
- message.answer(`${(4 + Math.random() * 15).round_to(3)} gallons of milkies have been deposited in your mouth.`);
-}-
\ No newline at end of file
+ message.answer(`${(4 + Math.random() * 15).round_to(3)}`
+ + ` gallons of milkies have been deposited in your mouth.`);
+};
diff --git a/lib/commands/mock.ts b/lib/commands/mock.ts
@@ -1,11 +1,9 @@
export default home_scope => {
- //todo: if no args, mock the previous message, but this could be implemented via .alias and !!^
+ // TODO: if no args, mock the previous message,
+ // but this could be implemented via .alias and !!^.
const { message, args } = home_scope;
let b = false;
- message.answer([...args.join(' ').toLowerCase()].map(l => {
- if(l == l.toUpperCase())
- return l
- else
- return (b = !b)?l.toUpperCase():l
- }).join('') || 'sAy SoMeThInG wIlL yA?')
-}-
\ No newline at end of file
+ message.reply([...args.join(' ').toLowerCase()].map(l =>
+ (l === l.toUpperCase()) ? l : ((b = !b) ? l.toUpperCase() : l)
+ ).join('') || 'sAy SoMeThInG wIlL yA?');
+};
diff --git a/lib/commands/ping.ts b/lib/commands/ping.ts
@@ -1,4 +1,4 @@
export default home_scope => {
const { message } = home_scope;
message.answer('PONGGERS!');
-}-
\ No newline at end of file
+};
diff --git a/lib/commands/prefix.ts b/lib/commands/prefix.ts
@@ -1,4 +1,8 @@
export default home_scope => {
const { message, args, CONFIG } = home_scope;
- message.answer(args.length == 1?args[0].length == 1?`Command prefix changed to: \`${CONFIG.commands.prefix = args[0]}\`.`:'You may only use a prefix that is exactly one character/symbol/grapheme/rune long.':`Current command prefix is: \`${CONFIG.commands.prefix}\`.`)
-}-
\ No newline at end of file
+ message.answer(args.length === 1
+ ? args[0].length === 1
+ ? `Command prefix changed to: \`${CONFIG.commands.prefix = args[0]}\`.`
+ : 'You may only use a prefix that is exactly one character/symbol/grapheme/rune long.'
+ : `Current command prefix is: \`${CONFIG.commands.prefix}\`.`);
+};
diff --git a/lib/commands/roll.ts b/lib/commands/roll.ts
@@ -1,4 +1,4 @@
export default home_scope => {
const { message, args } = home_scope;
message.answer(Math.floor(Math.random() * ((+args[0] || 6) + 1)));
-}-
\ No newline at end of file
+};
diff --git a/lib/commands/say.ts b/lib/commands/say.ts
@@ -1,4 +1,4 @@
export default home_scope => {
const { message, args } = home_scope;
message.answer(`Me-sa says: “${args.join(' ')}”`);
-}-
\ No newline at end of file
+};
diff --git a/lib/commands/urban.ts b/lib/commands/urban.ts
@@ -23,4 +23,4 @@ export default home_scope => {
}
message.channel.send(`Link: ${entry.permalink}`);
}).catch(e => message.answer(`Error fetching definition:\n${e}`));
-}-
\ No newline at end of file
+};
diff --git a/lib/commands/youtube.ts b/lib/commands/youtube.ts
@@ -5,4 +5,4 @@ export default home_scope => {
yt_search({ query })
.then(message.reply.bind(message))
.catch(message.answer.bind(message));
-}
+};
diff --git a/package.json b/package.json
@@ -21,7 +21,8 @@
"start": "node .",
"quick": ". ./build.sh && yarn run start",
"deploy-scale": "heroku scale web=0 worker=1 -a simp-o-matic",
- "deploy-restart": "heroku restart -a simp-o-matic"
+ "deploy-restart": "heroku restart -a simp-o-matic",
+ "lint": "tslint --project ."
},
"homepage": "https://github.com/Demonstrandum/simpomatic",
"repository": {
@@ -49,5 +50,8 @@
"tslib": "^1.11.1",
"typescript": "^3.8.3",
"unirest": "^0.6.0"
+ },
+ "devDependencies": {
+ "tslint": "^6.1.0"
}
}
diff --git a/yarn.lock b/yarn.lock
@@ -2,6 +2,22 @@
# yarn lockfile v1
+"@babel/code-frame@^7.0.0":
+ version "7.8.3"
+ resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.8.3.tgz#33e25903d7481181534e12ec0a25f16b6fcf419e"
+ integrity sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==
+ dependencies:
+ "@babel/highlight" "^7.8.3"
+
+"@babel/highlight@^7.8.3":
+ version "7.8.3"
+ resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.8.3.tgz#28f173d04223eaaa59bc1d439a3836e6d1265797"
+ integrity sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==
+ dependencies:
+ chalk "^2.0.0"
+ esutils "^2.0.2"
+ js-tokens "^4.0.0"
+
"@typeit/discord@^1.0.3":
version "1.0.12"
resolved "https://registry.yarnpkg.com/@typeit/discord/-/discord-1.0.12.tgz#cf60ec626df6979fab75e9a96979c85808557681"
@@ -81,6 +97,20 @@ ansi-regex@^3.0.0:
resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998"
integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=
+ansi-styles@^3.2.1:
+ version "3.2.1"
+ resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
+ integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==
+ dependencies:
+ color-convert "^1.9.0"
+
+argparse@^1.0.7:
+ version "1.0.10"
+ resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911"
+ integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==
+ dependencies:
+ sprintf-js "~1.0.2"
+
array-equal@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/array-equal/-/array-equal-1.0.0.tgz#8c2a5ef2472fd9ea742b04c77a75093ba2757c93"
@@ -182,11 +212,25 @@ buffer-equal-constant-time@1.0.1:
resolved "https://registry.yarnpkg.com/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz#f8e71132f7ffe6e01a5c9697a4c6f3e48d5cc819"
integrity sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=
+builtin-modules@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f"
+ integrity sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=
+
caseless@~0.12.0:
version "0.12.0"
resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc"
integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=
+chalk@^2.0.0, chalk@^2.3.0:
+ version "2.4.2"
+ resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
+ integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
+ dependencies:
+ ansi-styles "^3.2.1"
+ escape-string-regexp "^1.0.5"
+ supports-color "^5.3.0"
+
cheerio@>=0.18.0:
version "0.22.0"
resolved "https://registry.yarnpkg.com/cheerio/-/cheerio-0.22.0.tgz#a9baa860a3f9b595a6b81b1a86873121ed3a269e"
@@ -209,6 +253,18 @@ cheerio@>=0.18.0:
lodash.reject "^4.4.0"
lodash.some "^4.4.0"
+color-convert@^1.9.0:
+ version "1.9.3"
+ resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
+ integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==
+ dependencies:
+ color-name "1.1.3"
+
+color-name@1.1.3:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
+ integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=
+
combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6:
version "1.0.8"
resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f"
@@ -223,6 +279,11 @@ combined-stream@~0.0.4:
dependencies:
delayed-stream "0.0.5"
+commander@^2.12.1:
+ version "2.20.3"
+ resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33"
+ integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==
+
concat-map@0.0.1:
version "0.0.1"
resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
@@ -315,6 +376,11 @@ delayed-stream@~1.0.0:
resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk=
+diff@^4.0.1:
+ version "4.0.2"
+ resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d"
+ integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==
+
discord.js@11.6.1:
version "11.6.1"
resolved "https://registry.yarnpkg.com/discord.js/-/discord.js-11.6.1.tgz#be5a0e0fc8f91fa46d9cd265261268948bcf8dc5"
@@ -407,6 +473,11 @@ entities@^2.0.0:
resolved "https://registry.yarnpkg.com/entities/-/entities-2.0.0.tgz#68d6084cab1b079767540d80e56a39b423e4abf4"
integrity sha512-D9f7V0JSRwIxlRI2mjMqufDrRDnx8p+eEOz7aUM9SuvF8gsBzra0/6tbjl1m8eQHrZlYj6PxqE00hZ1SAIKPLw==
+escape-string-regexp@^1.0.5:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
+ integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=
+
escodegen@^1.11.0:
version "1.14.1"
resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.14.1.tgz#ba01d0c8278b5e95a9a45350142026659027a457"
@@ -419,7 +490,7 @@ escodegen@^1.11.0:
optionalDependencies:
source-map "~0.6.1"
-esprima@^4.0.1:
+esprima@^4.0.0, esprima@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71"
integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==
@@ -555,7 +626,7 @@ getpass@^0.1.1:
dependencies:
assert-plus "^1.0.0"
-glob@^7.1.4:
+glob@^7.1.1, glob@^7.1.4:
version "7.1.6"
resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6"
integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==
@@ -632,6 +703,11 @@ har-validator@~5.1.3:
ajv "^6.5.5"
har-schema "^2.0.0"
+has-flag@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
+ integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0=
+
html-encoding-sniffer@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz#e70d84b94da53aa375e11fe3a351be6642ca46f8"
@@ -713,6 +789,19 @@ jquery@latest:
resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.4.1.tgz#714f1f8d9dde4bdfa55764ba37ef214630d80ef2"
integrity sha512-36+AdBzCL+y6qjw5Tx7HgzeGCzC81MDDgaUP8ld2zhx58HdqXGoBd+tHdrBMiyjGQs0Hxs/MLZTu/eHNJJuWPw==
+js-tokens@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
+ integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
+
+js-yaml@^3.13.1:
+ version "3.13.1"
+ resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847"
+ integrity sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==
+ dependencies:
+ argparse "^1.0.7"
+ esprima "^4.0.0"
+
jsbn@~0.1.0:
version "0.1.1"
resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513"
@@ -924,11 +1013,23 @@ minimatch@^3.0.4:
dependencies:
brace-expansion "^1.1.7"
+minimist@^1.2.5:
+ version "1.2.5"
+ resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602"
+ integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==
+
minimist@~0.0.1:
version "0.0.10"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf"
integrity sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=
+mkdirp@^0.5.1:
+ version "0.5.3"
+ resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.3.tgz#5a514b7179259287952881e94410ec5465659f8c"
+ integrity sha512-P+2gwrFqx8lhew375MQHHeTlY8AuOJSrGf0R5ddkEndUkmwpgUob/vQuBD1V22/Cw1/lJr4x+EjllSezBThzBg==
+ dependencies:
+ minimist "^1.2.5"
+
ms@^2.1.1:
version "2.1.2"
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
@@ -998,6 +1099,11 @@ path-is-absolute@^1.0.0:
resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18=
+path-parse@^1.0.6:
+ version "1.0.6"
+ resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c"
+ integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==
+
performance-now@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b"
@@ -1089,6 +1195,13 @@ request@>=2.51.0, request@^2.88.0:
tunnel-agent "^0.6.0"
uuid "^3.3.2"
+resolve@^1.3.2:
+ version "1.15.1"
+ resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.15.1.tgz#27bdcdeffeaf2d6244b95bb0f9f4b4653451f3e8"
+ integrity sha512-84oo6ZTtoTUpjgNEr5SJyzQhzL72gaRodsSfyxC/AXRvwu0Yse9H8eF9IpGo7b8YetZhlI6v7ZQ6bKBFV/6S7w==
+ dependencies:
+ path-parse "^1.0.6"
+
safe-buffer@^5.0.1, safe-buffer@^5.1.2, safe-buffer@~5.2.0:
version "5.2.0"
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.0.tgz#b74daec49b1148f88c64b68d49b1e815c1f2f519"
@@ -1119,6 +1232,11 @@ scrape-youtube@^0.0.5:
jquery latest
jsdom "^12.0.0"
+semver@^5.3.0:
+ version "5.7.1"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7"
+ integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==
+
snekfetch@^3.6.4:
version "3.6.4"
resolved "https://registry.yarnpkg.com/snekfetch/-/snekfetch-3.6.4.tgz#d13e80a616d892f3d38daae4289f4d258a645120"
@@ -1129,6 +1247,11 @@ source-map@~0.6.1:
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
+sprintf-js@~1.0.2:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
+ integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=
+
sshpk@^1.7.0:
version "1.16.1"
resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877"
@@ -1176,6 +1299,13 @@ strip-eof@^1.0.0:
resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf"
integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=
+supports-color@^5.3.0:
+ version "5.5.0"
+ resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
+ integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==
+ dependencies:
+ has-flag "^3.0.0"
+
symbol-tree@^3.2.2:
version "3.2.4"
resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2"
@@ -1196,11 +1326,37 @@ tr46@^1.0.1:
dependencies:
punycode "^2.1.0"
-tslib@^1.11.1:
+tslib@^1.10.0, tslib@^1.11.1, tslib@^1.8.1:
version "1.11.1"
resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.11.1.tgz#eb15d128827fbee2841549e171f45ed338ac7e35"
integrity sha512-aZW88SY8kQbU7gpV19lN24LtXh/yD4ZZg6qieAJDDg+YBsJcSmLGK9QpnUjAKVG/xefmvJGd1WUmfpT/g6AJGA==
+tslint@^6.1.0:
+ version "6.1.0"
+ resolved "https://registry.yarnpkg.com/tslint/-/tslint-6.1.0.tgz#c6c611b8ba0eed1549bf5a59ba05a7732133d851"
+ integrity sha512-fXjYd/61vU6da04E505OZQGb2VCN2Mq3doeWcOIryuG+eqdmFUXTYVwdhnbEu2k46LNLgUYt9bI5icQze/j0bQ==
+ dependencies:
+ "@babel/code-frame" "^7.0.0"
+ builtin-modules "^1.1.1"
+ chalk "^2.3.0"
+ commander "^2.12.1"
+ diff "^4.0.1"
+ glob "^7.1.1"
+ js-yaml "^3.13.1"
+ minimatch "^3.0.4"
+ mkdirp "^0.5.1"
+ resolve "^1.3.2"
+ semver "^5.3.0"
+ tslib "^1.10.0"
+ tsutils "^2.29.0"
+
+tsutils@^2.29.0:
+ version "2.29.0"
+ resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-2.29.0.tgz#32b488501467acbedd4b85498673a0812aca0b99"
+ integrity sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA==
+ dependencies:
+ tslib "^1.8.1"
+
tunnel-agent@^0.6.0:
version "0.6.0"
resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd"