@akala/pm 12.1.25 → 13.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/changelog.md +1 -1
- package/dist/esm/akala.mjs +1 -1
- package/dist/esm/akala.mjs.map +1 -1
- package/dist/esm/cli-commands/install.js +2 -2
- package/dist/esm/cli-commands/install.js.map +1 -1
- package/dist/esm/cli-commands/link.js +2 -2
- package/dist/esm/cli-commands/link.js.map +1 -1
- package/dist/esm/cli-commands/uninstall.js +2 -2
- package/dist/esm/cli-commands/uninstall.js.map +1 -1
- package/dist/esm/cli-commands/update.js +2 -2
- package/dist/esm/cli-commands/update.js.map +1 -1
- package/dist/esm/index.d.ts +0 -1
- package/dist/esm/index.js +0 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/tsconfig.esm.tsbuildinfo +1 -1
- package/package.json +6 -6
- package/src/akala.mts +1 -1
- package/src/cli-commands/install.ts +2 -2
- package/src/cli-commands/link.ts +2 -2
- package/src/cli-commands/uninstall.ts +2 -2
- package/src/cli-commands/update.ts +2 -2
- package/src/index.ts +0 -2
- package/dist/esm/cli-helper.d.ts +0 -2
- package/dist/esm/cli-helper.js +0 -25
- package/dist/esm/cli-helper.js.map +0 -1
- package/dist/esm/npm-helper.d.ts +0 -7
- package/dist/esm/npm-helper.js +0 -23
- package/dist/esm/npm-helper.js.map +0 -1
- package/dist/esm/yarn-helper.d.ts +0 -8
- package/dist/esm/yarn-helper.js +0 -29
- package/dist/esm/yarn-helper.js.map +0 -1
- package/src/cli-helper.ts +0 -31
- package/src/npm-helper.ts +0 -32
- package/src/yarn-helper.ts +0 -40
package/package.json
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
"pm": "dist/esm/cli.js",
|
5
5
|
"pm-fork": "dist/esm/fork.js"
|
6
6
|
},
|
7
|
-
"version": "
|
7
|
+
"version": "13.0.0",
|
8
8
|
"scripts": {
|
9
9
|
"test": "echo 1",
|
10
10
|
"generate": "ac generate dist/esm/commands commands.json --name pm && ac generate dist/esm/cli-commands cli-commands.json --name pm",
|
@@ -29,11 +29,11 @@
|
|
29
29
|
"src/fork.ts"
|
30
30
|
],
|
31
31
|
"dependencies": {
|
32
|
-
"@akala/cli": "^3.0
|
33
|
-
"@akala/commands": "^11.
|
34
|
-
"@akala/config": "^5.0.
|
35
|
-
"@akala/core": "^
|
36
|
-
"@akala/json-rpc-ws": "^11.0.
|
32
|
+
"@akala/cli": "^3.1.0",
|
33
|
+
"@akala/commands": "^11.2.0",
|
34
|
+
"@akala/config": "^5.0.38",
|
35
|
+
"@akala/core": "^22.0.0",
|
36
|
+
"@akala/json-rpc-ws": "^11.0.19",
|
37
37
|
"reflect-metadata": "^0.2.2",
|
38
38
|
"source-map-support": "^0.5.21"
|
39
39
|
},
|
package/src/akala.mts
CHANGED
@@ -4,7 +4,7 @@ import { platform, homedir } from 'os';
|
|
4
4
|
import start from './commands/start.js'
|
5
5
|
import { Readable } from 'stream';
|
6
6
|
|
7
|
-
import { spawnAsync } from '
|
7
|
+
import { spawnAsync } from '@akala/cli/cli-helper';
|
8
8
|
import State, { StateConfiguration } from './state.js';
|
9
9
|
import { CliContext, ErrorMessage, InteractError, NamespaceMiddleware, unparse } from '@akala/cli';
|
10
10
|
import { eachAsync, logger, ObservableObject, Parser } from '@akala/core';
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import State from '../state.js';
|
2
|
-
import npmHelper from '
|
3
|
-
import yarnHelper, { hasYarn } from '
|
2
|
+
import npmHelper from '@akala/cli/npm-helper';
|
3
|
+
import yarnHelper, { hasYarn } from '@akala/cli/yarn-helper';
|
4
4
|
import { Container } from "@akala/commands";
|
5
5
|
import discover from './discover.js';
|
6
6
|
|
package/src/cli-commands/link.ts
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
import State from '../state.js';
|
2
|
-
import npmHelper from '
|
2
|
+
import npmHelper from '@akala/cli/npm-helper';
|
3
3
|
import { Container } from "@akala/commands";
|
4
|
-
import yarnHelper, { hasYarn } from '
|
4
|
+
import yarnHelper, { hasYarn } from '@akala/cli/yarn-helper';
|
5
5
|
import discover from './discover.js';
|
6
6
|
|
7
7
|
export default async function link(this: State, packageName: string, folder: string, pm: Container<State>): ReturnType<typeof discover>
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import State from '../state.js';
|
2
|
-
import npmHelper from '
|
3
|
-
import yarnHelper, { hasYarn } from '
|
2
|
+
import npmHelper from '@akala/cli/npm-helper';
|
3
|
+
import yarnHelper, { hasYarn } from '@akala/cli/yarn-helper';
|
4
4
|
import { Container } from "@akala/commands";
|
5
5
|
|
6
6
|
export default async function uninstall(this: State, packageName: string, pm: Container<State>): Promise<void>
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import State from '../state.js';
|
2
|
-
import npmHelper from '
|
2
|
+
import npmHelper from '@akala/cli/npm-helper';
|
3
3
|
import { Container } from "@akala/commands";
|
4
|
-
import yarnHelper, { hasYarn } from '
|
4
|
+
import yarnHelper, { hasYarn } from '@akala/cli/yarn-helper';
|
5
5
|
|
6
6
|
export default async function update(this: State, packageName: string, folder: string, pm: Container<State>): Promise<string>
|
7
7
|
{
|
package/src/index.ts
CHANGED
@@ -1,8 +1,6 @@
|
|
1
1
|
import { Container, Metadata, ServeMetadata, ConnectionPreference } from "@akala/commands";
|
2
2
|
import { module } from "@akala/core";
|
3
3
|
|
4
|
-
export { spawnAsync } from './cli-helper.js'
|
5
|
-
|
6
4
|
import definition from './container.js';
|
7
5
|
|
8
6
|
type pmContainer = definition.container
|
package/dist/esm/cli-helper.d.ts
DELETED
package/dist/esm/cli-helper.js
DELETED
@@ -1,25 +0,0 @@
|
|
1
|
-
import * as child_process from 'child_process';
|
2
|
-
export function spawnAsync(program, options, ...args) {
|
3
|
-
options = Object.assign({ stdio: ['ignore', 'ignore', 'pipe'], shell: false, windowsHide: true }, options);
|
4
|
-
if (typeof options.stdio == 'string')
|
5
|
-
options.stdio = [options.stdio, options.stdio, options.stdio];
|
6
|
-
const stderrInherit = options.stdio[2] == 'inherit';
|
7
|
-
if (stderrInherit)
|
8
|
-
options.stdio = [options.stdio[0], options.stdio[1], 'pipe', ...options.stdio.slice(3)];
|
9
|
-
return new Promise((resolve, reject) => {
|
10
|
-
let err = '';
|
11
|
-
const cp = child_process
|
12
|
-
.spawn(program, args, options)
|
13
|
-
.on('error', reject).on('exit', (code) => {
|
14
|
-
if (code == 0)
|
15
|
-
resolve();
|
16
|
-
reject(new Error(program + ' exited with error code ' + code + '\n' + err));
|
17
|
-
});
|
18
|
-
cp.stderr.on('data', (chunk) => {
|
19
|
-
err += chunk;
|
20
|
-
});
|
21
|
-
if (stderrInherit)
|
22
|
-
cp.stderr.pipe(process.stderr);
|
23
|
-
});
|
24
|
-
}
|
25
|
-
//# sourceMappingURL=cli-helper.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"cli-helper.js","sourceRoot":"","sources":["../../src/cli-helper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,aAAa,MAAM,eAAe,CAAA;AAE9C,MAAM,UAAU,UAAU,CAAC,OAAe,EAAE,OAAmC,EAAE,GAAG,IAAc;IAE9F,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;IAC3G,IAAI,OAAO,OAAO,CAAC,KAAK,IAAI,QAAQ;QAChC,OAAO,CAAC,KAAK,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAA;IACjE,MAAM,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC;IACpD,IAAI,aAAa;QACb,OAAO,CAAC,KAAK,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAA+B,CAAC;IAE1H,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAEzC,IAAI,GAAG,GAAG,EAAE,CAAA;QACZ,MAAM,EAAE,GAAG,aAAa;aACnB,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC;aAC7B,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YAErC,IAAI,IAAI,IAAI,CAAC;gBACT,OAAO,EAAE,CAAA;YACb,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,GAAG,0BAA0B,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,CAAC,CAAC,CAAA;QAC/E,CAAC,CAAC,CAAC;QACP,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;YAE3B,GAAG,IAAI,KAAK,CAAC;QACjB,CAAC,CAAC,CAAC;QAEH,IAAI,aAAa;YACb,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACvC,CAAC,CAAC,CAAA;AACN,CAAC"}
|
package/dist/esm/npm-helper.d.ts
DELETED
@@ -1,7 +0,0 @@
|
|
1
|
-
declare const _default: {
|
2
|
-
install(packageName: string, path?: string): Promise<void>;
|
3
|
-
uninstall(packageName: string, path?: string): Promise<void>;
|
4
|
-
update(packageName: string, path?: string): Promise<void>;
|
5
|
-
link(packageName: string, path?: string): Promise<void>;
|
6
|
-
};
|
7
|
-
export default _default;
|
package/dist/esm/npm-helper.js
DELETED
@@ -1,23 +0,0 @@
|
|
1
|
-
import { platform } from "os";
|
2
|
-
import { spawnAsync } from './cli-helper.js';
|
3
|
-
// if (typeof (process.versions.pnp) != 'undefined')
|
4
|
-
// {
|
5
|
-
// }
|
6
|
-
let npm = 'npm';
|
7
|
-
if (platform() == 'win32')
|
8
|
-
npm = 'npm.cmd';
|
9
|
-
export default {
|
10
|
-
async install(packageName, path) {
|
11
|
-
await spawnAsync(npm, { env: { NODE_ENV: 'production' } }, 'i', packageName, '--prefix', path || process.cwd());
|
12
|
-
},
|
13
|
-
async uninstall(packageName, path) {
|
14
|
-
await spawnAsync(npm, {}, 'uninstall', packageName, '--prefix', path || process.cwd(), '--production');
|
15
|
-
},
|
16
|
-
async update(packageName, path) {
|
17
|
-
await spawnAsync(npm, { env: { NODE_ENV: 'production' } }, 'up', packageName, '--prefix', path || process.cwd(), '--production');
|
18
|
-
},
|
19
|
-
async link(packageName, path) {
|
20
|
-
await spawnAsync(npm, { env: { NODE_ENV: 'production' }, cwd: path || process.cwd() }, 'link', packageName);
|
21
|
-
}
|
22
|
-
};
|
23
|
-
//# sourceMappingURL=npm-helper.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"npm-helper.js","sourceRoot":"","sources":["../../src/npm-helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AAC9B,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAG7C,oDAAoD;AACpD,IAAI;AAEJ,IAAI;AAEJ,IAAI,GAAG,GAAG,KAAK,CAAC;AAChB,IAAI,QAAQ,EAAE,IAAI,OAAO;IACrB,GAAG,GAAG,SAAS,CAAC;AAEpB,eACI;IACI,KAAK,CAAC,OAAO,CAAC,WAAmB,EAAE,IAAa;QAE5C,MAAM,UAAU,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,UAAU,EAAE,IAAI,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACpH,CAAC;IACD,KAAK,CAAC,SAAS,CAAC,WAAmB,EAAE,IAAa;QAE9C,MAAM,UAAU,CAAC,GAAG,EAAE,EAAE,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,IAAI,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,CAAC,CAAC;IAC3G,CAAC;IACD,KAAK,CAAC,MAAM,CAAC,WAAmB,EAAE,IAAa;QAE3C,MAAM,UAAU,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,IAAI,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,CAAC,CAAC;IACrI,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,WAAmB,EAAE,IAAa;QAEzC,MAAM,UAAU,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,GAAG,EAAE,IAAI,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,CAAA;IAC/G,CAAC;CACJ,CAAA"}
|
@@ -1,8 +0,0 @@
|
|
1
|
-
export declare function hasYarn(path?: string): Promise<boolean>;
|
2
|
-
declare const _default: {
|
3
|
-
install(packageName: string, path?: string): Promise<void>;
|
4
|
-
uninstall(packageName: string, path?: string): Promise<void>;
|
5
|
-
update(packageName: string, path?: string): Promise<void>;
|
6
|
-
link(packageName: string, path?: string): Promise<void>;
|
7
|
-
};
|
8
|
-
export default _default;
|
package/dist/esm/yarn-helper.js
DELETED
@@ -1,29 +0,0 @@
|
|
1
|
-
import { platform } from "os";
|
2
|
-
import { stat } from 'fs';
|
3
|
-
import { promisify } from 'util';
|
4
|
-
import { spawnAsync } from './cli-helper.js';
|
5
|
-
import { join } from 'path';
|
6
|
-
// if (typeof (process.versions.pnp) != 'undefined')
|
7
|
-
// {
|
8
|
-
// }
|
9
|
-
export function hasYarn(path) {
|
10
|
-
return promisify(stat)(join(path || process.cwd(), './yarn.lock')).then(f => f.isFile());
|
11
|
-
}
|
12
|
-
let npm = 'yarn';
|
13
|
-
if (platform() == 'win32')
|
14
|
-
npm = 'yarn.cmd';
|
15
|
-
export default {
|
16
|
-
async install(packageName, path) {
|
17
|
-
await spawnAsync(npm, { cwd: path }, 'add', packageName);
|
18
|
-
},
|
19
|
-
async uninstall(packageName, path) {
|
20
|
-
await spawnAsync(npm, { cwd: path }, 'remove', packageName);
|
21
|
-
},
|
22
|
-
async update(packageName, path) {
|
23
|
-
await spawnAsync(npm, { cwd: path }, 'upgrade', packageName);
|
24
|
-
},
|
25
|
-
async link(packageName, path) {
|
26
|
-
await spawnAsync(npm, { cwd: path }, 'link', packageName);
|
27
|
-
}
|
28
|
-
};
|
29
|
-
//# sourceMappingURL=yarn-helper.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"yarn-helper.js","sourceRoot":"","sources":["../../src/yarn-helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AAC9B,OAAO,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAG5B,oDAAoD;AACpD,IAAI;AAEJ,IAAI;AAEJ,MAAM,UAAU,OAAO,CAAC,IAAa;IAEjC,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAA;AAC5F,CAAC;AAED,IAAI,GAAG,GAAG,MAAM,CAAC;AACjB,IAAI,QAAQ,EAAE,IAAI,OAAO;IACrB,GAAG,GAAG,UAAU,CAAC;AAErB,eACI;IACI,KAAK,CAAC,OAAO,CAAC,WAAmB,EAAE,IAAa;QAE5C,MAAM,UAAU,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,WAAW,CAAC,CAAA;IAC5D,CAAC;IACD,KAAK,CAAC,SAAS,CAAC,WAAmB,EAAE,IAAa;QAE9C,MAAM,UAAU,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAA;IAC/D,CAAC;IACD,KAAK,CAAC,MAAM,CAAC,WAAmB,EAAE,IAAa;QAE3C,MAAM,UAAU,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,WAAW,CAAC,CAAA;IAChE,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,WAAmB,EAAE,IAAa;QAEzC,MAAM,UAAU,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,CAAA;IAC7D,CAAC;CACJ,CAAA"}
|
package/src/cli-helper.ts
DELETED
@@ -1,31 +0,0 @@
|
|
1
|
-
import * as child_process from 'child_process'
|
2
|
-
|
3
|
-
export function spawnAsync(program: string, options: child_process.SpawnOptions, ...args: string[]): Promise<void>
|
4
|
-
{
|
5
|
-
options = Object.assign({ stdio: ['ignore', 'ignore', 'pipe'], shell: false, windowsHide: true }, options);
|
6
|
-
if (typeof options.stdio == 'string')
|
7
|
-
options.stdio = [options.stdio, options.stdio, options.stdio]
|
8
|
-
const stderrInherit = options.stdio[2] == 'inherit';
|
9
|
-
if (stderrInherit)
|
10
|
-
options.stdio = [options.stdio[0], options.stdio[1], 'pipe', ...options.stdio.slice(3)] as child_process.StdioOptions;
|
11
|
-
|
12
|
-
return new Promise<void>((resolve, reject) =>
|
13
|
-
{
|
14
|
-
let err = ''
|
15
|
-
const cp = child_process
|
16
|
-
.spawn(program, args, options)
|
17
|
-
.on('error', reject).on('exit', (code) =>
|
18
|
-
{
|
19
|
-
if (code == 0)
|
20
|
-
resolve()
|
21
|
-
reject(new Error(program + ' exited with error code ' + code + '\n' + err))
|
22
|
-
});
|
23
|
-
cp.stderr.on('data', (chunk) =>
|
24
|
-
{
|
25
|
-
err += chunk;
|
26
|
-
});
|
27
|
-
|
28
|
-
if (stderrInherit)
|
29
|
-
cp.stderr.pipe(process.stderr);
|
30
|
-
})
|
31
|
-
}
|
package/src/npm-helper.ts
DELETED
@@ -1,32 +0,0 @@
|
|
1
|
-
import { platform } from "os";
|
2
|
-
import { spawnAsync } from './cli-helper.js';
|
3
|
-
|
4
|
-
|
5
|
-
// if (typeof (process.versions.pnp) != 'undefined')
|
6
|
-
// {
|
7
|
-
|
8
|
-
// }
|
9
|
-
|
10
|
-
let npm = 'npm';
|
11
|
-
if (platform() == 'win32')
|
12
|
-
npm = 'npm.cmd';
|
13
|
-
|
14
|
-
export default
|
15
|
-
{
|
16
|
-
async install(packageName: string, path?: string): Promise<void>
|
17
|
-
{
|
18
|
-
await spawnAsync(npm, { env: { NODE_ENV: 'production' } }, 'i', packageName, '--prefix', path || process.cwd());
|
19
|
-
},
|
20
|
-
async uninstall(packageName: string, path?: string): Promise<void>
|
21
|
-
{
|
22
|
-
await spawnAsync(npm, {}, 'uninstall', packageName, '--prefix', path || process.cwd(), '--production');
|
23
|
-
},
|
24
|
-
async update(packageName: string, path?: string): Promise<void>
|
25
|
-
{
|
26
|
-
await spawnAsync(npm, { env: { NODE_ENV: 'production' } }, 'up', packageName, '--prefix', path || process.cwd(), '--production');
|
27
|
-
},
|
28
|
-
async link(packageName: string, path?: string): Promise<void>
|
29
|
-
{
|
30
|
-
await spawnAsync(npm, { env: { NODE_ENV: 'production' }, cwd: path || process.cwd() }, 'link', packageName)
|
31
|
-
}
|
32
|
-
}
|
package/src/yarn-helper.ts
DELETED
@@ -1,40 +0,0 @@
|
|
1
|
-
import { platform } from "os";
|
2
|
-
import { stat } from 'fs';
|
3
|
-
import { promisify } from 'util';
|
4
|
-
import { spawnAsync } from './cli-helper.js';
|
5
|
-
import { join } from 'path';
|
6
|
-
|
7
|
-
|
8
|
-
// if (typeof (process.versions.pnp) != 'undefined')
|
9
|
-
// {
|
10
|
-
|
11
|
-
// }
|
12
|
-
|
13
|
-
export function hasYarn(path?: string): Promise<boolean>
|
14
|
-
{
|
15
|
-
return promisify(stat)(join(path || process.cwd(), './yarn.lock')).then(f => f.isFile())
|
16
|
-
}
|
17
|
-
|
18
|
-
let npm = 'yarn';
|
19
|
-
if (platform() == 'win32')
|
20
|
-
npm = 'yarn.cmd';
|
21
|
-
|
22
|
-
export default
|
23
|
-
{
|
24
|
-
async install(packageName: string, path?: string): Promise<void>
|
25
|
-
{
|
26
|
-
await spawnAsync(npm, { cwd: path }, 'add', packageName)
|
27
|
-
},
|
28
|
-
async uninstall(packageName: string, path?: string): Promise<void>
|
29
|
-
{
|
30
|
-
await spawnAsync(npm, { cwd: path }, 'remove', packageName)
|
31
|
-
},
|
32
|
-
async update(packageName: string, path?: string): Promise<void>
|
33
|
-
{
|
34
|
-
await spawnAsync(npm, { cwd: path }, 'upgrade', packageName)
|
35
|
-
},
|
36
|
-
async link(packageName: string, path?: string): Promise<void>
|
37
|
-
{
|
38
|
-
await spawnAsync(npm, { cwd: path }, 'link', packageName)
|
39
|
-
}
|
40
|
-
}
|