TypeStrong / TypeStrong/typedoc
Support more file extensions (.gts,.svelte,.vue,etc)
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 8.5k
- Forks
- 775
- PR merge metrics
- No merged PRs in 30d
Description
Hello,
I'm developing in Ember. Ember (as many other frameworks) do use a custom js-dialect and I wrote a typedoc plugin to parse ember files. I also did wrote an ember-docgen package that uses typedoc under the hood. Now I'm using both to make ember work with storybook.
Problem
In order to support custom extensions, one must "hack" into typescript to allow for other extensions and append .ts to the filename, so it works with typedoc.
Here are my projects:
- https://github.com/ember-integrations/ember-storybook/tree/184eb214d42e4305a34f87db9381761e82d04131/packages/typedoc-plugin-ember
- https://github.com/ember-integrations/ember-storybook/tree/184eb214d42e4305a34f87db9381761e82d04131/packages/ember-docgen
Running an own typescript instance is quite error prone.
Suggested Solution
I'd prefer an option to typedoc to allow for more extensions, too. As plugins can provide parser to it, in the same breath they should be able to add the supported extension, too. So end users only need to add the plugin and are covered.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing how TypeDoc discovers and parses TypeScript files, then inspect the plugin parser extension point described in the issue. Determine how a plugin could register extensions such as .gts, .svelte, and .vue without running a separate TypeScript instance. Done means a plugin can declare its supported extensions and TypeDoc processes those files through its parser.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- documentation, tooling
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100