UNPKG

ts-add-module-exports

Version:

Adds `module.exports = exports['default'];` for `exports.default`, for CommonJS default export interoperability.

19 lines (18 loc) 1.06 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); var ast_types_1 = __importDefault(require("ast-types")); var recast_1 = require("recast"); var hasExports_1 = require("./hasExports"); var b = ast_types_1.default.builders; function addModuleExports(input) { var ast = recast_1.parse(input, { parser: require("recast/parsers/babel") }); var _a = hasExports_1.hasExports(ast), hasModuleExports = _a.hasModuleExports, hasExportsNamed = _a.hasExportsNamed, hasExportsDefault = _a.hasExportsDefault; if (!hasExportsNamed && !hasModuleExports && hasExportsDefault) { ast.program.body.push(b.expressionStatement(b.assignmentExpression("=", b.memberExpression(b.identifier("module"), b.identifier("exports")), b.memberExpression(b.identifier("exports"), b.stringLiteral("default"), true)))); } return recast_1.print(ast).code; } exports.addModuleExports = addModuleExports;