Files
grafana/scripts/webpack/env-util.js
Josh Hunt e3e580edfa Chore: Prevent direct path imports from workspace grafana packages (#98940)
* restrict imports from @grafana/ui/src paths

* prevent path imports from all grafana packages

* just run on ui, runtime, data packages

* update
2025-01-15 15:47:44 +02:00

36 lines
993 B
JavaScript

// @ts-check
const { parse } = require('ini');
const { readFileSync, existsSync } = require('node:fs');
const path = require('path');
const getEnvConfig = () => {
const grafanaRoot = path.join(__dirname, '../..');
const defaultSettings = readFileSync(`${grafanaRoot}/conf/defaults.ini`, {
encoding: 'utf-8',
});
const customSettings = existsSync(`${grafanaRoot}/conf/custom.ini`)
? readFileSync(`${grafanaRoot}/conf/custom.ini`, {
encoding: 'utf-8',
})
: '';
const defaults = parse(defaultSettings);
const custom = parse(customSettings);
const merged = { ...defaults.frontend_dev, ...custom.frontend_dev };
// Take all frontend keys from the ini file and prefix with `frontend_dev_`,
// so they can be added to `process.env` elsewhere
/** @type {Record<string, unknown>} */
const env = {};
for (const [key, value] of Object.entries(merged)) {
env[`frontend_dev_${key}`] = value;
}
return env;
};
module.exports = getEnvConfig;