-
Notifications
You must be signed in to change notification settings - Fork 678
Closed
Labels
good first issueGood for newcomersGood for newcomershelp wantedExtra attention is neededExtra attention is needed
Description
Based on the discussions around #121 and the test we just merged in #662, we are going to convert theme-ui to TypeScript! 🎉 The plan is to go package-by-package and gradually move all .js
files to .ts
files.
As you can see there is a fair amount of packages to convert, so we would love your help! 💪
Here is how to convert a package (take a look at #662 for an example):
- Add the
--tsconfig tsconfig.json
option to the "prepare" and "watch" commands in thepackage.json
and copy thetsconfig.json
from the core package. - Add
"types": "dist/index.d.ts"
and"source": "src/index.ts"
to thepackage.json
- Go file-by-file, rename them from
.js
to.ts
and fix all type errors andany
types in the generated typedef (dist/index.d.ts
). - Submit a PR and tag me as a reviewer!
To avoid duplicate work please comment which package you want to work on (as long as nobody else is also working on it) so we can mark it as taken.
Packages that still need to be converted:
- chrome (feat(chrome): update chrome to typescript #909)
- color (Adopt TS in theme-ui/color #672)
- color-modes (claimed)
- components (Convert components package to TS #692)
- core (Spike out potential TypeScript conversion #662)
- css (Adopt TS in theme-ui/color #672)
- custom-properties (fix(@theme-ui/custom-properties): TS conversion #671)
- editor (Convert editor to TypeScript #900)
- match-media (@theme-ui/match-media : TypeScript conversion #696)
- mdx (feat(@theme-ui/mdx): add TypeScript support #703)
- preset-base (converted preset-base from .js to .ts #675)
- preset-bootstrap (Convert all presets to TypeScript #694)
- preset-bulma (Convert all presets to TypeScript #694)
- preset-dark (Convert all presets to TypeScript #694)
- preset-deep (Convert all presets to TypeScript #694)
- preset-funk (Convert all presets to TypeScript #694)
- preset-future (Convert all presets to TypeScript #694)
- preset-polaris (Convert all presets to TypeScript #694)
- preset-roboto (Convert all presets to TypeScript #694)
- preset-swiss (Convert all presets to TypeScript #694)
- preset-system (Convert all presets to TypeScript #694)
- preset-tailwind (Convert all presets to TypeScript #694)
- preset-tosh (Convert all presets to TypeScript #694)
- presets (Convert all presets to TypeScript #694)
- prism (feat(@theme-ui/prism): convert to typescript #805)
- sidenav (feat(sidenav): update sidenav to typescript #917)
- style-guide
- tachyons (Convert tachyons package to TS #691)
- tailwind (Convert tailwind package to TypeScript #686)
- theme-provider (Convert @theme-ui/theme-provider to TypeScript #708)
- theme-ui (refactor(theme-ui): add typescript to the root package #724)
- typography (@theme-ui/typography => Typescript #890)
These packages will be handled separately (see #950)
gatsby-plugin-theme-ui(WIP: refactor(gatsby-plugin-theme-ui): add typescript #705)gatsby-theme-code-recipes(refactor(gatsby-theme-code-recipes): convert to typescript #709)gatsby-theme-style-guidegatsby-theme-ui-blog( Convert gatsby-theme-ui-blog to TypeScript #711)gatsby-theme-ui-layout(Convert gatsby-theme-ui-layout to TypeScript #710)
blainekasten, LekoArts, taehwanno, CanRau, hasparus and 41 more
Metadata
Metadata
Assignees
Labels
good first issueGood for newcomersGood for newcomershelp wantedExtra attention is neededExtra attention is needed