From 23f88fd84e94884e31ef789eafe82e08e2a216dc Mon Sep 17 00:00:00 2001 From: Peter Schmalfeldt Date: Mon, 7 Jan 2019 23:20:35 -0500 Subject: [PATCH] Fixed `CodeVersion` so it is part of the Setup rather than pulling from current branch name --- bin/cli.js | 4 ++++ commands/list.js | 1 + commands/setup.js | 24 +++++++++++++++++++++++- docs/setup.md | 5 ++++- lib/branch.js | 7 ------- lib/upload.js | 3 +-- 6 files changed, 33 insertions(+), 11 deletions(-) delete mode 100644 lib/branch.js diff --git a/bin/cli.js b/bin/cli.js index dff7968..61c6eeb 100755 --- a/bin/cli.js +++ b/bin/cli.js @@ -16,6 +16,10 @@ const argv = yargs alias: 'h', describe: 'Hostname for Instance' }, + version: { + alias: 'v', + describe: 'Code Version' + }, directory: { alias: 'd', describe: 'Absolute path to Repository' diff --git a/commands/list.js b/commands/list.js index c856033..ecc10c0 100644 --- a/commands/list.js +++ b/commands/list.js @@ -14,6 +14,7 @@ module.exports = async () => { console.log(chalk.cyan('instance: ') + chalk.cyan.bold(instance)) console.log(' path: ' + chalk.bold(currentConfig[client][instance].d)) console.log(' host: ' + chalk.bold(currentConfig[client][instance].h)) + console.log(' code: ' + chalk.bold(currentConfig[client][instance].v)) console.log(' user: ' + chalk.bold(currentConfig[client][instance].u)) console.log(' pass: ' + chalk.bold(currentConfig[client][instance].p.replace(/./g, '*'))) } diff --git a/commands/setup.js b/commands/setup.js index 64c211e..0c6e29d 100644 --- a/commands/setup.js +++ b/commands/setup.js @@ -7,10 +7,22 @@ const slug = require('slug') const config = require('../lib/config')() module.exports = async () => { - if (argv && typeof argv.a === 'undefined') { + const setDefaults = + argv && + typeof argv.c !== 'undefined' && + argv.h !== 'undefined' && + argv.d !== 'undefined' && + argv.u !== 'undefined' && + argv.p !== 'undefined' + + if (setDefaults && typeof argv.a === 'undefined') { argv.a = 'sandbox' } + if (setDefaults && typeof argv.v === 'undefined') { + argv.v = 'develop' + } + prompt.message = '' prompt.error = '' prompt.delimiter = '' @@ -50,6 +62,14 @@ module.exports = async () => { return isValid } }, + { + description: chalk.cyan('Code Version:'), + name: 'v', + pattern: /^[a-z0-9]+$/, + message: 'Code Version. ( e.g. develop, sitegenesis, etc )', + required: true, + default: 'develop' + }, { description: chalk.cyan('Instance Alias:'), name: 'a', @@ -112,6 +132,8 @@ module.exports = async () => { // Create / Overwrite SFCC Instance for Client newConfig[client][alias] = { h: result.h, + v: result.v, + a: result.a, d: result.d, u: result.u, p: result.p diff --git a/docs/setup.md b/docs/setup.md index eaf61f9..440472a 100644 --- a/docs/setup.md +++ b/docs/setup.md @@ -37,6 +37,7 @@ Directory | `-d` | Yes | | Absolute path to the projects SF Username | `-u` | Yes | | Instances SFCC Business Manager Username Password | `-p` | Yes | | Instances SFCC Business Manager Password Instance Alias | `-a` | No | `sandbox` | Custom Name to give this Instance +Code Version | `-v` | No | `develop` | SFCC Code Version to use **SAVED TO: ~/.sfcc-cli** @@ -47,7 +48,9 @@ Instance Alias | `-a` | No | `sandbox` | Custom Name to give this Instanc "h": "dev04-web-mysandbox.demandware.net", "d": "/Users/RVW/Projects/mysandbox", "u": "my@email.com", - "p": "my^pass" + "p": "my^pass", + "a": "sandbox", + "v": "develop" } } } diff --git a/lib/branch.js b/lib/branch.js deleted file mode 100644 index bccd3ea..0000000 --- a/lib/branch.js +++ /dev/null @@ -1,7 +0,0 @@ -const {execSync} = require('child_process') - -module.exports = () => { - return execSync('git rev-parse --abbrev-ref HEAD', {encoding: 'utf8'}) - .split('\n') - .join('') -} diff --git a/lib/upload.js b/lib/upload.js index 866975b..6906fdc 100644 --- a/lib/upload.js +++ b/lib/upload.js @@ -3,7 +3,6 @@ const notifier = require('node-notifier') const path = require('path') const pRetry = require('p-retry') -const codeVersion = require('./branch')() const write = require('./write') const mkdirp = require('./mkdirp') @@ -14,7 +13,7 @@ module.exports = async ({file, spinner, watching, client, instance}) => { if (!uploading.has(src)) { const dir = path.dirname(file).replace(path.normalize(watching.d), '') - const dest = path.join('/', 'Cartridges', codeVersion, dir) + const dest = path.join('/', 'Cartridges', watching.v, dir) uploading.add(src)