oxc-project
oxc
Blog
Docs
Changelog
Blog
Docs
Changelog
Overview
Branches
Benchmarks
Runs
Performance History
Latest Results
fix(linter): mark consistent-type-definitions fix as dangerous inside declare global blocks Fixes #16743
c/12-11-fix_linter_mark_consistent-type-definitions_fix_as_dangerous_inside_declare_global_blocks
2 minutes ago
feat(linter): implement eslint/no-implicit-coercion rule (#16735) ## Summary Implements the ESLint `no-implicit-coercion` rule which disallows shorthand type conversions. ### Detected patterns | Pattern | Type | Suggested Fix | |---------|------|---------------| | `!!foo` | boolean | `Boolean(foo)` | | `+foo` | number | `Number(foo)` | | `1 * foo` / `foo * 1` | number | `Number(foo)` | | `foo - 0` | number | `Number(foo)` | | `- -foo` | number | `Number(foo)` | | `"" + foo` / `foo + ""` | string | `String(foo)` | | `~foo.indexOf()` | boolean | - | | `` `${foo}` `` | string | `String(foo)` | ### Configuration options ```json { "boolean": true, "number": true, "string": true, "disallowTemplateShorthand": false, "allow": ["!!", "+"] } ``` ### References - ESLint rule: https://eslint.org/docs/latest/rules/no-implicit-coercion ## Test plan - [x] Added comprehensive test cases covering all coercion patterns - [x] Tests pass locally - [x] Clippy passes with no warnings --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> Co-authored-by: Cameron Clark <cameron.clark@hey.com>
main
10 minutes ago
perf(linter/no-implicit-coercion): use bitflags for allow list Replace `Vec<CompactStr>` with `AllowedOperators` bitflags for checking allowed operators. Since the set of valid operators is fixed and small (6 values), bitflags provide O(1) lookup via bit operations instead of O(n) iteration, and avoid heap allocation for the Vec. The custom `Deserialize` impl uses a `Visitor` to parse directly from the JSON array without intermediate allocation, and now reports an error for unrecognized operator strings instead of silently ignoring them.
tt-a1i:feat/linter-no-implicit-coercion
22 minutes ago
fix(linter): remove unnecessary hashes in raw string literals
tt-a1i:feat/linter-no-implicit-coercion
32 minutes ago
refactor(linter): use DefaultRuleConfig and is_number_value - Use DefaultRuleConfig for simpler configuration parsing - Replace is_number_one helper with existing Expression::is_number_value
tt-a1i:feat/linter-no-implicit-coercion
2 hours ago
[autofix.ci] apply automated fixes
tt-a1i:feat/linter-no-implicit-coercion
2 hours ago
refactor(linter/no-implicit-coercion): improve code quality - Rename is_number_call to is_already_numeric for clarity - Extract repeated diagnostic logic into report_coercion helper - Add CoercionKind enum for type-safe coercion classification - Improve comments explaining template literal whitespace check
tt-a1i:feat/linter-no-implicit-coercion
2 hours ago
feat(linter): implement disallows using this in an exported function rule (#15745) ## Summary close: #15359 I implemented disallows using this in an exported function rule for oxc --------- Signed-off-by: Cameron <cameron.clark@hey.com> Co-authored-by: Cameron Clark <cameron.clark@hey.com> Co-authored-by: 翠 <green@sapphi.red> Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
main
2 hours ago
Active Branches
fix(linter): mark consistent-type-definitions fix as dangerous inside declare global blocks
last run
2 minutes ago
#16745
CodSpeed Performance Gauge
0%
fix(transformer): add `this` param to jsxDEV in automatic dev mode for class fields
last run
4 hours ago
#16674
CodSpeed Performance Gauge
0%
fix(oxlint/lsp): report diagnostics referencing another file
last run
12 hours ago
#16715
CodSpeed Performance Gauge
0%
© 2025 CodSpeed Technology
Home
Terms
Privacy
Docs