Skip to content

Latest commit

 

History

History
1341 lines (957 loc) · 93.4 KB

CHANGELOG.md

File metadata and controls

1341 lines (957 loc) · 93.4 KB

Changelog

All notable changes to this project will be documented in this file. Dates are displayed in UTC.

Generated by auto-changelog.

  • feat: support override severity of unused-suppression #1556
  • feat: unify configuration reading #1557
  • feat: unify configuration #1557
  • refactor: improve file config handling #1553
  • refactor: revamp configuration file discovering and custom language registration #1553
  • feat(scan): support context, before/after flags #1549
  • feat: add RuleOverwrite to override rule severity from CLI #1061
  • Breaking change: feat: support --config in sg new cfe472f
  • feat: add rule overwrite impl fb4ac07
  • fix(deps): update dependency @swc/core to v1.7.36 c11fd89

20 October 2024

  • feat: report unused suppression #1346
  • feat: make number of threads configurable #1498
  • doc: add bug report yaml #1462
  • refactor: rename tracing f83dbe9
  • fix: fix bug report bug agains 61921f7
  • fix(deps): update dependency @babel/core to v7.25.8 cf06185

6 October 2024

  • feat: TypeScript types for Rules in NAPI #1038
  • feat:support glob path match in CLI #1062
  • refactor: move input/output args to standalone file 3d937cb
  • refactor: move worker outside of utils 84ea621
  • fix(deps): update babel monorepo to v7.25.7 b989f05

22 September 2024

  • feat: add prettified pattern debug 70d33b5
  • fix(deps): update rust crate pyo3 to v0.22.3 683e398
  • test: add test for CST a79f13f

14 September 2024

  • feat: add follow symbolic links option to CLI #1461
  • fix(deps): update dependency @swc/core to v1.7.26 e0b437d
  • fix(deps): update dependency @swc/core to v1.7.24 657bc4e
  • chore(deps): update dependency typescript to v5.6.2 c55a404

8 September 2024

  • fix: create .gitkeep file in new dirs #1273
  • fix: fix unwrap error for unfound dir #1456
  • fix(deps): update dependency @swc/core to v1.7.23 5fd4101
  • chore(deps): update dependency @types/node to v20.16.5 294e402
  • fix: improve error message d46df6a

7 September 2024

  • feat: support YAML language #1436
  • fix(deps): update dependency @swc/core to v1.7.22 c577761
  • fix(deps): update dependency @swc/core to v1.7.21 4b0e594
  • feat: add rule config potential kind test def5b21

25 August 2024

  • fix: fix wrong transformation indentation #1405
  • fix: compare only kind for unnamed nodes #1419
  • fix(deps): update dependency @swc/core to v1.7.18 9ecb02c
  • fix(deps): update dependency @swc/core to v1.7.14 459d20a
  • test: add test for transformation indentation e0bfaf2

18 August 2024

  • fix: readopt matched metavar in napi #1380
  • chore: update napi definition 07e084a
  • fix(deps): update dependency @swc/core to v1.7.11 835b06f
  • fix(deps): update dependency @swc/core to v1.7.10 d7a3820

9 August 2024

  • feat: support dynamic language in pyo3 #1143
  • test: add test for load dynamic lang in python 236f4ab
  • feat: add py_lang registration function 43e74e7
  • feat: add pytype for register language 8b660cf

7 August 2024

  • feat: Additional impls for language types #1379
  • feat: append note to error message if available #1384
  • fix: LSP should skip files outside the workspace root #1382
  • fix(deps): update dependency @babel/core to v7.25.2 3b0be88
  • refactor: split two macros b760eb8
  • refactor: simplify visitor 5ae03ae

5 August 2024

  • feat: add charCount to split lines #1381
  • chore(deps): update dependency @types/node to v20.14.14 bca7e7b
  • fix(deps): update rust crate clap to v4.5.13 c143464
  • fix(deps): update rust crate toml_edit to v0.22.20 170da4c

4 August 2024

  • feat: add --selector in sg run #1378
  • fix: fix clippy new complaints a4cc793
  • fix(deps): update dependency @swc/core to v1.7.5 d3ee100
  • chore(deps): update rust crate tree-sitter to v0.22.2 93d684a

1 August 2024

  • feat: support using transform in rule message #1366
  • test: add test for skipping multiple ellipsis #1365
  • feat: Support ast-grep-ignore comment on same line as violation #1347
  • Revert "feat: add wasm engine support" 78b1633
  • feat: add wasm engine support ff77914
  • refactor: remove old find/scan 58a3646

25 July 2024

  • feat: support sql experimentally #1300
  • feat: consistent file path for search by removing ./ prefix #1343
  • feat: allow multiple tests in a single YAML file #1344
  • refactor: use HarnessBuilder c41ffa8
  • refactor: move out some files dfa38f2
  • test: add test for deserde tests 76796e4

22 July 2024

  • feat: support custom language injection #1309
  • feat: register embedded language 416e28e
  • fix(deps): update dependency @babel/core to v7.24.9 8c5dd00
  • fix(deps): update dependency @swc/core to v1.7.0 61f6a14

18 July 2024

  • fix: only present code action when there are truly fixable diagnostic #1327
  • refactor: move some function out of lsp 1e6b477
  • fix: use fix in data for fix all command d358d45
  • fix: update fix all lsp b760b9b

14 July 2024

  • fix: make config file work outside of workspace root #1326
  • fix: fix napi musl bde7f34
  • fix: debug napi 2d87fc5

13 July 2024

  • Fix Python 3.10 macOS ast-grep-py build #1315
  • feat: support multiple doc in scan #1310
  • fix: fix testing #1305
  • feat: support searching injected code in specified lang #1307
  • feat: improve HTML language extraction for ts/scss #1301
  • fix: use relative path in lsp #1272
  • fix: use match info in lsp message #1271
  • feat: support arm64 musl #1227
  • fix(deps): update dependency @babel/core to v7.24.8 624aa70
  • feat: support multiple regions in run 07ef11f
  • refactor: move Html out 4a0c177

26 June 2024

  • fix: skip missing node in pattern #1256
  • doc: add cli help text for debug format 1754382

23 June 2024

  • feat: add debug ast and cst #1218
  • feat: add strictness in PyO3 #1246
  • feat: add strictness flag in cli #1243
  • test: add test for different strictness #1241
  • feat: add strictness to YAML #1239
  • Breaking change: fix: update API for fix 4971ac2
  • Breaking change: fix: change deletedLength to endPos in napi c0e9a65
  • feat: add colorized output 22f279c

22 June 2024

  • fix: all should not pollute env #1225
  • Breaking change: feat: use new pattern struct f219b43
  • refactor: move match_node impl out 27c918a
  • refactor: factor out match_ellipsis logic 407d2a8

11 June 2024

  • feat: add typings for pyo3 #676
  • refactor: remove unused old code 3ffd1d9
  • fix(deps): update babel monorepo to v7.24.7 b4aebaf
  • refactor: add new abstraction for match_tree 079bc7d

4 June 2024

  • fix: add Edit to export list #1186
  • feat: add modify edit range feature in pyo3 1e31253
  • test: add test for modifying edit 7044811
  • fix: addClass Edit in pyo3 d81c6c3

2 June 2024

  • feat: support all languages in napi #1170
  • Breaking change: refactor: rename Frontend Language to Lang c582c16
  • refactor: move find files operations to standalone files 8ebb888
  • feat: support more languages in napi 19e3baa

26 May 2024

  • feat: use var defined in utils in transform/fix #1155
  • fix: fix pattern polluting env #1164
  • test: add python fix test #1161
  • feat: add fix related feature to pyo3 #1159
  • test: add test for napi test #1160
  • feat: add commit_fix and fix to napi #1158
  • fix(deps): update babel monorepo to v7.24.6 0898b55
  • fix(deps): update dependency @swc/core to v1.5.7 9beda6e
  • feat: add edit/fix sketch 6817854

12 May 2024

12 May 2024

12 May 2024

  • feat(language): Add support for Haskell via tree-sitter-haskell #1128
  • fix: add ast-grep to release #1130
  • fix(deps): update dependency @swc/core to v1.5.5 31428dd
  • fix(deps): update dependency tree-sitter-typescript to v0.21.1 188525d
  • chore(deps): update dependency @types/node to v20.12.11 3fe7780

8 May 2024

  • test: add string test case back in Rust #1060
  • chore: bump tree-sitter version 5b45bd7
  • fix: update wasm crate ce9acba
  • fix: update ts deps 3a67b6b

6 May 2024

  • fix: build from source #1125
  • doc: update how to install via cargo #1118
  • feat: report undefined util rules #1106
  • Breaking change: feat: separate RuleCoreError and RuleConfigError d96efa9
  • refactor: move Transformation into a standalone module b51cc95
  • fix(deps): update dependency @babel/core to v7.24.5 77ea8bd

2 May 2024

  • feat: make pattern more permissive #1087
  • refactor: further simplify test case 8188473
  • refactor: make rewrite test simplier 5a754ef
  • test: add test for contextual pattern defined var 2d6bae8

1 May 2024

  • feat: Allow to use meta variable captured outside of rewrite rule inside the rewriter #1072
  • refactor: move rule_core test out of rule_core 1e8af4c
  • feat: move check variable usage out to a standalone file f086d10
  • refactor: move check var around cfe3529

24 April 2024

  • feat: find defined vars in utils cbc6534
  • fix: add referent rule stack overflow test case f7f24e1
  • feat: add utils defined vars 59001eb

24 April 2024

  • feat: report unused rewriters #1064
  • feat: report undefined error in fix #1070
  • feat: define the resolution order of meta variables #1068
  • feat: export used meta-var in transform #1069
  • feat: export meta variables defined in transform #1066
  • feat: export meta variables defined in constraints/rules #1067
  • test: add test for Pattern::defined_vars method #1065
  • feat: analyze meta variables defined in pattern #1065
  • feat: add field id Error for relational rule #1059
  • feat: support rewrtier check in sub-rule eb4c47c
  • test: add undefined rewriter test d56ad74
  • feat: add used_vars in TemplateFix 641d3b4

10 April 2024

8 April 2024

  • fix: fix new deprecation note of Rust 2024 a70565e
  • fix: fix quickfix fef3dfc
  • fix: better fix message e0b5875

7 April 2024

  • feat(lsp): run "source.fixAll.ast-grep" onsave #1021
  • test: move the integration-test to test folder f2ff77a
  • chore: cargo update 83394e9
  • refactor: move logging and io out of on_apply_all_fix cd79cda

27 March 2024

  • feat: make test --update-all not report error #771
  • fix: fix update cases f8132a4
  • refactor: less indentation for interactive reporter 203bd35
  • feat: improve accept 441a548

24 March 2024

  • feat: respect suppression in lsp #1019

24 March 2024

  • test: add test for error suppression in scan #1007
  • refactor: merge CombinedScan::scan and CombinedScan::diff #1011
  • feat: report error count instead of file count #1009
  • feat: suppress specific rule #1005
  • fix: skip suppressed error #1006
  • feat: support error/warning suppression #446
  • fix(deps): update babel monorepo da9a938
  • fix(deps): update dependency @swc/core to v1.4.8 d81365a
  • feat: add more states for rule suppression 41a058c

10 March 2024

  • LSP default message for diagnostics #970
  • feat: Add error messaging for rule file parsing failures #968
  • feat: add html testing and tweak html #977
  • fix(deps): update dependency @babel/core to v7.24.0 a14741d
  • fix(deps): update dependency @swc/core to v1.4.6 4a397f4
  • fix(deps): update rust crate pyo3 to 0.20.3 23653c2

24 February 2024

  • fix(deps): update dependency @swc/core to v1.4.2 67450cb
  • refactor: move rewriters to SerializableRuleConfig d98c062
  • fix(deps): update rust crate inquire to 0.7.0 86ec845

22 February 2024

  • fix: improve expando char replacement #883
  • feat(napi): add support for napi linux x64 musl c4d7902
  • fix: fix wrong spacing matching 0e8b4f0
  • Update README.md 9636a1a

19 February 2024

  • fix: avoid input stream when --update-all #943
  • fix: update cargo lock 8a893e7
  • fix(deps): update dependency @swc/core to v1.4.1 d18fd70
  • chore(deps): update dependency @types/node to v20.11.19 40d3fa0

14 February 2024

  • Breaking change: refactor: remove unused type generic 9b13d41
  • Breaking change: fix: update pyo3 test ff10e81
  • fix: fix parallel thread output be230ca

31 January 2024

  • Breaking change: refactor: use more concise name 6a4a17c

30 January 2024

  • Breaking change: refactor: remove IndentSensitive trait #868
  • feat: add support for rewriters #855
  • Breaking change: refactor: rename RuleWithConstraints to RuleCore #862
  • feat: move fix to SerializableRuleCore #859
  • Breaking change: refactor: remove MetaVarMatchers beb6f50
  • Breaking change: feat: move fixer to RuleCore 8a43a26
  • Breaking change: refactor: move language out of SerializableRuleCore c5e0dc8
  • Breaking change: refactor: remove Content generic from Fixer 87bbf93
  • Breaking change: feat: improve get_fixer signature e629e0f
  • Breaking change: refactor: make TemplateFix non-generic 0f462a5
  • feat: migrate constraints to Rule 230ee9c
  • refactor: move SerializableRuleCore to rule_core mod 3a303c1

12 January 2024

  • feat: respect user's language extension option #848

11 January 2024

  • Breaking change: feat: change get_fixer to return Fixer 07c5363
  • feat: add modify_range for tweaking fix range selection eeb2f98
  • feat: rename modify_range -> get_replace_range 54837df

5 January 2024

  • feat: add support for bash and php #639
  • Breaking change: fix: more strict meta var parsing 13ad32b
  • Breaking change: refactor: remove thrift language 26ecdf6
  • fix(deps): update dependency @swc/core to v1.3.102 9ca9711

29 December 2023

  • feat: add language globs to findInFiles in napi #780
  • Breaking change: fix: rename MetaVar for better naming #805
  • refactor: reorgnanize napi file structure 93f8577
  • refactor: move file type related function out of lib 64e33a3
  • feat: handle FileOption in LangOption::infer 7bc3efe

17 December 2023

  • feat: support mutliple rules in -r and --inline-rules #786
  • refactor: unify run_worker and run_std_in #785
  • Breaking change: feat: --stdin now always awaits user input #791
  • feat: support --inline-rules option for sg scan #396
  • refactor: separate PathWorker and StdInWorker and Worker ef3d8ad
  • test: add test cases for sg scan ed35c71
  • fix: revert github action a2f22d8

15 December 2023

  • Breaking change: feat: reduce metavar_env string allocation e1ab015
  • Breaking change: fix: remove pattern as replacer f6e4293
  • Breaking change: feat: better metavar detection e1ab18a

11 December 2023

  • fix: use tempfile to remove vuln #765
  • chore(deps): update dependency typescript to v5.3.3 dbac17d
  • chore(deps): update dependency @napi-rs/cli to v2.17.0 f2d32be
  • chore(deps): update dependency prettier to v3.1.1 990f09b

10 December 2023

  • feat: add getTransformed in napi #551
  • fix: load custom languages in new command #751
  • chore(deps): update dependency ava to v6 496eb9d
  • feat: add support for Elixir 57edde1
  • feat: rename fixer to TemplateFix 5b53ce0

2 December 2023

  • fix: update line number color #739
  • test: add test case for running sg without arg #748
  • fix(deps): update dependency @babel/core to v7.23.5 21e404c
  • fix(deps): update dependency @swc/core to v1.3.100 941bffe
  • test: add tes for lang_globs a16001c

30 November 2023

30 November 2023

  • feat: add languageGlobs #601
  • doc: import config reference link in error message #736
  • fix: report error for wrong config file #736
  • feat: support register alias language for extension override #601
  • chore(deps): update dependency typescript to v5.3.2 55a43bd
  • fix: remove alias languages 1f26f62
  • feat: support language globs fafd27c

20 November 2023

  • chore: add cargo fmt/clippy to CI pipeline #698
  • refactor: better reusability code for benchmark 775cee4
  • feat: add async call 11cf0dd
  • feat: support napi's parseAsync ac78bc0

15 November 2023

  • Breaking change: fix: use ansi by default on windows #680
  • fix: guard against wrong tree-sitter traversal #713
  • docs(binding/py): basic readme 2d39b9b
  • fix(deps): update dependency @oxidation-compiler/napi to ^0.2.0 d64c09b
  • feat: rename ast-grep-py 3e891c0

5 November 2023

  • feat: support pyo3 TypedDict #389
  • chore(deps): update yarn to v4 818bcc2
  • refactor: move node outside 40028b0
  • chore: formatting 254e0de

15 October 2023

  • fix: rewrite out of bound panic #668
  • chore: bump windows action version #620
  • fix: correct stopBy json schema #666
  • feat: cargo xtask schema for rule's JSON schema #665
  • feat: add json schema 73d6299
  • feat: initialize pyo3 810c454
  • feat: update rules field doc c9d611d

3 October 2023

  • fix: fix word split after delimiter appear b1bcd61

3 October 2023

  • fix: correct indent for multiple MV in same line #647
  • Breaking change: feat: change string case interface 4b60f82
  • feat: add string split fe52289
  • feat:change string case name and implement conversion f073ee3

29 September 2023

  • Add identifier convention conversions #638
  • Breaking change: feat: change API name toCase fa50666
  • fix: make code compiles 8f29f4f
  • fix: remove unused func temporarily 710f76e

13 September 2023

  • Implement string conversions described in #436 as a stand-alone chainable convert transform dc1e435
  • Move structs around in transform.rs for better readability 95a9ab8
  • fix(deps): update rust crate serde_json to 1.0.106 b41cfc0

9 September 2023

  • chore(deps): update dependency windows to v2022 #623
  • Breaking change: feat: interactive print one item a time #444
  • refactor: mvoe combined scan to config crate #626
  • test: add test for test case #553
  • Breaking change: feat: revamp diff printing schema 2b30111
  • Breaking change: feat: accept multiple scanning 4860aa4
  • refactor: move reporter out of verify.rs 58fb152

17 August 2023

  • feat: support context lines in JSON mode #585
  • fix(cli): update typos and usage instructions 9fcf34f
  • fix: lock maturin version 83608ac
  • fix: allow newer maturin 3704f63

13 August 2023

  • feat: Rename scan --rule-id → scan --filter #596
  • feat: improve completions command #595
  • Breaking change: feat: test -f now accepts regex 6465200
  • Breaking change: fix: remove -f -F short form argument d6d2c23
  • feat: add option scan --rule-id <rule_id>… a424121

4 August 2023

  • [feat] Make CLI reports a soft warning if query is invalid #575
  • feat: improve swift support #573
  • doc: add descriptions and links in npm page 3be3764
  • feat: implement soft error reporting c581c34
  • fix: show at least three lines of context in diffing ff61688

30 July 2023

  • feat: support multiple JSON printing style #561
  • refactor: move output related arguments out #539
  • feat: improve readability of argument value #546
  • feat: use checked_ilog10 to reduce string allocation #550
  • feat: nicer line number printing color #547
  • refactor: move common input args out a9bd29a
  • refactor: reorganize utils files and add comments 19dacf8
  • feat(test): add test case filter for sg test 52f51e9

27 July 2023

  • feat: add before/after context #464
  • test: move test out and fix heading never 67037aa
  • test: add json print test 374db3b
  • fix: fix display context 08a52d1

22 July 2023

  • feat(language): add initial support for JSON #522
  • test: add lua language test #519
  • feat: Support meta-variable in ERROR #526
  • infra: add napi benckmark #442
  • feat: support GitHub format #499
  • fix: tweak style 6ec490b
  • chore(deps): update yarn to v3.6.1 23a2684
  • fix(deps): update dependency @oxidation-compiler/napi to ^0.1.0 492d5c8

16 July 2023

  • fix: fix wrong text #517
  • feat: support ruby language #518
  • refactor: use macro to unify language impl #516
  • fix: fix kotlin grammar e7faadb
  • test: add test for diff printing 5330149
  • fix(deps): update rust crate dashmap to 5.5.0 05282aa

15 July 2023

  • Breaking change: feat: unify --accept-all and --update-snapshots to --update-all #513
  • Breaking change: infra: add breaking change in changelog #514
  • Breaking change: feat: change line separator to colon : in CLI output #512
  • fix: tsx should only discover *.tsx, ts discover only *.ts #502
  • refactor: refactor path to parallelwalk d697aad
  • fix(deps): update rust crate globset to 0.4.11 3da277f
  • test: add test for sg test command arg parsing 2735057

10 July 2023

  • feat: add changelog to tag release #498
  • feat: add changelog to release #498
  • napi: add napi declaration e897d93
  • feat: change --no-stdin to --stdin 1e26573
  • fix: update napi typing doc 59dfcb7

9 July 2023

  • feat: add getRoot for SgNode #497
  • feat: add option to disable a rule #489
  • feat: add pattern fixed string optimizer #349
  • feat: add support for --no-stdin #490
  • feat: change language implementations 7525927
  • test: add test for sg scan with off-rule 0eeb99d
  • fix: change returning type 10e676b

29 June 2023

  • feat: add supported languages in help string #482
  • feat: add Scala support 84492b9
  • feat: improve language's crate's organization 429aa35
  • feat: Use existing language FromStr impl when Deserializing ad0e9a6

25 June 2023

  • feat: support scan from stdin #397
  • feat: support search code from stdin #397
  • doc: add pip install option #465
  • feat: support stdin as input 2e8f0ef
  • fix(deps): update rust crate toml_edit to 0.19.11 f0facff
  • fix: remove redundant line number highlighting aaae3a3

23 June 2023

19 June 2023

  • chore: update changelog 962246b
  • fix: add cpp to non-builtin parser 0a473c9

19 June 2023

  • feat: support check multivar pattern equality #460
  • feat(language): add initial support for C++ 9315571
  • doc: add docs string for all core modules e0214f7
  • test: add test for transform 100f081

17 June 2023

11 June 2023

  • chore: move test cases location 3c0276e
  • feat: add support for transform 47feee1
  • refactor: move get text to meta_var 5692c26

6 June 2023

6 June 2023

  • fix: reindent back into src code a522875
  • perf: remove all possible allocations 45558a5
  • fix: use Cow to otpimize allocation b4c85b3

5 June 2023

  • feat: add indentation sensitive replacement #394
  • fix: use ubuntu20.04 instead of latest #416
  • refactor: refine replacer modules 79dc46b
  • test: add root replacer test back 99aa031
  • feat: add design notes for indentation sensitive fixer 9c8cc05

29 May 2023

  • wildcard and spread rust tests #415
  • fix: fix multi variate capturing hangs #411
  • feat: smarter matching algorithm #374
  • chore(deps): update dependency ava to v5.3.0 67e8ec1
  • test: add test for match end 3e61667
  • chore(deps): update rust crate criterion to 0.5 3579862

25 May 2023

  • fix: bump tree-sitter-facade version and support next_all on web a48ba62
  • fix: update tree-sitter-facade version 8e44f6a
  • chore: update changelog 78f751a

24 May 2023

24 May 2023

  • fix: implement generic Doc replacer for pattern #405
  • fix: use get_range instead as_slice to handle byte_offset and underlying arry size #400
  • chore: bump version 998691d
  • feat: support generic new Pattern/Root from str 36d91e7
  • chore: use workspace package info 960fa8d

18 May 2023

  • perf: optimize relational rule's stopBy: neighbor #358
  • perf: optimize node's next_all by tree-cursor #358
  • test: add test for node operators ac38cb8
  • refactor: add comments for ansi link d9ebbe5
  • test: add test for precedes/follows serialization 1d7d8ff

13 May 2023

  • docs: fix readme typo #366
  • chore: add cargo build before git tag #367
  • 0.5.2 bump version 54ba0a7
  • feat: add go setting a1d579b
  • fix: fix fmt and clippy efab639

12 May 2023

12 May 2023

  • feat: provide additional binary name ast-grep #361
  • fix: support custom lang for sg run #357
  • feat: support dynamic lib loading #347
  • feat: replace SupportLanguage with SgLang f6014f9
  • Used result in test code to remove unwrap 07bcf7e
  • feat: improve implementation of dynamic lang 3757887

23 April 2023

23 April 2023

  • feat: reduce MetaVarEnv cloning in any #217
  • fix: support correct row/col offset for napi! #336
  • refactor: break down napi modules 67062a6
  • feat: migrate node 5e15d8d
  • feat: change ts_parser to source a3bef23

6 April 2023

  • infra: add criterion benchmark #141
  • feat: Add edit option for rules without fix #297
  • feat: optimize readability of test output #293
  • test: add integration test for run #292
  • refactor: move out lib and main a95c19e
  • fix(deps): update rust crate clap to 4.2.1 b3fb9c9
  • feat: add base_dir for new command 2a75a0a

11 March 2023

  • fix: find_rule should also find contingent rule #286
  • feat: create new project/util/rule command #266
  • feat: add write sgconfig 750df87
  • feat: rename find_config to find_rules 8e5a181
  • 0.3.2 bump version 4f41f46

28 February 2023

  • fix: fix panic when matching root node #275
  • 0.3.1 bump version 703467e
  • fix: fix napi error 3d305a6
  • chore: bump version a25bef1

28 February 2023

  • fix: add is_named_leaf #276
  • fix: report indirect cyclic dependencies #272
  • fix: register global rules by dependent order #269
  • [feature] register util rules by their topological sort order #270
  • feat: change stopBy default value to neighbor #265
  • feat: add global utils #250
  • feat: add thrift support #255
  • fix: avoid strong reference in ReferentRule #253
  • refactor: factor out deserialize rule a6207ae
  • refactor: move stop_by to separate file 398c53d
  • refactor: reorganize rule and serialization 37a303f

8 February 2023

  • feat: add maybe to differentiate null/missing/value #241
  • feat: add error exit code #238
  • refactor: disable color by default if output is not tty #239
  • feat: unify immediate and until to stopBy ff69866
  • 0.2.6 bump version 136a75f
  • feat: support field in Inside c503f0f

4 February 2023

  • feat: improve napi error message #227
  • feat: add reference 303ec8c
  • feat: add find_in_files 07735df
  • feat: add napi findInFiles 3f4e847

29 January 2023

  • perf: use potential_kinds for more scenarios #221
  • refactor: remove var_matchers from MetaVarEnv #218
  • refactor: remove get meta_var_matchers in Matcher #218
  • refactor: split scan and run bf1e7e2
  • Revert "perf: use potential_kinds for more scenarios" c264e32
  • refactor: remove duplicate MatchUnit/filter_file ab2222e

27 January 2023

  • feat: make inside util inclusive #205
  • feat: support search multiple paths #207
  • fix: use return number for napi #205
  • 0.2.3 bump version 753e972
  • refactor: use stop_by for all relational rule 279edeb
  • refactor: cleaner StopBy matching 974a307

25 January 2023

24 January 2023

24 January 2023

  • feat: support multi node pattern #199
  • [refactor] Extract a match node iterator function in matcher_tree #199
  • feat: print out serialized rule message #200
  • fix: fix nested leaf match crash in non-entrant traversal #197
  • feat: add Dart support #172
  • fix: fix wrong line number in diff #192
  • feat: support inclusive until #191
  • feat: allow shorthands to combine all rule kinds 51f72db
  • refactor: refactor deser for better error message f28f964
  • 0.2.0 bump version e580932

16 January 2023

  • fix: revert write env for unmatched pattern #190
  • fix: fix Has relation #188
  • feat: add rule info to config fixer #122
  • refactor: deduplicate json printer code #185
  • feat: add regex matcher 0a40ed2
  • 0.1.18 bump version bfdde22
  • feat: add debugging assert 5b17e8b

15 January 2023

  • feat: add error handling for parsing RuleConfig #182
  • feat: better error handling in constraints config #181
  • feat: improve error handling in config #181
  • 0.1.17 bump version 0a638f1
  • feat: add try_new for pattern creation a9510d2
  • refactor: cleanup public API 875ef1e

14 January 2023

  • fix(deps): update rust crate ignore to 0.4.19 #165
  • fix(deps): update rust crate globset to 0.4.10 #164
  • feat: support --no-ignore for scan/test #162
  • fix: fix two adjacent sticking but not overlapping matches #171
  • feat: add source 1a23b6a
  • 0.1.16 bump version 8cc6765
  • feat: add adopt method to safely create Node 6ea01ae

8 January 2023

  • feat: make tree-sitter-* parsers optional dependencies #160
  • 0.1.15 bump version fa56cf1
  • refactor: use macro to abstract away repetitive lang method impl fb58b15
  • feat: edit cargo toml 1611af5

4 January 2023

  • chore(deps): update dependency @napi-rs/cli to v2.14.0 #149
  • fix(deps): update rust crate num_cpus to 1.15.0 #147
  • fix(deps): update rust crate clap to 4.0.32 #145
  • chore(deps): update robinraju/release-downloader action to v1.7 #146
  • fix(deps): update rust crate serde_json to 1.0.91 #136
  • fix(deps): update rust crate serde_yaml to 0.9.16 #137
  • fix(deps): update rust crate serde_yaml to 0.9.15 #116
  • feat: merge adjacent matches in match printing #134
  • feat: refactor printers to accept output destination #153
  • feat: add traversal mod for sg-core #152
  • [refactor] simplify Matcher trait #151
  • feat: move interactive printer #135
  • feat: implement better heading show #150
  • test: add test for command arg parsing #128
  • feat: support run only one rule for scanning #139
  • feat: support color control on run/scan output #131
  • fix: fix stackoverflow in find_node_impl #148
  • feat: add labels and env info to json output #121
  • refactor: abstract out scan as worker #138
  • refactor: use mpsc for non-interactive output #125
  • feature: extract out a language crate #126
  • refactor: remove some inner call #3
  • refactor: extract out two printers 9328cd7
  • feat: fix interactive print rule 17fbaf0
  • feat: migrate run with specific lang ea46263

18 December 2022

  • fix(deps): update rust crate serde_json to 1.0.90 #115
  • Update dependency @napi-rs/cli to v2.13.3 #114
  • feat: implement proper json output 0c031c1
  • chore: add changelog d6fc114
  • feat: add json output support f33e39f

15 December 2022

  • Update dependency @napi-rs/cli to v2.13.2 #103
  • Update dependency typescript to v4.9.4 #104
  • Update Rust crate tree-sitter-java to 0.20.0 #105
  • Update dependency chalk to v5.2.0 #106
  • feat: use better color output for readability #111
  • feat: support version and help argument #110
  • fix: skip extremely large file #109
  • 0.1.12 bump version 5ea05eb
  • fix: use get_matcher instead of get_rule in verify 4b4ea8e
  • fix: better large file detection 293a5c8

11 December 2022

  • 0.1.11 bump version 1ba3c13
  • feat: add get all keys in meta var env 8203945

7 December 2022

  • Update Rust crate clap to 4.0.29 #102
  • Update Rust crate serde_json to 1.0.89 #101
  • Update Rust crate clap to 4.0.28 #100
  • Update dependency @napi-rs/cli to v2.13.0 #99
  • Update dependency ava to v5.1.0 #97
  • Update dependency typescript to v4.9.3 #98
  • Update Rust crate similar to 2.2.1 #95
  • Update dependency @napi-rs/cli to v2.12.1 #92
  • Update Rust crate clap to 4.0.23 #91
  • chore: break down matcher to smaller files and add potential kind 74e5e7d
  • feat: improve contingent rule handling 9c500af
  • feat: add augmented rules c7dc0fe

5 November 2022

  • Update Rust crate regex to 1.7.0 #88
  • feat: add contingent rules with tests #82
  • Update Rust crate clap to 4.0.19 #83
  • Update Rust crate tree-sitter-lua to 0.0.14 #84
  • Update Rust crate num_cpus to 1.14.0 #86
  • Update Rust crate tree-sitter-rust to 0.20.3 #85
  • 0.1.9 bump version 0ddb562

31 October 2022

  • Update robinraju/release-downloader action to v1.6 #81
  • refactor: move relational rule outside 4c5321d
  • test: add test for inside/has 428dd62
  • fix: fix precedes/follows operator 020bb3c

27 October 2022

  • Update dependency ava to v5 #77
  • Update Rust crate serde_yaml to 0.9.14 #76
  • Update Rust crate clap to 4.0.18 #74
  • Update Rust crate serde_json to 1.0.87 #75
  • Update dependency chalk to v5.1.2 #73
  • Update dependency @napi-rs/cli to v2.12.0 #66
  • Update Rust crate serde_json to 1.0.86 #70
  • Update Rust crate tree-sitter-swift to 0.3.4 #69
  • Update dependency chalk to v5.1.0 #67
  • Revert "Update dependency @swc-node/register to v1.5.2 (#62)" #64
  • 0.1.6 fix napi d2501ed
  • [feat] refine test command 3802816
  • [feat] add test command e45039e

3 October 2022

  • Update dependency typescript to v4.8.4 #63
  • Update dependency @swc-node/register to v1.5.2 #62
  • fix(52): normalize file path output in command line #55
  • [docs] add interactive argument explanation #59
  • [chore] migrate github pages cc38e5a
  • [feat] better error reporting 8e94d1e
  • [feat] add lsp fixing 9f3754b

21 September 2022

  • [feat] more thorough napi support 6b2bfe0
  • 0.1.4 remove optional dep 84b0e59
  • [feat] add support for rule matching in napi 78dbe99

19 September 2022

  • [chore] remove unsupported packages dba569b
  • 0.1.4 fix napi package 233be67

19 September 2022

  • Update dependency vite to v3.1.2 #46
  • Update dependency @algolia/client-search to v4.14.2 #47
  • Update Rust crate tree-sitter-lua to 0.0.13 #44
  • Update Rust crate tree-sitter-swift to 0.3.3 #45
  • Update Rust crate clap to 3.2.22 #42
  • Pin dependencies #41
  • Update Rust crate serde_yaml to 0.9.13 #43
  • [fix] reimplement language Python to override expando_char #40
  • Update dependency vue to v3.2.39 #34
  • Update dependency vue-tsc to v0.40.13 #35
  • Update dependency @vitejs/plugin-vue to v3.1.0 #36
  • Update dependency vite to v3.1.0 #37
  • Update dependency detect-libc to v2 #39
  • Update actions/checkout action to v3 #38
  • Update dependency typescript to v4.8.3 #33
  • Pin dependency detect-libc to v1.0.3 #32
  • [feat] use vitepress to host docs ad09d42
  • [feat] add YAML config to playground e54b244
  • [feat] improve styling e8d4f0d

6 September 2022

  • Update dependency vue-tsc to v0.40.6 #29
  • Update dependency web-tree-sitter to v0.20.7 #28
  • Update Rust crate clap to 3.2.20 #27
  • Update Rust crate serde_yaml to 0.9.11 #18
  • Update dependency vue-tsc to v0.40.5 #26
  • Update Rust crate clap to 3.2.19 #24
  • Update Rust crate dashmap to 5.4.0 #25
  • Pin dependencies #20
  • Update dependency vue to v3.2.38 #23
  • Update Rust crate tree-sitter-swift to 0.3.2 #16
  • Update Rust crate similar to 2.2.0 #19
  • Update Rust crate tree-sitter-lua to 0.0.12 #14
  • Update Rust crate tree-sitter-swift to 0.3.1 #15
  • Update Rust crate clap to 3.2.17 #10
  • Update Rust crate tree-sitter-c to 0.20.2 #13
  • Update Rust crate console_error_panic_hook to 0.1.7 #12
  • Pin dependencies #9
  • Configure Renovate #1
  • [fix] Add Rust exmaple test, fix #6 #6
  • [feat] add napi support 532f055
  • [feat]: add csharp 9a14a4b
  • [fix] update napi ae6d5f1

23 August 2022

v0.1.0

5 September 2022

  • Update dependency vue-tsc to v0.40.6 #29
  • Update dependency web-tree-sitter to v0.20.7 #28
  • Update Rust crate clap to 3.2.20 #27
  • Update Rust crate serde_yaml to 0.9.11 #18
  • Update dependency vue-tsc to v0.40.5 #26
  • Update Rust crate clap to 3.2.19 #24
  • Update Rust crate dashmap to 5.4.0 #25
  • Pin dependencies #20
  • Update dependency vue to v3.2.38 #23
  • Update Rust crate tree-sitter-swift to 0.3.2 #16
  • Update Rust crate similar to 2.2.0 #19
  • Update Rust crate tree-sitter-lua to 0.0.12 #14
  • Update Rust crate tree-sitter-swift to 0.3.1 #15
  • Update Rust crate clap to 3.2.17 #10
  • Update Rust crate tree-sitter-c to 0.20.2 #13
  • Update Rust crate console_error_panic_hook to 0.1.7 #12
  • Pin dependencies #9
  • Configure Renovate #1
  • fix(playground): color in dark mode #2
  • [fix] Add Rust exmaple test, fix #6 #6
  • [feat] add napi support 532f055
  • initial commit 94db982
  • [feat] initial wasm research 041cc64