badeball / cypress-cucumber-preprocessor

Run cucumber/gherkin-syntaxed specs with Cypress
MIT License
1.32k stars 148 forks source link

NPM Warn deprecated reflect-metadata@0.2.1 #1215

Open CalebCyrill opened 2 months ago

CalebCyrill commented 2 months ago

Current behavior

When installing the preprocessor I received the warning mesage npm WARN deprecated reflect-metadata@0.2.1: This version has a critical bug in fallback handling. Please upgrade to reflect-metadata@0.2.2 or newer.npm WARN deprecated reflect-metadata@0.2.1: This version has a critical bug in fallback handling. Please upgrade to reflect-metadata@0.2.2 or newer. A previously closed bug stated that this was handled in 20.0.5, but I am seeing it again in the latest version.

Desired behavior

The desired behavior is that it does not show the warning message that the deprecated reflect-metadata is still being used

Test code to reproduce

Versions

Checklist

badeball commented 2 months ago

The latest @cucumber/gherkin depends on an old version of @cucumber/messages, which in turn depends on reflect-metadata@0.2.1.

https://github.com/cucumber/gherkin/pull/252 fixes this, but has yet to be released.

mikibakaiki commented 2 weeks ago

I'm also getting the same warnings, with another one added:

npm warn deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm warn deprecated glob@8.1.0: Glob versions prior to v9 are no longer supported
npm warn deprecated reflect-metadata@0.2.1: This version has a critical bug in fallback handling. Please upgrade to reflect-metadata@0.2.2 or newer.
npm warn deprecated reflect-metadata@0.2.1: This version has a critical bug in fallback handling. Please upgrade to reflect-metadata@0.2.2 or newer.
npm warn deprecated reflect-metadata@0.2.1: This version has a critical bug in fallback handling. Please upgrade to reflect-metadata@0.2.2 or newer.
mikibakaiki commented 2 weeks ago

seems that a new version has been released 😄

badeball commented 2 weeks ago

Said package isn't the only source of reflect-metadata, as seen below.

$ npm ls reflect-metadata
esbuild-ts@ /foobar/esbuild-ts
└─┬ @badeball/cypress-cucumber-preprocessor@20.1.2
  ├─┬ @cucumber/cucumber@11.0.0
  │ ├─┬ @cucumber/gherkin-utils@9.0.0
  │ │ └─┬ @cucumber/messages@24.1.0
  │ │   └── reflect-metadata@0.2.1
  │ └─┬ @cucumber/messages@24.1.0
  │   └── reflect-metadata@0.2.1
  ├─┬ @cucumber/gherkin@29.0.0
  │ └─┬ @cucumber/messages@25.0.1
  │   └── reflect-metadata@0.2.2 deduped
  └─┬ @cucumber/messages@26.0.0
    └── reflect-metadata@0.2.2

Tracking a bunch of transitive dependencies isn't something I'm going to spend my time on. If you have a request to update a specific dependency, then you can open up a ticket on this tracker. Before that, this is nothing but noise to me and not actionable.

mikibakaiki commented 1 week ago

Yeah, i agree it would be time consuming and not worth the effort! would you care to use RenovateBot as it would take care of most of all these things for you? :)