Initial "Hello World" for plugins

This commit is contained in:
Gregory Schier
2023-10-29 16:43:28 -07:00
parent 46470160a9
commit 9a56b2f331
6 changed files with 649 additions and 3 deletions

606
src-tauri/Cargo.lock generated
View File

@@ -124,6 +124,15 @@ dependencies = [
"num-traits",
]
[[package]]
name = "atomic-polyfill"
version = "1.0.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8cf2bce30dfe09ef0bfaef228b9d414faaf7e563035494d7fe092dba54b300f4"
dependencies = [
"critical-section",
]
[[package]]
name = "autocfg"
version = "1.1.0"
@@ -193,6 +202,155 @@ dependencies = [
"generic-array",
]
[[package]]
name = "boa_ast"
version = "0.17.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "73498e9b2f0aa7db74977afa4d594657611e90587abf0dd564c0b55b4a130163"
dependencies = [
"bitflags 2.4.1",
"boa_interner",
"boa_macros",
"indexmap 2.0.2",
"num-bigint",
"rustc-hash",
]
[[package]]
name = "boa_engine"
version = "0.17.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "16377479d5d6d33896e7acdd1cc698d04a8f72004025bbbddf47558cd29146a6"
dependencies = [
"bitflags 2.4.1",
"boa_ast",
"boa_gc",
"boa_icu_provider",
"boa_interner",
"boa_macros",
"boa_parser",
"boa_profiler",
"chrono",
"dashmap",
"fast-float",
"icu_normalizer",
"indexmap 2.0.2",
"itertools",
"num-bigint",
"num-integer",
"num-traits",
"num_enum 0.6.1",
"once_cell",
"pollster",
"rand 0.8.5",
"regress",
"rustc-hash",
"ryu-js",
"serde",
"serde_json",
"sptr",
"static_assertions",
"tap",
"thin-vec",
"thiserror",
]
[[package]]
name = "boa_gc"
version = "0.17.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c97b44beaef9d4452342d117d94607fdfa8d474280f1ba0fd97853834e3a49b2"
dependencies = [
"boa_macros",
"boa_profiler",
"thin-vec",
]
[[package]]
name = "boa_icu_provider"
version = "0.17.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b30e52e34e451dd0bfc2c654a9a43ed34b0073dbd4ae3394b40313edda8627aa"
dependencies = [
"icu_collections",
"icu_normalizer",
"icu_properties",
"icu_provider",
"icu_provider_adapters",
"icu_provider_blob",
"once_cell",
]
[[package]]
name = "boa_interner"
version = "0.17.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f3e5afa991908cfbe79bd3109b824e473a1dc5f74f31fab91bb44c9e245daa77"
dependencies = [
"boa_gc",
"boa_macros",
"hashbrown 0.14.2",
"indexmap 2.0.2",
"once_cell",
"phf 0.11.2",
"rustc-hash",
"static_assertions",
]
[[package]]
name = "boa_macros"
version = "0.17.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "005fa0c5bd20805466dda55eb34cd709bb31a2592bb26927b47714eeed6914d8"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.38",
"synstructure",
]
[[package]]
name = "boa_parser"
version = "0.17.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9e09afb035377a9044443b598187a7d34cd13164617182a4d7c348522ee3f052"
dependencies = [
"bitflags 2.4.1",
"boa_ast",
"boa_icu_provider",
"boa_interner",
"boa_macros",
"boa_profiler",
"fast-float",
"icu_locid",
"icu_properties",
"icu_provider",
"icu_provider_macros",
"num-bigint",
"num-traits",
"once_cell",
"regress",
"rustc-hash",
"tinystr",
]
[[package]]
name = "boa_profiler"
version = "0.17.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3190f92dfe48224adc92881c620f08ccf37ff62b91a094bb357fe53bd5e84647"
[[package]]
name = "boa_runtime"
version = "0.17.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "80e7606e8be709e82cb78c66bc6849dfcaa5fd0f551a215bd1cf6ab3b5bb4453"
dependencies = [
"boa_engine",
"boa_gc",
"rustc-hash",
]
[[package]]
name = "brotli"
version = "3.4.0"
@@ -351,6 +509,12 @@ dependencies = [
"windows-targets 0.48.5",
]
[[package]]
name = "cobs"
version = "0.2.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "67ba02a97a2bd10f4b59b25c7973101c79642302776489e030cd13cdab09ed15"
[[package]]
name = "cocoa"
version = "0.24.1"
@@ -505,6 +669,12 @@ dependencies = [
"cfg-if",
]
[[package]]
name = "critical-section"
version = "1.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7059fff8937831a9ae6f0fe4d658ffabf58f2ca96aa9dec1c889f936f705f216"
[[package]]
name = "crossbeam-channel"
version = "0.5.8"
@@ -616,6 +786,19 @@ dependencies = [
"syn 2.0.38",
]
[[package]]
name = "dashmap"
version = "5.5.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856"
dependencies = [
"cfg-if",
"hashbrown 0.14.2",
"lock_api",
"once_cell",
"parking_lot_core 0.9.9",
]
[[package]]
name = "deranged"
version = "0.3.9"
@@ -676,6 +859,17 @@ version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bd0c93bb4b0c6d9b77f4435b0ae98c24d17f1c45b2ff844c6151a07256ca923b"
[[package]]
name = "displaydoc"
version = "0.2.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.38",
]
[[package]]
name = "dotenvy"
version = "0.15.7"
@@ -731,6 +925,12 @@ version = "1.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4ef6b89e5b37196644d8796de5268852ff179b44e96276cf4290264843743bb7"
[[package]]
name = "embedded-io"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ef1a6892d9eef45c8fa6b9e0086428a2cca8491aca8f787c534a3d6d0bcb3ced"
[[package]]
name = "encoding_rs"
version = "0.8.33"
@@ -762,6 +962,12 @@ version = "2.5.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0"
[[package]]
name = "fast-float"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "95765f67b4b18863968b4a1bd5bb576f732b29a4a28c7cd84c09fa3e2875f33c"
[[package]]
name = "fastrand"
version = "2.0.1"
@@ -1325,6 +1531,15 @@ version = "0.12.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
[[package]]
name = "hashbrown"
version = "0.13.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e"
dependencies = [
"ahash 0.8.6",
]
[[package]]
name = "hashbrown"
version = "0.14.2"
@@ -1512,6 +1727,122 @@ dependencies = [
"png",
]
[[package]]
name = "icu_collections"
version = "1.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ef8302d8dfd6044d3ddb3f807a5ef3d7bbca9a574959c6d6e4dc39aa7012d0d5"
dependencies = [
"displaydoc",
"serde",
"yoke",
"zerofrom",
"zerovec",
]
[[package]]
name = "icu_locid"
version = "1.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3003f85dccfc0e238ff567693248c59153a46f4e6125ba4020b973cef4d1d335"
dependencies = [
"displaydoc",
"litemap",
"serde",
"tinystr",
"writeable",
"zerovec",
]
[[package]]
name = "icu_normalizer"
version = "1.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "652869735c9fb9f5a64ba180ee16f2c848390469c116deef517ecc53f4343598"
dependencies = [
"displaydoc",
"icu_collections",
"icu_properties",
"icu_provider",
"serde",
"smallvec",
"utf16_iter",
"utf8_iter",
"write16",
"zerovec",
]
[[package]]
name = "icu_properties"
version = "1.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ce0e1aa26851f16c9e04412a5911c86b7f8768dac8f8d4c5f1c568a7e5d7a434"
dependencies = [
"displaydoc",
"icu_collections",
"icu_provider",
"serde",
"tinystr",
"zerovec",
]
[[package]]
name = "icu_provider"
version = "1.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8dc312a7b6148f7dfe098047ae2494d12d4034f48ade58d4f353000db376e305"
dependencies = [
"displaydoc",
"icu_locid",
"icu_provider_macros",
"postcard",
"serde",
"stable_deref_trait",
"writeable",
"yoke",
"zerofrom",
"zerovec",
]
[[package]]
name = "icu_provider_adapters"
version = "1.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f4ae1e2bd0c41728b77e7c46e9afdec5e2127d1eedacc684724667d50c126bd3"
dependencies = [
"icu_locid",
"icu_provider",
"serde",
"tinystr",
"yoke",
"zerovec",
]
[[package]]
name = "icu_provider_blob"
version = "1.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fd364c9a01f791a4bc04a74cf2a1d01d9f6926a40fd5ae1c28004e1e70d8338b"
dependencies = [
"icu_provider",
"postcard",
"serde",
"writeable",
"yoke",
"zerovec",
]
[[package]]
name = "icu_provider_macros"
version = "1.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dd8b728b9421e93eff1d9f8681101b78fa745e0748c95c655c83f337044a7e10"
dependencies = [
"proc-macro2",
"quote",
"syn 1.0.109",
]
[[package]]
name = "ident_case"
version = "1.0.1"
@@ -1786,6 +2117,12 @@ version = "0.4.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "da2479e8c062e40bf0066ffa0bc823de0a9368974af99c9f6df941d2c231e03f"
[[package]]
name = "litemap"
version = "0.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "77a1a2647d5b7134127971a6de0d533c49de2159167e7f259c427195f87168a1"
[[package]]
name = "lock_api"
version = "0.4.11"
@@ -1956,7 +2293,7 @@ dependencies = [
"bitflags 1.3.2",
"jni-sys",
"ndk-sys",
"num_enum",
"num_enum 0.5.11",
"thiserror",
]
@@ -2007,6 +2344,18 @@ dependencies = [
"winapi",
]
[[package]]
name = "num-bigint"
version = "0.4.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "608e7659b5c3d7cba262d894801b9ec9d00de989e8a82bd4bef91d08da45cdc0"
dependencies = [
"autocfg",
"num-integer",
"num-traits",
"serde",
]
[[package]]
name = "num-integer"
version = "0.1.45"
@@ -2053,7 +2402,16 @@ version = "0.5.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1f646caf906c20226733ed5b1374287eb97e3c2a5c227ce668c1f2ce20ae57c9"
dependencies = [
"num_enum_derive",
"num_enum_derive 0.5.11",
]
[[package]]
name = "num_enum"
version = "0.6.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7a015b430d3c108a207fd776d2e2196aaf8b1cf8cf93253e3a097ff3085076a1"
dependencies = [
"num_enum_derive 0.6.1",
]
[[package]]
@@ -2068,6 +2426,18 @@ dependencies = [
"syn 1.0.109",
]
[[package]]
name = "num_enum_derive"
version = "0.6.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "96667db765a921f7b295ffee8b60472b686a51d4f21c2ee4ffdb94c7013b65a6"
dependencies = [
"proc-macro-crate",
"proc-macro2",
"quote",
"syn 2.0.38",
]
[[package]]
name = "objc"
version = "0.2.7"
@@ -2121,6 +2491,10 @@ name = "once_cell"
version = "1.18.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d"
dependencies = [
"atomic-polyfill",
"critical-section",
]
[[package]]
name = "open"
@@ -2306,6 +2680,16 @@ dependencies = [
"proc-macro-hack",
]
[[package]]
name = "phf"
version = "0.11.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ade2d8b8f33c7333b51bcf0428d37e217e9f32192ae4772156f65063b8ce03dc"
dependencies = [
"phf_macros 0.11.2",
"phf_shared 0.11.2",
]
[[package]]
name = "phf_codegen"
version = "0.8.0"
@@ -2346,6 +2730,16 @@ dependencies = [
"rand 0.8.5",
]
[[package]]
name = "phf_generator"
version = "0.11.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "48e4cc64c2ad9ebe670cb8fd69dd50ae301650392e81c05f9bfcb2d5bdbc24b0"
dependencies = [
"phf_shared 0.11.2",
"rand 0.8.5",
]
[[package]]
name = "phf_macros"
version = "0.8.0"
@@ -2374,6 +2768,19 @@ dependencies = [
"syn 1.0.109",
]
[[package]]
name = "phf_macros"
version = "0.11.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3444646e286606587e49f3bcf1679b8cef1dc2c5ecc29ddacaffc305180d464b"
dependencies = [
"phf_generator 0.11.2",
"phf_shared 0.11.2",
"proc-macro2",
"quote",
"syn 2.0.38",
]
[[package]]
name = "phf_shared"
version = "0.8.0"
@@ -2392,6 +2799,15 @@ dependencies = [
"siphasher",
]
[[package]]
name = "phf_shared"
version = "0.11.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "90fcb95eef784c2ac79119d1dd819e162b5da872ce6f3c3abe1e8ca1c082f72b"
dependencies = [
"siphasher",
]
[[package]]
name = "pin-project"
version = "1.1.3"
@@ -2457,6 +2873,23 @@ dependencies = [
"miniz_oxide",
]
[[package]]
name = "pollster"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "22686f4785f02a4fcc856d3b3bb19bf6c8160d103f7a99cc258bddd0251dc7f2"
[[package]]
name = "postcard"
version = "1.0.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a55c51ee6c0db07e68448e336cf8ea4131a620edefebf9893e759b2d793420f8"
dependencies = [
"cobs",
"embedded-io",
"serde",
]
[[package]]
name = "powerfmt"
version = "0.2.0"
@@ -2711,6 +3144,16 @@ version = "0.8.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f"
[[package]]
name = "regress"
version = "0.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "82a9ecfa0cb04d0b04dddb99b8ccf4f66bc8dfd23df694b398570bd8ae3a50fb"
dependencies = [
"hashbrown 0.13.2",
"memchr",
]
[[package]]
name = "reqwest"
version = "0.11.22"
@@ -2810,6 +3253,12 @@ version = "0.1.23"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76"
[[package]]
name = "rustc-hash"
version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
[[package]]
name = "rustc_version"
version = "0.4.0"
@@ -2865,6 +3314,12 @@ version = "1.0.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741"
[[package]]
name = "ryu-js"
version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6518fc26bced4d53678a22d6e423e9d8716377def84545fe328236e3af070e7f"
[[package]]
name = "safemem"
version = "0.3.3"
@@ -3197,6 +3652,12 @@ dependencies = [
"lock_api",
]
[[package]]
name = "sptr"
version = "0.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3b9b39299b249ad65f3b7e96443bad61c02ca5cd3589f46cb6d610a0fd6c0d6a"
[[package]]
name = "sqlformat"
version = "0.2.2"
@@ -3316,6 +3777,12 @@ dependencies = [
"loom",
]
[[package]]
name = "static_assertions"
version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
[[package]]
name = "string_cache"
version = "0.8.7"
@@ -3381,6 +3848,18 @@ dependencies = [
"unicode-ident",
]
[[package]]
name = "synstructure"
version = "0.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "285ba80e733fac80aa4270fbcdf83772a79b80aa35c97075320abfee4a915b06"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.38",
"unicode-xid",
]
[[package]]
name = "sys-locale"
version = "0.2.4"
@@ -3501,6 +3980,12 @@ dependencies = [
"syn 1.0.109",
]
[[package]]
name = "tap"
version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369"
[[package]]
name = "tar"
version = "0.4.40"
@@ -3759,6 +4244,12 @@ version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8eaa81235c7058867fa8c0e7314f33dcce9c215f535d1913822a2b3f5e289f3c"
[[package]]
name = "thin-vec"
version = "0.2.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "aac81b6fd6beb5884b0cf3321b8117e6e5d47ecb6fc89f414cfdcca8b2fe2dd8"
[[package]]
name = "thiserror"
version = "1.0.50"
@@ -3818,6 +4309,17 @@ dependencies = [
"time-core",
]
[[package]]
name = "tinystr"
version = "0.7.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8faa444297615a4e020acb64146b0603c9c395c03a97c17fd9028816d3b4d63e"
dependencies = [
"displaydoc",
"serde",
"zerovec",
]
[[package]]
name = "tinyvec"
version = "1.6.0"
@@ -4078,6 +4580,12 @@ version = "1.10.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36"
[[package]]
name = "unicode-xid"
version = "0.2.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c"
[[package]]
name = "unicode_categories"
version = "0.1.1"
@@ -4114,6 +4622,18 @@ version = "0.7.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9"
[[package]]
name = "utf16_iter"
version = "1.0.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "52df8b7fb78e7910d776fccf2e42ceaf3604d55e8e7eb2dbd183cb1441d8a692"
[[package]]
name = "utf8_iter"
version = "1.0.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "64a8922555b9500e3d865caed19330172cd67cbf82203f1a3311d8c305cc9f33"
[[package]]
name = "uuid"
version = "1.5.0"
@@ -4741,6 +5261,18 @@ dependencies = [
"windows-sys 0.48.0",
]
[[package]]
name = "write16"
version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936"
[[package]]
name = "writeable"
version = "0.5.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c0af0c3d13faebf8dda0b5256fa7096a2d5ccb662f7b9f54a40fe201077ab1c2"
[[package]]
name = "wry"
version = "0.24.4"
@@ -4814,6 +5346,8 @@ name = "yaak-app"
version = "0.0.0"
dependencies = [
"base64 0.21.5",
"boa_engine",
"boa_runtime",
"chrono",
"cocoa 0.25.0",
"futures",
@@ -4831,6 +5365,30 @@ dependencies = [
"uuid",
]
[[package]]
name = "yoke"
version = "0.7.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "61e38c508604d6bbbd292dadb3c02559aa7fff6b654a078a36217cad871636e4"
dependencies = [
"serde",
"stable_deref_trait",
"yoke-derive",
"zerofrom",
]
[[package]]
name = "yoke-derive"
version = "0.7.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d5e19fb6ed40002bab5403ffa37e53e0e56f914a4450c8765f533018db1db35f"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.38",
"synstructure",
]
[[package]]
name = "zerocopy"
version = "0.7.18"
@@ -4851,6 +5409,50 @@ dependencies = [
"syn 2.0.38",
]
[[package]]
name = "zerofrom"
version = "0.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "655b0814c5c0b19ade497851070c640773304939a6c0fd5f5fb43da0696d05b7"
dependencies = [
"zerofrom-derive",
]
[[package]]
name = "zerofrom-derive"
version = "0.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e6a647510471d372f2e6c2e6b7219e44d8c574d24fdc11c610a61455782f18c3"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.38",
"synstructure",
]
[[package]]
name = "zerovec"
version = "0.9.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "591691014119b87047ead4dcf3e6adfbf73cb7c38ab6980d4f18a32138f35d46"
dependencies = [
"serde",
"yoke",
"zerofrom",
"zerovec-derive",
]
[[package]]
name = "zerovec-derive"
version = "0.9.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7a4a1638a1934450809c2266a70362bfc96cd90550c073f5b8a55014d1010157"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.38",
]
[[package]]
name = "zip"
version = "0.6.6"

View File

@@ -19,6 +19,8 @@ cocoa = "0.25.0"
[dependencies]
base64 = "0.21.0"
boa_engine = "0.17.3"
boa_runtime = "0.17.3"
chrono = { version = "0.4.23", features = ["serde"] }
futures = "0.3.26"
http = "0.2.8"

View File

@@ -0,0 +1 @@
console.log('Hello world, from plugin!');

View File

@@ -32,6 +32,7 @@ use window_ext::TrafficLightWindowExt;
mod models;
mod render;
mod window_ext;
mod plugins;
#[derive(serde::Serialize)]
pub struct CustomResponse {
@@ -688,6 +689,7 @@ fn main() {
let w = create_window(app_handle, None);
w.restore_state(StateFlags::all())
.expect("Failed to restore window state");
plugins::test_plugins(&app_handle);
}
// ExitRequested { api, .. } => {

38
src-tauri/src/plugins.rs Normal file
View File

@@ -0,0 +1,38 @@
use boa_engine::{js_string, property::Attribute, Context, Source};
use boa_runtime::Console;
use tauri::AppHandle;
pub fn test_plugins(app_handle: &AppHandle) {
let file = app_handle
.path_resolver()
.resolve_resource("plugins/hello-world.js")
.expect("failed to resolve resource");
let src = Source::from_filepath(&file).expect("Error opening file");
// Instantiate the execution context
let mut context = Context::default();
add_runtime(&mut context);
// Parse the source code
match context.eval(src) {
Ok(res) => {
println!(
"RESULT: {}",
res.to_string(&mut context).unwrap().to_std_string_escaped()
);
}
Err(e) => {
// Pretty print the error
eprintln!("Uncaught {e}");
}
};
}
/// Adds the custom runtime to the context.
fn add_runtime(context: &mut Context<'_>) {
// We first add the `console` object, to be able to call `console.log()`.
let console = Console::init(context);
context
.register_global_property(js_string!(Console::NAME), console, Attribute::all())
.expect("the console builtin shouldn't exist");
}

View File

@@ -53,7 +53,8 @@
"identifier": "co.schier.yaak",
"longDescription": "The best cross-platform visual API client",
"resources": [
"migrations/*"
"migrations/*",
"plugins/*"
],
"shortDescription": "The best API client",
"targets": [