es-iife
=======
Transform ES module into a simple IIFE.
Features
--------
import
statements are resolved to global variables.
export
statements are exported as a global variable.
test/cases
folder.
Usage
-----
```js
const {parse} = require("acorn");
const {transform} = require("es-iife");
const code = `
import foo from "./foo.js";
const main = (value) => return foo(value);
export default main;
`;
const result = transform({
code,
parse,
name: "doFoo",
resolveGlobal: (name) => {
if (name === "./foo.js") {
return "FOO";
}
}
})
console.log(result.code);
/ ->
var doFoo = (function () {
const main = (value) => return FOO(value);
return main;
})();
/
```
API reference
-------------
This module exports following members.
transform
: A function which can convert ES module synax into an IIFE.
transform
```js transform({ code: String, parse?: Function, ast?: Object, sourcemap?: Boolean = false, strict?: Boolean = false, resolveGlobal?: (importPath: String) => globalVariableName: String, name?: String }) => {code: String, map?: SourceMap} ``` Arguments:code
- the JavaScript source code that would be transformed.
parse
- a parser function which can parse JavaScript code into ESTree.
ast
- AST object. If undefined then useparse(code)
.
sourcemap
- if true then generate the sourcemap.
strict
- adduse strict
directive.
resolveGlobal
- a function receiving an import path and return a global variable name.
name
- The variable name that exports will be assigned to.
code
- the code after transformed.
map
- The source map object generated bymagicString.generateMap
. Ifsourcemap
is false then the map is null.
- 0.2.2 (Feb 18, 2021)
strict
option.
- 0.2.1 (Oct 29, 2020)
- 0.2.0 (Aug 14, 2019)
var
.
- 0.1.1 (Aug 28, 2018)
- 0.1.0 (Aug 28, 2018)