Commit Graph

128 Commits

Author SHA1 Message Date
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