- #592
0988020Thanks @alaingoga! - Remove plugin:github/react from src/configs/recommended.js to avoid silently depending on GitHub’s React config behavior. Expand this package’s eslint peer dependency range to include ESLint ^10.0.0. Update the lockfile to reflect the peer dependency change.
- #577
f0c6656Thanks @francinelucca! - - BREAKING CHANGE: Deleted theno-system-propsrule to eliminate checks for styled-system props in components.- BREAKING CHANGE: Removed the
no-unnecessary-componentsrule that enforced the use of plain HTML elements overBoxandTextwhen not usingsxfor styling. - BREAKING CHANGE: Eliminated the
use-styled-react-importrule that enforced importing components from@primer/styled-reactwhen using thesxprop. - Removed styled-system, @types/styled-system dependencies
- BREAKING CHANGE: Removed the
-
#548
7f5af96Thanks @copilot-swe-agent! - Fix use-styled-react-import fixer stripping type keyword from import specifiers -
#565
93f3788Thanks @mattcosta7! - Add SplitPageLayout.Sidebar to no-system-props exclusions for padding, position, and width.
- #376
4f0e5b5Thanks @copilot-swe-agent! - Add ESLint rule to replace deprecated Octicon component with specific icons and remove unused imports
- #488
e27c83bThanks @siddharthkp! - utils/casing-matches: Prevent ReDoS vulnerability
-
#474
1e0f943Thanks @liuliu-dev! - Fixno-unnecessary-componentsrule to support@primer/styled-reactimports. -
#461
75ae0a5Thanks @joshfarrant! - Exportenforce-button-for-link-with-no-hrefrule, which flagsLinkcomponents which don't have ahref.
- #443
8865e3aThanks @hectahertz! - Add no-use-responsive-value
-
#435
aa12209Thanks @TylerJDev! - Addswidthandheighttono-system-propsforConfirmationDialog -
#454
917f344Thanks @francinelucca! - no-system-props: allow 'overflow' prop in Breadcrumbs
- #437
9270d40Thanks @copilot-swe-agent! - Add spread-props-first rule to ensure spread props come before other props
- #426
b83f467Thanks @siddharthkp! - use-styled-react-import: Add ThemeProvider, BaseStyles and useTheme. Allow theme components to be imported from styled-react without sx
- #382
93e4b76Thanks @jonrohan! - Add ruleuse-styled-react-importto enforce importing components with sx prop from @primer/styled-react
- #389
747fc82Thanks @llastflowers! - Add exception for height and width for SkeletonBox in no-system-props rule
-
#381
52f3be6Thanks @copilot-swe-agent! - Upgrade to ESLint v9 support with eslint-plugin-github v6 -
#380
d42d5c0Thanks @copilot-swe-agent! - Update repository to Node.js v20
- #366
c7bf278Thanks @liuliu-dev! - Adda11y-no-duplicate-form-labelsrule to prevent duplicate labels on TextInput components.
- #359
1480ebaThanks @TylerJDev! - Fixes error whenimporteddoes not exist in specifier object
-
#331
82a7d03Thanks @francinelucca! - Update message for no-deprecated-experimental-components rule -
#333
c709c98Thanks @francinelucca! - Update message for no-deprecated-experimental-components rule -
#331
82a7d03Thanks @francinelucca! - Removes primer-react/enforce-css-module-identifier-casing, primer-react/enforce-css-module-default-import from recommended set of rules.
-
#270
17814a2Thanks @broccolinisoup! - Update a11y-use-next-tooltip to be a11y-use-accessible-tooltip and make the changes accordingly -
#316
40016c8Thanks @TylerJDev! - Adda11y-no-title-usagethat warns against usingtitlein some components
-
#266
90134bcThanks @keithamus! - Add enforce-css-module-default-import rule -
#258
83f29f3Thanks @keithamus! - Add enforce-css-module-identifier-casing rule -
#325
f689fccThanks @TylerJDev! - Addno-deprecated-experimental-componentsrule
-
#330
1b70cf1Thanks @francinelucca! - Add null check to enforce-css-module-identifier-casing.js. Corrects complex instances where ref.resolve is not available. -
#314
63ef9fdThanks @khiga8! - fix: Link to should be allowed to have tooltip
- #255
fd2cb55Thanks @joshblack! - Update no-wildcard-imports rule to no longer migrate the TokenSizeKeys import
- #253
456bf4dThanks @joshblack! - Update no-wildcard-imports rule to move ButtonBase to@primer/react/experimental
- #249
f8c8a9dThanks @joshblack! - Update no-wildcard-imports rule to not create separate imports for type only imports. This prevents an issue downstream with autofixers
- #242
e139c02Thanks @joshblack! - Update no-wildcard-imports rule to work for imports that specify value and type imports
-
#239
3b2e023Thanks @joshblack! - Update use-deprecated-from-deprecated rule to include prop types -
#234
9a58afbThanks @joshblack! - Update no-wildcard-imports rule to use local name for updated imports
- #237
f072227Thanks @lukasoppermann! - no-system-props: Addbgprop toProgressBar.Item
- #225
b4698dfThanks @joshblack! - Add eslint rule for discouraging use of wildcard imports from @primer/react
- #218
e55d3d3Thanks @iansan5653! - Fix incorrect rule violations on components imported from @primer/react-brand
- #216
55c5256Thanks @iansan5653! - Fix invalid rule names
-
#207
baff792Thanks @iansan5653! - [Breaking] Addsno-unnecessary-componentslint rule and enables it by default. This may raise new (typically autofixable) lint errors in existing codebases. -
#211
3f92cd4Thanks @camchenry! - [Breaking] Addsprefer-action-list-item-onselectlint rule and enables it by default. This may raise new auto-fixable lint errors or type-checking errors in existing codebases.
- #204
e2cab87Thanks @joshblack! - Add use-deprecated-from-deprecated rule
- #212
78d4600Thanks @langermank! - no-system-props: Addpaddingandgapas exceptions forStack
- #103
8617a66Thanks @broccolinisoup! - Add a11y-use-next-tooltip rule that warns against using Tooltip v1 (Not the accessible one)
- #202
0293fdcThanks @keithamus! - Allow ActionMenu.Button alignContent prop
- #185
fea642dThanks @broccolinisoup! - Add a rule that warns against removingunsafeDisableTooltipprop
-
#195
ccc2e99Thanks @khiga8! - Clean up docs for link lint rule -
#193
5fc19f6Thanks @khiga8! - Update link lint rule to skip Link with className
-
#174
d9832b8Thanks @langermank! - - Removeno-deprecated-colorsplugin- Remove dependency on
primer/primitives
- Remove dependency on
-
#172
8e24d66Thanks @langermank! - [Breaking] Removenew-color-css-vars-have-fallback
- #156
15cfbb4Thanks @broccolinisoup! - Add no-deprecated-props rule
-
#166
4c3d9b4Thanks @chadfawcett! - Move eslint-plugin-github to dependencies -
#152
7baeb96Thanks @siddharthkp! - no-system-props: Add option to ignore specific component names
-
#148
523e169Thanks @siddharthkp! - no-system-props: skip html elements -
#149
ca14bb6Thanks @siddharthkp! - no-system-props: allow maxWidth prop for Truncate
- #145
0369cb8Thanks @siddharthkp! - no-system-props: Addpositionas allowed prop forDialog
- #129
eb04624Thanks @joshblack! - Add no-deprecated-entrypoints rule to lint against deprecated import usage in @primer/react
- #133
5cc9630Thanks @siddharthkp! - no-system-props: Add alignContent to allowed props for Button
- #122
3bc226aThanks @lukasoppermann! - New rule: new-color-css-vars-have-fallback: checks that if a new color var is used, it has a fallback value
- #81
821ef4dThanks @langermank! - New rule:new-color-css-varsto find/replace legacy CSS color vars in sx prop
- #76
1750256Thanks @joshblack! - Update the no-system-props rule to exclude theborderprop for theBlankslatecomponent from@primer/react.
- #74
c07df5cThanks @TylerJDev! - Adds support forMarkdownEditor.Footerindirect-slot-childrenrule
- #51
a65aa32Thanks @broccolinisoup! - Adda11y-tooltip-interactive-trigger
- #66
d1df609Thanks @TylerJDev! - Adda11y-explicit-headingrule
- #67
4dfdb47Thanks @TylerJDev! - * Updates component mapping, addscomponents.js- Bumps
eslint-plugin-githubandeslint-plugin-jsx-a11y - Fixes bug in
a11y-explicit-headingwhen using spread props, or variable foras
- Bumps
- #72
522b9ccThanks @TylerJDev! - RemovesLink,SpinnerandTabNav.Linkfrom component mapping
- #73
974d9e8Thanks @TylerJDev! - * FixesnonInteractiveLinkrule for links that pass values through JSX rather than a string- Adds optional chaining to
getJSXOpeningElementAttributeto avoid error when nonameis present
- Adds optional chaining to
- #49
ad22b85Thanks @colebemis! -direct-slot-children: Add checks forMarkdownEditorslot children
- #47
9964e4eThanks @colebemis! - - Update the no-system-props rule to properly check subcomponents for system props- Adds valid sucomponent props to the allowlist
- #45
a39e34dThanks @colebemis! - Moredirect-slot-childrenfixes:- Fix bug related self-closing JSX tags
- Allow slot children to accept multiple parents (ex:
ActionList.ItemorActionList.LinkItem) - Add
SplitPageLayoutandNavListto the slot map - Ignore
MarkdownEditorbecause it's still a draft
- #43
943e49aThanks @colebemis! -direct-slot-childrenfixes
- #39
96a675dThanks @colebemis! - Adddirect-slot-childrenrule
-
#34
efd4f67Thanks @khiga8! - Provide component mapping forgithub/reactpreset and add dependencies toeslint-plugin-githubandeslint-plugin-jsx-a11y.eslintpeer dependency is now^8.0.1.
- #31
a64413aThanks @colebemis! -no-system-props: Always ignoresizeprop
- #27
19cbc53Thanks @colebemis! -no-system-props: Ignorebgprop onPointerBoxcomponent
- #24
e5565aeThanks @colebemis! - Replace references to@primer/componentswith@primer/react
- #22
87d0fd6Thanks @dmarcey! - Ignore non-literal, non-string arguments tothemeGetinno-deprecated-colorsrule
- #18
f0c7a3dThanks @jfuchs! - Introduced an option on no-system-props to include utility components (includeUtilityComponents).
- #20
b0824f6Thanks @jfuchs! - Updates no-system-props rule to always exclude the 'variant' prop no matter which component.
- #15
9b96147Thanks @colebemis! - Theno-deprecated-colorsnow warns about deprecated and removed color variables
-
#10
31d069bThanks @colebemis! - Add acheckAllStringsoption to theno-deprecated-colorsrule.If
checkAllStringsis set totrue, theno-deprecated-colorsrule will check for deprecated colors in all strings. This is useful for catching uses of deprecated colors outside system props and thesxprop./* eslint primer-react/no-deprecated-colors: ["warn", {"checkAllStrings": true}] */ import {Box} from '@primer/react' function ExampleComponent() { const styles = { // Enabling `checkAllStrings` will find deprecated colors used like this: color: 'text.primary', } return <Box sx={styles}>Hello</Box> }
- #7
d9dfb8dThanks @colebemis! - AddskipImportCheckoption. By default, theno-deprecated-colorsrule will only check for deprecated colors used in functions and components that are imported from@primer/react. You can disable this behavior by settingskipImportChecktotrue. This is useful for linting custom components that pass color-related props down to Primer React components.
- #6
dd14594Thanks @colebemis! - Theno-deprecated-colorsrule can now find deprecated colors in the following cases:-
Nested
sxproperties:<Box sx={{'&:hover': {bg: 'bg.primary'}}}>
-
Functions in
sxprop:<Box sx={{boxShadow: theme => `0 1px 2px ${theme.colors.text.primary}`}}>
-
- #3
8e9144fThanks @colebemis! - Add type metadata to no-deprecated-colors rule