eslint-plugin-primer-react 8.0.0-rc.0673cce → 8.0.0-rc.6b8a06e
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/copilot-instructions.md +159 -0
- package/package-lock.json +296 -62
- package/package.json +2 -2
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
# eslint-plugin-primer-react
|
|
2
|
+
|
|
3
|
+
ESLint plugin for Primer React components. This is a JavaScript-based ESLint plugin that provides rules for validating and auto-fixing Primer React component usage.
|
|
4
|
+
|
|
5
|
+
**Always reference these instructions first and fallback to search or bash commands only when you encounter unexpected information that does not match the info here.**
|
|
6
|
+
|
|
7
|
+
## Working Effectively
|
|
8
|
+
|
|
9
|
+
### Bootstrap and Setup
|
|
10
|
+
|
|
11
|
+
- Install Node.js v20+ (v20 is the current standard):
|
|
12
|
+
- Check version: `node --version && npm --version`
|
|
13
|
+
- Install dependencies: `npm ci` -- takes 60 seconds. Set timeout to 90+ seconds.
|
|
14
|
+
- **NO BUILD STEP REQUIRED** - This is a direct JavaScript project with main entry at `src/index.js`
|
|
15
|
+
|
|
16
|
+
### Development Commands
|
|
17
|
+
|
|
18
|
+
- Run tests: `npm test` -- takes 5 seconds. Fast, no long timeout needed.
|
|
19
|
+
- Run linting: `npm run lint` -- takes 1.5 seconds. Very fast.
|
|
20
|
+
- Run markdown linting: `npm run lint:md` -- takes under 1 second. Very fast.
|
|
21
|
+
- Check formatting: `npm run format:check` -- takes 0.5 seconds. Very fast.
|
|
22
|
+
- Fix formatting: `npm run format` -- applies Prettier formatting fixes.
|
|
23
|
+
|
|
24
|
+
### Testing and Validation
|
|
25
|
+
|
|
26
|
+
- **ALWAYS** run `npm test` after making changes to rules - tests run in 5 seconds
|
|
27
|
+
- **ALWAYS** run `npm run lint && npm run lint:md` before committing - both complete in under 3 seconds total
|
|
28
|
+
- **ALWAYS** run `npm run format:check` to verify formatting - completes in 0.5 seconds
|
|
29
|
+
- All validation commands are very fast - no need for long timeouts or cancellation warnings
|
|
30
|
+
|
|
31
|
+
### Manual Rule Testing
|
|
32
|
+
|
|
33
|
+
You can manually test individual rules using this pattern:
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
node -e "
|
|
37
|
+
const rule = require('./src/rules/RULE_NAME');
|
|
38
|
+
const {RuleTester} = require('eslint');
|
|
39
|
+
const ruleTester = new RuleTester({
|
|
40
|
+
parserOptions: {
|
|
41
|
+
ecmaVersion: 'latest',
|
|
42
|
+
sourceType: 'module',
|
|
43
|
+
ecmaFeatures: { jsx: true }
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
ruleTester.run('test', rule, {
|
|
47
|
+
valid: [{ code: 'VALID_CODE_HERE' }],
|
|
48
|
+
invalid: [{ code: 'INVALID_CODE_HERE', errors: [{ messageId: 'MESSAGE_ID' }] }]
|
|
49
|
+
});
|
|
50
|
+
"
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
## Repository Structure and Navigation
|
|
54
|
+
|
|
55
|
+
### Key Directories
|
|
56
|
+
|
|
57
|
+
- `src/rules/` - ESLint rule implementations
|
|
58
|
+
- `src/rules/__tests__/` - Jest tests for each rule using ESLint RuleTester
|
|
59
|
+
- `docs/rules/` - Markdown documentation for each rule
|
|
60
|
+
- `src/configs/` - ESLint configuration presets (e.g., recommended.js)
|
|
61
|
+
- `src/utils/` - Utility functions shared across rules
|
|
62
|
+
- `.github/workflows/` - CI pipeline definitions
|
|
63
|
+
|
|
64
|
+
### Important Files
|
|
65
|
+
|
|
66
|
+
- `src/index.js` - Main entry point, exports all rules and configs
|
|
67
|
+
- `package.json` - Scripts and dependencies (no build scripts needed)
|
|
68
|
+
- `jest.config.js` - Jest test configuration
|
|
69
|
+
- `.eslintrc.js` - ESLint configuration for the project itself
|
|
70
|
+
- `.nvmrc` - Node.js version specification (v20)
|
|
71
|
+
|
|
72
|
+
### Rule Development Pattern
|
|
73
|
+
|
|
74
|
+
Each rule follows this structure:
|
|
75
|
+
|
|
76
|
+
1. Rule implementation: `src/rules/rule-name.js`
|
|
77
|
+
2. Test file: `src/rules/__tests__/rule-name.test.js`
|
|
78
|
+
3. Documentation: `docs/rules/rule-name.md`
|
|
79
|
+
4. Export from: `src/index.js` (add to rules object)
|
|
80
|
+
5. Optional: Add to `src/configs/recommended.js` if should be in recommended preset
|
|
81
|
+
|
|
82
|
+
## Validation Scenarios
|
|
83
|
+
|
|
84
|
+
### After Making Rule Changes
|
|
85
|
+
|
|
86
|
+
1. Run the rule's specific test: `npm test -- --testNamePattern="rule-name"`
|
|
87
|
+
2. Run all tests: `npm test` (5 seconds)
|
|
88
|
+
3. Test the rule manually using the Node.js snippet pattern above
|
|
89
|
+
4. Verify the rule is exported properly from `src/index.js`
|
|
90
|
+
|
|
91
|
+
### Before Committing
|
|
92
|
+
|
|
93
|
+
1. `npm run lint` - JavaScript linting (1.5 seconds)
|
|
94
|
+
2. `npm run lint:md` - Markdown linting (<1 second)
|
|
95
|
+
3. `npm run format:check` - Formatting validation (0.5 seconds)
|
|
96
|
+
4. `npm test` - Full test suite (5 seconds)
|
|
97
|
+
|
|
98
|
+
### Testing Plugin Integration
|
|
99
|
+
|
|
100
|
+
The plugin can be tested by:
|
|
101
|
+
|
|
102
|
+
1. Using manual Node.js rule testing (shown above)
|
|
103
|
+
2. Running existing test suite which validates all rules
|
|
104
|
+
3. Creating test files and using ESLint RuleTester in the **tests** files
|
|
105
|
+
|
|
106
|
+
## Common Development Tasks
|
|
107
|
+
|
|
108
|
+
### Adding a New Rule
|
|
109
|
+
|
|
110
|
+
1. Create rule implementation: `src/rules/new-rule-name.js`
|
|
111
|
+
2. Create test file: `src/rules/__tests__/new-rule-name.test.js`
|
|
112
|
+
3. Add to exports in `src/index.js`
|
|
113
|
+
4. Create documentation: `docs/rules/new-rule-name.md`
|
|
114
|
+
5. Optionally add to `src/configs/recommended.js`
|
|
115
|
+
6. Run tests: `npm test`
|
|
116
|
+
7. Run linting: `npm run lint`
|
|
117
|
+
|
|
118
|
+
### Modifying Existing Rules
|
|
119
|
+
|
|
120
|
+
1. Edit rule in `src/rules/rule-name.js`
|
|
121
|
+
2. Update tests in `src/rules/__tests__/rule-name.test.js`
|
|
122
|
+
3. Update documentation in `docs/rules/rule-name.md` if needed
|
|
123
|
+
4. Run tests: `npm test`
|
|
124
|
+
5. Test manually using Node.js snippet if needed
|
|
125
|
+
|
|
126
|
+
### Working with Changesets (for releases)
|
|
127
|
+
|
|
128
|
+
- `npx changeset` - Create a changeset for changes
|
|
129
|
+
- `npx changeset status` - Check changeset status
|
|
130
|
+
- Changesets are used for versioning and publishing to npm
|
|
131
|
+
|
|
132
|
+
## Troubleshooting
|
|
133
|
+
|
|
134
|
+
### Common Issues
|
|
135
|
+
|
|
136
|
+
- **Node.js version**: Use Node.js v20+ (v20 is the current standard)
|
|
137
|
+
- **Dependencies**: Always use `npm ci` instead of `npm install` for consistent installs
|
|
138
|
+
- **Test failures**: Run `npm test` to see specific failures - tests are fast and detailed
|
|
139
|
+
- **Lint failures**: Run `npm run lint` and `npm run lint:md` to see specific issues
|
|
140
|
+
- **Format issues**: Run `npm run format` to auto-fix formatting
|
|
141
|
+
|
|
142
|
+
### Rule Testing Issues
|
|
143
|
+
|
|
144
|
+
- Use the RuleTester pattern shown above for manual testing
|
|
145
|
+
- Check that messageId in tests matches the rule's meta.messages
|
|
146
|
+
- Verify JSX parsing works by including ecmaFeatures.jsx in parserOptions
|
|
147
|
+
|
|
148
|
+
## Command Reference
|
|
149
|
+
|
|
150
|
+
Essential commands and their typical execution times:
|
|
151
|
+
|
|
152
|
+
- `npm ci` - Install dependencies (60 seconds)
|
|
153
|
+
- `npm test` - Run all tests (5 seconds)
|
|
154
|
+
- `npm run lint` - Lint JavaScript (1.5 seconds)
|
|
155
|
+
- `npm run lint:md` - Lint Markdown (<1 second)
|
|
156
|
+
- `npm run format:check` - Check formatting (0.5 seconds)
|
|
157
|
+
- `npm run format` - Fix formatting (similar time)
|
|
158
|
+
|
|
159
|
+
All commands except `npm ci` are very fast. No need for extended timeouts or cancellation warnings on validation commands.
|
package/package-lock.json
CHANGED
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"@github/markdownlint-github": "^0.6.3",
|
|
25
25
|
"@github/prettier-config": "0.0.6",
|
|
26
26
|
"@types/jest": "^30.0.0",
|
|
27
|
-
"@typescript-eslint/rule-tester": "8.
|
|
27
|
+
"@typescript-eslint/rule-tester": "8.39.0",
|
|
28
28
|
"eslint": "^9.0.0",
|
|
29
29
|
"eslint-plugin-eslint-comments": "^3.2.0",
|
|
30
30
|
"eslint-plugin-filenames": "^1.3.2",
|
|
@@ -1996,15 +1996,15 @@
|
|
|
1996
1996
|
"dev": true
|
|
1997
1997
|
},
|
|
1998
1998
|
"node_modules/@typescript-eslint/parser": {
|
|
1999
|
-
"version": "8.
|
|
2000
|
-
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.
|
|
2001
|
-
"integrity": "sha512-
|
|
2002
|
-
"
|
|
1999
|
+
"version": "8.39.0",
|
|
2000
|
+
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.39.0.tgz",
|
|
2001
|
+
"integrity": "sha512-g3WpVQHngx0aLXn6kfIYCZxM6rRJlWzEkVpqEFLT3SgEDsp9cpCbxxgwnE504q4H+ruSDh/VGS6nqZIDynP+vg==",
|
|
2002
|
+
"license": "MIT",
|
|
2003
2003
|
"dependencies": {
|
|
2004
|
-
"@typescript-eslint/scope-manager": "8.
|
|
2005
|
-
"@typescript-eslint/types": "8.
|
|
2006
|
-
"@typescript-eslint/typescript-estree": "8.
|
|
2007
|
-
"@typescript-eslint/visitor-keys": "8.
|
|
2004
|
+
"@typescript-eslint/scope-manager": "8.39.0",
|
|
2005
|
+
"@typescript-eslint/types": "8.39.0",
|
|
2006
|
+
"@typescript-eslint/typescript-estree": "8.39.0",
|
|
2007
|
+
"@typescript-eslint/visitor-keys": "8.39.0",
|
|
2008
2008
|
"debug": "^4.3.4"
|
|
2009
2009
|
},
|
|
2010
2010
|
"engines": {
|
|
@@ -2016,7 +2016,131 @@
|
|
|
2016
2016
|
},
|
|
2017
2017
|
"peerDependencies": {
|
|
2018
2018
|
"eslint": "^8.57.0 || ^9.0.0",
|
|
2019
|
-
"typescript": ">=4.8.4 <
|
|
2019
|
+
"typescript": ">=4.8.4 <6.0.0"
|
|
2020
|
+
}
|
|
2021
|
+
},
|
|
2022
|
+
"node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/project-service": {
|
|
2023
|
+
"version": "8.39.0",
|
|
2024
|
+
"resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.39.0.tgz",
|
|
2025
|
+
"integrity": "sha512-CTzJqaSq30V/Z2Og9jogzZt8lJRR5TKlAdXmWgdu4hgcC9Kww5flQ+xFvMxIBWVNdxJO7OifgdOK4PokMIWPew==",
|
|
2026
|
+
"license": "MIT",
|
|
2027
|
+
"dependencies": {
|
|
2028
|
+
"@typescript-eslint/tsconfig-utils": "^8.39.0",
|
|
2029
|
+
"@typescript-eslint/types": "^8.39.0",
|
|
2030
|
+
"debug": "^4.3.4"
|
|
2031
|
+
},
|
|
2032
|
+
"engines": {
|
|
2033
|
+
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
|
2034
|
+
},
|
|
2035
|
+
"funding": {
|
|
2036
|
+
"type": "opencollective",
|
|
2037
|
+
"url": "https://opencollective.com/typescript-eslint"
|
|
2038
|
+
},
|
|
2039
|
+
"peerDependencies": {
|
|
2040
|
+
"typescript": ">=4.8.4 <6.0.0"
|
|
2041
|
+
}
|
|
2042
|
+
},
|
|
2043
|
+
"node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/scope-manager": {
|
|
2044
|
+
"version": "8.39.0",
|
|
2045
|
+
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.39.0.tgz",
|
|
2046
|
+
"integrity": "sha512-8QOzff9UKxOh6npZQ/4FQu4mjdOCGSdO3p44ww0hk8Vu+IGbg0tB/H1LcTARRDzGCC8pDGbh2rissBuuoPgH8A==",
|
|
2047
|
+
"license": "MIT",
|
|
2048
|
+
"dependencies": {
|
|
2049
|
+
"@typescript-eslint/types": "8.39.0",
|
|
2050
|
+
"@typescript-eslint/visitor-keys": "8.39.0"
|
|
2051
|
+
},
|
|
2052
|
+
"engines": {
|
|
2053
|
+
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
|
2054
|
+
},
|
|
2055
|
+
"funding": {
|
|
2056
|
+
"type": "opencollective",
|
|
2057
|
+
"url": "https://opencollective.com/typescript-eslint"
|
|
2058
|
+
}
|
|
2059
|
+
},
|
|
2060
|
+
"node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/tsconfig-utils": {
|
|
2061
|
+
"version": "8.39.0",
|
|
2062
|
+
"resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.39.0.tgz",
|
|
2063
|
+
"integrity": "sha512-Fd3/QjmFV2sKmvv3Mrj8r6N8CryYiCS8Wdb/6/rgOXAWGcFuc+VkQuG28uk/4kVNVZBQuuDHEDUpo/pQ32zsIQ==",
|
|
2064
|
+
"license": "MIT",
|
|
2065
|
+
"engines": {
|
|
2066
|
+
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
|
2067
|
+
},
|
|
2068
|
+
"funding": {
|
|
2069
|
+
"type": "opencollective",
|
|
2070
|
+
"url": "https://opencollective.com/typescript-eslint"
|
|
2071
|
+
},
|
|
2072
|
+
"peerDependencies": {
|
|
2073
|
+
"typescript": ">=4.8.4 <6.0.0"
|
|
2074
|
+
}
|
|
2075
|
+
},
|
|
2076
|
+
"node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/types": {
|
|
2077
|
+
"version": "8.39.0",
|
|
2078
|
+
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.39.0.tgz",
|
|
2079
|
+
"integrity": "sha512-ArDdaOllnCj3yn/lzKn9s0pBQYmmyme/v1HbGIGB0GB/knFI3fWMHloC+oYTJW46tVbYnGKTMDK4ah1sC2v0Kg==",
|
|
2080
|
+
"license": "MIT",
|
|
2081
|
+
"engines": {
|
|
2082
|
+
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
|
2083
|
+
},
|
|
2084
|
+
"funding": {
|
|
2085
|
+
"type": "opencollective",
|
|
2086
|
+
"url": "https://opencollective.com/typescript-eslint"
|
|
2087
|
+
}
|
|
2088
|
+
},
|
|
2089
|
+
"node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/typescript-estree": {
|
|
2090
|
+
"version": "8.39.0",
|
|
2091
|
+
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.39.0.tgz",
|
|
2092
|
+
"integrity": "sha512-ndWdiflRMvfIgQRpckQQLiB5qAKQ7w++V4LlCHwp62eym1HLB/kw7D9f2e8ytONls/jt89TEasgvb+VwnRprsw==",
|
|
2093
|
+
"license": "MIT",
|
|
2094
|
+
"dependencies": {
|
|
2095
|
+
"@typescript-eslint/project-service": "8.39.0",
|
|
2096
|
+
"@typescript-eslint/tsconfig-utils": "8.39.0",
|
|
2097
|
+
"@typescript-eslint/types": "8.39.0",
|
|
2098
|
+
"@typescript-eslint/visitor-keys": "8.39.0",
|
|
2099
|
+
"debug": "^4.3.4",
|
|
2100
|
+
"fast-glob": "^3.3.2",
|
|
2101
|
+
"is-glob": "^4.0.3",
|
|
2102
|
+
"minimatch": "^9.0.4",
|
|
2103
|
+
"semver": "^7.6.0",
|
|
2104
|
+
"ts-api-utils": "^2.1.0"
|
|
2105
|
+
},
|
|
2106
|
+
"engines": {
|
|
2107
|
+
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
|
2108
|
+
},
|
|
2109
|
+
"funding": {
|
|
2110
|
+
"type": "opencollective",
|
|
2111
|
+
"url": "https://opencollective.com/typescript-eslint"
|
|
2112
|
+
},
|
|
2113
|
+
"peerDependencies": {
|
|
2114
|
+
"typescript": ">=4.8.4 <6.0.0"
|
|
2115
|
+
}
|
|
2116
|
+
},
|
|
2117
|
+
"node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/visitor-keys": {
|
|
2118
|
+
"version": "8.39.0",
|
|
2119
|
+
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.39.0.tgz",
|
|
2120
|
+
"integrity": "sha512-ldgiJ+VAhQCfIjeOgu8Kj5nSxds0ktPOSO9p4+0VDH2R2pLvQraaM5Oen2d7NxzMCm+Sn/vJT+mv2H5u6b/3fA==",
|
|
2121
|
+
"license": "MIT",
|
|
2122
|
+
"dependencies": {
|
|
2123
|
+
"@typescript-eslint/types": "8.39.0",
|
|
2124
|
+
"eslint-visitor-keys": "^4.2.1"
|
|
2125
|
+
},
|
|
2126
|
+
"engines": {
|
|
2127
|
+
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
|
2128
|
+
},
|
|
2129
|
+
"funding": {
|
|
2130
|
+
"type": "opencollective",
|
|
2131
|
+
"url": "https://opencollective.com/typescript-eslint"
|
|
2132
|
+
}
|
|
2133
|
+
},
|
|
2134
|
+
"node_modules/@typescript-eslint/parser/node_modules/eslint-visitor-keys": {
|
|
2135
|
+
"version": "4.2.1",
|
|
2136
|
+
"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz",
|
|
2137
|
+
"integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==",
|
|
2138
|
+
"license": "Apache-2.0",
|
|
2139
|
+
"engines": {
|
|
2140
|
+
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
|
2141
|
+
},
|
|
2142
|
+
"funding": {
|
|
2143
|
+
"url": "https://opencollective.com/eslint"
|
|
2020
2144
|
}
|
|
2021
2145
|
},
|
|
2022
2146
|
"node_modules/@typescript-eslint/project-service": {
|
|
@@ -2040,14 +2164,15 @@
|
|
|
2040
2164
|
}
|
|
2041
2165
|
},
|
|
2042
2166
|
"node_modules/@typescript-eslint/rule-tester": {
|
|
2043
|
-
"version": "8.
|
|
2044
|
-
"resolved": "https://registry.npmjs.org/@typescript-eslint/rule-tester/-/rule-tester-8.
|
|
2045
|
-
"integrity": "sha512-
|
|
2167
|
+
"version": "8.39.0",
|
|
2168
|
+
"resolved": "https://registry.npmjs.org/@typescript-eslint/rule-tester/-/rule-tester-8.39.0.tgz",
|
|
2169
|
+
"integrity": "sha512-q+wYSp2ZjyQ5RxToAibRnjy5yI/DRjwSlcy9w68M82j7ja7Om8eIqXvhmQ3UKDfmh69iT3C/6ZRaNOQMMgccVg==",
|
|
2046
2170
|
"dev": true,
|
|
2171
|
+
"license": "MIT",
|
|
2047
2172
|
"dependencies": {
|
|
2048
|
-
"@typescript-eslint/parser": "8.
|
|
2049
|
-
"@typescript-eslint/typescript-estree": "8.
|
|
2050
|
-
"@typescript-eslint/utils": "8.
|
|
2173
|
+
"@typescript-eslint/parser": "8.39.0",
|
|
2174
|
+
"@typescript-eslint/typescript-estree": "8.39.0",
|
|
2175
|
+
"@typescript-eslint/utils": "8.39.0",
|
|
2051
2176
|
"ajv": "^6.12.6",
|
|
2052
2177
|
"json-stable-stringify-without-jsonify": "^1.0.1",
|
|
2053
2178
|
"lodash.merge": "4.6.2",
|
|
@@ -2064,6 +2189,161 @@
|
|
|
2064
2189
|
"eslint": "^8.57.0 || ^9.0.0"
|
|
2065
2190
|
}
|
|
2066
2191
|
},
|
|
2192
|
+
"node_modules/@typescript-eslint/rule-tester/node_modules/@typescript-eslint/project-service": {
|
|
2193
|
+
"version": "8.39.0",
|
|
2194
|
+
"resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.39.0.tgz",
|
|
2195
|
+
"integrity": "sha512-CTzJqaSq30V/Z2Og9jogzZt8lJRR5TKlAdXmWgdu4hgcC9Kww5flQ+xFvMxIBWVNdxJO7OifgdOK4PokMIWPew==",
|
|
2196
|
+
"dev": true,
|
|
2197
|
+
"license": "MIT",
|
|
2198
|
+
"dependencies": {
|
|
2199
|
+
"@typescript-eslint/tsconfig-utils": "^8.39.0",
|
|
2200
|
+
"@typescript-eslint/types": "^8.39.0",
|
|
2201
|
+
"debug": "^4.3.4"
|
|
2202
|
+
},
|
|
2203
|
+
"engines": {
|
|
2204
|
+
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
|
2205
|
+
},
|
|
2206
|
+
"funding": {
|
|
2207
|
+
"type": "opencollective",
|
|
2208
|
+
"url": "https://opencollective.com/typescript-eslint"
|
|
2209
|
+
},
|
|
2210
|
+
"peerDependencies": {
|
|
2211
|
+
"typescript": ">=4.8.4 <6.0.0"
|
|
2212
|
+
}
|
|
2213
|
+
},
|
|
2214
|
+
"node_modules/@typescript-eslint/rule-tester/node_modules/@typescript-eslint/scope-manager": {
|
|
2215
|
+
"version": "8.39.0",
|
|
2216
|
+
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.39.0.tgz",
|
|
2217
|
+
"integrity": "sha512-8QOzff9UKxOh6npZQ/4FQu4mjdOCGSdO3p44ww0hk8Vu+IGbg0tB/H1LcTARRDzGCC8pDGbh2rissBuuoPgH8A==",
|
|
2218
|
+
"dev": true,
|
|
2219
|
+
"license": "MIT",
|
|
2220
|
+
"dependencies": {
|
|
2221
|
+
"@typescript-eslint/types": "8.39.0",
|
|
2222
|
+
"@typescript-eslint/visitor-keys": "8.39.0"
|
|
2223
|
+
},
|
|
2224
|
+
"engines": {
|
|
2225
|
+
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
|
2226
|
+
},
|
|
2227
|
+
"funding": {
|
|
2228
|
+
"type": "opencollective",
|
|
2229
|
+
"url": "https://opencollective.com/typescript-eslint"
|
|
2230
|
+
}
|
|
2231
|
+
},
|
|
2232
|
+
"node_modules/@typescript-eslint/rule-tester/node_modules/@typescript-eslint/tsconfig-utils": {
|
|
2233
|
+
"version": "8.39.0",
|
|
2234
|
+
"resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.39.0.tgz",
|
|
2235
|
+
"integrity": "sha512-Fd3/QjmFV2sKmvv3Mrj8r6N8CryYiCS8Wdb/6/rgOXAWGcFuc+VkQuG28uk/4kVNVZBQuuDHEDUpo/pQ32zsIQ==",
|
|
2236
|
+
"dev": true,
|
|
2237
|
+
"license": "MIT",
|
|
2238
|
+
"engines": {
|
|
2239
|
+
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
|
2240
|
+
},
|
|
2241
|
+
"funding": {
|
|
2242
|
+
"type": "opencollective",
|
|
2243
|
+
"url": "https://opencollective.com/typescript-eslint"
|
|
2244
|
+
},
|
|
2245
|
+
"peerDependencies": {
|
|
2246
|
+
"typescript": ">=4.8.4 <6.0.0"
|
|
2247
|
+
}
|
|
2248
|
+
},
|
|
2249
|
+
"node_modules/@typescript-eslint/rule-tester/node_modules/@typescript-eslint/types": {
|
|
2250
|
+
"version": "8.39.0",
|
|
2251
|
+
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.39.0.tgz",
|
|
2252
|
+
"integrity": "sha512-ArDdaOllnCj3yn/lzKn9s0pBQYmmyme/v1HbGIGB0GB/knFI3fWMHloC+oYTJW46tVbYnGKTMDK4ah1sC2v0Kg==",
|
|
2253
|
+
"dev": true,
|
|
2254
|
+
"license": "MIT",
|
|
2255
|
+
"engines": {
|
|
2256
|
+
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
|
2257
|
+
},
|
|
2258
|
+
"funding": {
|
|
2259
|
+
"type": "opencollective",
|
|
2260
|
+
"url": "https://opencollective.com/typescript-eslint"
|
|
2261
|
+
}
|
|
2262
|
+
},
|
|
2263
|
+
"node_modules/@typescript-eslint/rule-tester/node_modules/@typescript-eslint/typescript-estree": {
|
|
2264
|
+
"version": "8.39.0",
|
|
2265
|
+
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.39.0.tgz",
|
|
2266
|
+
"integrity": "sha512-ndWdiflRMvfIgQRpckQQLiB5qAKQ7w++V4LlCHwp62eym1HLB/kw7D9f2e8ytONls/jt89TEasgvb+VwnRprsw==",
|
|
2267
|
+
"dev": true,
|
|
2268
|
+
"license": "MIT",
|
|
2269
|
+
"dependencies": {
|
|
2270
|
+
"@typescript-eslint/project-service": "8.39.0",
|
|
2271
|
+
"@typescript-eslint/tsconfig-utils": "8.39.0",
|
|
2272
|
+
"@typescript-eslint/types": "8.39.0",
|
|
2273
|
+
"@typescript-eslint/visitor-keys": "8.39.0",
|
|
2274
|
+
"debug": "^4.3.4",
|
|
2275
|
+
"fast-glob": "^3.3.2",
|
|
2276
|
+
"is-glob": "^4.0.3",
|
|
2277
|
+
"minimatch": "^9.0.4",
|
|
2278
|
+
"semver": "^7.6.0",
|
|
2279
|
+
"ts-api-utils": "^2.1.0"
|
|
2280
|
+
},
|
|
2281
|
+
"engines": {
|
|
2282
|
+
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
|
2283
|
+
},
|
|
2284
|
+
"funding": {
|
|
2285
|
+
"type": "opencollective",
|
|
2286
|
+
"url": "https://opencollective.com/typescript-eslint"
|
|
2287
|
+
},
|
|
2288
|
+
"peerDependencies": {
|
|
2289
|
+
"typescript": ">=4.8.4 <6.0.0"
|
|
2290
|
+
}
|
|
2291
|
+
},
|
|
2292
|
+
"node_modules/@typescript-eslint/rule-tester/node_modules/@typescript-eslint/utils": {
|
|
2293
|
+
"version": "8.39.0",
|
|
2294
|
+
"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.39.0.tgz",
|
|
2295
|
+
"integrity": "sha512-4GVSvNA0Vx1Ktwvf4sFE+exxJ3QGUorQG1/A5mRfRNZtkBT2xrA/BCO2H0eALx/PnvCS6/vmYwRdDA41EoffkQ==",
|
|
2296
|
+
"dev": true,
|
|
2297
|
+
"license": "MIT",
|
|
2298
|
+
"dependencies": {
|
|
2299
|
+
"@eslint-community/eslint-utils": "^4.7.0",
|
|
2300
|
+
"@typescript-eslint/scope-manager": "8.39.0",
|
|
2301
|
+
"@typescript-eslint/types": "8.39.0",
|
|
2302
|
+
"@typescript-eslint/typescript-estree": "8.39.0"
|
|
2303
|
+
},
|
|
2304
|
+
"engines": {
|
|
2305
|
+
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
|
2306
|
+
},
|
|
2307
|
+
"funding": {
|
|
2308
|
+
"type": "opencollective",
|
|
2309
|
+
"url": "https://opencollective.com/typescript-eslint"
|
|
2310
|
+
},
|
|
2311
|
+
"peerDependencies": {
|
|
2312
|
+
"eslint": "^8.57.0 || ^9.0.0",
|
|
2313
|
+
"typescript": ">=4.8.4 <6.0.0"
|
|
2314
|
+
}
|
|
2315
|
+
},
|
|
2316
|
+
"node_modules/@typescript-eslint/rule-tester/node_modules/@typescript-eslint/visitor-keys": {
|
|
2317
|
+
"version": "8.39.0",
|
|
2318
|
+
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.39.0.tgz",
|
|
2319
|
+
"integrity": "sha512-ldgiJ+VAhQCfIjeOgu8Kj5nSxds0ktPOSO9p4+0VDH2R2pLvQraaM5Oen2d7NxzMCm+Sn/vJT+mv2H5u6b/3fA==",
|
|
2320
|
+
"dev": true,
|
|
2321
|
+
"license": "MIT",
|
|
2322
|
+
"dependencies": {
|
|
2323
|
+
"@typescript-eslint/types": "8.39.0",
|
|
2324
|
+
"eslint-visitor-keys": "^4.2.1"
|
|
2325
|
+
},
|
|
2326
|
+
"engines": {
|
|
2327
|
+
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
|
2328
|
+
},
|
|
2329
|
+
"funding": {
|
|
2330
|
+
"type": "opencollective",
|
|
2331
|
+
"url": "https://opencollective.com/typescript-eslint"
|
|
2332
|
+
}
|
|
2333
|
+
},
|
|
2334
|
+
"node_modules/@typescript-eslint/rule-tester/node_modules/eslint-visitor-keys": {
|
|
2335
|
+
"version": "4.2.1",
|
|
2336
|
+
"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz",
|
|
2337
|
+
"integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==",
|
|
2338
|
+
"dev": true,
|
|
2339
|
+
"license": "Apache-2.0",
|
|
2340
|
+
"engines": {
|
|
2341
|
+
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
|
2342
|
+
},
|
|
2343
|
+
"funding": {
|
|
2344
|
+
"url": "https://opencollective.com/eslint"
|
|
2345
|
+
}
|
|
2346
|
+
},
|
|
2067
2347
|
"node_modules/@typescript-eslint/scope-manager": {
|
|
2068
2348
|
"version": "8.38.0",
|
|
2069
2349
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.38.0.tgz",
|
|
@@ -4020,29 +4300,6 @@
|
|
|
4020
4300
|
"typescript": ">=4.8.4 <6.0.0"
|
|
4021
4301
|
}
|
|
4022
4302
|
},
|
|
4023
|
-
"node_modules/eslint-plugin-github/node_modules/@typescript-eslint/parser": {
|
|
4024
|
-
"version": "8.39.0",
|
|
4025
|
-
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.39.0.tgz",
|
|
4026
|
-
"integrity": "sha512-g3WpVQHngx0aLXn6kfIYCZxM6rRJlWzEkVpqEFLT3SgEDsp9cpCbxxgwnE504q4H+ruSDh/VGS6nqZIDynP+vg==",
|
|
4027
|
-
"dependencies": {
|
|
4028
|
-
"@typescript-eslint/scope-manager": "8.39.0",
|
|
4029
|
-
"@typescript-eslint/types": "8.39.0",
|
|
4030
|
-
"@typescript-eslint/typescript-estree": "8.39.0",
|
|
4031
|
-
"@typescript-eslint/visitor-keys": "8.39.0",
|
|
4032
|
-
"debug": "^4.3.4"
|
|
4033
|
-
},
|
|
4034
|
-
"engines": {
|
|
4035
|
-
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
|
4036
|
-
},
|
|
4037
|
-
"funding": {
|
|
4038
|
-
"type": "opencollective",
|
|
4039
|
-
"url": "https://opencollective.com/typescript-eslint"
|
|
4040
|
-
},
|
|
4041
|
-
"peerDependencies": {
|
|
4042
|
-
"eslint": "^8.57.0 || ^9.0.0",
|
|
4043
|
-
"typescript": ">=4.8.4 <6.0.0"
|
|
4044
|
-
}
|
|
4045
|
-
},
|
|
4046
4303
|
"node_modules/eslint-plugin-github/node_modules/@typescript-eslint/project-service": {
|
|
4047
4304
|
"version": "8.39.0",
|
|
4048
4305
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.39.0.tgz",
|
|
@@ -9117,29 +9374,6 @@
|
|
|
9117
9374
|
"typescript": ">=4.8.4 <6.0.0"
|
|
9118
9375
|
}
|
|
9119
9376
|
},
|
|
9120
|
-
"node_modules/typescript-eslint/node_modules/@typescript-eslint/parser": {
|
|
9121
|
-
"version": "8.39.0",
|
|
9122
|
-
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.39.0.tgz",
|
|
9123
|
-
"integrity": "sha512-g3WpVQHngx0aLXn6kfIYCZxM6rRJlWzEkVpqEFLT3SgEDsp9cpCbxxgwnE504q4H+ruSDh/VGS6nqZIDynP+vg==",
|
|
9124
|
-
"dependencies": {
|
|
9125
|
-
"@typescript-eslint/scope-manager": "8.39.0",
|
|
9126
|
-
"@typescript-eslint/types": "8.39.0",
|
|
9127
|
-
"@typescript-eslint/typescript-estree": "8.39.0",
|
|
9128
|
-
"@typescript-eslint/visitor-keys": "8.39.0",
|
|
9129
|
-
"debug": "^4.3.4"
|
|
9130
|
-
},
|
|
9131
|
-
"engines": {
|
|
9132
|
-
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
|
9133
|
-
},
|
|
9134
|
-
"funding": {
|
|
9135
|
-
"type": "opencollective",
|
|
9136
|
-
"url": "https://opencollective.com/typescript-eslint"
|
|
9137
|
-
},
|
|
9138
|
-
"peerDependencies": {
|
|
9139
|
-
"eslint": "^8.57.0 || ^9.0.0",
|
|
9140
|
-
"typescript": ">=4.8.4 <6.0.0"
|
|
9141
|
-
}
|
|
9142
|
-
},
|
|
9143
9377
|
"node_modules/typescript-eslint/node_modules/@typescript-eslint/project-service": {
|
|
9144
9378
|
"version": "8.39.0",
|
|
9145
9379
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.39.0.tgz",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "eslint-plugin-primer-react",
|
|
3
|
-
"version": "8.0.0-rc.
|
|
3
|
+
"version": "8.0.0-rc.6b8a06e",
|
|
4
4
|
"description": "ESLint rules for Primer React",
|
|
5
5
|
"main": "src/index.js",
|
|
6
6
|
"engines": {
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
"@github/markdownlint-github": "^0.6.3",
|
|
47
47
|
"@github/prettier-config": "0.0.6",
|
|
48
48
|
"@types/jest": "^30.0.0",
|
|
49
|
-
"@typescript-eslint/rule-tester": "8.
|
|
49
|
+
"@typescript-eslint/rule-tester": "8.39.0",
|
|
50
50
|
"eslint": "^9.0.0",
|
|
51
51
|
"eslint-plugin-eslint-comments": "^3.2.0",
|
|
52
52
|
"eslint-plugin-filenames": "^1.3.2",
|