ionic-team / stencil

A toolchain for building scalable, enterprise-ready component systems on top of TypeScript and Web Component standards. Stencil components can be distributed natively to React, Angular, Vue, and traditional web developers from a single, framework-agnostic codebase.
https://stenciljs.com
Other
12.6k stars 789 forks source link

feat: Upgrade Rollup to Latest Version to Improve Performance and Support for Modern JavaScript Features #5976

Open a7medm7med opened 2 months ago

a7medm7med commented 2 months ago

Prerequisites

Describe the Feature Request

Hi StencilJS Team,

First, I want to express my deep appreciation for all the hard work you've put into StencilJS. I've been using it extensively in my projects and absolutely love it! Special shout-out to @christian-bromann for the amazing contributions.

However, I'm encountering some significant issues due to the use of an outdated version of Rollup (currently 2.56.3), while the latest version is 4.12.2. This old version prevents me from using new JavaScript features, such as Static Initialization Blocks. Additionally, the dev server performance has become a major pain point.

In my project, which has double the number of components compared to Ionic Framework, I'm seeing build times of more than 18 seconds after each code update. It’s especially worse when editing code that requires updating the components.d.ts file — in these cases, the delay is more than 40 seconds, even on a high-performance machine.

For context, I’ve experimented with esbuild in combination with lit, and the results were fantastic, with dev server updates taking less than 2 seconds!

I know the StencilJS team works hard to maintain this awesome framework, and I’m hopeful that upgrading Rollup to a more recent version will bring improvements in performance and support for modern JavaScript features or using esbuild instead of Rollup.

Thanks so much for your time and for continuing to make StencilJS great!

Describe the Use Case


Describe Preferred Solution

No response

Describe Alternatives

No response

Related Code

No response

Additional Information

No response

christian-bromann commented 2 months ago

Thanks for raising the issue @a7medm7med 🙏 we have this in our backlog but can't promise when we have the availability to work on this. If your organisation has resources available to help us update Rollup, we appreciate any contributions in this area and are happy to help on technical questions.