Package Exports
- es-iife
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (es-iife) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
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.
There are more samples under test/cases
folder.
Usage
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
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.
Returns:
code
- the code after transformed.map
- The source map object generated bymagicString.generateMap
. Ifsourcemap
is false then the map is null.
Changelog
0.2.2 (Feb 18, 2021)
- Add:
strict
option.
- Add:
0.2.1 (Oct 29, 2020)
- Fix: object shorthand issue.
- Bump dependencies. Fix for-loop issue.
0.2.0 (Aug 14, 2019)
- Change: define default export with
var
.
- Change: define default export with
0.1.1 (Aug 28, 2018)
- Fix: export from statements.
0.1.0 (Aug 28, 2018)
- Initial release.