WLED icon indicating copy to clipboard operation
WLED copied to clipboard

[dev problem] The `punycode` module is deprecated

Open softhack007 opened this issue 1 year ago • 10 comments

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 avatar Sep 29 '24 18:09 softhack007

There are additional deprication warnings at npm install

npm warn deprecated [email protected]: This package is no longer supported.
npm warn deprecated [email protected]: this library is no longer supported
npm warn deprecated [email protected]: 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 [email protected]: 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 [email protected]: 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 [email protected]: request has been deprecated, see https://github.com/request/request/issues/3142
npm warn deprecated [email protected]: This SVGO version is no longer supported. Upgrade to v2.x.x.

softhack007 avatar Sep 30 '24 08:09 softhack007

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

blazoncek avatar Sep 30 '24 17:09 blazoncek

I'll have a look at it later.

w00000dy avatar Oct 01 '24 08:10 w00000dy

@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 avatar Oct 01 '24 19:10 w00000dy

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.

w00000dy avatar Oct 01 '24 19:10 w00000dy

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,

softhack007 avatar Oct 01 '24 20:10 softhack007

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

w00000dy avatar Oct 01 '24 20:10 w00000dy

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 avatar Oct 01 '24 21:10 w00000dy

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.

w00000dy avatar Oct 01 '24 21:10 w00000dy

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

blazoncek avatar Oct 02 '24 04:10 blazoncek

I am also having a problem with the UI build for 0_15 (I am trying to test the new translation functionality). npm run build => Error: Cannot find module 'inliner'

And I just installed 'inliner', and successfully invoked it from the command line. Node.js v22.11.0

Can I have a workaround please. ** EDIT ** I ran 'npm ci' (whatever that does) as blazoncek suggested, and then 'npm run build' ran to completion.

Sojourneer avatar Nov 03 '24 16:11 Sojourneer

Hey! This issue has been open for quite some time without any new comments now. It will be closed automatically in a week if no further activity occurs. Thank you for using WLED! ✨

github-actions[bot] avatar Mar 04 '25 12:03 github-actions[bot]

PR #4266 fixes this.

w00000dy avatar Mar 10 '25 09:03 w00000dy