|
| 1 | +--- |
| 2 | +layout: post |
| 3 | +title: "Shipping Temporal" |
| 4 | +date: 2025-04-18 12:00:00 -0600 |
| 5 | +author: Daniel Minor |
| 6 | +--- |
| 7 | + |
| 8 | +The [Temporal proposal](https://github.com/tc39/proposal-temporal) provides a |
| 9 | +replacement for `Date`, a long standing pain-point in the JavaScript language. |
| 10 | +This [blog post](https://maggiepint.com/2017/04/09/fixing-javascript-date-getting-started/) |
| 11 | +describes some of the history and motivation behind the proposal. The |
| 12 | +Temporal API itself is well docmented on |
| 13 | +[MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Temporal). |
| 14 | + |
| 15 | +Temporal reached Stage 3 of the [TC39 process](https://tc39.es/process-document/) in March 2021. |
| 16 | +Reaching Stage 3 means that the specification is considered complete, and that the proposal is |
| 17 | +ready for implementation. |
| 18 | + |
| 19 | +SpiderMonkey began our implementation that same month, with the initial work |
| 20 | +tracked in [Bug 1519167](https://bugzilla.mozilla.org/show_bug.cgi?id=1519167). |
| 21 | +Incredibly, our implementation was not developed by Mozilla employees, but was contributed |
| 22 | +entirely by a single volunteer, André Bargull. That initial bug consisted of 99 patches, but |
| 23 | +the work did not stop there, as the specification continued to evolve as problems were found |
| 24 | +during implementation. Beyond contributing to SpiderMonkey, André filed close to |
| 25 | +[200 issues](https://github.com/tc39/proposal-temporal/issues?q=is%3Aissue%20state%3Aclosed%20author%3Aanba) |
| 26 | +against the specification. [Bug 1840374](https://bugzilla.mozilla.org/show_bug.cgi?id=1840374) |
| 27 | +is just one example of the massive amount of work required to keep up to date with the |
| 28 | +specification. |
| 29 | + |
| 30 | +As of Firefox 139, we've enabled our Temporal implementation by default, making |
| 31 | +us the first browser to ship it. Sometimes it can seem like the ideas |
| 32 | +of open source, community, and volunteer contributors are a thing of the past, |
| 33 | +but the example of Temporal shows that volunteers can still have a meaningful impact |
| 34 | +both on Firefox and on the JavaScript language as a whole. |
| 35 | + |
| 36 | +## Interested in contributing? |
| 37 | + |
| 38 | +Not every proposal is as large as Temporal, and we welcome contributions of |
| 39 | +all shapes and sizes. If you're interested in contributing to SpiderMonkey, |
| 40 | +please have a look at our |
| 41 | +[mentored bugs](https://bugzilla.mozilla.org/buglist.cgi?query_format=advanced&emailbug_mentor2=1&emailtype2=regexp&resolution=---&email2=.*&component=JavaScript%20Engine&component=JavaScript%20Engine%3A%20JIT&component=JavaScript%3A%20GC&component=JavaScript%3A%20Internationalization%20API&component=JavaScript%3A%20Standard%20Library&list_id=17451567&classification=Client%20Software&classification=Developer%20Infrastructure&classification=Components&classification=Server%20Software&classification=Other&product=Core). |
| 42 | +You don't have to be an expert :). If your interests are more on the specification side, |
| 43 | +you can also check out how to |
| 44 | +[contribute to TC39](https://github.com/tc39/ecma262/blob/HEAD/CONTRIBUTING.md). |
| 45 | + |
0 commit comments