microsoft / microsoft/TypeScript

Enable Type Checking for Custom File Extensions

Open
#60,632 2 comments 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Awaiting More Feedback Suggestion
Dominant language
Go
Stars
111k
Forks
14.3k
Avg merge
2d 4h
Merged PRs (30d)
132

Description

🔍 Search Terms

"xsjs", "xsjslib", "hana", "file extensions"

✅ Viability Checklist
⭐ Suggestion

Enhance TypeScript's tsconfig.json to support type checking for files with unsupported extensions, such as "/*.xsjs" and "/*.xsjslib", when specified explicitly in the "include" config option

📃 Motivating Example

Support for SAP HANA server-side javascript and other javascript-based languages using custom file extensions

💻 Use Cases

We are using TypeScript to check our SAP HANA server-side javascript files (.xsjs) and library files(xsjslib).
To do so, we currently need to add at least two top-comments in each file:

///<reference path"./pathto/config.xsjs" />
//@ts-check

In the config.xsjs we store all other triple-slash directives (like lib=es2016) to configure the typescript project.

It is really great that there's a way to enable type-checking on non-standard file extensions (at least in VSCode), but it would be great if you'd be able to configure an entire project which includes non-standard file extensions.

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 with TypeScript's tsconfig.json include handling and the existing support for type-checking unsupported extensions in VSCode. Define done as allowing explicitly included .xsjs and .xsjslib files to be checked project-wide without per-file reference and @ts-check comments, while preserving existing JavaScript behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, typescript
Domain
compilers
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.