β DEPRECATED β
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
Create React apps (with Typescript) with no build configuration.
- Getting Started β How to create a new app.
- User Guide β How to develop apps bootstrapped with react scripts ts.
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
.
Migration
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.
<2.16.0
to >=2.16.0
From 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 tsconfig.prod.json
is not present, so you have to create this file manually like shown here.
<2.13.0
to >=2.13.0
From 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
<2.5.0
to >=2.5.0
From 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.
Changelog
2.17.0
- Update migration instructions - @DorianGrey
- tslint updates - @alexandrudanpop
- Stop eslint includes - @aurerua
- Resolve commited merge conflig - @AndrewKvalheim
2.16.0
- Allow
moduleNameMapper
config override - @sebald - Fix travis build - @DorianGrey
- Allow using different tsconfig file for dev and build - @DorianGrey
2.15.1
- Fix duplicated mjs entry in Jest config - @StevenLangbroek
- Allow
--watchAll
to be set - @DorianGrey
2.15.0
- Replace TSLint rules with presets - @nielsdB97
- Update file-loader exclusion rules - @winstonewert
- Fix Uglifyjs settings - @meandmax
- Merge react-script 1.1.x - @wmonk
2.14.0
- 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
2.13.0
- Remove tslint-loader from prod builds - @DorianGrey
- Include typescript as devDependency in boilerplate - @ianschmitz
- Document custom module formats - @joshtynjala
- Fix tsconfig.json - @diabelb
2.12.0
- Update typescript to 2.6.2
2.11.0
- Upgrade to
[email protected]
2.10.0
- README updates - StefanSchoof
- README updates - DorianGrey
- Add support for fork-ts-checker-webpack-plugin - johnnyreilly
2.9.0 - UNPUBLISHED
This included changes that were not published by the facebook upstream, so was unpublished.
2.8.0
- Update typescript to 2.5.3 - @nicolaserny
2.7.0
- Merge [email protected] - @JohnNilsson
- Fix git tempalte - @hktonylee
- Provide migration docs - @JReinhold
- Updated dependencies - @swengorschewski
- Fix tslint config - @comerc
2.6.0
- Merge [email protected] - @wmonk
- Update component template - @pelotom
2.5.0
- Support dynamic imports - thanks @nicolaserny, @DorianGrey
- Fix up tsconfig - thanks @js-n
- Fix readme typo - thanks @adambowles
- Move to ts-jest - thanks @DorianGrey
2.4.0
- Upgrade typescript to 2.4 and ts-loader to 2.2.1 - thanks @frederickfogerty
- Fix readme typo - thanks @wrongway4you
2.3.2
- Fix
typescript
version to 2.3.x until 2.4 @types are fixed
2.3.1
- All tsc to parse config (for
extend
) - Thanks to @DorianGrey - Fix various jest issues - thanks to @zinserjan
- Fix code coverage - thanks to @zinserjan
2.2.0
- Upgrade to
[email protected]
2.1.0
- Update to
[email protected]
- thanks to @mindjuice - Fix test setup issue - thanks to @jonmpqts
- Add
source-map-loader
- thanks to @Place1 - Update to
[email protected]
- thanks to @sjdweb
2.0.1
- Fix issue with jest finding test files
2.0.0
- Upgrade to
[email protected]
1.4.0
- Upgrade to [email protected] - thanks to @patrick91
- Add tests around react-scripts-ts - thanks to @migerh
1.3.0
- Upgrade to [email protected] - thanks to @jeremistadler
1.1.8
- Fix regression where no
@types
were being installed on init
1.1.7
- Merge facebookincubator/[email protected] into react-scripts-ts
- Merge facebookincubator/[email protected] into react-scripts-ts
- Merge facebookincubator/[email protected] into react-scripts-ts
- Merge facebookincubator/[email protected] into react-scripts-ts
- Merge facebookincubator/[email protected] into react-scripts-ts
1.1.6
- Merge facebookincubator/[email protected] into react-scripts-ts
1.0.6
- Add missing
cli-highlight
dependency
1.0.5
- Print file names when running
npm run build
- Add support for
setupTest.ts
- Highlight source code when erroring in
npm run build
1.0.4
- Change mentions of
eslint
totslint
1.0.3
- Remove hidden character from
tsconfig.json
1.0.2
- Copy
typescriptTransform.js
when runningnpm run eject