Use the configured appBuild value in paths.js instead of hard-coding it to 'build'. This is helpful for the ejected case where the appBuild path is changed to another folder name.
* 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
* Install react and react-dom along with react-scripts
- Install react, react-dom and react-script in a same time
- Move react-scripts to devDependencies.
* Check if react, react-dom has been already installed
- To backward compatibility with old CRA’s cli
- In case old CRA doesn’t install react, react-don along with
react-scripts
* Use packageName to find script dependency
- use packageName to find dependency
- fix pathExists.sync
* Check dependencies.react in package.json instead of actual files
* Process exit when dependencies not found
- Show error and exit when dependencies not found.
- Log install show custom package name
* Remove template string
* Install dependencies if template is preseted
* Remove dangling comma
Resolves#1239
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.
* Use a more sophisticated template for end-to-end testing.
* Not publish integration tests to npm
* Use "commander" for cli argv handling
* Handle different scripts version forms and exits without a name given
* Prepare the commands for testing with a template
* Fix dev "template" path
* Add various features to test
* Test various features separately
* Test language features
* Comment unused e2e.sh lines
* Add "development" tests
* Test environment variables
* Test webpack plugins
* Replace kitchensink README
* Switch integration tests from jest to mocha
* Use `fs-extra`
* Use the correct folders
* Do some cleanup
* Print a better message for `--template`
* Test `npm start` with and without https
* Separate fast e2e testing from kitchensink testing
* Hide `--internal-testing-template` (former `--template`) CLI option
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
* Added functionality to crash the build during CI whenever linter warnings are encountered.
* Updated the docs with a description on how to use the build in CI
* Fixed small typo
* Fixed description of build error.
Added `ws: true` to the httpProxyMiddleware options, and also listen
for the "upgrade" event so that websockets can be proxied immediately,
rather than waiting for an initial HTTP request.
* add logging of existing port process on start
* Move port process wording in start command on to next line
* Color the named processes as cyan in terminal output
* Add handling for multiple processes on a part
- With the currently process filtering, if multiple processes are returned as running on port 3000, this command would fail. This splits apart the process IDing and the process naming, to support multiple processes.
- One curious thing about the bash command to get processes, is that it'll include browsers with a window open on localhost:3000. May want to reconsider that.
* Add process directory to existing port warning
- also moved terminal coloring up, when getting the process, to be able to distinguish the process command from the directory
* Change output color to all cyan, except "in"
* Rename getProcessNameOnPort -> getProcessForPort
- better reflects its broadened scope (both command and directory)
* Add checking if process is a CRA instance, to customize port running message
- moved from using package.json to a regex, for reliability
* Move getProcessForPort to react-dev-utils
- also allowed for breakdown of commands into helper methods
* Add documentation for getProcessForPort
* Add getProcessForPort to list of dev-scripts files
* Use app's package name when CRA app is running on another port
* Filter port process by those listening
- Removed the handling of multiple process IDs since you can filtering by listening process (and not have the browser in the list of processes)
- Trimmed the terminal outputs for better matching (process id) and better terminal output (directory of process)
* Update README on port helpers, to specify only one port returned
* Add ignore of stderr when executing process commands
- Make sure any potential errors don't leak to the user
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