{"meta":{"name":"FindSoftware","page":"https://findsoftware.frbit.cloud/cva/","markdown":"https://findsoftware.frbit.cloud/cva.md","license":"https://creativecommons.org/licenses/by/4.0/","attribution":"FindSoftware, CC BY 4.0","note":"Attributes are recorded, never scored. An absent field means unknown, never zero and never bad."},"record":{"id":"cva","name":"cva","urls":{"home":"https://cva.style","repository":"https://github.com/joe-bell/cva","docs":"https://cva.style/getting-started/installation"},"category":["css-framework"],"description":"A TypeScript library for building type-safe, variant-driven class names with Tailwind CSS or any other styling approach.","maintainer":"Joe Bell","maintainerType":"individual","firstRelease":2022,"hosting":null,"language":"javascript","runtimeMin":null,"contentStore":null,"databases":null,"adminUi":null,"headlessApi":null,"templating":null,"i18n":null,"renderingModes":null,"installMethod":"npm","licenseModel":"open-source","license":"Apache-2.0","currentMajor":"0","latestReleaseDate":"2024-11-26T00:00:00.000Z","githubStargazers":6907,"contributors":30,"packagistDownloads":null,"npmWeeklyDownloads":83559474,"dependentRepos":12840,"dependentPackages":710,"checkedAt":"2026-10-26T00:00:00.000Z","addedAt":"2026-10-26T00:00:00.000Z","sources":[{"field":"urls","url":"https://cva.style/","checkedAt":"2026-10-26T00:00:00.000Z"},{"field":"urls","url":"https://github.com/joe-bell/cva","checkedAt":"2026-10-26T00:00:00.000Z"},{"field":"urls","url":"https://cva.style/getting-started/installation","checkedAt":"2026-10-26T00:00:00.000Z"},{"field":"maintainer","url":"https://github.com/joe-bell/cva/blob/main/packages/class-variance-authority/package.json","checkedAt":"2026-10-26T00:00:00.000Z"},{"field":"maintainerType","url":"https://api.github.com/users/joe-bell","checkedAt":"2026-10-26T00:00:00.000Z"},{"field":"language","url":"https://github.com/joe-bell/cva","checkedAt":"2026-10-26T00:00:00.000Z"},{"field":"category","url":"https://cva.style/","checkedAt":"2026-10-26T00:00:00.000Z"},{"field":"installMethod","url":"https://cva.style/getting-started/installation","checkedAt":"2026-10-26T00:00:00.000Z"},{"field":"license","url":"https://github.com/joe-bell/cva","checkedAt":"2026-10-26T00:00:00.000Z"},{"field":"license","url":"https://github.com/joe-bell/cva/blob/main/README.md","checkedAt":"2026-10-26T00:00:00.000Z"},{"field":"licenseModel","url":"https://github.com/joe-bell/cva","checkedAt":"2026-10-26T00:00:00.000Z"},{"field":"currentMajor","url":"https://api.github.com/repos/joe-bell/cva/releases/latest","checkedAt":"2026-10-26T00:00:00.000Z"},{"field":"latestReleaseDate","url":"https://api.github.com/repos/joe-bell/cva/releases/latest","checkedAt":"2026-10-26T00:00:00.000Z"},{"field":"firstRelease","url":"https://registry.npmjs.org/class-variance-authority","checkedAt":"2026-10-26T00:00:00.000Z"},{"field":"githubStargazers","url":"https://github.com/joe-bell/cva","checkedAt":"2026-10-26T00:00:00.000Z"},{"field":"contributors","url":"https://api.github.com/repos/joe-bell/cva/contributors?per_page=1","checkedAt":"2026-10-26T00:00:00.000Z"},{"field":"npmWeeklyDownloads","url":"https://api.npmjs.org/downloads/range/2026-09-28:2026-10-04/class-variance-authority","checkedAt":"2026-10-28T00:00:00.000Z"},{"field":"dependentPackages","url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/class-variance-authority","checkedAt":"2026-10-26T00:00:00.000Z"},{"field":"dependentRepos","url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/class-variance-authority","checkedAt":"2026-10-26T00:00:00.000Z"}],"status":"active","ai":"authored"},"prose":"cva is a TypeScript library for building class name strings from variant definitions. A component declares its base classes and its variants, and the library returns the class string for the values passed in, with those values typed. It works with Tailwind CSS or any other styling approach. The package installs from npm under the name class-variance-authority, because the shorter name had been registered as a placeholder before the project published; the installation page says the shorter name will be used from the next major version on. Joe Bell, named as the author in the package's manifest and the README license line, maintains it.\n\n## Worth knowing\n\nThe next major line is in beta. By default cva joins class names but does not resolve conflicting Tailwind CSS utilities, so the installation page lists approaches for style conflicts."}