dd-trace-js icon indicating copy to clipboard operation
dd-trace-js copied to clipboard

Activate more opinionated eslint rules

Open BridgeAR opened this issue 5 months ago • 4 comments

These changes are opinionated due to unicorn being opinionated. It is mainly about code readability.

BridgeAR avatar Jun 06 '25 19:06 BridgeAR

Overall package size

Self size: 9.62 MB Deduped: 104.57 MB No deduping: 105.08 MB

Dependency sizes | name | version | self size | total size | |------|---------|-----------|------------| | @datadog/libdatadog | 0.6.0 | 30.47 MB | 30.47 MB | | @datadog/native-appsec | 8.5.2 | 19.33 MB | 19.34 MB | | @datadog/pprof | 5.8.0 | 12.55 MB | 12.92 MB | | @datadog/native-iast-taint-tracking | 4.0.0 | 11.72 MB | 11.73 MB | | @opentelemetry/core | 1.30.1 | 908.66 kB | 7.16 MB | | protobufjs | 7.5.3 | 2.95 MB | 5.6 MB | | @datadog/wasm-js-rewriter | 4.0.1 | 2.85 MB | 3.58 MB | | @datadog/native-metrics | 3.1.1 | 1.02 MB | 1.43 MB | | @opentelemetry/api | 1.8.0 | 1.21 MB | 1.21 MB | | import-in-the-middle | 1.14.0 | 120.58 kB | 841.68 kB | | source-map | 0.7.4 | 226 kB | 226 kB | | opentracing | 0.14.7 | 194.81 kB | 194.81 kB | | lru-cache | 7.18.3 | 133.92 kB | 133.92 kB | | pprof-format | 2.1.0 | 111.69 kB | 111.69 kB | | @datadog/sketches-js | 2.1.1 | 109.9 kB | 109.9 kB | | lodash.sortby | 4.7.0 | 75.76 kB | 75.76 kB | | ignore | 5.3.2 | 53.63 kB | 53.63 kB | | istanbul-lib-coverage | 3.2.2 | 34.37 kB | 34.37 kB | | rfdc | 1.4.1 | 27.15 kB | 27.15 kB | | @isaacs/ttlcache | 1.4.1 | 25.2 kB | 25.2 kB | | dc-polyfill | 0.1.9 | 25.11 kB | 25.11 kB | | tlhunter-sorted-set | 0.1.0 | 24.94 kB | 24.94 kB | | shell-quote | 1.8.2 | 23.54 kB | 23.54 kB | | limiter | 1.1.5 | 23.17 kB | 23.17 kB | | retry | 0.13.1 | 18.85 kB | 18.85 kB | | semifies | 1.0.0 | 15.84 kB | 15.84 kB | | jest-docblock | 29.7.0 | 8.99 kB | 12.76 kB | | crypto-randomuuid | 1.0.0 | 11.18 kB | 11.18 kB | | ttl-set | 1.0.0 | 4.61 kB | 9.69 kB | | mutexify | 1.4.0 | 5.71 kB | 8.74 kB | | path-to-regexp | 0.1.12 | 6.6 kB | 6.6 kB | | koalas | 1.0.2 | 6.47 kB | 6.47 kB | | module-details-from-path | 1.0.4 | 3.96 kB | 3.96 kB |

🤖 This report was automatically generated by heaviest-objects-in-the-universe

github-actions[bot] avatar Jun 06 '25 19:06 github-actions[bot]

Codecov Report

:x: Patch coverage is 75.17730% with 105 lines in your changes missing coverage. Please review. :white_check_mark: Project coverage is 80.38%. Comparing base (6796afd) to head (16c0ea9). :warning: Report is 460 commits behind head on master.

Files with missing lines Patch % Lines
packages/dd-trace/src/llmobs/sdk.js 0.00% 8 Missing :warning:
...dd-trace/src/datastreams/schemas/schema_builder.js 33.33% 6 Missing :warning:
...d-trace/src/appsec/iast/taint-tracking/rewriter.js 0.00% 5 Missing :warning:
.../appsec/iast/taint-tracking/taint-tracking-impl.js 37.50% 5 Missing :warning:
...ages/dd-trace/src/payload-tagging/jsonpath-plus.js 16.66% 5 Missing :warning:
packages/dd-trace/src/remote_config/manager.js 0.00% 5 Missing :warning:
...nstrumentations/src/helpers/check-require-cache.js 50.00% 4 Missing :warning:
packages/datadog-instrumentations/src/net.js 0.00% 4 Missing :warning:
...d-trace/src/appsec/iast/security-controls/index.js 60.00% 4 Missing :warning:
packages/dd-trace/src/plugins/util/web.js 80.00% 4 Missing :warning:
... and 41 more
Additional details and impacted files
@@            Coverage Diff             @@
##           master    #5850      +/-   ##
==========================================
- Coverage   80.74%   80.38%   -0.37%     
==========================================
  Files         464      446      -18     
  Lines       19905    19421     -484     
==========================================
- Hits        16073    15611     -462     
+ Misses       3832     3810      -22     

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

:rocket: New features to boost your workflow:
  • :snowflake: Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • :package: JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

codecov[bot] avatar Jun 06 '25 19:06 codecov[bot]

Benchmarks

Benchmark execution time: 2025-06-10 16:10:48

Comparing candidate commit 16c0ea93f89adb9bcf2571b2eeff65f7402a89f0 in PR branch BridgeAR/2025-06-06-more-eslint-rules with baseline commit 6796afdd039216a902757183139ab96de00efb5c in branch master.

Found 0 performance improvements and 0 performance regressions! Performance is the same for 1272 metrics, 51 unstable metrics.

pr-commenter[bot] avatar Jun 06 '25 19:06 pr-commenter[bot]

Datadog Report

Branch report: BridgeAR/2025-06-06-more-eslint-rules Commit report: c3e0f83 Test service: dd-trace-js-integration-tests

:white_check_mark: 0 Failed, 1089 Passed, 0 Skipped, 19m 57.94s Total Time

@BridgeAR Is this something you still plan to land?

rochdev avatar Aug 11 '25 15:08 rochdev

@rochdev yes, I'll work on it soon again :)

BridgeAR avatar Aug 14 '25 14:08 BridgeAR

I specifically like else-if after a block with a return. For one, it allows for a more compact code – an if statement on the same line as the previous block's closing brace. We're all trained to read it like this anyway as that's the format it always takes when the preceding block does not end abruptly. It also better expresses that the conditions are mutually exclusive. I know that the presence of return does that too, but the presence of the "else" keyword does reinforce it and if you see a series of if-elses then you know they're mutually exclusive without having to scan if there's a return in there somewhere. To me it actually enhances code comprehension.

I'm onboard for prohibiting an unconditional "else" after an abrupt-completion block, tho'. For some reason those parse differently for me.

szegedi avatar Aug 18 '25 08:08 szegedi

I am going to close this for now and will work on it again at a later time with less overall changes in one go.

BridgeAR avatar Sep 28 '25 12:09 BridgeAR