Skip to content

Commit 70ae949

Browse files
Fix transformation issue of 'require' (#26)
* Fix transformation issue of 'require' * Remove added devDependencies for test execution
1 parent ec0126c commit 70ae949

2 files changed

Lines changed: 13 additions & 1 deletion

File tree

packages/vite-plugin-commonjs/__tests__/transform.spec.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,18 @@ test('transform require', () => {
2828
expect(result.code).toMatch(/import \* as .+ from \'@\/page\/login';/);
2929
});
3030

31+
test('require function on object', () => {
32+
let code = `myObj.require("react");`
33+
let result = transformRequire(code, 'main.ts');
34+
expect(result.code).toMatch(`myObj.require("react");`);
35+
});
36+
37+
test('require as part of function name', () => {
38+
let code = `myrequire("react");`
39+
let result = transformRequire(code, 'main.ts');
40+
expect(result.code).toMatch(`myrequire("react");`);
41+
});
42+
3143
test('require in comments', () => {
3244
//singleline comments
3345
let code = ` const a=0; // the hook will be setup by require("react").`

packages/vite-plugin-commonjs/src/lib.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
const commonJSRegex: RegExp = /\b(module\.exports|exports\.\w+|exports\s*=\s*|exports\s*\[.*\]\s*=\s*)/;
2-
const requireRegex: RegExp = /_{0,2}require\s*\(\s*(["'].*?["'])\s*\)/g;
2+
const requireRegex: RegExp = /(?<!\.)\b_{0,2}require\s*\(\s*(["'].*?["'])\s*\)/g;
33
const IMPORT_STRING_PREFIX: String = "__require_for_vite";
44
const multilineCommentsRegex = /\/\*(.|[\r\n])*?\*\//gm
55
const singleCommentsRegex = /([^\:])\/\/.*/g

0 commit comments

Comments
 (0)