eslint-plugin-primer-react 4.0.4 → 4.1.0-rc.34e4ecf
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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "eslint-plugin-primer-react",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.1.0-rc.34e4ecf",
|
|
4
4
|
"description": "ESLint rules for Primer React",
|
|
5
5
|
"main": "src/index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
"styled-system": "^5.1.5"
|
|
37
37
|
},
|
|
38
38
|
"devDependencies": {
|
|
39
|
-
"@changesets/changelog-github": "^0.
|
|
39
|
+
"@changesets/changelog-github": "^0.5.0",
|
|
40
40
|
"@changesets/cli": "^2.16.0",
|
|
41
41
|
"@github/markdownlint-github": "^0.6.0",
|
|
42
42
|
"@github/prettier-config": "0.0.6",
|
package/src/index.js
CHANGED
|
@@ -2,6 +2,7 @@ module.exports = {
|
|
|
2
2
|
rules: {
|
|
3
3
|
'direct-slot-children': require('./rules/direct-slot-children'),
|
|
4
4
|
'no-deprecated-colors': require('./rules/no-deprecated-colors'),
|
|
5
|
+
'no-deprecated-entrypoints': require('./rules/no-deprecated-entrypoints'),
|
|
5
6
|
'no-system-props': require('./rules/no-system-props'),
|
|
6
7
|
'a11y-tooltip-interactive-trigger': require('./rules/a11y-tooltip-interactive-trigger'),
|
|
7
8
|
'new-color-css-vars': require('./rules/new-color-css-vars'),
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
'use strict'
|
|
2
|
+
|
|
3
|
+
const {RuleTester} = require('eslint')
|
|
4
|
+
const rule = require('../no-deprecated-entrypoints')
|
|
5
|
+
|
|
6
|
+
const ruleTester = new RuleTester({
|
|
7
|
+
parserOptions: {
|
|
8
|
+
ecmaVersion: 'latest',
|
|
9
|
+
sourceType: 'module',
|
|
10
|
+
ecmaFeatures: {
|
|
11
|
+
jsx: true,
|
|
12
|
+
},
|
|
13
|
+
},
|
|
14
|
+
})
|
|
15
|
+
|
|
16
|
+
ruleTester.run('no-deprecated-entrypoints', rule, {
|
|
17
|
+
valid: [`import {Box} from '@primer/react';`],
|
|
18
|
+
invalid: [
|
|
19
|
+
{
|
|
20
|
+
code: `import {DataTable} from '@primer/react/drafts';`,
|
|
21
|
+
output: `import {DataTable} from '@primer/react/experimental';`,
|
|
22
|
+
errors: [
|
|
23
|
+
{
|
|
24
|
+
message:
|
|
25
|
+
'The drafts entrypoint is deprecated and will be removed in the next major release. Use the experimental entrypoint instead',
|
|
26
|
+
},
|
|
27
|
+
],
|
|
28
|
+
},
|
|
29
|
+
],
|
|
30
|
+
})
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
'use strict'
|
|
2
|
+
|
|
3
|
+
const url = require('../url')
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* @type {import('eslint').Rule.RuleModule}
|
|
7
|
+
*/
|
|
8
|
+
module.exports = {
|
|
9
|
+
meta: {
|
|
10
|
+
type: 'problem',
|
|
11
|
+
docs: {
|
|
12
|
+
description: 'Avoid using deprecated entrypoints from @primer/react',
|
|
13
|
+
recommended: true,
|
|
14
|
+
url: url(module),
|
|
15
|
+
},
|
|
16
|
+
fixable: true,
|
|
17
|
+
schema: [],
|
|
18
|
+
},
|
|
19
|
+
create(context) {
|
|
20
|
+
return {
|
|
21
|
+
ImportDeclaration(node) {
|
|
22
|
+
if (node.source.value === '@primer/react/drafts') {
|
|
23
|
+
context.report({
|
|
24
|
+
node,
|
|
25
|
+
message:
|
|
26
|
+
'The drafts entrypoint is deprecated and will be removed in the next major release. Use the experimental entrypoint instead',
|
|
27
|
+
fix(fixer) {
|
|
28
|
+
return fixer.replaceText(node.source, `'@primer/react/experimental'`)
|
|
29
|
+
},
|
|
30
|
+
})
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
}
|