facebook / jsx

The JSX specification is a XML-like syntax extension to ECMAScript.
http://facebook.github.io/jsx/
1.95k stars 133 forks source link

Migrate to ecmarkup #135

Closed Huxpro closed 2 years ago

Huxpro commented 2 years ago

Summary

This is the first step to revamp this repo: ecmarkup is TC39's official tool for specifying syntax and semantics for ECMAScript. I proposed that we should adopt it because it has several favorabilities than the current approach (README.md + a gh-pages website living in the websitescript branch):

  1. The resultant index.html has a similar looks and feels with the official ECMA-262 spec.
  2. It uses Grammarkdown which is not only convenient to write but more importantly, can enforce the grammar to be more formal.
  3. It provides links to ECMA-262 out of the box (close #112). Furthurmore, I can use <ins> to make "extension" points explicit.
  4. It can became the single source of truth and prevent from syncing issue between the README and website (close #128)

One possible concern is that it makes this spec a bit like a ECMAScript proposal, but I think we mediate it by opting-out from the "stage-N proposal" heading, and by explicitly calling out our intention in the "Introduction" section.

In addition,

Once this is merged, we can switch to main to host Github Pages.

Test Plan

open index.html

Huxpro commented 2 years ago

Hey @Jack-Works this has been merged. Would you be interested in submitting a PR for the Early Errors? You may use the "Editorial" tag for that.