Merged
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
4c6facd to
73b5727
Compare
Contributor
There was a problem hiding this comment.
Pull request overview
This PR broadens ESLint configuration (shared rule scoping and new import/a11y rules), applies formatting/lint fixes across many Figma code-connect files, and introduces substantial new design-core tooling for exporting tokens/icons from Figma and generating Tailwind/theme utilities.
Changes:
- Add shared ESLint helpers to scope rules to global/prod/dev files and enable import + jsx-a11y plugins.
- Reformat/update many
*.figma.tsxfiles to comply with linting and import-order rules; adjust per-lib ESLint configs. - Add
libs/design-coreFigma tooling (API client, token export, SVG download) plus new theme primitives/typographies and Tailwind plugin utilities.
Reviewed changes
Copilot reviewed 54 out of 133 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| package.json | Move lodash-es to devDeps |
| package-lock.json | Lockfile update for lodash-es |
| eslint.config.mjs | Adopt shared ESLint scoping + plugins |
| eslint.shared.mjs | Add shared ESLint rule helpers |
| libs/ui-rnative/eslint.config.mjs | Add prod-only restricted imports |
| libs/ui-rnative/src/styles/provider/LumenStyleSheetProvider.test.tsx | Remove inline eslint disable |
| libs/ui-rnative/src/lib/Components/Checkbox/BaseCheckbox.tsx | Adjust accessibility role on indicator |
| libs/ui-react/eslint.config.mjs | Stop ignoring figma files |
| libs/ui-react/src/lib/Components/Tooltip/Tooltip.figma.tsx | Import/order formatting fixes |
| libs/ui-react/src/lib/Components/TileButton/TileButton.figma.tsx | Import/order formatting fixes |
| libs/ui-react/src/lib/Components/Tile/Tile.figma.tsx | Import/order + JSX formatting |
| libs/ui-react/src/lib/Components/TextInput/TextInput.figma.tsx | Trailing commas + import order |
| libs/ui-react/src/lib/Components/Tag/Tag.figma.tsx | Type formatting + commas |
| libs/ui-react/src/lib/Components/Table/Table.figma.tsx | Import order + JSX formatting |
| libs/ui-react/src/lib/Components/Switch/Switch.figma.tsx | Unused param underscores |
| libs/ui-react/src/lib/Components/Subheader/Subheader.figma.tsx | Inline JSX simplification |
| libs/ui-react/src/lib/Components/Stepper/Stepper.figma.tsx | Import/order formatting fixes |
| libs/ui-react/src/lib/Components/Spot/Spot.figma.tsx | Import/order formatting fixes |
| libs/ui-react/src/lib/Components/Spinner/Spinner.figma.tsx | Quote/style + JSX formatting |
| libs/ui-react/src/lib/Components/Skeleton/Skeleton.figma.tsx | Import/order formatting fixes |
| libs/ui-react/src/lib/Components/SideBar/SideBar.figma.tsx | Import grouping/order fixes |
| libs/ui-react/src/lib/Components/Select/Select.figma.tsx | Trailing commas + formatting |
| libs/ui-react/src/lib/Components/SearchInput/SearchInput.figma.tsx | Import/order formatting fixes |
| libs/ui-react/src/lib/Components/NavBar/NavBar.figma.tsx | JSX formatting + import order |
| libs/ui-react/src/lib/Components/Menu/Menu.figma.tsx | Class order + import order |
| libs/ui-react/src/lib/Components/MediaCard/MediaCard.figma.tsx | Import order + JSX formatting |
| libs/ui-react/src/lib/Components/ListItem/ListItem.figma.tsx | Import order + JSX formatting |
| libs/ui-react/src/lib/Components/Link/Link.figma.tsx | Import/order formatting fixes |
| libs/ui-react/src/lib/Components/InteractiveIcon/InteractiveIcon.figma.tsx | Import/order formatting fixes |
| libs/ui-react/src/lib/Components/IconButton/IconButton.figma.tsx | Import/order formatting fixes |
| libs/ui-react/src/lib/Components/Divider/Divider.figma.tsx | Inline JSX formatting |
| libs/ui-react/src/lib/Components/Dialog/Dialog.figma.tsx | JSX formatting + import order |
| libs/ui-react/src/lib/Components/ContentBanner/ContentBanner.figma.tsx | Import grouping + JSX formatting |
| libs/ui-react/src/lib/Components/Checkbox/Checkbox.figma.tsx | Commas + quote/style fixes |
| libs/ui-react/src/lib/Components/CardButton/CardButton.figma.tsx | Type formatting fixes |
| libs/ui-react/src/lib/Components/Card/Card.figma.tsx | Import order + JSX formatting |
| libs/ui-react/src/lib/Components/Button/Button.figma.tsx | Trailing commas + formatting |
| libs/ui-react/src/lib/Components/Banner/Banner.figma.tsx | Formatting + spacing tweaks |
| libs/ui-react/src/lib/Components/Avatar/Avatar.figma.tsx | Quote/style + JSX formatting |
| libs/ui-react/src/lib/Components/AmountInput/AmountInput.figma.tsx | Quote/style + formatting fixes |
| libs/ui-react/src/lib/Components/AmountDisplay/AmountDisplay.figma.tsx | Import/order formatting fixes |
| libs/ui-react/src/lib/Components/AddressInput/AddressInput.figma.tsx | Commas + formatting fixes |
| libs/design-core/automations/automation.config.ts | Centralize automation paths |
| libs/design-core/automations/designTokensEtl.ts | Use automation config paths |
| libs/design-core/automations/figmaDownloadSvgs.ts | Use tools path + config output |
| libs/design-core/automations/generate-symbols.mts | Point to tools utils |
| libs/design-core/tools/utils/parseCliArgs.ts | Add CLI args parsing helper |
| libs/design-core/tools/utils/parseCliArgs.test.ts | Vitest coverage for parseCliArgs |
| libs/design-core/tools/utils/fsUtils.ts | Add recursive file finder |
| libs/design-core/tools/utils/index.ts | Tools utils barrel exports |
| libs/design-core/tools/figma/api.ts | Add Figma REST API wrapper |
| libs/design-core/tools/figma/apiMock.ts | Add filesystem fixture loader |
| libs/design-core/tools/figma/downloadSvgs.ts | Add SVG download + caching |
| libs/design-core/tools/figma/exportDesignTokens.ts | Export tokens to JSON files |
| libs/design-core/tools/figma/getEnvironmentVariables.ts | Centralize env var validation |
| libs/design-core/tools/figma/getSvgs.ts | Fetch component SVG URLs from Figma |
| libs/design-core/tools/figma/localVariablesCodeSyntax.ts | Generate/update WEB codeSyntax |
| libs/design-core/tools/figma/localVariablesCodeSyntax.test.ts | Tests for codeSyntax mapping |
| libs/design-core/tools/figma/tokenFileNameRenamer.ts | Ledger-specific token filename renamer |
| libs/design-core/tools/figma/tokenFileNameRenamer.test.ts | Tests for filename renamer |
| libs/design-core/tools/figma/tokenFilesFromLocalVariables.ts | Convert Figma vars to token files |
| libs/design-core/tools/figma/tokenFilesFromLocalVariables.test.ts | Tests for token file generation |
| libs/design-core/tools/figma/types.ts | Add token/local-variable types |
| libs/design-core/tools/figma/updateCodeSyntax.ts | Script to update Figma codeSyntax |
| libs/design-core/src/index.ts | Fix public exports to /lib/* |
| libs/design-core/src/declarations.d.ts | Remove *.js token declaration |
| libs/design-core/src/lib/utils/index.ts | Add utils barrel exports |
| libs/design-core/src/lib/utils/getThemeUtilsByPrefix.ts | Add theme utility extractor |
| libs/design-core/src/lib/utils/getThemeUtilsByPrefix.test.ts | Tests for theme utility extractor |
| libs/design-core/src/lib/utils/createIconUtilities.ts | Tailwind icon utility generator |
| libs/design-core/src/lib/utils/createSpotUtilities.ts | Tailwind spot utility generator |
| libs/design-core/src/lib/utils/createMaskPlugin.ts | Tailwind mask plugin |
| libs/design-core/src/lib/utils/createScreensPlugin.ts | Tailwind screens plugin |
| libs/design-core/src/lib/utils/createAnimationsPlugin.ts | Tailwind animation keyframes |
| libs/design-core/src/lib/utils/createPrimitivesPlugin.ts | Adjust primitivesTheme import path |
| libs/design-core/src/lib/presets/index.ts | Presets barrel exports |
| libs/design-core/src/lib/presets/allBrands.ts | Import utilities via barrel |
| libs/design-core/src/lib/presets/enterprise.ts | Import utilities via barrel |
| libs/design-core/src/lib/presets/ledger-live.ts | Import utilities via barrel |
| libs/design-core/src/lib/presets/websites.ts | Import utilities via barrel |
| libs/design-core/src/lib/themes/js/index.ts | Export themes + shared types |
| libs/design-core/src/lib/themes/js/types.ts | Add theme/token type definitions |
| libs/design-core/src/lib/themes/js/utils/extractCryptoGradients.ts | Build crypto gradients from primitives |
| libs/design-core/src/lib/themes/js/primitives/primitives.motion.ts | Add motion primitives |
| libs/design-core/src/lib/themes/js/primitives/primitives.others.ts | Add spacing/size primitives |
| libs/design-core/src/lib/themes/js/primitives/primitives.shadows.ts | Add shadow primitives |
| libs/design-core/src/lib/themes/js/primitives/primitive.typographies.ts | Add typography primitives |
| libs/design-core/src/lib/themes/js/primitives/primitive.gradients.ts | Compose gradient primitives |
| libs/design-core/src/lib/themes/js/typographies/index.ts | Breakpoint typography registry |
| libs/design-core/src/lib/themes/js/typographies/typography.xs.ts | XS typography tokens |
| libs/design-core/src/lib/themes/js/typographies/typography.sm.ts | SM typography tokens |
| libs/design-core/src/lib/themes/js/typographies/typography.md.ts | MD typography tokens |
| libs/design-core/src/lib/themes/js/typographies/typography.lg.ts | LG typography tokens (alias) |
| libs/design-core/src/lib/themes/js/typographies/typography.xl.ts | XL typography tokens (alias) |
| libs/design-core/src/lib/themes/js/enterprise/theme.ts | Enterprise theme composition |
| libs/design-core/src/lib/themes/js/enterprise/theme.light.ts | Enterprise light colors |
| libs/design-core/src/lib/themes/js/enterprise/theme.dark.ts | Enterprise dark colors |
| libs/design-core/src/lib/themes/js/ledger-live/theme.ts | Ledger Live theme composition |
| libs/design-core/src/lib/themes/js/websites/theme.ts | Websites theme composition |
| libs/design-core/src/lib/themes/js/websites/theme.light.ts | Websites light colors |
| libs/design-core/src/lib/themes/js/websites/theme.dark.ts | Websites dark colors |
| libs/design-core/src/lib/themes/css/index.ts | Compose CSS token themes |
| libs/design-core/src/lib/themes/css/typographies/typography.xs.css | Generated XS typography CSS |
| libs/design-core/src/lib/themes/css/typographies/typography.xs-css.ts | Generated XS typography tokens TS |
| libs/design-core/src/lib/themes/css/typographies/typography.sm.css | Generated SM typography CSS |
| libs/design-core/src/lib/themes/css/typographies/typography.sm-css.ts | Generated SM typography tokens TS |
| libs/design-core/src/lib/themes/css/typographies/typography.md.css | Generated MD typography CSS |
| libs/design-core/src/lib/themes/css/typographies/typography.md-css.ts | Generated MD typography tokens TS |
| libs/design-core/src/lib/themes/css/typographies/typography.lg.css | Generated LG typography CSS |
| libs/design-core/src/lib/themes/css/typographies/typography.lg-css.ts | Generated LG typography tokens TS |
| libs/design-core/src/lib/themes/css/typographies/typography.xl.css | Generated XL typography CSS |
| libs/design-core/src/lib/themes/css/typographies/typography.xl-css.ts | Generated XL typography tokens TS |
| .cursor/skills/pr-review/SKILL.md | Add PR review skill doc |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
36abca8 to
3ae258e
Compare
3ae258e to
a10f762
Compare
a10f762 to
522bb54
Compare
522bb54 to
af88a82
Compare
f2cc6a8 to
2bae2ed
Compare
Signed-off-by: Simon Bruneaud <simon.bruneaud@ledger.fr>
Signed-off-by: Simon Bruneaud <simon.bruneaud@ledger.fr>
Signed-off-by: Simon Bruneaud <simon.bruneaud@ledger.fr>
Signed-off-by: Simon Bruneaud <simon.bruneaud@ledger.fr>
Signed-off-by: Simon Bruneaud <simon.bruneaud@ledger.fr>
Signed-off-by: Simon Bruneaud <simon.bruneaud@ledger.fr>
Signed-off-by: Simon Bruneaud <simon.bruneaud@ledger.fr>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Simon Bruneaud <simon.bruneaud@ledger.fr>
…bs/apps Signed-off-by: Simon Bruneaud <simon.bruneaud@ledger.fr>
Signed-off-by: Simon Bruneaud <simon.bruneaud@ledger.fr>
Signed-off-by: Simon Bruneaud <simon.bruneaud@ledger.fr>
Signed-off-by: Simon Bruneaud <simon.bruneaud@ledger.fr>
…tsconfig.storybook to tsconfig.tools Signed-off-by: Simon Bruneaud <simon.bruneaud@ledger.fr>
…eless imports Signed-off-by: Simon Bruneaud <simon.bruneaud@ledger.fr>
…useless imports Signed-off-by: Simon Bruneaud <simon.bruneaud@ledger.fr>
Signed-off-by: Simon Bruneaud <simon.bruneaud@ledger.fr>
e975ea8 to
3b4ed92
Compare
aammami-ledger
approved these changes
Mar 30, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Pull request overview
This PR broadens ESLint configuration (shared rule scoping and new import/a11y rules), applies formatting/lint fixes across many Figma code-connect files, and introduces substantial new design-core tooling for exporting tokens/icons from Figma and generating Tailwind/theme utilities.
Changes:
Add shared ESLint helpers to scope rules to global/prod/dev files and enable import + jsx-a11y plugins.
Reformat/update many *.figma.tsx files to comply with linting and import-order rules; adjust per-lib ESLint configs.
Add libs/design-core Figma tooling (API client, token export, SVG download) plus new theme primitives/typographies and Tailwind plugin utilities.