UNPKG

clear-npx-cache

Version:
41 lines (40 loc) 1.96 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); var child_process_1 = require("child_process"); var fs_1 = require("fs"); var path_1 = __importDefault(require("path")); var cli_progress_1 = __importDefault(require("cli-progress")); function clearCache() { var npmCacheDirectory = (0, child_process_1.execSync)('npm config get cache').toString().trimEnd(); var npxCacheDirectory = path_1.default.join(npmCacheDirectory, '_npx'); var bar1 = new cli_progress_1.default.SingleBar({}, cli_progress_1.default.Presets.shades_classic); console.log(' Starting cleaning ... \n'); if ((0, fs_1.existsSync)(npxCacheDirectory)) { var subdirectoryNames = (0, fs_1.readdirSync)(npxCacheDirectory); var subdirectories = subdirectoryNames.map(function (subdirectoryName) { return path_1.default.join(npxCacheDirectory, subdirectoryName); }); bar1.start(subdirectories.length, 0); for (var i = 0; i < subdirectories.length; i += 1) { var subdirectory = subdirectories[i]; var packagePath = path_1.default.join(subdirectory, 'package.json'); bar1.update(i + 1); if ((0, fs_1.existsSync)(packagePath)) { var package_json = JSON.parse((0, fs_1.readFileSync)(packagePath).toString()); if (package_json.name === 'clear-npx-cache') continue; } (0, fs_1.rmSync)(subdirectory, { recursive: true }); } bar1.stop(); console.log('\n Cache cleared successfully! Thanks for using our lib.'); } else { (0, fs_1.mkdirSync)(npxCacheDirectory); console.log('\n Everything up to date, cache already clean!'); } } exports.default = clearCache;