Austaras
ef8d12154d
fix(es/minifier): Abort seq inliner if a same var is defined in outer scope ( #7772 )
...
**Description:**
The algorithm here is directly copied from terser, I don't if it's correct or can be improved, but it does fix the issue.
**Related issue:**
- Closes #7749
2023-08-09 20:01:59 +00:00
SWC Bot
0219eebeb9
chore: Publish crates
2023-08-07 21:31:50 +00:00
SWC Bot
1e6ade8cfa
chore: Publish crates
2023-08-07 20:01:21 +00:00
SWC Bot
51d17b66ad
chore: Publish crates
2023-08-06 22:16:01 +00:00
SWC Bot
97289b4edc
chore: Publish crates
2023-08-06 20:31:13 +00:00
SWC Bot
e22cdccedd
chore: Publish crates
2023-08-02 22:04:35 +00:00
Donny/강동윤
3873f58499
fix(es/minifier): Mark args of new
s as references ( #7743 )
...
**Related issue:**
- Closes #7739 .
2023-08-03 07:02:15 +09:00
SWC Bot
ef306256d2
chore: Publish crates
2023-07-31 03:33:30 +00:00
SWC Bot
640318c616
chore: Publish crates
2023-07-28 16:59:14 +00:00
Donny/강동윤
f901b417d1
fix(es/minifier): Do not drop used properties ( #7702 )
...
**Related issue:**
- Closes #7700 .
- Closes #7710 .
2023-07-28 16:57:07 +00:00
SWC Bot
d3b516d692
chore: Publish crates
2023-07-28 05:59:26 +00:00
SWC Bot
aff07b1a0a
chore: Publish crates
2023-07-21 02:00:00 +00:00
SWC Bot
026101b71e
chore: Publish crates
2023-07-20 05:57:51 +00:00
Austaras
9893bd2d43
refactor(es/minifier): Respect toplevel
and module
options ( #7671 )
2023-07-20 11:35:08 +09:00
SWC Bot
bed73c168c
chore: Publish crates
2023-07-14 20:56:32 +00:00
Austaras
04b0f6d823
feat(es/minifier): Drop recursively used var declaration ( #7649 )
2023-07-15 05:54:34 +09:00
SWC Bot
26d79444c6
chore: Publish crates
2023-07-13 02:09:23 +00:00
SWC Bot
735a82d6a4
chore: Publish crates
2023-07-05 03:52:51 +00:00
Donny/강동윤
b34f1adbcc
build(cargo): Update rustc
to 2023-07-03
( #7623 )
2023-07-05 03:50:43 +00:00
SWC Bot
9cb9f055ba
chore: Publish crates
2023-07-04 05:13:14 +00:00
Donny/강동윤
47d2edd4dc
feat(es/minifier): Drop unused properties ( #7534 )
...
**Related issue:**
- Closes #7472 .
2023-07-04 05:11:33 +00:00
SWC Bot
cba986807a
chore: Publish crates
2023-06-30 07:43:11 +00:00
SWC Bot
efc1afd96a
chore: Publish crates
2023-06-29 14:15:31 +00:00
SWC Bot
ed9a4ae5bc
chore: Publish crates
2023-06-27 15:25:59 +00:00
Donny/강동윤
a685c88c61
fix(es/minifier): Don't drop assignments to unused top-level variables ( #7581 )
...
**Related issue:**
- Closes #7568
2023-06-27 15:24:06 +00:00
SWC Bot
7f2ace5d3f
chore: Publish crates
2023-06-27 02:16:08 +00:00
Donny/강동윤
398e922ca0
feat(es/minifier): Inline constants even if they are exported ( #7583 )
...
**Related issue:**
- Closes #7575 .
2023-06-27 02:14:09 +00:00
SWC Bot
b4ae28b053
chore: Publish crates
2023-06-26 04:02:12 +00:00
SWC Bot
4efefb0f4e
chore: Publish crates
2023-06-23 02:28:10 +00:00
SWC Bot
8c1436aaf5
chore: Publish crates
2023-06-22 13:40:52 +00:00
Donny/강동윤
d57d0d3ad3
build(cargo): Update deps ( #7566 )
2023-06-22 13:37:35 +00:00
SWC Bot
33355cf707
chore: Publish crates
2023-06-22 07:43:38 +00:00
Donny/강동윤
d12dc70c91
build(cargo): Update deps ( #7564 )
2023-06-22 07:40:41 +00:00
SWC Bot
f9c5265bde
chore: Publish crates
2023-06-21 15:44:11 +00:00
SWC Bot
c9f2838071
chore: Publish crates
2023-06-21 09:40:25 +00:00
Donny/강동윤
07a858030c
feat(es/minifier): Enable hoist_props
by default ( #7535 )
2023-06-21 18:38:35 +09:00
SWC Bot
c023a03d7b
chore: Publish crates
2023-06-21 03:18:22 +00:00
SWC Bot
fec056f5db
chore: Publish crates
2023-06-20 03:21:20 +00:00
SWC Bot
44aac8fe27
chore: Publish crates
2023-06-19 05:51:51 +00:00
SWC Bot
b9acc83fa7
chore: Publish crates
2023-06-16 02:59:35 +00:00
SWC Bot
08574e690b
chore: Publish crates
2023-06-12 08:04:50 +00:00
SWC Bot
96895b1f3f
chore: Publish crates
2023-06-12 06:49:35 +00:00
SWC Bot
cea1237c5e
chore: Publish crates
2023-06-12 01:39:32 +00:00
SWC Bot
37634a758d
chore: Publish crates
2023-06-08 04:15:29 +00:00
Austaras
7f9f0b8bce
fix(es/minifier): Infect mutation when assigning a property ( #7503 )
2023-06-08 04:13:42 +00:00
SWC Bot
a63905aa2c
chore: Publish crates
2023-05-30 05:18:06 +00:00
SWC Bot
a85816d505
chore: Publish crates
2023-05-25 04:54:11 +00:00
SWC Bot
8d52500a9a
chore: Publish crates
2023-05-25 04:00:53 +00:00
Austaras
0cd2b61b05
feat(es/minifier): Inline for loop variables ( #7445 )
2023-05-25 03:59:02 +00:00
SWC Bot
6c3ff01a53
chore: Publish crates
2023-05-24 07:48:00 +00:00
SWC Bot
c1f2b4a09f
chore: Publish crates
2023-05-24 06:59:37 +00:00
SWC Bot
b95cd8444e
chore: Publish crates
2023-05-24 06:27:35 +00:00
SWC Bot
47114702ef
chore: Publish crates
2023-05-23 05:30:42 +00:00
SWC Bot
12b966ea21
chore: Publish crates
2023-05-22 03:23:50 +00:00
SWC Bot
135c4fd16b
chore: Publish crates
2023-05-18 08:20:26 +00:00
SWC Bot
31d7b88555
chore: Publish crates
2023-05-18 01:21:08 +00:00
Austaras
5dbbbea2ef
fix(es/minifier): Mark all function params as potential property mutation ( #7409 )
...
**Description:**
This issue is more severe than I originally thought. It raises not in
array indexing, but in function calls and property mutation. We should
treat all function arguments as potentially be property mutated,
otherwise following example
```js
class A {
a = 1
toString() {
return this.a
}
}
const a = new A()
function foo(x) {
x.a++
}
const b = a + 1
foo(a)
console.log(b)
```
would be error(It should log 2, but logs 3 after compress).
As the result, massive regressions is unavoidable, since some of these
optimizations may indeed cause error. Part of them can be mitigated with
following optimization -- allow inline of ident even if its original
value is mutated. Consider
```js
export function foo(x) {
const y = x
x.a = 1
y.b = 2
}
```
If x is a primitive value, all mutations to its properties are ignored;
if x is a object, then y refers to the same object no matter what
mutation is performed.
And there's still room for more, currently following code
```js
export function foo(x) {
const y = Math.floor(x);
g(y);
}
```
But I'd rather do it in a separate PR.
**Related issue:**
- Closes #7402 .
2023-05-18 01:19:17 +00:00
SWC Bot
8052d4dabd
chore: Publish crates
2023-05-17 04:53:45 +00:00
SWC Bot
da0c612d85
chore: Publish crates
2023-05-16 05:18:57 +00:00
SWC Bot
5e3d156aca
chore: Publish crates
2023-05-15 03:20:03 +00:00
SWC Bot
a71d5b2180
chore: Publish crates
2023-05-14 05:23:11 +00:00
SWC Bot
e88ae37a0c
chore: Publish crates
2023-05-12 00:47:49 +00:00
SWC Bot
65785bdf21
chore: Publish crates
2023-05-10 04:19:21 +00:00
SWC Bot
7fc9b00443
chore: Publish crates
2023-05-08 03:40:27 +00:00
SWC Bot
aef5ac4812
chore: Publish crates
2023-05-06 03:56:38 +00:00
SWC Bot
767284e27f
chore: Publish crates
2023-04-29 13:28:01 +00:00
SWC Bot
923ed13b6a
chore: Publish crates
2023-04-24 09:25:42 +00:00
SWC Bot
f2a38e808a
chore: Publish crates
2023-04-21 06:13:37 +00:00
SWC Bot
7fd1e93434
chore: Publish crates
2023-04-19 21:54:39 +00:00
SWC Bot
42c4b07f34
chore: Publish crates
2023-04-15 03:29:04 +00:00
SWC Bot
db9320c051
chore: Publish crates
2023-04-15 02:19:38 +00:00
SWC Bot
e6cffb7581
chore: Publish crates
2023-04-13 08:41:47 +00:00
SWC Bot
8fc527343b
chore: Publish crates
2023-04-13 05:52:04 +00:00
SWC Bot
8e5cb60183
chore: Publish crates
2023-04-12 12:33:03 +00:00
SWC Bot
80e125a386
chore: Publish crates
2023-04-11 02:13:17 +00:00
SWC Bot
2a662350e6
chore: Publish crates
2023-04-10 10:47:52 +00:00
SWC Bot
ab9e793fa8
chore: Publish crates
2023-04-10 08:48:13 +00:00
SWC Bot
2204b7809b
chore: Publish crates
2023-04-10 03:42:39 +00:00
SWC Bot
c6b28f91cc
chore: Publish crates
2023-04-05 05:17:51 +00:00
Donny/강동윤
73bc29eeb0
fix(es/minifier): Don't remove used var decl ( #7200 )
...
**Related issue:**
- Closes https://github.com/swc-project/swc/issues/7194 .
2023-04-05 04:35:37 +00:00
SWC Bot
c8fca9a054
chore: Publish crates
2023-04-04 03:07:51 +00:00
SWC Bot
ae2362e97b
chore: Publish crates
2023-04-03 08:15:39 +00:00
SWC Bot
a679dbe9aa
chore: Publish crates
2023-04-02 22:16:24 +00:00
SWC Bot
b94fbed4c9
chore: Publish crates
2023-03-31 06:17:53 +00:00
SWC Bot
b1fb6b655f
chore: Publish crates
2023-03-30 08:08:20 +00:00
SWC Bot
44062d6fa5
chore: Publish crates
2023-03-29 08:50:54 +00:00
SWC Bot
d74103739a
chore: Publish crates
2023-03-29 06:26:30 +00:00
SWC Bot
47f15f9f28
chore: Publish crates
2023-03-27 06:04:11 +00:00
SWC Bot
8fe52a12b3
chore: Publish crates
2023-03-27 04:31:35 +00:00
Donny/강동윤
28261985b0
chore(cargo): Refactor Cargo.toml
to reduce merge conflict ( #7139 )
2023-03-24 13:46:42 +09:00
SWC Bot
6635d54128
chore: Publish crates
2023-03-24 02:42:16 +00:00
SWC Bot
b178ff5661
chore: Publish crates
2023-03-23 09:19:33 +00:00
SWC Bot
42f71431bf
chore: Publish crates
2023-03-23 05:19:01 +00:00
SWC Bot
e77bc0a62f
chore: Publish crates
2023-03-23 04:39:01 +00:00
SWC Bot
0195f536ef
chore: Publish crates
2023-03-22 11:50:07 +00:00
SWC Bot
e37666bb6e
chore: Publish crates
2023-03-22 02:26:23 +00:00
Donny/강동윤
610e1bb581
fix(es/minifier): Don't inline into arrow heads ( #7099 )
...
**Related issue:**
- https://github.com/vercel/next.js/issues/47005
2023-03-22 02:24:13 +00:00
SWC Bot
212af9b0a7
chore: Publish crates
2023-03-21 08:48:30 +00:00
SWC Bot
cda09e44c3
chore: Publish crates
2023-03-21 07:21:46 +00:00
SWC Bot
60ccdab60e
chore: Publish crates
2023-03-16 02:20:24 +00:00
SWC Bot
b14e6b9e54
chore: Publish crates
2023-03-15 02:33:33 +00:00
SWC Bot
6bf5f03884
chore: Publish crates
2023-03-13 08:34:46 +00:00
SWC Bot
3da6d18d47
chore: Publish crates
2023-03-13 03:27:50 +00:00
SWC Bot
136c498c80
chore: Publish crates
2023-03-12 04:52:09 +00:00
SWC Bot
4015714633
chore: Publish crates
2023-03-12 03:57:57 +00:00
SWC Bot
2486e6b6bf
chore: Publish crates
2023-03-11 12:14:51 +00:00
SWC Bot
0b0e61beb6
chore: Publish crates
2023-03-11 03:44:48 +00:00
SWC Bot
d4ebb5e6ef
chore: Publish crates
2023-03-10 06:28:00 +00:00
SWC Bot
02e9e49733
chore: Publish crates
2023-03-10 03:54:16 +00:00
SWC Bot
03488a3fb6
chore: Publish crates
2023-03-09 13:36:17 +00:00
Donny/강동윤
a9fe1d2d22
perf(es/ast): Shrink size of Expr
( #7041 )
...
**Related issue:**
- Closes https://github.com/swc-project/swc/issues/7019 .
2023-03-09 13:34:11 +00:00
SWC Bot
0f09789c43
chore: Publish crates
2023-03-08 06:52:40 +00:00
SWC Bot
50ee7d1c83
chore: Publish crates
2023-03-08 04:57:40 +00:00
SWC Bot
56aac6783b
chore: Publish crates
2023-03-08 02:51:08 +00:00
SWC Bot
79549c0f20
chore: Publish crates
2023-03-07 14:50:22 +00:00
SWC Bot
1a368def06
chore: Publish crates
2023-03-05 07:30:48 +00:00
SWC Bot
0ade738e43
chore: Publish crates
2023-03-03 02:49:46 +00:00
SWC Bot
a504e2a11d
chore: Publish crates
2023-02-28 08:23:25 +00:00
SWC Bot
bbb3615af7
chore: Publish crates
2023-02-28 06:42:16 +00:00
SWC Bot
94138c801c
chore: Publish crates
2023-02-28 06:04:29 +00:00
SWC Bot
9e05f4c2d2
chore: Publish crates
2023-02-22 14:20:23 +00:00
SWC Bot
6496796c59
chore: Publish crates
2023-02-22 06:52:59 +00:00
SWC Bot
786f8180ad
chore: Publish crates
2023-02-20 05:31:02 +00:00
SWC Bot
b9212cfee0
chore: Publish crates
2023-02-10 02:51:53 +00:00
SWC Bot
cade201a1f
chore: Publish crates
2023-02-10 02:30:18 +00:00
SWC Bot
a566f9c999
chore: Publish crates
2023-02-08 05:17:01 +00:00
SWC Bot
e65699c755
chore: Publish crates
2023-02-07 14:35:38 +00:00
SWC Bot
0bb4dc2c3d
chore: Publish crates
2023-01-29 14:56:26 +00:00
SWC Bot
5a5a7d70e4
chore: Publish crates
2023-01-27 06:59:44 +00:00
SWC Bot
8fc1b651b1
chore: Publish crates
2023-01-26 02:11:53 +00:00
SWC Bot
28be71dfaf
chore: Publish crates
2023-01-26 01:19:53 +00:00
Austaras
55225cb994
refactor(es/minifier): Merge cond_init
with reassigned
( #6850 )
...
**Description:**
And optimize the following situation
```js
export function genElement(el, state) {
if ('slot' === el.tag) return el1 = el, genChildren(el1);
if (el.component) {
var el1
return 999;
}
}
```
which rarely happens in hand written JS, but is often generated by swc merge variable pass.
2023-01-26 10:17:33 +09:00
SWC Bot
a5707ae7c1
chore: Publish crates
2023-01-15 06:45:26 +00:00
Donny/강동윤
5496379454
chore: Publish crates
2023-01-11 18:36:16 +09:00
Donny/강동윤
06770cff04
fix(es/minifier): Make AST compressor respect toplevel
( #6775 )
...
**Related issue:**
- Closes https://github.com/swc-project/swc/issues/4386 .
2023-01-11 07:04:20 +00:00
SWC Bot
cd06479a43
chore: Publish crates
2023-01-11 03:00:59 +00:00
SWC Bot
478b1fe458
chore: Publish crates
2023-01-10 05:10:48 +00:00
SWC Bot
a225efe363
chore: Publish crates
2023-01-08 04:59:27 +00:00
SWC Bot
1161360d54
chore: Publish crates
2023-01-06 03:49:20 +00:00
SWC Bot
790c478a7a
chore: Publish crates
2023-01-04 07:29:33 +00:00
SWC Bot
30471796c9
chore: Publish crates
2023-01-03 09:47:06 +00:00
SWC Bot
2e32faaa3c
chore: Publish crates
2023-01-03 03:14:24 +00:00
SWC Bot
61245739ea
chore: Publish crates
2022-12-21 03:03:05 +00:00
SWC Bot
913230d02a
chore: Publish crates
2022-12-20 06:11:34 +00:00
SWC Bot
fa1b02bbd2
chore: Publish crates
2022-12-14 09:23:16 +00:00
SWC Bot
30692bc26c
chore: Publish crates
2022-12-13 15:48:32 +00:00
SWC Bot
292c3388b5
chore: Publish crates
2022-12-13 07:31:37 +00:00
SWC Bot
581d9ce769
chore: Publish crates
2022-12-13 03:38:21 +00:00
SWC Bot
4d4406d5b3
chore: Publish crates
2022-12-12 02:40:19 +00:00
SWC Bot
fc21895bce
chore: Publish crates
2022-12-10 00:09:46 +00:00
Alex Kirszenberg
e1d01d8b7a
feat(es/analyzer): Extract the analyzer from the minifier to a separate crate ( #6586 )
2022-12-07 11:53:49 +00:00