diff --git a/packages/vite-plugin-commonjs/__tests__/transform.spec.ts b/packages/vite-plugin-commonjs/__tests__/transform.spec.ts index 17d592e..b83ee0c 100644 --- a/packages/vite-plugin-commonjs/__tests__/transform.spec.ts +++ b/packages/vite-plugin-commonjs/__tests__/transform.spec.ts @@ -28,6 +28,18 @@ test('transform require', () => { expect(result.code).toMatch(/import \* as .+ from \'@\/page\/login';/); }); +test('require function on object', () => { + let code = `myObj.require("react");` + let result = transformRequire(code, 'main.ts'); + expect(result.code).toMatch(`myObj.require("react");`); +}); + +test('require as part of function name', () => { + let code = `myrequire("react");` + let result = transformRequire(code, 'main.ts'); + expect(result.code).toMatch(`myrequire("react");`); +}); + test('require in comments', () => { //singleline comments let code = ` const a=0; // the hook will be setup by require("react").` diff --git a/packages/vite-plugin-commonjs/src/lib.ts b/packages/vite-plugin-commonjs/src/lib.ts index 94057ab..83a3447 100644 --- a/packages/vite-plugin-commonjs/src/lib.ts +++ b/packages/vite-plugin-commonjs/src/lib.ts @@ -1,5 +1,5 @@ const commonJSRegex: RegExp = /\b(module\.exports|exports\.\w+|exports\s*=\s*|exports\s*\[.*\]\s*=\s*)/; -const requireRegex: RegExp = /_{0,2}require\s*\(\s*(["'].*?["'])\s*\)/g; +const requireRegex: RegExp = /(?