From 9e2f1927e626382386990f371ddec0376756c129 Mon Sep 17 00:00:00 2001 From: Martin Kolb Date: Wed, 16 Feb 2022 18:55:10 +0100 Subject: [PATCH 1/2] Fix transformation issue of 'require' --- package.json | 3 +++ .../vite-plugin-commonjs/__tests__/transform.spec.ts | 12 ++++++++++++ packages/vite-plugin-commonjs/src/lib.ts | 2 +- 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index 73503a4..faf3d0f 100644 --- a/package.json +++ b/package.json @@ -22,9 +22,12 @@ "test": "jest" }, "devDependencies": { + "@rollup/pluginutils": "^4.1.2", "@types/jest": "^26.0.23", "@types/node": "^15.12.1", + "@webassemblyjs/wasm-parser": "^1.11.1", "jest": "^27.0.4", + "node-dir": "^0.1.17", "ts-jest": "^27.0.3", "typescript": "^4.3.2", "vite": "^2.3.6" 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 = /(? Date: Thu, 17 Feb 2022 08:11:42 +0100 Subject: [PATCH 2/2] Remove added devDependencies for test execution --- package.json | 3 --- 1 file changed, 3 deletions(-) diff --git a/package.json b/package.json index faf3d0f..73503a4 100644 --- a/package.json +++ b/package.json @@ -22,12 +22,9 @@ "test": "jest" }, "devDependencies": { - "@rollup/pluginutils": "^4.1.2", "@types/jest": "^26.0.23", "@types/node": "^15.12.1", - "@webassemblyjs/wasm-parser": "^1.11.1", "jest": "^27.0.4", - "node-dir": "^0.1.17", "ts-jest": "^27.0.3", "typescript": "^4.3.2", "vite": "^2.3.6"