New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add compat-table/babel/core-js release steps to RELEASE-STEPS.md. #1164
Closed
Closed
Changes from 2 commits
Commits
Show all changes
5 commits
Select commit
Hold shift + click to select a range
File filter
Filter by extension
Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -15,7 +15,7 @@ that's there). | |
Now might be a good time to run "./gradlew publishToMavenLocal" and use the | ||
published JARs as a sanity check. | ||
|
||
## Update Compatibility Table | ||
## Update Native Compatibility Table | ||
|
||
The offial Kangax "compat table" now supports Rhino, but it's convenient | ||
to have our own that shows progress across all releases. Here's how to | ||
|
@@ -33,8 +33,8 @@ Then, update the table: | |
The resulting "index.html" can be copied into "docs/compat/engines.html" in | ||
this repo. | ||
|
||
## Push the Release to GitHub | ||
|
||
## Push the Release to GitHub | ||
At this point, the current contents of your directory correspond to the | ||
new release. Prepare a pull request containing the changes, submit it, | ||
and merge it -- the result will be that the head of the "master" branch | ||
|
@@ -69,6 +69,87 @@ The Homebrew team for Mac does not necessarily pick up Rhino releases | |
automatically. It may be necessary to submit a PR to the "homebrew/homebrew" | ||
repo in GitHub for a change to the file "Library/Formula/rhino.rb". | ||
|
||
## Update Kangax Compatibility Table | ||
|
||
Check out `kangax/compat-table` and prepare a pull request to describe | ||
support in the new version of Rhino. First, add a new environment for the | ||
version to `environments.json` like so: | ||
|
||
```json | ||
"rhino1_7_14": { | ||
"full": "Rhino 1.7.14", | ||
"short": "Rhino 1.7.14", | ||
"family": "Rhino", | ||
"platformtype": "engine", | ||
"release": "2022-01-06", | ||
"obsolete": true | ||
}, | ||
``` | ||
|
||
Copy the most recent rhino JAR into the directory as `rhino.jar`. Next, run | ||
`rhino.js`. This will produce a number of messages indicating that failing | ||
tests now pass, or that new tests now have recorded results: | ||
|
||
**** data-es2016plus **** | ||
|
||
data-es2016plus -> Error.cause property -> AggregateError.prototype lacks cause: test result out of date, res: true, actual: false | ||
|
||
Manually update each indicated `data-*.js` file with updated test data as | ||
indicated. For example, a test that failed in 1.7.13 and passed in 1.7.14 | ||
would have a `res` section with the following diff: | ||
|
||
```javascript | ||
res: { | ||
babel6corejs2: false, | ||
babel7corejs3: babel.corejs, | ||
/* ... */ | ||
rhino1_7_13: false, | ||
+ rhino1_7_14: true, | ||
} | ||
``` | ||
|
||
Rerun `rhino.js` and verify it produces no output. Then `npm run build` and | ||
submit your pull request. | ||
|
||
## Update Babel | ||
|
||
Once the `compat-table` changes are merged, check out `babel/babel` and prepare | ||
a pull request to enable support for `babel-preset-env` in the new release. | ||
|
||
* Update `COMPAT_TABLE_COMMIT` in `packages/babel-compat-data/scripts/download-compat-table.sh` | ||
to correspond to the merge commit in `compat-table`. | ||
* Run `npm run build`. | ||
|
||
Then submit the resulting patch as a pull request to Babel. | ||
|
||
## Update core-js-compat | ||
|
||
Compatibility data for `core-js`, the `babel` polyfill engine, also needs to | ||
be updated. | ||
|
||
* Check out `zloirock/core-js` and `npm install`. | ||
* Copy the most recent rhino JAR into the directory as `rhino.jar`. | ||
* Edit `tests/compat/tests.js` by replacing all instances of `GLOBAL` with | ||
p-bakker marked this conversation as resolved.
Show resolved
Hide resolved
|
||
`global`. | ||
* Edit `packages/core-js-compat/src/data.js` to be a CommonJS module rather | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. You can use |
||
than a JSM. (Or find a better way to do this and edit this file.) | ||
* Edit `tests/compat/node-runner.js` by replacing `console.log` with `print` | ||
p-bakker marked this conversation as resolved.
Show resolved
Hide resolved
|
||
and by adding the following snippet to the bottom: | ||
|
||
```javascript | ||
print("NOW SUPPORTED:"); | ||
var data = require("../../packages/core-js-compat/src/data").data; | ||
for (var key2 in data) { | ||
if (data[key2].rhino === undefined && result[key2] === true) { | ||
print(key2); | ||
} | ||
} | ||
``` | ||
|
||
* Run `java -jar rhino.jar -version 200 -require tests/compat/node-runner.js`. | ||
* Much like in `compat-table`, edit `data.mjs` to add a line `rhino: 1.7.[XX]` | ||
for any newly-passing test labeled as "NOW SUPPORTED." | ||
|
||
## Prepare for Next Release | ||
|
||
Now it's time to move to the next "SNAPSHOT" release. Update gradle.properties, | ||
|
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some tests might need to be updated. I suggest replacing
npm run build
withmake bootstrap
, and then add anOVERWRITE=true yarn jest
step to update the fixtures if necessary.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great, thanks - something is wrong here which I figure is better to discuss in the babel PR.