fix(frontend): make linting work with cjs util file

This commit is contained in:
Tom Ratcliffe
2025-03-03 09:51:12 +01:00
committed by Jack Westbrook
parent f6b49880df
commit c5d89b53d8
4 changed files with 18 additions and 10 deletions
+6 -2
View File
@@ -14,9 +14,13 @@ const grafanaConfig = require('@grafana/eslint-config/flat');
const grafanaPlugin = require('@grafana/eslint-plugin');
const bettererConfig = require('./.betterer.eslint.config.cjs');
const { getEnvConfig } = require('./scripts/webpack/env-util');
const getEnvConfig = require('./scripts/webpack/env-util.cjs');
const { frontend_dev_betterer_eslint_rules: enableBettererRules } = getEnvConfig();
/**
* @type {Record<`frontend_dev_${string}`, unknown>}
*/
const frontendEnvConfig = getEnvConfig();
const enableBettererRules = frontendEnvConfig.frontend_dev_betterer_eslint_rules;
/**
* @type {Array<import('eslint').Linter.Config>}
+2 -2
View File
@@ -7,11 +7,11 @@ import i18next from 'i18next';
import failOnConsole from 'jest-fail-on-console';
import { initReactI18next } from 'react-i18next';
import { getEnvConfig } from '../../scripts/webpack/env-util.js';
import getEnvConfig from '../../scripts/webpack/env-util.cjs';
import { matchers } from './matchers';
const config = getEnvConfig();
const config = getEnvConfig() as Record<`frontend_dev_${string}`, unknown>;
if (config.frontend_dev_fail_tests_on_console || process.env.CI) {
failOnConsole({
@@ -1,8 +1,9 @@
import { parse } from 'ini';
import { readFileSync, existsSync } from 'node:fs';
import path from 'path';
// @ts-check
const { parse } = require('ini');
const { readFileSync, existsSync } = require('node:fs');
const path = require('path');
export const getEnvConfig = () => {
const getEnvConfig = () => {
const grafanaRoot = path.join(__dirname, '../..');
const defaultSettings = readFileSync(`${grafanaRoot}/conf/defaults.ini`, {
encoding: 'utf-8',
@@ -21,7 +22,8 @@ export const getEnvConfig = () => {
// Take all frontend keys from the ini file and prefix with `frontend_dev_`,
// so they can be added to `process.env` elsewhere
const env: Record<string, unknown> = {};
/** @type {Record<string, unknown>} */
const env = {};
for (const [key, value] of Object.entries(merged)) {
env[`frontend_dev_${key}`] = value;
@@ -29,3 +31,5 @@ export const getEnvConfig = () => {
return env;
};
module.exports = getEnvConfig;
+1 -1
View File
@@ -8,7 +8,7 @@ import { visualizer } from 'rollup-plugin-visualizer';
import { defineConfig, splitVendorChunkPlugin, createLogger } from 'vite';
import EnvironmentPlugin from 'vite-plugin-environment';
import { getEnvConfig } from './scripts/webpack/env-util.js';
import getEnvConfig from './scripts/webpack/env-util.cjs';
const require = createRequire(import.meta.url);
const shouldMinify = process.env.NO_MINIFY === '1' ? false : 'esbuild';