Skip to content

[Spring 2026] Migrate Juno SDK to be compatible with Nextjs 16 & Nodejs 24 #67

@llam36

Description

@llam36

Context

  • iCan is upgrading to NextJS 16 & NodeJS 24, and the Juno SDK does not work correctly (see iCan PR)
  • From my investigation, it seems the request package used by Juno SDK is no longer supported by higher versions of Next.
  • This package is used by the auto-generated portion of the SDK

Potential Fix

  • Run the sdk generation command, but use fetch instead of request
  • Confirm all methods work normally with the dashboard

Error message

./projects/bog/ican/node_modules/sshpk/lib/ssh-buffer.js
Module not found: Can't resolve 'safer-buffer'


Import trace:
  App Route:
    ./projects/bog/ican/node_modules/sshpk/lib/ssh-buffer.js
    ./projects/bog/ican/node_modules/sshpk/lib/signature.js
    ./projects/bog/ican/node_modules/sshpk/lib/index.js
    ./projects/bog/ican/node_modules/http-signature/lib/signer.js
    ./projects/bog/ican/node_modules/http-signature/lib/index.js
    ./projects/bog/ican/node_modules/request/request.js
    ./projects/bog/ican/node_modules/request/index.js
    ./projects/bog/ican/node_modules/juno-sdk/build/main/internal/api/projectApi.js
    ./projects/bog/ican/node_modules/juno-sdk/build/main/internal/api/apis.js
    ./projects/bog/ican/node_modules/juno-sdk/build/main/internal/api.d.ts
    ./projects/bog/ican/node_modules/juno-sdk/build/main/lib/file.d.ts
    ./projects/bog/ican/node_modules/juno-sdk/build/main/lib/juno.js
    ./projects/bog/ican/node_modules/juno-sdk/build/main/index.d.ts
    ./projects/bog/ican/src/services/mail.ts
    ./projects/bog/ican/src/services/forgotPasswordCodes.ts
    ./projects/bog/ican/src/app/api/v1/auth/forgot-password/verify/route.ts

https://nextjs.org/docs/messages/module-not-found


./projects/bog/ican/node_modules/sshpk/lib/utils.js
Module not found: Can't resolve 'safer-buffer'


Import trace:
  App Route:
    ./projects/bog/ican/node_modules/sshpk/lib/utils.js
    ./projects/bog/ican/node_modules/sshpk/lib/private-key.js
    ./projects/bog/ican/node_modules/sshpk/lib/index.js
    ./projects/bog/ican/node_modules/http-signature/lib/signer.js
    ./projects/bog/ican/node_modules/http-signature/lib/index.js
    ./projects/bog/ican/node_modules/request/request.js
    ./projects/bog/ican/node_modules/request/index.js
    ./projects/bog/ican/node_modules/juno-sdk/build/main/internal/api/fileProviderApi.js
    ./projects/bog/ican/node_modules/juno-sdk/build/main/internal/api/apis.d.ts
    ./projects/bog/ican/node_modules/juno-sdk/build/main/internal/api.d.ts
    ./projects/bog/ican/node_modules/juno-sdk/build/main/lib/file.js
    ./projects/bog/ican/node_modules/juno-sdk/build/main/lib/juno.js
    ./projects/bog/ican/node_modules/juno-sdk/build/main/index.d.ts
    ./projects/bog/ican/src/services/mail.ts
    ./projects/bog/ican/src/services/forgotPasswordCodes.ts
    ./projects/bog/ican/src/app/api/v1/auth/forgot-password/verify/route.ts

https://nextjs.org/docs/messages/module-not-found


./projects/bog/ican/node_modules/http-signature/lib/signer.js
Module not found: Can't resolve 'sshpk'


Import trace:
  App Route:
    ./projects/bog/ican/node_modules/http-signature/lib/signer.js
    ./projects/bog/ican/node_modules/http-signature/lib/index.js
    ./projects/bog/ican/node_modules/request/request.js
    ./projects/bog/ican/node_modules/request/index.js
    ./projects/bog/ican/node_modules/juno-sdk/build/main/internal/api/userApi.js
    ./projects/bog/ican/node_modules/juno-sdk/build/main/internal/api/apis.js
    ./projects/bog/ican/node_modules/juno-sdk/build/main/internal/api.js
    ./projects/bog/ican/node_modules/juno-sdk/build/main/lib/email.d.ts
    ./projects/bog/ican/node_modules/juno-sdk/build/main/lib/juno.js
    ./projects/bog/ican/node_modules/juno-sdk/build/main/index.d.ts
    ./projects/bog/ican/src/services/mail.ts
    ./projects/bog/ican/src/services/forgotPasswordCodes.ts
    ./projects/bog/ican/src/app/api/v1/auth/forgot-password/verify/route.ts

https://nextjs.org/docs/messages/module-not-found


./projects/bog/ican/node_modules/http-signature/lib/utils.js
Module not found: Can't resolve 'sshpk'


Import trace:
  App Route:
    ./projects/bog/ican/node_modules/http-signature/lib/utils.js
    ./projects/bog/ican/node_modules/http-signature/lib/index.js
    ./projects/bog/ican/node_modules/request/request.js
    ./projects/bog/ican/node_modules/request/index.js
    ./projects/bog/ican/node_modules/juno-sdk/build/main/internal/api/userApi.js
    ./projects/bog/ican/node_modules/juno-sdk/build/main/internal/api/apis.js
    ./projects/bog/ican/node_modules/juno-sdk/build/main/internal/api.js
    ./projects/bog/ican/node_modules/juno-sdk/build/main/lib/email.d.ts
    ./projects/bog/ican/node_modules/juno-sdk/build/main/lib/juno.js
    ./projects/bog/ican/node_modules/juno-sdk/build/main/index.d.ts
    ./projects/bog/ican/src/services/mail.ts
    ./projects/bog/ican/src/services/forgotPasswordCodes.ts
    ./projects/bog/ican/src/app/api/v1/auth/forgot-password/verify/route.ts

https://nextjs.org/docs/messages/module-not-found


./projects/bog/ican/node_modules/http-signature/lib/verify.js
Module not found: Can't resolve 'sshpk'


Import trace:
  App Route:
    ./projects/bog/ican/node_modules/http-signature/lib/verify.js
    ./projects/bog/ican/node_modules/http-signature/lib/index.js
    ./projects/bog/ican/node_modules/request/request.js
    ./projects/bog/ican/node_modules/request/index.js
    ./projects/bog/ican/node_modules/juno-sdk/build/main/internal/api/userApi.js
    ./projects/bog/ican/node_modules/juno-sdk/build/main/internal/api/apis.js
    ./projects/bog/ican/node_modules/juno-sdk/build/main/internal/api.js
    ./projects/bog/ican/node_modules/juno-sdk/build/main/lib/email.d.ts
    ./projects/bog/ican/node_modules/juno-sdk/build/main/lib/juno.js
    ./projects/bog/ican/node_modules/juno-sdk/build/main/index.d.ts
    ./projects/bog/ican/src/services/mail.ts
    ./projects/bog/ican/src/services/forgotPasswordCodes.ts
    ./projects/bog/ican/src/app/api/v1/auth/forgot-password/verify/route.ts

https://nextjs.org/docs/messages/module-not-found


./projects/bog/ican/node_modules/request/lib/cookies.js
Module not found: Can't resolve 'tough-cookie'


Import trace:
  App Route:
    ./projects/bog/ican/node_modules/request/lib/cookies.js
    ./projects/bog/ican/node_modules/request/index.js
    ./projects/bog/ican/node_modules/juno-sdk/build/main/internal/api/userApi.js
    ./projects/bog/ican/node_modules/juno-sdk/build/main/internal/api/apis.js
    ./projects/bog/ican/node_modules/juno-sdk/build/main/internal/api.js
    ./projects/bog/ican/node_modules/juno-sdk/build/main/lib/email.d.ts
    ./projects/bog/ican/node_modules/juno-sdk/build/main/lib/juno.js
    ./projects/bog/ican/node_modules/juno-sdk/build/main/index.d.ts
    ./projects/bog/ican/src/services/mail.ts
    ./projects/bog/ican/src/services/forgotPasswordCodes.ts
    ./projects/bog/ican/src/app/api/v1/auth/forgot-password/verify/route.ts

https://nextjs.org/docs/messages/module-not-found


./projects/bog/ican/node_modules/request/lib/tunnel.js
Module not found: Can't resolve 'tunnel-agent'


Import trace:
  App Route:
    ./projects/bog/ican/node_modules/request/lib/tunnel.js
    ./projects/bog/ican/node_modules/request/request.js
    ./projects/bog/ican/node_modules/request/index.js
    ./projects/bog/ican/node_modules/juno-sdk/build/main/internal/api/userApi.js
    ./projects/bog/ican/node_modules/juno-sdk/build/main/internal/api/apis.js
    ./projects/bog/ican/node_modules/juno-sdk/build/main/internal/api.js
    ./projects/bog/ican/node_modules/juno-sdk/build/main/lib/email.d.ts
    ./projects/bog/ican/node_modules/juno-sdk/build/main/lib/juno.js
    ./projects/bog/ican/node_modules/juno-sdk/build/main/index.d.ts
    ./projects/bog/ican/src/services/mail.ts
    ./projects/bog/ican/src/services/forgotPasswordCodes.ts
    ./projects/bog/ican/src/app/api/v1/auth/forgot-password/verify/route.ts

https://nextjs.org/docs/messages/module-not-found


./projects/bog/ican/node_modules/request/lib/auth.js
Module not found: Can't resolve 'uuid/v4'


Import trace:
  App Route:
    ./projects/bog/ican/node_modules/request/lib/auth.js
    ./projects/bog/ican/node_modules/request/request.js
    ./projects/bog/ican/node_modules/request/index.js
    ./projects/bog/ican/node_modules/juno-sdk/build/main/internal/api/userApi.js
    ./projects/bog/ican/node_modules/juno-sdk/build/main/internal/api/apis.js
    ./projects/bog/ican/node_modules/juno-sdk/build/main/internal/api.js
    ./projects/bog/ican/node_modules/juno-sdk/build/main/lib/email.d.ts
    ./projects/bog/ican/node_modules/juno-sdk/build/main/lib/juno.js
    ./projects/bog/ican/node_modules/juno-sdk/build/main/index.d.ts
    ./projects/bog/ican/src/services/mail.ts
    ./projects/bog/ican/src/services/forgotPasswordCodes.ts
    ./projects/bog/ican/src/app/api/v1/auth/forgot-password/verify/route.ts

https://nextjs.org/docs/messages/module-not-found


./projects/bog/ican/node_modules/request/lib/multipart.js
Module not found: Can't resolve 'uuid/v4'


Import trace:
  App Route:
    ./projects/bog/ican/node_modules/request/lib/multipart.js
    ./projects/bog/ican/node_modules/request/request.js
    ./projects/bog/ican/node_modules/request/index.js
    ./projects/bog/ican/node_modules/juno-sdk/build/main/internal/api/userApi.js
    ./projects/bog/ican/node_modules/juno-sdk/build/main/internal/api/apis.js
    ./projects/bog/ican/node_modules/juno-sdk/build/main/internal/api.js
    ./projects/bog/ican/node_modules/juno-sdk/build/main/lib/email.d.ts
    ./projects/bog/ican/node_modules/juno-sdk/build/main/lib/juno.js
    ./projects/bog/ican/node_modules/juno-sdk/build/main/index.d.ts
    ./projects/bog/ican/src/services/mail.ts
    ./projects/bog/ican/src/services/forgotPasswordCodes.ts
    ./projects/bog/ican/src/app/api/v1/auth/forgot-password/verify/route.ts

https://nextjs.org/docs/messages/module-not-found


./projects/bog/ican/node_modules/request/lib/oauth.js
Module not found: Can't resolve 'uuid/v4'


Import trace:
  App Route:
    ./projects/bog/ican/node_modules/request/lib/oauth.js
    ./projects/bog/ican/node_modules/request/request.js
    ./projects/bog/ican/node_modules/request/index.js
    ./projects/bog/ican/node_modules/juno-sdk/build/main/internal/api/userApi.js
    ./projects/bog/ican/node_modules/juno-sdk/build/main/internal/api/apis.js
    ./projects/bog/ican/node_modules/juno-sdk/build/main/internal/api.js
    ./projects/bog/ican/node_modules/juno-sdk/build/main/lib/email.d.ts
    ./projects/bog/ican/node_modules/juno-sdk/build/main/lib/juno.js
    ./projects/bog/ican/node_modules/juno-sdk/build/main/index.d.ts
    ./projects/bog/ican/src/services/mail.ts
    ./projects/bog/ican/src/services/forgotPasswordCodes.ts
    ./projects/bog/ican/src/app/api/v1/auth/forgot-password/verify/route.ts

https://nextjs.org/docs/messages/module-not-found


./projects/bog/ican/node_modules/jsprim/lib/jsprim.js
Module not found: Can't resolve 'verror'


Import trace:
  App Route:
    ./projects/bog/ican/node_modules/jsprim/lib/jsprim.js
    ./projects/bog/ican/node_modules/http-signature/lib/signer.js
    ./projects/bog/ican/node_modules/http-signature/lib/index.js
    ./projects/bog/ican/node_modules/request/request.js
    ./projects/bog/ican/node_modules/request/index.js
    ./projects/bog/ican/node_modules/juno-sdk/build/main/internal/api/userApi.js
    ./projects/bog/ican/node_modules/juno-sdk/build/main/internal/api/apis.js
    ./projects/bog/ican/node_modules/juno-sdk/build/main/internal/api.js
    ./projects/bog/ican/node_modules/juno-sdk/build/main/lib/email.d.ts
    ./projects/bog/ican/node_modules/juno-sdk/build/main/lib/juno.js
    ./projects/bog/ican/node_modules/juno-sdk/build/main/index.d.ts
    ./projects/bog/ican/src/services/mail.ts
    ./projects/bog/ican/src/services/forgotPasswordCodes.ts
    ./projects/bog/ican/src/app/api/v1/auth/forgot-password/verify/route.ts

https://nextjs.org/docs/messages/module-not-found


    at <unknown> (https://nextjs.org/docs/messages/module-not-found)

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions