Records are types.
Customer and SalesOrder are compile-time symbols from
your schema, not strings you hope are spelled right.
let customer = load Customer(123)
A language for NetSuite · compiles to SuiteScript 2.1
Mynt knows your records, checks your fields, and infers your modules before it emits a line of SuiteScript. One file is one script. Nothing to wire.
Every Mynt file compiles to plain, readable SuiteScript 2.1 that you can deploy as-is. The entry point decides the script type. The things you touch decide the modules. Nothing below is hand-written.
Customer and SalesOrder are compile-time symbols from
your schema, not strings you hope are spelled right.
let customer = load Customer(123)
Writing to a record that NetSuite has already saved is an error, not a silent no-op you find in production three weeks later.
afterSubmit (customer: Customer) {
customer.comments = "Too late"
}
Use log, get N/log. Use load, get
N/record. The define block is written from what you
actually called, never from a scan of your text.
log.audit("Customer saved")
let order = load SalesOrder(42)
for row in query Customer { }
The compiler follows every path through your script. A change that can reach the
end without a save gets a warning, at the line that made it.
customer.comments = "Changed"
if customer.email === "" {
save customer
}
Less ceremony. Clearer intent.
Mynt is a small language on purpose. Statements end at newlines. Conditions are
Bool or they are errors. Records you load are yours to save; records
NetSuite hands you are not. The rules are few, and the compiler enforces all of them.
mynt check
Diagnostics with code frames. Exit non-zero on errors, so it slots into CI.
mynt build
Writes the .js next to your .mn. Deploy it like any SuiteScript file.
mynt schema pull
Snapshots your account's records and fields into the repo. The compiler never touches the network.
language server
Hover, completion, references, and rename for records, fields, and locals.
Mynt today covers user event and scheduled scripts: records, fields, sublists,
queries, functions, and the persistence rules around them. The built-in schema
knows a handful of standard records; mynt schema pull teaches it
yours. Everything on this page compiles with the published package.