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-11-09 21:09:04
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ast-grep (Old)
 and      /work/SRC/openSUSE:Factory/.ast-grep.new.1980 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "ast-grep"

Sun Nov  9 21:09:04 2025 rev:65 rq:1316597 version:0.39.9

Changes:
--------
--- /work/SRC/openSUSE:Factory/ast-grep/ast-grep.changes        2025-10-29 
21:09:50.534659628 +0100
+++ /work/SRC/openSUSE:Factory/.ast-grep.new.1980/ast-grep.changes      
2025-11-09 21:10:03.336549819 +0100
@@ -1,0 +2,9 @@
+Sat Nov  8 16:33:08 UTC 2025 - Michael Vetter <[email protected]>
+
+- Update to 0.39.9:
+  * fix: do not output matched highlight when --update-all #2317
+  * chore(deps): update dependency @ast-grep/napi to v0.39.7 d6306b1
+  * chore(deps): update dependency oxlint to v1.26.0 85a256e
+  * chore(deps): update dependency oxlint to v1.25.0 0c09885
+
+-------------------------------------------------------------------

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

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

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

Other differences:
------------------
++++++ ast-grep.spec ++++++
--- /var/tmp/diff_new_pack.cOdLtB/_old  2025-11-09 21:10:04.416594987 +0100
+++ /var/tmp/diff_new_pack.cOdLtB/_new  2025-11-09 21:10:04.416594987 +0100
@@ -17,7 +17,7 @@
 
 
 Name:           ast-grep
-Version:        0.39.7
+Version:        0.39.9
 Release:        0
 Summary:        A CLI tool for code structural search, lint and rewriting
 License:        MIT

++++++ _service ++++++
--- /var/tmp/diff_new_pack.cOdLtB/_old  2025-11-09 21:10:04.464596995 +0100
+++ /var/tmp/diff_new_pack.cOdLtB/_new  2025-11-09 21:10:04.472597329 +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.39.7</param>
+    <param name="revision">0.39.9</param>
     <param name="match-tag">*</param>
     <param name="versionrewrite-pattern">v(\d+\.\d+\.\d+)</param>
     <param name="versionrewrite-replacement">\1</param>

++++++ ast-grep-0.39.7.tar.zst -> ast-grep-0.39.9.tar.zst ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ast-grep-0.39.7/.github/workflows/pyo3.yml 
new/ast-grep-0.39.9/.github/workflows/pyo3.yml
--- old/ast-grep-0.39.7/.github/workflows/pyo3.yml      2025-10-27 
17:01:17.000000000 +0100
+++ new/ast-grep-0.39.9/.github/workflows/pyo3.yml      2025-11-07 
03:06:48.000000000 +0100
@@ -2,7 +2,7 @@
 
 env:
   PACKAGE_NAME: ast_grep_py # note: maturin package name only accepts 
underscore
-  PYTHON_VERSION: '3.9 3.10 3.11 3.12 3.13'
+  PYTHON_VERSION: '3.10 3.11 3.12 3.13 3.14'
   CARGO_INCREMENTAL: 0
   CARGO_NET_RETRY: 10
   CARGO_TERM_COLOR: always
@@ -41,7 +41,7 @@
       - uses: actions/setup-python@v6
         with:
           # python-version: ${{ env.PYTHON_VERSION }}
-          python-version: '3.13'
+          python-version: '3.14'
           architecture: x64
       - name: Build wheels
         uses: PyO3/maturin-action@v1
@@ -66,7 +66,7 @@
           path: crates/pyo3/dist
 
   windows:
-    runs-on: windows-2022
+    runs-on: windows-latest
     strategy:
       matrix:
         target: [x64, x86]
@@ -75,7 +75,12 @@
       - uses: actions/setup-python@v6
         with:
           # python-version: ${{ env.PYTHON_VERSION }}
-          python-version: '3.13'
+          python-version: |
+            3.10
+            3.11
+            3.12
+            3.13
+            3.14
           architecture: ${{ matrix.target }}
       - name: Build wheels
         uses: PyO3/maturin-action@v1
@@ -103,7 +108,7 @@
       - uses: actions/checkout@v5
       - uses: actions/setup-python@v6
         with:
-          python-version: '3.13'
+          python-version: '3.14'
         #   python-version: ${{ env.PYTHON_VERSION }}
       - name: Build wheels
         uses: PyO3/maturin-action@v1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ast-grep-0.39.7/.github/workflows/pypi.yml 
new/ast-grep-0.39.9/.github/workflows/pypi.yml
--- old/ast-grep-0.39.7/.github/workflows/pypi.yml      2025-10-27 
17:01:17.000000000 +0100
+++ new/ast-grep-0.39.9/.github/workflows/pypi.yml      2025-11-07 
03:06:48.000000000 +0100
@@ -19,7 +19,7 @@
 
 env:
   PACKAGE_NAME: ast_grep_cli # note: maturin package name only accepts 
underscore
-  PYTHON_VERSION: "3.9" # to build abi3 wheels
+  PYTHON_VERSION: "3.10" # to build abi3 wheels
   CARGO_INCREMENTAL: 0
   CARGO_NET_RETRY: 10
   CARGO_TERM_COLOR: always
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ast-grep-0.39.7/CHANGELOG.md 
new/ast-grep-0.39.9/CHANGELOG.md
--- old/ast-grep-0.39.7/CHANGELOG.md    2025-10-27 17:01:17.000000000 +0100
+++ new/ast-grep-0.39.9/CHANGELOG.md    2025-11-07 03:06:48.000000000 +0100
@@ -4,8 +4,17 @@
 
 Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
 
+#### [0.39.9](https://github.com/ast-grep/ast-grep/compare/0.39.7...0.39.9)
+
+- fix: do not output matched highlight when --update-all 
[`#2317`](https://github.com/ast-grep/ast-grep/issues/2317)
+- chore(deps): update dependency @ast-grep/napi to v0.39.7 
[`d6306b1`](https://github.com/ast-grep/ast-grep/commit/d6306b1d8ef42146a01d9d0a73a217e62ac430c1)
+- chore(deps): update dependency oxlint to v1.26.0 
[`85a256e`](https://github.com/ast-grep/ast-grep/commit/85a256e5c4f0b1e2e265ff5b2f7d9c87f5de9624)
+- chore(deps): update dependency oxlint to v1.25.0 
[`0c09885`](https://github.com/ast-grep/ast-grep/commit/0c0988503cf0b0c3972cd719fc461ba1b143ab0e)
+
 #### [0.39.7](https://github.com/ast-grep/ast-grep/compare/0.39.6...0.39.7)
 
+> 27 October 2025
+
 - feat:  LSP quick fix should support expandStart / expandEnd 
[`#2301`](https://github.com/ast-grep/ast-grep/issues/2301)
 - chore(deps): update dependency @ast-grep/napi to v0.39.6 
[`6859809`](https://github.com/ast-grep/ast-grep/commit/68598091f2ae47d4d52d701f706590a964bc2ba5)
 - chore(deps): update dependency oxlint to v1.24.0 
[`6ee2f84`](https://github.com/ast-grep/ast-grep/commit/6ee2f84b606ca485446263fee27bba4f2753d601)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ast-grep-0.39.7/Cargo.lock 
new/ast-grep-0.39.9/Cargo.lock
--- old/ast-grep-0.39.7/Cargo.lock      2025-10-27 17:01:17.000000000 +0100
+++ new/ast-grep-0.39.9/Cargo.lock      2025-11-07 03:06:48.000000000 +0100
@@ -78,13 +78,12 @@
 
 [[package]]
 name = "assert_cmd"
-version = "2.0.17"
+version = "2.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "2bd389a4b2970a01282ee455294913c0a43724daedcd1a24c3eb0ec1c1320b66"
+checksum = "bcbb6924530aa9e0432442af08bbcafdad182db80d2e560da42a6d442535bf85"
 dependencies = [
  "anstyle",
  "bstr",
- "doc-comment",
  "libc",
  "predicates",
  "predicates-core",
@@ -94,7 +93,7 @@
 
 [[package]]
 name = "ast-grep"
-version = "0.39.7"
+version = "0.39.9"
 dependencies = [
  "ansi_term",
  "anyhow",
@@ -128,7 +127,7 @@
 
 [[package]]
 name = "ast-grep-config"
-version = "0.39.7"
+version = "0.39.9"
 dependencies = [
  "ast-grep-core",
  "bit-set",
@@ -143,7 +142,7 @@
 
 [[package]]
 name = "ast-grep-core"
-version = "0.39.7"
+version = "0.39.9"
 dependencies = [
  "bit-set",
  "regex",
@@ -154,7 +153,7 @@
 
 [[package]]
 name = "ast-grep-dynamic"
-version = "0.39.7"
+version = "0.39.9"
 dependencies = [
  "ast-grep-core",
  "ignore",
@@ -168,7 +167,7 @@
 
 [[package]]
 name = "ast-grep-language"
-version = "0.39.7"
+version = "0.39.9"
 dependencies = [
  "ast-grep-core",
  "ignore",
@@ -203,7 +202,7 @@
 
 [[package]]
 name = "ast-grep-lsp"
-version = "0.39.7"
+version = "0.39.9"
 dependencies = [
  "anyhow",
  "ast-grep-config",
@@ -221,7 +220,7 @@
 
 [[package]]
 name = "ast-grep-napi"
-version = "0.39.7"
+version = "0.39.9"
 dependencies = [
  "ast-grep-config",
  "ast-grep-core",
@@ -237,7 +236,7 @@
 
 [[package]]
 name = "ast-grep-py"
-version = "0.39.7"
+version = "0.39.9"
 dependencies = [
  "anyhow",
  "ast-grep-config",
@@ -333,9 +332,9 @@
 
 [[package]]
 name = "clap"
-version = "4.5.50"
+version = "4.5.51"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "0c2cfd7bf8a6017ddaa4e32ffe7403d547790db06bd171c1c53926faab501623"
+checksum = "4c26d721170e0295f191a69bd9a1f93efcdb0aff38684b61ab5750468972e5f5"
 dependencies = [
  "clap_builder",
  "clap_derive",
@@ -343,9 +342,9 @@
 
 [[package]]
 name = "clap_builder"
-version = "4.5.50"
+version = "4.5.51"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "0a4c05b9e80c5ccd3a7ef080ad7b6ba7d6fc00a985b8b157197075677c82c7a0"
+checksum = "75835f0c7bf681bfd05abe44e965760fea999a5286c6eb2d59883634fd02011a"
 dependencies = [
  "anstream",
  "anstyle",
@@ -355,9 +354,9 @@
 
 [[package]]
 name = "clap_complete"
-version = "4.5.59"
+version = "4.5.60"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "2348487adcd4631696ced64ccdb40d38ac4d31cae7f2eec8817fcea1b9d1c43c"
+checksum = "8e602857739c5a4291dfa33b5a298aeac9006185229a700e5810a3ef7272d971"
 dependencies = [
  "clap",
 ]
@@ -591,12 +590,6 @@
 checksum = "6184e33543162437515c2e2b48714794e37845ec9851711914eec9d308f6ebe8"
 
 [[package]]
-name = "doc-comment"
-version = "0.3.3"
-source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10"
-
-[[package]]
 name = "document-features"
 version = "0.2.11"
 source = "registry+https://github.com/rust-lang/crates.io-index";
@@ -1355,9 +1348,9 @@
 
 [[package]]
 name = "schemars"
-version = "1.0.4"
+version = "1.0.5"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "82d20c4491bc164fa2f6c5d44565947a52ad80b9505d8e36f8d54c27c739fcd0"
+checksum = "1317c3bf3e7df961da95b0a56a172a02abead31276215a0497241a7624b487ce"
 dependencies = [
  "dyn-clone",
  "ref-cast",
@@ -1368,9 +1361,9 @@
 
 [[package]]
 name = "schemars_derive"
-version = "1.0.4"
+version = "1.0.5"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "33d020396d1d138dc19f1165df7545479dcd58d93810dc5d646a16e55abefa80"
+checksum = "5f760a6150d45dd66ec044983c124595ae76912e77ed0b44124cb3e415cce5d9"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -1569,9 +1562,9 @@
 
 [[package]]
 name = "target-triple"
-version = "0.1.4"
+version = "1.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "1ac9aa371f599d22256307c24a9d748c041e548cbf599f35d890f9d365361790"
+checksum = "591ef38edfb78ca4771ee32cf494cb8771944bee237a9b91fc9c1424ac4b777b"
 
 [[package]]
 name = "tempfile"
@@ -1714,9 +1707,9 @@
 
 [[package]]
 name = "tokio-util"
-version = "0.7.16"
+version = "0.7.17"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "14307c986784f72ef81c89db7d9e28d6ac26d16213b109ea501696195e6e3ce5"
+checksum = "2efa149fe76073d6e8fd97ef4f4eca7b67f599660115591483572e406e165594"
 dependencies = [
  "bytes",
  "futures-core",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ast-grep-0.39.7/Cargo.toml 
new/ast-grep-0.39.9/Cargo.toml
--- old/ast-grep-0.39.7/Cargo.toml      2025-10-27 17:01:17.000000000 +0100
+++ new/ast-grep-0.39.9/Cargo.toml      2025-11-07 03:06:48.000000000 +0100
@@ -10,7 +10,7 @@
 lto = true
 
 [workspace.package]
-version = "0.39.7"
+version = "0.39.9"
 authors = ["Herrington Darkholme 
<[email protected]>"]
 edition = "2021"
 license = "MIT"
@@ -21,11 +21,11 @@
 readme = "README.md"
 
 [workspace.dependencies]
-ast-grep-core = { path = "crates/core", version = "0.39.7", default-features = 
false }
-ast-grep-config = { path = "crates/config", version = "0.39.7" }
-ast-grep-dynamic = { path = "crates/dynamic", version = "0.39.7" }
-ast-grep-language = { path = "crates/language", version = "0.39.7" }
-ast-grep-lsp = { path = "crates/lsp", version = "0.39.7" }
+ast-grep-core = { path = "crates/core", version = "0.39.9", default-features = 
false }
+ast-grep-config = { path = "crates/config", version = "0.39.9" }
+ast-grep-dynamic = { path = "crates/dynamic", version = "0.39.9" }
+ast-grep-language = { path = "crates/language", version = "0.39.9" }
+ast-grep-lsp = { path = "crates/lsp", version = "0.39.9" }
 
 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.39.7/crates/cli/src/print/interactive_print.rs 
new/ast-grep-0.39.9/crates/cli/src/print/interactive_print.rs
--- old/ast-grep-0.39.7/crates/cli/src/print/interactive_print.rs       
2025-10-27 17:01:17.000000000 +0100
+++ new/ast-grep-0.39.9/crates/cli/src/print/interactive_print.rs       
2025-11-07 03:06:48.000000000 +0100
@@ -71,6 +71,10 @@
       first_line,
       inner,
     } = highlights;
+    // if ast-grep is called with -U, do not output anything
+    if self.accept_all {
+      return Ok(());
+    }
     utils::run_in_alternate_screen(|| {
       self.inner.process(inner)?;
       let resp = self.prompt_view();
@@ -279,28 +283,24 @@
   let mut quit = false;
   let path = diffs.path;
   for diff in diffs.contents {
-    let mut diff_list: Vec<_> = diff
+    let diff_list: Vec<_> = diff
       .into_iter()
       .filter(|diff| diff.range.start >= end)
       .collect();
     if diff_list.is_empty() {
       continue;
     }
-    let to_confirm = if interactive.accept_all {
-      diff_list.remove(0).split().0
-    } else {
-      use InteractionChoice as IC;
-      match print_diff_and_prompt_action(interactive, &path, diff_list)? {
-        IC::Yes(c) => c,
-        IC::All(c) => {
-          interactive.accept_all = true;
-          c
-        }
-        IC::No => continue,
-        IC::Quit => {
-          quit = true;
-          break;
-        }
+    use InteractionChoice as IC;
+    let to_confirm = match print_diff_and_prompt_action(interactive, &path, 
diff_list)? {
+      IC::Yes(c) => c,
+      IC::All(c) => {
+        interactive.accept_all = true;
+        c
+      }
+      IC::No => continue,
+      IC::Quit => {
+        quit = true;
+        break;
       }
     };
     end = to_confirm.range.end;
@@ -326,8 +326,13 @@
 fn print_diff_and_prompt_action(
   interactive: &mut InteractivePrinter,
   path: &Path,
-  processed: Vec<InteractiveDiff<Buffer>>,
+  mut processed: Vec<InteractiveDiff<Buffer>>,
 ) -> Result<InteractionChoice> {
+  // default to first diff when accept_all
+  if interactive.accept_all {
+    let confirmed = processed.remove(0).split().0;
+    return Ok(InteractionChoice::Yes(confirmed));
+  }
   utils::run_in_alternate_screen(|| {
     let mut to_confirm = Vec::with_capacity(processed.len());
     let mut display = Vec::with_capacity(processed.len());
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ast-grep-0.39.7/crates/dynamic/Cargo.toml 
new/ast-grep-0.39.9/crates/dynamic/Cargo.toml
--- old/ast-grep-0.39.7/crates/dynamic/Cargo.toml       2025-10-27 
17:01:17.000000000 +0100
+++ new/ast-grep-0.39.9/crates/dynamic/Cargo.toml       2025-11-07 
03:06:48.000000000 +0100
@@ -18,7 +18,7 @@
 serde.workspace = true
 thiserror.workspace = true
 tree-sitter.workspace = true
-target-triple = "0.1.4"
+target-triple = "1.0.0"
 
 [dev-dependencies]
 serde_yaml.workspace = true
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ast-grep-0.39.7/crates/napi/npm/darwin-arm64/package.json 
new/ast-grep-0.39.9/crates/napi/npm/darwin-arm64/package.json
--- old/ast-grep-0.39.7/crates/napi/npm/darwin-arm64/package.json       
2025-10-27 17:01:17.000000000 +0100
+++ new/ast-grep-0.39.9/crates/napi/npm/darwin-arm64/package.json       
2025-11-07 03:06:48.000000000 +0100
@@ -1,6 +1,6 @@
 {
   "name": "@ast-grep/napi-darwin-arm64",
-  "version": "0.39.7",
+  "version": "0.39.9",
   "os": [
     "darwin"
   ],
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ast-grep-0.39.7/crates/napi/npm/darwin-x64/package.json 
new/ast-grep-0.39.9/crates/napi/npm/darwin-x64/package.json
--- old/ast-grep-0.39.7/crates/napi/npm/darwin-x64/package.json 2025-10-27 
17:01:17.000000000 +0100
+++ new/ast-grep-0.39.9/crates/napi/npm/darwin-x64/package.json 2025-11-07 
03:06:48.000000000 +0100
@@ -1,6 +1,6 @@
 {
   "name": "@ast-grep/napi-darwin-x64",
-  "version": "0.39.7",
+  "version": "0.39.9",
   "os": [
     "darwin"
   ],
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ast-grep-0.39.7/crates/napi/npm/linux-arm64-gnu/package.json 
new/ast-grep-0.39.9/crates/napi/npm/linux-arm64-gnu/package.json
--- old/ast-grep-0.39.7/crates/napi/npm/linux-arm64-gnu/package.json    
2025-10-27 17:01:17.000000000 +0100
+++ new/ast-grep-0.39.9/crates/napi/npm/linux-arm64-gnu/package.json    
2025-11-07 03:06:48.000000000 +0100
@@ -1,6 +1,6 @@
 {
   "name": "@ast-grep/napi-linux-arm64-gnu",
-  "version": "0.39.7",
+  "version": "0.39.9",
   "os": [
     "linux"
   ],
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ast-grep-0.39.7/crates/napi/npm/linux-arm64-musl/package.json 
new/ast-grep-0.39.9/crates/napi/npm/linux-arm64-musl/package.json
--- old/ast-grep-0.39.7/crates/napi/npm/linux-arm64-musl/package.json   
2025-10-27 17:01:17.000000000 +0100
+++ new/ast-grep-0.39.9/crates/napi/npm/linux-arm64-musl/package.json   
2025-11-07 03:06:48.000000000 +0100
@@ -1,6 +1,6 @@
 {
   "name": "@ast-grep/napi-linux-arm64-musl",
-  "version": "0.39.7",
+  "version": "0.39.9",
   "os": [
     "linux"
   ],
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ast-grep-0.39.7/crates/napi/npm/linux-x64-gnu/package.json 
new/ast-grep-0.39.9/crates/napi/npm/linux-x64-gnu/package.json
--- old/ast-grep-0.39.7/crates/napi/npm/linux-x64-gnu/package.json      
2025-10-27 17:01:17.000000000 +0100
+++ new/ast-grep-0.39.9/crates/napi/npm/linux-x64-gnu/package.json      
2025-11-07 03:06:48.000000000 +0100
@@ -1,6 +1,6 @@
 {
   "name": "@ast-grep/napi-linux-x64-gnu",
-  "version": "0.39.7",
+  "version": "0.39.9",
   "os": [
     "linux"
   ],
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ast-grep-0.39.7/crates/napi/npm/linux-x64-musl/package.json 
new/ast-grep-0.39.9/crates/napi/npm/linux-x64-musl/package.json
--- old/ast-grep-0.39.7/crates/napi/npm/linux-x64-musl/package.json     
2025-10-27 17:01:17.000000000 +0100
+++ new/ast-grep-0.39.9/crates/napi/npm/linux-x64-musl/package.json     
2025-11-07 03:06:48.000000000 +0100
@@ -1,6 +1,6 @@
 {
   "name": "@ast-grep/napi-linux-x64-musl",
-  "version": "0.39.7",
+  "version": "0.39.9",
   "os": [
     "linux"
   ],
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ast-grep-0.39.7/crates/napi/npm/win32-arm64-msvc/package.json 
new/ast-grep-0.39.9/crates/napi/npm/win32-arm64-msvc/package.json
--- old/ast-grep-0.39.7/crates/napi/npm/win32-arm64-msvc/package.json   
2025-10-27 17:01:17.000000000 +0100
+++ new/ast-grep-0.39.9/crates/napi/npm/win32-arm64-msvc/package.json   
2025-11-07 03:06:48.000000000 +0100
@@ -1,6 +1,6 @@
 {
   "name": "@ast-grep/napi-win32-arm64-msvc",
-  "version": "0.39.7",
+  "version": "0.39.9",
   "os": [
     "win32"
   ],
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ast-grep-0.39.7/crates/napi/npm/win32-ia32-msvc/package.json 
new/ast-grep-0.39.9/crates/napi/npm/win32-ia32-msvc/package.json
--- old/ast-grep-0.39.7/crates/napi/npm/win32-ia32-msvc/package.json    
2025-10-27 17:01:17.000000000 +0100
+++ new/ast-grep-0.39.9/crates/napi/npm/win32-ia32-msvc/package.json    
2025-11-07 03:06:48.000000000 +0100
@@ -1,6 +1,6 @@
 {
   "name": "@ast-grep/napi-win32-ia32-msvc",
-  "version": "0.39.7",
+  "version": "0.39.9",
   "os": [
     "win32"
   ],
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ast-grep-0.39.7/crates/napi/npm/win32-x64-msvc/package.json 
new/ast-grep-0.39.9/crates/napi/npm/win32-x64-msvc/package.json
--- old/ast-grep-0.39.7/crates/napi/npm/win32-x64-msvc/package.json     
2025-10-27 17:01:17.000000000 +0100
+++ new/ast-grep-0.39.9/crates/napi/npm/win32-x64-msvc/package.json     
2025-11-07 03:06:48.000000000 +0100
@@ -1,6 +1,6 @@
 {
   "name": "@ast-grep/napi-win32-x64-msvc",
-  "version": "0.39.7",
+  "version": "0.39.9",
   "os": [
     "win32"
   ],
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ast-grep-0.39.7/crates/napi/package.json 
new/ast-grep-0.39.9/crates/napi/package.json
--- old/ast-grep-0.39.7/crates/napi/package.json        2025-10-27 
17:01:17.000000000 +0100
+++ new/ast-grep-0.39.9/crates/napi/package.json        2025-11-07 
03:06:48.000000000 +0100
@@ -1,6 +1,6 @@
 {
   "name": "@ast-grep/napi",
-  "version": "0.39.7",
+  "version": "0.39.9",
   "description": "Search and Rewrite code at large scale using precise AST 
pattern",
   "homepage": "https://ast-grep.github.io";,
   "main": "index.js",
@@ -54,10 +54,10 @@
     "typegen": "ts-node scripts/generateTypes.ts"
   },
   "devDependencies": {
-    "@ast-grep/napi": "0.39.6",
+    "@ast-grep/napi": "0.39.7",
     "@napi-rs/cli": "3.4.1",
     "@types/node": "^22.10.2",
-    "oxlint": "1.24.0",
+    "oxlint": "1.26.0",
     "ava": "6.4.1",
     "chalk": "5.6.2",
     "dprint": "0.50.2",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ast-grep-0.39.7/crates/napi/src/sg_node.rs 
new/ast-grep-0.39.9/crates/napi/src/sg_node.rs
--- old/ast-grep-0.39.7/crates/napi/src/sg_node.rs      2025-10-27 
17:01:17.000000000 +0100
+++ new/ast-grep-0.39.9/crates/napi/src/sg_node.rs      2025-11-07 
03:06:48.000000000 +0100
@@ -3,7 +3,10 @@
 use napi_derive::napi;
 
 use super::NapiConfig;
-use crate::doc::{JsDoc, Wrapper};
+use crate::{
+  doc::{JsDoc, Wrapper},
+  napi_lang::NapiLang,
+};
 use ast_grep_core::source::Content;
 
 #[napi(object)]
@@ -100,7 +103,7 @@
   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::A(pattern) => Ok(self.inner.matches(napi_pattern(&pattern, 
lang)?)),
       Either3::B(kind) => Ok(self.inner.matches(KindMatcher::from_id(kind))),
       Either3::C(config) => {
         let pattern = config.parse_with(lang)?;
@@ -113,7 +116,7 @@
   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::A(pattern) => Ok(self.inner.inside(napi_pattern(&pattern, 
lang)?)),
       Either3::B(kind) => Ok(self.inner.inside(KindMatcher::from_id(kind))),
       Either3::C(config) => {
         let pattern = config.parse_with(lang)?;
@@ -126,7 +129,7 @@
   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::A(pattern) => Ok(self.inner.has(napi_pattern(&pattern, lang)?)),
       Either3::B(kind) => Ok(self.inner.has(KindMatcher::from_id(kind))),
       Either3::C(config) => {
         let pattern = config.parse_with(lang)?;
@@ -139,7 +142,7 @@
   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::A(pattern) => Ok(self.inner.precedes(napi_pattern(&pattern, 
lang)?)),
       Either3::B(kind) => Ok(self.inner.precedes(KindMatcher::from_id(kind))),
       Either3::C(config) => {
         let pattern = config.parse_with(lang)?;
@@ -149,13 +152,13 @@
   }
 
   #[napi]
-  pub fn follows(&self, m: Either3<String, u16, NapiConfig>) -> bool {
+  pub fn follows(&self, m: Either3<String, u16, NapiConfig>) -> Result<bool> {
     let lang = *self.inner.lang();
-    match m {
-      Either3::A(pattern) => self.inner.follows(Pattern::new(&pattern, lang)),
+    Ok(match m {
+      Either3::A(pattern) => self.inner.follows(napi_pattern(&pattern, lang)?),
       Either3::B(kind) => self.inner.follows(KindMatcher::from_id(kind)),
       Either3::C(config) => 
self.inner.follows(config.parse_with(lang).unwrap()),
-    }
+    })
   }
 
   #[napi]
@@ -226,7 +229,7 @@
     let lang = *reference.inner.lang();
     let node_match = match matcher {
       Either3::A(pattern) => {
-        let pattern = Pattern::new(&pattern, lang);
+        let pattern = napi_pattern(&pattern, lang)?;
         reference.inner.find(pattern)
       }
       Either3::B(kind) => {
@@ -266,7 +269,7 @@
     let lang = *reference.inner.lang();
     let all_matches: Vec<_> = match matcher {
       Either3::A(pattern) => {
-        let pattern = Pattern::new(&pattern, lang);
+        let pattern = napi_pattern(&pattern, lang)?;
         reference.inner.find_all(pattern).collect()
       }
       Either3::B(kind) => {
@@ -429,3 +432,8 @@
     Ok(self.1.clone())
   }
 }
+
+fn napi_pattern(pattern: &str, lang: NapiLang) -> Result<Pattern> {
+  Pattern::try_new(pattern, lang)
+    .map_err(|e| napi::Error::new(napi::Status::InvalidArg, e.to_string()))
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ast-grep-0.39.7/crates/napi/yarn.lock 
new/ast-grep-0.39.9/crates/napi/yarn.lock
--- old/ast-grep-0.39.7/crates/napi/yarn.lock   2025-10-27 17:01:17.000000000 
+0100
+++ new/ast-grep-0.39.9/crates/napi/yarn.lock   2025-11-07 03:06:48.000000000 
+0100
@@ -2,65 +2,65 @@
 # yarn lockfile v1
 
 
-"@ast-grep/[email protected]":
-  version "0.39.6"
-  resolved 
"https://registry.yarnpkg.com/@ast-grep/napi-darwin-arm64/-/napi-darwin-arm64-0.39.6.tgz#c9a987859ee5d97640ec175cc251205922953f97";
-  integrity 
sha512-mw6Om+86cCJ3sYhq1feVQgREEf9a+auOVl3ekvxPGeZt7eUGTtYTlFtHzPv4d3u7O2Fhp/+rG0tALM8yIB/aSQ==
-
-"@ast-grep/[email protected]":
-  version "0.39.6"
-  resolved 
"https://registry.yarnpkg.com/@ast-grep/napi-darwin-x64/-/napi-darwin-x64-0.39.6.tgz#0ae3235f899b47338219dd7a9c24b61a41232eba";
-  integrity 
sha512-PORvL5G4/BNI2IRtEjpi2HG0i7VMjkXAIQE6hIjtPHOTySI0Qow/JFvIUS48Lt5QNIMEQLcRBu+FjOV/HvP+Jg==
-
-"@ast-grep/[email protected]":
-  version "0.39.6"
-  resolved 
"https://registry.yarnpkg.com/@ast-grep/napi-linux-arm64-gnu/-/napi-linux-arm64-gnu-0.39.6.tgz#0f45790180edeb5a1e38ae2ffa4a49ec2a3700be";
-  integrity 
sha512-hMvQZrTUvCOWhaVQBjWAmE5somV4cIUXVmCko377Bpf/7lUH99BbxPyxbcTbxp/wVgiOTPHcqRyzxtseykt5Jg==
-
-"@ast-grep/[email protected]":
-  version "0.39.6"
-  resolved 
"https://registry.yarnpkg.com/@ast-grep/napi-linux-arm64-musl/-/napi-linux-arm64-musl-0.39.6.tgz#1c3d94bc46c3a142d5317c2c8c3aba8f99c99970";
-  integrity 
sha512-9v7Ca1Uk4WjCsz26fQrZlD7KYtVmA/bSeIKKPZQg71zJe3vohLLOUKrvDKprNmAr+f+Z8jguF6fzoatFIKcVJQ==
-
-"@ast-grep/[email protected]":
-  version "0.39.6"
-  resolved 
"https://registry.yarnpkg.com/@ast-grep/napi-linux-x64-gnu/-/napi-linux-x64-gnu-0.39.6.tgz#0acc4b52d0968bf66bd95c66e02066af0170b66c";
-  integrity 
sha512-4ymk0CC1EKemykUVfyq53ky5ZICUIbRbnJ/+SFaDHi+3JSWUZt4y1fUi2ETqcXcKmSLecWdD8Kq1NMAqdVFzUg==
-
-"@ast-grep/[email protected]":
-  version "0.39.6"
-  resolved 
"https://registry.yarnpkg.com/@ast-grep/napi-linux-x64-musl/-/napi-linux-x64-musl-0.39.6.tgz#a343e7590c3794c622da33eb3b367bcf87ee6dd3";
-  integrity 
sha512-s1uDbFFZTf3wxXPmn1Giwok6lgLmaj0zaEGcnNkamkLhnSnurFsGawREsfTm7lRuExSeFG7phN9enWxfZquW8w==
-
-"@ast-grep/[email protected]":
-  version "0.39.6"
-  resolved 
"https://registry.yarnpkg.com/@ast-grep/napi-win32-arm64-msvc/-/napi-win32-arm64-msvc-0.39.6.tgz#e7b868a93db0004931ff882e489dd6d945a91aeb";
-  integrity 
sha512-L/je6XLx4V6nsz9LIz81sIaaXHjJKjHm1RThJZ59NpDOe44bvX2yGjC7/Ha3bbtTjj1t+73AjAU0hzBHl+mMHg==
-
-"@ast-grep/[email protected]":
-  version "0.39.6"
-  resolved 
"https://registry.yarnpkg.com/@ast-grep/napi-win32-ia32-msvc/-/napi-win32-ia32-msvc-0.39.6.tgz#398abb294e65ca45584ebc4f692377946a426cdf";
-  integrity 
sha512-279mKDjMWwNBQVXtGhKdMaCQjqswlqCGbxslu4SV+DU9Jf9JPd+VILkA6G7MiU+ozDhnVTkzHLWKhIyR3sYhzQ==
-
-"@ast-grep/[email protected]":
-  version "0.39.6"
-  resolved 
"https://registry.yarnpkg.com/@ast-grep/napi-win32-x64-msvc/-/napi-win32-x64-msvc-0.39.6.tgz#6d0ef84ef03cdc2e5fd0f03134c0a519edf86c41";
-  integrity 
sha512-XStCkg8cWzuLFlSCYkLr3a7GXTcAU5GdHfpwW4FkY07Klc+x+4o8YD7SI9qy9RO/yJr3oUCZzx/84iGZnHHgwQ==
-
-"@ast-grep/[email protected]":
-  version "0.39.6"
-  resolved 
"https://registry.yarnpkg.com/@ast-grep/napi/-/napi-0.39.6.tgz#ad9b3ea6391b9efdb59baa06bd667d0649300f19";
-  integrity 
sha512-4vKWlR7h4N3JQPCX/tRt2XRV+y2NGdWVFiNCwEGifm4ZD06CpcP7HOH543EhuWGHsFe2jTpt2G4SncJNq2Hy6w==
+"@ast-grep/[email protected]":
+  version "0.39.7"
+  resolved 
"https://registry.yarnpkg.com/@ast-grep/napi-darwin-arm64/-/napi-darwin-arm64-0.39.7.tgz#7c06192b14c5fca4cf69e29c75d6abab6c31b962";
+  integrity 
sha512-P02ZhbUOKq2wMwlswiWGfnsGDL1lzPSMCfqVnm9NuJoVtZ1IsEEncDcvQnJp997VQJ1MOlP3kzzCgZcpREBnfQ==
+
+"@ast-grep/[email protected]":
+  version "0.39.7"
+  resolved 
"https://registry.yarnpkg.com/@ast-grep/napi-darwin-x64/-/napi-darwin-x64-0.39.7.tgz#ea85c9751b48892abf4e8c39da507f7e23151c16";
+  integrity 
sha512-PXeMgv6RxVj06/8X9k2gljJf9rroCI9/MRmlEV9ktZkTtg9qjG6QKXiJ4AqDGem6i1Hm2H/2O1IMa6hAn8Uehw==
+
+"@ast-grep/[email protected]":
+  version "0.39.7"
+  resolved 
"https://registry.yarnpkg.com/@ast-grep/napi-linux-arm64-gnu/-/napi-linux-arm64-gnu-0.39.7.tgz#10d0f87cf09ff632f8c341a8b8e07777ca2740a7";
+  integrity 
sha512-dTA10IoJPEQUVfOHrHUvpM0uEnhVatF90lY7OyRFbrgjqggiacjSmQUWxTOWmXNKt/jHZxLhlumXVd+W87VrOA==
+
+"@ast-grep/[email protected]":
+  version "0.39.7"
+  resolved 
"https://registry.yarnpkg.com/@ast-grep/napi-linux-arm64-musl/-/napi-linux-arm64-musl-0.39.7.tgz#1affc4b48d4b2c6d5ab67a7e58bcf90232be02f6";
+  integrity 
sha512-DAkLxVGZR5yrDCBNdPV+Eu0tKG3Zxm8Lhj1AQ2AOYFD6d/mbiTzufuyiXlqOJgmf53V5288j16JdxtcQJKJOtA==
+
+"@ast-grep/[email protected]":
+  version "0.39.7"
+  resolved 
"https://registry.yarnpkg.com/@ast-grep/napi-linux-x64-gnu/-/napi-linux-x64-gnu-0.39.7.tgz#bbd342f08b838a9f015f3412834e983fe89816d1";
+  integrity 
sha512-x0KKHwSqwinXEkSGOpb74HQ7v6paJPIssZhaJCO3ZPWe0U1VITqeHbukV85wpVz7VJPu5HztkKLIE7jVCRMHQw==
+
+"@ast-grep/[email protected]":
+  version "0.39.7"
+  resolved 
"https://registry.yarnpkg.com/@ast-grep/napi-linux-x64-musl/-/napi-linux-x64-musl-0.39.7.tgz#e6252db09ca7ff4646da0bbf734fe555e72bb60c";
+  integrity 
sha512-SXVWii/AWzME4HESkIvpm8yCqUdiGvwTAzq2f54PiL+12oodL3uFoA2ccpB5Vvq49e5C2OOeW0bkr8jzRure6A==
+
+"@ast-grep/[email protected]":
+  version "0.39.7"
+  resolved 
"https://registry.yarnpkg.com/@ast-grep/napi-win32-arm64-msvc/-/napi-win32-arm64-msvc-0.39.7.tgz#b19c7dee7f9d8f7c8001a7a18a4392ef4e1e4b7a";
+  integrity 
sha512-4w3wCgGOZADXnoS6zV9z2Qw2u+CxNSgjR7/6E69wb2dJ5nJOJXc2dingB3l1CZ2f1XOq5ag+PEtBINwvu0r2vA==
+
+"@ast-grep/[email protected]":
+  version "0.39.7"
+  resolved 
"https://registry.yarnpkg.com/@ast-grep/napi-win32-ia32-msvc/-/napi-win32-ia32-msvc-0.39.7.tgz#952bfdc226fdf8c6eae37e2d7442f231b6edc48b";
+  integrity 
sha512-+CVjlvYbF4vYdltffG7dAmYAv4WBZPeBrsZfuXBe7+nNdM6MXrinT1uMX8nWKJMV8KA264xojlneyDsxSt2Ntw==
+
+"@ast-grep/[email protected]":
+  version "0.39.7"
+  resolved 
"https://registry.yarnpkg.com/@ast-grep/napi-win32-x64-msvc/-/napi-win32-x64-msvc-0.39.7.tgz#6de68bc5480a55e851d37498922a0e0341222934";
+  integrity 
sha512-ZjfdsjcAmtg9TyTcTalqw9W+HyQH+C0Mx4rL6UieIEc2Z4tWqP/hTwOl9CJ4JPmRYsW6yKMIxjJPj9RF0mv4iA==
+
+"@ast-grep/[email protected]":
+  version "0.39.7"
+  resolved 
"https://registry.yarnpkg.com/@ast-grep/napi/-/napi-0.39.7.tgz#ec2e50cce5d122d2b877b788aa43ccd1fc3444b4";
+  integrity 
sha512-fkCG3cSc2LiLgUXCrx83uo+dxmoRTGXtc7xMxhLsjHt5JRyJcXznevg92yjEQlCusVm98WtT/urh3hh2/4NZVQ==
   optionalDependencies:
-    "@ast-grep/napi-darwin-arm64" "0.39.6"
-    "@ast-grep/napi-darwin-x64" "0.39.6"
-    "@ast-grep/napi-linux-arm64-gnu" "0.39.6"
-    "@ast-grep/napi-linux-arm64-musl" "0.39.6"
-    "@ast-grep/napi-linux-x64-gnu" "0.39.6"
-    "@ast-grep/napi-linux-x64-musl" "0.39.6"
-    "@ast-grep/napi-win32-arm64-msvc" "0.39.6"
-    "@ast-grep/napi-win32-ia32-msvc" "0.39.6"
-    "@ast-grep/napi-win32-x64-msvc" "0.39.6"
+    "@ast-grep/napi-darwin-arm64" "0.39.7"
+    "@ast-grep/napi-darwin-x64" "0.39.7"
+    "@ast-grep/napi-linux-arm64-gnu" "0.39.7"
+    "@ast-grep/napi-linux-arm64-musl" "0.39.7"
+    "@ast-grep/napi-linux-x64-gnu" "0.39.7"
+    "@ast-grep/napi-linux-x64-musl" "0.39.7"
+    "@ast-grep/napi-win32-arm64-msvc" "0.39.7"
+    "@ast-grep/napi-win32-ia32-msvc" "0.39.7"
+    "@ast-grep/napi-win32-x64-msvc" "0.39.7"
 
 "@cspotcode/source-map-support@^0.8.0":
   version "0.8.1"
@@ -782,45 +782,45 @@
   dependencies:
     "@octokit/openapi-types" "^25.1.0"
 
-"@oxlint/[email protected]":
-  version "1.24.0"
-  resolved 
"https://registry.yarnpkg.com/@oxlint/darwin-arm64/-/darwin-arm64-1.24.0.tgz#582a625450e6be4c63ba4a4922d1294f0c5956a6";
-  integrity 
sha512-1Kd2+Ai1ttskhbJR+DNU4Y4YEDyP/cd50nWt2rAe2aE78dMOalaVGps3s8UnJkXpDL9ZqkgOHVDE5Doj2lxatw==
-
-"@oxlint/[email protected]":
-  version "1.24.0"
-  resolved 
"https://registry.yarnpkg.com/@oxlint/darwin-x64/-/darwin-x64-1.24.0.tgz#dc7b3462299eb8c966b1b75b84921e491f5b8e48";
-  integrity 
sha512-/R9VbnuTp7bLIBh6ucDHjx0po0wLQODLqzy+L/Frn5z4ifMVdE63DB+LHO8QAj+WEQleQq3u/MMms7RFPulCLA==
-
-"@oxlint/[email protected]":
-  version "1.24.0"
-  resolved 
"https://registry.yarnpkg.com/@oxlint/linux-arm64-gnu/-/linux-arm64-gnu-1.24.0.tgz#4c1713021469c50e36b978554f0cc3baa2aec62c";
-  integrity 
sha512-fA90bIQ1b44eNg0uULlTonqsADVIBnMz169mav6IhfZL9V6DpBCUWrV+8tEQCxbDvYC0WY1guBpPo2QWUnC/Dw==
-
-"@oxlint/[email protected]":
-  version "1.24.0"
-  resolved 
"https://registry.yarnpkg.com/@oxlint/linux-arm64-musl/-/linux-arm64-musl-1.24.0.tgz#4fa9b237a413d5f5a26b377b769c1355e4210478";
-  integrity 
sha512-p7Bv9FTQ1lf4Z7OiIFwiy+cY2fxN6IJc0+2gJ4z2fpaQ0J2rQQcKdJ5RLQTxf+tAu7hyqjc6bf61EAGa9lb/GA==
-
-"@oxlint/[email protected]":
-  version "1.24.0"
-  resolved 
"https://registry.yarnpkg.com/@oxlint/linux-x64-gnu/-/linux-x64-gnu-1.24.0.tgz#c17c58a34ba3564ccde6bf864ab829892f147767";
-  integrity 
sha512-wIQOpTONiJ9pYPnLEq7UFuml8mpmSFTfUveNbT2rw9iXfj2nLMf7NIqGnUYQdvnnOi+maag9uei/WImXIm9LQQ==
-
-"@oxlint/[email protected]":
-  version "1.24.0"
-  resolved 
"https://registry.yarnpkg.com/@oxlint/linux-x64-musl/-/linux-x64-musl-1.24.0.tgz#8872aec0265314595d0b27058808e6b3eed2458d";
-  integrity 
sha512-HxcDX/SpTH7yC/Rn2MinjSHZmNpn79yJkBid792DWjP9bo0CnlNXOXMPXsbm+WqptvqQ9yUPCxf7KascUvxLyQ==
-
-"@oxlint/[email protected]":
-  version "1.24.0"
-  resolved 
"https://registry.yarnpkg.com/@oxlint/win32-arm64/-/win32-arm64-1.24.0.tgz#c60094970db2a5878746f790a74260935eb57b98";
-  integrity 
sha512-P1KtZ/xL+TcNTTmOtEsVrpqAdmpu2UCRAILjoqQyrYvI/CW6SdvoJfMBTntKOZaB52Peq2BHTgsYovON8q4FfQ==
-
-"@oxlint/[email protected]":
-  version "1.24.0"
-  resolved 
"https://registry.yarnpkg.com/@oxlint/win32-x64/-/win32-x64-1.24.0.tgz#fa91bcec62fab2c947439ad6d6a71a1bbe80c6a0";
-  integrity 
sha512-JMbMm7i1esFl12fRdOQwoeEeufWXxihOme8pZpI6jrwWK1kCIANMb5agI5Lkjf5vToQOP3DLXYc29aDm16fw6g==
+"@oxlint/[email protected]":
+  version "1.26.0"
+  resolved 
"https://registry.yarnpkg.com/@oxlint/darwin-arm64/-/darwin-arm64-1.26.0.tgz#4460bb931e1f605ef2450094bec0476ef3af32c9";
+  integrity 
sha512-kTmm1opqyn7iZopWHO3Ml4D/44pA5eknZBepgxCnTaPrW8XgCEUI85Q5AvOOvoNve8NziTYb8ax+CyuGJIgn/Q==
+
+"@oxlint/[email protected]":
+  version "1.26.0"
+  resolved 
"https://registry.yarnpkg.com/@oxlint/darwin-x64/-/darwin-x64-1.26.0.tgz#9184a7d310d8e99bd15e755d4d23de5c997647af";
+  integrity 
sha512-/hMfZ9j7ZzVPRmMm02PHNc6MIMk0QYv5VowZJRIp40YLqLPvFfGNGZBj8e1fDVgZMFEGWDQK3yrt1uBKxXAK4Q==
+
+"@oxlint/[email protected]":
+  version "1.26.0"
+  resolved 
"https://registry.yarnpkg.com/@oxlint/linux-arm64-gnu/-/linux-arm64-gnu-1.26.0.tgz#25a36bc02d6c11380981a7819551a296fe3b9e84";
+  integrity 
sha512-iv4wdrwdCa8bhJxOpKlvfxqTs0LgW5tKBUMvH9B13zREHm1xT9JRZ8cQbbKiyC6LNdggwu5S6TSvODgAu7/DlA==
+
+"@oxlint/[email protected]":
+  version "1.26.0"
+  resolved 
"https://registry.yarnpkg.com/@oxlint/linux-arm64-musl/-/linux-arm64-musl-1.26.0.tgz#dde234d4af7088b12ba2ea7f62d867c0aa3dd8d0";
+  integrity 
sha512-a3gTbnN1JzedxqYeGTkg38BAs/r3Krd2DPNs/MF7nnHthT3RzkPUk47isMePLuNc4e/Weljn7m2m/Onx22tiNg==
+
+"@oxlint/[email protected]":
+  version "1.26.0"
+  resolved 
"https://registry.yarnpkg.com/@oxlint/linux-x64-gnu/-/linux-x64-gnu-1.26.0.tgz#c60793496aa9769730a98c8e84cc4733d909a533";
+  integrity 
sha512-cCAyqyuKpFImjlgiBuuwSF+aDBW2h19/aCmHMTMSp6KXwhoQK7/Xx7/EhZKP5wiQJzVUYq5fXr0D8WmpLGsjRg==
+
+"@oxlint/[email protected]":
+  version "1.26.0"
+  resolved 
"https://registry.yarnpkg.com/@oxlint/linux-x64-musl/-/linux-x64-musl-1.26.0.tgz#c001a2c0ec20afd4d3a0c582f9eb5753c4e2fbd9";
+  integrity 
sha512-8VOJ4vQo0G1tNdaghxrWKjKZGg73tv+FoMDrtNYuUesqBHZN68FkYCsgPwEsacLhCmtoZrkF3ePDWDuWEpDyAg==
+
+"@oxlint/[email protected]":
+  version "1.26.0"
+  resolved 
"https://registry.yarnpkg.com/@oxlint/win32-arm64/-/win32-arm64-1.26.0.tgz#2ec48232563dba5c18cbcba0407f797fb7558397";
+  integrity 
sha512-N8KUtzP6gfEHKvaIBZCS9g8wRfqV5v55a/B8iJjIEhtMehcEM+UX+aYRsQ4dy5oBCrK3FEp4Yy/jHgb0moLm3Q==
+
+"@oxlint/[email protected]":
+  version "1.26.0"
+  resolved 
"https://registry.yarnpkg.com/@oxlint/win32-x64/-/win32-x64-1.26.0.tgz#1a3003764c64d80a1f080dede6f5d3e13355b987";
+  integrity 
sha512-7tCyG0laduNQ45vzB9blVEGq/6DOvh7AFmiUAana8mTp0zIKQQmwJ21RqhazH0Rk7O6lL7JYzKcu+zaJHGpRLA==
 
 "@pkgjs/parseargs@^0.11.0":
   version "0.11.0"
@@ -874,9 +874,9 @@
   integrity 
sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==
 
 "@types/node@^22.10.2":
-  version "22.18.12"
-  resolved 
"https://registry.yarnpkg.com/@types/node/-/node-22.18.12.tgz#e165d87bc25d7bf6d3657035c914db7485de84fb";
-  integrity 
sha512-BICHQ67iqxQGFSzfCFTT7MRQ5XcBjG5aeKh5Ok38UBbPe5fxTyE+aHFxwVrGyr8GNlqFMLKD1D3P2K/1ks8tog==
+  version "22.19.0"
+  resolved 
"https://registry.yarnpkg.com/@types/node/-/node-22.19.0.tgz#849606ef3920850583a4e7ee0930987c35ad80be";
+  integrity 
sha512-xpr/lmLPQEj+TUnHmR+Ab91/glhJvsqcjB+yY0Ix9GO70H6Lb4FHH5GeqdOE5btAx7eIMwuHkp4H2MSkLcqWbA==
   dependencies:
     undici-types "~6.21.0"
 
@@ -1693,19 +1693,19 @@
   dependencies:
     abbrev "^3.0.0"
 
[email protected]:
-  version "1.24.0"
-  resolved 
"https://registry.yarnpkg.com/oxlint/-/oxlint-1.24.0.tgz#96ad539f777c1335c5e97a7be243ca0902e25109";
-  integrity 
sha512-swXlnHT7ywcCApkctIbgOSjDYHwMa12yMU0iXevfDuHlYkRUcbQrUv6nhM5v6B0+Be3zTBMNDGPAMQv0oznzRQ==
[email protected]:
+  version "1.26.0"
+  resolved 
"https://registry.yarnpkg.com/oxlint/-/oxlint-1.26.0.tgz#ddd8b41460a25d8d85da098028f28bf2c0b27948";
+  integrity 
sha512-KRpL+SMi07JQyggv5ldIF+wt2pnrKm8NLW0B+8bK+0HZsLmH9/qGA+qMWie5Vf7lnlMBllJmsuzHaKFEGY3rIA==
   optionalDependencies:
-    "@oxlint/darwin-arm64" "1.24.0"
-    "@oxlint/darwin-x64" "1.24.0"
-    "@oxlint/linux-arm64-gnu" "1.24.0"
-    "@oxlint/linux-arm64-musl" "1.24.0"
-    "@oxlint/linux-x64-gnu" "1.24.0"
-    "@oxlint/linux-x64-musl" "1.24.0"
-    "@oxlint/win32-arm64" "1.24.0"
-    "@oxlint/win32-x64" "1.24.0"
+    "@oxlint/darwin-arm64" "1.26.0"
+    "@oxlint/darwin-x64" "1.26.0"
+    "@oxlint/linux-arm64-gnu" "1.26.0"
+    "@oxlint/linux-arm64-musl" "1.26.0"
+    "@oxlint/linux-x64-gnu" "1.26.0"
+    "@oxlint/linux-x64-musl" "1.26.0"
+    "@oxlint/win32-arm64" "1.26.0"
+    "@oxlint/win32-x64" "1.26.0"
 
 p-map@^7.0.3:
   version "7.0.3"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ast-grep-0.39.7/crates/pyo3/pyproject.toml 
new/ast-grep-0.39.9/crates/pyo3/pyproject.toml
--- old/ast-grep-0.39.7/crates/pyo3/pyproject.toml      2025-10-27 
17:01:17.000000000 +0100
+++ new/ast-grep-0.39.9/crates/pyo3/pyproject.toml      2025-11-07 
03:06:48.000000000 +0100
@@ -5,7 +5,7 @@
 [project]
 name = "ast-grep-py"
 requires-python = ">=3.8"
-version = "0.39.7"
+version = "0.39.9"
 description = "Structural Search and Rewrite code at large scale using precise 
AST pattern."
 authors = [{ name = "Herrington Darkholme", email = 
"[email protected]" }]
 maintainers = [{ name = "Herrington Darkholme", email = 
"[email protected]" }]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ast-grep-0.39.7/npm/package.json 
new/ast-grep-0.39.9/npm/package.json
--- old/ast-grep-0.39.7/npm/package.json        2025-10-27 17:01:17.000000000 
+0100
+++ new/ast-grep-0.39.9/npm/package.json        2025-11-07 03:06:48.000000000 
+0100
@@ -1,6 +1,6 @@
 {
   "name": "@ast-grep/cli",
-  "version": "0.39.7",
+  "version": "0.39.9",
   "publishConfig": {
     "access": "public"
   },
@@ -29,13 +29,13 @@
     "postinstall": "node postinstall.js"
   },
   "optionalDependencies": {
-    "@ast-grep/cli-win32-arm64-msvc": "0.39.7",
-    "@ast-grep/cli-win32-ia32-msvc": "0.39.7",
-    "@ast-grep/cli-win32-x64-msvc": "0.39.7",
-    "@ast-grep/cli-darwin-arm64": "0.39.7",
-    "@ast-grep/cli-darwin-x64": "0.39.7",
-    "@ast-grep/cli-linux-arm64-gnu": "0.39.7",
-    "@ast-grep/cli-linux-x64-gnu": "0.39.7"
+    "@ast-grep/cli-win32-arm64-msvc": "0.39.9",
+    "@ast-grep/cli-win32-ia32-msvc": "0.39.9",
+    "@ast-grep/cli-win32-x64-msvc": "0.39.9",
+    "@ast-grep/cli-darwin-arm64": "0.39.9",
+    "@ast-grep/cli-darwin-x64": "0.39.9",
+    "@ast-grep/cli-linux-arm64-gnu": "0.39.9",
+    "@ast-grep/cli-linux-x64-gnu": "0.39.9"
   },
   "bin": {
     "sg": "sg",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ast-grep-0.39.7/npm/platforms/darwin-arm64/package.json 
new/ast-grep-0.39.9/npm/platforms/darwin-arm64/package.json
--- old/ast-grep-0.39.7/npm/platforms/darwin-arm64/package.json 2025-10-27 
17:01:17.000000000 +0100
+++ new/ast-grep-0.39.9/npm/platforms/darwin-arm64/package.json 2025-11-07 
03:06:48.000000000 +0100
@@ -1,6 +1,6 @@
 {
   "name": "@ast-grep/cli-darwin-arm64",
-  "version": "0.39.7",
+  "version": "0.39.9",
   "os": [
     "darwin"
   ],
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ast-grep-0.39.7/npm/platforms/darwin-x64/package.json 
new/ast-grep-0.39.9/npm/platforms/darwin-x64/package.json
--- old/ast-grep-0.39.7/npm/platforms/darwin-x64/package.json   2025-10-27 
17:01:17.000000000 +0100
+++ new/ast-grep-0.39.9/npm/platforms/darwin-x64/package.json   2025-11-07 
03:06:48.000000000 +0100
@@ -1,6 +1,6 @@
 {
   "name": "@ast-grep/cli-darwin-x64",
-  "version": "0.39.7",
+  "version": "0.39.9",
   "os": [
     "darwin"
   ],
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ast-grep-0.39.7/npm/platforms/linux-arm64-gnu/package.json 
new/ast-grep-0.39.9/npm/platforms/linux-arm64-gnu/package.json
--- old/ast-grep-0.39.7/npm/platforms/linux-arm64-gnu/package.json      
2025-10-27 17:01:17.000000000 +0100
+++ new/ast-grep-0.39.9/npm/platforms/linux-arm64-gnu/package.json      
2025-11-07 03:06:48.000000000 +0100
@@ -1,6 +1,6 @@
 {
   "name": "@ast-grep/cli-linux-arm64-gnu",
-  "version": "0.39.7",
+  "version": "0.39.9",
   "os": [
     "linux"
   ],
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ast-grep-0.39.7/npm/platforms/linux-x64-gnu/package.json 
new/ast-grep-0.39.9/npm/platforms/linux-x64-gnu/package.json
--- old/ast-grep-0.39.7/npm/platforms/linux-x64-gnu/package.json        
2025-10-27 17:01:17.000000000 +0100
+++ new/ast-grep-0.39.9/npm/platforms/linux-x64-gnu/package.json        
2025-11-07 03:06:48.000000000 +0100
@@ -1,6 +1,6 @@
 {
   "name": "@ast-grep/cli-linux-x64-gnu",
-  "version": "0.39.7",
+  "version": "0.39.9",
   "os": [
     "linux"
   ],
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ast-grep-0.39.7/npm/platforms/win32-arm64-msvc/package.json 
new/ast-grep-0.39.9/npm/platforms/win32-arm64-msvc/package.json
--- old/ast-grep-0.39.7/npm/platforms/win32-arm64-msvc/package.json     
2025-10-27 17:01:17.000000000 +0100
+++ new/ast-grep-0.39.9/npm/platforms/win32-arm64-msvc/package.json     
2025-11-07 03:06:48.000000000 +0100
@@ -1,6 +1,6 @@
 {
   "name": "@ast-grep/cli-win32-arm64-msvc",
-  "version": "0.39.7",
+  "version": "0.39.9",
   "os": [
     "win32"
   ],
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ast-grep-0.39.7/npm/platforms/win32-ia32-msvc/package.json 
new/ast-grep-0.39.9/npm/platforms/win32-ia32-msvc/package.json
--- old/ast-grep-0.39.7/npm/platforms/win32-ia32-msvc/package.json      
2025-10-27 17:01:17.000000000 +0100
+++ new/ast-grep-0.39.9/npm/platforms/win32-ia32-msvc/package.json      
2025-11-07 03:06:48.000000000 +0100
@@ -1,6 +1,6 @@
 {
   "name": "@ast-grep/cli-win32-ia32-msvc",
-  "version": "0.39.7",
+  "version": "0.39.9",
   "os": [
     "win32"
   ],
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ast-grep-0.39.7/npm/platforms/win32-x64-msvc/package.json 
new/ast-grep-0.39.9/npm/platforms/win32-x64-msvc/package.json
--- old/ast-grep-0.39.7/npm/platforms/win32-x64-msvc/package.json       
2025-10-27 17:01:17.000000000 +0100
+++ new/ast-grep-0.39.9/npm/platforms/win32-x64-msvc/package.json       
2025-11-07 03:06:48.000000000 +0100
@@ -1,6 +1,6 @@
 {
   "name": "@ast-grep/cli-win32-x64-msvc",
-  "version": "0.39.7",
+  "version": "0.39.9",
   "os": [
     "win32"
   ],
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ast-grep-0.39.7/pyproject.toml 
new/ast-grep-0.39.9/pyproject.toml
--- old/ast-grep-0.39.7/pyproject.toml  2025-10-27 17:01:17.000000000 +0100
+++ new/ast-grep-0.39.9/pyproject.toml  2025-11-07 03:06:48.000000000 +0100
@@ -4,7 +4,7 @@
 
 [project]
 name = "ast-grep-cli"
-version = "0.39.7"
+version = "0.39.9"
 description = "Structural Search and Rewrite code at large scale using precise 
AST pattern."
 authors = [{ name = "Herrington Darkholme", email = 
"[email protected]" }]
 maintainers = [{ name = "Herrington Darkholme", email = 
"[email protected]" }]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ast-grep-0.39.7/schemas/project.json 
new/ast-grep-0.39.9/schemas/project.json
--- old/ast-grep-0.39.7/schemas/project.json    2025-10-27 17:01:17.000000000 
+0100
+++ new/ast-grep-0.39.9/schemas/project.json    2025-11-07 03:06:48.000000000 
+0100
@@ -29,6 +29,30 @@
           },
           "title": "Utility directories",
           "description": "A list of string instructing where to discover 
ast-grep's global utility rules."
+        },
+        "languageGlobs": {
+          "type": "object",
+          "additionalProperties": {
+            "type": "array",
+            "items": {
+              "type": "string"
+            }
+          },
+          "description": "A mapping to associate a language to files that have 
non-standard extensions or syntaxes."
+        },
+        "customLanguages": {
+          "type": "object",
+          "additionalProperties": {
+            "$ref": "#/definitions/CustomLanguage"
+          },
+          "description": "A dictionary of custom languages in the project."
+        },
+        "languageInjections": {
+          "type": "array",
+          "items": {
+            "$ref": "#/definitions/LanguageInjection"
+          },
+          "description": "A list of language injections to support embedded 
languages in the project like JS/CSS in HTML. This is an experimental feature."
         }
       },
       "required": ["ruleDirs"],
@@ -49,6 +73,56 @@
       },
       "required": ["testDir"],
       "title": "Test configuration"
+    },
+    "CustomLanguage": {
+      "type": "object",
+      "properties": {
+        "libraryPath": {
+          "type": ["string", "object"],
+          "description": "The path to the tree-sitter dynamic library of the 
language."
+        },
+        "extensions": {
+          "type": "array",
+          "items": {
+            "type": "string"
+          },
+          "description": "The file extensions for this language."
+        },
+        "expandoChar": {
+          "type": "string",
+          "description": "An optional char to replace $ in your pattern."
+        },
+        "languageSymbol": {
+          "type": "string",
+          "description": "The dylib symbol to load ts-language, default is 
tree_sitter_{name}"
+        }
+      },
+      "required": ["libraryPath", "extensions"]
+    },
+    "LanguageInjection": {
+      "type": "object",
+      "description": "A list of language injections to support embedded 
languages in the project like JS/CSS in HTML. This is an experimental feature.",
+      "properties": {
+        "hostLanguage": {
+          "type": "string",
+          "description": "The host language name, e.g. html. This is the 
language of documents that contains the embedded language code."
+        },
+        "rule": {
+          "$ref": "./rule.json#/$defs/SerializableRule",
+          "description": "Defines the ast-grep rule to identify the injected 
language region within the host language documents."
+        },
+        "injected": {
+          "oneOf": [
+            { "type": "string" },
+            {
+              "type": "array",
+              "items": { "type": "string" }
+            }
+          ],
+          "description": "The injected language name"
+        }
+      },
+      "required": ["hostLanguage", "rule", "injected"]
     }
   }
-}
+}
\ No newline at end of file

++++++ vendor.tar.zst ++++++
/work/SRC/openSUSE:Factory/ast-grep/vendor.tar.zst 
/work/SRC/openSUSE:Factory/.ast-grep.new.1980/vendor.tar.zst differ: char 7, 
line 1

Reply via email to