git.iko.soy/rowtype-yoga/royo
on main help sign in
.gitignore+5
since splitsnapshots
unifiedsplit
@@ -9,3 +9,8 @@
9/.psa*
9/.psa*
10/.spago
10/.spago
11/.psc-ide-port
11/.psc-ide-port
12+nohup.out
13+royo.js
14+stderr.txt
15+stdout.log
16+stdout.txt
.vscode/settings.jsonnew file+2
@@ -0,0 +1,2 @@
1+{
2+}
README.md+8−3
@@ -1,11 +1,16 @@
1+
2+<p align="center"><img width=50% height=50% src="royo.png"></img></p>
3+
1# `(|yo)`
4# `(|yo)`
2
5
3−Your friendly [PureScript](https://www.purescript.org/) chat bot for [Discord](https://discord.com/).
6+Hi! I'm royo, your friendly [PureScript](https://www.purescript.org/) chat bot for [Discord](https://discord.com/).
4
7
5−![Image of royo in action](https://github.com/rowtype-yoga/royo/blob/main/screenshot.png)
8+![Image of royo in action](screenshot.png)
6
9
7## Usage
10## Usage
8
11
9−Head over to the [rowtype-yoga discord](https://discord.gg/GSRwfyu) and try them.
12+Head over to the [rowtype-yoga discord](https://discord.gg/GSRwfyu) or the official [purescript discord](https://purescript.org/chat) and try them.
10If something goes wrong you'll already be in the right place to report that!
13If something goes wrong you'll already be in the right place to report that!
11
14
15+
16+*Logo design by [sigma-andex](https://github.com/sigma-andex/)*
package.json+5−4
@@ -6,11 +6,12 @@
6 "author": "Mark Eibes",
6 "author": "Mark Eibes",
7 "license": "MIT",
7 "license": "MIT",
8 "dependencies": {
8 "dependencies": {
9− "discord.js": "^12.2.0",
9+ "discord.js": "^13.0.1",
10− "node-fetch": "^2.6.1"
10+ "node-fetch": "^2.6.1",
11+ "xhr2": "^0.2.1"
11 },
12 },
12 "devDependencies": {
13 "devDependencies": {
13− "purescript": "^0.13.8",
14+ "purescript": "^0.14.0",
14− "spago": "^0.15.3"
15+ "spago": "^0.19.1"
15 }
16 }
16}
17}
packages.dhall+1−2
@@ -104,8 +104,7 @@ in upstream
104 }
104 }
105-------------------------------
105-------------------------------
106-}
106-}
107−
108let upstream =
107let upstream =
109− https://github.com/purescript/package-sets/releases/download/psc-0.13.8-20200724/packages.dhall sha256:bb941d30820a49345a0e88937094d2b9983d939c9fd3a46969b85ce44953d7d9
108+ https://github.com/purescript/package-sets/releases/download/psc-0.14.3-20210722/packages.dhall sha256:1ceb43aa59436bf5601bac45f6f3781c4e1f0e4c2b8458105b018e5ed8c30f8c
110
109
111in upstream
110in upstream
royo.pngnew file

Binary file not shown.

spago.dhall+13−6
@@ -4,18 +4,25 @@ You can edit this file as you like.
4-}
4-}
5{ name = "my-project"
5{ name = "my-project"
6, dependencies =
6, dependencies =
7+ [ "aff"
7− [ "aff-promise"
8+ , "aff-promise"
9+ , "affjax"
10+ , "argonaut-codecs"
11+ , "argonaut-core"
8 , "console"
12 , "console"
9− , "debug"
13+ , "control"
10 , "effect"
14 , "effect"
15+ , "either"
16+ , "foldable-traversable"
17+ , "http-methods"
11 , "interpolate"
18 , "interpolate"
12− , "milkis"
19+ , "maybe"
20+ , "media-types"
13 , "node-process"
21 , "node-process"
22+ , "prelude"
14 , "psci-support"
23 , "psci-support"
15− , "simple-json"
24+ , "strings"
16− , "string-parsers"
17 , "stringutils"
25 , "stringutils"
18− , "web-events"
19 ]
26 ]
20, packages = ./packages.dhall
27, packages = ./packages.dhall
21, sources = [ "src/**/*.purs", "test/**/*.purs" ]
28, sources = [ "src/**/*.purs", "test/**/*.purs" ]
src/Discord/DiscordJS.js+6−1
@@ -1,6 +1,11 @@
1const Discord = require('discord.js');
1const Discord = require('discord.js');
2+const Intent = Discord.Intents.FLAGS
2
3
4+exports.newClient = () => {
3−exports.newClient = () => { return new Discord.Client() }
5+ return new Discord.Client(
6+ { intents: [Intent.GUILDS, Intent.GUILD_MESSAGES, Intent.GUILD_MESSAGE_REACTIONS, Intent.DIRECT_MESSAGES, Intent.DIRECT_MESSAGE_REACTIONS] }
7+ )
8+}
4
9
5const once = event => callback => client => () => {
10const once = event => callback => client => () => {
6 client.once(event, callback)
11 client.once(event, callback)
src/Main.purs+31−5
@@ -1,7 +1,6 @@
1module Main where
1module Main where
2
2
3import Prelude
3import Prelude
4−
5import Data.Maybe (Maybe(..))
4import Data.Maybe (Maybe(..))
6import Discord.DiscordJS (DiscordToken(..))
5import Discord.DiscordJS (DiscordToken(..))
7import Effect (Effect)
6import Effect (Effect)
@@ -11,14 +10,41 @@ import Node.Process (lookupEnv)
11import Royo.Bot (runBot)
10import Royo.Bot (runBot)
12import Yoga.APIClient (YogaToken(..))
11import Yoga.APIClient (YogaToken(..))
13
12
14−main :: Effect Unit
13+main ∷ Effect Unit
15main = do
14main = do
16 maybeDiscordToken <- lookupEnv _DISCORD_TOKEN <#> map DiscordToken
15 maybeDiscordToken <- lookupEnv _DISCORD_TOKEN <#> map DiscordToken
17 maybeYogaToken <- lookupEnv _YOGA_TOKEN <#> map YogaToken
16 maybeYogaToken <- lookupEnv _YOGA_TOKEN <#> map YogaToken
18− case maybeDiscordToken, maybeYogaToken of
17+ case maybeDiscordToken, maybeYogaToken of
18+ Nothing, _ -> Console.error $ _DISCORD_TOKEN <> " env variable missing"
19+ _, Nothing -> Console.error $ _YOGA_TOKEN <> " env variable missing"
20+ Just discordToken, Just yogaToken -> launchAff_ $ runBot yogaToken discordToken
21+ where
22+ _DISCORD_TOKEN = "DISCORD_TOKEN"
23+
24+ _YOGA_TOKEN = "YOGA_TOKEN"
25+
26+discord ∷ Effect Unit
27+discord = do
28+ maybeDiscordToken <- lookupEnv _DISCORD_TOKEN <#> map DiscordToken
29+ maybeYogaToken <- lookupEnv _YOGA_TOKEN <#> map YogaToken
30+ case maybeDiscordToken, maybeYogaToken of
19 Nothing, _ -> Console.error $ _DISCORD_TOKEN <> " env variable missing"
31 Nothing, _ -> Console.error $ _DISCORD_TOKEN <> " env variable missing"
20 _, Nothing -> Console.error $ _YOGA_TOKEN <> " env variable missing"
32 _, Nothing -> Console.error $ _YOGA_TOKEN <> " env variable missing"
21 Just discordToken, Just yogaToken -> launchAff_ $ runBot yogaToken discordToken
33 Just discordToken, Just yogaToken -> launchAff_ $ runBot yogaToken discordToken
22 where
34 where
23− _DISCORD_TOKEN = "DISCORD_TOKEN"
35+ _DISCORD_TOKEN = "DISCORD_TOKEN"
36+
37+ _YOGA_TOKEN = "YOGA_TOKEN"
38+
39+slack ∷ Effect Unit
40+slack = do
41+ maybeDiscordToken <- lookupEnv _DISCORD_TOKEN <#> map DiscordToken
42+ maybeYogaToken <- lookupEnv _YOGA_TOKEN <#> map YogaToken
43+ case maybeDiscordToken, maybeYogaToken of
44+ Nothing, _ -> Console.error $ _DISCORD_TOKEN <> " env variable missing"
45+ _, Nothing -> Console.error $ _YOGA_TOKEN <> " env variable missing"
46+ Just discordToken, Just yogaToken -> launchAff_ $ runBot yogaToken discordToken
47+ where
48+ _DISCORD_TOKEN = "SLACK_TOKEN"
49+
24− _YOGA_TOKEN = "YOGA_TOKEN"
50+ _YOGA_TOKEN = "YOGA_TOKEN"
src/Royo/Bot.purs → src/Royo/Discord/Bot.pursrenamed+32−33
@@ -12,7 +12,7 @@ import Data.String (Pattern(..), contains, drop, length, stripPrefix, stripSuffi
12import Data.String.NonEmpty.Internal (NonEmptyString(..))
12import Data.String.NonEmpty.Internal (NonEmptyString(..))
13import Data.String.NonEmpty.Internal as NES
13import Data.String.NonEmpty.Internal as NES
14import Data.String.Utils (startsWith)
14import Data.String.Utils (startsWith)
15−import Discord.DiscordJS (ChannelType(..), DiscordToken, Message, createDMChannel, getChannelType, login, newClient, onMessage, onMessageUpdate, react, removeAllReactions, sendString)
15+import Discord.DiscordJS (DiscordToken, Message, createDMChannel, login, newClient, onMessage, onMessageUpdate, react, sendString)
16import Effect.Aff (Aff, attempt, launchAff_, message)
16import Effect.Aff (Aff, attempt, launchAff_, message)
17import Effect.Class (liftEffect)
17import Effect.Class (liftEffect)
18import Effect.Class.Console (log)
18import Effect.Class.Console (log)
@@ -45,27 +45,30 @@ runBot yogaToken discordToken = do
45 client # onMessageUpdate (launchAff_ `map map map` messageUpdatedHandler) # liftEffect
45 client # onMessageUpdate (launchAff_ `map map map` messageUpdatedHandler) # liftEffect
46 where
46 where
47 messageUpdatedHandler _ msg = printErrors msg do
47 messageUpdatedHandler _ msg = printErrors msg do
48− when (getChannelType msg.channel == TextChannel) $ removeAllReactions msg
48+ when (isMention msg.content) do
49− msg # react rewindEmoji
49+ msg # react rewindEmoji
50− messageHandler msg
50+ evaluate msg (pure unit)
51−
51+
52+ messageHandler msg = printErrors msg do
53+ when (isMention msg.content) do
54+ evaluate msg (sendBasicInstructions msg)
55+
52− messageHandler msg@{ content, channel } = printErrors msg do
56+ evaluate msg@{ content, channel } doNothing = do
53− when (isMention content) do
54− case parseCodeBlock content of
57+ case parseCodeBlock content of
55− Nothing -> do
58+ Nothing ->
56− sendBasicInstructions msg
59+ doNothing
57− Just code -> do
60+ Just code -> do
58− res <- compileAndRun yogaToken { code: prepareCode code }
61+ res <- compileAndRun yogaToken { code: prepareCode code }
59− case res of
62+ case res of
60− Left cr -> sendCompileProblem msg code cr
63+ Left cr -> sendCompileProblem msg code cr
61− Right rr -> case NES.fromString rr.stdout, NES.fromString rr.stderr of
64+ Right rr -> case NES.fromString rr.stdout, NES.fromString rr.stderr of
62− Just stdout, _ -> do
65+ Just _, _ -> do
63− msg # react robotMuscleEmoji
66+ msg # react robotMuscleEmoji
64− channel # sendString (NonEmptyString (prepareOutput rr.stdout))
67+ channel # sendString (NonEmptyString (prepareOutput rr.stdout))
65− Nothing, Just stderr -> do
68+ Nothing, Just _ -> do
66− msg # react sirenEmoji
69+ msg # react sirenEmoji
67− sendRunProblem msg code rr.stderr
70+ sendRunProblem msg code rr.stderr
68− _, _ -> channel # sendString (NonEmptyString "Something is weird")
71+ _, _ -> channel # sendString (NonEmptyString "Something is weird")
69
72
70sendBasicInstructions :: Message -> Aff Unit
73sendBasicInstructions :: Message -> Aff Unit
71sendBasicInstructions msg = do
74sendBasicInstructions msg = do
@@ -120,20 +123,16 @@ prepareOutput s =
120
123
121prepareCode ∷ String -> String
124prepareCode ∷ String -> String
122prepareCode code =
125prepareCode code =
126+ let prepare
123− if startsWith "module" code then
127+ | startsWith "module" code = code
124− code
125− else
126− if startsWith "import " code then
128+ | startsWith "import " code = moduleMain <> code
127− moduleMain <> code
128− else
129− if (startsWith "main =" || contains (Pattern "\nmain =")) code then
129+ | (startsWith "main =" || contains (Pattern "\nmain =")) code = moduleMain <> importBasics <> code
130− moduleMain <> importGrimoire <> code
131− else
132− moduleMain <> importGrimoire <> spyMain <> code
130+ | otherwise = moduleMain <> importBasics <> spyMain <> code
131+ in prepare
133 where
132 where
134 moduleMain = "module Main where\n"
133 moduleMain = "module Main where\n"
135
134
136− importGrimoire = "import Grimoire\n"
135+ importBasics = "import Basics\n"
137
136
138 spyMain = "main = log $ unsafeCoerce $ "
137 spyMain = "main = log $ unsafeCoerce $ "
139
138
src/Yoga/APIClient.purs+31−31
@@ -1,18 +1,20 @@
1module Yoga.APIClient where
1module Yoga.APIClient where
2
2
3import Prelude
3import Prelude
4+import Affjax as AX
5+import Affjax.RequestBody as RequestBody
6+import Affjax.RequestHeader (RequestHeader(..))
7+import Affjax.ResponseFormat as ResponseFormat
8+import Affjax.StatusCode (StatusCode(..))
9+import Data.Argonaut.Core (Json)
10+import Data.Argonaut.Decode (class DecodeJson, decodeJson, printJsonDecodeError)
11+import Data.Argonaut.Decode.Class (class DecodeJson)
12+import Data.Argonaut.Encode (encodeJson)
4import Data.Either (Either(..), either)
13import Data.Either (Either(..), either)
14+import Data.HTTP.Method (Method(..))
5import Data.Maybe (Maybe(..))
15import Data.Maybe (Maybe(..))
16+import Data.MediaType.Common (applicationJSON)
6−import Effect.Aff (Aff, attempt, error, message, throwError)
17+import Effect.Aff (Aff, error, throwError)
7−import Effect.Class (liftEffect)
8−import Effect.Exception (throw)
9−import Foreign (Foreign)
10−import Milkis as M
11−import Milkis.Impl.Node (nodeFetch)
12−import Simple.JSON (class ReadForeign, read, writeJSON)
13−
14−fetch ∷ M.Fetch
15−fetch = M.fetch nodeFetch
16
18
17type CompileRequest =
19type CompileRequest =
18 { code ∷ String }
20 { code ∷ String }
@@ -20,20 +22,22 @@ type CompileRequest =
20newtype YogaToken = YogaToken String
22newtype YogaToken = YogaToken String
21
23
22compileAndRun ∷ YogaToken -> CompileRequest -> Aff (Either CompileResult RunResult)
24compileAndRun ∷ YogaToken -> CompileRequest -> Aff (Either CompileResult RunResult)
23−compileAndRun (YogaToken bearerToken) body = do
25+compileAndRun (YogaToken bearerToken) compileRequest = do
24 response <-
26 response <-
25− attempt
27+ AX.request
28+ ( AX.defaultRequest
26− $ fetch (M.URL "https://rowtype.yoga/api/compileAndRun")
29+ { url = "https://rowtype.yoga/api/compileAndRun"
27− { method: M.postMethod
30+ , method = Left POST
28− , body: writeJSON body
31+ , content = Just (RequestBody.Json (encodeJson compileRequest))
32+ , responseFormat = ResponseFormat.json
29− , headers:
33+ , headers =
30− M.makeHeaders
31− { "Authorization": "Bearer " <> bearerToken
34+ [ RequestHeader "Authorization" ("Bearer " <> bearerToken)
32− , "Content-Type": "application/json"
35+ , ContentType applicationJSON
33− }
36+ ]
34 }
37 }
38+ )
35 case response of
39 case response of
36− Left l ->
40+ Left (l ∷ AX.Error) ->
37 pure
41 pure
38 ( Left
42 ( Left
39 { resultType: ""
43 { resultType: ""
@@ -42,7 +46,7 @@ compileAndRun (YogaToken bearerToken) body = do
42 , errorCode: ""
46 , errorCode: ""
43 , errorLink: ""
47 , errorLink: ""
44 , filename: ""
48 , filename: ""
45− , message: message l
49+ , message: AX.printError l
46 , moduleName: Nothing
50 , moduleName: Nothing
47 , position:
51 , position:
48 { endColumn: 0
52 { endColumn: 0
@@ -55,17 +59,13 @@ compileAndRun (YogaToken bearerToken) body = do
55 ]
59 ]
56 }
60 }
57 )
61 )
58− Right r -> case M.statusCode r of
62+ Right { status, body } -> case status of
59− 200 -> M.json r >>= readAff <#> Right
63+ StatusCode 200 -> Right <$> decodeAff body
60− 422 -> M.json r >>= readAff <#> Left
64+ StatusCode 422 -> Left <$> decodeAff body
61 code -> throwError (error $ "Unexpected response code " <> show code)
65 code -> throwError (error $ "Unexpected response code " <> show code)
62
66
63−readAff ∷ ∀ a. ReadForeign a => Foreign -> Aff a
67+decodeAff ∷ ∀ a. DecodeJson a => Json -> Aff a
64−readAff = read >>> orThrow
68+decodeAff body = either (throwError <<< error <<< printJsonDecodeError) pure (decodeJson body)
65−
66−orThrow ∷ ∀ a s. Show s => Either s a -> Aff a
67−orThrow = either (show >>> throw >>> liftEffect) pure
68−
69type CompileResult =
69type CompileResult =
70 { result ∷ Array ErrorOrWarning
70 { result ∷ Array ErrorOrWarning
71 , resultType ∷ String
71 , resultType ∷ String
yarn.lock+178−108
@@ -2,10 +2,21 @@
2# yarn lockfile v1
2# yarn lockfile v1
3
3
4
4
5−"@discordjs/collection@^0.1.5":
5+"@discordjs/builders@^0.4.0":
6− version "0.1.6"
6+ version "0.4.0"
7+ resolved "https://registry.yarnpkg.com/@discordjs/builders/-/builders-0.4.0.tgz#bb41573ce4824aa9194a53b52c29c5219b610010"
8+ integrity sha512-EiwLltKph6TSaPJIzJYdzNc1PnA2ZNaaE0t0ODg3ghnpVHqfgd0YX9/srsleYHW2cw1sfIq+kbM+h0etf7GWLA==
9+ dependencies:
10+ "@sindresorhus/is" "^4.0.1"
11+ discord-api-types "^0.22.0"
12+ ow "^0.27.0"
13+ ts-mixer "^6.0.0"
14+ tslib "^2.3.0"
15+
16+"@discordjs/collection@^0.2.1":
17+ version "0.2.1"
7− resolved "https://registry.yarnpkg.com/@discordjs/collection/-/collection-0.1.6.tgz#9e9a7637f4e4e0688fd8b2b5c63133c91607682c"
18+ resolved "https://registry.yarnpkg.com/@discordjs/collection/-/collection-0.2.1.tgz#ea4bc7b41b7b7b6daa82e439141222ec95c469b2"
8− integrity sha512-utRNxnd9kSS2qhyivo9lMlt5qgAUasH2gb7BEOn6p0efFh24gjGomHzWKMAPn2hEReOPQZCJaRKoURwRotKucQ==
19+ integrity sha512-vhxqzzM8gkomw0TYRF3tgx7SwElzUlXT/Aa41O7mOcyN6wIJfj5JmDWaO5XGKsGSsNx7F3i5oIlrucCCWV1Nog==
9
20
10"@discordjs/form-data@^3.0.1":
21"@discordjs/form-data@^3.0.1":
11 version "3.0.1"
22 version "3.0.1"
@@ -16,17 +27,32 @@
16 combined-stream "^1.0.8"
27 combined-stream "^1.0.8"
17 mime-types "^2.1.12"
28 mime-types "^2.1.12"
18
29
19−abort-controller@^3.0.0:
30+"@sapphire/async-queue@^1.1.4":
20− version "3.0.0"
31+ version "1.1.4"
21− resolved "https://registry.yarnpkg.com/abort-controller/-/abort-controller-3.0.0.tgz#eaf54d53b62bae4138e809ca225c8439a6efb392"
32+ resolved "https://registry.yarnpkg.com/@sapphire/async-queue/-/async-queue-1.1.4.tgz#ae431310917a8880961cebe8e59df6ffa40f2957"
22− integrity sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==
33+ integrity sha512-fFrlF/uWpGOX5djw5Mu2Hnnrunao75WGey0sP0J3jnhmrJ5TAPzHYOmytD5iN/+pMxS+f+u/gezqHa9tPhRHEA==
34+
35+"@sindresorhus/is@^4.0.1":
36+ version "4.0.1"
37+ resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-4.0.1.tgz#d26729db850fa327b7cacc5522252194404226f5"
38+ integrity sha512-Qm9hBEBu18wt1PO2flE7LPb30BHMQt1eQgbV76YntdNk73XZGpn3izvGTYxbGgzXKgbCjiia0uxTd3aTNQrY/g==
39+
40+"@types/node@*":
41+ version "16.4.13"
42+ resolved "https://registry.yarnpkg.com/@types/node/-/node-16.4.13.tgz#7dfd9c14661edc65cccd43a29eb454174642370d"
43+ integrity sha512-bLL69sKtd25w7p1nvg9pigE4gtKVpGTPojBFLMkGHXuUgap2sLqQt2qUnqmVCDfzGUL0DRNZP+1prIZJbMeAXg==
44+
45+"@types/ws@^7.4.7":
46+ version "7.4.7"
47+ resolved "https://registry.yarnpkg.com/@types/ws/-/ws-7.4.7.tgz#f7c390a36f7a0679aa69de2d501319f4f8d9b702"
48+ integrity sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww==
23 dependencies:
49 dependencies:
24− event-target-shim "^5.0.0"
50+ "@types/node" "*"
25
51
26ajv@^6.12.3:
52ajv@^6.12.3:
27− version "6.12.3"
53+ version "6.12.6"
28− resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.3.tgz#18c5af38a111ddeb4f2697bd78d68abc1cabd706"
54+ resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4"
29− integrity sha512-4K0cK3L1hsqk9xIb2z9vs/XU+PGJZ9PNpJRDS9YLzmNdX6jmVPfamLvTJr0aDAusnHyCHO6MjzlkAsgtqp9teA==
55+ integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==
30 dependencies:
56 dependencies:
31 fast-deep-equal "^3.1.1"
57 fast-deep-equal "^3.1.1"
32 fast-json-stable-stringify "^2.0.0"
58 fast-json-stable-stringify "^2.0.0"
@@ -56,9 +82,9 @@ aproba@^1.1.1:
56 integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==
82 integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==
57
83
58arch@^2.1.1:
84arch@^2.1.1:
59− version "2.1.2"
85+ version "2.2.0"
60− resolved "https://registry.yarnpkg.com/arch/-/arch-2.1.2.tgz#0c52bbe7344bb4fa260c443d2cbad9c00ff2f0bf"
86+ resolved "https://registry.yarnpkg.com/arch/-/arch-2.2.0.tgz#1bc47818f305764f23ab3306b0bfc086c5a29d11"
61− integrity sha512-NTBIIbAfkJeIletyABbVtdPgeKfDafR+1mZV/AyyfC1UkVkp9iUjV+wwmqtUgphHYajbI86jejBJp5e+jkGTiQ==
87+ integrity sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==
62
88
63asn1@~0.2.3:
89asn1@~0.2.3:
64 version "0.2.4"
90 version "0.2.4"
@@ -83,14 +109,14 @@ aws-sign2@~0.7.0:
83 integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=
109 integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=
84
110
85aws4@^1.8.0:
111aws4@^1.8.0:
86− version "1.10.0"
112+ version "1.11.0"
87− resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.10.0.tgz#a17b3a8ea811060e74d47d306122400ad4497ae2"
113+ resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59"
88− integrity sha512-3YDiu347mtVtjpyV3u5kVqQLP242c06zwDOgpeRnybmXlYYsLbtTrUBUm8i8srONt+FWobl5aibnU1030PeeuA==
114+ integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==
89
115
90balanced-match@^1.0.0:
116balanced-match@^1.0.0:
91− version "1.0.0"
117+ version "1.0.2"
92− resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"
118+ resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee"
93− integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c=
119+ integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
94
120
95bcrypt-pbkdf@^1.0.0:
121bcrypt-pbkdf@^1.0.0:
96 version "1.0.2"
122 version "1.0.2"
@@ -113,9 +139,9 @@ brace-expansion@^1.1.7:
113 concat-map "0.0.1"
139 concat-map "0.0.1"
114
140
115buffer-from@^1.0.0:
141buffer-from@^1.0.0:
116− version "1.1.1"
142+ version "1.1.2"
117− resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef"
143+ resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5"
118− integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==
144+ integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==
119
145
120byline@^5.0.0:
146byline@^5.0.0:
121 version "5.0.0"
147 version "5.0.0"
@@ -142,6 +168,11 @@ cacache@^11.3.2:
142 unique-filename "^1.1.1"
168 unique-filename "^1.1.1"
143 y18n "^4.0.0"
169 y18n "^4.0.0"
144
170
171+callsites@^3.1.0:
172+ version "3.1.0"
173+ resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73"
174+ integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==
175+
145caseless@~0.12.0:
176caseless@~0.12.0:
146 version "0.12.0"
177 version "0.12.0"
147 resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc"
178 resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc"
@@ -245,19 +276,31 @@ delayed-stream@~1.0.0:
245 resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
276 resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
246 integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk=
277 integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk=
247
278
248−discord.js@^12.2.0:
279+discord-api-types@^0.22.0:
249− version "12.2.0"
280+ version "0.22.0"
250− resolved "https://registry.yarnpkg.com/discord.js/-/discord.js-12.2.0.tgz#31018732e42a495c92655055192221eab2ad11a9"
281+ resolved "https://registry.yarnpkg.com/discord-api-types/-/discord-api-types-0.22.0.tgz#34dc57fe8e016e5eaac5e393646cd42a7e1ccc2a"
251− integrity sha512-Ueb/0SOsxXyqwvwFYFe0msMrGqH1OMqpp2Dpbplnlr4MzcRrFWwsBM9gKNZXPVBHWUKiQkwU8AihXBXIvTTSvg==
282+ integrity sha512-l8yD/2zRbZItUQpy7ZxBJwaLX/Bs2TGaCthRppk8Sw24LOIWg12t9JEreezPoYD0SQcC2htNNo27kYEpYW/Srg==
283+
284+discord.js@^13.0.1:
285+ version "13.0.1"
286+ resolved "https://registry.yarnpkg.com/discord.js/-/discord.js-13.0.1.tgz#58f009706d1d7587fe9ff6c6c781e4540ae085f9"
287+ integrity sha512-pEODCFfxypBnGEYpSgjkn1jt70raCS1um7Zp0AXEfW1DcR29wISzQ/WeWdnjP5KTXGi0LTtkRiUjOsMgSoukxA==
252 dependencies:
288 dependencies:
289+ "@discordjs/builders" "^0.4.0"
253− "@discordjs/collection" "^0.1.5"
290+ "@discordjs/collection" "^0.2.1"
254 "@discordjs/form-data" "^3.0.1"
291 "@discordjs/form-data" "^3.0.1"
255− abort-controller "^3.0.0"
292+ "@sapphire/async-queue" "^1.1.4"
293+ "@types/ws" "^7.4.7"
294+ discord-api-types "^0.22.0"
256− node-fetch "^2.6.0"
295+ node-fetch "^2.6.1"
257− prism-media "^1.2.0"
296+ ws "^7.5.1"
258− setimmediate "^1.0.5"
297+
259− tweetnacl "^1.0.3"
298+dot-prop@^6.0.1:
260− ws "^7.2.1"
299+ version "6.0.1"
300+ resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-6.0.1.tgz#fc26b3cf142b9e59b74dbd39ed66ce620c681083"
301+ integrity sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==
302+ dependencies:
303+ is-obj "^2.0.0"
261
304
262duplexify@^3.4.2, duplexify@^3.6.0:
305duplexify@^3.4.2, duplexify@^3.6.0:
263 version "3.7.1"
306 version "3.7.1"
@@ -290,20 +333,15 @@ end-of-stream@^1.0.0, end-of-stream@^1.1.0:
290 once "^1.4.0"
333 once "^1.4.0"
291
334
292env-paths@^2.2.0:
335env-paths@^2.2.0:
293− version "2.2.0"
336+ version "2.2.1"
294− resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.0.tgz#cdca557dc009152917d6166e2febe1f039685e43"
337+ resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.1.tgz#420399d416ce1fbe9bc0a07c62fa68d67fd0f8f2"
295− integrity sha512-6u0VYSCo/OW6IoD5WCLLy9JUGARbamfSavcNXry/eu8aHVFei6CD3Sw+VGX5alea1i9pgPHW0mbu6Xj0uBh7gA==
338+ integrity sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==
296
339
297escape-string-regexp@^1.0.5:
340escape-string-regexp@^1.0.5:
298 version "1.0.5"
341 version "1.0.5"
299 resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
342 resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
300 integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=
343 integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=
301
344
302−event-target-shim@^5.0.0:
303− version "5.0.1"
304− resolved "https://registry.yarnpkg.com/event-target-shim/-/event-target-shim-5.0.1.tgz#5d4d3ebdf9583d63a5333ce2deb7480ab2b05789"
305− integrity sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==
306−
307execa@^2.0.3:
345execa@^2.0.3:
308 version "2.1.0"
346 version "2.1.0"
309 resolved "https://registry.yarnpkg.com/execa/-/execa-2.1.0.tgz#e5d3ecd837d2a60ec50f3da78fd39767747bbe99"
347 resolved "https://registry.yarnpkg.com/execa/-/execa-2.1.0.tgz#e5d3ecd837d2a60ec50f3da78fd39767747bbe99"
@@ -407,9 +445,9 @@ fs.realpath@^1.0.0:
407 integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8=
445 integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8=
408
446
409get-stream@^5.0.0:
447get-stream@^5.0.0:
410− version "5.1.0"
448+ version "5.2.0"
411− resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.1.0.tgz#01203cdc92597f9b909067c3e656cc1f4d3c4dc9"
449+ resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3"
412− integrity sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==
450+ integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==
413 dependencies:
451 dependencies:
414 pump "^3.0.0"
452 pump "^3.0.0"
415
453
@@ -421,9 +459,9 @@ getpass@^0.1.1:
421 assert-plus "^1.0.0"
459 assert-plus "^1.0.0"
422
460
423glob@^7.1.3, glob@^7.1.4:
461glob@^7.1.3, glob@^7.1.4:
424− version "7.1.6"
462+ version "7.1.7"
425− resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6"
463+ resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90"
426− integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==
464+ integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==
427 dependencies:
465 dependencies:
428 fs.realpath "^1.0.0"
466 fs.realpath "^1.0.0"
429 inflight "^1.0.4"
467 inflight "^1.0.4"
@@ -433,9 +471,9 @@ glob@^7.1.3, glob@^7.1.4:
433 path-is-absolute "^1.0.0"
471 path-is-absolute "^1.0.0"
434
472
435graceful-fs@^4.1.15, graceful-fs@^4.1.2:
473graceful-fs@^4.1.15, graceful-fs@^4.1.2:
436− version "4.2.4"
474+ version "4.2.8"
437− resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb"
475+ resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.8.tgz#e412b8d33f5e006593cbd3cee6df9f2cebbe802a"
438− integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==
476+ integrity sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==
439
477
440har-schema@^2.0.0:
478har-schema@^2.0.0:
441 version "2.0.0"
479 version "2.0.0"
@@ -492,15 +530,20 @@ is-fullwidth-code-point@^2.0.0:
492 resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f"
530 resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f"
493 integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=
531 integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=
494
532
533+is-obj@^2.0.0:
534+ version "2.0.0"
535+ resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982"
536+ integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==
537+
495is-plain-obj@^2.0.0:
538is-plain-obj@^2.0.0:
496 version "2.1.0"
539 version "2.1.0"
497 resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287"
540 resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287"
498 integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==
541 integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==
499
542
500is-stream@^2.0.0:
543is-stream@^2.0.0:
501− version "2.0.0"
544+ version "2.0.1"
502− resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3"
545+ resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077"
503− integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==
546+ integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==
504
547
505is-typedarray@~1.0.0:
548is-typedarray@~1.0.0:
506 version "1.0.0"
549 version "1.0.0"
@@ -552,6 +595,11 @@ jsprim@^1.2.2:
552 json-schema "0.2.3"
595 json-schema "0.2.3"
553 verror "1.10.0"
596 verror "1.10.0"
554
597
598+lodash.isequal@^4.5.0:
599+ version "4.5.0"
600+ resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0"
601+ integrity sha1-QVxEePK8wwEgwizhDtMib30+GOA=
602+
555log-symbols@^3.0.0:
603log-symbols@^3.0.0:
556 version "3.0.0"
604 version "3.0.0"
557 resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-3.0.0.tgz#f3a08516a5dea893336a7dee14d18a1cfdab77c4"
605 resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-3.0.0.tgz#f3a08516a5dea893336a7dee14d18a1cfdab77c4"
@@ -580,17 +628,17 @@ merge-stream@^2.0.0:
580 resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60"
628 resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60"
581 integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==
629 integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==
582
630
583−mime-db@1.44.0:
631+mime-db@1.49.0:
584− version "1.44.0"
632+ version "1.49.0"
585− resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.44.0.tgz#fa11c5eb0aca1334b4233cb4d52f10c5a6272f92"
633+ resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.49.0.tgz#f3dfde60c99e9cf3bc9701d687778f537001cbed"
586− integrity sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==
634+ integrity sha512-CIc8j9URtOVApSFCQIF+VBkX1RwXp/oMMOrqdyXSBXq5RWNEsRfyj1kiRnQgmNXmHxPoFIxOroKA3zcU9P+nAA==
587
635
588mime-types@^2.1.12, mime-types@~2.1.19:
636mime-types@^2.1.12, mime-types@~2.1.19:
589− version "2.1.27"
637+ version "2.1.32"
590− resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.27.tgz#47949f98e279ea53119f5722e0f34e529bec009f"
638+ resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.32.tgz#1d00e89e7de7fe02008db61001d9e02852670fd5"
591− integrity sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==
639+ integrity sha512-hJGaVS4G4c9TSMYh2n6SQAGrC4RnfU+daP8G7cSCmaqNjiOoUY0VHCMS42pxnQmVF1GWwFhbHWn3RIxCqTmZ9A==
592 dependencies:
640 dependencies:
593− mime-db "1.44.0"
641+ mime-db "1.49.0"
594
642
595mimic-fn@^1.0.0:
643mimic-fn@^1.0.0:
596 version "1.2.0"
644 version "1.2.0"
@@ -665,11 +713,11 @@ move-concurrently@^1.0.1:
665 run-queue "^1.0.3"
713 run-queue "^1.0.3"
666
714
667ms@^2.1.2:
715ms@^2.1.2:
668− version "2.1.2"
716+ version "2.1.3"
669− resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
717+ resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2"
670− integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
718+ integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
671
719
672−node-fetch@^2.6.0, node-fetch@^2.6.1:
720+node-fetch@^2.6.1:
673 version "2.6.1"
721 version "2.6.1"
674 resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052"
722 resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052"
675 integrity sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==
723 integrity sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==
@@ -701,12 +749,24 @@ onetime@^2.0.0:
701 mimic-fn "^1.0.0"
749 mimic-fn "^1.0.0"
702
750
703onetime@^5.1.0:
751onetime@^5.1.0:
704− version "5.1.1"
752+ version "5.1.2"
705− resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.1.tgz#5c8016847b0d67fcedb7eef254751cfcdc7e9418"
753+ resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e"
706− integrity sha512-ZpZpjcJeugQfWsfyQlshVoowIIQ1qBGSVll4rfDq6JJVO//fesjoX808hXWfBjY+ROZgpKDI5TRSRBSoJiZ8eg==
754+ integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==
707 dependencies:
755 dependencies:
708 mimic-fn "^2.1.0"
756 mimic-fn "^2.1.0"
709
757
758+ow@^0.27.0:
759+ version "0.27.0"
760+ resolved "https://registry.yarnpkg.com/ow/-/ow-0.27.0.tgz#d44da088e8184fa11de64b5813206f9f86ab68d0"
761+ integrity sha512-SGnrGUbhn4VaUGdU0EJLMwZWSupPmF46hnTRII7aCLCrqixTAC5eKo8kI4/XXf1eaaI8YEVT+3FeGNJI9himAQ==
762+ dependencies:
763+ "@sindresorhus/is" "^4.0.1"
764+ callsites "^3.1.0"
765+ dot-prop "^6.0.1"
766+ lodash.isequal "^4.5.0"
767+ type-fest "^1.2.1"
768+ vali-date "^1.0.0"
769+
710p-finally@^2.0.0:
770p-finally@^2.0.0:
711 version "2.0.1"
771 version "2.0.1"
712 resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-2.0.1.tgz#bd6fcaa9c559a096b680806f4d657b3f0f240561"
772 resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-2.0.1.tgz#bd6fcaa9c559a096b680806f4d657b3f0f240561"
@@ -736,11 +796,6 @@ performance-now@^2.1.0:
736 resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b"
796 resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b"
737 integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=
797 integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=
738
798
739−prism-media@^1.2.0:
740− version "1.2.2"
741− resolved "https://registry.yarnpkg.com/prism-media/-/prism-media-1.2.2.tgz#4f1c841f248b67d325a24b4e6b1a491b8f50a24f"
742− integrity sha512-I+nkWY212lJ500jLe4tN9tWO7nRiBAVdMv76P9kffZjYhw20raMlW1HSSvS+MLXC9MmbNZCazMrAr+5jEEgTuw==
743−
744process-nextick-args@~2.0.0:
799process-nextick-args@~2.0.0:
745 version "2.0.1"
800 version "2.0.1"
746 resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2"
801 resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2"
@@ -812,10 +867,10 @@ purescript-installer@^0.2.0:
812 which "^1.3.1"
867 which "^1.3.1"
813 zen-observable "^0.8.14"
868 zen-observable "^0.8.14"
814
869
815−purescript@^0.13.8:
870+purescript@^0.14.0:
816− version "0.13.8"
871+ version "0.14.3"
817− resolved "https://registry.yarnpkg.com/purescript/-/purescript-0.13.8.tgz#acab6f3008d75b8046478c8c1d6124079dc96f7e"
872+ resolved "https://registry.yarnpkg.com/purescript/-/purescript-0.14.3.tgz#8a725c5dc640afeebb1fe9e2512477827ca05ee8"
818− integrity sha512-1ZyVEVFLgcEcjPXxJYeVEyYn66DF2DnOLTWzo/K/MrQUF2chdLSyZ8sJpcarWyrz2HxXaubYceYbo5KexKzynA==
873+ integrity sha512-lAzHU/tcmxF4n3YUwUTwG/sIwHzjUq1zsIOBNmaVpbm7hxM+RhOTKMJdwdbTeCjxlilyVPWOLUQ6Exll4DYuMA==
819 dependencies:
874 dependencies:
820 purescript-installer "^0.2.0"
875 purescript-installer "^0.2.0"
821
876
@@ -900,11 +955,6 @@ safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0:
900 resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
955 resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
901 integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
956 integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
902
957
903−setimmediate@^1.0.5:
904− version "1.0.5"
905− resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285"
906− integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=
907−
908shebang-command@^2.0.0:
958shebang-command@^2.0.0:
909 version "2.0.0"
959 version "2.0.0"
910 resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea"
960 resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea"
@@ -922,10 +972,10 @@ signal-exit@^3.0.2:
922 resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c"
972 resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c"
923 integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==
973 integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==
924
974
925−spago@^0.15.3:
975+spago@^0.19.1:
926− version "0.15.3"
976+ version "0.19.2"
927− resolved "https://registry.yarnpkg.com/spago/-/spago-0.15.3.tgz#348de88f2aa499abaee9289b7d66e1e049807f0c"
977+ resolved "https://registry.yarnpkg.com/spago/-/spago-0.19.2.tgz#2dfe3952ea282bd239084c934b0e0eaca7aaddd3"
928− integrity sha512-CNpbJiI+6MPpttbCtGIGFUroegXze4I7joXCTfiiTRzOUKcMV925fm7dxyAa3AVUUUvGi3D55k65aniGR1cVMA==
978+ integrity sha512-/u4ofPqWkK1JKRlDU8ZpuLVEOqOpD7/F9zIms4jaPxrXDNhddvhZkbYXrFF/Pe4ZpawysrkhQxhKKt+FJfOfuw==
929 dependencies:
979 dependencies:
930 request "^2.88.0"
980 request "^2.88.0"
931 tar "^4.4.8"
981 tar "^4.4.8"
@@ -946,9 +996,9 @@ sshpk@^1.7.0:
946 tweetnacl "~0.14.0"
996 tweetnacl "~0.14.0"
947
997
948ssri@^6.0.1:
998ssri@^6.0.1:
949− version "6.0.1"
999+ version "6.0.2"
950− resolved "https://registry.yarnpkg.com/ssri/-/ssri-6.0.1.tgz#2a3c41b28dd45b62b63676ecb74001265ae9edd8"
1000+ resolved "https://registry.yarnpkg.com/ssri/-/ssri-6.0.2.tgz#157939134f20464e7301ddba3e90ffa8f7728ac5"
951− integrity sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==
1001+ integrity sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==
952 dependencies:
1002 dependencies:
953 figgy-pudding "^3.5.1"
1003 figgy-pudding "^3.5.1"
954
1004
@@ -1001,9 +1051,9 @@ supports-color@^5.3.0:
1001 has-flag "^3.0.0"
1051 has-flag "^3.0.0"
1002
1052
1003tar@^4.4.6, tar@^4.4.8:
1053tar@^4.4.6, tar@^4.4.8:
1004− version "4.4.13"
1054+ version "4.4.15"
1005− resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.13.tgz#43b364bc52888d555298637b10d60790254ab525"
1055+ resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.15.tgz#3caced4f39ebd46ddda4d6203d48493a919697f8"
1006− integrity sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==
1056+ integrity sha512-ItbufpujXkry7bHH9NpQyTXPbJ72iTlXgkBAYsAjDXk3Ds8t/3NfO5P4xZGy7u+sYuQUbimgzswX4uQIEeNVOA==
1007 dependencies:
1057 dependencies:
1008 chownr "^1.1.1"
1058 chownr "^1.1.1"
1009 fs-minipass "^1.2.5"
1059 fs-minipass "^1.2.5"
@@ -1029,6 +1079,16 @@ tough-cookie@~2.5.0:
1029 psl "^1.1.28"
1079 psl "^1.1.28"
1030 punycode "^2.1.1"
1080 punycode "^2.1.1"
1031
1081
1082+ts-mixer@^6.0.0:
1083+ version "6.0.0"
1084+ resolved "https://registry.yarnpkg.com/ts-mixer/-/ts-mixer-6.0.0.tgz#4e631d3a36e3fa9521b973b132e8353bc7267f9f"
1085+ integrity sha512-nXIb1fvdY5CBSrDIblLn73NW0qRDk5yJ0Sk1qPBF560OdJfQp9jhl+0tzcY09OZ9U+6GpeoI9RjwoIKFIoB9MQ==
1086+
1087+tslib@^2.3.0:
1088+ version "2.3.0"
1089+ resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.0.tgz#803b8cdab3e12ba581a4ca41c8839bbb0dacb09e"
1090+ integrity sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==
1091+
1032tunnel-agent@^0.6.0:
1092tunnel-agent@^0.6.0:
1033 version "0.6.0"
1093 version "0.6.0"
1034 resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd"
1094 resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd"
@@ -1041,10 +1101,10 @@ tweetnacl@^0.14.3, tweetnacl@~0.14.0:
1041 resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64"
1101 resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64"
1042 integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=
1102 integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=
1043
1103
1044−tweetnacl@^1.0.3:
1104+type-fest@^1.2.1:
1045− version "1.0.3"
1105+ version "1.4.0"
1046− resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-1.0.3.tgz#ac0af71680458d8a6378d0d0d050ab1407d35596"
1106+ resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-1.4.0.tgz#e9fb813fe3bf1744ec359d55d1affefa76f14be1"
1047− integrity sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==
1107+ integrity sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==
1048
1108
1049typedarray@^0.0.6:
1109typedarray@^0.0.6:
1050 version "0.0.6"
1110 version "0.0.6"
@@ -1066,9 +1126,9 @@ unique-slug@^2.0.0:
1066 imurmurhash "^0.1.4"
1126 imurmurhash "^0.1.4"
1067
1127
1068uri-js@^4.2.2:
1128uri-js@^4.2.2:
1069− version "4.2.2"
1129+ version "4.4.1"
1070− resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0"
1130+ resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e"
1071− integrity sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==
1131+ integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==
1072 dependencies:
1132 dependencies:
1073 punycode "^2.1.0"
1133 punycode "^2.1.0"
1074
1134
@@ -1082,6 +1142,11 @@ uuid@^3.3.2:
1082 resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee"
1142 resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee"
1083 integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==
1143 integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==
1084
1144
1145+vali-date@^1.0.0:
1146+ version "1.0.0"
1147+ resolved "https://registry.yarnpkg.com/vali-date/-/vali-date-1.0.0.tgz#1b904a59609fb328ef078138420934f6b86709a6"
1148+ integrity sha1-G5BKWWCfsyjvB4E4Qgk09rhnCaY=
1149+
1085verror@1.10.0:
1150verror@1.10.0:
1086 version "1.10.0"
1151 version "1.10.0"
1087 resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400"
1152 resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400"
@@ -1119,10 +1184,15 @@ wrappy@1:
1119 resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
1184 resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
1120 integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=
1185 integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=
1121
1186
1122−ws@^7.2.1:
1187+ws@^7.5.1:
1123− version "7.3.1"
1188+ version "7.5.3"
1124− resolved "https://registry.yarnpkg.com/ws/-/ws-7.3.1.tgz#d0547bf67f7ce4f12a72dfe31262c68d7dc551c8"
1189+ resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.3.tgz#160835b63c7d97bfab418fc1b8a9fced2ac01a74"
1125− integrity sha512-D3RuNkynyHmEJIpD2qrgVkc9DQ23OrN/moAwZX4L8DfvszsJxpjQuUq3LMx6HoYji9fbIOBY18XWBsAux1ZZUA==
1190+ integrity sha512-kQ/dHIzuLrS6Je9+uv81ueZomEwH0qVYstcAQ4/Z93K8zeko9gtAbttJWzoC5ukqXY1PpoouV3+VSOqEAFt5wg==
1191+
1192+xhr2@^0.2.1:
1193+ version "0.2.1"
1194+ resolved "https://registry.yarnpkg.com/xhr2/-/xhr2-0.2.1.tgz#4e73adc4f9cfec9cbd2157f73efdce3a5f108a93"
1195+ integrity sha512-sID0rrVCqkVNUn8t6xuv9+6FViXjUVXq8H5rWOH2rz9fDNQEd4g0EA2XlcEdJXRz5BMEn4O1pJFdT+z4YHhoWw==
1126
1196
1127xtend@~4.0.1:
1197xtend@~4.0.1:
1128 version "4.0.2"
1198 version "4.0.2"
@@ -1130,9 +1200,9 @@ xtend@~4.0.1:
1130 integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==
1200 integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==
1131
1201
1132y18n@^4.0.0:
1202y18n@^4.0.0:
1133− version "4.0.0"
1203+ version "4.0.3"
1134− resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b"
1204+ resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf"
1135− integrity sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==
1205+ integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==
1136
1206
1137yallist@^3.0.0, yallist@^3.0.2, yallist@^3.0.3:
1207yallist@^3.0.0, yallist@^3.0.2, yallist@^3.0.3:
1138 version "3.1.1"
1208 version "3.1.1"