Coveralls logob
Coveralls logo
  • Home
  • Features
  • Pricing
  • Docs
  • Sign In

Alorel / personal-build-tools / 801

20 Mar 2019 - 7:52 coverage increased (+2.9%) to 83.558%
801

Pull #76

travis-ci-com

9181eb84f9c35729a3bad740fb7f9d93?size=18&default=identiconweb-flow
chore(package): update lockfile yarn.lock
Pull Request #76: Update rollup to the latest version 🚀

304 of 452 branches covered (67.26%)

Branch coverage included in aggregate %.

936 of 1032 relevant lines covered (90.7%)

44.74 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

93.33
/src/commands/reinstall.ts
1
import {sync as rmrf} from 'rimraf';
2
import {CommandModule} from 'yargs';
12×
3
import {addConfig} from '../fns/add-cmd/addConfig';
12×
4
import {cmdName} from '../fns/cmdName';
12×
5
import {xSpawnSync} from '../fns/xSpawn';
12×
6
import {PackageManager} from '../inc/PackageManager';
12×
7
import {Log} from '../lib/Log';
12×
8
import {PromptableConfig} from '../lib/PromptableConfig';
12×
9

12×
10
interface Config {
11
  cwd?: string;
12

12×
13
  keepLockfile: boolean;
14

15
  pkgMgr: PackageManager;
16
}
17

18
const command = cmdName(__filename);
19

20
const cmd: CommandModule<any, Config> = {
21
  builder(argv): any {
22
    return addConfig(argv, command)
23
      .positional('pkgMgr', {
24
        describe: 'Package manager in use. Can be inferred from existing lockfile.',
25
        type: 'string'
26
      })
27
      .option('cwd', {
28
        hidden: true,
29
        type: 'string'
30
      })
31
      .option('keep-lockfile', {
12×
32
        alias: ['k', 'keep'],
33
        default: false,
34
        describe: 'Don\'t remove the lockfile',
12×
35
        type: 'boolean'
36
      });
12×
37
  },
38
  command: `${command} [pkgMgr]`,
39
  describe: 'Perform a clean reinstallation of node modules',
3×
40
  handler(c$: Config): void {
41
    const initialCwd = process.cwd();
42
    try {
3×
43
      if (c$.cwd) {
3×
44
        process.chdir(c$.cwd);
45
      }
6×
46
      const pkgMgr = new PromptableConfig<Config>(c$).promptedPkgMgr();
47

48
      if (!c$.keepLockfile) {
6×
49
        if (pkgMgr === PackageManager.YARN) {
50
          rmrf('yarn.lock');
12×
51
        } else {
12×
52
          rmrf('package-lock.json');
12×
53
          rmrf('npm-shrinkwrap.json');
12×
54
        }
12×
55
        Log.success('Removed lockfile');
56
      } else {
6×
57
        Log.info('Keeping lockfile');
58
      }
12×
59

Branches [[0, 1]] missed.
60
      Log.info('Removing node_modules');
61
      rmrf('node_modules');
UNCOV
62
      Log.success('Removed node_modules');
!
63

64
      Log.info(`Running ${pkgMgr} install`);
12×
65
      const args: string[] = ['install'];
66
      if (pkgMgr === PackageManager.YARN) {
67
        args.push('--check-files');
12×
68
      }
69
      const sp = xSpawnSync(pkgMgr, args, {
70
        stdio: process.env.RUNNING_PERSONAL_BUILD_TOOLS_TESTS ? 'ignore' : 'inherit'
71
      });
12×
72

73
      if (sp.status !== 0) {
74
        throw new Error(`Exited with code ${sp.status}`);
75
      }
76
      Log.success(`${pkgMgr} install finished successfully.`);
77
    } finally {
78
      process.chdir(initialCwd);
79
    }
80
  }
81
};
82

83
export = cmd;
Troubleshooting · Open an Issue · Sales · Support · ENTERPRISE · CAREERS · STATUS
BLOG · TWITTER · Legal & Privacy · Supported CI Services · What's a CI service? · Automated Testing

© 2022 Coveralls, Inc