Skip to content

Commit

Permalink
improve: adapte template string (#36)
Browse files Browse the repository at this point in the history
  • Loading branch information
Jurool committed Oct 17, 2022
1 parent 1d476d7 commit 568f5b7
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 2 deletions.
4 changes: 4 additions & 0 deletions packages/vite-plugin-commonjs/__tests__/transform.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,10 @@ test('transform require', () => {
let result = transformRequire(code, 'main.ts');
expect(result.code).toMatch(/import \* as .+ from "react";/);

code = `require(\`react\`);`;
result = transformRequire(code, 'main.ts');
expect(result.code).toMatch(/import \* as .+ from 'react';/);

//nested require
code = `_interopRequire(require('./DatePicker'));`
result = transformRequire(code, 'main.ts');
Expand Down
4 changes: 2 additions & 2 deletions packages/vite-plugin-commonjs/src/lib.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
const commonJSRegex: RegExp = /\b(module\.exports|exports\.\w+|exports\s*=\s*|exports\s*\[.*\]\s*=\s*)/;
const requireRegex: RegExp = /(?<!\.)\b_{0,2}require\s*\(\s*(["'].*?["'])\s*\)/g;
const requireRegex: RegExp = /(?<!\.)\b_{0,2}require\s*\(\s*(["'`].*?["'`])\s*\)/g;
const IMPORT_STRING_PREFIX: String = "__require_for_vite";
const multilineCommentsRegex = /\/\*(.|[\r\n])*?\*\//gm
const singleCommentsRegex = /([^\:])\/\/.*/g
Expand Down Expand Up @@ -33,7 +33,7 @@ export function transformRequire(code: string, id: string): TransformRequireResu
}
replaced = true;
packageName = `${IMPORT_STRING_PREFIX}_${randomString(6)}`;
importsString += `import * as ${packageName} from ${item[1]};\n`;
importsString += `import * as ${packageName} from ${item[1].replace(/`/g, `'`)};\n`;
code = code.replace(item[0], `(${packageName}.default || ${packageName})`);
}

Expand Down

0 comments on commit 568f5b7

Please sign in to comment.