From 7d3dbc062d8be6575f8e6e4ada18af989ba4e6ef Mon Sep 17 00:00:00 2001 From: Amaan Qureshi Date: Mon, 16 Dec 2024 00:48:20 -0500 Subject: [PATCH] build: bump deps --- Cargo.lock | Bin 65887 -> 66574 bytes Cargo.toml | 38 ++++++++++++++-------------- cli/src/tests/proc_macro/Cargo.toml | 4 +-- lib/Cargo.toml | 11 ++++---- lib/binding_rust/bindings.rs | 2 +- lib/binding_rust/build.rs | 29 +++++++++++++++++++++ xtask/Cargo.toml | 2 +- xtask/src/generate.rs | 27 +++++++++++++++++++- 8 files changed, 84 insertions(+), 29 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 745703f840814218af12828ef6cc79969f056efc..c4967d49aa263246eb3c430ae5d0756c80cd57ee 100644 GIT binary patch delta 3038 zcmZveTa49L6~@EWo`DXG$P5&rGXu1?CBxo(?b~W(W}t~NUeW-XG-|B->Lt~}VCqvV zsh1cZw08TTMlJQlq!B@niHR}B3ZQW_^@u|fI7A-1nQJJEJcy&IAC%?e?>*M+R+M8(vKc#ew?tfM4f@mtF& z349=x)Mc@AUo+`qnM$o3 zWRb!W+2~T1HgH6#tAZk>@)Gc=D`QAr49p;#MRHr`&p=b?$H_NE<83IU}=jF;rt6 zYZoX)pG4Bx7Lqj!kDg{P+rfX|jLGL#xBtBDLtV_-$W|7mLqQ$v@ihJ~O(<5Q2`Xq+ zbjF|K;40?Q1T9se$htV6WqW4lMo2i)M(>~K!p%eSn4QhlCYG35?{h^EpS-0=l!J+b zq@#6c9FnY5@gmZ$T!XBOO-7FW*Y5x0vNui288KtIe`@9zced@{+drQaWE0kF^xJ5c zwS%Tn`{FSRUP(JJ66{G)mXxxwHu;nV{@`RK(Wdq7sZaFUz26;c&urP;kGq~)+1}VQ z-T%i!Z;UU#cjW`0-L}llh<5Gaz4L*hhk~g(W(=x<)kqfh7BfvMV+;*SO|}$`2^Q5B zjpyDqbmg;atV}8O}^SF9BeF;>-=Tipz413_HcaE7|>9al=!6!2$-b;OSBJEi;7-?HpR+XOMokMfC!EX z4W{$rC)7%%jEQD!l6$d2n#?}myF~YF#qJ; zZPSVITkjZ{Q+jC5-aGJ_;QeT<2{yS-e}nkI1beceD&(-3@dA2ysgz4*K!vM&dhN9n zA4b^qOEH1FKel%s_<(Xw1Q1U|D|6N=kvASx$Qc7>$x_L%jY(Xz5)r$?N9SNmCH(EJ za`nWTRupx%K=1y)H$^`G_BrA!ez#^LiOblvqLQK#>0l-qiMx>pj z4EZYBT0vwYfw^wij!w4TOB)8gx+%{~V$l~SIwk=i6ydwyE362WepLYja~Hqic?#ctQxA1#nHx2kGI_~|84lnTrJ?I0&xUp9$;7Ane5@b zkgZS}NYvV*16XsEpcHp@kI_jXgi5Mie0sdS8hY*b4@@-i>osllnKut(&m*rKf(AHH zK=4IiAF)Q7z81(-z3dPuOp-t@c3w;Z6!u!8QPolCDp>Z|;~#C8&m0&Aos-y&ss`1i zO~D2NmYAKl+^v@k)Jm3}Qc(m);3SbzwnS_INEMOrMEl5-Yha^0+B-H*w8LlDwb|dS z8^)iP|81f{e6s|Lf)qqfPHX30})?y%gTXFWtAmG7A z_RR&GBlc0pkYt&y0!U)yWFfjM&_6H*r0FWe%~#gVr2-03a1w!+}d_&*k2d46G0tfa8dO9;|xpxST{PT<VAHCa&5 z-6BvJMNl|dg)L~%5tQjnK^u(2ZP9*oW~yDe_`zW(W-(-FZ3T8q!R;756c!?9c7{s8 zuHyp2FwhZk3>C>};=T5--)>(_F{5d*2m!iu=5s0q#yVlfwSl3> zk${U4N2aovXW~#)LE#aM@uX$^U#LI(%JeYwEY4zZ3fHS*h=n^-XCJe~euzj~YYrT@)mmsu3ZvmcDjga3 wa)P?P!1e`QGPy*gnMB2G;`Fl-7{YcGIR#Zt9=9{>@eY1x%upod5s; delta 2707 zcmYjTTa2Am70$62J1vE_(3znKOj|(2GOV@lJ4R+I=#vsD5HIkuFKY`CwHJ)M2*pIA zMg`m&qOqos5EBhT{i89)m}=xAt)oi35mRDygZQj{WGWP%VaWh&f05z>$|Kk ze{St7pIQ6#H)i_JuG_cNOst_v4S}lhT9RjJIp$`gcb3I_MVxCjA!=!2O^ITwvq{Jl zaXoFB?fakI+;7@=&z1#V`elTB?b#o+y-V~yIUzH{enzx?=leR21n)-R|LkgvS$ z#(u{Ymrg-YwS^R1(ne`linl2wmz3w|bxq#KqLO6%%joQcO-;rdfS_5kr|>@z?%Tb! zzvIf~Y1z`e)xg&!>$3+eoV{sGRo6%%Xc1S9PS%<%0D_YtY$ZF}A9%}r|HQ&f zU%YDmT&EHYM$5%kr7K!aHI(4ceif4%=mE4tP^mepjs!DQ%~oRt4bz0abBJGg)6uA)2G+8 z+Nf5Ur~n(%1*->1HH#$T5>=2lAXyFLrJ z?L!^+l2nzDbB^qkWs<5mNM^7udJJN1q#PO~=VHzjB-H-W)z=PZuX%ONaANVNnp08jd$la7uq_oZ|CSS0%1`N1~C$W0`lxF@q%GJUt-|IGYw^vQQkhS$FL!TL1l~t__Z(!|V$_*xstu+7? z136;&CPmn#nCKwTvLd$kKJ$@&>e+K83C$6F6`IEfHEh8)cuB^O62StkjH|E-?KMnU z;B3`Z5ty-!wxZ;*V+;M!=jQuAPVMS1KX?9=6JsbiCG2#A2(0&n4ZyR(6&0ybNjdAH zoDmO~j7Af>jDQ3oQzQ4S7tan4KfgFxgP`b7y)fHf`Q_hMOE1GAFgolnTLTpvQILoS zrHGJ88j6O22rL7_F`$QXfnY*F4A~TTw1~_4%Wt3S$4_3+zjI>Sv~0AFJp6_nvqvac z2cAY$)|F#~$UTUL1X3;q*rOwIsbDNntEN#aBM|#fZs_gE`TgFLADxyhkOE_Gi9J$9 zp%plRfnXWq3NTd7>Jp7mV;D)olQ|>Q;CKc`2|^9mK6=|^GS|1fcws;Fs|%-ftAjgd z3s$EZ3yi^92~ZtLDpWMGvr5y1l2XtoH)BKysz2p)=?8ADljO!OFGpsdVUL`_sWg zaqnzP=+Bc8^$4PDx)WolesU=>C_Ty)M z-oNnc+ol!AC~bLVdarN}VhC z@U$YxFHB%!gMl}dohBR%3RW*rQLf|^V!5#7QC?h-&zZ@<3JhRreR9b>xH{ACdSSl* z__v$S^_c?-2HY;VwZwUa+XA_ua|Ur>_1b`5rDd-|)1|3`4;iB)beNpTsIb2OcOP1* zcI#4>rr;;IctS;v#Y}8)v7<*IC|q_hL?EBwhtyy<)>>Fjz$pe+sA{BQoD~osetuIw`_BU~ NmP>|D{_E?T{sV;1LvH{8 diff --git a/Cargo.toml b/Cargo.toml index d7a04800b..a6611b482 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -93,11 +93,11 @@ incremental = true codegen-units = 256 [workspace.dependencies] -anstyle = "1.0.8" -anyhow = "1.0.89" -bstr = "1.11.0" -cc = "1.2.1" -clap = { version = "4.5.21", features = [ +anstyle = "1.0.10" +anyhow = "1.0.94" +bstr = "1.11.1" +cc = "1.2.4" +clap = { version = "4.5.23", features = [ "cargo", "derive", "env", @@ -111,40 +111,40 @@ ctrlc = { version = "3.4.5", features = ["termination"] } dialoguer = { version = "0.11.0", features = ["fuzzy-select"] } dirs = "5.0.1" filetime = "0.2.25" -fs4 = "0.9.1" +fs4 = "0.12.0" git2 = "0.19.0" glob = "0.3.1" heck = "0.5.0" html-escape = "0.2.13" -indexmap = "2.5.0" +indexmap = "2.7.0" indoc = "2.0.5" lazy_static = "1.5.0" -libloading = "0.8.5" +libloading = "0.8.6" log = { version = "0.4.22", features = ["std"] } memchr = "2.7.4" -once_cell = "1.19.0" +once_cell = "1.20.2" path-slash = "0.2.1" pretty_assertions = "1.4.1" rand = "0.8.5" -regex = "1.10.6" -regex-syntax = "0.8.4" -rustc-hash = "2.0.0" -semver = { version = "1.0.23", features = ["serde"] } -serde = { version = "1.0.215", features = ["derive"] } -serde_derive = "1.0.210" +regex = "1.11.1" +regex-syntax = "0.8.5" +rustc-hash = "2.1.0" +semver = { version = "1.0.24", features = ["serde"] } +serde = { version = "1.0.216", features = ["derive"] } +serde_derive = "1.0.216" serde_json = { version = "1.0.133", features = ["preserve_order"] } similar = "2.6.0" smallbitvec = "2.5.3" streaming-iterator = "0.1.9" tempfile = "3.14.0" -thiserror = "1.0.69" +thiserror = "2.0.7" tiny_http = "0.12.0" toml = "0.8.19" unindent = "0.2.3" -url = { version = "2.5.2", features = ["serde"] } +url = { version = "2.5.4", features = ["serde"] } walkdir = "2.5.0" -wasmparser = "0.218.0" -webbrowser = "1.0.2" +wasmparser = "0.221.2" +webbrowser = "1.0.3" tree-sitter = { version = "0.25.0", path = "./lib" } tree-sitter-generate = { version = "0.25.0", path = "./cli/generate" } diff --git a/cli/src/tests/proc_macro/Cargo.toml b/cli/src/tests/proc_macro/Cargo.toml index ef9919565..81a059540 100644 --- a/cli/src/tests/proc_macro/Cargo.toml +++ b/cli/src/tests/proc_macro/Cargo.toml @@ -12,7 +12,7 @@ workspace = true proc-macro = true [dependencies] -proc-macro2 = "1.0.86" +proc-macro2 = "1.0.92" quote = "1.0.37" rand = "0.8.5" -syn = { version = "2.0.79", features = ["full"] } +syn = { version = "2.0.90", features = ["full"] } diff --git a/lib/Cargo.toml b/lib/Cargo.toml index 08455a91b..8052b94e8 100644 --- a/lib/Cargo.toml +++ b/lib/Cargo.toml @@ -45,21 +45,22 @@ std = ["regex/std", "regex/perf", "regex-syntax/unicode"] wasm = ["std", "wasmtime-c-api"] [dependencies] -regex = { version = "1.10.6", default-features = false, features = ["unicode"] } -regex-syntax = { version = "0.8.4", default-features = false } +regex = { version = "1.11.1", default-features = false, features = ["unicode"] } +regex-syntax = { version = "0.8.5", default-features = false } tree-sitter-language = { version = "0.1", path = "language" } streaming-iterator = "0.1.9" [dependencies.wasmtime-c-api] -version = "26.0.1" +version = "27.0.0" optional = true package = "wasmtime-c-api-impl" default-features = false -features = ["cranelift"] +features = ["cranelift", "gc-drc"] [build-dependencies] -bindgen = { version = "0.70.1", optional = true } +bindgen = { version = "0.71.1", optional = true } cc.workspace = true +serde_json.workspace = true [lib] path = "binding_rust/lib.rs" diff --git a/lib/binding_rust/bindings.rs b/lib/binding_rust/bindings.rs index 807bf019d..19ad2b778 100644 --- a/lib/binding_rust/bindings.rs +++ b/lib/binding_rust/bindings.rs @@ -1,4 +1,4 @@ -/* automatically generated by rust-bindgen 0.70.1 */ +/* automatically generated by rust-bindgen 0.71.1 */ pub const TREE_SITTER_LANGUAGE_VERSION: u32 = 15; pub const TREE_SITTER_MIN_COMPATIBLE_LANGUAGE_VERSION: u32 = 13; diff --git a/lib/binding_rust/build.rs b/lib/binding_rust/build.rs index a9e553def..255740afc 100644 --- a/lib/binding_rust/build.rs +++ b/lib/binding_rust/build.rs @@ -52,6 +52,33 @@ fn main() { #[cfg(feature = "bindgen")] fn generate_bindings(out_dir: &std::path::Path) { + use std::{process::Command, str::FromStr}; + + use bindgen::RustTarget; + + let output = Command::new("cargo") + .args(["metadata", "--format-version", "1"]) + .output() + .unwrap(); + + let metadata = serde_json::from_slice::(&output.stdout).unwrap(); + + let Some(rust_version) = metadata + .get("packages") + .and_then(|packages| packages.as_array()) + .and_then(|packages| { + packages.iter().find_map(|package| { + if package["name"] == "tree-sitter" { + package.get("rust_version").and_then(|v| v.as_str()) + } else { + None + } + }) + }) + else { + panic!("Failed to find tree-sitter package in cargo metadata"); + }; + const HEADER_PATH: &str = "include/tree_sitter/api.h"; println!("cargo:rerun-if-changed={HEADER_PATH}"); @@ -79,6 +106,8 @@ fn generate_bindings(out_dir: &std::path::Path) { .no_copy(no_copy.join("|")) .prepend_enum_name(false) .use_core() + .clang_arg("-D TREE_SITTER_FEATURE_WASM") + .rust_target(RustTarget::from_str(rust_version).unwrap()) .generate() .expect("Failed to generate bindings"); diff --git a/xtask/Cargo.toml b/xtask/Cargo.toml index 83bb30087..a5ccd6819 100644 --- a/xtask/Cargo.toml +++ b/xtask/Cargo.toml @@ -17,7 +17,7 @@ workspace = true [dependencies] anstyle.workspace = true anyhow.workspace = true -bindgen = { version = "0.70.1" } +bindgen = { version = "0.71.1" } cc.workspace = true clap.workspace = true git2.workspace = true diff --git a/xtask/src/generate.rs b/xtask/src/generate.rs index 1af04275f..d7fb8ba1d 100644 --- a/xtask/src/generate.rs +++ b/xtask/src/generate.rs @@ -1,6 +1,7 @@ -use std::{collections::BTreeSet, ffi::OsStr, fs, path::Path, process::Command}; +use std::{collections::BTreeSet, ffi::OsStr, fs, path::Path, process::Command, str::FromStr}; use anyhow::{Context, Result}; +use bindgen::RustTarget; use crate::{bail_on_err, GenerateFixtures}; @@ -67,6 +68,29 @@ pub fn run_fixtures(args: &GenerateFixtures) -> Result<()> { } pub fn run_bindings() -> Result<()> { + let output = Command::new("cargo") + .args(["metadata", "--format-version", "1"]) + .output() + .unwrap(); + + let metadata = serde_json::from_slice::(&output.stdout).unwrap(); + + let Some(rust_version) = metadata + .get("packages") + .and_then(|packages| packages.as_array()) + .and_then(|packages| { + packages.iter().find_map(|package| { + if package["name"] == "tree-sitter" { + package.get("rust_version").and_then(|v| v.as_str()) + } else { + None + } + }) + }) + else { + panic!("Failed to find tree-sitter package in cargo metadata"); + }; + let no_copy = [ "TSInput", "TSLanguage", @@ -91,6 +115,7 @@ pub fn run_bindings() -> Result<()> { .prepend_enum_name(false) .use_core() .clang_arg("-D TREE_SITTER_FEATURE_WASM") + .rust_target(RustTarget::from_str(rust_version).unwrap()) .generate() .expect("Failed to generate bindings");