UNPKG

sfcc-dts

Version:

> High quality Salesforce Commerce Cloud type definitions. A dw-api-types "done right"

59 lines (57 loc) 3.05 kB
#!/usr/bin/env node "use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const console_1 = require("console"); const fs_1 = __importDefault(require("fs")); const path_1 = __importDefault(require("path")); const picocolors_1 = __importDefault(require("picocolors")); const prompts_1 = __importDefault(require("prompts")); const customtypes_1 = require("./customtypes"); (async () => { const banner = ` _|_| _| _| _|_|_| _| _|_|_| _|_|_| _|_|_| _|_|_|_| _|_|_| _|_| _|_|_|_| _| _| _|_|_|_|_| _| _| _| _|_| _|_| _| _| _| _| _| _| _|_| _|_|_| _| _|_|_| _|_|_| _|_|_| _|_| _|_|_| `; (0, console_1.log)(picocolors_1.default.magenta(banner)); (0, console_1.log)(`Welcome to ${picocolors_1.default.magenta('sfcc-dts')} custom attributes definition generator.\n`); let defaultpath = './sites/site_template/meta/'; let defaultdest = './cartridges/app_project/cartridge/scripts/'; let extensions; if (fs_1.default.existsSync(path_1.default.join(defaultpath, 'system-objecttype-extensions.xml'))) { (0, console_1.log)(`system-objecttype-extensions.xml detected at ${defaultpath}`); extensions = path_1.default.join(defaultpath, 'system-objecttype-extensions.xml'); } else { const response = await (0, prompts_1.default)([ { type: 'text', name: 'meta', message: 'Directory containing system-objecttype-extensions.xml?', initial: defaultpath, validate: value => !fs_1.default.existsSync(path_1.default.join(value, 'system-objecttype-extensions.xml')) ? `system-objecttype-extensions.xml not found in ${path_1.default.join(value, 'system-objecttype-extensions.xml')}` : true } ]); extensions = path_1.default.join(response.meta, 'system-objecttype-extensions.xml'); } const destresponse = await (0, prompts_1.default)([ { type: 'text', name: 'path', message: 'Folder for generated constant file?', initial: defaultdest, validate: value => !fs_1.default.existsSync(value) ? `Folder ${value} not found` : true } ]); let destination = path_1.default.join(destresponse.path, 'preferences.js'); (0, console_1.log)(`Generating constants for organization and site preferences`); if (extensions) { await (0, customtypes_1.generateConstants)(extensions, destination); } (0, console_1.log)(`\nDone!`); })();