mirror of
https://github.com/danbulant/oxc
synced 2026-05-25 04:42:10 +00:00
[](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | | | lockFileMaintenance | All locks refreshed | | [insta](https://insta.rs/) ([source](https://togithub.com/mitsuhiko/insta)) | workspace.dependencies | minor | `1.38.0` -> `1.39.0` | | [itertools](https://togithub.com/rust-itertools/itertools) | workspace.dependencies | minor | `0.12.1` -> `0.13.0` | | [mimalloc](https://togithub.com/purpleprotocol/mimalloc_rust) | workspace.dependencies | patch | `0.1.41` -> `0.1.42` | | [napi-derive](https://togithub.com/napi-rs/napi-rs) | workspace.dependencies | patch | `2.16.4` -> `2.16.5` | | [ouroboros](https://togithub.com/someguynamedjosh/ouroboros) | workspace.dependencies | patch | `0.18.3` -> `0.18.4` | | [proc-macro2](https://togithub.com/dtolnay/proc-macro2) | workspace.dependencies | patch | `1.0.82` -> `1.0.84` | | [serde](https://serde.rs) ([source](https://togithub.com/serde-rs/serde)) | workspace.dependencies | patch | `1.0.201` -> `1.0.203` | | [trybuild](https://togithub.com/dtolnay/trybuild) | workspace.dependencies | patch | `1.0.95` -> `1.0.96` | 🔧 This Pull Request updates lock files to use the latest dependency versions. --- ### Release Notes <details> <summary>mitsuhiko/insta (insta)</summary> ### [`v1.39.0`](https://togithub.com/mitsuhiko/insta/blob/HEAD/CHANGELOG.md#1390) [Compare Source](https://togithub.com/mitsuhiko/insta/compare/1.38.0...1.39.0) - Fixed a bug in `require_full_match`. [#​485](https://togithub.com/mitsuhiko/insta/issues/485) - Fixed a bug that caused snapshot and module names to sometimes be inaccurate. [#​483](https://togithub.com/mitsuhiko/insta/issues/483) - Insta will no longer error when removing snapshots that were already removed. [#​484](https://togithub.com/mitsuhiko/insta/issues/484) - Added support for trailing commas in inline snapshots. [#​472](https://togithub.com/mitsuhiko/insta/issues/472) - Don't pass `--color` in all cases to `libtest` any more to work around limitations with custom test harnesses. [#​491](https://togithub.com/mitsuhiko/insta/issues/491) </details> <details> <summary>rust-itertools/itertools (itertools)</summary> ### [`v0.13.0`](https://togithub.com/rust-itertools/itertools/blob/HEAD/CHANGELOG.md#0130) [Compare Source](https://togithub.com/rust-itertools/itertools/compare/v0.12.1...v0.13.0) ##### Breaking - Removed implementation of `DoubleEndedIterator` for `ConsTuples` ([#​853](https://togithub.com/rust-itertools/itertools/issues/853)) - Made `MultiProduct` fused and fixed on an empty iterator ([#​835](https://togithub.com/rust-itertools/itertools/issues/835), [#​834](https://togithub.com/rust-itertools/itertools/issues/834)) - Changed `iproduct!` to return tuples for maxi one iterator too ([#​870](https://togithub.com/rust-itertools/itertools/issues/870)) - Changed `PutBack::put_back` to return the old value ([#​880](https://togithub.com/rust-itertools/itertools/issues/880)) - Removed deprecated `repeat_call, Itertools::{foreach, step, map_results, fold_results}` ([#​878](https://togithub.com/rust-itertools/itertools/issues/878)) - Removed `TakeWhileInclusive::new` ([#​912](https://togithub.com/rust-itertools/itertools/issues/912)) ##### Added - Added `Itertools::{smallest_by, smallest_by_key, largest, largest_by, largest_by_key}` ([#​654](https://togithub.com/rust-itertools/itertools/issues/654), [#​885](https://togithub.com/rust-itertools/itertools/issues/885)) - Added `Itertools::tail` ([#​899](https://togithub.com/rust-itertools/itertools/issues/899)) - Implemented `DoubleEndedIterator` for `ProcessResults` ([#​910](https://togithub.com/rust-itertools/itertools/issues/910)) - Implemented `Debug` for `FormatWith` ([#​931](https://togithub.com/rust-itertools/itertools/issues/931)) - Added `Itertools::get` ([#​891](https://togithub.com/rust-itertools/itertools/issues/891)) ##### Changed - Deprecated `Itertools::group_by` (renamed `chunk_by`) ([#​866](https://togithub.com/rust-itertools/itertools/issues/866), [#​879](https://togithub.com/rust-itertools/itertools/issues/879)) - Deprecated `unfold` (use `std::iter::from_fn` instead) ([#​871](https://togithub.com/rust-itertools/itertools/issues/871)) - Optimized `GroupingMapBy` ([#​873](https://togithub.com/rust-itertools/itertools/issues/873), [#​876](https://togithub.com/rust-itertools/itertools/issues/876)) - Relaxed `Fn` bounds to `FnMut` in `diff_with, Itertools::into_group_map_by` ([#​886](https://togithub.com/rust-itertools/itertools/issues/886)) - Relaxed `Debug/Clone` bounds for `MapInto` ([#​889](https://togithub.com/rust-itertools/itertools/issues/889)) - Documented the `use_alloc` feature ([#​887](https://togithub.com/rust-itertools/itertools/issues/887)) - Optimized `Itertools::set_from` ([#​888](https://togithub.com/rust-itertools/itertools/issues/888)) - Removed badges in `README.md` ([#​890](https://togithub.com/rust-itertools/itertools/issues/890)) - Added "no-std" categories in `Cargo.toml` ([#​894](https://togithub.com/rust-itertools/itertools/issues/894)) - Fixed `Itertools::k_smallest` on short unfused iterators ([#​900](https://togithub.com/rust-itertools/itertools/issues/900)) - Deprecated `Itertools::tree_fold1` (renamed `tree_reduce`) ([#​895](https://togithub.com/rust-itertools/itertools/issues/895)) - Deprecated `GroupingMap::fold_first` (renamed `reduce`) ([#​902](https://togithub.com/rust-itertools/itertools/issues/902)) - Fixed `Itertools::k_smallest(0)` to consume the iterator, optimized `Itertools::k_smallest(1)` ([#​909](https://togithub.com/rust-itertools/itertools/issues/909)) - Specialized `Combinations::nth` ([#​914](https://togithub.com/rust-itertools/itertools/issues/914)) - Specialized `MergeBy::fold` ([#​920](https://togithub.com/rust-itertools/itertools/issues/920)) - Specialized `CombinationsWithReplacement::nth` ([#​923](https://togithub.com/rust-itertools/itertools/issues/923)) - Specialized `FlattenOk::{fold, rfold}` ([#​927](https://togithub.com/rust-itertools/itertools/issues/927)) - Specialized `Powerset::nth` ([#​924](https://togithub.com/rust-itertools/itertools/issues/924)) - Documentation fixes ([#​882](https://togithub.com/rust-itertools/itertools/issues/882), [#​936](https://togithub.com/rust-itertools/itertools/issues/936)) - Fixed `assert_equal` for iterators longer than `i32::MAX` ([#​932](https://togithub.com/rust-itertools/itertools/issues/932)) - Updated the `must_use` message of non-lazy `KMergeBy` and `TupleCombinations` ([#​939](https://togithub.com/rust-itertools/itertools/issues/939)) ##### Notable Internal Changes - Tested iterator laziness ([#​792](https://togithub.com/rust-itertools/itertools/issues/792)) - Created `CONTRIBUTING.md` ([#​767](https://togithub.com/rust-itertools/itertools/issues/767)) </details> <details> <summary>purpleprotocol/mimalloc_rust (mimalloc)</summary> ### [`v0.1.42`](https://togithub.com/purpleprotocol/mimalloc_rust/releases/tag/v0.1.42): Version 0.1.42 [Compare Source](https://togithub.com/purpleprotocol/mimalloc_rust/compare/v0.1.41...v0.1.42) ##### Changes - MiMalloc `v2.1.6` - Expose `usable_size` and `version`. Credits [@​nathaniel-daniel](https://togithub.com/nathaniel-daniel). - Link with libatomic on armv6-linux. Credits [@​notorca](https://togithub.com/notorca). - Add no_thp option for Linux/Android. Credits [@​devnexen](https://togithub.com/devnexen). </details> <details> <summary>napi-rs/napi-rs (napi-derive)</summary> ### [`v2.16.5`](https://togithub.com/napi-rs/napi-rs/compare/napi-derive@2.16.4...napi-derive@2.16.5) [Compare Source](https://togithub.com/napi-rs/napi-rs/compare/napi-derive@2.16.4...napi-derive@2.16.5) </details> <details> <summary>dtolnay/proc-macro2 (proc-macro2)</summary> ### [`v1.0.84`](https://togithub.com/dtolnay/proc-macro2/releases/tag/1.0.84) [Compare Source](https://togithub.com/dtolnay/proc-macro2/compare/1.0.83...1.0.84) - Documentation improvements ([#​455](https://togithub.com/dtolnay/proc-macro2/issues/455), thanks [@​CensoredUsername](https://togithub.com/CensoredUsername)) ### [`v1.0.83`](https://togithub.com/dtolnay/proc-macro2/releases/tag/1.0.83) [Compare Source](https://togithub.com/dtolnay/proc-macro2/compare/1.0.82...1.0.83) - Optimize the representation of `Ident` ([#​462](https://togithub.com/dtolnay/proc-macro2/issues/462)) </details> <details> <summary>serde-rs/serde (serde)</summary> ### [`v1.0.203`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.203) [Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.202...v1.0.203) - Documentation improvements ([#​2747](https://togithub.com/serde-rs/serde/issues/2747)) ### [`v1.0.202`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.202) [Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.201...v1.0.202) - Provide public access to RenameAllRules in serde_derive_internals ([#​2743](https://togithub.com/serde-rs/serde/issues/2743)) </details> <details> <summary>dtolnay/trybuild (trybuild)</summary> ### [`v1.0.96`](https://togithub.com/dtolnay/trybuild/releases/tag/1.0.96) [Compare Source](https://togithub.com/dtolnay/trybuild/compare/1.0.95...1.0.96) - Support Windows builds that have OUT_DIR prefixed with `\\?\` ([#​271](https://togithub.com/dtolnay/trybuild/issues/271)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "before 4am on monday" in timezone Asia/Shanghai, Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://togithub.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/oxc-project/oxc). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zNjguMTAiLCJ1cGRhdGVkSW5WZXIiOiIzNy4zNjguMTAiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbXX0=--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Boshen <boshenc@gmail.com> |
||
|---|---|---|
| .. | ||
| examples | ||
| src | ||
| tests | ||
| Cargo.toml | ||
| CHANGELOG.md | ||
| README.md | ||
Minifier
A JavaScript minifier has three components:
- printer
- mangler
- compressor
Mangler
The mangler implementation is part of the SymbolTable residing in oxc_semantic.
It is responsible for shortening variables. Its algorithm should be gzip friendly.
The printer is also responsible for printing out the shortened variable names.
Compressor
The compressor is responsible for rewriting statements and expressions for minimal text output. Terser is a good place to start for learning the fundamentals.
Terser Tests
The fixtures are copied from https://github.com/terser/terser/tree/master/test/compress