TypeStrong / TypeStrong/typedoc

Support more file extensions (.gts,.svelte,.vue,etc)

Open
#3,134 1 comment 0 reactions 0 assignees View on GitHub

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:

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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.