diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7a69cb8..798b0b0 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -45,7 +45,7 @@ jobs: key: data-${{ hashFiles('src/data/*') }}-${{ steps.date.outputs.date }} - name: 'Install dependencies' - run: npm ci + run: npm ci --engine-strict - name: 'Build dist' run: npx observable build @@ -115,7 +115,7 @@ jobs: cache: ${{ !env.ACT && 'npm' || '' }} - name: 'Install dependencies' - run: npm ci + run: npm ci --engine-strict - name: 'Run formatter' run: npx prettier --ignore-unknown --check '**' @@ -137,7 +137,7 @@ jobs: cache: ${{ !env.ACT && 'npm' || '' }} - name: 'Install dependencies' - run: npm ci + run: npm ci --engine-strict - name: 'Run the linter' run: npx eslint . --max-warnings 0 @@ -159,7 +159,7 @@ jobs: cache: ${{ !env.ACT && 'npm' || '' }} - name: 'Install dependencies' - run: npm ci + run: npm ci --engine-strict - name: 'Run the tests' run: npx vitest run @@ -183,7 +183,7 @@ jobs: cache: ${{ !env.ACT && 'npm' || '' }} - name: 'Install dependencies' - run: npm ci + run: npm ci --engine-strict - name: 'Download dist' uses: actions/download-artifact@v4.1.8 @@ -221,7 +221,7 @@ jobs: cache: ${{ !env.ACT && 'npm' || '' }} - name: 'Install dependencies' - run: npm ci + run: npm ci --engine-strict - name: 'Run typechecker' run: npx tsc --noEmit diff --git a/.github/workflows/fix-playwright-versions.yml b/.github/workflows/fix-playwright-versions.yml index 30b7d12..5f838fc 100644 --- a/.github/workflows/fix-playwright-versions.yml +++ b/.github/workflows/fix-playwright-versions.yml @@ -27,7 +27,7 @@ jobs: cache: ${{ !env.ACT && 'npm' || '' }} - name: 'Install dependencies' - run: npm ci --ignore-scripts + run: npm ci --engine-strict --ignore-scripts - name: 'Fix Playwright versions' run: scripts/fix-playwright-versions.sh diff --git a/Makefile b/Makefile index e46ce20..9a515d8 100644 --- a/Makefile +++ b/Makefile @@ -6,7 +6,7 @@ IMAGE_TAG=prereview-stats export OBSERVABLE_TELEMETRY_DISABLE := 1 node_modules: package.json package-lock.json - npm install + npm install --engine-strict touch node_modules .env: diff --git a/package-lock.json b/package-lock.json index 81ba380..c4f13be 100644 --- a/package-lock.json +++ b/package-lock.json @@ -25,7 +25,7 @@ "@dotenvx/dotenvx": "^1.32.0", "@playwright/test": "^1.49.1", "@trivago/prettier-plugin-sort-imports": "^5.2.1", - "@tsconfig/node20": "^20.1.4", + "@tsconfig/node22": "^22.0.0", "@types/all-the-cities": "^3.1.3", "@types/diacritics": "^1.3.3", "@types/node": "^22.10.5", @@ -44,7 +44,8 @@ "vitest": "^2.1.8" }, "engines": { - "node": ">=18" + "node": "22", + "npm": "9 || 10" } }, "node_modules/@asamuzakjp/dom-selector": { @@ -190,6 +191,7 @@ }, "node_modules/@clack/prompts/node_modules/is-unicode-supported": { "version": "1.3.0", + "extraneous": true, "inBundle": true, "license": "MIT", "engines": { @@ -1926,11 +1928,12 @@ } } }, - "node_modules/@tsconfig/node20": { - "version": "20.1.4", - "resolved": "https://registry.npmjs.org/@tsconfig/node20/-/node20-20.1.4.tgz", - "integrity": "sha512-sqgsT69YFeLWf5NtJ4Xq/xAF8p4ZQHlmGW74Nu2tD4+g5fAsposc4ZfaaPixVu4y01BEiDCWLRDCvDM5JOsRxg==", - "dev": true + "node_modules/@tsconfig/node22": { + "version": "22.0.0", + "resolved": "https://registry.npmjs.org/@tsconfig/node22/-/node22-22.0.0.tgz", + "integrity": "sha512-twLQ77zevtxobBOD4ToAtVmuYrpeYUh3qh+TEp+08IWhpsrIflVHqQ1F1CiPxQGL7doCdBIOOCF+1Tm833faNg==", + "dev": true, + "license": "MIT" }, "node_modules/@types/all-the-cities": { "version": "3.1.3", diff --git a/package.json b/package.json index 071a3ff..5acb653 100644 --- a/package.json +++ b/package.json @@ -22,7 +22,7 @@ "@dotenvx/dotenvx": "^1.32.0", "@playwright/test": "^1.49.1", "@trivago/prettier-plugin-sort-imports": "^5.2.1", - "@tsconfig/node20": "^20.1.4", + "@tsconfig/node22": "^22.0.0", "@types/all-the-cities": "^3.1.3", "@types/diacritics": "^1.3.3", "@types/node": "^22.10.5", @@ -41,6 +41,7 @@ "vitest": "^2.1.8" }, "engines": { - "node": ">=18" + "node": "22", + "npm": "9 || 10" } } diff --git a/tsconfig.json b/tsconfig.json index 13c34b5..b245e79 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "@tsconfig/node20/tsconfig.json", + "extends": "@tsconfig/node22/tsconfig.json", "compilerOptions": { "exactOptionalPropertyTypes": true, "resolveJsonModule": true