ballercat / walt

:zap: Walt is a JavaScript-like syntax for WebAssembly text format :zap:

Home Page:https://ballercat.github.io/walt/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

CLI 'wrap' command needs to build smaller files.

ballercat opened this issue · comments

Problem

walt-cli package when linking multiple .walt files together can "wrap" the modules in a stand-alone JS module. The resulting module is too large because it serialized the dependency tree with the AST information encoded directly into the output, resulting in a massive amount of js.

Encoding the dependencies into the file is done to ensure the module can be used stand-alone in browser or node. Only the opcodes objects should be necessary for each module.

Goal

Patch the cli wrap function to result in a stripped down version of the modules (without AST information) which can still build but only include the bare minimum buffers in the resulting JS module.

Notes

Assuming we strip off AST info from final JS file, how should we test to ensure there is no breakage of any sort. Some suggestions would help for a new person looking into it.