Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
577 commits
Select commit Hold shift + click to select a range
b8d78df
chore(deps): update dependency prettier to v3 (#360)
renovate[bot] Jul 17, 2023
1f8ec6e
chore(deps): update dependency @types/jest to v29.5.3 (#361)
renovate[bot] Jul 24, 2023
371ae06
chore(deps): update dependency eslint-plugin-jest to v27.2.3 (#362)
renovate[bot] Jul 24, 2023
98e99ac
chore(deps): update dependency @types/node to v18.17.1 (#363)
renovate[bot] Jul 31, 2023
527bb89
chore(deps): update dependency eslint to v8.45.0 (#364)
renovate[bot] Jul 31, 2023
e972d98
chore(deps): update dependency jest to v29.6.2 (#365)
renovate[bot] Aug 7, 2023
dc8329f
chore(deps): update dependency prettier to v3.0.1 (#368)
renovate[bot] Aug 14, 2023
c8b3bd5
chore(deps): update dependency @types/node to v18.17.5 (#367)
renovate[bot] Aug 14, 2023
c07fa17
chore(deps): update dependency eslint to v8.47.0 (#370)
renovate[bot] Aug 21, 2023
cfc5b8c
chore(deps): update actions/setup-node action to v3.8.1 (#369)
renovate[bot] Aug 22, 2023
5a52806
chore(deps): update dependency prettier to v3.0.3 (#372)
renovate[bot] Sep 11, 2023
f84dcdc
chore(deps): update dependency @types/node to v18.17.15 (#371)
renovate[bot] Sep 11, 2023
84251cd
fix(deps)!: drop support for Node 16 (#373)
tido64 Sep 13, 2023
f899210
chore(deps): update actions/checkout action to v4 (#374)
renovate[bot] Sep 13, 2023
78477b5
docs: remove LGTM badge [skip ci] (#375)
tido64 Sep 13, 2023
ffe17fb
test: replace mocks (#376)
tido64 Sep 13, 2023
095c464
chore(deps): update dependency semantic-release to v22 (#327)
renovate[bot] Sep 18, 2023
8c1cc9a
chore(deps): update dependency @types/jest to v29.5.5 (#377)
renovate[bot] Sep 25, 2023
c2c79b8
chore(deps): update dependency eslint-plugin-jest to v27.4.0 (#379)
renovate[bot] Sep 25, 2023
a5b063e
chore(deps): update dependency @types/node to v18.17.17 (#378)
renovate[bot] Sep 25, 2023
fbb55b2
chore(deps): bump semver from 6.3.0 to 6.3.1 (#380)
dependabot[bot] Sep 25, 2023
108a9ef
chore(deps): update dependency semantic-release to v22.0.5 (#381)
renovate[bot] Oct 2, 2023
467f956
chore(deps): update dependency eslint-plugin-jest to v27.4.2 (#383)
renovate[bot] Oct 9, 2023
12c2776
chore(deps): update dependency @types/node to v18.18.4 (#384)
renovate[bot] Oct 9, 2023
35f80dd
chore(deps): update dependency eslint to v8.51.0 (#385)
renovate[bot] Oct 9, 2023
8ac7d85
test: use Node test runner (#387)
tido64 Oct 10, 2023
0d69082
fix(deps): update @octokit dependencies (#382)
renovate[bot] Oct 10, 2023
277f236
chore(deps): update dependency @types/node to v18.18.6 (#389)
renovate[bot] Oct 23, 2023
f4e2bea
chore(deps): update dependency @octokit/plugin-rest-endpoint-methods …
renovate[bot] Oct 23, 2023
9541014
chore(deps): update dependency @types/node to v20 (#392)
renovate[bot] Oct 30, 2023
b640be3
chore(deps): update dependency eslint to v8.52.0 (#391)
renovate[bot] Oct 30, 2023
26d0321
chore(deps): update actions/setup-node action to v3.8.2 (#393)
renovate[bot] Nov 6, 2023
4248975
chore(deps): update dependency @octokit/plugin-rest-endpoint-methods …
renovate[bot] Nov 6, 2023
4eec08d
chore(deps): update dependency @types/node to v20.8.10 (#395)
renovate[bot] Nov 13, 2023
e6cd595
chore(deps): update dependency semantic-release to v22.0.7 (#396)
renovate[bot] Nov 13, 2023
cbadba7
fix(deps): update dependency @octokit/plugin-rest-endpoint-methods to…
renovate[bot] Nov 20, 2023
f05edf9
chore(deps): update dependency eslint to v8.53.0 (#398)
renovate[bot] Nov 20, 2023
8650534
chore(deps): update yarn to v3.7.0 (#388)
renovate[bot] Nov 22, 2023
f583e44
chore(deps): update dependency @types/node to v20.9.2 (#399)
renovate[bot] Nov 27, 2023
9601742
chore(deps): update dependency semantic-release to v22.0.8 (#400)
renovate[bot] Nov 27, 2023
321246a
chore(deps): update dependency @octokit/core to v5.0.2 (#401)
renovate[bot] Dec 4, 2023
9f97be8
chore(deps): update dependency prettier to v3.1.0 (#402)
renovate[bot] Dec 4, 2023
89b747e
chore(deps): update dependency @types/node to v20.10.3 (#403)
renovate[bot] Dec 11, 2023
6563613
chore(deps): update dependency eslint to v8.55.0 (#404)
renovate[bot] Dec 11, 2023
14198c2
chore(deps): update dependency prettier to v3.1.1 (#405)
renovate[bot] Dec 18, 2023
98638a0
chore(deps): update dependency semantic-release to v22.0.10 (#406)
renovate[bot] Dec 18, 2023
d69b632
fix: replace `commander` with `util.parseArgs` (#407)
tido64 Dec 18, 2023
fdf7620
chore: migrate to ESLint flat config (#408)
tido64 Dec 18, 2023
993d3d4
chore(deps): update dependency typescript to v5.3.3 (#409)
renovate[bot] Dec 18, 2023
b2fa681
chore(deps): update dependency @octokit/plugin-rest-endpoint-methods …
renovate[bot] Dec 18, 2023
b0ae426
chore(deps): update actions/setup-node action to v4 (#411)
renovate[bot] Dec 18, 2023
5e0e0b9
chore(deps): update yarn to v4 (#412)
renovate[bot] Dec 18, 2023
31f2b64
docs: update `README` [skip ci] (#413)
tido64 Dec 18, 2023
eff4836
chore(deps): update actions/setup-node action to v4.0.1 (#414)
renovate[bot] Dec 25, 2023
04ec7ad
chore(deps): update dependency @types/node to v20.10.5 (#415)
renovate[bot] Dec 25, 2023
614f5b0
chore(deps): update github/codeql-action action to v3 (#416)
renovate[bot] Jan 1, 2024
3919ce3
chore(deps): update dependency @types/node to v20.10.7 (#417)
renovate[bot] Jan 8, 2024
481e463
chore(deps): update dependency @types/node to v20.11.5 (#418)
renovate[bot] Jan 22, 2024
cec8f85
chore(deps): update dependency @types/node to v20.11.16 (#420)
renovate[bot] Feb 5, 2024
d3e2b26
chore(deps): update dependency @octokit/core to v5.1.0 (#421)
renovate[bot] Feb 5, 2024
7ee8aaf
chore(deps): update dependency prettier to v3.2.5 (#419)
renovate[bot] Feb 11, 2024
212cbd7
chore(deps): update yarn to v4.1.0 (#422)
renovate[bot] Feb 12, 2024
20820bc
chore(deps): update dependency azure-devops-node-api to v12.4.0 (#423)
renovate[bot] Feb 12, 2024
0776e02
chore(deps): update actions/setup-node action to v4.0.2 (#424)
renovate[bot] Feb 19, 2024
f282152
chore(deps): update dependency @types/node to v20.11.19 (#425)
renovate[bot] Feb 19, 2024
e28e113
chore(deps): update dependency @octokit/plugin-rest-endpoint-methods …
renovate[bot] Feb 26, 2024
8c5cfc5
chore(deps): update actions/cache action to v4 (#427)
renovate[bot] Feb 26, 2024
c96d832
chore(deps): update dependency @types/node to v20.11.24 (#428)
renovate[bot] Mar 4, 2024
48d42a3
chore(deps): update dependency eslint to v8.57.0 (#429)
renovate[bot] Mar 4, 2024
fc71c5e
chore(deps): update dependency @octokit/plugin-rest-endpoint-methods …
renovate[bot] Mar 11, 2024
9239dce
fix: fix positional argument not being used when not TTY (#431)
tido64 Mar 11, 2024
23ce721
chore(deps): update dependency semantic-release to v23 (#433)
renovate[bot] Mar 11, 2024
f01a161
chore(deps): update dependency @types/node to v20.11.28 (#434)
renovate[bot] Mar 18, 2024
6445d64
chore(deps): update dependency typescript to v5.4.2 (#436)
renovate[bot] Mar 18, 2024
6669b1a
feat: package is now ESM (#439)
tido64 Mar 18, 2024
569f647
docs: update `README.md` [skip ci]
tido64 Mar 18, 2024
5025177
chore(deps): update dependency semantic-release to v23.0.6 (#435)
renovate[bot] Mar 25, 2024
a436d92
chore(deps): update dependency @types/node to v20.12.2 (#441)
renovate[bot] Apr 1, 2024
c67adad
chore(deps): update dependency typescript to v5.4.3 (#442)
renovate[bot] Apr 1, 2024
3a39995
fix(deps): update dependency azure-devops-node-api to v13 (#443)
renovate[bot] Apr 8, 2024
47f1092
chore(deps): update dependency @types/node to v20.12.7 (#444)
renovate[bot] Apr 15, 2024
cc77ef8
chore(deps): update dependency semantic-release to v23.0.8 (#445)
renovate[bot] Apr 15, 2024
5544828
chore(deps): update dependency typescript to v5.4.5 (#446)
renovate[bot] Apr 22, 2024
f17b229
fix(deps): update dependency @octokit/plugin-rest-endpoint-methods to…
renovate[bot] Apr 22, 2024
fa09104
chore(deps): update eslint to v9 (major) (#448)
renovate[bot] Apr 22, 2024
38fd08e
chore(deps): update dependency eslint to v9.2.0 (#450)
renovate[bot] May 6, 2024
35b9fcb
chore(deps): update dependency @octokit/plugin-rest-endpoint-methods …
renovate[bot] May 6, 2024
4fd6621
chore(deps): update dependency @types/node to v20.12.11 (#452)
renovate[bot] May 13, 2024
67ae97e
chore(deps): update yarn to v4.2.1 (#453)
renovate[bot] May 13, 2024
dee2bb7
chore(deps): update yarn to v4.2.2 (#454)
renovate[bot] May 19, 2024
f35a7cd
chore(deps): update dependency semantic-release to v23.1.1 (#455)
renovate[bot] May 20, 2024
d480c23
chore: remove codecov (#456)
tido64 May 20, 2024
c2f2161
chore(deps): update dependency @types/node to v20.12.12 (#457)
renovate[bot] May 27, 2024
82bd03f
chore(deps): update eslint to v9.3.0 (#458)
renovate[bot] May 27, 2024
a98c500
chore(deps): update dependency @types/node to v20.14.2 (#459)
renovate[bot] Jun 9, 2024
eed3fd7
chore(deps): update dependency prettier to v3.3.1 (#460)
renovate[bot] Jun 9, 2024
c3853d1
chore(deps): update eslint to v9.4.0 (#461)
renovate[bot] Jun 10, 2024
54de98e
chore(deps): update dependency semantic-release to v24 (#462)
renovate[bot] Jun 10, 2024
9535948
chore(deps): bump braces from 3.0.2 to 3.0.3 (#463)
dependabot[bot] Jun 16, 2024
39b9597
chore(deps): update dependency prettier to v3.3.2 (#464)
renovate[bot] Jun 24, 2024
d792293
chore(deps): update eslint to v9.5.0 (#465)
renovate[bot] Jun 24, 2024
6a36cab
chore(deps): update yarn to v4.3.1 (#466)
renovate[bot] Jun 28, 2024
2e94852
chore(deps): update dependency @types/node to v20.14.9 (#467)
renovate[bot] Jul 1, 2024
93319d1
chore(deps): update dependency typescript to v5.5.2 (#468)
renovate[bot] Jul 1, 2024
df6ef7a
chore(deps): update actions/setup-node action to v4.0.3 (#470)
renovate[bot] Jul 15, 2024
1df18dc
chore(deps): update dependency @types/node to v20.14.10 (#471)
renovate[bot] Jul 15, 2024
924ef27
chore(deps): update dependency typescript to v5.5.3 (#472)
renovate[bot] Jul 15, 2024
3f454ed
chore(deps): update dependency @octokit/plugin-rest-endpoint-methods …
renovate[bot] Jul 15, 2024
efed159
chore(deps): update dependency prettier to v3.3.3 (#474)
renovate[bot] Jul 22, 2024
73712ff
chore(deps): update eslint to v9.7.0 (#475)
renovate[bot] Jul 22, 2024
2e4597a
chore(deps): update dependency @types/node to v20.14.13 (#476)
renovate[bot] Jul 29, 2024
d38db0a
chore(deps): update dependency typescript to v5.5.4 (#477)
renovate[bot] Aug 5, 2024
fa47cdf
chore(deps): update eslint to v9.8.0 (#478)
renovate[bot] Aug 5, 2024
3fd0cca
chore(deps): update dependency @types/node to v20.14.15 (#479)
renovate[bot] Aug 12, 2024
b467fdf
chore(deps): update eslint to v9.9.0 (#481)
renovate[bot] Aug 19, 2024
52db08b
chore(deps): update dependency @types/node to v20.16.0 (#482)
renovate[bot] Aug 26, 2024
055983b
chore(deps): update dependency semantic-release to v24.1.0 (#483)
renovate[bot] Aug 26, 2024
9808f9e
chore(deps): bump micromatch from 4.0.4 to 4.0.8 (#484)
dependabot[bot] Aug 26, 2024
e438213
chore(deps): update eslint to v9.9.1 (#485)
renovate[bot] Sep 2, 2024
0dc2449
chore(deps): update yarn to v4.4.1 (#480)
renovate[bot] Sep 2, 2024
c113b37
chore(deps): update dependency @types/node to v20.16.5 (#486)
renovate[bot] Sep 9, 2024
0ddafbe
chore(deps): update eslint to v9.10.0 (#487)
renovate[bot] Sep 16, 2024
7c31e94
chore(deps): update dependency typescript to v5.6.2 (#489)
renovate[bot] Sep 23, 2024
a010477
chore(deps): update actions/setup-node action to v4.0.4 (#490)
renovate[bot] Sep 30, 2024
bd89674
chore(deps): update eslint to v9.11.1 (#491)
renovate[bot] Sep 30, 2024
d562c19
chore(deps): update dependency @types/node to v20.16.10 (#492)
renovate[bot] Oct 7, 2024
6002fad
chore(deps): update dependency @octokit/plugin-rest-endpoint-methods …
renovate[bot] Oct 7, 2024
c4d5b3e
chore(deps): update dependency semantic-release to v24.1.2 (#488)
renovate[bot] Oct 7, 2024
0136160
chore(deps): update eslint to v9.12.0 (#494)
renovate[bot] Oct 14, 2024
e668c77
chore(deps): update dependency @rnx-kit/tsconfig to v2 (#496)
renovate[bot] Oct 14, 2024
e4e147a
chore(deps): update dependency @types/node to v20.16.13 (#497)
renovate[bot] Oct 21, 2024
7993274
chore(deps): update dependency typescript to v5.6.3 (#498)
renovate[bot] Oct 21, 2024
a6467e2
chore(deps): update yarn to v4.5.1 (#495)
renovate[bot] Oct 26, 2024
690d278
chore(deps): update dependency semantic-release to v24.1.3 (#499)
renovate[bot] Oct 28, 2024
be1aae4
chore(deps): update eslint to v9.13.0 (#500)
renovate[bot] Oct 28, 2024
725fbf5
chore(deps): update actions/setup-node action to v4.1.0 (#501)
renovate[bot] Nov 4, 2024
dce422c
chore(deps): update dependency @types/node to v20.17.1 (#502)
renovate[bot] Nov 4, 2024
68fcf8f
chore(deps): bump @eslint/plugin-kit from 0.2.0 to 0.2.3 (#504)
dependabot[bot] Nov 16, 2024
09e80ba
chore(deps): bump cross-spawn from 7.0.3 to 7.0.5 (#505)
dependabot[bot] Nov 16, 2024
4984b6a
chore(deps): update eslint to v9.15.0 (#506)
renovate[bot] Nov 18, 2024
f2afcc7
chore(deps): update dependency @types/node to v20.17.9 (#507)
renovate[bot] Dec 2, 2024
c7c4ed1
chore(deps): update dependency prettier to v3.4.1 (#509)
renovate[bot] Dec 9, 2024
280e3b9
chore(deps): update yarn to v4.5.3 (#508)
renovate[bot] Dec 9, 2024
4bf2667
chore(deps): update dependency typescript to v5.7.2 (#510)
renovate[bot] Dec 16, 2024
eab3ecb
chore(deps): update eslint to v9.17.0 (#511)
renovate[bot] Dec 16, 2024
ede6c45
chore(deps): update dependency @types/node to v22 (#513)
renovate[bot] Dec 23, 2024
cedbd6e
chore(deps): update yarn to v4.6.0 (#515)
renovate[bot] Jan 6, 2025
cf02c79
chore(deps): update dependency @types/node to v22.10.5 (#516)
renovate[bot] Jan 13, 2025
1238df3
chore(deps): update dependency semantic-release to v24.2.1 (#517)
renovate[bot] Jan 13, 2025
86ba55a
chore(deps): update dependency typescript to v5.7.3 (#518)
renovate[bot] Jan 20, 2025
126955b
chore(deps): update octokit (#519)
renovate[bot] Jan 20, 2025
836adaf
chore(deps): update dependency @types/node to v22.10.10 (#520)
renovate[bot] Jan 27, 2025
50ebf89
chore(deps): update eslint to v9.19.0 (#521)
renovate[bot] Jan 27, 2025
bb2c3b6
chore(deps): update actions/setup-node action to v4.2.0 (#522)
renovate[bot] Feb 10, 2025
7104d6d
chore(deps): update dependency @types/node to v22.13.0 (#523)
renovate[bot] Feb 10, 2025
4a5c846
chore(deps): update octokit (#527)
renovate[bot] Feb 21, 2025
34d3def
chore(deps): bump @octokit/plugin-paginate-rest from 11.1.1 to 11.4.2…
dependabot[bot] Feb 22, 2025
806e58f
chore(deps): update dependency semantic-release to v24.2.3 (#526)
renovate[bot] Feb 22, 2025
54d9ce1
chore(deps): update dependency @types/node to v22.13.5 (#528)
renovate[bot] Feb 24, 2025
af284e3
chore(deps): update dependency prettier to v3.5.2 (#529)
renovate[bot] Feb 24, 2025
834f29e
chore(deps): update eslint to v9.21.0 (#530)
renovate[bot] Mar 3, 2025
0d13ba5
chore(deps): update dependency @types/node to v22.13.10 (#531)
renovate[bot] Mar 10, 2025
7ebb4a8
chore(deps): update dependency prettier to v3.5.3 (#532)
renovate[bot] Mar 10, 2025
572f728
chore(deps): update dependency typescript to v5.8.2 (#533)
renovate[bot] Mar 17, 2025
18fee3f
chore(deps): update eslint to v9.22.0 (#534)
renovate[bot] Mar 17, 2025
b009cc9
chore(deps): update dependency @types/node to v22.13.14 (#535)
renovate[bot] Mar 31, 2025
84c98c3
chore(deps): update actions/setup-node action to v4.3.0 (#536)
renovate[bot] Mar 31, 2025
dc17929
chore(deps): update eslint to v9.24.0 (#537)
renovate[bot] Apr 7, 2025
6ed1f95
chore(deps): update yarn to v4.8.1 (#538)
renovate[bot] Apr 7, 2025
16ee45d
chore(deps): update dependency typescript to v5.8.3 (#539)
renovate[bot] Apr 14, 2025
f913ce8
chore(deps): update dependency @types/node to v22.14.1 (#540)
renovate[bot] Apr 14, 2025
6cc9a87
chore(deps): update dependency @rnx-kit/tsconfig to v2.0.1 (#541)
renovate[bot] Apr 21, 2025
f582807
fix(deps): update dependency `@octokit/plugin-rest-endpoint-methods` …
renovate[bot] Apr 24, 2025
2a615d4
chore(deps): update actions/setup-node action to v4.4.0 (#543)
renovate[bot] May 5, 2025
a416bb5
chore(deps): update dependency @types/node to v22.15.3 (#544)
renovate[bot] May 5, 2025
de91696
chore(deps): update dependency @types/node to v22.15.18 (#547)
renovate[bot] May 19, 2025
b413d74
chore(deps): update dependency @types/node to v22.15.21 (#548)
renovate[bot] May 26, 2025
80b040a
chore(deps): update dependency semantic-release to v24.2.5 (#549)
renovate[bot] May 26, 2025
1b5a851
chore(deps): update eslint to v9.27.0 (#545)
renovate[bot] May 28, 2025
a301d72
chore(deps): update dependency @types/node to v22.15.29 (#552)
renovate[bot] Jun 9, 2025
aab932b
chore(deps): update eslint to v9.28.0 (#553)
renovate[bot] Jun 9, 2025
ac0795b
chore(deps): update dependency semantic-release to v24.2.6 (#556)
renovate[bot] Jul 14, 2025
8156bbf
chore(deps): update dependency @rnx-kit/tsconfig to v2.1.1 (#557)
renovate[bot] Jul 14, 2025
c01f5ff
chore(deps): update dependency @types/node to v22.16.4 (#554)
renovate[bot] Jul 21, 2025
addc33d
chore(deps): update eslint to v9.31.0 (#555)
renovate[bot] Jul 21, 2025
b8be0b2
chore(deps): update dependency @octokit/core to v6.1.6 (#558)
renovate[bot] Jul 21, 2025
ed719e3
chore(deps): update dependency prettier to v3.6.2 (#559)
renovate[bot] Jul 21, 2025
2352e51
chore(deps): update dependency @types/node to v22.16.5 (#560)
renovate[bot] Jul 28, 2025
1300651
chore(deps): update dependency azure-devops-node-api to v15 (#550)
renovate[bot] Aug 11, 2025
2cba1f2
chore(deps): update dependency @types/node to v22.17.1 (#561)
renovate[bot] Aug 11, 2025
18daacc
chore(deps): update dependency typescript to v5.9.2 (#562)
renovate[bot] Aug 11, 2025
6689f90
fix!: drop support for Node 18 (#551)
renovate[bot] Aug 11, 2025
ee51a47
feat!: drop support for Node 18 (#563)
tido64 Aug 11, 2025
5fd58b5
feat: drop support for Node 18 (#564)
tido64 Aug 11, 2025
bd47391
chore(config): migrate config .github/renovate.json (#565)
renovate[bot] Aug 11, 2025
ddd994d
chore(deps): update dependency node to v22 (#566)
renovate[bot] Aug 18, 2025
7c7782b
fix: include type declaration files (#567)
tido64 Aug 18, 2025
5241d35
chore(deps): update dependency @types/node to v22.17.2 (#568)
renovate[bot] Aug 25, 2025
b763bc8
chore(deps): update actions/checkout action to v5 (#569)
renovate[bot] Aug 25, 2025
664f470
chore(deps): update yarn to v4.9.4 (#570)
renovate[bot] Sep 8, 2025
5f58c36
chore(deps): update dependency @types/node to v22.18.1 (#571)
renovate[bot] Sep 8, 2025
218ac00
chore(deps): update eslint to v9.35.0 (#572)
renovate[bot] Sep 8, 2025
c889b79
chore(deps): update actions/setup-node action to v5 (#573)
renovate[bot] Sep 15, 2025
36cc96c
chore(deps): update dependency @types/node to v22.18.6 (#574)
renovate[bot] Sep 22, 2025
e24442e
chore(deps): update dependency semantic-release to v24.2.9 (#575)
renovate[bot] Sep 22, 2025
80e6906
chore(deps): update yarn to v4.10.3 (#576)
renovate[bot] Sep 24, 2025
9e3ea37
fix: enable trusted publishing (#577)
tido64 Sep 24, 2025
c0bd0cb
chore(deps): update eslint to v9.36.0 (#579)
renovate[bot] Sep 29, 2025
0ce5da5
chore(deps): update dependency @types/node to v22.18.8 (#580)
renovate[bot] Oct 13, 2025
003a6ad
chore(deps): update dependency typescript to v5.9.3 (#581)
renovate[bot] Oct 13, 2025
d906436
chore(deps): update eslint to v9.38.0 (#582)
renovate[bot] Oct 20, 2025
6570f19
chore(deps): update dependency semantic-release to v25 (#584)
renovate[bot] Oct 21, 2025
5150a62
chore(deps): update actions/setup-node action to v6 (#583)
renovate[bot] Oct 21, 2025
2dae580
chore(deps): update dependency @types/node to v22.18.12 (#585)
renovate[bot] Oct 27, 2025
55127c9
chore(deps): update octokit (#578)
renovate[bot] Oct 28, 2025
2499cec
chore(deps): update dependency node to v24 (#586)
renovate[bot] Nov 3, 2025
a8c77c1
chore(deps): update eslint to v9.39.1 (#588)
renovate[bot] Nov 10, 2025
38087dc
chore(deps): bump js-yaml from 4.1.0 to 4.1.1 (#589)
dependabot[bot] Nov 17, 2025
d667180
fix(deps): update dependency `@octokit/plugin-rest-endpoint-methods` …
renovate[bot] Nov 21, 2025
1fec47a
chore(deps): update dependency @types/node to v24.10.1 (#592)
renovate[bot] Nov 24, 2025
783379d
chore(deps): update actions/checkout action to v6 (#593)
renovate[bot] Dec 1, 2025
de3078d
chore(deps): update yarn to v4.12.0 (#591)
renovate[bot] Dec 2, 2025
683e580
chore(deps): update dependency prettier to v3.7.4 (#594)
renovate[bot] Dec 8, 2025
604702b
chore(deps): update actions/setup-node action to v6.1.0 (#595)
renovate[bot] Dec 15, 2025
a6a16e6
chore(deps): update dependency @types/node to v24.10.4 (#596)
renovate[bot] Dec 22, 2025
4d32348
chore(deps): update eslint to v9.39.2 (#597)
renovate[bot] Dec 22, 2025
be8fa06
chore(deps): update github/codeql-action action to v4 (#599)
renovate[bot] Jan 5, 2026
20f60ed
chore(deps): update dependency azure-devops-node-api to v15.1.2 (#598)
renovate[bot] Jan 5, 2026
1b69876
chore(deps): bump qs from 6.14.0 to 6.14.1 (#600)
dependabot[bot] Jan 5, 2026
30278b1
chore(deps): bump lodash-es from 4.17.21 to 4.17.23 (#601)
dependabot[bot] Jan 22, 2026
a52f457
chore(deps): update dependency @types/node to v24.10.9 (#602)
renovate[bot] Jan 26, 2026
9904ede
chore(deps): update actions/setup-node action to v6.2.0 (#603)
renovate[bot] Jan 26, 2026
2db850c
chore(deps): update dependency prettier to v3.8.1 (#604)
renovate[bot] Feb 2, 2026
9284f04
chore(deps): update dependency semantic-release to v25.0.3 (#605)
renovate[bot] Feb 9, 2026
e3beedd
chore(deps): bump qs from 6.14.1 to 6.14.2 (#606)
dependabot[bot] Feb 16, 2026
de1d432
chore(deps): update dependency @types/node to v24.10.12 (#607)
renovate[bot] Feb 16, 2026
a5e3be8
chore(deps): update eslint to v10 (#608)
renovate[bot] Feb 16, 2026
7c943b6
chore(deps): update dependency @rnx-kit/tsconfig to v3 (#609)
renovate[bot] Feb 23, 2026
5dffc9b
chore(deps): bump minimatch from 10.2.0 to 10.2.4 (#610)
dependabot[bot] Feb 28, 2026
ef0d533
chore(deps): bump underscore from 1.13.1 to 1.13.8 (#612)
dependabot[bot] Mar 4, 2026
950e599
chore: migrate to `oxfmt` and `oxlint` (#613)
tido64 Mar 4, 2026
9094504
chore(deps): update dependency @types/node to v24.11.0 (#614)
renovate[bot] Mar 9, 2026
591aae1
chore(deps): update dependency @rnx-kit/oxlint-config to v1.0.3 (#615)
renovate[bot] Mar 16, 2026
2d5a370
chore(deps): update actions/setup-node action to v6.3.0 (#616)
renovate[bot] Mar 16, 2026
12a5fcd
chore(deps): update oxlint monorepo (#617)
renovate[bot] Mar 23, 2026
541537a
chore(deps): bump picomatch from 2.3.1 to 2.3.2 (#618)
dependabot[bot] Mar 26, 2026
5521ada
chore(deps): bump handlebars from 4.7.8 to 4.7.9 (#619)
dependabot[bot] Mar 27, 2026
b4f8122
chore(suggestion-bot): move into repo
tido64 Mar 30, 2026
eebb90a
Merge remote-tracking branch 'origin/main' into tido/suggestion-bot/m…
tido64 Mar 30, 2026
ea7605b
fixup! chore(suggestion-bot): move into repo
tido64 Mar 30, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .changeset/clean-towns-leave.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"suggestion-bot": patch
---

Publish from rnx-kit
12 changes: 9 additions & 3 deletions docsite/generate.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@
const fs = require("node:fs");
const path = require("node:path");

const UTF_8 = /** @type {const} */ ({ encoding: "utf-8" });

const badges = [
"https://github\\.com/microsoft/rnx-kit/actions/workflows",
"https://img\\.shields\\.io",
Expand All @@ -12,6 +14,7 @@ const badgesRE = new RegExp(
"g"
);

const localImagesRE = /!\[(.*?)\]\(\.\/(.*?)\)/g;
const titleRE = /# @rnx-kit\/(.*)/;

function copyContributing() {
Expand All @@ -33,19 +36,22 @@ function generateToolsSidebar() {
continue;
}

const content = fs.readFileSync(manifest, { encoding: "utf-8" });
if (JSON.parse(content).private) {
if (JSON.parse(fs.readFileSync(manifest, UTF_8)).private) {
continue;
}

const output = path.join("docs", "tools", `${pkg}.md`);
if (!fs.existsSync(output)) {
const content = fs.readFileSync(readme, { encoding: "utf-8" });
const content = fs.readFileSync(readme, UTF_8);
fs.writeFileSync(
output,
content
.replace(titleRE, "# $1") // Remove scope from title
.replace(badgesRE, "") // Remove badges
.replace(
localImagesRE,
`![$1](${path.join("..", "..", path.dirname(readme), "$2")})`
)
);
}

Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@
"nx": "patch:nx@npm%3A22.5.4#~/.yarn/patches/nx-npm-22.5.4-3d43ac9c10.patch",
"oxfmt": "catalog:",
"oxlint": "catalog:",
"suggestion-bot": "^4.0.0",
"suggestion-bot": "workspace:*",
"typescript": "catalog:"
},
"resolutions": {
Expand Down
2 changes: 2 additions & 0 deletions packages/suggestion-bot/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
*.d.ts
*.d.ts.map
136 changes: 136 additions & 0 deletions packages/suggestion-bot/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,136 @@
# suggestion-bot

[![Build](https://github.com/microsoft/rnx-kit/actions/workflows/build.yml/badge.svg)](https://github.com/microsoft/rnx-kit/actions/workflows/build.yml)
[![npm version](https://img.shields.io/npm/v/suggestion-bot)](https://www.npmjs.com/package/suggestion-bot)

`suggestion-bot` submits code reviews with suggestions based on your diffs.

![screenshot of code review with suggestions](./docs/screenshot.png)

## Usage

```
Usage: cli.js [options] [diff | file]

Submit code reviews with suggestions based on your diffs

Arguments:
diff | file the diff or file containing diff to create suggestions from

Options:
-h, --help display this help message
-v, --version display version number
-m, --message <msg> use the specified message as the PR comment
-f, --fail fail if comments could not be posted

Examples:
# Submit current changes as suggestions
GITHUB_TOKEN=<secret> suggestion-bot "$(git diff)"

# Alternatively, pipe to suggestion-bot
# to avoid escape character issues
git diff | GITHUB_TOKEN=<secret> suggestion-bot
```

If your CI is hosted by Azure DevOps, replace `GITHUB_TOKEN` with
`AZURE_PERSONAL_ACCESS_TOKEN`.

## Requirements

- Host your code on [GitHub](https://github.com/)
- `GITHUB_TOKEN` permissions:
- `pull-requests: write` — required for creating code reviews
- `issues: write` — fallback in case creating a review fails

-- or --

- Host your code on [Azure DevOps](https://dev.azure.com/)
- An Azure DevOps [personal access token][ado-personal-access-token]

## Recipes

- [Using `suggestion-bot` with GitHub Actions](#using-suggestion-bot-with-github-actions)
- [Using `suggestion-bot` with `clang-format`](#using-suggestion-bot-with-clang-format)
- [Using `suggestion-bot` with Prettier](#using-suggestion-bot-with-prettier)

### Using `suggestion-bot` with GitHub Actions

1. Install `suggestion-bot` in your project

```sh
yarn add suggestion-bot --dev
```

2. Configure your GitHub workflow so `suggestion-bot` can access the
`GITHUB_TOKEN` secret provided by GitHub via an environment variable with the
same name:

```yaml
# .github/workflows/build.yml
jobs:
lint:
runs-on: ubuntu-latest
steps:
- name: Set up Node.js
uses: actions/setup-node@v6
with:
node-version: 24
- name: Checkout
uses: actions/checkout@v6
- name: Install
run: yarn
- name: ClangFormat
if: ${{ github.event_name == 'pull_request' }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: scripts/clang-format-diff.sh | yarn suggestion-bot
```

### Using `suggestion-bot` with `clang-format`

Use [`clang-format-diff`][] to format only changed files:

```sh
curl --silent --show-error --remote-name https://raw.githubusercontent.com/llvm/llvm-project/release/10.x/clang/tools/clang-format/clang-format-diff.py
git diff --unified=0 --no-color @^ \
| python clang-format-diff.py -p1 -regex '.*\.(cpp|cc|c\+\+|cxx|c|cl|h|hh|hpp|m|mm|inc)' -sort-includes \
| yarn suggestion-bot
```

### Using `suggestion-bot` with Prettier

We must first write a script that pipes [Prettier][]'s output to `diff` so we
can feed it to `suggestion-bot` later.

```js
#!/usr/bin/env node

import { spawnSync } from "node:child_process";
import * as fs from "node:fs";
import * as prettier from "prettier";
import suggest from "suggestion-bot";

const diff = process.argv.slice(2).reduce((diff, filepath) => {
const source = fs.readFileSync(filepath, { encoding: "utf8" });
const { stdout } = spawnSync("diff", ["--unified", filepath, "-"], {
input: prettier.format(source, { filepath }),
encoding: "utf-8",
});
return diff + stdout;
}, "");

suggest(diff);
```

Save the script somewhere, e.g. `scripts/prettier-diff.mjs`, then invoke it with
Node:

```sh
node scripts/prettier-diff.mjs $(git ls-files '*.js')
```

<!-- References -->

[Prettier]: https://prettier.io/
[`clang-format-diff`]: https://clang.llvm.org/docs/ClangFormat.html#script-for-patch-reformatting
[ado-personal-access-token]: https://docs.microsoft.com/en-us/azure/devops/organizations/accounts/use-personal-access-tokens-to-authenticate?view=azure-devops&tabs=preview-page
85 changes: 85 additions & 0 deletions packages/suggestion-bot/cli.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
#!/usr/bin/env node

import * as fs from "node:fs";
import * as path from "node:path";
import { fileURLToPath, URL } from "node:url";
import { parseArgs } from "node:util";
import suggest from "./src/index.js";

function printHelp() {
console.log(
[
`Usage: ${path.basename(process.argv[1])} [options] [diff | file]`,
"",
"Submit code reviews with suggestions based on your diffs",
"",
"Arguments:",
" diff | file the diff or file containing diff to create suggestions from",
"",
"Options:",
" -h, --help display this help message",
" -v, --version display version number",
" -m, --message <msg> use the specified message as the PR comment",
" -f, --fail fail if comments could not be posted",
"",
"Examples:",
" # Submit current changes as suggestions",
' GITHUB_TOKEN=<secret> suggestion-bot "$(git diff)"',
"",
" # Alternatively, pipe to suggestion-bot",
" # to avoid escape character issues",
" git diff | GITHUB_TOKEN=<secret> suggestion-bot",
"",
"If your CI is hosted by Azure DevOps, replace `GITHUB_TOKEN` with `AZURE_PERSONAL_ACCESS_TOKEN`.",
].join("\n")
);
}

const { values, positionals } = parseArgs({
args: process.argv.slice(2),
options: {
help: {
type: "boolean",
short: "h",
},
version: {
type: "boolean",
short: "v",
},
message: {
type: "string",
short: "m",
},
fail: {
type: "boolean",
short: "f",
},
},
allowPositionals: true,
});

if (values.help) {
printHelp();
} else if (values.version) {
const p = fileURLToPath(new URL("package.json", import.meta.url));
const manifest = fs.readFileSync(p, { encoding: "utf-8" });
const { name, version } = JSON.parse(manifest);
console.log(name, version);
} else {
if (positionals.length > 0) {
const diffOrFile = positionals[0];
const diff = fs.existsSync(diffOrFile)
? fs.readFileSync(diffOrFile, { encoding: "utf-8" })
: diffOrFile;
suggest(diff, values);
} else if (!process.stdin.isTTY) {
let data = "";
const stdin = process.openStdin();
stdin.setEncoding("utf8");
stdin.on("data", (chunk) => (data += chunk));
stdin.on("end", () => suggest(data, values));
} else {
process.exitCode = 1;
printHelp();
}
}
Binary file added packages/suggestion-bot/docs/screenshot.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
63 changes: 63 additions & 0 deletions packages/suggestion-bot/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
{
"name": "suggestion-bot",
"version": "4.0.3",
"description": "suggestion-bot submits code reviews with suggestions based on your diffs",
"keywords": [
"code review",
"diff",
"github",
"pull request",
"review",
"suggestion"
],
"homepage": "https://github.com/microsoft/rnx-kit/tree/main/packages/suggestion-bot#readme",
"license": "MIT",
"author": {
"name": "Microsoft Open Source",
"email": "microsoftopensource@users.noreply.github.com"
},
"repository": {
"type": "git",
"url": "https://github.com/microsoft/rnx-kit",
"directory": "packages/suggestion-bot"
},
"bin": "cli.js",
"files": [
"cli.js",
"src"
],
"type": "module",
"main": "src/index.js",
"exports": {
".": {
"default": "./src/index.js"
},
"./cli.js": {
"default": "./cli.js"
},
"./package.json": "./package.json"
},
"scripts": {
"//build": "We run `tsgo` directly because we don't want to output to `lib`",
"build": "yarn clean && tsgo",
"clean": "git clean -dfqx -- src/ test/",
"format": "rnx-kit-scripts format",
"lint": "rnx-kit-scripts lint",
"suggest": "suggestion-bot",
"test": "rnx-kit-scripts test"
},
"dependencies": {
"@octokit/core": "^7.0.0",
"@octokit/plugin-rest-endpoint-methods": "^17.0.0",
"azure-devops-node-api": "^15.0.0",
"parse-diff": "^0.11.0"
},
"devDependencies": {
"@rnx-kit/scripts": "*",
"@rnx-kit/tsconfig": "*",
"@types/node": "^24.0.0"
},
"engines": {
"node": ">=20.9"
}
}
Loading
Loading