* 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
* Support for multiple source paths via package.json srcPaths entry.
Initial support for yarn workspace.
Support lerna workspace, fix for when to use template files.
Remove support for specifying srcPaths in package.json.
Re-enable transpilation caching.
* Clean up, use file matching (similar to original) in webpack configs instead of matching function.
* Remove package lock files.
* Fix for eject.
Note: monorepos won't work after eject.
Can be fixed easily with JEST 22.0.?+ which has file pattern matches against realpaths.
* Filter tests to run only tests in monorepo components included by the app.
(Not sure this is desireable, might be cool to be able to easily run all tests in monorepo from one app.)
* Fix conditions for when to use template.
* Fix eject.
* Remove code that is not needed w/ Jest 22.
* Include all cra-comp tests in monorepo instead of trying to include only tests that are dependencies of app.
(tests can be easily filtered via jest cli if desired, e.g. 'npm test -- myapp comp1')
* Pin find-pkg version.
* Hopefully fix jest test file matching on windows by removing first slash.
* E2E tests for monorepo.
* Run monorepo tests in CI.
* Fix and test post-eject build.
* Fix e2e test.
* Fix test suite names in appveyor.
* Include individual package dirs as srcPaths instead of top-level monorepo root.
Fixes build/start after eject.
* Fix running tests after eject.
* Clean up test workspace, add some verifcations.
* Cleanup.
* Try to fix hang when running test on appveyor.
* Don't write babel or lint config to package.json when ejecting.
* Incorporate review comments.
* Simply monorepo pkg finder
* Only include monorepo pkgs if app itself is included in monorepo
* Check for specific tests in e2e
* Fixes for windows.
* Fix for kitchensink mocha tests compiling.
* Add lerna monorepo test.
* Fix lerna bootstrap on windows.
* Incorporate more review comments:
* remove support for lerna w/o yarn workspace
* add react and react-dom as devDeps to comp1 and comp2
* Add monorepo info to user guide.