Aircoookie / WLED

Control WS2812B and many more types of digital RGB LEDs with an ESP8266 or ESP32 over WiFi!
https://kno.wled.ge
MIT License
14.68k stars 3.16k forks source link

[dev problem] The `punycode` module is deprecated #4166

Open softhack007 opened 4 days ago

softhack007 commented 4 days ago

Since ~4 weeks, the UI build (npm run build) throws out a red warning

(node:27944) [DEP0040] DeprecationWarning: The punycode module is deprecated. Please use a userland alternative instead.

(Use node --trace-deprecation ... to show where the warning was created)

I don't know where this tool gets used, or what is the "userland alternative" for punycode. But it looks like the clock is ticking and we need an alternative solution.

softhack007 commented 3 days ago

There are additional deprication warnings at npm install

npm warn deprecated osenv@0.1.5: This package is no longer supported.
npm warn deprecated har-validator@5.1.5: this library is no longer supported
npm warn deprecated q@1.5.1: You or someone you depend on is using Q, the JavaScript Promise library 
that gave JavaScript developers strong feelings about promises. They can almost certainly migrate 
to the native JavaScript promise now. Thank you literally everyone for joining me in this bet against the odds. 
Be excellent to each other.
npm warn deprecated
npm warn deprecated (For a CapTP with native promises, see @endo/eventual-send and @endo/captp)
npm warn deprecated uuid@2.0.3: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
npm warn deprecated uuid@3.4.0: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
npm warn deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
npm warn deprecated svgo@0.6.6: This SVGO version is no longer supported. Upgrade to v2.x.x.
blazoncek commented 3 days ago

I am not sure, but I think npm is mainly used for building include files from html. Perhaps @w00000dy may know more.

w00000dy commented 2 days ago

I'll have a look at it later.

w00000dy commented 2 days ago

@softhack007 What NodeJS and npm version do you use? (node -v, npm -v) I could not reproduce the warning that npm run build should throw. @blazoncek Do you see this warning? Are we talking about 0_15 branch?

w00000dy commented 2 days ago

And the warnings at npm install are from the inliner package. It has not been updated in 7 years. To fix this, we would have to find an alternative to inliner.

softhack007 commented 2 days ago

Are we talking about 0_15 branch?

yes, I get these messages on the 0_15 branch

@softhack007 What NodeJS and npm version do you use? (node -v, npm -v)

node v22.7.0 npm 10.8.2

both on windows 11 64bit- i've recently installed that computer.

Tomorrow i can check if the same message also pop up on my Linux machine,

w00000dy commented 2 days ago

I used node v20.17. I will test it again with node v22.

w00000dy commented 2 days ago

Okay, now I also get the warning with node v22. This warning comes from the inliner package. I think we need to look for an alternative here.

w00000dy commented 1 day ago

After a short search I found web-resource-inliner. At first glance it looks like a good alternative, but I'll have to take a closer look when I have more time.

blazoncek commented 1 day ago

I am using v20 and I do not see any warnings during npm run build I avoid npm install but rather use npm ci