Skip to content

Commit 5903929

Browse files
authored
feat: add the eslint-visitor-keys package (#620)
* feat: add the `eslint-visitor-keys` package * chore: update typescript to v5 * chore: use typescript v4 LTS * chore: add prepublishOnly script * chore: add prepare script * chore: update README.md * chore: format release-please.yml * chore: update workflow & simplify eslint config
1 parent 956389a commit 5903929

34 files changed

+2115
-2
lines changed

.github/ISSUE_TEMPLATE/bug-report.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ body:
1313
required: false
1414
- label: "`eslint-scope`"
1515
required: false
16+
- label: "`eslint-visitor-keys`"
17+
required: false
1618
- type: textarea
1719
attributes:
1820
label: Environment

.github/ISSUE_TEMPLATE/change.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ body:
1212
required: false
1313
- label: "`eslint-scope`"
1414
required: false
15+
- label: "`eslint-visitor-keys`"
16+
required: false
1517
- type: textarea
1618
attributes:
1719
label: What problem do you want to solve?

.github/ISSUE_TEMPLATE/docs.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ body:
1212
required: false
1313
- label: "`eslint-scope`"
1414
required: false
15+
- label: "`eslint-visitor-keys`"
16+
required: false
1517
- type: textarea
1618
attributes:
1719
label: What documentation issue do you want to solve?

.github/workflows/release-please.yml

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,32 @@ jobs:
4646
# fewest internal dependencies are released first and the packages with the
4747
# most internal dependencies are released last.
4848
#-----------------------------------------------------------------------------
49+
50+
#-----------------------------------------------------------------------------
51+
# eslint-visitor-keys
52+
#-----------------------------------------------------------------------------
53+
54+
- name: Publish eslint-visitor-keys package to npm
55+
run: npm publish -w packages/eslint-visitor-keys --provenance
56+
if: ${{ steps.release.outputs['packages/eslint-visitor-keys--release_created'] }}
57+
env:
58+
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}}
59+
60+
- name: Tweet Release Announcement
61+
run: npx @humanwhocodes/tweet "eslint-visitor-keys v${{ steps.release.outputs['packages/eslint-visitor-keys--major'] }}.${{ steps.release.outputs['packages/eslint-visitor-keys--minor'] }}.${{ steps.release.outputs['packages/eslint-visitor-keys--patch'] }} has been released!\n\n${{ github.event.repository.html_url }}/releases/tag/${{ steps.release.outputs['packages/eslint-visitor-keys--tag_name'] }}"
62+
if: ${{ steps.release.outputs['packages/eslint-visitor-keys--release_created'] }}
63+
env:
64+
TWITTER_CONSUMER_KEY: ${{ secrets.TWITTER_CONSUMER_KEY }}
65+
TWITTER_CONSUMER_SECRET: ${{ secrets.TWITTER_CONSUMER_SECRET }}
66+
TWITTER_ACCESS_TOKEN_KEY: ${{ secrets.TWITTER_ACCESS_TOKEN_KEY }}
67+
TWITTER_ACCESS_TOKEN_SECRET: ${{ secrets.TWITTER_ACCESS_TOKEN_SECRET }}
68+
69+
- name: Toot Release Announcement
70+
run: npx @humanwhocodes/toot "eslint-visitor-keys v${{ steps.release.outputs['packages/eslint-visitor-keys--major'] }}.${{ steps.release.outputs['packages/eslint-visitor-keys--minor'] }}.${{ steps.release.outputs['packages/eslint-visitor-keys--patch'] }} has been released!\n\n${{ github.event.repository.html_url }}/releases/tag/${{ steps.release.outputs['packages/eslint-visitor-keys--tag_name'] }}"
71+
if: ${{ steps.release.outputs['packages/eslint-visitor-keys--release_created'] }}
72+
env:
73+
MASTODON_ACCESS_TOKEN: ${{ secrets.MASTODON_ACCESS_TOKEN }}
74+
MASTODON_HOST: ${{ secrets.MASTODON_HOST }}
4975

5076
#-----------------------------------------------------------------------------
5177
# espree

.release-please-manifest.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
{
22
"packages/espree": "10.1.0",
3-
"packages/eslint-scope": "8.0.2"
3+
"packages/eslint-scope": "8.0.2",
4+
"packages/eslint-visitor-keys": "4.0.0"
45
}

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ This repository is the home of the following packages:
88

99
- [`espree`](packages/espree)
1010
- [`eslint-scope`](packages/eslint-scope)
11+
- [`eslint-visitor-keys`](packages/eslint-visitor-keys)
1112

1213
## Security Policy
1314

eslint.config.js

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ export default [
1515
...eslintConfigESLint,
1616
eslintConfigESLintFormatting,
1717
{
18-
files: ["packages/espree/tests/lib/**"],
18+
files: ["packages/*/tests/lib/**"],
1919
languageOptions: {
2020
globals: {
2121
...globals.mocha
@@ -55,6 +55,20 @@ export default [
5555
"no-console": "off"
5656
}
5757
},
58+
{
59+
files: ["packages/eslint-scope/**"],
60+
linterOptions: {
61+
reportUnusedDisableDirectives: "error"
62+
},
63+
settings: {
64+
jsdoc: {
65+
preferredTypes: {
66+
Object: "object",
67+
"object<>": "Object"
68+
}
69+
}
70+
}
71+
},
5872
{
5973
files: ["**/tools/**"],
6074
rules: {
Lines changed: 124 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,124 @@
1+
# Changelog
2+
3+
## [4.0.0](https://github.com/eslint/eslint-visitor-keys/compare/v3.4.3...v4.0.0) (2024-02-08)
4+
5+
6+
### ⚠ BREAKING CHANGES
7+
8+
* Require Node.js `^18.18.0 || ^20.9.0 || >=21.1.0` ([#63](https://github.com/eslint/eslint-visitor-keys/issues/63))
9+
10+
### Features
11+
12+
* Require Node.js `^18.18.0 || ^20.9.0 || >=21.1.0` ([#63](https://github.com/eslint/eslint-visitor-keys/issues/63)) ([388b2ac](https://github.com/eslint/eslint-visitor-keys/commit/388b2acedbe3881edd52b45f217db393731feb48))
13+
14+
15+
### Chores
16+
17+
* run tests in Node.js 21 ([#61](https://github.com/eslint/eslint-visitor-keys/issues/61)) ([b23bfb7](https://github.com/eslint/eslint-visitor-keys/commit/b23bfb7f938d6559dfff8f02203c866a2fb26618))
18+
19+
## [3.4.3](https://github.com/eslint/eslint-visitor-keys/compare/v3.4.2...v3.4.3) (2023-08-08)
20+
21+
22+
### Chores
23+
24+
* Add back add-to-triage ([#59](https://github.com/eslint/eslint-visitor-keys/issues/59)) ([5ea8b12](https://github.com/eslint/eslint-visitor-keys/commit/5ea8b120d73f1dd6db92427d025c6805df43397d))
25+
* Remove add-to-triage ([#56](https://github.com/eslint/eslint-visitor-keys/issues/56)) ([45d4c17](https://github.com/eslint/eslint-visitor-keys/commit/45d4c17b63d26ef486c92cfb60283991e36d6db0))
26+
* standardize npm script names ([#55](https://github.com/eslint/eslint-visitor-keys/issues/55)) ([0461695](https://github.com/eslint/eslint-visitor-keys/commit/0461695b730821c04c20d46f5cff9195509f865b))
27+
* update `typedef` in build keys template ([#58](https://github.com/eslint/eslint-visitor-keys/issues/58)) ([eb6c66d](https://github.com/eslint/eslint-visitor-keys/commit/eb6c66dbaf6389d253d10dd74d22915d7e33d651))
28+
29+
## [3.4.2](https://github.com/eslint/eslint-visitor-keys/compare/v3.4.1...v3.4.2) (2023-07-27)
30+
31+
32+
### Documentation
33+
34+
* fix spelling mistakes ([#50](https://github.com/eslint/eslint-visitor-keys/issues/50)) ([4ce1c17](https://github.com/eslint/eslint-visitor-keys/commit/4ce1c1777181b87f5dcd3f10a3d8aef0710f8d0e))
35+
* remove `release` script reference from README ([#52](https://github.com/eslint/eslint-visitor-keys/issues/52)) ([4640146](https://github.com/eslint/eslint-visitor-keys/commit/46401465ff5bb08bf793219d399c11434fd163be))
36+
37+
38+
### Chores
39+
40+
* Add PRs to triage ([#54](https://github.com/eslint/eslint-visitor-keys/issues/54)) ([a7b64b4](https://github.com/eslint/eslint-visitor-keys/commit/a7b64b4ea0a4548f92cb41428d3e23b30f0cf8de))
41+
* generate provenance statements when release ([#53](https://github.com/eslint/eslint-visitor-keys/issues/53)) ([7b09698](https://github.com/eslint/eslint-visitor-keys/commit/7b09698fa51bbd9fcace50cb1014eec87abde140))
42+
43+
## [3.4.1](https://github.com/eslint/eslint-visitor-keys/compare/v3.4.0...v3.4.1) (2023-05-05)
44+
45+
46+
### Bug Fixes
47+
48+
* correct types for node16 resolution ([#47](https://github.com/eslint/eslint-visitor-keys/issues/47)) ([7bd1fc1](https://github.com/eslint/eslint-visitor-keys/commit/7bd1fc1d483c2d0fdd5e0eddb2702f177372889c))
49+
50+
51+
### Chores
52+
53+
* run tests on Node.js v20 ([#45](https://github.com/eslint/eslint-visitor-keys/issues/45)) ([c982093](https://github.com/eslint/eslint-visitor-keys/commit/c982093329f12c02dc87569930a6042f4095026b))
54+
* set up release-please ([#48](https://github.com/eslint/eslint-visitor-keys/issues/48)) ([a7fb4c7](https://github.com/eslint/eslint-visitor-keys/commit/a7fb4c7eb5d122e89bc6c24779ea06c487242c87))
55+
56+
v3.4.0 - March 27, 2023
57+
58+
* [`e9a070f`](https://github.com/eslint/eslint-visitor-keys/commit/e9a070fcbf53c14374e17801799016ce21d0c0ff) fix: remove useless sourcemap url (fixes #43) (#44) (余腾靖)
59+
* [`0398109`](https://github.com/eslint/eslint-visitor-keys/commit/0398109f1f751c58be3bd3206d22ae9c1b269219) chore: add triage action (#42) (Milos Djermanovic)
60+
* [`bcffbe5`](https://github.com/eslint/eslint-visitor-keys/commit/bcffbe52989bf726475c6b86eba3003275317f45) ci: add Node v19 (#41) (Milos Djermanovic)
61+
* [`c24f2e4`](https://github.com/eslint/eslint-visitor-keys/commit/c24f2e45cc59dbdeb8c2b48782d3599fbef9cbcb) chore: update github actions and add funding field (#40) (Deepshika S)
62+
* [`81c0732`](https://github.com/eslint/eslint-visitor-keys/commit/81c0732aa4086ad75f0adf4512823e4c8c584493) build: add node v18 (#39) (唯然)
63+
* [`6ece4bd`](https://github.com/eslint/eslint-visitor-keys/commit/6ece4bd4086965bdaf92d95b6a03d8d122468b4e) feat: add `JSXSpreadChild` and tool to build keys out of AST definitions (#36) (Brett Zamir)
64+
* [`4beb7a7`](https://github.com/eslint/eslint-visitor-keys/commit/4beb7a7be5fd7d25e5572c3dfee3e127edd8cadb) docs: update badges (#37) (Milos Djermanovic)
65+
66+
v3.3.0 - February 11, 2022
67+
68+
* [`7f10327`](https://github.com/eslint/eslint-visitor-keys/commit/7f103276844fb131cfad115ee78eb19f798d5fc8) feat: Bundle JSDoc-built TypeScript declaration file (#34) (Brett Zamir)
69+
70+
v3.2.0 - January 15, 2022
71+
72+
* [`5c53218`](https://github.com/eslint/eslint-visitor-keys/commit/5c532184e05440d3c883b3d7864f84eb1b11dc90) feat: add missing JSXOpeningFragment and JSXClosingFragment (#33) (Richard Huang)
73+
* [`2a5c9a6`](https://github.com/eslint/eslint-visitor-keys/commit/2a5c9a622d8cb09df9d40a320d146b0941081e11) docs: readme add syntax highlighting (#32) (coderaiser)
74+
75+
v3.1.0 - November 8, 2021
76+
77+
* [`5e3e687`](https://github.com/eslint/eslint-visitor-keys/commit/5e3e68779560a1b2edef7923d30165396bce9602) build: upgrade eslint-release to v3.2.0 to support conventional commits (#31) (Milos Djermanovic)
78+
* [`53d3939`](https://github.com/eslint/eslint-visitor-keys/commit/53d39390d3560c179cffd08638b50343b0841a30) Build: add node v17 (#30) (唯然)
79+
* [`5f5b232`](https://github.com/eslint/eslint-visitor-keys/commit/5f5b232386bd7e217dd61d08aa27c3a1e2a4665e) Update: add StaticBlock (#29) (Milos Djermanovic)
80+
* [`e89bff9`](https://github.com/eslint/eslint-visitor-keys/commit/e89bff9fd6a5929b1e8f4d5f9cedec45aa966074) Chore: use actions/setup-node@v2 (薛定谔的猫)
81+
* [`7b756cd`](https://github.com/eslint/eslint-visitor-keys/commit/7b756cd37cd28089dfee6015c001fd860e21aead) Docs: Update the minimum Node.js version requirement (#26) (0uep)
82+
83+
v3.0.0 - June 24, 2021
84+
85+
* [`701b67d`](https://github.com/eslint/eslint-visitor-keys/commit/701b67de7216cabebc03e7c6205fe47ce3177aa3) Breaking: drop node v10/v13/v15 (refs eslint/eslint#14023) (#23) (薛定谔的猫)
86+
* [`f584b12`](https://github.com/eslint/eslint-visitor-keys/commit/f584b121421ceb6c4e034b79943f3c32aaa0541d) Breaking: Switch to ESM (#24) (Brett Zamir)
87+
* [`7279e73`](https://github.com/eslint/eslint-visitor-keys/commit/7279e7304e95030a854408191b8fde3c01876451) Build: Update branch reference in CI (#25) (Milos Djermanovic)
88+
* [`c6846d6`](https://github.com/eslint/eslint-visitor-keys/commit/c6846d69271c73041b797b7de9c8254dcf439a2e) Upgrade: eslint-release (#21) (Nicholas C. Zakas)
89+
90+
v2.1.0 - May 3, 2021
91+
92+
* [`908fdf8`](https://github.com/eslint/eslint-visitor-keys/commit/908fdf8c0d9a352c696c8c1f4901280d1a0795f7) Update: add PrivateIdentifier and PropertyDefinition (#20) (Toru Nagashima)
93+
* [`2d7be11`](https://github.com/eslint/eslint-visitor-keys/commit/2d7be11e4d13ac702c9fe3c529cadbd75b370146) Chore: No longer test in Node.js 13 (#17) (Michaël De Boey)
94+
* [`b41b509`](https://github.com/eslint/eslint-visitor-keys/commit/b41b509b153ecd8d47af46a421122f64e93d4c67) Docs: Update required Node.js version (#15) (Michaël De Boey)
95+
96+
v2.0.0 - August 14, 2020
97+
98+
* [`fb86ca3`](https://github.com/eslint/eslint-visitor-keys/commit/fb86ca315daafc84e23ed9005db40b0892b972a6) Breaking: drop support for Node <10 (#13) (Kai Cataldo)
99+
* [`69383b3`](https://github.com/eslint/eslint-visitor-keys/commit/69383b372915e33ada094880ecc6b6e8f8c7ca4e) Chore: move to GitHub Actions (#14) (Kai Cataldo)
100+
101+
v1.3.0 - June 19, 2020
102+
103+
* [`c92dd7f`](https://github.com/eslint/eslint-visitor-keys/commit/c92dd7ff96f0044dba12d681406a025b92b4c437) Update: add `ChainExpression` node (#12) (Toru Nagashima)
104+
105+
v1.2.0 - June 4, 2020
106+
107+
* [`21f28bf`](https://github.com/eslint/eslint-visitor-keys/commit/21f28bf11be5329d740a8bf6bdbcd0ef13bbf1a2) Update: added exported in exportAllDeclaration key (#10) (Anix)
108+
109+
v1.1.0 - August 13, 2019
110+
111+
* [`9331cc0`](https://github.com/eslint/eslint-visitor-keys/commit/9331cc09e756e65b9044c9186445a474b037fac6) Update: add ImportExpression (#8) (Toru Nagashima)
112+
* [`5967f58`](https://github.com/eslint/eslint-visitor-keys/commit/5967f583b04f17fba9226aaa394e45d476d2b8af) Chore: add supported Node.js versions to CI (#7) (Kai Cataldo)
113+
* [`6f7c60f`](https://github.com/eslint/eslint-visitor-keys/commit/6f7c60fef2ceec9f6323202df718321cec45cab0) Upgrade: [email protected] (#5) (Teddy Katz)
114+
115+
v1.0.0 - December 18, 2017
116+
117+
* 1f6bd38 Breaking: update keys (#4) (Toru Nagashima)
118+
119+
v0.1.0 - November 17, 2017
120+
121+
* 17b4a88 Chore: update `repository` field in package.json (#3) (Toru Nagashima)
122+
* a5a026b New: eslint-visitor-keys (#1) (Toru Nagashima)
123+
* a1a48b8 Update: Change license to Apache 2 (#2) (Ilya Volodin)
124+
* 2204715 Initial commit (Toru Nagashima)

0 commit comments

Comments
 (0)