* 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.
* Run yarn after ejecting.
* On eject, choose to run yarn instead of npm if yarn is available.
* Move monorepo to react-dev-utils.
* Fix lint.
* Rename monorepo to workspaceUtils.
* Add react-dev-utils dep for create-react-app.
* getMonorepo -> findMonorepo
* 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.
* Offer to set browser defaults
* Catch error on no
* Add ending newlines
* Ensure we re-check to prevent defaults from leaking
* Reduce nesting
* Add defaults message
* More explicit
* Ejecting should ensure you have clean git status
* Rename function
* Style
* Minor changes
- extract function
- exclude error output for missing git
- more descriptive error message
- no need to mutate answer
- fix answering "no" to return 0 exit code
* Override Jest config collectCoverageFrom with package.json
* Protect against overriding other options
* Better error message
* Create Jest config early on eject
* Tweak wording
* Dry it up
* mv create-react-app/index.js -> create-react-app/creteReactApp.js
* update to modern code style
* var -> cosnt
* set trailing-coma to es5 for prettier
* Read script names from own bin instead of guessing
This fixes ejecting from a fork that uses a different bin script name.
* Fix ejecting for a scoped react-scripts fork
We shouldn't hardcode react-scripts because fork name might differ.
We also shouldn't rely on it being an immediate child because scoped packages are a level deeper.
* Clarify that own* properties only exist before ejecting
* Refactor start script into modules
* Move dev server config into config file
* Replace eject file whitelist with a "remove-file-on-eject" flag
* Move utils into scripts folder (for inclusion in ejection)
* Add missed changes
* Pass showInstructions as an argument
* Fix eject bug
* Don't eject babelTransform
* add npm-link support
* - remove extra veriable
- simplify condition
* update code after review:
- remove utils/isReactScriptsLinked
- add appPath and ownPath to paths.js (but only for "before eject" export case)
* update code after review:
- remove utils/isReactScriptsLinked
- add appPath and ownPath to paths.js (but only for "before eject" export case)
* update code after review:
- remove utils/isReactScriptsLinked
- add appPath and ownPath to paths.js (but only for "before eject" export case)
- remove "if" block for fs.removeSync(ownPath) at ejec.tjs
* change ownPath value
ATM if react-scripts is (erroneously) declared in `dependencies` instead of `devDependencies` or isn't declared at all, the `eject` script will fail half-way. This change makes it more robust, react-scripts will be removed from either, if present.
There’s a common tool included in Hadoop that also has a `yarn` command,
which created issues for users who had Hadoop installed:
* #1257
* #1363
Yarn also installs the command under `yarnpkg` alias (added in
cefa9a368d)
so we can use `yarnpkg` instead of `yarn` to make it more reliable.
This has no effect on users who don't have Hadoop installed, but those
who have won't see errors from falsely detecting Hadoop Yarn as Yarn
the package manager, and they can now also install Yarn to make use of
our Yarn support without the Hadoop Yarn interfering.
* Let Jest handle all file types
* Update regexes
* Fix exclusion regex to also exclude files without extension
* Be over-cautious with Windows paths because I'm not sure how Jest handles them
* There is no automatic babel-jest discovery now that we use transsform
In the `create-react-app` command, try to install packages using Yarn.
If Yarn is not installed, use npm instead.
In `react-scripts`, detect if the project is using Yarn by checking if
a `yarn.lock` file exists. If the project is using Yarn, display all
the instructions with Yarn commands and use Yarn to install packages
in `init` and `eject` scripts.
* Beaufity output of eject.js script
* change formatting of the eject.js output and move colors to cyan
* change message about file copy
* add missing three dots to some statements in eject.js script
* change color of "copying files" line and do not repeat copy path anymore in log
* fix merge conflict
* Remove yellow color from "Removing dependency" line
* changing color to "Adding dependency" line
* Add line that outputs which react script is getting replaced by similar node script
* remove not used anymore colors
* add console line about updating Jest configs
* fix typo
* change formatting of replacing script output in eject.js
* remove "Writing package.json" file console output
* make quotes cyan in "Replacing script" console output
* update console log output for Jest, Babel, ESLint update and group them under one statement
* Style nits
* Forked react-scripts should retain the binary name
* Forked react-scripts should retain the binary name -- fixed issue with regex
* Forked react-scripts should retain the binary name -- fixed style nit