diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 97b26aee..d8bf446b 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -28,10 +28,6 @@ jobs: - name: install app dependencies and info run: npm install && npm run tauri info - - name: fetch DevHub - run: | - curl -L --output DevHub.webhapp https://github.com/holochain/launcher/releases/download/v0.3.9/DevHub.webhapp - - name: download caddy (Windows only) if: matrix.platform == 'windows-2019' run: | @@ -64,6 +60,10 @@ jobs: # NEW_VERSION: install new holochain version and copy its binary to the tauri path + cargo install --locked --git https://github.com/guillemcordoba/holochain.git --rev f4873057ac7318fb6897690b78a4d82968253a4d holochain + $HcPath = Get-Command holochain | Select-Object -ExpandProperty Definition + Copy-Item $HcPath -Destination src-tauri/bins/holochain-v0.0.139-x86_64-pc-windows-msvc.exe + - name: download caddy (MacOS only) if: matrix.platform == 'macos-10.15' run: | @@ -96,6 +96,10 @@ jobs: HOLOCHAIN_PATH=$(which holochain) cp $HOLOCHAIN_PATH src-tauri/bins/holochain-v0.0.136-x86_64-apple-darwin + cargo install --locked --git https://github.com/guillemcordoba/holochain.git --rev f4873057ac7318fb6897690b78a4d82968253a4d holochain + HOLOCHAIN_PATH=$(which holochain) + cp $HOLOCHAIN_PATH src-tauri/bins/holochain-v0.0.139-x86_64-apple-darwin + # NEW_VERSION: install new holochain version and copy its binary to the tauri path - name: install dependencies (ubuntu only) @@ -140,6 +144,10 @@ jobs: HOLOCHAIN_PATH=$(which holochain) cp $HOLOCHAIN_PATH src-tauri/bins/holochain-v0.0.136-x86_64-unknown-linux-gnu + cargo install --locked --git https://github.com/guillemcordoba/holochain.git --rev f4873057ac7318fb6897690b78a4d82968253a4d holochain + HOLOCHAIN_PATH=$(which holochain) + cp $HOLOCHAIN_PATH src-tauri/bins/holochain-v0.0.139-x86_64-unknown-linux-gnu + # NEW_VERSION: install new holochain version and copy its binary to the tauri path - name: build the app diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index 36ad81c7..a5f702ea 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -32,9 +32,7 @@ jobs: curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list sudo apt update sudo apt install caddy - - name: fetch DevHub - run: | - curl -L --output DevHub.webhapp https://github.com/holochain/launcher/releases/download/v0.3.9/DevHub.webhapp + - name: install Holochain run: | mkdir src-tauri/bins @@ -64,5 +62,9 @@ jobs: # NEW_VERSION: install new holochain version and copy its binary to the tauri path + cargo install --locked --git https://github.com/guillemcordoba/holochain.git --rev f4873057ac7318fb6897690b78a4d82968253a4d holochain + HOLOCHAIN_PATH=$(which holochain) + cp $HOLOCHAIN_PATH src-tauri/bins/holochain-v0.0.139-x86_64-unknown-linux-gnu + - name: install app dependencies and build it run: npm install && npm run build diff --git a/Cargo.lock b/Cargo.lock index 30586460..3114d05d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1646,8 +1646,7 @@ dependencies = [ [[package]] name = "fixt" version = "0.0.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75c78774f8c0abdddea11ce78e2f834f5cafd8dcca79119aac75021348c4a4c0" +source = "git+https://github.com/guillemcordoba/holochain?rev=a60f227e75d510a2afc1914fdcedd6ebf754ea29#a60f227e75d510a2afc1914fdcedd6ebf754ea29" dependencies = [ "holochain_serialized_bytes", "lazy_static", @@ -1663,8 +1662,23 @@ dependencies = [ [[package]] name = "fixt" version = "0.0.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b373835cf6dc4e1b652ea0df87b28f07a455ad93406641b0ea671e65940d136" +source = "git+https://github.com/guillemcordoba/holochain?rev=af5db7e7f8ab77b95ed34ec8ed5ab3c733148e5e#af5db7e7f8ab77b95ed34ec8ed5ab3c733148e5e" +dependencies = [ + "holochain_serialized_bytes", + "lazy_static", + "parking_lot 0.10.2", + "paste", + "rand 0.7.3", + "rand_core 0.5.1", + "serde", + "strum 0.18.0", + "strum_macros 0.18.0", +] + +[[package]] +name = "fixt" +version = "0.0.10" +source = "git+https://github.com/guillemcordoba/holochain?rev=92f56b77d7914e99e4a2a600b372e960426af119#92f56b77d7914e99e4a2a600b372e960426af119" dependencies = [ "holochain_serialized_bytes", "lazy_static", @@ -1680,8 +1694,24 @@ dependencies = [ [[package]] name = "fixt" version = "0.0.10" +source = "git+https://github.com/guillemcordoba/holochain?rev=daad7d1e704547d85a58ecd4ae94949b52b91166#daad7d1e704547d85a58ecd4ae94949b52b91166" +dependencies = [ + "holochain_serialized_bytes", + "lazy_static", + "parking_lot 0.10.2", + "paste", + "rand 0.7.3", + "rand_core 0.5.1", + "serde", + "strum 0.18.0", + "strum_macros 0.18.0", +] + +[[package]] +name = "fixt" +version = "0.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ece95a4d857c96cd21e2492c9f05faf32847f9b567fbedfbaf02c3ebc5693950" +checksum = "01c2595b1aa6285f78dfbbb63e3f9d42ce3e886fb53af23468eb188bfe1017ad" dependencies = [ "holochain_serialized_bytes", "lazy_static", @@ -2306,9 +2336,9 @@ dependencies = [ [[package]] name = "hc_seed_bundle" -version = "0.1.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae01760e90dcdb62fb1b82ac79c8cf8da5cf727fc72efc771c59491d9a96a6bf" +checksum = "0cd58bbdef35b067ac8628d1aefab03083f95c976a592f3fb4c57afa8ab392eb" dependencies = [ "futures", "one_err", @@ -2346,8 +2376,7 @@ dependencies = [ [[package]] name = "holo_hash" version = "0.0.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1996c797ac295d79f884d263781c6ef3e0c63183af7d9f4e1d666c75e0d889ce" +source = "git+https://github.com/guillemcordoba/holochain?rev=a60f227e75d510a2afc1914fdcedd6ebf754ea29#a60f227e75d510a2afc1914fdcedd6ebf754ea29" dependencies = [ "arbitrary", "base64", @@ -2368,8 +2397,7 @@ dependencies = [ [[package]] name = "holo_hash" version = "0.0.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d0ccc68b3c7b63b82fc41ec03d4e921ab144102c6af763f8ce729709ca54ad2" +source = "git+https://github.com/guillemcordoba/holochain?rev=af5db7e7f8ab77b95ed34ec8ed5ab3c733148e5e#af5db7e7f8ab77b95ed34ec8ed5ab3c733148e5e" dependencies = [ "arbitrary", "base64", @@ -2390,17 +2418,16 @@ dependencies = [ [[package]] name = "holo_hash" version = "0.0.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2cefed409ac4996c4e9acbe6f00f6399a5862c1717b9ed36807052bff2d7d6ea" +source = "git+https://github.com/guillemcordoba/holochain?rev=daad7d1e704547d85a58ecd4ae94949b52b91166#daad7d1e704547d85a58ecd4ae94949b52b91166" dependencies = [ "arbitrary", "base64", "blake2b_simd 0.5.11", "derive_more", - "fixt 0.0.10", + "fixt 0.0.10 (git+https://github.com/guillemcordoba/holochain?rev=daad7d1e704547d85a58ecd4ae94949b52b91166)", "futures", "holochain_serialized_bytes", - "kitsune_p2p_dht_arc 0.0.11", + "kitsune_p2p_dht_arc 0.0.11 (git+https://github.com/guillemcordoba/holochain?rev=daad7d1e704547d85a58ecd4ae94949b52b91166)", "must_future", "rand 0.7.3", "rusqlite", @@ -2412,17 +2439,38 @@ dependencies = [ [[package]] name = "holo_hash" version = "0.0.23" +source = "git+https://github.com/guillemcordoba/holochain?rev=92f56b77d7914e99e4a2a600b372e960426af119#92f56b77d7914e99e4a2a600b372e960426af119" +dependencies = [ + "arbitrary", + "base64", + "blake2b_simd 0.5.11", + "derive_more", + "fixt 0.0.10 (git+https://github.com/guillemcordoba/holochain?rev=92f56b77d7914e99e4a2a600b372e960426af119)", + "futures", + "holochain_serialized_bytes", + "kitsune_p2p_dht_arc 0.0.11 (git+https://github.com/guillemcordoba/holochain?rev=92f56b77d7914e99e4a2a600b372e960426af119)", + "must_future", + "rand 0.7.3", + "rusqlite", + "serde", + "serde_bytes", + "thiserror", +] + +[[package]] +name = "holo_hash" +version = "0.0.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b514b5d8b2abbd203ac5921a50e0ae2a4673d72577e81d9308043195681fe2c" +checksum = "7a1b1c36e62a6d54082c2a049c93786663385d7825cd732731417525e53f4728" dependencies = [ "arbitrary", "base64", "blake2b_simd 0.5.11", "derive_more", - "fixt 0.0.10", + "fixt 0.0.11", "futures", "holochain_serialized_bytes", - "kitsune_p2p_dht_arc 0.0.11", + "kitsune_p2p_dht_arc 0.0.11 (registry+https://github.com/rust-lang/crates.io-index)", "must_future", "rand 0.7.3", "rusqlite", @@ -2433,7 +2481,7 @@ dependencies = [ [[package]] name = "holochain-launcher" -version = "0.4.7" +version = "0.4.8" dependencies = [ "async-trait", "base64", @@ -2464,12 +2512,12 @@ dependencies = [ [[package]] name = "holochain_client" version = "0.0.1" -source = "git+https://github.com/holochain/holochain-client-rust?rev=77fae4a989fd75d5a01580e0226f733a65a1716f#77fae4a989fd75d5a01580e0226f733a65a1716f" +source = "git+https://github.com/holochain/holochain-client-rust?rev=d647cc6c759e404df70cb497950b676e3498ca9b#d647cc6c759e404df70cb497950b676e3498ca9b" dependencies = [ "again", "anyhow", - "holochain_conductor_api 0.0.32", - "holochain_types 0.0.32", + "holochain_conductor_api 0.0.39", + "holochain_types 0.0.37", "holochain_websocket", "serde", "url", @@ -2478,8 +2526,7 @@ dependencies = [ [[package]] name = "holochain_conductor_api" version = "0.0.27" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "223f61cd61787a1cca15cebc294238cd4885e9194ef5c6fe820fdaf9256bd078" +source = "git+https://github.com/guillemcordoba/holochain?rev=a60f227e75d510a2afc1914fdcedd6ebf754ea29#a60f227e75d510a2afc1914fdcedd6ebf754ea29" dependencies = [ "derive_more", "directories 2.0.2", @@ -2502,8 +2549,7 @@ dependencies = [ [[package]] name = "holochain_conductor_api" version = "0.0.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8beaf0666a410c514c967cc3f2ac32b03586309b1bf486bc2cd82a70a8c2db1f" +source = "git+https://github.com/guillemcordoba/holochain?rev=af5db7e7f8ab77b95ed34ec8ed5ab3c733148e5e#af5db7e7f8ab77b95ed34ec8ed5ab3c733148e5e" dependencies = [ "derive_more", "directories 2.0.2", @@ -2526,8 +2572,7 @@ dependencies = [ [[package]] name = "holochain_conductor_api" version = "0.0.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91610a75cfbeb8ae1e521445cfc2ec59ff52da3633c8f8c2cc380ba86b09dcdb" +source = "git+https://github.com/guillemcordoba/holochain?rev=daad7d1e704547d85a58ecd4ae94949b52b91166#daad7d1e704547d85a58ecd4ae94949b52b91166" dependencies = [ "derive_more", "directories 2.0.2", @@ -2550,8 +2595,7 @@ dependencies = [ [[package]] name = "holochain_conductor_api" version = "0.0.36" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ff2cac9fa47601b87cf87ffac77e936b9193d303e5a8e4b98d4b5fdc9c3069f" +source = "git+https://github.com/guillemcordoba/holochain?rev=92f56b77d7914e99e4a2a600b372e960426af119#92f56b77d7914e99e4a2a600b372e960426af119" dependencies = [ "derive_more", "directories 2.0.2", @@ -2571,11 +2615,34 @@ dependencies = [ "url2", ] +[[package]] +name = "holochain_conductor_api" +version = "0.0.39" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4d5a8443aef9c54bf6389091639a1ccbd042d165d8dc172249742ea3cce45ac1" +dependencies = [ + "derive_more", + "directories 2.0.2", + "holo_hash 0.0.25", + "holochain_p2p 0.0.37", + "holochain_serialized_bytes", + "holochain_state 0.0.39", + "holochain_types 0.0.37", + "holochain_zome_types 0.0.33", + "kitsune_p2p 0.0.32", + "serde", + "serde_derive", + "serde_yaml", + "structopt", + "thiserror", + "tracing", + "url2", +] + [[package]] name = "holochain_integrity_types" version = "0.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef42ec42726fc1c1a64a6933534859769987caa6d21ca3ddf89833891075076f" +source = "git+https://github.com/guillemcordoba/holochain?rev=92f56b77d7914e99e4a2a600b372e960426af119#92f56b77d7914e99e4a2a600b372e960426af119" dependencies = [ "arbitrary", "holo_hash 0.0.23", @@ -2587,11 +2654,26 @@ dependencies = [ "tracing", ] +[[package]] +name = "holochain_integrity_types" +version = "0.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6aa5a3f796a046e91aca097cb426442e60f0af3e2ed84a434c8d58c73cbd704" +dependencies = [ + "arbitrary", + "holo_hash 0.0.25", + "holochain_serialized_bytes", + "kitsune_p2p_timestamp 0.0.9", + "serde", + "serde_bytes", + "subtle", + "tracing", +] + [[package]] name = "holochain_keystore" version = "0.0.27" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a17a9d3d32750774bda5397708c8a81432800dc0c1a786b21d2db12b2a760dfa" +source = "git+https://github.com/guillemcordoba/holochain?rev=a60f227e75d510a2afc1914fdcedd6ebf754ea29#a60f227e75d510a2afc1914fdcedd6ebf754ea29" dependencies = [ "base64", "ghost_actor 0.3.0-alpha.4", @@ -2614,8 +2696,7 @@ dependencies = [ [[package]] name = "holochain_keystore" version = "0.0.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2092a63950a9f11ccfc8972c8a80a1a1e504ae9a59ed6aa638ac55970817f86d" +source = "git+https://github.com/guillemcordoba/holochain?rev=af5db7e7f8ab77b95ed34ec8ed5ab3c733148e5e#af5db7e7f8ab77b95ed34ec8ed5ab3c733148e5e" dependencies = [ "base64", "ghost_actor 0.3.0-alpha.4", @@ -2638,8 +2719,7 @@ dependencies = [ [[package]] name = "holochain_keystore" version = "0.0.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d93efbb92edbecab38e1815109a601cb595f11e37db21c743ea0b166ebadbe4" +source = "git+https://github.com/guillemcordoba/holochain?rev=daad7d1e704547d85a58ecd4ae94949b52b91166#daad7d1e704547d85a58ecd4ae94949b52b91166" dependencies = [ "base64", "ghost_actor 0.3.0-alpha.4", @@ -2647,7 +2727,7 @@ dependencies = [ "holochain_serialized_bytes", "holochain_sqlite 0.0.32", "holochain_zome_types 0.0.28", - "kitsune_p2p_types 0.0.22", + "kitsune_p2p_types 0.0.22 (git+https://github.com/guillemcordoba/holochain?rev=daad7d1e704547d85a58ecd4ae94949b52b91166)", "lair_keystore_client", "nanoid 0.4.0", "one_err", @@ -2662,8 +2742,7 @@ dependencies = [ [[package]] name = "holochain_keystore" version = "0.0.35" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0079db064105fe4d28e626bf455501f7a2d90e192544bb05deed00877501ae64" +source = "git+https://github.com/guillemcordoba/holochain?rev=92f56b77d7914e99e4a2a600b372e960426af119#92f56b77d7914e99e4a2a600b372e960426af119" dependencies = [ "base64", "ghost_actor 0.3.0-alpha.4", @@ -2671,7 +2750,31 @@ dependencies = [ "holochain_serialized_bytes", "holochain_sqlite 0.0.35", "holochain_zome_types 0.0.31", - "kitsune_p2p_types 0.0.22", + "kitsune_p2p_types 0.0.22 (git+https://github.com/guillemcordoba/holochain?rev=92f56b77d7914e99e4a2a600b372e960426af119)", + "lair_keystore_client", + "nanoid 0.4.0", + "one_err", + "serde", + "serde_bytes", + "sodoken", + "thiserror", + "tokio", + "tracing", +] + +[[package]] +name = "holochain_keystore" +version = "0.0.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9e99444d6f90f68f2b2907ebdc2acf47c70481726282115e685e930d12121b1" +dependencies = [ + "base64", + "ghost_actor 0.3.0-alpha.4", + "holo_hash 0.0.25", + "holochain_serialized_bytes", + "holochain_sqlite 0.0.37", + "holochain_zome_types 0.0.33", + "kitsune_p2p_types 0.0.24", "lair_keystore_client", "nanoid 0.4.0", "one_err", @@ -2695,17 +2798,20 @@ dependencies = [ "holochain_conductor_api 0.0.31", "holochain_conductor_api 0.0.32", "holochain_conductor_api 0.0.36", + "holochain_conductor_api 0.0.39", "holochain_p2p 0.0.27", "holochain_p2p 0.0.31", "holochain_p2p 0.0.32", "holochain_p2p 0.0.35", + "holochain_p2p 0.0.37", "holochain_types 0.0.27", "holochain_types 0.0.31", "holochain_types 0.0.32", "holochain_types 0.0.35", + "holochain_types 0.0.37", "lair_keystore_manager", "log", - "mr_bundle 0.0.9", + "mr_bundle 0.0.9 (registry+https://github.com/rust-lang/crates.io-index)", "portpicker", "serde", "serde-enum-str", @@ -2718,8 +2824,7 @@ dependencies = [ [[package]] name = "holochain_p2p" version = "0.0.27" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13f9884dfd0ebbf101f6889ee3e1286ce80f97713e553b2c56047db1607aa5be" +source = "git+https://github.com/guillemcordoba/holochain?rev=a60f227e75d510a2afc1914fdcedd6ebf754ea29#a60f227e75d510a2afc1914fdcedd6ebf754ea29" dependencies = [ "async-trait", "fixt 0.0.8", @@ -2747,8 +2852,7 @@ dependencies = [ [[package]] name = "holochain_p2p" version = "0.0.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "306099fc35d23fb47053377b42e443a4ed9d77700d747e6cacea95a05d9a78dd" +source = "git+https://github.com/guillemcordoba/holochain?rev=af5db7e7f8ab77b95ed34ec8ed5ab3c733148e5e#af5db7e7f8ab77b95ed34ec8ed5ab3c733148e5e" dependencies = [ "async-trait", "fixt 0.0.9", @@ -2758,7 +2862,7 @@ dependencies = [ "holochain_keystore 0.0.31", "holochain_serialized_bytes", "holochain_types 0.0.31", - "holochain_util 0.0.9", + "holochain_util 0.0.9 (git+https://github.com/guillemcordoba/holochain?rev=af5db7e7f8ab77b95ed34ec8ed5ab3c733148e5e)", "holochain_zome_types 0.0.27", "kitsune_p2p 0.0.27", "kitsune_p2p_types 0.0.21", @@ -2776,21 +2880,20 @@ dependencies = [ [[package]] name = "holochain_p2p" version = "0.0.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2dfb5c98f47319ba797c07e519e7385333ef2fd77a1cb59ae9b6ef5d593f2a4" +source = "git+https://github.com/guillemcordoba/holochain?rev=daad7d1e704547d85a58ecd4ae94949b52b91166#daad7d1e704547d85a58ecd4ae94949b52b91166" dependencies = [ "async-trait", - "fixt 0.0.10", + "fixt 0.0.10 (git+https://github.com/guillemcordoba/holochain?rev=daad7d1e704547d85a58ecd4ae94949b52b91166)", "futures", "ghost_actor 0.3.0-alpha.4", "holo_hash 0.0.22", "holochain_keystore 0.0.32", "holochain_serialized_bytes", "holochain_types 0.0.32", - "holochain_util 0.0.9", + "holochain_util 0.0.9 (git+https://github.com/guillemcordoba/holochain?rev=daad7d1e704547d85a58ecd4ae94949b52b91166)", "holochain_zome_types 0.0.28", "kitsune_p2p 0.0.28", - "kitsune_p2p_types 0.0.22", + "kitsune_p2p_types 0.0.22 (git+https://github.com/guillemcordoba/holochain?rev=daad7d1e704547d85a58ecd4ae94949b52b91166)", "mockall", "observability", "rand 0.7.3", @@ -2805,21 +2908,49 @@ dependencies = [ [[package]] name = "holochain_p2p" version = "0.0.35" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7a3a3e767764f6de57454a36874440c27505127c0dfbd783a8c92a6666b50a3" +source = "git+https://github.com/guillemcordoba/holochain?rev=92f56b77d7914e99e4a2a600b372e960426af119#92f56b77d7914e99e4a2a600b372e960426af119" dependencies = [ "async-trait", - "fixt 0.0.10", + "fixt 0.0.10 (git+https://github.com/guillemcordoba/holochain?rev=92f56b77d7914e99e4a2a600b372e960426af119)", "futures", "ghost_actor 0.3.0-alpha.4", "holo_hash 0.0.23", "holochain_keystore 0.0.35", "holochain_serialized_bytes", "holochain_types 0.0.35", - "holochain_util 0.0.9", + "holochain_util 0.0.9 (git+https://github.com/guillemcordoba/holochain?rev=92f56b77d7914e99e4a2a600b372e960426af119)", "holochain_zome_types 0.0.31", "kitsune_p2p 0.0.30", - "kitsune_p2p_types 0.0.22", + "kitsune_p2p_types 0.0.22 (git+https://github.com/guillemcordoba/holochain?rev=92f56b77d7914e99e4a2a600b372e960426af119)", + "mockall", + "observability", + "rand 0.7.3", + "serde", + "serde_bytes", + "serde_json", + "thiserror", + "tokio", + "tokio-stream", +] + +[[package]] +name = "holochain_p2p" +version = "0.0.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "258c68c438804d8c6b9aae5bc230b8c15057eaf6b4641f9aa33e794b9dbdd360" +dependencies = [ + "async-trait", + "fixt 0.0.11", + "futures", + "ghost_actor 0.3.0-alpha.4", + "holo_hash 0.0.25", + "holochain_keystore 0.0.37", + "holochain_serialized_bytes", + "holochain_types 0.0.37", + "holochain_util 0.0.10", + "holochain_zome_types 0.0.33", + "kitsune_p2p 0.0.32", + "kitsune_p2p_types 0.0.24", "mockall", "observability", "rand 0.7.3", @@ -2860,8 +2991,7 @@ dependencies = [ [[package]] name = "holochain_sqlite" version = "0.0.27" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa49667cf11dcc9960a6991d454506745464d8df2807dadfd730dc3dd418f05f" +source = "git+https://github.com/guillemcordoba/holochain?rev=a60f227e75d510a2afc1914fdcedd6ebf754ea29#a60f227e75d510a2afc1914fdcedd6ebf754ea29" dependencies = [ "anyhow", "async-trait", @@ -2909,8 +3039,7 @@ dependencies = [ [[package]] name = "holochain_sqlite" version = "0.0.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7e7db9413b814c6fed89f438ea01ef73dd50be09eaed9f9547e625df02c345a" +source = "git+https://github.com/guillemcordoba/holochain?rev=af5db7e7f8ab77b95ed34ec8ed5ab3c733148e5e#af5db7e7f8ab77b95ed34ec8ed5ab3c733148e5e" dependencies = [ "anyhow", "async-trait", @@ -2926,7 +3055,7 @@ dependencies = [ "futures", "holo_hash 0.0.21", "holochain_serialized_bytes", - "holochain_util 0.0.9", + "holochain_util 0.0.9 (git+https://github.com/guillemcordoba/holochain?rev=af5db7e7f8ab77b95ed34ec8ed5ab3c733148e5e)", "holochain_zome_types 0.0.27", "kitsune_p2p 0.0.27", "lazy_static", @@ -2958,8 +3087,7 @@ dependencies = [ [[package]] name = "holochain_sqlite" version = "0.0.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e59104f39dcbf5978738838a0ac6db262763a97f63be8390948cc87c0cb41246" +source = "git+https://github.com/guillemcordoba/holochain?rev=daad7d1e704547d85a58ecd4ae94949b52b91166#daad7d1e704547d85a58ecd4ae94949b52b91166" dependencies = [ "anyhow", "async-trait", @@ -2971,11 +3099,11 @@ dependencies = [ "either", "failure", "fallible-iterator", - "fixt 0.0.10", + "fixt 0.0.10 (git+https://github.com/guillemcordoba/holochain?rev=daad7d1e704547d85a58ecd4ae94949b52b91166)", "futures", "holo_hash 0.0.22", "holochain_serialized_bytes", - "holochain_util 0.0.9", + "holochain_util 0.0.9 (git+https://github.com/guillemcordoba/holochain?rev=daad7d1e704547d85a58ecd4ae94949b52b91166)", "holochain_zome_types 0.0.28", "kitsune_p2p 0.0.28", "lazy_static", @@ -3007,8 +3135,7 @@ dependencies = [ [[package]] name = "holochain_sqlite" version = "0.0.35" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89e13111d9e74e598bbeb36d369a224d5d1c8734c3153044e2e8386210e2163a" +source = "git+https://github.com/guillemcordoba/holochain?rev=92f56b77d7914e99e4a2a600b372e960426af119#92f56b77d7914e99e4a2a600b372e960426af119" dependencies = [ "anyhow", "async-trait", @@ -3020,11 +3147,11 @@ dependencies = [ "either", "failure", "fallible-iterator", - "fixt 0.0.10", + "fixt 0.0.10 (git+https://github.com/guillemcordoba/holochain?rev=92f56b77d7914e99e4a2a600b372e960426af119)", "futures", "holo_hash 0.0.23", "holochain_serialized_bytes", - "holochain_util 0.0.9", + "holochain_util 0.0.9 (git+https://github.com/guillemcordoba/holochain?rev=92f56b77d7914e99e4a2a600b372e960426af119)", "holochain_zome_types 0.0.31", "kitsune_p2p 0.0.30", "lazy_static", @@ -3053,11 +3180,59 @@ dependencies = [ "tracing-futures", ] +[[package]] +name = "holochain_sqlite" +version = "0.0.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "03b766f82a54485aa97baef18f9663c1cee99627834288a380af917852560a3d" +dependencies = [ + "anyhow", + "async-trait", + "byteorder", + "cfg-if 0.1.10", + "chashmap", + "chrono", + "derive_more", + "either", + "failure", + "fallible-iterator", + "fixt 0.0.11", + "futures", + "holo_hash 0.0.25", + "holochain_serialized_bytes", + "holochain_util 0.0.10", + "holochain_zome_types 0.0.33", + "kitsune_p2p 0.0.32", + "lazy_static", + "must_future", + "nanoid 0.3.0", + "num_cpus", + "once_cell", + "page_size", + "parking_lot 0.10.2", + "pretty_assertions", + "r2d2", + "r2d2_sqlite_neonphog", + "rand 0.7.3", + "rmp-serde", + "rusqlite", + "scheduled-thread-pool", + "serde", + "serde_derive", + "serde_json", + "shrinkwraprs", + "sqlformat", + "tempfile", + "thiserror", + "tokio", + "tracing", + "tracing-futures", +] + [[package]] name = "holochain_state" version = "0.0.27" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d80906d07cb856d77583da6e5f3884feef6e87591a58a84c4174865f1f83492" +source = "git+https://github.com/guillemcordoba/holochain?rev=a60f227e75d510a2afc1914fdcedd6ebf754ea29#a60f227e75d510a2afc1914fdcedd6ebf754ea29" dependencies = [ "async-recursion", "base64", @@ -3095,8 +3270,7 @@ dependencies = [ [[package]] name = "holochain_state" version = "0.0.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62cbc518ceb7bc382478b0a5ed56e243aa7aed1b201601128b6b33294331fc42" +source = "git+https://github.com/guillemcordoba/holochain?rev=af5db7e7f8ab77b95ed34ec8ed5ab3c733148e5e#af5db7e7f8ab77b95ed34ec8ed5ab3c733148e5e" dependencies = [ "async-recursion", "base64", @@ -3114,7 +3288,7 @@ dependencies = [ "holochain_serialized_bytes", "holochain_sqlite 0.0.31", "holochain_types 0.0.31", - "holochain_util 0.0.9", + "holochain_util 0.0.9 (git+https://github.com/guillemcordoba/holochain?rev=af5db7e7f8ab77b95ed34ec8ed5ab3c733148e5e)", "holochain_zome_types 0.0.27", "kitsune_p2p 0.0.27", "mockall", @@ -3134,8 +3308,7 @@ dependencies = [ [[package]] name = "holochain_state" version = "0.0.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "929f3f672270df586ce7996998b14f12f35632a3ca18f6babd577e7e25e4a0e7" +source = "git+https://github.com/guillemcordoba/holochain?rev=daad7d1e704547d85a58ecd4ae94949b52b91166#daad7d1e704547d85a58ecd4ae94949b52b91166" dependencies = [ "async-recursion", "base64", @@ -3153,7 +3326,7 @@ dependencies = [ "holochain_serialized_bytes", "holochain_sqlite 0.0.32", "holochain_types 0.0.32", - "holochain_util 0.0.9", + "holochain_util 0.0.9 (git+https://github.com/guillemcordoba/holochain?rev=daad7d1e704547d85a58ecd4ae94949b52b91166)", "holochain_zome_types 0.0.28", "kitsune_p2p 0.0.28", "mockall", @@ -3173,8 +3346,7 @@ dependencies = [ [[package]] name = "holochain_state" version = "0.0.36" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34c00fd7bd79e5a4cd413858591414ce89b5e0cfbbc7765c1276b12fa1d0f4b6" +source = "git+https://github.com/guillemcordoba/holochain?rev=92f56b77d7914e99e4a2a600b372e960426af119#92f56b77d7914e99e4a2a600b372e960426af119" dependencies = [ "async-recursion", "base64", @@ -3192,7 +3364,7 @@ dependencies = [ "holochain_serialized_bytes", "holochain_sqlite 0.0.35", "holochain_types 0.0.35", - "holochain_util 0.0.9", + "holochain_util 0.0.9 (git+https://github.com/guillemcordoba/holochain?rev=92f56b77d7914e99e4a2a600b372e960426af119)", "holochain_zome_types 0.0.31", "kitsune_p2p 0.0.30", "mockall", @@ -3209,11 +3381,49 @@ dependencies = [ "tracing-futures", ] +[[package]] +name = "holochain_state" +version = "0.0.39" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f15c0b93531dc620825c1bf8a391162d8be0d6d5a9c16ce77a9686fd5b2cee9" +dependencies = [ + "async-recursion", + "base64", + "byteorder", + "chrono", + "contrafact", + "cron", + "derive_more", + "either", + "fallible-iterator", + "futures", + "holo_hash 0.0.25", + "holochain_keystore 0.0.37", + "holochain_p2p 0.0.37", + "holochain_serialized_bytes", + "holochain_sqlite 0.0.37", + "holochain_types 0.0.37", + "holochain_util 0.0.10", + "holochain_zome_types 0.0.33", + "kitsune_p2p 0.0.32", + "mockall", + "nanoid 0.3.0", + "one_err", + "parking_lot 0.10.2", + "serde", + "serde_json", + "shrinkwraprs", + "tempfile", + "thiserror", + "tokio", + "tracing", + "tracing-futures", +] + [[package]] name = "holochain_types" version = "0.0.27" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c00d389c5ed5c5039ad3d51c626a4c0056d86598bfaaacb64fdad37c0ca4b8a8" +source = "git+https://github.com/guillemcordoba/holochain?rev=a60f227e75d510a2afc1914fdcedd6ebf754ea29#a60f227e75d510a2afc1914fdcedd6ebf754ea29" dependencies = [ "anyhow", "arbitrary", @@ -3262,8 +3472,7 @@ dependencies = [ [[package]] name = "holochain_types" version = "0.0.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7dce265169fb2b36b200caaa7766b9b7a337d5e0e637f06217165006bc19a4c4" +source = "git+https://github.com/guillemcordoba/holochain?rev=af5db7e7f8ab77b95ed34ec8ed5ab3c733148e5e#af5db7e7f8ab77b95ed34ec8ed5ab3c733148e5e" dependencies = [ "anyhow", "arbitrary", @@ -3284,12 +3493,12 @@ dependencies = [ "holochain_keystore 0.0.31", "holochain_serialized_bytes", "holochain_sqlite 0.0.31", - "holochain_util 0.0.9", + "holochain_util 0.0.9 (git+https://github.com/guillemcordoba/holochain?rev=af5db7e7f8ab77b95ed34ec8ed5ab3c733148e5e)", "holochain_zome_types 0.0.27", "itertools 0.10.3", "lazy_static", "mockall", - "mr_bundle 0.0.9", + "mr_bundle 0.0.9 (git+https://github.com/guillemcordoba/holochain?rev=af5db7e7f8ab77b95ed34ec8ed5ab3c733148e5e)", "must_future", "nanoid 0.3.0", "observability", @@ -3313,8 +3522,7 @@ dependencies = [ [[package]] name = "holochain_types" version = "0.0.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a31b763963a7ac31f835327b4d003670d891381331659c5ef687eb5549037b87" +source = "git+https://github.com/guillemcordoba/holochain?rev=daad7d1e704547d85a58ecd4ae94949b52b91166#daad7d1e704547d85a58ecd4ae94949b52b91166" dependencies = [ "anyhow", "arbitrary", @@ -3328,19 +3536,19 @@ dependencies = [ "derive_builder", "derive_more", "either", - "fixt 0.0.10", + "fixt 0.0.10 (git+https://github.com/guillemcordoba/holochain?rev=daad7d1e704547d85a58ecd4ae94949b52b91166)", "flate2", "futures", "holo_hash 0.0.22", "holochain_keystore 0.0.32", "holochain_serialized_bytes", "holochain_sqlite 0.0.32", - "holochain_util 0.0.9", + "holochain_util 0.0.9 (git+https://github.com/guillemcordoba/holochain?rev=daad7d1e704547d85a58ecd4ae94949b52b91166)", "holochain_zome_types 0.0.28", "itertools 0.10.3", "lazy_static", "mockall", - "mr_bundle 0.0.9", + "mr_bundle 0.0.9 (git+https://github.com/guillemcordoba/holochain?rev=daad7d1e704547d85a58ecd4ae94949b52b91166)", "must_future", "nanoid 0.3.0", "observability", @@ -3364,8 +3572,7 @@ dependencies = [ [[package]] name = "holochain_types" version = "0.0.35" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d79b41e10439814794d8e0b9d968b0bba84ef9d4abff60d3877147326b32bcb" +source = "git+https://github.com/guillemcordoba/holochain?rev=92f56b77d7914e99e4a2a600b372e960426af119#92f56b77d7914e99e4a2a600b372e960426af119" dependencies = [ "anyhow", "arbitrary", @@ -3379,14 +3586,14 @@ dependencies = [ "derive_builder", "derive_more", "either", - "fixt 0.0.10", + "fixt 0.0.10 (git+https://github.com/guillemcordoba/holochain?rev=92f56b77d7914e99e4a2a600b372e960426af119)", "flate2", "futures", "holo_hash 0.0.23", "holochain_keystore 0.0.35", "holochain_serialized_bytes", "holochain_sqlite 0.0.35", - "holochain_util 0.0.9", + "holochain_util 0.0.9 (git+https://github.com/guillemcordoba/holochain?rev=92f56b77d7914e99e4a2a600b372e960426af119)", "holochain_zome_types 0.0.31", "itertools 0.10.3", "lazy_static", @@ -3413,41 +3620,151 @@ dependencies = [ ] [[package]] -name = "holochain_util" -version = "0.0.7" +name = "holochain_types" +version = "0.0.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62cf6ca5d6d40348e239deb76a39c303ea26219e254915a984fd5b72c18dd5ed" +checksum = "509563fffa17a3d09a590a4b02055c25050f4dbc61bc144aa33d22f67e2577f7" dependencies = [ + "anyhow", + "arbitrary", + "async-trait", + "automap", "backtrace", + "base64", "cfg-if 0.1.10", + "chrono", + "contrafact", + "derive_builder", "derive_more", - "dunce", - "futures", - "num_cpus", - "once_cell", - "tokio", -] - -[[package]] -name = "holochain_util" -version = "0.0.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbc012cbf805d0b2999b63b8c3348c46fe9be48fa5cb967144bcbd809d542ab0" -dependencies = [ - "cfg-if 0.1.10", - "derive_more", - "dunce", + "either", + "fixt 0.0.11", + "flate2", "futures", - "num_cpus", - "once_cell", - "tokio", -] - -[[package]] + "holo_hash 0.0.25", + "holochain_keystore 0.0.37", + "holochain_serialized_bytes", + "holochain_sqlite 0.0.37", + "holochain_util 0.0.10", + "holochain_zome_types 0.0.33", + "itertools 0.10.3", + "lazy_static", + "mockall", + "mr_bundle 0.0.11", + "must_future", + "nanoid 0.3.0", + "observability", + "parking_lot 0.10.2", + "rand 0.7.3", + "regex", + "rusqlite", + "serde", + "serde_bytes", + "serde_derive", + "serde_yaml", + "shrinkwraprs", + "strum 0.18.0", + "strum_macros 0.18.0", + "tempfile", + "thiserror", + "tokio", + "tracing", +] + +[[package]] +name = "holochain_util" +version = "0.0.7" +source = "git+https://github.com/guillemcordoba/holochain?rev=a60f227e75d510a2afc1914fdcedd6ebf754ea29#a60f227e75d510a2afc1914fdcedd6ebf754ea29" +dependencies = [ + "backtrace", + "cfg-if 0.1.10", + "derive_more", + "dunce", + "futures", + "num_cpus", + "once_cell", + "tokio", +] + +[[package]] +name = "holochain_util" +version = "0.0.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbc012cbf805d0b2999b63b8c3348c46fe9be48fa5cb967144bcbd809d542ab0" +dependencies = [ + "cfg-if 0.1.10", + "derive_more", + "dunce", + "futures", + "num_cpus", + "once_cell", + "tokio", +] + +[[package]] name = "holochain_util" version = "0.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e05c20b2a8f4937b1232605b1c2c13160638ab5cceaae5d7c4ac2d0a850cdfaa" +dependencies = [ + "cfg-if 0.1.10", + "derive_more", + "dunce", + "futures", + "num_cpus", + "once_cell", + "tokio", +] + +[[package]] +name = "holochain_util" +version = "0.0.9" +source = "git+https://github.com/guillemcordoba/holochain?rev=92f56b77d7914e99e4a2a600b372e960426af119#92f56b77d7914e99e4a2a600b372e960426af119" +dependencies = [ + "backtrace", + "cfg-if 0.1.10", + "derive_more", + "dunce", + "futures", + "num_cpus", + "once_cell", + "tokio", +] + +[[package]] +name = "holochain_util" +version = "0.0.9" +source = "git+https://github.com/guillemcordoba/holochain?rev=af5db7e7f8ab77b95ed34ec8ed5ab3c733148e5e#af5db7e7f8ab77b95ed34ec8ed5ab3c733148e5e" +dependencies = [ + "backtrace", + "cfg-if 0.1.10", + "derive_more", + "dunce", + "futures", + "num_cpus", + "once_cell", + "tokio", +] + +[[package]] +name = "holochain_util" +version = "0.0.9" +source = "git+https://github.com/guillemcordoba/holochain?rev=daad7d1e704547d85a58ecd4ae94949b52b91166#daad7d1e704547d85a58ecd4ae94949b52b91166" +dependencies = [ + "backtrace", + "cfg-if 0.1.10", + "derive_more", + "dunce", + "futures", + "num_cpus", + "once_cell", + "tokio", +] + +[[package]] +name = "holochain_util" +version = "0.0.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fec6d5ee8511b99ade8136ffcb280952b17b9ab816f1a0ce5a77e0076ad9f1a8" dependencies = [ "backtrace", "cfg-if 0.1.10", @@ -3490,9 +3807,9 @@ dependencies = [ [[package]] name = "holochain_websocket" -version = "0.0.32" +version = "0.0.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ff9a72c7484ebd03aac9033608d25ce71af214c04be7762655244fe33632c4a" +checksum = "aebd6848b5868ff5f6752fb3689abe65914edf0ec743a686f92059c87781fe96" dependencies = [ "futures", "ghost_actor 0.4.0-alpha.5", @@ -3516,8 +3833,7 @@ dependencies = [ [[package]] name = "holochain_zome_types" version = "0.0.25" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d51f55ac58054a6c87d046cda5c5e71c15cfcd9f11e9889817119c8218e3a7d" +source = "git+https://github.com/guillemcordoba/holochain?rev=a60f227e75d510a2afc1914fdcedd6ebf754ea29#a60f227e75d510a2afc1914fdcedd6ebf754ea29" dependencies = [ "arbitrary", "chrono", @@ -3548,8 +3864,7 @@ dependencies = [ [[package]] name = "holochain_zome_types" version = "0.0.27" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e98d3076a3b0657a59407c44fdd8baaf9dab060bdf75262992afc3afa59dff00" +source = "git+https://github.com/guillemcordoba/holochain?rev=af5db7e7f8ab77b95ed34ec8ed5ab3c733148e5e#af5db7e7f8ab77b95ed34ec8ed5ab3c733148e5e" dependencies = [ "arbitrary", "chrono", @@ -3559,7 +3874,7 @@ dependencies = [ "holo_hash 0.0.21", "holochain_serialized_bytes", "holochain_wasmer_common", - "kitsune_p2p_timestamp 0.0.7", + "kitsune_p2p_timestamp 0.0.7 (git+https://github.com/guillemcordoba/holochain?rev=af5db7e7f8ab77b95ed34ec8ed5ab3c733148e5e)", "nanoid 0.3.0", "num_enum", "once_cell", @@ -3580,18 +3895,17 @@ dependencies = [ [[package]] name = "holochain_zome_types" version = "0.0.28" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c154286019529bc05ecbab06edef2cb94d117738cc508f830c1a8a7c3976e9b" +source = "git+https://github.com/guillemcordoba/holochain?rev=daad7d1e704547d85a58ecd4ae94949b52b91166#daad7d1e704547d85a58ecd4ae94949b52b91166" dependencies = [ "arbitrary", "chrono", "contrafact", "derive_builder", - "fixt 0.0.10", + "fixt 0.0.10 (git+https://github.com/guillemcordoba/holochain?rev=daad7d1e704547d85a58ecd4ae94949b52b91166)", "holo_hash 0.0.22", "holochain_serialized_bytes", "holochain_wasmer_common", - "kitsune_p2p_timestamp 0.0.7", + "kitsune_p2p_timestamp 0.0.7 (git+https://github.com/guillemcordoba/holochain?rev=daad7d1e704547d85a58ecd4ae94949b52b91166)", "nanoid 0.3.0", "num_enum", "once_cell", @@ -3612,15 +3926,14 @@ dependencies = [ [[package]] name = "holochain_zome_types" version = "0.0.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac18be5ac79711c42d0ec8539479fb904fc556849a2f7f7b2cc86465ba15e436" +source = "git+https://github.com/guillemcordoba/holochain?rev=92f56b77d7914e99e4a2a600b372e960426af119#92f56b77d7914e99e4a2a600b372e960426af119" dependencies = [ "arbitrary", "contrafact", "derive_builder", - "fixt 0.0.10", + "fixt 0.0.10 (git+https://github.com/guillemcordoba/holochain?rev=92f56b77d7914e99e4a2a600b372e960426af119)", "holo_hash 0.0.23", - "holochain_integrity_types", + "holochain_integrity_types 0.0.3", "holochain_serialized_bytes", "holochain_wasmer_common", "kitsune_p2p_timestamp 0.0.8", @@ -3641,6 +3954,38 @@ dependencies = [ "tracing", ] +[[package]] +name = "holochain_zome_types" +version = "0.0.33" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2aef979eec3256a1b50aa88ea41507b389378b17fbc3bdec251af0b1025540ab" +dependencies = [ + "arbitrary", + "contrafact", + "derive_builder", + "fixt 0.0.11", + "holo_hash 0.0.25", + "holochain_integrity_types 0.0.5", + "holochain_serialized_bytes", + "holochain_wasmer_common", + "kitsune_p2p_timestamp 0.0.9", + "nanoid 0.3.0", + "num_enum", + "once_cell", + "paste", + "rand 0.7.3", + "rusqlite", + "serde", + "serde_bytes", + "serde_yaml", + "shrinkwraprs", + "strum 0.18.0", + "subtle", + "subtle-encoding", + "thiserror", + "tracing", +] + [[package]] name = "hostname" version = "0.3.1" @@ -4010,8 +4355,7 @@ dependencies = [ [[package]] name = "kitsune_p2p" version = "0.0.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5a795449f8c1a05124e0acdceaa4948c1a7a8274d476931de41ee13bfaa93a7" +source = "git+https://github.com/guillemcordoba/holochain?rev=a60f227e75d510a2afc1914fdcedd6ebf754ea29#a60f227e75d510a2afc1914fdcedd6ebf754ea29" dependencies = [ "arbitrary", "arrayref", @@ -4047,8 +4391,7 @@ dependencies = [ [[package]] name = "kitsune_p2p" version = "0.0.27" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ecee09961479b6377c9249fbf5a129f2ea17ce6733a02a02fa66a9c2b59880fb" +source = "git+https://github.com/guillemcordoba/holochain?rev=af5db7e7f8ab77b95ed34ec8ed5ab3c733148e5e#af5db7e7f8ab77b95ed34ec8ed5ab3c733148e5e" dependencies = [ "arbitrary", "arrayref", @@ -4060,9 +4403,9 @@ dependencies = [ "ghost_actor 0.3.0-alpha.4", "governor", "itertools 0.10.3", - "kitsune_p2p_mdns 0.0.3", + "kitsune_p2p_mdns 0.0.3 (git+https://github.com/guillemcordoba/holochain?rev=af5db7e7f8ab77b95ed34ec8ed5ab3c733148e5e)", "kitsune_p2p_proxy 0.0.21", - "kitsune_p2p_timestamp 0.0.7", + "kitsune_p2p_timestamp 0.0.7 (git+https://github.com/guillemcordoba/holochain?rev=af5db7e7f8ab77b95ed34ec8ed5ab3c733148e5e)", "kitsune_p2p_transport_quic 0.0.21", "kitsune_p2p_types 0.0.21", "must_future", @@ -4085,24 +4428,23 @@ dependencies = [ [[package]] name = "kitsune_p2p" version = "0.0.28" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1e961dadf81333ec3d80d7adfe3a415d7efe16b9f5291af5ead98cad753d4b6" +source = "git+https://github.com/guillemcordoba/holochain?rev=daad7d1e704547d85a58ecd4ae94949b52b91166#daad7d1e704547d85a58ecd4ae94949b52b91166" dependencies = [ "arbitrary", "arrayref", "base64", "bloomfilter", "derive_more", - "fixt 0.0.10", + "fixt 0.0.10 (git+https://github.com/guillemcordoba/holochain?rev=daad7d1e704547d85a58ecd4ae94949b52b91166)", "futures", "ghost_actor 0.3.0-alpha.4", "governor", "itertools 0.10.3", - "kitsune_p2p_mdns 0.0.3", - "kitsune_p2p_proxy 0.0.22", - "kitsune_p2p_timestamp 0.0.7", - "kitsune_p2p_transport_quic 0.0.22", - "kitsune_p2p_types 0.0.22", + "kitsune_p2p_mdns 0.0.3 (git+https://github.com/guillemcordoba/holochain?rev=daad7d1e704547d85a58ecd4ae94949b52b91166)", + "kitsune_p2p_proxy 0.0.22 (git+https://github.com/guillemcordoba/holochain?rev=daad7d1e704547d85a58ecd4ae94949b52b91166)", + "kitsune_p2p_timestamp 0.0.7 (git+https://github.com/guillemcordoba/holochain?rev=daad7d1e704547d85a58ecd4ae94949b52b91166)", + "kitsune_p2p_transport_quic 0.0.22 (git+https://github.com/guillemcordoba/holochain?rev=daad7d1e704547d85a58ecd4ae94949b52b91166)", + "kitsune_p2p_types 0.0.22 (git+https://github.com/guillemcordoba/holochain?rev=daad7d1e704547d85a58ecd4ae94949b52b91166)", "must_future", "num-traits", "observability", @@ -4123,24 +4465,61 @@ dependencies = [ [[package]] name = "kitsune_p2p" version = "0.0.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f4d66ff09367340b0a42f1d3c6936f889d3d305f4629fc750e4119c499d99b1" +source = "git+https://github.com/guillemcordoba/holochain?rev=92f56b77d7914e99e4a2a600b372e960426af119#92f56b77d7914e99e4a2a600b372e960426af119" dependencies = [ "arbitrary", "arrayref", "base64", "bloomfilter", "derive_more", - "fixt 0.0.10", + "fixt 0.0.10 (git+https://github.com/guillemcordoba/holochain?rev=92f56b77d7914e99e4a2a600b372e960426af119)", "futures", "ghost_actor 0.3.0-alpha.4", "governor", "itertools 0.10.3", - "kitsune_p2p_mdns 0.0.3", - "kitsune_p2p_proxy 0.0.22", + "kitsune_p2p_mdns 0.0.3 (git+https://github.com/guillemcordoba/holochain?rev=92f56b77d7914e99e4a2a600b372e960426af119)", + "kitsune_p2p_proxy 0.0.22 (git+https://github.com/guillemcordoba/holochain?rev=92f56b77d7914e99e4a2a600b372e960426af119)", "kitsune_p2p_timestamp 0.0.8", - "kitsune_p2p_transport_quic 0.0.22", - "kitsune_p2p_types 0.0.22", + "kitsune_p2p_transport_quic 0.0.22 (git+https://github.com/guillemcordoba/holochain?rev=92f56b77d7914e99e4a2a600b372e960426af119)", + "kitsune_p2p_types 0.0.22 (git+https://github.com/guillemcordoba/holochain?rev=92f56b77d7914e99e4a2a600b372e960426af119)", + "must_future", + "num-traits", + "observability", + "once_cell", + "parking_lot 0.11.2", + "rand 0.7.3", + "reqwest", + "serde", + "serde_bytes", + "serde_json", + "shrinkwraprs", + "thiserror", + "tokio", + "tokio-stream", + "url2", +] + +[[package]] +name = "kitsune_p2p" +version = "0.0.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5245a17ef44128666b6784be8446afc86d1c2a27ae12042bd2a7b28df9f6be5c" +dependencies = [ + "arbitrary", + "arrayref", + "base64", + "bloomfilter", + "derive_more", + "fixt 0.0.11", + "futures", + "ghost_actor 0.3.0-alpha.4", + "governor", + "itertools 0.10.3", + "kitsune_p2p_mdns 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)", + "kitsune_p2p_proxy 0.0.24", + "kitsune_p2p_timestamp 0.0.9", + "kitsune_p2p_transport_quic 0.0.24", + "kitsune_p2p_types 0.0.24", "must_future", "num-traits", "observability", @@ -4161,8 +4540,7 @@ dependencies = [ [[package]] name = "kitsune_p2p_dht_arc" version = "0.0.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7459dbef2eef419984efb6bef5d1ff2ab1836ca7ca8f506b84b5982580b1bc9" +source = "git+https://github.com/guillemcordoba/holochain?rev=a60f227e75d510a2afc1914fdcedd6ebf754ea29#a60f227e75d510a2afc1914fdcedd6ebf754ea29" dependencies = [ "derive_more", "gcollections", @@ -4175,8 +4553,7 @@ dependencies = [ [[package]] name = "kitsune_p2p_dht_arc" version = "0.0.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3203925b13eb83d95825025eb1f4a97f5a4e049e5d8e480783bc30b5a1b3cd2f" +source = "git+https://github.com/guillemcordoba/holochain?rev=af5db7e7f8ab77b95ed34ec8ed5ab3c733148e5e#af5db7e7f8ab77b95ed34ec8ed5ab3c733148e5e" dependencies = [ "derive_more", "gcollections", @@ -4200,11 +4577,36 @@ dependencies = [ "serde", ] +[[package]] +name = "kitsune_p2p_dht_arc" +version = "0.0.11" +source = "git+https://github.com/guillemcordoba/holochain?rev=92f56b77d7914e99e4a2a600b372e960426af119#92f56b77d7914e99e4a2a600b372e960426af119" +dependencies = [ + "derive_more", + "gcollections", + "intervallum", + "num-traits", + "rusqlite", + "serde", +] + +[[package]] +name = "kitsune_p2p_dht_arc" +version = "0.0.11" +source = "git+https://github.com/guillemcordoba/holochain?rev=daad7d1e704547d85a58ecd4ae94949b52b91166#daad7d1e704547d85a58ecd4ae94949b52b91166" +dependencies = [ + "derive_more", + "gcollections", + "intervallum", + "num-traits", + "rusqlite", + "serde", +] + [[package]] name = "kitsune_p2p_mdns" version = "0.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dba20e214581a20c171b7c265928cfaebf67a5b0ef26e037470eda99f0ada18e" +source = "git+https://github.com/guillemcordoba/holochain?rev=a60f227e75d510a2afc1914fdcedd6ebf754ea29#a60f227e75d510a2afc1914fdcedd6ebf754ea29" dependencies = [ "async-stream", "base64", @@ -4234,11 +4636,58 @@ dependencies = [ "tokio-stream", ] +[[package]] +name = "kitsune_p2p_mdns" +version = "0.0.3" +source = "git+https://github.com/guillemcordoba/holochain?rev=92f56b77d7914e99e4a2a600b372e960426af119#92f56b77d7914e99e4a2a600b372e960426af119" +dependencies = [ + "async-stream", + "base64", + "err-derive", + "futures-core", + "futures-util", + "libmdns", + "mdns", + "tokio", + "tokio-stream", +] + +[[package]] +name = "kitsune_p2p_mdns" +version = "0.0.3" +source = "git+https://github.com/guillemcordoba/holochain?rev=af5db7e7f8ab77b95ed34ec8ed5ab3c733148e5e#af5db7e7f8ab77b95ed34ec8ed5ab3c733148e5e" +dependencies = [ + "async-stream", + "base64", + "err-derive", + "futures-core", + "futures-util", + "libmdns", + "mdns", + "tokio", + "tokio-stream", +] + +[[package]] +name = "kitsune_p2p_mdns" +version = "0.0.3" +source = "git+https://github.com/guillemcordoba/holochain?rev=daad7d1e704547d85a58ecd4ae94949b52b91166#daad7d1e704547d85a58ecd4ae94949b52b91166" +dependencies = [ + "async-stream", + "base64", + "err-derive", + "futures-core", + "futures-util", + "libmdns", + "mdns", + "tokio", + "tokio-stream", +] + [[package]] name = "kitsune_p2p_proxy" version = "0.0.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8277e25a61322c52e8f2a79875ab70db9a603a35ee1aec3fd2aecd8fa779e3c4" +source = "git+https://github.com/guillemcordoba/holochain?rev=a60f227e75d510a2afc1914fdcedd6ebf754ea29#a60f227e75d510a2afc1914fdcedd6ebf754ea29" dependencies = [ "base64", "blake2b_simd 0.5.11", @@ -4262,8 +4711,7 @@ dependencies = [ [[package]] name = "kitsune_p2p_proxy" version = "0.0.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "419f79d89f9355efe4f369e8b9368b871c7b9975445dbcd4cc12a9c178b653e2" +source = "git+https://github.com/guillemcordoba/holochain?rev=af5db7e7f8ab77b95ed34ec8ed5ab3c733148e5e#af5db7e7f8ab77b95ed34ec8ed5ab3c733148e5e" dependencies = [ "base64", "blake2b_simd 0.5.11", @@ -4287,15 +4735,63 @@ dependencies = [ [[package]] name = "kitsune_p2p_proxy" version = "0.0.22" +source = "git+https://github.com/guillemcordoba/holochain?rev=92f56b77d7914e99e4a2a600b372e960426af119#92f56b77d7914e99e4a2a600b372e960426af119" +dependencies = [ + "base64", + "blake2b_simd 0.5.11", + "derive_more", + "futures", + "kitsune_p2p_transport_quic 0.0.22 (git+https://github.com/guillemcordoba/holochain?rev=92f56b77d7914e99e4a2a600b372e960426af119)", + "kitsune_p2p_types 0.0.22 (git+https://github.com/guillemcordoba/holochain?rev=92f56b77d7914e99e4a2a600b372e960426af119)", + "nanoid 0.3.0", + "observability", + "parking_lot 0.11.2", + "rmp-serde", + "rustls 0.20.4", + "serde", + "serde_bytes", + "structopt", + "tokio", + "tracing-subscriber 0.2.25", + "webpki 0.21.4", +] + +[[package]] +name = "kitsune_p2p_proxy" +version = "0.0.22" +source = "git+https://github.com/guillemcordoba/holochain?rev=daad7d1e704547d85a58ecd4ae94949b52b91166#daad7d1e704547d85a58ecd4ae94949b52b91166" +dependencies = [ + "base64", + "blake2b_simd 0.5.11", + "derive_more", + "futures", + "kitsune_p2p_transport_quic 0.0.22 (git+https://github.com/guillemcordoba/holochain?rev=daad7d1e704547d85a58ecd4ae94949b52b91166)", + "kitsune_p2p_types 0.0.22 (git+https://github.com/guillemcordoba/holochain?rev=daad7d1e704547d85a58ecd4ae94949b52b91166)", + "nanoid 0.3.0", + "observability", + "parking_lot 0.11.2", + "rmp-serde", + "rustls 0.20.4", + "serde", + "serde_bytes", + "structopt", + "tokio", + "tracing-subscriber 0.2.25", + "webpki 0.21.4", +] + +[[package]] +name = "kitsune_p2p_proxy" +version = "0.0.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef313e6fb9b13216f488da332be6e8b37b306d6455f1e930961591787f56d112" +checksum = "5f56c6c4707a4c260013d42fa881ae96594aa53406ebee4b2694e8b8d23da0d5" dependencies = [ "base64", "blake2b_simd 0.5.11", "derive_more", "futures", - "kitsune_p2p_transport_quic 0.0.22", - "kitsune_p2p_types 0.0.22", + "kitsune_p2p_transport_quic 0.0.24", + "kitsune_p2p_types 0.0.24", "nanoid 0.3.0", "observability", "parking_lot 0.11.2", @@ -4312,8 +4808,7 @@ dependencies = [ [[package]] name = "kitsune_p2p_timestamp" version = "0.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a7427a44837a60ccf063898340da6f8ef8c0e41812189b63d7775d8822863e7" +source = "git+https://github.com/guillemcordoba/holochain?rev=a60f227e75d510a2afc1914fdcedd6ebf754ea29#a60f227e75d510a2afc1914fdcedd6ebf754ea29" dependencies = [ "arbitrary", "chrono", @@ -4326,8 +4821,20 @@ dependencies = [ [[package]] name = "kitsune_p2p_timestamp" version = "0.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1528a9d36c33444a8d70b3264e72df64351d41afd76ceebf0d2103ca81dad6c" +source = "git+https://github.com/guillemcordoba/holochain?rev=af5db7e7f8ab77b95ed34ec8ed5ab3c733148e5e#af5db7e7f8ab77b95ed34ec8ed5ab3c733148e5e" +dependencies = [ + "arbitrary", + "chrono", + "derive_more", + "rusqlite", + "serde", + "thiserror", +] + +[[package]] +name = "kitsune_p2p_timestamp" +version = "0.0.7" +source = "git+https://github.com/guillemcordoba/holochain?rev=daad7d1e704547d85a58ecd4ae94949b52b91166#daad7d1e704547d85a58ecd4ae94949b52b91166" dependencies = [ "arbitrary", "chrono", @@ -4340,8 +4847,19 @@ dependencies = [ [[package]] name = "kitsune_p2p_timestamp" version = "0.0.8" +source = "git+https://github.com/guillemcordoba/holochain?rev=92f56b77d7914e99e4a2a600b372e960426af119#92f56b77d7914e99e4a2a600b372e960426af119" +dependencies = [ + "arbitrary", + "chrono", + "rusqlite", + "serde", +] + +[[package]] +name = "kitsune_p2p_timestamp" +version = "0.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ec43fed02b95e1ee64c6b5581e85ec09801d9ff21dd20bbe900b6e292d0aa19" +checksum = "fed720caad6a76cf53300d2a138035930e2a01b85429e93e643fbd960ef93b44" dependencies = [ "arbitrary", "chrono", @@ -4352,8 +4870,7 @@ dependencies = [ [[package]] name = "kitsune_p2p_transport_quic" version = "0.0.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c27e5e8c674fece4f469fadf0eca6c8abeb0f2034724e3b372940f9c6fc1723" +source = "git+https://github.com/guillemcordoba/holochain?rev=a60f227e75d510a2afc1914fdcedd6ebf754ea29#a60f227e75d510a2afc1914fdcedd6ebf754ea29" dependencies = [ "blake2b_simd 0.5.11", "futures", @@ -4372,8 +4889,7 @@ dependencies = [ [[package]] name = "kitsune_p2p_transport_quic" version = "0.0.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2426029e41fd32631881923fbe0b59dec9f0e0f205c22c3e94deeb50ebb379b" +source = "git+https://github.com/guillemcordoba/holochain?rev=af5db7e7f8ab77b95ed34ec8ed5ab3c733148e5e#af5db7e7f8ab77b95ed34ec8ed5ab3c733148e5e" dependencies = [ "blake2b_simd 1.0.0", "futures", @@ -4392,13 +4908,51 @@ dependencies = [ [[package]] name = "kitsune_p2p_transport_quic" version = "0.0.22" +source = "git+https://github.com/guillemcordoba/holochain?rev=92f56b77d7914e99e4a2a600b372e960426af119#92f56b77d7914e99e4a2a600b372e960426af119" +dependencies = [ + "blake2b_simd 1.0.0", + "futures", + "if-addrs 0.7.0", + "kitsune_p2p_types 0.0.22 (git+https://github.com/guillemcordoba/holochain?rev=92f56b77d7914e99e4a2a600b372e960426af119)", + "nanoid 0.4.0", + "once_cell", + "quinn 0.8.2", + "rcgen 0.9.2", + "rustls 0.20.4", + "serde", + "tokio", + "webpki 0.22.0", +] + +[[package]] +name = "kitsune_p2p_transport_quic" +version = "0.0.22" +source = "git+https://github.com/guillemcordoba/holochain?rev=daad7d1e704547d85a58ecd4ae94949b52b91166#daad7d1e704547d85a58ecd4ae94949b52b91166" +dependencies = [ + "blake2b_simd 1.0.0", + "futures", + "if-addrs 0.7.0", + "kitsune_p2p_types 0.0.22 (git+https://github.com/guillemcordoba/holochain?rev=daad7d1e704547d85a58ecd4ae94949b52b91166)", + "nanoid 0.4.0", + "once_cell", + "quinn 0.8.2", + "rcgen 0.9.2", + "rustls 0.20.4", + "serde", + "tokio", + "webpki 0.22.0", +] + +[[package]] +name = "kitsune_p2p_transport_quic" +version = "0.0.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b31233c33913e493aac1143e45822b8f044e5f74e825a7cd3a28647d5e2ac3ce" +checksum = "f3dfba0f1b3a7570cc3a30f3e652ff9ea423059fd8a256f4f3bbc8c3447fb432" dependencies = [ "blake2b_simd 1.0.0", "futures", "if-addrs 0.7.0", - "kitsune_p2p_types 0.0.22", + "kitsune_p2p_types 0.0.24", "nanoid 0.4.0", "once_cell", "quinn 0.8.2", @@ -4412,16 +4966,15 @@ dependencies = [ [[package]] name = "kitsune_p2p_types" version = "0.0.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3785c7197ffd9130162def68ea1f96dd183117955676e8fba8e8d091783200e0" +source = "git+https://github.com/guillemcordoba/holochain?rev=a60f227e75d510a2afc1914fdcedd6ebf754ea29#a60f227e75d510a2afc1914fdcedd6ebf754ea29" dependencies = [ "base64", "derive_more", "futures", "ghost_actor 0.3.0-alpha.4", "kitsune_p2p_dht_arc 0.0.9", - "lair_keystore_api 0.0.9", - "lair_keystore_api 0.1.0", + "lair_keystore_api 0.0.10", + "lair_keystore_api 0.1.3", "lru", "nanoid 0.3.0", "observability", @@ -4446,16 +4999,15 @@ dependencies = [ [[package]] name = "kitsune_p2p_types" version = "0.0.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50d271e461824f40e3de07e193de7bc6cf897c0a501333004daf81b38fe5b687" +source = "git+https://github.com/guillemcordoba/holochain?rev=af5db7e7f8ab77b95ed34ec8ed5ab3c733148e5e#af5db7e7f8ab77b95ed34ec8ed5ab3c733148e5e" dependencies = [ "base64", "derive_more", "futures", "ghost_actor 0.3.0-alpha.4", "kitsune_p2p_dht_arc 0.0.10", - "lair_keystore_api 0.0.9", - "lair_keystore_api 0.1.0", + "lair_keystore_api 0.0.10", + "lair_keystore_api 0.1.3", "lru", "nanoid 0.3.0", "observability", @@ -4480,16 +5032,82 @@ dependencies = [ [[package]] name = "kitsune_p2p_types" version = "0.0.22" +source = "git+https://github.com/guillemcordoba/holochain?rev=92f56b77d7914e99e4a2a600b372e960426af119#92f56b77d7914e99e4a2a600b372e960426af119" +dependencies = [ + "base64", + "derive_more", + "futures", + "ghost_actor 0.3.0-alpha.4", + "kitsune_p2p_dht_arc 0.0.11 (git+https://github.com/guillemcordoba/holochain?rev=92f56b77d7914e99e4a2a600b372e960426af119)", + "lair_keystore_api 0.0.10", + "lair_keystore_api 0.1.3", + "lru", + "nanoid 0.3.0", + "observability", + "once_cell", + "parking_lot 0.11.2", + "paste", + "rmp-serde", + "rustls 0.20.4", + "serde", + "serde_bytes", + "serde_json", + "shrinkwraprs", + "sysinfo 0.15.9", + "thiserror", + "tokio", + "tokio-stream", + "url", + "url2", + "webpki 0.22.0", +] + +[[package]] +name = "kitsune_p2p_types" +version = "0.0.22" +source = "git+https://github.com/guillemcordoba/holochain?rev=daad7d1e704547d85a58ecd4ae94949b52b91166#daad7d1e704547d85a58ecd4ae94949b52b91166" +dependencies = [ + "base64", + "derive_more", + "futures", + "ghost_actor 0.3.0-alpha.4", + "kitsune_p2p_dht_arc 0.0.11 (git+https://github.com/guillemcordoba/holochain?rev=daad7d1e704547d85a58ecd4ae94949b52b91166)", + "lair_keystore_api 0.0.10", + "lair_keystore_api 0.1.3", + "lru", + "nanoid 0.3.0", + "observability", + "once_cell", + "parking_lot 0.11.2", + "paste", + "rmp-serde", + "rustls 0.20.4", + "serde", + "serde_bytes", + "serde_json", + "shrinkwraprs", + "sysinfo 0.15.9", + "thiserror", + "tokio", + "tokio-stream", + "url", + "url2", + "webpki 0.22.0", +] + +[[package]] +name = "kitsune_p2p_types" +version = "0.0.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f74c78415aadfe09f029f5371a198d5b99a167e09675c13652d0de024ad582f" +checksum = "47c5ce736ade892b1e45d4af05b9729a5d308acd0fd9618136ec7ca711e87cb1" dependencies = [ "base64", "derive_more", "futures", "ghost_actor 0.3.0-alpha.4", - "kitsune_p2p_dht_arc 0.0.11", - "lair_keystore_api 0.0.9", - "lair_keystore_api 0.1.0", + "kitsune_p2p_dht_arc 0.0.11 (registry+https://github.com/rust-lang/crates.io-index)", + "lair_keystore_api 0.0.10", + "lair_keystore_api 0.1.3", "lru", "nanoid 0.3.0", "observability", @@ -4534,9 +5152,9 @@ dependencies = [ [[package]] name = "lair_keystore_api" -version = "0.0.9" +version = "0.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cc95edf9f8d54feace7ee5189e3c58d71435208afea4abda0c4b0b0a5c78c65" +checksum = "7b60201ba29cff9f5f6dd4a688a69fb38901faf1b88080ab3533f1a1dc01718f" dependencies = [ "blake2b_simd 0.5.11", "block-padding", @@ -4565,9 +5183,9 @@ dependencies = [ [[package]] name = "lair_keystore_api" -version = "0.1.0" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "821c3eed9a5a27a9e225fcd0ecb340ef810a4078b6b0207bb26daee0744d963c" +checksum = "31d52f8d74a3a7c50667fd881e3ea8e7efd8c44774280afdeb0541fc71c13cbe" dependencies = [ "base64", "dunce", @@ -4589,13 +5207,13 @@ dependencies = [ [[package]] name = "lair_keystore_client" -version = "0.0.9" +version = "0.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30c0525d3a00010803a6074d6df24d602813b93598b547c9d55f7b43620da458" +checksum = "98fe9addeeca53635ddb206a47e3f3c853abff36c79a5f4ae8b4711c6a2b21ed" dependencies = [ "futures", "ghost_actor 0.3.0-alpha.4", - "lair_keystore_api 0.0.9", + "lair_keystore_api 0.0.10", "sodoken", "tempfile", "tokio", @@ -5058,8 +5676,7 @@ dependencies = [ [[package]] name = "mr_bundle" version = "0.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16e5bf928aff33303cef43304be57389af6ff7d4cfdceddc4a2b4a9cabcc1b3d" +source = "git+https://github.com/guillemcordoba/holochain?rev=a60f227e75d510a2afc1914fdcedd6ebf754ea29#a60f227e75d510a2afc1914fdcedd6ebf754ea29" dependencies = [ "arbitrary", "bytes", @@ -5102,6 +5719,25 @@ name = "mr_bundle" version = "0.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2a0629cc22550461c9d3ec998c10082ba433b3bc620eb71933f41681217613c8" +dependencies = [ + "bytes", + "derive_more", + "either", + "flate2", + "futures", + "holochain_util 0.0.9 (registry+https://github.com/rust-lang/crates.io-index)", + "reqwest", + "rmp-serde", + "serde", + "serde_bytes", + "serde_derive", + "thiserror", +] + +[[package]] +name = "mr_bundle" +version = "0.0.9" +source = "git+https://github.com/guillemcordoba/holochain?rev=af5db7e7f8ab77b95ed34ec8ed5ab3c733148e5e#af5db7e7f8ab77b95ed34ec8ed5ab3c733148e5e" dependencies = [ "arbitrary", "bytes", @@ -5109,7 +5745,28 @@ dependencies = [ "either", "flate2", "futures", - "holochain_util 0.0.9", + "holochain_util 0.0.9 (git+https://github.com/guillemcordoba/holochain?rev=af5db7e7f8ab77b95ed34ec8ed5ab3c733148e5e)", + "reqwest", + "rmp-serde", + "serde", + "serde_bytes", + "serde_derive", + "serde_yaml", + "thiserror", +] + +[[package]] +name = "mr_bundle" +version = "0.0.9" +source = "git+https://github.com/guillemcordoba/holochain?rev=daad7d1e704547d85a58ecd4ae94949b52b91166#daad7d1e704547d85a58ecd4ae94949b52b91166" +dependencies = [ + "arbitrary", + "bytes", + "derive_more", + "either", + "flate2", + "futures", + "holochain_util 0.0.9 (git+https://github.com/guillemcordoba/holochain?rev=daad7d1e704547d85a58ecd4ae94949b52b91166)", "reqwest", "rmp-serde", "serde", @@ -5122,8 +5779,29 @@ dependencies = [ [[package]] name = "mr_bundle" version = "0.0.10" +source = "git+https://github.com/guillemcordoba/holochain?rev=92f56b77d7914e99e4a2a600b372e960426af119#92f56b77d7914e99e4a2a600b372e960426af119" +dependencies = [ + "arbitrary", + "bytes", + "derive_more", + "either", + "flate2", + "futures", + "holochain_util 0.0.9 (git+https://github.com/guillemcordoba/holochain?rev=92f56b77d7914e99e4a2a600b372e960426af119)", + "reqwest", + "rmp-serde", + "serde", + "serde_bytes", + "serde_derive", + "serde_yaml", + "thiserror", +] + +[[package]] +name = "mr_bundle" +version = "0.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4bc7c67341e38317d17a0db2a08c533e2b3e76ce06df9f0d672d2ee35ad5e725" +checksum = "7844cbb114d919d224f6d836e93551ae239605098c3885555b1f6e88853904ce" dependencies = [ "arbitrary", "bytes", @@ -5131,7 +5809,7 @@ dependencies = [ "either", "flate2", "futures", - "holochain_util 0.0.9", + "holochain_util 0.0.10", "reqwest", "rmp-serde", "serde", diff --git a/adding-holochain-version.md b/adding-holochain-version.md index 61678dd5..47e77a76 100644 --- a/adding-holochain-version.md +++ b/adding-holochain-version.md @@ -1,10 +1,26 @@ # Adding a new Holochain version +## If the DevHub has been upgraded + +1. Change the URL for the DevHub in the `prepare` script of the `package.json`. + +## Adding support for a new Holochain version + + In the develop branch: 1. Search this repo for the text `NEW_VERSION`. -2. Follow the instructions in each of the comments there. -3. Change the Holochain Launcher version: + 1. Follow the instructions in each of the comments there. +2. Install the new holochain binary locally. + 1. If you are in linux, you can run: + ```bash + cargo install --locked --git https://github.com/guillemcordoba/holochain.git --rev f4873057ac7318fb6897690b78a4d82968253a4d holochain + HOLOCHAIN_PATH=$(which holochain) + cp $HOLOCHAIN_PATH src-tauri/bins/holochain-v0.0.139-x86_64-unknown-linux-gnu + ``` +3. Add the new version to `src-tauri/tauri.conf.json` +4. Change the Holochain Launcher version: 1. You can search for all the instances of the previous version and replace them. -4. Commit the changes and make sure that the CI is green. -5. Merge to main. This should trigger the creation of a new Github release. +5. Commit the changes and make sure that the CI is green. +6. Merge to main. This should trigger the creation of a new Github release. + diff --git a/crates/holochain_manager/Cargo.toml b/crates/holochain_manager/Cargo.toml index 7015bb79..e7f5336d 100644 --- a/crates/holochain_manager/Cargo.toml +++ b/crates/holochain_manager/Cargo.toml @@ -6,24 +6,29 @@ version = "0.1.0" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -holochain_client = {package = "holochain_client", git = "https://github.com/holochain/holochain-client-rust", rev = "77fae4a989fd75d5a01580e0226f733a65a1716f"} +holochain_client = {package = "holochain_client", git = "https://github.com/holochain/holochain-client-rust", rev = "d647cc6c759e404df70cb497950b676e3498ca9b"} -holochain_conductor_api_0_0_127 = {package = "holochain_conductor_api", version = "0.0.27"} -holochain_p2p_0_0_127 = {package = "holochain_p2p", version = "0.0.27"} -holochain_types_0_0_127 = {package = "holochain_types", version = "0.0.27"} +holochain_conductor_api_0_0_127 = {git = "https://github.com/guillemcordoba/holochain", package = "holochain_conductor_api", rev = "a60f227e75d510a2afc1914fdcedd6ebf754ea29"} +holochain_p2p_0_0_127 = {git = "https://github.com/guillemcordoba/holochain", package = "holochain_p2p", rev = "a60f227e75d510a2afc1914fdcedd6ebf754ea29"} +holochain_types_0_0_127 = {git = "https://github.com/guillemcordoba/holochain", package = "holochain_types", rev = "a60f227e75d510a2afc1914fdcedd6ebf754ea29"} -holochain_conductor_api_0_0_131 = {package = "holochain_conductor_api", version = "0.0.31"} -holochain_p2p_0_0_131 = {package = "holochain_p2p", version = "0.0.31"} -holochain_types_0_0_131 = {package = "holochain_types", version = "0.0.31"} +holochain_conductor_api_0_0_131 = {git = "https://github.com/guillemcordoba/holochain", package = "holochain_conductor_api", rev = "af5db7e7f8ab77b95ed34ec8ed5ab3c733148e5e"} +holochain_p2p_0_0_131 = {git = "https://github.com/guillemcordoba/holochain", package = "holochain_p2p", rev = "af5db7e7f8ab77b95ed34ec8ed5ab3c733148e5e"} +holochain_types_0_0_131 = {git = "https://github.com/guillemcordoba/holochain", package = "holochain_types", rev = "af5db7e7f8ab77b95ed34ec8ed5ab3c733148e5e"} # NEW_VERSION: Copy and paste these lines, upgrading the crates version -holochain_conductor_api_0_0_132 = {package = "holochain_conductor_api", version = "0.0.32"} -holochain_p2p_0_0_132 = {package = "holochain_p2p", version = "0.0.32"} -holochain_types_0_0_132 = {package = "holochain_types", version = "0.0.32"} - -holochain_conductor_api_0_0_136 = {package = "holochain_conductor_api", version = "0.0.36"} -holochain_p2p_0_0_136 = {package = "holochain_p2p", version = "0.0.35"} -holochain_types_0_0_136 = {package = "holochain_types", version = "0.0.35"} +# See the appropriate crate version for your holochain version in https://github.com/holochain/holochain/blob/develop/CHANGELOG.md +holochain_conductor_api_0_0_132 = {git = "https://github.com/guillemcordoba/holochain", package = "holochain_conductor_api", rev = "daad7d1e704547d85a58ecd4ae94949b52b91166"} +holochain_p2p_0_0_132 = {git = "https://github.com/guillemcordoba/holochain", package = "holochain_p2p", rev = "daad7d1e704547d85a58ecd4ae94949b52b91166"} +holochain_types_0_0_132 = {git = "https://github.com/guillemcordoba/holochain", package = "holochain_types", rev = "daad7d1e704547d85a58ecd4ae94949b52b91166"} + +holochain_conductor_api_0_0_136 = {git = "https://github.com/guillemcordoba/holochain", package = "holochain_conductor_api", rev = "92f56b77d7914e99e4a2a600b372e960426af119"} +holochain_p2p_0_0_136 = {git = "https://github.com/guillemcordoba/holochain", package = "holochain_p2p", rev = "92f56b77d7914e99e4a2a600b372e960426af119"} +holochain_types_0_0_136 = {git = "https://github.com/guillemcordoba/holochain", package = "holochain_types", rev = "92f56b77d7914e99e4a2a600b372e960426af119"} + +holochain_conductor_api_0_0_139 = {package = "holochain_conductor_api", version = "0.0.39"} +holochain_p2p_0_0_139 = {package = "holochain_p2p", version = "0.0.37"} +holochain_types_0_0_139 = {package = "holochain_types", version = "0.0.37"} mr_bundle_0_0_9 = {package = "mr_bundle", version = "0.0.9"} diff --git a/crates/holochain_manager/src/holochain_manager.rs b/crates/holochain_manager/src/holochain_manager.rs index 844e4aeb..d781a169 100644 --- a/crates/holochain_manager/src/holochain_manager.rs +++ b/crates/holochain_manager/src/holochain_manager.rs @@ -8,9 +8,7 @@ use holochain_client::{AdminWebsocket, AgentPubKey, InstallAppBundlePayload, Ins use lair_keystore_manager::utils::create_dir_if_necessary; use tauri::api::process::CommandChild; -use crate::versions::holochain_types_latest::prelude::{ - AppBundle, AppBundleSource, SerializedBytes, -}; +use crate::versions::holochain_types_latest::prelude::{AppBundle, AppBundleSource, MembraneProof}; use crate::{ config::LaunchHolochainConfig, @@ -20,6 +18,7 @@ use crate::{ }; pub struct HolochainManager { + pub version: HolochainVersion, version_manager: HolochainVersionManager, admin_interface_port: u16, @@ -96,6 +95,7 @@ impl HolochainManager { }; Ok(HolochainManager { + version, version_manager, ws, admin_interface_port: config.admin_port, @@ -127,7 +127,7 @@ impl HolochainManager { app_id: String, app_bundle: AppBundle, uid: Option, - membrane_proofs: HashMap, + membrane_proofs: HashMap, agent_pub_key: Option, ) -> Result<(), String> { let agent_key = match agent_pub_key { diff --git a/crates/holochain_manager/src/versions/mod.rs b/crates/holochain_manager/src/versions/mod.rs index 8b2369c0..8c78f82a 100644 --- a/crates/holochain_manager/src/versions/mod.rs +++ b/crates/holochain_manager/src/versions/mod.rs @@ -4,8 +4,8 @@ use std::path::PathBuf; use url2::Url2; // NEW_VERSION: Upgrade these two crates so that they refer to the latest version of them -pub use holochain_conductor_api_0_0_132 as holochain_conductor_api_latest; -pub use holochain_types_0_0_132 as holochain_types_latest; +pub use holochain_conductor_api_0_0_139 as holochain_conductor_api_latest; +pub use holochain_types_0_0_139 as holochain_types_latest; use lair_keystore_manager::versions::LairKeystoreVersion; pub use mr_bundle_0_0_9 as mr_bundle_latest; @@ -14,16 +14,20 @@ mod common; pub mod version_manager; use version_manager::VersionManager; -// NEW_VERSION: Import the new VersionManager +// NEW_VERSION: Create a new VersionManager for the new version, +// by copying one of the version manager files in this folder (eg. v0_0_127) +// Import the new VersionManager here pub mod v0_0_127; pub mod v0_0_131; pub mod v0_0_132; pub mod v0_0_136; +pub mod v0_0_139; use v0_0_127::HolochainV0_0_127; use v0_0_131::HolochainV0_0_131; use v0_0_132::HolochainV0_0_132; use v0_0_136::HolochainV0_0_136; +use v0_0_139::HolochainV0_0_139; // NEW_VERSION: Add the new HDK version to this enum (if there is a new HDK version) #[derive(Copy, Clone, Debug, PartialEq, Hash, Eq, Deserialize_enum_str, Serialize_enum_str)] @@ -36,6 +40,8 @@ pub enum HdkVersion { V0_0_127, #[serde(rename = "0.0.130")] V0_0_130, + #[serde(rename = "0.0.132")] + V0_0_132, } // NEW_VERSION: Add the new Holochain version to this enum @@ -49,6 +55,8 @@ pub enum HolochainVersion { V0_0_132, #[serde(rename = "0.0.136")] V0_0_136, + #[serde(rename = "0.0.139")] + V0_0_139, } impl Into for HolochainVersion { @@ -58,14 +66,15 @@ impl Into for HolochainVersion { } impl HolochainVersion { - // Will be run by default when the launcher starts and + // Will be run by default when the launcher starts and is the version where the DevHub is installed + // Not necessarily the newest one pub fn default() -> HolochainVersion { - HolochainVersion::V0_0_132 + HolochainVersion::V0_0_139 } // Will be the config with the the custom binary is run, when present pub fn latest() -> HolochainVersion { - HolochainVersion::V0_0_136 + HolochainVersion::V0_0_139 } pub fn supported_versions() -> Vec { @@ -75,6 +84,7 @@ impl HolochainVersion { HolochainVersion::V0_0_131, HolochainVersion::V0_0_132, HolochainVersion::V0_0_136, + HolochainVersion::V0_0_139, ]; } @@ -86,6 +96,7 @@ impl HolochainVersion { HolochainVersion::V0_0_131 => HolochainVersionManager::HolochainV0_0_131(HolochainV0_0_131), HolochainVersion::V0_0_132 => HolochainVersionManager::HolochainV0_0_132(HolochainV0_0_132), HolochainVersion::V0_0_136 => HolochainVersionManager::HolochainV0_0_136(HolochainV0_0_136), + HolochainVersion::V0_0_139 => HolochainVersionManager::HolochainV0_0_139(HolochainV0_0_139), } } } @@ -97,4 +108,5 @@ pub enum HolochainVersionManager { HolochainV0_0_131, HolochainV0_0_132, HolochainV0_0_136, + HolochainV0_0_139, } diff --git a/crates/holochain_manager/src/versions/v0_0_139.rs b/crates/holochain_manager/src/versions/v0_0_139.rs new file mode 100644 index 00000000..031fef88 --- /dev/null +++ b/crates/holochain_manager/src/versions/v0_0_139.rs @@ -0,0 +1,67 @@ +use std::{path::PathBuf, sync::Arc}; +use url2::Url2; + +// NEW_VERSION: Import the exact same types but from the new crates +use holochain_conductor_api_0_0_139::{ + conductor::{ConductorConfig, KeystoreConfig}, + AdminInterfaceConfig, InterfaceDriver, +}; +use holochain_p2p_0_0_139::kitsune_p2p::{KitsuneP2pConfig, ProxyConfig, TransportConfig, dependencies::kitsune_p2p_types::config::tuning_params_struct::KitsuneP2pTuningParams}; + +use super::{version_manager::VersionManager, HdkVersion, common::{proxy_url, boostrap_service}}; + +pub struct HolochainV0_0_139; + +impl VersionManager for HolochainV0_0_139 { + // NEW_VERSION: Careful! Indicate here which HDK version comes bundled with this Holochain version + fn hdk_version(&self) -> HdkVersion { + HdkVersion::V0_0_132 + } + + // NEW_VERSION: Duplicate and change whatever config is necessary to change + fn initial_config( + &self, + admin_port: u16, + conductor_environment_path: PathBuf, + keystore_connection_url: Url2, + ) -> String { + let mut network_config = KitsuneP2pConfig::default(); + network_config.bootstrap_service = Some(boostrap_service()); + + let mut tuning_params = KitsuneP2pTuningParams::default(); + + tuning_params.gossip_outbound_target_mbps = 1.5; + tuning_params.gossip_inbound_target_mbps = 1.5; + tuning_params.gossip_historic_outbound_target_mbps = 0.4; + tuning_params.gossip_historic_inbound_target_mbps = 0.4; + + network_config.tuning_params = Arc::new(tuning_params); + + network_config.transport_pool.push(TransportConfig::Proxy { + sub_transport: Box::new(TransportConfig::Quic { + bind_to: None, + override_host: None, + override_port: None, + }), + proxy_config: ProxyConfig::RemoteProxyClient { + proxy_url: proxy_url(), + }, + }); + + let config = ConductorConfig { + environment_path: conductor_environment_path.into(), + dpki: None, + keystore: KeystoreConfig::LairServer { + connection_url: keystore_connection_url, + }, + admin_interfaces: Some(vec![AdminInterfaceConfig { + driver: InterfaceDriver::Websocket { port: admin_port }, + }]), + network: Some(network_config), + db_sync_strategy: Default::default(), + }; + + serde_yaml::to_string(&config).expect("Could not convert conductor config to string") + } + +} diff --git a/crates/holochain_web_app_manager/src/web_app_manager.rs b/crates/holochain_web_app_manager/src/web_app_manager.rs index b2a8efe6..e4dc5cee 100644 --- a/crates/holochain_web_app_manager/src/web_app_manager.rs +++ b/crates/holochain_web_app_manager/src/web_app_manager.rs @@ -3,7 +3,7 @@ use holochain_manager::{ versions::{ holochain_conductor_api_latest::InstalledAppInfo, holochain_types_latest::{ - prelude::{AgentPubKey, AppBundle, SerializedBytes}, + prelude::{AgentPubKey, AppBundle, MembraneProof}, web_app::WebAppBundle, }, mr_bundle_latest::ResourceBytes, @@ -27,7 +27,7 @@ use crate::{ pub struct WebAppManager { environment_path: PathBuf, - holochain_manager: HolochainManager, + pub holochain_manager: HolochainManager, caddy_manager: CaddyManager, allocated_ports: HashMap, } @@ -81,7 +81,7 @@ impl WebAppManager { app_id: String, web_app_bundle: WebAppBundle, uid: Option, - membrane_proofs: HashMap, + membrane_proofs: HashMap, agent_pub_key: Option, ) -> Result<(), String> { let app_bundle = web_app_bundle @@ -191,7 +191,7 @@ impl WebAppManager { app_id: String, app_bundle: AppBundle, uid: Option, - membrane_proofs: HashMap, + membrane_proofs: HashMap, agent_pub_key: Option, ) -> Result<(), String> { // Install app in conductor manager diff --git a/package-lock.json b/package-lock.json index 73b3d2c3..43c5f23c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "launcher", - "version": "0.4.5", + "version": "0.4.8", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "launcher", - "version": "0.4.5", + "version": "0.4.8", "dependencies": { "@holochain-open-dev/utils": "^0.0.9", "@holochain/client": "^0.3.2", @@ -794,6 +794,19 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", + "dev": true, + "peer": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, "node_modules/@babel/plugin-syntax-class-properties": { "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", @@ -860,6 +873,19 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dev": true, + "peer": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, "node_modules/@babel/plugin-syntax-json-strings": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", @@ -1785,6 +1811,43 @@ "webpack": "^4.0.0" } }, + "node_modules/@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "dev": true, + "peer": true, + "dependencies": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "dev": true, + "peer": true, + "engines": { + "node": ">=8" + } + }, "node_modules/@jest/console": { "version": "24.9.0", "resolved": "https://registry.npmjs.org/@jest/console/-/console-24.9.0.tgz", @@ -3767,6 +3830,212 @@ "node": ">=0.10.0" } }, + "node_modules/@jest/transform": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-26.6.2.tgz", + "integrity": "sha512-E9JjhUgNzvuQ+vVAL21vlyfy12gP0GhazGgJC4h6qUt1jSdUXGWJ1wfu/X7Sd8etSgxV4ovT1pb9v5D6QW4XgA==", + "dev": true, + "peer": true, + "dependencies": { + "@babel/core": "^7.1.0", + "@jest/types": "^26.6.2", + "babel-plugin-istanbul": "^6.0.0", + "chalk": "^4.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^26.6.2", + "jest-regex-util": "^26.0.0", + "jest-util": "^26.6.2", + "micromatch": "^4.0.2", + "pirates": "^4.0.1", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/@jest/transform/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "peer": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@jest/transform/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "peer": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@jest/transform/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "peer": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@jest/transform/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "peer": true + }, + "node_modules/@jest/transform/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/transform/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@jest/transform/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", + "dev": true, + "peer": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/@jest/types/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "peer": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@jest/types/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "peer": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@jest/types/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "peer": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@jest/types/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "peer": true + }, + "node_modules/@jest/types/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/types/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/@lit-labs/react": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/@lit-labs/react/-/react-1.0.2.tgz", @@ -5549,6 +5818,16 @@ "@types/node": "*" } }, + "node_modules/@types/graceful-fs": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz", + "integrity": "sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==", + "dev": true, + "peer": true, + "dependencies": { + "@types/node": "*" + } + }, "node_modules/@types/http-proxy": { "version": "1.17.7", "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.7.tgz", @@ -5573,6 +5852,16 @@ "@types/istanbul-lib-coverage": "*" } }, + "node_modules/@types/istanbul-reports": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", + "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", + "dev": true, + "peer": true, + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, "node_modules/@types/jest": { "version": "24.9.1", "resolved": "https://registry.npmjs.org/@types/jest/-/jest-24.9.1.tgz", @@ -5783,6 +6072,16 @@ "node": ">=0.10.0" } }, + "node_modules/@types/yargs": { + "version": "15.0.14", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz", + "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==", + "dev": true, + "peer": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, "node_modules/@types/yargs-parser": { "version": "20.2.1", "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-20.2.1.tgz", @@ -9620,6 +9919,105 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/babel-jest": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-26.6.3.tgz", + "integrity": "sha512-pl4Q+GAVOHwvjrck6jKjvmGhnO3jHX/xuB9d27f+EJZ/6k+6nMuPjorrYp7s++bKKdANwzElBWnLWaObvTnaZA==", + "dev": true, + "peer": true, + "dependencies": { + "@jest/transform": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/babel__core": "^7.1.7", + "babel-plugin-istanbul": "^6.0.0", + "babel-preset-jest": "^26.6.2", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "slash": "^3.0.0" + }, + "engines": { + "node": ">= 10.14.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/babel-jest/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "peer": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/babel-jest/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "peer": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/babel-jest/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "peer": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/babel-jest/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "peer": true + }, + "node_modules/babel-jest/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-jest/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/babel-loader": { "version": "8.2.3", "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.3.tgz", @@ -9657,6 +10055,39 @@ "object.assign": "^4.1.0" } }, + "node_modules/babel-plugin-istanbul": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", + "dev": true, + "peer": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-plugin-jest-hoist": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-26.6.2.tgz", + "integrity": "sha512-PO9t0697lNTmcEHH69mdtYiOIkkOlj9fySqfO3K1eCcdISevLAE0xY59VLLUj0SoiPiTX/JU2CYFpILydUa5Lw==", + "dev": true, + "peer": true, + "dependencies": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.0.0", + "@types/babel__traverse": "^7.0.6" + }, + "engines": { + "node": ">= 10.14.2" + } + }, "node_modules/babel-plugin-polyfill-corejs2": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.2.3.tgz", @@ -9718,6 +10149,47 @@ "babel-types": "^6.24.1" } }, + "node_modules/babel-preset-current-node-syntax": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", + "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", + "dev": true, + "peer": true, + "dependencies": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-top-level-await": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/babel-preset-jest": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-26.6.2.tgz", + "integrity": "sha512-YvdtlVm9t3k777c5NPQIv6cxFFFapys25HiUmuSgHwIZhfifweR5c5Sf5nwE3MAbfu327CYSvps8Yx6ANLyleQ==", + "dev": true, + "peer": true, + "dependencies": { + "babel-plugin-jest-hoist": "^26.6.2", + "babel-preset-current-node-syntax": "^1.0.0" + }, + "engines": { + "node": ">= 10.14.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, "node_modules/babel-runtime": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", @@ -12076,6 +12548,13 @@ "url": "https://opencollective.com/date-fns" } }, + "node_modules/de-indent": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz", + "integrity": "sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==", + "dev": true, + "peer": true + }, "node_modules/deasync": { "version": "0.1.24", "resolved": "https://registry.npmjs.org/deasync/-/deasync-0.1.24.tgz", @@ -14678,6 +15157,16 @@ "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==", "dev": true }, + "node_modules/get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "dev": true, + "peer": true, + "engines": { + "node": ">=8.0.0" + } + }, "node_modules/get-stream": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", @@ -16260,6 +16749,33 @@ "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", "dev": true }, + "node_modules/istanbul-lib-coverage": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", + "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", + "dev": true, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.0.tgz", + "integrity": "sha512-6Lthe1hqXHBNsqvgDzGO6l03XNeu3CrG4RqQ1KM9+l5+jNGpEJfIELx1NS3SEHmJQA8np/u+E4EPRKRiu6m19A==", + "dev": true, + "peer": true, + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/istanbul-lib-report": { "version": "2.0.8", "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz", @@ -17808,6 +18324,72 @@ "node": ">= 6" } }, + "node_modules/jest-haste-map": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-26.6.2.tgz", + "integrity": "sha512-easWIJXIw71B2RdR8kgqpjQrbMRWQBgiBwXYEhtGUTaX+doCjBheluShdDMeR8IMfJiTqH4+zfhtg29apJf/8w==", + "dev": true, + "peer": true, + "dependencies": { + "@jest/types": "^26.6.2", + "@types/graceful-fs": "^4.1.2", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.4", + "jest-regex-util": "^26.0.0", + "jest-serializer": "^26.6.2", + "jest-util": "^26.6.2", + "jest-worker": "^26.6.2", + "micromatch": "^4.0.2", + "sane": "^4.0.3", + "walker": "^1.0.7" + }, + "engines": { + "node": ">= 10.14.2" + }, + "optionalDependencies": { + "fsevents": "^2.1.2" + } + }, + "node_modules/jest-haste-map/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-haste-map/node_modules/jest-worker": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", + "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", + "dev": true, + "peer": true, + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/jest-haste-map/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/jest-jasmine2": { "version": "24.9.0", "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-24.9.0.tgz", @@ -18200,6 +18782,16 @@ } } }, + "node_modules/jest-regex-util": { + "version": "26.0.0", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-26.0.0.tgz", + "integrity": "sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A==", + "dev": true, + "peer": true, + "engines": { + "node": ">= 10.14.2" + } + }, "node_modules/jest-resolve": { "version": "24.9.0", "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-24.9.0.tgz", @@ -19212,6 +19804,20 @@ "decamelize": "^1.2.0" } }, + "node_modules/jest-serializer": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-26.6.2.tgz", + "integrity": "sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g==", + "dev": true, + "peer": true, + "dependencies": { + "@types/node": "*", + "graceful-fs": "^4.2.4" + }, + "engines": { + "node": ">= 10.14.2" + } + }, "node_modules/jest-serializer-vue": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/jest-serializer-vue/-/jest-serializer-vue-2.0.2.tgz", @@ -19284,6 +19890,100 @@ "integrity": "sha512-lspHaCRx/mBbnm3h4uMMS3R5aZzMwyNpNIJLXj4cEsV0mIUtS4IjYJLSoyjRCtnxb6RIGJ4NL2quZzfIeNhbkg==", "dev": true }, + "node_modules/jest-util": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-26.6.2.tgz", + "integrity": "sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q==", + "dev": true, + "peer": true, + "dependencies": { + "@jest/types": "^26.6.2", + "@types/node": "*", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^2.0.0", + "micromatch": "^4.0.2" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-util/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "peer": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-util/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "peer": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-util/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "peer": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-util/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "peer": true + }, + "node_modules/jest-util/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-util/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/jest-validate": { "version": "24.9.0", "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-24.9.0.tgz", @@ -25727,6 +26427,21 @@ "node": ">=0.10.0" } }, + "node_modules/test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "dev": true, + "peer": true, + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", @@ -26689,6 +27404,17 @@ "integrity": "sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ=", "dev": true }, + "node_modules/vue-template-compiler": { + "version": "2.6.14", + "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.6.14.tgz", + "integrity": "sha512-ODQS1SyMbjKoO1JBJZojSw6FE4qnh9rIpUZn2EUT86FKizx9uH5z6uXiIrm4/Nb/gwxTi/o17ZDEGWAXHvtC7g==", + "dev": true, + "peer": true, + "dependencies": { + "de-indent": "^1.0.2", + "he": "^1.1.0" + } + }, "node_modules/vue-template-es2015-compiler": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.9.1.tgz", @@ -29069,6 +29795,16 @@ "@babel/helper-plugin-utils": "^7.8.0" } }, + "@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", + "dev": true, + "peer": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, "@babel/plugin-syntax-class-properties": { "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", @@ -29114,6 +29850,16 @@ "@babel/helper-plugin-utils": "^7.8.3" } }, + "@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dev": true, + "peer": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, "@babel/plugin-syntax-json-strings": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", @@ -29769,6 +30515,36 @@ "postcss": "^7.0.0" } }, + "@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "dev": true, + "peer": true, + "requires": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "peer": true + } + } + }, + "@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "dev": true, + "peer": true + }, "@jest/console": { "version": "24.9.0", "resolved": "https://registry.npmjs.org/@jest/console/-/console-24.9.0.tgz", @@ -31380,6 +32156,165 @@ } } }, + "@jest/transform": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-26.6.2.tgz", + "integrity": "sha512-E9JjhUgNzvuQ+vVAL21vlyfy12gP0GhazGgJC4h6qUt1jSdUXGWJ1wfu/X7Sd8etSgxV4ovT1pb9v5D6QW4XgA==", + "dev": true, + "peer": true, + "requires": { + "@babel/core": "^7.1.0", + "@jest/types": "^26.6.2", + "babel-plugin-istanbul": "^6.0.0", + "chalk": "^4.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^26.6.2", + "jest-regex-util": "^26.0.0", + "jest-util": "^26.6.2", + "micromatch": "^4.0.2", + "pirates": "^4.0.1", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "peer": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "peer": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "peer": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "peer": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "peer": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "peer": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "peer": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", + "dev": true, + "peer": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "peer": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "peer": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "peer": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "peer": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "peer": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "peer": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, "@lit-labs/react": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/@lit-labs/react/-/react-1.0.2.tgz", @@ -33028,6 +33963,16 @@ "@types/node": "*" } }, + "@types/graceful-fs": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz", + "integrity": "sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==", + "dev": true, + "peer": true, + "requires": { + "@types/node": "*" + } + }, "@types/http-proxy": { "version": "1.17.7", "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.7.tgz", @@ -33052,6 +33997,16 @@ "@types/istanbul-lib-coverage": "*" } }, + "@types/istanbul-reports": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", + "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", + "dev": true, + "peer": true, + "requires": { + "@types/istanbul-lib-report": "*" + } + }, "@types/jest": { "version": "24.9.1", "resolved": "https://registry.npmjs.org/@types/jest/-/jest-24.9.1.tgz", @@ -33259,6 +34214,16 @@ } } }, + "@types/yargs": { + "version": "15.0.14", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz", + "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==", + "dev": true, + "peer": true, + "requires": { + "@types/yargs-parser": "*" + } + }, "@types/yargs-parser": { "version": "20.2.1", "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-20.2.1.tgz", @@ -36291,6 +37256,80 @@ "dev": true, "requires": {} }, + "babel-jest": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-26.6.3.tgz", + "integrity": "sha512-pl4Q+GAVOHwvjrck6jKjvmGhnO3jHX/xuB9d27f+EJZ/6k+6nMuPjorrYp7s++bKKdANwzElBWnLWaObvTnaZA==", + "dev": true, + "peer": true, + "requires": { + "@jest/transform": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/babel__core": "^7.1.7", + "babel-plugin-istanbul": "^6.0.0", + "babel-preset-jest": "^26.6.2", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "slash": "^3.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "peer": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "peer": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "peer": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "peer": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "peer": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "peer": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, "babel-loader": { "version": "8.2.3", "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.3.tgz", @@ -36321,6 +37360,33 @@ "object.assign": "^4.1.0" } }, + "babel-plugin-istanbul": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", + "dev": true, + "peer": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" + } + }, + "babel-plugin-jest-hoist": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-26.6.2.tgz", + "integrity": "sha512-PO9t0697lNTmcEHH69mdtYiOIkkOlj9fySqfO3K1eCcdISevLAE0xY59VLLUj0SoiPiTX/JU2CYFpILydUa5Lw==", + "dev": true, + "peer": true, + "requires": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.0.0", + "@types/babel__traverse": "^7.0.6" + } + }, "babel-plugin-polyfill-corejs2": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.2.3.tgz", @@ -36373,6 +37439,38 @@ "babel-types": "^6.24.1" } }, + "babel-preset-current-node-syntax": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", + "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", + "dev": true, + "peer": true, + "requires": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-top-level-await": "^7.8.3" + } + }, + "babel-preset-jest": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-26.6.2.tgz", + "integrity": "sha512-YvdtlVm9t3k777c5NPQIv6cxFFFapys25HiUmuSgHwIZhfifweR5c5Sf5nwE3MAbfu327CYSvps8Yx6ANLyleQ==", + "dev": true, + "peer": true, + "requires": { + "babel-plugin-jest-hoist": "^26.6.2", + "babel-preset-current-node-syntax": "^1.0.0" + } + }, "babel-runtime": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", @@ -38310,6 +39408,13 @@ "integrity": "sha512-ovYRFnTrbGPD4nqaEqescPEv1mNwvt+UTqI3Ay9SzNtey9NZnYu6E2qCcBBgJ6/2VF1zGGygpyTDITqpQQ5e+w==", "dev": true }, + "de-indent": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz", + "integrity": "sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==", + "dev": true, + "peer": true + }, "deasync": { "version": "0.1.24", "resolved": "https://registry.npmjs.org/deasync/-/deasync-0.1.24.tgz", @@ -40380,6 +41485,13 @@ "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==", "dev": true }, + "get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "dev": true, + "peer": true + }, "get-stream": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", @@ -41579,6 +42691,27 @@ "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", "dev": true }, + "istanbul-lib-coverage": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", + "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", + "dev": true, + "peer": true + }, + "istanbul-lib-instrument": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.0.tgz", + "integrity": "sha512-6Lthe1hqXHBNsqvgDzGO6l03XNeu3CrG4RqQ1KM9+l5+jNGpEJfIELx1NS3SEHmJQA8np/u+E4EPRKRiu6m19A==", + "dev": true, + "peer": true, + "requires": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" + } + }, "istanbul-lib-report": { "version": "2.0.8", "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz", @@ -42619,29 +43752,181 @@ "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "dev": true }, - "cssom": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", - "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==", - "dev": true - }, - "cssstyle": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", - "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", - "dev": true, - "requires": { - "cssom": "~0.3.6" - }, - "dependencies": { - "cssom": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", - "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", - "dev": true - } - } - }, + "cssom": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", + "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==", + "dev": true + }, + "cssstyle": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "dev": true, + "requires": { + "cssom": "~0.3.6" + }, + "dependencies": { + "cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", + "dev": true + } + } + }, + "jest-util": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-24.9.0.tgz", + "integrity": "sha512-x+cZU8VRmOJxbA1K5oDBdxQmdq0OIdADarLxk0Mq+3XS4jgvhG/oKGWcIDCtPG0HgjxOYvF+ilPJQsAyXfbNOg==", + "dev": true, + "requires": { + "@jest/console": "^24.9.0", + "@jest/fake-timers": "^24.9.0", + "@jest/source-map": "^24.9.0", + "@jest/test-result": "^24.9.0", + "@jest/types": "^24.9.0", + "callsites": "^3.0.0", + "chalk": "^2.0.1", + "graceful-fs": "^4.1.15", + "is-ci": "^2.0.0", + "mkdirp": "^0.5.1", + "slash": "^2.0.0", + "source-map": "^0.6.0" + } + }, + "jsdom": { + "version": "15.2.1", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-15.2.1.tgz", + "integrity": "sha512-fAl1W0/7T2G5vURSyxBzrJ1LSdQn6Tr5UX/xD4PXDx/PDgwygedfW6El/KIj3xJ7FU61TTYnc/l/B7P49Eqt6g==", + "dev": true, + "requires": { + "abab": "^2.0.0", + "acorn": "^7.1.0", + "acorn-globals": "^4.3.2", + "array-equal": "^1.0.0", + "cssom": "^0.4.1", + "cssstyle": "^2.0.0", + "data-urls": "^1.1.0", + "domexception": "^1.0.1", + "escodegen": "^1.11.1", + "html-encoding-sniffer": "^1.0.2", + "nwsapi": "^2.2.0", + "parse5": "5.1.0", + "pn": "^1.1.0", + "request": "^2.88.0", + "request-promise-native": "^1.0.7", + "saxes": "^3.1.9", + "symbol-tree": "^3.2.2", + "tough-cookie": "^3.0.1", + "w3c-hr-time": "^1.0.1", + "w3c-xmlserializer": "^1.1.2", + "webidl-conversions": "^4.0.2", + "whatwg-encoding": "^1.0.5", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^7.0.0", + "ws": "^7.0.0", + "xml-name-validator": "^3.0.0" + } + }, + "parse5": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.0.tgz", + "integrity": "sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ==", + "dev": true + }, + "slash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "tough-cookie": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-3.0.1.tgz", + "integrity": "sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg==", + "dev": true, + "requires": { + "ip-regex": "^2.1.0", + "psl": "^1.1.28", + "punycode": "^2.1.1" + } + }, + "whatwg-url": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", + "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", + "dev": true, + "requires": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + }, + "ws": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.5.tgz", + "integrity": "sha512-BAkMFcAzl8as1G/hArkxOxq3G7pjUqQ3gzYbLL0/5zNkph70e+lCoxBGnm6AW1+/aiNeV4fnKqZ8m4GZewmH2w==", + "dev": true, + "requires": {} + } + } + }, + "jest-environment-node": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-24.9.0.tgz", + "integrity": "sha512-6d4V2f4nxzIzwendo27Tr0aFm+IXWa0XEUnaH6nU0FMaozxovt+sfRvh4J47wL1OvF83I3SSTu0XK+i4Bqe7uA==", + "dev": true, + "requires": { + "@jest/environment": "^24.9.0", + "@jest/fake-timers": "^24.9.0", + "@jest/types": "^24.9.0", + "jest-mock": "^24.9.0", + "jest-util": "^24.9.0" + }, + "dependencies": { + "@jest/types": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-24.9.0.tgz", + "integrity": "sha512-XKK7ze1apu5JWQ5eZjHITP66AX+QsLlbaJRBGYr8pNzwcAE2JVkwnf0yqjHTsDRcjR0mujy/NmZMXw5kl+kGBw==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^13.0.0" + } + }, + "@types/istanbul-reports": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz", + "integrity": "sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "*", + "@types/istanbul-lib-report": "*" + } + }, + "@types/yargs": { + "version": "13.0.12", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-13.0.12.tgz", + "integrity": "sha512-qCxJE1qgz2y0hA4pIxjBR+PelCH0U5CK1XJXFwCNqfmliatKp47UCXXE9Dyk1OXBDLvsCF57TqQEJaeLfDYEOQ==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true + }, "jest-util": { "version": "24.9.0", "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-24.9.0.tgz", @@ -42662,46 +43947,6 @@ "source-map": "^0.6.0" } }, - "jsdom": { - "version": "15.2.1", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-15.2.1.tgz", - "integrity": "sha512-fAl1W0/7T2G5vURSyxBzrJ1LSdQn6Tr5UX/xD4PXDx/PDgwygedfW6El/KIj3xJ7FU61TTYnc/l/B7P49Eqt6g==", - "dev": true, - "requires": { - "abab": "^2.0.0", - "acorn": "^7.1.0", - "acorn-globals": "^4.3.2", - "array-equal": "^1.0.0", - "cssom": "^0.4.1", - "cssstyle": "^2.0.0", - "data-urls": "^1.1.0", - "domexception": "^1.0.1", - "escodegen": "^1.11.1", - "html-encoding-sniffer": "^1.0.2", - "nwsapi": "^2.2.0", - "parse5": "5.1.0", - "pn": "^1.1.0", - "request": "^2.88.0", - "request-promise-native": "^1.0.7", - "saxes": "^3.1.9", - "symbol-tree": "^3.2.2", - "tough-cookie": "^3.0.1", - "w3c-hr-time": "^1.0.1", - "w3c-xmlserializer": "^1.1.2", - "webidl-conversions": "^4.0.2", - "whatwg-encoding": "^1.0.5", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^7.0.0", - "ws": "^7.0.0", - "xml-name-validator": "^3.0.0" - } - }, - "parse5": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.0.tgz", - "integrity": "sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ==", - "dev": true - }, "slash": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", @@ -42713,127 +43958,69 @@ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true - }, - "tough-cookie": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-3.0.1.tgz", - "integrity": "sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg==", - "dev": true, - "requires": { - "ip-regex": "^2.1.0", - "psl": "^1.1.28", - "punycode": "^2.1.1" - } - }, - "whatwg-url": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", - "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", - "dev": true, - "requires": { - "lodash.sortby": "^4.7.0", - "tr46": "^1.0.1", - "webidl-conversions": "^4.0.2" - } - }, - "ws": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.5.tgz", - "integrity": "sha512-BAkMFcAzl8as1G/hArkxOxq3G7pjUqQ3gzYbLL0/5zNkph70e+lCoxBGnm6AW1+/aiNeV4fnKqZ8m4GZewmH2w==", - "dev": true, - "requires": {} } } }, - "jest-environment-node": { + "jest-get-type": { "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-24.9.0.tgz", - "integrity": "sha512-6d4V2f4nxzIzwendo27Tr0aFm+IXWa0XEUnaH6nU0FMaozxovt+sfRvh4J47wL1OvF83I3SSTu0XK+i4Bqe7uA==", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-24.9.0.tgz", + "integrity": "sha512-lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD/sUpKxetKGP+gsHl8f8TSj8Q==", + "dev": true + }, + "jest-haste-map": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-26.6.2.tgz", + "integrity": "sha512-easWIJXIw71B2RdR8kgqpjQrbMRWQBgiBwXYEhtGUTaX+doCjBheluShdDMeR8IMfJiTqH4+zfhtg29apJf/8w==", "dev": true, + "peer": true, "requires": { - "@jest/environment": "^24.9.0", - "@jest/fake-timers": "^24.9.0", - "@jest/types": "^24.9.0", - "jest-mock": "^24.9.0", - "jest-util": "^24.9.0" + "@jest/types": "^26.6.2", + "@types/graceful-fs": "^4.1.2", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "fsevents": "^2.1.2", + "graceful-fs": "^4.2.4", + "jest-regex-util": "^26.0.0", + "jest-serializer": "^26.6.2", + "jest-util": "^26.6.2", + "jest-worker": "^26.6.2", + "micromatch": "^4.0.2", + "sane": "^4.0.3", + "walker": "^1.0.7" }, "dependencies": { - "@jest/types": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-24.9.0.tgz", - "integrity": "sha512-XKK7ze1apu5JWQ5eZjHITP66AX+QsLlbaJRBGYr8pNzwcAE2JVkwnf0yqjHTsDRcjR0mujy/NmZMXw5kl+kGBw==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^1.1.1", - "@types/yargs": "^13.0.0" - } - }, - "@types/istanbul-reports": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz", - "integrity": "sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==", + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "*", - "@types/istanbul-lib-report": "*" - } + "peer": true }, - "@types/yargs": { - "version": "13.0.12", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-13.0.12.tgz", - "integrity": "sha512-qCxJE1qgz2y0hA4pIxjBR+PelCH0U5CK1XJXFwCNqfmliatKp47UCXXE9Dyk1OXBDLvsCF57TqQEJaeLfDYEOQ==", + "jest-worker": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", + "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", "dev": true, + "peer": true, "requires": { - "@types/yargs-parser": "*" + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" } }, - "callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true - }, - "jest-util": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-24.9.0.tgz", - "integrity": "sha512-x+cZU8VRmOJxbA1K5oDBdxQmdq0OIdADarLxk0Mq+3XS4jgvhG/oKGWcIDCtPG0HgjxOYvF+ilPJQsAyXfbNOg==", + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, + "peer": true, "requires": { - "@jest/console": "^24.9.0", - "@jest/fake-timers": "^24.9.0", - "@jest/source-map": "^24.9.0", - "@jest/test-result": "^24.9.0", - "@jest/types": "^24.9.0", - "callsites": "^3.0.0", - "chalk": "^2.0.1", - "graceful-fs": "^4.1.15", - "is-ci": "^2.0.0", - "mkdirp": "^0.5.1", - "slash": "^2.0.0", - "source-map": "^0.6.0" + "has-flag": "^4.0.0" } - }, - "slash": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", - "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true } } }, - "jest-get-type": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-24.9.0.tgz", - "integrity": "sha512-lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD/sUpKxetKGP+gsHl8f8TSj8Q==", - "dev": true - }, "jest-jasmine2": { "version": "24.9.0", "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-24.9.0.tgz", @@ -43160,6 +44347,13 @@ "dev": true, "requires": {} }, + "jest-regex-util": { + "version": "26.0.0", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-26.0.0.tgz", + "integrity": "sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A==", + "dev": true, + "peer": true + }, "jest-resolve": { "version": "24.9.0", "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-24.9.0.tgz", @@ -43997,6 +45191,17 @@ } } }, + "jest-serializer": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-26.6.2.tgz", + "integrity": "sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g==", + "dev": true, + "peer": true, + "requires": { + "@types/node": "*", + "graceful-fs": "^4.2.4" + } + }, "jest-serializer-vue": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/jest-serializer-vue/-/jest-serializer-vue-2.0.2.tgz", @@ -44065,6 +45270,78 @@ "integrity": "sha512-lspHaCRx/mBbnm3h4uMMS3R5aZzMwyNpNIJLXj4cEsV0mIUtS4IjYJLSoyjRCtnxb6RIGJ4NL2quZzfIeNhbkg==", "dev": true }, + "jest-util": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-26.6.2.tgz", + "integrity": "sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q==", + "dev": true, + "peer": true, + "requires": { + "@jest/types": "^26.6.2", + "@types/node": "*", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^2.0.0", + "micromatch": "^4.0.2" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "peer": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "peer": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "peer": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "peer": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "peer": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "peer": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, "jest-validate": { "version": "24.9.0", "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-24.9.0.tgz", @@ -49366,6 +50643,18 @@ } } }, + "test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "dev": true, + "peer": true, + "requires": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + } + }, "text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", @@ -50143,6 +51432,17 @@ } } }, + "vue-template-compiler": { + "version": "2.6.14", + "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.6.14.tgz", + "integrity": "sha512-ODQS1SyMbjKoO1JBJZojSw6FE4qnh9rIpUZn2EUT86FKizx9uH5z6uXiIrm4/Nb/gwxTi/o17ZDEGWAXHvtC7g==", + "dev": true, + "peer": true, + "requires": { + "de-indent": "^1.0.2", + "he": "^1.1.0" + } + }, "vue-template-es2015-compiler": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.9.1.tgz", diff --git a/package.json b/package.json index b2c065d5..a2b5f79e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "launcher", - "version": "0.4.7", + "version": "0.4.8", "private": true, "scripts": { "dev": "concurrently \"npm run dev:ui\" \"sleep 7 && npm tauri dev\"", @@ -9,7 +9,8 @@ "build": "npm run build:ui && npm run tauri -- build -v", "test:unit": "vue-cli-service test:unit", "lint": "vue-cli-service lint", - "tauri": "tauri" + "tauri": "tauri", + "prepare": "curl -L --output DevHub.webhapp https://github.com/holochain/devhub-gui/releases/download/v0.6.1/DevHub.webhapp" }, "dependencies": { "@holochain-open-dev/utils": "^0.0.9", diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml index 352c8556..a221bf36 100644 --- a/src-tauri/Cargo.toml +++ b/src-tauri/Cargo.toml @@ -7,7 +7,7 @@ edition = "2018" license = "" name = "holochain-launcher" repository = "" -version = "0.4.7" +version = "0.4.8" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/src-tauri/src/commands/get_state_info.rs b/src-tauri/src/commands/get_state_info.rs index 4efbd4b8..2ff8fc60 100644 --- a/src-tauri/src/commands/get_state_info.rs +++ b/src-tauri/src/commands/get_state_info.rs @@ -26,6 +26,7 @@ pub async fn get_state_info( Ok(LauncherStateInfo { state: state_info, config, + default_version: HolochainVersion::default() }) } diff --git a/src-tauri/src/commands/install_app.rs b/src-tauri/src/commands/install_app.rs index 80c3598a..5c1e3660 100644 --- a/src-tauri/src/commands/install_app.rs +++ b/src-tauri/src/commands/install_app.rs @@ -1,10 +1,10 @@ use holochain_manager::versions::{ holochain_types_latest::{ - prelude::{AgentPubKey, AppBundle, SerializedBytes, UnsafeBytes}, + prelude::{AgentPubKey, AppBundle, MembraneProof, UnsafeBytes, SerializedBytes}, web_app::WebAppBundle, }, }; -use std::{collections::HashMap, fs}; +use std::{collections::HashMap, fs, sync::Arc}; use crate::launcher::{state::LauncherState, manager::HolochainId}; @@ -20,11 +20,11 @@ pub async fn install_app( ) -> Result<(), String> { log::info!("Installing: web_app_bundle = {}", app_bundle_path); - let mut converted_membrane_proofs: HashMap = HashMap::new(); + let mut converted_membrane_proofs: HashMap = HashMap::new(); for (dna_slot, proof) in membrane_proofs.iter() { converted_membrane_proofs.insert( dna_slot.clone(), - SerializedBytes::from(UnsafeBytes::from(proof.clone())), + Arc::new(SerializedBytes::from(UnsafeBytes::from(proof.clone()))), ); } diff --git a/src-tauri/src/launcher/config.rs b/src-tauri/src/launcher/config.rs index c9b92782..b9973fa7 100644 --- a/src-tauri/src/launcher/config.rs +++ b/src-tauri/src/launcher/config.rs @@ -13,7 +13,6 @@ pub struct LauncherConfig { pub custom_binary_path: Option, pub running_versions: HashSet, - pub default_version: HolochainVersion, } impl Default for LauncherConfig { @@ -22,7 +21,6 @@ impl Default for LauncherConfig { log_level: log::Level::Warn, custom_binary_path: None, running_versions: HashSet::from([HolochainVersion::default()]), - default_version: HolochainVersion::default(), } } } diff --git a/src-tauri/src/launcher/default_apps.rs b/src-tauri/src/launcher/default_apps.rs index 0c7710e3..35a46480 100644 --- a/src-tauri/src/launcher/default_apps.rs +++ b/src-tauri/src/launcher/default_apps.rs @@ -10,11 +10,19 @@ pub async fn install_default_apps_if_necessary(manager: &mut WebAppManager) -> R let dev_hub_bundle = WebAppBundle::decode(include_bytes!("../../../DevHub.webhapp")) .or(Err("Malformed Web hApp bundle file"))?; + let version: String = manager.holochain_manager.version.into(); + + let uid = if cfg!(debug_assertions) { + Some(format!("dev")) + } else { + None + }; + manager .install_web_app( - String::from("DevHub"), + format!("DevHub-{}", version), dev_hub_bundle, - Some(String::from("0001")), + uid, HashMap::new(), None, ) diff --git a/src-tauri/src/launcher/manager.rs b/src-tauri/src/launcher/manager.rs index 842677eb..42d867ee 100644 --- a/src-tauri/src/launcher/manager.rs +++ b/src-tauri/src/launcher/manager.rs @@ -116,7 +116,11 @@ impl LauncherManager { self.lair_keystore_manager = RunningState::Running(Box::new(lair_keystore_manager)); - for version in self.config.running_versions.clone() { + let mut holochain_versions_to_run = self.config.running_versions.clone(); + + holochain_versions_to_run.insert(HolochainVersion::default()); + + for version in holochain_versions_to_run { self.launch_holochain_manager(version, None).await?; } @@ -185,39 +189,38 @@ impl LauncherManager { let version_str: String = version.into(); - let state = - match WebAppManager::launch(version, config, password).await { - Ok(mut manager) => match version.eq(&self.config.default_version) { - true => match install_default_apps_if_necessary(&mut manager).await { - Ok(()) => { - log::info!("Launched Holochain v{}", version_str); - RunningState::Running(manager) - } - Err(err) => { - manager.kill()?; - log::error!( - "Error launching Holochain v{}: Could not install default apps: {}", - version_str, - err - ); - - RunningState::Error(LaunchWebAppManagerError::Other(format!( - "Could not install default apps: {}", - err - ))) - } - }, - false => { - let version_str: String = version.into(); + let state = match WebAppManager::launch(version, config, password).await { + Ok(mut manager) => match version.eq(&HolochainVersion::default()) { + true => match install_default_apps_if_necessary(&mut manager).await { + Ok(()) => { log::info!("Launched Holochain v{}", version_str); RunningState::Running(manager) } + Err(err) => { + manager.kill()?; + log::error!( + "Error launching Holochain v{}: Could not install default apps: {}", + version_str, + err + ); + + RunningState::Error(LaunchWebAppManagerError::Other(format!( + "Could not install default apps: {}", + err + ))) + } }, - Err(error) => { - log::error!("Error launching Holochain v{}: {}", version_str, error); - RunningState::Error(error) + false => { + let version_str: String = version.into(); + log::info!("Launched Holochain v{}", version_str); + RunningState::Running(manager) } - }; + }, + Err(error) => { + log::error!("Error launching Holochain v{}: {}", version_str, error); + RunningState::Error(error) + } + }; if custom_binary_path.is_some() { self.custom_binary_manager = Some(state); diff --git a/src-tauri/src/launcher/state.rs b/src-tauri/src/launcher/state.rs index bcee6c4e..90f0ef20 100644 --- a/src-tauri/src/launcher/state.rs +++ b/src-tauri/src/launcher/state.rs @@ -26,6 +26,7 @@ pub type HolochainState = RunningState; pub struct LauncherStateInfo { pub state: RunningState, LauncherError>, pub config: LauncherConfig, + pub default_version: HolochainVersion, } #[derive(Serialize, Deserialize, Debug)] diff --git a/src-tauri/tauri.conf.json b/src-tauri/tauri.conf.json index e9f74753..3dfff271 100644 --- a/src-tauri/tauri.conf.json +++ b/src-tauri/tauri.conf.json @@ -1,7 +1,7 @@ { "package": { "productName": "Holochain Launcher", - "version": "0.4.7" + "version": "0.4.8" }, "build": { "distDir": "target/webpack_dist", @@ -31,6 +31,7 @@ "bins/holochain-v0.0.131", "bins/holochain-v0.0.132", "bins/holochain-v0.0.136", + "bins/holochain-v0.0.139", "bins/lair-keystore", "bins/caddy" ], diff --git a/src/components/InstalledAppDetail.vue b/src/components/InstalledAppDetail.vue index ab0e93f3..52f6e318 100644 --- a/src/components/InstalledAppDetail.vue +++ b/src/components/InstalledAppDetail.vue @@ -61,14 +61,14 @@ style="margin-left: 8px" label="Uninstall" icon="delete" - v-if="installedAppInfo.installed_app_id !== 'DevHub'" + v-if="isAppUninstallable(installedAppInfo.installed_app_id)" >
- Holochain Launcher v0.4.7 + Holochain Launcher v0.4.8 ({ return { type: "HolochainVersion", - content: stateInfo.config.default_version, + content: stateInfo.default_version, }; }, setupNeeded(state) { diff --git a/src/types.ts b/src/types.ts index 0e604155..b04fee1f 100644 --- a/src/types.ts +++ b/src/types.ts @@ -90,6 +90,7 @@ export interface LauncherStateInfo { RunLauncherError >; config: LauncherConfig; + default_version: HolochainVersion; } export type LogLevel = "Error" | "Warn" | "Info" | "Debug" | "Trace"; @@ -97,7 +98,6 @@ export type LogLevel = "Error" | "Warn" | "Info" | "Debug" | "Trace"; export interface LauncherConfig { log_level: LogLevel; running_versions: HolochainVersion[]; - default_version: HolochainVersion; custom_binary_path: string | undefined; } diff --git a/src/views/AppStore.vue b/src/views/AppStore.vue index c6c19d1a..df5bc126 100644 --- a/src/views/AppStore.vue +++ b/src/views/AppStore.vue @@ -136,12 +136,15 @@ export default defineComponent({ const appWs = await AppWebsocket.connect(`ws://localhost:${port}`); - const devhubInfo = await appWs.appInfo({ installed_app_id: "DevHub" }); + const devhubInfo = await appWs.appInfo({ + installed_app_id: `DevHub-${holochainId.content}`, + }); let allApps: Array; try { allApps = await getAllPublishedApps(appWs, devhubInfo); } catch (e) { + console.error(e); // Catch other errors than being offline allApps = []; } @@ -169,14 +172,16 @@ export default defineComponent({ const port = this.$store.getters["appInterfacePort"](holochainId); const appWs = await AppWebsocket.connect(`ws://localhost:${port}`, 40000); - const devhubInfo = await appWs.appInfo({ installed_app_id: "DevHub" }); + const devhubInfo = await appWs.appInfo({ + installed_app_id: `DevHub-${holochainId.content}`, + }); try { const bytes = await fetchWebHapp( appWs, devhubInfo, app.app.content.title, - release.address + release.id ); this.selectedAppBundlePath = await invoke("save_app", {