You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When I run tsc the output in dist contains index.js and config.json. This is good and expected. If any parent directory is named node_modules then the JSON file will no longer be copied. A full terminal session of this phenomenon is included below:
marcel@marcel ~/tmp $ ls -lah
total 0
drwxr-xr-x 3 marcel staff 96B May 4 02:22 .
drwxr-xr-x 84 marcel staff 2.6K May 4 02:22 ..
drwxr-xr-x 4 marcel staff 128B May 4 02:21 test
marcel@marcel ~/tmp $ cd test
marcel@marcel ~/tmp/test $ ls -lah
total 8
drwxr-xr-x 4 marcel staff 128B May 4 02:21 .
drwxr-xr-x 3 marcel staff 96B May 4 02:22 ..
drwxr-xr-x 4 marcel staff 128B May 4 02:13 src
-rw-r--r-- 1 marcel staff 119B May 4 02:14 tsconfig.json
marcel@marcel ~/tmp/test $ npx tsc
marcel@marcel ~/tmp/test $ cat dist/config.json
{}
marcel@marcel ~/tmp/test $ cd ..
marcel@marcel ~/tmp $ mkdir node_modules
marcel@marcel ~/tmp $ mv test node_modules
marcel@marcel ~/tmp $ cd node_modules/test
marcel@marcel ~/tmp/node_modules/test $ rm -rf dist
marcel@marcel ~/tmp/node_modules/test $ npx tsc
marcel@marcel ~/tmp/node_modules/test $ cat dist/config.json
cat: dist/config.json: No such file or directory
marcel@marcel ~/tmp/node_modules/test $ ls dist
index.js
π Expected behavior
It is unexpected that the name of a parent directory would affect the compiler in this manner.
Additional information
If I invoke the compiler with the --traceResolution option the output is almost exactly the same but an additional line is logged in the node_modules parent case. The full log follows and the additional line is annotated inline. This diagnostic message does not appear when node_modules is found in the parent hierarchy.
======== Resolving module './config.json' from '/Users/marcel/tmp/node_modules/hello/test/src/index.ts'. ========
Module resolution kind is not specified, using 'NodeJs'.
Loading module as file / folder, candidate module location '/Users/marcel/tmp/node_modules/hello/test/src/config.json', target file type 'TypeScript'.
File '/Users/marcel/tmp/node_modules/hello/test/src/config.json.ts' does not exist.
File '/Users/marcel/tmp/node_modules/hello/test/src/config.json.tsx' does not exist.
File '/Users/marcel/tmp/node_modules/hello/test/src/config.json.d.ts' does not exist.
Directory '/Users/marcel/tmp/node_modules/hello/test/src/config.json' does not exist, skipping all lookups in it.
Loading module as file / folder, candidate module location '/Users/marcel/tmp/node_modules/hello/test/src/config.json', target file type 'JavaScript'.
File '/Users/marcel/tmp/node_modules/hello/test/src/config.json.js' does not exist.
File '/Users/marcel/tmp/node_modules/hello/test/src/config.json.jsx' does not exist.
Directory '/Users/marcel/tmp/node_modules/hello/test/src/config.json' does not exist, skipping all lookups in it.
Loading module as file / folder, candidate module location '/Users/marcel/tmp/node_modules/hello/test/src/config.json', target file type 'Json'.
File '/Users/marcel/tmp/node_modules/hello/test/src/config.json' exist - use it as a name resolution result.
File '/Users/marcel/tmp/node_modules/hello/package.json' does not exist.
^----- THIS LINE IS ADDED
======== Module name './config.json' was successfully resolved to '/Users/marcel/tmp/node_modules/hello/test/src/config.json'. ========
The text was updated successfully, but these errors were encountered:
Bug Report
π Search Terms
resolveJsonModule json node_modules
π Version & Regression Information
Version 4.2.4
macOS 11.3
The issue seems very old, at least TS v3.4 is also affected.
π» Code
tsconfig.json
src/index.ts
src/config.json
π Actual behavior
When I run
tsc
the output indist
containsindex.js
andconfig.json
. This is good and expected. If any parent directory is namednode_modules
then the JSON file will no longer be copied. A full terminal session of this phenomenon is included below:π Expected behavior
It is unexpected that the name of a parent directory would affect the compiler in this manner.
Additional information
If I invoke the compiler with the
--traceResolution
option the output is almost exactly the same but an additional line is logged in thenode_modules
parent case. The full log follows and the additional line is annotated inline. This diagnostic message does not appear whennode_modules
is found in the parent hierarchy.The text was updated successfully, but these errors were encountered: