eslint-plugin-primer-react 6.1.2-rc.b701a6b → 6.1.3-rc.a9a6d84
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/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
# eslint-plugin-primer-react
|
|
2
2
|
|
|
3
|
+
## 6.1.3
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#242](https://github.com/primer/eslint-plugin-primer-react/pull/242) [`e139c02`](https://github.com/primer/eslint-plugin-primer-react/commit/e139c02ae0d0d656d2276320ae0e4756b3a1debd) Thanks [@joshblack](https://github.com/joshblack)! - Update no-wildcard-imports rule to work for imports that specify value and type imports
|
|
8
|
+
|
|
3
9
|
## 6.1.2
|
|
4
10
|
|
|
5
11
|
### Patch Changes
|
package/package-lock.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "eslint-plugin-primer-react",
|
|
3
|
-
"version": "6.1.
|
|
3
|
+
"version": "6.1.2",
|
|
4
4
|
"lockfileVersion": 2,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "eslint-plugin-primer-react",
|
|
9
|
-
"version": "6.1.
|
|
9
|
+
"version": "6.1.2",
|
|
10
10
|
"license": "MIT",
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"@styled-system/props": "^5.1.5",
|
|
@@ -1127,9 +1127,9 @@
|
|
|
1127
1127
|
}
|
|
1128
1128
|
},
|
|
1129
1129
|
"node_modules/@eslint/js": {
|
|
1130
|
-
"version": "8.57.
|
|
1131
|
-
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.
|
|
1132
|
-
"integrity": "sha512-
|
|
1130
|
+
"version": "8.57.1",
|
|
1131
|
+
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz",
|
|
1132
|
+
"integrity": "sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==",
|
|
1133
1133
|
"engines": {
|
|
1134
1134
|
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
|
|
1135
1135
|
}
|
|
@@ -1155,11 +1155,12 @@
|
|
|
1155
1155
|
"dev": true
|
|
1156
1156
|
},
|
|
1157
1157
|
"node_modules/@humanwhocodes/config-array": {
|
|
1158
|
-
"version": "0.
|
|
1159
|
-
"resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.
|
|
1160
|
-
"integrity": "sha512-
|
|
1158
|
+
"version": "0.13.0",
|
|
1159
|
+
"resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz",
|
|
1160
|
+
"integrity": "sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==",
|
|
1161
|
+
"deprecated": "Use @eslint/config-array instead",
|
|
1161
1162
|
"dependencies": {
|
|
1162
|
-
"@humanwhocodes/object-schema": "^2.0.
|
|
1163
|
+
"@humanwhocodes/object-schema": "^2.0.3",
|
|
1163
1164
|
"debug": "^4.3.1",
|
|
1164
1165
|
"minimatch": "^3.0.5"
|
|
1165
1166
|
},
|
|
@@ -1180,9 +1181,10 @@
|
|
|
1180
1181
|
}
|
|
1181
1182
|
},
|
|
1182
1183
|
"node_modules/@humanwhocodes/object-schema": {
|
|
1183
|
-
"version": "2.0.
|
|
1184
|
-
"resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.
|
|
1185
|
-
"integrity": "sha512-
|
|
1184
|
+
"version": "2.0.3",
|
|
1185
|
+
"resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz",
|
|
1186
|
+
"integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==",
|
|
1187
|
+
"deprecated": "Use @eslint/object-schema instead"
|
|
1186
1188
|
},
|
|
1187
1189
|
"node_modules/@istanbuljs/load-nyc-config": {
|
|
1188
1190
|
"version": "1.1.0",
|
|
@@ -3556,15 +3558,15 @@
|
|
|
3556
3558
|
}
|
|
3557
3559
|
},
|
|
3558
3560
|
"node_modules/eslint": {
|
|
3559
|
-
"version": "8.57.
|
|
3560
|
-
"resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.
|
|
3561
|
-
"integrity": "sha512-
|
|
3561
|
+
"version": "8.57.1",
|
|
3562
|
+
"resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.1.tgz",
|
|
3563
|
+
"integrity": "sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==",
|
|
3562
3564
|
"dependencies": {
|
|
3563
3565
|
"@eslint-community/eslint-utils": "^4.2.0",
|
|
3564
3566
|
"@eslint-community/regexpp": "^4.6.1",
|
|
3565
3567
|
"@eslint/eslintrc": "^2.1.4",
|
|
3566
|
-
"@eslint/js": "8.57.
|
|
3567
|
-
"@humanwhocodes/config-array": "^0.
|
|
3568
|
+
"@eslint/js": "8.57.1",
|
|
3569
|
+
"@humanwhocodes/config-array": "^0.13.0",
|
|
3568
3570
|
"@humanwhocodes/module-importer": "^1.0.1",
|
|
3569
3571
|
"@nodelib/fs.walk": "^1.2.8",
|
|
3570
3572
|
"@ungap/structured-clone": "^1.2.0",
|
|
@@ -8980,9 +8982,9 @@
|
|
|
8980
8982
|
}
|
|
8981
8983
|
},
|
|
8982
8984
|
"@eslint/js": {
|
|
8983
|
-
"version": "8.57.
|
|
8984
|
-
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.
|
|
8985
|
-
"integrity": "sha512-
|
|
8985
|
+
"version": "8.57.1",
|
|
8986
|
+
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz",
|
|
8987
|
+
"integrity": "sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q=="
|
|
8986
8988
|
},
|
|
8987
8989
|
"@github/browserslist-config": {
|
|
8988
8990
|
"version": "1.0.0",
|
|
@@ -9005,11 +9007,11 @@
|
|
|
9005
9007
|
"dev": true
|
|
9006
9008
|
},
|
|
9007
9009
|
"@humanwhocodes/config-array": {
|
|
9008
|
-
"version": "0.
|
|
9009
|
-
"resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.
|
|
9010
|
-
"integrity": "sha512-
|
|
9010
|
+
"version": "0.13.0",
|
|
9011
|
+
"resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz",
|
|
9012
|
+
"integrity": "sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==",
|
|
9011
9013
|
"requires": {
|
|
9012
|
-
"@humanwhocodes/object-schema": "^2.0.
|
|
9014
|
+
"@humanwhocodes/object-schema": "^2.0.3",
|
|
9013
9015
|
"debug": "^4.3.1",
|
|
9014
9016
|
"minimatch": "^3.0.5"
|
|
9015
9017
|
}
|
|
@@ -9020,9 +9022,9 @@
|
|
|
9020
9022
|
"integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA=="
|
|
9021
9023
|
},
|
|
9022
9024
|
"@humanwhocodes/object-schema": {
|
|
9023
|
-
"version": "2.0.
|
|
9024
|
-
"resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.
|
|
9025
|
-
"integrity": "sha512-
|
|
9025
|
+
"version": "2.0.3",
|
|
9026
|
+
"resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz",
|
|
9027
|
+
"integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA=="
|
|
9026
9028
|
},
|
|
9027
9029
|
"@istanbuljs/load-nyc-config": {
|
|
9028
9030
|
"version": "1.1.0",
|
|
@@ -10749,15 +10751,15 @@
|
|
|
10749
10751
|
"integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ="
|
|
10750
10752
|
},
|
|
10751
10753
|
"eslint": {
|
|
10752
|
-
"version": "8.57.
|
|
10753
|
-
"resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.
|
|
10754
|
-
"integrity": "sha512-
|
|
10754
|
+
"version": "8.57.1",
|
|
10755
|
+
"resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.1.tgz",
|
|
10756
|
+
"integrity": "sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==",
|
|
10755
10757
|
"requires": {
|
|
10756
10758
|
"@eslint-community/eslint-utils": "^4.2.0",
|
|
10757
10759
|
"@eslint-community/regexpp": "^4.6.1",
|
|
10758
10760
|
"@eslint/eslintrc": "^2.1.4",
|
|
10759
|
-
"@eslint/js": "8.57.
|
|
10760
|
-
"@humanwhocodes/config-array": "^0.
|
|
10761
|
+
"@eslint/js": "8.57.1",
|
|
10762
|
+
"@humanwhocodes/config-array": "^0.13.0",
|
|
10761
10763
|
"@humanwhocodes/module-importer": "^1.0.1",
|
|
10762
10764
|
"@nodelib/fs.walk": "^1.2.8",
|
|
10763
10765
|
"@ungap/structured-clone": "^1.2.0",
|
package/package.json
CHANGED
|
@@ -119,8 +119,37 @@ ruleTester.run('no-wildcard-imports', rule, {
|
|
|
119
119
|
],
|
|
120
120
|
},
|
|
121
121
|
|
|
122
|
+
// Test mixed imports
|
|
123
|
+
{
|
|
124
|
+
code: `import {Dialog, type DialogProps} from '@primer/react/lib-esm/Dialog/Dialog'`,
|
|
125
|
+
output: `import {Dialog} from '@primer/react/experimental'
|
|
126
|
+
import type {DialogProps} from '@primer/react/experimental'`,
|
|
127
|
+
errors: [
|
|
128
|
+
{
|
|
129
|
+
messageId: 'wildcardMigration',
|
|
130
|
+
data: {
|
|
131
|
+
wildcardEntrypoint: '@primer/react/lib-esm/Dialog/Dialog',
|
|
132
|
+
},
|
|
133
|
+
},
|
|
134
|
+
],
|
|
135
|
+
},
|
|
136
|
+
|
|
122
137
|
// Test migrations
|
|
123
138
|
|
|
139
|
+
// Test helpers ------------------------------------------------------------
|
|
140
|
+
{
|
|
141
|
+
code: `import '@primer/react/lib-esm/utils/test-helpers'`,
|
|
142
|
+
output: `import '@primer/react/test-helpers'`,
|
|
143
|
+
errors: [
|
|
144
|
+
{
|
|
145
|
+
messageId: 'wildcardMigration',
|
|
146
|
+
data: {
|
|
147
|
+
wildcardEntrypoint: '@primer/react/lib-esm/utils/test-helpers',
|
|
148
|
+
},
|
|
149
|
+
},
|
|
150
|
+
],
|
|
151
|
+
},
|
|
152
|
+
|
|
124
153
|
// Components --------------------------------------------------------------
|
|
125
154
|
{
|
|
126
155
|
code: `import {ButtonBase} from '@primer/react/lib-esm/Button/ButtonBase';
|
|
@@ -344,6 +373,18 @@ import type {ButtonBaseProps} from '@primer/react'`,
|
|
|
344
373
|
},
|
|
345
374
|
],
|
|
346
375
|
},
|
|
376
|
+
{
|
|
377
|
+
code: `import type {ResponsiveValue} from '@primer/react/lib-esm/hooks/useResponsiveValue'`,
|
|
378
|
+
output: `import type {ResponsiveValue} from '@primer/react'`,
|
|
379
|
+
errors: [
|
|
380
|
+
{
|
|
381
|
+
messageId: 'wildcardMigration',
|
|
382
|
+
data: {
|
|
383
|
+
wildcardEntrypoint: '@primer/react/lib-esm/hooks/useResponsiveValue',
|
|
384
|
+
},
|
|
385
|
+
},
|
|
386
|
+
],
|
|
387
|
+
},
|
|
347
388
|
|
|
348
389
|
// Utilities ---------------------------------------------------------------
|
|
349
390
|
|
|
@@ -40,6 +40,16 @@ const wildcardImports = new Map([
|
|
|
40
40
|
from: '@primer/react/experimental',
|
|
41
41
|
type: 'type',
|
|
42
42
|
},
|
|
43
|
+
{
|
|
44
|
+
name: 'DialogProps',
|
|
45
|
+
from: '@primer/react/experimental',
|
|
46
|
+
type: 'type',
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
name: 'DialogButtonProps',
|
|
50
|
+
from: '@primer/react/experimental',
|
|
51
|
+
type: 'type',
|
|
52
|
+
},
|
|
43
53
|
],
|
|
44
54
|
],
|
|
45
55
|
[
|
|
@@ -171,6 +181,11 @@ const wildcardImports = new Map([
|
|
|
171
181
|
name: 'useResponsiveValue',
|
|
172
182
|
from: '@primer/react',
|
|
173
183
|
},
|
|
184
|
+
{
|
|
185
|
+
type: 'type',
|
|
186
|
+
name: 'ResponsiveValue',
|
|
187
|
+
from: '@primer/react',
|
|
188
|
+
},
|
|
174
189
|
],
|
|
175
190
|
],
|
|
176
191
|
|
|
@@ -204,6 +219,15 @@ const wildcardImports = new Map([
|
|
|
204
219
|
},
|
|
205
220
|
],
|
|
206
221
|
],
|
|
222
|
+
[
|
|
223
|
+
'@primer/react/lib-esm/FeatureFlags/useFeatureFlag',
|
|
224
|
+
[
|
|
225
|
+
{
|
|
226
|
+
name: 'useFeatureFlag',
|
|
227
|
+
from: '@primer/react/experimental',
|
|
228
|
+
},
|
|
229
|
+
],
|
|
230
|
+
],
|
|
207
231
|
[
|
|
208
232
|
'@primer/react/lib-esm/theme',
|
|
209
233
|
[
|
|
@@ -245,6 +269,20 @@ module.exports = {
|
|
|
245
269
|
return
|
|
246
270
|
}
|
|
247
271
|
|
|
272
|
+
if (node.source.value === '@primer/react/lib-esm/utils/test-helpers') {
|
|
273
|
+
context.report({
|
|
274
|
+
node,
|
|
275
|
+
messageId: 'wildcardMigration',
|
|
276
|
+
data: {
|
|
277
|
+
wildcardEntrypoint: node.source.value,
|
|
278
|
+
},
|
|
279
|
+
fix(fixer) {
|
|
280
|
+
return fixer.replaceText(node.source, `'@primer/react/test-helpers'`)
|
|
281
|
+
},
|
|
282
|
+
})
|
|
283
|
+
return
|
|
284
|
+
}
|
|
285
|
+
|
|
248
286
|
const wildcardImportMigrations = wildcardImports.get(node.source.value)
|
|
249
287
|
if (!wildcardImportMigrations) {
|
|
250
288
|
context.report({
|
|
@@ -353,7 +391,7 @@ module.exports = {
|
|
|
353
391
|
yield fixer.replaceText(node, `import {${specifiers.join(', ')}} from '${entrypoint}'`)
|
|
354
392
|
|
|
355
393
|
if (typeSpecifiers.length > 0) {
|
|
356
|
-
const specifiers =
|
|
394
|
+
const specifiers = typeSpecifiers.map(([imported, local]) => {
|
|
357
395
|
if (imported !== local) {
|
|
358
396
|
return `${imported} as ${local}`
|
|
359
397
|
}
|