Skip to content

Commit 8be5122

Browse files
philipbrembeckdependabot[bot]kodiakhq[bot]
authored
Release (#1043)
* build(deps): bump next-intl from 4.4.0 to 4.5.8 Bumps [next-intl](https://github.com/amannn/next-intl) from 4.4.0 to 4.5.8. - [Release notes](https://github.com/amannn/next-intl/releases) - [Changelog](https://github.com/amannn/next-intl/blob/main/CHANGELOG.md) - [Commits](amannn/next-intl@v4.4.0...v4.5.8) --- updated-dependencies: - dependency-name: next-intl dependency-version: 4.5.8 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> * build(deps): bump next from 16.0.10 to 16.1.7 Bumps [next](https://github.com/vercel/next.js) from 16.0.10 to 16.1.7. - [Release notes](https://github.com/vercel/next.js/releases) - [Changelog](https://github.com/vercel/next.js/blob/canary/release.js) - [Commits](vercel/next.js@v16.0.10...v16.1.7) --- updated-dependencies: - dependency-name: next dependency-version: 16.1.7 dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com> * build(deps): bump azure/setup-kubectl from 4 to 5 Bumps [azure/setup-kubectl](https://github.com/azure/setup-kubectl) from 4 to 5. - [Release notes](https://github.com/azure/setup-kubectl/releases) - [Changelog](https://github.com/Azure/setup-kubectl/blob/main/CHANGELOG.md) - [Commits](Azure/setup-kubectl@v4...v5) --- updated-dependencies: - dependency-name: azure/setup-kubectl dependency-version: '5' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> * build(deps): bump next from 16.1.7 to 16.2.3 Bumps [next](https://github.com/vercel/next.js) from 16.1.7 to 16.2.3. - [Release notes](https://github.com/vercel/next.js/releases) - [Changelog](https://github.com/vercel/next.js/blob/canary/release.js) - [Commits](vercel/next.js@v16.1.7...v16.2.3) --- updated-dependencies: - dependency-name: next dependency-version: 16.2.3 dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com> * build(deps): bump next-intl from 4.5.8 to 4.9.1 Bumps [next-intl](https://github.com/amannn/next-intl) from 4.5.8 to 4.9.1. - [Release notes](https://github.com/amannn/next-intl/releases) - [Changelog](https://github.com/amannn/next-intl/blob/main/CHANGELOG.md) - [Commits](amannn/next-intl@v4.5.8...v4.9.1) --- updated-dependencies: - dependency-name: next-intl dependency-version: 4.9.1 dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com> * chore: modernise dependency stack and trim unused packages - Remove unused dependencies: @ducanh2912/next-pwa (service worker was fully commented out), prom-client, jest-worker, nookies, million, eslint-config-sznm (not imported in eslint config) - Replace nookies setCookie with a native document.cookie one-liner - Remove million compiler wrapper from next.config.ts; Next 16 + React 19 provide equivalent optimisation built-in - Update all remaining packages to their latest compatible versions (next, react/react-dom stable, sass, sharp, playwright, testing-library, jest 30, typescript-eslint, eslint 9.x latest, quagga2, etc.) - Add scoped pnpm overrides to patch transitive dep versions that upstream packages have not yet bumped (flatted, minimatch, picomatch, brace-expansion, js-yaml, babel helpers, form-data, qs, diff) - Add coverage/** to eslint ignores - Remove staging branch trigger and staging/e2e jobs from build workflow; the target deployment no longer exists * fix: pnpm version pin * build(deps): bump pnpm/action-setup from 4 to 5 Bumps [pnpm/action-setup](https://github.com/pnpm/action-setup) from 4 to 5. - [Release notes](https://github.com/pnpm/action-setup/releases) - [Commits](pnpm/action-setup@v4...v5) --- updated-dependencies: - dependency-name: pnpm/action-setup dependency-version: '5' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> * build(deps): bump docker/metadata-action from 5.10.0 to 6.0.0 Bumps [docker/metadata-action](https://github.com/docker/metadata-action) from 5.10.0 to 6.0.0. - [Release notes](https://github.com/docker/metadata-action/releases) - [Commits](docker/metadata-action@c299e40...030e881) --- updated-dependencies: - dependency-name: docker/metadata-action dependency-version: 6.0.0 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> * build(deps): bump docker/build-push-action from 6.18.0 to 7.0.0 Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 6.18.0 to 7.0.0. - [Release notes](https://github.com/docker/build-push-action/releases) - [Commits](docker/build-push-action@2634353...d08e5c3) --- updated-dependencies: - dependency-name: docker/build-push-action dependency-version: 7.0.0 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> * build(deps): bump docker/login-action from 3.6.0 to 4.0.0 Bumps [docker/login-action](https://github.com/docker/login-action) from 3.6.0 to 4.0.0. - [Release notes](https://github.com/docker/login-action/releases) - [Commits](docker/login-action@5e57cd1...b45d80f) --- updated-dependencies: - dependency-name: docker/login-action dependency-version: 4.0.0 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> * chore: update TypeScript to 6.0.3 and align tsconfig - Bump TypeScript 5.7.3 → 6.0.3 - Replace deprecated target 'ES5' with 'ES2017' (Next.js handles browser transpilation; ES5 output is not needed) - Remove deprecated standalone 'baseUrl'; paths alias @/* resolves correctly from tsconfig location without it --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
1 parent 469d5fc commit 8be5122

10 files changed

Lines changed: 2072 additions & 5974 deletions

File tree

.github/workflows/build.yml

Lines changed: 5 additions & 107 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,13 @@ on:
88
branches:
99
- main
1010
- release
11-
- staging
1211

1312
env:
1413
REGISTRY: ghcr.io
1514
IMAGE_NAME: ${{ github.repository }}
1615

1716
jobs:
1817
build-and-push-prod:
19-
if: github.ref != 'refs/heads/staging'
2018
runs-on: ubuntu-latest
2119
permissions:
2220
contents: read
@@ -31,15 +29,15 @@ jobs:
3129
uses: actions/checkout@v6
3230

3331
- name: Log in to the Container registry
34-
uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef
32+
uses: docker/login-action@4907a6ddec9925e35a0a9e82d7399ccc52663121
3533
with:
3634
registry: ${{ env.REGISTRY }}
3735
username: ${{ github.actor }}
3836
password: ${{ secrets.GITHUB_TOKEN }}
3937

4038
- name: Extract metadata (tags, labels) for Docker
4139
id: meta
42-
uses: docker/metadata-action@c299e40c65443455700f0fdfc63efafe5b349051
40+
uses: docker/metadata-action@030e881283bb7a6894de51c315a6bfe6a94e05cf
4341
with:
4442
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
4543

@@ -48,7 +46,7 @@ jobs:
4846

4947
- name: Build and push Docker image
5048
id: build-prod
51-
uses: docker/build-push-action@263435318d21b8e681c14492fe198d362a7d2c83
49+
uses: docker/build-push-action@bcafcacb16a39f128d818304e6c9c0c18556b85f
5250
with:
5351
context: .
5452
push: true
@@ -57,15 +55,15 @@ jobs:
5755

5856
deploy-prod:
5957
needs: build-and-push-prod
60-
if: success() && github.ref != 'refs/heads/staging'
58+
if: success()
6159
runs-on: ubuntu-latest
6260

6361
steps:
6462
- name: Checkout repository
6563
uses: actions/checkout@v6
6664

6765
- name: Set up Kubectl
68-
uses: azure/setup-kubectl@v4
66+
uses: azure/setup-kubectl@v5
6967
with:
7068
version: "latest"
7169

@@ -77,103 +75,3 @@ jobs:
7775
- name: Restart Kubernetes Pod
7876
run: |
7977
kubectl rollout restart deployment/veganify-frontend -n veganify
80-
81-
build-and-push-staging:
82-
if: github.ref == 'refs/heads/staging'
83-
runs-on: ubuntu-latest
84-
permissions:
85-
contents: read
86-
packages: write
87-
88-
environment:
89-
name: Staging
90-
url: https://staging.veganify.app
91-
92-
steps:
93-
- name: Checkout repository
94-
uses: actions/checkout@v6
95-
96-
- name: Log in to the Container registry
97-
uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef
98-
with:
99-
registry: ${{ env.REGISTRY }}
100-
username: ${{ github.actor }}
101-
password: ${{ secrets.GITHUB_TOKEN }}
102-
103-
- name: Extract metadata (tags, labels) for Docker
104-
id: meta
105-
uses: docker/metadata-action@c299e40c65443455700f0fdfc63efafe5b349051
106-
with:
107-
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
108-
109-
- name: Setup Staging Env
110-
run: cp .env.development .env
111-
112-
- name: Display .env contents
113-
run: cat .env
114-
115-
- name: Build and push Docker image
116-
id: build-staging
117-
uses: docker/build-push-action@263435318d21b8e681c14492fe198d362a7d2c83
118-
with:
119-
context: .
120-
push: true
121-
tags: ${{ steps.meta.outputs.tags }}
122-
labels: ${{ steps.meta.outputs.labels }}
123-
124-
deploy-staging:
125-
needs: build-and-push-staging
126-
if: success() && github.ref == 'refs/heads/staging'
127-
runs-on: ubuntu-latest
128-
129-
steps:
130-
- name: Checkout repository
131-
uses: actions/checkout@v6
132-
133-
- name: Set up Kubectl
134-
uses: azure/setup-kubectl@v4
135-
with:
136-
version: "latest"
137-
138-
- name: Configure Kubeconfig
139-
run: |
140-
mkdir -p $HOME/.kube
141-
echo "${{ secrets.KUBECONFIG }}" | base64 --decode > $HOME/.kube/config
142-
143-
- name: Restart Kubernetes Pod
144-
run: |
145-
kubectl rollout restart deployment/veganify -n veganify-staging
146-
147-
e2e-tests:
148-
needs: deploy-staging
149-
if: github.ref == 'refs/heads/staging'
150-
runs-on: ubuntu-latest
151-
steps:
152-
- name: Checkout repository
153-
uses: actions/checkout@v6
154-
155-
- name: Setup Node.js
156-
uses: actions/setup-node@v6
157-
with:
158-
node-version: "20"
159-
160-
- name: Install pnpm
161-
uses: pnpm/action-setup@v4
162-
with:
163-
version: 9.12.1
164-
165-
- name: Install dependencies
166-
run: pnpm install
167-
168-
- name: Install Playwright Browsers
169-
run: npx playwright install --with-deps
170-
171-
- name: Wait for deployment to be ready
172-
run: |
173-
# Wait for 30 seconds to allow deployment to stabilize
174-
sleep 30
175-
176-
- name: Run Playwright tests
177-
env:
178-
CI: true
179-
run: npx playwright test

.github/workflows/pr.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@ jobs:
55
runs-on: ubuntu-latest
66
steps:
77
- uses: actions/checkout@v6
8-
- uses: pnpm/action-setup@v4
8+
- uses: pnpm/action-setup@v6
99
with:
10-
version: 9.12.1
10+
version: 10.19.0
1111
- uses: actions/setup-node@v6
1212
with:
1313
node-version: "20.x"
@@ -24,7 +24,7 @@ jobs:
2424
if: ${{ always() && needs.regular_build.result == 'failure' }}
2525
steps:
2626
- uses: actions/checkout@v6
27-
- uses: pnpm/action-setup@v4
27+
- uses: pnpm/action-setup@v6
2828
with:
2929
version: 9.12.1
3030
- uses: actions/setup-node@v6

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,4 +43,5 @@ test-results/
4343
playwright-report/
4444

4545
# mcp
46-
.cursor/
46+
.cursor/
47+
.pi-lens/

eslint.config.mjs

Lines changed: 56 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -2,40 +2,63 @@
22
/** @type {import('eslint').Linter.Config} */
33
import nextCoreWebVitals from "eslint-config-next/core-web-vitals";
44
import nextTypescript from "eslint-config-next/typescript";
5-
import reactCompiler from 'eslint-plugin-react-compiler';
5+
import reactCompiler from "eslint-plugin-react-compiler";
66
import tseslint from "typescript-eslint";
77

8-
export default [...nextCoreWebVitals, ...nextTypescript, {
9-
languageOptions: {
10-
ecmaVersion: 2022,
11-
sourceType: "module",
12-
parser: tseslint.parser,
13-
parserOptions: {
14-
project: "./tsconfig.json"
15-
}
16-
},
17-
plugins: {
18-
'react-compiler': reactCompiler,
19-
},
20-
files: ["**/*.{js,jsx,ts,tsx}"],
21-
rules: {
22-
// TypeScript ESLint rules
23-
...tseslint.configs.strict.rules,
24-
...tseslint.configs.stylistic.rules,
8+
export default [
9+
...nextCoreWebVitals,
10+
...nextTypescript,
11+
{
12+
languageOptions: {
13+
ecmaVersion: 2022,
14+
sourceType: "module",
15+
parser: tseslint.parser,
16+
parserOptions: {
17+
project: "./tsconfig.json",
18+
},
19+
},
20+
plugins: {
21+
"react-compiler": reactCompiler,
22+
},
23+
files: ["**/*.{js,jsx,ts,tsx}"],
24+
rules: {
25+
// TypeScript ESLint rules
26+
...tseslint.configs.strict.rules,
27+
...tseslint.configs.stylistic.rules,
2528

26-
// React Compiler
27-
'react-compiler/react-compiler': 'warn',
29+
// React Compiler
30+
"react-compiler/react-compiler": "warn",
2831

29-
// Import ordering
30-
"import/order": ["error", {
31-
"groups": ["builtin", "external", "internal", "parent", "sibling", "index"],
32-
"newlines-between": "always",
33-
"alphabetize": { "order": "asc", "caseInsensitive": true }
34-
}],
35-
"react-hooks/refs": "off",
36-
"react-hooks/set-state-in-effect": "off",
37-
"react-hooks/immutability": "off"
38-
}
39-
}, {
40-
ignores: ["node_modules/**", ".next/**", "out/**", "build/**", "next-env.d.ts", "service-worker.js"]
41-
}];
32+
// Import ordering
33+
"import/order": [
34+
"error",
35+
{
36+
groups: [
37+
"builtin",
38+
"external",
39+
"internal",
40+
"parent",
41+
"sibling",
42+
"index",
43+
],
44+
"newlines-between": "always",
45+
alphabetize: { order: "asc", caseInsensitive: true },
46+
},
47+
],
48+
"react-hooks/refs": "off",
49+
"react-hooks/set-state-in-effect": "off",
50+
"react-hooks/immutability": "off",
51+
},
52+
},
53+
{
54+
ignores: [
55+
"node_modules/**",
56+
".next/**",
57+
"out/**",
58+
"build/**",
59+
"coverage/**",
60+
"next-env.d.ts",
61+
"service-worker.js",
62+
],
63+
},
64+
];

next.config.ts

Lines changed: 15 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,23 @@
1-
import million from "million/compiler";
21
import type { NextConfig } from "next";
32
import createNextIntlPlugin from "next-intl/plugin";
43

54
const withNextIntl = createNextIntlPlugin();
65

7-
const baseConfig: NextConfig = {
8-
output: "standalone",
9-
reactStrictMode: true,
10-
productionBrowserSourceMaps: true,
11-
sassOptions: {
12-
silenceDeprecations: ["legacy-js-api"],
13-
},
14-
async rewrites() {
15-
return [
16-
{
17-
source: "/datenschutz",
18-
destination: "/privacy-policy",
19-
},
20-
];
21-
},
6+
const nextConfig: NextConfig = {
7+
output: "standalone",
8+
reactStrictMode: true,
9+
productionBrowserSourceMaps: true,
10+
sassOptions: {
11+
silenceDeprecations: ["legacy-js-api"],
12+
},
13+
async rewrites() {
14+
return [
15+
{
16+
source: "/datenschutz",
17+
destination: "/privacy-policy",
18+
},
19+
];
20+
},
2221
};
2322

24-
const millionConfig = {
25-
auto: { rsc: true },
26-
};
27-
28-
// Apply Million's optimization
29-
30-
const nextConfig: NextConfig = million.next(baseConfig, millionConfig);
31-
32-
// Apply next-intl plugin and export the final config
3323
export default withNextIntl(nextConfig);

0 commit comments

Comments
 (0)