{ "name": "renderer", "version": "1.0.0", "author": "Grafana Labs", "license": "Apache-2.0", "repository": { "type": "git", "url": "https://github.com/grafana/grafana-image-renderer.git" }, "scripts": { "eslint": "eslint .", "typecheck": "tsc --noEmit", "prettier:check": "prettier --list-different \"**/*.ts\"", "prettier:write": "prettier --list-different \"**/*.ts\" --write", "precommit": "npm run eslint & npm run typecheck", "watch": "tsc-watch --onSuccess \"node build/app.js server --config=dev.json\"", "watch:debug": "tsc-watch --onSuccess \"cross-env DEBUG=puppeteer-cluster:* node build/app.js server --config=dev.json\"", "build": "tsc", "start": "node build/app.js server --config=dev.json", "create-gcom-plugin-json": "ts-node scripts/createGcomPluginJson.ts ./scripts/tmp", "push-to-gcom": "sh ./scripts/push-to-gcom.sh", "test-update": "cross-env UPDATE_GOLDEN=true jest", "test": "sh ./scripts/run_tests.sh", "test-ci": "jest", "test-diff": "cross-env SAVE_DIFF=true jest" }, "dependencies": { "@grpc/grpc-js": "^1.8.22", "@grpc/proto-loader": "^0.7.2", "@hapi/boom": "^10.0.0", "@opentelemetry/api": "^1.9.0", "@opentelemetry/auto-instrumentations-node": "^0.49.0", "@opentelemetry/exporter-trace-otlp-http": "^0.52.1", "@opentelemetry/resources": "^1.25.1", "@opentelemetry/sdk-node": "^0.52.1", "@opentelemetry/semantic-conventions": "^1.25.1", "@puppeteer/browsers": "^2.3.1", "chokidar": "^3.5.2", "dompurify": "^3.2.4", "express": "^4.21.1", "express-prom-bundle": "^6.5.0", "ioredis": "^5.6.1", "jimp": "^0.22.12", "jsdom": "20.0.0", "lodash": "^4.17.21", "minimist": "^1.2.6", "morgan": "^1.9.0", "multer": "^2.0.2", "on-finished": "^2.3.0", "poolpeteer": "^0.24.0", "prom-client": "^14.1.0", "puppeteer": "^22.8.2", "puppeteer-cluster": "^0.24.0", "rate-limiter-flexible": "^7.0.0", "tar-fs": "^3.0.9", "unique-filename": "^2.0.1", "winston": "^3.8.2" }, "devDependencies": { "@eslint/js": "^9.31.0", "@grafana/eslint-config": "^8.1.0", "@grafana/sign-plugin": "^3.1.3", "@stylistic/eslint-plugin-ts": "^4.4.1", "@types/content-disposition": "^0.5.9", "@types/express": "^4.17.14", "@types/jest": "^29.5.12", "@types/jsdom": "20.0.0", "@types/lodash": "^4.17.20", "@types/minimist": "^1.2.5", "@types/morgan": "^1.9.10", "@types/multer": "^1.4.7", "@types/node": "^20.17.27", "@types/pixelmatch": "^5.2.6", "@types/supertest": "^2.0.15", "@typescript-eslint/eslint-plugin": "^8.37.0", "@typescript-eslint/parser": "^8.37.0", "@yao-pkg/pkg": "^6.3.0", "axios": "1.8.2", "cross-env": "7.0.3", "eslint": "^9.31.0", "eslint-config-prettier": "^10.1.5", "eslint-plugin-jsdoc": "^51.4.1", "eslint-plugin-react": "^7.37.5", "eslint-plugin-react-hooks": "^5.2.0", "fast-png": "^6.2.0", "jest": "^29.7.0", "jsonwebtoken": "^9.0.2", "lint-staged": "13.0.3", "prettier": "2.7.1", "supertest": "^7.0.0", "ts-jest": "^29.1.1", "ts-node": "10.9.1", "tsc-watch": "5.0.3", "typescript": "^5.8.3", "typescript-eslint": "^8.37.0" }, "lint-staged": { "*.ts": [ "prettier --write" ] }, "pkg": { "assets": "proto/*" }, "bin": "build/app.js", "engines": { "node": ">= 22" } }