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

chore: switch nyc to c8 #16263

Merged
merged 7 commits into from Sep 9, 2022
Merged

chore: switch nyc to c8 #16263

merged 7 commits into from Sep 9, 2022

Conversation

aladdin-add
Copy link
Member

@aladdin-add aladdin-add commented Aug 30, 2022

Prerequisites checklist

What is the purpose of this pull request? (put an "X" next to an item)

[ ] Documentation update
[ ] Bug fix (template)
[ ] New rule (template)
[ ] Changes an existing rule (template)
[ ] Add autofix to a rule
[ ] Add a CLI option
[ ] Add something to the core
[ x] Other, please explain:

What changes did you make? (Give an overview)

change nyc => c8, just like we had done in other eslint repos like eslint/eslintrc, eslint/espree.

Is there anything you'd like reviewers to focus on?

I encountered an issue: bcoe/c8#411, but seems it has been fixed after upgrade c8 to v7.12.0(latest).

@eslint-github-bot eslint-github-bot bot added chore This change is not user-facing triage An ESLint team member will look at this issue soon labels Aug 30, 2022
@netlify
Copy link

netlify bot commented Aug 30, 2022

Deploy Preview for docs-eslint canceled.

Name Link
🔨 Latest commit 82b3ded
🔍 Latest deploy log https://app.netlify.com/sites/docs-eslint/deploys/631aa63500581f0008296330

@aladdin-add aladdin-add marked this pull request as ready for review August 30, 2022 09:38
Copy link
Member

@mdjermanovic mdjermanovic left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The coverage summary looks significantly different?

This branch (c8):

=============================== Coverage summary ===============================
Statements   : 99.09% ( 76580/77279 )
Branches     : 98.27% ( 14688/14946 )
Functions    : 99% ( 3200/3232 )
Lines        : 99.09% ( 76580/77279 )
================================================================================

main branch (nyc):

=============================== Coverage summary ===============================
Statements   : 98.53% ( 16639/16886 )
Branches     : 97.31% ( 13882/14265 )
Functions    : 99.27% ( 3717/3744 )
Lines        : 98.53% ( 16367/16611 )
================================================================================

@aladdin-add aladdin-add marked this pull request as draft August 30, 2022 10:48
@aladdin-add
Copy link
Member Author

not sure why, I'll try to investigate it later.

@aladdin-add
Copy link
Member Author

nyc:
image

c8:
image

I had compared the 2 result: seems c8 has differently counted linebreaks/comments(as it's using Node.js' built in functionality). another issue is related to v8 itself: bcoe/c8#227

@nzakas
Copy link
Member

nzakas commented Sep 1, 2022

Yeah, nyc uses instrumentation, which can affect the results. I think c8 is likely more accurate than nyc was.

Copy link
Member

@nzakas nzakas left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. Just want another set of eyes to review before merging.

Copy link
Contributor

@AriPerkkio AriPerkkio left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, nyc uses instrumentation, which can affect the results. I think c8 is likely more accurate than nyc was.

Just out of curiosity - more accurate in what way? With istanbul it's possible to be very precise where exactly the coverage is wanted to collect from. Native v8 coverage doesn't provide such control. Also processing the v8's results seems very difficult and is thus limited.

There is a great summary from jest regarding istanbul -> c8 migrations, jestjs/jest#11188. This explains some of the coverage differences between the two.

lib/linter/code-path-analysis/code-path-segment.js Outdated Show resolved Hide resolved
@aladdin-add
Copy link
Member Author

@AriPerkkio One thing I should have mentioned earilier: the main reason migrating to c8 is we want to migrate eslint codebase to esm: #15560

it does not have an `else`, so seems no longer needed.
@aladdin-add aladdin-add merged commit 1c388fb into eslint:main Sep 9, 2022
@aladdin-add aladdin-add deleted the chore/c8 branch September 9, 2022 10:41
crapStone pushed a commit to Calciumdibromid/CaBr2 that referenced this pull request Sep 22, 2022
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [eslint](https://eslint.org) ([source](https://github.com/eslint/eslint)) | devDependencies | patch | [`8.23.0` -> `8.23.1`](https://renovatebot.com/diffs/npm/eslint/8.23.0/8.23.1) |

---

### Release Notes

<details>
<summary>eslint/eslint</summary>

### [`v8.23.1`](https://github.com/eslint/eslint/releases/tag/v8.23.1)

[Compare Source](eslint/eslint@v8.23.0...v8.23.1)

#### Bug Fixes

-   [`b719893`](eslint/eslint@b719893) fix: Upgrade eslintrc to stop redefining plugins ([#&#8203;16297](eslint/eslint#16297)) (Brandon Mills)
-   [`734b54e`](eslint/eslint@734b54e) fix: improve autofix for the `prefer-const` rule ([#&#8203;16292](eslint/eslint#16292)) (Nitin Kumar)
-   [`6a923ff`](eslint/eslint@6a923ff) fix: Ensure that glob patterns are normalized ([#&#8203;16287](eslint/eslint#16287)) (Nicholas C. Zakas)
-   [`c6900f8`](eslint/eslint@c6900f8) fix: Ensure globbing doesn't include subdirectories ([#&#8203;16272](eslint/eslint#16272)) (Nicholas C. Zakas)

#### Documentation

-   [`16cba3f`](eslint/eslint@16cba3f) docs: fix mobile double tap issue ([#&#8203;16293](eslint/eslint#16293)) (Sam Chen)
-   [`e098b5f`](eslint/eslint@e098b5f) docs: keyboard control to search results ([#&#8203;16222](eslint/eslint#16222)) (Shanmughapriyan S)
-   [`1b5b2a7`](eslint/eslint@1b5b2a7) docs: add Consolas font and prioritize resource loading ([#&#8203;16225](eslint/eslint#16225)) (Amaresh  S M)
-   [`1ae8236`](eslint/eslint@1ae8236) docs: copy & use main package version in docs on release ([#&#8203;16252](eslint/eslint#16252)) (Jugal Thakkar)
-   [`279f0af`](eslint/eslint@279f0af) docs: Improve id-denylist documentation ([#&#8203;16223](eslint/eslint#16223)) (Mert Ciflikli)

#### Chores

-   [`38e8171`](eslint/eslint@38e8171) perf: migrate rbTree to js-sdsl ([#&#8203;16267](eslint/eslint#16267)) (Zilong Yao)
-   [`1c388fb`](eslint/eslint@1c388fb) chore: switch nyc to c8 ([#&#8203;16263](eslint/eslint#16263)) (唯然)
-   [`67db10c`](eslint/eslint@67db10c) chore: enable linting `.eleventy.js` again ([#&#8203;16274](eslint/eslint#16274)) (Milos Djermanovic)
-   [`42bfbd7`](eslint/eslint@42bfbd7) chore: fix `npm run perf` crashes ([#&#8203;16258](eslint/eslint#16258)) (唯然)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

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

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzMi4xOTQuNSIsInVwZGF0ZWRJblZlciI6IjMyLjE5NC41In0=-->

Co-authored-by: cabr2-bot <cabr2.help@gmail.com>
Reviewed-on: https://codeberg.org/Calciumdibromid/CaBr2/pulls/1543
Reviewed-by: Epsilon_02 <epsilon_02@noreply.codeberg.org>
Co-authored-by: Calciumdibromid Bot <cabr2_bot@noreply.codeberg.org>
Co-committed-by: Calciumdibromid Bot <cabr2_bot@noreply.codeberg.org>
@eslint-github-bot eslint-github-bot bot locked and limited conversation to collaborators Mar 9, 2023
@eslint-github-bot eslint-github-bot bot added the archived due to age This issue has been archived; please open a new issue for any further discussion label Mar 9, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
archived due to age This issue has been archived; please open a new issue for any further discussion chore This change is not user-facing triage An ESLint team member will look at this issue soon
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants