diff --git a/.gitignore b/.gitignore
index 03a28c58..cdb7d470 100644
--- a/.gitignore
+++ b/.gitignore
@@ -7,6 +7,7 @@ front-end/resources/public/prod/worker/js/compiled
front-end/resources/public/prod/sw.js
front-end/dev-resources
front-end/node_modules
+front-end/.shadow-cljs
out
*.swp
.nrepl-port
diff --git a/doc/project_doc/remove-ssr-workarounds/designdoc.md b/doc/project_doc/remove-ssr-workarounds/designdoc.md
index fca1c24e..45937f2a 100644
--- a/doc/project_doc/remove-ssr-workarounds/designdoc.md
+++ b/doc/project_doc/remove-ssr-workarounds/designdoc.md
@@ -34,6 +34,10 @@
[kibu/pushy "0.3.8"]
[e85th/venia "0.2.5-1"]
[cljs-ajax "0.8.4"]]
+
+ ;; 注: npmパッケージのエイリアスを設定
+ :npm-aliases {"material-ui" "@material-ui/core"}
+
:builds
{:client {:target :browser
:output-dir "resources/public/js/compiled"
@@ -48,16 +52,20 @@
:depends-on #{:client}
:output-name "example.js"}
;; 他のモジュールもproject.cljから移行
- }
+ :worker {:entries [vr-match.worker]
+ :depends-on #{:cljs-base}
+ :web-worker true ;; Web Workerとして扱う
+ :init-fn vr-match.worker/init
+ :output-name "worker.js"}}
:devtools {:after-load vr-match.client/remount-for-figwheel}}
:server {:target :node-script
- :output-dir "target/server/prod/js/compiled"
- :output-to "target/server/prod/js/compiled/server.js"
+ :output-dir "target/server/js/compiled"
+ :output-to "target/server/js/compiled/server.js"
:main vr-match.server/main
:compiler-options {:optimizations :simple}}
- :worker {:target :webworker
+ :worker {:target :browser
:output-dir "resources/public/prod/worker/js/compiled"
:output-to "resources/public/prod/worker/js/compiled/worker.js"
:compiler-options {:optimizations :advanced}}}}
@@ -73,14 +81,14 @@
"version": "1.0.0",
"description": "VR Match Frontend",
"scripts": {
- "clean": "rm -rf resources/public/js/compiled resources/public/prod/worker/js/compiled target",
+ "clean": "rm -rf resources/public/js/compiled resources/public/prod target",
"shadow-cljs": "shadow-cljs",
"build": "npm run build:prod",
- "build:dev": "shadow-cljs compile client server worker",
- "build:prod": "shadow-cljs release client server worker && npm run workbox",
- "watch": "shadow-cljs watch client server worker",
+ "build:dev": "shadow-cljs compile client server",
+ "build:prod": "shadow-cljs release client server && npm run workbox",
+ "watch": "shadow-cljs watch client server",
"workbox": "workbox generateSW",
- "start": "node target/server/prod/js/compiled/server.js"
+ "start": "node target/server/js/compiled/server.js 8888"
},
"dependencies": {
"compression": "1.8.0",
@@ -90,7 +98,8 @@
"react": "16.14.0",
"react-dom": "16.14.0",
"react-jss": "8.6.1",
- "@material-ui/core": "3.9.3",
+ "@material-ui/core": "^4.11.0",
+ "@material-ui/icons": "^4.9.1",
"whatwg-fetch": "3.0.0",
"xmlhttprequest": "1.8.0"
},
@@ -116,7 +125,7 @@
### 2.1 CLJSJSパッケージ用シムの作成
-CLJSJSパッケージからnpmパッケージへの移行を簡単にするために、一時的な互換レイヤー(シム)を作成します。
+CLJSJSパッケージからnpmパッケージへの移行を簡単にするために、一時的な互換レイヤー(シム)を作成します。ただし、Material-UIについてはnpm-aliasesの設定で対応するため、シムは作成しません。
#### Reactのシム
@@ -144,18 +153,6 @@ CLJSJSパッケージからnpmパッケージへの移行を簡単にするた
(js/goog.exportSymbol "ReactDOMServer" react-dom-server)
```
-#### Material-UIのシム
-
-ファイルパス: `front-end/src/cljs/cljsjs/material_ui.cljs`
-
-```clojure
-(ns cljsjs.material-ui
- (:require ["@material-ui/core" :as mui]))
-
-;; グローバル変数の公開
-(js/goog.exportSymbol "MaterialUI" mui)
-```
-
#### Firebaseのシム
ファイルパス: `front-end/src/cljs/cljsjs/firebase.cljs`
@@ -175,6 +172,196 @@ CLJSJSパッケージからnpmパッケージへの移行を簡単にするた
(js/require "firebase/firestore"))
```
+### 2.2 Material-UIの移行戦略: v4へのアップグレード
+
+SSR時の `ServerStyleSheets` に関する問題が v3 と shadow-cljs の組み合わせで解決困難であるため、Material-UI を v3 から v4 へアップグレードする方針を採用します。
+
+#### 方針
+
+1. **バージョン更新**: `package.json` で `@material-ui/core` および関連パッケージ (`@material-ui/icons` など) のバージョンを v4 系に更新します。
+2. **コード修正**: Material-UI 公式の [v3 から v4 への移行ガイド](https://v4.mui.com/guides/migration-v3/) に基づき、プロジェクト全体のコードを修正します。主な修正点には以下が含まれます:
+ * **インポートパスの変更**: コンポーネントや関数のインポートパスが変更されている場合があります。
+ * **API の変更**: コンポーネントのプロパティ名や動作が変更されている場合があります。
+ * **スタイリング**: スタイルエンジンが `@material-ui/styles` に基づくものに変わるため、テーマや `withStyles` などの使い方を確認・修正する必要があります。
+ * **TypeScript 型**: (このプロジェクトでは直接関係ないかもしれませんが) 型定義も変更されています。
+3. **SSR 対応**: v4 の SSR 実装方法に合わせて、`server.cljs` 内の `ServerStyleSheets` (または v4 で相当するもの) の使い方を修正します。
+4. **段階的実施**: フェーズ3 (クライアント移行) およびフェーズ4 (サーバー移行) で、影響範囲を考慮しながら段階的に修正作業を進めます。
+5. **テスト**: 各コンポーネントの修正後および全体のアップグレード完了後に、表示崩れや機能不全がないか徹底的にテストします。
+
+#### 注意点
+
+* **破壊的変更**: v4 へのアップグレードは破壊的変更を伴うため、広範囲なコード修正が必要になる可能性があります。
+* **作業量**: プロジェクト規模に応じて、修正には相応の時間と工数が必要です。
+
+このアップグレードにより、SSR の問題解決に加え、Material-UI の新機能や改善されたパフォーマンスの恩恵を受けることが期待されます。
+
+### 2.3 Material-UIを直接参照しているコンポーネントの修正リスト
+
+プロジェクト内で`material-ui`を直接requireしているファイルおよび`js/MaterialUI`としてグローバル変数からアクセスしているコンポーネントが複数見つかりました。これらのコンポーネントは以下の手順で修正する必要があります。
+
+#### 修正対象ファイル
+
+**`material-ui`をrequireしているファイル**:
+1. `front-end/src/cljs/vr_match/lib/components/linear_progress.cljs` (修正済み)
+2. `front-end/src/cljs/vr_match/lib/components/progress_button.cljs`
+3. `front-end/src/cljs/vr_match/approach/components/empty.cljs`
+4. `front-end/src/cljs/vr_match/approach/components/reset_all_skip_alert.cljs`
+5. `front-end/src/cljs/vr_match/auth/components/email_login.cljs`
+6. `front-end/src/cljs/vr_match/auth/components/email_register.cljs`
+7. `front-end/src/cljs/vr_match/auth/components/email_login_complete.cljs`
+8. `front-end/src/cljs/vr_match/auth/components/email_register_complete.cljs`
+9. `front-end/src/cljs/vr_match/auth/components/twitter_login.cljs`
+10. `front-end/src/cljs/vr_match/setting/components/cannot_unlink_third_party_alert.cljs`
+11. `front-end/src/cljs/vr_match/setting/components/unlink_confirmation_alert.cljs`
+12. `front-end/src/cljs/vr_match/favorite/component.cljs`
+13. `front-end/src/cljs/vr_match/matching/component.cljs`
+14. `front-end/src/cljs/vr_match/favorited_from_users/component.cljs`
+15. `front-end/src/cljs/vr_match/mypage/components/platform_expansion_panel.cljs`
+16. `front-end/src/cljs/vr_match/mypage/components/edit_platform_dialog.cljs`
+
+#### 修正例
+
+例えば、`progress_button.cljs`の修正前・修正後は以下のようになります:
+
+**修正前:**
+```clojure
+(ns vr-match.lib.components.progress-button
+ (:require ["material-ui"]))
+
+(defn progress-button
+ [{:keys [loading?] :as props} children]
+ [:div {:style {:position "relative"}}
+ [:> js/MaterialUI.Button (-> props
+ (dissoc :loading?)
+ (assoc :disabled loading?))
+ children]
+ (when loading?
+ [:> js/MaterialUI.CircularProgress {:size 24
+ :style {:position "absolute"
+ :top "50%"
+ :left "50%"
+ :margin-top "-12"
+ :margin-left "-12"}}])])
+```
+
+**修正後:**
+```clojure
+(ns vr-match.lib.components.progress-button
+ (:require
+ ["@material-ui/core/Button" :as Button]
+ ["@material-ui/core/CircularProgress" :as CircularProgress]))
+
+(defn progress-button
+ [{:keys [loading?] :as props} children]
+ [:div {:style {:position "relative"}}
+ [:> Button (-> props
+ (dissoc :loading?)
+ (assoc :disabled loading?))
+ children]
+ (when loading?
+ [:> CircularProgress {:size 24
+ :style {:position "absolute"
+ :top "50%"
+ :left "50%"
+ :margin-top "-12"
+ :margin-left "-12"}}])])
+```
+
+#### 修正方針
+
+各コンポーネントにおいて以下の修正を行います:
+
+1. `["material-ui"]` という一括インポートを個別コンポーネントのインポートに変更
+2. `js/MaterialUI.XXX` の参照を直接インポートしたコンポーネントへの参照に変更
+3. **API変更への対応**: v3からv4への移行に伴うAPIの変更点(プロパティ名、`variant`の値など)を修正します。
+
+例えば:
+- `[:> js/MaterialUI.Button ...]` → `[:> Button ...]`
+- `[:> js/MaterialUI.Dialog ...]` → `[:> Dialog ...]`
+- `Typography` コンポーネントの `variant` プロパティ:
+ - `"title"` → `"h6"`
+ - `"subheading"` → `"subtitle1"` など、v4で有効な値に変更
+- テーマ作成関数の変更: `createMuiTheme` → `createTheme`
+- `Grid` コンポーネントのレイアウトプロパティ: `:justify` → `:justify-content` など、CSS標準に合わせて変更
+- Floating Action Button: `Button` コンポーネントの `variant="fab"` → 専用の `Fab` コンポーネントを使用
+
+#### 修正スケジュール
+
+フェーズ2のシム実装フェーズ終了後、フェーズ3のクライアント移行フェーズで段階的に修正していきます。重要度の高いコンポーネントから順に修正し、各コンポーネントの修正後にテストを行い、問題がないことを確認します。
+
+### 2.4 Firebaseの参照方法の修正リスト
+
+コードベース内でFirebaseを参照している箇所も同様に修正が必要です。特に、以下のようなインポート形式を修正する必要があります。
+
+#### 修正対象ファイル
+
+1. `front-end/src/cljs/vr_match/auth/effects.cljs`
+2. その他Firebaseを参照しているファイル
+
+#### 修正例
+
+**修正前:**
+```clojure
+(ns vr-match.auth.effects
+ (:require [firebase.app]
+ [firebase.auth]
+ [cljs.reader :refer [read-string]]
+ [ajax.core :refer [ajax-request json-request-format json-response-format]]
+ [re-frame.core :as re-frame]))
+```
+
+**修正後:**
+```clojure
+(ns vr-match.auth.effects
+ (:require ["firebase/app" :as firebase]
+ ["firebase/auth"]
+ [cljs.reader :refer [read-string]]
+ [ajax.core :refer [ajax-request json-request-format json-response-format]]
+ [re-frame.core :as re-frame]))
+```
+
+#### 修正方針
+
+Firebaseの参照方法は以下のパターンに統一します:
+
+1. **メインパッケージの参照**:
+ - `["firebase/app" :as firebase]`をrequireする
+ - インポートした`firebase`変数を通してFirebaseの基本機能にアクセスする
+
+2. **追加サービスの参照**:
+ - 必要な追加サービスを`["firebase/auth"]`などとして直接requireする
+ - 追加サービスはrequireするだけで自動的にfirebaseオブジェクトに機能が追加される
+
+3. **グローバル変数の使用制限**:
+ - `js/firebase`などのグローバル変数への参照を避け、インポートした変数を使用する
+
+この方法は、依存関係が明示的になるため、コードの可読性と保守性が向上します。また、shadow-cljsの最適化の恩恵も受けやすくなります。
+
+#### 修正スケジュール
+
+フェーズ2のシム実装フェーズ終了後、フェーズ3のクライアント移行フェーズで段階的に修正していきます。重要度の高いコンポーネントから順に修正し、各コンポーネントの修正後にテストを行い、問題がないことを確認します。
+
+### 2.5 JSパッケージのインポート方法に関する一般的な修正方針
+
+JSパッケージ(Material-UI、Firebase、Reactなど)のインポート方法について、以下の原則に従って修正を行います:
+
+1. **直接インポート**: 各コンポーネントやサービスを直接インポートする方法を採用します
+ * Material-UI: `["@material-ui/core/Button" :as Button]`
+ * Firebase: `["firebase/app" :as firebase]`, `["firebase/auth"]`
+ * React: `["react" :as react]`, `["react-dom" :as react-dom]`
+
+2. **名前空間の統一**: 同じパッケージを参照する場合、import方法を統一します
+
+3. **グローバル変数の使用制限**: `js/MaterialUI`や`js/firebase`などのグローバル変数への直接アクセスを避け、インポートした変数を使用します
+
+4. **(SSR時の注意)**: まれに、特定のコンポーネントを直接インポート (`["@material-ui/core/Fab" :as Fab]`) した場合、SSR時に `React.createElement: type is invalid ... got: object` のようなエラーが発生することがあります。これは、SSR環境でコンポーネントが正しく解決されていない可能性があります。その場合は、代わりにコアパッケージ (`["@material-ui/core" :as mui]`) をインポートし、そのプロパティとしてアクセス (`(def fab (r/adapt-react-class (.-Fab mui)))`) する方法を試すと解決する場合があります。
+
+この修正アプローチにより、より明示的な依存関係管理が可能になり、コード品質とビルドプロセスが改善されます。
+
+#### 修正スケジュール
+
+フェーズ2のシム実装フェーズ終了後、フェーズ3のクライアント移行フェーズで段階的に修正していきます。重要度の高いコンポーネントから順に修正し、各コンポーネントの修正後にテストを行い、問題がないことを確認します。
+
## フェーズ3: クライアント移行フェーズ
### 3.1 クライアントコードの更新
@@ -307,6 +494,10 @@ CLJSJSパッケージからnpmパッケージへの移行を簡単にするた
ファイルパス: `front-end/src/cljs-server/vr_match/server.cljs`
+**現状の問題**: v3 環境で SSR 時の `ServerStyleSheets` のインポート/認識に問題が発生していました。Material-UI v4 へのアップグレードで対応します。
+
+**対応方針**: Material-UI v4 へのアップグレード後、v4 の SSR 実装方法に従ってコードを修正します。また、静的ファイルの配信は開発・本番問わず `resources/public` ディレクトリから行うように Express の設定を単純化します。
+
```clojure
(ns vr-match.server
(:require
@@ -318,7 +509,8 @@ CLJSJSパッケージからnpmパッケージへの移行を簡単にするた
["compression" :as compression]
["react" :as react]
["react-dom/server" :as react-dom-server]
- ["@material-ui/core/styles" :refer [MuiThemeProvider ServerStyleSheets createMuiTheme]]
+ ["@material-ui/core/styles" :as styles]
+ ["@material-ui/styles" :refer [ServerStyleSheets]]
["react-jss" :refer [JssProvider SheetsRegistry]]
[vr-match.lib.component :as component]
[vr-match.lib.components.material-ui :as mui]
@@ -344,13 +536,10 @@ CLJSJSパッケージからnpmパッケージへの移行を簡単にするた
(def google-analytics-tracking-id js/process.env.GOOGLE_ANALYTICS_TRACKING_ID)
-(goog-define static-file-path "/")
(goog-define dev? false)
(defn dev-setup []
- (when dev?
- (enable-console-print!)
- (println "dev mode")))
+ (when dev? (enable-console-print!) (println "dev mode")))
(defn render-app-html [request-path]
(let [sheets (new ServerStyleSheets)
@@ -358,7 +547,7 @@ CLJSJSパッケージからnpmパッケージへの移行を簡単にするた
generate-class-name (mui/create-generate-class-name)
html (.renderToString react-dom-server
(.collect sheets
- (react/createElement MuiThemeProvider
+ (react/createElement (.-MuiThemeProvider styles)
#js{:theme theme}
(reagent/as-element [component/app]))))
css (.toString sheets)]
@@ -375,7 +564,6 @@ CLJSJSパッケージからnpmパッケージへの移行を簡単にするた
(when-not dev?
[:link {:rel "apple-touch-icon" :href "/static/img/logo.png"}])
[:title "Hito Hub"]
- ;; リセットCSSなど
[:style "/* リセットCSS */"]
[:style {:id "jss-server-side"} css]]
[:body
@@ -392,12 +580,10 @@ CLJSJSパッケージからnpmパッケージへの移行を簡単にするた
[:script {:src "/static/js/compiled/app.js"}]
[:link {:rel "stylesheet"
:href "https://fonts.googleapis.com/icon?family=Material+Icons"}]
- ;; Google Analyticsスクリプト
(when google-analytics-tracking-id
[:div
{:dangerouslySetInnerHTML
{:__html "/* Google Analyticsスクリプト */"}}])
- ;; Service Workerスクリプト
(when-not dev?
[:div
{:dangerouslySetInnerHTML
@@ -411,21 +597,20 @@ CLJSJSパッケージからnpmパッケージへの移行を簡単にするた
(defn serve [port]
(.listen express-app port))
-(defn -main [& args]
+(defn ^:export main [& args]
(let [port (-> args first js/parseInt)]
(dev-setup)
(serve port)))
(doto express-app
(.use (compression))
- (.use "/sw.js" (.static express (str static-file-path "sw.js")))
- (.use "/manifest.json" (.static express (str static-file-path "manifest.json")))
- (.use "/favicon.ico" (.static express (str static-file-path "favicon.ico")))
- (.use "static" (.static express static-file-path))
- (.use "/static" (.static express static-file-path))
+ (.use "/static" (.static express "resources/public"))
+ (.get "/sw.js" (fn [req res] (.sendFile res "sw.js" #js{:root "resources/public/"})))
+ (.get "/manifest.json" (fn [req res] (.sendFile res "manifest.json" #js{:root "resources/public/"})))
+ (.get "/favicon.ico" (fn [req res] (.sendFile res "favicon.ico" #js{:root "resources/public/"})))
(.use "/*" handle-render))
-(set! *main-cli-fn* -main)
+(set! *main-cli-fn* main)
```
### 4.2 プリアンブルファイルの簡素化
@@ -453,13 +638,17 @@ global.window.localStorage = null;
```dockerfile
# ビルドステージ
-FROM node:14-alpine as build
+FROM node:8.17-alpine as build
# 作業ディレクトリの作成
WORKDIR /usr/src/app
# パッケージ依存関係のインストール
COPY package.json package-lock.json ./
+RUN apk update && \
+ apk upgrade && \
+ apk add --no-cache make gcc g++ python openjdk11
+
RUN npm ci
# ソースコードと設定ファイルのコピー
@@ -471,24 +660,96 @@ COPY resources/ ./resources/
RUN npm run build:prod
# 実行ステージ
-FROM node:14-alpine
+FROM node:8.17-alpine
# 作業ディレクトリの作成
WORKDIR /usr/src/app
# ビルドステージから必要なファイルをコピー
COPY --from=build /usr/src/app/node_modules ./node_modules
-COPY --from=build /usr/src/app/target ./target
-COPY --from=build /usr/src/app/resources/public/prod ./resources/public/prod
+# クライアントサイドのアセット
+COPY --from=build /usr/src/app/resources/public ./resources/public
+# 変更: サーバーサイドのJSをコピー
+COPY --from=build /usr/src/app/target/server/js/compiled ./target/server/js/compiled
# アプリケーションの実行
-CMD ["node", "target/server/prod/js/compiled/server.js", "3000"]
+# 変更: サーバーJSのパスを更新
+CMD ["node", "target/server/js/compiled/server.js", "3000"]
```
### 5.2 CIビルドスクリプトの更新
必要に応じてCIビルドスクリプトも更新します。具体的な内容はプロジェクトのCIサービスに依存します。
+### 5.3 Workbox 設定の更新
+
+ファイルパス: `front-end/workbox-config.js`
+
+ビルド成果物と静的ファイルの出力先を `resources/public` に統一したことに伴い、Service Worker の設定ファイルも更新します。
+
+```javascript
+module.exports = {
+ // キャッシュ対象ファイルの検索元を更新
+ "globDirectory": "resources/public",
+ "globPatterns": [
+ // キャッシュ対象は JS ビルド成果物
+ "js/compiled/*.js"
+ ],
+ "modifyUrlPrefix": {
+ // Service Worker 内での URL パスを実際の配信パスに合わせる
+ "js/compiled": "/static/js/compiled",
+ },
+ // 生成される sw.js の出力先を更新
+ "swDest": "resources/public/sw.js",
+ "runtimeCaching": [
+ // ... 既存の runtimeCaching 設定 ...
+ {
+ "urlPattern": /\//,
+ "handler": "networkFirst",
+ "options": {
+ "cacheableResponse": {
+ "statuses": [0, 200],
+ "headers": {
+ "Content-type": "text/html; charset=utf-8",
+ },
+ },
+ },
+ },
+ {
+ "urlPattern": /^https\:\/\/use\.fontawesome\.com\/releases\//,
+ "handler": "cacheFirst",
+ "options": {
+ "cacheableResponse": {
+ "statuses": [0, 200],
+ },
+ },
+ },
+ {
+ "urlPattern": /^https\:\/\/api\.github\.com\//,
+ "handler": "networkFirst",
+ "options": {
+ "cacheableResponse": {
+ "statuses": [0, 200],
+ },
+ },
+ },
+ {
+ "urlPattern": /^https\:\/\/avatars0\.githubusercontent\.com\//,
+ "handler": "cacheFirst",
+ "options": {
+ "cacheableResponse": {
+ "statuses": [0, 200],
+ },
+ },
+ },
+ ],
+ "skipWaiting": true,
+ "clientsClaim": true,
+};
+```
+
+これにより、Workbox は `resources/public` ディレクトリを基準に動作し、生成された `sw.js` も同ディレクトリに出力されるようになります。
+
## フェーズ6: 検証フェーズ
### 6.1 ローカル環境での検証
@@ -549,3 +810,86 @@ CMD ["node", "target/server/prod/js/compiled/server.js", "3000"]
6. フェーズ6 (検証): 1週間
合計: 約8週間(問題解決の時間を含む)
+
+## 最終調整
+
+- パフォーマンスチューニング
+- 残りのワークアラウンドの除去
+
+## Web Workerの実装方法
+
+### Web Workerモジュールの設定
+
+shadow-cljsのドキュメント「[User's Guide - Web Workers](https://shadow-cljs.github.io/docs/UsersGuide.html#_web_workers)」に基づき、Web Workerを`:browser`ターゲット内のモジュールとして実装します。
+
+#### モジュール設定
+
+```clojure
+;; shadow-cljs.edn の :modules 設定
+:modules {:cljs-base {...}
+ :client {...}
+ ;; 他のモジュール
+ :worker {:entries [vr-match.worker]
+ :depends-on #{:cljs-base}
+ :web-worker true ;; Web Workerとして扱う
+ :init-fn vr-match.worker/init}}
+```
+
+この設定により、`:worker`モジュールがWeb Workerとして適切に構成されます。`:web-worker true`フラグにより、クライアントモジュールから分離され、適切なWeb Workerコンテキストで動作するためのコードが生成されます。
+
+#### Web Workerの呼び出し
+
+クライアントコードからは以下のようにWeb Workerを初期化して使用します:
+
+```clojure
+;; vr-match.effects などのクライアントコード
+(defn initialize-worker []
+ (let [worker (js/Worker. "/js/compiled/worker.js")]
+ (.addEventListener worker "message"
+ (fn [event]
+ ;; メッセージ処理
+ ))
+ ;; Workerにメッセージを送信
+ (.postMessage worker #js{:cmd "start" :data "some-data"})))
+```
+
+#### Worker側の実装
+
+```clojure
+;; src/cljs/vr_match/worker.cljs
+(ns vr-match.worker)
+
+(defn handle-message [event]
+ (let [data (.-data event)
+ cmd (.-cmd data)]
+ (case cmd
+ "start" (.postMessage js/self #js{:result "開始しました"})
+ ;; その他のコマンド処理
+ )))
+
+(defn init []
+ ;; メッセージ受信リスナーを設定
+ (.addEventListener js/self "message" handle-message))
+```
+
+この方法の利点は、別途ビルド定義を作成する必要がなく、一つのビルド内でWeb Workerを管理できることです。また、コードの共有や依存関係の管理も容易になります。
+
+### ディレクトリ構造の整理
+
+Web Worker実装のためのディレクトリ構造も整理します:
+
+1. **従来の構造:**
+ - `src/cljs-worker/vr_match/worker.cljs` - 独立したワーカーコードを配置
+ - `:worker`ビルド定義で別々にビルド
+
+2. **新しい構造:**
+ - `src/cljs/vr_match/worker.cljs` - 通常のソースディレクトリ内にワーカーコードを統合
+ - `:client`ビルド内のモジュールとしてワーカーを管理
+
+3. **移行手順:**
+ - `src/cljs/vr_match/worker.cljs`を新規作成
+ - `src/cljs-worker/vr_match/worker.cljs`の内容をベースに`init`関数を追加
+ - `src/cljs-worker/vr_match/worker.cljs`を削除
+ - 必要に応じて`src/cljs-worker`ディレクトリ自体も削除
+
+これらの変更により、より統一されたディレクトリ構造が実現され、ワーカーコードの管理が容易になります。また、`shadow-cljs.edn`の`:source-paths`からも将来的には`"src/cljs-worker"`を削除できますが、他に依存するコードがないことを確認してから行うべきです。
diff --git a/doc/project_doc/remove-ssr-workarounds/prepare.md b/doc/project_doc/remove-ssr-workarounds/prepare.md
index 7e414e59..77fdd1e5 100644
--- a/doc/project_doc/remove-ssr-workarounds/prepare.md
+++ b/doc/project_doc/remove-ssr-workarounds/prepare.md
@@ -16,6 +16,12 @@ VR-Matchプロジェクトのフロントエンド部分、特にSSR(Server-Si
3. **環境の互換性問題**
- ClojureScriptのGoogle Closureコンパイラとnode.jsの環境の違いを解決するための複雑なワークアラウンドが存在しています
+4. **SSR時のスタイル生成エラー (ステージング環境)**
+ - ステージング環境で `TypeError: shadow.js.shim.module$$material_ui$core$styles.ServerStyleSheets is not a constructor` というエラーが発生しています。
+ - **原因**: SSRサーバー (`vr_match.server.render_app_html`) で Material-UI v3 のスタイルを処理する際に、`@material-ui/core/styles` から `ServerStyleSheets` を正しくインポート・認識できていないことが原因と考えられます。これは、shadow-cljs のビルド・shim 処理の問題、または `server.cljs` での `:refer` を使ったインポート方法の問題である可能性が高いです。
+ - **影響**: SSR 時に Material-UI のスタイルが適用されず、サーバーから返される HTML のスタイルが崩れる、またはサーバーがエラーで応答できなくなります。
+ - **参考**: [Stack Overflow の類似事例](https://stackoverflow.com/questions/59018739/trying-ssr-but-got-serverstylesheets-is-not-a-constructor) (ただし、こちらは v4 の事例)
+
## 詳細な技術的状況
### ビルドプロセスの問題
@@ -123,6 +129,61 @@ VR-Matchプロジェクトのフロントエンド部分、特にSSR(Server-Si
npm install react react-dom create-react-class firebase
```
+#### Web Workerのビルド方法
+
+shadow-cljsのドキュメント「[User's Guide - Web Workers](https://shadow-cljs.github.io/docs/UsersGuide.html#_web_workers)」セクションに基づき、Web Workerの適切なビルド方法を説明します。shadow-cljsでは、Web Workerを実装する方法として、`:modules`定義内に`:web-worker true`を設定する方法が推奨されています。
+
+1. **モジュールとしてのWeb Worker実装(推奨)**
+ ```clojure
+ ;; shadow-cljs.edn の例
+ {:builds
+ {:client {:target :browser
+ :output-dir "resources/public/js/compiled"
+ :modules {:main {:entries [vr-match.client]
+ :init-fn vr-match.client/init}
+ :worker {:entries [vr-match.worker]
+ :web-worker true ;; このモジュールをWeb Workerとして扱う
+ :init-fn vr-match.worker/init}}
+ :compiler-options {:optimizations :advanced}}}}
+ ```
+
+ この方法では、`:worker`モジュールが自動的にWeb Workerとして適切に構成されます。クライアントコードからは以下のように使用します:
+
+ ```clojure
+ ;; クライアント側のコード例
+ (defn init-worker []
+ (let [worker (js/Worker. "/js/compiled/worker.js")]
+ (.addEventListener worker "message"
+ (fn [event]
+ (js/console.log "Worker response:" (.-data event))))
+ (.postMessage worker #js{:cmd "start" :data "some-data"})))
+ ```
+
+2. **Worker側のコード例**
+ ```clojure
+ ;; src/cljs/vr_match/worker.cljs
+ (ns vr-match.worker)
+
+ (defn handle-message [event]
+ (let [data (.-data event)
+ cmd (.-cmd data)]
+ (case cmd
+ "start" (.postMessage js/self #js{:result "started"})
+ ;; その他のコマンド処理
+ )))
+
+ (defn init []
+ ;; メッセージ受信リスナーを設定
+ (.addEventListener js/self "message" handle-message))
+ ```
+
+この方法の利点:
+- より統合的なアプローチで、単一のビルド設定内でWeb Workerを管理できます
+- モジュール間の依存関係を適切に管理しやすくなります
+- コードの共有や再利用が容易になります
+
+特に、shadow-cljsドキュメントでは、「Web Workersの使用」セクションで`:web-worker`オプションを使用してモジュールをWeb Workerとして指定する方法が説明されています。これにより、別途ビルドを定義するよりも簡潔で管理しやすい構成が可能になります。
+
### 2. Material-UIのSSRサポート改善
Material-UIのSSR実装を現代的な方法に更新します。
diff --git a/front-end/.node-version b/front-end/.node-version
new file mode 100644
index 00000000..29d3fcd5
--- /dev/null
+++ b/front-end/.node-version
@@ -0,0 +1 @@
+8.17.0
diff --git a/front-end/Dockerfile b/front-end/Dockerfile
index 44100c3e..04099979 100644
--- a/front-end/Dockerfile
+++ b/front-end/Dockerfile
@@ -1,23 +1,34 @@
-FROM node:8.17-alpine as npm
-RUN mkdir -p /usr/src/app
-COPY . /usr/src/app
-WORKDIR /usr/src/app
-RUN npm install
+# ビルドステージ
+FROM node:8.17-alpine as build
-# フロントエンドビルド用ステージ
-FROM clojure:lein-2.9.8-slim-buster as clojure
-RUN mkdir -p /usr/src/app
-COPY --from=npm /usr/src/app /usr/src/app
+# 作業ディレクトリの作成
WORKDIR /usr/src/app
-RUN lein cljsbuild once prod
-RUN lein cljsbuild once server-prod
-RUN lein cljsbuild once worker-prod
-# 最終ステージ
+# パッケージ依存関係のインストール
+COPY package.json package-lock.json ./
+RUN apk update && \
+ apk upgrade && \
+ apk add --no-cache make gcc g++ python openjdk11
+RUN npm ci
+
+# ソースコードと設定ファイルのコピー
+COPY shadow-cljs.edn workbox-config.js ./
+COPY src/ ./src/
+COPY resources/ ./resources/
+
+# プロダクションビルドの実行
+RUN npm run build:prod
+
+# 実行ステージ
FROM node:8.17-alpine
-RUN mkdir -p /usr/src/app
-COPY --from=clojure /usr/src/app /usr/src/app
+
+# 作業ディレクトリの作成
WORKDIR /usr/src/app
-RUN npm run workbox
-RUN sed -i -e 's/goog.global.React/global.React/g' -e 's/goog.global.ReactDOM/global.ReactDOM/g' -e 's/goog.global.createReactClass/global.createReactClass/g' target/server/prod/js/compiled/server.js
-CMD ["node", "target/server/prod/js/compiled/server.js", "3000"]
+
+# ビルドステージから必要なファイルをコピー
+COPY --from=build /usr/src/app/node_modules ./node_modules
+COPY --from=build /usr/src/app/resources/public ./resources/public
+COPY --from=build /usr/src/app/target/server/js/compiled ./target/server/js/compiled
+
+# アプリケーションの実行
+CMD ["node", "target/server/js/compiled/server.js", "3000"]
diff --git a/front-end/package-lock.json b/front-end/package-lock.json
index 34bbaf94..b9ba92bb 100644
--- a/front-end/package-lock.json
+++ b/front-end/package-lock.json
@@ -12,6 +12,11 @@
"regenerator-runtime": "^0.13.2"
}
},
+ "@emotion/hash": {
+ "version": "0.8.0",
+ "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.8.0.tgz",
+ "integrity": "sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow=="
+ },
"@firebase/app": {
"version": "0.3.17",
"resolved": "https://registry.npmjs.org/@firebase/app/-/app-0.3.17.tgz",
@@ -196,17 +201,20 @@
"@hapi/address": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/@hapi/address/-/address-2.0.0.tgz",
- "integrity": "sha512-mV6T0IYqb0xL1UALPFplXYQmR0twnXG0M6jUswpquqT2sD12BOiCiLy3EvMp/Fy7s3DZElC4/aPjEjo2jeZpvw=="
+ "integrity": "sha512-mV6T0IYqb0xL1UALPFplXYQmR0twnXG0M6jUswpquqT2sD12BOiCiLy3EvMp/Fy7s3DZElC4/aPjEjo2jeZpvw==",
+ "dev": true
},
"@hapi/hoek": {
"version": "6.2.1",
"resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-6.2.1.tgz",
- "integrity": "sha512-+ryw4GU9pjr1uT6lBuErHJg3NYqzwJTvZ75nKuJijEzpd00Uqi6oiawTGDDf5Hl0zWmI7qHfOtaqB0kpQZJQzA=="
+ "integrity": "sha512-+ryw4GU9pjr1uT6lBuErHJg3NYqzwJTvZ75nKuJijEzpd00Uqi6oiawTGDDf5Hl0zWmI7qHfOtaqB0kpQZJQzA==",
+ "dev": true
},
"@hapi/joi": {
"version": "15.0.1",
"resolved": "https://registry.npmjs.org/@hapi/joi/-/joi-15.0.1.tgz",
"integrity": "sha512-6RLoFusVbSkKjo51IGy7TT72TYKaks3OLKRV4Wy4E8f0Vt2oqKBgtG+8VMnbruy+M4iLItiLYjETX7mQqklObQ==",
+ "dev": true,
"requires": {
"@hapi/address": "2.x.x",
"@hapi/hoek": "6.x.x",
@@ -217,10 +225,205 @@
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-3.1.0.tgz",
"integrity": "sha512-gZDI/eXOIk8kP2PkUKjWu9RW8GGVd2Hkgjxyr/S7Z+JF+0mr7bAlbw+DkTRxnD580o8Kqxlnba9wvqp5aOHBww==",
+ "dev": true,
"requires": {
"@hapi/hoek": "6.x.x"
}
},
+ "@material-ui/core": {
+ "version": "4.12.4",
+ "resolved": "https://registry.npmjs.org/@material-ui/core/-/core-4.12.4.tgz",
+ "integrity": "sha512-tr7xekNlM9LjA6pagJmL8QCgZXaubWUwkJnoYcMKd4gw/t4XiyvnTkjdGrUVicyB2BsdaAv1tvow45bPM4sSwQ==",
+ "requires": {
+ "@babel/runtime": "^7.4.4",
+ "@material-ui/styles": "^4.11.5",
+ "@material-ui/system": "^4.12.2",
+ "@material-ui/types": "5.1.0",
+ "@material-ui/utils": "^4.11.3",
+ "@types/react-transition-group": "^4.2.0",
+ "clsx": "^1.0.4",
+ "hoist-non-react-statics": "^3.3.2",
+ "popper.js": "1.16.1-lts",
+ "prop-types": "^15.7.2",
+ "react-is": "^16.8.0 || ^17.0.0",
+ "react-transition-group": "^4.4.0"
+ },
+ "dependencies": {
+ "hoist-non-react-statics": {
+ "version": "3.3.2",
+ "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz",
+ "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==",
+ "requires": {
+ "react-is": "^16.7.0"
+ },
+ "dependencies": {
+ "react-is": {
+ "version": "16.13.1",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
+ "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="
+ }
+ }
+ },
+ "prop-types": {
+ "version": "15.8.1",
+ "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz",
+ "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==",
+ "requires": {
+ "loose-envify": "^1.4.0",
+ "object-assign": "^4.1.1",
+ "react-is": "^16.13.1"
+ },
+ "dependencies": {
+ "react-is": {
+ "version": "16.13.1",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
+ "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="
+ }
+ }
+ }
+ }
+ },
+ "@material-ui/icons": {
+ "version": "4.11.3",
+ "resolved": "https://registry.npmjs.org/@material-ui/icons/-/icons-4.11.3.tgz",
+ "integrity": "sha512-IKHlyx6LDh8n19vzwH5RtHIOHl9Tu90aAAxcbWME6kp4dmvODM3UvOHJeMIDzUbd4muuJKHmlNoBN+mDY4XkBA==",
+ "requires": {
+ "@babel/runtime": "^7.4.4"
+ }
+ },
+ "@material-ui/styles": {
+ "version": "4.11.5",
+ "resolved": "https://registry.npmjs.org/@material-ui/styles/-/styles-4.11.5.tgz",
+ "integrity": "sha512-o/41ot5JJiUsIETME9wVLAJrmIWL3j0R0Bj2kCOLbSfqEkKf0fmaPt+5vtblUh5eXr2S+J/8J3DaCb10+CzPGA==",
+ "requires": {
+ "@babel/runtime": "^7.4.4",
+ "@emotion/hash": "^0.8.0",
+ "@material-ui/types": "5.1.0",
+ "@material-ui/utils": "^4.11.3",
+ "clsx": "^1.0.4",
+ "csstype": "^2.5.2",
+ "hoist-non-react-statics": "^3.3.2",
+ "jss": "^10.5.1",
+ "jss-plugin-camel-case": "^10.5.1",
+ "jss-plugin-default-unit": "^10.5.1",
+ "jss-plugin-global": "^10.5.1",
+ "jss-plugin-nested": "^10.5.1",
+ "jss-plugin-props-sort": "^10.5.1",
+ "jss-plugin-rule-value-function": "^10.5.1",
+ "jss-plugin-vendor-prefixer": "^10.5.1",
+ "prop-types": "^15.7.2"
+ },
+ "dependencies": {
+ "hoist-non-react-statics": {
+ "version": "3.3.2",
+ "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz",
+ "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==",
+ "requires": {
+ "react-is": "^16.7.0"
+ }
+ },
+ "jss": {
+ "version": "10.10.0",
+ "resolved": "https://registry.npmjs.org/jss/-/jss-10.10.0.tgz",
+ "integrity": "sha512-cqsOTS7jqPsPMjtKYDUpdFC0AbhYFLTcuGRqymgmdJIeQ8cH7+AgX7YSgQy79wXloZq2VvATYxUOUQEvS1V/Zw==",
+ "requires": {
+ "@babel/runtime": "^7.3.1",
+ "csstype": "^3.0.2",
+ "is-in-browser": "^1.1.3",
+ "tiny-warning": "^1.0.2"
+ },
+ "dependencies": {
+ "csstype": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz",
+ "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw=="
+ }
+ }
+ },
+ "prop-types": {
+ "version": "15.8.1",
+ "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz",
+ "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==",
+ "requires": {
+ "loose-envify": "^1.4.0",
+ "object-assign": "^4.1.1",
+ "react-is": "^16.13.1"
+ }
+ },
+ "react-is": {
+ "version": "16.13.1",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
+ "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="
+ }
+ }
+ },
+ "@material-ui/system": {
+ "version": "4.12.2",
+ "resolved": "https://registry.npmjs.org/@material-ui/system/-/system-4.12.2.tgz",
+ "integrity": "sha512-6CSKu2MtmiJgcCGf6nBQpM8fLkuB9F55EKfbdTC80NND5wpTmKzwdhLYLH3zL4cLlK0gVaaltW7/wMuyTnN0Lw==",
+ "requires": {
+ "@babel/runtime": "^7.4.4",
+ "@material-ui/utils": "^4.11.3",
+ "csstype": "^2.5.2",
+ "prop-types": "^15.7.2"
+ },
+ "dependencies": {
+ "prop-types": {
+ "version": "15.8.1",
+ "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz",
+ "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==",
+ "requires": {
+ "loose-envify": "^1.4.0",
+ "object-assign": "^4.1.1",
+ "react-is": "^16.13.1"
+ }
+ },
+ "react-is": {
+ "version": "16.13.1",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
+ "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="
+ }
+ }
+ },
+ "@material-ui/types": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/@material-ui/types/-/types-5.1.0.tgz",
+ "integrity": "sha512-7cqRjrY50b8QzRSYyhSpx4WRw2YuO0KKIGQEVk5J8uoz2BanawykgZGoWEqKm7pVIbzFDN0SpPcVV4IhOFkl8A=="
+ },
+ "@material-ui/utils": {
+ "version": "4.11.3",
+ "resolved": "https://registry.npmjs.org/@material-ui/utils/-/utils-4.11.3.tgz",
+ "integrity": "sha512-ZuQPV4rBK/V1j2dIkSSEcH5uT6AaHuKWFfotADHsC0wVL1NLd2WkFCm4ZZbX33iO4ydl6V0GPngKm8HZQ2oujg==",
+ "requires": {
+ "@babel/runtime": "^7.4.4",
+ "prop-types": "^15.7.2",
+ "react-is": "^16.8.0 || ^17.0.0"
+ },
+ "dependencies": {
+ "prop-types": {
+ "version": "15.8.1",
+ "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz",
+ "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==",
+ "requires": {
+ "loose-envify": "^1.4.0",
+ "object-assign": "^4.1.1",
+ "react-is": "^16.13.1"
+ },
+ "dependencies": {
+ "react-is": {
+ "version": "16.13.1",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
+ "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="
+ }
+ }
+ }
+ }
+ },
+ "@types/react-transition-group": {
+ "version": "4.4.12",
+ "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.12.tgz",
+ "integrity": "sha512-8TV6R3h2j7a91c+1DXdJi3Syo69zzIZbz7Lg5tORM5LEJG7X/E6a1V3drRyBRZq7/utz7A+c4OgYLiLcYGHG6w=="
+ },
"accepts": {
"version": "1.3.8",
"resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz",
@@ -241,6 +444,7 @@
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-2.0.0.tgz",
"integrity": "sha1-w2rsy6VjuJzrVW82kPCx2eNUf38=",
+ "dev": true,
"requires": {
"string-width": "^2.0.0"
}
@@ -248,17 +452,20 @@
"ansi-escapes": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz",
- "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ=="
+ "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==",
+ "dev": true
},
"ansi-regex": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
- "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg=="
+ "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
+ "dev": true
},
"ansi-styles": {
"version": "3.2.1",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
"integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "dev": true,
"requires": {
"color-convert": "^1.9.0"
}
@@ -267,6 +474,7 @@
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz",
"integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==",
+ "dev": true,
"requires": {
"micromatch": "^3.1.4",
"normalize-path": "^2.1.1"
@@ -276,6 +484,7 @@
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
"integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
+ "dev": true,
"requires": {
"remove-trailing-separator": "^1.0.1"
}
@@ -285,27 +494,32 @@
"arr-diff": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
- "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA="
+ "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=",
+ "dev": true
},
"arr-flatten": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
- "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg=="
+ "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==",
+ "dev": true
},
"arr-union": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
- "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ="
+ "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=",
+ "dev": true
},
"array-each": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz",
- "integrity": "sha1-p5SvDAWrF1KEbudTofIRoFugxE8="
+ "integrity": "sha1-p5SvDAWrF1KEbudTofIRoFugxE8=",
+ "dev": true
},
"array-find-index": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz",
- "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E="
+ "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=",
+ "dev": true
},
"array-flatten": {
"version": "1.1.1",
@@ -315,17 +529,20 @@
"array-slice": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz",
- "integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w=="
+ "integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==",
+ "dev": true
},
"array-unique": {
"version": "0.3.2",
"resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
- "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg="
+ "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
+ "dev": true
},
"arrify": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
- "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0="
+ "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=",
+ "dev": true
},
"ascli": {
"version": "1.0.1",
@@ -336,15 +553,57 @@
"optjs": "~3.2.2"
}
},
+ "asn1.js": {
+ "version": "4.10.1",
+ "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz",
+ "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==",
+ "dev": true,
+ "requires": {
+ "bn.js": "^4.0.0",
+ "inherits": "^2.0.1",
+ "minimalistic-assert": "^1.0.0"
+ },
+ "dependencies": {
+ "bn.js": {
+ "version": "4.12.1",
+ "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.1.tgz",
+ "integrity": "sha512-k8TVBiPkPJT9uHLdOKfFpqcfprwBFOAAXXozRubr7R7PfIuKvQlzcI4M0pALeqXN09vdaMbUdUj+pass+uULAg==",
+ "dev": true
+ }
+ }
+ },
+ "assert": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.1.tgz",
+ "integrity": "sha512-zzw1uCAgLbsKwBfFc8CX78DDg+xZeBksSO3vwVIDDN5i94eOrPsSSyiVhmsSABFDM/OcpE2aagCat9dnWQLG1A==",
+ "dev": true,
+ "requires": {
+ "object.assign": "^4.1.4",
+ "util": "^0.10.4"
+ },
+ "dependencies": {
+ "util": {
+ "version": "0.10.4",
+ "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz",
+ "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==",
+ "dev": true,
+ "requires": {
+ "inherits": "2.0.3"
+ }
+ }
+ }
+ },
"assign-symbols": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
- "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c="
+ "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=",
+ "dev": true
},
"async-done": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/async-done/-/async-done-1.3.1.tgz",
"integrity": "sha512-R1BaUeJ4PMoLNJuk+0tLJgjmEqVsdN118+Z8O+alhnQDQgy0kmD5Mqi0DNEmMx2LM0Ed5yekKu+ZXYvIHceicg==",
+ "dev": true,
"requires": {
"end-of-stream": "^1.1.0",
"once": "^1.3.2",
@@ -355,24 +614,28 @@
"process-nextick-args": {
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
- "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M="
+ "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=",
+ "dev": true
}
}
},
"async-each": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz",
- "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0="
+ "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=",
+ "dev": true
},
"atob": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
- "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg=="
+ "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==",
+ "dev": true
},
"babel-extract-comments": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/babel-extract-comments/-/babel-extract-comments-1.0.0.tgz",
"integrity": "sha512-qWWzi4TlddohA91bFwgt6zO/J0X+io7Qp184Fw0m2JYRSTZnJbFR8+07KmzudHCZgOiKRCrjhylwv9Xd8gfhVQ==",
+ "dev": true,
"requires": {
"babylon": "^6.18.0"
}
@@ -380,12 +643,14 @@
"babel-plugin-syntax-object-rest-spread": {
"version": "6.13.0",
"resolved": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz",
- "integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U="
+ "integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=",
+ "dev": true
},
"babel-plugin-transform-object-rest-spread": {
"version": "6.26.0",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz",
"integrity": "sha1-DzZpLVD+9rfi1LOsFHgTepY7ewY=",
+ "dev": true,
"requires": {
"babel-plugin-syntax-object-rest-spread": "^6.8.0",
"babel-runtime": "^6.26.0"
@@ -395,6 +660,7 @@
"version": "6.26.0",
"resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
"integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
+ "dev": true,
"requires": {
"core-js": "^2.4.0",
"regenerator-runtime": "^0.11.0"
@@ -403,14 +669,16 @@
"regenerator-runtime": {
"version": "0.11.1",
"resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz",
- "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg=="
+ "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==",
+ "dev": true
}
}
},
"babylon": {
"version": "6.18.0",
"resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz",
- "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ=="
+ "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==",
+ "dev": true
},
"balanced-match": {
"version": "1.0.0",
@@ -421,6 +689,7 @@
"version": "0.11.2",
"resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz",
"integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==",
+ "dev": true,
"requires": {
"cache-base": "^1.0.1",
"class-utils": "^0.3.5",
@@ -435,6 +704,7 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
"integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+ "dev": true,
"requires": {
"is-descriptor": "^1.0.0"
}
@@ -443,6 +713,7 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
"integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+ "dev": true,
"requires": {
"kind-of": "^6.0.0"
}
@@ -451,6 +722,7 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
"integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+ "dev": true,
"requires": {
"kind-of": "^6.0.0"
}
@@ -459,6 +731,7 @@
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
"integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+ "dev": true,
"requires": {
"is-accessor-descriptor": "^1.0.0",
"is-data-descriptor": "^1.0.0",
@@ -467,10 +740,33 @@
}
}
},
+ "base64-js": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
+ "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
+ "dev": true
+ },
"binary-extensions": {
"version": "1.13.0",
"resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.0.tgz",
- "integrity": "sha512-EgmjVLMn22z7eGGv3kcnHwSnJXmFHjISTY9E/S5lIcTD3Oxw05QTcBLNkJFzcb3cNueUdF/IN4U+d78V0zO8Hw=="
+ "integrity": "sha512-EgmjVLMn22z7eGGv3kcnHwSnJXmFHjISTY9E/S5lIcTD3Oxw05QTcBLNkJFzcb3cNueUdF/IN4U+d78V0zO8Hw==",
+ "dev": true
+ },
+ "bindings": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz",
+ "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "file-uri-to-path": "1.0.0"
+ }
+ },
+ "bn.js": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz",
+ "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==",
+ "dev": true
},
"body-parser": {
"version": "1.20.3",
@@ -505,6 +801,7 @@
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/boxen/-/boxen-1.3.0.tgz",
"integrity": "sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw==",
+ "dev": true,
"requires": {
"ansi-align": "^2.0.0",
"camelcase": "^4.0.0",
@@ -519,6 +816,7 @@
"version": "3.2.1",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
"integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "dev": true,
"requires": {
"color-convert": "^1.9.0"
}
@@ -527,6 +825,7 @@
"version": "2.4.1",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
"integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
+ "dev": true,
"requires": {
"ansi-styles": "^3.2.1",
"escape-string-regexp": "^1.0.5",
@@ -537,6 +836,7 @@
"version": "5.5.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
"integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "dev": true,
"requires": {
"has-flag": "^3.0.0"
}
@@ -556,6 +856,7 @@
"version": "2.3.2",
"resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
"integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
+ "dev": true,
"requires": {
"arr-flatten": "^1.1.0",
"array-unique": "^0.3.2",
@@ -573,6 +874,7 @@
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
"requires": {
"is-extendable": "^0.1.0"
}
@@ -584,10 +886,160 @@
"resolved": "https://registry.npmjs.org/brcast/-/brcast-3.0.1.tgz",
"integrity": "sha512-eI3yqf9YEqyGl9PCNTR46MGvDylGtaHjalcz6Q3fAPnP/PhpKkkve52vFdfGpwp4VUvK6LUr4TQN+2stCrEwTg=="
},
+ "brorand": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz",
+ "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==",
+ "dev": true
+ },
+ "browserify-aes": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz",
+ "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==",
+ "dev": true,
+ "requires": {
+ "buffer-xor": "^1.0.3",
+ "cipher-base": "^1.0.0",
+ "create-hash": "^1.1.0",
+ "evp_bytestokey": "^1.0.3",
+ "inherits": "^2.0.1",
+ "safe-buffer": "^5.0.1"
+ }
+ },
+ "browserify-cipher": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz",
+ "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==",
+ "dev": true,
+ "requires": {
+ "browserify-aes": "^1.0.4",
+ "browserify-des": "^1.0.0",
+ "evp_bytestokey": "^1.0.0"
+ }
+ },
+ "browserify-des": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz",
+ "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==",
+ "dev": true,
+ "requires": {
+ "cipher-base": "^1.0.1",
+ "des.js": "^1.0.0",
+ "inherits": "^2.0.1",
+ "safe-buffer": "^5.1.2"
+ }
+ },
+ "browserify-rsa": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.1.tgz",
+ "integrity": "sha512-YBjSAiTqM04ZVei6sXighu679a3SqWORA3qZTEqZImnlkDIFtKc6pNutpjyZ8RJTjQtuYfeetkxM11GwoYXMIQ==",
+ "dev": true,
+ "requires": {
+ "bn.js": "^5.2.1",
+ "randombytes": "^2.1.0",
+ "safe-buffer": "^5.2.1"
+ },
+ "dependencies": {
+ "safe-buffer": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
+ "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
+ "dev": true
+ }
+ }
+ },
+ "browserify-sign": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.3.tgz",
+ "integrity": "sha512-JWCZW6SKhfhjJxO8Tyiiy+XYB7cqd2S5/+WeYHsKdNKFlCBhKbblba1A/HN/90YwtxKc8tCErjffZl++UNmGiw==",
+ "dev": true,
+ "requires": {
+ "bn.js": "^5.2.1",
+ "browserify-rsa": "^4.1.0",
+ "create-hash": "^1.2.0",
+ "create-hmac": "^1.1.7",
+ "elliptic": "^6.5.5",
+ "hash-base": "~3.0",
+ "inherits": "^2.0.4",
+ "parse-asn1": "^5.1.7",
+ "readable-stream": "^2.3.8",
+ "safe-buffer": "^5.2.1"
+ },
+ "dependencies": {
+ "inherits": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
+ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
+ "dev": true
+ },
+ "readable-stream": {
+ "version": "2.3.8",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
+ "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
+ "dev": true,
+ "requires": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
+ },
+ "dependencies": {
+ "safe-buffer": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
+ "dev": true
+ }
+ }
+ },
+ "safe-buffer": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
+ "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
+ "dev": true
+ }
+ }
+ },
+ "browserify-zlib": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz",
+ "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==",
+ "dev": true,
+ "requires": {
+ "pako": "~1.0.5"
+ }
+ },
+ "buffer": {
+ "version": "4.9.2",
+ "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz",
+ "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==",
+ "dev": true,
+ "requires": {
+ "base64-js": "^1.0.2",
+ "ieee754": "^1.1.4",
+ "isarray": "^1.0.0"
+ }
+ },
+ "buffer-xor": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz",
+ "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==",
+ "dev": true
+ },
"builtin-modules": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz",
- "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8="
+ "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=",
+ "dev": true
+ },
+ "builtin-status-codes": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz",
+ "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==",
+ "dev": true
},
"bytebuffer": {
"version": "5.0.1",
@@ -606,6 +1058,7 @@
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
"integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==",
+ "dev": true,
"requires": {
"collection-visit": "^1.0.0",
"component-emitter": "^1.2.1",
@@ -618,6 +1071,18 @@
"unset-value": "^1.0.0"
}
},
+ "call-bind": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz",
+ "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==",
+ "dev": true,
+ "requires": {
+ "call-bind-apply-helpers": "^1.0.0",
+ "es-define-property": "^1.0.0",
+ "get-intrinsic": "^1.2.4",
+ "set-function-length": "^1.2.2"
+ }
+ },
"call-bind-apply-helpers": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz",
@@ -625,6 +1090,13 @@
"requires": {
"es-errors": "^1.3.0",
"function-bind": "^1.1.2"
+ },
+ "dependencies": {
+ "function-bind": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
+ "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA=="
+ }
}
},
"call-bound": {
@@ -639,12 +1111,14 @@
"camelcase": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz",
- "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0="
+ "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=",
+ "dev": true
},
"camelcase-keys": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-4.2.0.tgz",
"integrity": "sha1-oqpfsa9oh1glnDLBQUJteJI7m3c=",
+ "dev": true,
"requires": {
"camelcase": "^4.1.0",
"map-obj": "^2.0.0",
@@ -654,12 +1128,14 @@
"capture-stack-trace": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.1.tgz",
- "integrity": "sha512-mYQLZnx5Qt1JgB1WEiMCf2647plpGeQ2NMR/5L0HNZzGQo4fuSPnK+wjfPnKZV0aiJDgzmWqqkV/g7JD+DW0qw=="
+ "integrity": "sha512-mYQLZnx5Qt1JgB1WEiMCf2647plpGeQ2NMR/5L0HNZzGQo4fuSPnK+wjfPnKZV0aiJDgzmWqqkV/g7JD+DW0qw==",
+ "dev": true
},
"chalk": {
"version": "2.4.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
"integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "dev": true,
"requires": {
"ansi-styles": "^3.2.1",
"escape-string-regexp": "^1.0.5",
@@ -669,12 +1145,14 @@
"chardet": {
"version": "0.7.0",
"resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz",
- "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA=="
+ "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==",
+ "dev": true
},
"chokidar": {
"version": "2.1.5",
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.5.tgz",
"integrity": "sha512-i0TprVWp+Kj4WRPtInjexJ8Q+BqTE909VpH8xVhXrJkoc5QC8VO9TryGOqTr+2hljzc1sC62t22h5tZePodM/A==",
+ "dev": true,
"requires": {
"anymatch": "^2.0.0",
"async-each": "^1.0.1",
@@ -688,17 +1166,56 @@
"path-is-absolute": "^1.0.0",
"readdirp": "^2.2.1",
"upath": "^1.1.1"
+ },
+ "dependencies": {
+ "fsevents": {
+ "version": "1.2.13",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz",
+ "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "bindings": "^1.5.0",
+ "nan": "^2.12.1"
+ }
+ }
}
},
"ci-info": {
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.6.0.tgz",
- "integrity": "sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A=="
+ "integrity": "sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==",
+ "dev": true
+ },
+ "cipher-base": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.6.tgz",
+ "integrity": "sha512-3Ek9H3X6pj5TgenXYtNWdaBon1tgYCaebd+XPg0keyjEbEfkD4KkmAxkQ/i1vYvxdcT5nscLBfq9VJRmCBcFSw==",
+ "dev": true,
+ "requires": {
+ "inherits": "^2.0.4",
+ "safe-buffer": "^5.2.1"
+ },
+ "dependencies": {
+ "inherits": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
+ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
+ "dev": true
+ },
+ "safe-buffer": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
+ "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
+ "dev": true
+ }
+ }
},
"class-utils": {
"version": "0.3.6",
"resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
"integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==",
+ "dev": true,
"requires": {
"arr-union": "^3.1.0",
"define-property": "^0.2.5",
@@ -710,6 +1227,7 @@
"version": "0.2.5",
"resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
"integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "dev": true,
"requires": {
"is-descriptor": "^0.1.0"
}
@@ -719,12 +1237,14 @@
"cli-boxes": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-1.0.0.tgz",
- "integrity": "sha1-T6kXw+WclKAEzWH47lCdplFocUM="
+ "integrity": "sha1-T6kXw+WclKAEzWH47lCdplFocUM=",
+ "dev": true
},
"cli-cursor": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz",
"integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=",
+ "dev": true,
"requires": {
"restore-cursor": "^2.0.0"
}
@@ -732,12 +1252,14 @@
"cli-spinners": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.1.0.tgz",
- "integrity": "sha512-8B00fJOEh1HPrx4fo5eW16XmE1PcL1tGpGrxy63CXGP9nHdPBN63X75hA1zhvQuhVztJWLqV58Roj2qlNM7cAA=="
+ "integrity": "sha512-8B00fJOEh1HPrx4fo5eW16XmE1PcL1tGpGrxy63CXGP9nHdPBN63X75hA1zhvQuhVztJWLqV58Roj2qlNM7cAA==",
+ "dev": true
},
"cli-width": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz",
- "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk="
+ "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=",
+ "dev": true
},
"cliui": {
"version": "3.2.0",
@@ -785,7 +1307,13 @@
"clone": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz",
- "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4="
+ "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=",
+ "dev": true
+ },
+ "clsx": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz",
+ "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg=="
},
"code-point-at": {
"version": "1.1.0",
@@ -796,6 +1324,7 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
"integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=",
+ "dev": true,
"requires": {
"map-visit": "^1.0.0",
"object-visit": "^1.0.0"
@@ -805,6 +1334,7 @@
"version": "1.9.3",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
"integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
+ "dev": true,
"requires": {
"color-name": "1.1.3"
}
@@ -812,7 +1342,8 @@
"color-name": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
- "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU="
+ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
+ "dev": true
},
"colour": {
"version": "0.7.1",
@@ -822,12 +1353,14 @@
"common-tags": {
"version": "1.8.0",
"resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.0.tgz",
- "integrity": "sha512-6P6g0uetGpW/sdyUy/iQQCbFF0kWVMSIVSyYz7Zgjcgh8mgw8PQzDNZeyZ5DQ2gM7LBoZPHmnjz8rUthkBG5tw=="
+ "integrity": "sha512-6P6g0uetGpW/sdyUy/iQQCbFF0kWVMSIVSyYz7Zgjcgh8mgw8PQzDNZeyZ5DQ2gM7LBoZPHmnjz8rUthkBG5tw==",
+ "dev": true
},
"component-emitter": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz",
- "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY="
+ "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=",
+ "dev": true
},
"compressible": {
"version": "2.0.18",
@@ -867,6 +1400,7 @@
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/configstore/-/configstore-3.1.2.tgz",
"integrity": "sha512-vtv5HtGjcYUgFrXc6Kx747B83MRRVS5R1VTEQoXvuP+kMI+if6uywV0nDGoiydJRy4yk7h9od5Og0kxx4zUXmw==",
+ "dev": true,
"requires": {
"dot-prop": "^4.1.0",
"graceful-fs": "^4.1.2",
@@ -876,6 +1410,18 @@
"xdg-basedir": "^3.0.0"
}
},
+ "console-browserify": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz",
+ "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==",
+ "dev": true
+ },
+ "constants-browserify": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz",
+ "integrity": "sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==",
+ "dev": true
+ },
"content-disposition": {
"version": "0.5.4",
"resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz",
@@ -909,26 +1455,75 @@
"copy-descriptor": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
- "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40="
+ "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=",
+ "dev": true
},
"core-js": {
"version": "2.6.5",
"resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.5.tgz",
- "integrity": "sha512-klh/kDpwX8hryYL14M9w/xei6vrv6sE8gTHDG7/T/+SEovB/G4ejwcfE/CBzO6Edsu+OETZMZ3wcX/EjUkrl5A=="
+ "integrity": "sha512-klh/kDpwX8hryYL14M9w/xei6vrv6sE8gTHDG7/T/+SEovB/G4ejwcfE/CBzO6Edsu+OETZMZ3wcX/EjUkrl5A==",
+ "dev": true
},
"core-util-is": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
- "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
+ "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
+ "dev": true
+ },
+ "create-ecdh": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz",
+ "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==",
+ "dev": true,
+ "requires": {
+ "bn.js": "^4.1.0",
+ "elliptic": "^6.5.3"
+ },
+ "dependencies": {
+ "bn.js": {
+ "version": "4.12.1",
+ "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.1.tgz",
+ "integrity": "sha512-k8TVBiPkPJT9uHLdOKfFpqcfprwBFOAAXXozRubr7R7PfIuKvQlzcI4M0pALeqXN09vdaMbUdUj+pass+uULAg==",
+ "dev": true
+ }
+ }
},
"create-error-class": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz",
"integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=",
+ "dev": true,
"requires": {
"capture-stack-trace": "^1.0.0"
}
},
+ "create-hash": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz",
+ "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==",
+ "dev": true,
+ "requires": {
+ "cipher-base": "^1.0.1",
+ "inherits": "^2.0.1",
+ "md5.js": "^1.3.4",
+ "ripemd160": "^2.0.1",
+ "sha.js": "^2.4.0"
+ }
+ },
+ "create-hmac": {
+ "version": "1.1.7",
+ "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz",
+ "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==",
+ "dev": true,
+ "requires": {
+ "cipher-base": "^1.0.3",
+ "create-hash": "^1.1.0",
+ "inherits": "^2.0.1",
+ "ripemd160": "^2.0.0",
+ "safe-buffer": "^5.0.1",
+ "sha.js": "^2.4.8"
+ }
+ },
"create-react-class": {
"version": "15.7.0",
"resolved": "https://registry.npmjs.org/create-react-class/-/create-react-class-15.7.0.tgz",
@@ -942,16 +1537,46 @@
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz",
"integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=",
+ "dev": true,
"requires": {
"lru-cache": "^4.0.1",
"shebang-command": "^1.2.0",
"which": "^1.2.9"
}
},
+ "crypto-browserify": {
+ "version": "3.12.1",
+ "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.1.tgz",
+ "integrity": "sha512-r4ESw/IlusD17lgQi1O20Fa3qNnsckR126TdUuBgAu7GBYSIPvdNyONd3Zrxh0xCwA4+6w/TDArBPsMvhur+KQ==",
+ "dev": true,
+ "requires": {
+ "browserify-cipher": "^1.0.1",
+ "browserify-sign": "^4.2.3",
+ "create-ecdh": "^4.0.4",
+ "create-hash": "^1.2.0",
+ "create-hmac": "^1.1.7",
+ "diffie-hellman": "^5.0.3",
+ "hash-base": "~3.0.4",
+ "inherits": "^2.0.4",
+ "pbkdf2": "^3.1.2",
+ "public-encrypt": "^4.0.3",
+ "randombytes": "^2.1.0",
+ "randomfill": "^1.0.4"
+ },
+ "dependencies": {
+ "inherits": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
+ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
+ "dev": true
+ }
+ }
+ },
"crypto-random-string": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz",
- "integrity": "sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4="
+ "integrity": "sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4=",
+ "dev": true
},
"css-vendor": {
"version": "0.3.8",
@@ -961,10 +1586,16 @@
"is-in-browser": "^1.0.2"
}
},
+ "csstype": {
+ "version": "2.6.21",
+ "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.21.tgz",
+ "integrity": "sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w=="
+ },
"currently-unhandled": {
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz",
"integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=",
+ "dev": true,
"requires": {
"array-find-index": "^1.0.1"
}
@@ -986,6 +1617,7 @@
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz",
"integrity": "sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=",
+ "dev": true,
"requires": {
"decamelize": "^1.1.0",
"map-obj": "^1.0.0"
@@ -994,32 +1626,48 @@
"map-obj": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz",
- "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0="
+ "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=",
+ "dev": true
}
}
},
"decode-uri-component": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
- "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU="
+ "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=",
+ "dev": true
},
"deep-extend": {
"version": "0.6.0",
"resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz",
- "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA=="
+ "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==",
+ "dev": true
},
"defaults": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz",
"integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=",
+ "dev": true,
"requires": {
"clone": "^1.0.2"
}
},
+ "define-data-property": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz",
+ "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==",
+ "dev": true,
+ "requires": {
+ "es-define-property": "^1.0.0",
+ "es-errors": "^1.3.0",
+ "gopd": "^1.0.1"
+ }
+ },
"define-property": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
"integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
+ "dev": true,
"requires": {
"is-descriptor": "^1.0.2",
"isobject": "^3.0.1"
@@ -1029,6 +1677,7 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
"integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+ "dev": true,
"requires": {
"kind-of": "^6.0.0"
}
@@ -1037,6 +1686,7 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
"integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+ "dev": true,
"requires": {
"kind-of": "^6.0.0"
}
@@ -1045,6 +1695,7 @@
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
"integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+ "dev": true,
"requires": {
"is-accessor-descriptor": "^1.0.0",
"is-data-descriptor": "^1.0.0",
@@ -1058,20 +1709,85 @@
"resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
"integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw=="
},
+ "des.js": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.1.0.tgz",
+ "integrity": "sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==",
+ "dev": true,
+ "requires": {
+ "inherits": "^2.0.1",
+ "minimalistic-assert": "^1.0.0"
+ }
+ },
"destroy": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz",
"integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg=="
},
+ "diffie-hellman": {
+ "version": "5.0.3",
+ "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz",
+ "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==",
+ "dev": true,
+ "requires": {
+ "bn.js": "^4.1.0",
+ "miller-rabin": "^4.0.0",
+ "randombytes": "^2.0.0"
+ },
+ "dependencies": {
+ "bn.js": {
+ "version": "4.12.1",
+ "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.1.tgz",
+ "integrity": "sha512-k8TVBiPkPJT9uHLdOKfFpqcfprwBFOAAXXozRubr7R7PfIuKvQlzcI4M0pALeqXN09vdaMbUdUj+pass+uULAg==",
+ "dev": true
+ }
+ }
+ },
+ "dom-helpers": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz",
+ "integrity": "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==",
+ "requires": {
+ "@babel/runtime": "^7.8.7",
+ "csstype": "^3.0.2"
+ },
+ "dependencies": {
+ "@babel/runtime": {
+ "version": "7.27.0",
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.27.0.tgz",
+ "integrity": "sha512-VtPOkrdPHZsKc/clNqyi9WUA8TINkZ4cGk63UUE3u4pmB2k+ZMQRDuIOagv8UVd6j7k0T3+RRIb7beKTebNbcw==",
+ "requires": {
+ "regenerator-runtime": "^0.14.0"
+ }
+ },
+ "csstype": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz",
+ "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw=="
+ },
+ "regenerator-runtime": {
+ "version": "0.14.1",
+ "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz",
+ "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw=="
+ }
+ }
+ },
"dom-storage": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/dom-storage/-/dom-storage-2.1.0.tgz",
"integrity": "sha512-g6RpyWXzl0RR6OTElHKBl7nwnK87GUyZMYC7JWsB/IA73vpqK2K6LT39x4VepLxlSsWBFrPVLnsSR5Jyty0+2Q=="
},
+ "domain-browser": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz",
+ "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==",
+ "dev": true
+ },
"dot-prop": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.0.tgz",
"integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==",
+ "dev": true,
"requires": {
"is-obj": "^1.0.0"
}
@@ -1089,13 +1805,43 @@
"duplexer3": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz",
- "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI="
+ "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=",
+ "dev": true
},
"ee-first": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
"integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow=="
},
+ "elliptic": {
+ "version": "6.6.1",
+ "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.6.1.tgz",
+ "integrity": "sha512-RaddvvMatK2LJHqFJ+YA4WysVN5Ita9E35botqIYspQ4TkRAlCicdzKOjlyv/1Za5RyTNn7di//eEV0uTAfe3g==",
+ "dev": true,
+ "requires": {
+ "bn.js": "^4.11.9",
+ "brorand": "^1.1.0",
+ "hash.js": "^1.0.0",
+ "hmac-drbg": "^1.0.1",
+ "inherits": "^2.0.4",
+ "minimalistic-assert": "^1.0.1",
+ "minimalistic-crypto-utils": "^1.0.1"
+ },
+ "dependencies": {
+ "bn.js": {
+ "version": "4.12.1",
+ "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.1.tgz",
+ "integrity": "sha512-k8TVBiPkPJT9uHLdOKfFpqcfprwBFOAAXXozRubr7R7PfIuKvQlzcI4M0pALeqXN09vdaMbUdUj+pass+uULAg==",
+ "dev": true
+ },
+ "inherits": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
+ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
+ "dev": true
+ }
+ }
+ },
"encodeurl": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz",
@@ -1113,6 +1859,7 @@
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz",
"integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==",
+ "dev": true,
"requires": {
"once": "^1.4.0"
}
@@ -1121,6 +1868,7 @@
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
"integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
+ "dev": true,
"requires": {
"is-arrayish": "^0.2.1"
}
@@ -1151,17 +1899,35 @@
"escape-string-regexp": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ="
+ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
+ "dev": true
},
"etag": {
"version": "1.8.1",
"resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
"integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg=="
},
+ "events": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
+ "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
+ "dev": true
+ },
+ "evp_bytestokey": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz",
+ "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==",
+ "dev": true,
+ "requires": {
+ "md5.js": "^1.3.4",
+ "safe-buffer": "^5.1.1"
+ }
+ },
"execa": {
"version": "0.7.0",
"resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz",
"integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=",
+ "dev": true,
"requires": {
"cross-spawn": "^5.0.1",
"get-stream": "^3.0.0",
@@ -1176,6 +1942,7 @@
"version": "2.1.4",
"resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
"integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
+ "dev": true,
"requires": {
"debug": "^2.3.3",
"define-property": "^0.2.5",
@@ -1190,6 +1957,7 @@
"version": "0.2.5",
"resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
"integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "dev": true,
"requires": {
"is-descriptor": "^0.1.0"
}
@@ -1198,6 +1966,7 @@
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
"requires": {
"is-extendable": "^0.1.0"
}
@@ -1253,6 +2022,7 @@
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
"integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
+ "dev": true,
"requires": {
"assign-symbols": "^1.0.0",
"is-extendable": "^1.0.1"
@@ -1262,6 +2032,7 @@
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
"integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
+ "dev": true,
"requires": {
"is-plain-object": "^2.0.4"
}
@@ -1272,6 +2043,7 @@
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.0.3.tgz",
"integrity": "sha512-bn71H9+qWoOQKyZDo25mOMVpSmXROAsTJVVVYzrrtol3d4y+AsKjf4Iwl2Q+IuT0kFSQ1qo166UuIwqYq7mGnA==",
+ "dev": true,
"requires": {
"chardet": "^0.7.0",
"iconv-lite": "^0.4.24",
@@ -1282,6 +2054,7 @@
"version": "0.4.24",
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
"integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
+ "dev": true,
"requires": {
"safer-buffer": ">= 2.1.2 < 3"
}
@@ -1292,6 +2065,7 @@
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
"integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
+ "dev": true,
"requires": {
"array-unique": "^0.3.2",
"define-property": "^1.0.0",
@@ -1307,6 +2081,7 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
"integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+ "dev": true,
"requires": {
"is-descriptor": "^1.0.0"
}
@@ -1315,6 +2090,7 @@
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
"requires": {
"is-extendable": "^0.1.0"
}
@@ -1323,6 +2099,7 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
"integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+ "dev": true,
"requires": {
"kind-of": "^6.0.0"
}
@@ -1331,6 +2108,7 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
"integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+ "dev": true,
"requires": {
"kind-of": "^6.0.0"
}
@@ -1339,6 +2117,7 @@
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
"integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+ "dev": true,
"requires": {
"is-accessor-descriptor": "^1.0.0",
"is-data-descriptor": "^1.0.0",
@@ -1359,14 +2138,23 @@
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz",
"integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=",
+ "dev": true,
"requires": {
"escape-string-regexp": "^1.0.5"
}
},
+ "file-uri-to-path": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz",
+ "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==",
+ "dev": true,
+ "optional": true
+ },
"fill-range": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
"integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
+ "dev": true,
"requires": {
"extend-shallow": "^2.0.1",
"is-number": "^3.0.0",
@@ -1378,6 +2166,7 @@
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
"requires": {
"is-extendable": "^0.1.0"
}
@@ -1402,6 +2191,7 @@
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
"integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
+ "dev": true,
"requires": {
"locate-path": "^2.0.0"
}
@@ -1425,12 +2215,14 @@
"for-in": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
- "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA="
+ "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
+ "dev": true
},
"for-own": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz",
"integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=",
+ "dev": true,
"requires": {
"for-in": "^1.0.1"
}
@@ -1444,6 +2236,7 @@
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
"integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=",
+ "dev": true,
"requires": {
"map-cache": "^0.2.2"
}
@@ -1457,6 +2250,7 @@
"version": "7.0.1",
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz",
"integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==",
+ "dev": true,
"requires": {
"graceful-fs": "^4.1.2",
"jsonfile": "^4.0.0",
@@ -1469,512 +2263,46 @@
"integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
},
"fsevents": {
- "version": "1.2.7",
- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.7.tgz",
- "integrity": "sha512-Pxm6sI2MeBD7RdD12RYsqaP0nMiwx8eZBXCa6z2L+mRHm2DYrOYwihmhjpkdjUHwQhslWQjRpEgNq4XvBmaAuw==",
- "optional": true,
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
+ "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
+ "dev": true,
+ "optional": true
+ },
+ "get-intrinsic": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz",
+ "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==",
"requires": {
- "nan": "^2.9.2",
- "node-pre-gyp": "^0.10.0"
+ "call-bind-apply-helpers": "^1.0.2",
+ "es-define-property": "^1.0.1",
+ "es-errors": "^1.3.0",
+ "es-object-atoms": "^1.1.1",
+ "function-bind": "^1.1.2",
+ "get-proto": "^1.0.1",
+ "gopd": "^1.2.0",
+ "has-symbols": "^1.1.0",
+ "hasown": "^2.0.2",
+ "math-intrinsics": "^1.1.0"
},
"dependencies": {
- "abbrev": {
- "version": "1.1.1",
- "bundled": true,
- "optional": true
+ "function-bind": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
+ "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA=="
},
- "ansi-regex": {
- "version": "2.1.1",
- "bundled": true,
- "optional": true
- },
- "aproba": {
- "version": "1.2.0",
- "bundled": true,
- "optional": true
- },
- "are-we-there-yet": {
- "version": "1.1.5",
- "bundled": true,
- "optional": true,
- "requires": {
- "delegates": "^1.0.0",
- "readable-stream": "^2.0.6"
- }
- },
- "balanced-match": {
- "version": "1.0.0",
- "bundled": true,
- "optional": true
- },
- "brace-expansion": {
- "version": "1.1.11",
- "bundled": true,
- "optional": true,
- "requires": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "chownr": {
- "version": "1.1.1",
- "bundled": true,
- "optional": true
- },
- "code-point-at": {
- "version": "1.1.0",
- "bundled": true,
- "optional": true
- },
- "concat-map": {
- "version": "0.0.1",
- "bundled": true,
- "optional": true
- },
- "console-control-strings": {
+ "has-symbols": {
"version": "1.1.0",
- "bundled": true,
- "optional": true
- },
- "core-util-is": {
- "version": "1.0.2",
- "bundled": true,
- "optional": true
- },
- "debug": {
- "version": "2.6.9",
- "bundled": true,
- "optional": true,
- "requires": {
- "ms": "2.0.0"
- }
- },
- "deep-extend": {
- "version": "0.6.0",
- "bundled": true,
- "optional": true
- },
- "delegates": {
- "version": "1.0.0",
- "bundled": true,
- "optional": true
- },
- "detect-libc": {
- "version": "1.0.3",
- "bundled": true,
- "optional": true
- },
- "fs-minipass": {
- "version": "1.2.5",
- "bundled": true,
- "optional": true,
- "requires": {
- "minipass": "^2.2.1"
- }
- },
- "fs.realpath": {
- "version": "1.0.0",
- "bundled": true,
- "optional": true
- },
- "gauge": {
- "version": "2.7.4",
- "bundled": true,
- "optional": true,
- "requires": {
- "aproba": "^1.0.3",
- "console-control-strings": "^1.0.0",
- "has-unicode": "^2.0.0",
- "object-assign": "^4.1.0",
- "signal-exit": "^3.0.0",
- "string-width": "^1.0.1",
- "strip-ansi": "^3.0.1",
- "wide-align": "^1.1.0"
- }
- },
- "glob": {
- "version": "7.1.3",
- "bundled": true,
- "optional": true,
- "requires": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.0.4",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- }
- },
- "has-unicode": {
- "version": "2.0.1",
- "bundled": true,
- "optional": true
- },
- "iconv-lite": {
- "version": "0.4.24",
- "bundled": true,
- "optional": true,
- "requires": {
- "safer-buffer": ">= 2.1.2 < 3"
- }
- },
- "ignore-walk": {
- "version": "3.0.1",
- "bundled": true,
- "optional": true,
- "requires": {
- "minimatch": "3.0.4"
- }
- },
- "inflight": {
- "version": "1.0.6",
- "bundled": true,
- "optional": true,
- "requires": {
- "once": "^1.3.0",
- "wrappy": "1"
- }
- },
- "inherits": {
- "version": "2.0.3",
- "bundled": true,
- "optional": true
- },
- "ini": {
- "version": "1.3.5",
- "bundled": true,
- "optional": true
- },
- "is-fullwidth-code-point": {
- "version": "1.0.0",
- "bundled": true,
- "optional": true,
- "requires": {
- "number-is-nan": "^1.0.0"
- }
- },
- "isarray": {
- "version": "1.0.0",
- "bundled": true,
- "optional": true
- },
- "minimatch": {
- "version": "3.0.4",
- "bundled": true,
- "optional": true,
- "requires": {
- "brace-expansion": "1.1.11"
- }
- },
- "minimist": {
- "version": "0.0.8",
- "bundled": true,
- "optional": true
- },
- "minipass": {
- "version": "2.3.5",
- "bundled": true,
- "optional": true,
- "requires": {
- "safe-buffer": "^5.1.2",
- "yallist": "^3.0.0"
- }
- },
- "minizlib": {
- "version": "1.2.1",
- "bundled": true,
- "optional": true,
- "requires": {
- "minipass": "^2.2.1"
- }
- },
- "mkdirp": {
- "version": "0.5.1",
- "bundled": true,
- "optional": true,
- "requires": {
- "minimist": "0.0.8"
- }
- },
- "ms": {
- "version": "2.0.0",
- "bundled": true,
- "optional": true
- },
- "needle": {
- "version": "2.2.4",
- "bundled": true,
- "optional": true,
- "requires": {
- "debug": "^2.1.2",
- "iconv-lite": "^0.4.4",
- "sax": "^1.2.4"
- }
- },
- "node-pre-gyp": {
- "version": "0.10.3",
- "bundled": true,
- "optional": true,
- "requires": {
- "detect-libc": "^1.0.2",
- "mkdirp": "^0.5.1",
- "needle": "^2.2.1",
- "nopt": "^4.0.1",
- "npm-packlist": "^1.1.6",
- "npmlog": "^4.0.2",
- "rc": "^1.2.7",
- "rimraf": "^2.6.1",
- "semver": "^5.3.0",
- "tar": "^4"
- }
- },
- "nopt": {
- "version": "4.0.1",
- "bundled": true,
- "optional": true,
- "requires": {
- "abbrev": "1",
- "osenv": "^0.1.4"
- }
- },
- "npm-bundled": {
- "version": "1.0.5",
- "bundled": true,
- "optional": true
- },
- "npm-packlist": {
- "version": "1.2.0",
- "bundled": true,
- "optional": true,
- "requires": {
- "ignore-walk": "^3.0.1",
- "npm-bundled": "^1.0.1"
- }
- },
- "npmlog": {
- "version": "4.1.2",
- "bundled": true,
- "optional": true,
- "requires": {
- "are-we-there-yet": "~1.1.2",
- "console-control-strings": "~1.1.0",
- "gauge": "~2.7.3",
- "set-blocking": "~2.0.0"
- }
- },
- "number-is-nan": {
- "version": "1.0.1",
- "bundled": true,
- "optional": true
- },
- "object-assign": {
- "version": "4.1.1",
- "bundled": true,
- "optional": true
- },
- "once": {
- "version": "1.4.0",
- "bundled": true,
- "optional": true,
- "requires": {
- "wrappy": "1"
- }
- },
- "os-homedir": {
- "version": "1.0.2",
- "bundled": true,
- "optional": true
- },
- "os-tmpdir": {
- "version": "1.0.2",
- "bundled": true,
- "optional": true
- },
- "osenv": {
- "version": "0.1.5",
- "bundled": true,
- "optional": true,
- "requires": {
- "os-homedir": "^1.0.0",
- "os-tmpdir": "^1.0.0"
- }
- },
- "path-is-absolute": {
- "version": "1.0.1",
- "bundled": true,
- "optional": true
- },
- "process-nextick-args": {
- "version": "2.0.0",
- "bundled": true,
- "optional": true
- },
- "rc": {
- "version": "1.2.8",
- "bundled": true,
- "optional": true,
- "requires": {
- "deep-extend": "^0.6.0",
- "ini": "~1.3.0",
- "minimist": "^1.2.0",
- "strip-json-comments": "~2.0.1"
- },
- "dependencies": {
- "minimist": {
- "version": "1.2.0",
- "bundled": true,
- "optional": true
- }
- }
- },
- "readable-stream": {
- "version": "2.3.6",
- "bundled": true,
- "optional": true,
- "requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
- }
- },
- "rimraf": {
- "version": "2.6.3",
- "bundled": true,
- "optional": true,
- "requires": {
- "glob": "^7.1.3"
- }
- },
- "safe-buffer": {
- "version": "5.1.2",
- "bundled": true,
- "optional": true
- },
- "safer-buffer": {
- "version": "2.1.2",
- "bundled": true,
- "optional": true
- },
- "sax": {
- "version": "1.2.4",
- "bundled": true,
- "optional": true
- },
- "semver": {
- "version": "5.6.0",
- "bundled": true,
- "optional": true
- },
- "set-blocking": {
- "version": "2.0.0",
- "bundled": true,
- "optional": true
- },
- "signal-exit": {
- "version": "3.0.2",
- "bundled": true,
- "optional": true
- },
- "string-width": {
- "version": "1.0.2",
- "bundled": true,
- "optional": true,
- "requires": {
- "code-point-at": "^1.0.0",
- "is-fullwidth-code-point": "^1.0.0",
- "strip-ansi": "^3.0.0"
- }
- },
- "string_decoder": {
- "version": "1.1.1",
- "bundled": true,
- "optional": true,
- "requires": {
- "safe-buffer": "~5.1.0"
- }
- },
- "strip-ansi": {
- "version": "3.0.1",
- "bundled": true,
- "optional": true,
- "requires": {
- "ansi-regex": "^2.0.0"
- }
- },
- "strip-json-comments": {
- "version": "2.0.1",
- "bundled": true,
- "optional": true
- },
- "tar": {
- "version": "4.4.8",
- "bundled": true,
- "optional": true,
- "requires": {
- "chownr": "^1.1.1",
- "fs-minipass": "^1.2.5",
- "minipass": "^2.3.4",
- "minizlib": "^1.1.1",
- "mkdirp": "^0.5.0",
- "safe-buffer": "^5.1.2",
- "yallist": "^3.0.2"
- }
- },
- "util-deprecate": {
- "version": "1.0.2",
- "bundled": true,
- "optional": true
- },
- "wide-align": {
- "version": "1.1.3",
- "bundled": true,
- "optional": true,
- "requires": {
- "string-width": "^1.0.2 || 2"
- }
- },
- "wrappy": {
- "version": "1.0.2",
- "bundled": true,
- "optional": true
- },
- "yallist": {
- "version": "3.0.3",
- "bundled": true,
- "optional": true
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz",
+ "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ=="
}
}
},
- "function-bind": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
- "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA=="
- },
- "get-intrinsic": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz",
- "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==",
- "requires": {
- "call-bind-apply-helpers": "^1.0.2",
- "es-define-property": "^1.0.1",
- "es-errors": "^1.3.0",
- "es-object-atoms": "^1.1.1",
- "function-bind": "^1.1.2",
- "get-proto": "^1.0.1",
- "gopd": "^1.2.0",
- "has-symbols": "^1.1.0",
- "hasown": "^2.0.2",
- "math-intrinsics": "^1.1.0"
- }
- },
"get-own-enumerable-property-symbols": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.0.tgz",
- "integrity": "sha512-CIJYJC4GGF06TakLg8z4GQKvDsx9EMspVxOYih7LerEL/WosUnFIww45CGfxfeKHqlg3twgUrYRT1O3WQqjGCg=="
+ "integrity": "sha512-CIJYJC4GGF06TakLg8z4GQKvDsx9EMspVxOYih7LerEL/WosUnFIww45CGfxfeKHqlg3twgUrYRT1O3WQqjGCg==",
+ "dev": true
},
"get-proto": {
"version": "1.0.1",
@@ -1988,12 +2316,14 @@
"get-stream": {
"version": "3.0.0",
"resolved": "http://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz",
- "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ="
+ "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=",
+ "dev": true
},
"get-value": {
"version": "2.0.6",
"resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
- "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg="
+ "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=",
+ "dev": true
},
"glob": {
"version": "7.1.3",
@@ -2012,6 +2342,7 @@
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
"integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
+ "dev": true,
"requires": {
"is-glob": "^3.1.0",
"path-dirname": "^1.0.0"
@@ -2021,6 +2352,7 @@
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
"integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
+ "dev": true,
"requires": {
"is-extglob": "^2.1.0"
}
@@ -2031,6 +2363,7 @@
"version": "5.0.3",
"resolved": "https://registry.npmjs.org/glob-watcher/-/glob-watcher-5.0.3.tgz",
"integrity": "sha512-8tWsULNEPHKQ2MR4zXuzSmqbdyV5PtwwCaWSGQ1WwHsJ07ilNeN1JB8ntxhckbnpSHaf9dXFUHzIWvm1I13dsg==",
+ "dev": true,
"requires": {
"anymatch": "^2.0.0",
"async-done": "^1.2.0",
@@ -2044,6 +2377,7 @@
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz",
"integrity": "sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU=",
+ "dev": true,
"requires": {
"ini": "^1.3.4"
}
@@ -2057,6 +2391,7 @@
"version": "6.7.1",
"resolved": "http://registry.npmjs.org/got/-/got-6.7.1.tgz",
"integrity": "sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=",
+ "dev": true,
"requires": {
"create-error-class": "^3.0.0",
"duplexer3": "^0.1.4",
@@ -2074,7 +2409,8 @@
"graceful-fs": {
"version": "4.1.11",
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
- "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg="
+ "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
+ "dev": true
},
"grpc": {
"version": "1.20.0",
@@ -2496,17 +2832,23 @@
"has-flag": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0="
+ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
+ "dev": true
},
- "has-symbols": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz",
- "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ=="
+ "has-property-descriptors": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz",
+ "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==",
+ "dev": true,
+ "requires": {
+ "es-define-property": "^1.0.0"
+ }
},
"has-value": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
"integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=",
+ "dev": true,
"requires": {
"get-value": "^2.0.6",
"has-values": "^1.0.0",
@@ -2517,6 +2859,7 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz",
"integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=",
+ "dev": true,
"requires": {
"is-number": "^3.0.0",
"kind-of": "^4.0.0"
@@ -2526,18 +2869,71 @@
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
"integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
+ "dev": true,
"requires": {
"is-buffer": "^1.1.5"
}
}
}
},
+ "hash-base": {
+ "version": "3.0.5",
+ "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.5.tgz",
+ "integrity": "sha512-vXm0l45VbcHEVlTCzs8M+s0VeYsB2lnlAaThoLKGXr3bE/VWDOelNUnycUPEhKEaXARL2TEFjBOyUiM6+55KBg==",
+ "dev": true,
+ "requires": {
+ "inherits": "^2.0.4",
+ "safe-buffer": "^5.2.1"
+ },
+ "dependencies": {
+ "inherits": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
+ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
+ "dev": true
+ },
+ "safe-buffer": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
+ "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
+ "dev": true
+ }
+ }
+ },
+ "hash.js": {
+ "version": "1.1.7",
+ "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz",
+ "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==",
+ "dev": true,
+ "requires": {
+ "inherits": "^2.0.3",
+ "minimalistic-assert": "^1.0.1"
+ }
+ },
"hasown": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
"integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
"requires": {
"function-bind": "^1.1.2"
+ },
+ "dependencies": {
+ "function-bind": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
+ "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA=="
+ }
+ }
+ },
+ "hmac-drbg": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz",
+ "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==",
+ "dev": true,
+ "requires": {
+ "hash.js": "^1.0.3",
+ "minimalistic-assert": "^1.0.0",
+ "minimalistic-crypto-utils": "^1.0.1"
}
},
"hoist-non-react-statics": {
@@ -2548,7 +2944,8 @@
"hosted-git-info": {
"version": "2.7.1",
"resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.7.1.tgz",
- "integrity": "sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w=="
+ "integrity": "sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w==",
+ "dev": true
},
"http-errors": {
"version": "2.0.0",
@@ -2574,6 +2971,12 @@
"resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.9.tgz",
"integrity": "sha512-n1XsPy3rXVxlqxVioEWdC+0+M+SQw0DpJynwtOPo1X+ZlvdzTLtDBIJJlDQTnwZIFJrZSzSGmIOUdP8tu+SgLw=="
},
+ "https-browserify": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz",
+ "integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==",
+ "dev": true
+ },
"hyphenate-style-name": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/hyphenate-style-name/-/hyphenate-style-name-1.0.2.tgz",
@@ -2592,25 +2995,35 @@
"resolved": "https://registry.npmjs.org/idb/-/idb-3.0.2.tgz",
"integrity": "sha512-+FLa/0sTXqyux0o6C+i2lOR0VoS60LU/jzUo5xjfY6+7sEEgy4Gz1O7yFBXvjd7N0NyIGWIRg8DcQSLEG+VSPw=="
},
+ "ieee754": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
+ "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
+ "dev": true
+ },
"ignore-by-default": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz",
- "integrity": "sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA=="
+ "integrity": "sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA==",
+ "dev": true
},
"import-lazy": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz",
- "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM="
+ "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=",
+ "dev": true
},
"imurmurhash": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
- "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o="
+ "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
+ "dev": true
},
"indent-string": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz",
- "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok="
+ "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=",
+ "dev": true
},
"inflight": {
"version": "1.0.6",
@@ -2629,12 +3042,14 @@
"ini": {
"version": "1.3.5",
"resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz",
- "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw=="
+ "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==",
+ "dev": true
},
"inquirer": {
"version": "6.3.1",
"resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.3.1.tgz",
"integrity": "sha512-MmL624rfkFt4TG9y/Jvmt8vdmOo836U7Y0Hxr2aFk3RelZEGX4Igk0KabWrcaaZaTv9uzglOqWh1Vly+FAWAXA==",
+ "dev": true,
"requires": {
"ansi-escapes": "^3.2.0",
"chalk": "^2.4.2",
@@ -2665,6 +3080,7 @@
"version": "0.1.6",
"resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
"integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
+ "dev": true,
"requires": {
"kind-of": "^3.0.2"
},
@@ -2673,6 +3089,7 @@
"version": "3.2.2",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
"requires": {
"is-buffer": "^1.1.5"
}
@@ -2682,12 +3099,14 @@
"is-arrayish": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
- "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0="
+ "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
+ "dev": true
},
"is-binary-path": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz",
"integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=",
+ "dev": true,
"requires": {
"binary-extensions": "^1.0.0"
}
@@ -2695,12 +3114,14 @@
"is-buffer": {
"version": "1.1.6",
"resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
- "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
+ "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
+ "dev": true
},
"is-builtin-module": {
"version": "1.0.0",
"resolved": "http://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz",
"integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=",
+ "dev": true,
"requires": {
"builtin-modules": "^1.0.0"
}
@@ -2709,6 +3130,7 @@
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.2.1.tgz",
"integrity": "sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==",
+ "dev": true,
"requires": {
"ci-info": "^1.5.0"
}
@@ -2717,6 +3139,7 @@
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
"integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
+ "dev": true,
"requires": {
"kind-of": "^3.0.2"
},
@@ -2725,6 +3148,7 @@
"version": "3.2.2",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
"requires": {
"is-buffer": "^1.1.5"
}
@@ -2735,6 +3159,7 @@
"version": "0.1.6",
"resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
"integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
+ "dev": true,
"requires": {
"is-accessor-descriptor": "^0.1.6",
"is-data-descriptor": "^0.1.4",
@@ -2744,24 +3169,28 @@
"kind-of": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
- "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw=="
+ "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
+ "dev": true
}
}
},
"is-extendable": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
- "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik="
+ "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
+ "dev": true
},
"is-extglob": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
- "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI="
+ "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
+ "dev": true
},
"is-fullwidth-code-point": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
- "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8="
+ "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
+ "dev": true
},
"is-function": {
"version": "1.0.1",
@@ -2772,6 +3201,7 @@
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz",
"integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=",
+ "dev": true,
"requires": {
"is-extglob": "^2.1.1"
}
@@ -2785,6 +3215,7 @@
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.1.0.tgz",
"integrity": "sha1-Df2Y9akRFxbdU13aZJL2e/PSWoA=",
+ "dev": true,
"requires": {
"global-dirs": "^0.1.0",
"is-path-inside": "^1.0.0"
@@ -2793,17 +3224,20 @@
"is-negated-glob": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-negated-glob/-/is-negated-glob-1.0.0.tgz",
- "integrity": "sha1-aRC8pdqMleeEtXUbl2z1oQ/uNtI="
+ "integrity": "sha1-aRC8pdqMleeEtXUbl2z1oQ/uNtI=",
+ "dev": true
},
"is-npm": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-npm/-/is-npm-1.0.0.tgz",
- "integrity": "sha1-8vtjpl5JBbQGyGBydloaTceTufQ="
+ "integrity": "sha1-8vtjpl5JBbQGyGBydloaTceTufQ=",
+ "dev": true
},
"is-number": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
"integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
+ "dev": true,
"requires": {
"kind-of": "^3.0.2"
},
@@ -2812,6 +3246,7 @@
"version": "3.2.2",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
"requires": {
"is-buffer": "^1.1.5"
}
@@ -2821,12 +3256,14 @@
"is-obj": {
"version": "1.0.1",
"resolved": "http://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz",
- "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8="
+ "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=",
+ "dev": true
},
"is-path-inside": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz",
"integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=",
+ "dev": true,
"requires": {
"path-is-inside": "^1.0.1"
}
@@ -2834,7 +3271,8 @@
"is-plain-obj": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz",
- "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4="
+ "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=",
+ "dev": true
},
"is-plain-object": {
"version": "2.0.4",
@@ -2847,22 +3285,26 @@
"is-promise": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz",
- "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o="
+ "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=",
+ "dev": true
},
"is-redirect": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz",
- "integrity": "sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ="
+ "integrity": "sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ=",
+ "dev": true
},
"is-regexp": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz",
- "integrity": "sha1-/S2INUXEa6xaYz57mgnof6LLUGk="
+ "integrity": "sha1-/S2INUXEa6xaYz57mgnof6LLUGk=",
+ "dev": true
},
"is-retry-allowed": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz",
- "integrity": "sha1-EaBgVotnM5REAz0BJaYaINVk+zQ="
+ "integrity": "sha1-EaBgVotnM5REAz0BJaYaINVk+zQ=",
+ "dev": true
},
"is-stream": {
"version": "1.1.0",
@@ -2872,17 +3314,20 @@
"is-windows": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
- "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA=="
+ "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==",
+ "dev": true
},
"isarray": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+ "dev": true
},
"isexe": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
- "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA="
+ "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
+ "dev": true
},
"isobject": {
"version": "3.0.1",
@@ -2906,17 +3351,20 @@
"json-parse-better-errors": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
- "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw=="
+ "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==",
+ "dev": true
},
"json-parse-even-better-errors": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-4.0.0.tgz",
- "integrity": "sha512-lR4MXjGNgkJc7tkQ97kb2nuEMnNCyU//XYVH0MKTGcXEiSudQ5MKGKen3C5QubYy0vmq+JGitUg92uuywGEwIA=="
+ "integrity": "sha512-lR4MXjGNgkJc7tkQ97kb2nuEMnNCyU//XYVH0MKTGcXEiSudQ5MKGKen3C5QubYy0vmq+JGitUg92uuywGEwIA==",
+ "dev": true
},
"jsonfile": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
"integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
+ "dev": true,
"requires": {
"graceful-fs": "^4.1.6"
}
@@ -3023,6 +3471,228 @@
}
}
},
+ "jss-plugin-camel-case": {
+ "version": "10.10.0",
+ "resolved": "https://registry.npmjs.org/jss-plugin-camel-case/-/jss-plugin-camel-case-10.10.0.tgz",
+ "integrity": "sha512-z+HETfj5IYgFxh1wJnUAU8jByI48ED+v0fuTuhKrPR+pRBYS2EDwbusU8aFOpCdYhtRc9zhN+PJ7iNE8pAWyPw==",
+ "requires": {
+ "@babel/runtime": "^7.3.1",
+ "hyphenate-style-name": "^1.0.3",
+ "jss": "10.10.0"
+ },
+ "dependencies": {
+ "csstype": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz",
+ "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw=="
+ },
+ "hyphenate-style-name": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/hyphenate-style-name/-/hyphenate-style-name-1.1.0.tgz",
+ "integrity": "sha512-WDC/ui2VVRrz3jOVi+XtjqkDjiVjTtFaAGiW37k6b+ohyQ5wYDOGkvCZa8+H0nx3gyvv0+BST9xuOgIyGQ00gw=="
+ },
+ "jss": {
+ "version": "10.10.0",
+ "resolved": "https://registry.npmjs.org/jss/-/jss-10.10.0.tgz",
+ "integrity": "sha512-cqsOTS7jqPsPMjtKYDUpdFC0AbhYFLTcuGRqymgmdJIeQ8cH7+AgX7YSgQy79wXloZq2VvATYxUOUQEvS1V/Zw==",
+ "requires": {
+ "@babel/runtime": "^7.3.1",
+ "csstype": "^3.0.2",
+ "is-in-browser": "^1.1.3",
+ "tiny-warning": "^1.0.2"
+ }
+ }
+ }
+ },
+ "jss-plugin-default-unit": {
+ "version": "10.10.0",
+ "resolved": "https://registry.npmjs.org/jss-plugin-default-unit/-/jss-plugin-default-unit-10.10.0.tgz",
+ "integrity": "sha512-SvpajxIECi4JDUbGLefvNckmI+c2VWmP43qnEy/0eiwzRUsafg5DVSIWSzZe4d2vFX1u9nRDP46WCFV/PXVBGQ==",
+ "requires": {
+ "@babel/runtime": "^7.3.1",
+ "jss": "10.10.0"
+ },
+ "dependencies": {
+ "csstype": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz",
+ "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw=="
+ },
+ "jss": {
+ "version": "10.10.0",
+ "resolved": "https://registry.npmjs.org/jss/-/jss-10.10.0.tgz",
+ "integrity": "sha512-cqsOTS7jqPsPMjtKYDUpdFC0AbhYFLTcuGRqymgmdJIeQ8cH7+AgX7YSgQy79wXloZq2VvATYxUOUQEvS1V/Zw==",
+ "requires": {
+ "@babel/runtime": "^7.3.1",
+ "csstype": "^3.0.2",
+ "is-in-browser": "^1.1.3",
+ "tiny-warning": "^1.0.2"
+ }
+ }
+ }
+ },
+ "jss-plugin-global": {
+ "version": "10.10.0",
+ "resolved": "https://registry.npmjs.org/jss-plugin-global/-/jss-plugin-global-10.10.0.tgz",
+ "integrity": "sha512-icXEYbMufiNuWfuazLeN+BNJO16Ge88OcXU5ZDC2vLqElmMybA31Wi7lZ3lf+vgufRocvPj8443irhYRgWxP+A==",
+ "requires": {
+ "@babel/runtime": "^7.3.1",
+ "jss": "10.10.0"
+ },
+ "dependencies": {
+ "csstype": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz",
+ "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw=="
+ },
+ "jss": {
+ "version": "10.10.0",
+ "resolved": "https://registry.npmjs.org/jss/-/jss-10.10.0.tgz",
+ "integrity": "sha512-cqsOTS7jqPsPMjtKYDUpdFC0AbhYFLTcuGRqymgmdJIeQ8cH7+AgX7YSgQy79wXloZq2VvATYxUOUQEvS1V/Zw==",
+ "requires": {
+ "@babel/runtime": "^7.3.1",
+ "csstype": "^3.0.2",
+ "is-in-browser": "^1.1.3",
+ "tiny-warning": "^1.0.2"
+ }
+ }
+ }
+ },
+ "jss-plugin-nested": {
+ "version": "10.10.0",
+ "resolved": "https://registry.npmjs.org/jss-plugin-nested/-/jss-plugin-nested-10.10.0.tgz",
+ "integrity": "sha512-9R4JHxxGgiZhurDo3q7LdIiDEgtA1bTGzAbhSPyIOWb7ZubrjQe8acwhEQ6OEKydzpl8XHMtTnEwHXCARLYqYA==",
+ "requires": {
+ "@babel/runtime": "^7.3.1",
+ "jss": "10.10.0",
+ "tiny-warning": "^1.0.2"
+ },
+ "dependencies": {
+ "csstype": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz",
+ "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw=="
+ },
+ "jss": {
+ "version": "10.10.0",
+ "resolved": "https://registry.npmjs.org/jss/-/jss-10.10.0.tgz",
+ "integrity": "sha512-cqsOTS7jqPsPMjtKYDUpdFC0AbhYFLTcuGRqymgmdJIeQ8cH7+AgX7YSgQy79wXloZq2VvATYxUOUQEvS1V/Zw==",
+ "requires": {
+ "@babel/runtime": "^7.3.1",
+ "csstype": "^3.0.2",
+ "is-in-browser": "^1.1.3",
+ "tiny-warning": "^1.0.2"
+ }
+ }
+ }
+ },
+ "jss-plugin-props-sort": {
+ "version": "10.10.0",
+ "resolved": "https://registry.npmjs.org/jss-plugin-props-sort/-/jss-plugin-props-sort-10.10.0.tgz",
+ "integrity": "sha512-5VNJvQJbnq/vRfje6uZLe/FyaOpzP/IH1LP+0fr88QamVrGJa0hpRRyAa0ea4U/3LcorJfBFVyC4yN2QC73lJg==",
+ "requires": {
+ "@babel/runtime": "^7.3.1",
+ "jss": "10.10.0"
+ },
+ "dependencies": {
+ "csstype": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz",
+ "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw=="
+ },
+ "jss": {
+ "version": "10.10.0",
+ "resolved": "https://registry.npmjs.org/jss/-/jss-10.10.0.tgz",
+ "integrity": "sha512-cqsOTS7jqPsPMjtKYDUpdFC0AbhYFLTcuGRqymgmdJIeQ8cH7+AgX7YSgQy79wXloZq2VvATYxUOUQEvS1V/Zw==",
+ "requires": {
+ "@babel/runtime": "^7.3.1",
+ "csstype": "^3.0.2",
+ "is-in-browser": "^1.1.3",
+ "tiny-warning": "^1.0.2"
+ }
+ }
+ }
+ },
+ "jss-plugin-rule-value-function": {
+ "version": "10.10.0",
+ "resolved": "https://registry.npmjs.org/jss-plugin-rule-value-function/-/jss-plugin-rule-value-function-10.10.0.tgz",
+ "integrity": "sha512-uEFJFgaCtkXeIPgki8ICw3Y7VMkL9GEan6SqmT9tqpwM+/t+hxfMUdU4wQ0MtOiMNWhwnckBV0IebrKcZM9C0g==",
+ "requires": {
+ "@babel/runtime": "^7.3.1",
+ "jss": "10.10.0",
+ "tiny-warning": "^1.0.2"
+ },
+ "dependencies": {
+ "csstype": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz",
+ "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw=="
+ },
+ "jss": {
+ "version": "10.10.0",
+ "resolved": "https://registry.npmjs.org/jss/-/jss-10.10.0.tgz",
+ "integrity": "sha512-cqsOTS7jqPsPMjtKYDUpdFC0AbhYFLTcuGRqymgmdJIeQ8cH7+AgX7YSgQy79wXloZq2VvATYxUOUQEvS1V/Zw==",
+ "requires": {
+ "@babel/runtime": "^7.3.1",
+ "csstype": "^3.0.2",
+ "is-in-browser": "^1.1.3",
+ "tiny-warning": "^1.0.2"
+ }
+ }
+ }
+ },
+ "jss-plugin-vendor-prefixer": {
+ "version": "10.10.0",
+ "resolved": "https://registry.npmjs.org/jss-plugin-vendor-prefixer/-/jss-plugin-vendor-prefixer-10.10.0.tgz",
+ "integrity": "sha512-UY/41WumgjW8r1qMCO8l1ARg7NHnfRVWRhZ2E2m0DMYsr2DD91qIXLyNhiX83hHswR7Wm4D+oDYNC1zWCJWtqg==",
+ "requires": {
+ "@babel/runtime": "^7.3.1",
+ "css-vendor": "^2.0.8",
+ "jss": "10.10.0"
+ },
+ "dependencies": {
+ "css-vendor": {
+ "version": "2.0.8",
+ "resolved": "https://registry.npmjs.org/css-vendor/-/css-vendor-2.0.8.tgz",
+ "integrity": "sha512-x9Aq0XTInxrkuFeHKbYC7zWY8ai7qJ04Kxd9MnvbC1uO5DagxoHQjm4JvG+vCdXOoFtCjbL2XSZfxmoYa9uQVQ==",
+ "requires": {
+ "@babel/runtime": "^7.8.3",
+ "is-in-browser": "^1.0.2"
+ },
+ "dependencies": {
+ "@babel/runtime": {
+ "version": "7.27.0",
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.27.0.tgz",
+ "integrity": "sha512-VtPOkrdPHZsKc/clNqyi9WUA8TINkZ4cGk63UUE3u4pmB2k+ZMQRDuIOagv8UVd6j7k0T3+RRIb7beKTebNbcw==",
+ "requires": {
+ "regenerator-runtime": "^0.14.0"
+ }
+ }
+ }
+ },
+ "csstype": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz",
+ "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw=="
+ },
+ "jss": {
+ "version": "10.10.0",
+ "resolved": "https://registry.npmjs.org/jss/-/jss-10.10.0.tgz",
+ "integrity": "sha512-cqsOTS7jqPsPMjtKYDUpdFC0AbhYFLTcuGRqymgmdJIeQ8cH7+AgX7YSgQy79wXloZq2VvATYxUOUQEvS1V/Zw==",
+ "requires": {
+ "@babel/runtime": "^7.3.1",
+ "csstype": "^3.0.2",
+ "is-in-browser": "^1.1.3",
+ "tiny-warning": "^1.0.2"
+ }
+ },
+ "regenerator-runtime": {
+ "version": "0.14.1",
+ "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz",
+ "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw=="
+ }
+ }
+ },
"jss-preset-default": {
"version": "4.5.0",
"resolved": "https://registry.npmjs.org/jss-preset-default/-/jss-preset-default-4.5.0.tgz",
@@ -3074,17 +3744,20 @@
"just-debounce": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/just-debounce/-/just-debounce-1.0.0.tgz",
- "integrity": "sha1-h/zPrv/AtozRnVX2cilD+SnqNeo="
+ "integrity": "sha1-h/zPrv/AtozRnVX2cilD+SnqNeo=",
+ "dev": true
},
"kind-of": {
"version": "6.0.2",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
- "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA=="
+ "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
+ "dev": true
},
"latest-version": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/latest-version/-/latest-version-3.1.0.tgz",
"integrity": "sha1-ogU4P+oyKzO1rjsYq+4NwvNW7hU=",
+ "dev": true,
"requires": {
"package-json": "^4.0.0"
}
@@ -3101,6 +3774,7 @@
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz",
"integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=",
+ "dev": true,
"requires": {
"graceful-fs": "^4.1.2",
"parse-json": "^4.0.0",
@@ -3112,6 +3786,7 @@
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz",
"integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=",
+ "dev": true,
"requires": {
"p-locate": "^2.0.0",
"path-exists": "^3.0.0"
@@ -3120,12 +3795,14 @@
"lodash": {
"version": "4.17.11",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz",
- "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg=="
+ "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==",
+ "dev": true
},
"lodash._reinterpolate": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz",
- "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0="
+ "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=",
+ "dev": true
},
"lodash.camelcase": {
"version": "4.3.0",
@@ -3141,6 +3818,7 @@
"version": "4.4.0",
"resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.4.0.tgz",
"integrity": "sha1-5zoDhcg1VZF0bgILmWecaQ5o+6A=",
+ "dev": true,
"requires": {
"lodash._reinterpolate": "~3.0.0",
"lodash.templatesettings": "^4.0.0"
@@ -3150,6 +3828,7 @@
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.1.0.tgz",
"integrity": "sha1-K01OlbpEDZFf8IvImeRVNmZxMxY=",
+ "dev": true,
"requires": {
"lodash._reinterpolate": "~3.0.0"
}
@@ -3158,6 +3837,7 @@
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz",
"integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==",
+ "dev": true,
"requires": {
"chalk": "^2.0.1"
}
@@ -3179,6 +3859,7 @@
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz",
"integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=",
+ "dev": true,
"requires": {
"currently-unhandled": "^0.4.1",
"signal-exit": "^3.0.0"
@@ -3187,12 +3868,14 @@
"lowercase-keys": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz",
- "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA=="
+ "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==",
+ "dev": true
},
"lru-cache": {
"version": "4.1.5",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz",
"integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==",
+ "dev": true,
"requires": {
"pseudomap": "^1.0.2",
"yallist": "^2.1.2"
@@ -3202,6 +3885,7 @@
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz",
"integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==",
+ "dev": true,
"requires": {
"pify": "^3.0.0"
}
@@ -3209,17 +3893,20 @@
"map-cache": {
"version": "0.2.2",
"resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
- "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8="
+ "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=",
+ "dev": true
},
"map-obj": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/map-obj/-/map-obj-2.0.0.tgz",
- "integrity": "sha1-plzSkIepJZi4eRJXpSPgISIqwfk="
+ "integrity": "sha1-plzSkIepJZi4eRJXpSPgISIqwfk=",
+ "dev": true
},
"map-visit": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
"integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=",
+ "dev": true,
"requires": {
"object-visit": "^1.0.0"
}
@@ -3229,6 +3916,17 @@
"resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz",
"integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g=="
},
+ "md5.js": {
+ "version": "1.3.5",
+ "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz",
+ "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==",
+ "dev": true,
+ "requires": {
+ "hash-base": "^3.0.0",
+ "inherits": "^2.0.1",
+ "safe-buffer": "^5.1.2"
+ }
+ },
"media-typer": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
@@ -3237,12 +3935,14 @@
"memorystream": {
"version": "0.3.1",
"resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz",
- "integrity": "sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw=="
+ "integrity": "sha1-htcJCzDORV1j+64S3aUaR93K+bI=",
+ "dev": true
},
"meow": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/meow/-/meow-5.0.0.tgz",
"integrity": "sha512-CbTqYU17ABaLefO8vCU153ZZlprKYWDljcndKKDCFcYQITzWCXZAVk4QMFZPgvzrnUQ3uItnIE/LoUOwrT15Ig==",
+ "dev": true,
"requires": {
"camelcase-keys": "^4.0.0",
"decamelize-keys": "^1.0.0",
@@ -3269,6 +3969,7 @@
"version": "3.1.10",
"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
"integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
+ "dev": true,
"requires": {
"arr-diff": "^4.0.0",
"array-unique": "^0.3.2",
@@ -3285,6 +3986,24 @@
"to-regex": "^3.0.2"
}
},
+ "miller-rabin": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz",
+ "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==",
+ "dev": true,
+ "requires": {
+ "bn.js": "^4.0.0",
+ "brorand": "^1.0.1"
+ },
+ "dependencies": {
+ "bn.js": {
+ "version": "4.12.1",
+ "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.1.tgz",
+ "integrity": "sha512-k8TVBiPkPJT9uHLdOKfFpqcfprwBFOAAXXozRubr7R7PfIuKvQlzcI4M0pALeqXN09vdaMbUdUj+pass+uULAg==",
+ "dev": true
+ }
+ }
+ },
"mime": {
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
@@ -3313,7 +4032,20 @@
"mimic-fn": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz",
- "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ=="
+ "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==",
+ "dev": true
+ },
+ "minimalistic-assert": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz",
+ "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==",
+ "dev": true
+ },
+ "minimalistic-crypto-utils": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz",
+ "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==",
+ "dev": true
},
"minimatch": {
"version": "3.0.4",
@@ -3326,12 +4058,14 @@
"minimist": {
"version": "1.2.0",
"resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
- "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ="
+ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+ "dev": true
},
"minimist-options": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-3.0.2.tgz",
"integrity": "sha512-FyBrT/d0d4+uiZRbqznPXqw3IpZZG3gl3wKWiX784FycUKVwBt0uLBFkQrtE4tZOrgo78nZp2jnKz3L65T5LdQ==",
+ "dev": true,
"requires": {
"arrify": "^1.0.1",
"is-plain-obj": "^1.1.0"
@@ -3341,6 +4075,7 @@
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz",
"integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==",
+ "dev": true,
"requires": {
"for-in": "^1.0.2",
"is-extendable": "^1.0.1"
@@ -3350,6 +4085,7 @@
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
"integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
+ "dev": true,
"requires": {
"is-plain-object": "^2.0.4"
}
@@ -3364,17 +4100,19 @@
"mute-stream": {
"version": "0.0.7",
"resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz",
- "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s="
+ "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=",
+ "dev": true
},
"nan": {
- "version": "2.12.1",
- "resolved": "https://registry.npmjs.org/nan/-/nan-2.12.1.tgz",
- "integrity": "sha512-JY7V6lRkStKcKTvHO5NVSQRv+RV+FIL5pvDoLiAtSL9pKlC5x9PKQcZDsq7m4FO4d57mkhC6Z+QhAh3Jdk5JFw=="
+ "version": "2.22.2",
+ "resolved": "https://registry.npmjs.org/nan/-/nan-2.22.2.tgz",
+ "integrity": "sha512-DANghxFkS1plDdRsX0X9pm0Z6SJNN6gBdtXfanwoZ8hooC5gosGFSBGRYHUVPz1asKA/kMRqDRdHrluZ61SpBQ=="
},
"nanomatch": {
"version": "1.2.13",
"resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz",
"integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==",
+ "dev": true,
"requires": {
"arr-diff": "^4.0.0",
"array-unique": "^0.3.2",
@@ -3403,10 +4141,42 @@
"is-stream": "^1.0.1"
}
},
+ "node-libs-browser": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz",
+ "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==",
+ "dev": true,
+ "requires": {
+ "assert": "^1.1.1",
+ "browserify-zlib": "^0.2.0",
+ "buffer": "^4.3.0",
+ "console-browserify": "^1.1.0",
+ "constants-browserify": "^1.0.0",
+ "crypto-browserify": "^3.11.0",
+ "domain-browser": "^1.1.1",
+ "events": "^3.0.0",
+ "https-browserify": "^1.0.0",
+ "os-browserify": "^0.3.0",
+ "path-browserify": "0.0.1",
+ "process": "^0.11.10",
+ "punycode": "^1.2.4",
+ "querystring-es3": "^0.2.0",
+ "readable-stream": "^2.3.3",
+ "stream-browserify": "^2.0.1",
+ "stream-http": "^2.7.2",
+ "string_decoder": "^1.0.0",
+ "timers-browserify": "^2.0.4",
+ "tty-browserify": "0.0.0",
+ "url": "^0.11.0",
+ "util": "^0.11.0",
+ "vm-browserify": "^1.0.1"
+ }
+ },
"nodemon": {
"version": "3.1.9",
"resolved": "https://registry.npmjs.org/nodemon/-/nodemon-3.1.9.tgz",
"integrity": "sha512-hdr1oIb2p6ZSxu3PB2JWWYS7ZQ0qvaZsc3hK8DR8f02kRzc8rjYmxAIvdz+aYC+8F2IjNaB7HMcSDg8nQpJxyg==",
+ "dev": true,
"requires": {
"chokidar": "^3.5.2",
"debug": "^4",
@@ -3424,6 +4194,7 @@
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
"integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
+ "dev": true,
"requires": {
"normalize-path": "^3.0.0",
"picomatch": "^2.0.4"
@@ -3432,12 +4203,14 @@
"binary-extensions": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz",
- "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw=="
+ "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==",
+ "dev": true
},
"braces": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
"integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
+ "dev": true,
"requires": {
"fill-range": "^7.1.1"
}
@@ -3446,6 +4219,7 @@
"version": "3.6.0",
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz",
"integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==",
+ "dev": true,
"requires": {
"anymatch": "~3.1.2",
"braces": "~3.0.2",
@@ -3461,6 +4235,7 @@
"version": "4.4.0",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz",
"integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==",
+ "dev": true,
"requires": {
"ms": "^2.1.3"
}
@@ -3469,20 +4244,16 @@
"version": "7.1.1",
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
"integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
+ "dev": true,
"requires": {
"to-regex-range": "^5.0.1"
}
},
- "fsevents": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
- "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
- "optional": true
- },
"glob-parent": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
"integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+ "dev": true,
"requires": {
"is-glob": "^4.0.1"
}
@@ -3491,6 +4262,7 @@
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
"integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
+ "dev": true,
"requires": {
"binary-extensions": "^2.0.0"
}
@@ -3499,6 +4271,7 @@
"version": "4.0.3",
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
"integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
+ "dev": true,
"requires": {
"is-extglob": "^2.1.1"
}
@@ -3506,12 +4279,14 @@
"is-number": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
- "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng=="
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
+ "dev": true
},
"minimatch": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "dev": true,
"requires": {
"brace-expansion": "^1.1.7"
}
@@ -3519,12 +4294,14 @@
"ms": {
"version": "2.1.3",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
- "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+ "dev": true
},
"readdirp": {
"version": "3.6.0",
"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
"integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
+ "dev": true,
"requires": {
"picomatch": "^2.2.1"
}
@@ -3532,12 +4309,14 @@
"semver": {
"version": "7.7.1",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz",
- "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA=="
+ "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==",
+ "dev": true
},
"to-regex-range": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
"integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+ "dev": true,
"requires": {
"is-number": "^7.0.0"
}
@@ -3548,6 +4327,7 @@
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz",
"integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==",
+ "dev": true,
"requires": {
"hosted-git-info": "^2.1.4",
"is-builtin-module": "^1.0.0",
@@ -3558,17 +4338,20 @@
"normalize-path": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
- "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA=="
+ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
+ "dev": true
},
"npm-normalize-package-bin": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-4.0.0.tgz",
- "integrity": "sha512-TZKxPvItzai9kN9H/TkmCtx/ZN/hvr3vUycjlfmH0ootY9yFBzNOpiXAdIn1Iteqsvk4lQn6B5PTrt+n6h8k/w=="
+ "integrity": "sha512-TZKxPvItzai9kN9H/TkmCtx/ZN/hvr3vUycjlfmH0ootY9yFBzNOpiXAdIn1Iteqsvk4lQn6B5PTrt+n6h8k/w==",
+ "dev": true
},
"npm-run-all2": {
"version": "7.0.2",
"resolved": "https://registry.npmjs.org/npm-run-all2/-/npm-run-all2-7.0.2.tgz",
"integrity": "sha512-7tXR+r9hzRNOPNTvXegM+QzCuMjzUIIq66VDunL6j60O4RrExx32XUhlrS7UK4VcdGw5/Wxzb3kfNcFix9JKDA==",
+ "dev": true,
"requires": {
"ansi-styles": "^6.2.1",
"cross-spawn": "^7.0.6",
@@ -3583,12 +4366,14 @@
"ansi-styles": {
"version": "6.2.1",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz",
- "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug=="
+ "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==",
+ "dev": true
},
"brace-expansion": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
"integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+ "dev": true,
"requires": {
"balanced-match": "^1.0.0"
}
@@ -3597,6 +4382,7 @@
"version": "7.0.6",
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
"integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==",
+ "dev": true,
"requires": {
"path-key": "^3.1.0",
"shebang-command": "^2.0.0",
@@ -3607,6 +4393,7 @@
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
"integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+ "dev": true,
"requires": {
"isexe": "^2.0.0"
}
@@ -3617,6 +4404,7 @@
"version": "9.0.5",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
"integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
+ "dev": true,
"requires": {
"brace-expansion": "^2.0.1"
}
@@ -3624,12 +4412,20 @@
"path-key": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
- "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q=="
+ "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
+ "dev": true
+ },
+ "pidtree": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.6.0.tgz",
+ "integrity": "sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==",
+ "dev": true
},
"shebang-command": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
"integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
+ "dev": true,
"requires": {
"shebang-regex": "^3.0.0"
}
@@ -3637,12 +4433,20 @@
"shebang-regex": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
- "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A=="
+ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
+ "dev": true
+ },
+ "shell-quote": {
+ "version": "1.8.2",
+ "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.2.tgz",
+ "integrity": "sha512-AzqKpGKjrj7EM6rKVQEPpB288oCfnrEIuyoT9cyF4nmGa7V8Zk6f7RRqYisX8X9m+Q7bd632aZW4ky7EhbQztA==",
+ "dev": true
},
"which": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/which/-/which-5.0.0.tgz",
"integrity": "sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ==",
+ "dev": true,
"requires": {
"isexe": "^3.1.1"
},
@@ -3650,7 +4454,8 @@
"isexe": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz",
- "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ=="
+ "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==",
+ "dev": true
}
}
}
@@ -3660,6 +4465,7 @@
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
"integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=",
+ "dev": true,
"requires": {
"path-key": "^2.0.0"
}
@@ -3678,6 +4484,7 @@
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
"integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=",
+ "dev": true,
"requires": {
"copy-descriptor": "^0.1.0",
"define-property": "^0.2.5",
@@ -3688,6 +4495,7 @@
"version": "0.2.5",
"resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
"integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "dev": true,
"requires": {
"is-descriptor": "^0.1.0"
}
@@ -3696,6 +4504,7 @@
"version": "3.2.2",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
"requires": {
"is-buffer": "^1.1.5"
}
@@ -3711,14 +4520,55 @@
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz",
"integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=",
+ "dev": true,
"requires": {
"isobject": "^3.0.0"
}
},
+ "object.assign": {
+ "version": "4.1.7",
+ "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz",
+ "integrity": "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==",
+ "dev": true,
+ "requires": {
+ "call-bind": "^1.0.8",
+ "call-bound": "^1.0.3",
+ "define-properties": "^1.2.1",
+ "es-object-atoms": "^1.0.0",
+ "has-symbols": "^1.1.0",
+ "object-keys": "^1.1.1"
+ },
+ "dependencies": {
+ "define-properties": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz",
+ "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==",
+ "dev": true,
+ "requires": {
+ "define-data-property": "^1.0.1",
+ "has-property-descriptors": "^1.0.0",
+ "object-keys": "^1.1.1"
+ }
+ },
+ "has-symbols": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz",
+ "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==",
+ "dev": true
+ },
+ "object-keys": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
+ "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
+ "dev": true
+ }
+ }
+ },
"object.defaults": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz",
"integrity": "sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8=",
+ "dev": true,
"requires": {
"array-each": "^1.0.1",
"array-slice": "^1.0.0",
@@ -3730,6 +4580,7 @@
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
"integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=",
+ "dev": true,
"requires": {
"isobject": "^3.0.1"
}
@@ -3759,6 +4610,7 @@
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz",
"integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=",
+ "dev": true,
"requires": {
"mimic-fn": "^1.0.0"
}
@@ -3772,6 +4624,7 @@
"version": "3.4.0",
"resolved": "https://registry.npmjs.org/ora/-/ora-3.4.0.tgz",
"integrity": "sha512-eNwHudNbO1folBP3JsZ19v9azXWtQZjICdr3Q0TDPIaeBQ3mXLrh54wM+er0+hSp+dWKf+Z8KM58CYzEyIYxYg==",
+ "dev": true,
"requires": {
"chalk": "^2.4.2",
"cli-cursor": "^2.1.0",
@@ -3781,6 +4634,12 @@
"wcwidth": "^1.0.1"
}
},
+ "os-browserify": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz",
+ "integrity": "sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==",
+ "dev": true
+ },
"os-locale": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz",
@@ -3792,17 +4651,20 @@
"os-tmpdir": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
- "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ="
+ "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
+ "dev": true
},
"p-finally": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
- "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4="
+ "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=",
+ "dev": true
},
"p-limit": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz",
"integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==",
+ "dev": true,
"requires": {
"p-try": "^1.0.0"
}
@@ -3811,6 +4673,7 @@
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz",
"integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
+ "dev": true,
"requires": {
"p-limit": "^1.1.0"
}
@@ -3818,12 +4681,14 @@
"p-try": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz",
- "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M="
+ "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=",
+ "dev": true
},
"package-json": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/package-json/-/package-json-4.0.1.tgz",
"integrity": "sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0=",
+ "dev": true,
"requires": {
"got": "^6.7.1",
"registry-auth-token": "^3.0.1",
@@ -3831,10 +4696,39 @@
"semver": "^5.1.0"
}
},
+ "pako": {
+ "version": "1.0.11",
+ "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz",
+ "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==",
+ "dev": true
+ },
+ "parse-asn1": {
+ "version": "5.1.7",
+ "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.7.tgz",
+ "integrity": "sha512-CTM5kuWR3sx9IFamcl5ErfPl6ea/N8IYwiJ+vpeB2g+1iknv7zBl5uPwbMbRVznRVbrNY6lGuDoE5b30grmbqg==",
+ "dev": true,
+ "requires": {
+ "asn1.js": "^4.10.1",
+ "browserify-aes": "^1.2.0",
+ "evp_bytestokey": "^1.0.3",
+ "hash-base": "~3.0",
+ "pbkdf2": "^3.1.2",
+ "safe-buffer": "^5.2.1"
+ },
+ "dependencies": {
+ "safe-buffer": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
+ "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
+ "dev": true
+ }
+ }
+ },
"parse-json": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz",
"integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=",
+ "dev": true,
"requires": {
"error-ex": "^1.3.1",
"json-parse-better-errors": "^1.0.1"
@@ -3848,17 +4742,26 @@
"pascalcase": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
- "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ="
+ "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=",
+ "dev": true
+ },
+ "path-browserify": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz",
+ "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==",
+ "dev": true
},
"path-dirname": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz",
- "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA="
+ "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=",
+ "dev": true
},
"path-exists": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
- "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU="
+ "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
+ "dev": true
},
"path-is-absolute": {
"version": "1.0.1",
@@ -3868,12 +4771,14 @@
"path-is-inside": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz",
- "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM="
+ "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=",
+ "dev": true
},
"path-key": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
- "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A="
+ "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
+ "dev": true
},
"path-to-regexp": {
"version": "0.1.12",
@@ -3884,44 +4789,70 @@
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz",
"integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==",
+ "dev": true,
"requires": {
"pify": "^3.0.0"
}
},
+ "pbkdf2": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz",
+ "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==",
+ "dev": true,
+ "requires": {
+ "create-hash": "^1.1.2",
+ "create-hmac": "^1.1.4",
+ "ripemd160": "^2.0.1",
+ "safe-buffer": "^5.0.1",
+ "sha.js": "^2.4.8"
+ }
+ },
"picomatch": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
- "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="
- },
- "pidtree": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.6.0.tgz",
- "integrity": "sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g=="
+ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
+ "dev": true
},
"pify": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
- "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY="
+ "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
+ "dev": true
+ },
+ "popper.js": {
+ "version": "1.16.1-lts",
+ "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.16.1-lts.tgz",
+ "integrity": "sha512-Kjw8nKRl1m+VrSFCoVGPph93W/qrSO7ZkqPpTf7F4bk/sqcfWK019dWBUpE/fBOsOQY1dks/Bmcbfn1heM/IsA=="
},
"posix-character-classes": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
- "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs="
+ "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=",
+ "dev": true
},
"prepend-http": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz",
- "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw="
+ "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=",
+ "dev": true
},
"pretty-bytes": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.2.0.tgz",
- "integrity": "sha512-ujANBhiUsl9AhREUDUEY1GPOharMGm8x8juS7qOHybcLi7XsKfrYQ88hSly1l2i0klXHTDYrlL8ihMCG55Dc3w=="
+ "integrity": "sha512-ujANBhiUsl9AhREUDUEY1GPOharMGm8x8juS7qOHybcLi7XsKfrYQ88hSly1l2i0klXHTDYrlL8ihMCG55Dc3w==",
+ "dev": true
+ },
+ "process": {
+ "version": "0.11.10",
+ "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
+ "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==",
+ "dev": true
},
"process-nextick-args": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
- "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw=="
+ "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==",
+ "dev": true
},
"promise-polyfill": {
"version": "8.1.0",
@@ -3960,12 +4891,42 @@
"pseudomap": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
- "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM="
+ "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=",
+ "dev": true
},
"pstree.remy": {
"version": "1.1.8",
"resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.8.tgz",
- "integrity": "sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w=="
+ "integrity": "sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==",
+ "dev": true
+ },
+ "public-encrypt": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz",
+ "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==",
+ "dev": true,
+ "requires": {
+ "bn.js": "^4.1.0",
+ "browserify-rsa": "^4.0.0",
+ "create-hash": "^1.1.0",
+ "parse-asn1": "^5.0.0",
+ "randombytes": "^2.0.1",
+ "safe-buffer": "^5.1.2"
+ },
+ "dependencies": {
+ "bn.js": {
+ "version": "4.12.1",
+ "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.1.tgz",
+ "integrity": "sha512-k8TVBiPkPJT9uHLdOKfFpqcfprwBFOAAXXozRubr7R7PfIuKvQlzcI4M0pALeqXN09vdaMbUdUj+pass+uULAg==",
+ "dev": true
+ }
+ }
+ },
+ "punycode": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
+ "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==",
+ "dev": true
},
"qs": {
"version": "6.13.0",
@@ -3975,10 +4936,36 @@
"side-channel": "^1.0.6"
}
},
+ "querystring-es3": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz",
+ "integrity": "sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==",
+ "dev": true
+ },
"quick-lru": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-1.1.0.tgz",
- "integrity": "sha1-Q2CxfGETatOAeDl/8RQW4Ybc+7g="
+ "integrity": "sha1-Q2CxfGETatOAeDl/8RQW4Ybc+7g=",
+ "dev": true
+ },
+ "randombytes": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
+ "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "^5.1.0"
+ }
+ },
+ "randomfill": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz",
+ "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==",
+ "dev": true,
+ "requires": {
+ "randombytes": "^2.0.5",
+ "safe-buffer": "^5.1.0"
+ }
},
"range-parser": {
"version": "1.2.1",
@@ -4010,6 +4997,7 @@
"version": "1.2.8",
"resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz",
"integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==",
+ "dev": true,
"requires": {
"deep-extend": "^0.6.0",
"ini": "~1.3.0",
@@ -4038,6 +5026,11 @@
"scheduler": "^0.19.1"
}
},
+ "react-is": {
+ "version": "17.0.2",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz",
+ "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w=="
+ },
"react-jss": {
"version": "8.6.1",
"resolved": "https://registry.npmjs.org/react-jss/-/react-jss-8.6.1.tgz",
@@ -4050,10 +5043,37 @@
"theming": "^1.3.0"
}
},
+ "react-transition-group": {
+ "version": "4.4.5",
+ "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz",
+ "integrity": "sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==",
+ "requires": {
+ "@babel/runtime": "^7.5.5",
+ "dom-helpers": "^5.0.1",
+ "loose-envify": "^1.4.0",
+ "prop-types": "^15.6.2"
+ },
+ "dependencies": {
+ "@babel/runtime": {
+ "version": "7.27.0",
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.27.0.tgz",
+ "integrity": "sha512-VtPOkrdPHZsKc/clNqyi9WUA8TINkZ4cGk63UUE3u4pmB2k+ZMQRDuIOagv8UVd6j7k0T3+RRIb7beKTebNbcw==",
+ "requires": {
+ "regenerator-runtime": "^0.14.0"
+ }
+ },
+ "regenerator-runtime": {
+ "version": "0.14.1",
+ "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz",
+ "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw=="
+ }
+ }
+ },
"read-package-json-fast": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-4.0.0.tgz",
"integrity": "sha512-qpt8EwugBWDw2cgE2W+/3oxC+KTez2uSVR8JU9Q36TXPAGCaozfQUs59v4j4GFpWTaw0i6hAZSvOmu1J0uOEUg==",
+ "dev": true,
"requires": {
"json-parse-even-better-errors": "^4.0.0",
"npm-normalize-package-bin": "^4.0.0"
@@ -4063,6 +5083,7 @@
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz",
"integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=",
+ "dev": true,
"requires": {
"load-json-file": "^4.0.0",
"normalize-package-data": "^2.3.2",
@@ -4073,6 +5094,7 @@
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz",
"integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=",
+ "dev": true,
"requires": {
"find-up": "^2.0.0",
"read-pkg": "^3.0.0"
@@ -4082,6 +5104,7 @@
"version": "2.3.6",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
"integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+ "dev": true,
"requires": {
"core-util-is": "~1.0.0",
"inherits": "~2.0.3",
@@ -4096,16 +5119,24 @@
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz",
"integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==",
+ "dev": true,
"requires": {
"graceful-fs": "^4.1.11",
"micromatch": "^3.1.10",
"readable-stream": "^2.0.2"
}
},
+ "readline-sync": {
+ "version": "1.4.10",
+ "resolved": "https://registry.npmjs.org/readline-sync/-/readline-sync-1.4.10.tgz",
+ "integrity": "sha512-gNva8/6UAe8QYepIQH/jQ2qn91Qj0B9sYjMBBs3QOB8F2CXcKgLxQaJRP76sWVRQt+QU+8fAkCbCvjjMFu7Ycw==",
+ "dev": true
+ },
"redent": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/redent/-/redent-2.0.0.tgz",
"integrity": "sha1-wbIAe0LVfrE4kHmzyDM2OdXhzKo=",
+ "dev": true,
"requires": {
"indent-string": "^3.0.0",
"strip-indent": "^2.0.0"
@@ -4120,6 +5151,7 @@
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
"integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==",
+ "dev": true,
"requires": {
"extend-shallow": "^3.0.2",
"safe-regex": "^1.1.0"
@@ -4129,6 +5161,7 @@
"version": "3.3.2",
"resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.3.2.tgz",
"integrity": "sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==",
+ "dev": true,
"requires": {
"rc": "^1.1.6",
"safe-buffer": "^5.0.1"
@@ -4138,6 +5171,7 @@
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz",
"integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=",
+ "dev": true,
"requires": {
"rc": "^1.0.1"
}
@@ -4145,27 +5179,32 @@
"remove-trailing-separator": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
- "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8="
+ "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=",
+ "dev": true
},
"repeat-element": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz",
- "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g=="
+ "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==",
+ "dev": true
},
"repeat-string": {
"version": "1.6.1",
"resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
- "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc="
+ "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
+ "dev": true
},
"resolve-url": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
- "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo="
+ "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=",
+ "dev": true
},
"restore-cursor": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz",
"integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=",
+ "dev": true,
"requires": {
"onetime": "^2.0.0",
"signal-exit": "^3.0.2"
@@ -4174,12 +5213,24 @@
"ret": {
"version": "0.1.15",
"resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
- "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg=="
+ "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==",
+ "dev": true
+ },
+ "ripemd160": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz",
+ "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==",
+ "dev": true,
+ "requires": {
+ "hash-base": "^3.0.0",
+ "inherits": "^2.0.1"
+ }
},
"run-async": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz",
"integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=",
+ "dev": true,
"requires": {
"is-promise": "^2.1.0"
}
@@ -4188,6 +5239,7 @@
"version": "6.5.1",
"resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.1.tgz",
"integrity": "sha512-y0j31WJc83wPu31vS1VlAFW5JGrnGC+j+TtGAa1fRQphy48+fDYiDmX8tjGloToEsMkxnouOg/1IzXGKkJnZMg==",
+ "dev": true,
"requires": {
"tslib": "^1.9.0"
}
@@ -4201,6 +5253,7 @@
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
"integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
+ "dev": true,
"requires": {
"ret": "~0.1.10"
}
@@ -4222,12 +5275,14 @@
"semver": {
"version": "5.6.0",
"resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz",
- "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg=="
+ "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==",
+ "dev": true
},
"semver-diff": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-2.1.0.tgz",
"integrity": "sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY=",
+ "dev": true,
"requires": {
"semver": "^5.0.3"
}
@@ -4275,10 +5330,33 @@
"send": "0.19.0"
}
},
+ "set-function-length": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz",
+ "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==",
+ "dev": true,
+ "requires": {
+ "define-data-property": "^1.1.4",
+ "es-errors": "^1.3.0",
+ "function-bind": "^1.1.2",
+ "get-intrinsic": "^1.2.4",
+ "gopd": "^1.0.1",
+ "has-property-descriptors": "^1.0.2"
+ },
+ "dependencies": {
+ "function-bind": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
+ "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
+ "dev": true
+ }
+ }
+ },
"set-value": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz",
"integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==",
+ "dev": true,
"requires": {
"extend-shallow": "^2.0.1",
"is-extendable": "^0.1.1",
@@ -4290,21 +5368,59 @@
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
"requires": {
"is-extendable": "^0.1.0"
}
}
}
},
+ "setimmediate": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
+ "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==",
+ "dev": true
+ },
"setprototypeof": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
"integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw=="
},
+ "sha.js": {
+ "version": "2.4.11",
+ "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz",
+ "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==",
+ "dev": true,
+ "requires": {
+ "inherits": "^2.0.1",
+ "safe-buffer": "^5.0.1"
+ }
+ },
+ "shadow-cljs": {
+ "version": "2.28.21",
+ "resolved": "https://registry.npmjs.org/shadow-cljs/-/shadow-cljs-2.28.21.tgz",
+ "integrity": "sha512-O5VUJkTh0bWqPBSKoWnQwEe/jfvbxHkzCA7SEx8f1Eavb7nDFcoNFDkgGjJtaAyaaSw/cmABrT2EeksnXw/25g==",
+ "dev": true,
+ "requires": {
+ "node-libs-browser": "^2.2.1",
+ "readline-sync": "^1.4.7",
+ "shadow-cljs-jar": "1.3.4",
+ "source-map-support": "^0.4.15",
+ "which": "^1.3.1",
+ "ws": "^7.4.6"
+ }
+ },
+ "shadow-cljs-jar": {
+ "version": "1.3.4",
+ "resolved": "https://registry.npmjs.org/shadow-cljs-jar/-/shadow-cljs-jar-1.3.4.tgz",
+ "integrity": "sha512-cZB2pzVXBnhpJ6PQdsjO+j/MksR28mv4QD/hP/2y1fsIa9Z9RutYgh3N34FZ8Ktl4puAXaIGlct+gMCJ5BmwmA==",
+ "dev": true
+ },
"shebang-command": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
"integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
+ "dev": true,
"requires": {
"shebang-regex": "^1.0.0"
}
@@ -4312,12 +5428,8 @@
"shebang-regex": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
- "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM="
- },
- "shell-quote": {
- "version": "1.8.2",
- "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.2.tgz",
- "integrity": "sha512-AzqKpGKjrj7EM6rKVQEPpB288oCfnrEIuyoT9cyF4nmGa7V8Zk6f7RRqYisX8X9m+Q7bd632aZW4ky7EhbQztA=="
+ "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
+ "dev": true
},
"side-channel": {
"version": "1.1.0",
@@ -4366,12 +5478,14 @@
"signal-exit": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
- "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0="
+ "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
+ "dev": true
},
"simple-update-notifier": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-2.0.0.tgz",
"integrity": "sha512-a2B9Y0KlNXl9u/vsW6sTIu9vGEpfKu2wRV6l1H3XEas/0gUIzGzBoP/IouTcUQbm9JWZLH3COxyn03TYlFax6w==",
+ "dev": true,
"requires": {
"semver": "^7.5.3"
},
@@ -4379,7 +5493,8 @@
"semver": {
"version": "7.7.1",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz",
- "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA=="
+ "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==",
+ "dev": true
}
}
},
@@ -4387,6 +5502,7 @@
"version": "0.8.2",
"resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
"integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==",
+ "dev": true,
"requires": {
"base": "^0.11.1",
"debug": "^2.2.0",
@@ -4402,6 +5518,7 @@
"version": "0.2.5",
"resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
"integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "dev": true,
"requires": {
"is-descriptor": "^0.1.0"
}
@@ -4410,6 +5527,7 @@
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
"requires": {
"is-extendable": "^0.1.0"
}
@@ -4420,6 +5538,7 @@
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz",
"integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==",
+ "dev": true,
"requires": {
"define-property": "^1.0.0",
"isobject": "^3.0.0",
@@ -4430,6 +5549,7 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
"integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+ "dev": true,
"requires": {
"is-descriptor": "^1.0.0"
}
@@ -4438,6 +5558,7 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
"integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+ "dev": true,
"requires": {
"kind-of": "^6.0.0"
}
@@ -4446,6 +5567,7 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
"integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+ "dev": true,
"requires": {
"kind-of": "^6.0.0"
}
@@ -4454,6 +5576,7 @@
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
"integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+ "dev": true,
"requires": {
"is-accessor-descriptor": "^1.0.0",
"is-data-descriptor": "^1.0.0",
@@ -4466,6 +5589,7 @@
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz",
"integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==",
+ "dev": true,
"requires": {
"kind-of": "^3.2.0"
},
@@ -4474,6 +5598,7 @@
"version": "3.2.2",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
"requires": {
"is-buffer": "^1.1.5"
}
@@ -4483,12 +5608,14 @@
"source-map": {
"version": "0.5.7",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+ "dev": true
},
"source-map-resolve": {
"version": "0.5.2",
"resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz",
"integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==",
+ "dev": true,
"requires": {
"atob": "^2.1.1",
"decode-uri-component": "^0.2.0",
@@ -4497,15 +5624,26 @@
"urix": "^0.1.0"
}
},
+ "source-map-support": {
+ "version": "0.4.18",
+ "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz",
+ "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==",
+ "dev": true,
+ "requires": {
+ "source-map": "^0.5.6"
+ }
+ },
"source-map-url": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz",
- "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM="
+ "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=",
+ "dev": true
},
"spdx-correct": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.2.tgz",
"integrity": "sha512-q9hedtzyXHr5S0A1vEPoK/7l8NpfkFYTq6iCY+Pno2ZbdZR6WexZFtqeVGkGxW3TEJMN914Z55EnAGMmenlIQQ==",
+ "dev": true,
"requires": {
"spdx-expression-parse": "^3.0.0",
"spdx-license-ids": "^3.0.0"
@@ -4514,12 +5652,14 @@
"spdx-exceptions": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz",
- "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA=="
+ "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==",
+ "dev": true
},
"spdx-expression-parse": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz",
"integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==",
+ "dev": true,
"requires": {
"spdx-exceptions": "^2.1.0",
"spdx-license-ids": "^3.0.0"
@@ -4528,12 +5668,14 @@
"spdx-license-ids": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.2.tgz",
- "integrity": "sha512-qky9CVt0lVIECkEsYbNILVnPvycuEBkXoMFLRWsREkomQLevYhtRKC+R91a5TOAQ3bCMjikRwhyaRqj1VYatYg=="
+ "integrity": "sha512-qky9CVt0lVIECkEsYbNILVnPvycuEBkXoMFLRWsREkomQLevYhtRKC+R91a5TOAQ3bCMjikRwhyaRqj1VYatYg==",
+ "dev": true
},
"split-string": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
"integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==",
+ "dev": true,
"requires": {
"extend-shallow": "^3.0.0"
}
@@ -4542,6 +5684,7 @@
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
"integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=",
+ "dev": true,
"requires": {
"define-property": "^0.2.5",
"object-copy": "^0.1.0"
@@ -4551,6 +5694,7 @@
"version": "0.2.5",
"resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
"integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "dev": true,
"requires": {
"is-descriptor": "^0.1.0"
}
@@ -4562,15 +5706,40 @@
"resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
"integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ=="
},
+ "stream-browserify": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz",
+ "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==",
+ "dev": true,
+ "requires": {
+ "inherits": "~2.0.1",
+ "readable-stream": "^2.0.2"
+ }
+ },
"stream-exhaust": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/stream-exhaust/-/stream-exhaust-1.0.2.tgz",
- "integrity": "sha512-b/qaq/GlBK5xaq1yrK9/zFcyRSTNxmcZwFLGSTG0mXgZl/4Z6GgiyYOXOvY7N3eEvFRAG1bkDRz5EPGSvPYQlw=="
+ "integrity": "sha512-b/qaq/GlBK5xaq1yrK9/zFcyRSTNxmcZwFLGSTG0mXgZl/4Z6GgiyYOXOvY7N3eEvFRAG1bkDRz5EPGSvPYQlw==",
+ "dev": true
+ },
+ "stream-http": {
+ "version": "2.8.3",
+ "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz",
+ "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==",
+ "dev": true,
+ "requires": {
+ "builtin-status-codes": "^3.0.0",
+ "inherits": "^2.0.1",
+ "readable-stream": "^2.3.6",
+ "to-arraybuffer": "^1.0.0",
+ "xtend": "^4.0.0"
+ }
},
"string-width": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
"integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
+ "dev": true,
"requires": {
"is-fullwidth-code-point": "^2.0.0",
"strip-ansi": "^4.0.0"
@@ -4579,12 +5748,14 @@
"ansi-regex": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
- "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg="
+ "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
+ "dev": true
},
"strip-ansi": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
"integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
+ "dev": true,
"requires": {
"ansi-regex": "^3.0.0"
}
@@ -4595,6 +5766,7 @@
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
"integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "dev": true,
"requires": {
"safe-buffer": "~5.1.0"
}
@@ -4603,6 +5775,7 @@
"version": "3.3.0",
"resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz",
"integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==",
+ "dev": true,
"requires": {
"get-own-enumerable-property-symbols": "^3.0.0",
"is-obj": "^1.0.1",
@@ -4613,6 +5786,7 @@
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
"integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
+ "dev": true,
"requires": {
"ansi-regex": "^4.1.0"
}
@@ -4620,12 +5794,14 @@
"strip-bom": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
- "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM="
+ "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=",
+ "dev": true
},
"strip-comments": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/strip-comments/-/strip-comments-1.0.2.tgz",
"integrity": "sha512-kL97alc47hoyIQSV165tTt9rG5dn4w1dNnBhOQ3bOU1Nc1hel09jnXANaHJ7vzHLd4Ju8kseDGzlev96pghLFw==",
+ "dev": true,
"requires": {
"babel-extract-comments": "^1.0.0",
"babel-plugin-transform-object-rest-spread": "^6.26.0"
@@ -4634,22 +5810,26 @@
"strip-eof": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
- "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8="
+ "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=",
+ "dev": true
},
"strip-indent": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz",
- "integrity": "sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g="
+ "integrity": "sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=",
+ "dev": true
},
"strip-json-comments": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
- "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo="
+ "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
+ "dev": true
},
"supports-color": {
"version": "5.5.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
"integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "dev": true,
"requires": {
"has-flag": "^3.0.0"
}
@@ -4658,6 +5838,7 @@
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/term-size/-/term-size-1.2.0.tgz",
"integrity": "sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=",
+ "dev": true,
"requires": {
"execa": "^0.7.0"
}
@@ -4676,25 +5857,49 @@
"through": {
"version": "2.3.8",
"resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
- "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU="
+ "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=",
+ "dev": true
},
"timed-out": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz",
- "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8="
+ "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=",
+ "dev": true
+ },
+ "timers-browserify": {
+ "version": "2.0.12",
+ "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz",
+ "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==",
+ "dev": true,
+ "requires": {
+ "setimmediate": "^1.0.4"
+ }
+ },
+ "tiny-warning": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz",
+ "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA=="
},
"tmp": {
"version": "0.0.33",
"resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
"integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
+ "dev": true,
"requires": {
"os-tmpdir": "~1.0.2"
}
},
+ "to-arraybuffer": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz",
+ "integrity": "sha512-okFlQcoGTi4LQBG/PgSYblw9VOyptsz2KJZqc6qtgGdes8VktzUQkj4BI2blit072iS8VODNcMA+tvnS9dnuMA==",
+ "dev": true
+ },
"to-object-path": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
"integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=",
+ "dev": true,
"requires": {
"kind-of": "^3.0.2"
},
@@ -4703,6 +5908,7 @@
"version": "3.2.2",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
"requires": {
"is-buffer": "^1.1.5"
}
@@ -4713,6 +5919,7 @@
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz",
"integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==",
+ "dev": true,
"requires": {
"define-property": "^2.0.2",
"extend-shallow": "^3.0.2",
@@ -4724,6 +5931,7 @@
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
"integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
+ "dev": true,
"requires": {
"is-number": "^3.0.0",
"repeat-string": "^1.6.1"
@@ -4737,18 +5945,26 @@
"touch": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/touch/-/touch-3.1.1.tgz",
- "integrity": "sha512-r0eojU4bI8MnHr8c5bNo7lJDdI2qXlWWJk6a9EAFG7vbhTjElYhBVS3/miuE0uOuoLdb8Mc/rVfsmm6eo5o9GA=="
+ "integrity": "sha512-r0eojU4bI8MnHr8c5bNo7lJDdI2qXlWWJk6a9EAFG7vbhTjElYhBVS3/miuE0uOuoLdb8Mc/rVfsmm6eo5o9GA==",
+ "dev": true
},
"trim-newlines": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-2.0.0.tgz",
- "integrity": "sha1-tAPQuRvlDDMd/EuC7s6yLD3hbSA="
+ "integrity": "sha1-tAPQuRvlDDMd/EuC7s6yLD3hbSA=",
+ "dev": true
},
"tslib": {
"version": "1.9.3",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz",
"integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ=="
},
+ "tty-browserify": {
+ "version": "0.0.0",
+ "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz",
+ "integrity": "sha512-JVa5ijo+j/sOoHGjw0sxw734b1LhBkQ3bvUGNdxnVXDCX81Yx7TFgnZygxrIIWn23hbfTaMYLwRmAxFyDuFmIw==",
+ "dev": true
+ },
"type-is": {
"version": "1.6.18",
"resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
@@ -4761,12 +5977,14 @@
"undefsafe": {
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.5.tgz",
- "integrity": "sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA=="
+ "integrity": "sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==",
+ "dev": true
},
"union-value": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz",
"integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=",
+ "dev": true,
"requires": {
"arr-union": "^3.1.0",
"get-value": "^2.0.6",
@@ -4778,6 +5996,7 @@
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
"requires": {
"is-extendable": "^0.1.0"
}
@@ -4786,6 +6005,7 @@
"version": "0.4.3",
"resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz",
"integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=",
+ "dev": true,
"requires": {
"extend-shallow": "^2.0.1",
"is-extendable": "^0.1.1",
@@ -4799,6 +6019,7 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz",
"integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=",
+ "dev": true,
"requires": {
"crypto-random-string": "^1.0.0"
}
@@ -4806,7 +6027,8 @@
"universalify": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
- "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg=="
+ "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
+ "dev": true
},
"unpipe": {
"version": "1.0.0",
@@ -4817,6 +6039,7 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz",
"integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=",
+ "dev": true,
"requires": {
"has-value": "^0.3.1",
"isobject": "^3.0.0"
@@ -4826,6 +6049,7 @@
"version": "0.3.1",
"resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
"integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
+ "dev": true,
"requires": {
"get-value": "^2.0.3",
"has-values": "^0.1.4",
@@ -4836,6 +6060,7 @@
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
"integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
+ "dev": true,
"requires": {
"isarray": "1.0.0"
}
@@ -4845,24 +6070,28 @@
"has-values": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
- "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E="
+ "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=",
+ "dev": true
}
}
},
"unzip-response": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/unzip-response/-/unzip-response-2.0.1.tgz",
- "integrity": "sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c="
+ "integrity": "sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c=",
+ "dev": true
},
"upath": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/upath/-/upath-1.1.2.tgz",
- "integrity": "sha512-kXpym8nmDmlCBr7nKdIx8P2jNBa+pBpIUFRnKJ4dr8htyYGJFokkr2ZvERRtUN+9SY+JqXouNgUPtv6JQva/2Q=="
+ "integrity": "sha512-kXpym8nmDmlCBr7nKdIx8P2jNBa+pBpIUFRnKJ4dr8htyYGJFokkr2ZvERRtUN+9SY+JqXouNgUPtv6JQva/2Q==",
+ "dev": true
},
"update-notifier": {
"version": "2.5.0",
"resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-2.5.0.tgz",
"integrity": "sha512-gwMdhgJHGuj/+wHJJs9e6PcCszpxR1b236igrOkUofGhqJuG+amlIKwApH1IW1WWl7ovZxsX49lMBWLxSdm5Dw==",
+ "dev": true,
"requires": {
"boxen": "^1.2.1",
"chalk": "^2.0.1",
@@ -4880,6 +6109,7 @@
"version": "3.2.1",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
"integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "dev": true,
"requires": {
"color-convert": "^1.9.0"
}
@@ -4888,6 +6118,7 @@
"version": "2.4.1",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
"integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
+ "dev": true,
"requires": {
"ansi-styles": "^3.2.1",
"escape-string-regexp": "^1.0.5",
@@ -4898,6 +6129,7 @@
"version": "5.5.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
"integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "dev": true,
"requires": {
"has-flag": "^3.0.0"
}
@@ -4907,12 +6139,24 @@
"urix": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
- "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI="
+ "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=",
+ "dev": true
+ },
+ "url": {
+ "version": "0.11.4",
+ "resolved": "https://registry.npmjs.org/url/-/url-0.11.4.tgz",
+ "integrity": "sha512-oCwdVC7mTuWiPyjLUz/COz5TLk6wgp0RCsN+wHZ2Ekneac9w8uuV0njcbbie2ME+Vs+d6duwmYuR3HgQXs1fOg==",
+ "dev": true,
+ "requires": {
+ "punycode": "^1.4.1",
+ "qs": "^6.12.3"
+ }
},
"url-parse-lax": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz",
"integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=",
+ "dev": true,
"requires": {
"prepend-http": "^1.0.1"
}
@@ -4920,12 +6164,23 @@
"use": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz",
- "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ=="
+ "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==",
+ "dev": true
+ },
+ "util": {
+ "version": "0.11.1",
+ "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz",
+ "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==",
+ "dev": true,
+ "requires": {
+ "inherits": "2.0.3"
+ }
},
"util-deprecate": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
- "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
+ "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
+ "dev": true
},
"utils-merge": {
"version": "1.0.1",
@@ -4936,6 +6191,7 @@
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
"integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==",
+ "dev": true,
"requires": {
"spdx-correct": "^3.0.0",
"spdx-expression-parse": "^3.0.0"
@@ -4944,12 +6200,19 @@
"vary": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
- "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw="
+ "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg=="
+ },
+ "vm-browserify": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz",
+ "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==",
+ "dev": true
},
"wcwidth": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz",
"integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=",
+ "dev": true,
"requires": {
"defaults": "^1.0.3"
}
@@ -4978,6 +6241,7 @@
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
"integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
+ "dev": true,
"requires": {
"isexe": "^2.0.0"
}
@@ -4986,6 +6250,7 @@
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/widest-line/-/widest-line-2.0.1.tgz",
"integrity": "sha512-Ba5m9/Fa4Xt9eb2ELXt77JxVDV8w7qQrH0zS/TWSJdLyAwQjWoOzpzj5lwVftDz6n/EOu3tNACS84v509qwnJA==",
+ "dev": true,
"requires": {
"string-width": "^2.1.1"
}
@@ -4999,6 +6264,7 @@
"version": "4.3.1",
"resolved": "https://registry.npmjs.org/workbox-background-sync/-/workbox-background-sync-4.3.1.tgz",
"integrity": "sha512-1uFkvU8JXi7L7fCHVBEEnc3asPpiAL33kO495UMcD5+arew9IbKW2rV5lpzhoWcm/qhGB89YfO4PmB/0hQwPRg==",
+ "dev": true,
"requires": {
"workbox-core": "^4.3.1"
}
@@ -5007,6 +6273,7 @@
"version": "4.3.1",
"resolved": "https://registry.npmjs.org/workbox-broadcast-update/-/workbox-broadcast-update-4.3.1.tgz",
"integrity": "sha512-MTSfgzIljpKLTBPROo4IpKjESD86pPFlZwlvVG32Kb70hW+aob4Jxpblud8EhNb1/L5m43DUM4q7C+W6eQMMbA==",
+ "dev": true,
"requires": {
"workbox-core": "^4.3.1"
}
@@ -5015,6 +6282,7 @@
"version": "4.3.1",
"resolved": "https://registry.npmjs.org/workbox-build/-/workbox-build-4.3.1.tgz",
"integrity": "sha512-UHdwrN3FrDvicM3AqJS/J07X0KXj67R8Cg0waq1MKEOqzo89ap6zh6LmaLnRAjpB+bDIz+7OlPye9iii9KBnxw==",
+ "dev": true,
"requires": {
"@babel/runtime": "^7.3.4",
"@hapi/joi": "^15.0.0",
@@ -5045,6 +6313,7 @@
"version": "4.0.3",
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz",
"integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==",
+ "dev": true,
"requires": {
"graceful-fs": "^4.1.2",
"jsonfile": "^4.0.0",
@@ -5057,6 +6326,7 @@
"version": "4.3.1",
"resolved": "https://registry.npmjs.org/workbox-cacheable-response/-/workbox-cacheable-response-4.3.1.tgz",
"integrity": "sha512-Rp5qlzm6z8IOvnQNkCdO9qrDgDpoPNguovs0H8C+wswLuPgSzSp9p2afb5maUt9R1uTIwOXrVQMmPfPypv+npw==",
+ "dev": true,
"requires": {
"workbox-core": "^4.3.1"
}
@@ -5065,6 +6335,7 @@
"version": "4.3.1",
"resolved": "https://registry.npmjs.org/workbox-cli/-/workbox-cli-4.3.1.tgz",
"integrity": "sha1-aV95luorXiJqIJr7DwXJtpUETYM=",
+ "dev": true,
"requires": {
"@babel/runtime": "^7.0.0",
"chalk": "^2.4.1",
@@ -5083,12 +6354,14 @@
"workbox-core": {
"version": "4.3.1",
"resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-4.3.1.tgz",
- "integrity": "sha512-I3C9jlLmMKPxAC1t0ExCq+QoAMd0vAAHULEgRZ7kieCdUd919n53WC0AfvokHNwqRhGn+tIIj7vcb5duCjs2Kg=="
+ "integrity": "sha512-I3C9jlLmMKPxAC1t0ExCq+QoAMd0vAAHULEgRZ7kieCdUd919n53WC0AfvokHNwqRhGn+tIIj7vcb5duCjs2Kg==",
+ "dev": true
},
"workbox-expiration": {
"version": "4.3.1",
"resolved": "https://registry.npmjs.org/workbox-expiration/-/workbox-expiration-4.3.1.tgz",
"integrity": "sha512-vsJLhgQsQouv9m0rpbXubT5jw0jMQdjpkum0uT+d9tTwhXcEZks7qLfQ9dGSaufTD2eimxbUOJfWLbNQpIDMPw==",
+ "dev": true,
"requires": {
"workbox-core": "^4.3.1"
}
@@ -5097,6 +6370,7 @@
"version": "4.3.1",
"resolved": "https://registry.npmjs.org/workbox-google-analytics/-/workbox-google-analytics-4.3.1.tgz",
"integrity": "sha512-xzCjAoKuOb55CBSwQrbyWBKqp35yg1vw9ohIlU2wTy06ZrYfJ8rKochb1MSGlnoBfXGWss3UPzxR5QL5guIFdg==",
+ "dev": true,
"requires": {
"workbox-background-sync": "^4.3.1",
"workbox-core": "^4.3.1",
@@ -5108,6 +6382,7 @@
"version": "4.3.1",
"resolved": "https://registry.npmjs.org/workbox-navigation-preload/-/workbox-navigation-preload-4.3.1.tgz",
"integrity": "sha512-K076n3oFHYp16/C+F8CwrRqD25GitA6Rkd6+qAmLmMv1QHPI2jfDwYqrytOfKfYq42bYtW8Pr21ejZX7GvALOw==",
+ "dev": true,
"requires": {
"workbox-core": "^4.3.1"
}
@@ -5116,6 +6391,7 @@
"version": "4.3.1",
"resolved": "https://registry.npmjs.org/workbox-precaching/-/workbox-precaching-4.3.1.tgz",
"integrity": "sha512-piSg/2csPoIi/vPpp48t1q5JLYjMkmg5gsXBQkh/QYapCdVwwmKlU9mHdmy52KsDGIjVaqEUMFvEzn2LRaigqQ==",
+ "dev": true,
"requires": {
"workbox-core": "^4.3.1"
}
@@ -5124,6 +6400,7 @@
"version": "4.3.1",
"resolved": "https://registry.npmjs.org/workbox-range-requests/-/workbox-range-requests-4.3.1.tgz",
"integrity": "sha512-S+HhL9+iTFypJZ/yQSl/x2Bf5pWnbXdd3j57xnb0V60FW1LVn9LRZkPtneODklzYuFZv7qK6riZ5BNyc0R0jZA==",
+ "dev": true,
"requires": {
"workbox-core": "^4.3.1"
}
@@ -5132,6 +6409,7 @@
"version": "4.3.1",
"resolved": "https://registry.npmjs.org/workbox-routing/-/workbox-routing-4.3.1.tgz",
"integrity": "sha512-FkbtrODA4Imsi0p7TW9u9MXuQ5P4pVs1sWHK4dJMMChVROsbEltuE79fBoIk/BCztvOJ7yUpErMKa4z3uQLX+g==",
+ "dev": true,
"requires": {
"workbox-core": "^4.3.1"
}
@@ -5140,6 +6418,7 @@
"version": "4.3.1",
"resolved": "https://registry.npmjs.org/workbox-strategies/-/workbox-strategies-4.3.1.tgz",
"integrity": "sha512-F/+E57BmVG8dX6dCCopBlkDvvhg/zj6VDs0PigYwSN23L8hseSRwljrceU2WzTvk/+BSYICsWmRq5qHS2UYzhw==",
+ "dev": true,
"requires": {
"workbox-core": "^4.3.1"
}
@@ -5148,6 +6427,7 @@
"version": "4.3.1",
"resolved": "https://registry.npmjs.org/workbox-streams/-/workbox-streams-4.3.1.tgz",
"integrity": "sha512-4Kisis1f/y0ihf4l3u/+ndMkJkIT4/6UOacU3A4BwZSAC9pQ9vSvJpIi/WFGQRH/uPXvuVjF5c2RfIPQFSS2uA==",
+ "dev": true,
"requires": {
"workbox-core": "^4.3.1"
}
@@ -5155,12 +6435,14 @@
"workbox-sw": {
"version": "4.3.1",
"resolved": "https://registry.npmjs.org/workbox-sw/-/workbox-sw-4.3.1.tgz",
- "integrity": "sha512-0jXdusCL2uC5gM3yYFT6QMBzKfBr2XTk0g5TPAV4y8IZDyVNDyj1a8uSXy3/XrvkVTmQvLN4O5k3JawGReXr9w=="
+ "integrity": "sha512-0jXdusCL2uC5gM3yYFT6QMBzKfBr2XTk0g5TPAV4y8IZDyVNDyj1a8uSXy3/XrvkVTmQvLN4O5k3JawGReXr9w==",
+ "dev": true
},
"workbox-window": {
"version": "4.3.1",
"resolved": "https://registry.npmjs.org/workbox-window/-/workbox-window-4.3.1.tgz",
"integrity": "sha512-C5gWKh6I58w3GeSc0wp2Ne+rqVw8qwcmZnQGpjiek8A2wpbxSJb1FdCoQVO+jDJs35bFgo/WETgl1fqgsxN0Hg==",
+ "dev": true,
"requires": {
"workbox-core": "^4.3.1"
}
@@ -5216,22 +6498,36 @@
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.3.0.tgz",
"integrity": "sha512-xuPeK4OdjWqtfi59ylvVL0Yn35SF3zgcAcv7rBPFHVaEapaDr4GdGgm3j7ckTwH9wHL7fGmgfAnb0+THrHb8tA==",
+ "dev": true,
"requires": {
"graceful-fs": "^4.1.11",
"imurmurhash": "^0.1.4",
"signal-exit": "^3.0.2"
}
},
+ "ws": {
+ "version": "7.5.10",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz",
+ "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==",
+ "dev": true
+ },
"xdg-basedir": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-3.0.0.tgz",
- "integrity": "sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ="
+ "integrity": "sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ=",
+ "dev": true
},
"xmlhttprequest": {
"version": "1.8.0",
"resolved": "https://registry.npmjs.org/xmlhttprequest/-/xmlhttprequest-1.8.0.tgz",
"integrity": "sha1-Z/4HXFwk/vOfnWX197f+dRcZaPw="
},
+ "xtend": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
+ "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
+ "dev": true
+ },
"y18n": {
"version": "3.2.2",
"resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.2.tgz",
@@ -5240,7 +6536,8 @@
"yallist": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
- "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI="
+ "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=",
+ "dev": true
},
"yargs": {
"version": "3.32.0",
@@ -5298,6 +6595,7 @@
"version": "10.1.0",
"resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.1.0.tgz",
"integrity": "sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==",
+ "dev": true,
"requires": {
"camelcase": "^4.1.0"
}
diff --git a/front-end/package.json b/front-end/package.json
index 9a696486..eadc6a52 100644
--- a/front-end/package.json
+++ b/front-end/package.json
@@ -1,32 +1,16 @@
{
"name": "vr-match",
"version": "1.0.0",
- "description": "A [re-frame](https://github.com/Day8/re-frame) application designed to ... well, that part is up to you.",
+ "description": "VR Match Frontend",
"scripts": {
- "clean": "lein clean",
- "start": "npm run watch",
- "repl": "lein repl",
- "figwheel": "lein figwheel",
- "format": "lein cljfmt fix",
- "workbox": "workbox generateSW",
- "watch": "npm-run-all -p watch:server watch:worker",
- "watch:server": "npm run watch:dev:server",
- "watch:dev:server": "npm-run-all -p watch:dev:server:*",
- "watch:dev:server:bundle": "nodemon target/server/js/compiled/server.js 8888 --watch target/server/js/compiled/server.js",
- "watch:dev:server:src": "lein cljsbuild auto server-dev",
- "watch:worker": "npm run watch:dev:worker",
- "watch:dev:worker": "lein cljsbuild auto worker-dev",
+ "clean": "rm -rf resources/public/js/compiled resources/public/prod target",
+ "shadow-cljs": "shadow-cljs",
"build": "npm run build:prod",
- "build:dev": "npm run build:dev:client && npm run build:dev:server && npm run build:dev:worker",
- "build:prod": "npm run build:prod:client && npm run build:prod:server && npm run build:prod:worker",
- "build:dev:client": "lein cljsbuild once dev",
- "build:prod:client": "lein cljsbuild once prod && npm run workbox",
- "build:dev:server": "lein cljsbuild once server-dev",
- "build:prod:server": "lein cljsbuild once server-prod && sed -i -e 's/goog.global.React/global.React/g' -e 's/goog.global.ReactDOM/global.ReactDOM/g' -e 's/goog.global.createReactClass/global.createReactClass/g' target/server/prod/js/compiled/server.js",
- "build:dev:worker": "lein cljsbuild once worker-dev",
- "build:prod:worker": "lein cljsbuild once worker-prod",
- "deploy:now": "now --docker --public",
- "test": "echo \"Error: no test specified\" && exit 1"
+ "build:dev": "shadow-cljs compile client server",
+ "build:prod": "shadow-cljs release client server && npm run workbox",
+ "watch": "shadow-cljs watch client server",
+ "workbox": "workbox generateSW",
+ "start": "node target/server/js/compiled/server.js 8888"
},
"repository": {
"type": "git",
@@ -43,13 +27,18 @@
"create-react-class": "15.7.0",
"express": "4.21.2",
"firebase": "5.11.1",
- "nodemon": "3.1.9",
- "npm-run-all2": "7.0.2",
"react": "16.14.0",
"react-dom": "16.14.0",
"react-jss": "8.6.1",
+ "@material-ui/core": "^4.11.0",
+ "@material-ui/icons": "^4.9.1",
"whatwg-fetch": "3.6.20",
- "workbox-cli": "4.3.1",
"xmlhttprequest": "1.8.0"
+ },
+ "devDependencies": {
+ "shadow-cljs": "^2.20.20",
+ "workbox-cli": "4.3.1",
+ "nodemon": "3.1.9",
+ "npm-run-all2": "7.0.2"
}
}
diff --git a/front-end/resources/public/prod/img/logo.png b/front-end/resources/public/img/logo.png
similarity index 100%
rename from front-end/resources/public/prod/img/logo.png
rename to front-end/resources/public/img/logo.png
diff --git a/front-end/resources/public/prod/manifest.json b/front-end/resources/public/manifest.json
similarity index 100%
rename from front-end/resources/public/prod/manifest.json
rename to front-end/resources/public/manifest.json
diff --git a/front-end/resources/public/prod/favicon.ico b/front-end/resources/public/prod/favicon.ico
deleted file mode 100644
index bb2d2d0a..00000000
Binary files a/front-end/resources/public/prod/favicon.ico and /dev/null differ
diff --git a/front-end/resources/ssr-preamble.js b/front-end/resources/ssr-preamble.js
index 308b576d..bfbc2dbb 100644
--- a/front-end/resources/ssr-preamble.js
+++ b/front-end/resources/ssr-preamble.js
@@ -1,26 +1,11 @@
-// https://github.com/reagent-project/reagent/issues/296
-var React = require("react");
-var ReactDOM = {server: require("react-dom/server")};
-var ReactDOMServer = require("react-dom/server");
-var createReactClass = require("create-react-class");
-global.React = React;
-global.ReactDOM = ReactDOM;
-global.ReactDOMServer = ReactDOMServer;
-global.createReactClass = createReactClass;
+// 簡素化したプリアンブルファイル
+// shadow-cljsを使用することでほとんど不要になりますが、
+// 移行期間中は一部の機能をサポートする場合があります
-// material-ui の universal 対応のための workaround
-// もっといい手があれば知りたい
+// Material-UIのSSRサポートのためのグローバル設定
global.window = global;
-global.window.navigator = {};
-global.window.navigator.userAgent = "";
-global.window.localStorage = null;
-
-// SSRサーバーを :optimization :simple でビルドする時、モジュール解決に失敗して以下のエラーが出るので無理やり補完する
-// TypeError: Cannot read property 'renderToString' of undefined
-// goog.global = global;
-
-// for https://github.com/firebase/firebase-js-sdk/issues/965
-self = {
- fetch: function(){},
+global.window.navigator = {
+ userAgent: ""
};
+global.window.localStorage = null;
diff --git a/front-end/shadow-cljs.edn b/front-end/shadow-cljs.edn
new file mode 100644
index 00000000..191f78bf
--- /dev/null
+++ b/front-end/shadow-cljs.edn
@@ -0,0 +1,92 @@
+{:source-paths ["src/clj" "src/cljs" "src/cljs-client" "src/cljs-server" "src/cljs-worker"]
+ :dependencies [[reagent "0.10.0"]
+ [re-frame "1.2.0"]
+ [clj-commons/secretary "1.2.4"]
+ [kibu/pushy "0.3.8"]
+ [e85th/venia "0.2.5-1"]
+ [cljs-ajax "0.8.4"]]
+
+ ;; npmパッケージのエイリアスを設定
+ :npm-aliases {"material-ui" "@material-ui/core"}
+
+ :builds
+ {:client {:target :browser
+ :output-dir "resources/public/js/compiled"
+ :asset-path "/static/js/compiled"
+ :module-loader true
+ :modules {:cljs-base {:entries []
+ :output-name "cljs_base.js"}
+ :client {:entries [vr-match.client]
+ :depends-on #{:cljs-base}
+ :output-name "app.js"}
+ :example {:entries [vr-match.example.container]
+ :depends-on #{:client}
+ :output-name "example.js"}
+ :welcome {:entries [vr-match.welcome.container]
+ :depends-on #{:client}
+ :output-name "welcome.js"}
+ :approach {:entries [vr-match.approach.container]
+ :depends-on #{:client}
+ :output-name "approach.js"}
+ :profile {:entries [vr-match.profile.container]
+ :depends-on #{:client}
+ :output-name "profile.js"}
+ :register {:entries [vr-match.auth.containers.register]
+ :depends-on #{:client}
+ :output-name "register.js"}
+ :email-register {:entries [vr-match.auth.containers.email-register]
+ :depends-on #{:client}
+ :output-name "email_register.js"}
+ :email-register-complete {:entries [vr-match.auth.containers.email-register-complete]
+ :depends-on #{:client}
+ :output-name "email_register_complete.js"}
+ :twitter-login {:entries [vr-match.auth.containers.twitter-login]
+ :depends-on #{:client}
+ :output-name "twitter_login.js"}
+ :email-login {:entries [vr-match.auth.containers.email-login]
+ :depends-on #{:client}
+ :output-name "email_login.js"}
+ :email-login-complete {:entries [vr-match.auth.containers.email-login-complete]
+ :depends-on #{:client}
+ :output-name "email_login_complete.js"}
+ :wizard {:entries [vr-match.wizard.container]
+ :depends-on #{:client}
+ :output-name "wizard.js"}
+ :favorite {:entries [vr-match.favorite.container]
+ :depends-on #{:client}
+ :output-name "favorite.js"}
+ :favorited-from-users {:entries [vr-match.favorited-from-users.container]
+ :depends-on #{:client}
+ :output-name "favorited-from-users.js"}
+ :matching {:entries [vr-match.matching.container]
+ :depends-on #{:client}
+ :output-name "matching.js"}
+ :myprofile {:entries [vr-match.myprofile.container]
+ :depends-on #{:client}
+ :output-name "myprofile.js"}
+ :mypage {:entries [vr-match.mypage.container]
+ :depends-on #{:client}
+ :output-name "mypage.js"}
+ :setting-top {:entries [vr-match.setting.containers.top]
+ :depends-on #{:client}
+ :output-name "setting_top.js"}
+ :setting-third-party-authorization {:entries [vr-match.setting.containers.third-party-authorization]
+ :depends-on #{:client}
+ :output-name "setting_third_party_authorization.js"}
+ :worker {:entries [vr-match.worker]
+ :depends-on #{:cljs-base}
+ :web-worker true
+ :init-fn vr-match.worker/init
+ :output-name "worker.js"}}
+ :devtools {:after-load vr-match.client/remount-for-figwheel}}
+
+ :server {:target :node-script
+ :output-dir "target/server/js/compiled"
+ :output-to "target/server/js/compiled/server.js"
+ :main vr-match.server/main
+ :compiler-options {;; 常に simple 最適化を使用
+ :optimizations :simple
+ }}
+
+ ;; :worker ビルド定義は以前削除済み
+ }}
\ No newline at end of file
diff --git a/front-end/src/cljs-client/vr_match/client.cljs b/front-end/src/cljs-client/vr_match/client.cljs
index 5e80d0fb..3bb37b26 100644
--- a/front-end/src/cljs-client/vr_match/client.cljs
+++ b/front-end/src/cljs-client/vr_match/client.cljs
@@ -1,16 +1,16 @@
(ns vr-match.client
(:require
[cljs.spec.alpha :as s]
- [react-dom]
+ ["react-dom" :as react-dom]
[cljs.loader :as loader]
[cljs.reader :as reader]
[pushy.core :as pushy]
[reagent.core :as reagent]
[re-frame.core :as re-frame]
[secretary.core :as secretary]
- ["material-ui"]
- ["material-ui/styles"]
- ["material-ui/colors"]
+ ["@material-ui/core/styles" :refer [MuiThemeProvider createMuiTheme createGenerateClassName]]
+ ["@material-ui/core/colors" :as colors]
+ ["react-jss" :refer [JssProvider SheetsRegistry]]
[vr-match.events :as events]
[vr-match.lib.component :as component]
[vr-match.lib.components.material-ui :as mui]
@@ -18,25 +18,16 @@
[vr-match.config :as config]
[vr-match.util :as util]))
-;; TODO: 現状では、 react-jss をクライアントサイドの ClojureScript で使える手がないので無理やり Context API を使って Material-UI の SSR を実現している
-;; from https://github.com/cssinjs/react-jss/blob/master/src/ns.js
-(def sheet-options "6fc570d6bd61383819d0f9e7407c452d")
-
-;; (def JSSContext
-;; (.createContext js/React (clj->js {sheet-options {"generateClassName" ""}})))
-
-;; (def JSSContextProvider
-;; (reagent/adapt-react-class (.-Provider JSSContext)))
-
-(defn JSSContextProvider
- [generate-class-name children]
- (reagent/create-class
- {:get-child-context (clj->js {sheet-options {"generateClassName" generate-class-name}})
- :reagent-render (fn [_ children] children)}))
-
+;; Material-UIテーマの設定
(def mui-theme (mui/theme))
(def mui-generate-class-name (mui/create-generate-class-name))
+;; SSRで生成されたCSSを取り除く関数
+(defn remove-ssr-styles []
+ (let [jss-styles (.getElementById js/document "jss-server-side")]
+ (when (and jss-styles (.-parentNode jss-styles))
+ (.removeChild (.-parentNode jss-styles) jss-styles))))
+
(defn dev-setup []
(when config/debug?
(enable-console-print!)
@@ -46,29 +37,25 @@
(pushy/pushy secretary/dispatch!
(fn [x] (when (secretary/locate-route x)
(re-frame/dispatch [::events/send-pageview x])
- x))))
+ x))))
-;; https://github.com/kibu-australia/pushy#routing-libraries から輸入
(defn hook-history []
(pushy/start! history))
(defn index []
(reagent/create-class
- {:component-did-mount
- (fn []
- ;; Remove the server-side injected CSS.
- (let [jss-styles (.. js/document (getElementById "jss-server-side"))]
- (when (and jss-styles (.-parentNode jss-styles))
- (.. jss-styles -parentNode (removeChild jss-styles)))))
- :reagent-render
- (fn []
- [JSSContextProvider mui-generate-class-name
- [mui/MuiThemeProvider {:theme mui-theme}
- [component/app]]])}))
+ {:component-did-mount
+ (fn []
+ (remove-ssr-styles))
+ :reagent-render
+ (fn []
+ [:> JssProvider {:generate-class-name mui-generate-class-name}
+ [:> MuiThemeProvider {:theme mui-theme}
+ [component/app]]])}))
(defn mount-root []
(react-dom/hydrate (reagent/as-element [index])
- (.getElementById js/document "app")))
+ (.getElementById js/document "app")))
(defn ^:export remount-for-figwheel []
(re-frame/clear-subscription-cache!)
@@ -77,23 +64,23 @@
(defn- preload-state []
(some->
- js/window
- (aget "preload")
- reader/read-string))
+ js/window
+ (aget "preload")
+ reader/read-string))
(defn ^:export init []
(let [preload (preload-state)]
(util/universal-load (-> preload :router :key route/route-table :module-name)
- (fn []
- (re-frame/dispatch-sync
- [::events/initialize
- {:history history
- :preload preload}])
- (re-frame/dispatch
- [::events/initialize-worker])
- (dev-setup)
- (hook-history)
- (mount-root)))))
+ (fn []
+ (re-frame/dispatch-sync
+ [::events/initialize
+ {:history history
+ :preload preload}])
+ (re-frame/dispatch
+ [::events/initialize-worker])
+ (dev-setup)
+ (hook-history)
+ (mount-root)))))
(set! (. js/window -onload) init)
diff --git a/front-end/src/cljs-server/vr_match/server.cljs b/front-end/src/cljs-server/vr_match/server.cljs
index 69e34ed4..269b2696 100644
--- a/front-end/src/cljs-server/vr_match/server.cljs
+++ b/front-end/src/cljs-server/vr_match/server.cljs
@@ -1,40 +1,42 @@
(ns vr-match.server
(:require
- [cljs.reader :as reader]
- [cljs.loader :as loader]
- [re-frame.core :as re-frame]
- [re-frame.db :as db]
- [reagent.core :refer [adapt-react-class]]
- [reagent.dom.server :as r]
- [secretary.core :as secretary]
- [vr-match.example.container]
- [vr-match.welcome.container]
- [vr-match.approach.container]
- [vr-match.profile.container]
- [vr-match.auth.containers.register]
- [vr-match.auth.containers.email-register]
- [vr-match.auth.containers.email-register-complete]
- [vr-match.auth.containers.email-login]
- [vr-match.auth.containers.email-login-complete]
- [vr-match.auth.containers.twitter-login]
- [vr-match.wizard.container]
- [vr-match.favorite.container]
- [vr-match.favorited-from-users.container]
- [vr-match.matching.container]
- [vr-match.myprofile.container]
- [vr-match.mypage.container]
- [vr-match.setting.containers.top]
- [vr-match.setting.containers.third-party-authorization]
- [vr-match.lib.component :as component]
- [vr-match.lib.components.material-ui :as mui]
- [vr-match.config :as config]
- [vr-match.events :as events]
- [vr-match.route]))
-
-(def express (js/require "express"))
-(def compression (js/require "compression"))
-(def ^:export app (express))
-
+ [cljs.reader :as reader]
+ [reagent.core :as reagent]
+ [reagent.dom.server :as r]
+ [secretary.core :as secretary]
+ ["express" :as express]
+ ["compression" :as compression]
+ ["react" :as react]
+ ["react-dom/server" :as react-dom-server]
+ ["@material-ui/core/styles" :as styles]
+ ["react-jss" :refer [JssProvider SheetsRegistry]]
+ [vr-match.lib.component :as component]
+ [vr-match.lib.components.material-ui :as mui]
+ [vr-match.events :as events]
+ [vr-match.config :as config]
+ ;; 各種コンテナコンポーネントのインポート
+ [vr-match.example.container]
+ [vr-match.welcome.container]
+ [vr-match.approach.container]
+ [vr-match.profile.container]
+ [vr-match.auth.containers.register]
+ [vr-match.auth.containers.email-register]
+ [vr-match.auth.containers.email-register-complete]
+ [vr-match.auth.containers.email-login]
+ [vr-match.auth.containers.email-login-complete]
+ [vr-match.auth.containers.twitter-login]
+ [vr-match.wizard.container]
+ [vr-match.favorite.container]
+ [vr-match.favorited-from-users.container]
+ [vr-match.matching.container]
+ [vr-match.myprofile.container]
+ [vr-match.mypage.container]
+ [vr-match.setting.containers.top]
+ [vr-match.setting.containers.third-party-authorization]
+ [re-frame.core :as re-frame]
+ [re-frame.db :as db]))
+
+(def express-app (express))
(def api-endpoint (or js/process.env.API_ENDPOINT "http://localhost:8080"))
(def firebase-config
@@ -48,11 +50,7 @@
(def google-analytics-tracking-id js/process.env.GOOGLE_ANALYTICS_TRACKING_ID)
-(def JssProvider (-> (js/require "react-jss/lib/JssProvider") .-default adapt-react-class))
-(def jss (js/require "react-jss/lib/jss"))
-(def sheets-registry (.-SheetsRegistry jss))
-
-(goog-define static-file-path "/")
+;; goog-define dev? は一旦残す
(goog-define dev? false)
(defn dev-setup []
@@ -60,16 +58,19 @@
(enable-console-print!)
(println "dev mode")))
-(defn app-component
- [registry generate-class-name theme sheets-manager]
- [JssProvider {:registry registry
- :generateClassName generate-class-name}
- [mui/MuiThemeProvider {:theme theme
- :sheetsManager sheets-manager}
- [component/app]]])
-
-(defn index
- [app-html css]
+(defn render-app-html [request-path]
+ (let [sheets (new (.-ServerStyleSheets styles))
+ theme (mui/theme)
+ generate-class-name (mui/create-generate-class-name)
+ html (.renderToString react-dom-server
+ (.collect sheets
+ (react/createElement (.-MuiThemeProvider styles)
+ #js{:theme theme}
+ (reagent/as-element [component/app]))))
+ css (.toString sheets)]
+ {:html html :css css}))
+
+(defn index [html css]
[:html {:lang "en"}
[:head
[:meta {:charset "utf-8"}]
@@ -138,13 +139,13 @@
[:body
[:div#app
{:dangerouslySetInnerHTML
- {:__html app-html}}] ]
+ {:__html html}}]]
[:div
{:dangerouslySetInnerHTML
- {:__html (str "")}}]
+ {:__html (str "")}}]
[:div
{:dangerouslySetInnerHTML
- {:__html (str "")}}]
+ {:__html (str "")}}]
[:script {:src "/static/js/compiled/cljs_base.js"}]
[:script {:src "/static/js/compiled/app.js"}]
[:link {:rel "stylesheet"
@@ -178,45 +179,35 @@
"}}])])
-(defn- render-index
- [sheets-registry generate-class-name theme sheets-manager]
- (let [app-html (r/render-to-string [app-component sheets-registry generate-class-name theme sheets-manager])]
- (r/render-to-string [index app-html (.toString sheets-registry)])))
-
-(defn handle-render
- [req res]
+(defn handle-render [req res]
(let [request-path (.-baseUrl req)
- sheets-registry (new sheets-registry)
- sheets-manager (new js/Map)
- generate-class-name (mui/create-generate-class-name)
- theme (mui/theme)]
- (re-frame/dispatch-sync [::events/initialize {:api-endpoint api-endpoint
- :preload nil
- :history nil}])
- (secretary/dispatch! request-path)
- (.format res #js {"text/html" #(.send res (render-index sheets-registry
- generate-class-name
- theme
- sheets-manager))})))
-
-(defn serve
- [port]
- (.listen app port))
-
-(defn -main
- [& args]
+ _ (re-frame/dispatch-sync [::events/initialize {:api-endpoint api-endpoint
+ :preload nil
+ :history nil}])
+ _ (secretary/dispatch! request-path)
+ {:keys [html css]} (render-app-html request-path)]
+ (.format res #js{"text/html" #(.send res (r/render-to-string [index html css]))})))
+
+(defn serve [port]
+ (.listen express-app port))
+
+(defn ^:export main [& args]
(let [port (-> args first js/parseInt)]
(dev-setup)
(serve port)))
-(doto app
+(doto express-app
(.use (compression))
- (.use "/sw.js" (.static express (str static-file-path "sw.js")))
- (.use "/manifest.json" (.static express (str static-file-path "manifest.json")))
- (.use "/favicon.ico" (.static express (str static-file-path "favicon.ico")))
- (.use "static" (.static express static-file-path))
- (.use "/static" (.static express static-file-path))
+ ;; 静的ファイル配信を resources/public に一本化
+ (.use "/static" (.static express "resources/public"))
+
+ ;; ルートパスの特定ファイルに対する設定 (resources/public を参照)
+ (.get "/sw.js" (fn [req res] (.sendFile res "sw.js" #js{:root "resources/public/"})))
+ (.get "/manifest.json" (fn [req res] (.sendFile res "manifest.json" #js{:root "resources/public/"})))
+ (.get "/favicon.ico" (fn [req res] (.sendFile res "favicon.ico" #js{:root "resources/public/"})))
+
+ ;; その他のすべてのパスに対するSSRハンドラ
(.use "/*" handle-render))
-(set! *main-cli-fn* -main)
+(set! *main-cli-fn* main)
diff --git a/front-end/src/cljs/cljsjs/firebase.cljs b/front-end/src/cljs/cljsjs/firebase.cljs
new file mode 100644
index 00000000..edc52995
--- /dev/null
+++ b/front-end/src/cljs/cljsjs/firebase.cljs
@@ -0,0 +1,12 @@
+(ns cljsjs.firebase
+ (:require ["firebase/app" :as firebase]))
+
+;; グローバル変数の公開
+(js/goog.exportSymbol "Firebase" firebase)
+
+;; 追加サービスのインポート(必要に応じて)
+(defn import-auth []
+ (js/require "firebase/auth"))
+
+(defn import-firestore []
+ (js/require "firebase/firestore"))
\ No newline at end of file
diff --git a/front-end/src/cljs/cljsjs/material_ui.cljs b/front-end/src/cljs/cljsjs/material_ui.cljs
new file mode 100644
index 00000000..cbbd6938
--- /dev/null
+++ b/front-end/src/cljs/cljsjs/material_ui.cljs
@@ -0,0 +1,5 @@
+(ns cljsjs.material-ui
+ (:require ["@material-ui/core" :as mui]))
+
+;; グローバル変数の公開
+(js/goog.exportSymbol "MaterialUI" mui)
\ No newline at end of file
diff --git a/front-end/src/cljs/cljsjs/react.cljs b/front-end/src/cljs/cljsjs/react.cljs
new file mode 100644
index 00000000..e5f98d28
--- /dev/null
+++ b/front-end/src/cljs/cljsjs/react.cljs
@@ -0,0 +1,5 @@
+(ns cljsjs.react
+ (:require ["react" :as react]))
+
+;; グローバル変数の公開(既存のコードとの互換性を保つため)
+(js/goog.exportSymbol "React" react)
\ No newline at end of file
diff --git a/front-end/src/cljs/cljsjs/react/dom.cljs b/front-end/src/cljs/cljsjs/react/dom.cljs
new file mode 100644
index 00000000..e454c154
--- /dev/null
+++ b/front-end/src/cljs/cljsjs/react/dom.cljs
@@ -0,0 +1,7 @@
+(ns cljsjs.react.dom
+ (:require ["react-dom" :as react-dom]
+ ["react-dom/server" :as react-dom-server]))
+
+;; グローバル変数の公開
+(js/goog.exportSymbol "ReactDOM" react-dom)
+(js/goog.exportSymbol "ReactDOMServer" react-dom-server)
\ No newline at end of file
diff --git a/front-end/src/cljs/vr_match/approach/components/action_buttons.cljs b/front-end/src/cljs/vr_match/approach/components/action_buttons.cljs
index 7678566c..a365a74a 100644
--- a/front-end/src/cljs/vr_match/approach/components/action_buttons.cljs
+++ b/front-end/src/cljs/vr_match/approach/components/action_buttons.cljs
@@ -11,13 +11,11 @@
onClickSkip
onClickFavorite] :as props}]
[mui/grid {:container true
- :justify "space-around"}
- [mui/button {:variant "fab"
- :aria-label "スキップ"
+ :justify-content "space-around"}
+ [mui/fab {:aria-label "スキップ"
:on-click onClickSkip}
[mui/icon "reply"]]
- [mui/button {:variant "fab"
- :color "secondary"
+ [mui/fab {:color "secondary"
:aria-label "すき"
:on-click onClickFavorite}
[mui/icon "favorite"]]])
diff --git a/front-end/src/cljs/vr_match/approach/components/empty.cljs b/front-end/src/cljs/vr_match/approach/components/empty.cljs
index 03ba7112..9454e22a 100644
--- a/front-end/src/cljs/vr_match/approach/components/empty.cljs
+++ b/front-end/src/cljs/vr_match/approach/components/empty.cljs
@@ -2,7 +2,10 @@
(:require
[cljs.spec.alpha :as s]
[reagent.core :as r]
- ["material-ui"]
+ ["@material-ui/core/Grid" :as Grid]
+ ["@material-ui/core/Typography" :as Typography]
+ ["@material-ui/core/Icon" :as Icon]
+ ["@material-ui/core/Button" :as Button]
[vr-match.approach.components.reset-all-skip-alert :refer [reset-all-skip-alert]]))
(defn swipe-cards-empty
@@ -18,33 +21,33 @@
[reset-all-skip-alert {:isOpen @is-open-alert
:handleClose handle-close-alert
:handleSubmit handle-submit-alert}]
- [:> js/MaterialUI.Grid {:container true
- :spacing 32
- :direction "column"
- :justify "space-between"
- :align-items "flex-start"
- :style {:height "100%"
- :width "100vw"
- :padding 32}}
- [:> js/MaterialUI.Typography {:variant "display1"
- :component "h1"
- :gutterBottom true
- :style {:text-align "left"}}
+ [:> Grid {:container true
+ :spacing 32
+ :direction "column"
+ :justify "space-between"
+ :align-items "flex-start"
+ :style {:height "100%"
+ :width "100vw"
+ :padding 32}}
+ [:> Typography {:variant "display1"
+ :component "h1"
+ :gutterBottom true
+ :style {:text-align "left"}}
"すべてのアバターをスワイプしました"]
- [:> js/MaterialUI.Grid {:container true
- :spacing 32
- :direction "column"
- :justify "space-between"
- :align-items "center"
- :style {:padding 32}}
- [:> js/MaterialUI.Icon
+ [:> Grid {:container true
+ :spacing 32
+ :direction "column"
+ :justify "space-between"
+ :align-items "center"
+ :style {:padding 32}}
+ [:> Icon
{:font-size "inherit"
:color "primary"
:style {:font-size "10em"}}
"done"]]
- [:> js/MaterialUI.Button {:variant "contained"
- :color "primary"
- :style {:margin-left "auto"
- :margin-right "auto"}
- :on-click handle-open-alert}
+ [:> Button {:variant "contained"
+ :color "primary"
+ :style {:margin-left "auto"
+ :margin-right "auto"}
+ :on-click handle-open-alert}
"スキップしたお相手をもう一度みる"]]])))
diff --git a/front-end/src/cljs/vr_match/approach/components/reset_all_skip_alert.cljs b/front-end/src/cljs/vr_match/approach/components/reset_all_skip_alert.cljs
index a8e15eaa..c821033a 100644
--- a/front-end/src/cljs/vr_match/approach/components/reset_all_skip_alert.cljs
+++ b/front-end/src/cljs/vr_match/approach/components/reset_all_skip_alert.cljs
@@ -1,22 +1,27 @@
(ns vr-match.approach.components.reset-all-skip-alert
(:require [reagent.core :as r]
- ["material-ui"]))
+ ["@material-ui/core/Dialog" :as Dialog]
+ ["@material-ui/core/DialogTitle" :as DialogTitle]
+ ["@material-ui/core/DialogContent" :as DialogContent]
+ ["@material-ui/core/DialogContentText" :as DialogContentText]
+ ["@material-ui/core/DialogActions" :as DialogActions]
+ ["@material-ui/core/Button" :as Button]))
(defn reset-all-skip-alert
[{:keys [isOpen
handleClose
handleSubmit] :as props}]
- [:> js/MaterialUI.Dialog {:open isOpen
- :onClose handleClose
- :aria-labelledby "スキップしたお相手をもう一度表示しますか?"
- :aria-describedby "この操作により全てのスキップが解除され、スキップしたお相手が再び表示されます。"}
- [:> js/MaterialUI.DialogTitle "スキップしたお相手をもう一度表示しますか?" ]
- [:> js/MaterialUI.DialogContent
- [:> js/MaterialUI.DialogContentText
+ [:> Dialog {:open isOpen
+ :onClose handleClose
+ :aria-labelledby "スキップしたお相手をもう一度表示しますか?"
+ :aria-describedby "この操作により全てのスキップが解除され、スキップしたお相手が再び表示されます。"}
+ [:> DialogTitle "スキップしたお相手をもう一度表示しますか?" ]
+ [:> DialogContent
+ [:> DialogContentText
"この操作により全てのスキップが解除され、スキップしたお相手が再び表示されます。"]]
- [:> js/MaterialUI.DialogActions
- [:> js/MaterialUI.Button {:onClick handleClose}
+ [:> DialogActions
+ [:> Button {:onClick handleClose}
"キャンセル"]
- [:> js/MaterialUI.Button {:onClick handleSubmit
- :color "primary"}
+ [:> Button {:onClick handleSubmit
+ :color "primary"}
"OK"]]])
diff --git a/front-end/src/cljs/vr_match/approach/components/swipe_card_item.cljs b/front-end/src/cljs/vr_match/approach/components/swipe_card_item.cljs
index cc97072f..290293e5 100644
--- a/front-end/src/cljs/vr_match/approach/components/swipe_card_item.cljs
+++ b/front-end/src/cljs/vr_match/approach/components/swipe_card_item.cljs
@@ -42,7 +42,7 @@
:style {:font-size "40px"}}
"info"]]
[mui/grid {:container true
- :justify "flex-start"
+ :justify-content "flex-start"
:style {"marginBottom" "0.35em"}
:spacing 8}
(->> platforms
@@ -51,7 +51,7 @@
:item true}
[plat-form-chip {:name name}]])))]
[mui/typo-graphy {:gutterBottom true
- :variant "subheading"
+ :variant "subtitle1"
:component "h2"}
name]
[mui/typo-graphy {:noWrap true}
diff --git a/front-end/src/cljs/vr_match/auth/components/email_login.cljs b/front-end/src/cljs/vr_match/auth/components/email_login.cljs
index 4c301edd..2bd9aeaf 100644
--- a/front-end/src/cljs/vr_match/auth/components/email_login.cljs
+++ b/front-end/src/cljs/vr_match/auth/components/email_login.cljs
@@ -1,7 +1,12 @@
(ns vr-match.auth.components.email-login
(:require
[reagent.core :as r]
- ["material-ui"]
+ ["@material-ui/core/Grid" :as Grid]
+ ["@material-ui/core/Typography" :as Typography]
+ ["@material-ui/core/Icon" :as Icon]
+ ["@material-ui/core/Button" :as Button]
+ ["@material-ui/core/FormControl" :as FormControl]
+ ["@material-ui/core/TextField" :as TextField]
[vr-match.lib.components.linear-progress :refer [linear-progress]]))
(defn- handle-change-email
@@ -16,32 +21,32 @@
(defn send-email-sign-in-link-complete
[email]
[:div {:style {:padding 16}}
- [:> js/MaterialUI.Grid {:container true
- :spacing 32
- :direction "column"
- :justify "space-between"
- :align-items "flex-start"
- :style {:height "100%"
- :width "100vw"
- :padding 32}}
- [:> js/MaterialUI.Typography {:variant "display1"
- :component "h1"
- :gutterBottom true
- :style {:text-align "left"}}
+ [:> Grid {:container true
+ :spacing 32
+ :direction "column"
+ :justify "space-between"
+ :align-items "flex-start"
+ :style {:height "100%"
+ :width "100vw"
+ :padding 32}}
+ [:> Typography {:variant "display1"
+ :component "h1"
+ :gutterBottom true
+ :style {:text-align "left"}}
"ログイン確認メールを送信しました"]
- [:> js/MaterialUI.Grid {:container true
- :spacing 32
- :direction "column"
- :justify "space-between"
- :align-items "center"
- :style {:padding 32}}
- [:> js/MaterialUI.Icon
+ [:> Grid {:container true
+ :spacing 32
+ :direction "column"
+ :justify "space-between"
+ :align-items "center"
+ :style {:padding 32}}
+ [:> Icon
{:font-size "inherit"
:color "primary"
:style {:font-size "10em"}}
"mail_outline"]]
- [:> js/MaterialUI.Typography {:variant "body1"
- :component "p"}
+ [:> Typography {:variant "body1"
+ :component "p"}
[:span {:style {:font-weight "bold"}}
email]
" へ届いた確認用リンクを確認してください"]]])
@@ -61,28 +66,28 @@
[:<>
(when isLoading [linear-progress])
[:div {:style {:padding 16}}
- [:> js/MaterialUI.Grid {:container true
- :spacing 32
- :direction "column"
- :justify "space-between"
- :align-items "flex-start"
- :style {:height "100%"
- :width "100vw"
- :padding 32}}
- [:> js/MaterialUI.Typography {:variant "display1"
- :component "h1"
- :gutterBottom true
- :style {:text-align "left"}}
+ [:> Grid {:container true
+ :spacing 32
+ :direction "column"
+ :justify "space-between"
+ :align-items "flex-start"
+ :style {:height "100%"
+ :width "100vw"
+ :padding 32}}
+ [:> Typography {:variant "display1"
+ :component "h1"
+ :gutterBottom true
+ :style {:text-align "left"}}
"メールアドレスを入力してください"]
- [:> js/MaterialUI.FormControl {:fullWidth true}
- [:> js/MaterialUI.TextField {:type "email"
- :auto-complete "email"
- :on-change #(handle-change-email draft-email %)
- :placeholder "sample@example.com"}]]
- [:> js/MaterialUI.Button {:disabled (= @draft-email "")
- :variant "contained"
- :color "primary"
- :on-click #(handleSubmit @draft-email)
- :full-width true}
+ [:> FormControl {:fullWidth true}
+ [:> TextField {:type "email"
+ :auto-complete "email"
+ :on-change #(handle-change-email draft-email %)
+ :placeholder "sample@example.com"}]]
+ [:> Button {:disabled (= @draft-email "")
+ :variant "contained"
+ :color "primary"
+ :on-click #(handleSubmit @draft-email)
+ :full-width true}
"次へ"]]]]))
:component-did-mount component-did-mount})))
diff --git a/front-end/src/cljs/vr_match/auth/components/email_login_complete.cljs b/front-end/src/cljs/vr_match/auth/components/email_login_complete.cljs
index 5b0f00f5..6b087531 100644
--- a/front-end/src/cljs/vr_match/auth/components/email_login_complete.cljs
+++ b/front-end/src/cljs/vr_match/auth/components/email_login_complete.cljs
@@ -1,7 +1,11 @@
(ns vr-match.auth.components.email-login-complete
(:require
[reagent.core :as r]
- ["material-ui"]
+ ["@material-ui/core/Grid" :as Grid]
+ ["@material-ui/core/Typography" :as Typography]
+ ["@material-ui/core/Button" :as Button]
+ ["@material-ui/core/FormControl" :as FormControl]
+ ["@material-ui/core/TextField" :as TextField]
[vr-match.lib.components.linear-progress :refer [linear-progress]]))
(defn- handle-change-email
@@ -24,7 +28,7 @@
[:<>
(when isLoading [linear-progress])
[:div {:style {:padding 16}}
- [:> js/MaterialUI.Grid {:container true
+ [:> Grid {:container true
:spacing 32
:direction "column"
:justify "space-between"
@@ -32,18 +36,18 @@
:style {:height "100%"
:width "100vw"
:padding 32}}
- [:> js/MaterialUI.Typography {:variant "display1"
+ [:> Typography {:variant "display1"
:component "h1"
:gutterBottom true
:style {:text-align "left"}}
"メールアドレスをもう一度入力してください"]
- [:> js/MaterialUI.FormControl {:fullWidth true}
- [:> js/MaterialUI.TextField {:type "email"
+ [:> FormControl {:fullWidth true}
+ [:> TextField {:type "email"
:auto-complete "email"
:on-change #(handle-change-email draft-email %)
:placeholder "sample@example.com"
:disabled isLoading}]]
- [:> js/MaterialUI.Button {:disabled (or (= @draft-email "")
+ [:> Button {:disabled (or (= @draft-email "")
isLoading)
:variant "contained"
:color "primary"
diff --git a/front-end/src/cljs/vr_match/auth/components/email_register.cljs b/front-end/src/cljs/vr_match/auth/components/email_register.cljs
index 2856e6f0..7145647c 100644
--- a/front-end/src/cljs/vr_match/auth/components/email_register.cljs
+++ b/front-end/src/cljs/vr_match/auth/components/email_register.cljs
@@ -1,6 +1,11 @@
(ns vr-match.auth.components.email-register
(:require [reagent.core :as r]
- ["material-ui"]
+ ["@material-ui/core/Grid" :as Grid]
+ ["@material-ui/core/Typography" :as Typography]
+ ["@material-ui/core/Icon" :as Icon]
+ ["@material-ui/core/Button" :as Button]
+ ["@material-ui/core/FormControl" :as FormControl]
+ ["@material-ui/core/TextField" :as TextField]
[vr-match.lib.components.linear-progress :refer [linear-progress]] ))
(defn- handle-change-email
@@ -15,7 +20,7 @@
(defn send-email-sign-in-link-complete
[email]
[:div {:style {:padding 16}}
- [:> js/MaterialUI.Grid {:container true
+ [:> Grid {:container true
:spacing 32
:direction "column"
:justify "space-between"
@@ -23,23 +28,23 @@
:style {:height "100%"
:width "100vw"
:padding 32}}
- [:> js/MaterialUI.Typography {:variant "display1"
+ [:> Typography {:variant "display1"
:component "h1"
:gutterBottom true
:style {:text-align "left"}}
"登録確認メールを送信しました"]
- [:> js/MaterialUI.Grid {:container true
+ [:> Grid {:container true
:spacing 32
:direction "column"
:justify "space-between"
:align-items "center"
:style {:padding 32}}
- [:> js/MaterialUI.Icon
+ [:> Icon
{:font-size "inherit"
:color "primary"
:style {:font-size "10em"}}
"mail_outline"]]
- [:> js/MaterialUI.Typography {:variant "body1"
+ [:> Typography {:variant "body1"
:component "p"}
[:span {:style {:font-weight "bold"}}
email]
@@ -61,7 +66,7 @@
(when isLoading
[linear-progress])
[:div {:style {:padding 16}}
- [:> js/MaterialUI.Grid {:container true
+ [:> Grid {:container true
:spacing 32
:direction "column"
:justify "space-between"
@@ -69,17 +74,17 @@
:style {:height "100%"
:width "100vw"
:padding 32}}
- [:> js/MaterialUI.Typography {:variant "display1"
+ [:> Typography {:variant "display1"
:component "h1"
:gutterBottom true
:style {:text-align "left"}}
"メールアドレスを入力してください"]
- [:> js/MaterialUI.FormControl {:fullWidth true}
- [:> js/MaterialUI.TextField {:type "email"
+ [:> FormControl {:fullWidth true}
+ [:> TextField {:type "email"
:auto-complete "email"
:on-change #(handle-change-email draft-email %)
:placeholder "sample@example.com"}]]
- [:> js/MaterialUI.Button {:disabled (= @draft-email "")
+ [:> Button {:disabled (= @draft-email "")
:variant "contained"
:color "primary"
:on-click #(handleSubmit @draft-email)
diff --git a/front-end/src/cljs/vr_match/auth/components/email_register_complete.cljs b/front-end/src/cljs/vr_match/auth/components/email_register_complete.cljs
index 5ef0d1ad..69bf1a77 100644
--- a/front-end/src/cljs/vr_match/auth/components/email_register_complete.cljs
+++ b/front-end/src/cljs/vr_match/auth/components/email_register_complete.cljs
@@ -1,7 +1,11 @@
(ns vr-match.auth.components.email-register-complete
(:require
[reagent.core :as r]
- ["material-ui"]
+ ["@material-ui/core/Grid" :as Grid]
+ ["@material-ui/core/Typography" :as Typography]
+ ["@material-ui/core/Button" :as Button]
+ ["@material-ui/core/FormControl" :as FormControl]
+ ["@material-ui/core/TextField" :as TextField]
[vr-match.lib.components.linear-progress :refer [linear-progress]]))
(defn- handle-change-email
@@ -24,7 +28,7 @@
[:<>
(when isLoading [linear-progress])
[:div {:style {:padding 16}}
- [:> js/MaterialUI.Grid {:container true
+ [:> Grid {:container true
:spacing 32
:direction "column"
:justify "space-between"
@@ -32,18 +36,18 @@
:style {:height "100%"
:width "100vw"
:padding 32}}
- [:> js/MaterialUI.Typography {:variant "display1"
+ [:> Typography {:variant "display1"
:component "h1"
:gutterBottom true
:style {:text-align "left"}}
"メールアドレスをもう一度入力してください"]
- [:> js/MaterialUI.FormControl {:fullWidth true}
- [:> js/MaterialUI.TextField {:type "email"
+ [:> FormControl {:fullWidth true}
+ [:> TextField {:type "email"
:auto-complete "email"
:on-change #(handle-change-email draft-email %)
:placeholder "sample@example.com"
:disabled isLoading}]]
- [:> js/MaterialUI.Button {:disabled (or (= @draft-email "")
+ [:> Button {:disabled (or (= @draft-email "")
isLoading)
:variant "contained"
:color "primary"
diff --git a/front-end/src/cljs/vr_match/auth/components/twitter_login.cljs b/front-end/src/cljs/vr_match/auth/components/twitter_login.cljs
index e7b45078..dc9559df 100644
--- a/front-end/src/cljs/vr_match/auth/components/twitter_login.cljs
+++ b/front-end/src/cljs/vr_match/auth/components/twitter_login.cljs
@@ -1,6 +1,8 @@
(ns vr-match.auth.components.twitter-login
(:require [reagent.core :as r]
- ["material-ui"]
+ ["@material-ui/core/Grid" :as Grid]
+ ["@material-ui/core/Typography" :as Typography]
+ ["@material-ui/core/Button" :as Button]
[vr-match.lib.components.linear-progress :refer [linear-progress]]))
(defn twitter-login
@@ -9,22 +11,22 @@
[:<>
(when isLoading [linear-progress])
[:div {:style {:padding 16}}
- [:> js/MaterialUI.Grid {:container true
- :spacing 32
- :direction "column"
- :justify "space-between"
- :align-items "flex-start"
- :style {:height "100%"
- :width "100vw"
- :padding 32}}
- [:> js/MaterialUI.Typography {:variant "display1"
- :component "h1"
- :gutterBottom true
- :style {:text-align "left"}}
+ [:> Grid {:container true
+ :spacing 32
+ :direction "column"
+ :justify "space-between"
+ :align-items "flex-start"
+ :style {:height "100%"
+ :width "100vw"
+ :padding 32}}
+ [:> Typography {:variant "display1"
+ :component "h1"
+ :gutterBottom true
+ :style {:text-align "left"}}
"Twitter認証の準備中..."]
- [:> js/MaterialUI.Button {:disabled isLoading
- :variant "contained"
- :color "primary"
- :on-click handleClickLoginTwitter
- :full-width true}
+ [:> Button {:disabled isLoading
+ :variant "contained"
+ :color "primary"
+ :on-click handleClickLoginTwitter
+ :full-width true}
"認証ページへ手動で移動"]]]])
diff --git a/front-end/src/cljs/vr_match/auth/effects.cljs b/front-end/src/cljs/vr_match/auth/effects.cljs
index 78253f8d..d5e67d9e 100644
--- a/front-end/src/cljs/vr_match/auth/effects.cljs
+++ b/front-end/src/cljs/vr_match/auth/effects.cljs
@@ -1,6 +1,6 @@
(ns vr-match.auth.effects
- (:require [firebase.app]
- [firebase.auth]
+ (:require ["firebase/app" :as firebase]
+ ["firebase/auth"]
[cljs.reader :refer [read-string]]
[ajax.core :refer [ajax-request json-request-format json-response-format]]
[re-frame.core :as re-frame]))
@@ -11,7 +11,7 @@
::initialize-firebase
(fn [{:keys [config on-success]}]
(when-not @firebase-instance
- (->> (js/firebase.initializeApp config)
+ (->> (firebase.initializeApp config)
(reset! firebase-instance)))
(re-frame/dispatch [on-success])))
@@ -78,13 +78,13 @@
(re-frame/reg-fx
::sign-in-with-twitter
(fn [_]
- (let [provider (new (.. js/firebase -auth -TwitterAuthProvider))]
+ (let [provider (new (.. firebase -auth -TwitterAuthProvider))]
(.. @firebase-instance auth (signInWithRedirect provider)))))
(re-frame/reg-fx
::link-with-twitter
(fn [_]
- (let [provider (new (.. js/firebase -auth -TwitterAuthProvider))]
+ (let [provider (new (.. firebase -auth -TwitterAuthProvider))]
(.. @firebase-instance auth -currentUser (linkWithRedirect provider)))))
(re-frame/reg-fx
diff --git a/front-end/src/cljs/vr_match/effects.cljs b/front-end/src/cljs/vr_match/effects.cljs
index f744d330..b28d1dd1 100644
--- a/front-end/src/cljs/vr_match/effects.cljs
+++ b/front-end/src/cljs/vr_match/effects.cljs
@@ -5,7 +5,7 @@
[re-frame.db :as db]
[pushy.core :as pushy]))
-(goog-define worker-resource-path "/static/worker/js/compiled/worker.js")
+(goog-define worker-resource-path "/static/js/compiled/worker.js")
(re-frame/reg-fx
::set-localstorage
diff --git a/front-end/src/cljs/vr_match/favorite/component.cljs b/front-end/src/cljs/vr_match/favorite/component.cljs
index 84dfb7f2..9a1d4a89 100644
--- a/front-end/src/cljs/vr_match/favorite/component.cljs
+++ b/front-end/src/cljs/vr_match/favorite/component.cljs
@@ -4,7 +4,7 @@
[vr-match.lib.component :refer [navigation-bar-layout]]
[vr-match.lib.components.linear-progress :refer [linear-progress]]
[vr-match.lib.components.progress-button :refer [progress-button]]
- ["material-ui"]
+ ["@material-ui/core/List" :as List]
[vr-match.lib.components.user-list-item :refer [user-list-item]]))
(defn- component-did-mount
@@ -27,7 +27,7 @@
[:div {:style {:padding "8px"}}
(when isLoading
[linear-progress])
- [:> js/MaterialUI.List
+ [:> List
(map (fn [{:keys [id name platforms images introduction]}]
^{:key id}
[:div {:style {:margin-bottom "16px"}}
diff --git a/front-end/src/cljs/vr_match/favorited_from_users/component.cljs b/front-end/src/cljs/vr_match/favorited_from_users/component.cljs
index e0d0bdb8..55e33f15 100644
--- a/front-end/src/cljs/vr_match/favorited_from_users/component.cljs
+++ b/front-end/src/cljs/vr_match/favorited_from_users/component.cljs
@@ -4,7 +4,7 @@
[vr-match.lib.component :refer [navigation-bar-layout]]
[vr-match.lib.components.linear-progress :refer [linear-progress]]
[vr-match.lib.components.progress-button :refer [progress-button]]
- ["material-ui"]
+ ["@material-ui/core/List" :as List]
[vr-match.lib.components.user-list-item :refer [user-list-item]]))
(defn- component-did-mount
@@ -27,7 +27,7 @@
[:div {:style {:padding "8px"}}
(when isLoading
[linear-progress])
- [:> js/MaterialUI.List
+ [:> List
(map (fn [{:keys [id name platforms images introduction]}]
^{:key id}
[:div {:style {:margin-bottom "16px"}}
diff --git a/front-end/src/cljs/vr_match/lib/components/header.cljs b/front-end/src/cljs/vr_match/lib/components/header.cljs
index acbe75d2..2991e641 100644
--- a/front-end/src/cljs/vr_match/lib/components/header.cljs
+++ b/front-end/src/cljs/vr_match/lib/components/header.cljs
@@ -52,7 +52,7 @@
:aria-label "Menu"
:on-click (if isOpen handleClickClose handleOpenDrawer)}
[mui/icon "menu"]]
- [mui/typo-graphy {:variant "title"
+ [mui/typo-graphy {:variant "h6"
:color "inherit"
:style {:flex-grow 1}}
title]]]]
diff --git a/front-end/src/cljs/vr_match/lib/components/linear_progress.cljs b/front-end/src/cljs/vr_match/lib/components/linear_progress.cljs
index 1e77ef9e..e9b6c59a 100644
--- a/front-end/src/cljs/vr_match/lib/components/linear_progress.cljs
+++ b/front-end/src/cljs/vr_match/lib/components/linear_progress.cljs
@@ -1,7 +1,7 @@
(ns vr-match.lib.components.linear-progress
(:require
[reagent.core :as r]
- ["material-ui"]
+ ["@material-ui/core/LinearProgress" :as LinearProgress]
[vr-match.lib.components.elevation :as elevation]))
(defn linear-progress []
@@ -9,4 +9,4 @@
:position "fixed"
:top 0
:z-index elevation/linear-progress}}
- [:> js/MaterialUI.LinearProgress]])
+ [:> LinearProgress]])
diff --git a/front-end/src/cljs/vr_match/lib/components/material_ui.cljs b/front-end/src/cljs/vr_match/lib/components/material_ui.cljs
index a276bb00..74297687 100644
--- a/front-end/src/cljs/vr_match/lib/components/material_ui.cljs
+++ b/front-end/src/cljs/vr_match/lib/components/material_ui.cljs
@@ -2,60 +2,58 @@
(:refer-clojure :exclude [list])
(:require
[reagent.core :as r]
- ;; [reagent.impl.template :as rtpl]
- ;; ["material-ui/styles" :refer [withStyles]]
- ;; material-ui のバージョンアップによって変わったのか、 js/material_ui ではなく js/MaterialUI にモジュールが展開されるようになっていた
- ["material-ui"]
- ["material-ui/styles"]
- ["material-ui/colors"]))
+ ["@material-ui/core" :as mui]
+ ["@material-ui/core/styles" :refer [withStyles createTheme createGenerateClassName MuiThemeProvider]]
+ ["@material-ui/core/colors" :as colors]))
-;; material-ui
-(def app-bar (r/adapt-react-class js/MaterialUI.AppBar))
-(def tool-bar (r/adapt-react-class js/MaterialUI.Toolbar))
-(def typo-graphy (r/adapt-react-class js/MaterialUI.Typography))
-(def icon-button (r/adapt-react-class js/MaterialUI.IconButton))
-(def icon (r/adapt-react-class js/MaterialUI.Icon))
-(def no-ssr (r/adapt-react-class js/MaterialUI.NoSsr))
-(def card (r/adapt-react-class js/MaterialUI.Card))
-(def card-action-area (r/adapt-react-class js/MaterialUI.CardActionArea))
-(def card-actions (r/adapt-react-class js/MaterialUI.CardActions))
-(def card-media (r/adapt-react-class js/MaterialUI.CardMedia))
-(def card-content (r/adapt-react-class js/MaterialUI.CardContent))
-(def checkbox (r/adapt-react-class js/MaterialUI.Checkbox))
-(def grid (r/adapt-react-class js/MaterialUI.Grid))
-(def button (r/adapt-react-class js/MaterialUI.Button))
-(def button-base (r/adapt-react-class js/MaterialUI.ButtonBase))
-(def switch (r/adapt-react-class js/MaterialUI.Switch))
-(def slide (r/adapt-react-class js/MaterialUI.Slide))
-(def fade (r/adapt-react-class js/MaterialUI.Fade))
-(def chip (r/adapt-react-class js/MaterialUI.Chip))
-(def divider (r/adapt-react-class js/MaterialUI.Divider))
-(def avatar (r/adapt-react-class js/MaterialUI.Avatar))
-(def dialog (r/adapt-react-class js/MaterialUI.Dialog))
-(def dialog-title (r/adapt-react-class js/MaterialUI.DialogTitle))
-(def dialog-content (r/adapt-react-class js/MaterialUI.DialogContent))
-(def dialog-content-text (r/adapt-react-class js/MaterialUI.DialogContentText))
-(def dialog-actions (r/adapt-react-class js/MaterialUI.DialogActions))
-(def drawer (r/adapt-react-class js/MaterialUI.Drawer))
-(def form-control (r/adapt-react-class js/MaterialUI.FormControl))
-(def form-control-label (r/adapt-react-class js/MaterialUI.FormControlLabel))
-(def text-field (r/adapt-react-class js/MaterialUI.TextField))
-(def list (r/adapt-react-class js/MaterialUI.List))
-(def list-item (r/adapt-react-class js/MaterialUI.ListItem))
-(def list-item-avatar (r/adapt-react-class js/MaterialUI.ListItemAvatar))
-(def list-item-text (r/adapt-react-class js/MaterialUI.ListItemText))
-(def list-item-icon (r/adapt-react-class js/MaterialUI.ListItemIcon))
-(def list-item-secondary-action (r/adapt-react-class js/MaterialUI.ListItemSecondaryAction))
-(def list-subheader (r/adapt-react-class js/MaterialUI.ListSubheader))
+;; material-ui/core
+(def app-bar (r/adapt-react-class (.-AppBar mui)))
+(def tool-bar (r/adapt-react-class (.-Toolbar mui)))
+(def typo-graphy (r/adapt-react-class (.-Typography mui)))
+(def icon-button (r/adapt-react-class (.-IconButton mui)))
+(def icon (r/adapt-react-class (.-Icon mui)))
+(def no-ssr (r/adapt-react-class (.-NoSsr mui)))
+(def card (r/adapt-react-class (.-Card mui)))
+(def card-action-area (r/adapt-react-class (.-CardActionArea mui)))
+(def card-actions (r/adapt-react-class (.-CardActions mui)))
+(def card-media (r/adapt-react-class (.-CardMedia mui)))
+(def card-content (r/adapt-react-class (.-CardContent mui)))
+(def checkbox (r/adapt-react-class (.-Checkbox mui)))
+(def grid (r/adapt-react-class (.-Grid mui)))
+(def button (r/adapt-react-class (.-Button mui)))
+(def button-base (r/adapt-react-class (.-ButtonBase mui)))
+(def switch (r/adapt-react-class (.-Switch mui)))
+(def slide (r/adapt-react-class (.-Slide mui)))
+(def fade (r/adapt-react-class (.-Fade mui)))
+(def chip (r/adapt-react-class (.-Chip mui)))
+(def divider (r/adapt-react-class (.-Divider mui)))
+(def avatar (r/adapt-react-class (.-Avatar mui)))
+(def dialog (r/adapt-react-class (.-Dialog mui)))
+(def dialog-title (r/adapt-react-class (.-DialogTitle mui)))
+(def dialog-content (r/adapt-react-class (.-DialogContent mui)))
+(def dialog-content-text (r/adapt-react-class (.-DialogContentText mui)))
+(def dialog-actions (r/adapt-react-class (.-DialogActions mui)))
+(def drawer (r/adapt-react-class (.-Drawer mui)))
+(def form-control (r/adapt-react-class (.-FormControl mui)))
+(def form-control-label (r/adapt-react-class (.-FormControlLabel mui)))
+(def text-field (r/adapt-react-class (.-TextField mui)))
+(def list (r/adapt-react-class (.-List mui)))
+(def list-item (r/adapt-react-class (.-ListItem mui)))
+(def list-item-avatar (r/adapt-react-class (.-ListItemAvatar mui)))
+(def list-item-text (r/adapt-react-class (.-ListItemText mui)))
+(def list-item-icon (r/adapt-react-class (.-ListItemIcon mui)))
+(def list-item-secondary-action (r/adapt-react-class (.-ListItemSecondaryAction mui)))
+(def list-subheader (r/adapt-react-class (.-ListSubheader mui)))
+(def fab (r/adapt-react-class (.-Fab mui)))
;; material-ui/styles
-(def with-styles (.-withStyles js/MaterialUIStyles))
-(def create-mui-theme (.-createMuiTheme js/MaterialUIStyles))
-(def create-generate-class-name (.-createGenerateClassName js/MaterialUIStyles))
-(def MuiThemeProvider (-> (.-MuiThemeProvider js/MaterialUIStyles) r/adapt-react-class))
+(def with-styles withStyles)
+(def create-theme createTheme)
+(def create-generate-class-name createGenerateClassName)
+(def MuiThemeProvider (r/adapt-react-class MuiThemeProvider))
;; material-ui/colors
-(def mui-color-red (.-red js/MaterialUIColors))
+(def mui-color-red (.-red colors))
(def primary-color "#ef5350")
(def secondary-color mui-color-red)
@@ -64,7 +62,8 @@
(def skip-color "#e0e0e0")
(defn theme []
- (create-mui-theme
- #js {"palette"
- #js {"primary" #js {"main" primary-color}
- "secondary" secondary-color}}))
+ (create-theme
+ #js {:palette
+ #js {:primary
+ #js {:main primary-color}
+ :secondary secondary-color}}))
diff --git a/front-end/src/cljs/vr_match/lib/components/progress_button.cljs b/front-end/src/cljs/vr_match/lib/components/progress_button.cljs
index afd6ea15..e55736de 100644
--- a/front-end/src/cljs/vr_match/lib/components/progress_button.cljs
+++ b/front-end/src/cljs/vr_match/lib/components/progress_button.cljs
@@ -1,17 +1,19 @@
(ns vr-match.lib.components.progress-button
- (:require ["material-ui"]))
+ (:require
+ ["@material-ui/core/Button" :as Button]
+ ["@material-ui/core/CircularProgress" :as CircularProgress]))
(defn progress-button
[{:keys [loading?] :as props} children]
[:div {:style {:position "relative"}}
- [:> js/MaterialUI.Button (-> props
- (dissoc :loading?)
- (assoc :disabled loading?))
+ [:> Button (-> props
+ (dissoc :loading?)
+ (assoc :disabled loading?))
children]
(when loading?
- [:> js/MaterialUI.CircularProgress {:size 24
- :style {:position "absolute"
- :top "50%"
- :left "50%"
- :margin-top "-12"
- :margin-left "-12"}}])])
+ [:> CircularProgress {:size 24
+ :style {:position "absolute"
+ :top "50%"
+ :left "50%"
+ :margin-top "-12"
+ :margin-left "-12"}}])])
diff --git a/front-end/src/cljs/vr_match/matching/component.cljs b/front-end/src/cljs/vr_match/matching/component.cljs
index cda6e80b..d844c308 100644
--- a/front-end/src/cljs/vr_match/matching/component.cljs
+++ b/front-end/src/cljs/vr_match/matching/component.cljs
@@ -4,7 +4,7 @@
[vr-match.lib.component :refer [navigation-bar-layout]]
[vr-match.lib.components.linear-progress :refer [linear-progress]]
[vr-match.lib.components.progress-button :refer [progress-button]]
- ["material-ui"]
+ ["@material-ui/core/List" :as List]
[vr-match.lib.components.user-list-item :refer [user-list-item]]))
(defn- component-did-mount
@@ -26,7 +26,7 @@
[:div {:style {:padding "8px"}}
(when isLoading
[linear-progress])
- [:> js/MaterialUI.List
+ [:> List
(map (fn [{:keys [id name platforms images introduction]}]
^{:key id}
[:div {:style {:margin-bottom "16px"}}
diff --git a/front-end/src/cljs/vr_match/mypage/components/edit_platform_dialog.cljs b/front-end/src/cljs/vr_match/mypage/components/edit_platform_dialog.cljs
index a5efd87b..2a733006 100644
--- a/front-end/src/cljs/vr_match/mypage/components/edit_platform_dialog.cljs
+++ b/front-end/src/cljs/vr_match/mypage/components/edit_platform_dialog.cljs
@@ -4,7 +4,12 @@
[reagent.core :as r]
[vr-match.lib.models.platform :as platform-model]
[vr-match.mypage.components.platform-expansion-panel :as platform-expansion-panel]
- ["material-ui"]))
+ ["@material-ui/core/Dialog" :as Dialog]
+ ["@material-ui/core/DialogTitle" :as DialogTitle]
+ ["@material-ui/core/DialogContent" :as DialogContent]
+ ["@material-ui/core/DialogActions" :as DialogActions]
+ ["@material-ui/core/Button" :as Button]
+ ["@material-ui/core/Icon" :as Icon]))
(s/def ::platforms (s/coll-of ::platform-model/platForm))
@@ -108,12 +113,12 @@
platformOptions
handleSubmit
handleCancel]}]
- [:> js/MaterialUI.Dialog {:open isOpen
+ [:> Dialog {:open isOpen
:onClose handleCancel
:aria-labelledby "活動場所を編集"
:full-screen true}
- [:> js/MaterialUI.DialogTitle "活動場所を編集"]
- [:> js/MaterialUI.DialogContent
+ [:> DialogTitle "活動場所を編集"]
+ [:> DialogContent
[:<>
[:ul
(->> @draft-platforms
@@ -144,7 +149,7 @@
%)}]]))
doall)]
[:div {:style {:margin-top "16px"}}
- [:> js/MaterialUI.Button
+ [:> Button
{:color "primary"
:variant "contained"
:size "large"
@@ -156,13 +161,13 @@
@draft-platforms
platformOptions)
not)}
- [:> js/MaterialUI.Icon
+ [:> Icon
"add"]]]]]
- [:> js/MaterialUI.DialogActions
- [:> js/MaterialUI.Button {:on-click (fn []
+ [:> DialogActions
+ [:> Button {:on-click (fn []
(handleCancel)
(reset! draft-platforms platforms))}
"キャンセル"]
- [:> js/MaterialUI.Button {:on-click #(handleSubmit @draft-platforms)
+ [:> Button {:on-click #(handleSubmit @draft-platforms)
:color "primary"}
"決定"]]])})))
diff --git a/front-end/src/cljs/vr_match/mypage/components/platform_expansion_panel.cljs b/front-end/src/cljs/vr_match/mypage/components/platform_expansion_panel.cljs
index 89460b4f..954f73a3 100644
--- a/front-end/src/cljs/vr_match/mypage/components/platform_expansion_panel.cljs
+++ b/front-end/src/cljs/vr_match/mypage/components/platform_expansion_panel.cljs
@@ -2,7 +2,18 @@
(:require [cljs.spec.alpha :as s]
[reagent.core :as r]
[vr-match.lib.models.platform :as platform-model]
- ["material-ui"]))
+ ["@material-ui/core/ExpansionPanel" :as ExpansionPanel]
+ ["@material-ui/core/ExpansionPanelSummary" :as ExpansionPanelSummary]
+ ["@material-ui/core/ExpansionPanelDetails" :as ExpansionPanelDetails]
+ ["@material-ui/core/ExpansionPanelActions" :as ExpansionPanelActions]
+ ["@material-ui/core/Typography" :as Typography]
+ ["@material-ui/core/Icon" :as Icon]
+ ["@material-ui/core/FormControl" :as FormControl]
+ ["@material-ui/core/InputLabel" :as InputLabel]
+ ["@material-ui/core/Select" :as Select]
+ ["@material-ui/core/MenuItem" :as MenuItem]
+ ["@material-ui/core/TextField" :as TextField]
+ ["@material-ui/core/IconButton" :as IconButton]))
(s/def ::name string?)
(s/def ::id number?)
@@ -46,20 +57,20 @@
handleChangePlatform
handleClickDelete
handleChangePlatformUserId]}]
- [:> js/MaterialUI.ExpansionPanel
- [:> js/MaterialUI.ExpansionPanelSummary
+ [:> ExpansionPanel
+ [:> ExpansionPanelSummary
{:expand-icon (r/as-element
- [:> js/MaterialUI.Icon "expand_more"])}
- [:> js/MaterialUI.Typography
+ [:> Icon "expand_more"])}
+ [:> Typography
(-> platform :name)]]
- [:> js/MaterialUI.ExpansionPanelDetails
+ [:> ExpansionPanelDetails
[:form {:style {:width "100%"}}
- [:> js/MaterialUI.FormControl
+ [:> FormControl
{:full-width true}
- [:> js/MaterialUI.InputLabel
+ [:> InputLabel
{:html-for (str "platform-selector-" platformIdx)}
"活動場所"]
- [:> js/MaterialUI.Select
+ [:> Select
{:value (-> platform :id)
:onChange handleChangePlatform
:full-width true
@@ -68,11 +79,11 @@
(map (fn [{:keys [id
name] :as option}]
^{:key id}
- [:> js/MaterialUI.MenuItem
+ [:> MenuItem
{:value id}
name])
platformOptions)]
- [:> js/MaterialUI.TextField
+ [:> TextField
{:label "ID"
:margin "dense"
:type "text"
@@ -82,8 +93,8 @@
:placeholder (platform->placeholder
platform
platformOptions)}]]]]
- [:> js/MaterialUI.ExpansionPanelActions
- [:> js/MaterialUI.IconButton
+ [:> ExpansionPanelActions
+ [:> IconButton
{:on-click handleClickDelete}
- [:> js/MaterialUI.Icon
+ [:> Icon
"delete"]]]]))
diff --git a/front-end/src/cljs/vr_match/setting/components/cannot_unlink_third_party_alert.cljs b/front-end/src/cljs/vr_match/setting/components/cannot_unlink_third_party_alert.cljs
index 37bdd7d8..ce2eb7f8 100644
--- a/front-end/src/cljs/vr_match/setting/components/cannot_unlink_third_party_alert.cljs
+++ b/front-end/src/cljs/vr_match/setting/components/cannot_unlink_third_party_alert.cljs
@@ -1,19 +1,24 @@
(ns vr-match.setting.components.cannot-unlink-third-party-alert
(:require [reagent.core :as r]
- ["material-ui"]))
+ ["@material-ui/core/Dialog" :as Dialog]
+ ["@material-ui/core/DialogTitle" :as DialogTitle]
+ ["@material-ui/core/DialogContent" :as DialogContent]
+ ["@material-ui/core/DialogContentText" :as DialogContentText]
+ ["@material-ui/core/DialogActions" :as DialogActions]
+ ["@material-ui/core/Button" :as Button]))
(defn cannot-unlink-third-party-alert
[{:keys [isOpen
handleClose] :as props}]
(let [title "全ての認証先を解除することはできません"
content "この認証を無効にしたい場合、代わりに他の認証を有効にしてください"]
- [:> js/MaterialUI.Dialog {:open isOpen
+ [:> Dialog {:open isOpen
:onClose handleClose
:aria-labelledby title
:aria-describedby content}
- [:> js/MaterialUI.DialogTitle title]
- [:> js/MaterialUI.DialogContent
- [:> js/MaterialUI.DialogContentText content]]
- [:> js/MaterialUI.DialogActions
- [:> js/MaterialUI.Button {:onClick handleClose}
+ [:> DialogTitle title]
+ [:> DialogContent
+ [:> DialogContentText content]]
+ [:> DialogActions
+ [:> Button {:onClick handleClose}
"閉じる"]]]))
diff --git a/front-end/src/cljs/vr_match/setting/components/unlink_confirmation_alert.cljs b/front-end/src/cljs/vr_match/setting/components/unlink_confirmation_alert.cljs
index 8bfb584a..fcf087ae 100644
--- a/front-end/src/cljs/vr_match/setting/components/unlink_confirmation_alert.cljs
+++ b/front-end/src/cljs/vr_match/setting/components/unlink_confirmation_alert.cljs
@@ -1,6 +1,9 @@
(ns vr-match.setting.components.unlink-confirmation-alert
(:require [reagent.core :as r]
- ["material-ui"]))
+ ["@material-ui/core/Dialog" :as Dialog]
+ ["@material-ui/core/DialogTitle" :as DialogTitle]
+ ["@material-ui/core/DialogActions" :as DialogActions]
+ ["@material-ui/core/Button" :as Button]))
(defn unlink-confirmation-alert
[{:keys [isOpen
@@ -9,13 +12,13 @@
handleSubmit] :as props}]
(let [title (get {"twitter.com" "Twitterとの連携を解除しますか?"
"password" "登録されたEmailアドレスを削除し、認証を無効化しますか?"} thirdPartyId)]
- [:> js/MaterialUI.Dialog {:open isOpen
+ [:> Dialog {:open isOpen
:onClose handleClose
:aria-labelledby title}
- [:> js/MaterialUI.DialogTitle title]
- [:> js/MaterialUI.DialogActions
- [:> js/MaterialUI.Button {:onClick handleClose}
+ [:> DialogTitle title]
+ [:> DialogActions
+ [:> Button {:onClick handleClose}
"キャンセル"]
- [:> js/MaterialUI.Button {:onClick handleSubmit
+ [:> Button {:onClick handleSubmit
:color "primary"}
"OK"]]]))
diff --git a/front-end/src/cljs-worker/vr_match/worker.cljs b/front-end/src/cljs/vr_match/worker.cljs
similarity index 81%
rename from front-end/src/cljs-worker/vr_match/worker.cljs
rename to front-end/src/cljs/vr_match/worker.cljs
index 81d18e43..fb8a521d 100644
--- a/front-end/src/cljs-worker/vr_match/worker.cljs
+++ b/front-end/src/cljs/vr_match/worker.cljs
@@ -7,7 +7,7 @@
[payload]
(some-> payload
pr-str
- js/postMessage))
+ (.postMessage js/self)))
(defn- event->payload
[event]
@@ -27,7 +27,7 @@
(response {:handler (-> payload :error-handler)
:response (-> res second :response)}))
-(defn on-message
+(defn handle-message
[e]
(let [payload (event->payload e)
handler #(handle-response payload %)]
@@ -37,4 +37,7 @@
(assoc :handler handler)
ajax-request)))
-(set! (.-onmessage js/self) on-message)
+;; shadow-cljsのWeb Worker初期化関数
+(defn init []
+ (js/console.log "Web Worker initialized")
+ (.addEventListener js/self "message" handle-message))
\ No newline at end of file
diff --git a/front-end/workbox-config.js b/front-end/workbox-config.js
index 5c6b62d7..efbacedc 100644
--- a/front-end/workbox-config.js
+++ b/front-end/workbox-config.js
@@ -1,12 +1,12 @@
module.exports = {
- "globDirectory": "resources/public/prod",
+ "globDirectory": "resources/public",
"globPatterns": [
"js/compiled/*.js"
],
"modifyUrlPrefix": {
"js/compiled": "/static/js/compiled",
},
- "swDest": "resources/public/prod/sw.js",
+ "swDest": "resources/public/sw.js",
"runtimeCaching": [
{
"urlPattern": /\//,