Skip to content

Replace Rollup Build Setup with Vite #26

Description

@freakingeek

Summary

This application is currently built using Rollup. While Rollup remains a capable bundler, the SolidJS ecosystem has largely standardized around Vite as the recommended development and build tool.

Migrating from Rollup to Vite would modernize the project's tooling, simplify configuration, improve developer experience, and provide access to the latest SolidJS ecosystem features.

Motivation

Current Challenges

  • Custom Rollup configuration requires ongoing maintenance.
  • Development startup and rebuild times are slower compared to modern tooling.
  • New SolidJS examples, templates, and community resources primarily target Vite.
  • Plugin compatibility and ecosystem support are increasingly focused on Vite.

Benefits of Vite

  • Faster development server startup.
  • Near-instant Hot Module Replacement (HMR).
  • Simpler and more maintainable configuration.
  • Official SolidJS support through vite-plugin-solid.
  • Better TypeScript integration.
  • Easier adoption of modern tooling and plugins.
  • Alignment with current SolidJS best practices.

Proposed Solution

  1. Replace the existing Rollup build pipeline with Vite.

  2. Install and configure:

    • vite
    • vite-plugin-solid
  3. Migrate environment variables and build scripts.

  4. Verify production builds and deployment compatibility.

  5. Remove Rollup-specific dependencies and configuration files.

Acceptance Criteria

  • Application builds successfully using Vite.
  • Development server runs with Vite.
  • Hot Module Replacement functions correctly.
  • Production build output matches existing behavior.
  • CI/CD pipeline is updated if required.
  • Rollup dependencies and configuration are removed.
  • Documentation reflects the new setup.

References

  • SolidJS Vite Template
  • Vite Documentation
  • vite-plugin-solid Documentation

Expected Outcome

The project will use the modern SolidJS tooling stack, resulting in improved developer experience, faster iteration times, reduced configuration complexity, and better long-term maintainability.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions