fix(deps): replace dependency framer-motion with motion - #250
Conversation
🤖 CodeAnt AI — Review Status
|
Thanks for using CodeAnt! 🎉We're free for open-source projects. if you're enjoying it, help us grow by sharing. Share on X · |
Bugbot couldn't run - usage limit reachedBugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit. A user or team admin can review and increase usage limits in the Cursor dashboard. (requestId: serverGenReqId_b6a5b587-4684-4002-8cea-8a877587a33d) |
PR Summary by QodoReplace framer-motion dependency with motion
AI Description
Diagram
High-Level Assessment
Files changed (2)
|
Code Review by Qodo
1. Imports target removed dependency
|
| "clsx": "^2.1.1", | ||
| "drizzle-orm": "^0.45.2", | ||
| "framer-motion": "^12.42.2", | ||
| "motion": "^12.42.2", |
There was a problem hiding this comment.
1. Imports target removed dependency 🐞 Bug ☼ Reliability
The PR removes framer-motion from direct dependencies without migrating any source imports to motion/react; all 23 animation consumers still import framer-motion. This only works because the current motion package transitively installs and hoists framer-motion, leaving builds vulnerable to dependency-layout or transitive-dependency changes.
Agent Prompt
## Issue description
The dependency manifest replaces `framer-motion` with `motion`, but application code still imports `framer-motion`. Update every runtime import to use the replacement package's React entry point, `motion/react`, and verify typecheck/build behavior.
## Issue Context
The lockfile currently hides the undeclared dependency because `motion` itself installs `framer-motion`. Source code should consume the package declared by this repository rather than relying on transitive hoisting.
## Fix Focus Areas
- package.json[21-27]
- src/app/page.tsx[1-3]
- src/app/items/page.tsx[1-4]
- src/app/mission/[id]/page.tsx[1-3]
- src/app/missions/page.tsx[1-3]
- src/app/quartermaster/page.tsx[1-3]
- src/app/tech-tree/page.tsx[1-3]
- src/app/unit/[id]/page.tsx[1-4]
- src/components/InventoryDrawer.tsx[1-3]
- src/components/RoverSchematic.tsx[1-4]
- src/components/Shell.tsx[1-4]
- src/components/UnitCard.tsx[1-4]
- src/components/board/NetInspector.tsx[1-3]
- src/components/cockpit/CommandRail.tsx[1-4]
- src/components/cockpit/OpticsWall.tsx[4-7]
- src/components/cockpit/SafetyStrip.tsx[8-11]
- src/components/datacore/DriverBoardSchematic.tsx[1-4]
- src/components/datacore/beast-console/BeastConsole.tsx[6-9]
- src/components/datacore/beast-console/BenchView.tsx[5-8]
- src/components/datacore/beast-console/ConsoleUi.tsx[1-4]
- src/components/datacore/beast-console/MountView.tsx[5-8]
- src/components/datacore/beast-console/PowerView.tsx[6-9]
- src/components/datacore/beast-console/RefView.tsx[5-8]
- src/components/ui/Gauge.tsx[1-4]
ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: bd9f264483
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| "clsx": "^2.1.1", | ||
| "drizzle-orm": "^0.45.2", | ||
| "framer-motion": "^12.42.2", | ||
| "motion": "^12.42.2", |
There was a problem hiding this comment.
Migrate imports to the declared Motion entry point
All 23 source modules still import framer-motion, which this line removes as a direct dependency. The current npm lock only keeps those imports working because motion transitively depends on and hoists framer-motion; a resolver that enforces direct dependencies or a future dependency layout that nests it will make Next unable to resolve these imports, and the intended package replacement is not actually achieved. Update the imports to the declared package's motion/react entry point.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
Pull request overview
This PR attempts to replace the app’s direct animation dependency on framer-motion with motion.
Changes:
- Swaps
framer-motion→motioninpackage.json. - Updates
package-lock.jsonto includemotionand resolvesframer-motion/motion-domto12.43.0transitively.
CI status (PR #250 / renovate/framer-motion-replacement):
Hangar web tests: successLetta PR Review: successBuild RobotOverview image: in progressOpenHands Cold Review: skipped/cancelled (multiple runs)
Reviewed changes
Copilot reviewed 1 out of 2 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| package.json | Replaces direct dependency framer-motion with motion. |
| package-lock.json | Adds motion and updates resolved Motion/Framer packages (including transitive framer-motion). |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
| "drizzle-orm": "^0.45.2", | ||
| "framer-motion": "^12.42.2", | ||
| "motion": "^12.42.2", | ||
| "lucide-react": "^1.23.0", |
Code Review SummaryStatus: No New Issues Found | Recommendation: Review existing comments before merge Overview
Issue Details (click to expand)No new issues identified in this review. Three active inline comments already flag the manifest/source import mismatch at Files Reviewed (2 files)
Reviewed by step-3.7-flash:free · Input: 66.6K · Output: 3.4K · Cached: 166.3K |
|
Verified: this is Renovate's framer-motion→motion package replacement (drop-in per upstream, same version string 12.42.2), touching only `package.json`/`package-lock.json`. It's a real import-surface change across every component using `framer-motion` in this app, and CI cannot verify it today (org-wide billing block). Per current review policy, MAJOR/library-replacement dependency PRs need a real test run before merging, which isn't possible right now. Not merging. Recommendation: hold until CI is restored, then merge only after a green run (or a manual local build+smoke test) confirms no runtime import breakage. |
|
CI is green (build, web tests, Kilo, Letta all pass), but the diff is incomplete: it only swaps the dependency entry in Build currently succeeds only because To actually complete this migration, the ~22 imports need to move to |
Agent review expected: verify the dependency impact, summarize CI status, and merge only when the update is coherent for this repo.
This PR contains the following updates:
^12.42.2→^12.42.2This is a special PR that replaces
framer-motionwith the community suggested minimal stable replacement version.Configuration
📅 Schedule: (in timezone America/Chicago)
* 4-8 * * 1-5)🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate CLI.