1 | 'use strict'
|
2 |
|
3 | let cli = require('heroku-cli-util')
|
4 |
|
5 | function buildCommand (args) {
|
6 | if (args.length === 1) {
|
7 |
|
8 |
|
9 | return args[0]
|
10 | }
|
11 | let cmd = ''
|
12 | for (let arg of args) {
|
13 | if (arg.indexOf(' ') !== -1 || arg.indexOf('"') !== -1) {
|
14 | arg = '"' + arg.replace(/"/g, '\\"') + '"'
|
15 | }
|
16 | cmd = cmd + ' ' + arg
|
17 | }
|
18 | return cmd.trim()
|
19 | }
|
20 |
|
21 | function buildEnvFromFlag (flag) {
|
22 | let env = {}
|
23 | for (let v of flag.split(';')) {
|
24 | let m = v.match(/^\s*([\w.-]+)\s*=\s*(.*)?\s*$/)
|
25 | if (m) env[m[1]] = m[2]
|
26 | else cli.warn(`env flag ${v} appears invalid. Avoid using ';' in values.`)
|
27 | }
|
28 | return env
|
29 | }
|
30 |
|
31 | module.exports = {
|
32 | buildCommand,
|
33 | buildEnvFromFlag
|
34 | }
|