Skip to content

chore: update all packages to latest, migrate ESLint to v9 flat config#2

Draft
Copilot wants to merge 1 commit intomainfrom
copilot/update-repo-to-latest
Draft

chore: update all packages to latest, migrate ESLint to v9 flat config#2
Copilot wants to merge 1 commit intomainfrom
copilot/update-repo-to-latest

Conversation

Copy link
Copy Markdown

Copilot AI commented Apr 8, 2026

Brings all dependencies current, eliminates 18 vulnerabilities (13 high), and modernizes the ESLint setup to v9 flat config.

Package upgrades

Area Change
React 18 → 19 (react, react-dom, @types/*)
ESLint 8 → 9 + @typescript-eslint 6 → 8
Security axios 1.12 → 1.15, webpack 5.99 → 5.106
Figma @figma/plugin-typings 1.116 → 1.124, eslint-plugin-figma-plugins 0.16 → 1.0
Misc typescript 5.3 → 5.9, framer-motion 12.23 → 12.38, tailwindcss 3.4.17 → 3.4.19, all other minor/patch bumps

Added: typescript-eslint (unified package) + @eslint/js — required for ESLint v9 flat config.

ESLint v9 flat config migration

  • Removed eslintConfig from package.json
  • Created eslint.config.mjs using tseslint.config() with file-scoped rules (TS/TSX source only) and a separate CommonJS globals block for webpack.config.js / postcss.config.js
  • Added lint script to package.json

Code fixes (surfaced by stricter lint rules)

  • any elimination: figmaStorage.ts (anyunknown/Record<string,unknown>), useFigmaMessaging.ts generic default (unknown|anyRecord<string,unknown>), all demo components now use the FigmaMessage type instead of (message: any)
  • pluginController.ts: wrapped case blocks in braces (no-case-declarations), letconst for non-reassigned variables, any[]ReturnType<typeof getNodeProps>[]
  • CreateSpiralApp.tsx: e.target.value as anyas typeof shape

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants