UNPKG

payload

Version:

Node, React and MongoDB Headless CMS and Application Framework

114 lines (113 loc) 12.1 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "default", { enumerable: true, get: function() { return _default; } }); const _findup = /*#__PURE__*/ _interop_require_default(require("find-up")); const _fs = /*#__PURE__*/ _interop_require_default(require("fs")); const _path = /*#__PURE__*/ _interop_require_default(require("path")); function _interop_require_default(obj) { return obj && obj.__esModule ? obj : { default: obj }; } /** * Returns the source and output paths from the nearest tsconfig.json file. * If no tsconfig.json file is found, returns the current working directory. * @returns An object containing the source and output paths. */ const getTSConfigPaths = ()=>{ const tsConfigPath = _findup.default.sync('tsconfig.json'); if (!tsConfigPath) { return { outPath: process.cwd(), srcPath: process.cwd() }; } try { // Read the file as a string and remove trailing commas const rawTsConfig = _fs.default.readFileSync(tsConfigPath, 'utf-8').replace(/,\s*\]/g, ']').replace(/,\s*\}/g, '}'); const tsConfig = JSON.parse(rawTsConfig); const srcPath = tsConfig.compilerOptions?.rootDir || process.cwd(); const outPath = tsConfig.compilerOptions?.outDir || process.cwd(); return { outPath, srcPath }; } catch (error) { console.error(`Error parsing tsconfig.json: ${error}`) // Do not throw the error, as we can still continue with the other config path finding methods ; return { outPath: process.cwd(), srcPath: process.cwd() }; } }; /** * Searches for a Payload configuration file. * @returns The absolute path to the Payload configuration file. * @throws An error if no configuration file is found. */ const findConfig = ()=>{ // If the developer has specified a config path, // format it if relative and use it directly if absolute if (process.env.PAYLOAD_CONFIG_PATH) { if (_path.default.isAbsolute(process.env.PAYLOAD_CONFIG_PATH)) { return process.env.PAYLOAD_CONFIG_PATH; } return _path.default.resolve(process.cwd(), process.env.PAYLOAD_CONFIG_PATH); } const { outPath, srcPath } = getTSConfigPaths(); const searchPaths = process.env.NODE_ENV === 'production' ? [ outPath, srcPath ] : [ srcPath ]; // eslint-disable-next-line no-restricted-syntax for (const searchPath of searchPaths){ const configPath = _findup.default.sync((dir)=>{ const tsPath = _path.default.join(dir, 'payload.config.ts'); const hasTS = _findup.default.sync.exists(tsPath); if (hasTS) { return tsPath; } const jsPath = _path.default.join(dir, 'payload.config.js'); const hasJS = _findup.default.sync.exists(jsPath); if (hasJS) { return jsPath; } return undefined; }, { cwd: searchPath }); if (configPath) { return configPath; } } // If no config file is found in the directories defined by tsconfig.json, // try searching in the 'src' and 'dist' directory as a last resort, as they are most commonly used if (process.env.NODE_ENV === 'production') { const distConfigPath = _findup.default.sync([ 'payload.config.js', 'payload.config.ts' ], { cwd: _path.default.resolve(process.cwd(), 'dist') }); if (distConfigPath) return distConfigPath; } else { const srcConfigPath = _findup.default.sync([ 'payload.config.js', 'payload.config.ts' ], { cwd: _path.default.resolve(process.cwd(), 'src') }); if (srcConfigPath) return srcConfigPath; } throw new Error('Error: cannot find Payload config. Please create a configuration file located at the root of your current working directory called "payload.config.js" or "payload.config.ts".'); }; const _default = findConfig; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25maWcvZmluZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZmluZFVwIGZyb20gJ2ZpbmQtdXAnXG5pbXBvcnQgZnMgZnJvbSAnZnMnXG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJ1xuXG4vKipcbiAqIFJldHVybnMgdGhlIHNvdXJjZSBhbmQgb3V0cHV0IHBhdGhzIGZyb20gdGhlIG5lYXJlc3QgdHNjb25maWcuanNvbiBmaWxlLlxuICogSWYgbm8gdHNjb25maWcuanNvbiBmaWxlIGlzIGZvdW5kLCByZXR1cm5zIHRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5LlxuICogQHJldHVybnMgQW4gb2JqZWN0IGNvbnRhaW5pbmcgdGhlIHNvdXJjZSBhbmQgb3V0cHV0IHBhdGhzLlxuICovXG5jb25zdCBnZXRUU0NvbmZpZ1BhdGhzID0gKCk6IHsgb3V0UGF0aDogc3RyaW5nOyBzcmNQYXRoOiBzdHJpbmcgfSA9PiB7XG4gIGNvbnN0IHRzQ29uZmlnUGF0aCA9IGZpbmRVcC5zeW5jKCd0c2NvbmZpZy5qc29uJylcblxuICBpZiAoIXRzQ29uZmlnUGF0aCkge1xuICAgIHJldHVybiB7IG91dFBhdGg6IHByb2Nlc3MuY3dkKCksIHNyY1BhdGg6IHByb2Nlc3MuY3dkKCkgfVxuICB9XG5cbiAgdHJ5IHtcbiAgICAvLyBSZWFkIHRoZSBmaWxlIGFzIGEgc3RyaW5nIGFuZCByZW1vdmUgdHJhaWxpbmcgY29tbWFzXG4gICAgY29uc3QgcmF3VHNDb25maWcgPSBmc1xuICAgICAgLnJlYWRGaWxlU3luYyh0c0NvbmZpZ1BhdGgsICd1dGYtOCcpXG4gICAgICAucmVwbGFjZSgvLFxccypcXF0vZywgJ10nKVxuICAgICAgLnJlcGxhY2UoLyxcXHMqXFx9L2csICd9JylcblxuICAgIGNvbnN0IHRzQ29uZmlnID0gSlNPTi5wYXJzZShyYXdUc0NvbmZpZylcblxuICAgIGNvbnN0IHNyY1BhdGggPSB0c0NvbmZpZy5jb21waWxlck9wdGlvbnM/LnJvb3REaXIgfHwgcHJvY2Vzcy5jd2QoKVxuICAgIGNvbnN0IG91dFBhdGggPSB0c0NvbmZpZy5jb21waWxlck9wdGlvbnM/Lm91dERpciB8fCBwcm9jZXNzLmN3ZCgpXG5cbiAgICByZXR1cm4geyBvdXRQYXRoLCBzcmNQYXRoIH1cbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICBjb25zb2xlLmVycm9yKGBFcnJvciBwYXJzaW5nIHRzY29uZmlnLmpzb246ICR7ZXJyb3J9YCkgLy8gRG8gbm90IHRocm93IHRoZSBlcnJvciwgYXMgd2UgY2FuIHN0aWxsIGNvbnRpbnVlIHdpdGggdGhlIG90aGVyIGNvbmZpZyBwYXRoIGZpbmRpbmcgbWV0aG9kc1xuICAgIHJldHVybiB7IG91dFBhdGg6IHByb2Nlc3MuY3dkKCksIHNyY1BhdGg6IHByb2Nlc3MuY3dkKCkgfVxuICB9XG59XG5cbi8qKlxuICogU2VhcmNoZXMgZm9yIGEgUGF5bG9hZCBjb25maWd1cmF0aW9uIGZpbGUuXG4gKiBAcmV0dXJucyBUaGUgYWJzb2x1dGUgcGF0aCB0byB0aGUgUGF5bG9hZCBjb25maWd1cmF0aW9uIGZpbGUuXG4gKiBAdGhyb3dzIEFuIGVycm9yIGlmIG5vIGNvbmZpZ3VyYXRpb24gZmlsZSBpcyBmb3VuZC5cbiAqL1xuY29uc3QgZmluZENvbmZpZyA9ICgpOiBzdHJpbmcgPT4ge1xuICAvLyBJZiB0aGUgZGV2ZWxvcGVyIGhhcyBzcGVjaWZpZWQgYSBjb25maWcgcGF0aCxcbiAgLy8gZm9ybWF0IGl0IGlmIHJlbGF0aXZlIGFuZCB1c2UgaXQgZGlyZWN0bHkgaWYgYWJzb2x1dGVcbiAgaWYgKHByb2Nlc3MuZW52LlBBWUxPQURfQ09ORklHX1BBVEgpIHtcbiAgICBpZiAocGF0aC5pc0Fic29sdXRlKHByb2Nlc3MuZW52LlBBWUxPQURfQ09ORklHX1BBVEgpKSB7XG4gICAgICByZXR1cm4gcHJvY2Vzcy5lbnYuUEFZTE9BRF9DT05GSUdfUEFUSFxuICAgIH1cblxuICAgIHJldHVybiBwYXRoLnJlc29sdmUocHJvY2Vzcy5jd2QoKSwgcHJvY2Vzcy5lbnYuUEFZTE9BRF9DT05GSUdfUEFUSClcbiAgfVxuXG4gIGNvbnN0IHsgb3V0UGF0aCwgc3JjUGF0aCB9ID0gZ2V0VFNDb25maWdQYXRocygpXG5cbiAgY29uc3Qgc2VhcmNoUGF0aHMgPSBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gJ3Byb2R1Y3Rpb24nID8gW291dFBhdGgsIHNyY1BhdGhdIDogW3NyY1BhdGhdXG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXJlc3RyaWN0ZWQtc3ludGF4XG4gIGZvciAoY29uc3Qgc2VhcmNoUGF0aCBvZiBzZWFyY2hQYXRocykge1xuICAgIGNvbnN0IGNvbmZpZ1BhdGggPSBmaW5kVXAuc3luYyhcbiAgICAgIChkaXIpID0+IHtcbiAgICAgICAgY29uc3QgdHNQYXRoID0gcGF0aC5qb2luKGRpciwgJ3BheWxvYWQuY29uZmlnLnRzJylcbiAgICAgICAgY29uc3QgaGFzVFMgPSBmaW5kVXAuc3luYy5leGlzdHModHNQYXRoKVxuXG4gICAgICAgIGlmIChoYXNUUykge1xuICAgICAgICAgIHJldHVybiB0c1BhdGhcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGpzUGF0aCA9IHBhdGguam9pbihkaXIsICdwYXlsb2FkLmNvbmZpZy5qcycpXG4gICAgICAgIGNvbnN0IGhhc0pTID0gZmluZFVwLnN5bmMuZXhpc3RzKGpzUGF0aClcblxuICAgICAgICBpZiAoaGFzSlMpIHtcbiAgICAgICAgICByZXR1cm4ganNQYXRoXG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdW5kZWZpbmVkXG4gICAgICB9LFxuICAgICAgeyBjd2Q6IHNlYXJjaFBhdGggfSxcbiAgICApXG5cbiAgICBpZiAoY29uZmlnUGF0aCkge1xuICAgICAgcmV0dXJuIGNvbmZpZ1BhdGhcbiAgICB9XG4gIH1cblxuICAvLyBJZiBubyBjb25maWcgZmlsZSBpcyBmb3VuZCBpbiB0aGUgZGlyZWN0b3JpZXMgZGVmaW5lZCBieSB0c2NvbmZpZy5qc29uLFxuICAvLyB0cnkgc2VhcmNoaW5nIGluIHRoZSAnc3JjJyBhbmQgJ2Rpc3QnIGRpcmVjdG9yeSBhcyBhIGxhc3QgcmVzb3J0LCBhcyB0aGV5IGFyZSBtb3N0IGNvbW1vbmx5IHVzZWRcbiAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSAncHJvZHVjdGlvbicpIHtcbiAgICBjb25zdCBkaXN0Q29uZmlnUGF0aCA9IGZpbmRVcC5zeW5jKFsncGF5bG9hZC5jb25maWcuanMnLCAncGF5bG9hZC5jb25maWcudHMnXSwge1xuICAgICAgY3dkOiBwYXRoLnJlc29sdmUocHJvY2Vzcy5jd2QoKSwgJ2Rpc3QnKSxcbiAgICB9KVxuXG4gICAgaWYgKGRpc3RDb25maWdQYXRoKSByZXR1cm4gZGlzdENvbmZpZ1BhdGhcbiAgfSBlbHNlIHtcbiAgICBjb25zdCBzcmNDb25maWdQYXRoID0gZmluZFVwLnN5bmMoWydwYXlsb2FkLmNvbmZpZy5qcycsICdwYXlsb2FkLmNvbmZpZy50cyddLCB7XG4gICAgICBjd2Q6IHBhdGgucmVzb2x2ZShwcm9jZXNzLmN3ZCgpLCAnc3JjJyksXG4gICAgfSlcblxuICAgIGlmIChzcmNDb25maWdQYXRoKSByZXR1cm4gc3JjQ29uZmlnUGF0aFxuICB9XG5cbiAgdGhyb3cgbmV3IEVycm9yKFxuICAgICdFcnJvcjogY2Fubm90IGZpbmQgUGF5bG9hZCBjb25maWcuIFBsZWFzZSBjcmVhdGUgYSBjb25maWd1cmF0aW9uIGZpbGUgbG9jYXRlZCBhdCB0aGUgcm9vdCBvZiB5b3VyIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkgY2FsbGVkIFwicGF5bG9hZC5jb25maWcuanNcIiBvciBcInBheWxvYWQuY29uZmlnLnRzXCIuJyxcbiAgKVxufVxuXG5leHBvcnQgZGVmYXVsdCBmaW5kQ29uZmlnXG4iXSwibmFtZXMiOlsiZ2V0VFNDb25maWdQYXRocyIsInRzQ29uZmlnUGF0aCIsImZpbmRVcCIsInN5bmMiLCJvdXRQYXRoIiwicHJvY2VzcyIsImN3ZCIsInNyY1BhdGgiLCJyYXdUc0NvbmZpZyIsImZzIiwicmVhZEZpbGVTeW5jIiwicmVwbGFjZSIsInRzQ29uZmlnIiwiSlNPTiIsInBhcnNlIiwiY29tcGlsZXJPcHRpb25zIiwicm9vdERpciIsIm91dERpciIsImVycm9yIiwiY29uc29sZSIsImZpbmRDb25maWciLCJlbnYiLCJQQVlMT0FEX0NPTkZJR19QQVRIIiwicGF0aCIsImlzQWJzb2x1dGUiLCJyZXNvbHZlIiwic2VhcmNoUGF0aHMiLCJOT0RFX0VOViIsInNlYXJjaFBhdGgiLCJjb25maWdQYXRoIiwiZGlyIiwidHNQYXRoIiwiam9pbiIsImhhc1RTIiwiZXhpc3RzIiwianNQYXRoIiwiaGFzSlMiLCJ1bmRlZmluZWQiLCJkaXN0Q29uZmlnUGF0aCIsInNyY0NvbmZpZ1BhdGgiLCJFcnJvciJdLCJtYXBwaW5ncyI6Ijs7OzsrQkF3R0E7OztlQUFBOzs7K0RBeEdtQjsyREFDSjs2REFDRTs7Ozs7O0FBRWpCOzs7O0NBSUMsR0FDRCxNQUFNQSxtQkFBbUI7SUFDdkIsTUFBTUMsZUFBZUMsZUFBTSxDQUFDQyxJQUFJLENBQUM7SUFFakMsSUFBSSxDQUFDRixjQUFjO1FBQ2pCLE9BQU87WUFBRUcsU0FBU0MsUUFBUUMsR0FBRztZQUFJQyxTQUFTRixRQUFRQyxHQUFHO1FBQUc7SUFDMUQ7SUFFQSxJQUFJO1FBQ0YsdURBQXVEO1FBQ3ZELE1BQU1FLGNBQWNDLFdBQUUsQ0FDbkJDLFlBQVksQ0FBQ1QsY0FBYyxTQUMzQlUsT0FBTyxDQUFDLFdBQVcsS0FDbkJBLE9BQU8sQ0FBQyxXQUFXO1FBRXRCLE1BQU1DLFdBQVdDLEtBQUtDLEtBQUssQ0FBQ047UUFFNUIsTUFBTUQsVUFBVUssU0FBU0csZUFBZSxFQUFFQyxXQUFXWCxRQUFRQyxHQUFHO1FBQ2hFLE1BQU1GLFVBQVVRLFNBQVNHLGVBQWUsRUFBRUUsVUFBVVosUUFBUUMsR0FBRztRQUUvRCxPQUFPO1lBQUVGO1lBQVNHO1FBQVE7SUFDNUIsRUFBRSxPQUFPVyxPQUFPO1FBQ2RDLFFBQVFELEtBQUssQ0FBQyxDQUFDLDZCQUE2QixFQUFFQSxNQUFNLENBQUMsRUFBRSw4RkFBOEY7O1FBQ3JKLE9BQU87WUFBRWQsU0FBU0MsUUFBUUMsR0FBRztZQUFJQyxTQUFTRixRQUFRQyxHQUFHO1FBQUc7SUFDMUQ7QUFDRjtBQUVBOzs7O0NBSUMsR0FDRCxNQUFNYyxhQUFhO0lBQ2pCLGdEQUFnRDtJQUNoRCx3REFBd0Q7SUFDeEQsSUFBSWYsUUFBUWdCLEdBQUcsQ0FBQ0MsbUJBQW1CLEVBQUU7UUFDbkMsSUFBSUMsYUFBSSxDQUFDQyxVQUFVLENBQUNuQixRQUFRZ0IsR0FBRyxDQUFDQyxtQkFBbUIsR0FBRztZQUNwRCxPQUFPakIsUUFBUWdCLEdBQUcsQ0FBQ0MsbUJBQW1CO1FBQ3hDO1FBRUEsT0FBT0MsYUFBSSxDQUFDRSxPQUFPLENBQUNwQixRQUFRQyxHQUFHLElBQUlELFFBQVFnQixHQUFHLENBQUNDLG1CQUFtQjtJQUNwRTtJQUVBLE1BQU0sRUFBRWxCLE9BQU8sRUFBRUcsT0FBTyxFQUFFLEdBQUdQO0lBRTdCLE1BQU0wQixjQUFjckIsUUFBUWdCLEdBQUcsQ0FBQ00sUUFBUSxLQUFLLGVBQWU7UUFBQ3ZCO1FBQVNHO0tBQVEsR0FBRztRQUFDQTtLQUFRO0lBRTFGLGdEQUFnRDtJQUNoRCxLQUFLLE1BQU1xQixjQUFjRixZQUFhO1FBQ3BDLE1BQU1HLGFBQWEzQixlQUFNLENBQUNDLElBQUksQ0FDNUIsQ0FBQzJCO1lBQ0MsTUFBTUMsU0FBU1IsYUFBSSxDQUFDUyxJQUFJLENBQUNGLEtBQUs7WUFDOUIsTUFBTUcsUUFBUS9CLGVBQU0sQ0FBQ0MsSUFBSSxDQUFDK0IsTUFBTSxDQUFDSDtZQUVqQyxJQUFJRSxPQUFPO2dCQUNULE9BQU9GO1lBQ1Q7WUFFQSxNQUFNSSxTQUFTWixhQUFJLENBQUNTLElBQUksQ0FBQ0YsS0FBSztZQUM5QixNQUFNTSxRQUFRbEMsZUFBTSxDQUFDQyxJQUFJLENBQUMrQixNQUFNLENBQUNDO1lBRWpDLElBQUlDLE9BQU87Z0JBQ1QsT0FBT0Q7WUFDVDtZQUVBLE9BQU9FO1FBQ1QsR0FDQTtZQUFFL0IsS0FBS3NCO1FBQVc7UUFHcEIsSUFBSUMsWUFBWTtZQUNkLE9BQU9BO1FBQ1Q7SUFDRjtJQUVBLDBFQUEwRTtJQUMxRSxtR0FBbUc7SUFDbkcsSUFBSXhCLFFBQVFnQixHQUFHLENBQUNNLFFBQVEsS0FBSyxjQUFjO1FBQ3pDLE1BQU1XLGlCQUFpQnBDLGVBQU0sQ0FBQ0MsSUFBSSxDQUFDO1lBQUM7WUFBcUI7U0FBb0IsRUFBRTtZQUM3RUcsS0FBS2lCLGFBQUksQ0FBQ0UsT0FBTyxDQUFDcEIsUUFBUUMsR0FBRyxJQUFJO1FBQ25DO1FBRUEsSUFBSWdDLGdCQUFnQixPQUFPQTtJQUM3QixPQUFPO1FBQ0wsTUFBTUMsZ0JBQWdCckMsZUFBTSxDQUFDQyxJQUFJLENBQUM7WUFBQztZQUFxQjtTQUFvQixFQUFFO1lBQzVFRyxLQUFLaUIsYUFBSSxDQUFDRSxPQUFPLENBQUNwQixRQUFRQyxHQUFHLElBQUk7UUFDbkM7UUFFQSxJQUFJaUMsZUFBZSxPQUFPQTtJQUM1QjtJQUVBLE1BQU0sSUFBSUMsTUFDUjtBQUVKO01BRUEsV0FBZXBCIn0=