microsoft / TypeScript

TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
https://www.typescriptlang.org
Apache License 2.0
100.1k stars 12.37k forks source link

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

Open Jack-Works opened 4 years ago

Jack-Works commented 4 years ago

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:

lloydjatkinson commented 1 year ago

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

RyanCavanaugh commented 1 year ago

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

Axel-Jalonen commented 2 months ago

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