Source: https://seerepo.com/r/carbon-design-system/carbon/built
Markdown source: https://seerepo.com/r/carbon-design-system/carbon/built.md
Description: carbon is a TypeScript repo built with React, Vue, and Lit. It connects to GitHub and makes its content with js-yaml and svgson.

# What is carbon built with?

carbon is a TypeScript repo built with React, Vue, and Lit. It connects to GitHub, makes its content with js-yaml and svgson, validates its data with prop-types and joi, and is tested with @playwright/test, Testing Library, memfs, Jest, @open-wc/testing, and 1 more. It has 525,904 written lines, with 824 test files.

Read on November 14, 2026, at commit fa75d78.

Repository: https://github.com/carbon-design-system/carbon

## Frontend (/)

### The base

- **[React](https://seerepo.com/uses/react)**: 1 file

### Styles

- **[Sass](https://seerepo.com/uses/sass)**: 3 files

## Support (/)

### Testing

- **@playwright/test**: 97 files

### Tools

- **glob**: 1 file
- **TypeScript**: 1 file

### Other

- **fs-extra**: 2 files
- **cross-spawn**: 1 file

## Support (config/typescript-config-carbon)

### Tools

- **TypeScript**: 1 file

## Support (packages/carbon-components-react)

### Other

- **fs-extra**: 1 file

## Support (packages/carbon-components)

### Other

- **fs-extra**: 1 file

## Support (packages/cli-reporter)

### Other

- **chalk**: 1 file

## Frontend (packages/cli)

### The base

- **[React](https://seerepo.com/uses/react)**: 3 files

### Styles

- **[Sass](https://seerepo.com/uses/sass)**: 1 file

### Interface

- **progress-estimator**: 1 file

## Backend (packages/cli)

### Services

- **[GitHub](https://seerepo.com/uses/github)**: 1 file · [packages/cli/src/commands/contribute/tools/getGitHubClient.js, line 13](https://github.com/carbon-design-system/carbon/blob/fa75d78b0d4b9e78e1e76bf3e459f4fc12eabeef/packages/cli/src/commands/contribute/tools/getGitHubClient.js#L13)

## Support (packages/cli)

### Validation

- **[prop-types](https://seerepo.com/uses/prop-types)**: 1 file

### Testing

- **Testing Library**: 1 file

### Tools

- **[Inquirer](https://seerepo.com/uses/inquirer)**: 6 files
- **fast-glob**: 2 files
- **klaw-sync**: 1 file
- **replace-in-file**: 1 file
- **tsdown**: 1 file
- **TypeScript**: 1 file
- **yargs**: 1 file

### Other

- **fs-extra**: 6 files
- **execa**: 5 files
- **chalk**: 3 files
- **change-case-all**: 2 files
- **child-process-promise**: 2 files
- **SemVer**: 2 files
- **Lodash**: 1 file
- **tinyclip**: 1 file

## Support (packages/feature-flags)

### Content

- **[js-yaml](https://seerepo.com/uses/js-yaml)**: 1 file

### Tools

- **Babel**: 1 file

### Other

- **change-case-all**: 1 file
- **fs-extra**: 1 file

## Frontend (packages/icon-build-helpers)

### The base

- **[React](https://seerepo.com/uses/react)**: 1 file
- **[Vue](https://seerepo.com/uses/vue)**: 1 file

## Support (packages/icon-build-helpers)

### Content

- **[js-yaml](https://seerepo.com/uses/js-yaml)**: 4 files
- **svgson**: 2 files

### Validation

- **[joi](https://seerepo.com/uses/joi)**: 4 files
- **[prop-types](https://seerepo.com/uses/prop-types)**: 1 file

### Testing

- **memfs**: 8 files
- **Testing Library**: 1 file

### Tools

- **tsdown**: 4 files
- **Babel**: 3 files
- **TypeScript**: 2 files
- **SVGO**: 1 file

### Other

- **fs-extra**: 12 files
- **change-case-all**: 5 files
- **Lodash**: 1 file

## Support (packages/pictograms-react)

### Tools

- **TypeScript**: 1 file

### Other

- **fs-extra**: 1 file

## Frontend (packages/react)

### The base

- **[React](https://seerepo.com/uses/react)**: 480 files

### Styles

- **[classnames](https://seerepo.com/uses/classnames)**: 284 files

### Interface

- **[@floating-ui/react](https://seerepo.com/uses/floating-ui-react)**: 12 files
- **[downshift](https://seerepo.com/uses/downshift)**: 7 files
- **flatpickr**: 5 files
- **[motion](https://seerepo.com/uses/motion)**: 3 files
- **tabbable**: 2 files
- **[enquirer](https://seerepo.com/uses/enquirer)**: 1 file

## Support (packages/react)

### Validation

- **[prop-types](https://seerepo.com/uses/prop-types)**: 239 files

### Testing

- **Testing Library**: 269 files

### Tools

- **Prettier**: 2 files
- **tsdown**: 1 file
- **TypeScript**: 1 file

### Other

- **react-fast-compare**: 6 files
- **es-toolkit**: 5 files
- **fs-extra**: 3 files
- **copy-to-clipboard**: 1 file
- **invariant**: 1 file
- **react-is**: 1 file
- **StackBlitz**: 1 file
- **tinyclip**: 1 file
- **use-sync-external-store**: 1 file

## Support (packages/scss-generator)

### Tools

- **Prettier**: 1 file

## Frontend (packages/styles)

### Styles

- **css**: 10 files
- **[Autoprefixer](https://seerepo.com/uses/autoprefixer)**: 1 file
- **[cssnano](https://seerepo.com/uses/cssnano)**: 1 file
- **[PostCSS](https://seerepo.com/uses/postcss)**: 1 file
- **postcss-flexbugs-fixes**: 1 file
- **[Sass](https://seerepo.com/uses/sass)**: 1 file

## Support (packages/styles)

### Other

- **react-fast-compare**: 1 file

## Support (packages/themes)

### Other

- **fs-extra**: 2 files
- **color**: 1 file

## Frontend (packages/type)

### Styles

- **css**: 1 file

## Support (packages/type)

### Other

- **change-case-all**: 1 file

## Frontend (packages/upgrade)

### The base

- **[React](https://seerepo.com/uses/react)**: 54 files

## Support (packages/upgrade)

### The base

- **[Lit](https://seerepo.com/uses/lit)**: 2 files

### Testing

- **Jest**: 1 file
- **memfs**: 1 file

### Tools

- **fast-glob**: 2 files
- **[Inquirer](https://seerepo.com/uses/inquirer)**: 2 files
- **is-git-clean**: 1 file
- **jscodeshift**: 1 file
- **yargs**: 1 file

### Other

- **chalk**: 3 files
- **SemVer**: 2 files
- **fs-extra**: 1 file
- **Lodash**: 1 file
- **nanoid**: 1 file

## Frontend (packages/utilities-react)

### The base

- **[React](https://seerepo.com/uses/react)**: 6 files

## Support (packages/utilities-react)

### Testing

- **Testing Library**: 2 files

## Support (packages/utilities)

### Testing

- **Testing Library**: 1 file

### Other

- **@internationalized/number**: 1 file
- **temporal-polyfill**: 1 file

## Frontend (packages/web-components)

### Styles

- **[Autoprefixer](https://seerepo.com/uses/autoprefixer)**: 2 files
- **[cssnano](https://seerepo.com/uses/cssnano)**: 2 files
- **[PostCSS](https://seerepo.com/uses/postcss)**: 2 files

### Interface

- **flatpickr**: 10 files
- **[@floating-ui/dom](https://seerepo.com/uses/floating-ui-dom)**: 2 files
- **@webcomponents/webcomponentsjs**: 1 file

## Support (packages/web-components)

### The base

- **[Lit](https://seerepo.com/uses/lit)**: 332 files

### Testing

- **@open-wc/testing**: 137 files
- **@web/test-runner-commands**: 14 files

### Tools

- **Storybook**: 3 files
- **tsdown**: 2 files
- **TypeScript**: 2 files
- **globby**: 1 file

### Other

- **@lit/context**: 40 files
- **@juggle/resize-observer**: 1 file
- **fs-extra**: 1 file
- **Lodash**: 1 file

## Other repos with a similar stack

- [gatsbyjs/gatsby](https://seerepo.com/r/gatsbyjs/gatsby/built): React, GitHub, prop-types, joi, enquirer, Autoprefixer, PostCSS, postcss-flexbugs-fixes · [Compare](https://seerepo.com/compare/carbon-design-system/carbon/vs/gatsbyjs/gatsby)
- [storybookjs/storybook](https://seerepo.com/r/storybookjs/storybook/built): React, Vue, Lit, prop-types, downshift · [Compare](https://seerepo.com/compare/carbon-design-system/carbon/vs/storybookjs/storybook)
- [cypress-io/cypress](https://seerepo.com/r/cypress-io/cypress/built): React, Vue, Sass, classnames, Autoprefixer · [Compare](https://seerepo.com/compare/carbon-design-system/carbon/vs/cypress-io/cypress)
- [mastodon/mastodon](https://seerepo.com/r/mastodon/mastodon/built): React, GitHub, prop-types, js-yaml, classnames · [Compare](https://seerepo.com/compare/carbon-design-system/carbon/vs/mastodon/mastodon)
- [ToolJet/ToolJet](https://seerepo.com/r/ToolJet/ToolJet/built): React, Sass, classnames, tabbable, PostCSS · [Compare](https://seerepo.com/compare/carbon-design-system/carbon/vs/ToolJet/ToolJet)
- [RSSNext/Folo](https://seerepo.com/r/RSSNext/Folo/built): React, js-yaml, @floating-ui/react, motion, PostCSS · [Compare](https://seerepo.com/compare/carbon-design-system/carbon/vs/RSSNext/Folo)

## Frequently asked questions

### What language is carbon written in?

carbon is written in TypeScript, with 525,904 written lines.

### What framework does carbon use?

carbon is built with React, Vue, and Lit.

### What services does carbon use?

carbon connects to GitHub.

The proof: [packages/cli/src/commands/contribute/tools/getGitHubClient.js, line 13](https://github.com/carbon-design-system/carbon/blob/fa75d78b0d4b9e78e1e76bf3e459f4fc12eabeef/packages/cli/src/commands/contribute/tools/getGitHubClient.js#L13)

### Does carbon have tests?

Yes. carbon has 824 test files and is tested with @playwright/test, Testing Library, memfs, Jest, @open-wc/testing, and @web/test-runner-commands.

### Which repos have a stack like carbon's?

The ones that share most of its stack: gatsbyjs/gatsby, storybookjs/storybook, and cypress-io/cypress.

## What is your repo built with?

Any public repo, with no account: https://seerepo.com/r/owner/repo/built, with the owner and name it has on GitHub.
