* 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>
This is a temporary fix to get our test suites passing so we can finish work on the 3.0 release. We still need to find and fix the root cause of this issue: #6679. This workaround should be removed once that's fixed.
* 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
* add command to add files to staging after eject
* update console.log message
* wrap git add in a try/catch block
* return true & update log message
* add test to check if files were staged
* Fix check for staged files
The `e2e:docker` command can run tests in a Docker container, but it always returns exit code 0 even if the tests failed. This PR resolves that and returns the exit code from the test command.
* add tests for named-asset-imports plugin
* add ticketFormats store/saga
* change import to require on test file to avoid using babel when running tests
* remove all babel dependencies as not needed more for running tests
* update tests and rename file to index.test.js
* remove npmignore as it is whitelisted in package.json
* add babel-plugin-named-asset-import tests to e2e
* 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.
* 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
* Speed up installs with pnp
* Move to a better relative path test
* Continue work on new test organization
* Move mjs test to new enhanced tests
* Move over last legacy test
* Update behavior e2e script
* Add first iteration of instructions to test readme
* Add some more bad instructions
* Split test command into multiple lines
* Use two workers (do not run in band)
* Bump install timeout
* No global pollution
* Fix PnP support via standard run mechanism
* Prevent circular serve command
* Silent yarn execs
* Fix common commands by using a shell
* Run with npx instead of Yarn
* Remove unused scripts
* Wait for localhost and fix script booting with PnP
* Don't pnp locally because links will cause module resolution to whine
* lint-staged is annoying
* Strip Yarn out of execa runs
* Set default license if none specified
* Don't impose worker limit
* Disable pnp for webpack messages
* Add missing dependency
* Disable timeout and rely on Jest
* Only use 2 jest workers
* Add missing dependency
* Caches the Yarn resolution for faster installs
* Adds the yarn.lock.cached file to the publish list
* Removes the copied lockfile when the install fails
* Updates the release checklist
* 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
* Only install react-scripts in CI mode
* Link locally
* Re-enable all output tests
* 💄 Polish webpack output
* Test sass support message
* Add more tests, but disabled
* Format missing default export error
* Format aliased import
* Why was node-sass required? Odd
* Format webpack rejection error
* Re-enable unknown package test
* Format file not found error and catch module scope plugin error
* Re-disable case sensitive paths
* Intercept and format case sensitive path errors
* Test out of scope message formatting
* Run behavior on macOS
* Run behavior on Node 8 and 10, only Node 8 for macOS
* Add some debugging
* Update matcher
* Only check stderr
* Remove old snapshot
* More debug
* Remove debug
* Add new debug
* Disable test on linux
* Add comment for future
* Run smoke tests with Jest
* Get a unique port for smoke test
* Upgrade verdaccio across the board
* Drop unneeded step
* Try latest instead
* Boot registry in home directory
* Correct config path
* Add mutex
* Test webpack message formatting
* Strip color
* Add browserslist to default
* Disable another broken feature
* Turn on helpers and test importing something with async/await works
* Compiling babel runtime breaks itself
* Add helpers option to babel plugin with defaults
* Make helpers off by default and on in our configuration
* Hit eject and e2e
* meh
* copy'n'paste
* change again
* Turn off helpers by default in /prod, /dev, /test
* oops
* Spread undefined
* Use object assign not object spread
* Put preset in template since it's needed
* Fix e2e tests
* convert mocha tests to jest
* jest 23
* add jest configs
* use material css
* fix windows
* forceExit jest test
* force exit eject
* test
* test
* retrigger test
* remove appveyor comment
* try to remove pretendToBeVisual option
* use jsdom env
* test environment
* no cache
* test no close
* bring back raf
* test revert all broken changes
* add back jsdom
* remove jsdom
* node test environment
* use latest change
* runInBand
* runInBand
* comment test run
* try different jest option
* standardize jest test options
* increase heap size
* remove heap size config
* support scoped packages for cra --scripts-version option
* upgrade jest version
* fix windows
* fix windows again
* jest 23.4.1
* babel-jest
* babel-jest
* split out kitchhensink
* travis node 6
* travis node 6 config
* node 6 travis eject
* cache yarn
* only cache yarn
* remove unrelated changes
* typo
* support scoped packages for cra --scripts-version option
* seperate out kitchensink test
* add eject to node 6 testing
* travis node 6 eject
* fix CI warnings
* - [x] Upgrade to webpack 4.8.X
- [x] Utilize webpack 4 development and production modes
- [x] Upgrade webpack dev server
- [x] Webpack 4 compatible release of thread-loader
- [x] Webpack 4 compatible release of HtmlWebpackPlugin
- [x] Webpack 4 compatible release of SwPrecacheWebpackPlugin
- [x] Webpack 4 compatible release of WebpackManifestPlugin
- [x] Update README
- [x] Update WebpackDevServerUtils
- [x] Update InterpolateHtmlPlugin
- [x] Update ModuleScopePlugin
- [x] Update WatchMissingNodeModulesPlugin
- [x] Move UglifyJS options to webpack 4 optimize
- [x] Move InterpolateHtmlPlugin to make it tapable on HtmlWebpackPlugin
- [x] vendor splitting via splitChunks.splitChunks (https://twitter.com/wSokra/status/969633336732905474)
- [x] long term caching via splitChunks.runtimeChunk (https://twitter.com/wSokra/status/969679223278505985)
- [x] Make sure process.env.NODE_ENV is proxied correctly to `react-error-overlay`
- [x] Implicit webpack.NamedModulesPlugin in dev config as its default in webpack 4
- [x] Disable webpack performance hints as we have our own filesize reporter
- [x] Replace ExtractTextPlugin with MiniCssExtractPlugin
- [x] Switch to css whole file minification via OptimizeCSSAssetsPlugin rather than per module css minification to gain performance
* disable module concatenation
* fix cleanup
* fix optimization
* restore tmp removal
* preserve
* fix css tests
* fix test run
* fix svg test
* revert tmp dir
* fix import
* fix import
* help debugging
* fix tests
* fix sass test
* restore cleanup
* Support package distribution tags (#4348)
* Remove redundand variable check in `getInstallPackage`
* Simplify react-scripts version using `--scripts-version=@tagname` notation
* Add dist-tag tests to e2e-installs