UNPKG

t-comm

Version:

专业、稳定、纯粹的工具库

87 lines (84 loc) 3.13 kB
import { a as __spreadArray } from '../tslib.es6-096fffdd.js'; import { execCommand } from '../node/node-command.mjs'; import { checkValidReplaceList } from './helper.mjs'; import '@babel/runtime/helpers/typeof'; function transformString(str) { if (str === void 0) { str = ''; } return str.replace(/(\/|")/g, '\\$1'); } function replaceContent(_a) { var replaceList = _a.replaceList, targetProject = _a.targetProject; var _loop_1 = function _loop_1(item) { var dirList = item.dirList, to = item.to, from = item.from, list = item.list; var newDir = Array.isArray(dirList) ? dirList : [dirList]; if (!(newDir === null || newDir === void 0 ? void 0 : newDir.length)) return "continue"; if (list === null || list === void 0 ? void 0 : list.length) { checkValidReplaceList(list); list.forEach(function (inner) { replaceEachContent({ dirList: newDir, to: transformString(inner[1]), from: transformString(inner[0]), targetProject: targetProject }); }); return "continue"; } if (!from || !to) return "continue"; replaceEachContent({ dirList: newDir, to: transformString(to), from: transformString(from), targetProject: targetProject }); }; for (var _i = 0, replaceList_1 = replaceList; _i < replaceList_1.length; _i++) { var item = replaceList_1[_i]; _loop_1(item); } } function execCommandInTarget(command, targetProject) { execCommand(command, targetProject, 'inherit'); } function replaceEachContent(_a) { var dirList = _a.dirList, to = _a.to, from = _a.from, targetProject = _a.targetProject; for (var _i = 0, dirList_1 = dirList; _i < dirList_1.length; _i++) { var dir = dirList_1[_i]; try { // sed -i "" 's/@xxx\/press-ui/press-ui/g' README.md // find . | xargs grep string # 查找当前目录下文件内容包含字符串string的文件 // 报错:RE error: illegal byte sequence' // 解决办法:export LC_COLLATE='C' // export LC_CTYPE='C' // 参考:https://blog.csdn.net/wqhjfree/article/details/39032533 log("\u6B63\u5728\u66FF\u6362 ".concat(from, " to ").concat(to)); // eslint-disable-next-line @typescript-eslint/no-require-imports var os = require('os'); var platform = os.platform(); var keyword = platform === 'linux' ? '-i' : '-i \'\''; var command = "sed ".concat(keyword, " \"s/").concat(from, "/").concat(to, "/g\" `grep -rl \"").concat(from, "\" ").concat(dir, "` || true"); execCommandInTarget(command, targetProject); } catch (err) { console.log('replaceEachContent.err', err); } } } function log(content) { var args = []; for (var _i = 1; _i < arguments.length; _i++) { args[_i - 1] = arguments[_i]; } // eslint-disable-next-line @typescript-eslint/no-require-imports var symbols = require('log-symbols'); console.log.apply(console, __spreadArray(["".concat(symbols.info, " ").concat(content)], args, false)); } export { execCommandInTarget, log, replaceContent, replaceEachContent };