-
-
Notifications
You must be signed in to change notification settings - Fork 6.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
预构建无法处理一些 ts 的 type 引用 #4651
Comments
为什么要在 .js 文件里去 import 一个类型,而不是用 jsdoc ? edit: 这个看起来像是一个故意构建出来导致错误的例子,有什么真实的例子会遇到这种场景吗? |
嗯嗯。内部包存在这种情况,就有的包构建没做好处理,原 ts 会 import 一个 type 来使用,ts 编译构建完出来的 js 就变成对 type 的空引用了。然后间接调用这个包的时候,预构建就会失败。 |
我理解调用 tsc 或者 babel +typescrip-preset 编译后应该不会出现这种情况。 |
请确认一下是否在 tsconfig 中设置了 |
Closing due to lack of response or reproduction. |
Describe the bug
间接引用一些 npm 包,如果包里有一些无效的 ts type 引用,预构建会失败。
Reproduction
b 这个包提供 function a,同时在 a.js 会引用 b.d.ts 里面的一个 interface test 。b.js 里面没有 test 相关变量。
此时直接引用 b/es/a/a.js 的方法,预构建也不会出问题。但是如果存在一个包 a,
对 b 的 a.js 进行了引用,我们再直接调用 a 的话,
预构建就会失败报 type 没有 export 的 error。
感觉像是 esbuild 依赖判断处理有问题。
System Info
System: OS: macOS 10.15.7 CPU: (12) x64 Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz Memory: 50.30 MB / 32.00 GB Shell: 5.7.1 Binaries: Node: 14.17.0 Yarn: 1.22.10 npm: 6.14.13 Browsers: Chrome: 92.0.4515.159 npmPackages: vite: ^2.4.3 => 2.4.3
Used Package Manager
yarn
Logs
No response
Validations
The text was updated successfully, but these errors were encountered: