Releases: mck89/peast
Releases · mck89/peast
1.9.2
1.9.1
1.9
1.8.1
1.8
1.7
1.6
- Fixed a lot of bugs and now Peast is compatible with all the ECMAScript official tests for the implemented features. You can test Peast against ECMAScript tests using the peast-test262 repository.
- Added ES2018 parser
1.5
1.4
- Since EcmaScript dropped support for ES(Number) in favour of ES(Year) versions:
ES6
namespace have been replaced byES2015
Peast::ES2015
method have been added to Peast main class,Peast::ES6
method still exists to preserve BC and callsPeast::ES2015
internallyES7
namespace have been replaced byES2016
Peast::ES2016
method have been added to Peast main class,Peast::ES7
method still exists to preserve BC and callsPeast::ES2016
internallyPeast::latest
method have been added to Peast main class to allow parsing with the latest EcmaScript version implemented
- Added ES2017 parser
1.3
- Refactored parser to make it more extensible
- More accurate parsing of identifiers
- Added parsing of HTML comments if source is not a module
- Added some validations:
- Disallowed legacy octal escape syntax (\07) in templates
- Disallowed legacy octal escape syntax (\07) in strings if strict mode
- Disallowed legacy octal syntax (077) for numbers if strict mode
- Disallowed
delete
followed by single identifiers in strict mode - Disallowed labelled function declarations in strict mode
- Allowed
if (...) function () {}
syntax if not in strict mode
- BC break: removed Function_ and Class_ interfaces and traits and replaced them with abstract classes
- BC break: if sourceEncoding is not specified, the parser won't try to autodetect it, but will assume UTF-8
- BC break: Literal is now an abstract class that is extended by the new classes for literals: StringLiteral, NumericLiteral, BooleanLiteral and NullLiteral