Skip to content

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

@Yupeng-li

Description

@Yupeng-li

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.

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:

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

- 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugenThis issue is in EnglishpendingWe are not sure about whether this is a bug/new feature.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions