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-01-14 16:22:14
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ast-grep (Old)
 and      /work/SRC/openSUSE:Factory/.ast-grep.new.1881 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "ast-grep"

Tue Jan 14 16:22:14 2025 rev:50 rq:1237514 version:0.33.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/ast-grep/ast-grep.changes        2025-01-07 
20:55:14.389430289 +0100
+++ /work/SRC/openSUSE:Factory/.ast-grep.new.1881/ast-grep.changes      
2025-01-14 16:23:11.415355473 +0100
@@ -1,0 +2,9 @@
+Mon Jan 13 15:04:42 UTC 2025 - Michael Vetter <mvet...@suse.com>
+
+- Update to 0.33.1:
+  * feat: Support passing rule config to SgNode match methods (matches, has, 
inside, follows, precedes) #1730
+  * chore(deps): update dependency @ast-grep/napi to v0.33.0 61f7177
+  * fix(deps): update dependency typescript to v5.7.3 85a7204
+  * fix(deps): update dependency tree-sitter to v0.22.4 ec70763
+
+-------------------------------------------------------------------

Old:
----
  ast-grep-0.33.0.tar.zst

New:
----
  ast-grep-0.33.1.tar.zst

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ ast-grep.spec ++++++
--- /var/tmp/diff_new_pack.zNdM3F/_old  2025-01-14 16:23:12.555402645 +0100
+++ /var/tmp/diff_new_pack.zNdM3F/_new  2025-01-14 16:23:12.555402645 +0100
@@ -17,7 +17,7 @@
 
 
 Name:           ast-grep
-Version:        0.33.0
+Version:        0.33.1
 Release:        0
 Summary:        A CLI tool for code structural search, lint and rewriting
 License:        MIT

++++++ _service ++++++
--- /var/tmp/diff_new_pack.zNdM3F/_old  2025-01-14 16:23:12.599404466 +0100
+++ /var/tmp/diff_new_pack.zNdM3F/_new  2025-01-14 16:23:12.603404632 +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.33.0</param>
+    <param name="revision">0.33.1</param>
     <param name="match-tag">*</param>
     <param name="versionrewrite-pattern">v(\d+\.\d+\.\d+)</param>
     <param name="versionrewrite-replacement">\1</param>

++++++ ast-grep-0.33.0.tar.zst -> ast-grep-0.33.1.tar.zst ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ast-grep-0.33.0/CHANGELOG.md 
new/ast-grep-0.33.1/CHANGELOG.md
--- old/ast-grep-0.33.0/CHANGELOG.md    2025-01-05 07:02:58.000000000 +0100
+++ new/ast-grep-0.33.1/CHANGELOG.md    2025-01-13 05:21:57.000000000 +0100
@@ -4,8 +4,17 @@
 
 Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
 
+#### [0.33.1](https://github.com/ast-grep/ast-grep/compare/0.33.0...0.33.1)
+
+- feat: Support passing rule config to SgNode match methods (`matches`, `has`, 
`inside`, `follows`, `precedes`) 
[`#1730`](https://github.com/ast-grep/ast-grep/pull/1730)
+- chore(deps): update dependency @ast-grep/napi to v0.33.0 
[`61f7177`](https://github.com/ast-grep/ast-grep/commit/61f71771c049a6ec7f3004fa0abc9dd7e8fcec19)
+- fix(deps): update dependency typescript to v5.7.3 
[`85a7204`](https://github.com/ast-grep/ast-grep/commit/85a72047131345cbcfafe231b27f4b53ef34d465)
+- fix(deps): update dependency tree-sitter to v0.22.4 
[`ec70763`](https://github.com/ast-grep/ast-grep/commit/ec70763fdfdd58f68ca8ed69400fef1bc9f571b3)
+
 #### [0.33.0](https://github.com/ast-grep/ast-grep/compare/0.32.3...0.33.0)
 
+> 5 January 2025
+
 - **Breaking change:** refactor: move pyo3 registration to CustomLang 
[`4ddb08f`](https://github.com/ast-grep/ast-grep/commit/4ddb08ff68c1cebeaf459744bfc9fb85c6b0c15c)
 - feat: introduce napi_lang for dynamic loading 
[`1a8d782`](https://github.com/ast-grep/ast-grep/commit/1a8d782be7eb2cbcfa0291d87318d0594293b50b)
 - chore(deps): update dependency @ast-grep/napi to v0.32.3 
[`713244f`](https://github.com/ast-grep/ast-grep/commit/713244f68c79d930011099d5f0fa63bfbad4d831)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ast-grep-0.33.0/Cargo.lock 
new/ast-grep-0.33.1/Cargo.lock
--- old/ast-grep-0.33.0/Cargo.lock      2025-01-05 07:02:58.000000000 +0100
+++ new/ast-grep-0.33.1/Cargo.lock      2025-01-13 05:21:57.000000000 +0100
@@ -114,7 +114,7 @@
 
 [[package]]
 name = "ast-grep"
-version = "0.33.0"
+version = "0.33.1"
 dependencies = [
  "ansi_term",
  "anyhow",
@@ -144,7 +144,7 @@
 
 [[package]]
 name = "ast-grep-config"
-version = "0.33.0"
+version = "0.33.1"
 dependencies = [
  "anyhow",
  "ast-grep-core",
@@ -160,7 +160,7 @@
 
 [[package]]
 name = "ast-grep-core"
-version = "0.33.0"
+version = "0.33.1"
 dependencies = [
  "bit-set",
  "regex",
@@ -171,7 +171,7 @@
 
 [[package]]
 name = "ast-grep-dynamic"
-version = "0.33.0"
+version = "0.33.1"
 dependencies = [
  "ast-grep-core",
  "ignore",
@@ -184,7 +184,7 @@
 
 [[package]]
 name = "ast-grep-language"
-version = "0.33.0"
+version = "0.33.1"
 dependencies = [
  "ast-grep-core",
  "ignore",
@@ -216,7 +216,7 @@
 
 [[package]]
 name = "ast-grep-lsp"
-version = "0.33.0"
+version = "0.33.1"
 dependencies = [
  "ast-grep-config",
  "ast-grep-core",
@@ -230,7 +230,7 @@
 
 [[package]]
 name = "ast-grep-napi"
-version = "0.33.0"
+version = "0.33.1"
 dependencies = [
  "ast-grep-config",
  "ast-grep-core",
@@ -246,7 +246,7 @@
 
 [[package]]
 name = "ast-grep-py"
-version = "0.33.0"
+version = "0.33.1"
 dependencies = [
  "anyhow",
  "ast-grep-config",
@@ -314,7 +314,7 @@
 
 [[package]]
 name = "benches"
-version = "0.33.0"
+version = "0.33.1"
 dependencies = [
  "ast-grep-config",
  "ast-grep-core",
@@ -805,6 +805,17 @@
 ]
 
 [[package]]
+name = "getrandom"
+version = "0.2.15"
+source = "registry+https://github.com/rust-lang/crates.io-index";
+checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7"
+dependencies = [
+ "cfg-if",
+ "libc",
+ "wasi",
+]
+
+[[package]]
 name = "gimli"
 version = "0.28.1"
 source = "registry+https://github.com/rust-lang/crates.io-index";
@@ -979,7 +990,7 @@
 checksum = "fc2f4eb4bc735547cfed7c0a4922cbd04a4655978c09b54f1f7b228750664c34"
 dependencies = [
  "cfg-if",
- "windows-targets 0.48.5",
+ "windows-targets 0.52.6",
 ]
 
 [[package]]
@@ -1549,9 +1560,9 @@
 
 [[package]]
 name = "serde_json"
-version = "1.0.134"
+version = "1.0.135"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "d00f4175c42ee48b15416f6193a959ba3a0d67fc699a0db9ad12df9f83991c7d"
+checksum = "2b0d7ba2887406110130a978386c4e1befb98c674b4fba677954e4db976630d9"
 dependencies = [
  "indexmap",
  "itoa",
@@ -1673,12 +1684,13 @@
 
 [[package]]
 name = "tempfile"
-version = "3.14.0"
+version = "3.15.0"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "28cce251fcbc87fac86a866eeb0d6c2d536fc16d06f184bb61aeae11aa4cee0c"
+checksum = "9a8a559c81686f576e8cd0290cd2a24a2a9ad80c98b3478856500fcbd7acd704"
 dependencies = [
  "cfg-if",
  "fastrand",
+ "getrandom",
  "once_cell",
  "rustix",
  "windows-sys 0.59.0",
@@ -1701,18 +1713,18 @@
 
 [[package]]
 name = "thiserror"
-version = "2.0.9"
+version = "2.0.10"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "f072643fd0190df67a8bab670c20ef5d8737177d6ac6b2e9a236cb096206b2cc"
+checksum = "a3ac7f54ca534db81081ef1c1e7f6ea8a3ef428d2fc069097c079443d24124d3"
 dependencies = [
  "thiserror-impl",
 ]
 
 [[package]]
 name = "thiserror-impl"
-version = "2.0.9"
+version = "2.0.10"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "7b50fa271071aae2e6ee85f842e2e28ba8cd2c5fb67f11fcb1fd70b276f9e7d4"
+checksum = "9e9465d30713b56a37ede7185763c3492a91be2f5fa68d958c44e41ab9248beb"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -1756,9 +1768,9 @@
 
 [[package]]
 name = "tokio"
-version = "1.42.0"
+version = "1.43.0"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "5cec9b21b0450273377fc97bd4c33a8acffc8c996c987a7c5b319a0083707551"
+checksum = "3d61fa4ffa3de412bfea335c6ecff681de2b609ba3c77ef3e00e521813a9ed9e"
 dependencies = [
  "backtrace",
  "bytes",
@@ -1941,9 +1953,9 @@
 
 [[package]]
 name = "tree-sitter-css"
-version = "0.23.1"
+version = "0.23.2"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "25435a275adb3226b6fddab891bbc50d1a500774a44ceb97022a39666ccda75d"
+checksum = "5ad6489794d41350d12a7fbe520e5199f688618f43aace5443980d1ddcf1b29e"
 dependencies = [
  "cc",
  "tree-sitter-language",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ast-grep-0.33.0/Cargo.toml 
new/ast-grep-0.33.1/Cargo.toml
--- old/ast-grep-0.33.0/Cargo.toml      2025-01-05 07:02:58.000000000 +0100
+++ new/ast-grep-0.33.1/Cargo.toml      2025-01-13 05:21:57.000000000 +0100
@@ -11,7 +11,7 @@
 lto = true
 
 [workspace.package]
-version = "0.33.0"
+version = "0.33.1"
 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.33.0" }
-ast-grep-config = { path = "crates/config", version = "0.33.0" }
-ast-grep-dynamic = { path = "crates/dynamic", version = "0.33.0" }
-ast-grep-language = { path = "crates/language", version = "0.33.0" }
-ast-grep-lsp = { path = "crates/lsp", version = "0.33.0" }
+ast-grep-core = { path = "crates/core", version = "0.33.1" }
+ast-grep-config = { path = "crates/config", version = "0.33.1" }
+ast-grep-dynamic = { path = "crates/dynamic", version = "0.33.1" }
+ast-grep-language = { path = "crates/language", version = "0.33.1" }
+ast-grep-lsp = { path = "crates/lsp", version = "0.33.1" }
 
 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.33.0/benches/package.json 
new/ast-grep-0.33.1/benches/package.json
--- old/ast-grep-0.33.0/benches/package.json    2025-01-05 07:02:58.000000000 
+0100
+++ new/ast-grep-0.33.1/benches/package.json    2025-01-13 05:21:57.000000000 
+0100
@@ -17,9 +17,9 @@
     "@oxidation-compiler/napi": "0.2.0",
     "@swc/core": "1.10.4",
     "benny": "3.7.1",
-    "tree-sitter": "0.22.1",
+    "tree-sitter": "0.22.4",
     "tree-sitter-typescript": "0.21.2",
-    "typescript": "5.7.2"
+    "typescript": "5.7.3"
   },
   "devDependencies": {
     "@types/babel__core": "7.20.5",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ast-grep-0.33.0/benches/pnpm-lock.yaml 
new/ast-grep-0.33.1/benches/pnpm-lock.yaml
--- old/ast-grep-0.33.0/benches/pnpm-lock.yaml  2025-01-05 07:02:58.000000000 
+0100
+++ new/ast-grep-0.33.1/benches/pnpm-lock.yaml  2025-01-13 05:21:57.000000000 
+0100
@@ -24,14 +24,14 @@
     specifier: 3.7.1
     version: 3.7.1
   tree-sitter:
-    specifier: 0.22.1
-    version: 0.22.1
+    specifier: 0.22.4
+    version: 0.22.4
   tree-sitter-typescript:
     specifier: 0.21.2
-    version: 0.21.2(tree-sitter@0.22.1)
+    version: 0.21.2(tree-sitter@0.22.4)
   typescript:
-    specifier: 5.7.2
-    version: 5.7.2
+    specifier: 5.7.3
+    version: 5.7.3
 
 devDependencies:
   '@types/babel__core':
@@ -45,7 +45,7 @@
     version: 3.4.2
   ts-node:
     specifier: 10.9.2
-    version: 10.9.2(@swc/core@1.10.4)(@types/node@22.10.2)(typescript@5.7.2)
+    version: 10.9.2(@swc/core@1.10.4)(@types/node@22.10.2)(typescript@5.7.3)
 
 packages:
 
@@ -903,7 +903,7 @@
     engines: {node: '>=4'}
     dev: true
 
-  /tree-sitter-typescript@0.21.2(tree-sitter@0.22.1):
+  /tree-sitter-typescript@0.21.2(tree-sitter@0.22.4):
     resolution: {integrity: 
sha512-/RyNK41ZpkA8PuPZimR6pGLvNR1p0ibRUJwwQn4qAjyyLEIQD/BNlwS3NSxWtGsAWZe9gZ44VK1mWx2+eQVldg==}
     requiresBuild: true
     peerDependencies:
@@ -915,18 +915,18 @@
     dependencies:
       node-addon-api: 8.0.0
       node-gyp-build: 4.8.1
-      tree-sitter: 0.22.1
+      tree-sitter: 0.22.4
     dev: false
 
-  /tree-sitter@0.22.1:
-    resolution: {integrity: 
sha512-gRO+jk2ljxZlIn20QRskIvpLCMtzuLl5T0BY6L9uvPYD17uUrxlxWkvYCiVqED2q2q7CVtY52Uex4WcYo2FEXw==}
+  /tree-sitter@0.22.4:
+    resolution: {integrity: 
sha512-usbHZP9/oxNsUY65MQUsduGRqDHQOou1cagUSwjhoSYAmSahjQDAVsh9s+SlZkn8X8+O1FULRGwHu7AFP3kjzg==}
     requiresBuild: true
     dependencies:
       node-addon-api: 8.3.0
       node-gyp-build: 4.8.4
     dev: false
 
-  /ts-node@10.9.2(@swc/core@1.10.4)(@types/node@22.10.2)(typescript@5.7.2):
+  /ts-node@10.9.2(@swc/core@1.10.4)(@types/node@22.10.2)(typescript@5.7.3):
     resolution: {integrity: 
sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==}
     hasBin: true
     peerDependencies:
@@ -953,7 +953,7 @@
       create-require: 1.1.1
       diff: 4.0.2
       make-error: 1.3.6
-      typescript: 5.7.2
+      typescript: 5.7.3
       v8-compile-cache-lib: 3.0.1
       yn: 3.1.1
     dev: true
@@ -963,8 +963,8 @@
     engines: {node: '>=10'}
     dev: false
 
-  /typescript@5.7.2:
-    resolution: {integrity: 
sha512-i5t66RHxDvVN40HfDd1PsEThGNnlMCMT3jMUuoh9/0TaqWevNontacunWyN02LA9/fIbEWlcHZcgTKb9QoaLfg==}
+  /typescript@5.7.3:
+    resolution: {integrity: 
sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==}
     engines: {node: '>=14.17'}
     hasBin: true
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ast-grep-0.33.0/crates/language/Cargo.toml 
new/ast-grep-0.33.1/crates/language/Cargo.toml
--- old/ast-grep-0.33.0/crates/language/Cargo.toml      2025-01-05 
07:02:58.000000000 +0100
+++ new/ast-grep-0.33.1/crates/language/Cargo.toml      2025-01-13 
05:21:57.000000000 +0100
@@ -20,7 +20,7 @@
 tree-sitter-c = { version = "0.23.0", optional = true }
 tree-sitter-cpp = { version = "0.23.0", optional = true }
 tree-sitter-c-sharp = { version = "0.23.0", optional = true }
-tree-sitter-css = { version = "0.23.0", optional = true }
+tree-sitter-css = { version = "0.23.2", optional = true }
 tree-sitter-elixir = { version = "0.3.0", optional = true }
 tree-sitter-go = { version = "0.23.0", optional = true }
 tree-sitter-haskell = { version = "0.23.0", optional = true }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ast-grep-0.33.0/crates/napi/__test__/index.spec.ts 
new/ast-grep-0.33.1/crates/napi/__test__/index.spec.ts
--- old/ast-grep-0.33.0/crates/napi/__test__/index.spec.ts      2025-01-05 
07:02:58.000000000 +0100
+++ new/ast-grep-0.33.1/crates/napi/__test__/index.spec.ts      2025-01-13 
05:21:57.000000000 +0100
@@ -434,4 +434,74 @@
   })
   const byKind = sg.root().find(js.kind('template_string'))
   t.is(node!.id(), byKind!.id())
-})
\ No newline at end of file
+})
+
+test('check if a node matches a rule using pattern', t => {
+  const sg = parse('console.log(123)')
+  const match = sg.root().find({ rule: { kind: 'call_expression' } })
+  t.assert(match!.matches('console.log($$$)'))
+  t.assert(match!.matches('console.log') === false)
+})
+
+test('check if a node matches a rule using config', t => {
+  const sg = parse('console.log(123)')
+  const match = sg.root().find('console.log($$$)')
+  t.assert(match!.matches({ rule: { kind: 'call_expression' } }))
+  t.assert(match!.matches({ rule: { kind: 'identifier' } }) === false)
+})
+
+test('check if a node follows another using pattern', t => {
+  const sg = parse('const a = 1; const b = 2;')
+  const match = sg.root().find('const a = 1')
+  t.assert(match!.follows('const b = 2') === false)
+  t.assert(sg.root().find('const b = 2')!.follows('const a = 1'))
+})
+
+test('check if a node follows another using config', t => {
+  const sg = parse('const a = 1; const b = 2;')
+  const match = sg.root().find('const a = 1')
+  t.assert(match!.follows({ rule: { pattern: 'const b = 2' }}) === false) 
+  t.assert(sg.root().find('const b = 2')!.follows({ rule: { pattern: 'const a 
= 1' }}))
+})
+
+test('check if a node precedes another using pattern', t => {
+  const sg = parse('const a = 1; const b = 2;')
+  const match = sg.root().find('const a = 1')
+  t.assert(match!.precedes('const b = 2'))
+  t.assert(sg.root().find('const b = 2')!.precedes('const a = 1') === false)
+})
+
+test('check if a node precedes another using config', t => {
+  const sg = parse('const a = 1; const b = 2;')
+  const match = sg.root().find('const a = 1')
+  t.assert(match!.precedes({ rule: { pattern: 'const b = 2' }}))
+  t.assert(sg.root().find('const b = 2')!.precedes({ rule: { pattern: 'const a 
= 1' }}) === false)
+})
+
+test('check if a node is inside another using pattern', t => {
+  const sg = parse('if (true) { const x = 1; }')
+  const match = sg.root().find('const x = 1')
+  t.assert(match!.inside('if (true) { $$$ }'))
+  t.assert(match!.inside('function() { $$$ }') === false)
+})
+
+test('check if a node is inside another using config', t => {
+  const sg = parse('if (true) { const x = 1; }')
+  const match = sg.root().find('const x = 1')
+  t.assert(match!.inside({ rule: { pattern: 'if (true) { $$$ }' }}))
+  t.assert(match!.inside({ rule: { pattern: 'function() { $$$ }' }}) === false)
+})
+
+test('check if a node has another using pattern', t => {
+  const sg = parse('if (true) { const x = 1; }')
+  const match = sg.root().find('if (true) { $$$ }')
+  t.assert(match!.has('const x = 1'))
+  t.assert(match!.has('const y = 2') === false)
+})
+
+test('check if a node has another using config', t => {
+  const sg = parse('if (true) { const x = 1; }')
+  const match = sg.root().find('if (true) { $$$ }')
+  t.assert(match!.has({ rule: { pattern: 'const x = 1' }}))
+  t.assert(match!.has({ rule: { pattern: 'const y = 2' }}) === false)
+})
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ast-grep-0.33.0/crates/napi/npm/darwin-arm64/package.json 
new/ast-grep-0.33.1/crates/napi/npm/darwin-arm64/package.json
--- old/ast-grep-0.33.0/crates/napi/npm/darwin-arm64/package.json       
2025-01-05 07:02:58.000000000 +0100
+++ new/ast-grep-0.33.1/crates/napi/npm/darwin-arm64/package.json       
2025-01-13 05:21:57.000000000 +0100
@@ -1,6 +1,6 @@
 {
   "name": "@ast-grep/napi-darwin-arm64",
-  "version": "0.33.0",
+  "version": "0.33.1",
   "os": [
     "darwin"
   ],
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ast-grep-0.33.0/crates/napi/npm/darwin-x64/package.json 
new/ast-grep-0.33.1/crates/napi/npm/darwin-x64/package.json
--- old/ast-grep-0.33.0/crates/napi/npm/darwin-x64/package.json 2025-01-05 
07:02:58.000000000 +0100
+++ new/ast-grep-0.33.1/crates/napi/npm/darwin-x64/package.json 2025-01-13 
05:21:57.000000000 +0100
@@ -1,6 +1,6 @@
 {
   "name": "@ast-grep/napi-darwin-x64",
-  "version": "0.33.0",
+  "version": "0.33.1",
   "os": [
     "darwin"
   ],
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ast-grep-0.33.0/crates/napi/npm/linux-arm64-gnu/package.json 
new/ast-grep-0.33.1/crates/napi/npm/linux-arm64-gnu/package.json
--- old/ast-grep-0.33.0/crates/napi/npm/linux-arm64-gnu/package.json    
2025-01-05 07:02:58.000000000 +0100
+++ new/ast-grep-0.33.1/crates/napi/npm/linux-arm64-gnu/package.json    
2025-01-13 05:21:57.000000000 +0100
@@ -1,6 +1,6 @@
 {
   "name": "@ast-grep/napi-linux-arm64-gnu",
-  "version": "0.33.0",
+  "version": "0.33.1",
   "os": [
     "linux"
   ],
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ast-grep-0.33.0/crates/napi/npm/linux-arm64-musl/package.json 
new/ast-grep-0.33.1/crates/napi/npm/linux-arm64-musl/package.json
--- old/ast-grep-0.33.0/crates/napi/npm/linux-arm64-musl/package.json   
2025-01-05 07:02:58.000000000 +0100
+++ new/ast-grep-0.33.1/crates/napi/npm/linux-arm64-musl/package.json   
2025-01-13 05:21:57.000000000 +0100
@@ -1,6 +1,6 @@
 {
   "name": "@ast-grep/napi-linux-arm64-musl",
-  "version": "0.33.0",
+  "version": "0.33.1",
   "os": [
     "linux"
   ],
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ast-grep-0.33.0/crates/napi/npm/linux-x64-gnu/package.json 
new/ast-grep-0.33.1/crates/napi/npm/linux-x64-gnu/package.json
--- old/ast-grep-0.33.0/crates/napi/npm/linux-x64-gnu/package.json      
2025-01-05 07:02:58.000000000 +0100
+++ new/ast-grep-0.33.1/crates/napi/npm/linux-x64-gnu/package.json      
2025-01-13 05:21:57.000000000 +0100
@@ -1,6 +1,6 @@
 {
   "name": "@ast-grep/napi-linux-x64-gnu",
-  "version": "0.33.0",
+  "version": "0.33.1",
   "os": [
     "linux"
   ],
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ast-grep-0.33.0/crates/napi/npm/linux-x64-musl/package.json 
new/ast-grep-0.33.1/crates/napi/npm/linux-x64-musl/package.json
--- old/ast-grep-0.33.0/crates/napi/npm/linux-x64-musl/package.json     
2025-01-05 07:02:58.000000000 +0100
+++ new/ast-grep-0.33.1/crates/napi/npm/linux-x64-musl/package.json     
2025-01-13 05:21:57.000000000 +0100
@@ -1,6 +1,6 @@
 {
   "name": "@ast-grep/napi-linux-x64-musl",
-  "version": "0.33.0",
+  "version": "0.33.1",
   "os": [
     "linux"
   ],
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ast-grep-0.33.0/crates/napi/npm/win32-arm64-msvc/package.json 
new/ast-grep-0.33.1/crates/napi/npm/win32-arm64-msvc/package.json
--- old/ast-grep-0.33.0/crates/napi/npm/win32-arm64-msvc/package.json   
2025-01-05 07:02:58.000000000 +0100
+++ new/ast-grep-0.33.1/crates/napi/npm/win32-arm64-msvc/package.json   
2025-01-13 05:21:57.000000000 +0100
@@ -1,6 +1,6 @@
 {
   "name": "@ast-grep/napi-win32-arm64-msvc",
-  "version": "0.33.0",
+  "version": "0.33.1",
   "os": [
     "win32"
   ],
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ast-grep-0.33.0/crates/napi/npm/win32-ia32-msvc/package.json 
new/ast-grep-0.33.1/crates/napi/npm/win32-ia32-msvc/package.json
--- old/ast-grep-0.33.0/crates/napi/npm/win32-ia32-msvc/package.json    
2025-01-05 07:02:58.000000000 +0100
+++ new/ast-grep-0.33.1/crates/napi/npm/win32-ia32-msvc/package.json    
2025-01-13 05:21:57.000000000 +0100
@@ -1,6 +1,6 @@
 {
   "name": "@ast-grep/napi-win32-ia32-msvc",
-  "version": "0.33.0",
+  "version": "0.33.1",
   "os": [
     "win32"
   ],
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ast-grep-0.33.0/crates/napi/npm/win32-x64-msvc/package.json 
new/ast-grep-0.33.1/crates/napi/npm/win32-x64-msvc/package.json
--- old/ast-grep-0.33.0/crates/napi/npm/win32-x64-msvc/package.json     
2025-01-05 07:02:58.000000000 +0100
+++ new/ast-grep-0.33.1/crates/napi/npm/win32-x64-msvc/package.json     
2025-01-13 05:21:57.000000000 +0100
@@ -1,6 +1,6 @@
 {
   "name": "@ast-grep/napi-win32-x64-msvc",
-  "version": "0.33.0",
+  "version": "0.33.1",
   "os": [
     "win32"
   ],
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ast-grep-0.33.0/crates/napi/package.json 
new/ast-grep-0.33.1/crates/napi/package.json
--- old/ast-grep-0.33.0/crates/napi/package.json        2025-01-05 
07:02:58.000000000 +0100
+++ new/ast-grep-0.33.1/crates/napi/package.json        2025-01-13 
05:21:57.000000000 +0100
@@ -1,6 +1,6 @@
 {
   "name": "@ast-grep/napi",
-  "version": "0.33.0",
+  "version": "0.33.1",
   "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.32.3",
+    "@ast-grep/napi": "0.33.0",
     "@biomejs/biome": "1.9.4",
     "@napi-rs/cli": "2.18.4",
     "@types/node": "^22.10.2",
@@ -60,7 +60,7 @@
     "chalk": "5.4.1",
     "smol-toml": "^1.3.1",
     "ts-node": "10.9.2",
-    "typescript": "5.7.2"
+    "typescript": "5.7.3"
   },
   "ava": {
     "require": [
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ast-grep-0.33.0/crates/napi/src/sg_node.rs 
new/ast-grep-0.33.1/crates/napi/src/sg_node.rs
--- old/ast-grep-0.33.0/crates/napi/src/sg_node.rs      2025-01-05 
07:02:58.000000000 +0100
+++ new/ast-grep-0.33.1/crates/napi/src/sg_node.rs      2025-01-13 
05:21:57.000000000 +0100
@@ -97,28 +97,65 @@
 #[napi]
 impl SgNode {
   #[napi]
-  pub fn matches(&self, m: String) -> bool {
-    self.inner.matches(&*m)
+  pub fn matches(&self, m: Either3<String, u16, NapiConfig>) -> Result<bool> {
+    let lang = *self.inner.lang();
+    match m {
+      Either3::A(pattern) => Ok(self.inner.matches(Pattern::new(&pattern, 
lang))),
+      Either3::B(kind) => Ok(self.inner.matches(KindMatcher::from_id(kind))),
+      Either3::C(config) => {
+        let pattern = config.parse_with(lang)?;
+        Ok(self.inner.matches(pattern))
+      }
+    }
   }
 
   #[napi]
-  pub fn inside(&self, m: String) -> bool {
-    self.inner.inside(&*m)
+  pub fn inside(&self, m: Either3<String, u16, NapiConfig>) -> Result<bool> {
+    let lang = *self.inner.lang();
+    match m {
+      Either3::A(pattern) => Ok(self.inner.inside(Pattern::new(&pattern, 
lang))),
+      Either3::B(kind) => Ok(self.inner.inside(KindMatcher::from_id(kind))),
+      Either3::C(config) => {
+        let pattern = config.parse_with(lang)?;
+        Ok(self.inner.inside(pattern))
+      }
+    }
   }
 
   #[napi]
-  pub fn has(&self, m: String) -> bool {
-    self.inner.has(&*m)
+  pub fn has(&self, m: Either3<String, u16, NapiConfig>) -> Result<bool> {
+    let lang = *self.inner.lang();
+    match m {
+      Either3::A(pattern) => Ok(self.inner.has(Pattern::new(&pattern, lang))),
+      Either3::B(kind) => Ok(self.inner.has(KindMatcher::from_id(kind))),
+      Either3::C(config) => {
+        let pattern = config.parse_with(lang)?;
+        Ok(self.inner.has(pattern))
+      }
+    }
   }
 
   #[napi]
-  pub fn precedes(&self, m: String) -> bool {
-    self.inner.precedes(&*m)
+  pub fn precedes(&self, m: Either3<String, u16, NapiConfig>) -> Result<bool> {
+    let lang = *self.inner.lang();
+    match m {
+      Either3::A(pattern) => Ok(self.inner.precedes(Pattern::new(&pattern, 
lang))),
+      Either3::B(kind) => Ok(self.inner.precedes(KindMatcher::from_id(kind))),
+      Either3::C(config) => {
+        let pattern = config.parse_with(lang)?;
+        Ok(self.inner.precedes(pattern))
+      }
+    }
   }
 
   #[napi]
-  pub fn follows(&self, m: String) -> bool {
-    self.inner.follows(&*m)
+  pub fn follows(&self, m: Either3<String, u16, NapiConfig>) -> bool {
+    let lang = *self.inner.lang();
+    match m {
+      Either3::A(pattern) => self.inner.follows(Pattern::new(&pattern, lang)),
+      Either3::B(kind) => self.inner.follows(KindMatcher::from_id(kind)),
+      Either3::C(config) => 
self.inner.follows(config.parse_with(lang).unwrap()),
+    }
   }
 
   #[napi]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ast-grep-0.33.0/crates/napi/types/sgnode.d.ts 
new/ast-grep-0.33.1/crates/napi/types/sgnode.d.ts
--- old/ast-grep-0.33.0/crates/napi/types/sgnode.d.ts   2025-01-05 
07:02:58.000000000 +0100
+++ new/ast-grep-0.33.1/crates/napi/types/sgnode.d.ts   2025-01-13 
05:21:57.000000000 +0100
@@ -46,11 +46,11 @@
   isNamed(): boolean
   isNamedLeaf(): boolean
   text(): string
-  matches(m: string): boolean
-  inside(m: string): boolean
-  has(m: string): boolean
-  precedes(m: string): boolean
-  follows(m: string): boolean
+  matches(m: string | number | NapiConfig<M>): boolean
+  inside(m: string | number | NapiConfig<M>): boolean
+  has(m: string | number | NapiConfig<M>): boolean
+  precedes(m: string | number | NapiConfig<M>): boolean
+  follows(m: string | number | NapiConfig<M>): boolean
   /** Returns the string name of the node kind */
   kind(): T
   readonly kindToRefine: T
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ast-grep-0.33.0/crates/napi/yarn.lock 
new/ast-grep-0.33.1/crates/napi/yarn.lock
--- old/ast-grep-0.33.0/crates/napi/yarn.lock   2025-01-05 07:02:58.000000000 
+0100
+++ new/ast-grep-0.33.1/crates/napi/yarn.lock   2025-01-13 05:21:57.000000000 
+0100
@@ -2,65 +2,65 @@
 # yarn lockfile v1
 
 
-"@ast-grep/napi-darwin-arm64@0.32.3":
-  version "0.32.3"
-  resolved 
"https://registry.yarnpkg.com/@ast-grep/napi-darwin-arm64/-/napi-darwin-arm64-0.32.3.tgz#6165c6605af2f793ad9b174fdd03fcac2e3e95c0";
-  integrity 
sha512-Ifh25Ra38+5TGvO48NVcJsRarBSqJ2ppN6J+Qc8Z19rKALYb61tsWj6oh0W1CTbsYQ/HJbIff//WkUDkY0wMMg==
-
-"@ast-grep/napi-darwin-x64@0.32.3":
-  version "0.32.3"
-  resolved 
"https://registry.yarnpkg.com/@ast-grep/napi-darwin-x64/-/napi-darwin-x64-0.32.3.tgz#e41b3ff2978cd807b83dd6b7acd14de5f3918cf7";
-  integrity 
sha512-jkuXgdvBTK7aTV7IojqMCUbHE4bzJzJ/adR0segW+BpU/uh/pxNuCZAal7E7KmWgSWVSS56UCOjS0OyibZKb7Q==
-
-"@ast-grep/napi-linux-arm64-gnu@0.32.3":
-  version "0.32.3"
-  resolved 
"https://registry.yarnpkg.com/@ast-grep/napi-linux-arm64-gnu/-/napi-linux-arm64-gnu-0.32.3.tgz#a2f330ec4dc2149d13a46151e788dcde816fc88a";
-  integrity 
sha512-Kso32W1K/+guK1Jkk33MpvVHhulaGF7lf6HW9Bc4VxRHWyZBXuhwwPOtf7+89qa2nEb0YyUxgQTnMUXbCKyYAQ==
-
-"@ast-grep/napi-linux-arm64-musl@0.32.3":
-  version "0.32.3"
-  resolved 
"https://registry.yarnpkg.com/@ast-grep/napi-linux-arm64-musl/-/napi-linux-arm64-musl-0.32.3.tgz#96da7d076572640d5d7a676c3698c5d68616f6b2";
-  integrity 
sha512-7+u7F5rzaV0/N5WdP2q+kGl3v+l8iGFRx4p7NUcbNumYqGDS2mkfRkaesRDSd7BH94ZulGtJnpmu3imX7spolQ==
-
-"@ast-grep/napi-linux-x64-gnu@0.32.3":
-  version "0.32.3"
-  resolved 
"https://registry.yarnpkg.com/@ast-grep/napi-linux-x64-gnu/-/napi-linux-x64-gnu-0.32.3.tgz#52d9a7223aed0834ab7860774107e5861ce7c9e7";
-  integrity 
sha512-XwUjw+W1QWDAPjx+Hsa8ZwONN3MDPINdRkRM6Q1vV3pl0p9YrMpwL72xrWQA1G7r7ej9BI1fLiXWB4YEOeYzJw==
-
-"@ast-grep/napi-linux-x64-musl@0.32.3":
-  version "0.32.3"
-  resolved 
"https://registry.yarnpkg.com/@ast-grep/napi-linux-x64-musl/-/napi-linux-x64-musl-0.32.3.tgz#0e33990e99ac094ec7549917617c952b90a8f37b";
-  integrity 
sha512-894fQNqBDUfCP/qYbrPcK6+tMTEskc+vV2IKOKqgCfDryeptaiJJTJL9+Vbj38rO1LWhY8MIZ8W5ZyjxuhDRBA==
-
-"@ast-grep/napi-win32-arm64-msvc@0.32.3":
-  version "0.32.3"
-  resolved 
"https://registry.yarnpkg.com/@ast-grep/napi-win32-arm64-msvc/-/napi-win32-arm64-msvc-0.32.3.tgz#4aba139b22cb36aae81ac3134f015b4071fd279d";
-  integrity 
sha512-T8nrZm3E+h2VgHuQ3THQLvqhou4MkSbNcyIOgLZ0l2NatHIckeHuly5fmnkd6KQsGP/AqAEGxZBoOVYvoDl7DA==
-
-"@ast-grep/napi-win32-ia32-msvc@0.32.3":
-  version "0.32.3"
-  resolved 
"https://registry.yarnpkg.com/@ast-grep/napi-win32-ia32-msvc/-/napi-win32-ia32-msvc-0.32.3.tgz#8ebee6283aa243db05b562cbc4091c3ab6166c20";
-  integrity 
sha512-40RdPWWgVLCx6gRSXfVXt3TuV6dZQE8K74whq56+nliJqA4TA1QCrNtbX9keFvb1JDc/iOUKc4PKA3A7TGHANQ==
-
-"@ast-grep/napi-win32-x64-msvc@0.32.3":
-  version "0.32.3"
-  resolved 
"https://registry.yarnpkg.com/@ast-grep/napi-win32-x64-msvc/-/napi-win32-x64-msvc-0.32.3.tgz#e52e6faf29ec770d55c0b04315098488189e5b55";
-  integrity 
sha512-4VKmBFhT0M8s1LbAXemPDnHyAjEi5owkqkz85akvic9u6vRI0evRk8j2sHmgEBXwyySLUHf0NfI0XqwZ0mAl7g==
-
-"@ast-grep/napi@0.32.3":
-  version "0.32.3"
-  resolved 
"https://registry.yarnpkg.com/@ast-grep/napi/-/napi-0.32.3.tgz#dcc7270aabce2b5a0cec1a331d31f2f80787b248";
-  integrity 
sha512-EdgX3gnDGkKMeofSYQlmPccjnxmGGQoEKL7pVQUmenLrsUBXXcjY//6J0LJApfIzNCknjQkfWpj1IbWDkl66Iw==
+"@ast-grep/napi-darwin-arm64@0.33.0":
+  version "0.33.0"
+  resolved 
"https://registry.yarnpkg.com/@ast-grep/napi-darwin-arm64/-/napi-darwin-arm64-0.33.0.tgz#4e32c63d7cb237437552a04c913635b0b725e4b7";
+  integrity 
sha512-FsBQiBNGbqeU6z2sjFgnV6MXuBa0wYUb4PViMnqsKLeWiO7kRii5crmXLCtdTD2hufXTG6Rll8X46AkYOAwGGQ==
+
+"@ast-grep/napi-darwin-x64@0.33.0":
+  version "0.33.0"
+  resolved 
"https://registry.yarnpkg.com/@ast-grep/napi-darwin-x64/-/napi-darwin-x64-0.33.0.tgz#ed97fdb3073d55bf2397b928c4afcd0c31b392fd";
+  integrity 
sha512-rWo1wG7fc7K20z9ExIeN6U4QqjHhoQSpBDDnmxKTR0nIwPfyMq338sS4sWZomutxprcZDtWrekxH1lXjNvfuiA==
+
+"@ast-grep/napi-linux-arm64-gnu@0.33.0":
+  version "0.33.0"
+  resolved 
"https://registry.yarnpkg.com/@ast-grep/napi-linux-arm64-gnu/-/napi-linux-arm64-gnu-0.33.0.tgz#26331673dfcf77b36dad956d0d3002f023405303";
+  integrity 
sha512-3ZnA2k57kxfvLg4s9+6rHaCx1FbWt0EF8fumJMf5nwevu7GbVOOhCkzAetZe80FBgZuIOSR4IS2QMj9ZHI0UdQ==
+
+"@ast-grep/napi-linux-arm64-musl@0.33.0":
+  version "0.33.0"
+  resolved 
"https://registry.yarnpkg.com/@ast-grep/napi-linux-arm64-musl/-/napi-linux-arm64-musl-0.33.0.tgz#f58c0e256ed43c1430bd236f28151e9a46e9c231";
+  integrity 
sha512-oUGZgCaVCijFgvC+X52ttgoWUqgrIsSVJZgn+1VBY3n4mpzcoYAghFomSUbRTBUL2ebvZweA33Klqks4okY61w==
+
+"@ast-grep/napi-linux-x64-gnu@0.33.0":
+  version "0.33.0"
+  resolved 
"https://registry.yarnpkg.com/@ast-grep/napi-linux-x64-gnu/-/napi-linux-x64-gnu-0.33.0.tgz#e1a4bbb1613b49f1f78cbfe6b27683d4a8a6a408";
+  integrity 
sha512-QTAkfxQSsOGRza0hnkeAgJDQqR00iDerRNq42dOGIzgF+Kse491By3UmBEMG4oCbv17yYcBBlknQkzKSKtigjw==
+
+"@ast-grep/napi-linux-x64-musl@0.33.0":
+  version "0.33.0"
+  resolved 
"https://registry.yarnpkg.com/@ast-grep/napi-linux-x64-musl/-/napi-linux-x64-musl-0.33.0.tgz#fe96644b4c4e5e1ddefbc09524e7160840180e7b";
+  integrity 
sha512-PW6bZO7MyQsBNZv0idI/Ah6ak66T8LqZ21wBGjtQp9NDGViOtkLeu+eJJGaZjMqUdidKHKgmMKXksZHl2m8ulQ==
+
+"@ast-grep/napi-win32-arm64-msvc@0.33.0":
+  version "0.33.0"
+  resolved 
"https://registry.yarnpkg.com/@ast-grep/napi-win32-arm64-msvc/-/napi-win32-arm64-msvc-0.33.0.tgz#da7edcf847fa08d1618e80fa2e8641824db5f9d7";
+  integrity 
sha512-ijmFQcFc32JOIQlSfnhDJpb3qFb2RhrRqfeY0EHHN1xRSGwZHfsHTSS66nKR2sREmxTIMgxXOtylKicbyyMVKA==
+
+"@ast-grep/napi-win32-ia32-msvc@0.33.0":
+  version "0.33.0"
+  resolved 
"https://registry.yarnpkg.com/@ast-grep/napi-win32-ia32-msvc/-/napi-win32-ia32-msvc-0.33.0.tgz#19edb96bba8a61e255242792734a86028db8c531";
+  integrity 
sha512-NNIb2VK3Z2BwKp0QJSw8gkhwOUp85SgTsxJ38p+wIUAA/KzAKCJOmyOaZ301qGHt4gL+jTHgTIvJJX+9eT/REg==
+
+"@ast-grep/napi-win32-x64-msvc@0.33.0":
+  version "0.33.0"
+  resolved 
"https://registry.yarnpkg.com/@ast-grep/napi-win32-x64-msvc/-/napi-win32-x64-msvc-0.33.0.tgz#ce8299693dda78199fff69a08eb64ddc1e714c7f";
+  integrity 
sha512-gW7viQQjdPA1HoCkpCqoonC81TOwcpP828w/XqZFE/L6uhD8SF2usul8KNBQOiX3O7/fqYEOnbtWMCrwZIqG1Q==
+
+"@ast-grep/napi@0.33.0":
+  version "0.33.0"
+  resolved 
"https://registry.yarnpkg.com/@ast-grep/napi/-/napi-0.33.0.tgz#31981d41066acd456cb6b7e601be6d433c8e1348";
+  integrity 
sha512-6heRMmomhSD0dkummRQ+R4xWXXmc41OaDPoPI49mKJXPyvwJPdPZUcQjXdIitOVL4uJV+qM2ZBucDPENDBSixw==
   optionalDependencies:
-    "@ast-grep/napi-darwin-arm64" "0.32.3"
-    "@ast-grep/napi-darwin-x64" "0.32.3"
-    "@ast-grep/napi-linux-arm64-gnu" "0.32.3"
-    "@ast-grep/napi-linux-arm64-musl" "0.32.3"
-    "@ast-grep/napi-linux-x64-gnu" "0.32.3"
-    "@ast-grep/napi-linux-x64-musl" "0.32.3"
-    "@ast-grep/napi-win32-arm64-msvc" "0.32.3"
-    "@ast-grep/napi-win32-ia32-msvc" "0.32.3"
-    "@ast-grep/napi-win32-x64-msvc" "0.32.3"
+    "@ast-grep/napi-darwin-arm64" "0.33.0"
+    "@ast-grep/napi-darwin-x64" "0.33.0"
+    "@ast-grep/napi-linux-arm64-gnu" "0.33.0"
+    "@ast-grep/napi-linux-arm64-musl" "0.33.0"
+    "@ast-grep/napi-linux-x64-gnu" "0.33.0"
+    "@ast-grep/napi-linux-x64-musl" "0.33.0"
+    "@ast-grep/napi-win32-arm64-msvc" "0.33.0"
+    "@ast-grep/napi-win32-ia32-msvc" "0.33.0"
+    "@ast-grep/napi-win32-x64-msvc" "0.33.0"
 
 "@biomejs/biome@1.9.4":
   version "1.9.4"
@@ -1316,10 +1316,10 @@
   resolved 
"https://registry.yarnpkg.com/type-fest/-/type-fest-0.13.1.tgz#0172cb5bce80b0bd542ea348db50c7e21834d934";
   integrity 
sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==
 
-typescript@5.7.2:
-  version "5.7.2"
-  resolved 
"https://registry.yarnpkg.com/typescript/-/typescript-5.7.2.tgz#3169cf8c4c8a828cde53ba9ecb3d2b1d5dd67be6";
-  integrity 
sha512-i5t66RHxDvVN40HfDd1PsEThGNnlMCMT3jMUuoh9/0TaqWevNontacunWyN02LA9/fIbEWlcHZcgTKb9QoaLfg==
+typescript@5.7.3:
+  version "5.7.3"
+  resolved 
"https://registry.yarnpkg.com/typescript/-/typescript-5.7.3.tgz#919b44a7dbb8583a9b856d162be24a54bf80073e";
+  integrity 
sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==
 
 undici-types@~6.20.0:
   version "6.20.0"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ast-grep-0.33.0/crates/pyo3/README.md 
new/ast-grep-0.33.1/crates/pyo3/README.md
--- old/ast-grep-0.33.0/crates/pyo3/README.md   2025-01-05 07:02:58.000000000 
+0100
+++ new/ast-grep-0.33.1/crates/pyo3/README.md   2025-01-13 05:21:57.000000000 
+0100
@@ -47,6 +47,13 @@
 pip install maturin[patchelf]
 ```
 
+### MacOS: Install `patchelf` and `maturin`
+
+```shell
+brew install patchelf
+pip install maturin
+```
+
 ### Build bindings
 
 ```shell
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ast-grep-0.33.0/crates/pyo3/pyproject.toml 
new/ast-grep-0.33.1/crates/pyo3/pyproject.toml
--- old/ast-grep-0.33.0/crates/pyo3/pyproject.toml      2025-01-05 
07:02:58.000000000 +0100
+++ new/ast-grep-0.33.1/crates/pyo3/pyproject.toml      2025-01-13 
05:21:57.000000000 +0100
@@ -5,7 +5,7 @@
 [project]
 name = "ast-grep-py"
 requires-python = ">=3.8"
-version = "0.33.0"
+version = "0.33.1"
 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.33.0/crates/pyo3/tests/test_simple.py 
new/ast-grep-0.33.1/crates/pyo3/tests/test_simple.py
--- old/ast-grep-0.33.0/crates/pyo3/tests/test_simple.py        2025-01-05 
07:02:58.000000000 +0100
+++ new/ast-grep-0.33.1/crates/pyo3/tests/test_simple.py        2025-01-13 
05:21:57.000000000 +0100
@@ -1,4 +1,4 @@
-from ast_grep_py import SgRoot
+from ast_grep_py import SgRoot, Rule
 
 source = """
 function test() {
@@ -49,6 +49,13 @@
     assert not node.matches(kind="number")
     assert node.matches(pattern="let a = 123")
     assert not node.matches(pattern="let b = 456")
+    assert node.matches(has=Rule(
+        kind="variable_declarator",
+        has=Rule(
+            kind="number",
+            pattern="123"
+        )
+    ))
 
 def test_inside():
     node = root.find(pattern="let $A = $B")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ast-grep-0.33.0/npm/package.json 
new/ast-grep-0.33.1/npm/package.json
--- old/ast-grep-0.33.0/npm/package.json        2025-01-05 07:02:58.000000000 
+0100
+++ new/ast-grep-0.33.1/npm/package.json        2025-01-13 05:21:57.000000000 
+0100
@@ -1,6 +1,6 @@
 {
   "name": "@ast-grep/cli",
-  "version": "0.33.0",
+  "version": "0.33.1",
   "publishConfig": {
     "access": "public"
   },
@@ -29,13 +29,13 @@
     "postinstall": "node postinstall.js"
   },
   "optionalDependencies": {
-    "@ast-grep/cli-win32-arm64-msvc": "0.33.0",
-    "@ast-grep/cli-win32-ia32-msvc": "0.33.0",
-    "@ast-grep/cli-win32-x64-msvc": "0.33.0",
-    "@ast-grep/cli-darwin-arm64": "0.33.0",
-    "@ast-grep/cli-darwin-x64": "0.33.0",
-    "@ast-grep/cli-linux-arm64-gnu": "0.33.0",
-    "@ast-grep/cli-linux-x64-gnu": "0.33.0"
+    "@ast-grep/cli-win32-arm64-msvc": "0.33.1",
+    "@ast-grep/cli-win32-ia32-msvc": "0.33.1",
+    "@ast-grep/cli-win32-x64-msvc": "0.33.1",
+    "@ast-grep/cli-darwin-arm64": "0.33.1",
+    "@ast-grep/cli-darwin-x64": "0.33.1",
+    "@ast-grep/cli-linux-arm64-gnu": "0.33.1",
+    "@ast-grep/cli-linux-x64-gnu": "0.33.1"
   },
   "bin": {
     "sg": "sg",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ast-grep-0.33.0/npm/platforms/darwin-arm64/package.json 
new/ast-grep-0.33.1/npm/platforms/darwin-arm64/package.json
--- old/ast-grep-0.33.0/npm/platforms/darwin-arm64/package.json 2025-01-05 
07:02:58.000000000 +0100
+++ new/ast-grep-0.33.1/npm/platforms/darwin-arm64/package.json 2025-01-13 
05:21:57.000000000 +0100
@@ -1,6 +1,6 @@
 {
   "name": "@ast-grep/cli-darwin-arm64",
-  "version": "0.33.0",
+  "version": "0.33.1",
   "os": [
     "darwin"
   ],
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ast-grep-0.33.0/npm/platforms/darwin-x64/package.json 
new/ast-grep-0.33.1/npm/platforms/darwin-x64/package.json
--- old/ast-grep-0.33.0/npm/platforms/darwin-x64/package.json   2025-01-05 
07:02:58.000000000 +0100
+++ new/ast-grep-0.33.1/npm/platforms/darwin-x64/package.json   2025-01-13 
05:21:57.000000000 +0100
@@ -1,6 +1,6 @@
 {
   "name": "@ast-grep/cli-darwin-x64",
-  "version": "0.33.0",
+  "version": "0.33.1",
   "os": [
     "darwin"
   ],
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ast-grep-0.33.0/npm/platforms/linux-arm64-gnu/package.json 
new/ast-grep-0.33.1/npm/platforms/linux-arm64-gnu/package.json
--- old/ast-grep-0.33.0/npm/platforms/linux-arm64-gnu/package.json      
2025-01-05 07:02:58.000000000 +0100
+++ new/ast-grep-0.33.1/npm/platforms/linux-arm64-gnu/package.json      
2025-01-13 05:21:57.000000000 +0100
@@ -1,6 +1,6 @@
 {
   "name": "@ast-grep/cli-linux-arm64-gnu",
-  "version": "0.33.0",
+  "version": "0.33.1",
   "os": [
     "linux"
   ],
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ast-grep-0.33.0/npm/platforms/linux-x64-gnu/package.json 
new/ast-grep-0.33.1/npm/platforms/linux-x64-gnu/package.json
--- old/ast-grep-0.33.0/npm/platforms/linux-x64-gnu/package.json        
2025-01-05 07:02:58.000000000 +0100
+++ new/ast-grep-0.33.1/npm/platforms/linux-x64-gnu/package.json        
2025-01-13 05:21:57.000000000 +0100
@@ -1,6 +1,6 @@
 {
   "name": "@ast-grep/cli-linux-x64-gnu",
-  "version": "0.33.0",
+  "version": "0.33.1",
   "os": [
     "linux"
   ],
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ast-grep-0.33.0/npm/platforms/win32-arm64-msvc/package.json 
new/ast-grep-0.33.1/npm/platforms/win32-arm64-msvc/package.json
--- old/ast-grep-0.33.0/npm/platforms/win32-arm64-msvc/package.json     
2025-01-05 07:02:58.000000000 +0100
+++ new/ast-grep-0.33.1/npm/platforms/win32-arm64-msvc/package.json     
2025-01-13 05:21:57.000000000 +0100
@@ -1,6 +1,6 @@
 {
   "name": "@ast-grep/cli-win32-arm64-msvc",
-  "version": "0.33.0",
+  "version": "0.33.1",
   "os": [
     "win32"
   ],
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ast-grep-0.33.0/npm/platforms/win32-ia32-msvc/package.json 
new/ast-grep-0.33.1/npm/platforms/win32-ia32-msvc/package.json
--- old/ast-grep-0.33.0/npm/platforms/win32-ia32-msvc/package.json      
2025-01-05 07:02:58.000000000 +0100
+++ new/ast-grep-0.33.1/npm/platforms/win32-ia32-msvc/package.json      
2025-01-13 05:21:57.000000000 +0100
@@ -1,6 +1,6 @@
 {
   "name": "@ast-grep/cli-win32-ia32-msvc",
-  "version": "0.33.0",
+  "version": "0.33.1",
   "os": [
     "win32"
   ],
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ast-grep-0.33.0/npm/platforms/win32-x64-msvc/package.json 
new/ast-grep-0.33.1/npm/platforms/win32-x64-msvc/package.json
--- old/ast-grep-0.33.0/npm/platforms/win32-x64-msvc/package.json       
2025-01-05 07:02:58.000000000 +0100
+++ new/ast-grep-0.33.1/npm/platforms/win32-x64-msvc/package.json       
2025-01-13 05:21:57.000000000 +0100
@@ -1,6 +1,6 @@
 {
   "name": "@ast-grep/cli-win32-x64-msvc",
-  "version": "0.33.0",
+  "version": "0.33.1",
   "os": [
     "win32"
   ],
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ast-grep-0.33.0/pyproject.toml 
new/ast-grep-0.33.1/pyproject.toml
--- old/ast-grep-0.33.0/pyproject.toml  2025-01-05 07:02:58.000000000 +0100
+++ new/ast-grep-0.33.1/pyproject.toml  2025-01-13 05:21:57.000000000 +0100
@@ -4,7 +4,7 @@
 
 [project]
 name = "ast-grep-cli"
-version = "0.33.0"
+version = "0.33.1"
 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.1881/vendor.tar.zst differ: char 7, 
line 1

Reply via email to