Boshen
817f8c295e
ci: turn off doc tests because they are slow to compile and run ( #961 )
2023-10-07 17:01:23 +08:00
Don Isaac
027a67d94c
feat(minifier): constant addition expression folding ( #882 )
...
Fold constant addition expressions. Handles string concatenation and
addition, both with implicit casting.
For example,
```ts
let x = 1 + 1
let y = "hello " + "world"
```
now becomes
```ts
let x = 2
let y = "hello world"
```
## Extra Goodies
- test(minifier): add `test_snapshot` helper to perform snapshot tests
with `insta`
- up(hir): implement `std::ops::Add` for `NumericValue`
- up(span): impl `TryFrom<Cow<'_, &str>>` for `Atom`
2023-09-11 10:38:35 +08:00
Don Isaac
fd899be4a9
feat(minifier): compress undefined variable declarations ( #532 )
2023-07-10 10:33:42 +08:00
Wenzhe Wang
a32320646d
feat(minfier): try fold and or operator ( #472 )
2023-06-28 14:58:55 +08:00
阿良仔
1182985bb0
feat(minifier): implement try_fold_shift ( #478 )
...
* feat: implement `try_fold_shift`
* update minsize
2023-06-27 04:44:23 +08:00
Wenzhe Wang
cb94937ba6
feat(minifier): fold string string comparison ( #471 )
2023-06-26 22:37:50 +08:00
Wenzhe Wang
b8f5e3ad92
feat(minifier): try reduce void ( #457 )
2023-06-23 00:10:46 +08:00
Boshen
d30735677b
refactor(semantic): merge semantic2 crate into semantic crate ( #460 )
2023-06-19 20:20:59 +08:00
Wenzhe Wang
5d10f96051
feat(minifier): try fold unary expression ( #430 )
2023-06-16 00:08:14 +08:00
u9g
db624da84d
Reimplement more of the closure var rename step ( #447 )
...
Co-authored-by: Boshen <boshenc@gmail.com>
closes #442
2023-06-15 23:37:04 +08:00
Boshen
a79480b078
feat(minifier): separate mangler pass ( #439 )
2023-06-14 10:46:13 +08:00
Boshen
5c91fd54e3
feat(minifier): print [-In] Context ( #428 )
2023-06-11 16:44:48 +08:00
Wenzhe Wang
7c79fbc026
feat(minifier): try fold typeof ( #408 )
2023-06-07 10:44:28 +08:00
Wenzhe Wang
ddc129262d
feat(minifer): minify number ( #405 )
2023-06-03 21:24:39 +08:00
Boshen
f8125af850
feat(minimizer): print parentheses
2023-06-01 22:45:26 +08:00
Wenzhe Wang
4109c8b8a5
feat(parser): distinguish exponential number ( #399 )
2023-06-01 15:15:22 +08:00
Wenzhe Wang
a20d5b55cd
feat(minifier): may add space before binaryOperator ( #380 )
2023-05-27 19:18:06 +08:00
Wenzhe Wang
a0b9628177
feat(minifer): distinguish-op-lessthan ( #391 )
2023-05-27 17:04:54 +08:00
Boshen
829f945479
chore(minifier): add a few passing tests
2023-05-27 12:27:25 +08:00
Boshen
8ea9e38ee5
feat(minifier): remove redundant curly braces from block statements ( #390 )
2023-05-27 10:52:15 +08:00
Boshen
ee6f18091b
chore(minsize): add newlines in between for better diff
2023-05-25 22:42:11 +08:00
Boshen
c4a67b6cfb
feat(minifier): fold return undefined to return ( #387 )
2023-05-25 22:37:55 +08:00
Boshen
a31c7ac77a
refactor(index): use static_assertions
2023-05-24 22:53:11 +08:00
Boshen
f5b57944e2
feat(minifier): print shorter numbers ( #381 )
2023-05-24 22:03:50 +08:00
Yoni Feng
c1d1846714
Add Brotli size to minsize task output ( #377 )
2023-05-23 17:00:49 +08:00
Boshen
dee09da60b
feat(minifier): implement peephole reorder constant expression from closure compiler ( #376 )
2023-05-23 12:29:29 +08:00
Boshen
827cef3311
chore(minsize): use default version of flate2 (removes 2 extra dependencies)
2023-05-23 00:32:00 +08:00
Boshen
42dd639e74
chore(minsize): update snapshot
2023-05-22 12:29:52 +08:00
Boshen
009fc5f285
feat(minifier): minify Infinity
2023-05-21 22:01:47 +08:00
Boshen
f8828db68c
feat(semantic2): slot based mangler ( #364 )
2023-05-20 19:00:57 +08:00
Wenzhe Wang
9678832f2b
fix: add parens for unary expression ( #362 )
2023-05-17 10:13:48 +08:00
Boshen
a0b09a3f27
refactor(ast): remove RestElement from BindingPattern
2023-05-16 22:25:52 +08:00
Boshen
af95b59a0e
feat(ast): split Property into ObjectProperty and BindingProperty ( #361 )
2023-05-16 15:51:50 +08:00
Boshen
5be0d1b9fa
fix(hir): bring back ParenthesizedExpression as it caused too much chaos
2023-05-14 22:54:57 +08:00
Boshen
dc768ba8ad
feat(minifier): turn on mangle by default
2023-05-14 18:33:29 +08:00
Boshen
2914b439b3
feat(semantic2): add slot based mangler
2023-05-14 18:21:07 +08:00
Boshen
d0bc5ac023
refactor: separate semantic interface
2023-05-13 21:59:42 +08:00
Boshen
14720e7c69
refactor: move SourceType from oxc_ast to oxc_span ( #351 )
...
related #350
2023-05-12 23:16:14 +08:00
Boshen
7496bb521f
fix(minifier): print if.consequent correctly ( #349 )
2023-05-11 11:00:49 +08:00
Boshen
8161ac2800
refactor: clean up Cargo.toml (put features table on top)
2023-05-09 21:53:47 +08:00
Boshen
e753a886d2
fix(minifier): add parentheses to CallExpression on FunctionExpression
2023-05-08 23:04:35 +08:00
Boshen
86c01c7fb8
feat(minifier): use hir ( #335 )
2023-05-07 17:23:00 +08:00
Boshen
1004a1d197
chore: clean up workspace dependencies ( #320 )
2023-04-27 11:38:39 +08:00
Boshen
7aca953635
ci: add cargo deny
2023-04-22 22:35:19 +08:00
Boshen
080baaa2db
chore: use taplo to reformat toml files
2023-04-22 15:58:59 +08:00
Boshen
c14c82b15d
feat(printer,semantic): mangler ( #285 )
...
closes #284
2023-04-18 21:32:35 +08:00
Boshen
cfe3dd0869
chore: rust taplo format
2023-04-15 14:14:11 +08:00
Boshen
4c5ece9386
chore(tasks): remove minsize from unit tests as it is too slow
2023-04-15 13:41:52 +08:00
Boshen
9eec306818
chore(minifier): add SemanticBuilder to minifier example
...
so we can start measuring perf
2023-04-14 13:21:04 +08:00
Boshen
a7cd845fff
feat: add cargo minsize task for tracking minification size ( #276 )
...
* feat: add `cargo minsize` task for tracking minification size
* add gzip
2023-04-14 13:07:37 +08:00