Skip to content
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

Support TypeScript >= 4.7 "node16"/"nodenext" moduleResolution #2952

Closed
josundt opened this issue Nov 13, 2022 · 0 comments
Closed

Support TypeScript >= 4.7 "node16"/"nodenext" moduleResolution #2952

josundt opened this issue Nov 13, 2022 · 0 comments
Labels
type.d Type definition related

Comments

@josundt
Copy link
Contributor

josundt commented Nov 13, 2022

Description

billboard.js cannot be used in TypeScript >= 4.7 projects when the compiler option moduleResolution is set to node16 or nodenext. This is beacuse TypeScript types are not included in package.json exports.

node16/nodenext is the preferred value for both moduleResolution and module compiler options for true browser/node cross-platform esm module packages moving forward.

Steps to check or reproduce

  • Create a TypeScript project folder.
  • Add an initial package.json where the property type is set to "module".
  • Install typescript as a devDependency.
  • Add a tsconfig.json file with the compilerOption moduleResolution set to node16 or nodenext.
  • Install billboard.js as a dependency.
  • Create a typescript file where you import bb from "billboard.js", then add code for a simple chart sample.
  • TypeScript compilation fails; import cannot find types for package.

Reference: Announcing TypeScript 4.7: package.json Exports, Imports, and Self-Referencing

I created PR #2953 that fixes this issue.

@netil netil added the type.d Type definition related label Nov 14, 2022
@netil netil closed this as completed in 143e491 Nov 14, 2022
github-actions bot pushed a commit that referenced this issue Dec 7, 2022
# [3.7.0-next.1](3.6.3...3.7.0-next.1) (2022-12-07)

### Bug Fixes

* **axis:** Fix axis label overlap when has no data ([643357b](643357b)), closes [#2974](#2974)
* **axis:** fix axis.y/y2.tick.format context error ([54ee419](54ee419)), closes [#2976](#2976)
* **domain:** Fix wrong domain range setting ([b55b153](b55b153)), closes [#2962](#2962)
* **options:** Fix data.regions path rendering for category axis ([249d0ac](249d0ac)), closes [#2950](#2950)
* **types:** Add missing param definition for gauge.label.format ([d663532](d663532)), closes [#2946](#2946)
* **types:** Fix to referenced but missing d3 types ([0b57454](0b57454)), closes [#2954](#2954) [#2961](#2961)
* **types:** Support dual module type.d in TS >= 4.7 ([143e491](143e491)), closes [#2952](#2952) [#2953](#2953)

### Features

* **api:** Enhance .export() to preserve fontStyle ([0809ae7](0809ae7)), closes [#2892](#2892)
* **arc:** Intent to ship arc.cornerRadius ([e8320cf](e8320cf)), closes [#2936](#2936)
* **module:** Support dual CJS/ESM package ([437c007](437c007)), closes [#2202](#2202)
* **plugin:** Intent to ship TableView plugin ([215b611](215b611)), closes [#1873](#1873)
* **tooltip:** Enhance passing ratio value for stacked area/bar ([9e7ff01](9e7ff01)), closes [#2921](#2921)
github-actions bot pushed a commit that referenced this issue Jan 11, 2023
# [3.7.0](3.6.3...3.7.0) (2023-01-11)

### Bug Fixes

* **axis:** Fix axis label overlap when has no data ([643357b](643357b)), closes [#2974](#2974)
* **axis:** fix axis.y/y2.tick.format context error ([54ee419](54ee419)), closes [#2976](#2976)
* **domain:** Fix wrong domain range setting ([b55b153](b55b153)), closes [#2962](#2962)
* **options:** Fix data.regions path rendering for category axis ([249d0ac](249d0ac)), closes [#2950](#2950)
* **plugin:** Fix stanford scale to accept 0 as min value ([02c4270](02c4270)), closes [#2999](#2999)
* **selection:** Fix selection w/point.focus.only=true & selection.multiple=false ([af93a8a](af93a8a)), closes [#2928](#2928) [#3013](#3013)
* **types:** Add missing param definition for gauge.label.format ([d663532](d663532)), closes [#2946](#2946)
* **types:** Fix to referenced but missing d3 types ([0b57454](0b57454)), closes [#2954](#2954) [#2961](#2961)
* **types:** Support dual module type.d in TS >= 4.7 ([143e491](143e491)), closes [#2952](#2952) [#2953](#2953)

### Features

* **api:** Enhance .export() to preserve fontStyle ([0809ae7](0809ae7)), closes [#2892](#2892)
* **arc:** Intent to ship arc.cornerRadius ([e8320cf](e8320cf)), closes [#2936](#2936)
* **tooltip:** Enhance passing ratio value for stacked area/bar ([9e7ff01](9e7ff01)), closes [#2921](#2921)
* **treemap:** Intent to ship treemap type ([9809ef1](9809ef1)), closes [#123](#123) [#3002](#3002) [#3004](#3004) [#3006](#3006) [#3007](#3007) [#3008](#3008)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type.d Type definition related
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants