diff --git a/.config/.cprc.json b/.config/.cprc.json index c27ce80..32a7537 100644 --- a/.config/.cprc.json +++ b/.config/.cprc.json @@ -1,3 +1,3 @@ { - "version": "5.14.0" + "version": "5.25.1" } diff --git a/.config/.eslintrc b/.config/.eslintrc index b133be4..2af5945 100644 --- a/.config/.eslintrc +++ b/.config/.eslintrc @@ -12,10 +12,9 @@ }, "overrides": [ { - "plugins": ["deprecation"], "files": ["src/**/*.{ts,tsx}"], "rules": { - "deprecation/deprecation": "warn" + "@typescript-eslint/no-deprecated": "warn" }, "parserOptions": { "project": "./tsconfig.json" diff --git a/.config/README.md b/.config/README.md index 1478e3b..5ba3186 100644 --- a/.config/README.md +++ b/.config/README.md @@ -106,9 +106,9 @@ We are going to use [`webpack-merge`](https://github.com/survivejs/webpack-merge // webpack.config.ts import type { Configuration } from 'webpack'; import { merge } from 'webpack-merge'; -import grafanaConfig from './.config/webpack/webpack.config'; +import grafanaConfig, { type Env } from './.config/webpack/webpack.config'; -const config = async (env): Promise => { +const config = async (env: Env): Promise => { const baseConfig = await grafanaConfig(env); return merge(baseConfig, { diff --git a/.config/docker-compose-base.yaml b/.config/docker-compose-base.yaml index 98cd58d..220ec01 100644 --- a/.config/docker-compose-base.yaml +++ b/.config/docker-compose-base.yaml @@ -7,7 +7,7 @@ services: context: . args: grafana_image: ${GRAFANA_IMAGE:-grafana-enterprise} - grafana_version: ${GRAFANA_VERSION:-11.3.2} + grafana_version: ${GRAFANA_VERSION:-12.0.2} development: ${DEVELOPMENT:-false} anonymous_auth_enabled: ${ANONYMOUS_AUTH_ENABLED:-true} ports: @@ -22,7 +22,6 @@ services: - ../dist:/var/lib/grafana/plugins/tv4-globalconnect-datasource - ../provisioning:/etc/grafana/provisioning - ..:/root/tv4-globalconnect-datasource - - 'grafana-storage:/var/lib/grafana' environment: NODE_ENV: development diff --git a/.config/types/bundler-rules.d.ts b/.config/types/bundler-rules.d.ts new file mode 100644 index 0000000..e67197c --- /dev/null +++ b/.config/types/bundler-rules.d.ts @@ -0,0 +1,37 @@ +// Image declarations +declare module '*.gif' { + const src: string; + export default src; +} + +declare module '*.jpg' { + const src: string; + export default src; +} + +declare module '*.jpeg' { + const src: string; + export default src; +} + +declare module '*.png' { + const src: string; + export default src; +} + +declare module '*.webp' { + const src: string; + export default src; +} + +declare module '*.svg' { + const src: string; + export default src; +} + +// Font declarations +declare module '*.woff'; +declare module '*.woff2'; +declare module '*.eot'; +declare module '*.ttf'; +declare module '*.otf'; diff --git a/.config/types/webpack-plugins.d.ts b/.config/types/webpack-plugins.d.ts new file mode 100644 index 0000000..6dbab10 --- /dev/null +++ b/.config/types/webpack-plugins.d.ts @@ -0,0 +1,83 @@ +declare module 'replace-in-file-webpack-plugin' { + import { Compiler, Plugin } from 'webpack'; + + interface ReplaceRule { + search: string | RegExp; + replace: string | ((match: string) => string); + } + + interface ReplaceOption { + dir?: string; + files?: string[]; + test?: RegExp | RegExp[]; + rules: ReplaceRule[]; + } + + class ReplaceInFilePlugin extends Plugin { + constructor(options?: ReplaceOption[]); + options: ReplaceOption[]; + apply(compiler: Compiler): void; + } + + export = ReplaceInFilePlugin; +} + +declare module 'webpack-livereload-plugin' { + import { ServerOptions } from 'https'; + import { Compiler, Plugin, Stats, Compilation } from 'webpack'; + + interface Options extends Pick { + /** + * protocol for livereload `