Volt.Builder.Externals (Volt v0.8.4)

Copy Markdown View Source

Rewrite external imports into global variable access for production builds.

Summary

Functions

Scan compiled JS files for imports from external specifiers.

Generate a JS preamble that destructures external globals.

Rewrite external import declarations into direct global access.

Functions

collect_imports(js_files, external_set)

Scan compiled JS files for imports from external specifiers.

Returns a map of specifier => [imported_names] where each name is {:named, name}, {:default, name}, or {:namespace, name}.

generate_preamble(external_imports, external_globals)

Generate a JS preamble that destructures external globals.

%{"vue" => [named: "ref", named: "h"], "reka-ui" => [default: "RekaButton"]}

With globals %{"vue" => "Vue", "reka-ui" => "RekaUi"} produces:

const { ref, h } = Vue;
const RekaButton = RekaUi.default;

rewrite_imports(js_files, external_set, external_globals)

Rewrite external import declarations into direct global access.