Commit graph

7114 commits

Author SHA1 Message Date
overlookmotel
1d906c64e7 feat(transformer): class properties transform skeleton (#7038)
Skeleton of class properties transform. #7011 contains WIP implementation.
2024-10-31 09:55:41 +00:00
Dunqing
934cb5e746 feat(transformer): add async_generator_functions plugin (#6573)
Passed 15/19 tests. The remaining 4 failed tests related to `this` expression, the problem same as I mentioned in #6658. I will fix them in follow-up PRs.
2024-10-31 09:14:17 +00:00
Boshen
af5140fc3d refactor(transformer): isolate babel options logic (#7034) 2024-10-31 08:04:52 +00:00
Boshen
12aa910508 refactor(transformer): clean up env/targets/query.rs (#7033) 2024-10-31 03:30:08 +00:00
overlookmotel
2a57a66753 test(transformer): support exec tests in Oxc folder (#7030)
Fix error when `tasks/transform_conformance/tests` contains exec tests.
2024-10-31 01:18:09 +00:00
Boshen
3d174bb953 refactor(transformer): clean up BabelOptions (#7029)
part of #6982
2024-10-30 17:14:18 +00:00
Boshen
6284f84f58 refactor(transformer): use Browserslist::Version (#7028) 2024-10-30 14:32:50 +00:00
Boshen
76947e2aec refactor(transform): refactor Babel Targets (#7026)
Found a trick from serde to get us from `BabelTargets` to `Targets`.
2024-10-30 14:08:19 +00:00
overlookmotel
b02114783a refactor(data_structures): make all methods of NonNull shim #[inline(always)] (#7024)
All these methods are trivial and should always be inlined.
2024-10-30 13:00:24 +00:00
overlookmotel
fb1710a8cc refactor(data_structures): add #[repr(transparent)] to NonNull shim (#7023)
Ensure `NonNull` shim is a pure wrapper around `std::ptr::NonNull`. This should be the case anyway, but make sure.
2024-10-30 13:00:22 +00:00
overlookmotel
f1fc8db2fb refactor(data_structures): add read method to NonNull shim (#7022)
Emulate [`NonNull::read`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.read) method in `NonNull` shim. This is more ergonomic, and will be ideal usage once our MSRV reaches 1.80.0 and we can remove the shim.
2024-10-30 13:00:22 +00:00
overlookmotel
c58ec89b81 perf(data_structures): optimize NonEmptyStack::pop (#7021)
Shave a few bytes off `NonEmptyStack::pop`.
2024-10-30 13:00:21 +00:00
Boshen
b8daab3663 refactor(transformer)!: API to TryFrom<&EnvOptions> for TransformOptions and TryFrom<&BabelOptions> TransformOptions (#7020)
…ions` and `TryFrom<&BabelOptions> TransformOptions`
2024-10-30 09:40:09 +00:00
Boshen
17a938ee1f
refactor(parser): use function parse_type_member_semicolon (#7018) 2024-10-30 17:20:03 +08:00
Boshen
aa1b29c0cf
refactor(parser): remove parse_ts_index_signature_member function (#7017) 2024-10-30 17:20:02 +08:00
Boshen
5b11cdf611 refactor(transformer): clean up TransformerOptions (#7005)
This is a work towards https://github.com/oxc-project/oxc/issues/6982

Next PR will try and make sense of env options vs babel options vs targets and bugfixes, I'm super confused right now.
2024-10-30 09:09:38 +00:00
Boshen
caaf00e081 fix(parser): fix incorrect parsed TSIndexSignature (#7016)
closes #6985
2024-10-30 07:34:22 +00:00
Boshen
a786dc2449
chore(.ignore): ignore snapshots 2024-10-30 13:30:19 +08:00
Boshen
0ae4cd6630
chore(justfile): improve watch command 2024-10-30 11:51:31 +08:00
ottomated
854870e296 feat(ast): Label AST fields with #[ts] (#6987)
I think I found all of the AST fields that are typescript-only but I could be wrong. I did label decorators as `#[ts]` but not sure if that's correct.
2024-10-30 03:44:05 +00:00
camchenry
147e2e4858 fix(linter): allow replacing rule when none are enabled yet (#7014)
fixes https://github.com/oxc-project/oxc/issues/7009

allows rules to be replaced properly when the `rules_for_override` array is empty (e.g., if you initially disable all rules, then configure them) by checking the `all_rules` array if the first `find` call fails
2024-10-30 03:39:03 +00:00
renovate
4b3e1223fe chore(deps): update npm packages (#6861)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@types/node](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node) ([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node)) | [`22.8.1` -> `22.8.4`](https://renovatebot.com/diffs/npm/@types%2fnode/22.8.1/22.8.4) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnode/22.8.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fnode/22.8.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fnode/22.8.1/22.8.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnode/22.8.1/22.8.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@types/vscode](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/vscode) ([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/vscode)) | [`1.80.0` -> `1.95.0`](https://renovatebot.com/diffs/npm/@types%2fvscode/1.80.0/1.95.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fvscode/1.95.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fvscode/1.95.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fvscode/1.80.0/1.95.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fvscode/1.80.0/1.95.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [pnpm](https://pnpm.io) ([source](https://redirect.github.com/pnpm/pnpm/tree/HEAD/pnpm)) | [`9.12.1` -> `9.12.3`](https://renovatebot.com/diffs/npm/pnpm/9.12.1/9.12.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/pnpm/9.12.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/pnpm/9.12.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/pnpm/9.12.1/9.12.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/pnpm/9.12.1/9.12.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>pnpm/pnpm (pnpm)</summary>

### [`v9.12.3`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#9123)

[Compare Source](https://redirect.github.com/pnpm/pnpm/compare/v9.12.2...v9.12.3)

##### Patch Changes

-   Don't purge `node_modules`, when typing "n" in the prompt that asks whether to remove `node_modules` before installation [#&#8203;8655](https://redirect.github.com/pnpm/pnpm/pull/8655).
-   Fix a bug causing pnpm to infinitely spawn itself when `manage-package-manager-versions=true` is set and the `.tools` directory is corrupt.
-   Use `crypto.hash`, when available, for improved performance [#&#8203;8629](https://redirect.github.com/pnpm/pnpm/pull/8629).
-   Fixed a race condition in temporary file creation in the store by including worker thread ID in filename. Previously, multiple worker threads could attempt to use the same temporary file. Temporary files now include both process ID and thread ID for uniqueness [#&#8203;8703](https://redirect.github.com/pnpm/pnpm/pull/8703).
-   All commands should read settings from the `package.json` at the root of the workspace [#&#8203;8667](https://redirect.github.com/pnpm/pnpm/issues/8667).
-   When `manage-package-manager-versions` is set to `true`, errors spawning a self-managed version of `pnpm` will now be shown (instead of being silent).
-   Pass the find command to npm, it is an alias for npm search

### [`v9.12.2`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#9122)

[Compare Source](https://redirect.github.com/pnpm/pnpm/compare/v9.12.1...v9.12.2)

##### Patch Changes

-   When checking whether a file in the store has executable permissions, the new approach checks if at least one of the executable bits (owner, group, and others) is set to 1. Previously, a file was incorrectly considered executable only when all the executable bits were set to 1. This fix ensures that files with any executable permission, regardless of the user class, are now correctly identified as executable [#&#8203;8546](https://redirect.github.com/pnpm/pnpm/issues/8546).

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "before 10am on monday" in timezone Asia/Shanghai, Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://redirect.github.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/oxc-project/oxc).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4xMjAuMSIsInVwZGF0ZWRJblZlciI6IjM4LjEzMy4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
2024-10-30 03:31:05 +00:00
Boshen
d15e408256 fix(napi/transform): fix 'typescript.declaration' option not working (#7012)
fixes #7010
2024-10-30 03:21:08 +00:00
Dmitry Zakharov
a6fcd812b3
feat(linter): add import/no-commonjs rule (#6978) 2024-10-29 22:15:30 -04:00
Boshen
55637c248e
chore: remove assignee from linter bug report 2024-10-30 09:39:53 +08:00
Boshen
f0c87d453d refactor(transformer): mark all EnvOptions as not implemented (#7004) 2024-10-29 15:05:18 +00:00
Dunqing
562bb9af7f refactor(transformer/async-to-generator): move transform methods to AsyncGeneratorExecutor and make it public (#6992)
The `AsyncGeneratorExecutor` contains many transform methods which both can used in `async-to-generator` and `async-generator-functions` plugins, because their implementations are almost the same. I am still not sure where is the best place to place it.
2024-10-29 13:54:22 +00:00
Boshen
d9edef6ae1 refactor(transformer): combine ObjectRestSpread into a single file (#7002) 2024-10-29 13:21:46 +00:00
overlookmotel
e5ecbb9bf1 refactor(transformer/jsx): return &mut T not &mut ArenaBox<T> (#7001)
`&mut ArenaBox<T>` is a double-reference. `&mut T` is shorter and easier to read.
2024-10-29 13:00:50 +00:00
overlookmotel
ae226710f2 refactor(transformer/typescript): pass &mut T not &mut ArenaBox<T> (#7000)
`&mut ArenaBox<T>` is a double-reference. `&mut T` is shorter and easier to read.
2024-10-29 13:00:49 +00:00
overlookmotel
c945fe71b3 refactor(transformer): import oxc_allocator::Box as ArenaBox (#6999)
Closes #6996.
2024-10-29 13:00:49 +00:00
overlookmotel
fc1af2e9da refactor(transformer): import oxc_allocator::Vec as ArenaVec (#6998)
Part of #6996.
2024-10-29 13:00:48 +00:00
overlookmotel
63e8bfeeec refactor(transformer): rename AString to ArenaString (#6997)
Part of #6996.
2024-10-29 13:00:48 +00:00
Boshen
9fd9f4f5b9 feat(linter)!: sync sindresorhus/globals; removed Object.prototype properties from builtin and es* globals (#6991) 2024-10-29 04:13:20 +00:00
Boshen
8cbf3f09d6
chore: replace bacon with watchexec 2024-10-29 11:50:58 +08:00
DonIsaac
8f1460eba3 refactor(linter): move LintPlugins from LintOptions to LintConfig (#6932)
Pure refactor. Moves plugin settings from linter options (which control the linter's behavior on a global level) and linter config ("which may or may not get adjusted on each file).
2024-10-29 01:28:21 +00:00
DonIsaac
1691cab507 feat(linter): support user-configurable secrets for oxc-security/api-keys (#5938) 2024-10-28 18:55:19 +00:00
Boshen
4b450cc985 chore(transformer): mark all CompilerAssumptions as not Implemented (#6984) 2024-10-28 15:35:32 +00:00
Boshen
4551baaf4a docs(linter): document rules (#6983)
closes #6370
2024-10-28 14:49:16 +00:00
Boshen
46e5360372
chore(deps): update crate-ci/typos action to v1.26.8 (#6981)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-28 22:02:05 +08:00
Boshen
b518670582
chore(coverage): remove known runtime issues 2024-10-28 21:38:37 +08:00
camchenry
c35d3f2ea2 test(linter): improve test failure output (#6975)
Improves the test output when a test fails, based on the type of expectation. The output now includes the config that was passed, as well as the source code that failed. Additional formatting makes it a little bit easier to parse.

Before:

<img width="818" alt="Screenshot 2024-10-27 at 11 54 02 PM" src="https://github.com/user-attachments/assets/bac4079c-566a-403b-adde-acdc709baceb">

&nbsp;

<img width="792" alt="Screenshot 2024-10-27 at 11 54 56 PM" src="https://github.com/user-attachments/assets/16074216-00ad-4cdc-9f47-09142242111d">

---

After:

<img width="784" alt="Screenshot 2024-10-27 at 11 49 36 PM" src="https://github.com/user-attachments/assets/5d687562-55f4-4e4f-aa3a-c90b90b714e8">

&nbsp;

<img width="820" alt="Screenshot 2024-10-27 at 11 58 56 PM" src="https://github.com/user-attachments/assets/0725d362-7aed-4fd0-9fab-93a7687aca6d">
2024-10-28 12:55:24 +00:00
Boshen
fa9a4ecd4a perf(parser): check . before [ in parse_member_expression_rest (#6979) 2024-10-28 11:00:28 +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
dalaoshu
7aa496ab33
fix(linter): remove unsafe fixer of no-useless-spread (#6655)
closes #6618

---------

Co-authored-by: Boshen <boshenc@gmail.com>
2024-10-28 17:32:02 +08:00
Boshen
14f36ce3f9
chore(task/lint_rules): change not supported to "no need to implement"
closes #6822
2024-10-28 17:29:29 +08:00
renovate
56f5506ca9 chore(deps): update rust crates (#6961)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [encoding_rs](https://docs.rs/encoding_rs/) ([source](https://redirect.github.com/hsivonen/encoding_rs)) | workspace.dependencies | patch | `0.8.34` -> `0.8.35` |
| [handlebars](https://redirect.github.com/sunng87/handlebars-rust) | workspace.dependencies | minor | `6.1.0` -> `6.2.0` |
| [insta](https://insta.rs/) ([source](https://redirect.github.com/mitsuhiko/insta)) | workspace.dependencies | minor | `1.40.0` -> `1.41.0` |
| [prettyplease](https://redirect.github.com/dtolnay/prettyplease) | workspace.dependencies | patch | `0.2.24` -> `0.2.25` |
| [regex](https://redirect.github.com/rust-lang/regex) | workspace.dependencies | patch | `1.11.0` -> `1.11.1` |
| [saphyr](https://redirect.github.com/saphyr-rs/saphyr) | workspace.dependencies | patch | `0.0.1` -> `0.0.3` |
| [serde](https://serde.rs) ([source](https://redirect.github.com/serde-rs/serde)) | workspace.dependencies | patch | `1.0.210` -> `1.0.213` |
| [tokio](https://tokio.rs) ([source](https://redirect.github.com/tokio-rs/tokio)) | workspace.dependencies | minor | `1.40.0` -> `1.41.0` |

---

### Release Notes

<details>
<summary>hsivonen/encoding_rs (encoding_rs)</summary>

### [`v0.8.35`](https://redirect.github.com/hsivonen/encoding_rs/compare/v0.8.34...v0.8.35)

[Compare Source](https://redirect.github.com/hsivonen/encoding_rs/compare/v0.8.34...v0.8.35)

</details>

<details>
<summary>sunng87/handlebars-rust (handlebars)</summary>

### [`v6.2.0`](https://redirect.github.com/sunng87/handlebars-rust/blob/HEAD/CHANGELOG.md#620---2024-10-26)

[Compare Source](https://redirect.github.com/sunng87/handlebars-rust/compare/v6.1.0...v6.2.0)

-   \[Added] `@index` variable for object iteration \[[#&#8203;682](https://redirect.github.com/sunng87/handlebars-rust/issues/682)]
-   \[Changed] improve number comparison between different types \[[#&#8203;679](https://redirect.github.com/sunng87/handlebars-rust/issues/679)]

</details>

<details>
<summary>mitsuhiko/insta (insta)</summary>

### [`v1.41.0`](https://redirect.github.com/mitsuhiko/insta/blob/HEAD/CHANGELOG.md#1410)

[Compare Source](https://redirect.github.com/mitsuhiko/insta/compare/1.40.0...1.41.0)

-   Experimental support for binary snapshots.  [#&#8203;610](https://redirect.github.com/mitsuhiko/insta/issues/610) (Florian Plattner)

-   `--force-update-snapshots` now causes `cargo-insta` to write every snapshot, regardless of whether
    snapshots fully match, and now implies `--accept`.  This
    allows for `--force-update-snapshots` to update inline snapshots'
    delimiters and indentation.

    For the previous behavior of `--force-update-snapshots`, which limited writes to
    snapshots which didn't fully match, use `--require-full-match`.
    The main difference between `--require-full-match` and the existing behavior of `--force-update-snapshots`
    is a non-zero exit code on any snapshots which don't fully match.

    Like the previous behavior or `--force-update-snapshots`, `--require-full-match`
    doesn't track inline snapshots' delimiters or
    indentation, so can't update if those don't match.  [#&#8203;644](https://redirect.github.com/mitsuhiko/insta/issues/644)

-   Inline snapshots only use `#` characters as delimiters when required.  [#&#8203;603](https://redirect.github.com/mitsuhiko/insta/issues/603)

-   Warnings for undiscovered snapshots are more robust, and include files with
    custom snapshot extensions.  [#&#8203;637](https://redirect.github.com/mitsuhiko/insta/issues/637)

-   Insta runs correctly on packages which reference rust files in a parent path.  [#&#8203;626](https://redirect.github.com/mitsuhiko/insta/issues/626)

-   Warnings are printed when any snapshot uses a legacy format.  [#&#8203;599](https://redirect.github.com/mitsuhiko/insta/issues/599)

-   `cargo insta --version` now prints a version.  [#&#8203;665](https://redirect.github.com/mitsuhiko/insta/issues/665)

-   `insta` now internally uses `INSTA_UPDATE=force` rather than
    `INSTA_FORCE_UPDATE=1`.  (This doesn't affect users of `cargo-insta`, which
    handles this internally.)  [#&#8203;482](https://redirect.github.com/mitsuhiko/insta/issues/482)

-   `cargo-insta`'s integration tests continue to grow over the past couple of versions,
    and now offer coverage of most of `cargo-insta`'s interface.

</details>

<details>
<summary>dtolnay/prettyplease (prettyplease)</summary>

### [`v0.2.25`](https://redirect.github.com/dtolnay/prettyplease/releases/tag/0.2.25)

[Compare Source](https://redirect.github.com/dtolnay/prettyplease/compare/0.2.24...0.2.25)

-   Print safe and explicitly unsafe foreign items ([#&#8203;85](https://redirect.github.com/dtolnay/prettyplease/issues/85), [https://github.com/rust-lang/rust/issues/123743](https://redirect.github.com/rust-lang/rust/issues/123743))

</details>

<details>
<summary>rust-lang/regex (regex)</summary>

### [`v1.11.1`](https://redirect.github.com/rust-lang/regex/blob/HEAD/CHANGELOG.md#1111-2024-10-24)

[Compare Source](https://redirect.github.com/rust-lang/regex/compare/1.11.0...1.11.1)

\===================
This is a new patch release of `regex` that fixes compilation on nightly
Rust when the unstable `pattern` crate feature is enabled. Users on nightly
Rust without this feature enabled are unaffected.

Bug fixes:

-   [BUG #&#8203;1231](https://redirect.github.com/rust-lang/regex/issues/1231):
    Fix the `Pattern` trait implementation as a result of nightly API breakage.

</details>

<details>
<summary>saphyr-rs/saphyr (saphyr)</summary>

### [`v0.0.3`](https://redirect.github.com/saphyr-rs/saphyr/compare/v0.0.1...v0.0.3)

[Compare Source](https://redirect.github.com/saphyr-rs/saphyr/compare/v0.0.1...v0.0.3)

</details>

<details>
<summary>serde-rs/serde (serde)</summary>

### [`v1.0.213`](https://redirect.github.com/serde-rs/serde/releases/tag/v1.0.213)

[Compare Source](https://redirect.github.com/serde-rs/serde/compare/v1.0.212...v1.0.213)

-   Fix support for macro-generated `with` attributes inside a newtype struct ([#&#8203;2847](https://redirect.github.com/serde-rs/serde/issues/2847))

### [`v1.0.212`](https://redirect.github.com/serde-rs/serde/releases/tag/v1.0.212)

[Compare Source](https://redirect.github.com/serde-rs/serde/compare/v1.0.211...v1.0.212)

-   Fix hygiene of macro-generated local variable accesses in serde(with) wrappers ([#&#8203;2845](https://redirect.github.com/serde-rs/serde/issues/2845))

### [`v1.0.211`](https://redirect.github.com/serde-rs/serde/releases/tag/v1.0.211)

[Compare Source](https://redirect.github.com/serde-rs/serde/compare/v1.0.210...v1.0.211)

-   Improve error reporting about mismatched signature in `with` and `default` attributes ([#&#8203;2558](https://redirect.github.com/serde-rs/serde/issues/2558), thanks [@&#8203;Mingun](https://redirect.github.com/Mingun))
-   Show variant aliases in error message when variant deserialization fails ([#&#8203;2566](https://redirect.github.com/serde-rs/serde/issues/2566), thanks [@&#8203;Mingun](https://redirect.github.com/Mingun))
-   Improve binary size of untagged enum and internally tagged enum deserialization by about 12% ([#&#8203;2821](https://redirect.github.com/serde-rs/serde/issues/2821))

</details>

<details>
<summary>tokio-rs/tokio (tokio)</summary>

### [`v1.41.0`](https://redirect.github.com/tokio-rs/tokio/releases/tag/tokio-1.41.0): Tokio v1.41.0

[Compare Source](https://redirect.github.com/tokio-rs/tokio/compare/tokio-1.40.0...tokio-1.41.0)

##### 1.41.0 (Oct 22th, 2024)

##### Added

-   metrics: stabilize `global_queue_depth` ([#&#8203;6854], [#&#8203;6918])
-   net: add conversions for unix `SocketAddr` ([#&#8203;6868])
-   sync: add `watch::Sender::sender_count` ([#&#8203;6836])
-   sync: add `mpsc::Receiver::blocking_recv_many` ([#&#8203;6867])
-   task: stabilize `Id` apis ([#&#8203;6793], [#&#8203;6891])

##### Added (unstable)

-   metrics: add H2 Histogram option to improve histogram granularity ([#&#8203;6897])
-   metrics: rename some histogram apis ([#&#8203;6924])
-   runtime: add `LocalRuntime` ([#&#8203;6808])

##### Changed

-   runtime: box futures larger than 16k on release mode ([#&#8203;6826])
-   sync: add `#[must_use]` to `Notified` ([#&#8203;6828])
-   sync: make `watch` cooperative ([#&#8203;6846])
-   sync: make `broadcast::Receiver` cooperative ([#&#8203;6870])
-   task: add task size to tracing instrumentation ([#&#8203;6881])
-   wasm: enable `cfg_fs` for `wasi` target ([#&#8203;6822])

##### Fixed

-   net: fix regression of abstract socket path in unix socket ([#&#8203;6838])

##### Documented

-   io: recommend `OwnedFd` with `AsyncFd` ([#&#8203;6821])
-   io: document cancel safety of `AsyncFd` methods ([#&#8203;6890])
-   macros: render more comprehensible documentation for `join` and `try_join` ([#&#8203;6814], [#&#8203;6841])
-   net: fix swapped examples for `TcpSocket::set_nodelay` and `TcpSocket::nodelay` ([#&#8203;6840])
-   sync: document runtime compatibility ([#&#8203;6833])

[#&#8203;6793]: https://redirect.github.com/tokio-rs/tokio/pull/6793

[#&#8203;6808]: https://redirect.github.com/tokio-rs/tokio/pull/6808

[#&#8203;6810]: https://redirect.github.com/tokio-rs/tokio/pull/6810

[#&#8203;6814]: https://redirect.github.com/tokio-rs/tokio/pull/6814

[#&#8203;6821]: https://redirect.github.com/tokio-rs/tokio/pull/6821

[#&#8203;6822]: https://redirect.github.com/tokio-rs/tokio/pull/6822

[#&#8203;6826]: https://redirect.github.com/tokio-rs/tokio/pull/6826

[#&#8203;6828]: https://redirect.github.com/tokio-rs/tokio/pull/6828

[#&#8203;6833]: https://redirect.github.com/tokio-rs/tokio/pull/6833

[#&#8203;6836]: https://redirect.github.com/tokio-rs/tokio/pull/6836

[#&#8203;6838]: https://redirect.github.com/tokio-rs/tokio/pull/6838

[#&#8203;6840]: https://redirect.github.com/tokio-rs/tokio/pull/6840

[#&#8203;6841]: https://redirect.github.com/tokio-rs/tokio/pull/6841

[#&#8203;6846]: https://redirect.github.com/tokio-rs/tokio/pull/6846

[#&#8203;6854]: https://redirect.github.com/tokio-rs/tokio/pull/6854

[#&#8203;6867]: https://redirect.github.com/tokio-rs/tokio/pull/6867

[#&#8203;6868]: https://redirect.github.com/tokio-rs/tokio/pull/6868

[#&#8203;6870]: https://redirect.github.com/tokio-rs/tokio/pull/6870

[#&#8203;6881]: https://redirect.github.com/tokio-rs/tokio/pull/6881

[#&#8203;6890]: https://redirect.github.com/tokio-rs/tokio/pull/6890

[#&#8203;6891]: https://redirect.github.com/tokio-rs/tokio/pull/6891

[#&#8203;6897]: https://redirect.github.com/tokio-rs/tokio/pull/6897

[#&#8203;6918]: https://redirect.github.com/tokio-rs/tokio/pull/6918

[#&#8203;6924]: https://redirect.github.com/tokio-rs/tokio/pull/6924

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "before 10am on monday" in timezone Asia/Shanghai, Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://redirect.github.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/oxc-project/oxc).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4xMjAuMSIsInVwZGF0ZWRJblZlciI6IjM4LjEyMC4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
2024-10-28 06:22:28 +00:00
overlookmotel
9e66c2949d refactor(transformer/react-refresh): small refactor (#6973)
Follow-on after #6937. Refactor 2 small blocks of code.

* Replace 2 `if` statements with 1.
* Obey the mighty clippy!
2024-10-28 02:57:55 +00:00
Albert Kaaman
610621cadf
feat(linter): implement react/style-prop-object (#6342)
Implements not recommended rule `react/style-prop-object`
(https://github.com/oxc-project/oxc/issues/1022)

---------

Co-authored-by: Don Isaac <donald.isaac@gmail.com>
2024-10-27 22:51:09 -04:00
ottomated
9725e3c2ec feat(ast_tools): Add #[estree(always_flatten)] to Span (#6935)
Part of #6347

Other changes:
- added #[estree(skip)] to thisSpan in TSThisParameter
- Flattened the span in BoundaryAssertion (regex)
2024-10-28 02:13:24 +00:00