microsoft/TypeScript

Make tsc --init generate default target to ES6 or higher

Closed this issue ยท 4 comments

Search Terms

tsc --init default target ES5 ES6

Suggestion

When running tsc --init, let the tsconfig has es6 or higher target.

Use Cases

It's not common to have to use es5 nowadays

Examples

Checklist

My suggestion meets these guidelines:

  • This wouldn't be a breaking change in existing TypeScript/JavaScript code
  • This wouldn't change the runtime behavior of existing JavaScript code
  • This could be implemented without emitting different JS based on the types of the expressions
  • This isn't a runtime feature (e.g. library functionality, non-ECMAScript syntax with JavaScript output, etc.)
  • This feature would agree with the rest of TypeScript's Design Goals.

Any plans for the team to implement this change? It's absurd tsc -init defaults to "target": "es2016" and the rest still.

Can you clarify what's absurd? Just calling something names doesn't help us understand what's bad about it.

Can you clarify what's absurd? Just calling something names doesn't help us understand what's bad about it.

As an example: "Typescript includes the __awaiter helper because async/await is not a part of the ES6/ES2015 specification."

Async/await was first included in the ES2017 specification.

In 2024, and indeed 2023, we should not default to using helpers, or solutions like this, when native functionality is included with every modern browser. Using modern standards and not old fixes is good for readability, correctness, robustness of code, etc.

https://stackoverflow.com/a/47995659

This is shipped since I cannot recall when