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

Reply via email to