lively.ast
Version:
Parsing JS code into ASTs and tools to query and transform these trees.
166 lines (117 loc) • 5.52 kB
Markdown
# changelog lively.ast
## 0.7.37
- acorn@4
## 0.7.36
- don't capture destructured vars in for loops, such as "for (let x [a,b] of ...) ..."
## 0.7.35
- properly transforming super access in static methods
## 0.7.34
- fixing acorn.walk usage
## 0.7.33
- dont use arguments access when initializing class
## 0.7.32
- more class transform fixes
## 0.7.31
- fixing lookup of existing classes to not overwrite globals accidentally
## 0.7.30
- alternative class-to-function-transform that supports super getters and setters and doesn't require injecting the class object into methods
## 0.7.29
- transforming es6 classes so that declaring class gets passed into function when super call is needed (+ making sure that magic "arguments" array is properly fixed in those cases)
## 0.7.27
- objectSpreadTransform
- fixing class tests
- scope query: ensure resolveMap
- acorn-object-spread
- estree: obj spread support
- es6 classes: assign name to methods
## 0.7.26
- scope resolve references fix for export stmt with source
- safeResolveReferences -> resolveReferences
- query: finding decls for references without AST modifications
- class transform: optionally producing reference info that is passed into createOrExtendClass in order to track module context state via subscription to module changes
- query: safeResolveReferences
- node creation helpers: logical, ifStmt
- Merge pull request #6 from LivelyKernel/exports-not-resolved-by-default (only resolve exports when asked to)
## 0.7.24
- reverting to old knownGlobals for now as the removal of lively Globals causes trouble with the ObjectEditor
## 0.7.23
- build for fixing the freeze issues
- remove deepCopy because tree could have cycles
## 0.7.22
- Merge pull request #4 from LivelyKernel/capture-shorthand-object-properties
- ensure keys of shorthand properties are not renamed while capturing
- code-categorizer: initial implementation for categorizing es6 classes, proper differentiation between method/property types is still missing
- report both declarations and ids for bindings
- added imported name of re-exported variables to exports()
- exports now return local declaration and identifier node
- added imports/exports from lively.modules
- changed API to improve finding refs by position
- resolve references to their declarations
- fix cycle bug by not re-using AST nodes
- updating acorn to 3.2.0
## 0.7.21
- removing "module" as a global
- class transform: adds module accessor expression + only capture class in module varRecorder if class is a top-level declaration
- findReferencesAndDeclsInScope: find this
- findReferencesAndDeclsInScope: find classes
## 0.7.20
- manual imports and exports (for eval) capture correctly
## 0.7.18
- don't shadow lexical bindings in class methods
## 0.7.17
- automatically applying classToFunction transform on rewriteToCaptureTopLevelVariables
- making class-to-function-transform work for export default + adding var decls automatically for class declarations
- moving eval support over to lively.vm
## 0.7.16
- capturing class expressions in assignments
- objectliteral creation helpr
- class to function transform
- objectLiteral helper
## 0.7.13
- disabling keeping values of var declarations for now (don't merge arbitrary expressions...!)
- fix capturing export functions
- capturing: fix wrapping destrucured vars
- eval transform wrap in func: pass last var decl into function as result
- 0.7.12
- fix rewriting classes (in combination with declaration wrappers)
- moving declarationWrapper logic and options.keepPreviouslyDeclaredValues processing from lively.vm into eval-support.js
## 0.7.11
- fix for rewriteToRegisterModuleToCaptureSetters
- hoisting func decls and their catpures to the top of a scope
## 0.7.10
- ensure existing variables won't get undefined
## 0.7.8
- adding the ability to add an declarationWrapper to captured declarations, to inject a function call, e.g. for allowing lazy initialization. Works for classes, vars, and functions.
## 0.7.6
- replacing reduces with for loops for efficiency
- query/capturing: ignoring class expressions when gathering scope + rewriting, fixes LivelyKernel/lively.modules#8
- special transform for 'export default async function', fixes LivelyKernel/lively.modules#9
- correctly capturing export default function statements
## 0.7.4
fixing capturing issue: var x = {..}; export default x; (5 months ago) <Robert Krahn>
## 0.7.3
* adding ast.evalSupport.evalCodeTransform + ast.transform.transformSingleExpression from lively.vm
## 0.7.2
* made some performance improvements in query and capturing
## 0.7.1
* wrapInStartEndCall transformer, preparation for async eval
* improvement for returnLastStatement, now really using ast
* cleanup and *interface change*!!! of capturing.rewriteToCaptureTopLevelVariables It should now run more efficient...
* improving replacing nodes in capturing
* removing parseLikeOMeta
### 0.6.9
* fixing scope computation for default destrcutured params
* adding node creation helpers
## 0.6.8
* build with babel
* query.topLevelFuncDecls
* Parsing async / await code (including acorn walk AwaitExpression patch)
* visitors based on estree-visitor
* capturing exported vars – fixes
* fix printAst
* query.statementOf
## 0.6.7
* capture computed prop in object literal
* support capturing of object destrucuring var declarations a la var {x: [a,b,...c]} = foo
* fixes export default class and function capturing
* query.statementOf (3 minutes ago) <Robert Krahn>