diff --git a/.github/workflows/wasm.yaml b/.github/workflows/wasm.yaml new file mode 100644 index 000000000..a8e5a71b0 --- /dev/null +++ b/.github/workflows/wasm.yaml @@ -0,0 +1,27 @@ +name: Language server WebAssembly build +on: + push: + paths: + - 'parser/**' + - 'fmt/**' + - 'ls/**' + - '.github/workflows/wasm.yaml' + tags-ignore: + - '**' +jobs: + build: + runs-on: ubuntu-latest + env: + CARGO_TERM_COLOR: always + steps: + - name: Checkout sources + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + + - name: Install Rust toolchain + uses: dtolnay/rust-toolchain@master + with: + toolchain: stable + target: wasm32-unknown-unknown + + - name: Build LS + run: cargo build --target wasm32-unknown-unknown --no-default-features -p yara-x-ls --lib --release \ No newline at end of file diff --git a/Cargo.lock b/Cargo.lock index 4920e5e30..20b6f4933 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -683,36 +683,36 @@ dependencies = [ [[package]] name = "cranelift-assembler-x64" -version = "0.127.3" +version = "0.127.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08cdfa673abeaf2aa0634988468a751fbf5b3de612bd48c1bb36a3dc7e42fe44" +checksum = "d6abf69c884fde2d9d4cc232a585fb18f16af3ae04c634315c84ebe158ded92d" dependencies = [ "cranelift-assembler-x64-meta", ] [[package]] name = "cranelift-assembler-x64-meta" -version = "0.127.3" +version = "0.127.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "744d5b84c226fe5dd5cc522552d2c69a55e1ea9f98e650b9075493d263698fca" +checksum = "263d31fcdf83a10267e8c38b53bc8f7688dfbc331267fd8fdf5b22e0dc47a55b" dependencies = [ "cranelift-srcgen", ] [[package]] name = "cranelift-bforest" -version = "0.127.3" +version = "0.127.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb9850ce67c4bdc5708204a24f3f571e1e933be2852ec785c778ad76e1f91a5e" +checksum = "d459d5377c01c4472b71029caa2df41afaf47711676aa9b12d7414f15104637b" dependencies = [ "cranelift-entity", ] [[package]] name = "cranelift-bitset" -version = "0.127.3" +version = "0.127.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "efa84e3a1dba026781d0a24761b072e03bbb404b8015f621d332457f627b3a19" +checksum = "8283088d5823ba7856ab8d531b7c3654b24984748f9fd99dcf3210701fd1d065" dependencies = [ "serde", "serde_derive", @@ -720,9 +720,9 @@ dependencies = [ [[package]] name = "cranelift-codegen" -version = "0.127.3" +version = "0.127.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cabfe32111207a68ddd237d184300789c6d650d47db0ff7c9c53ef48e347902" +checksum = "7d3138316d8dd341d725d6ab1598750545c76ad32892837fde558edd68a01b43" dependencies = [ "bumpalo", "cranelift-assembler-x64", @@ -747,9 +747,9 @@ dependencies = [ [[package]] name = "cranelift-codegen-meta" -version = "0.127.3" +version = "0.127.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acdc5479395bb325f96e2e5e714e8c276b061c0eaa020525332bf16c6046a825" +checksum = "505cead19304a8dc8689e31b29038775c3f73f9d5ea7a5e33864437a1f46c6b6" dependencies = [ "cranelift-assembler-x64-meta", "cranelift-codegen-shared", @@ -760,24 +760,24 @@ dependencies = [ [[package]] name = "cranelift-codegen-shared" -version = "0.127.3" +version = "0.127.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "678aea3a48ca54a38e1b057c253daf2ff4c2869b1e70af6545bee1475434b20d" +checksum = "ce62ba94f570644ce7de6ed05bd39ca28936665dec10a2a1f6f2c531d6add45c" [[package]] name = "cranelift-control" -version = "0.127.3" +version = "0.127.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d5210a53058d2b2504269d168fb075f80f3921126dd27e593e726b6387413be" +checksum = "db6cfe339689c3926412a7060ab00ef3b2b43d936b537e7a3f696121be9d0eaa" dependencies = [ "arbitrary", ] [[package]] name = "cranelift-entity" -version = "0.127.3" +version = "0.127.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb138631be4325459938ea0507fb6001a9bbfe6022ee130423acbd8583c47244" +checksum = "625518090e912bdfe3c41464bf97ae421f6044d4ca0f5c3267dcacdb352b033d" dependencies = [ "cranelift-bitset", "serde", @@ -786,9 +786,9 @@ dependencies = [ [[package]] name = "cranelift-frontend" -version = "0.127.3" +version = "0.127.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c087396f79a0cdcdd38c7adc1e9955ba3022d026afb9f08769f0c13795d1b6b" +checksum = "17f652d40ddf3afb55be64d8979d312b52b384a8cebbcde1dd1c2e32ebcd4466" dependencies = [ "cranelift-codegen", "log", @@ -798,15 +798,15 @@ dependencies = [ [[package]] name = "cranelift-isle" -version = "0.127.3" +version = "0.127.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52eaa7b30b2a2d85f177790227f8f7a9b76d35da96302ef28fb394e588e3530b" +checksum = "9f512767e83015f4baf6e732cabca93cea82907e3ab237f826ef64f7ece75eb6" [[package]] name = "cranelift-native" -version = "0.127.3" +version = "0.127.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92c68cefa46cc4e37728d0789a11744dc619a5bd96cabbe44cb9d8dcacc20134" +checksum = "cb1ca6e4dca568ff988d367e4707be2362cee9782265b0a501eaf467ffd550a8" dependencies = [ "cranelift-codegen", "libc", @@ -815,9 +815,9 @@ dependencies = [ [[package]] name = "cranelift-srcgen" -version = "0.127.3" +version = "0.127.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9092860471c4562c18ea1e47f446072795ad344a4a01f7d0f8cee445390d545" +checksum = "97400ad8fbd3a434092fc0b486fa7784150b53187941d818b1087f3ac0a547f0" [[package]] name = "crc" @@ -3082,9 +3082,9 @@ checksum = "33cb294fe86a74cbcf50d4445b37da762029549ebeea341421c7c70370f86cac" [[package]] name = "pulley-interpreter" -version = "40.0.3" +version = "40.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "63350fc565d2b7ab7f610d0655b28f5f80348658c2cf33d05d7ec43356c4be3c" +checksum = "5de307c194cf6310d486dd5595ffc329c53b4acafd54e214752c1eb2e68be3a9" dependencies = [ "cranelift-bitset", "log", @@ -3094,9 +3094,9 @@ dependencies = [ [[package]] name = "pulley-macros" -version = "40.0.3" +version = "40.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d46b2339b894fed7983d91e5723c40e4bc593cb78cd86ffac0798d29f21372e0" +checksum = "99dca2747e910d10bafe911e172a1b35860268421c3ee5ddb7e16c35e0288b4a" dependencies = [ "proc-macro2", "quote", @@ -4595,9 +4595,9 @@ dependencies = [ [[package]] name = "wasmtime" -version = "40.0.3" +version = "40.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f033059744520d5943887511a83731856a78a00f0dac943dc9e9d2292289cad" +checksum = "0702b64d4c3fe43ae4ce229e06af06a27783e48c519e68586d180717cdd24314" dependencies = [ "addr2line", "anyhow", @@ -4637,9 +4637,9 @@ dependencies = [ [[package]] name = "wasmtime-environ" -version = "40.0.3" +version = "40.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85c6de1f26b145fbe9e6980b0495e1c855920091d31c0d1e32e7e49318211103" +checksum = "3ffeb777a21965a85e4b1ce7b308c63ba130df91912096b49b95523bf3bdd2c7" dependencies = [ "anyhow", "cranelift-bitset", @@ -4660,9 +4660,9 @@ dependencies = [ [[package]] name = "wasmtime-internal-cranelift" -version = "40.0.3" +version = "40.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56c1fbd0cae8d129883a7bad7f2272e6662dcebf4e0f6b38539603359235959a" +checksum = "85da1ba5fee01a3ee21c4d0c8052cc9035388639fa091a969b534d4c6f8449d4" dependencies = [ "anyhow", "cfg-if", @@ -4688,9 +4688,9 @@ dependencies = [ [[package]] name = "wasmtime-internal-fiber" -version = "40.0.3" +version = "40.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52a2a724a50b8ace66a6089002cbe99eec0f611a15c78262739b6aeb590ab252" +checksum = "a4c7de5a0872764c1ca640886af10a70cf7f8526386906245b43cdb345ece0e6" dependencies = [ "anyhow", "cc", @@ -4703,9 +4703,9 @@ dependencies = [ [[package]] name = "wasmtime-internal-jit-debug" -version = "40.0.3" +version = "40.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f3ea5e264b8f6a3a91444ffee58449288e239c9d60c2483bf78c631f3269fa7" +checksum = "160acd973d770d62bef1b2697d7fac83a8fe63ef966215e624382b2a9532bd58" dependencies = [ "cc", "wasmtime-internal-versioned-export-macros", @@ -4713,9 +4713,9 @@ dependencies = [ [[package]] name = "wasmtime-internal-jit-icache-coherence" -version = "40.0.3" +version = "40.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c161f4e0636998a68f2c2159260a0d8bbb2d2d2b762938f7be62b2ac0535ed4" +checksum = "cc57f590ba7ea967ea9e8c8560175c6926e5b15d11c29bbde3ad0013a29470eb" dependencies = [ "anyhow", "cfg-if", @@ -4725,24 +4725,24 @@ dependencies = [ [[package]] name = "wasmtime-internal-math" -version = "40.0.3" +version = "40.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f55d246d16cad85ab49f6e76026d934df2f45974d97eb2ab837a6312dda4c76a" +checksum = "07612904518d47b677e8db67ca47c16d8c8cefb0099020729f886776950cb58b" dependencies = [ "libm", ] [[package]] name = "wasmtime-internal-slab" -version = "40.0.3" +version = "40.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e6e7127a10a3d38939c54fa3e1701512bd78340ec112ffc628c36516e38bd3a" +checksum = "bc83ff16531e1e1537e0de2b630af56a0a9e1fab864130c5b7e213da71783a0f" [[package]] name = "wasmtime-internal-unwinder" -version = "40.0.3" +version = "40.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a899f4006b6332a9312060c9216beaf58447da5939af8f19144138f59d6e366" +checksum = "47371d697244785e4bbb371229f9a2daa8628d1e03368ec895cf658370e1bf38" dependencies = [ "anyhow", "cfg-if", @@ -4753,9 +4753,9 @@ dependencies = [ [[package]] name = "wasmtime-internal-versioned-export-macros" -version = "40.0.3" +version = "40.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "426e1088960ab200c49b8e5812667a442c705df018b5c57bd9b3cf80c12b0bdb" +checksum = "ad3cd4aff8f2e7ec658c7a0424b74ad88a6940505303fb0616323592a1c400a6" dependencies = [ "proc-macro2", "quote", diff --git a/Cargo.toml b/Cargo.toml index 6e3b00395..4acb78af6 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -100,7 +100,7 @@ strum_macros = "0.27.2" thiserror = "2.0.17" uuid = "1.18.1" walrus = "0.24.3" -wasmtime = { version = "40.0.3", default-features = false } +wasmtime = { version = "40.0.4", default-features = false } x509-parser = "0.18.0" yansi = "1.0.1" yara-x = { path = "lib", version = "1.13.0", default-features = false } diff --git a/ls/editors/code/package-lock.json b/ls/editors/code/package-lock.json index cf1521c15..1b8a688c3 100644 --- a/ls/editors/code/package-lock.json +++ b/ls/editors/code/package-lock.json @@ -248,9 +248,9 @@ } }, "node_modules/@eslint/config-array/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.4.tgz", + "integrity": "sha512-twmL+S8+7yIsE9wsqgzU3E8/LumN3M3QELrBZ20OdmQ9jB2JvW5oZtBEmft84k/Gs5CG9mqtWc6Y9vW+JEzGxw==", "dev": true, "license": "ISC", "dependencies": { @@ -332,9 +332,9 @@ } }, "node_modules/@eslint/eslintrc/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.4.tgz", + "integrity": "sha512-twmL+S8+7yIsE9wsqgzU3E8/LumN3M3QELrBZ20OdmQ9jB2JvW5oZtBEmft84k/Gs5CG9mqtWc6Y9vW+JEzGxw==", "dev": true, "license": "ISC", "dependencies": { @@ -977,9 +977,9 @@ } }, "node_modules/@vscode/vsce/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.4.tgz", + "integrity": "sha512-twmL+S8+7yIsE9wsqgzU3E8/LumN3M3QELrBZ20OdmQ9jB2JvW5oZtBEmft84k/Gs5CG9mqtWc6Y9vW+JEzGxw==", "dev": true, "license": "ISC", "dependencies": { @@ -1850,9 +1850,9 @@ } }, "node_modules/eslint/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.4.tgz", + "integrity": "sha512-twmL+S8+7yIsE9wsqgzU3E8/LumN3M3QELrBZ20OdmQ9jB2JvW5oZtBEmft84k/Gs5CG9mqtWc6Y9vW+JEzGxw==", "dev": true, "license": "ISC", "dependencies": { @@ -2186,9 +2186,9 @@ } }, "node_modules/glob/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.4.tgz", + "integrity": "sha512-twmL+S8+7yIsE9wsqgzU3E8/LumN3M3QELrBZ20OdmQ9jB2JvW5oZtBEmft84k/Gs5CG9mqtWc6Y9vW+JEzGxw==", "dev": true, "license": "ISC", "dependencies": { @@ -2861,13 +2861,13 @@ } }, "node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "version": "9.0.7", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.7.tgz", + "integrity": "sha512-MOwgjc8tfrpn5QQEvjijjmDVtMw2oL88ugTevzxQnzRLm6l3fVEF2gzU0kYeYYKD8C66+IdGX6peJ4MyUlUnPg==", "dev": true, "license": "ISC", "dependencies": { - "brace-expansion": "^2.0.1" + "brace-expansion": "^5.0.2" }, "engines": { "node": ">=16 || 14 >=14.17" @@ -2876,6 +2876,29 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/minimatch/node_modules/balanced-match": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", + "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "18 || 20 || >=22" + } + }, + "node_modules/minimatch/node_modules/brace-expansion": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.3.tgz", + "integrity": "sha512-fy6KJm2RawA5RcHkLa1z/ScpBeA762UF9KmZQxwIbDtRJrgLzM10depAiEQ+CXYcoiqW1/m96OAAoke2nE9EeA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^4.0.2" + }, + "engines": { + "node": "18 || 20 || >=22" + } + }, "node_modules/minimist": { "version": "1.2.8", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", @@ -3810,9 +3833,9 @@ } }, "node_modules/vscode-languageclient/node_modules/minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "version": "5.1.8", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.8.tgz", + "integrity": "sha512-7RN35vit8DeBclkofOVmBY0eDAZZQd1HzmukRdSyz95CRh8FT54eqnbj0krQr3mrHR6sfRyYkyhwBWjoV5uqlQ==", "license": "ISC", "dependencies": { "brace-expansion": "^2.0.1"