@feflow/cli
Version:
A front-end flow tool.
29 lines • 1.04 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.escape = void 0;
var os_1 = __importDefault(require("os"));
var OS_WIN = 'win32';
// 对命令字符串进行shell转义
function escape(arg) {
if (arg === void 0) { arg = ''; }
// windows保持原样
if (os_1.default.platform() === OS_WIN) {
return arg;
}
var newArg = arg;
if (newArg.startsWith('\'') && newArg.endsWith('\'')) {
newArg = newArg.substring(1, newArg.length - 1);
}
if (/[^A-Za-z0-9_/:=-]/.test(newArg)) {
newArg = "'".concat(newArg.replace(/'/g, '\'\\\'\''), "'");
newArg = newArg
.replace(/^(?:'')+/g, '') // 消除重复的单引号
.replace(/\\'''/g, '\\\''); // 如果有两个转义单引号,则删除非转义单引号
}
return newArg;
}
exports.escape = escape;
//# sourceMappingURL=args.js.map