css-in-js
Rollup
css-in-js | Rollup | |
---|---|---|
3 | 69 | |
5,532 | 24,776 | |
- | 0.3% | |
0.0 | 9.5 | |
about 3 years ago | 7 days ago | |
JavaScript | JavaScript | |
MIT License | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
css-in-js
-
Front-end Guide
As you might have realized by now, the front end ecosystem is saturated with tools, and unsurprisingly, tools have been invented to partially solve some of the problems with writing CSS at scale. "At scale" means that many developers are working on the same large project and touching the same stylesheets. There is no community-agreed approach on writing CSS in JS at the moment, and we are hoping that one day a winner would emerge, just like Redux did, among all the Flux implementations. For now, we are banking on CSS Modules. CSS modules is an improvement over existing CSS that aims to fix the problem of global namespace in CSS; it enables you to write styles that are local by default and encapsulated to your component. This feature is achieved via tooling. With CSS modules, large teams can write modular and reusable CSS without fear of conflict or overriding other parts of the app. However, at the end of the day, CSS modules are still being compiled into normal globally-namespaced CSS that browsers recognize, and it is still important to learn and understand how raw CSS works.
-
Why are "CSS classes generally better for performance than inline styles." ~ from react docs
There are a myriad of CSS-in-JS tools, many of which are zero-runtime giving you all the benefits of authoring in a single file without the drawbacks of inline styles. That's how I prefer to do my CSS with React anyway... Vanilla Extract and/or Linaria are my current favorites.
-
Why was CSS-In-JS ever a thing?
One thing I think you're really missing is what the output is of CSS-in-JS. There are tens of CSS-in-JS frameworks that can output anything from: CSS Module like classes (Linaria, Vanilla Extract), Atomic Classes (StyleX, PreStyle), to the more traditional (Styled Components, Emotion) many with zero runtime cost (ie no JS bloat). That's why I say CSS-in-JS is primarily about developer experience... the output can often be whatever you want it to be.
Rollup
-
Rolldown
Doesn't Rollup already use quite a bit of rust[0]? It's actually why I had to abandon it for a project, where they didn't offer binaries for our build platform and I needed to bundle, like 2 ES6 javascript libraries so I just grabbed esbuild instead.
[0] https://github.com/rollup/rollup/tree/master/rust
-
Build a Vite 5 backend integration with Flask
Unlike Webpack, the Vite DevServer only compiles files when they are requested. It leverages ES module imports, which allow JS files to import other files without needing to bundle them together during development. When one file changes, only that file needs to be re-compiled, and the rest can remain unchanged. Project files are compiled with Rollup.js. Third-party dependencies in node_modules are pre-compiled using the ultra-fast esbuild bundler for maximum speed, and they are cached until the dependency version changes. Vite also provides a client script for hot module reloading.
-
Vite 5.0 is out
Read the full breaking changes in Rollup’s release notes for build-related changes in build.rollupOptions.
-
11 Ways to Optimize Your Website
Besides Webpack, there are many other popular web bundlers available, such as Parcel, Esbuild, Rollup, and more. They all have their own unique features and strengths, and you should make your decision based on the needs and requirements of your specific project. Please refer to their official websites for details.
-
How to rewrite classes using closures in JavaScript
The optimization points are very valid and good to keep in mind, no?
See for example:
https://github.com/rollup/rollup/issues/349
The missing minification of identifiers and properties of the Vue instance in general were always bugging me in Vue 2, even when not using the class keyword.
This is a very valid consideration IMO.
-
Bun vs Node.js: Everything you need to know
In the Node.js ecosystem, bundling is typically handled by third-party tools rather than Node.js itself. Some of the most popular bundlers in the Node.js world include Webpack, Rollup, and Parcel, offering features like code splitting, tree shaking, and hot module replacement.
-
My opinionated JavaScript package template repository - zero config, start immediately
📦 Rollup for bundling
-
How To Secure Your JavaScript Applications
Bundling: Webpack, Parcel, Rollup
-
5 Different Tools to Bundle Node.js Apps
Rollup is another popular JavaScript module bundler focusing on high performance. It excels at tree-shaking and uses ES module syntax to generate more performant bundles than traditional module bundlers. In addition to JavaScript, Rollup supports bundling CSS and JSON as well. Rollup has more than 12 million weekly NPM downloads.
-
How to build and publish React TypeScript NPM packages with Vite
Vite (read as vit) is actually a combination of two great frontend tools - an immensely fast development server and a build command for shipping heavily optimized static assets using Rollup. Many developers have encountered the process of setting up a project using Create React App. While CRA can be useful for beginners due to its simplicity and abstraction of configuration, it has some drawbacks that outweigh its benefits, particularly its tendency to be bloated. Don't get me wrong, Vite is opinionated as well, but it's highly extensible through its Plugin API.
What are some alternatives?
vanilla-extract - Zero-runtime Stylesheets-in-TypeScript
esbuild - An extremely fast bundler for the web
crisp-react - React boilerplate written in TypeScript with a variety of Jamstack and full stack deployments. Comes with SSR and without need to learn a framework. Helps to split a monolithic React app into multiple SPAs and avoid vendor lock-in.
vite - Next generation frontend tooling. It's fast!
linaria - Zero-runtime CSS in JS library
tsup - The simplest and fastest way to bundle your TypeScript libraries.
styled-components - Visual primitives for the component age. Use the best bits of ES6 and CSS to style your apps without stress 💅
webpack - A bundler for javascript and friends. Packs many modules into a few bundled assets. Code Splitting allows for loading parts of the application on demand. Through "loaders", modules can be CommonJs, AMD, ES6 modules, CSS, Images, JSON, Coffeescript, LESS, ... and your custom stuff.
ESLint - Find and fix problems in your JavaScript code.
gulp - A toolkit to automate & enhance your workflow
XO - ❤️ JavaScript/TypeScript linter (ESLint wrapper) with great defaults
Snowpack - ESM-powered frontend build tool. Instant, lightweight, unbundled development. ✌️ [Moved to: https://github.com/FredKSchott/snowpack]