cjs-hoist
Transform CommonJS module, hoisting require
and exports
statements to top-level.
Usage
const parse = ;const transform = ;const code = ;/* code -> `const _require_bar_ = require("bar");if (foo) { const bar = _require_bar_;}`
API reference
This module exports following members.
transform
: A function which can convert CJS module synax into ES module syntax.
transform(options?: object): TransformResult object
options
has following members:
parse
: function. A parser function which can parse JavaScript code into ESTree.code
: string. The JavaScript source code.sourceMap?
: boolean. If true then generate the source map. Default:false
ignoreDynamicRequire?
: boolean. If true then the dynamic require (i.e.Promise.resolve(require("..."))
) is ignored. Default:true
The result object has following members:
code
: string. The result JavaScript code.map?
: object. The source map object generated bymagicString.generateMap
.isTouched
: boolean. If false then the code isn't changed.
Changelog
-
0.1.3 (Apr 26, 2018)
- Dependency change: drop estraverse, ecma-variable-scope; add estree-walker, rollup-pluginutils, is-reference.
-
0.1.2 (Apr 26, 2018)
- Fix: require-in-module.
-
0.1.1 (Apr 26, 2018)
- Add:
isTouched
prop.
- Add:
-
0.1.0 (Apr 26, 2018)
- Initial release.