isauwwebdev / isauwwebsite

isauwwebsite.vercel.app
2 stars 0 forks source link

Resolve Package Conflicts #39

Open enricopratama opened 1 week ago

enricopratama commented 1 week ago

Pull Request: Resolve Dependency Conflicts for Safe Installation

Issue Description

Currently, we are using npm i --legacy-peer-deps to install dependencies due to conflicts, specifically with the react-reveal package, which has an outdated peer dependency on React 16, while the project uses React 18. Using --legacy-peer-deps bypasses compatibility checks but is not safe for long-term stability and maintainability. This PR aims to resolve these conflicts to ensure secure and reliable dependency management.


Proposed Changes

  1. Replace or Update react-reveal Dependency

    • Since react-reveal@1.2.2 is incompatible with React 18 and is no longer actively maintained, this PR introduces alternative packages with similar animation functionality that support modern React versions.
    • Suggested Replacement: React Spring or Framer Motion. Both libraries are well-supported, compatible with React 18, and offer more customization options. This replacement ensures future compatibility and enhanced animations.
  2. Upgrade Deprecated Dependencies

    • Updated deprecated dependencies flagged by npm to stable and actively supported versions. This includes replacing:
      • rollup-plugin-terser with @rollup/plugin-terser
      • Other deprecations as per npm warnings, improving performance and security.
  3. Run Tests and Ensure Compatibility

    • Verified that all components affected by these animations still function correctly with the new library.
    • Updated any necessary documentation or component usage guides to reflect the new animation package.

Testing Plan


Additional Notes


enricopratama commented 1 week ago

Try to replace react-reveal ya guys, and also replacing it with other libraries such as AOS Animations: https://michalsnik.github.io/aos/

our goal is to not have to use the --legacy-peer-deps flag when doing npm i.