1 | const slash = require('slash');
|
2 | const execa = require('execa');
|
3 | const underPath = require('./underPath');
|
4 |
|
5 | const cwd = underPath('root');
|
6 |
|
7 | const {
|
8 | logBefore,
|
9 | successlog,
|
10 | successlogAfter,
|
11 | } = require('./log');
|
12 |
|
13 | const {
|
14 | cyan,
|
15 | } = require('./colorStr');
|
16 |
|
17 |
|
18 |
|
19 |
|
20 | async function link() {
|
21 | await execa('yarn', ['link'], {
|
22 | cwd,
|
23 | });
|
24 | successlogAfter('link');
|
25 | }
|
26 |
|
27 |
|
28 |
|
29 |
|
30 | async function unlink() {
|
31 | await execa('yarn', ['unlink'], {
|
32 | cwd,
|
33 | });
|
34 | successlog('unlink');
|
35 | }
|
36 |
|
37 | module.exports = {
|
38 | link,
|
39 | unlink,
|
40 |
|
41 | |
42 |
|
43 |
|
44 | async relink() {
|
45 | logBefore(cyan('[re-link]:'));
|
46 | await unlink();
|
47 | await link();
|
48 | },
|
49 |
|
50 | |
51 |
|
52 |
|
53 | async yarnGlobalDir() {
|
54 | const {
|
55 | stdout,
|
56 | } = await execa('yarn', ['global', 'dir']);
|
57 |
|
58 | return slash(stdout);
|
59 | },
|
60 |
|
61 | |
62 |
|
63 |
|
64 | async yarnGlobalBin() {
|
65 | const {
|
66 | stdout,
|
67 | } = await execa('yarn', ['global', 'bin']);
|
68 |
|
69 | return slash(stdout);
|
70 | },
|
71 | };
|