Releases: dy/subscript
Releases · dy/subscript
v10.1.0
- regex format changed for better JSON serialization
/abc/gi: [, new RegExp('abc', 'gi')]→['//', 'abc', 'gi']` undefinedJSON serializes better:[, undefined]→[]compile()accepts[null, value]as valid elision form[, value]
Full Changelog: v10.0.0...v10.1.0
v10.0.0
- Template tag syntax:
subscript\a + b`(ctx)` with interpolation support - Jessie preset: metacircular JS subset (parses itself)
- ASI (automatic semicolon insertion) support
- async/await, import/export, try/catch/finally
- Control flow: if/else, for, while, do-while, switch
- Classes, destructuring, rest/spread
- Units:
12px,3em, regex literals bundleutility for self-contained builds- Statements / keywords registration API
Full Changelog: v9.0.0...v10.0.0
v9.0.0
- Added
stringifyfunction for codegeneration - Fixed precedences/binary edge-cases
group,accessoperators maintain pair look in tree[],{},()- justin has
...,??,?.,?.[,??=,>>=,||=,&&=operators - misc minor fixes
Full Changelog: v8.0.0...v9.0.0
v8.0.0
What's Changed
- Pluggable language features
- Standardized common syntax
- Added assignment operators
+= -= *= /= %= - Flatten code - no
set, no wrappers - Generic access node handling
- Simplified primitives wrapping
[,true]vs['',true] a?.valueOf?.()context calls support- Misc. fixes
Full Changelog: v7.4.0...v8.0.0
7.4
- Fixed nary
- More complete tests
- Added
skipargument to nary - Better error display
- Type definitions
- Rassoc precedence is half, not full
Full Changelog: v7.4.4...v7.4.5
7.1
7.0
- Reintroduces AST/calltree as intermediary layer for better optimizations, extensibility and interop.
- Better registering fn.
- +10% parsing performance (170ms → 150ms)
- +20% eval performance (17ms → 13ms)
- +30% size (1kb → 1.3kb)
Full Changelog: v6.4.0...v7.0.0
6.1
- Collect & expose found arguments
- Better error messages
- Removed tagged literal
Full Changelog: v6.0.0...v6.1.0
6.0
What's Changed
- Direct evals as result of parsing.
- No lisp tree layer.
- Tokens and comments are parsed from lookup table.
- Single
setmethod for defining operators or parsers. - Postfix unaries are now custom parsers.
- Removed
code,charfunctions. - No fancy literal wrappers or string prefixes.
- Size -20% (2.5 → 2kb)
- Parsing perf +20% (200 → 160ms)
- Eval perf +50% (30 → 15ms)
Full Changelog: v5.5.2...v6.0.0
5.5
What's Changed
- ×3 faster eval due to flat reducer & fn type detection
evaluate.operatoris a function on par withparse.operator- split core and
subscriptandjustinconfigurators - string, literal tokens are unary operators
- literals handling
- word operators are externalized
- more tests
- strings are prefixed with
@only, no""tokens
Full Changelog: v5.0.0...v5.5.2