apache / apache/echarts

[Bug] Some internal types become unavailable when `moduleResolution` is set to `bundler"

Open
#20,671 1 comment 2 reactions 0 assignees View on GitHub
bug en pending
Dominant language
TypeScript
Stars
67.3k
Forks
19.8k
Avg merge
11d 14h
Merged PRs (30d)
8

Description

### Version

5.6.0

### Link to Minimal Reproduction

https://codesandbox.io/p/sandbox/v29fdw

### Steps to Reproduce

Previously with the version 5.4.3, we can import internal types, such as `ValueAxisBaseOption`, `DataZoomOption`, `AreaStyleOption` and so on, from files where they are defined.

```ts
import { ValueAxisBaseOption } from 'echarts/types/src/coord/axisCommonTypes'
```
These types are **useful** when we write unit tests or when we write util functions that customise these options based on certain parameters.

However since 5.6.0 we can no longer do this, because you updated the `exports` field in `package.json` and those files are no longer recognisable by typescript.

This might not be a bug, but it does break our type check. As a workaround, I added a patch to export them from `/node_modules/echarts/types/dist/echarts.d.ts`, so I can import in this way:

```ts
import { ValueAxisBaseOption } from 'echarts'
```

I wonder if you can export them by default, so we get more precise types?

### Expected Behavior

Be able to import them

### Environment

```markdown
- OS: macOS sequoia
- Browser: N/A
- Framework: react, react-native
```

### Any additional comments?

Please note that the `moduleResolution` in our `tsconfig` is set to `bundler`. Those types can still be imported if it's set to `node`. But in our case, we have to use `bundler`.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.