@fewer/cli
Version:
The CLI to scaffold and perform operations for Fewer.
35 lines • 1.36 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const cosmiconfig_1 = __importDefault(require("cosmiconfig"));
const joi_1 = __importDefault(require("joi"));
const schema = joi_1.default.object().keys({
src: joi_1.default.string().default('src'),
migrations: joi_1.default.string().default('src/migrations'),
repositories: joi_1.default.string().default('src/repositories'),
schema: joi_1.default.string().default('src/schema.ts'),
databases: joi_1.default.array()
.items(joi_1.default.string())
.default(['src/database.ts']),
typescript: joi_1.default.boolean().default(true),
cjs: joi_1.default.boolean().default(false),
});
let processedConfig;
async function default_1() {
if (processedConfig) {
return processedConfig;
}
const explorer = cosmiconfig_1.default('fewer');
const result = await explorer.search(process.cwd());
let userConfig;
if (result) {
userConfig = result.config;
}
const validatedConfig = (await joi_1.default.validate(userConfig || {}, schema));
processedConfig = validatedConfig;
return validatedConfig;
}
exports.default = default_1;
//# sourceMappingURL=getConfig.js.map