Skip to content

build(nvmrc): bump Node.js version from 20 to 22 [PP-1545] - #4

Merged
avinash-vllbh merged 3 commits into
masterfrom
PP-1545/upgrade-node-20-to-22
Aug 24, 2026
Merged

build(nvmrc): bump Node.js version from 20 to 22 [PP-1545]#4
avinash-vllbh merged 3 commits into
masterfrom
PP-1545/upgrade-node-20-to-22

Conversation

@avinash-vllbh

@avinash-vllbh avinash-vllbh commented Aug 24, 2026

Copy link
Copy Markdown
Collaborator

Stakeholder Overview (learn more)

Node 20 reaches end-of-life on 2026-04-30. This bumps the repo's pinned Node version to 22 LTS, transfers ownership to the product-pages team, and gets CI actually running (and passing) the test suite for the first time on this fork.

Risk Estimate (learn more)

✅ Negligible risk!

Changes

Click to expand!
  • Node 22: Bumped .nvmrc from 20 to 22. The build and commitlint GitHub Actions workflows pick this up automatically via node-version-file: .nvmrc; no other config references the Node version (no engines field in package.json, no Dockerfile).
  • Ownership migration: CODEOWNERS and .customink/catalog.yaml now point at product-pages (owns the Catalog app that consumes this package) instead of funnelcake.
  • CI fixes — GitHub Actions had never run on this fork (fork-safety gate; now enabled). Once enabled, the build workflow failed before reaching tests, so:
    • Excluded the committed lib/ build output from ESLint (it was never in .gitignore, so generated code failed prettier and blocked every run at the lint step).
    • Removed test:esm, test:integration, and benchmark steps from build.yml: they exercise esm/*.mjs and UMD dist/ bundles that are no longer built (prepublish is CJS-only on this fork) and a benchmark/ directory that doesn't exist here.
    • Deleted size-limit.yml (checks the same dead UMD bundle) and assign-reviewer.yml (auto-assigned the upstream OSS maintainer as reviewer).
  • Verified: lint, type check, and unit tests (124 passing, 100% coverage) pass on Node 22, locally and in CI.

Notes

Published package (@customink/html-react-parser) is consumed by customink/catalog and customink/next-frontend (apps/catalog). This is a CI/tooling-only change and does not affect published package behavior or consumers.

Node 20 reaches EOL 2026-04-30. CI (build, commitlint workflows)
picks this up via node-version-file, so no other changes needed.

PP-1545
@avinash-vllbh
avinash-vllbh marked this pull request as ready for review August 24, 2026 14:49
@avinash-vllbh
avinash-vllbh requested a review from a team as a code owner August 24, 2026 14:49
Updates CODEOWNERS and OpsLevel catalog.yaml to reflect the
product-pages team, which owns the Catalog application that consumes
this package (PLP/PDP rendering).

PP-1545
- Exclude committed lib/ build output from ESLint (was never added to
  .gitignore, so every PR failed lint on generated code formatting,
  and the test suite never actually ran in CI).
- Remove "Run module tests", "Run integration tests", and "Run
  benchmark" steps from build.yml: they exercise esm/*.mjs and
  dist/*.js UMD bundles that haven't been built since prepublishOnly
  was scoped to CJS-only, and a benchmark/ directory that no longer
  exists in this repo.
- Remove size-limit.yml: checks the same dead UMD dist bundle.
- Remove assign-reviewer.yml: auto-assigned the upstream OSS
  maintainer as reviewer, which doesn't apply now that this fork is
  owned internally by product-pages.

PP-1545
@avinash-vllbh
avinash-vllbh merged commit a61aa9c into master Aug 24, 2026
5 checks passed
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.

1 participant