feat: iv and key on manifest

This commit is contained in:
DecDuck
2025-12-18 19:07:32 +11:00
parent 066e962930
commit 7faef9147f
5 changed files with 59 additions and 219 deletions
Generated
+50 -178
View File
@@ -74,7 +74,7 @@ checksum = "965c2d33e53cb6b267e148a4cb0760bc01f4904c1cd4bb4002a085bb016d1490"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.111", "syn",
"synstructure", "synstructure",
] ]
@@ -86,7 +86,7 @@ checksum = "3109e49b1e4909e9db6515a30c633684d68cdeaa252f215214cb4fa1a5bfee2c"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.111", "syn",
"synstructure", "synstructure",
] ]
@@ -98,7 +98,7 @@ checksum = "7b18050c2cd6fe86c3a76584ef5e0baf286d038cda203eb6223df2cc413565f7"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.111", "syn",
] ]
[[package]] [[package]]
@@ -109,7 +109,7 @@ checksum = "9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.111", "syn",
] ]
[[package]] [[package]]
@@ -185,7 +185,7 @@ dependencies = [
"once_cell", "once_cell",
"pollster", "pollster",
"portable-atomic", "portable-atomic",
"rand 0.8.5", "rand",
"regress", "regress",
"rustc-hash", "rustc-hash",
"ryu-js", "ryu-js",
@@ -236,7 +236,7 @@ checksum = "9fd3f870829131332587f607a7ff909f1af5fc523fd1b192db55fbbdf52e8d3c"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.111", "syn",
"synstructure", "synstructure",
] ]
@@ -280,9 +280,9 @@ dependencies = [
[[package]] [[package]]
name = "bumpalo" name = "bumpalo"
version = "3.19.0" version = "3.19.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "46c5e41b57b8bba42a04676d81cb89e9ee8e859a1a66f80a5a72e1cb76b34d43" checksum = "5dd9dc738b7a8311c7ade152424974d8115f2cdad61e8dab8dac9f2362298510"
[[package]] [[package]]
name = "bytemuck" name = "bytemuck"
@@ -301,7 +301,7 @@ checksum = "f9abbd1bc6865053c427f7198e6af43bfdedc55ab791faed4fbd361d789575ff"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.111", "syn",
] ]
[[package]] [[package]]
@@ -312,9 +312,9 @@ checksum = "b35204fbdc0b3f4446b89fc1ac2cf84a8a68971995d0bf2e925ec7cd960f9cb3"
[[package]] [[package]]
name = "cc" name = "cc"
version = "1.2.48" version = "1.2.49"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c481bdbf0ed3b892f6f806287d72acd515b352a4ec27a208489b8c1bc839633a" checksum = "90583009037521a116abf44494efecd645ba48b6622457080f080b85544e2215"
dependencies = [ dependencies = [
"find-msvc-tools", "find-msvc-tools",
"shlex", "shlex",
@@ -388,9 +388,9 @@ dependencies = [
[[package]] [[package]]
name = "ctor" name = "ctor"
version = "0.6.2" version = "0.6.3"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "eb230974aaf0aca4d71665bed0aca156cf43b764fcb9583b69c6c3e686f35e72" checksum = "424e0138278faeb2b401f174ad17e715c829512d74f3d1e81eb43365c2e0590e"
dependencies = [ dependencies = [
"ctor-proc-macro", "ctor-proc-macro",
"dtor", "dtor",
@@ -477,7 +477,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.111", "syn",
] ]
[[package]] [[package]]
@@ -487,31 +487,24 @@ dependencies = [
"anyhow", "anyhow",
"boa_engine", "boa_engine",
"droplet-rs", "droplet-rs",
"format-bytes",
"hashing-reader",
"hex",
"humansize",
"napi", "napi",
"napi-build", "napi-build",
"napi-derive", "napi-derive",
"rhai", "rhai",
"serde",
"serde_json", "serde_json",
"sha2",
"tokio", "tokio",
"tokio-util",
"uuid",
] ]
[[package]] [[package]]
name = "droplet-rs" name = "droplet-rs"
version = "0.11.2" version = "0.12.0"
source = "git+https://github.com/Drop-OSS/droplet-rs.git#8db15b1e42dd84a9ec5214d2ca85e4846a090269" source = "git+https://github.com/Drop-OSS/droplet-rs.git#cb3649eefa3bc8bf0cdeb947445fe357103730be"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"async-trait", "async-trait",
"dyn-clone", "dyn-clone",
"futures", "futures",
"getrandom 0.3.4",
"hex", "hex",
"humansize", "humansize",
"rcgen", "rcgen",
@@ -522,10 +515,6 @@ dependencies = [
"time", "time",
"tokio", "tokio",
"uuid", "uuid",
<<<<<<< Updated upstream
"webpki",
=======
>>>>>>> Stashed changes
"x509-parser 0.17.0", "x509-parser 0.17.0",
] ]
@@ -586,26 +575,6 @@ version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdb" checksum = "77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdb"
[[package]]
name = "format-bytes"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "48942366ef93975da38e175ac9e10068c6fc08ca9e85930d4f098f4d5b14c2fd"
dependencies = [
"format-bytes-macros",
]
[[package]]
name = "format-bytes-macros"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "203aadebefcc73d12038296c228eabf830f99cba991b0032adf20e9fa6ce7e4f"
dependencies = [
"proc-macro2",
"quote",
"syn 1.0.109",
]
[[package]] [[package]]
name = "futures" name = "futures"
version = "0.3.31" version = "0.3.31"
@@ -662,7 +631,7 @@ checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.111", "syn",
] ]
[[package]] [[package]]
@@ -756,17 +725,6 @@ dependencies = [
"foldhash 0.2.0", "foldhash 0.2.0",
] ]
[[package]]
name = "hashing-reader"
version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "490b80ea8c6d700506827951d7196fede236081b9c976a42b30598fa77377d15"
dependencies = [
"digest",
"pin-project",
"tokio",
]
[[package]] [[package]]
name = "hex" name = "hex"
version = "0.4.3" version = "0.4.3"
@@ -897,7 +855,7 @@ checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.111", "syn",
] ]
[[package]] [[package]]
@@ -1019,9 +977,9 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
[[package]] [[package]]
name = "mio" name = "mio"
version = "1.1.0" version = "1.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "69d83b0086dc8ecf3ce9ae2874b2d1290252e2a30720bea58a5c6639b0092873" checksum = "a69bcab0ad47271a0234d9422b131806bf3968021e5dc9328caf2d4cd58557fc"
dependencies = [ dependencies = [
"libc", "libc",
"wasi", "wasi",
@@ -1030,9 +988,9 @@ dependencies = [
[[package]] [[package]]
name = "napi" name = "napi"
version = "3.6.1" version = "3.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3af30fe8e799dda3a555c496c59e960e4cff1e931b63acbaf3a3b25d9fad22b6" checksum = "f27a163b545fd2184d2efdccf3d3df56acdb63465f2fcfebcaee0463c1e91783"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"bitflags", "bitflags",
@@ -1064,7 +1022,7 @@ dependencies = [
"napi-derive-backend", "napi-derive-backend",
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.111", "syn",
] ]
[[package]] [[package]]
@@ -1077,7 +1035,7 @@ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"semver", "semver",
"syn 2.0.111", "syn",
] ]
[[package]] [[package]]
@@ -1159,7 +1117,7 @@ dependencies = [
"proc-macro-crate", "proc-macro-crate",
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.111", "syn",
] ]
[[package]] [[package]]
@@ -1244,7 +1202,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3c80231409c20246a13fddb31776fb942c38553c51e871f8cbd687a4cfb5843d" checksum = "3c80231409c20246a13fddb31776fb942c38553c51e871f8cbd687a4cfb5843d"
dependencies = [ dependencies = [
"phf_shared", "phf_shared",
"rand 0.8.5", "rand",
] ]
[[package]] [[package]]
@@ -1257,7 +1215,7 @@ dependencies = [
"phf_shared", "phf_shared",
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.111", "syn",
] ]
[[package]] [[package]]
@@ -1269,26 +1227,6 @@ dependencies = [
"siphasher", "siphasher",
] ]
[[package]]
name = "pin-project"
version = "1.1.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "677f1add503faace112b9f1373e43e9e054bfdd22ff1a63c1bc485eaec6a6a8a"
dependencies = [
"pin-project-internal",
]
[[package]]
name = "pin-project-internal"
version = "1.1.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6e918e4ff8c4549eb882f14b3a4bc8c8bc93de829416eacf579f1207a8fbf861"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.111",
]
[[package]] [[package]]
name = "pin-project-lite" name = "pin-project-lite"
version = "0.2.16" version = "0.2.16"
@@ -1368,18 +1306,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
dependencies = [ dependencies = [
"libc", "libc",
"rand_chacha 0.3.1", "rand_chacha",
"rand_core 0.6.4", "rand_core",
]
[[package]]
name = "rand"
version = "0.9.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1"
dependencies = [
"rand_chacha 0.9.0",
"rand_core 0.9.3",
] ]
[[package]] [[package]]
@@ -1389,17 +1317,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
dependencies = [ dependencies = [
"ppv-lite86", "ppv-lite86",
"rand_core 0.6.4", "rand_core",
]
[[package]]
name = "rand_chacha"
version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb"
dependencies = [
"ppv-lite86",
"rand_core 0.9.3",
] ]
[[package]] [[package]]
@@ -1411,15 +1329,6 @@ dependencies = [
"getrandom 0.2.16", "getrandom 0.2.16",
] ]
[[package]]
name = "rand_core"
version = "0.9.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38"
dependencies = [
"getrandom 0.3.4",
]
[[package]] [[package]]
name = "rcgen" name = "rcgen"
version = "0.13.2" version = "0.13.2"
@@ -1478,7 +1387,7 @@ checksum = "d4322a2a4e8cf30771dd9f27f7f37ca9ac8fe812dddd811096a98483080dabe6"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.111", "syn",
] ]
[[package]] [[package]]
@@ -1512,9 +1421,9 @@ dependencies = [
[[package]] [[package]]
name = "rustls-pki-types" name = "rustls-pki-types"
version = "1.13.1" version = "1.13.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "708c0f9d5f54ba0272468c1d306a52c495b31fa155e91bc25371e6df7996908c" checksum = "21e6f2ab2928ca4291b86736a8bd920a277a399bba1589409d72154ff87c1282"
dependencies = [ dependencies = [
"zeroize", "zeroize",
] ]
@@ -1576,7 +1485,7 @@ checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.111", "syn",
] ]
[[package]] [[package]]
@@ -1665,17 +1574,6 @@ version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
[[package]]
name = "syn"
version = "1.0.109"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
dependencies = [
"proc-macro2",
"quote",
"unicode-ident",
]
[[package]] [[package]]
name = "syn" name = "syn"
version = "2.0.111" version = "2.0.111"
@@ -1695,7 +1593,7 @@ checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.111", "syn",
] ]
[[package]] [[package]]
@@ -1736,7 +1634,7 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.111", "syn",
] ]
[[package]] [[package]]
@@ -1747,7 +1645,7 @@ checksum = "3ff15c8ecd7de3849db632e14d18d2571fa09dfc5ed93479bc4485c7a517c913"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.111", "syn",
] ]
[[package]] [[package]]
@@ -1826,7 +1724,7 @@ checksum = "af407857209536a95c8e56f8231ef2c2e2aff839b22e07a1ffcbc617e9db9fa5"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.111", "syn",
] ]
[[package]] [[package]]
@@ -1840,33 +1738,20 @@ dependencies = [
"tokio", "tokio",
] ]
[[package]]
name = "tokio-util"
version = "0.7.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2efa149fe76073d6e8fd97ef4f4eca7b67f599660115591483572e406e165594"
dependencies = [
"bytes",
"futures-core",
"futures-sink",
"pin-project-lite",
"tokio",
]
[[package]] [[package]]
name = "toml_datetime" name = "toml_datetime"
version = "0.7.3" version = "0.7.4+spec-1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f2cdb639ebbc97961c51720f858597f7f24c4fc295327923af55b74c3c724533" checksum = "fe3cea6b2aa3b910092f6abd4053ea464fab5f9c170ba5e9a6aead16ec4af2b6"
dependencies = [ dependencies = [
"serde_core", "serde_core",
] ]
[[package]] [[package]]
name = "toml_edit" name = "toml_edit"
version = "0.23.7" version = "0.23.10+spec-1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6485ef6d0d9b5d0ec17244ff7eb05310113c3f316f2d14200d4de56b3cb98f8d" checksum = "84c8b9f757e028cee9fa244aea147aab2a9ec09d5325a9b01e0a49730c2b5269"
dependencies = [ dependencies = [
"indexmap", "indexmap",
"toml_datetime", "toml_datetime",
@@ -1876,9 +1761,9 @@ dependencies = [
[[package]] [[package]]
name = "toml_parser" name = "toml_parser"
version = "1.0.4" version = "1.0.5+spec-1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c0cbe268d35bdb4bb5a56a2de88d0ad0eb70af5384a99d648cd4b3d04039800e" checksum = "4c03bee5ce3696f31250db0bbaff18bc43301ce0e8db2ed1f07cbb2acf89984c"
dependencies = [ dependencies = [
"winnow", "winnow",
] ]
@@ -1927,22 +1812,9 @@ checksum = "e2e054861b4bd027cd373e18e8d8d8e6548085000e41290d95ce0c373a654b4a"
dependencies = [ dependencies = [
"getrandom 0.3.4", "getrandom 0.3.4",
"js-sys", "js-sys",
"rand 0.9.2",
"uuid-macro-internal",
"wasm-bindgen", "wasm-bindgen",
] ]
[[package]]
name = "uuid-macro-internal"
version = "1.19.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "39d11901c36b3650df7acb0f9ebe624f35b5ac4e1922ecd3c57f444648429594"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.111",
]
[[package]] [[package]]
name = "version_check" name = "version_check"
version = "0.9.5" version = "0.9.5"
@@ -1996,7 +1868,7 @@ dependencies = [
"bumpalo", "bumpalo",
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.111", "syn",
"wasm-bindgen-shared", "wasm-bindgen-shared",
] ]
@@ -2189,7 +2061,7 @@ checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.111", "syn",
"synstructure", "synstructure",
] ]
@@ -2210,7 +2082,7 @@ checksum = "d8a8d209fdf45cf5138cbb5a506f6b52522a25afccc534d1475dad8e31105c6a"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.111", "syn",
] ]
[[package]] [[package]]
@@ -2230,7 +2102,7 @@ checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.111", "syn",
"synstructure", "synstructure",
] ]
@@ -2259,5 +2131,5 @@ checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.111", "syn",
] ]
-18
View File
@@ -17,31 +17,13 @@ napi = { version = "3.0.0-beta.11", default-features = false, features = [
"error_anyhow", "error_anyhow",
] } ] }
napi-derive = "3.0.0-beta.11" napi-derive = "3.0.0-beta.11"
hex = "0.4.3"
tokio = { version = "1.45.1", features = ["fs", "io-util"] } tokio = { version = "1.45.1", features = ["fs", "io-util"] }
tokio-util = { version = "0.7.15", features = ["codec"] }
rhai = "1.22.2" rhai = "1.22.2"
# mlua = { version = "0.11.2", features = ["luajit"] } # mlua = { version = "0.11.2", features = ["luajit"] }
boa_engine = "0.20.0" boa_engine = "0.20.0"
serde_json = "1.0.143" serde_json = "1.0.143"
anyhow = "*" anyhow = "*"
droplet-rs = { git = "https://github.com/Drop-OSS/droplet-rs.git" } droplet-rs = { git = "https://github.com/Drop-OSS/droplet-rs.git" }
hashing-reader = "0.1.0"
sha2 = "0.10.9"
format-bytes = "0.3.0"
humansize = "2.1.3"
[dependencies.serde]
version = "1.0.210"
features = ["serde_derive"]
[dependencies.uuid]
version = "1.10.0"
features = [
"v4", # Lets you generate random UUIDs
"fast-rng", # Use a faster (but still sufficiently random) RNG
"macro-diagnostics", # Enable better diagnostics for compile-time UUIDs
]
[build-dependencies] [build-dependencies]
napi-build = "2.0.1" napi-build = "2.0.1"
+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"name": "@drop-oss/droplet", "name": "@drop-oss/droplet",
"version": "5.0.0", "version": "5.1.0",
"main": "index.js", "main": "index.js",
"types": "index.d.ts", "types": "index.d.ts",
"napi": { "napi": {
+4 -13
View File
@@ -1,21 +1,12 @@
use std::{collections::HashMap, path::PathBuf, sync::Arc, thread}; use std::{path::PathBuf, sync::Arc, thread};
use anyhow::anyhow; use droplet_rs::manifest::generate_manifest_rusty;
use droplet_rs::{manifest::generate_manifest_rusty, versions::types::VersionFile};
use hashing_reader::HashingReader;
use hex::ToHex;
use humansize::{format_size, BINARY};
use napi::{ use napi::{
threadsafe_function::{ThreadsafeFunction, ThreadsafeFunctionCallMode}, threadsafe_function::{ThreadsafeFunction, ThreadsafeFunctionCallMode},
Result, Result,
}; };
use serde::Serialize;
use serde_json::json; use serde_json::json;
use sha2::{Digest, Sha256};
use tokio::io::AsyncReadExt as _;
use uuid::Uuid;
use crate::version::create_backend_for_path;
#[napi] #[napi]
pub fn call_alt_thread_func(tsfn: Arc<ThreadsafeFunction<()>>) -> Result<(), String> { pub fn call_alt_thread_func(tsfn: Arc<ThreadsafeFunction<()>>) -> Result<(), String> {
@@ -32,7 +23,7 @@ pub async fn generate_manifest(
progress_sfn: ThreadsafeFunction<f32>, progress_sfn: ThreadsafeFunction<f32>,
log_sfn: ThreadsafeFunction<String>, log_sfn: ThreadsafeFunction<String>,
) -> anyhow::Result<String> { ) -> anyhow::Result<String> {
generate_manifest_rusty( Ok(json!(generate_manifest_rusty(
&PathBuf::from(dir), &PathBuf::from(dir),
|progress| { |progress| {
progress_sfn.call(Ok(progress), ThreadsafeFunctionCallMode::Blocking); progress_sfn.call(Ok(progress), ThreadsafeFunctionCallMode::Blocking);
@@ -41,5 +32,5 @@ pub async fn generate_manifest(
log_sfn.call(Ok(logline), ThreadsafeFunctionCallMode::Blocking); log_sfn.call(Ok(logline), ThreadsafeFunctionCallMode::Blocking);
}, },
) )
.await .await?).to_string())
} }
+4 -9
View File
@@ -1,9 +1,6 @@
use std::{ use std::
collections::HashMap, path::Path
fs::File, ;
path::Path,
process::{Command, ExitStatus},
};
use anyhow::anyhow; use anyhow::anyhow;
use droplet_rs::versions::{ use droplet_rs::versions::{
@@ -12,11 +9,9 @@ use droplet_rs::versions::{
}; };
use napi::{ use napi::{
bindgen_prelude::*, bindgen_prelude::*,
sys::napi_value__, tokio_stream::wrappers::ReceiverStream,
tokio_stream::{wrappers::ReceiverStream, StreamExt},
}; };
use tokio::io::{AsyncReadExt, BufReader}; use tokio::io::{AsyncReadExt, BufReader};
use tokio_util::codec::{BytesCodec, FramedRead};
pub fn create_backend_for_path(path: String) -> Option<Box<dyn VersionBackend + Send>> { pub fn create_backend_for_path(path: String) -> Option<Box<dyn VersionBackend + Send>> {
let fs_path = Path::new(&path); let fs_path = Path::new(&path);