HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
tc39
proposals
Web Development2016–2025
tc39 / proposals

proposals

Tracking ECMAScript Proposals

39Distinct people
46Mentions
1Explicit recommenders
19.2KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Tracking ECMAScript Proposals

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

Don't they still have to wait for the spec to finalize / hit stage 3? Don't get me wrong, I'm super excited for this functionality because I love it in languages like F# and…

dvlsg used a recommendation phrase. One indexed comment matches. This is a phrase match, not a verdict.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 3:56:07 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year46 dated mentions

Observed mentions: 2016-05-16 09:42:28 UTC to 2025-08-03 23:04:30 UTC.

0369122016-01-01 00:00:00 UTC to 2017-01-01 00:00:00 UTC (exclusive): 7 mentions; 2 submissions, 5 comments20162017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 12 mentions; 0 submissions, 12 comments2018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 10 mentions; 3 submissions, 7 comments2019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 4 mentions; 0 submissions, 4 comments2020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments20202021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 4 mentions; 1 submissions, 3 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2025

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20162016-01-01 00:00:00 UTC2017-01-01 00:00:00 UTC725
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC12012
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC1037
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC404
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC202
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC303
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC413
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC101
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC101
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC202

From the project README

An excerpt from the repository, fetched Nov 13, 2026.

Read the project’s introduction
ECMAScript proposals Stage 1 Proposals Stage 0 Proposals Finished Proposals Inactive Proposals ECMAScript Internationalization API Specification proposals Contributing to proposals Active proposals Proposals follow this process document. This list contains only stage 2 proposals and higher that have not yet been withdrawn/rejected, or become finished. Stage 2 indicates that the committee expects these features to be developed and eventually included in the standard. Stage 3 Proposal Author Champion Test262 Feature Flag Meeting Notes Legacy RegExp features in JavaScript Claude Pache Mark Miller Claude Pache legacy-regexp  -2026‑01  -2024‑06  -2023‑07  -2017‑05  -2017‑05  -2017‑03  -2016‑09 Source Phase Imports Luca Casonato Guy Bedford Luca Casonato source-phase-imports  -2026‑05  -2026‑01  -2024‑10  -2024‑07  -2024‑06  -2023‑07  -2023‑05  -2023‑05  -2023‑03 Dynamic Code Brand Checks Nicolo Ribaudo Krzysztof Kotowicz Mike Samuel Nicolo Ribaudo No test262 tests  -2026‑05  -2026‑01  -2024‑06  -2024‑04  -2021‑01  -2019‑12  -2019‑07 Deferring Module Evaluation Yulia Startsev Guy Bedford Nicolò Ribaudo import-defer testing plan  -2026‑07  -2026‑03  -2025‑02  -2024‑12  -2024‑12  -2024‑10  -2024‑06  -2024‑04  -2023‑07  -2022‑11  -2021‑01 Non-extensible Applies to Private Mark Miller Shu-yu Guo Chip Morningstar Erik Marks Mark Miller Shu-yu Guo Chip Morningstar Erik Marks nonextensible-applies-to-private  -2025‑09  -2025‑07  -2025‑04 Import Text Eemeli Aro Eemeli Aro import-text  -2026‑03  -2025‑11 Error Stack Accessor Jordan Harband Jordan Harband Mark Miller tests PR  -2026‑05  -2026‑03  -2025‑11  -2025‑02 RegExp Buffer Boundaries (\A, \z, \Z) Ron Buckton Ron Buckton tests PR  -2026‑05  -2026‑03  -2026‑01  -2023‑07  -2021‑12  -2021‑10 Await Dictionary Alexander J. Vincent Ashley Claymore Jordan Harband Chris de Almeida await-dictionary tests 1 2  -2026‑07  -2025‑11  -2025‑09  -2023‑03 Curtailing the power of "Thenables" Matthew Gaudet Matthew Gaudet ❓  -2026‑09  -2026‑09  -2026‑07  -2026‑07  -2026‑05  -2026‑03  -2025‑07  -2025‑02 Stage 2.7 Proposal Author Champion Test262 Feature Flag Meeting Notes Decorators Daniel Ehrenberg Kristen Hewell Garrett Kristen Hewell Garrett decorators testing plan  -2026‑05  -2025‑11  -2025‑02  -2024‑06  -2023‑11  -2023‑05  -2023‑03  -2023‑01  -2023‑01  -2022‑06  -2022‑03  -2022‑03  -2022‑03  -2021‑12  -2021‑07  -2020‑09  -2020‑07  -2020‑06  -2020‑03  -2019‑03  -2019‑01  -2018‑11  -2018‑09  -2018‑07  -2018‑05  -2018‑03  -2018‑01  -2018‑01  -2017‑09  -2017‑09  -2017‑07  -2016‑09  -2016‑07  -2016‑05  -2016‑01  -2015‑09  -2015‑05  -2015‑03  -2015‑01  -2014‑04 Decorator Metadata Kristen Hewell Garrett Kristen Hewell Garrett decorator-metadata  -2026‑05  -2024‑06  -2023‑05  -2023‑05  -2023‑03 ShadowRealm Caridy Patiño Jean-Francois Paradis Dave Herman Mark Miller Caridy Patiño Leo Balter Rick Waldron Chengzhong Wu ShadowRealm  -2025‑02  -2025‑02  -2024‑12  -2024‑06  -2024‑02  -2023‑11  -2023‑09  -2022‑11  -2022‑09  -2022‑06  -2022‑03  -2021‑12  -2021‑08  -2021‑07  -2021‑05  -2021‑04  -2021‑01  -2020‑11  -2020‑06  -2020‑02  -2018‑07  -2018‑05  -2017‑03  -2017‑01  -2015‑05  -2014‑06  -2014‑01 ESM Phase Imports Luca Casonato Guy Bedford Luca Casonato Guy Bedford ❓  -2026‑05  -2026‑03  -2024‑12  -2024‑12  -2024‑10  -2024‑06  -2024‑04  -2024‑02 Immutable ArrayBuffers Mark Miller Peter Hoddie Richard Gibson Jack Works Mark Miller Peter Hoddie Richard Gibson Jack Works ❓  -2025‑07  -2025‑05  -2025‑04  -2025‑02  -2024‑12  -2024‑10 Import Bytes Steven Salat Steven Salat Import Bytes  -2025‑09 JSON.parse options Robin Ricard Richard Button Nicolò Ribaudo Ashley Claymore Nicolò Ribaudo Ashley Claymore Peter Klecha ❓  -2026‑07  -2026‑03  -2023‑07  -2022‑07 export all from Guy Bedford Nicolò Ribaudo ❓ &nbsp-2026‑09  -2026‑05 Deferred Re-exports Nicolò Ribaudo Nicolò Ribaudo ❓  -2026‑09  -2026‑05  -2026‑01  -2025‑11  -2025‑09  -2025‑04  -2024‑04 Stage 2 Proposal Author Champion Stage 2.7 reviewers Meeting Notes function.sent metaproperty Allen Wirfs-Brock Daniel Ehrenberg Domenic Denicola  -2026-01  -2026‑01  -2024‑06  -2022‑06  -2019‑07  -2018‑03  -2015‑11  -2015‑11 throw expressions Ron Buckton Ron Buckton Nicolò Ribaudo  -2024‑06  -2024‑02  -2023‑09  -2023‑09  -2023‑07  -2018‑01  -2017‑11  -2017‑09  -2017‑07 Function implementation hiding Domenic Denicola Michael Ficarra Michael Ficarra Yehuda Katz Waldemar Horwat Mike Samuel  -2026‑01  -2024‑06  -2023‑07  -2020‑06  -2019‑12  -2019‑07  -2018‑05 collection normalization Bradley Farias Michael Ficarra Ashley Claymore Jordan Harband  -2026‑01  -2021‑03  -2019‑07  -2019‑01 Module Expressions Surma Daniel Ehrenberg Nicolò Ribaudo Surma Nicolò Ribaudo Leo Balter Guy Bedford Mathieu Hofman Jordan Harband  -2022‑11 Pipeline Operator J. S. Choi James DiGioia Ron Buckton Tab Atkins J. S. Choi Ron Buckton Tab Atkins Ross Kirsling Christian Ulbrich  -2026‑01  -2023‑07  -2022‑03  -2022‑01  -2021‑08  -2021‑03  -2018‑03  -2017‑11  -2017‑09 Destructure Private Fields Justin Ridgewell Kevin Gibbons Robin Ricard Waldemar Horwat Sarah Groff Hennigh-Palermo Jordan Harband Sergey Rubanov  -2026‑01  -2023‑07  -2021‑12 String.dedent Misha Kaletsky Hemanth HM Justin Ridgewell Hemanth HM Justin Ridgewell Robin Ricard Jordan Harband Mark Cohen Sarah Groff Hennigh-Palermo  -2026‑01  -2022‑11  -2022‑09  -2022‑06  -2020‑09 Module Declarations Daniel Ehrenberg Nicolò Ribaudo Mark Miller Nicolò Ribaudo Richard Gibson Guy Bedford  -2022‑11 Symbol Predicates Robin Ricard Jordan Harband Ashley Claymore Jordan Harband Daniel Minor Nicolò Ribaudo Mathieu Hofman  -2026‑01  -2023‑09  -2023‑05  -2023‑01  -2022‑07 Async Iterator helpers Gus Caplan Michael Ficarra Jonathan Keslin Kevin Gibbons Richard Gibson Yulia Startsev Jason Orendorff  -2026‑07  -2026‑07  -2025‑11  -2024‑06  -2023‑09  -2023‑05 Iterator.range Jack Works Jack Works Waldemar Horwat Jordan Harband  -2026‑01  -2024‑04
Read the full README on GitHub

What Hacker News says

46 sources
The short answer is no. Typescript is not worth it. The reason is because: - WebAssembley (which other, controversially better or at least more adopted languages also target) - Javascript's spec. is not time invariant (https://github.com/tc39/proposals#readme) - Typescript isn't the best solution (There are better less adopted solutions providing types, like Elm, Rescript, or Purescript) For Javascript, the real solution is hygienic macros and contracts, but because `eval()` can't get no love or safety on the browser side, everyone on the server-side has to suffer. Ironically, introducing a fake compilation step where Javascript transpiles to Javascript (not like babel.js which targets older JS, but literally just the same lang spec) is the way to side step the `eval()` problem, lol! (expanding those `eval()` in a fake compile step)
In Ask HN: Is TypeScript worth it?
The working group most in charge of JS is ECMA's TC-39 (TC => Technical Committee) [0]. They've been taking a very deliberate, slow path to expanding the "standard" library because they take a very serious view of backwards compatibility on the web. Some proposals were shifted because of conflicts with ancient versions of things like MooTools still out in the wild, for instance. (This was the so-called "Smooshgate" incident [1].) This may speed up a bit if the Built-In Modules proposal [2] passes, which would add a deliberate `import` URL for standard modules which would give a cleaner expansion point for new standard libraries over adding more global variables or further expanding the base prototypes (Object.prototype, Array.prototype, etc) in ways that increasingly likely have backwards compatibility issues. TC-39 works all of their pro
Read the rest
posals in the open on Github [3] and it can be a fascinating process to watch if you are interested in the language's future direction. [0] https://tc39.es/ [1] https://developers.google.com/web/updates/2018/03/smooshgate [2] https://github.com/tc39/proposal-built-in-modules [3] https://github.com/tc39/proposals
In Don't make me think, or why I switched to Rails from JavaScript SPAs
My biggest pointer would be to remember that Java & JavaScript aren't named that way by coincidence. They're two different approaches to a similar problem. Java suffers from Enterprise Development (eg: Enterprise FizzBuzz[0]), JavaScript suffers from Ultimate Accessibility (eg: how many questions on Stack Overflow conflated jQuery and JS?). > How should exceptions be managed? [...] Has there been a debate about best practice? Where can I find it? I suggest you handle the errors you can and otherwise let it crash.[1][2] Debates in NodeJS-land have steered towards more monadic/Result-like structures and working synchronous-looking try/catch onto async/await. NodeJS and its various components are open source, you'll have a lot of luck looking around on GH for issues & PRs related to a feature -- same for the language, ECMAScript[3] officiall
Read the rest
y.[4] Since you mentioned Clojure, have you looked at ClojureScript?[5] That may be a good entry to JS authors & articles you'd enjoy. > I have the impression that NodeJS is a bit more magical than the JVM [...] Is that correct? Where are good resources on this subject? As other replies have mentioned, you're really talking about V8[6] for the "JSVM" executing that code. A thing I've seen throw some people for a loop is how minimalist the specification actually is.[7] The magic in NodeJS is certainly from V8 and the rate of optimizations there but also libuv,[8] what actually powers the infamous event loop. Hope that helps! [0]: https://github.com/EnterpriseQualityCoding/FizzBuzzEnterpris... [1]: Borrowing from Erlang, see Making reliable distributed systems in the presence of software errors, Joe Armstrong, page 104 "Error Handling Philosophy" https://erlang.org/download/armstrong_thesis_2003.pdf [2]: _Most_ kinds of errors will cause the process to crash if you don't handle them, https://nodejs.org/dist/latest-v16.x/docs/api/errors.html . Promise rejections don't (yet) though it will log a warning, and callback-based APIs will always consist of an [error, data] tuple for the arguments [3]: https://github.com/tc39/proposals [4]: Because Oracle owns the trademark, of course: http://tarr.uspto.gov/servlet/tarr?regser=serial&entry=75026... [5]: https://clojurescript.org/ [6]: https://v8.dev/docs [7]: "ECMAScript as defined here is not intended to be computationally self-sufficient; indeed, there are no provisions in this specification for input of external data or output of computed results. Instead, it is expected that the computational environment of an ECMAScript program will provide not only the objects and other facilities described in this specification but also certain environment-specific objects, whose description and behaviour are beyond the scope of this specification except to indicate that they may provide certain properties that can be accessed and certain functions that can be called from an ECMAScript program." https://tc39.es/ecma262/#sec-overview [8]: https://github.com/libuv/libuv
In Ask HN: Where are the resources for complex architectures for Node.js?
Fair question, thanks for asking! There have been 9 revisions of ECMA-402 since 2012. We are, in fact, following TC-39 on a yearly cadence of releases. You can see the history of editions here: https://www.ecma-international.org/publications-and-standard... The first edition (finished in 2012), had just NumberFormat, Collator and basic DateTimeFormat. Since then, we added Locale, PluralRules, ListFormat, RelativeTimeFormat, DisplayNames, two new revisions of NumberFormat, two major additions to DateTimeFormat, and we're now adding Segmenter, LocaleInfo, CalendarInfo and working on MessageFormat 2.0. Here's a very incomplete list of finished proposals that have been merged into the standard and implemented in browsers - https://github.com/tc39/proposals/blob/master/ecma402/finish... I may or may not be involved in majority of them! :)
In Intl
Hi all! I've been working on ECMA-402 for the last 6 years on behalf of Mozilla. I'm excited to see it showcased on HN! We have an amazing, inclusive and open community of engineers, linguists and standardization exports from all of the World from largest corporations to smallest non profits and maintainers of open source little libraries. If you'd like to see what we're working on, see https://github.com/tc39/proposals/blob/master/ecma402/README... If you'd like to join us, please check out https://github.com/tc39/ecma402/blob/master/CONTRIBUTING.md Our biggest challenge now is to make sure that anyone can use ECMA-402 - either with a well supported JS engine (V8, SpiderMonkey, JSShell etc.) or via library. To achieve that we're working on Rust project called ICU4X which aims to be able to back ECMA-402 in web browsers, on servers, in cl
Read the rest
ient solutions and offer FFI to many programming languages including to JS over WASM. If you'd like to help us with that, there's tons of work and we're very eager to grow our community! Check out https://github.com/unicode-org/icu4x/blob/main/CONTRIBUTING.... and https://github.com/unicode-org/icu4x/tree/main/docs If you have any questions, AMA!
In Intl
Totally agree with you. I'll add to that a lack of native reactivity. The observable proposal has existed for years. It's still in stage 1 and was last presented in to the TC39 in 2017 [1]. There seems to be an almost total disconnect between the needs of web developers and what the TC39 is working on. Data binding and reactivity are two important points, but also the need of optional static types which should be obvious by looking at the meteoric success of TypeScript. This is nothing new, it has been discussed since ES4 times 10+ years ago. [1] https://github.com/tc39/proposals/blob/master/stage-1-propos...
In The Failed Promise of Web Components
According to the TC39 ECMA262’s repo [1] (ECMA262 is a committee responsible for planning and creating new syntax that goes into JavaScript) Observables haven’t been brought up at a meeting in over three years and they are still at stage one of the four stage process. I’m not saying there’s not hope I’m just wondering if it will end up happening. Either way I’m fine with or without Observables as async iterators, Node streams, and WHATWG streams are already pretty powerful. In fact the creator of RxJS made a library based off iterators called IxJS that looks interesting and hopefully eventually iterators in JS will have iterator helpers [2] where you can chain things off of them (currently stage two and last talked about last year). Also another thing to keep your eye on in the standards process could possibly be emitter [3] it’s also sta
Read the rest
ge 1 (like Observable) but was talked about last year as a kind of push based replacement for Subjects in RxJS/Observable land. [1]: https://github.com/tc39/proposals/blob/master/stage-1-propos... [2]: https://github.com/tc39/proposal-iterator-helpers [3]: https://github.com/tc39/notes/blob/master/meetings/2019-06/j...
In Show HN: Qew – a tiny queueing library written in TypeScript

Showing the 15 most recent of 46 sources. Enable JavaScript to search and browse every indexed mention.

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.