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
Current behavior:
babel-loader is unable to resolve d.ts files when:
they're re-exported from a file
and that file also exports variables
and those variables are imported AND read in another file
If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem along with a gist/jsbin of your webpack configuration.
Create a file (File A) that re-exports some typescript types (e.g. export * from './types/Something') as well as variables (e.g. export const foo = 'bar').
In another file (File B), import * from File A.
Observe babel-loader has no issues building.
In File B, read a variable from the import (e.g. with console.log).
Observe babel-loader cannot resolve the re-exported types.
For example:
// FileA.tsexport*from'./types/Something';exportconstfoo='bar';// FileB.tsimport*aslibfrom'./FileA';consts: lib.Something={k: 'v'};console.log(s);// Commenting out next line will "fix" babel-loaderconsole.log(lib.foo);
The above code results in the following error when compiled with babel-loader, but not babel or tsc.
ERROR in ./src/lib/index.ts
Module not found: Error: Can't resolve './types/Something' in '/Users/home/Code/babel-loader-issue/src/lib'
@ ./src/lib/index.ts 1:0-34 1:0-34
@ ./src/index.ts
What is the expected behavior?
babel-loader matches the behavior of babel and typescript and is able to resolve the file.
What is the motivation / use case for changing the behavior?
If something compiles in both typescript and babel, it stands to reason it should compile in babel-loader too.
Possibly irrelevant postscript
This is similar to #603, but I believe this is a distinct issue and one with babel-loader because:
a) in my reduced test case (https://github.com/bpander/babel-loader-issue), I set isolatedModules to true, and typescript still has no issues compiling
b) babel-loader doesn't complain unless you read a variable from the import
The text was updated successfully, but these errors were encountered:
I'm submitting a bug report
Webpack Version:
4.x
Babel Core Version:
7.x
Babel Loader Version:
8.0.x
Please tell us about your environment:
OSX 10.x
Current behavior:
babel-loader is unable to resolve d.ts files when:
they're re-exported from a file
and that file also exports variables
and those variables are imported AND read in another file
If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem along with a gist/jsbin of your webpack configuration.
I created a repo to illustrate this issue: https://github.com/bpander/babel-loader-issue
export * from './types/Something'
) as well as variables (e.g.export const foo = 'bar'
).For example:
The above code results in the following error when compiled with babel-loader, but not babel or tsc.
What is the expected behavior?
babel-loader matches the behavior of babel and typescript and is able to resolve the file.
What is the motivation / use case for changing the behavior?
If something compiles in both typescript and babel, it stands to reason it should compile in babel-loader too.
Possibly irrelevant postscript
This is similar to #603, but I believe this is a distinct issue and one with babel-loader because:
a) in my reduced test case (https://github.com/bpander/babel-loader-issue), I set isolatedModules to true, and typescript still has no issues compiling
b) babel-loader doesn't complain unless you read a variable from the import
The text was updated successfully, but these errors were encountered: