* Set baseUrl from jsconfig.json/tsconfig.json
* Resolve the path for loading modules
* Add tests for jsconfig.json
* Add jsconfig.json
* Update packages/react-scripts/scripts/start.js
* Move baseUrl test to config folder
* Remove alias test
* Use chalk from react-dev-utils
* Add lost absolute file for typescript baseUrl test
* Update packages/react-scripts/config/modules.js
* Update other references of useTypeScript to hasTsConfig
* Fix casing of TypeScript
* Keep respecting NODE_PATH for now to support multiple module paths.
* Add test for NODE_PATH
* Add fallback if NODE_PATH is not set.
* Fix node path behavior tests
* Remove debugging code from behavior test suite
* Remove more debugging code
* Show NODE_PATH deprecation warning during build
Co-authored-by: Ian Sutherland <ian@iansutherland.ca>
Co-authored-by: Brody McKee <mrmckeb@users.noreply.github.com>
Co-authored-by: Jack Zhao <jzhao@fb.com>
* Update to jest 24
* Add notice about pnpResolver.js
* Formatting
* Fix linting
* Update to jest 24.1.0
* Update jest-pnp-resolver
* Swap create-react-app params in e2e scripts
* Add extraGlobals to supportedKeys
* Bump jest to 24.3.1
* Bump jest to 24.4.0
* Bumb jest to 24.5.0
* Update template dependencies jest to 24.5.0
* Debug failing test
* Remove jest-pnp-resolver
* Remove console.log
* Revert yarn.lock.cached
* 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
* Don't resolve TS files if it's not detected in the project
* Automatically create tsconfig.json file for user
* Remove always false check
* Add missing file
* Don't filter paths too early
* 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
Support for .mjs files added in #3239 did not account for npm libraries which ship native mjs files alongside js files. This accounts for this by ensuring .js files resolve before their accompanying .mjs file. Note that this is not an ideal end state since selecting a .mjs over a .js extension should be the result of whether `import` was used instead of `require()` in a node environment with native ESM support (currently via `--experimental-modules`). Instead, this change just *always* selects a .js extension before the .mjs extension if it exists.
This unbreaks support for using GraphQL (relay, apollo, etc) within create-react-app projects.