Closed mnieber closed 10 months ago
I've gotten around it by putting the package.json
and node_modules
in /src
, which doesn't work for create react app...
Should be relatively easy to add to here: https://github.com/Galooshi/import-js/blob/master/lib/findProjectRoot.js
If you wanted to start a proposal
@mnieber Could you give a more specific example? What's the location of the file you're importing into and what's the location of the file/module you're importing? What did you expect import statements to look like vs what do they end up looking like?
Depending on the scenario here, you could look into using https://github.com/Galooshi/import-js#importstatementformatter.
I've found a solution based on an undocumented feature: the .importjs-root
file. Just like package.json
this file indicates the root directory for import paths found by importjs. By placing both .importjs-root
and .importjs.js
in the src
directory, I managed to get import paths that do not start with the src/
prefix.
Maybe it's worth documenting .importjs-root
?
Unfortunately, my solution (described above) is not adequate because now node_modules
is no longer considered.
I know this is an old issue, but this is a feature I'd quite like to see.
A pet peeve of mine is that JavaScript projects always end up with hundreds of config files; and jsconfig has emerged as a bit of a standard.
I'd like to work on a PR, but I'm not experienced with the codebase, and would appreciate any hints as to where to look.
FYI, I'm now using the vandelay plugin in VSCode to generate the import statements. It doesn't have the "Fix all imports" feature that ImportJS has, which is very useful, but otherwise works really well.
I couldn't reproduce this issue. Perhaps it's been solved?
Here's what I did:
mkdir /tmp/test ; cd /tmp/test
npx create-react-app .
echo "export default 'hello'" > src/b.js
echo "console.log(b)" >> src/App.js
importjs fix src/App.js
ImportJS then went ahead and added this line:
import b from "./b.js";
Notice that it did not include the src
in the path.
I'll go ahead and close this now as I can't reproduce the issue. However, if you feel I missed something then please go ahead and reopen it and describe how to reproduce step-by-step. Thanks!
When I create an application with "create react app" then it places all source under the /src directory. In that case, imports do not have a "src/" prefix. However, importjs will produce import paths that do have the "src/" prefix. Is it possible to fix this? Or am I doing something wrong?
I thought that one option could be to take the value of
compilerOptions.baseUrl
in thejsconfig.json
file into account when determining the import paths.