Skip to content

Make JSDoc Parsing Configurable using the transpileModule methodΒ #56625

Closed
@mpodwysocki

Description

@mpodwysocki

πŸ” Search Terms

transpileModule jsDocParsingMode

βœ… Viability Checklist

⭐ Suggestion

In #55739 there was an addition to ts. createSourceFile which allowed to opt into parsing JSDocs, which until then had been opt-in by default. This API, however, was not added to the ts.transpileModule where the Azure SDK for JavaScript currently uses to create samples.

πŸ“ƒ Motivating Example

We currently use the TypeScript compiler to parse our TypeScript files to convert them to JavaScript such as the following:

  const output = ts.transpileModule(processedSrcText, {
    compilerOptions: {
      ...compilerOptions,
      ...extraCompilerOptions,
      removeComments: false,
    },
    ...transpileOptions,
  });

Upgrading to 5.3 from 5.2 caused us to lose our JSDoc comments as opting into JSDoc parsing is hard coded in this case to not include them. The ideal solution would be to do the following to add the jsDocParsingMode to the TranspileOptions such as the tollowing:

transpileOptions.jsDocParsingMode = ts.JSDocParsingMode.ParseAll;

πŸ’» Use Cases

  1. What do you want to use this for? This is used as part of our workflow convert our existing samples from TypeScript to JavaScript and retain all of our JSDocs from TypeScript to apply to JavaScript.
  2. What shortcomings exist with current approaches? With 5.3, we no longer have the ability to read these comments through the ts.transpileModule method as it is hard coded to ts.JSDocParsingMode.ParseNone
  3. What workarounds are you using in the meantime? None as we cannot upgrade to TypeScript 5.3 unless this option is introduced.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions