@intlayer/config
Version:
Retrieve Intlayer configurations and manage environment variables for both server-side and client-side environments.
35 lines • 1.2 kB
JavaScript
import { existsSync } from "fs";
import { resolve } from "path";
import { logger } from "../logger.mjs";
const EXTENSION = ["ts", "js", "json", "cjs", "mjs", ""];
const CONFIGURATION_FILE_NAME_1 = "intlayer.config";
const CONFIGURATION_FILE_NAME_2 = ".intlayerrc";
const intLayerConfigFiles = EXTENSION.filter(
(extension) => extension !== ""
).map((ext) => `${CONFIGURATION_FILE_NAME_1}.${ext}`);
const configurationFiles = [...intLayerConfigFiles, CONFIGURATION_FILE_NAME_2];
const searchConfigurationFile = (configFilePath = process.cwd()) => {
let configurationFilePath = void 0;
let numCustomConfiguration = 0;
for (const fileName of configurationFiles) {
try {
const filePath = resolve(configFilePath, fileName);
if (!existsSync(filePath)) {
continue;
} else {
numCustomConfiguration += 1;
if (!configurationFilePath) {
configurationFilePath = filePath;
}
}
} catch (error) {
logger(`${fileName}: ${error}`, { level: "error" });
continue;
}
}
return { configurationFilePath, numCustomConfiguration };
};
export {
searchConfigurationFile
};
//# sourceMappingURL=searchConfigurationFile.mjs.map