-
Notifications
You must be signed in to change notification settings - Fork 214
Don't Break My DevEx
As explained in Agoric JavaScript Programming:
Agoric's platform lets you write secure smart contracts in JavaScript. The platform itself is mainly written in JavaScript.
If you're making a change that refines the platform, you put the developer experience at-risk in a way that we don't yet know how to check in ci. So please check these things by hand:
In so-called "swingset tests" that run contract code in a compartment, make sure stack traces (with file and line numbers!) still work. For example, break something in packages/zoe/test/swingsetTests
and see if you get a good diagnostic. TODO: something more specific?
Also check for censored vs. uncensored error messages. (how, specifically?)
If breakpoints and debugger;
statements don't work in vs-code, it's a drag.
Evaluating expressions and assigning values in the REPL is pretty important.
Most JavaScript in the wild gets along fine with SES. But when, for example, React tries to do some platform refinement of its own after lockdown()
, life gets complicated. See also lockdown
Options
See also: devex issues
This wiki is for developing agoric-sdk. For help using Agoric SDK, see https://docs.agoric.com/ and https://agoric-sdk.pages.dev/