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

8.4.0 - Issue with jscpd #4631

Open
VictorRos opened this issue Jan 31, 2025 · 1 comment
Open

8.4.0 - Issue with jscpd #4631

VictorRos opened this issue Jan 31, 2025 · 1 comment
Labels
bug Something isn't working

Comments

@VictorRos
Copy link
Contributor

VictorRos commented Jan 31, 2025

Describe the bug

Hello!
In my team we have a bug with jscpd when migrating from MegaLinter 8.3.0 to 8.4.1.

We enabled debug logs with LOG_LEVEL: DEBUG.

We run the pipeline with the following versions:

  • MegaLinter 8.3.0 : ✅
  • MegaLinter 8.4.0 : ❌
  • MegaLinter 8.4.1 : ❌

We found an old bug #2450.

But it does not seem to be related as jscpd is in version 4.0.5 and the command run is the same for both MegaLinter 8.3.0 and 8.4.0.

We do not add command options for jscpd.

Here is our configuration file:

{
	"threshold": 10,
	"reporters": ["html", "markdown"],
	"absolute": true,
	"gitignore": true,
	"ignore": [
		"**/node_modules/**",
		"**/.git/**",
		"**/.rbenv/**",
		"**/.venv'/**",
		"**/report*/**",
		"**/*cache*/**",
		"**/*.json",
		"**/*.yaml",
		"**/*.yml",
		"**/*.md",
		"**/*.html",
		"**/*.xml",
		"scripts/pwsh/**",
		"scripts/sh/**"
	]
}

To Reproduce

Steps to reproduce the behavior:

  1. Migrate MegaLinter to 8.4.0 or 8.4.1
  2. Run pipeline with LOG_LEVEL: DEBUG
  3. Scroll down to -COPYPASTE_JSCPD.log
  4. See error

Expected behavior

No error with jscpd if threshold is not reached.

It looks like the expected behavior but but for unknown reason it was working 😂

Screenshots

Instead of screenshots, I'm providing jscpd output from MegaLinter

MegaLinter 8.3.0

2025-01-31T15:57:56.3350553Z [Text Reporter] Generated TEXT report: /tmp/lint/megalinter-reports/linters_logs/SUCCESS-COPYPASTE_JSCPD.log
2025-01-31T15:57:56.3477723Z ##[group]�[32m✅ Linted [COPYPASTE] files with [jscpd] successfully - (1.22s)�[0m (expand for details)
2025-01-31T15:57:56.3507970Z - Using [jscpd v4.0.5] https://megalinter.io/8.3.0/descriptors/copypaste_jscpd
2025-01-31T15:57:56.3509195Z - MegaLinter key: [COPYPASTE_JSCPD]
2025-01-31T15:57:56.3511999Z - Rules config: [/.jscpd.json]
2025-01-31T15:57:56.3512416Z - Command: [jscpd --gitignore --reporters console,html --exitCode 1 --output /tmp/lint/megalinter-reports/copy-paste/ -c /tmp/lint/.jscpd.json .]
2025-01-31T15:57:56.3585299Z ##[endgroup]

MegaLinter 8.4.0

2025-01-31T15:47:37.2532288Z [Text Reporter] Generated TEXT report: /tmp/lint/megalinter-reports/linters_logs/ERROR-COPYPASTE_JSCPD.log
2025-01-31T15:47:37.2547104Z ##[group]�[31m❌ Linted [COPYPASTE] files with [jscpd]: Found 2 error(s) - (2.92s)�[0m (expand for details)
2025-01-31T15:47:37.2547608Z - Using [jscpd v4.0.5] https://megalinter.io/8.4.1/descriptors/copypaste_jscpd
2025-01-31T15:47:37.2547999Z - MegaLinter key: [COPYPASTE_JSCPD]
2025-01-31T15:47:37.2548401Z - Rules config: [/.jscpd.json]
2025-01-31T15:47:37.2548807Z - Command: [jscpd --gitignore --reporters console,html --exitCode 1 --output /tmp/lint/megalinter-reports/copy-paste/ -c /tmp/lint/.jscpd.json .]
2025-01-31T15:47:37.2549205Z --Error detail:
2025-01-31T15:47:37.2549488Z Clone found (javascript):
2025-01-31T15:47:37.2549826Z  - /tmp/lint/scripts/js/database-prepare/app.js [90:1 - 99:2] (9 lines, 87 tokens)
2025-01-31T15:47:37.2550160Z    /tmp/lint/scripts/js/elfsight/elfsight.js [24:1 - 35:41]
2025-01-31T15:47:37.2550318Z 
2025-01-31T15:47:37.2550560Z Clone found (javascript):
2025-01-31T15:47:37.2551908Z  - /tmp/lint/scripts/js/database-prepare/app.js [573:3 - 604:19] (31 lines, 164 tokens)
2025-01-31T15:47:37.2552906Z    /tmp/lint/scripts/js/elfsight/elfsight.js [65:3 - 95:2]
2025-01-31T15:47:37.2553427Z 
2025-01-31T15:47:37.2554839Z ┌────────────┬────────────────┬─────────────┬──────────────┬──────────────┬──────────────────┬───────────────────┐
2025-01-31T15:47:37.2556080Z │ Format     │ Files analyzed │ Total lines │ Total tokens │ Clones found │ Duplicated lines │ Duplicated tokens │
2025-01-31T15:47:37.2557265Z ├────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤
2025-01-31T15:47:37.2558423Z │ typescript │ 56             │ 1474        │ 11174        │ 0            │ 0 (0%)           │ 0 (0%)            │
2025-01-31T15:47:37.2560093Z ├────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤
2025-01-31T15:47:37.2561939Z │ javascript │ 9              │ 1151        │ 9253         │ 2            │ 40 (3.48%)       │ 251 (2.71%)       │
2025-01-31T15:47:37.2562749Z ├────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤
2025-01-31T15:47:37.2563401Z │ sql        │ 12             │ 636         │ 3206         │ 0            │ 0 (0%)           │ 0 (0%)            │
2025-01-31T15:47:37.2564213Z ├────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤
2025-01-31T15:47:37.2565741Z │ python     │ 1              │ 52          │ 291          │ 0            │ 0 (0%)           │ 0 (0%)            │
2025-01-31T15:47:37.2566437Z ├────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤
2025-01-31T15:47:37.2567009Z │ powershell │ 2              │ 278         │ 1965         │ 0            │ 0 (0%)           │ 0 (0%)            │
2025-01-31T15:47:37.2567722Z ├────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤
2025-01-31T15:47:37.2568286Z │ Total:     │ 80             │ 3591        │ 25889        │ 2            │ 40 (1.11%)       │ 251 (0.97%)       │
2025-01-31T15:47:37.2569043Z └────────────┴────────────────┴─────────────┴──────────────┴──────────────┴──────────────────┴───────────────────┘
2025-01-31T15:47:37.2569428Z Found 2 clones.
2025-01-31T15:47:37.2569790Z HTML report saved to /tmp/lint/megalinter-reports/copy-paste/html/
2025-01-31T15:47:37.2570142Z Detection time:: 1.284s
2025-01-31T15:47:37.2570275Z 
2025-01-31T15:47:37.2570507Z ##[endgroup]

Additional context

I run locally jscpd in version 4.0.5 and I have the exact same behavior as MegaLinter.

npx -y [email protected] --gitignore --reporters console,html --exitCode 1 --config .jscpd.json .
echo $?
# 1
@VictorRos VictorRos added the bug Something isn't working label Jan 31, 2025
@VictorRos
Copy link
Contributor Author

FYI @snaquekiller

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant