upgrade shadow

Signed-off-by: andrey <motor4ik@gmail.com>
This commit is contained in:
andrey 2020-07-09 12:13:28 +02:00
parent 2334de58d2
commit 08cbc76111
No known key found for this signature in database
GPG Key ID: 89B67245FD2F0272
8 changed files with 99 additions and 282 deletions

View File

@ -70,6 +70,6 @@
"nyc": "^14.1.1",
"process": "0.11.10",
"rn-snoopy": "git+https://github.com/status-im/rn-snoopy.git#v2.0.2-status",
"shadow-cljs": "2.9.2"
"shadow-cljs": "2.10.14"
}
}

View File

@ -38,10 +38,12 @@
:init-fn status-im.core/init
:closure-defines {"status-im.utils.config/INFURA_TOKEN" #shadow/env "INFURA_TOKEN"}
:dev {:devtools {:after-load status-im.reloader/reload
:build-notify status-im.reloader/build-notify
:preloads [re-frisk-remote.preload]}
:compiler-options {:closure-defines
{re-frame.trace/trace-enabled? true}
:source-map false}
:source-map false
:infer-externs true}
;; if you want to use a real device, set your local ip
;; in the SHADOW_HOST env variable to make sure that
;; it will use the right interface

View File

@ -1,221 +0,0 @@
(ns shadow.cljs.devtools.client.react-native
(:require [cljs.reader :as reader]
[clojure.string :as str]
[goog.net.XhrIo :as xhr]
[shadow.cljs.devtools.client.env :as env]
[status-im.reloader :as reloader]))
(defonce repl-ns-ref (atom nil))
(defonce socket-ref (volatile! nil))
(defn ws-msg [msg]
(if-let [s @socket-ref]
(.send s (pr-str msg))
(js/console.warn "WEBSOCKET NOT CONNECTED" (pr-str msg))))
(defn devtools-msg
([x]
(js/console.log x))
([x y]
(js/console.log x y)))
(defn script-eval [code]
(js/goog.global.eval code))
(defn do-js-load [sources]
(doseq [{:keys [resource-name js] :as src} sources]
(devtools-msg "load JS" resource-name)
(env/before-load-src src)
(script-eval (str js "\n//# sourceURL=" resource-name))))
(defn do-js-reload [msg sources complete-fn]
(env/do-js-reload
(assoc msg
:log-missing-fn
(fn [fn-sym]
(devtools-msg (str "can't find fn " fn-sym)))
:log-call-async
(fn [fn-sym]
(devtools-msg (str "call async " fn-sym)))
:log-call
(fn [fn-sym]
(devtools-msg (str "call " fn-sym))))
#(do-js-load sources)
complete-fn))
(defn load-sources [sources callback]
(if (empty? sources)
(callback [])
(xhr/send
(env/files-url)
(fn [_]
(this-as ^goog req
(let [content
(-> req
(.getResponseText)
(reader/read-string))]
(callback content))))
"POST"
(pr-str {:client :browser
:sources (into [] (map :resource-id) sources)})
#js {"content-type" "application/edn; charset=utf-8"})))
(defn noop [& _])
(defn handle-build-complete [{:keys [info reload-info] :as msg}]
(let [{:keys [sources]}
info
warnings
(->> (for [{:keys [resource-name warnings] :as src} sources
:when (not (:from-jar src))
warning warnings]
(assoc warning :resource-name resource-name))
(distinct)
(into []))]
(when (seq warnings)
(reloader/build-failed))
(when (and env/autoload
(or (empty? warnings) env/ignore-warnings))
(reloader/build-competed)
(let [sources-to-get (env/filter-reload-sources info reload-info)]
(when (seq sources-to-get)
(load-sources sources-to-get #(do-js-reload msg % noop)))))))
(defn repl-error [e]
(js/console.error "repl/invoke error" (.-message e) e)
(env/repl-error e))
(defn repl-invoke [{:keys [id js]}]
(let [result (env/repl-call #(js/eval js) repl-error)]
(-> result
(assoc :id id)
(ws-msg))))
(defn repl-require [{:keys [id sources reload-namespaces]} done]
(let [sources-to-load
(->> sources
(remove (fn [{:keys [provides] :as src}]
(and (env/src-is-loaded? src)
(not (some reload-namespaces provides)))))
(into []))]
(load-sources
sources-to-load
(fn [sources]
(do-js-load sources)
(ws-msg {:type :repl/require-complete :id id})
(done)))))
(defn repl-init [{:keys [repl-state id]} done]
(reset! repl-ns-ref (get-in repl-state [:current :ns]))
(load-sources
;; maybe need to load some missing files to init REPL
(->> (:repl-sources repl-state)
(remove env/src-is-loaded?)
(into []))
(fn [sources]
(do-js-load sources)
(ws-msg {:type :repl/init-complete :id id})
(devtools-msg "REPL init successful")
(done))))
(defn repl-set-ns [{:keys [id ns]}]
(reset! repl-ns-ref ns)
(ws-msg {:type :repl/set-ns-complete :id id :ns ns}))
;; FIXME: core.async-ify this
(defn handle-message [{:keys [type] :as msg} done]
;; (js/console.log "ws-msg" (pr-str msg))
(case type
:repl/invoke
(repl-invoke msg)
:repl/require
(repl-require msg done)
:repl/set-ns
(repl-set-ns msg)
:repl/init
(repl-init msg done)
:repl/ping
(ws-msg {:type :repl/pong :time-server (:time-server msg) :time-runtime (js/Date.now)})
:build-complete
(handle-build-complete msg)
:build-failure
(reloader/build-failed)
:build-init
nil
:build-start
(reloader/build-start)
:pong
nil
:client/stale
(devtools-msg "Stale Client! You are not using the latest compilation output!")
:client/no-worker
(devtools-msg (str "watch for build \"" env/build-id "\" not running"))
;; default
:ignored)
(when-not (contains? env/async-ops type)
(done)))
(defn ws-connect []
(let [ws-url
(env/ws-url :react-native)
socket
(js/WebSocket. ws-url)]
(vreset! socket-ref socket)
(set! (.-onmessage socket)
(fn [e]
(env/process-ws-msg (. e -data) handle-message)))
(set! (.-onopen socket)
(fn [_]
;; :module-format :js already patches provide
(when (= "goog" env/module-format)
;; patch away the already declared exception
(set! (.-provide js/goog) js/goog.constructNamespace_))
(env/set-print-fns! ws-msg)
(devtools-msg "WebSocket connected!")))
(set! (.-onclose socket)
(fn [_]
;; not a big fan of reconnecting automatically since a disconnect
;; may signal a change of config, safer to just reload the page
(devtools-msg "WebSocket disconnected!")
(vreset! socket-ref nil)
(env/reset-print-fns!)))
(set! (.-onerror socket)
(fn [e]
(js/console.error (str "WebSocket connect failed:" (.-message e) "\n"
"It was trying to connect to: " (subs ws-url 0 (str/index-of ws-url "/" 6)) "\n"))))))
(when ^boolean env/enabled
;; disconnect an already connected socket, happens if this file is reloaded
;; pretty much only for me while working on this file
(when-let [s @socket-ref]
(devtools-msg "connection reset!")
(set! (.-onclose s) (fn [_]))
(.close s)
(vreset! socket-ref nil))
(ws-connect))

View File

@ -1,4 +0,0 @@
(ns status-im.android.platform)
(def platform-specific
{:status-bar-default-height 25})

View File

@ -1,15 +0,0 @@
(ns status-im.ios.platform
(:require ["react-native" :refer (Dimensions)]))
;; iPhone X dimensions
(def x-height 812)
(def xs-height 896)
(defn iphone-x-dimensions? []
(let [{:keys [height]} (-> Dimensions
(.get "window")
(js->clj :keywordize-keys true))]
(or (= height x-height) (= height xs-height))))
(def platform-specific
{:status-bar-default-height (if (iphone-x-dimensions?) 0 20)})

View File

@ -21,9 +21,11 @@
(reset! warning? false)
(reset! visible true))
(defn build-failed []
(defn build-failed [warnings]
(reset! warning? true)
(reset! label "building failed")
(reset! label (str "building failed"
(when (seq warnings)
(str "\n" (count warnings) " warnings"))))
(reset! visible true))
(defn build-start []
@ -31,6 +33,15 @@
(reset! label "building")
(reset! visible true))
(defn build-notify [{:keys [type info]}]
(cond (= :build-start type)
(build-start)
(or (= :build-failure type)
(and (= :build-complete type) (seq (:warnings info))))
(build-failed (:warnings info))
(= :build-complete type)
(build-competed)))
(defn reload-view [_]
(fn [cnt]
(when @timeout (js/clearTimeout @timeout))

View File

@ -1,6 +1,5 @@
(ns status-im.utils.platform
(:require [status-im.ios.platform :as ios]
["react-native" :as react-native]))
(:require ["react-native" :as react-native :refer (Dimensions)]))
(def platform
(.-Platform react-native))
@ -13,9 +12,19 @@
(when platform
(.-Version ^js platform)))
;; iPhone X dimensions
(def x-height 812)
(def xs-height 896)
(defn iphone-x-dimensions? []
(let [{:keys [height]} (-> Dimensions
(.get "window")
(js->clj :keywordize-keys true))]
(or (= height x-height) (= height xs-height))))
(def android? (= os "android"))
(def ios? (= os "ios"))
(def iphone-x? (and ios? (ios/iphone-x-dimensions?)))
(def iphone-x? (and ios? (iphone-x-dimensions?)))
(defn no-backup-directory []
(cond

105
yarn.lock
View File

@ -2035,11 +2035,21 @@ bn.js@4.11.6:
resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.6.tgz#53344adb14617a13f6e8dd2ce28905d1c0ba3215"
integrity sha1-UzRK2xRhehP26N0s4okF0cC6MhU=
bn.js@4.11.8, bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.11.6, bn.js@^4.4.0:
bn.js@4.11.8, bn.js@^4.11.6:
version "4.11.8"
resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f"
integrity sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==
bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.4.0:
version "4.11.9"
resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.9.tgz#26d556829458f9d1e81fc48952493d0ba3507828"
integrity sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==
bn.js@^5.1.1:
version "5.1.2"
resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.1.2.tgz#c9686902d3c9a27729f43ab10f9d79c2004da7b0"
integrity sha512-40rZaf3bUNKTVYu9sIeeEGOg7g14Yvnj9kH7b50EiwX0Q7A6umbvfI5tvHaOERH0XigqKkfLkFQxzb4e6CIXnA==
boolbase@^1.0.0, boolbase@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e"
@ -2138,7 +2148,7 @@ browserify-des@^1.0.0:
inherits "^2.0.1"
safe-buffer "^5.1.2"
browserify-rsa@^4.0.0:
browserify-rsa@^4.0.0, browserify-rsa@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524"
integrity sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=
@ -2147,17 +2157,19 @@ browserify-rsa@^4.0.0:
randombytes "^2.0.1"
browserify-sign@^4.0.0:
version "4.0.4"
resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.0.4.tgz#aa4eb68e5d7b658baa6bf6a57e630cbd7a93d298"
integrity sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=
version "4.2.0"
resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.2.0.tgz#545d0b1b07e6b2c99211082bf1b12cce7a0b0e11"
integrity sha512-hEZC1KEeYuoHRqhGhTy6gWrpJA3ZDjFWv0DE61643ZnOXAKJb3u7yWcrU0mMc9SwAqK1n7myPGndkp0dFG7NFA==
dependencies:
bn.js "^4.1.1"
browserify-rsa "^4.0.0"
create-hash "^1.1.0"
create-hmac "^1.1.2"
elliptic "^6.0.0"
inherits "^2.0.1"
parse-asn1 "^5.0.0"
bn.js "^5.1.1"
browserify-rsa "^4.0.1"
create-hash "^1.2.0"
create-hmac "^1.1.7"
elliptic "^6.5.2"
inherits "^2.0.4"
parse-asn1 "^5.1.5"
readable-stream "^3.6.0"
safe-buffer "^5.2.0"
browserify-zlib@^0.2.0:
version "0.2.0"
@ -2670,7 +2682,7 @@ create-ecdh@^4.0.0:
bn.js "^4.1.0"
elliptic "^6.0.0"
create-hash@^1.1.0, create-hash@^1.1.2:
create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196"
integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==
@ -2681,7 +2693,7 @@ create-hash@^1.1.0, create-hash@^1.1.2:
ripemd160 "^2.0.1"
sha.js "^2.4.0"
create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4:
create-hmac@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7:
version "1.1.7"
resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff"
integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==
@ -3034,7 +3046,20 @@ electron-to-chromium@^1.3.413:
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.414.tgz#9d0a92defefda7cc1cf8895058b892795ddd6b41"
integrity sha512-UfxhIvED++qLwWrAq9uYVcqF8FdeV9sU2S7qhiHYFODxzXRrd1GZRl/PjITHsTEejgibcWDraD8TQqoHb1aCBQ==
elliptic@^6.0.0, elliptic@^6.4.0:
elliptic@^6.0.0, elliptic@^6.5.2:
version "6.5.3"
resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.3.tgz#cb59eb2efdaf73a0bd78ccd7015a62ad6e0f93d6"
integrity sha512-IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw==
dependencies:
bn.js "^4.4.0"
brorand "^1.0.1"
hash.js "^1.0.0"
hmac-drbg "^1.0.0"
inherits "^2.0.1"
minimalistic-assert "^1.0.0"
minimalistic-crypto-utils "^1.0.0"
elliptic@^6.4.0:
version "6.5.2"
resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.2.tgz#05c5678d7173c049d8ca433552224a495d0e3762"
integrity sha512-f4x70okzZbIQl/NSRLkI/+tteV/9WqL98zx+SQ69KbXxmVrmjwsNUPn/gYJJ0sHvEak24cZgHIPegRePAtA/xw==
@ -3796,12 +3821,13 @@ has@^1.0.3:
function-bind "^1.1.1"
hash-base@^3.0.0:
version "3.0.4"
resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.0.4.tgz#5fc8686847ecd73499403319a6b0a3f3f6ae4918"
integrity sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=
version "3.1.0"
resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.1.0.tgz#55c381d9e06e1d2997a883b4a3fddfe7f0d3af33"
integrity sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==
dependencies:
inherits "^2.0.1"
safe-buffer "^5.0.1"
inherits "^2.0.4"
readable-stream "^3.6.0"
safe-buffer "^5.2.0"
hash.js@^1.0.0, hash.js@^1.0.3:
version "1.1.7"
@ -3945,7 +3971,7 @@ inflight@^1.0.4:
once "^1.3.0"
wrappy "1"
inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.1, inherits@~2.0.3:
inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.1, inherits@~2.0.3:
version "2.0.4"
resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
@ -6039,7 +6065,7 @@ pako@~1.0.5:
resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf"
integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==
parse-asn1@^5.0.0:
parse-asn1@^5.0.0, parse-asn1@^5.1.5:
version "5.1.5"
resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.5.tgz#003271343da58dc94cace494faef3d2147ecea0e"
integrity sha512-jkMYn1dcJqF6d5CpU689bq7w/b5ALS9ROVSpQDPrZsqqesUJii9qutvoT5ltGedNXMO2e16YUWIghG9KxaViTQ==
@ -6142,9 +6168,9 @@ path-type@^3.0.0:
pify "^3.0.0"
pbkdf2@^3.0.3:
version "3.0.17"
resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.17.tgz#976c206530617b14ebb32114239f7b09336e93a6"
integrity sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA==
version "3.1.1"
resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.1.tgz#cb8724b0fada984596856d1a6ebafd3584654b94"
integrity sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg==
dependencies:
create-hash "^1.1.2"
create-hmac "^1.1.4"
@ -6711,6 +6737,15 @@ readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.2.2, readable
string_decoder "~1.1.1"
util-deprecate "~1.0.1"
readable-stream@^3.6.0:
version "3.6.0"
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198"
integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==
dependencies:
inherits "^2.0.3"
string_decoder "^1.1.1"
util-deprecate "^1.0.1"
readline-sync@^1.4.7:
version "1.4.10"
resolved "https://registry.yarnpkg.com/readline-sync/-/readline-sync-1.4.10.tgz#41df7fbb4b6312d673011594145705bf56d8873b"
@ -6997,10 +7032,10 @@ safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1:
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.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"
integrity sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==
safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@~5.2.0:
version "5.2.1"
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"
integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
safe-regex@^1.1.0:
version "1.1.0"
@ -7139,10 +7174,10 @@ shadow-cljs-jar@1.3.2:
resolved "https://registry.yarnpkg.com/shadow-cljs-jar/-/shadow-cljs-jar-1.3.2.tgz#97273afe1747b6a2311917c1c88d9e243c81957b"
integrity sha512-XmeffAZHv8z7451kzeq9oKh8fh278Ak+UIOGGrapyqrFBB773xN8vMQ3O7J7TYLnb9BUwcqadKkmgaq7q6fhZg==
shadow-cljs@2.9.2:
version "2.9.2"
resolved "https://registry.yarnpkg.com/shadow-cljs/-/shadow-cljs-2.9.2.tgz#e84b79a129c19b5134095da017a51fe6065e04ba"
integrity sha512-BuOWpM9jYarrIpDMkLWkeViXOSo+zLBRE7CzPetJa8aDnpohQ7jUeJMsX28S0uQ/rt+XSsElWqVGt3CiP6XjkA==
shadow-cljs@2.10.14:
version "2.10.14"
resolved "https://registry.yarnpkg.com/shadow-cljs/-/shadow-cljs-2.10.14.tgz#b2406619b09f2f2fd00b0b8cb0d125ff9b7c72a7"
integrity sha512-70UjdzhmF64lDrftsD2HdBqstpfZ9iVimbZMgmV6xfjakbuiuwqnJvtJZ/CbOhsCsS2m+E6EqSFfIDiT+vtbEA==
dependencies:
node-libs-browser "^2.0.0"
readline-sync "^1.4.7"
@ -7546,7 +7581,7 @@ string.prototype.trimstart@^1.0.0:
define-properties "^1.1.3"
es-abstract "^1.17.5"
string_decoder@^1.0.0:
string_decoder@^1.0.0, string_decoder@^1.1.1:
version "1.3.0"
resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e"
integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==
@ -8045,7 +8080,7 @@ utf8@3.0.0, utf8@^3.0.0:
resolved "https://registry.yarnpkg.com/utf8/-/utf8-3.0.0.tgz#f052eed1364d696e769ef058b183df88c87f69d1"
integrity sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==
util-deprecate@~1.0.1:
util-deprecate@^1.0.1, util-deprecate@~1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=