anko / eslisp

un-opinionated S-expression syntax and macro system for JavaScript
ISC License
528 stars 31 forks source link

Also validate newer estree nodes #57

Open anko opened 4 years ago

anko commented 4 years ago

@vuolen noticed that newer estree nodes like ClassDeclaration were erroring when macros output them. I fixed that in https://github.com/anko/eslisp/commit/a792d031ff59a16b7ed80aba59fc72e4fad7d58a (published in 0.8.1) the best I can right now… which was by ignoring errors with estree nodes newer than esvalid understands. This should hold up fine technically, but it does mean newer estree nodes won't be sanity-checked before being passed to escodegen for code generation.

At time of writing, esvalid and esutils only understand nodes for standards up to and not including ECMAScript 2015 (i.e. ES6). Patches presumably welcome upstream at https://github.com/estools/esvalid/issues/7 and https://github.com/estools/esutils/issues/20.