Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 | 2x 2x 2x 2x 2x 2x 2x 2x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 2x | import fs from 'fs'; import path from 'path'; import chalk from 'chalk'; import inquirer from 'inquirer'; import { removeDirs } from './fileutils'; import { logTask, logToSummary } from './logger'; import { executeAsync } from './exec'; const rnvClean = async (c, skipQuestion = false) => { logTask('rnvClean'); if (c.Iprogram.ci) skipQuestion = true; const pathsToRemove = []; if (fsE.existsSync(c.paths.project.nodeModulesDir)) pathsToRemove.push(c.paths.project.nodeModulesDir); const pkgLock = path.join(c.paths.project.dir, 'package-lock.json'); if (fsI.existsSync(pkgLock)) pathsToRemove.push(pkgLock); let msg = chalk.red(`${c.paths.project.nodeModulesDir}\n${pkgLock}\n`); const packagesFolder = path.join(c.paths.project.dir, 'packages'); if (fsI.existsSync(packagesFolder)) { fs.readdirSync(packagesFolder).forEach((dir) => { if (dir === '.DS_Store') { const pth = path.join(packagesFolder, dir); if (fs.existsSync(pth)) { pathsToRemove.push(pth); msg += chalk.red(`${pth}\n`); } } else { const pth2 = path.join(packagesFolder, dir, 'node_modules'); if (fs.existsSync(pth2)) { pathsToRemove.push(pth2); msg += chalk.red(`${pth2}\n`); } const pth3 = path.join(packagesFolder, dir, 'package-lock.json'); if (fs.existsSync(pth3)) { pathsToRemove.push(pth3); msg += chalk.red(`${pth3}\n`); } } }); } const buildDirs = []; if (fsI.existsSync(c.paths.project.builds.dir)) buildDirs.push(c.paths.project.builds.dir); if (fsI.existsSync(c.paths.project.assets.dir)) buildDirs.push(c.paths.project.assets.dir); const answers = { modules: false, builds: false, cache: false, nothingToClean: !skipQuestionI }; if (pathsToRemove.length && !skipQuestion) { const { confirm } = await inquirer.prompt({ name: 'confirm', type: 'confirm', message: `Do you want to remove node_module related files/folders? \n${msg}`, }); answers.modules = confirm; if (confirm) answers.nothingToClean = false; } if (buildDirs.length && !skipQuestion) { const { confirmBuilds } = await inquirer.prompt({ name: 'confirmBuilds', type: 'confirm', message: `Do you want to clean your platformBuilds and platformAssets? \n${chalk.red(buildDirs.join('\n'))}`, }); answers.builds = confirmBuilds; if (confirmBuilds) answers.nothingToClean = false; } if (!skipQuestion) { const { confirmCache } = await inquirer.prompt({ name: 'confirmCache', type: 'confirm', message: 'Do you want to clean your npm/bundler cache?', }); answers.cache = confirmCache; if (confirmCache) answers.nothingToClean = false; } if (answers.nothingToClean) { logToSummary('Nothing to clean'); return Promise.resolve(); } if (answers.modules) { await removeDirs(pathsToRemove); } if (answers.builds) { await removeDirs(buildDirs); } if (answers.cache) { await executeAsync(c, 'watchman watch-del-all'); await executeAsync(c, 'rm -rf $TMPDIR/metro-* && rm -rf $TMPDIR/react-* && rm -rf $TMPDIR/haste-*'); } }; export { rnvClean }; |