Skip to content

Add template for Node.js 26 - #320

Merged
alexellis merged 1 commit into
openfaas:masterfrom
welteki:node26-template
Sep 24, 2026
Merged

alexellis merged 1 commit into
openfaas:masterfrom
welteki:node26-template

Conversation

@welteki

@welteki welteki commented Sep 24, 2026

Copy link
Copy Markdown
Member

Description

Add a new template for Node.js 26 using of-watchdog 0.12.1.

Motivation and Context

  • I have raised an issue to propose this change (required)

Node.js 26 is the latest Node.js release. The latest available Node.js template in this repository is node25.

Which issue(s) this PR fixes

How Has This Been Tested?

Scaffolded a fresh function with faas-cli, then built and ran it locally with Docker on Linux using faas-cli local-run:

faas-cli new node26-latest-ci --lang node26 --prefix local --gateway http://127.0.0.1:18260
faas-cli local-run --build node26-latest-ci --port 18260 -f stack.yaml

All eight HTTP checks passed: health, readiness, GET, plain text, JSON on a nested path with query parameters, form data, missing Content-Type, and malformed JSON returning HTTP 400. Successful requests returned HTTP 200 with the expected response bodies.

Verified the running container uses of-watchdog 0.12.1 and Node v26.10.0, runs as a non-root user (UID 100), and reports healthy.

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Version change (see: Impact to existing users)

Impact to existing users

This PR adds a new template. There is no impact on existing templates.

Checklist:

  • My code follows the code style of this project.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I've read the CONTRIBUTION guide
  • I have signed-off my commits with git commit -s
  • I have added tests to cover my changes.
  • All new and existing tests passed.

Signed-off-by: Han Verstraete (OpenFaaS Ltd) <han@openfaas.com>
@reviewfn

reviewfn Bot commented Sep 24, 2026

Copy link
Copy Markdown

AI Pull Request Overview

Disclaimer: This review was generated by automated AI and may contain errors. Do not trust its outputs without human verification.

Summary

  • Adds a new node26 classic template alongside the existing Node.js templates.
  • Registers node26 in the README template table.
  • Uses node:26-alpine and updates the watchdog image to of-watchdog:0.12.1.
  • The template runtime is otherwise consistent with the adjacent node25 template.
  • No blocking correctness, migration, or rendering issues were identified in the scoped diff.

Approval rating (1-10)

9/10. The change is narrowly scoped, consistent with existing templates, and does not introduce evident regressions in reviewed files.

Summary per file

Summary per file
File path Summary
README.md Adds node26 to the classic templates table.
template/node26/.dockerignore Ignores nested node_modules directories.
template/node26/Dockerfile Defines Node.js 26 Alpine runtime with of-watchdog 0.12.1.
template/node26/function/handler.js Provides default generated function handler.
template/node26/function/package.json Defines scaffolded function package metadata and test script.
template/node26/index.js Provides Express-based OpenFaaS request adapter.
template/node26/package.json Defines template runtime package and dependencies.
template/node26/template.yml Defines node26 template metadata and welcome text.

Overall Assessment

The PR is a low-risk additive template update. The new node26 directory tracks the structure of the existing Node.js templates, updates the visible template identifiers where needed, and keeps the generated function behavior aligned with prior versions. I did not find a concrete issue that should block merging.

Detailed Review

Detailed Review

No blocking findings.

The scoped change appears to be intentionally additive: no existing template behavior is modified beyond the README listing. The node26 files are consistent with the existing Node.js template layout, and the copied runtime adapter updates the user-visible listener log from the stale node20 value present in node25 to node26.

The README entry is in the expected location among the other Node.js templates and links to the new template path. The template.yml language value matches the directory name and README entry, which is the key metadata needed for this style of classic template.

The Dockerfile preserves the non-root app user model and the same watchdog HTTP mode configuration used by the adjacent templates, while updating the watchdog and Node.js base image references. I did not identify a scoped diff issue in the build order, ownership, or entrypoint configuration.

AI agent details.

Agent processing time: 1m7.363s
Environment preparation time: 3.195s
Total time from webhook: 1m13.599s

@welteki
welteki marked this pull request as ready for review September 24, 2026 15:43
@alexellis
alexellis merged commit c572f22 into openfaas:master Sep 24, 2026
1 of 2 checks passed
@welteki
welteki deleted the node26-template branch September 24, 2026 16:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants