Skip to content

Anber/wyw-in-js

Folders and files

NameName
Last commit message
Last commit date

Latest commit

a549a16 · Mar 16, 2025
Mar 16, 2025
Dec 16, 2024
Mar 16, 2025
Mar 16, 2025
Mar 16, 2025
Mar 16, 2025
Mar 16, 2025
Mar 16, 2025
Nov 7, 2023
Oct 1, 2023
Dec 16, 2024
Oct 1, 2023
Oct 1, 2023
Oct 1, 2023
Mar 16, 2025
Dec 16, 2024
Dec 16, 2024
Oct 1, 2023
Oct 5, 2023
Mar 16, 2025
Mar 16, 2025
Dec 16, 2024
Dec 16, 2024
Dec 16, 2024
Oct 3, 2023
Oct 4, 2023

Repository files navigation

WyW-in-JS

A Toolkit for Zero-Runtime CSS-in-JS Libraries

Introduction

wyw-in-js, short for "Whatever-you-want-in-JS," is the world's first toolkit for creating various zero-runtime CSS(and more)-in-JS libraries. In essence, it empowers developers to build their own solutions with arbitrary syntax and functionality, offering complete independence from specific implementations.

Origins

This library evolved from the CSS-in-JS library Linaria, with the aim of decoupling from a specific implementation and providing developers with a comprehensive toolkit for crafting their own solutions with custom syntax and features.

Key Features

  • Provides an API for creating custom processors (e.g., css and styled in Linaria or makeStyles in Griffel).
  • Supports a wide range of syntaxes, including tagged templates, function calls, and object literals.
  • Computes any unprepared JavaScript during the build phase, generating a set of artifacts that processors can transform into styles (or other outputs, depending on the processor).
  • Allows for arbitrary JavaScript in style definitions, including imports, conditionals, and loops.
  • Offers loaders and plugins for popular bundlers (including Webpack, Vite, esbuild) and frameworks (Next.js), ensuring compatibility with various build systems.