Skip to content
This repository has been archived by the owner on Feb 13, 2024. It is now read-only.

refactor: Convert RESM to NESM #26

Merged
merged 5 commits into from
Aug 19, 2021
Merged

refactor: Convert RESM to NESM #26

merged 5 commits into from
Aug 19, 2021

Conversation

kriskowal
Copy link
Member

@kriskowal kriskowal commented Aug 14, 2021

This change is predicated on Agoric/agoric-sdk#3686 and will break any deployment of agoric-cli until it update to a release with the fix.

This change is submited for review of the nesm branch and not recommended to land until telemetry (what telemetry!?) indicates clients have generally upgraded.

Until then, it will be possible to create new dapps with Node.js ESM with the command agoric init --dapp-branch nesm.

Copy link
Contributor

@katelynsills katelynsills left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These changes all look great. I'll leave it to your judgment as to when to merge this in so that it's minimally disruptive.

Given that the agoric-sdk branch mentioned in the PR body got merged, what are the dangers still outstanding?

@kriskowal
Copy link
Member Author

@katelynsills I wrote up a problem description here Agoric/agoric-sdk#3705

The danger of merging this into HEAD is that existing installations of agoric-cli use git clone dapp-fungible-faucet to scaffold, and the same agoric-cli will not be able to run the new NESM deploy script. The issue disappears when all developers update agoric-cli. This will happen for every breaking change.

We can set ourselves up for graceful migration in the future by encoding a tag or branch name in the DEFAULT_TEMPLATE_BRANCH constant in agoric-cli. Then, we would be able to land to HEAD of dapp-fungible-faucet without breaking anything.

We can avoid breaking existing installations by changing the default branch name.

And, we don’t have to do both measures. One solves forward compatibility, the other backward compatibility. I’m sure we could hold advise all developers to upgrade, wait some reasonable amount of time, then land this change, avoiding most of the turmoil for our devs.

@katelynsills
Copy link
Contributor

@katelynsills I wrote up a problem description here Agoric/agoric-sdk#3705

Excellent, thanks. Will take a look

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants