Skip to content

Node 22 has warning in every cli command (eslint error) #679

Closed

Description

@purplecabbage

All commands include this output ....

aio report -b
(node:61566) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)

Running with --trace-deprecation flag:

node --trace-deprecation ~/.nvm/versions/node/v22.10.0/bin/aio info 
(node:64405) [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:399:7)
    at BuiltinModule.compileForPublicLoader (node:internal/bootstrap/realm:338:10)
    at loadBuiltinModule (node:internal/modules/helpers:114:7)
    at Function._load (node:internal/modules/cjs/loader:1100:17)
    at TracingChannel.traceSync (node:diagnostics_channel:315:14)
    at wrapModuleLoad (node:internal/modules/cjs/loader:218:24)
    at Module.require (node:internal/modules/cjs/loader:1340:12)
    at require (node:internal/modules/helpers:141:16)
    at Object.<anonymous> (/Users/jessem/.nvm/versions/node/v22.10.0/lib/node_modules/@adobe/aio-cli/node_modules/whatwg-url/lib/url-state-machine.js:2:18)

Environment Info

  System:
    OS: macOS 14.6.1
    CPU: (10) arm64 Apple M1 Max
    Memory: 1.65 GB / 32.00 GB
    Shell: 5.9 - /bin/zsh
  Binaries:
    Node: 22.10.0 - ~/.nvm/versions/node/v22.10.0/bin/node
    Yarn: 1.22.19 - ~/.bun/bin/yarn
    npm: 10.9.0 - ~/.nvm/versions/node/v22.10.0/bin/npm
  Virtualization:
    Docker: 20.10.17 - /usr/local/bin/docker
  npmGlobalPackages:
    @adobe/aio-cli: 10.3.1

Activity

  1. aiojbot commented on Oct 23, 2024

    @aiojbot
  2. deleted a comment from aiojbot on Nov 6, 2024
  3. shazron commented on Nov 7, 2024

    @shazron
    Contributor
    ❯ npm root -g
    /Users/shazron/.nvm/versions/node/v22.11.0/lib/node_modules
    ❯ cd /Users/shazron/.nvm/versions/node/v22.11.0/lib/node_modules
    ❯ cd @adobe/aio-cli
    ❯ npm ls punycode
    @adobe/aio-cli@10.3.1 /Users/shazron/.nvm/versions/node/v22.11.0/lib/node_modules/@adobe/aio-cli
    ├─┬ @adobe/aio-cli-plugin-app-dev@2.0.0
    │ └─┬ @adobe/aio-lib-runtime@7.0.0
    │   └─┬ webpack@5.96.1
    │     └─┬ schema-utils@3.3.0
    │       └─┬ ajv@6.12.6
    │         └─┬ uri-js@4.4.1
    │           └── punycode@2.3.1
    └─┬ @adobe/aio-cli-plugin-events@4.0.1
      └─┬ @adobe/aio-lib-console@5.3.1
        └─┬ swagger-client@3.18.5
          └─┬ url@0.11.4
            └── punycode@1.4.1
    

    Unfortunately punycode is dependency of a dependency, will have to investigate whether they have been updated.

  4. shazron commented on Nov 7, 2024

    @shazron
    Contributor

    swagger-client@3.31.0 (the latest) does not have punycode as a dependency.
    webpack@5.96.1 (the latest) still has the punycode@2.3.1 dependency.

  5. shazron commented on Nov 7, 2024

    @shazron
    Contributor
    1. schema-utils@4.2.0 has updated the ajv that has the required updates. However, webpack needs to have a new release that uses the new schema-utils, and that timeline for update is unknown. For now, I recommend the app-dev plugin do this: https://github.com/eslint/eslint/pull/18762/files
    2. Update swagger-client for the @adobe/aio-lib-console
  6. shazron commented on Nov 8, 2024

    @shazron
    Contributor

    webpack can't update to the latest schema-utils because of node version support reasons: webpack/schema-utils#191

  7. shazron commented on Nov 8, 2024

    @shazron
    Contributor
  8. shazron commented on Nov 8, 2024

    @shazron
    Contributor
  9. shazron commented on Nov 15, 2024

    @shazron
    Contributor

    PRs merged and released.

  10. reopened this on Jan 7, 2025
  11. shazron commented on Jan 7, 2025

    @shazron
    Contributor

    Re-opening since the releases don't totally solve the issue yet.

  12. shazron commented on Jan 7, 2025

    @shazron
    Contributor
  13. RemoLiechti commented on Jan 16, 2025

    @RemoLiechti

    Hey @shazron , thanks for overriding the dependencies with n22 compatible ones!
    Can we expect this to be released soon? Just asking, as we plan to release a new version of our aio plugin, we may want to wait for the n22 compatibility and do this in the same go.

  14. shazron commented on Jan 17, 2025

    @shazron
    Contributor

    I'm scheduling it for next week.

  15. shazron commented on Jan 21, 2025

    @shazron
    Contributor

    Re-opened. In local testing the overrides works but under certain circumstances listed here: npm/cli#5850

    But when installing via npm install -g @adobe/aio-cli the overrides do not work unfortunately because we have a package-lock.json. We need to find a workaround.

    This is an npm issue (Jan, Nov 2022):

    This PR purportedly will fix the issue (Nov 2023):

  16. shazron commented on Jan 21, 2025

    @shazron
    Contributor

    possible fixes:

    1. use dynamic import to use node-fetch@3.x which is ESM
    2. use the built in global fetch in node (experimental in node-18, stable in node-22). Experimental might be fine if we test it properly
  17. shazron commented on Jan 22, 2025

    @shazron
    Contributor

    Doing fix 2 since mixing ESM with CJS in Jest tests is not trivial.

    Done:

    Pending:

    • @adobe/aio-lib-core-networking
    • @adobe/aio-lib-events

    However, there are sub-dependencies out of our control (like octokit), not sure if it affects things yet:

    ├─┬ @adobe/aio-cli-plugin-app@13.1.3
    │ ├─┬ @adobe/aio-lib-core-networking@5.0.3
    │ │ └── node-fetch@2.7.0
    │ ├─┬ @adobe/generator-aio-app@7.3.0
    │ │ └─┬ yeoman-generator@5.10.0
    │ │   └─┬ github-username@6.0.0
    │ │     └─┬ @octokit/rest@18.12.0
    │ │       └─┬ @octokit/core@3.6.0
    │ │         └─┬ @octokit/request@5.6.3
    │ │           └── node-fetch@2.7.0 deduped
    │ └─┬ @octokit/rest@19.0.13
    │   └─┬ @octokit/core@4.2.4
    │     └─┬ @octokit/request@6.2.8
    │       └── node-fetch@2.7.0 deduped
    └─┬ @adobe/aio-cli-plugin-events@4.0.1
      └─┬ @adobe/aio-lib-events@4.0.1
        └── node-fetch@2.7.0 deduped
    
    
  18. RemoLiechti commented on Feb 6, 2025

    @RemoLiechti

    Hi @shazron
    Is there news on this? We keep getting support requests raised for our aio plugin as users tend to use node 22 and 23 now, and run into problems.

  19. shazron commented on Feb 6, 2025

    @shazron
    Contributor

    It's not a blocker - so it's not scheduled for work on it currently, I'm doing it on my spare time. Please raise a support issue if it's critical so it can be scheduled.

  20. pru55e11 commented on May 7, 2025

    @pru55e11

    @shazron since 22 is now supported in the CLI can this be closed?

  21. shazron commented on May 8, 2025

    @shazron
    Contributor

    No, this issue is caused by Node 22.

  22. pru55e11 commented on May 8, 2025

    @pru55e11

    this message is now suppressed in node >=22.14 nodejs/node#56632 - maybe we should just make that the min required version of 22?

  23. shazron commented on May 8, 2025

    @shazron
    Contributor

    oh thank God 😅 for reference, the commit shows in the release notes, where the warning will not show if it's in node_modules: https://nodejs.org/en/blog/release/v22.14.0 commit

    I say we can up it to 22.14 min, and if anyone complains they can just update their node version. This issue can be closed then

  24. RemoLiechti commented on May 8, 2025

    @RemoLiechti

    I confirm this now works with latest aio-cli and node 22, thank you.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions