UNPKG

code-replacer

Version:

Replace codes line by line with regex for target files

73 lines 3.81 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const fs_1 = __importDefault(require("fs")); const path_1 = __importDefault(require("path")); const chalk_1 = __importDefault(require("chalk")); const sourceFileParser_1 = __importDefault(require("./sourceFileParser")); const csvParser_1 = __importDefault(require("./csvParser")); const debuggingInfo_1 = __importDefault(require("./config/debuggingInfo")); const getReplacedCode_1 = require("./getReplacedCode"); const optionManager_1 = __importDefault(require("./cli/optionManager")); const constant_1 = __importDefault(require("./config/constant")); const util_1 = __importDefault(require("./util")); const template_1 = require("./template"); function default_1({ src: srcFile, csv: replaceListFile, startLine, endLine, dst: dstFileName, template, excludeReg: excludeRegValue, }) { return __awaiter(this, void 0, void 0, function* () { try { const { srcFileLines, srcFileName, srcFilePath } = sourceFileParser_1.default({ srcFile, }); const templateObj = new template_1.Template(template); const csvTbl = yield csvParser_1.default({ replaceListFile: replaceListFile, srcFileName, srcFilePath, template: templateObj, }); const resultLines = getReplacedCode_1.getReplacedCode({ srcFileName, srcFileLines, excludeRegValue, startLine, endLine, csvTbl: csvTbl, template: templateObj, }); if (resultLines === -1) return; const dstFilePath = optionManager_1.default.getInstance().overwriteOpt ? srcFile : dstFileName ? path_1.default.resolve(dstFileName) : srcFileName.startsWith(constant_1.default.REPLACED_PREPOSITION) ? srcFilePath + path_1.default.sep + srcFileName : srcFilePath + path_1.default.sep + constant_1.default.REPLACED_PREPOSITION + srcFileName; fs_1.default.writeFileSync(dstFilePath, "\ufeff" + resultLines.join("\n"), { encoding: "utf8", }); const debugInfoStr = chalk_1.default.greenBright(debuggingInfo_1.default.getInstance().toString()); util_1.default.logByFlag(optionManager_1.default.getInstance().printOpt && !optionManager_1.default.getInstance().verboseOpt, debugInfoStr); console.log(chalk_1.default.italic(chalk_1.default.white(`\nGenerated '${dstFilePath}'\n`))); } catch (err) { console.error(chalk_1.default.red(err.message)); console.error(chalk_1.default.whiteBright("** Details:")); throw err; } }); } exports.default = default_1; //# sourceMappingURL=replaceWithFile.js.map