Hi all,
I've just tagged Tern version 0.14. This release includes the new
ECMAScript 6 support. You'll get basic ES6 understanding by default,
and you can enable the es_modules plugin to also get import/export
based module support.
The full release notes say:
* Support for ECMAScript 6 constructs and standard library
- Block scopes and let/const bindings
- Destructuring and default values
- Tuples/heterogenously typed arrays
- Rest arguments
- Generators
- Symbols and symbol properties
- For/of iteration
- Classes and super calls
- Extended object literal notation
- Arrow functions
- Template strings
- All methods and types added by the ES6 spec
- Improved existing support for Promises
* Overhauled module system for CommonJS modules, separated it from node plugin
* Add support for ES6 modules
* Plugins can now have dependencies. If your setup needs to explicitly
load them, adjust accordingly
* The node_exports query type was renamed to exports (and works on ES6 modules)
* The registerPlugin interface was changed. The old style (returning
an object) will be supported until 1.0
* Improved completion of module names in CommonJS and ES6 module context
* Phantom objects were added to support foo.bar.baz = 10 if foo.bar
doesn't have a type
* Fix broken handling of non-ASCII requests in the Emacs mode
There has been a lot of churn in this release, so if you are
maintaining a plugin, test whether it still works with the current
code. It should, if you stuck to the documented APIs and I didn't
accidentally break something, but it doesn't hurt to double check.
Here's the full list of patches:
https://github.com/marijnh/tern/compare/0.13.0...0.14.0
Extra thanks to all the people who backed the crowd-funding for the ES 6 work.
If you like what I'm doing with Tern, and want me to help me maintain
and grow it, consider setting up a monthly donation at
https://marijnhaverbeke.nl/fund/
Best,
Marijn