From 6555cb768753338a1433716cd44c6045be6d51b3 Mon Sep 17 00:00:00 2001 From: Duval Kilpatrick Date: Tue, 23 Dec 2025 14:34:23 -0500 Subject: [PATCH 1/4] feat!: drop Node 18 support --- .github/workflows/build.yml | 2 +- .github/workflows/snapshots.yml | 2 +- .github/workflows/test-matrix.yml | 2 +- .github/workflows/unit_test.yml | 2 +- .github/workflows/wcag_test.yml | 2 +- packages/pages-components/package.json | 4 ++-- test-sites/pages-components-starter/package.json | 4 ++-- .../pages-components-starter/scripts/test-matrix-local.sh | 2 +- 8 files changed, 10 insertions(+), 10 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 423fbce1..13e956be 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -16,7 +16,7 @@ jobs: working-directory: "./packages/${{ inputs.package }}" strategy: matrix: - node-version: [18.x, 20.x, 22.x] + node-version: [20.x, 22.x, 24.x] steps: - name: "Checkout" uses: actions/checkout@v4.1.6 diff --git a/.github/workflows/snapshots.yml b/.github/workflows/snapshots.yml index ec55c364..ea06902b 100644 --- a/.github/workflows/snapshots.yml +++ b/.github/workflows/snapshots.yml @@ -14,7 +14,7 @@ jobs: strategy: matrix: # TODO: Add 22.x - removed since it caused infinite screenshot loops - node-version: [18.x, 20.x] + node-version: [20.x] steps: - uses: actions/checkout@v4.1.6 with: diff --git a/.github/workflows/test-matrix.yml b/.github/workflows/test-matrix.yml index 556f9708..27b43bf3 100644 --- a/.github/workflows/test-matrix.yml +++ b/.github/workflows/test-matrix.yml @@ -10,7 +10,7 @@ jobs: strategy: fail-fast: false # Continue other combos even if one fails matrix: - node: [18, 20, 22, 24] + node: [20, 22, 24] react: ["18.2.0"] # TODO: Add "19.2.1" when ready steps: diff --git a/.github/workflows/unit_test.yml b/.github/workflows/unit_test.yml index c6f7d79a..eb70c703 100644 --- a/.github/workflows/unit_test.yml +++ b/.github/workflows/unit_test.yml @@ -16,7 +16,7 @@ jobs: working-directory: ./packages/${{ inputs.package }} strategy: matrix: - node-version: [18.x, 20.x, 22.x] + node-version: [20.x, 22.x, 24.x] steps: - name: "Checkout" uses: actions/checkout@v4.1.6 diff --git a/.github/workflows/wcag_test.yml b/.github/workflows/wcag_test.yml index df26e409..6d1f3df4 100644 --- a/.github/workflows/wcag_test.yml +++ b/.github/workflows/wcag_test.yml @@ -7,7 +7,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - node-version: [18.x, 20.x, 22.x] + node-version: [20.x, 22.x, 24.x] steps: - uses: actions/checkout@v4.1.6 - uses: actions/setup-node@v4.0.2 diff --git a/packages/pages-components/package.json b/packages/pages-components/package.json index 4b192dc4..07e5952d 100644 --- a/packages/pages-components/package.json +++ b/packages/pages-components/package.json @@ -31,7 +31,7 @@ }, "types": "dist/index.d.ts", "engines": { - "node": "^18 || ^20 || ^22 || ^24" + "node": "^20 || ^22 || ^24" }, "scripts": { "dev": "pnpm run storybook", @@ -101,4 +101,4 @@ "classnames": "^2.5.1", "luxon": "^3.7.2" } -} +} \ No newline at end of file diff --git a/test-sites/pages-components-starter/package.json b/test-sites/pages-components-starter/package.json index c8551742..36f8435d 100644 --- a/test-sites/pages-components-starter/package.json +++ b/test-sites/pages-components-starter/package.json @@ -13,7 +13,7 @@ "test": "playwright test" }, "engines": { - "node": "^18 || ^20.2.0 || ^22 || ^24" + "node": "^20.2.0 || ^22 || ^24" }, "dependencies": { "@yext/pages-components": "workspace:*", @@ -30,4 +30,4 @@ "typescript": "^5.3.3", "vite": "^5.4.19" } -} +} \ No newline at end of file diff --git a/test-sites/pages-components-starter/scripts/test-matrix-local.sh b/test-sites/pages-components-starter/scripts/test-matrix-local.sh index facecc8b..a945934c 100755 --- a/test-sites/pages-components-starter/scripts/test-matrix-local.sh +++ b/test-sites/pages-components-starter/scripts/test-matrix-local.sh @@ -9,7 +9,7 @@ if ! command -v nvm >/dev/null 2>&1; then exit 1 fi -NODE_VERSIONS=("18" "20" "22" "24") +NODE_VERSIONS=("20" "22" "24") REACT_VERSIONS=("18.2.0") # TODO: Add "19.2.1" INITIAL_NODE_VERSION=$(node -v) From 15807825ce5d2a5129ed908d751b001a5208eab2 Mon Sep 17 00:00:00 2001 From: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 23 Dec 2025 19:36:36 +0000 Subject: [PATCH 2/4] Automated linting/prettier update --- packages/pages-components/package.json | 2 +- test-sites/pages-components-starter/package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/pages-components/package.json b/packages/pages-components/package.json index 07e5952d..8ec82d7e 100644 --- a/packages/pages-components/package.json +++ b/packages/pages-components/package.json @@ -101,4 +101,4 @@ "classnames": "^2.5.1", "luxon": "^3.7.2" } -} \ No newline at end of file +} diff --git a/test-sites/pages-components-starter/package.json b/test-sites/pages-components-starter/package.json index 36f8435d..83a2cb76 100644 --- a/test-sites/pages-components-starter/package.json +++ b/test-sites/pages-components-starter/package.json @@ -30,4 +30,4 @@ "typescript": "^5.3.3", "vite": "^5.4.19" } -} \ No newline at end of file +} From 0ea6a7df47fd77b359f23bbc448c40ccba17035e Mon Sep 17 00:00:00 2001 From: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 23 Dec 2025 19:38:39 +0000 Subject: [PATCH 3/4] Update snapshots --- .../components-address--address-miami.png | Bin 7717 -> 7721 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/packages/pages-components/.storybook/snapshots/__snapshots__/components-address--address-miami.png b/packages/pages-components/.storybook/snapshots/__snapshots__/components-address--address-miami.png index 585948d417b920e3e93a5e553360e025c1f39e10..f4ac467dd46fc6b6ec036102601f627b6b1336c9 100644 GIT binary patch literal 7721 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 Wh1*&TY2XOtWEk?x=KoCn^WOp2E&tO1 literal 7717 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 rax@SRS5|H#O}l~4o2xs!4WP Date: Tue, 23 Dec 2025 19:40:42 +0000 Subject: [PATCH 4/4] Update snapshots --- .../components-address--address-miami.png | Bin 7721 -> 7717 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/packages/pages-components/.storybook/snapshots/__snapshots__/components-address--address-miami.png b/packages/pages-components/.storybook/snapshots/__snapshots__/components-address--address-miami.png index f4ac467dd46fc6b6ec036102601f627b6b1336c9..585948d417b920e3e93a5e553360e025c1f39e10 100644 GIT binary patch literal 7717 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 rax@SRS5|H#O}l~4o2xs!4WPDeppdgSt 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 Wh1*&TY2XOtWEk?x=KoCn^WOp2E&tO1