UNPKG

@lucidcms/core

Version:

The core of the Lucid CMS. It's responsible for spinning up the API and serving the CMS.

1 lines 1.83 kB
{"version":3,"file":"get-config-path.mjs","names":["constants"],"sources":["../../../src/libs/config/get-config-path.ts"],"sourcesContent":["import fs from \"node:fs\";\nimport path from \"node:path\";\nimport constants from \"../../constants/constants.js\";\nimport { translate } from \"../i18n/index.js\";\n\nconst getConfigPath = (cwd: string, filename?: string): string => {\n\tlet configPath: string | undefined;\n\tconst root = path.parse(cwd).root;\n\tconst configFileName = filename ?? constants.config.filename;\n\tconst configExtensions = constants.config.extensions;\n\n\tconst search = (cwd: string): void => {\n\t\tconst files = fs.readdirSync(cwd);\n\t\tconst configFiles = files.filter((file) => {\n\t\t\tconst { name, ext } = path.parse(file);\n\t\t\treturn name === configFileName && configExtensions.includes(ext);\n\t\t});\n\n\t\tif (configFiles.length > 0 && configFiles[0]) {\n\t\t\tconfigPath = path.resolve(cwd, configFiles[0]);\n\t\t\treturn;\n\t\t}\n\n\t\tconst parent = path.resolve(cwd, \"..\");\n\t\tif (parent === cwd || parent === root) {\n\t\t\treturn;\n\t\t}\n\n\t\tsearch(parent);\n\t};\n\tsearch(cwd);\n\n\tif (!configPath) {\n\t\tthrow new Error(translate(\"server:core.config.file.not.found\"));\n\t}\n\n\treturn configPath;\n};\n\nexport default getConfigPath;\n"],"mappings":"+IAKA,MAAM,GAAiB,EAAa,IAA8B,CACjE,IAAI,EACE,EAAO,EAAK,MAAM,CAAG,CAAC,CAAC,KACvB,EAAiB,GAAYA,EAAU,OAAO,SAC9C,EAAmBA,EAAU,OAAO,WAEpC,EAAU,GAAsB,CAErC,IAAM,EADQ,EAAG,YAAY,CACL,CAAC,CAAC,OAAQ,GAAS,CAC1C,GAAM,CAAE,OAAM,OAAQ,EAAK,MAAM,CAAI,EACrC,OAAO,IAAS,GAAkB,EAAiB,SAAS,CAAG,CAChE,CAAC,EAED,GAAI,EAAY,OAAS,GAAK,EAAY,GAAI,CAC7C,EAAa,EAAK,QAAQ,EAAK,EAAY,EAAE,EAC7C,MACD,CAEA,IAAM,EAAS,EAAK,QAAQ,EAAK,IAAI,EACjC,IAAW,GAAO,IAAW,GAIjC,EAAO,CAAM,CACd,EAGA,GAFA,EAAO,CAAG,EAEN,CAAC,EACJ,MAAU,MAAM,EAAU,mCAAmC,CAAC,EAG/D,OAAO,CACR"}