mirror of
https://github.com/penpot/penpot.git
synced 2025-03-09 14:21:42 -05:00
🎉 Add logging framework to frontend.
This commit is contained in:
parent
ded42707ab
commit
21a6de02d8
7 changed files with 328 additions and 100 deletions
|
@ -1,9 +1,9 @@
|
|||
{:dependencies
|
||||
[[funcool/promesa "5.1.0"]
|
||||
[[funcool/promesa "6.0.0"]
|
||||
[danlentz/clj-uuid "0.1.9"]
|
||||
[funcool/cuerdas "2020.03.26-3"]
|
||||
[lambdaisland/glogi "1.0.63"]
|
||||
[metosin/reitit-core "0.5.2"]
|
||||
[lambdaisland/glogi "1.0.74"]
|
||||
[metosin/reitit-core "0.5.9"]
|
||||
[com.cognitect/transit-cljs "0.8.264"]
|
||||
[frankiesardo/linked "1.3.0"]]
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
com.cognitect/transit-cljs {:mvn/version "0.8.264"}
|
||||
|
||||
environ/environ {:mvn/version "1.2.0"}
|
||||
metosin/reitit-core {:mvn/version "0.5.6"}
|
||||
metosin/reitit-core {:mvn/version "0.5.9"}
|
||||
expound/expound {:mvn/version "0.8.6"}
|
||||
|
||||
danlentz/clj-uuid {:mvn/version "0.1.9"}
|
||||
|
@ -42,7 +42,7 @@
|
|||
org.antlr/antlr4-runtime {:mvn/version "4.7"}}}
|
||||
|
||||
:outdated
|
||||
{:extra-deps {olical/depot {:mvn/version "1.8.4"}}
|
||||
{:extra-deps {olical/depot {:mvn/version "RELEASE"}}
|
||||
:main-opts ["-m" "depot.outdated.main"]}
|
||||
|
||||
:repl
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
],
|
||||
"scripts": {},
|
||||
"devDependencies": {
|
||||
"autoprefixer": "^9.8.6",
|
||||
"autoprefixer": "^10.0.1",
|
||||
"clean-css": "^4.2.3",
|
||||
"gulp": "4.0.2",
|
||||
"gulp-gzip": "^1.4.2",
|
||||
|
@ -22,7 +22,7 @@
|
|||
"gulp-rename": "^2.0.0",
|
||||
"gulp-svg-sprite": "^1.5.0",
|
||||
"mkdirp": "^1.0.4",
|
||||
"postcss": "^7.0.32",
|
||||
"postcss": "^8.1.2",
|
||||
"rimraf": "^3.0.0",
|
||||
"sass": "^1.26.10",
|
||||
"shadow-cljs": "2.11.5"
|
||||
|
@ -32,11 +32,11 @@
|
|||
"map-stream": "0.0.7",
|
||||
"mousetrap": "^1.6.5",
|
||||
"randomcolor": "^0.6.2",
|
||||
"react": "^16.13.1",
|
||||
"react-dom": "^16.13.1",
|
||||
"react": "^17.0.0",
|
||||
"react-dom": "^17.0.0",
|
||||
"rxjs": "7.0.0-beta.4",
|
||||
"slate": "^0.58.4",
|
||||
"slate-react": "^0.58.4",
|
||||
"slate": "^0.59.0",
|
||||
"slate-react": "^0.59.0",
|
||||
"source-map-support": "^0.5.16",
|
||||
"tdigest": "^0.1.1",
|
||||
"xregexp": "^4.3.0"
|
||||
|
|
|
@ -24,10 +24,15 @@
|
|||
[app.util.storage :refer [storage]]
|
||||
[app.util.theme :as theme]
|
||||
[app.util.timers :as ts]
|
||||
[app.util.logging :as log]
|
||||
[beicon.core :as rx]
|
||||
[cljs.spec.alpha :as s]
|
||||
[rumext.alpha :as mf]))
|
||||
|
||||
(log/initialize!)
|
||||
(log/set-level! :root :warn)
|
||||
(log/set-level! :app :info)
|
||||
|
||||
(declare reinit)
|
||||
|
||||
(defn on-navigate
|
||||
|
@ -78,4 +83,3 @@
|
|||
(defn ^:dev/after-load after-load
|
||||
[]
|
||||
(reinit))
|
||||
|
||||
|
|
39
frontend/src/app/util/logging.clj
Normal file
39
frontend/src/app/util/logging.clj
Normal file
|
@ -0,0 +1,39 @@
|
|||
(ns app.util.logging)
|
||||
|
||||
(defn- log-expr [form level keyvals]
|
||||
(let [keyvals-map (apply array-map keyvals)
|
||||
formatter (::formatter keyvals-map 'identity)]
|
||||
`(log ~(::logger keyvals-map (str *ns*))
|
||||
~level
|
||||
~(-> keyvals-map
|
||||
(dissoc ::logger)
|
||||
#_(assoc :line (:line (meta form))))
|
||||
~(:err keyvals-map))))
|
||||
|
||||
(defmacro set-level!
|
||||
([level]
|
||||
`(set-level* ~(str *ns*) ~level))
|
||||
([n level]
|
||||
`(set-level* ~n ~level)))
|
||||
|
||||
(defmacro error [& keyvals]
|
||||
(log-expr &form :error keyvals))
|
||||
|
||||
(defmacro warn [& keyvals]
|
||||
(log-expr &form :warn keyvals))
|
||||
|
||||
(defmacro info [& keyvals]
|
||||
(log-expr &form :info keyvals))
|
||||
|
||||
(defmacro debug [& keyvals]
|
||||
(log-expr &form :debug keyvals))
|
||||
|
||||
(defmacro trace [& keyvals]
|
||||
(log-expr &form :trace keyvals))
|
||||
|
||||
(defmacro spy [form]
|
||||
(let [res (gensym)]
|
||||
`(let [~res ~form]
|
||||
~(log-expr &form :debug [:spy `'~form
|
||||
:=> res])
|
||||
~res)))
|
200
frontend/src/app/util/logging.cljs
Normal file
200
frontend/src/app/util/logging.cljs
Normal file
|
@ -0,0 +1,200 @@
|
|||
;; This Source Code Form is subject to the terms of the Mozilla Public
|
||||
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
;;
|
||||
;; Copyright (c) 2020 UXBOX Labs SL
|
||||
;;
|
||||
;; This code is highly inspired on the lambdaisland/glogi library but
|
||||
;; adapted and simplified to our needs. The adapted code shares the
|
||||
;; same license. You can found the origianl source code here:
|
||||
;; https://github.com/lambdaisland/glogi
|
||||
|
||||
(ns app.util.logging
|
||||
(:require
|
||||
[goog.log :as glog]
|
||||
[goog.debug.Logger :as Logger]
|
||||
[goog.debug.Logger.Level :as Level]
|
||||
[goog.debug.Console :as Console]
|
||||
[cuerdas.core :as str]
|
||||
[goog.object :as gobj])
|
||||
(:import
|
||||
[goog.debug Logger Console LogRecord]
|
||||
[goog.debug.Logger Level])
|
||||
(:require-macros [app.util.logging]))
|
||||
|
||||
(defn- logger-name
|
||||
[s]
|
||||
(cond
|
||||
(string? s) s
|
||||
(= s :root) ""
|
||||
(simple-ident? s) (name s)
|
||||
(qualified-ident? s) (str (namespace s) "." (name s))
|
||||
:else (str s)))
|
||||
|
||||
(defn get-logger
|
||||
[n]
|
||||
(if (instance? Logger n)
|
||||
n
|
||||
(glog/getLogger (logger-name n))))
|
||||
|
||||
(def root (get-logger :root))
|
||||
|
||||
(def levels
|
||||
{:off Level/OFF
|
||||
:error Level/SEVERE
|
||||
:warn Level/WARNING
|
||||
:warning Level/WARNING
|
||||
:info Level/INFO
|
||||
:debug Level/FINE
|
||||
:trace Level/FINER
|
||||
:fine Level/FINE
|
||||
:finer Level/FINER
|
||||
:all Level/ALL})
|
||||
|
||||
(def colors
|
||||
{:gray3 "#8e908c"
|
||||
:gray4 "#969896"
|
||||
:gray5 "#4d4d4c"
|
||||
:gray6 "#282a2e"
|
||||
:black "#1d1f21"
|
||||
:red "#c82829"
|
||||
:blue "#4271ae"
|
||||
:orange "#f5871f"})
|
||||
|
||||
(defn- get-level-value
|
||||
[level]
|
||||
(if (instance? Level level)
|
||||
(.-value ^Level level)
|
||||
(.-value ^Level (get levels level))))
|
||||
|
||||
(defn- level->color
|
||||
[level]
|
||||
(condp <= (get-level-value level)
|
||||
(get-level-value :error) (get colors :red)
|
||||
(get-level-value :warn) (get colors :orange)
|
||||
(get-level-value :info) (get colors :blue)
|
||||
(get-level-value :debug) (get colors :gray4)
|
||||
(get-level-value :trace) (get colors :gray3)
|
||||
(get colors :gray2)))
|
||||
|
||||
(defn- level->short-name
|
||||
[l]
|
||||
(case l
|
||||
:fine "DBG"
|
||||
:debug "DBG"
|
||||
:finer "TRC"
|
||||
:trace "TRC"
|
||||
:info "INF"
|
||||
:warn "WRN"
|
||||
:warning "WRN"
|
||||
:error "ERR"))
|
||||
|
||||
(defn- make-log-record
|
||||
[level message name exception]
|
||||
(let [record (LogRecord. level message name)]
|
||||
(when exception
|
||||
(.setException record exception))
|
||||
record))
|
||||
|
||||
(defn log
|
||||
"Output a log message to the given logger, optionally with an exception to be
|
||||
logged."
|
||||
([name lvl message]
|
||||
(log name lvl message nil))
|
||||
([name lvl message exception]
|
||||
(when glog/ENABLED
|
||||
(when-let [l (get-logger name)]
|
||||
(.logRecord ^Logger l (make-log-record (get levels lvl) message name exception))))))
|
||||
|
||||
(defn set-level*
|
||||
"Set the level (a keyword) of the given logger, identified by name."
|
||||
[name lvl]
|
||||
(assert (contains? levels lvl))
|
||||
(when-let [l (get-logger name)]
|
||||
(.setLevel ^Logger l (get levels lvl))))
|
||||
|
||||
(defn set-levels!
|
||||
[lvls]
|
||||
(doseq [[logger level] lvls
|
||||
:let [level (if (string? level) (keyword level) level)]]
|
||||
(set-level* logger level)))
|
||||
|
||||
(defn add-handler!
|
||||
([handler-fn]
|
||||
(add-handler! root handler-fn))
|
||||
([logger-or-name handler-fn]
|
||||
(when-let [l (get-logger logger-or-name)]
|
||||
(letfn [(handler [^LogRecord record]
|
||||
(handler-fn {:seqn (.-sequenceNumber_ record)
|
||||
:time (.-time_ record)
|
||||
:level (keyword (str/lower (.-name (.-level_ record))))
|
||||
:message (.-msg_ record)
|
||||
:logger-name (.-loggerName_ record)
|
||||
:exception (.-exception_ record)}))]
|
||||
(unchecked-set handler "handler-fn" handler-fn)
|
||||
(.addHandler ^Logger l handler)))))
|
||||
|
||||
(defn add-handler-once!
|
||||
([handler-fn]
|
||||
(add-handler-once! root handler-fn))
|
||||
([logger-or-name handler-fn]
|
||||
(when-let [l (get-logger logger-or-name)]
|
||||
(when-not (some (comp #{handler-fn} #(gobj/get % "handler-fn"))
|
||||
(.-handlers_ l))
|
||||
(add-handler! l handler-fn)))))
|
||||
|
||||
(defn- prepare-message
|
||||
[message]
|
||||
(loop [kvpairs (seq message)
|
||||
message (array-map)
|
||||
specials []]
|
||||
(if (nil? kvpairs)
|
||||
[message specials]
|
||||
(let [[k v] (first kvpairs)]
|
||||
(cond
|
||||
(= k :err)
|
||||
(recur (next kvpairs)
|
||||
message
|
||||
(conj specials [:error nil v]))
|
||||
|
||||
(and (qualified-ident? k)
|
||||
(= "js" (namespace k)))
|
||||
(recur (next kvpairs)
|
||||
message
|
||||
(conj specials [:js (name k) (if (object? v) v (clj->js v))]))
|
||||
|
||||
:else
|
||||
(recur (next kvpairs)
|
||||
(assoc message k v)
|
||||
specials))))))
|
||||
|
||||
(defonce default-console-handler
|
||||
(fn [{:keys [message exception level logger-name]}]
|
||||
(let [header-styles (str "font-weight: 600; color: " (level->color level))
|
||||
normal-styles (str "font-weight: 300; color: " (get colors :gray6))
|
||||
level-name (level->short-name level)
|
||||
header (str "%c" level-name " [" logger-name "] ")]
|
||||
|
||||
(if (string? message)
|
||||
(let [message (str header "%c" message)]
|
||||
(js/console.log message header-styles normal-styles))
|
||||
(let [[message specials] (prepare-message message)]
|
||||
(if (seq specials)
|
||||
(let [message (str header "%c" (pr-str message))]
|
||||
(js/console.group message header-styles normal-styles)
|
||||
(doseq [[type n v] specials]
|
||||
(case type
|
||||
:js (js/console.log n v)
|
||||
:error (if (instance? cljs.core.ExceptionInfo v)
|
||||
(js/console.error (pr-str v))
|
||||
(js/console.error v))))
|
||||
(js/console.groupEnd message))
|
||||
(let [message (str header "%c" (pr-str message))]
|
||||
(js/console.log message header-styles normal-styles))))))))
|
||||
|
||||
(defn initialize!
|
||||
[]
|
||||
(when-let [instance Console/instance]
|
||||
(.setCapturing ^Console instance false))
|
||||
|
||||
(add-handler-once! default-console-handler))
|
|
@ -277,17 +277,16 @@ atob@^2.1.2:
|
|||
resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9"
|
||||
integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==
|
||||
|
||||
autoprefixer@^9.8.6:
|
||||
version "9.8.6"
|
||||
resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.8.6.tgz#3b73594ca1bf9266320c5acf1588d74dea74210f"
|
||||
integrity sha512-XrvP4VVHdRBCdX1S3WXVD8+RyG9qeb1D5Sn1DeLiG2xfSpzellk5k54xbUERJ3M5DggQxes39UGOTP8CFrEGbg==
|
||||
autoprefixer@^10.0.1:
|
||||
version "10.0.1"
|
||||
resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.0.1.tgz#e2d9000f84ebd98d77b7bc16f8adb2ff1f7bb946"
|
||||
integrity sha512-aQo2BDIsoOdemXUAOBpFv4ZQa2DrOtEufarYhtFsK1088Ca0TUwu/aQWf0M3mrILXZ3mTIVn1lR3hPW8acacsw==
|
||||
dependencies:
|
||||
browserslist "^4.12.0"
|
||||
caniuse-lite "^1.0.30001109"
|
||||
browserslist "^4.14.5"
|
||||
caniuse-lite "^1.0.30001137"
|
||||
colorette "^1.2.1"
|
||||
normalize-range "^0.1.2"
|
||||
num2fraction "^1.2.2"
|
||||
postcss "^7.0.32"
|
||||
postcss-value-parser "^4.1.0"
|
||||
|
||||
aws-sign2@~0.7.0:
|
||||
|
@ -484,15 +483,15 @@ browserify-zlib@^0.2.0:
|
|||
dependencies:
|
||||
pako "~1.0.5"
|
||||
|
||||
browserslist@^4.12.0:
|
||||
version "4.12.2"
|
||||
resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.12.2.tgz#76653d7e4c57caa8a1a28513e2f4e197dc11a711"
|
||||
integrity sha512-MfZaeYqR8StRZdstAK9hCKDd2StvePCYp5rHzQCPicUjfFliDgmuaBNPHYUTpAywBN8+Wc/d7NYVFkO0aqaBUw==
|
||||
browserslist@^4.14.5:
|
||||
version "4.14.5"
|
||||
resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.14.5.tgz#1c751461a102ddc60e40993639b709be7f2c4015"
|
||||
integrity sha512-Z+vsCZIvCBvqLoYkBFTwEYH3v5MCQbsAjp50ERycpOjnPmolg1Gjy4+KaWWpm8QOJt9GHkhdqAl14NpCX73CWA==
|
||||
dependencies:
|
||||
caniuse-lite "^1.0.30001088"
|
||||
electron-to-chromium "^1.3.483"
|
||||
escalade "^3.0.1"
|
||||
node-releases "^1.1.58"
|
||||
caniuse-lite "^1.0.30001135"
|
||||
electron-to-chromium "^1.3.571"
|
||||
escalade "^3.1.0"
|
||||
node-releases "^1.1.61"
|
||||
|
||||
buffer-crc32@~0.2.3:
|
||||
version "0.2.13"
|
||||
|
@ -558,22 +557,17 @@ camelcase@^5.0.0:
|
|||
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320"
|
||||
integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==
|
||||
|
||||
caniuse-lite@^1.0.30001088:
|
||||
version "1.0.30001093"
|
||||
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001093.tgz#833e80f64b1a0455cbceed2a4a3baf19e4abd312"
|
||||
integrity sha512-0+ODNoOjtWD5eS9aaIpf4K0gQqZfILNY4WSNuYzeT1sXni+lMrrVjc0odEobJt6wrODofDZUX8XYi/5y7+xl8g==
|
||||
|
||||
caniuse-lite@^1.0.30001109:
|
||||
version "1.0.30001111"
|
||||
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001111.tgz#dd0ce822c70eb6c7c068e4a55c22e19ec1501298"
|
||||
integrity sha512-xnDje2wchd/8mlJu8sXvWxOGvMgv+uT3iZ3bkIAynKOzToCssWCmkz/ZIkQBs/2pUB4uwnJKVORWQ31UkbVjOg==
|
||||
caniuse-lite@^1.0.30001135, caniuse-lite@^1.0.30001137:
|
||||
version "1.0.30001150"
|
||||
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001150.tgz#6d0d829da654b0b233576de00335586bc2004df1"
|
||||
integrity sha512-kiNKvihW0m36UhAFnl7bOAv0i1K1f6wpfVtTF5O5O82XzgtBnb05V0XeV3oZ968vfg2sRNChsHw8ASH2hDfoYQ==
|
||||
|
||||
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.4.1, chalk@^2.4.2:
|
||||
chalk@^2.4.1:
|
||||
version "2.4.2"
|
||||
resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
|
||||
integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
|
||||
|
@ -1158,10 +1152,10 @@ ecc-jsbn@~0.1.1:
|
|||
jsbn "~0.1.0"
|
||||
safer-buffer "^2.1.0"
|
||||
|
||||
electron-to-chromium@^1.3.483:
|
||||
version "1.3.487"
|
||||
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.487.tgz#8075e6ea33ee2e79a2dfb2a2467033f014017258"
|
||||
integrity sha512-m4QS3IDShxauFfYFpnEzRCcUI55oKB9acEnHCuY/hSCZMz9Pz2KJj+UBnGHxRxS/mS1aphqOQ5wI6gc3yDZ7ew==
|
||||
electron-to-chromium@^1.3.571:
|
||||
version "1.3.582"
|
||||
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.582.tgz#1adfac5affce84d85b3d7b3dfbc4ade293a6ffc4"
|
||||
integrity sha512-0nCJ7cSqnkMC+kUuPs0YgklFHraWGl/xHqtZWWtOeVtyi+YqkoAOMGuZQad43DscXCQI/yizcTa3u6B5r+BLww==
|
||||
|
||||
elliptic@^6.5.3:
|
||||
version "6.5.3"
|
||||
|
@ -1267,10 +1261,10 @@ es6-weak-map@^2.0.1:
|
|||
es6-iterator "^2.0.3"
|
||||
es6-symbol "^3.1.1"
|
||||
|
||||
escalade@^3.0.1:
|
||||
version "3.0.1"
|
||||
resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.0.1.tgz#52568a77443f6927cd0ab9c73129137533c965ed"
|
||||
integrity sha512-DR6NO3h9niOT+MZs7bjxlj2a1k+POu5RN8CLTPX2+i78bRi9eLe7+0zXgUHMnGXWybYcL61E9hGhPKqedy8tQA==
|
||||
escalade@^3.1.0:
|
||||
version "3.1.1"
|
||||
resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40"
|
||||
integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==
|
||||
|
||||
escape-string-regexp@1.0.5, escape-string-regexp@^1.0.5:
|
||||
version "1.0.5"
|
||||
|
@ -2412,6 +2406,14 @@ liftoff@^3.1.0:
|
|||
rechoir "^0.6.2"
|
||||
resolve "^1.1.7"
|
||||
|
||||
line-column@^1.0.2:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/line-column/-/line-column-1.0.2.tgz#d25af2936b6f4849172b312e4792d1d987bc34a2"
|
||||
integrity sha1-0lryk2tvSEkXKzEuR5LR2Ye8NKI=
|
||||
dependencies:
|
||||
isarray "^1.0.0"
|
||||
isobject "^2.0.0"
|
||||
|
||||
load-json-file@^1.0.0:
|
||||
version "1.1.0"
|
||||
resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0"
|
||||
|
@ -2552,7 +2554,7 @@ logform@^2.2.0:
|
|||
ms "^2.1.1"
|
||||
triple-beam "^1.3.0"
|
||||
|
||||
loose-envify@^1.1.0, loose-envify@^1.4.0:
|
||||
loose-envify@^1.1.0:
|
||||
version "1.4.0"
|
||||
resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf"
|
||||
integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==
|
||||
|
@ -2783,6 +2785,11 @@ nan@^2.12.1:
|
|||
resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.1.tgz#d7be34dfa3105b91494c3147089315eff8874b01"
|
||||
integrity sha512-isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw==
|
||||
|
||||
nanoid@^3.1.12:
|
||||
version "3.1.12"
|
||||
resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.12.tgz#6f7736c62e8d39421601e4a0c77623a97ea69654"
|
||||
integrity sha512-1qstj9z5+x491jfiC4Nelk+f8XBad7LN20PmyWINJEMRSf3wcAjAWysw1qaA8z6NSKe2sjq1hRSDpBH5paCb6A==
|
||||
|
||||
nanomatch@^1.2.9:
|
||||
version "1.2.13"
|
||||
resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119"
|
||||
|
@ -2839,10 +2846,10 @@ node-libs-browser@^2.2.1:
|
|||
util "^0.11.0"
|
||||
vm-browserify "^1.0.1"
|
||||
|
||||
node-releases@^1.1.58:
|
||||
version "1.1.58"
|
||||
resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.58.tgz#8ee20eef30fa60e52755fcc0942def5a734fe935"
|
||||
integrity sha512-NxBudgVKiRh/2aPWMgPR7bPTX0VPmGx5QBwCtdHitnqFE5/O8DeBXuIMH1nwNnw/aMo6AjOrpsHzfY3UbUJ7yg==
|
||||
node-releases@^1.1.61:
|
||||
version "1.1.64"
|
||||
resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.64.tgz#71b4ae988e9b1dd7c1ffce58dd9e561752dfebc5"
|
||||
integrity sha512-Iec8O9166/x2HRMJyLLLWkd0sFFLrFNy+Xf+JQfSQsdBJzPcHpNl3JQ9gD4j+aJxmCa25jNsIbM4bmACtSbkSg==
|
||||
|
||||
normalize-package-data@^2.3.2:
|
||||
version "2.5.0"
|
||||
|
@ -3258,14 +3265,15 @@ postcss-value-parser@^4.1.0:
|
|||
resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz#443f6a20ced6481a2bda4fa8532a6e55d789a2cb"
|
||||
integrity sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==
|
||||
|
||||
postcss@^7.0.32:
|
||||
version "7.0.35"
|
||||
resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.35.tgz#d2be00b998f7f211d8a276974079f2e92b970e24"
|
||||
integrity sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==
|
||||
postcss@^8.1.2:
|
||||
version "8.1.2"
|
||||
resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.1.2.tgz#9731fcaa4f7b0bef47121821bdae9eeb609a324c"
|
||||
integrity sha512-mToqEVFq8jF9TFhlIK4HhE34zknFJuNTgqtsr60vUvrWn+9TIYugCwiV1JZRxCuOrej2jjstun1bn4Bc7/1HkA==
|
||||
dependencies:
|
||||
chalk "^2.4.2"
|
||||
colorette "^1.2.1"
|
||||
line-column "^1.0.2"
|
||||
nanoid "^3.1.12"
|
||||
source-map "^0.6.1"
|
||||
supports-color "^6.1.0"
|
||||
|
||||
pretty-hrtime@^1.0.0:
|
||||
version "1.0.3"
|
||||
|
@ -3292,15 +3300,6 @@ progress@^1.1.8:
|
|||
resolved "https://registry.yarnpkg.com/progress/-/progress-1.1.8.tgz#e260c78f6161cdd9b0e56cc3e0a85de17c7a57be"
|
||||
integrity sha1-4mDHj2Fhzdmw5WzD4Khd4Xx6V74=
|
||||
|
||||
prop-types@^15.6.2:
|
||||
version "15.7.2"
|
||||
resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5"
|
||||
integrity sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==
|
||||
dependencies:
|
||||
loose-envify "^1.4.0"
|
||||
object-assign "^4.1.1"
|
||||
react-is "^16.8.1"
|
||||
|
||||
psl@^1.1.28:
|
||||
version "1.8.0"
|
||||
resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24"
|
||||
|
@ -3398,29 +3397,22 @@ randomfill@^1.0.3:
|
|||
randombytes "^2.0.5"
|
||||
safe-buffer "^5.1.0"
|
||||
|
||||
react-dom@^16.13.1:
|
||||
version "16.14.0"
|
||||
resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.14.0.tgz#7ad838ec29a777fb3c75c3a190f661cf92ab8b89"
|
||||
integrity sha512-1gCeQXDLoIqMgqD3IO2Ah9bnf0w9kzhwN5q4FGnHZ67hBm9yePzB5JJAIQCc8x3pFnNlwFq4RidZggNAAkzWWw==
|
||||
react-dom@^17.0.0:
|
||||
version "17.0.0"
|
||||
resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-17.0.0.tgz#f8266e4d9861584553ccbd186d596a1c7dd8dcb4"
|
||||
integrity sha512-OGnFbxCjI2TMAZYMVxi4hqheJiN8rCEVVrL7XIGzCB6beNc4Am8M47HtkvxODZw9QgjmAPKpLba9FTu4fC1byA==
|
||||
dependencies:
|
||||
loose-envify "^1.1.0"
|
||||
object-assign "^4.1.1"
|
||||
prop-types "^15.6.2"
|
||||
scheduler "^0.19.1"
|
||||
scheduler "^0.20.0"
|
||||
|
||||
react-is@^16.8.1:
|
||||
version "16.13.1"
|
||||
resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4"
|
||||
integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==
|
||||
|
||||
react@^16.13.1:
|
||||
version "16.14.0"
|
||||
resolved "https://registry.yarnpkg.com/react/-/react-16.14.0.tgz#94d776ddd0aaa37da3eda8fc5b6b18a4c9a3114d"
|
||||
integrity sha512-0X2CImDkJGApiAlcf0ODKIneSwBPhqJawOa5wCtKbu7ZECrmS26NvtSILynQ66cgkT/RJ4LidJOc3bUESwmU8g==
|
||||
react@^17.0.0:
|
||||
version "17.0.0"
|
||||
resolved "https://registry.yarnpkg.com/react/-/react-17.0.0.tgz#ad96d5fa1a33bb9b06d0cc52672f7992d84aa662"
|
||||
integrity sha512-rG9bqS3LMuetoSUKHN8G3fMNuQOePKDThK6+2yXFWtoeTDLVNh/QCaxT+Jr+rNf4lwNXpx+atdn3Aa0oi8/6eQ==
|
||||
dependencies:
|
||||
loose-envify "^1.1.0"
|
||||
object-assign "^4.1.1"
|
||||
prop-types "^15.6.2"
|
||||
|
||||
read-pkg-up@^1.0.1:
|
||||
version "1.0.1"
|
||||
|
@ -3679,10 +3671,10 @@ sax@~1.2.4:
|
|||
resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9"
|
||||
integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==
|
||||
|
||||
scheduler@^0.19.1:
|
||||
version "0.19.1"
|
||||
resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.19.1.tgz#4f3e2ed2c1a7d65681f4c854fa8c5a1ccb40f196"
|
||||
integrity sha512-n/zwRWRYSUj0/3g/otKDRPMh6qv2SYMWNq85IEa8iZyAv8od9zDYpGSnpBEjNgcMNq6Scbu5KfIPxNF72R/2EA==
|
||||
scheduler@^0.20.0:
|
||||
version "0.20.0"
|
||||
resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.20.0.tgz#3ff543696b169613afadb09d3fb3fe998d234dd2"
|
||||
integrity sha512-XegIgta1bIaz2LdaL6eg1GEcE42g0BY9qFXCqlZ/+s2MuEKfigFCW6DEGBlZzeVFlwDmVusrWEyFtBo4sbkkdA==
|
||||
dependencies:
|
||||
loose-envify "^1.1.0"
|
||||
object-assign "^4.1.1"
|
||||
|
@ -3819,10 +3811,10 @@ simple-swizzle@^0.2.2:
|
|||
dependencies:
|
||||
is-arrayish "^0.3.1"
|
||||
|
||||
slate-react@^0.58.4:
|
||||
version "0.58.4"
|
||||
resolved "https://registry.yarnpkg.com/slate-react/-/slate-react-0.58.4.tgz#ecde34dd322af8413c2f23f0f0a577fed2422f46"
|
||||
integrity sha512-3JXWHVPmYrR/EMcH1qtmwXZtYxxCtuokQg+r/4wD1Ab9J3zRmW4UGLoaRP9/uQrZOAOvr8mMh4IgmrxV2dQskw==
|
||||
slate-react@^0.59.0:
|
||||
version "0.59.0"
|
||||
resolved "https://registry.yarnpkg.com/slate-react/-/slate-react-0.59.0.tgz#c8043dce7ea71279f314d9951c32e4f548b1ea0b"
|
||||
integrity sha512-Fx5vfTi0s1fY5PaXzPH8uA9mW8aevVVYrGGvqX/k363tlPDnQSs/QTibIyFl1Y3MPJ+GdocoyOGjAaZMUIXfIg==
|
||||
dependencies:
|
||||
"@types/is-hotkey" "^0.1.1"
|
||||
"@types/lodash" "^4.14.149"
|
||||
|
@ -3832,10 +3824,10 @@ slate-react@^0.58.4:
|
|||
lodash "^4.17.4"
|
||||
scroll-into-view-if-needed "^2.2.20"
|
||||
|
||||
slate@^0.58.4:
|
||||
version "0.58.4"
|
||||
resolved "https://registry.yarnpkg.com/slate/-/slate-0.58.4.tgz#4259387e632b45b00cf88bcecf5570d7d16ddd8b"
|
||||
integrity sha512-XxKwNJgCMf7S2sDT8CVJy0zYm95MiYorJo9Hah05zKjItrw0VVeCc2BGKDZSlNGcaIfM3xcfFUN7XE+c8ehAbA==
|
||||
slate@^0.59.0:
|
||||
version "0.59.0"
|
||||
resolved "https://registry.yarnpkg.com/slate/-/slate-0.59.0.tgz#3169daf2f036e84aa149f60e0d12ef2fc4c0839e"
|
||||
integrity sha512-M4UTMkXExxuq8tCD+knn7BtV2pmY8pepay++EF59rmg/v4RB6X1gNzA0xP3aw2rqYl8TmWdOBdy9InFrm3WyXw==
|
||||
dependencies:
|
||||
"@types/esrever" "^0.2.0"
|
||||
esrever "^0.2.0"
|
||||
|
@ -4113,13 +4105,6 @@ supports-color@^5.3.0:
|
|||
dependencies:
|
||||
has-flag "^3.0.0"
|
||||
|
||||
supports-color@^6.1.0:
|
||||
version "6.1.0"
|
||||
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3"
|
||||
integrity sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==
|
||||
dependencies:
|
||||
has-flag "^3.0.0"
|
||||
|
||||
sver-compat@^1.5.0:
|
||||
version "1.5.0"
|
||||
resolved "https://registry.yarnpkg.com/sver-compat/-/sver-compat-1.5.0.tgz#3cf87dfeb4d07b4a3f14827bc186b3fd0c645cd8"
|
||||
|
|
Loading…
Add table
Reference in a new issue