Skip to content

Commit 90f0749

Browse files
committed
fix: only skip cjs wrap if amd define is in use
1 parent 0b0e77b commit 90f0749

2 files changed

Lines changed: 11 additions & 1 deletion

File tree

spec/transformers/cjs-es.spec.js

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,16 @@ test('cjsEs transform ignores amd code case 2', t => {
1616
t.end();
1717
});
1818

19+
20+
test('cjsEs transform does not ignore amd code with requirejs usage', t => {
21+
const source = "module.exports = requirejs(['foo']);";
22+
t.deepEqual(cjsEs(source), {
23+
headLines: 1,
24+
contents: 'define(function (require, exports, module) {\nmodule.exports = requirejs([\'foo\']);\n});\n'
25+
});
26+
t.end();
27+
});
28+
1929
test('cjsEs transform wraps cjs code', t => {
2030
const source = 'exports.name = "foo";';
2131
const expected = 'define(function (require, exports, module) {\nexports.name = "foo";\n});\n';

src/transformers/cjs-es.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ export default function(contents, forceWrap) {
2525
let cjsUsage = usesCommonJs(ast, globalIds);
2626
let amdUsage = usesAmdOrRequireJs(ast, globalIds);
2727

28-
if (!forceWrap && (amdUsage || !cjsUsage)) {
28+
if (!forceWrap && ((amdUsage && amdUsage.define) || !cjsUsage)) {
2929
// skip wrapping
3030
return { contents: contents };
3131
}

0 commit comments

Comments
 (0)