UNPKG

ntts

Version:

A CLI tool for refactoring an existing NodeJs application to a fully functional TypeScript application.

43 lines (42 loc) 1.9 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); var fs_1 = require("fs"); var path_1 = require("path"); var ignore_1 = __importDefault(require("ignore")); var logger_1 = __importDefault(require("../logger/logger")); var FileRename = /** @class */ (function () { function FileRename() { } var _a; _a = FileRename; FileRename.javaScriptEnding = /\.[mc]?js$/g; FileRename.rename = function (target, ignores) { logger_1.default.info('Renaming all JavaScript files'); FileRename.findAndRename(ignores, target || '.'); logger_1.default.success('All JavaScript files renamed to TypeScript files'); }; FileRename.renameFileEnding = function (file, newEnding) { return file.replace(_a.javaScriptEnding, newEnding); }; FileRename.isJavaScriptFile = function (file) { return _a.javaScriptEnding.test(file); }; FileRename.renameFile = function (file) { (0, fs_1.renameSync)(file, _a.renameFileEnding(file, '.ts')); }; FileRename.checkDirectoryEntry = function (item, path, ig, ignoreList) { var fullPath = (0, path_1.join)(path, item.name); if (item.isFile() && !ig.ignores(fullPath) && _a.javaScriptEnding.test(item.name)) { _a.renameFile(fullPath); } if (item.isDirectory() && !ig.ignores(fullPath)) { _a.findAndRename(ignoreList, fullPath); } }; FileRename.findAndRename = function (ignoreList, path) { var ig = (0, ignore_1.default)().add(ignoreList); (0, fs_1.readdirSync)(path, { withFileTypes: true }) .forEach(function (item) { return _a.checkDirectoryEntry(item, path, ig, ignoreList); }); }; return FileRename; }()); exports.default = FileRename;