Static transformation · execution quarantined
Read the program without running it.
Unknown JavaScript should not need permission to execute merely to become readable. DevSexy sends source through a parser, AST, and printer or minifier—never through an evaluator.
Source text
Babel parser
Abstract syntax tree
Printer or Terser
No eval, import, Function constructor, DOM injection, or runtime side effects.
Syntax passport
Choose a parser that recognizes the document.
The Babel path covers modern JavaScript. Babel-Flow adds Flow annotations; selecting it does not type-check the program.
export { load } from './api.js'Babel · Flowconst value = await load()Babel · Flowprofile?.team?.nameBabel · Flowclass Store { ready = false }Babel · Flow`/users/$` · /a+b/giBabel · Flowfunction f(value: string): numberFlow parserTwo exits from one parse
Readable source and delivery source solve different jobs.
Format
Reviewexport async function load(id) {
const response = await fetch(`/items/${id}`);
return response.json();
}- Names remain descriptive
- Comments and structure stay reviewable
- Whitespace is intentionally added
Minify
Shipexport async function load(t){const n=await fetch(`/items/${t}`);return n.json()}- Local names may be mangled
- Most comments are removed
- No source map is claimed or emitted
Minifier risk ledger
Compression has assumptions worth reviewing.
Parser incident report
A malformed token gets evidence, not execution.
const user = { name: 'Ada' };
if (user?.name {
console.log(user.name);
}The condition opened with ( but reached { before ). Close the condition first; later locations may only be cascade errors.