-
Notifications
You must be signed in to change notification settings - Fork 97
[PROPOSAL]: Re-write with native TypeScript support #112
-
Firstly, looks like an awesome library. Some of the visualizations on the website are amazing. 🚀 Props to you @graphieros
However, the dist bundled types are awkward to work with. They seem to be correct, however, not being able to, e.g.,:
import { type Config, VueUiXy } from "vue-data-ui";
Is leading to some tense situations with the TS language tools and compiler, e.g.: I've copied the base graph example from the builder here: https://vue-data-ui.graphieros.com/chart-builder
However, the types are awkward to derive:
Screenshot 2024年10月23日 at 17 07 21So, it leaves me in a quandry. Use a second rate library with first class TypeScript support, e.g., @unovis, or request that we discuss migrating the codebase to use .ts rather than a declaration file which is awkward to maintain and prone to breaking between minor and patch versions.
I am more than happy to offer up my services to help do this, as well as reconfigure the build process to output .d.ts and .cjs/.mjs/.js files.
Let me know your thoughts ...
Beta Was this translation helpful? Give feedback.
All reactions
-
❤️ 1
Replies: 8 comments
-
Hey @michealroberts :)
Before I answer, have you tried importing the proper types for this use case ?
import { VueUiXy, type VueUiXyConfig, type VueUiXyDatasetItem } from "vue-data-ui"
Beta Was this translation helpful? Give feedback.
All reactions
-
Yes, I have also tried the above ... but certain values from the documentation are missing:
Screenshot 2024年10月23日 at 17 30 22Beta Was this translation helpful? Give feedback.
All reactions
-
Yeah, that attribute is missing from the type def.
I would need to recheck the whole .d.ts file
But without this kind of mishap wouldn't it be sufficient ?
Beta Was this translation helpful? Give feedback.
All reactions
-
❤️ 1
-
Yeh it's an awesome library ... I just think these mishaps happen because of the lack of explicit types close to the code ... the minute you have to maintain something external to where something is, the more problematic it will become ...
Beta Was this translation helpful? Give feedback.
All reactions
-
I'm more than happy to dedicate a day to this effort ...
Beta Was this translation helpful? Give feedback.
All reactions
-
To check the .d.ts file, or to use lang="ts" on all components ? The latter is a massive undertaking
Beta Was this translation helpful? Give feedback.
All reactions
-
@michealroberts listen I'm gonna start by cleaning up the .d.ts. There are quite a bunch of mishaps.
Maybe we can talk about your proposal through a different medium ?
Beta Was this translation helpful? Give feedback.
All reactions
-
@michealroberts v2.3.37 was published, with major type cleanup.
Beta Was this translation helpful? Give feedback.