-
Notifications
You must be signed in to change notification settings - Fork 62
feat: add nodejs 22 env #422
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
Hi @sanketsudake and @soharab-ic , |
|
Hi @sanketsudake any thoughts on this PR? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR introduces a Node.js 22 runtime environment for Fission with full ESM (ES Module) support, expanding the framework's capabilities while maintaining backward compatibility. The addition provides modern JavaScript features, improved performance, and enhanced developer experience.
Key changes:
- Complete Node.js 22 environment with ESM-first architecture using
"type": "module" - Updated dependencies including Pino logging (replacing Morgan), Express 5.1.0, and WebSocket 8.18
- Comprehensive test suite adapted for ESM with modern
export defaultsyntax
Reviewed Changes
Copilot reviewed 30 out of 32 changed files in this pull request and generated 7 comments.
Show a summary per file
| File | Description |
|---|---|
| nodejs22/server.js | Core ESM-enabled server with dynamic import loading and Pino logging |
| nodejs22/package.json | Package configuration with "type": "module" and Node.js 22+ dependencies |
| nodejs22/examples/* | ESM function examples showcasing modern JavaScript features |
| nodejs22/test/* | Comprehensive test suite with ESM syntax and specialized test runners |
| nodejs22/builder/* | Build configuration for Node.js 22 Alpine-based containers |
Files not reviewed (2)
- nodejs22/package-lock.json: Language not supported
- nodejs22/test/test-case-4/package-lock.json: Language not supported
|
Please add nodejs22 in
|
|
ok i have resolved the feedback provided |
|
it seems like i needed to address the tests and gh actions but i dont see it running again since yesterday, how can i validate that the actions working properly again? |
|
@sanketsudake can you help me make sense of whats failing? because it seems like nodejs (current runtime and nodejs22 are failing in the actions but i had not made changes to nodejs directory at all |
|
I went through dump didnt find much as some of tools versions are outdated. Troubleshooting here #423 . |
ok i will wait for you to merge the PR so i can use those new actions
It would be awesome to have support for Bun and Deno given there is some interest in both of those runtimes and with Bun/Deno we could utilize their native APIs for the server part to max out potential performance of the function handlers. |
|
@sanketsudake something got messed up in my rebasing 😅 so i closed the PR here and re-opened it again #424 |
Node.js 22 Runtime Environment with ESM Support
Summary
This PR introduces a separate directory for Nodejs 22 runtime env (server.js) with some dependency updates such as Pino logging instead of Morgan.
Resolves #277
New Features
Node.js 22 Environment
nodejs22/with complete environment setup"type": "module"configuration enables nativeimport/exportsyntaxESM-Ready Examples
All examples use modern ESM syntax and Node.js 22 features:
hello.jsweather.jsmulti-entry.jsbroadcast.jskubeEventsSlack.jsUsage
Environment Creation
Function Deployment (ESM)
Modern Function Syntax
Breaking Changes
None - this is purely additive. Existing
nodejs/environment remains unchanged for backward compatibility.Testing
nodejs22/test/Benefits