build(deps): Bump jscpd from 4.2.4 to 5.0.4#58
Conversation
Bumps [jscpd](https://github.com/kucherenko/jscpd/tree/HEAD/rust/jscpd) from 4.2.4 to 5.0.4. - [Release notes](https://github.com/kucherenko/jscpd/releases) - [Changelog](https://github.com/kucherenko/jscpd/blob/master/CHANGELOG.md) - [Commits](https://github.com/kucherenko/jscpd/commits/v5.0.4/rust/jscpd) --- updated-dependencies: - dependency-name: jscpd dependency-version: 5.0.4 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
Up to standards ✅🟢 Issues
|
| Metric | Results |
|---|---|
| Duplication | 0 |
AI Reviewer: first review requested successfully. AI can make mistakes. Always validate suggestions.
TIP This summary will be updated as you push new changes.
There was a problem hiding this comment.
Pull Request Overview
This PR upgrades jscpd to version 5.0.4. While the update meets the primary requirement, it is a major version bump involving a complete rewrite of the core engine in Rust. This introduces potential environmental dependencies, such as glibc requirements, which may impact CI/CD or development environments.
Two breaking changes require immediate attention: the migration to Commander v15 for CLI parsing and the relocation of the HTML report output. There are currently no tests or CI configuration updates in this PR to verify that existing scripts or artifact collection pipelines remain functional. Additionally, a minor structural improvement is recommended to move jscpd to devDependencies, as it is a static analysis tool.
About this PR
- The HTML reporter now outputs files at the root of the output directory instead of a sub-path. Ensure that CI/CD artifact collection or documentation site generation paths are updated accordingly.
- Moving from v4 to v5 involves a core rewrite in Rust. Please verify that the development and CI environments meet the necessary system requirements (e.g., glibc) for the new binary.
Test suggestions
- Verify that code duplication detection still functions correctly with the new Rust-based core engine.
- Validate that existing CLI flags and configuration files are compatible with the v5 CLI parser (Commander v15 migration).
- Confirm that CI/CD pipelines correctly locate the HTML report, as the output path for 'jscpd-report.html' has moved to the root of the output directory.
Prompt proposal for missing tests
Consider implementing these tests if applicable:
1. Verify that code duplication detection still functions correctly with the new Rust-based core engine.
2. Validate that existing CLI flags and configuration files are compatible with the v5 CLI parser (Commander v15 migration).
3. Confirm that CI/CD pipelines correctly locate the HTML report, as the output path for 'jscpd-report.html' has moved to the root of the output directory.
Low confidence findings
- The v5 CLI parser change may break scripts using specific flag patterns (e.g., --no- flags). Verify all automated usages of jscpd against the new version.
TIP Improve review quality by adding custom instructions
TIP How was this review? Give us feedback
| "homepage": "https://github.com/codacy/codacy-duplication-jscpd#readme", | ||
| "dependencies": { | ||
| "jscpd": "^4.2.4" | ||
| "jscpd": "^5.0.4" |
There was a problem hiding this comment.
⚪ LOW RISK
Suggestion: jscpd is a development-time tool and should be moved to devDependencies to optimize the production build and follow standard practices for development utilities. Try running the following prompt in your coding agent: > Move the 'jscpd' dependency from 'dependencies' to 'devDependencies' in package.json.
Bumps jscpd from 4.2.4 to 5.0.4.
Release notes
Sourced from jscpd's releases.
Changelog
Sourced from jscpd's changelog.
... (truncated)
Commits
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)