Commit graph

27 commits

Author SHA1 Message Date
Boshen
b0e1c03284
feat(ast)!: add StringLiteral::raw field (#7393)
part of #7254
2024-11-26 23:33:56 +08:00
7086cmd
24189f28ad feat(ecma): implement array join method (#6936) 2024-11-26 11:28:07 +00:00
camchenry
da199c7476 fix(ecmascript): allow getting PropName for object methods (#6967)
Working on some lint rules and noticed that PropName didn't seem to be working as intended. According to the spec, we should definitely allow get/set/methods to have prop names:

https://tc39.es/ecma262/#sec-static-semantics-propname

<img width="694" alt="image" src="https://github.com/user-attachments/assets/60fdfeec-2320-4cd9-a786-901728e459b2">

However, we still need to retain this logic for checking `__proto__` because it has special rules.
2024-10-28 09:34:27 +00:00
Boshen
8bcaf59cf9 feat(minifier): late peeophole optimization (#6882) 2024-10-25 16:12:29 +00:00
Boshen
442975408b feat(ecmascript): constant eval null to number (#6879) 2024-10-25 04:23:24 +00:00
camc314
fccf82e4df feat(minifier): implement folding substring string fns (#6869) 2024-10-25 01:29:56 +00:00
camc314
e6a5a1b11c feat(minifier): implement folding charCodeAt string fns (#6475) 2024-10-24 14:37:50 +00:00
Boshen
423d54cb74 refactor(rust): remove the annoying clippy::wildcard_imports (#6860) 2024-10-24 13:57:19 +00:00
Boshen
a47c70e425 fix(minifier): fix remaining runtime bugs (#6855) 2024-10-24 12:22:18 +00:00
Boshen
686727fc96 fix(minifier): reference read has side effect (#6851) 2024-10-24 08:32:38 +00:00
Boshen
fd57e00108 feat(ecmascript): add abstract_relational_comparison to dce (#6846)
I removed bigint comparisons because they were incorrect
2024-10-24 06:46:07 +00:00
Boshen
8b25131d11 refactor(minifier): binary operations use ConstantEvaluation (#6700) 2024-10-20 15:13:27 +00:00
Boshen
f4cdc56577 refactor(minifier): use constant folding unary expression from oxc_ecmascript (#6647) 2024-10-17 15:30:38 +00:00
camc314
071e5643f3 feat(minifier): finish implementing folding object expressions (#6586) 2024-10-15 15:51:34 +00:00
Boshen
15c04e5cbb
feat(ecmascript): add feature flag for constant evaluation 2024-10-15 23:49:45 +08:00
magic-akari
aa6ba24b0c refactor(ecmascript): improve string to number conversion (#6577) 2024-10-15 14:25:30 +00:00
Boshen
d11770d552 feat(ecmascript): add StringToNumber (#6576) 2024-10-15 08:52:54 +00:00
Boshen
e56188037c feat(ecmascript): add constant_evaluation and side_effects code (#6550)
I intend to move most of the constant evaluation code into the crate.
2024-10-15 05:15:46 +00:00
Boshen
3556062213 feat(ecmascript): add ConstantEvaluation (#6549) 2024-10-14 07:53:44 +00:00
Boshen
6d041fb469 refactor(ecmascript): remove NumberValue (#6519) 2024-10-13 14:11:37 +00:00
Boshen
39c2e66b0b feat(ecmascript): add ToBigInt and StringToBigInt (#6508) 2024-10-13 11:26:07 +00:00
Boshen
6f2253886d feat(ecmascript): add ToBoolean, ToNumber, ToString (#6502) 2024-10-13 11:03:08 +00:00
camc314
096e590483 feat(minifier): implement folding charAt string fns (#6436) 2024-10-13 06:41:05 +00:00
Boshen
bbca743689 refactor(minifier): move string methods to oxc_ecmascript (#6472) 2024-10-12 09:40:43 +00:00
Boshen
856cab5000 refactor(ecmascript): move ToInt32 from oxc_syntax to oxc_ecmascript (#6471) 2024-10-12 09:29:46 +00:00
Boshen
1ba2a247e1 refactor(ecmascript): remove HasProto which is not part of the spec (#6470) 2024-10-12 08:48:45 +00:00
Boshen
455dab4900 chore(oxc): rename crate oxc_syntax_operations to oxc_ecmascript (#6469) 2024-10-12 08:34:42 +00:00