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