Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package ast-grep for openSUSE:Factory checked in at 2025-03-21 20:22:47 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/ast-grep (Old) and /work/SRC/openSUSE:Factory/.ast-grep.new.2696 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ast-grep" Fri Mar 21 20:22:47 2025 rev:56 rq:1254919 version:0.36.2 Changes: -------- --- /work/SRC/openSUSE:Factory/ast-grep/ast-grep.changes 2025-03-12 15:25:08.208941937 +0100 +++ /work/SRC/openSUSE:Factory/.ast-grep.new.2696/ast-grep.changes 2025-03-21 20:23:06.880488298 +0100 @@ -1,0 +2,10 @@ +Fri Mar 21 07:07:39 UTC 2025 - Michael Vetter <mvet...@suse.com> + +- Update to 0.36.2: + * fix: report-style short should not print out diff #1884 + * fix: fix do not push empty unused suppressions #1882 + * chore: Remove tree-sitter wasm facade 47b14fe + * Revert "chore: Remove tree-sitter wasm facade" a449617 + * fix: remove optimize 7365a68 + +------------------------------------------------------------------- Old: ---- ast-grep-0.36.1.tar.zst New: ---- ast-grep-0.36.2.tar.zst ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ ast-grep.spec ++++++ --- /var/tmp/diff_new_pack.P7Oagn/_old 2025-03-21 20:23:13.644769709 +0100 +++ /var/tmp/diff_new_pack.P7Oagn/_new 2025-03-21 20:23:13.644769709 +0100 @@ -17,7 +17,7 @@ Name: ast-grep -Version: 0.36.1 +Version: 0.36.2 Release: 0 Summary: A CLI tool for code structural search, lint and rewriting License: MIT ++++++ _service ++++++ --- /var/tmp/diff_new_pack.P7Oagn/_old 2025-03-21 20:23:13.692771706 +0100 +++ /var/tmp/diff_new_pack.P7Oagn/_new 2025-03-21 20:23:13.696771872 +0100 @@ -3,7 +3,7 @@ <param name="url">https://github.com/ast-grep/ast-grep.git</param> <param name="versionformat">@PARENT_TAG@</param> <param name="scm">git</param> - <param name="revision">0.36.1</param> + <param name="revision">0.36.2</param> <param name="match-tag">*</param> <param name="versionrewrite-pattern">v(\d+\.\d+\.\d+)</param> <param name="versionrewrite-replacement">\1</param> ++++++ ast-grep-0.36.1.tar.zst -> ast-grep-0.36.2.tar.zst ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ast-grep-0.36.1/.github/workflows/release.yml new/ast-grep-0.36.2/.github/workflows/release.yml --- old/ast-grep-0.36.1/.github/workflows/release.yml 2025-03-11 06:01:27.000000000 +0100 +++ new/ast-grep-0.36.2/.github/workflows/release.yml 2025-03-19 20:50:26.000000000 +0100 @@ -78,7 +78,7 @@ - name: Setup node uses: actions/setup-node@v4 - name: Download artifacts - uses: robinraju/release-downloader@v1.11 + uses: robinraju/release-downloader@v1.12 with: latest: true fileName: "*.zip" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ast-grep-0.36.1/CHANGELOG.md new/ast-grep-0.36.2/CHANGELOG.md --- old/ast-grep-0.36.1/CHANGELOG.md 2025-03-11 06:01:27.000000000 +0100 +++ new/ast-grep-0.36.2/CHANGELOG.md 2025-03-19 20:50:26.000000000 +0100 @@ -4,8 +4,18 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). +#### [0.36.2](https://github.com/ast-grep/ast-grep/compare/0.36.1...0.36.2) + +- fix: report-style short should not print out diff [`#1884`](https://github.com/ast-grep/ast-grep/issues/1884) +- fix: fix do not push empty unused suppressions [`#1882`](https://github.com/ast-grep/ast-grep/issues/1882) +- chore: Remove tree-sitter wasm facade [`47b14fe`](https://github.com/ast-grep/ast-grep/commit/47b14fe1b8b908e1877ee32f12585817c7ffdb72) +- Revert "chore: Remove tree-sitter wasm facade" [`a449617`](https://github.com/ast-grep/ast-grep/commit/a44961716493ee51b1482d8c92a104009c438e4b) +- fix: remove optimize [`7365a68`](https://github.com/ast-grep/ast-grep/commit/7365a68d0b80ff5ada493b5b416d18e9f06826b7) + #### [0.36.1](https://github.com/ast-grep/ast-grep/compare/0.36.0...0.36.1) +> 11 March 2025 + - fix: fix globs not working with lang [`#1861`](https://github.com/ast-grep/ast-grep/issues/1861) - perf: use smallvec for filter_file_{pattern, rule} [`#1858`](https://github.com/ast-grep/ast-grep/issues/1858) - fix(deps): update dependency @swc/core to v1.11.8 [`a0d9e10`](https://github.com/ast-grep/ast-grep/commit/a0d9e10737ecc9b5f8da9d118ed090ce11ce1430) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ast-grep-0.36.1/Cargo.lock new/ast-grep-0.36.2/Cargo.lock --- old/ast-grep-0.36.1/Cargo.lock 2025-03-11 06:01:27.000000000 +0100 +++ new/ast-grep-0.36.2/Cargo.lock 2025-03-19 20:50:26.000000000 +0100 @@ -114,7 +114,7 @@ [[package]] name = "ast-grep" -version = "0.36.1" +version = "0.36.2" dependencies = [ "ansi_term", "anyhow", @@ -145,7 +145,7 @@ [[package]] name = "ast-grep-config" -version = "0.36.1" +version = "0.36.2" dependencies = [ "anyhow", "ast-grep-core", @@ -156,23 +156,23 @@ "serde", "serde_yaml", "thiserror", - "tree-sitter-typescript 0.21.2", + "tree-sitter-typescript", ] [[package]] name = "ast-grep-core" -version = "0.36.1" +version = "0.36.2" dependencies = [ "bit-set", "regex", "thiserror", "tree-sitter-facade-sg", - "tree-sitter-typescript 0.21.2", + "tree-sitter-typescript", ] [[package]] name = "ast-grep-dynamic" -version = "0.36.1" +version = "0.36.2" dependencies = [ "ast-grep-core", "ignore", @@ -185,7 +185,7 @@ [[package]] name = "ast-grep-language" -version = "0.36.1" +version = "0.36.2" dependencies = [ "ast-grep-core", "ignore", @@ -210,13 +210,13 @@ "tree-sitter-rust", "tree-sitter-scala", "tree-sitter-swift", - "tree-sitter-typescript 0.23.2", + "tree-sitter-typescript", "tree-sitter-yaml", ] [[package]] name = "ast-grep-lsp" -version = "0.36.1" +version = "0.36.2" dependencies = [ "ast-grep-config", "ast-grep-core", @@ -230,7 +230,7 @@ [[package]] name = "ast-grep-napi" -version = "0.36.1" +version = "0.36.2" dependencies = [ "ast-grep-config", "ast-grep-core", @@ -246,7 +246,7 @@ [[package]] name = "ast-grep-py" -version = "0.36.1" +version = "0.36.2" dependencies = [ "anyhow", "ast-grep-config", @@ -314,7 +314,7 @@ [[package]] name = "benches" -version = "0.36.1" +version = "0.36.2" dependencies = [ "ast-grep-config", "ast-grep-core", @@ -428,9 +428,9 @@ [[package]] name = "clap" -version = "4.5.31" +version = "4.5.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "027bb0d98429ae334a8698531da7077bdf906419543a35a55c2cb1b66437d767" +checksum = "6088f3ae8c3608d19260cd7445411865a485688711b78b5be70d78cd96136f83" dependencies = [ "clap_builder", "clap_derive", @@ -438,9 +438,9 @@ [[package]] name = "clap_builder" -version = "4.5.31" +version = "4.5.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5589e0cba072e0f3d23791efac0fd8627b49c829c196a492e88168e6a669d863" +checksum = "22a7ef7f676155edfb82daa97f99441f3ebf4a58d5e32f295a56259f1b6facc8" dependencies = [ "anstream", "anstyle", @@ -459,9 +459,9 @@ [[package]] name = "clap_derive" -version = "4.5.28" +version = "4.5.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf4ced95c6f4a675af3da73304b9ac4ed991640c36374e4b46795c49e17cf1ed" +checksum = "09176aae279615badda0765c0c0b3f6ed53f4709118af73cf4655d85d1530cd7" dependencies = [ "heck", "proc-macro2", @@ -682,7 +682,7 @@ checksum = "33d852cb9b869c2a9b3df2f71a3074817f01e1844f839a144f5fcef059a4eb5d" dependencies = [ "libc", - "windows-sys 0.59.0", + "windows-sys 0.52.0", ] [[package]] @@ -1493,7 +1493,7 @@ "errno", "libc", "linux-raw-sys 0.9.2", - "windows-sys 0.59.0", + "windows-sys 0.52.0", ] [[package]] @@ -1669,9 +1669,9 @@ [[package]] name = "smallvec" -version = "1.13.2" +version = "1.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" +checksum = "7fcf8323ef1faaee30a44a340193b1ac6814fd9b7b4e88e9d4519a3e4abe1cfd" [[package]] name = "streaming-iterator" @@ -1704,16 +1704,15 @@ [[package]] name = "tempfile" -version = "3.18.0" +version = "3.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c317e0a526ee6120d8dabad239c8dadca62b24b6f168914bbbc8e2fb1f0e567" +checksum = "488960f40a3fd53d72c2a29a58722561dee8afdd175bd88e3db4677d7b2ba600" dependencies = [ - "cfg-if", "fastrand", "getrandom", "once_cell", "rustix 1.0.0", - "windows-sys 0.59.0", + "windows-sys 0.52.0", ] [[package]] @@ -1788,9 +1787,9 @@ [[package]] name = "tokio" -version = "1.44.0" +version = "1.44.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9975ea0f48b5aa3972bf2d888c238182458437cc2a19374b81b25cdf1023fb3a" +checksum = "f382da615b842244d4b8738c82ed1275e6c5dd90c459a30941cd07080b06c91a" dependencies = [ "backtrace", "bytes", @@ -2153,16 +2152,6 @@ [[package]] name = "tree-sitter-typescript" -version = "0.21.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ecb35d98a688378e56c18c9c159824fd16f730ccbea19aacf4f206e5d5438ed9" -dependencies = [ - "cc", - "tree-sitter", -] - -[[package]] -name = "tree-sitter-typescript" version = "0.23.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6c5f76ed8d947a75cc446d5fccd8b602ebf0cde64ccf2ffa434d873d7a575eff" @@ -2413,15 +2402,6 @@ dependencies = [ "windows-targets 0.52.6", ] - -[[package]] -name = "windows-sys" -version = "0.59.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" -dependencies = [ - "windows-targets 0.52.6", -] [[package]] name = "windows-targets" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ast-grep-0.36.1/Cargo.toml new/ast-grep-0.36.2/Cargo.toml --- old/ast-grep-0.36.1/Cargo.toml 2025-03-11 06:01:27.000000000 +0100 +++ new/ast-grep-0.36.2/Cargo.toml 2025-03-19 20:50:26.000000000 +0100 @@ -11,7 +11,7 @@ lto = true [workspace.package] -version = "0.36.1" +version = "0.36.2" authors = ["Herrington Darkholme <2883231+herringtondarkho...@users.noreply.github.com>"] edition = "2021" license = "MIT" @@ -22,11 +22,11 @@ readme = "README.md" [workspace.dependencies] -ast-grep-core = { path = "crates/core", version = "0.36.1" } -ast-grep-config = { path = "crates/config", version = "0.36.1" } -ast-grep-dynamic = { path = "crates/dynamic", version = "0.36.1" } -ast-grep-language = { path = "crates/language", version = "0.36.1" } -ast-grep-lsp = { path = "crates/lsp", version = "0.36.1" } +ast-grep-core = { path = "crates/core", version = "0.36.2" } +ast-grep-config = { path = "crates/config", version = "0.36.2" } +ast-grep-dynamic = { path = "crates/dynamic", version = "0.36.2" } +ast-grep-language = { path = "crates/language", version = "0.36.2" } +ast-grep-lsp = { path = "crates/lsp", version = "0.36.2" } bit-set = { version = "0.8.0" } ignore = { version = "0.4.22" } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ast-grep-0.36.1/benches/package.json new/ast-grep-0.36.2/benches/package.json --- old/ast-grep-0.36.1/benches/package.json 2025-03-11 06:01:27.000000000 +0100 +++ new/ast-grep-0.36.2/benches/package.json 2025-03-19 20:50:26.000000000 +0100 @@ -12,10 +12,10 @@ "license": "ISC", "dependencies": { "@ast-grep/napi": "link:../crates/napi", - "@babel/core": "7.26.9", + "@babel/core": "7.26.10", "@babel/plugin-syntax-typescript": "7.25.9", "@oxidation-compiler/napi": "0.2.0", - "@swc/core": "1.11.8", + "@swc/core": "1.11.9", "benny": "3.7.1", "tree-sitter": "0.22.4", "tree-sitter-typescript": "0.21.2", diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ast-grep-0.36.1/benches/pnpm-lock.yaml new/ast-grep-0.36.2/benches/pnpm-lock.yaml --- old/ast-grep-0.36.1/benches/pnpm-lock.yaml 2025-03-11 06:01:27.000000000 +0100 +++ new/ast-grep-0.36.2/benches/pnpm-lock.yaml 2025-03-19 20:50:26.000000000 +0100 @@ -9,17 +9,17 @@ specifier: link:../crates/napi version: link:../crates/napi '@babel/core': - specifier: 7.26.9 - version: 7.26.9 + specifier: 7.26.10 + version: 7.26.10 '@babel/plugin-syntax-typescript': specifier: 7.25.9 - version: 7.25.9(@babel/core@7.26.9) + version: 7.25.9(@babel/core@7.26.10) '@oxidation-compiler/napi': specifier: 0.2.0 version: 0.2.0 '@swc/core': - specifier: 1.11.8 - version: 1.11.8 + specifier: 1.11.9 + version: 1.11.9 benny: specifier: 3.7.1 version: 3.7.1 @@ -45,7 +45,7 @@ version: 3.5.3 ts-node: specifier: 10.9.2 - version: 10.9.2(@swc/core@1.11.8)(@types/node@22.13.10)(typescript@5.8.2) + version: 10.9.2(@swc/core@1.11.9)(@types/node@22.13.10)(typescript@5.8.2) packages: @@ -100,20 +100,20 @@ engines: {node: '>=6.9.0'} dev: false - /@babel/core@7.26.9: - resolution: {integrity: sha512-lWBYIrF7qK5+GjY5Uy+/hEgp8OJWOD/rpy74GplYRhEauvbHDeFB8t5hPOZxCZ0Oxf4Cc36tK51/l3ymJysrKw==} + /@babel/core@7.26.10: + resolution: {integrity: sha512-vMqyb7XCDMPvJFFOaT9kxtiRh42GwlZEg1/uIgtZshS5a/8OaduUfCi7kynKgc3Tw/6Uo2D+db9qBttghhmxwQ==} engines: {node: '>=6.9.0'} dependencies: '@ampproject/remapping': 2.2.1 '@babel/code-frame': 7.26.2 - '@babel/generator': 7.26.9 + '@babel/generator': 7.26.10 '@babel/helper-compilation-targets': 7.26.5 - '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.9) - '@babel/helpers': 7.26.9 - '@babel/parser': 7.26.9 + '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.10) + '@babel/helpers': 7.26.10 + '@babel/parser': 7.26.10 '@babel/template': 7.26.9 - '@babel/traverse': 7.26.9 - '@babel/types': 7.26.9 + '@babel/traverse': 7.26.10 + '@babel/types': 7.26.10 convert-source-map: 2.0.0 debug: 4.3.4 gensync: 1.0.0-beta.2 @@ -123,12 +123,12 @@ - supports-color dev: false - /@babel/generator@7.26.9: - resolution: {integrity: sha512-kEWdzjOAUMW4hAyrzJ0ZaTOu9OmpyDIQicIh0zg0EEcEkYXZb2TjtBhnHi2ViX7PKwZqF4xwqfAm299/QMP3lg==} + /@babel/generator@7.26.10: + resolution: {integrity: sha512-rRHT8siFIXQrAYOYqZQVsAr8vJ+cBNqcVAY6m5V8/4QqzaPl+zDBe6cLEPRDuNOUf3ww8RfJVlOyQMoSI+5Ang==} engines: {node: '>=6.9.0'} dependencies: - '@babel/parser': 7.26.9 - '@babel/types': 7.26.9 + '@babel/parser': 7.26.10 + '@babel/types': 7.26.10 '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 jsesc: 3.0.2 @@ -149,22 +149,22 @@ resolution: {integrity: sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/traverse': 7.26.9 - '@babel/types': 7.26.9 + '@babel/traverse': 7.26.10 + '@babel/types': 7.26.10 transitivePeerDependencies: - supports-color dev: false - /@babel/helper-module-transforms@7.26.0(@babel/core@7.26.9): + /@babel/helper-module-transforms@7.26.0(@babel/core@7.26.10): resolution: {integrity: sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.26.9 + '@babel/core': 7.26.10 '@babel/helper-module-imports': 7.25.9 '@babel/helper-validator-identifier': 7.25.9 - '@babel/traverse': 7.26.9 + '@babel/traverse': 7.26.10 transitivePeerDependencies: - supports-color dev: false @@ -187,12 +187,12 @@ engines: {node: '>=6.9.0'} dev: false - /@babel/helpers@7.26.9: - resolution: {integrity: sha512-Mz/4+y8udxBKdmzt/UjPACs4G3j5SshJJEFFKxlCGPydG4JAHXxjWjAwjd09tf6oINvl1VfMJo+nB7H2YKQ0dA==} + /@babel/helpers@7.26.10: + resolution: {integrity: sha512-UPYc3SauzZ3JGgj87GgZ89JVdC5dj0AoetR5Bw6wj4niittNyFh6+eOGonYvJ1ao6B8lEa3Q3klS7ADZ53bc5g==} engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.26.9 - '@babel/types': 7.26.9 + '@babel/types': 7.26.10 dev: false /@babel/parser@7.23.3: @@ -200,16 +200,16 @@ engines: {node: '>=6.0.0'} hasBin: true dependencies: - '@babel/types': 7.26.7 + '@babel/types': 7.26.9 dev: true - /@babel/parser@7.26.7: - resolution: {integrity: sha512-kEvgGGgEjRUutvdVvZhbn/BxVt+5VSpwXz1j3WYXQbXDo8KzFOPNG2GQbdAiNq8g6wn1yKk7C/qrke03a84V+w==} + /@babel/parser@7.26.10: + resolution: {integrity: sha512-6aQR2zGE/QFi8JpDLjUZEPYOs7+mhKXm86VaKFiLP35JQwQb6bwUE+XbvkH0EptsYhbNBSUGaUBLKqxH1xSgsA==} engines: {node: '>=6.0.0'} hasBin: true dependencies: - '@babel/types': 7.26.7 - dev: true + '@babel/types': 7.26.10 + dev: false /@babel/parser@7.26.9: resolution: {integrity: sha512-81NWa1njQblgZbQHxWHpxxCzNsa3ZwvFqpUg7P+NNUU6f3UU2jBEg4OlF/J6rl8+PQGh1q6/zWScd001YwcA5A==} @@ -217,15 +217,15 @@ hasBin: true dependencies: '@babel/types': 7.26.9 - dev: false + dev: true - /@babel/plugin-syntax-typescript@7.25.9(@babel/core@7.26.9): + /@babel/plugin-syntax-typescript@7.25.9(@babel/core@7.26.10): resolution: {integrity: sha512-hjMgRy5hb8uJJjUcdWunWVcoi9bGpJp8p5Ol1229PoN6aytsLwNMgmdftO23wnCLMfVmTwZDWMPNq/D1SY60JQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.26.9 + '@babel/core': 7.26.10 '@babel/helper-plugin-utils': 7.25.9 dev: false @@ -234,19 +234,19 @@ engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.26.2 - '@babel/parser': 7.26.9 - '@babel/types': 7.26.9 + '@babel/parser': 7.26.10 + '@babel/types': 7.26.10 dev: false - /@babel/traverse@7.26.9: - resolution: {integrity: sha512-ZYW7L+pL8ahU5fXmNbPF+iZFHCv5scFak7MZ9bwaRPLUhHh7QQEMjZUg0HevihoqCM5iSYHN61EyCoZvqC+bxg==} + /@babel/traverse@7.26.10: + resolution: {integrity: sha512-k8NuDrxr0WrPH5Aupqb2LCVURP/S0vBEn5mK6iH+GIYob66U5EtoZvcdudR2jQ4cmTwhEwW1DLB+Yyas9zjF6A==} engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.26.2 - '@babel/generator': 7.26.9 - '@babel/parser': 7.26.9 + '@babel/generator': 7.26.10 + '@babel/parser': 7.26.10 '@babel/template': 7.26.9 - '@babel/types': 7.26.9 + '@babel/types': 7.26.10 debug: 4.3.4 globals: 11.12.0 transitivePeerDependencies: @@ -262,13 +262,13 @@ to-fast-properties: 2.0.0 dev: true - /@babel/types@7.26.7: - resolution: {integrity: sha512-t8kDRGrKXyp6+tjUh7hw2RLyclsW4TRoRvRHtSyAX9Bb5ldlFh+90YAYY6awRXrlB4G5G2izNeGySpATlFzmOg==} + /@babel/types@7.26.10: + resolution: {integrity: sha512-emqcG3vHrpxUKTrxcblR36dcrcoRDvKmnL/dCL6ZsHaShW80qxCAcNhzQZrpeM765VzEos+xOi4s+r4IXzTwdQ==} engines: {node: '>=6.9.0'} dependencies: '@babel/helper-string-parser': 7.25.9 '@babel/helper-validator-identifier': 7.25.9 - dev: true + dev: false /@babel/types@7.26.9: resolution: {integrity: sha512-Y3IR1cRnOxOCDvMmNiym7XpXQ93iGDDPHx+Zj+NM+rg0fBaShfQLkg+hKPaZCEvg5N/LeCo4+Rj/i3FuJsIQaw==} @@ -276,7 +276,7 @@ dependencies: '@babel/helper-string-parser': 7.25.9 '@babel/helper-validator-identifier': 7.25.9 - dev: false + dev: true /@cspotcode/source-map-support@0.8.1: resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} @@ -379,88 +379,88 @@ '@oxidation-compiler/napi-win32-x64-msvc': 0.2.0 dev: false - /@swc/core-darwin-arm64@1.11.8: - resolution: {integrity: sha512-rrSsunyJWpHN+5V1zumndwSSifmIeFQBK9i2RMQQp15PgbgUNxHK5qoET1n20pcUrmZeT6jmJaEWlQchkV//Og==} + /@swc/core-darwin-arm64@1.11.9: + resolution: {integrity: sha512-moqbPCWG6SHiDMENTDYsEQJ0bFustbLtrdbDbdjnijSyhCyIcm9zKowmovE6MF8JBdOwmLxbuN1Yarq6CrPNlw==} engines: {node: '>=10'} cpu: [arm64] os: [darwin] requiresBuild: true optional: true - /@swc/core-darwin-x64@1.11.8: - resolution: {integrity: sha512-44goLqQuuo0HgWnG8qC+ZFw/qnjCVVeqffhzFr9WAXXotogVaxM8ze6egE58VWrfEc8me8yCcxOYL9RbtjhS/Q==} + /@swc/core-darwin-x64@1.11.9: + resolution: {integrity: sha512-/lgMo5l9q6y3jjLM3v30y6SBvuuyLsM/K94hv3hPvDf91N+YlZLw4D7KY0Qknfhj6WytoAcjOIDU6xwBRPyUWg==} engines: {node: '>=10'} cpu: [x64] os: [darwin] requiresBuild: true optional: true - /@swc/core-linux-arm-gnueabihf@1.11.8: - resolution: {integrity: sha512-Mzo8umKlhTWwF1v8SLuTM1z2A+P43UVhf4R8RZDhzIRBuB2NkeyE+c0gexIOJBuGSIATryuAF4O4luDu727D1w==} + /@swc/core-linux-arm-gnueabihf@1.11.9: + resolution: {integrity: sha512-7bL6z/63If11IpBElQRozIGRadiy6rt3DoUyfGuFIFQKxtnZxzHuLxm1/wrCAGN9iAZxrpHxHP0VbPQvr6Mcjg==} engines: {node: '>=10'} cpu: [arm] os: [linux] requiresBuild: true optional: true - /@swc/core-linux-arm64-gnu@1.11.8: - resolution: {integrity: sha512-EyhO6U+QdoGYC1MeHOR0pyaaSaKYyNuT4FQNZ1eZIbnuueXpuICC7iNmLIOfr3LE5bVWcZ7NKGVPlM2StJEcgA==} + /@swc/core-linux-arm64-gnu@1.11.9: + resolution: {integrity: sha512-9ArpxjrNbyFTr7gG+toiGbbK2mfS+X97GIruBKPsD8CJH/yJlMknBsX3lfy9h/L119zYVnFBmZDnwsv5yW8/cw==} engines: {node: '>=10'} cpu: [arm64] os: [linux] requiresBuild: true optional: true - /@swc/core-linux-arm64-musl@1.11.8: - resolution: {integrity: sha512-QU6wOkZnS6/QuBN1MHD6G2BgFxB0AclvTVGbqYkRA7MsVkcC29PffESqzTXnypzB252/XkhQjoB2JIt9rPYf6A==} + /@swc/core-linux-arm64-musl@1.11.9: + resolution: {integrity: sha512-UOnunJWu7T7oNkBr4DLMwXXbldjiwi+JxmqBKrD2+BNiHGu6P5VpqDHiTGuWuLrda0TcTmeNE6gzlIVOVBo/vw==} engines: {node: '>=10'} cpu: [arm64] os: [linux] requiresBuild: true optional: true - /@swc/core-linux-x64-gnu@1.11.8: - resolution: {integrity: sha512-r72onUEIU1iJi9EUws3R28pztQ/eM3EshNpsPRBfuLwKy+qn3et55vXOyDhIjGCUph5Eg2Yn8H3h6MTxDdLd+w==} + /@swc/core-linux-x64-gnu@1.11.9: + resolution: {integrity: sha512-HAqmCkNoNhRusBqSokyylXKsLJ/dr3dnMgBERdUrCIh47L8CKR2qEFUP6FI05sHVB85403ctWnfzBYblcarpqg==} engines: {node: '>=10'} cpu: [x64] os: [linux] requiresBuild: true optional: true - /@swc/core-linux-x64-musl@1.11.8: - resolution: {integrity: sha512-294k8cLpO103++f4ZUEDr3vnBeUfPitW6G0a3qeVZuoXFhFgaW7ANZIWknUc14WiLOMfMecphJAEiy9C8OeYSw==} + /@swc/core-linux-x64-musl@1.11.9: + resolution: {integrity: sha512-THwUT2g2qSWUxhi3NGRCEdmh/q7WKl3d5jcN9mz/4jum76Tb46LB9p3oOVPBIcfnFQ9OaddExjCwLoUl0ju2pA==} engines: {node: '>=10'} cpu: [x64] os: [linux] requiresBuild: true optional: true - /@swc/core-win32-arm64-msvc@1.11.8: - resolution: {integrity: sha512-EbjOzQ+B85rumHyeesBYxZ+hq3ZQn+YAAT1ZNE9xW1/8SuLoBmHy/K9YniRGVDq/2NRmp5kI5+5h5TX0asIS9A==} + /@swc/core-win32-arm64-msvc@1.11.9: + resolution: {integrity: sha512-r4SGD9lR0MM9HSIsQ72BEL3Za3XsuVj+govuXQTlK0mty5gih4L+Qgfnb9PmhjFakK3F63gZyyEr2y8Fj0mN6Q==} engines: {node: '>=10'} cpu: [arm64] os: [win32] requiresBuild: true optional: true - /@swc/core-win32-ia32-msvc@1.11.8: - resolution: {integrity: sha512-Z+FF5kgLHfQWIZ1KPdeInToXLzbY0sMAashjd/igKeP1Lz0qKXVAK+rpn6ASJi85Fn8wTftCGCyQUkRVn0bTDg==} + /@swc/core-win32-ia32-msvc@1.11.9: + resolution: {integrity: sha512-jrEh6MDSnhwfpjRlSWd2Bk8pS5EjreQD1YbkNcnXviQf3+H0wSPmeVSktZyoIdkxAuc2suFx8mj7Yja2UXAgUg==} engines: {node: '>=10'} cpu: [ia32] os: [win32] requiresBuild: true optional: true - /@swc/core-win32-x64-msvc@1.11.8: - resolution: {integrity: sha512-j6B6N0hChCeAISS6xp/hh6zR5CSCr037BAjCxNLsT8TGe5D+gYZ57heswUWXRH8eMKiRDGiLCYpPB2pkTqxCSw==} + /@swc/core-win32-x64-msvc@1.11.9: + resolution: {integrity: sha512-oAwuhzr+1Bmb4As2wa3k57/WPJeyVEYRQelwEMYjPgi/h6TH+Y69jQAgKOd+ec1Yl8L5nkWTZMVA/dKDac1bAQ==} engines: {node: '>=10'} cpu: [x64] os: [win32] requiresBuild: true optional: true - /@swc/core@1.11.8: - resolution: {integrity: sha512-UAL+EULxrc0J73flwYHfu29mO8CONpDJiQv1QPDXsyCvDUcEhqAqUROVTgC+wtJCFFqMQdyr4stAA5/s0KSOmA==} + /@swc/core@1.11.9: + resolution: {integrity: sha512-4UQ66FwTkFDr+UzYzRNKQyHMScOrc4zJbTJHyK6dP1yVMrxi5sl0FTzNKiqoYvRZ7j8TAYgtYvvuPSW/XXvp5g==} engines: {node: '>=10'} requiresBuild: true peerDependencies: @@ -472,16 +472,16 @@ '@swc/counter': 0.1.3 '@swc/types': 0.1.19 optionalDependencies: - '@swc/core-darwin-arm64': 1.11.8 - '@swc/core-darwin-x64': 1.11.8 - '@swc/core-linux-arm-gnueabihf': 1.11.8 - '@swc/core-linux-arm64-gnu': 1.11.8 - '@swc/core-linux-arm64-musl': 1.11.8 - '@swc/core-linux-x64-gnu': 1.11.8 - '@swc/core-linux-x64-musl': 1.11.8 - '@swc/core-win32-arm64-msvc': 1.11.8 - '@swc/core-win32-ia32-msvc': 1.11.8 - '@swc/core-win32-x64-msvc': 1.11.8 + '@swc/core-darwin-arm64': 1.11.9 + '@swc/core-darwin-x64': 1.11.9 + '@swc/core-linux-arm-gnueabihf': 1.11.9 + '@swc/core-linux-arm64-gnu': 1.11.9 + '@swc/core-linux-arm64-musl': 1.11.9 + '@swc/core-linux-x64-gnu': 1.11.9 + '@swc/core-linux-x64-musl': 1.11.9 + '@swc/core-win32-arm64-msvc': 1.11.9 + '@swc/core-win32-ia32-msvc': 1.11.9 + '@swc/core-win32-x64-msvc': 1.11.9 /@swc/counter@0.1.3: resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==} @@ -520,20 +520,20 @@ /@types/babel__generator@7.6.7: resolution: {integrity: sha512-6Sfsq+EaaLrw4RmdFWE9Onp63TOUue71AWb4Gpa6JxzgTYtimbM086WnYTy2U67AofR++QKCo08ZP6pwx8YFHQ==} dependencies: - '@babel/types': 7.26.7 + '@babel/types': 7.26.9 dev: true /@types/babel__template@7.4.4: resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} dependencies: - '@babel/parser': 7.26.7 - '@babel/types': 7.26.7 + '@babel/parser': 7.26.9 + '@babel/types': 7.26.9 dev: true /@types/babel__traverse@7.20.4: resolution: {integrity: sha512-mSM/iKUk5fDDrEV/e83qY+Cr3I1+Q3qqTuEn++HAWYjEa1+NxZr6CNrcJGf2ZTnq4HoFGC3zaTPZTobCzCFukA==} dependencies: - '@babel/types': 7.26.7 + '@babel/types': 7.26.9 dev: true /@types/node@22.13.10: @@ -913,7 +913,7 @@ node-gyp-build: 4.8.4 dev: false - /ts-node@10.9.2(@swc/core@1.11.8)(@types/node@22.13.10)(typescript@5.8.2): + /ts-node@10.9.2(@swc/core@1.11.9)(@types/node@22.13.10)(typescript@5.8.2): resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} hasBin: true peerDependencies: @@ -928,7 +928,7 @@ optional: true dependencies: '@cspotcode/source-map-support': 0.8.1 - '@swc/core': 1.11.8 + '@swc/core': 1.11.9 '@tsconfig/node10': 1.0.9 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ast-grep-0.36.1/crates/cli/src/print/colored_print/test.rs new/ast-grep-0.36.2/crates/cli/src/print/colored_print/test.rs --- old/ast-grep-0.36.1/crates/cli/src/print/colored_print/test.rs 2025-03-11 06:01:27.000000000 +0100 +++ new/ast-grep-0.36.2/crates/cli/src/print/colored_print/test.rs 2025-03-19 20:50:26.000000000 +0100 @@ -239,17 +239,13 @@ test_non_overlap_print_impl(Heading::Auto); } -#[test] -fn test_print_rule_diffs() { +fn get_printed_text(mut printer: ColoredPrinter<Buffer>, diff_case: &DiffCase) -> String { + let (source, pattern, rewrite, _) = diff_case; let globals = GlobalRules::default(); - for &(source, pattern, rewrite, note) in DIFF_CASES { - let mut printer = make_test_printer() - .heading(Heading::Never) - .style(ReportStyle::Short); - let grep = SgLang::from(SupportLang::TypeScript).ast_grep(source); - let rule = from_yaml_string( - &format!( - r" + let grep = SgLang::from(SupportLang::TypeScript).ast_grep(source); + let rule = from_yaml_string( + &format!( + r" id: test-id message: test rule severity: info @@ -257,28 +253,52 @@ rule: pattern: {pattern} fix: '{rewrite}'" - ), - &globals, - ) - .expect("should parse") - .pop() - .unwrap(); - let matcher = rule.get_matcher(&globals).expect("should parse"); - let fixer = matcher.fixer.as_ref().expect("should have fixer"); - let matches = grep.root().find_all(&matcher); - let diffs = matches.map(|n| (Diff::generate(n, &pattern, fixer), &rule)); - let buffer = printer - .get_processor() - .print_rule_diffs(diffs.collect(), Path::new("test.tsx")) - .expect("test only"); - printer.process(buffer).expect("test only"); - let text = get_text(&printer); + ), + &globals, + ) + .expect("should parse") + .pop() + .unwrap(); + let matcher = rule.get_matcher(&globals).expect("should parse"); + let fixer = matcher.fixer.as_ref().expect("should have fixer"); + let matches = grep.root().find_all(&matcher); + let diffs = matches.map(|n| (Diff::generate(n, &pattern, fixer), &rule)); + let buffer = printer + .get_processor() + .print_rule_diffs(diffs.collect(), Path::new("test.tsx")) + .expect("test only"); + printer.process(buffer).expect("test only"); + get_text(&printer) +} + +#[test] +fn test_print_rule_diffs() { + for diff_case in DIFF_CASES { + let printer = make_test_printer() + .heading(Heading::Never) + .style(ReportStyle::Rich); + let text = get_printed_text(printer, diff_case); + let (_, _, rewrite, note) = diff_case; assert!(text.contains("test.tsx"), "{note}"); assert!(text.contains("note[test-id]"), "{note}"); assert!(text.contains(rewrite), "{note}"); } } +#[test] +fn test_print_rule_diffs_short() { + for diff_case in DIFF_CASES { + let printer = make_test_printer() + .heading(Heading::Never) + .style(ReportStyle::Short); + let text = get_printed_text(printer, diff_case); + let (_, _, rewrite, note) = diff_case; + assert!(text.contains("test.tsx:"), "{note}"); + assert!(text.contains("note[test-id]"), "{note}"); + assert!(rewrite.is_empty() || !text.contains(rewrite), "{note}"); + } +} + #[test] fn test_before_after() { let src = " diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ast-grep-0.36.1/crates/cli/src/print/colored_print.rs new/ast-grep-0.36.2/crates/cli/src/print/colored_print.rs --- old/ast-grep-0.36.1/crates/cli/src/print/colored_print.rs 2025-03-11 06:01:27.000000000 +0100 +++ new/ast-grep-0.36.2/crates/cli/src/print/colored_print.rs 2025-03-19 20:50:26.000000000 +0100 @@ -217,7 +217,7 @@ let mut buffer = create_buffer(self.color); let writer = &mut buffer; let mut start = 0; - self.styles.print_prelude(path, writer)?; + let display_style = &self.config.display_style; for (diff, rule) in diffs { let range = &diff.range; // skip overlapping diff @@ -225,21 +225,37 @@ continue; } start = range.end; + if matches!(display_style, DisplayStyle::Rich) { + self.styles.print_prelude(path, writer)?; + } else { + let pos = diff.node_match.start_pos(); + write!( + writer, + "{}:{}:{}: ", + path.display(), + pos.line() + 1, + pos.column(&diff.node_match) + 1 + )?; + } print_rule_title(rule, &diff.node_match, &self.styles.rule, writer)?; - let source = diff.get_root_text(); - let new_str = format!( - "{}{}{}", - &source[..range.start], - diff.replacement, - &source[start..], - ); - self - .styles - .diff - .print_diff(source, &new_str, writer, context)?; - if let Some(note) = &rule.note { - writeln!(writer, "{}", self.styles.rule.note.paint("Note:"))?; - writeln!(writer, "{note}")?; + if matches!(display_style, DisplayStyle::Rich) { + let source = diff.get_root_text(); + let new_str = format!( + "{}{}{}", + &source[..range.start], + diff.replacement, + &source[start..], + ); + self + .styles + .diff + .print_diff(source, &new_str, writer, context)?; + } + if matches!(display_style, DisplayStyle::Medium | DisplayStyle::Rich) { + if let Some(note) = &rule.note { + writeln!(writer, "{}", self.styles.rule.note.paint("Note:"))?; + writeln!(writer, "{note}")?; + } } } Ok(buffer) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ast-grep-0.36.1/crates/cli/src/utils/debug_query.rs new/ast-grep-0.36.2/crates/cli/src/utils/debug_query.rs --- old/ast-grep-0.36.1/crates/cli/src/utils/debug_query.rs 2025-03-11 06:01:27.000000000 +0100 +++ new/ast-grep-0.36.2/crates/cli/src/utils/debug_query.rs 2025-03-19 20:50:26.000000000 +0100 @@ -175,8 +175,8 @@ } pub struct Pos { - row: u32, - column: u32, + row: usize, + column: usize, } impl std::fmt::Debug for Pos { @@ -189,8 +189,8 @@ #[inline] fn from(pt: ts::Point) -> Self { Pos { - row: pt.row(), - column: pt.column(), + row: pt.row() as usize, + column: pt.column() as usize, } } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ast-grep-0.36.1/crates/cli/src/utils/worker.rs new/ast-grep-0.36.2/crates/cli/src/utils/worker.rs --- old/ast-grep-0.36.1/crates/cli/src/utils/worker.rs 2025-03-11 06:01:27.000000000 +0100 +++ new/ast-grep-0.36.2/crates/cli/src/utils/worker.rs 2025-03-19 20:50:26.000000000 +0100 @@ -69,11 +69,8 @@ impl<T> Iterator for Items<T> { type Item = T; fn next(&mut self) -> Option<Self::Item> { - if let Ok(match_result) = self.0.recv() { - Some(match_result) - } else { - None - } + // TODO: add error reporting here + self.0.recv().ok() } } impl<T> Items<T> { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ast-grep-0.36.1/crates/config/Cargo.toml new/ast-grep-0.36.2/crates/config/Cargo.toml --- old/ast-grep-0.36.1/crates/config/Cargo.toml 2025-03-11 06:01:27.000000000 +0100 +++ new/ast-grep-0.36.2/crates/config/Cargo.toml 2025-03-19 20:50:26.000000000 +0100 @@ -26,4 +26,4 @@ schemars.workspace = true [dev-dependencies] -tree-sitter-typescript = "0.21.1" \ No newline at end of file +tree-sitter-typescript = "0.23.2" \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ast-grep-0.36.1/crates/config/src/combined.rs new/ast-grep-0.36.2/crates/config/src/combined.rs --- old/ast-grep-0.36.1/crates/config/src/combined.rs 2025-03-11 06:01:27.000000000 +0100 +++ new/ast-grep-0.36.2/crates/config/src/combined.rs 2025-03-19 20:50:26.000000000 +0100 @@ -1,7 +1,8 @@ use crate::{RuleConfig, SerializableRule, SerializableRuleConfig, SerializableRuleCore, Severity}; use ast_grep_core::language::Language; -use ast_grep_core::{AstGrep, Doc, Matcher, Node, NodeMatch}; +use ast_grep_core::matcher::{Matcher, MatcherExt}; +use ast_grep_core::{AstGrep, Doc, Node, NodeMatch}; use std::collections::{HashMap, HashSet}; @@ -38,7 +39,8 @@ if separate_fix { diffs.extend(self.unused_suppressions.into_iter().map(|nm| (rule, nm))); diffs.sort_unstable_by_key(|(_, nm)| nm.range().start); - } else { + } else if !self.unused_suppressions.is_empty() { + // do not push empty suppression to matches let mut supprs = self.unused_suppressions; supprs.sort_unstable_by_key(|nm| nm.range().start); matches.push((rule, supprs)); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ast-grep-0.36.1/crates/config/src/lib.rs new/ast-grep-0.36.2/crates/config/src/lib.rs --- old/ast-grep-0.36.1/crates/config/src/lib.rs 2025-03-11 06:01:27.000000000 +0100 +++ new/ast-grep-0.36.2/crates/config/src/lib.rs 2025-03-19 20:50:26.000000000 +0100 @@ -55,7 +55,7 @@ Some(TypeScript::Tsx) } fn get_ts_language(&self) -> TSLanguage { - tree_sitter_typescript::language_tsx().into() + tree_sitter_typescript::LANGUAGE_TSX.into() } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ast-grep-0.36.1/crates/config/src/rule/deserialize_env.rs new/ast-grep-0.36.2/crates/config/src/rule/deserialize_env.rs --- old/ast-grep-0.36.1/crates/config/src/rule/deserialize_env.rs 2025-03-11 06:01:27.000000000 +0100 +++ new/ast-grep-0.36.2/crates/config/src/rule/deserialize_env.rs 2025-03-19 20:50:26.000000000 +0100 @@ -252,6 +252,7 @@ } #[test] + #[ignore = "TODO, need to figure out potential_kinds"] fn test_local_util_kinds() -> Result<()> { // run multiple times to avoid accidental working order due to HashMap randomness for _ in 0..10 { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ast-grep-0.36.1/crates/config/src/rule/nth_child.rs new/ast-grep-0.36.2/crates/config/src/rule/nth_child.rs --- old/ast-grep-0.36.1/crates/config/src/rule/nth_child.rs 2025-03-11 06:01:27.000000000 +0100 +++ new/ast-grep-0.36.2/crates/config/src/rule/nth_child.rs 2025-03-19 20:50:26.000000000 +0100 @@ -255,7 +255,8 @@ self.position.is_matched(index).then_some(node) } fn potential_kinds(&self) -> Option<BitSet> { - None + let rule = self.of_rule.as_ref()?; + rule.potential_kinds() } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ast-grep-0.36.1/crates/config/src/rule/range.rs new/ast-grep-0.36.2/crates/config/src/rule/range.rs --- old/ast-grep-0.36.1/crates/config/src/rule/range.rs 2025-03-11 06:01:27.000000000 +0100 +++ new/ast-grep-0.36.2/crates/config/src/rule/range.rs 2025-03-19 20:50:26.000000000 +0100 @@ -98,6 +98,7 @@ mod test { use super::*; use crate::test::TypeScript as TS; + use ast_grep_core::matcher::MatcherExt; #[test] fn test_invalid_range() { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ast-grep-0.36.1/crates/core/Cargo.toml new/ast-grep-0.36.2/crates/core/Cargo.toml --- old/ast-grep-0.36.1/crates/core/Cargo.toml 2025-03-11 06:01:27.000000000 +0100 +++ new/ast-grep-0.36.2/crates/core/Cargo.toml 2025-03-19 20:50:26.000000000 +0100 @@ -23,4 +23,4 @@ default = ["regex"] [dev-dependencies] -tree-sitter-typescript = "0.21.1" \ No newline at end of file +tree-sitter-typescript = "0.23.2" \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ast-grep-0.36.1/crates/core/src/language.rs new/ast-grep-0.36.2/crates/core/src/language.rs --- old/ast-grep-0.36.1/crates/core/src/language.rs 2025-03-11 06:01:27.000000000 +0100 +++ new/ast-grep-0.36.2/crates/core/src/language.rs 2025-03-19 20:50:26.000000000 +0100 @@ -86,7 +86,7 @@ pub struct Tsx; impl Language for Tsx { fn get_ts_language(&self) -> TSLanguage { - tree_sitter_typescript::language_tsx().into() + tree_sitter_typescript::LANGUAGE_TSX.into() } } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ast-grep-0.36.1/crates/core/src/matcher/kind.rs new/ast-grep-0.36.2/crates/core/src/matcher/kind.rs --- old/ast-grep-0.36.1/crates/core/src/matcher/kind.rs 2025-03-11 06:01:27.000000000 +0100 +++ new/ast-grep-0.36.2/crates/core/src/matcher/kind.rs 2025-03-19 20:50:26.000000000 +0100 @@ -105,6 +105,7 @@ mod test { use super::*; use crate::language::Tsx; + use crate::matcher::MatcherExt; use crate::{Root, StrDoc}; fn pattern_node(s: &str) -> Root<StrDoc<Tsx>> { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ast-grep-0.36.1/crates/core/src/matcher/pattern.rs new/ast-grep-0.36.2/crates/core/src/matcher/pattern.rs --- old/ast-grep-0.36.1/crates/core/src/matcher/pattern.rs 2025-03-11 06:01:27.000000000 +0100 +++ new/ast-grep-0.36.2/crates/core/src/matcher/pattern.rs 2025-03-19 20:50:26.000000000 +0100 @@ -319,6 +319,7 @@ mod test { use super::*; use crate::language::Tsx; + use crate::matcher::MatcherExt; use std::collections::HashMap; fn pattern_node(s: &str) -> Root<StrDoc<Tsx>> { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ast-grep-0.36.1/crates/core/src/matcher.rs new/ast-grep-0.36.2/crates/core/src/matcher.rs --- old/ast-grep-0.36.1/crates/core/src/matcher.rs 2025-03-11 06:01:27.000000000 +0100 +++ new/ast-grep-0.36.2/crates/core/src/matcher.rs 2025-03-19 20:50:26.000000000 +0100 @@ -48,7 +48,12 @@ fn get_match_len<D: Doc<Lang = L>>(&self, _node: Node<D>) -> Option<usize> { None } +} +/// MatcherExt provides additional utility methods for `Matcher`. +/// It is implemented for all types that implement `Matcher`. +/// N.B. This trait is not intended to be implemented by users. +pub trait MatcherExt<L: Language>: Matcher<L> { fn match_node<'tree, D: Doc<Lang = L>>( &self, node: Node<'tree, D>, @@ -72,6 +77,13 @@ } } +impl<L, T> MatcherExt<L> for T +where + L: Language, + T: Matcher<L>, +{ +} + impl<L: Language> Matcher<L> for str { fn match_node_with_env<'tree, D: Doc<Lang = L>>( &self, @@ -105,20 +117,6 @@ (**self).potential_kinds() } - fn match_node<'tree, D: Doc<Lang = L>>( - &self, - node: Node<'tree, D>, - ) -> Option<NodeMatch<'tree, D>> { - (**self).match_node(node) - } - - fn find_node<'tree, D: Doc<Lang = L>>( - &self, - node: Node<'tree, D>, - ) -> Option<NodeMatch<'tree, D>> { - (**self).find_node(node) - } - fn get_match_len<D: Doc<Lang = L>>(&self, node: Node<D>) -> Option<usize> { (**self).get_match_len(node) } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ast-grep-0.36.1/crates/core/src/node.rs new/ast-grep-0.36.2/crates/core/src/node.rs --- old/ast-grep-0.36.1/crates/core/src/node.rs 2025-03-11 06:01:27.000000000 +0100 +++ new/ast-grep-0.36.2/crates/core/src/node.rs 2025-03-19 20:50:26.000000000 +0100 @@ -1,5 +1,5 @@ use crate::language::Language; -use crate::matcher::{FindAllNodes, Matcher, NodeMatch}; +use crate::matcher::{FindAllNodes, Matcher, MatcherExt, NodeMatch}; use crate::replacer::Replacer; use crate::source::{perform_edit, Content, Edit as E, TSParseError}; use crate::traversal::{Pre, Visitor}; @@ -24,11 +24,11 @@ } impl Position { - fn new(line: u32, byte_column: u32, byte_offset: u32) -> Self { + fn new(line: usize, byte_column: usize, byte_offset: usize) -> Self { Self { - line: line as usize, - byte_column: byte_column as usize, - byte_offset: byte_offset as usize, + line, + byte_column, + byte_offset, } } pub fn line(&self) -> usize { @@ -222,15 +222,15 @@ /// Nodes' start position in terms of zero-based rows and columns. pub fn start_pos(&self) -> Position { let pos = self.inner.start_position(); - let byte = self.inner.start_byte(); - Position::new(pos.row(), pos.column(), byte) + let byte = self.inner.start_byte() as usize; + Position::new(pos.row() as usize, pos.column() as usize, byte) } /// Nodes' end position in terms of rows and columns. pub fn end_pos(&self) -> Position { let pos = self.inner.end_position(); - let byte = self.inner.end_byte(); - Position::new(pos.row(), pos.column(), byte) + let byte = self.inner.end_byte() as usize; + Position::new(pos.row() as usize, pos.column() as usize, byte) } pub fn text(&self) -> Cow<'r, str> { @@ -383,21 +383,18 @@ } pub fn field_children(&self, name: &str) -> impl Iterator<Item = Node<'r, D>> { - let field_id = self - .root - .lang() - .get_ts_language() - .field_id_for_name(name) - .unwrap_or(0); + let field_id = self.root.lang().get_ts_language().field_id_for_name(name); let root = self.root; let mut cursor = self.inner.walk(); cursor.goto_first_child(); - let mut done = false; + // if field_id is not found, iteration is done + let mut done = field_id.is_none(); + std::iter::from_fn(move || { if done { return None; } - while cursor.field_id() != Some(field_id) { + while cursor.field_id() != field_id { if !cursor.goto_next_sibling() { return None; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ast-grep-0.36.1/crates/core/src/ops.rs new/ast-grep-0.36.2/crates/core/src/ops.rs --- old/ast-grep-0.36.1/crates/core/src/ops.rs 2025-03-11 06:01:27.000000000 +0100 +++ new/ast-grep-0.36.2/crates/core/src/ops.rs 2025-03-19 20:50:26.000000000 +0100 @@ -373,6 +373,7 @@ mod test { use super::*; use crate::language::Tsx; + use crate::matcher::MatcherExt; use crate::Root; fn test_find(matcher: &impl Matcher<Tsx>, code: &str) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ast-grep-0.36.1/crates/core/src/traversal.rs new/ast-grep-0.36.2/crates/core/src/traversal.rs --- old/ast-grep-0.36.1/crates/core/src/traversal.rs 2025-03-11 06:01:27.000000000 +0100 +++ new/ast-grep-0.36.2/crates/core/src/traversal.rs 2025-03-19 20:50:26.000000000 +0100 @@ -18,7 +18,7 @@ //! It is recommended to use traversal instead of tree recursion to avoid stack overflow and memory overhead. //! Level order is also included for completeness and should be used sparingly. -use crate::matcher::Matcher; +use crate::matcher::{Matcher, MatcherExt}; use crate::{Doc, Node, NodeMatch, Root}; use tree_sitter as ts; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ast-grep-0.36.1/crates/language/Cargo.toml new/ast-grep-0.36.2/crates/language/Cargo.toml --- old/ast-grep-0.36.1/crates/language/Cargo.toml 2025-03-11 06:01:27.000000000 +0100 +++ new/ast-grep-0.36.2/crates/language/Cargo.toml 2025-03-19 20:50:26.000000000 +0100 @@ -36,7 +36,7 @@ tree-sitter-rust = { version = "0.23.0", optional = true } tree-sitter-scala = { version = "0.23.0", optional = true } tree-sitter-swift = { version = "0.7.0", optional = true } -tree-sitter-typescript= { version = "0.23.2", optional = true } +tree-sitter-typescript = { version = "0.23.2", optional = true } tree-sitter-yaml = { version = "0.7.0", optional = true } [features] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ast-grep-0.36.1/crates/language/src/lib.rs new/ast-grep-0.36.2/crates/language/src/lib.rs --- old/ast-grep-0.36.1/crates/language/src/lib.rs 2025-03-11 06:01:27.000000000 +0100 +++ new/ast-grep-0.36.2/crates/language/src/lib.rs 2025-03-19 20:50:26.000000000 +0100 @@ -487,7 +487,7 @@ #[cfg(test)] mod test { use super::*; - use ast_grep_core::{source::TSParseError, Matcher, Pattern}; + use ast_grep_core::{matcher::MatcherExt, source::TSParseError, Pattern}; pub fn test_match_lang(query: &str, source: &str, lang: impl Language) { let cand = lang.ast_grep(source); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ast-grep-0.36.1/crates/napi/npm/darwin-arm64/package.json new/ast-grep-0.36.2/crates/napi/npm/darwin-arm64/package.json --- old/ast-grep-0.36.1/crates/napi/npm/darwin-arm64/package.json 2025-03-11 06:01:27.000000000 +0100 +++ new/ast-grep-0.36.2/crates/napi/npm/darwin-arm64/package.json 2025-03-19 20:50:26.000000000 +0100 @@ -1,6 +1,6 @@ { "name": "@ast-grep/napi-darwin-arm64", - "version": "0.36.1", + "version": "0.36.2", "os": [ "darwin" ], diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ast-grep-0.36.1/crates/napi/npm/darwin-x64/package.json new/ast-grep-0.36.2/crates/napi/npm/darwin-x64/package.json --- old/ast-grep-0.36.1/crates/napi/npm/darwin-x64/package.json 2025-03-11 06:01:27.000000000 +0100 +++ new/ast-grep-0.36.2/crates/napi/npm/darwin-x64/package.json 2025-03-19 20:50:26.000000000 +0100 @@ -1,6 +1,6 @@ { "name": "@ast-grep/napi-darwin-x64", - "version": "0.36.1", + "version": "0.36.2", "os": [ "darwin" ], diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ast-grep-0.36.1/crates/napi/npm/linux-arm64-gnu/package.json new/ast-grep-0.36.2/crates/napi/npm/linux-arm64-gnu/package.json --- old/ast-grep-0.36.1/crates/napi/npm/linux-arm64-gnu/package.json 2025-03-11 06:01:27.000000000 +0100 +++ new/ast-grep-0.36.2/crates/napi/npm/linux-arm64-gnu/package.json 2025-03-19 20:50:26.000000000 +0100 @@ -1,6 +1,6 @@ { "name": "@ast-grep/napi-linux-arm64-gnu", - "version": "0.36.1", + "version": "0.36.2", "os": [ "linux" ], diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ast-grep-0.36.1/crates/napi/npm/linux-arm64-musl/package.json new/ast-grep-0.36.2/crates/napi/npm/linux-arm64-musl/package.json --- old/ast-grep-0.36.1/crates/napi/npm/linux-arm64-musl/package.json 2025-03-11 06:01:27.000000000 +0100 +++ new/ast-grep-0.36.2/crates/napi/npm/linux-arm64-musl/package.json 2025-03-19 20:50:26.000000000 +0100 @@ -1,6 +1,6 @@ { "name": "@ast-grep/napi-linux-arm64-musl", - "version": "0.36.1", + "version": "0.36.2", "os": [ "linux" ], diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ast-grep-0.36.1/crates/napi/npm/linux-x64-gnu/package.json new/ast-grep-0.36.2/crates/napi/npm/linux-x64-gnu/package.json --- old/ast-grep-0.36.1/crates/napi/npm/linux-x64-gnu/package.json 2025-03-11 06:01:27.000000000 +0100 +++ new/ast-grep-0.36.2/crates/napi/npm/linux-x64-gnu/package.json 2025-03-19 20:50:26.000000000 +0100 @@ -1,6 +1,6 @@ { "name": "@ast-grep/napi-linux-x64-gnu", - "version": "0.36.1", + "version": "0.36.2", "os": [ "linux" ], diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ast-grep-0.36.1/crates/napi/npm/linux-x64-musl/package.json new/ast-grep-0.36.2/crates/napi/npm/linux-x64-musl/package.json --- old/ast-grep-0.36.1/crates/napi/npm/linux-x64-musl/package.json 2025-03-11 06:01:27.000000000 +0100 +++ new/ast-grep-0.36.2/crates/napi/npm/linux-x64-musl/package.json 2025-03-19 20:50:26.000000000 +0100 @@ -1,6 +1,6 @@ { "name": "@ast-grep/napi-linux-x64-musl", - "version": "0.36.1", + "version": "0.36.2", "os": [ "linux" ], diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ast-grep-0.36.1/crates/napi/npm/win32-arm64-msvc/package.json new/ast-grep-0.36.2/crates/napi/npm/win32-arm64-msvc/package.json --- old/ast-grep-0.36.1/crates/napi/npm/win32-arm64-msvc/package.json 2025-03-11 06:01:27.000000000 +0100 +++ new/ast-grep-0.36.2/crates/napi/npm/win32-arm64-msvc/package.json 2025-03-19 20:50:26.000000000 +0100 @@ -1,6 +1,6 @@ { "name": "@ast-grep/napi-win32-arm64-msvc", - "version": "0.36.1", + "version": "0.36.2", "os": [ "win32" ], diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ast-grep-0.36.1/crates/napi/npm/win32-ia32-msvc/package.json new/ast-grep-0.36.2/crates/napi/npm/win32-ia32-msvc/package.json --- old/ast-grep-0.36.1/crates/napi/npm/win32-ia32-msvc/package.json 2025-03-11 06:01:27.000000000 +0100 +++ new/ast-grep-0.36.2/crates/napi/npm/win32-ia32-msvc/package.json 2025-03-19 20:50:26.000000000 +0100 @@ -1,6 +1,6 @@ { "name": "@ast-grep/napi-win32-ia32-msvc", - "version": "0.36.1", + "version": "0.36.2", "os": [ "win32" ], diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ast-grep-0.36.1/crates/napi/npm/win32-x64-msvc/package.json new/ast-grep-0.36.2/crates/napi/npm/win32-x64-msvc/package.json --- old/ast-grep-0.36.1/crates/napi/npm/win32-x64-msvc/package.json 2025-03-11 06:01:27.000000000 +0100 +++ new/ast-grep-0.36.2/crates/napi/npm/win32-x64-msvc/package.json 2025-03-19 20:50:26.000000000 +0100 @@ -1,6 +1,6 @@ { "name": "@ast-grep/napi-win32-x64-msvc", - "version": "0.36.1", + "version": "0.36.2", "os": [ "win32" ], diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ast-grep-0.36.1/crates/napi/package.json new/ast-grep-0.36.2/crates/napi/package.json --- old/ast-grep-0.36.1/crates/napi/package.json 2025-03-11 06:01:27.000000000 +0100 +++ new/ast-grep-0.36.2/crates/napi/package.json 2025-03-19 20:50:26.000000000 +0100 @@ -1,6 +1,6 @@ { "name": "@ast-grep/napi", - "version": "0.36.1", + "version": "0.36.2", "description": "Search and Rewrite code at large scale using precise AST pattern", "homepage": "https://ast-grep.github.io", "main": "index.js", @@ -52,7 +52,7 @@ "typegen": "ts-node scripts/generateTypes.ts" }, "devDependencies": { - "@ast-grep/napi": "0.35.0", + "@ast-grep/napi": "0.36.1", "@biomejs/biome": "1.9.4", "@napi-rs/cli": "2.18.4", "@types/node": "^22.10.2", diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ast-grep-0.36.1/crates/napi/yarn.lock new/ast-grep-0.36.2/crates/napi/yarn.lock --- old/ast-grep-0.36.1/crates/napi/yarn.lock 2025-03-11 06:01:27.000000000 +0100 +++ new/ast-grep-0.36.2/crates/napi/yarn.lock 2025-03-19 20:50:26.000000000 +0100 @@ -2,65 +2,65 @@ # yarn lockfile v1 -"@ast-grep/napi-darwin-arm64@0.35.0": - version "0.35.0" - resolved "https://registry.yarnpkg.com/@ast-grep/napi-darwin-arm64/-/napi-darwin-arm64-0.35.0.tgz#8fec9731d8f2efc35a487eb4e453bf9598c577a5" - integrity sha512-T+MN4Oinc+sXjXCIHzfxDDWY7r2pKgPxM6zVeVlkMTrJV2mJtyKYBIS+CABhRM6kflps2T2I6l4DGaKV/8Ym9w== - -"@ast-grep/napi-darwin-x64@0.35.0": - version "0.35.0" - resolved "https://registry.yarnpkg.com/@ast-grep/napi-darwin-x64/-/napi-darwin-x64-0.35.0.tgz#aba07a4d08ba16102b951d286379a6048a899de0" - integrity sha512-pEYiN6JI1HY2uWhMYJ9+3yIMyVYKuYdFzeD+dL7odA3qzK0o9N9AM3/NOt4ynU2EhufaWCJr0P5NoQ636qN6MQ== - -"@ast-grep/napi-linux-arm64-gnu@0.35.0": - version "0.35.0" - resolved "https://registry.yarnpkg.com/@ast-grep/napi-linux-arm64-gnu/-/napi-linux-arm64-gnu-0.35.0.tgz#d3e43510253a1b58047c9224bde5c8197dd07dce" - integrity sha512-NBuzQngABGKz7lhG08IQb+7nPqUx81Ol37xmS3ZhVSdSgM0mtp93rCbgFTkJcAFE8IMfCHQSg7G4g0Iotz4ABQ== - -"@ast-grep/napi-linux-arm64-musl@0.35.0": - version "0.35.0" - resolved "https://registry.yarnpkg.com/@ast-grep/napi-linux-arm64-musl/-/napi-linux-arm64-musl-0.35.0.tgz#beb9e9125b19788a6f7b86e60b2580f2e1808c4d" - integrity sha512-1EcvHPwyWpCL/96LuItBYGfeI5FaMTRvL+dHbO/hL5q1npqbb5qn+ppJwtNOjTPz8tayvgggxVk9T4C2O7taYA== - -"@ast-grep/napi-linux-x64-gnu@0.35.0": - version "0.35.0" - resolved "https://registry.yarnpkg.com/@ast-grep/napi-linux-x64-gnu/-/napi-linux-x64-gnu-0.35.0.tgz#58f1d15ee2485cd4b8aee2f410e66daaeefc8f5d" - integrity sha512-FDzNdlqmQnsiWXhnLxusw5AOfEcEM+5xtmrnAf3SBRFr86JyWD9qsynnFYC2pnP9hlMfifNH2TTmMpyGJW49Xw== - -"@ast-grep/napi-linux-x64-musl@0.35.0": - version "0.35.0" - resolved "https://registry.yarnpkg.com/@ast-grep/napi-linux-x64-musl/-/napi-linux-x64-musl-0.35.0.tgz#209fda6ea1d54cd032ad43e5389ebf9bbf1ff8f6" - integrity sha512-wlmndjfBafT8u5p4DBnoRQyoCSGNuVSz7rT3TqhvlHcPzUouRWMn95epU9B1LNLyjXvr9xHeRjSktyCN28w57Q== - -"@ast-grep/napi-win32-arm64-msvc@0.35.0": - version "0.35.0" - resolved "https://registry.yarnpkg.com/@ast-grep/napi-win32-arm64-msvc/-/napi-win32-arm64-msvc-0.35.0.tgz#092203f0474593b890aeb0b86cd8c1dbd9423206" - integrity sha512-gkhJeYc4rrZLX2icLxalPikTLMR57DuIYLwLr9g+StHYXIsGHrbfrE6Nnbdd8Izfs34ArFCrcwdaMrGlvOPSeg== - -"@ast-grep/napi-win32-ia32-msvc@0.35.0": - version "0.35.0" - resolved "https://registry.yarnpkg.com/@ast-grep/napi-win32-ia32-msvc/-/napi-win32-ia32-msvc-0.35.0.tgz#882ca50cde7990413e83f4b30e9255207d99e848" - integrity sha512-OdUuRa3chHCZ65y+qALfkUjz0W0Eg21YZ9TyPquV5why07M6HAK38mmYGzLxFH6294SvRQhs+FA/rAfbKeH0jA== - -"@ast-grep/napi-win32-x64-msvc@0.35.0": - version "0.35.0" - resolved "https://registry.yarnpkg.com/@ast-grep/napi-win32-x64-msvc/-/napi-win32-x64-msvc-0.35.0.tgz#30732451fdbdd695b71677835a8e83ef61ed0586" - integrity sha512-pcQRUHqbroTN1oQ56V982a7IZTUUySQYWa2KEyksiifHGuBuitlzcyzFGjT96ThcqD9XW0UVJMvpoF2Qjh006Q== - -"@ast-grep/napi@0.35.0": - version "0.35.0" - resolved "https://registry.yarnpkg.com/@ast-grep/napi/-/napi-0.35.0.tgz#9ae72d1ffb46ddd4e8fd38bf6b9ef421090e8223" - integrity sha512-3ucaaSxV6fxXoqHrE/rxAvP1THnDdY5jNzGlnvx+JvnY9C/dSRKc0jlRMRz59N3El572+/yNRUUpAV1T9aBJug== +"@ast-grep/napi-darwin-arm64@0.36.1": + version "0.36.1" + resolved "https://registry.yarnpkg.com/@ast-grep/napi-darwin-arm64/-/napi-darwin-arm64-0.36.1.tgz#767ac25769479faf626ebf824ba9f5e74f3b327a" + integrity sha512-hLceB0+nTMzmp+85ffJdmwUYcH9n+9ca/dj4nBxXjWBEPhcsA4FOlxCn/dltxhIsdb9eVL8ffATyu7yO96Xjcw== + +"@ast-grep/napi-darwin-x64@0.36.1": + version "0.36.1" + resolved "https://registry.yarnpkg.com/@ast-grep/napi-darwin-x64/-/napi-darwin-x64-0.36.1.tgz#9f7512a4705f478ea0f6700c1e00bad424d4a46c" + integrity sha512-bt5FZNIRE/FmwD29t1LMMsbWxxqgAGabCOSWxbFKBPWqYPW48sG0FfEP2x3P6vIMmNrNNaEy0YwiwaZVR8M0dQ== + +"@ast-grep/napi-linux-arm64-gnu@0.36.1": + version "0.36.1" + resolved "https://registry.yarnpkg.com/@ast-grep/napi-linux-arm64-gnu/-/napi-linux-arm64-gnu-0.36.1.tgz#95a937d7484e027c9ee3c7b40d5ff591189e64c6" + integrity sha512-6xAs1AGqll9cZdinQIdEo8WA6dEgOSKGfk0HLmXO0R6Z9q/i17oRtLdud+iVNUVBjyFxrOrTYUGxzwwbfrh2Mg== + +"@ast-grep/napi-linux-arm64-musl@0.36.1": + version "0.36.1" + resolved "https://registry.yarnpkg.com/@ast-grep/napi-linux-arm64-musl/-/napi-linux-arm64-musl-0.36.1.tgz#925eee7220f0997c213665bd9457139346979939" + integrity sha512-qBg0id6C138OkD68zuaa37hrNE01NKJVaV+VZ+7lYIdM7ovwq4D3cgvKsxz1iWUrXsQIX+RPQfU4MoYJdRKYRQ== + +"@ast-grep/napi-linux-x64-gnu@0.36.1": + version "0.36.1" + resolved "https://registry.yarnpkg.com/@ast-grep/napi-linux-x64-gnu/-/napi-linux-x64-gnu-0.36.1.tgz#4326524580957262a14c58efc65db0ad6b60664e" + integrity sha512-DJnOF0nETsFCPlwRSPwiddja/Pe6yyQmgvQMZRWR3jBcqNeytL6MwVBs7bLyiGPeRNgB/Fk/V4lfVjPV8OYi6w== + +"@ast-grep/napi-linux-x64-musl@0.36.1": + version "0.36.1" + resolved "https://registry.yarnpkg.com/@ast-grep/napi-linux-x64-musl/-/napi-linux-x64-musl-0.36.1.tgz#00928dda32ecfff3d2bf4efb57e29c7d164b7ffe" + integrity sha512-vXrqWq9KZssTrJa47mDv8uPk7+ZLjQZScQjpbzB/icYj+VdhDAMxRC2ZrCTaSP+FQzibtZQdlEe3lGm4DGvuKA== + +"@ast-grep/napi-win32-arm64-msvc@0.36.1": + version "0.36.1" + resolved "https://registry.yarnpkg.com/@ast-grep/napi-win32-arm64-msvc/-/napi-win32-arm64-msvc-0.36.1.tgz#1e1d76f768dfe821ae9ef049056b44e8289a2e11" + integrity sha512-y02toJitm47Zv6zeCZnvzU/YyACfim8xcZx7+V9dJr5H8DSd6bJhnCIEhyPqsDJBhgh0i+saRmFr12rb6Fmjtw== + +"@ast-grep/napi-win32-ia32-msvc@0.36.1": + version "0.36.1" + resolved "https://registry.yarnpkg.com/@ast-grep/napi-win32-ia32-msvc/-/napi-win32-ia32-msvc-0.36.1.tgz#66674c5e21f7707ebfc50a8cee8f500bd859d622" + integrity sha512-I4oVIFX9dhzEI3fz7GYlj1Khw8w6Kk+2r8cuyqI9Z+U+FUZZFHr3ZWyXhJdrsfuJ9AmUeJLlydu6zAyCUlEvow== + +"@ast-grep/napi-win32-x64-msvc@0.36.1": + version "0.36.1" + resolved "https://registry.yarnpkg.com/@ast-grep/napi-win32-x64-msvc/-/napi-win32-x64-msvc-0.36.1.tgz#6980e802531056881eb5d87b24e1f30c66ecfa73" + integrity sha512-ofuHLFdaVMsPoxJsl1cgIlrOUYoh3kF6fiSKSbCbL80PRCpJXo8J+EwxsF033hK7bwMy40FohG4guz5a4B2tYA== + +"@ast-grep/napi@0.36.1": + version "0.36.1" + resolved "https://registry.yarnpkg.com/@ast-grep/napi/-/napi-0.36.1.tgz#0be3d59b3cd3cc1c94e112118c565fdfbbdadeef" + integrity sha512-Ptfwhmlh9Xc5PunM1/X9tcmudxTAOIXxsDdvkSM4h9z/o+OrqL6DYgXOyPxo3mWFln/+oHHIB65jtNQCoo6Niw== optionalDependencies: - "@ast-grep/napi-darwin-arm64" "0.35.0" - "@ast-grep/napi-darwin-x64" "0.35.0" - "@ast-grep/napi-linux-arm64-gnu" "0.35.0" - "@ast-grep/napi-linux-arm64-musl" "0.35.0" - "@ast-grep/napi-linux-x64-gnu" "0.35.0" - "@ast-grep/napi-linux-x64-musl" "0.35.0" - "@ast-grep/napi-win32-arm64-msvc" "0.35.0" - "@ast-grep/napi-win32-ia32-msvc" "0.35.0" - "@ast-grep/napi-win32-x64-msvc" "0.35.0" + "@ast-grep/napi-darwin-arm64" "0.36.1" + "@ast-grep/napi-darwin-x64" "0.36.1" + "@ast-grep/napi-linux-arm64-gnu" "0.36.1" + "@ast-grep/napi-linux-arm64-musl" "0.36.1" + "@ast-grep/napi-linux-x64-gnu" "0.36.1" + "@ast-grep/napi-linux-x64-musl" "0.36.1" + "@ast-grep/napi-win32-arm64-msvc" "0.36.1" + "@ast-grep/napi-win32-ia32-msvc" "0.36.1" + "@ast-grep/napi-win32-x64-msvc" "0.36.1" "@biomejs/biome@1.9.4": version "1.9.4" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ast-grep-0.36.1/crates/pyo3/pyproject.toml new/ast-grep-0.36.2/crates/pyo3/pyproject.toml --- old/ast-grep-0.36.1/crates/pyo3/pyproject.toml 2025-03-11 06:01:27.000000000 +0100 +++ new/ast-grep-0.36.2/crates/pyo3/pyproject.toml 2025-03-19 20:50:26.000000000 +0100 @@ -5,7 +5,7 @@ [project] name = "ast-grep-py" requires-python = ">=3.8" -version = "0.36.1" +version = "0.36.2" description = "Structural Search and Rewrite code at large scale using precise AST pattern." authors = [{ name = "Herrington Darkholme", email = "2883231+herringtondarkho...@users.noreply.github.com" }] maintainers = [{ name = "Herrington Darkholme", email = "2883231+herringtondarkho...@users.noreply.github.com" }] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ast-grep-0.36.1/npm/package.json new/ast-grep-0.36.2/npm/package.json --- old/ast-grep-0.36.1/npm/package.json 2025-03-11 06:01:27.000000000 +0100 +++ new/ast-grep-0.36.2/npm/package.json 2025-03-19 20:50:26.000000000 +0100 @@ -1,6 +1,6 @@ { "name": "@ast-grep/cli", - "version": "0.36.1", + "version": "0.36.2", "publishConfig": { "access": "public" }, @@ -29,13 +29,13 @@ "postinstall": "node postinstall.js" }, "optionalDependencies": { - "@ast-grep/cli-win32-arm64-msvc": "0.36.1", - "@ast-grep/cli-win32-ia32-msvc": "0.36.1", - "@ast-grep/cli-win32-x64-msvc": "0.36.1", - "@ast-grep/cli-darwin-arm64": "0.36.1", - "@ast-grep/cli-darwin-x64": "0.36.1", - "@ast-grep/cli-linux-arm64-gnu": "0.36.1", - "@ast-grep/cli-linux-x64-gnu": "0.36.1" + "@ast-grep/cli-win32-arm64-msvc": "0.36.2", + "@ast-grep/cli-win32-ia32-msvc": "0.36.2", + "@ast-grep/cli-win32-x64-msvc": "0.36.2", + "@ast-grep/cli-darwin-arm64": "0.36.2", + "@ast-grep/cli-darwin-x64": "0.36.2", + "@ast-grep/cli-linux-arm64-gnu": "0.36.2", + "@ast-grep/cli-linux-x64-gnu": "0.36.2" }, "bin": { "sg": "sg", diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ast-grep-0.36.1/npm/platforms/darwin-arm64/package.json new/ast-grep-0.36.2/npm/platforms/darwin-arm64/package.json --- old/ast-grep-0.36.1/npm/platforms/darwin-arm64/package.json 2025-03-11 06:01:27.000000000 +0100 +++ new/ast-grep-0.36.2/npm/platforms/darwin-arm64/package.json 2025-03-19 20:50:26.000000000 +0100 @@ -1,6 +1,6 @@ { "name": "@ast-grep/cli-darwin-arm64", - "version": "0.36.1", + "version": "0.36.2", "os": [ "darwin" ], diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ast-grep-0.36.1/npm/platforms/darwin-x64/package.json new/ast-grep-0.36.2/npm/platforms/darwin-x64/package.json --- old/ast-grep-0.36.1/npm/platforms/darwin-x64/package.json 2025-03-11 06:01:27.000000000 +0100 +++ new/ast-grep-0.36.2/npm/platforms/darwin-x64/package.json 2025-03-19 20:50:26.000000000 +0100 @@ -1,6 +1,6 @@ { "name": "@ast-grep/cli-darwin-x64", - "version": "0.36.1", + "version": "0.36.2", "os": [ "darwin" ], diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ast-grep-0.36.1/npm/platforms/linux-arm64-gnu/package.json new/ast-grep-0.36.2/npm/platforms/linux-arm64-gnu/package.json --- old/ast-grep-0.36.1/npm/platforms/linux-arm64-gnu/package.json 2025-03-11 06:01:27.000000000 +0100 +++ new/ast-grep-0.36.2/npm/platforms/linux-arm64-gnu/package.json 2025-03-19 20:50:26.000000000 +0100 @@ -1,6 +1,6 @@ { "name": "@ast-grep/cli-linux-arm64-gnu", - "version": "0.36.1", + "version": "0.36.2", "os": [ "linux" ], diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ast-grep-0.36.1/npm/platforms/linux-x64-gnu/package.json new/ast-grep-0.36.2/npm/platforms/linux-x64-gnu/package.json --- old/ast-grep-0.36.1/npm/platforms/linux-x64-gnu/package.json 2025-03-11 06:01:27.000000000 +0100 +++ new/ast-grep-0.36.2/npm/platforms/linux-x64-gnu/package.json 2025-03-19 20:50:26.000000000 +0100 @@ -1,6 +1,6 @@ { "name": "@ast-grep/cli-linux-x64-gnu", - "version": "0.36.1", + "version": "0.36.2", "os": [ "linux" ], diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ast-grep-0.36.1/npm/platforms/win32-arm64-msvc/package.json new/ast-grep-0.36.2/npm/platforms/win32-arm64-msvc/package.json --- old/ast-grep-0.36.1/npm/platforms/win32-arm64-msvc/package.json 2025-03-11 06:01:27.000000000 +0100 +++ new/ast-grep-0.36.2/npm/platforms/win32-arm64-msvc/package.json 2025-03-19 20:50:26.000000000 +0100 @@ -1,6 +1,6 @@ { "name": "@ast-grep/cli-win32-arm64-msvc", - "version": "0.36.1", + "version": "0.36.2", "os": [ "win32" ], diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ast-grep-0.36.1/npm/platforms/win32-ia32-msvc/package.json new/ast-grep-0.36.2/npm/platforms/win32-ia32-msvc/package.json --- old/ast-grep-0.36.1/npm/platforms/win32-ia32-msvc/package.json 2025-03-11 06:01:27.000000000 +0100 +++ new/ast-grep-0.36.2/npm/platforms/win32-ia32-msvc/package.json 2025-03-19 20:50:26.000000000 +0100 @@ -1,6 +1,6 @@ { "name": "@ast-grep/cli-win32-ia32-msvc", - "version": "0.36.1", + "version": "0.36.2", "os": [ "win32" ], diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ast-grep-0.36.1/npm/platforms/win32-x64-msvc/package.json new/ast-grep-0.36.2/npm/platforms/win32-x64-msvc/package.json --- old/ast-grep-0.36.1/npm/platforms/win32-x64-msvc/package.json 2025-03-11 06:01:27.000000000 +0100 +++ new/ast-grep-0.36.2/npm/platforms/win32-x64-msvc/package.json 2025-03-19 20:50:26.000000000 +0100 @@ -1,6 +1,6 @@ { "name": "@ast-grep/cli-win32-x64-msvc", - "version": "0.36.1", + "version": "0.36.2", "os": [ "win32" ], diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ast-grep-0.36.1/pyproject.toml new/ast-grep-0.36.2/pyproject.toml --- old/ast-grep-0.36.1/pyproject.toml 2025-03-11 06:01:27.000000000 +0100 +++ new/ast-grep-0.36.2/pyproject.toml 2025-03-19 20:50:26.000000000 +0100 @@ -4,7 +4,7 @@ [project] name = "ast-grep-cli" -version = "0.36.1" +version = "0.36.2" description = "Structural Search and Rewrite code at large scale using precise AST pattern." authors = [{ name = "Herrington Darkholme", email = "2883231+herringtondarkho...@users.noreply.github.com" }] maintainers = [{ name = "Herrington Darkholme", email = "2883231+herringtondarkho...@users.noreply.github.com" }] ++++++ vendor.tar.zst ++++++ /work/SRC/openSUSE:Factory/ast-grep/vendor.tar.zst /work/SRC/openSUSE:Factory/.ast-grep.new.2696/vendor.tar.zst differ: char 7, line 1