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

Add depcheck for CI step to check for unused dependencies #1677

Merged
merged 25 commits into from
Aug 16, 2023

Conversation

anshgoyalevil
Copy link
Member

@anshgoyalevil anshgoyalevil commented Aug 14, 2023

Which problem is this PR solving?

Description of the changes

  • This PR adds a step in the unit-test workflow to check for unused dependencies using the depcheck package.
  • Certain dependencies which are installed but still being given in the output are put into .depcheckrc.json file to be ignored.
  • The --skip-missing flag is also added to ignore the missing deps warning

How was this change tested?

Notes:

Before merging this PR, all the unused deps which are neither added to the ignores array, not have been removed need to be removed. Thus PR #1675 needs to be merged before this one.
After that, this PR's branch needs to be updated with that code so that the Depcheck doesn't fail in CI for this or for upcoming PRs.

Checklist

"babel-plugin-inline-react-svg",
"jest-environment-jsdom"
],
"skip-missing": true
Copy link
Member

Choose a reason for hiding this comment

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

why should we skip missing?

Copy link
Member Author

@anshgoyalevil anshgoyalevil Aug 14, 2023

Choose a reason for hiding this comment

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

Missing deps would anyway be caught while linting because of error 'xyz' is not defined no-undef

Currently, we have the following as missing deps

Missing dependencies
* react-is: ./src/utils/ReactShallowRenderer.test.js // Already installed as it is a dep for react-test-renderer (The warning suggests adding it as an explicit package inside package.json
* react-select: ./src/components/common/VirtSelect.tsx // similar reason
* react-virtualized: ./src/components/common/VirtSelect.tsx // similar reason
* _: ./build/static/index-21cea8b1.js // it is a build file

Copy link
Member

Choose a reason for hiding this comment

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

if we use a dep directly in the code it should be declared explicitly, not relied on as a transitive dependency. So the "missing" section is not a false positive imo.

Copy link
Member Author

Choose a reason for hiding this comment

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

Agreed! Would install them explicitly. But, would still need to skip the build directory for checking the deps (As in case of * _: ./build/static/index-21cea8b1.js)

packages/jaeger-ui/.depcheckrc.json Outdated Show resolved Hide resolved
Comment on lines 6 to 7
"@types/react-dom",
"@types/react-router-redux",
Copy link
Member

Choose a reason for hiding this comment

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

these are just type declarations, why are they needed if no code imports them?

Copy link
Member Author

Choose a reason for hiding this comment

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

Type declarations are never imported inside the codebase. They are supplemented so that typescript doesn't throw type errors for the custom functions or components that are used inside the project.

Other type declarations are also not imported anywhere but are essential because of typescript compatibility.

@types/react-dom is for react and @types/react-router-redux is for react-router-redux and both of these packages are being used inside the project, so having their type declarations are necessary IMO.

Copy link
Member

Choose a reason for hiding this comment

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

so again, how do we automatically determine if a particular @types/xxx dependency is needed or not? Is there another tool in the TS ecosystem for that?

Copy link
Member Author

Choose a reason for hiding this comment

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

I couldn't find an exact tool for that, but there's another tool npm-check that uses depcheck behind the scenes.

I checked the results of npm-check and it didn't show any of @types/xxx dep as unused. Though, all other results were same. Maybe its parser is more correct.

@anshgoyalevil
Copy link
Member Author

@yurishkuro

I have done the following change by now:

  • Added a generateDepcheck.js script to generate a .depcheckrc.json file on the fly
  • The file would parse the babel options from babel-transform.js file and would use it in ignores array.
  • Added the 3 missing deps react-is, react-select, react-virtualized

@yurishkuro
Copy link
Member

CI is failing with

Unused devDependencies
* @svgr/babel-plugin-transform-svg-component
* @svgr/babel-preset
* @types/react-dom
* @types/react-router-redux
* ```

@codecov
Copy link

codecov bot commented Aug 15, 2023

Codecov Report

Patch and project coverage have no change.

Comparison is base (662a148) 96.01% compared to head (34dea32) 96.01%.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #1677   +/-   ##
=======================================
  Coverage   96.01%   96.01%           
=======================================
  Files         241      241           
  Lines        7560     7560           
  Branches     1985     1985           
=======================================
  Hits         7259     7259           
  Misses        301      301           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@anshgoyalevil
Copy link
Member Author

anshgoyalevil commented Aug 15, 2023

@yurishkuro CI is passing the checks now.
I have also included a fail-safe logic to the depcheck command which would fail the CI if there would be any unused dependency, but would still delete the file that is generated. So in case a user runs this locally, it won't get git pushed.

Should I give on an example by producing a unused dep error?

package.json Outdated Show resolved Hide resolved
package.json Outdated Show resolved Hide resolved
@anshgoyalevil
Copy link
Member Author

@yurishkuro I have added CI check for the plexus also. Checked everything manually, like deletion in case of exits, etc.

I also tried the Depcheck as a module, but it is not working because of its distribution problems.

package.json Outdated Show resolved Hide resolved
package.json Outdated Show resolved Hide resolved
scripts/run-depcheck.sh Outdated Show resolved Hide resolved
anshgoyalevil and others added 12 commits August 16, 2023 09:03
Signed-off-by: Ansh Goyal <[email protected]>
Signed-off-by: Ansh Goyal <[email protected]>
Signed-off-by: Ansh Goyal <[email protected]>
Signed-off-by: Ansh Goyal <[email protected]>
Signed-off-by: Ansh Goyal <[email protected]>
Bumps
[@testing-library/jest-dom](https://github.com/testing-library/jest-dom)
from 5.17.0 to 6.0.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/testing-library/jest-dom/releases"><code>@​testing-library/jest-dom</code>'s
releases</a>.</em></p>
<blockquote>
<h2>v6.0.0</h2>
<h1><a
href="https://github.com/testing-library/jest-dom/compare/v5.17.0...v6.0.0">6.0.0</a>
(2023-08-13)</h1>
<h3>Features</h3>
<ul>
<li>local types, supporting jest, <code>@​jest/globals</code>, vitest
(<a
href="https://github.com/testing-library/jest-dom/issues/511">#511</a>)
(<a
href="https://github.com/testing-library/jest-dom/commit/4b764b9f6a7b564d7f8ec0e9b0c6ba9cc875f2b8">4b764b9</a>)</li>
</ul>
<h3>BREAKING CHANGES</h3>
<ul>
<li>Removes the extend-expect script. Users should use
the default import path or one of the new test platform-specific
paths to automatically extend the appropriate &quot;expect&quot;
instance.</li>
</ul>
<p>extend-expect was not documented in the Readme, so this change should
have minimal impact.</p>
<p>Users can now use the following import paths to automatically extend
&quot;expect&quot; for their chosen test platform:</p>
<ul>
<li><code>@​testing-library/jest-dom</code> - jest
(<code>@​types/jest</code>)</li>
<li><code>@​testing-library/jest-dom/</code>jest-globals -
<code>@​jest/globals</code></li>
<li><code>@​testing-library/jest-dom/</code>vitest - vitest</li>
</ul>
<p>For example:</p>
<p>import '<code>@​testing-library/jest-dom/</code>jest-globals'</p>
<p>Importing from one of the above paths will augment the appropriate
matcher interface for the given test platform, assuming the import
is done in a .ts file that is included in the user's tsconfig.json.</p>
<p>It's also (still) possible to import the matchers directly without
side effects:</p>
<p>import * as matchers from
'<code>@​testing-library/jest-dom/</code>matchers'</p>
<ul>
<li>Update kcd-scripts</li>
<li>Drop node &lt; 14</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/testing-library/jest-dom/commit/4b764b9f6a7b564d7f8ec0e9b0c6ba9cc875f2b8"><code>4b764b9</code></a>
feat: local types, supporting jest, <code>@​jest/globals</code>, vitest
(<a
href="https://github.com/testing-library/jest-dom/issues/511">#511</a>)</li>
<li>See full diff in <a
href="https://github.com/testing-library/jest-dom/compare/v5.17.0...v6.0.0">compare
view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@testing-library/jest-dom&package-manager=npm_and_yarn&previous-version=5.17.0&new-version=6.0.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name> dependency` will close this
group update PR and stop Dependabot creating any more for the specific
dependency (unless you unignore this specific dependency or upgrade to
it yourself)
- `@dependabot unignore <dependency name> dependency` will remove all of
the ignore conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions

</details>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: Ansh Goyal <[email protected]>
<!--
!! Please DELETE this comment before posting.
We appreciate your contribution to the Jaeger project! 👋🎉
-->

## Which problem is this PR solving?
- <!-- Example: Resolves jaegertracing#123 -->

## Description of the changes
-

## How was this change tested?
-

## Checklist
- [ ] I have read
https://github.com/jaegertracing/jaeger/blob/master/CONTRIBUTING_GUIDELINES.md
- [ ] I have signed all commits
- [ ] I have added unit tests for the new functionality
- [ ] I have run lint and test steps successfully
  - for `jaeger`: `make lint test`
  - for `jaeger-ui`: `yarn lint` and `yarn test`

---------

Signed-off-by: Pavol Loffay <[email protected]>
Co-authored-by: Yuri Shkuro <[email protected]>
Signed-off-by: Ansh Goyal <[email protected]>
…an kinds (jaegertracing#1681)

## Which problem is this PR solving?
Resolves jaegertracing#660

## Description of the changes
VirtualizedTraceView now checks if kind is producer.

## How was this change tested?
I changed HotROD MySQL kind to producer and then tested it.

## Checklist
- [x] I have read
https://github.com/jaegertracing/jaeger/blob/master/CONTRIBUTING_GUIDELINES.md
- [x] I have signed all commits
- [x] I have added unit tests for the new functionality
- [x] I have run lint and test steps successfully
  - for `jaeger`: `make lint test`
  - for `jaeger-ui`: `yarn lint` and `yarn test`

![image](https://github.com/jaegertracing/jaeger-ui/assets/110763795/a28ca271-a4f7-422c-be28-49323ab3b62e)

Signed-off-by: wck-iipi <[email protected]>
Co-authored-by: Yuri Shkuro <[email protected]>
Signed-off-by: Ansh Goyal <[email protected]>
part of jaegertracing#1672

## What changes is this PR making?
- This PR removes the unused packages from packages/jaeger-ui
- The removed packages are:
   - `@svgr/babel-plugin-transform-svg-component`
   - `@svgr/babel-preset`
   - `@types/testing-library__jest-dom`
   - `@types/react-copy-to-clipboard`
   - `@types/recompose`
   - `tar`

## Checklist
- [x] I have read
https://github.com/jaegertracing/jaeger/blob/master/CONTRIBUTING_GUIDELINES.md
- [x] I have signed all commits
- [x] I have added unit tests for the new functionality
- [x] I have run lint and test steps successfully
  - for `jaeger`: `make lint test`
  - for `jaeger-ui`: `yarn lint` and `yarn test`

Signed-off-by: Ansh Goyal <[email protected]>
Bumps [eslint](https://github.com/eslint/eslint) from 8.46.0 to 8.47.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/eslint/eslint/releases">eslint's
releases</a>.</em></p>
<blockquote>
<h2>v8.47.0</h2>
<h2>Features</h2>
<ul>
<li><a
href="https://github.com/eslint/eslint/commit/53d750800b1c0c1f8c29393c488bb3167bb1d2a5"><code>53d7508</code></a>
feat: update regex for methods with <code>thisArg</code> (<a
href="https://github.com/eslint/eslint/issues/17439">#17439</a>)
(Francesco Trotta)</li>
</ul>
<h2>Bug Fixes</h2>
<ul>
<li><a
href="https://github.com/eslint/eslint/commit/631648ee0b51a8951ce576ccd4430e09c9c8bcae"><code>631648e</code></a>
fix: do not report on shadowed constructors in
<code>no-new-wrappers</code> (<a
href="https://github.com/eslint/eslint/issues/17447">#17447</a>)
(Francesco Trotta)</li>
</ul>
<h2>Documentation</h2>
<ul>
<li><a
href="https://github.com/eslint/eslint/commit/a766a48030d4359db76523d5b413d6332130e485"><code>a766a48</code></a>
docs: document lack of config file names (<a
href="https://github.com/eslint/eslint/issues/17442">#17442</a>)
(James)</li>
<li><a
href="https://github.com/eslint/eslint/commit/a1635d6198a8baf6571b3351e098e5ac960be887"><code>a1635d6</code></a>
docs: Update README (GitHub Actions Bot)</li>
<li><a
href="https://github.com/eslint/eslint/commit/47a08597966651975126dd6726939cd34f13b80e"><code>47a0859</code></a>
docs: update <code>require-unicode-regexp.md</code> as following up <a
href="https://github.com/eslint/eslint/issues/17402">#17402</a>
(<a
href="https://github.com/eslint/eslint/issues/17441">#17441</a>)
(SUZUKI Sosuke)</li>
<li><a
href="https://github.com/eslint/eslint/commit/fcdc85d3a6bc14970c3349cc8d6f3a47eca172a3"><code>fcdc85d</code></a>
docs: Update README (GitHub Actions Bot)</li>
<li><a
href="https://github.com/eslint/eslint/commit/2a92b6cc9520a27255520369206556e9841a3af8"><code>2a92b6c</code></a>
docs: update with &quot;Specifying Parser Options&quot; (<a
href="https://github.com/eslint/eslint/issues/17435">#17435</a>)
(Cheol-Won)</li>
<li><a
href="https://github.com/eslint/eslint/commit/d743ed3c06c62a639da0389ad27907b324ea1715"><code>d743ed3</code></a>
docs: add metadata for parser/processor (<a
href="https://github.com/eslint/eslint/issues/17438">#17438</a>)
(Huáng Jùnliàng)</li>
<li><a
href="https://github.com/eslint/eslint/commit/224376cd99a08394291a9584ad9c1ea1283673c6"><code>224376c</code></a>
docs: Update README (GitHub Actions Bot)</li>
<li><a
href="https://github.com/eslint/eslint/commit/a41a8e4a7da14726d6fce71a023f12101fd52fdb"><code>a41a8e4</code></a>
docs: update script names in README (<a
href="https://github.com/eslint/eslint/issues/17432">#17432</a>)
(Nitin Kumar)</li>
</ul>
<h2>Chores</h2>
<ul>
<li><a
href="https://github.com/eslint/eslint/commit/bf69aa6408f5403a88d8c9b71b0e58232b1ea833"><code>bf69aa6</code></a>
chore: Update dependencies (<a
href="https://github.com/eslint/eslint/issues/17456">#17456</a>)
(Nicholas C. Zakas)</li>
<li><a
href="https://github.com/eslint/eslint/commit/0e4576012ab938b880e6f27641bff55fb4313d20"><code>0e45760</code></a>
chore: package.json update for <code>@​eslint/js</code> release (ESLint
Jenkins)</li>
<li><a
href="https://github.com/eslint/eslint/commit/757bfe1c35b5ddab7042d388f8d21e834875fff5"><code>757bfe1</code></a>
chore: Remove add-to-triage (<a
href="https://github.com/eslint/eslint/issues/17450">#17450</a>)
(Nicholas C. Zakas)</li>
<li><a
href="https://github.com/eslint/eslint/commit/b066640b7040ec30f740dcc803511244fe19473b"><code>b066640</code></a>
chore: standardize npm script names (<a
href="https://github.com/eslint/eslint/issues/17431">#17431</a>)
(Nitin Kumar)</li>
<li><a
href="https://github.com/eslint/eslint/commit/6b2410f911dd2e3d915c879041c6e257d41a2f4e"><code>6b2410f</code></a>
chore: Update add-to-triage.yml (<a
href="https://github.com/eslint/eslint/issues/17444">#17444</a>)
(Nicholas C. Zakas)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/eslint/eslint/blob/main/CHANGELOG.md">eslint's
changelog</a>.</em></p>
<blockquote>
<p>v8.47.0 - August 11, 2023</p>
<ul>
<li><a
href="https://github.com/eslint/eslint/commit/bf69aa6408f5403a88d8c9b71b0e58232b1ea833"><code>bf69aa6</code></a>
chore: Update dependencies (<a
href="https://github.com/eslint/eslint/issues/17456">#17456</a>)
(Nicholas C. Zakas)</li>
<li><a
href="https://github.com/eslint/eslint/commit/0e4576012ab938b880e6f27641bff55fb4313d20"><code>0e45760</code></a>
chore: package.json update for <code>@​eslint/js</code> release (ESLint
Jenkins)</li>
<li><a
href="https://github.com/eslint/eslint/commit/631648ee0b51a8951ce576ccd4430e09c9c8bcae"><code>631648e</code></a>
fix: do not report on shadowed constructors in
<code>no-new-wrappers</code> (<a
href="https://github.com/eslint/eslint/issues/17447">#17447</a>)
(Francesco Trotta)</li>
<li><a
href="https://github.com/eslint/eslint/commit/757bfe1c35b5ddab7042d388f8d21e834875fff5"><code>757bfe1</code></a>
chore: Remove add-to-triage (<a
href="https://github.com/eslint/eslint/issues/17450">#17450</a>)
(Nicholas C. Zakas)</li>
<li><a
href="https://github.com/eslint/eslint/commit/b066640b7040ec30f740dcc803511244fe19473b"><code>b066640</code></a>
chore: standardize npm script names (<a
href="https://github.com/eslint/eslint/issues/17431">#17431</a>)
(Nitin Kumar)</li>
<li><a
href="https://github.com/eslint/eslint/commit/a766a48030d4359db76523d5b413d6332130e485"><code>a766a48</code></a>
docs: document lack of config file names (<a
href="https://github.com/eslint/eslint/issues/17442">#17442</a>)
(James)</li>
<li><a
href="https://github.com/eslint/eslint/commit/a1635d6198a8baf6571b3351e098e5ac960be887"><code>a1635d6</code></a>
docs: Update README (GitHub Actions Bot)</li>
<li><a
href="https://github.com/eslint/eslint/commit/6b2410f911dd2e3d915c879041c6e257d41a2f4e"><code>6b2410f</code></a>
chore: Update add-to-triage.yml (<a
href="https://github.com/eslint/eslint/issues/17444">#17444</a>)
(Nicholas C. Zakas)</li>
<li><a
href="https://github.com/eslint/eslint/commit/47a08597966651975126dd6726939cd34f13b80e"><code>47a0859</code></a>
docs: update <code>require-unicode-regexp.md</code> as following up <a
href="https://github.com/eslint/eslint/issues/17402">#17402</a>
(<a
href="https://github.com/eslint/eslint/issues/17441">#17441</a>)
(SUZUKI Sosuke)</li>
<li><a
href="https://github.com/eslint/eslint/commit/53d750800b1c0c1f8c29393c488bb3167bb1d2a5"><code>53d7508</code></a>
feat: update regex for methods with <code>thisArg</code> (<a
href="https://github.com/eslint/eslint/issues/17439">#17439</a>)
(Francesco Trotta)</li>
<li><a
href="https://github.com/eslint/eslint/commit/fcdc85d3a6bc14970c3349cc8d6f3a47eca172a3"><code>fcdc85d</code></a>
docs: Update README (GitHub Actions Bot)</li>
<li><a
href="https://github.com/eslint/eslint/commit/2a92b6cc9520a27255520369206556e9841a3af8"><code>2a92b6c</code></a>
docs: update with &quot;Specifying Parser Options&quot; (<a
href="https://github.com/eslint/eslint/issues/17435">#17435</a>)
(Cheol-Won)</li>
<li><a
href="https://github.com/eslint/eslint/commit/d743ed3c06c62a639da0389ad27907b324ea1715"><code>d743ed3</code></a>
docs: add metadata for parser/processor (<a
href="https://github.com/eslint/eslint/issues/17438">#17438</a>)
(Huáng Jùnliàng)</li>
<li><a
href="https://github.com/eslint/eslint/commit/224376cd99a08394291a9584ad9c1ea1283673c6"><code>224376c</code></a>
docs: Update README (GitHub Actions Bot)</li>
<li><a
href="https://github.com/eslint/eslint/commit/a41a8e4a7da14726d6fce71a023f12101fd52fdb"><code>a41a8e4</code></a>
docs: update script names in README (<a
href="https://github.com/eslint/eslint/issues/17432">#17432</a>)
(Nitin Kumar)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/eslint/eslint/commit/98b155fb9d8ae5afa8c544453133d0c5a12c12ba"><code>98b155f</code></a>
8.47.0</li>
<li><a
href="https://github.com/eslint/eslint/commit/928cecc754da77e1e52304b0a71b8b0a3a23fd7a"><code>928cecc</code></a>
Build: changelog update for 8.47.0</li>
<li><a
href="https://github.com/eslint/eslint/commit/bf69aa6408f5403a88d8c9b71b0e58232b1ea833"><code>bf69aa6</code></a>
chore: Update dependencies (<a
href="https://github.com/eslint/eslint/issues/17456">#17456</a>)</li>
<li><a
href="https://github.com/eslint/eslint/commit/0e4576012ab938b880e6f27641bff55fb4313d20"><code>0e45760</code></a>
chore: package.json update for <code>@​eslint/js</code> release</li>
<li><a
href="https://github.com/eslint/eslint/commit/631648ee0b51a8951ce576ccd4430e09c9c8bcae"><code>631648e</code></a>
fix: do not report on shadowed constructors in
<code>no-new-wrappers</code> (<a
href="https://github.com/eslint/eslint/issues/17447">#17447</a>)</li>
<li><a
href="https://github.com/eslint/eslint/commit/757bfe1c35b5ddab7042d388f8d21e834875fff5"><code>757bfe1</code></a>
chore: Remove add-to-triage (<a
href="https://github.com/eslint/eslint/issues/17450">#17450</a>)</li>
<li><a
href="https://github.com/eslint/eslint/commit/b066640b7040ec30f740dcc803511244fe19473b"><code>b066640</code></a>
chore: standardize npm script names (<a
href="https://github.com/eslint/eslint/issues/17431">#17431</a>)</li>
<li><a
href="https://github.com/eslint/eslint/commit/a766a48030d4359db76523d5b413d6332130e485"><code>a766a48</code></a>
docs: document lack of config file names (<a
href="https://github.com/eslint/eslint/issues/17442">#17442</a>)</li>
<li><a
href="https://github.com/eslint/eslint/commit/a1635d6198a8baf6571b3351e098e5ac960be887"><code>a1635d6</code></a>
docs: Update README</li>
<li><a
href="https://github.com/eslint/eslint/commit/6b2410f911dd2e3d915c879041c6e257d41a2f4e"><code>6b2410f</code></a>
chore: Update add-to-triage.yml (<a
href="https://github.com/eslint/eslint/issues/17444">#17444</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/eslint/eslint/compare/v8.46.0...v8.47.0">compare
view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=eslint&package-manager=npm_and_yarn&previous-version=8.46.0&new-version=8.47.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name> dependency` will close this
group update PR and stop Dependabot creating any more for the specific
dependency (unless you unignore this specific dependency or upgrade to
it yourself)
- `@dependabot unignore <dependency name> dependency` will remove all of
the ignore conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions

</details>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: Ansh Goyal <[email protected]>
Bumps the typescript-eslint group with 2 updates:
[@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin)
and
[@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser).

Updates `@typescript-eslint/eslint-plugin` from 6.3.0 to 6.4.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/typescript-eslint/typescript-eslint/releases"><code>@​typescript-eslint/eslint-plugin</code>'s
releases</a>.</em></p>
<blockquote>
<h2>v6.4.0</h2>
<h1><a
href="https://github.com/typescript-eslint/typescript-eslint/compare/v6.3.0...v6.4.0">6.4.0</a>
(2023-08-14)</h1>
<h3>Bug Fixes</h3>
<ul>
<li><strong>eslint-plugin:</strong> [non-nullable-type-assertion-style]
consider operator precedence when fixing (<a
href="https://github.com/typescript-eslint/typescript-eslint/issues/7289">#7289</a>)
(<a
href="https://github.com/typescript-eslint/typescript-eslint/commit/bad37a22025b718a10e70cc84b9847eb41f723d0">bad37a2</a>)</li>
<li><strong>eslint-plugin:</strong> [strict-boolean-expressions] replace
dangerous fixer with suggestions (<a
href="https://github.com/typescript-eslint/typescript-eslint/issues/7394">#7394</a>)
(<a
href="https://github.com/typescript-eslint/typescript-eslint/commit/ad8401a5970441258cc4440a01a3acf35d861171">ad8401a</a>)</li>
<li><strong>typescript-estree:</strong> support <code>declare</code> and
<code>export</code> modifiers for nested namespace declaration (<a
href="https://github.com/typescript-eslint/typescript-eslint/issues/7410">#7410</a>)
(<a
href="https://github.com/typescript-eslint/typescript-eslint/commit/49a53f0ba985941a431269d3761030dc414916b1">49a53f0</a>)</li>
<li><strong>utils:</strong> add new properties since eslint 8.40.0 (<a
href="https://github.com/typescript-eslint/typescript-eslint/issues/7460">#7460</a>)
(<a
href="https://github.com/typescript-eslint/typescript-eslint/commit/660aff7253e2930311eac54a49f31b0367bf1485">660aff7</a>)</li>
<li><strong>utils:</strong> add to JSONSchema4Type missing Array and
Object (<a
href="https://github.com/typescript-eslint/typescript-eslint/issues/7406">#7406</a>)
(<a
href="https://github.com/typescript-eslint/typescript-eslint/commit/60df0bbafb6247341784dfbdf932585eac88b637">60df0bb</a>)</li>
</ul>
<h3>Features</h3>
<ul>
<li>update to lib types for TS 5.2 RC (<a
href="https://github.com/typescript-eslint/typescript-eslint/issues/7451">#7451</a>)
(<a
href="https://github.com/typescript-eslint/typescript-eslint/commit/479f9f6c053874bd584220edf594ec56d6b0b71a">479f9f6</a>)</li>
</ul>
<p>You can read about our <a
href="https://main--typescript-eslint.netlify.app/users/versioning">versioning
strategy</a> and <a
href="https://main--typescript-eslint.netlify.app/users/releases">releases</a>
on our website.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md"><code>@​typescript-eslint/eslint-plugin</code>'s
changelog</a>.</em></p>
<blockquote>
<h1><a
href="https://github.com/typescript-eslint/typescript-eslint/compare/v6.3.0...v6.4.0">6.4.0</a>
(2023-08-14)</h1>
<h3>Bug Fixes</h3>
<ul>
<li><strong>eslint-plugin:</strong> [non-nullable-type-assertion-style]
consider operator precedence when fixing (<a
href="https://github.com/typescript-eslint/typescript-eslint/issues/7289">#7289</a>)
(<a
href="https://github.com/typescript-eslint/typescript-eslint/commit/bad37a22025b718a10e70cc84b9847eb41f723d0">bad37a2</a>)</li>
<li><strong>eslint-plugin:</strong> [strict-boolean-expressions] replace
dangerous fixer with suggestions (<a
href="https://github.com/typescript-eslint/typescript-eslint/issues/7394">#7394</a>)
(<a
href="https://github.com/typescript-eslint/typescript-eslint/commit/ad8401a5970441258cc4440a01a3acf35d861171">ad8401a</a>)</li>
</ul>
<p>You can read about our <a
href="https://main--typescript-eslint.netlify.app/users/versioning">versioning
strategy</a> and <a
href="https://main--typescript-eslint.netlify.app/users/releases">releases</a>
on our website.</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/typescript-eslint/typescript-eslint/commit/14bea42e4864c72d28f502e0d15e675fe8bd729a"><code>14bea42</code></a>
chore: publish v6.4.0</li>
<li><a
href="https://github.com/typescript-eslint/typescript-eslint/commit/918125221a759fedbd9f9ffc0c495868c14bdd88"><code>9181252</code></a>
docs: add note on common misconceptions about type narrowing (<a
href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/7391">#7391</a>)</li>
<li><a
href="https://github.com/typescript-eslint/typescript-eslint/commit/ad8401a5970441258cc4440a01a3acf35d861171"><code>ad8401a</code></a>
fix(eslint-plugin): [strict-boolean-expressions] replace dangerous fixer
with...</li>
<li><a
href="https://github.com/typescript-eslint/typescript-eslint/commit/bad37a22025b718a10e70cc84b9847eb41f723d0"><code>bad37a2</code></a>
fix(eslint-plugin): [non-nullable-type-assertion-style] consider
operator pre...</li>
<li><a
href="https://github.com/typescript-eslint/typescript-eslint/commit/2f535c3511a364188603c942a42c1267d9ab0712"><code>2f535c3</code></a>
chore(eslint-plugin): remove unused <code>natural-compare-lite</code>
from dependencies ...</li>
<li>See full diff in <a
href="https://github.com/typescript-eslint/typescript-eslint/commits/v6.4.0/packages/eslint-plugin">compare
view</a></li>
</ul>
</details>
<br />

Updates `@typescript-eslint/parser` from 6.3.0 to 6.4.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/typescript-eslint/typescript-eslint/releases"><code>@​typescript-eslint/parser</code>'s
releases</a>.</em></p>
<blockquote>
<h2>v6.4.0</h2>
<h1><a
href="https://github.com/typescript-eslint/typescript-eslint/compare/v6.3.0...v6.4.0">6.4.0</a>
(2023-08-14)</h1>
<h3>Bug Fixes</h3>
<ul>
<li><strong>eslint-plugin:</strong> [non-nullable-type-assertion-style]
consider operator precedence when fixing (<a
href="https://github.com/typescript-eslint/typescript-eslint/issues/7289">#7289</a>)
(<a
href="https://github.com/typescript-eslint/typescript-eslint/commit/bad37a22025b718a10e70cc84b9847eb41f723d0">bad37a2</a>)</li>
<li><strong>eslint-plugin:</strong> [strict-boolean-expressions] replace
dangerous fixer with suggestions (<a
href="https://github.com/typescript-eslint/typescript-eslint/issues/7394">#7394</a>)
(<a
href="https://github.com/typescript-eslint/typescript-eslint/commit/ad8401a5970441258cc4440a01a3acf35d861171">ad8401a</a>)</li>
<li><strong>typescript-estree:</strong> support <code>declare</code> and
<code>export</code> modifiers for nested namespace declaration (<a
href="https://github.com/typescript-eslint/typescript-eslint/issues/7410">#7410</a>)
(<a
href="https://github.com/typescript-eslint/typescript-eslint/commit/49a53f0ba985941a431269d3761030dc414916b1">49a53f0</a>)</li>
<li><strong>utils:</strong> add new properties since eslint 8.40.0 (<a
href="https://github.com/typescript-eslint/typescript-eslint/issues/7460">#7460</a>)
(<a
href="https://github.com/typescript-eslint/typescript-eslint/commit/660aff7253e2930311eac54a49f31b0367bf1485">660aff7</a>)</li>
<li><strong>utils:</strong> add to JSONSchema4Type missing Array and
Object (<a
href="https://github.com/typescript-eslint/typescript-eslint/issues/7406">#7406</a>)
(<a
href="https://github.com/typescript-eslint/typescript-eslint/commit/60df0bbafb6247341784dfbdf932585eac88b637">60df0bb</a>)</li>
</ul>
<h3>Features</h3>
<ul>
<li>update to lib types for TS 5.2 RC (<a
href="https://github.com/typescript-eslint/typescript-eslint/issues/7451">#7451</a>)
(<a
href="https://github.com/typescript-eslint/typescript-eslint/commit/479f9f6c053874bd584220edf594ec56d6b0b71a">479f9f6</a>)</li>
</ul>
<p>You can read about our <a
href="https://main--typescript-eslint.netlify.app/users/versioning">versioning
strategy</a> and <a
href="https://main--typescript-eslint.netlify.app/users/releases">releases</a>
on our website.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md"><code>@​typescript-eslint/parser</code>'s
changelog</a>.</em></p>
<blockquote>
<h1><a
href="https://github.com/typescript-eslint/typescript-eslint/compare/v6.3.0...v6.4.0">6.4.0</a>
(2023-08-14)</h1>
<p><strong>Note:</strong> Version bump only for package
<code>@​typescript-eslint/parser</code></p>
<p>You can read about our <a
href="https://main--typescript-eslint.netlify.app/users/versioning">versioning
strategy</a> and <a
href="https://main--typescript-eslint.netlify.app/users/releases">releases</a>
on our website.</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/typescript-eslint/typescript-eslint/commit/14bea42e4864c72d28f502e0d15e675fe8bd729a"><code>14bea42</code></a>
chore: publish v6.4.0</li>
<li>See full diff in <a
href="https://github.com/typescript-eslint/typescript-eslint/commits/v6.4.0/packages/parser">compare
view</a></li>
</ul>
</details>
<br />

You can trigger a rebase of this PR by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name> dependency` will close this
group update PR and stop Dependabot creating any more for the specific
dependency (unless you unignore this specific dependency or upgrade to
it yourself)
- `@dependabot unignore <dependency name> dependency` will remove all of
the ignore conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions

</details>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: Ansh Goyal <[email protected]>
anshgoyalevil and others added 11 commits August 16, 2023 09:03
Related to: jaegertracing#1675 and
jaegertracing#1672
<!--
!! Please DELETE this comment before posting.
We appreciate your contribution to the Jaeger project! 👋🎉
-->

## What changes is this PR making?
- This PR removes the unused packages from packages/jaeger-ui
- The removed packages are:
   - `@svgr/babel-plugin-transform-svg-component`
   - `@svgr/babel-preset`
   - `@types/react-dom`
   - `@types/react-router-redux`

## Description of the changes
- As per the discussion
jaegertracing#1226 (comment),
and the manual check.

Previously, I was reluctant in removing `@types/react-dom` and
`@types/react-router-redux` because their corresponding packages are
used, but I gave them a test by removing:
- run `yarn lint`
- no errors
- remove these two packages and again run `yarn lint`
- no errors
- maybe linter is not working correctly, so removed
`@types/react-window`
- run `yarn lint`
- type errors
- added back `@types/react-window` and run `yarn lint`
- no errors
- Thus, these two deps aren't needed

## How was this change tested?
- By running yarn lint and yarn test

## Checklist
- [x] I have read
https://github.com/jaegertracing/jaeger/blob/master/CONTRIBUTING_GUIDELINES.md
- [x] I have signed all commits
- [x] I have added unit tests for the new functionality
- [x] I have run lint and test steps successfully
  - for `jaeger`: `make lint test`
  - for `jaeger-ui`: `yarn lint` and `yarn test`

---------

Signed-off-by: Ansh Goyal <[email protected]>
Signed-off-by: Ansh Goyal <[email protected]>
## Which problem is this PR solving?
- This PR adds the following deps because they were missing and being
used inside .tsconfig file.
    - @typescript-eslint/eslint-plugin
    - @typescript-eslint/parser
    - eslint-config-prettier
- Removes the following packages because of no-usage
   - enzyme
   - jest
   - webpack-cli

## Checklist
- [x] I have read
https://github.com/jaegertracing/jaeger/blob/master/CONTRIBUTING_GUIDELINES.md
- [x] I have signed all commits
- [x] I have added unit tests for the new functionality
- [x] I have run lint and test steps successfully
  - for `jaeger`: `make lint test`
  - for `jaeger-ui`: `yarn lint` and `yarn test`

---------

Signed-off-by: Ansh Goyal <[email protected]>
Signed-off-by: Ansh Goyal <[email protected]>
Signed-off-by: Ansh Goyal <[email protected]>
Co-authored-by: Yuri Shkuro <[email protected]>
Signed-off-by: Ansh Goyal <[email protected]>
Signed-off-by: Ansh Goyal <[email protected]>
Signed-off-by: Ansh Goyal <[email protected]>
Signed-off-by: Ansh Goyal <[email protected]>
Signed-off-by: Ansh Goyal <[email protected]>

# Create a temporary depcheckrc file for 'jaeger-ui'
tempfile_jaeger=$(mktemp /tmp/depcheckrc.XXXXXX.json)
node scripts/generateDepcheckrcJaegerUI.js "$tempfile_jaeger"
Copy link
Member

Choose a reason for hiding this comment

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

you could've done this more "unixy" by writing to stdout from the Node script and redirecting here to the temp file. This way there would be fewer dependencies between the steps, the Node script is easier to debug, and it would be simpler (no writing to files).

Copy link
Member Author

Choose a reason for hiding this comment

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

I was earlier thinking of the same to redirect the output using > operator in Unix.
Would create a sister PR to rectify the same.

@yurishkuro yurishkuro merged commit 85a2080 into jaegertracing:main Aug 16, 2023
@anshgoyalevil
Copy link
Member Author

Thanks @yurishkuro for guiding throughout and reviewing at each step 🚀

@anshgoyalevil anshgoyalevil deleted the add-depcheck branch August 16, 2023 14:35
@anshgoyalevil anshgoyalevil restored the add-depcheck branch August 16, 2023 14:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Feature]: Add CI step to check dependencies
4 participants