Skip to content

Future: Possibly more automated type compilation #3157

Open
@joshgoebel

Description

@joshgoebel

Getting access to the types in my main source. My source is all JS, it exports no types... all the type exports are ambient modules.

I’m proposing the inverse: define your types in your code.

I dunno what that means? You mean declare them in highlight.js itself and then export them, import them into index.d.ts and then reexport them? I'm not sure I know how to do that if that's possible - or advisable?

Indeed: write them in JavaScript. No need to add a manual index.d.ts: typescript can compile javascript and generate that index.d.ts.

Here’s a smaller example: words/levenshtein-edit-distance@2c3d890.
Lowlight is a bit more involved.
A bit more complex is unist-util-select: syntax-tree/unist-util-select@4c1b02e.
And quite complex is xdm: https://github.com/wooorm/xdm.

I am not a fan of typescript. I personally don’t really love types either. But they are somewhat useful — especially for newcomers to a giant ecosystem (unified).
I think types through jsdoc in javascript is rather nice: code is directly runnable, no building needed. But everything is still type checked by typescript (and I like type-coverage to ensure everything is completely typed).
It ensures .d.ts are kept up to date and work

Some more info here: https://github.com/voxpelli/types-in-js

Originally posted by @wooorm in #3131 (comment)

Metadata

Metadata

Assignees

Labels

good first issueShould be easier for first time contributorshelp welcomeCould use help from communitypackage/buildIssues relating to npm or packagingparser

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions