Skip to content

Commit bd3c999

Browse files
committed
purify classes extending builtins
1 parent 899fd2d commit bd3c999

File tree

3 files changed

+14
-4
lines changed

3 files changed

+14
-4
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "tsc-multi",
3-
"version": "1.1.6",
3+
"version": "1.1.7",
44
"description": "Compile multiple TypeScript projects into multiple targets.",
55
"main": "dist/index.js",
66
"types": "dist/index.d.ts",

src/transformer.ts

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -279,9 +279,19 @@ export function createTransformer<T extends ts.SourceFile | ts.Bundle>(
279279
newStatements.map((group) =>
280280
Array.isArray(group)
281281
? group.length === 1 &&
282-
!group[0].members.some(
283-
(member) =>
284-
member.name?.kind === SyntaxKind.ComputedPropertyName
282+
!(
283+
group[0].members.some(
284+
(member) =>
285+
member.name?.kind === SyntaxKind.ComputedPropertyName
286+
) ||
287+
group[0].heritageClauses?.some(
288+
(e) =>
289+
e.token === SyntaxKind.ExtendsKeyword &&
290+
isIdentifier(e.types[0].expression) &&
291+
/^(Object|Function|Array|Number|Boolean|String|Symbol|Date|Promise|RegExp|Error|AggregateError|EvalError|RangeError|ReferenceError|SyntaxError|TypeError|URIError|ArrayBuffer|Uint8Array|Int8Array|Uint16Array|Int16Array|Uint32Array|Int32Array|Float32Array|Float64Array|Uint8ClampedArray|BigUint64Array|BigInt64Array|DataView|Map|BigInt|Set|WeakMap|WeakSet|Proxy|FinalizationRegistry|WeakRef|URL|URLSearchParams|Event|EventTarget|Iterator|SharedArrayBuffer|CustomEvent)$/.test(
292+
e.types[0].expression.text
293+
)
294+
)
285295
)
286296
? group[0]
287297
: ctx.factory.createVariableStatement(group[0].modifiers, [

tsc-multi-1.1.7.tgz

31.7 KB
Binary file not shown.

0 commit comments

Comments
 (0)