Skip to content
This repository was archived by the owner on Aug 4, 2021. It is now read-only.

Commit 2bc1aa3

Browse files
committed
Support static template literals
Closes #265.
1 parent e800b4c commit 2bc1aa3

File tree

5 files changed

+30
-2
lines changed

5 files changed

+30
-2
lines changed

src/transform.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -91,14 +91,14 @@ export function transformCommonjs ( code, id, isEntry, ignoreGlobal, ignoreRequi
9191
if ( !node ) return;
9292
if ( node.type !== 'CallExpression' ) return;
9393
if ( node.callee.name !== 'require' || scope.contains( 'require' ) ) return;
94-
if ( node.arguments.length !== 1 || node.arguments[0].type !== 'Literal' ) return; // TODO handle these weird cases?
94+
if ( node.arguments.length !== 1 || (node.arguments[0].type !== 'Literal' && (node.arguments[0].type !== 'TemplateLiteral' || node.arguments[0].expressions.length > 0) ) ) return; // TODO handle these weird cases?
9595
if ( ignoreRequire( node.arguments[0].value ) ) return;
9696

9797
return true;
9898
}
9999

100100
function getRequired ( node, name ) {
101-
const source = node.arguments[0].value;
101+
const source = node.arguments[0].type === 'Literal' ? node.arguments[0].value : node.arguments[0].quasis[0].value.cooked;
102102

103103
const existing = required[ source ];
104104
if ( existing === undefined ) {
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
var foo = require(`tape`);
2+
console.log(foo);
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
import 'tape';
2+
import foo from 'commonjs-proxy:tape';
3+
4+
console.log(foo);
5+
6+
var input = {
7+
8+
};
9+
10+
export default input;
11+
export { input as __moduleExports };
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
var pe = 'pe';
2+
var foo = require(`ta${pe}`);
3+
console.log(foo);
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
import * as commonjsHelpers from 'commonjsHelpers';
2+
3+
var pe = 'pe';
4+
var foo = commonjsHelpers.commonjsRequire(`ta${pe}`);
5+
console.log(foo);
6+
7+
var input = {
8+
9+
};
10+
11+
export default input;
12+
export { input as __moduleExports };

0 commit comments

Comments
 (0)