Skip to content
This repository has been archived by the owner. It is now read-only.
Go to file


create-react-app now supports typescript natively - read the guide for adding typescript to existing projects.

For existing react-scripts-ts users who would like to upgrade, follow this guide.

I have chosen to archive this repository, if you need to contact me, i'm on twitter @willmonk.

react-scripts-ts npm version Build Status

Create React apps (with Typescript) with no build configuration.

Do you know react and want to try out typescript? Or do you know typescript and want to try out react? Get all the benefits from create-react-app but you use typescript! 🚀

Quick Overview

npx create-react-app my-app --scripts-version=react-scripts-ts
cd my-app
npm start

# or with yarn
yarn create react-app my-app --scripts-version=react-scripts-ts
cd my-app
yarn start

(npx comes with npm 5.2+ and higher, see instructions for older npm versions)

Then open http://localhost:3000/ to see your app.
When you’re ready to deploy to production, create a minified bundle with npm run build.


In general, most upgrades won't require any migration steps to work, but if you experience problems after an upgrade, please file an issue, and we'll add it to the list of migration steps below.

From <2.16.0 to >=2.16.0

Since 2.16.0, the template uses different tsconfig files for both development and production mode. For the latter, unfortunately, the path resolver is not smart enough to fall back to the basic tsconfig.json in case the expected is not present, so you have to create this file manually like shown here.

From <2.13.0 to >=2.13.0

Since 2.13.0, typescript is listed as a peer dependency of react-scripts-ts. For projects generated with at least this version, the init script takes care of properly installing it as dev dependency to the generated projects. Older projects require manual installation, in case you have not already done that.

Using npm:

npm i -D typescript

Using yarn:

yarn add -D typescript

From <2.5.0 to >=2.5.0

Version 2.5.0 introduces a new config file for jest, that is necessary for the tests to run. If you were previously running a version older than v2.5.0 and upgraded to v2.5.0 or newer, you need to manually add the new file, or else you'll get an error similar to this when trying to run your tests:

Test suite failed to run

    "messageText": "Cannot read file 'C:\\[project]\\tsconfig.test.json': ENOENT: no such file or directory, open 'C:\\[project]\\tsconfig.test.json'.",
    "category": 1,
    "code": 5012

To fix this, create a new file in the root of the project called tsconfig.test.json, and paste the content of this file into it. Everything should work now. For more info, please see this issue.



  • Update migration instructions - @DorianGrey
  • tslint updates - @alexandrudanpop
  • Stop eslint includes - @aurerua
  • Resolve commited merge conflig - @AndrewKvalheim


  • Allow moduleNameMapper config override - @sebald
  • Fix travis build - @DorianGrey
  • Allow using different tsconfig file for dev and build - @DorianGrey


  • Fix duplicated mjs entry in Jest config - @StevenLangbroek
  • Allow --watchAll to be set - @DorianGrey


  • Replace TSLint rules with presets - @nielsdB97
  • Update file-loader exclusion rules - @winstonewert
  • Fix Uglifyjs settings - @meandmax
  • Merge react-script 1.1.x - @wmonk


  • README fixes - @kaminskypavel
  • README fixes - @adambowles
  • Remove unused JS files - @DorianGrey
  • README fixes - @stephtr
  • Added the abillity to import js and jsx files with ts-loader - @GeeWee
  • Uglifyjs update for es6 support - @thetric


  • Remove tslint-loader from prod builds - @DorianGrey
  • Include typescript as devDependency in boilerplate - @ianschmitz
  • Document custom module formats - @joshtynjala
  • Fix tsconfig.json - @diabelb


  • Update typescript to 2.6.2



  • README updates - StefanSchoof
  • README updates - DorianGrey
  • Add support for fork-ts-checker-webpack-plugin - johnnyreilly


This included changes that were not published by the facebook upstream, so was unpublished.


  • Update typescript to 2.5.3 - @nicolaserny


  • Merge react-scripts@1.0.13 - @JohnNilsson
  • Fix git tempalte - @hktonylee
  • Provide migration docs - @JReinhold
  • Updated dependencies - @swengorschewski
  • Fix tslint config - @comerc


  • Merge react-scripts@1.0.10 - @wmonk
  • Update component template - @pelotom


  • Support dynamic imports - thanks @nicolaserny, @DorianGrey
  • Fix up tsconfig - thanks @js-n
  • Fix readme typo - thanks @adambowles
  • Move to ts-jest - thanks @DorianGrey


  • Upgrade typescript to 2.4 and ts-loader to 2.2.1 - thanks @frederickfogerty
  • Fix readme typo - thanks @wrongway4you


  • Fix typescript version to 2.3.x until 2.4 @types are fixed


  • All tsc to parse config (for extend) - Thanks to @DorianGrey
  • Fix various jest issues - thanks to @zinserjan
  • Fix code coverage - thanks to @zinserjan



  • Update to tslint@5.2.0 - thanks to @mindjuice
  • Fix test setup issue - thanks to @jonmpqts
  • Add source-map-loader - thanks to @Place1
  • Update to typescript@2.3.3 - thanks to @sjdweb


  • Fix issue with jest finding test files



  • Upgrade to typescript@2.3.2 - thanks to @patrick91
  • Add tests around react-scripts-ts - thanks to @migerh


  • Upgrade to typescript@2.2.2 - thanks to @jeremistadler


  • Fix regression where no @types were being installed on init


  • Merge facebookincubator/create-react-app@0.9.5 into react-scripts-ts
  • Merge facebookincubator/create-react-app@0.9.4 into react-scripts-ts
  • Merge facebookincubator/create-react-app@0.9.3 into react-scripts-ts
  • Merge facebookincubator/create-react-app@0.9.2 into react-scripts-ts
  • Merge facebookincubator/create-react-app@0.9.1 into react-scripts-ts


  • Merge facebookincubator/create-react-app@0.9.0 into react-scripts-ts


  • Add missing cli-highlight dependency


  • Print file names when running npm run build
  • Add support for setupTest.ts
  • Highlight source code when erroring in npm run build


  • Change mentions of eslint to tslint


  • Remove hidden character from tsconfig.json


  • Copy typescriptTransform.js when running npm run eject