serverless icon indicating copy to clipboard operation
serverless copied to clipboard

Upgrade node-fetch to remove node punycode deprecation warning

Open kentliau opened this issue 2 years ago • 6 comments

Is there an existing issue for this?

  • [X] I have searched existing issues, it hasn't been reported yet

Use case description

v2.x.x of node-fetch/node-fetch depend on a version of jsdom/whatwg-url that uses punycode

Node is deprecating built in punycode package, so everytime running serverless command it will show the deprecating warning.

$ NODE_OPTIONS='--trace-deprecation' npx sls

(node:77878) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
    at node:punycode:3:9
    at BuiltinModule.compileForInternalLoader (node:internal/bootstrap/realm:392:7)
    at BuiltinModule.compileForPublicLoader (node:internal/bootstrap/realm:328:10)
    at loadBuiltinModule (node:internal/modules/helpers:101:7)
    at Module._load (node:internal/modules/cjs/loader:1001:17)
    at Module.require (node:internal/modules/cjs/loader:1235:19)
    at require (node:internal/modules/helpers:176:18)
    at Object.<anonymous> (/Users/kentliau/Alphapod Code Repo/eap-backend/node_modules/whatwg-url/lib/url-state-machine.js:2:18)
    at Module._compile (node:internal/modules/cjs/loader:1376:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1435:10)
    at Module.load (node:internal/modules/cjs/loader:1207:32)
    at Module._load (node:internal/modules/cjs/loader:1023:12)
    at Module.require (node:internal/modules/cjs/loader:1235:19)
    at require (node:internal/modules/helpers:176:18)
    at Object.<anonymous> (/Users/kentliau/Alphapod Code Repo/eap-backend/node_modules/whatwg-url/lib/URL-impl.js:2:13)
    at Module._compile (node:internal/modules/cjs/loader:1376:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1435:10)
    at Module.load (node:internal/modules/cjs/loader:1207:32)
    at Module._load (node:internal/modules/cjs/loader:1023:12)
    at Module.require (node:internal/modules/cjs/loader:1235:19)
    at require (node:internal/modules/helpers:176:18)
    at Object.<anonymous> (/Users/kentliau/Alphapod Code Repo/eap-backend/node_modules/whatwg-url/lib/URL.js:5:14)
    at Module._compile (node:internal/modules/cjs/loader:1376:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1435:10)
    at Module.load (node:internal/modules/cjs/loader:1207:32)
    at Module._load (node:internal/modules/cjs/loader:1023:12)
    at Module.require (node:internal/modules/cjs/loader:1235:19)
    at require (node:internal/modules/helpers:176:18)
    at Object.<anonymous> (/Users/kentliau/Alphapod Code Repo/eap-backend/node_modules/whatwg-url/lib/public-api.js:3:15)
    at Module._compile (node:internal/modules/cjs/loader:1376:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1435:10)
    at Module.load (node:internal/modules/cjs/loader:1207:32)
    at Module._load (node:internal/modules/cjs/loader:1023:12)
    at Module.require (node:internal/modules/cjs/loader:1235:19)
    at require (node:internal/modules/helpers:176:18)
    at Object.<anonymous> (/Users/kentliau/Alphapod Code Repo/eap-backend/node_modules/node-fetch/lib/index.js:10:33)
    at Module._compile (node:internal/modules/cjs/loader:1376:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1435:10)
    at Module.load (node:internal/modules/cjs/loader:1207:32)
    at Module._load (node:internal/modules/cjs/loader:1023:12)
    at Module.require (node:internal/modules/cjs/loader:1235:19)
    at require (node:internal/modules/helpers:176:18)
    at Object.<anonymous> (/Users/kentliau/Alphapod Code Repo/eap-backend/node_modules/@serverless/dashboard-plugin/lib/test/run-test.js:4:15)
    at Module._compile (node:internal/modules/cjs/loader:1376:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1435:10)
    at Module.load (node:internal/modules/cjs/loader:1207:32)
    at Module._load (node:internal/modules/cjs/loader:1023:12)
    at Module.require (node:internal/modules/cjs/loader:1235:19)
    at require (node:internal/modules/helpers:176:18)
    at Object.<anonymous> (/Users/kentliau/Alphapod Code Repo/eap-backend/node_modules/@serverless/dashboard-plugin/lib/test/index.js:8:17)
    at Module._compile (node:internal/modules/cjs/loader:1376:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1435:10)
    at Module.load (node:internal/modules/cjs/loader:1207:32)
    at Module._load (node:internal/modules/cjs/loader:1023:12)
    at Module.require (node:internal/modules/cjs/loader:1235:19)
    at require (node:internal/modules/helpers:176:18)
    at Object.<anonymous> (/Users/kentliau/Alphapod Code Repo/eap-backend/node_modules/@serverless/dashboard-plugin/lib/plugin.js:19:18)
    at Module._compile (node:internal/modules/cjs/loader:1376:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1435:10)
    at Module.load (node:internal/modules/cjs/loader:1207:32)
    at Module._load (node:internal/modules/cjs/loader:1023:12)
    at Module.require (node:internal/modules/cjs/loader:1235:19)
    at require (node:internal/modules/helpers:176:18)
    at Object.<anonymous> (/Users/kentliau/Alphapod Code Repo/eap-backend/node_modules/@serverless/dashboard-plugin/index.js:5:18)
    at Module._compile (node:internal/modules/cjs/loader:1376:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1435:10)
    at Module.load (node:internal/modules/cjs/loader:1207:32)
    at Module._load (node:internal/modules/cjs/loader:1023:12)
    at Module.require (node:internal/modules/cjs/loader:1235:19)
    at require (node:internal/modules/helpers:176:18)
    at Object.<anonymous> (/Users/kentliau/Alphapod Code Repo/eap-backend/node_modules/serverless/lib/cli/handle-error.js:6:35)
    at Module._compile (node:internal/modules/cjs/loader:1376:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1435:10)
    at Module.load (node:internal/modules/cjs/loader:1207:32)
    at Module._load (node:internal/modules/cjs/loader:1023:12)
    at Module.require (node:internal/modules/cjs/loader:1235:19)
    at require (node:internal/modules/helpers:176:18)
    at Object.<anonymous> (/Users/kentliau/Alphapod Code Repo/eap-backend/node_modules/serverless/scripts/serverless.js:17:21)
    at Module._compile (node:internal/modules/cjs/loader:1376:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1435:10)
    at Module.load (node:internal/modules/cjs/loader:1207:32)
    at Module._load (node:internal/modules/cjs/loader:1023:12)
    at Module.require (node:internal/modules/cjs/loader:1235:19)
    at require (node:internal/modules/helpers:176:18)
    at /Users/kentliau/Alphapod Code Repo/eap-backend/node_modules/serverless/bin/serverless.js:73:7

Proposed solution (optional)

Upgrade node-fetch to v3 for both this and @serverless/dashboard-plugin project

kentliau avatar Nov 07 '23 05:11 kentliau

This message:

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

keeps serverless stuck in an infinite loop of never getting anywhere.

adminy avatar Jan 05 '24 22:01 adminy

Seeing the same issue as adminy

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

andrewmichaelsa avatar Jan 25 '24 08:01 andrewmichaelsa

Same here. I can't deploy my apps now

serverless --version
(node:44527) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
Framework Core: 3.38.0
Plugin: 7.2.0
SDK: 4.5.1

newadventure079 avatar Feb 06 '24 00:02 newadventure079

go clean
go mod tidy
rm -rf ./bin
env GOOS=linux CGO_ENABLED=0 go build -o bin/retail ./cmd
sls deploy --verbose
(node:339723) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)

Deploying tuku-retail to stage dev (ca-central-1)

ToxicalNoob3062 avatar Feb 29 '24 17:02 ToxicalNoob3062

The message is simply a deprecation warning and doesn't affect the behavior (as of node v21). If something goes wrong, there should be another issue.

wktk avatar Mar 01 '24 03:03 wktk

Could the problem be the message showing as ERROR instead of WARN? That could make some automation system to abort.

image

Zebnastien avatar Mar 29 '24 14:03 Zebnastien