static-module icon indicating copy to clipboard operation
static-module copied to clipboard

feature: add an API that works on ASTs instead of pre-evaluated values

Open goto-bus-stop opened this issue 4 years ago • 0 comments

static-eval doesn't support function expressions like the body option in:

cwise({
  body: () => {}
})

I think because of this patch https://github.com/substack/static-eval/pull/18

static-module has a special case for function arguments as callbacks:

readFile('xyz', function () {})

A possible solution may be to have a static-module option or a method like staticModule.ast that passes the parsed AST nodes to functions, instead of statically evaluated values. Projects like cwise could then use static-eval to selectively evaluate strings and other primitive types, and stringify the AST for function arguments using escodegen.

Originally posted by @goto-bus-stop in https://github.com/browserify/static-module/issues/48#issuecomment-443202592

goto-bus-stop avatar Jun 15 '20 10:06 goto-bus-stop