developit / developit/microbundle
Error: Unexpected token when including a file with `declare namespace` in it.
- 主要語言
- JavaScript
- 星號
- 8.1k
- 分支
- 358
- PR 合併指標
- 30 天內沒有已合併 PR
描述
Hi microbundle team.
I'm trying to build a package, and I've needed to override some types since the types repo for the main dependency hasn't been updated.
I was on `0.14.x` before, but I updated to `0.15.1` and I still get this error.
```
$ microbundle --jsx React.createElement --tsconfig tsconfig.build.json
Error: Unexpected token (Note that you need plugins to import files that are not JavaScript)
at /Users/user/Documents/osd-react-renderer/packages/renderer/src/types/OpenSeadragonV5.d.ts:3:8
1: /* eslint-disable max-classes-per-file */
2:
3: declare namespace OpenSeadragon {
^
4: export function isFunction(obj: unknown): boolean;
```
I actually had two errors in this file. The first error said:
```
osd-react-renderer: (babel plugin) SyntaxError: /Users/user/Documents/osd-react-renderer/packages/renderer/src/types/OpenSeadragonV5.d.ts: Missing semicolon. (3:7)
osd-react-renderer: 1 | /* eslint-disable max-classes-per-file */
osd-react-renderer: 2 |
osd-react-renderer: > 3 | declare namespace OpenSeadragon {
osd-react-renderer: | ^
osd-react-renderer: 4 | export function isFunction(obj: unknown): boolean;
osd-react-renderer: 5 |
osd-react-renderer: 6 | export function isCanvasTainted(canvas: HTMLCanvasElement): boolean;
osd-react-renderer: at undefined:3:7
```
This error I was able to resolve with a `.babelrc.json` file, but I can't see what configuration can be used to resolve the first error.
I noticed that previously we were able to build the app when we used `declare module `OpenSeadragonV2`, but `declare namespace` specifically is causing this.
Any suggestions on what configuration can resolve this issue?
Thanks
貢獻指南
這個儲存庫沒有索引到貢獻指南
研究方向
使用所引用的 `OpenSeadragonV5.d.ts` 檔案重現回報的命令 `microbundle --jsx React.createElement --tsconfig tsconfig.build.json`。首先檢查 `tsconfig.build.json` 和 `.babelrc.json`,了解宣告檔案和 `declare namespace` 是如何解析的。完成的標準是 package 建置時不會出現意外 token 或 Babel 語法錯誤。
由索引模型根據 Issue 內容生成。
評估
- 技術堆疊
- babel, javascript, typescript
- 領域
- build-system, tooling
- Issue 類型
- 缺陷
- 難度
- 4/5
- 預估耗時
- 3-5 天
- 活躍度
- 停滯
- 描述清晰度
- 基本清楚
- 新手友好度
- 35/100