UNPKG

@commercelayer/cli

Version:
45 lines (44 loc) 1.98 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.patchCommand = void 0; const cli_core_1 = require("@commercelayer/cli-core"); const provisioning_sdk_1 = require("@commercelayer/provisioning-sdk"); const PROVISIONING = true; const provisioningCommands = ['retrieve', 'list', 'create', 'update', 'delete', 'get', 'relationship', 'fetch']; const patchCommand = (argv) => { const cmdIdx = process.argv.findIndex(a => !a.startsWith('/')); const cmd = process.argv[cmdIdx]; const res = process.argv.find(a => !a.startsWith('/') && (a !== cmd)); // Check provisioning command if (PROVISIONING && provisioningCommands.includes(cmd)) return patchProvisioningCommand(argv, cmd, cmdIdx, res); // Check plugins command if (['install', 'uninstall'].includes(cmd)) return patchPluginCommand(argv, cmd, cmdIdx, res); // Check update command if (['update'].includes(cmd)) return patchUpdateCommand(argv, cmd, cmdIdx, res); return argv; }; exports.patchCommand = patchCommand; const patchPluginCommand = (argv, cmd, cmdIdx, res) => { argv[cmdIdx] = `plugins:${cmd}`; return argv; }; const patchProvisioningCommand = (argv, cmd, cmdIdx, res) => { // Check provisioning resource if (res) { const provisioningResources = [...provisioning_sdk_1.CommerceLayerProvisioningStatic.resources()]; provisioningResources.splice(provisioningResources.indexOf('organizations'), 1); provisioningResources.splice(provisioningResources.indexOf('versions'), 1); const provisioningResource = provisioningResources.includes(res) || (provisioningResources.includes(cli_core_1.clText.pluralize(res))); if (provisioningResource) process.argv[cmdIdx] = `provisioning:${cmd}`; } return argv; }; const patchUpdateCommand = (argv, cmd, cmdIdx, res) => { if ((cmd === 'update') && !res) argv[cmdIdx] = `cli:${cmd}`; return argv; };