From 7aaed8e30b895454b00fe7fc808c282c5f8ce489 Mon Sep 17 00:00:00 2001 From: Amruth Pillai Date: Thu, 10 Sep 2026 11:15:38 +0200 Subject: [PATCH] chore: pin Node.js runtime and make root TS strict mode explicit (#3501) Co-authored-by: Claude Fable 5.1 Co-authored-by: Claude --- .github/workflows/autofix.yml | 2 +- .github/workflows/e2e.yml | 2 +- .nvmrc | 1 + AGENTS.md | 2 +- Dockerfile | 1 + package.json | 3 +++ tsconfig.json | 5 ++++- 7 files changed, 12 insertions(+), 4 deletions(-) create mode 100644 .nvmrc diff --git a/.github/workflows/autofix.yml b/.github/workflows/autofix.yml index f290d020e..d1d3827e7 100644 --- a/.github/workflows/autofix.yml +++ b/.github/workflows/autofix.yml @@ -32,7 +32,7 @@ jobs: - name: Setup Node uses: actions/setup-node@v6 with: - node-version: "lts/*" + node-version-file: ".nvmrc" cache: "pnpm" - name: Install Dependencies diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml index dac1f65ac..60747a8e4 100644 --- a/.github/workflows/e2e.yml +++ b/.github/workflows/e2e.yml @@ -50,7 +50,7 @@ jobs: - name: Setup Node uses: actions/setup-node@v6 with: - node-version: "24" + node-version-file: ".nvmrc" cache: "pnpm" - name: Install Dependencies diff --git a/.nvmrc b/.nvmrc new file mode 100644 index 000000000..a45fd52cc --- /dev/null +++ b/.nvmrc @@ -0,0 +1 @@ +24 diff --git a/AGENTS.md b/AGENTS.md index 04ea4e987..ef79a60eb 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -40,7 +40,7 @@ Reactive Resume is a pnpm monorepo (Turborepo) with two deployable apps: `apps/w Internal packages are source-consumed through `package.json` export maps pointing at `src` files. Do not assume package-local `dist` output exists unless a package explicitly adds it. -Prerequisites: **Node.js 24** (matches Dockerfile `ARG NODE_VERSION=24`), **pnpm 11.21.0** ([install guide](https://pnpm.io/installation)), and **Docker** for PostgreSQL (`sudo dockerd &` if the daemon isn't running). +Prerequisites: **Node.js 24** (pinned in `.nvmrc`; matches Dockerfile `ARG NODE_VERSION=24`), **pnpm 12.3.4** (pinned by `packageManager` in the root `package.json`; pnpm self-manages to it, so any recent pnpm can bootstrap — the Dockerfile's `ARG PNPM_VERSION` only picks the base image) ([install guide](https://pnpm.io/installation)), and **Docker** for PostgreSQL (`sudo dockerd &` if the daemon isn't running). ## Ownership map diff --git a/Dockerfile b/Dockerfile index b43f1c985..27b894498 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,6 @@ # syntax=docker/dockerfile:1.7 +# Base image only; pnpm self-manages to the `packageManager` version in package.json. ARG PNPM_VERSION=11.21.0 ARG NODE_VERSION=24 diff --git a/package.json b/package.json index aae0c2fc2..d4de1e51a 100644 --- a/package.json +++ b/package.json @@ -13,6 +13,9 @@ "type": "git", "url": "https://github.com/amruthpillai/reactive-resume.git" }, + "engines": { + "node": ">=24" + }, "packageManager": "pnpm@12.3.4+sha512.961aa41fb077da3a04a441d9f8e15ebc0c96da8ef710b2eb67bf9ee7cb0610eabd48f1fd85f51cffe73846785fa0f87c56a3a872a1d893f8446741b5cce45457", "workspaces": [ "apps/*", diff --git a/tsconfig.json b/tsconfig.json index 66de57db4..d61f169cf 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,3 +1,6 @@ { - "extends": "@reactive-resume/config/tsconfig.base.json" + "extends": "@reactive-resume/config/tsconfig.base.json", + "compilerOptions": { + "strict": true + } }