@intlayer/config
Version:
Retrieve Intlayer configurations and manage environment variables for both server-side and client-side environments.
54 lines (52 loc) • 1.81 kB
JavaScript
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
const require_runtime = require('../_virtual/_rolldown/runtime.cjs');
const require_utils_getPackageJsonPath = require('../utils/getPackageJsonPath.cjs');
const require_logger = require('../logger.cjs');
let node_fs = require("node:fs");
let node_path = require("node:path");
//#region src/configFile/searchConfigurationFile.ts
const configurationFilesCandidates = [
"intlayer.config.ts",
"intlayer.config.js",
"intlayer.config.json",
"intlayer.config.json5",
"intlayer.config.jsonc",
"intlayer.config.cjs",
"intlayer.config.mjs",
".intlayerrc"
];
const rootPathCache = /* @__PURE__ */ new Map();
/**
* Search for the configuration file in the given path
*
* List of detected configuration files:
* - intlayer.config.ts
* - intlayer.config.js
* - intlayer.config.json
* - intlayer.config.cjs
* - intlayer.config.mjs
* - .intlayerrc
*/
const searchConfigurationFile = (startDir) => {
let configurationFilePath;
let numCustomConfiguration = 0;
if (rootPathCache.has(startDir)) return rootPathCache.get(startDir);
const { baseDir } = require_utils_getPackageJsonPath.getPackageJsonPath(startDir);
for (const fileName of configurationFilesCandidates) try {
const filePath = (0, node_path.resolve)(baseDir, fileName);
if (!(0, node_fs.existsSync)(filePath)) {} else {
numCustomConfiguration += 1;
if (!configurationFilePath) configurationFilePath = filePath;
}
} catch (error) {
require_logger.logger(`${fileName}: ${error}`, { level: "error" });
}
return {
configurationFilePath,
numCustomConfiguration
};
};
//#endregion
exports.configurationFilesCandidates = configurationFilesCandidates;
exports.searchConfigurationFile = searchConfigurationFile;
//# sourceMappingURL=searchConfigurationFile.cjs.map