Skip to content

Commit 1d82ce4

Browse files
committed
Fix a bug breaking strict mode syntax
1 parent 6c005f3 commit 1d82ce4

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

lib/src/index.ts

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@ function replaceBuild(buildReplacePattern: ReplacePattern, result: BuildResult)
125125

126126
const useClientRegExp = /^(["']use strict["'];)?["']use client["'];?/i;
127127
const useServerRegExp = /^(["']use strict["'];)?["']use server["'];?/i;
128-
const jsxImportRegExp = /(var |,)?[a-zA-Z_$][\w$]*=require\("react\/jsx-runtime"\)[;,]?/g;
128+
const jsxImportRegExp = /(var |,)[a-zA-Z_$][\w$]*=require\("react\/jsx-runtime"\)[;,]?/g;
129129
const regExp2replace2GetVar0 = /(var |,)/;
130130
const regExp2replace2GetVar = /[=]require\(['"]react\/jsx-runtime['"]\)[;,]?/;
131131

@@ -161,9 +161,10 @@ function onEndCallBack(result: BuildResult, options: React18PluginOptions, write
161161
.replace(regExp2replace2GetVar, "")
162162
.replace(regExp2replace2GetVar0, "");
163163
for (let index = 1; index < jsxMatches.length; index++) {
164-
const token = jsxMatches[index];
165-
const toReplace = /^,.*,$/.test(token) ? token.slice(1) : token;
166-
txt = txt.replace(toReplace, "");
164+
let token = jsxMatches[index];
165+
if (/^,.*,$/.test(token)) token = token.slice(1);
166+
else if (token.startsWith("var ") && token.endsWith(",")) token = token.slice(4);
167+
txt = txt.replace(token, "");
167168
const v1 = jsxMatches[index]
168169
.replace(regExp2replace2GetVar, "")
169170
.replace(regExp2replace2GetVar0, "");

0 commit comments

Comments
 (0)