Skip to content

Commit d50f71b

Browse files
authored
Build: Update everything (#663)
1 parent 0116680 commit d50f71b

File tree

11 files changed

+800
-913
lines changed

11 files changed

+800
-913
lines changed

.eslintrc

Lines changed: 0 additions & 8 deletions
This file was deleted.

.github/workflows/test.yaml

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
name: Tests
2+
3+
on:
4+
push:
5+
branches:
6+
- master
7+
pull_request:
8+
9+
permissions: {}
10+
11+
concurrency:
12+
group: ${{ github.workflow }}-${{ github.ref }}
13+
cancel-in-progress: true
14+
15+
jobs:
16+
eslint:
17+
name: ESLint
18+
runs-on: ubuntu-latest
19+
permissions:
20+
contents: read # clone the repository
21+
steps:
22+
- uses: actions/checkout@v4
23+
with:
24+
persist-credentials: false
25+
26+
- uses: actions/setup-node@v4
27+
with:
28+
node-version: lts/*
29+
30+
- run: yarn install --frozen-lockfile
31+
- run: yarn run eslint
32+
33+
typecheck:
34+
name: Typecheck
35+
runs-on: ubuntu-latest
36+
permissions:
37+
contents: read # clone the repository
38+
steps:
39+
- uses: actions/checkout@v4
40+
with:
41+
persist-credentials: false
42+
43+
- uses: actions/setup-node@v4
44+
with:
45+
node-version: lts/*
46+
47+
- run: yarn install --frozen-lockfile
48+
- run: yarn run typecheck
49+
50+
prettier:
51+
name: Prettier
52+
runs-on: ubuntu-latest
53+
permissions:
54+
contents: read # clone the repository
55+
steps:
56+
- uses: actions/checkout@v4
57+
with:
58+
persist-credentials: false
59+
60+
- uses: actions/setup-node@v4
61+
with:
62+
node-version: lts/*
63+
64+
- run: yarn install --frozen-lockfile
65+
- run: yarn run prettier:check

.nvmrc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
20.19.0
1+
22.17.1

CHANGELOG.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,16 @@
1+
## Unreleased (4.0.0)
2+
3+
- Build: Update all dependencies, [#663](https://github.com/grafana/grafana-image-renderer/pull/663), [Proximyst](https://github.com/Proximyst)
4+
5+
Breaking changes:
6+
7+
- Build: Bump minimum Node.js version from v20 to v22 (LTS), [#663](https://github.com/grafana/grafana-image-renderer/pull/663), [Proximyst](https://github.com/Proximyst)
8+
- If you use the Docker image, you will not have to update anything.
9+
- If you run grafana-image-renderer yourself, you may need to update Node.js.
10+
- Plugin: Update minimum Grafana version to 11.3.8, [#663](https://github.com/grafana/grafana-image-renderer/pull/663), [Proximyst](https://github.com/Proximyst)
11+
- If you use any Grafana version newer than 11.3.8 (incl. 11.4.x, 11.5.x, 11.6.x, 12.x), you will not have to do anything.
12+
- If you are not in that group, you must update Grafana before updating.
13+
114
## 3.12.9 (2025-07-01)
215

316
- Docker: Update Chromium in Alpine (CVE-2025-6554), [#655](https://github.com/grafana/grafana-image-renderer/pull/655), [Proximyst](https://github.com/Proximyst)

Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# Base stage
2-
FROM node:20-alpine AS base
2+
FROM node:22-alpine AS base
33

44
ENV CHROME_BIN="/usr/bin/chromium-browser"
55
ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD="true"

debian.Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM node:20-slim AS base
1+
FROM node:22-slim AS base
22

33
ENV CHROME_BIN="/usr/bin/google-chrome-stable"
44
ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD="true"

eslint.config.js

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
const eslint = require('@eslint/js');
2+
const tseslint = require('typescript-eslint');
3+
const grafanaConfig = require('@grafana/eslint-config/flat');
4+
5+
module.exports = tseslint.config(
6+
{
7+
ignores: [".github", ".yarn", "**/build/", "**/compiled/", "**/dist/", "node_modules/"],
8+
},
9+
10+
eslint.configs.recommended,
11+
tseslint.configs.recommended,
12+
grafanaConfig,
13+
);

package.json

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
"url": "https://github.com/grafana/grafana-image-renderer.git"
99
},
1010
"scripts": {
11-
"eslint": "eslint . --ext .ts",
11+
"eslint": "eslint .",
1212
"typecheck": "tsc --noEmit",
1313
"prettier:check": "prettier --list-different \"**/*.ts\"",
1414
"prettier:write": "prettier --list-different \"**/*.ts\" --write",
@@ -52,25 +52,31 @@
5252
"puppeteer": "^22.8.2",
5353
"puppeteer-cluster": "^0.24.0",
5454
"rate-limiter-flexible": "^7.0.0",
55+
"tar-fs": "^3.0.9",
5556
"unique-filename": "^2.0.1",
5657
"winston": "^3.8.2"
5758
},
5859
"devDependencies": {
59-
"@grafana/eslint-config": "^6.0.0",
60-
"@types/dompurify": "^3.2.0",
60+
"@eslint/js": "^9.31.0",
61+
"@grafana/eslint-config": "^8.1.0",
62+
"@stylistic/eslint-plugin-ts": "^4.4.1",
6163
"@types/express": "^4.17.14",
6264
"@types/jest": "^29.5.12",
6365
"@types/jsdom": "20.0.0",
6466
"@types/multer": "^1.4.7",
6567
"@types/node": "^20.17.27",
6668
"@types/pixelmatch": "^5.2.6",
6769
"@types/supertest": "^2.0.15",
68-
"@typescript-eslint/eslint-plugin": "5.37.0",
69-
"@typescript-eslint/parser": "5.37.0",
70+
"@typescript-eslint/eslint-plugin": "^8.37.0",
71+
"@typescript-eslint/parser": "^8.37.0",
7072
"@yao-pkg/pkg": "^6.3.0",
7173
"axios": "1.8.2",
7274
"cross-env": "7.0.3",
73-
"eslint": "8.23.1",
75+
"eslint": "^9.31.0",
76+
"eslint-config-prettier": "^10.1.5",
77+
"eslint-plugin-jsdoc": "^51.4.1",
78+
"eslint-plugin-react": "^7.37.5",
79+
"eslint-plugin-react-hooks": "^5.2.0",
7480
"fast-png": "^6.2.0",
7581
"jest": "^29.7.0",
7682
"jsonwebtoken": "^9.0.2",
@@ -80,12 +86,8 @@
8086
"ts-jest": "^29.1.1",
8187
"ts-node": "10.9.1",
8288
"tsc-watch": "5.0.3",
83-
"typescript": "4.8.3"
84-
},
85-
"resolutions": {
86-
"@types/express": "^4.17.14",
87-
"xml2js": "^0.6.2",
88-
"@puppeteer/browsers/tar-fs": "^3.0.9"
89+
"typescript": "^5.8.3",
90+
"typescript-eslint": "^8.37.0"
8991
},
9092
"lint-staged": {
9193
"*.ts": [
@@ -97,6 +99,6 @@
9799
},
98100
"bin": "build/app.js",
99101
"engines": {
100-
"node": ">= 20"
102+
"node": ">= 22"
101103
}
102104
}

plugin.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,10 @@
2424
"url": "https://github.com/grafana/grafana-image-renderer/blob/master/LICENSE"
2525
}
2626
],
27-
"version": "3.12.9",
27+
"version": "4.0.0",
2828
"updated": "2025-07-01"
2929
},
3030
"dependencies": {
31-
"grafanaDependency": ">=8.3.11"
31+
"grafanaDependency": ">=11.3.8"
3232
}
3333
}

src/config/rendering.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,6 @@ const envConfig: Record<Mode, Keys<RenderingConfig>> = {
133133
timingMetrics: 'GF_PLUGIN_RENDERING_TIMING_METRICS',
134134
tracing: {
135135
url: 'GF_PLUGIN_RENDERING_TRACING_URL',
136-
137136
},
138137
},
139138
};

0 commit comments

Comments
 (0)