feat: 초기 프로젝트 설정 및 룰.md 파일 추가
This commit is contained in:
98
api.hyungi.net/node_modules/vizion/lib/cliCommand.js
generated
vendored
Normal file
98
api.hyungi.net/node_modules/vizion/lib/cliCommand.js
generated
vendored
Normal file
@@ -0,0 +1,98 @@
|
||||
var PLATFORM = {
|
||||
WINDOWS: 'WINDOWS',
|
||||
UNIX: 'UNIX'
|
||||
};
|
||||
|
||||
function getPlatform() {
|
||||
switch (process.platform) {
|
||||
case 'win32':
|
||||
case 'win64':
|
||||
return PLATFORM.WINDOWS;
|
||||
default:
|
||||
return PLATFORM.UNIX;
|
||||
}
|
||||
}
|
||||
|
||||
function getCdCommand() {
|
||||
switch (this.platform) {
|
||||
case PLATFORM.WINDOWS:
|
||||
return function cdToPath(folder) {
|
||||
return 'cd \"' + folder + "\"";
|
||||
};
|
||||
case PLATFORM.UNIX:
|
||||
return function cdToPath(folder) {
|
||||
return "cd '" + folder + "'";
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
function getCleanseCommand(setEnvVar) {
|
||||
switch (this.platform) {
|
||||
case PLATFORM.WINDOWS:
|
||||
return function (cmd) {
|
||||
var envCmd = setEnvVar();
|
||||
if (!envCmd.length)
|
||||
return cmd;
|
||||
return [envCmd, cmd].join(' ');
|
||||
};
|
||||
case PLATFORM.UNIX:
|
||||
return function (cmd) {
|
||||
return [setEnvVar("LC_ALL", "en_US.UTF-8"), cmd].join(' ');
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
function getSetEnv() {
|
||||
switch (this.platform) {
|
||||
case PLATFORM.WINDOWS:
|
||||
return function (k, v) {
|
||||
if (!k)
|
||||
return "";
|
||||
return "SET ".concat([k,v].join('='));
|
||||
};
|
||||
case PLATFORM.UNIX:
|
||||
return function (k, v) {
|
||||
if (!k)
|
||||
return "";
|
||||
return [k,v].join('=');
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
function getConcatenator() {
|
||||
switch(this.platform) {
|
||||
case PLATFORM.WINDOWS:
|
||||
return function (cmds) {
|
||||
return cmds.join(" && ");
|
||||
};
|
||||
case PLATFORM.UNIX:
|
||||
return function (cmds) {
|
||||
var cmdText = '';
|
||||
for (var i = 0; i < cmds.length; i++) {
|
||||
cmdText += cmds[i];
|
||||
if (i < cmds.length - 1)
|
||||
cmdText += ";";
|
||||
}
|
||||
return cmdText;
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
var cliCommand = (function getExecutor() {
|
||||
this.platform = getPlatform();
|
||||
|
||||
var cdTo = getCdCommand.call(this);
|
||||
var concat = getConcatenator.call(this);
|
||||
var setEnvVar = getSetEnv.call(this);
|
||||
var cleanse = getCleanseCommand.call(this, setEnvVar);
|
||||
|
||||
return function (folder, cmd) {
|
||||
var cmds = [];
|
||||
cmds.push(cdTo(folder));
|
||||
cmds.push(cleanse(cmd));
|
||||
|
||||
return concat(cmds);
|
||||
}
|
||||
})();
|
||||
|
||||
module.exports = cliCommand;
|
||||
Reference in New Issue
Block a user