Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(linter/oxc): differentiate between array/object in no-accumulating-spread loop diagnostic #5375

Conversation

camc314
Copy link
Contributor

@camc314 camc314 commented Aug 31, 2024

when reporting diagnotics for code such as

let foo = {};
for (let i = 0; i < 10; i++) {
    foo = { ...foo, [i]: i };
}

we do not currently differentiate the diagnostic message between object/array.
this PR changes this to help the user fix ths issue

Copy link

graphite-app bot commented Aug 31, 2024

Your org has enabled the Graphite merge queue for merging into main

Add the label “merge” to the PR and Graphite will automatically add it to the merge queue when it’s ready to merge. Or use the label “hotfix” to add to the merge queue as a hot fix.

You must have a Graphite account and log in to Graphite in order to use the merge queue. Sign up using this link.

@github-actions github-actions bot added the A-linter Area - Linter label Aug 31, 2024
@camc314 camc314 marked this pull request as ready for review August 31, 2024 18:55
@camc314 camc314 requested a review from DonIsaac August 31, 2024 18:56
Copy link

codspeed-hq bot commented Aug 31, 2024

CodSpeed Performance Report

Merging #5375 will not alter performance

Comparing c/08-31-feat_linter_oxc_differentiate_between_array_object_in_no-accumulating-spread_loop_diagnostic (8d781e7) with main (db55444)

Summary

✅ 28 untouched benchmarks

Copy link

graphite-app bot commented Aug 31, 2024

Merge activity

…ing-spread` loop diagnostic (#5375)

when reporting diagnotics for code such as

```ts
let foo = {};
for (let i = 0; i < 10; i++) {
    foo = { ...foo, [i]: i };
}
```

we do not currently differentiate the diagnostic message between object/array.
this PR changes this to help the user fix ths issue
@DonIsaac DonIsaac force-pushed the c/08-31-refactor_linter_oxc_improve_diagnostic_for_no-accumulating-spread_in_loops branch from b4e686e to 69493d2 Compare August 31, 2024 20:52
@DonIsaac DonIsaac force-pushed the c/08-31-feat_linter_oxc_differentiate_between_array_object_in_no-accumulating-spread_loop_diagnostic branch from 4c3df86 to 8d781e7 Compare August 31, 2024 20:53
Base automatically changed from c/08-31-refactor_linter_oxc_improve_diagnostic_for_no-accumulating-spread_in_loops to main August 31, 2024 20:58
@graphite-app graphite-app bot merged commit 8d781e7 into main Aug 31, 2024
25 checks passed
@graphite-app graphite-app bot deleted the c/08-31-feat_linter_oxc_differentiate_between_array_object_in_no-accumulating-spread_loop_diagnostic branch August 31, 2024 21:00
@oxc-bot oxc-bot mentioned this pull request Sep 2, 2024
Boshen added a commit that referenced this pull request Sep 2, 2024
## [0.9.2] - 2024-09-02

### Features

- f81e8a1 linter: Add `oxc/no-async-endpoint-handlers` (#5364)
(DonIsaac)
- b103737 linter: Improve no-accumulating-spread (#5302) (camc314)
- 9c22ce9 linter: Add hyperlinks to diagnostic messages (#5318)
(DonIsaac)
- 1967c67 linter/eslint: Implement no-new-func (#5360) (dalaoshu)
- b867e5f linter/eslint-plugin-promise: Implement catch-or-return
(#5121) (Jelle van der Waa)
- 8d781e7 linter/oxc: Differentiate between array/object in
`no-accumulating-spread` loop diagnostic (#5375) (camc314)
- db55444 linter/oxc: Add fixer for `double-comparisons` (#5378)
(camc314)
- e5c755a linter/promise: Add `spec-only` rule (#5124) (Jelle van der
Waa)
- 4c0861f linter/unicorn: Add fixer for `prefer-type-error` (#5311)
(camc314)
- 084c2d1 linter/vitest: Implement prefer-to-be-object (#5321)
(dalaoshu)

### Bug Fixes

- 11b93af linter/unicorn: Consistent-function-scoping false positive on
assignment expression (#5312) (Arian94)

### Performance

- f052a6d linter: `react/jsx_no_undef` faster check for unbound
references (#5349) (overlookmotel)
- 05636b7 linter: Avoid unnecessary work in `jsx_a11y/anchor_is_valid`
rule (#5341) (overlookmotel)

### Refactor

- afb038e linter: `react/jsx_no_undef` use loop instead of recursion
(#5347) (overlookmotel)
- fe62687 linter: Simplify skipping JSX elements in
`unicorn/consistent_function_scoping` (#5351) (overlookmotel)
- 381d9fe linter: Shorten code in `react/jsx_no_useless_fragment`
(#5350) (overlookmotel)
- 83b9a82 linter: Fix indentation in
`nextjs/no_script_component_in_head` rule (#5338) (overlookmotel)
- 89f0188 linter: Improve docs for `react/jsx_no_target_blank` rule
(#5342) (overlookmotel)
- 57050ab linter: Shorten code in
`jsx_a11y/aria_activedescendant_has_tabindex` rule (#5340)
(overlookmotel)
- ed31d67 linter/jest: Fix indentation in code comment (#5372) (camc314)
- 2499cb9 linter/oxc: Update rule docs for `erasing-op` (#5376)
(camc314)
- 69493d2 linter/oxc: Improve diagnostic for `no-accumulating-spread` in
loops (#5374) (camc314)
- 024b585 linter/oxc: Improve code comment for `no-accumulating-spread`
(#5373) (camc314)

Co-authored-by: Boshen <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-linter Area - Linter
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants