Commit Graph

227 Commits

Author SHA1 Message Date
Ian Schmitz
b7e0158441 Upgrade dependencies (#6393) 2019-02-10 12:24:40 -08:00
Dan Abramov
782d71b957 Add Jest typeahead plugin (#5213)
* Add Jest typeahead plugin

* Update jest-watch-typeahead to 0.2.1
2019-02-10 08:13:27 -08:00
Tomáš Szabo
5ce09db2b3 Speed up TypeScript projects (#5903)
As a lot of [people](https://hackernoon.com/why-i-no-longer-use-typescript-with-react-and-why-you-shouldnt-either-e744d27452b4) is complaining about TypeScript performance in CRA, I decided to enable `async` mode in TypeScript checker.

These changes basically brings the JS compilation times to TS projects. So, recompilation took less than 1 second instead of 3 seconds in medium size project.

The problem with async mode is that type-errors are reported after Webpack ends up recompilation as TypeScript could be slower than Babel. PR allows to emit files compiled by Babel immediately and then wait for TS and show type errors in terminal later. Also, if there was no compilation errors and any type error occurs, we trigger a hot-reload with new errors to show error overlay in browser.

Also, I wanted to start a discussion about `skipLibCheck: false` option in default `tsconfig.json`. This makes recompilations really slow and we should consider to set it to `true` or at least give users a big warning to let them know that it could be really slow.

The following video is showing the updated workflow with a forced 2.5 second delay for type-check to give you an idea how it works.

![nov-26-2018 15-47-01](https://user-images.githubusercontent.com/5549148/49021284-9446fe80-f192-11e8-952b-8f83d77d5fbc.gif)


I'm pretty sure that PR needs some polishing and improvements but it should works as it is. Especially a "hack" with reloading the browser after type-check looks ugly to me.

cc @brunolemos as he is an initiator of an original TypeScript PR.

Should fix https://github.com/facebook/create-react-app/issues/5820
2019-02-07 19:34:52 -08:00
Otávio Pace
47e9e2c7a0 Move chalk dependency to react-dev-utils (#6150)
Related to #751
2019-01-12 13:55:57 +02:00
Adam Laycock
8174eed5b3 Upgrade @svgr/webpack to 4.1.0 (#5816)
* Upgrade svgr to 4.0.3

* Upgrade svgr to 4.0.4

* Remove unnecessary prettier option

* Update to 4.1.0
2019-01-11 22:45:32 -05:00
Ian Schmitz
005ee5b952 Bump eslint-plugin-react version and update webpack config (#6132)
* Bump eslint-plugin-react version

* Move eslint-plugin-react settings into eslint-config-react-app

* Add react/no-typos rule
2019-01-06 15:05:14 -08:00
Joe Haddad
3e1dc99013 Fix CI and upgrade dependencies (#6137)
* Upgrade a bunch of dependencies

* Turn off nightly Yarn
2019-01-06 13:13:20 -05:00
Ian Schmitz
0d0d0349a5 Publish
- create-react-app@2.1.3
 - react-dev-utils@7.0.1
 - react-error-overlay@5.1.2
 - react-scripts@2.1.3
2019-01-04 10:53:44 -08:00
Zachary Friss
4c7c3c5e28 Update webpack-dev-server 3.1.9 -> 3.1.14 (#6064)
* Update webpack-dev-server 3.1.9 -> 3.1.14
2019-01-01 21:26:44 -08:00
Joe Haddad
d7c0b59242 Publish
- babel-plugin-named-asset-import@0.3.0
 - babel-preset-react-app@7.0.0
 - create-react-app@2.1.2
 - eslint-config-react-app@3.0.6
 - react-app-polyfill@0.2.0
 - react-dev-utils@7.0.0
 - react-error-overlay@5.1.1
 - react-scripts@2.1.2
2018-12-23 13:53:12 -05:00
Joe Haddad
5c3f333837 Upgrade babel deps 2018-11-21 22:54:53 -05:00
Ben Scott
457a562541 Version bump postcss-preset-env to latest (#5721) 2018-11-05 19:45:09 -05:00
Joe Haddad
3e9ba54018 Publish
- babel-plugin-named-asset-import@0.2.3
 - babel-preset-react-app@6.1.0
 - create-react-app@2.1.1
 - react-dev-utils@6.1.1
 - react-error-overlay@5.1.0
 - react-scripts@2.1.1
2018-10-31 23:29:52 -04:00
Joe Haddad
b8c180dca3 Publish
- babel-preset-react-app@6.0.0
 - confusing-browser-globals@1.0.5
 - create-react-app@2.1.0
 - eslint-config-react-app@3.0.5
 - react-dev-utils@6.1.0
 - react-error-overlay@5.0.6
 - react-scripts@2.1.0
2018-10-29 23:40:56 -04:00
Joe Haddad
6364bbf6dc Remove react-scripts type reference on eject (#5611)
* Remove react-scripts type reference on eject

* Check for env file

* Check eject for typescript

* Shuffle appTypeDeclarations

* Append internal types on eject

* Ensure lib is published for types

* Adjust comment

* Don't add a bunch of new lines

* File should exist and not be deleted

* Add debug

* Set file explicitly

* Revert "Set file explicitly"

This reverts commit bcd58a36cbd08a71af50b037d8f1fae6c595fb4e.

* Copy file before destroying ourselves

* Revert "Add debug"

This reverts commit 0068ba81c6d79d99788877c9e1b618acd7412dce.
2018-10-29 23:15:52 -04:00
Joe Haddad
9747480f19 Turn on certain TypeScript options (#5607) 2018-10-28 14:47:06 -04:00
Joe Haddad
eca0ec0d52 Refine how TypeScript env types are handled (#5593)
* Specify types in package

* Do not remove types file on eject

* Stop copying types into generated project

* Reference react and react-dom

* Reference node types

* Install node types as well

* Restore copying

* Add Node to the list of installed types

* Reference Jest types

* Remove jest types from install

* Remove jest from CRA install

* Remove Jest reference and let user do this themselves

* Stop copying types file

* Add types key to package.json

* Add appTypeDeclarations and create when missing

* Rename declarations file

* Add Jest back to install instructions

* Minimize diff
2018-10-27 22:11:47 -07:00
Joe Haddad
b50590f7f4 Add TypeScript app creation (#5550)
* Add TypeScript app creation

* Actually specify new extension

* Check for ts and tsx

* Fix types in default service worker file

* Mirror changes in JS version of SW

* Separate templates

* Use separate template directory

* Remove unused function

* Add a tsconfig file to the template

* Test install of typescript

* Add e2e for TypeScript

* Check for index.tsx to make sure we're not in the JS template

* Ensure TypeScript doesn't leak into normal installs

* Ignore some files

* Print version of CRA

* Fix script

* Add new template

* Move test to correct location

* Use `verifyTypeScriptSetup` routine to populate files

* Ensure tsconfig is created
2018-10-24 16:28:36 -04:00
Jeffrey Posnick
81657147e4 Update Workbox dependency (#5527) 2018-10-22 12:23:33 -04:00
Joe Haddad
c019942bf9 Always type check TypeScript when being used (#5515)
* Always type check TypeScript when being used

* Use alternate version
2018-10-21 18:24:33 -04:00
Dan Abramov
f89385f743 Publish
- babel-preset-react-app@5.0.4
 - confusing-browser-globals@1.0.4
 - create-react-app@2.0.4
 - eslint-config-react-app@3.0.4
 - react-dev-utils@6.0.5
 - react-error-overlay@5.0.5
 - react-scripts@2.0.5
2018-10-14 20:03:15 +01:00
Almero Steyn
81830dc9a2 Update eslint-plugin-jsx-a11y version (#5330) 2018-10-06 15:13:34 -04:00
Joe Haddad
6e14dbbbb8 Publish
- babel-preset-react-app@5.0.3
 - create-react-app@2.0.3
 - react-dev-utils@6.0.4
 - react-error-overlay@5.0.4
 - react-scripts@2.0.4
2018-10-03 16:01:44 -04:00
Joe Haddad
209053b97e Publish
- babel-plugin-named-asset-import@0.2.2
 - babel-preset-react-app@5.0.2
 - confusing-browser-globals@1.0.3
 - create-react-app@2.0.2
 - eslint-config-react-app@3.0.3
 - react-app-polyfill@0.1.3
 - react-dev-utils@6.0.3
 - react-error-overlay@5.0.3
 - react-scripts@2.0.3
2018-10-01 20:54:45 -04:00
Joe Haddad
f0784fc27f Publish
- babel-plugin-named-asset-import@0.2.1
 - babel-preset-react-app@5.0.1
 - confusing-browser-globals@1.0.2
 - create-react-app@2.0.1
 - eslint-config-react-app@3.0.1
 - react-app-polyfill@0.1.2
 - react-dev-utils@6.0.2
 - react-error-overlay@5.0.2
 - react-scripts@2.0.2
2018-10-01 12:21:46 -04:00
Maël Nison
9e074bbf08 Plug'n'Play support (#5136)
* Adds the PnP plugin for Webpack to find dependencies when working under PnP

* Adds configuration for jest

* Adds an e2e test for when using PnP

* Avoids cra from crashing at the engine check

* Avoids cra from crashing when initializing react-scripts

* Makes the ownPath portable

* Fixes linting

* Bumps to pnp-webpack-plugin@1.1.0, removes symlinks: false

* Adds a --use-pnp option

* Pin version
2018-10-01 15:53:07 +01:00
Joe Haddad
5abff641a9 Remove thread-loader (#5170)
* Remove thread-loader
After the cache is warm, it is possible for thread-loader to hurt speed

* Disable babel output formatting
2018-09-29 18:30:28 -04:00
Maël Nison
e4270bda29 Bumps workbox to the next patch release (#5158) 2018-09-28 16:26:17 +01:00
Joe Haddad
c5c7da0fa5 Publish
- babel-preset-react-app@5.0.0
 - react-app-polyfill@0.1.1
 - react-dev-utils@6.0.1
 - react-error-overlay@5.0.1
 - react-scripts@2.0.1
2018-09-28 08:54:24 -04:00
Ian Sutherland
39c73ce5e3 Switch back to babel-loader (#5143)
* Switch back to babel-loader

* Preserve existing caller options. Use Object.assign instead of object spread.

* Updated filename in package.json

* Update comment about cache identifier

* Update macro check to use a regex

* Move macro check regex out of function
2018-09-27 19:17:21 -04:00
Joe Haddad
27ac52ac2f Remove runtime alias hack (#5142)
* Remove runtime alias hack

* Pass absolute path to preset

* Change comment

* Give a relative path to absolute runtime

* Clean up config

* Tweak again

* Make absolute runtime the default

* Remove runtime package from error overlay
2018-09-27 16:52:43 -04:00
David Moodie
3b71621552 Workbox service worker (#4169)
* Add workbox service worker functionality

* Remove debug

* Set workboxConfig for when there isn't a cra config file

* Remove workbox configuration options as c-r-a isn't planning on supporting optional configuration

* Remove c-r-a config path from paths

* Add workbox service worker functionality

* Remove c-r-a config path from paths

* Inline the webpack workbox config

* Use settings reccommended by @jeffposnick

https://github.com/facebook/create-react-app/pull/4169/#issuecomment-422963072

* Fallback to public url index.html, not root

* Add one comment

* Update comment

* Correct regex
2018-09-27 11:51:42 -04:00
Joe Haddad
6510a27e8b Drop loader utils from react-scripts 2018-09-27 10:03:36 -04:00
Joe Haddad
ac5376f9b9 Publish
- babel-plugin-named-asset-import@0.2.0
 - babel-preset-react-app@4.0.0
 - confusing-browser-globals@1.0.1
 - create-react-app@2.0.0
 - eslint-config-react-app@3.0.0
 - react-app-polyfill@0.1.0
 - react-dev-utils@6.0.0
 - react-error-overlay@5.0.0
 - react-scripts@2.0.0
2018-09-26 14:00:59 -04:00
Joe Haddad
98b63a3f9f Update template browser defaults 2018-09-26 13:38:26 -04:00
Joe Haddad
5599eff861 Drop IE 11 support by default (#5090)
* Drop ie 11 support and move polyfills to a new package

* More useful directions for what entry point to use
https://github.com/facebook/create-react-app/pull/5090#discussion_r220313783

* Clear up what file this polyfill goes in
https://github.com/facebook/create-react-app/pull/5090#discussion_r220313980

* Polyfill `window`, not `global`

* Remove proxy polyfill file
2018-09-25 16:08:29 -04:00
Grady Kuhnline
fb6e6f70a3 Add postcss-preset-env, remove autoprefixer (#4716)
* add postcss-preset-env, remove autoprefixer

* limit to stage 4
2018-09-25 10:33:23 -04:00
Joe Haddad
2e19824dfd Update tons of packages (#5080) 2018-09-24 17:41:40 -04:00
Joe Haddad
03a709195f Revert "Add loader for .graphql files (#3909)" (#5076) 2018-09-24 12:48:58 -04:00
Joe Haddad
2150693d6f Upgrade svgr to v2 and disable Prettier/SVGO (#5062) 2018-09-21 16:00:28 -04:00
Jack Zhao
58e00a3109 Bump (peer) dependencies to ESLint 5.6 (#5050) 2018-09-21 07:35:02 -04:00
Joe Haddad
e2dc3fc5a4 Lessen significance of browserslist
Adjust the default browsers to be a single list and remove it from the build output; it only affects CSS now
2018-09-20 16:48:45 -04:00
Joe Haddad
0da9f2d6c2 Switch back to main eslint-loader
Closes #5020
2018-09-20 10:21:52 -04:00
Joe Haddad
0bdbe42768 Upgrade to Babel 7 stable (#5042)
Closes #4932, Closes #4876
2018-09-20 10:17:09 -04:00
Joe Haddad
25ebe01399 Upgrade react-scripts dependencies (#5032)
* No lock files prevents the use of yarn upgrade & outdated

* Update deps

* Bump Jest across the board

* Add safe postcss parser
2018-09-19 14:44:08 -04:00
Joe Haddad
c1ccbbc282 Upgrade html-webpack-plugin to fix tests (#5031)
* Upgrade html webpack plugin

* Fix build
2018-09-19 12:09:18 -04:00
Joe Haddad
50b4857ff8 Revert "Add support for yarn and lerna monorepos. (#3741)"
This reverts commit b43ad04b88.
2018-09-18 14:31:19 -04:00
Joe Haddad
cc328d6287 Revert "Use yarn when running inside yarn workspace. (#3997)"
This reverts commit 2c34d5b66e.
2018-09-18 14:31:19 -04:00
Joe Haddad
2300f9e983 Switch from uglifyjs to terser (#5026)
Uglify is no longer maintained and has bugs not present in Terser (its successor)
2018-09-18 14:31:02 -04:00
Joe Haddad
22353ecf02 Fix ESLint output formatting
The `formatter` option is incompatible with with `thread-loader`.
The `formatter` option previously accepted a function which was lost during JSON serialization.
2018-09-17 19:59:14 -04:00