cd path does not work as expected
See original GitHub issueWhen having created a new app, create-react-app
outputs this information:
Success! Created weather-app at /Users/a2517/sites/commercial/plotly/academy/weather-app.
…
We suggest that you begin by typing:
cd /Users/a2517/sites/commercial/plotly/academy/weather-app
npm start
As you can see, there’s two absolute paths there, even though it doesn’t really make sense to have the cd
path be absolute. Instead, the instructions should show:
cd weather-app
npm start
Looking at the source of this, it seems like there was some sort of precaution taken to only show the absolute path when one is no longer in the original folder, but it’s not working as expected since it shows the absolute path even when one is in the original folder:
// init.js:58
// Make sure to display the right way to cd
var cdpath;
if (path.join(process.cwd(), appName) === hostPath) {
cdpath = appName;
} else {
cdpath = hostPath;
}
(hostPath
is absolute, it should only show the appName
when still in the original folder, as in my case)
Something about this check is off: path.join(process.cwd(), appName) === hostPath
. I’m not well versed enough in that part of the codebase to find the bug in this code, but maybe @vjeux or @gaearon have some idea?
Issue Analytics
- State:
- Created 7 years ago
- Comments:6 (6 by maintainers)
Top GitHub Comments
Oops. Looks like there is a
process.chdir()
happening in the global-cli before that check happens, soprocess.cwd()
is no longer the original working directory and that check is always returning false. Let me see if there is some way to access the original working directory without changing the global-cli which is fidgety…Makes sense. I just need to be sure that “old CLI” and “new react-scripts” work together. So if there’s something like passing an extra argument into the
init
script it will have to still behave reasonably if the new argument is undefined.