@rsdk/cli.core 4.8.1-next.1 → 4.9.0-next.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 +10 -0
- package/TODO.MD +1 -0
- package/dist/cli.d.ts +1 -5
- package/dist/cli.js +19 -57
- package/dist/cli.js.map +1 -1
- package/package.json +8 -16
- package/src/cli.ts +22 -62
- package/dist/exception.d.ts +0 -4
- package/dist/exception.js +0 -22
- package/dist/exception.js.map +0 -1
- package/dist/package.loader.d.ts +0 -6
- package/dist/package.loader.js +0 -28
- package/dist/package.loader.js.map +0 -1
- package/src/exception.ts +0 -20
- package/src/package.loader.ts +0 -36
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,16 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [4.9.0-next.0](https://github.com/R-Vision/rsdk/compare/v4.8.1-next.2...v4.9.0-next.0) (2024-05-27)
|
|
7
|
+
|
|
8
|
+
### Features
|
|
9
|
+
|
|
10
|
+
* remove parcel from @rsdk/cli.core ([#239](https://github.com/R-Vision/rsdk/issues/239)) ([4fb0c8b](https://github.com/R-Vision/rsdk/commit/4fb0c8b7aec0ed19f4ca16362b1e5aa713852f62))
|
|
11
|
+
|
|
12
|
+
## [4.8.1-next.2](https://github.com/R-Vision/rsdk/compare/v4.8.1-next.1...v4.8.1-next.2) (2024-05-02)
|
|
13
|
+
|
|
14
|
+
**Note:** Version bump only for package @rsdk/cli.core
|
|
15
|
+
|
|
6
16
|
## [4.8.1-next.1](https://github.com/R-Vision/rsdk/compare/v4.8.1-next.0...v4.8.1-next.1) (2024-04-24)
|
|
7
17
|
|
|
8
18
|
**Note:** Version bump only for package @rsdk/cli.core
|
package/TODO.MD
CHANGED
|
@@ -3,3 +3,4 @@
|
|
|
3
3
|
[ ] list all installed commands
|
|
4
4
|
[ ] list all available commands (maybe over npm view + default commands from rsdk packages)
|
|
5
5
|
[ ] installing cmd.* packages different version, not only the same as `@rsdk/cli` package
|
|
6
|
+
[ ] decide whether we need a prompt to install the package and if so, how
|
package/dist/cli.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import type { ResolveResult } from '@parcel/package-manager/lib/types';
|
|
2
1
|
import type { RsdkCliCommand } from '@rsdk/cli.common';
|
|
3
2
|
export declare class Cli {
|
|
4
3
|
readonly opts?: {
|
|
@@ -17,9 +16,6 @@ export declare class Cli {
|
|
|
17
16
|
discoverPlugins?: boolean;
|
|
18
17
|
cliPackageName: string;
|
|
19
18
|
} | undefined);
|
|
20
|
-
|
|
21
|
-
private readonly pm;
|
|
22
|
-
resolveCmdPackage(cmdPackage: string): Promise<ResolveResult>;
|
|
23
|
-
getRsdkCommand(cmd: string): Promise<RsdkCliCommand | undefined>;
|
|
19
|
+
private getCmdPackageName;
|
|
24
20
|
handle(argv: string[]): Promise<void>;
|
|
25
21
|
}
|
package/dist/cli.js
CHANGED
|
@@ -1,65 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
3
|
exports.Cli = void 0;
|
|
7
|
-
const fs_1 = require("@parcel/fs");
|
|
8
|
-
const package_manager_1 = require("@parcel/package-manager");
|
|
9
|
-
const app_root_path_1 = __importDefault(require("app-root-path"));
|
|
10
4
|
const commander_1 = require("commander");
|
|
11
|
-
const enquirer_1 = require("enquirer");
|
|
12
|
-
const exception_1 = require("./exception");
|
|
13
|
-
const package_loader_1 = require("./package.loader");
|
|
14
5
|
class Cli {
|
|
15
6
|
opts;
|
|
16
7
|
constructor(opts) {
|
|
17
8
|
this.opts = opts;
|
|
18
9
|
}
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
}
|
|
22
|
-
pm = new package_manager_1.NodePackageManager(new fs_1.NodeFS(), app_root_path_1.default.path);
|
|
23
|
-
async resolveCmdPackage(cmdPackage) {
|
|
24
|
-
return await this.pm.resolve(cmdPackage, app_root_path_1.default.path, null);
|
|
25
|
-
}
|
|
26
|
-
async getRsdkCommand(cmd) {
|
|
27
|
-
const cmdPackage = [this.opts?.cliPackageName, 'cmd', cmd].join('.');
|
|
28
|
-
try {
|
|
29
|
-
const resolvedPackage = await this.resolveCmdPackage(cmdPackage);
|
|
30
|
-
return package_loader_1.PackageLoader.getEntry(resolvedPackage.resolved);
|
|
31
|
-
}
|
|
32
|
-
catch (error) {
|
|
33
|
-
if (!(error instanceof Error)) {
|
|
34
|
-
throw error;
|
|
35
|
-
}
|
|
36
|
-
if (this.opts?.discoverPlugins === false) {
|
|
37
|
-
throw error;
|
|
38
|
-
}
|
|
39
|
-
console.log('Error on resolve package:', error);
|
|
40
|
-
const response = await (0, enquirer_1.prompt)({
|
|
41
|
-
type: 'confirm',
|
|
42
|
-
name: 'isInstall',
|
|
43
|
-
message: 'Install ' + cmdPackage + ' package?',
|
|
44
|
-
initial: true,
|
|
45
|
-
});
|
|
46
|
-
if (!response.isInstall) {
|
|
47
|
-
console.log('Install was aborted');
|
|
48
|
-
return;
|
|
49
|
-
}
|
|
50
|
-
try {
|
|
51
|
-
await this.installCmdPackage(cmdPackage);
|
|
52
|
-
}
|
|
53
|
-
catch (error) {
|
|
54
|
-
if (!(error instanceof Error)) {
|
|
55
|
-
throw error;
|
|
56
|
-
}
|
|
57
|
-
exception_1.FailedToInstall.assertError(error, cmdPackage);
|
|
58
|
-
throw error;
|
|
59
|
-
}
|
|
60
|
-
const resolvedPackage = await this.resolveCmdPackage(cmdPackage);
|
|
61
|
-
return package_loader_1.PackageLoader.getEntry(resolvedPackage.resolved);
|
|
62
|
-
}
|
|
10
|
+
getCmdPackageName(cmd) {
|
|
11
|
+
return [this.opts?.cliPackageName, 'cmd', cmd].join('.');
|
|
63
12
|
}
|
|
64
13
|
async handle(argv) {
|
|
65
14
|
const rsdkCommand = argv.slice(2)[0];
|
|
@@ -68,11 +17,24 @@ class Cli {
|
|
|
68
17
|
return;
|
|
69
18
|
}
|
|
70
19
|
const cmd = rsdkCommand.split(':')[0];
|
|
71
|
-
const
|
|
72
|
-
|
|
73
|
-
|
|
20
|
+
const rsdkCliCommandName = this.getCmdPackageName(cmd);
|
|
21
|
+
let rsdkCliCommand;
|
|
22
|
+
try {
|
|
23
|
+
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
24
|
+
rsdkCliCommand = require(rsdkCliCommandName);
|
|
25
|
+
}
|
|
26
|
+
catch (error) {
|
|
27
|
+
throw new Error('Error on require module, try install it `yarn add -D ' +
|
|
28
|
+
rsdkCliCommandName, {
|
|
29
|
+
cause: error,
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
if (!('Cmd' in rsdkCliCommand)) {
|
|
33
|
+
throw new Error('Invalid cli cmd package', {
|
|
34
|
+
cause: { rsdkCliCommand, rsdkCliCommandName },
|
|
35
|
+
});
|
|
74
36
|
}
|
|
75
|
-
const cmds = rsdkCliCommand.getCommands();
|
|
37
|
+
const cmds = rsdkCliCommand.Cmd.getCommands();
|
|
76
38
|
for (const cmd of cmds) {
|
|
77
39
|
commander_1.program.addCommand(cmd);
|
|
78
40
|
}
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;AACA,yCAAoC;AAEpC,MAAa,GAAG;IAEH;IADX,YACW,IAIR;QAJQ,SAAI,GAAJ,IAAI,CAIZ;IACA,CAAC;IAEI,iBAAiB,CAAC,GAAW;QACnC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAc;QACzB,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAErC,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAChD,mBAAO,CAAC,KAAK,EAAE,CAAC;YAChB,OAAO;QACT,CAAC;QACD,MAAM,GAAG,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAEtC,MAAM,kBAAkB,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;QACvD,IAAI,cAAc,CAAC;QAEnB,IAAI,CAAC;YACH,8DAA8D;YAC9D,cAAc,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;QAC/C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CACb,uDAAuD;gBACrD,kBAAkB,EACpB;gBACE,KAAK,EAAE,KAAK;aACb,CACF,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,CAAC,KAAK,IAAI,cAAc,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,yBAAyB,EAAE;gBACzC,KAAK,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;aAC9C,CAAC,CAAC;QACL,CAAC;QACD,MAAM,IAAI,GAAG,cAAc,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;QAE9C,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,mBAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;QAED,mBAAO,CAAC,KAAK,EAAE,CAAC;IAClB,CAAC;CACF;AAlDD,kBAkDC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rsdk/cli.core",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.9.0-next.0",
|
|
4
4
|
"description": "entry package to cli functions",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"publishConfig": {
|
|
@@ -12,22 +12,14 @@
|
|
|
12
12
|
],
|
|
13
13
|
"license": "Apache License 2.0",
|
|
14
14
|
"dependencies": {
|
|
15
|
-
"@
|
|
16
|
-
"@
|
|
17
|
-
"
|
|
18
|
-
"@sinclair/typebox": "^0.32.13",
|
|
19
|
-
"app-root-path": "^3.1.0",
|
|
20
|
-
"commander": "^12.0.0",
|
|
21
|
-
"dotenv": "^16.3.1",
|
|
22
|
-
"enquirer": "^2.4.1",
|
|
23
|
-
"kafkajs": "^2.2.4",
|
|
24
|
-
"listr2": "^6.6.1",
|
|
25
|
-
"yaml": "^2.3.1"
|
|
15
|
+
"@rsdk/cli.common": "^4.9.0-next.0",
|
|
16
|
+
"@rsdk/logging": "^4.9.0-next.0",
|
|
17
|
+
"commander": "^12.0.0"
|
|
26
18
|
},
|
|
27
19
|
"peerDependencies": {
|
|
28
|
-
"@rsdk/cli.
|
|
29
|
-
"@rsdk/
|
|
30
|
-
"
|
|
20
|
+
"@rsdk/cli.common": "^4.9.0-next.0",
|
|
21
|
+
"@rsdk/logging": "^4.9.0-next.0",
|
|
22
|
+
"commander": "^12.0.0"
|
|
31
23
|
},
|
|
32
|
-
"gitHead": "
|
|
24
|
+
"gitHead": "4ddd73593f6bb4812b4a63b37f3e865ab58f120d"
|
|
33
25
|
}
|
package/src/cli.ts
CHANGED
|
@@ -1,13 +1,5 @@
|
|
|
1
|
-
import { NodeFS } from '@parcel/fs';
|
|
2
|
-
import { NodePackageManager } from '@parcel/package-manager';
|
|
3
|
-
import type { ResolveResult } from '@parcel/package-manager/lib/types';
|
|
4
1
|
import type { RsdkCliCommand } from '@rsdk/cli.common';
|
|
5
|
-
import appRootPath from 'app-root-path';
|
|
6
2
|
import { program } from 'commander';
|
|
7
|
-
import { prompt } from 'enquirer';
|
|
8
|
-
|
|
9
|
-
import { FailedToInstall } from './exception';
|
|
10
|
-
import { PackageLoader } from './package.loader';
|
|
11
3
|
|
|
12
4
|
export class Cli {
|
|
13
5
|
constructor(
|
|
@@ -18,56 +10,8 @@ export class Cli {
|
|
|
18
10
|
},
|
|
19
11
|
) {}
|
|
20
12
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
private readonly pm = new NodePackageManager(new NodeFS(), appRootPath.path);
|
|
26
|
-
|
|
27
|
-
async resolveCmdPackage(cmdPackage: string): Promise<ResolveResult> {
|
|
28
|
-
return await this.pm.resolve(cmdPackage, appRootPath.path, null);
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
async getRsdkCommand(cmd: string): Promise<RsdkCliCommand | undefined> {
|
|
32
|
-
const cmdPackage = [this.opts?.cliPackageName, 'cmd', cmd].join('.');
|
|
33
|
-
|
|
34
|
-
try {
|
|
35
|
-
const resolvedPackage = await this.resolveCmdPackage(cmdPackage);
|
|
36
|
-
|
|
37
|
-
return PackageLoader.getEntry(resolvedPackage.resolved);
|
|
38
|
-
} catch (error) {
|
|
39
|
-
if (!(error instanceof Error)) {
|
|
40
|
-
throw error;
|
|
41
|
-
}
|
|
42
|
-
if (this.opts?.discoverPlugins === false) {
|
|
43
|
-
throw error;
|
|
44
|
-
}
|
|
45
|
-
console.log('Error on resolve package:', error);
|
|
46
|
-
const response = await prompt<{ isInstall: boolean }>({
|
|
47
|
-
type: 'confirm',
|
|
48
|
-
name: 'isInstall',
|
|
49
|
-
message: 'Install ' + cmdPackage + ' package?',
|
|
50
|
-
initial: true,
|
|
51
|
-
});
|
|
52
|
-
|
|
53
|
-
if (!response.isInstall) {
|
|
54
|
-
console.log('Install was aborted');
|
|
55
|
-
return;
|
|
56
|
-
}
|
|
57
|
-
try {
|
|
58
|
-
await this.installCmdPackage(cmdPackage);
|
|
59
|
-
} catch (error: any) {
|
|
60
|
-
if (!(error instanceof Error)) {
|
|
61
|
-
throw error;
|
|
62
|
-
}
|
|
63
|
-
FailedToInstall.assertError(error, cmdPackage);
|
|
64
|
-
throw error;
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
const resolvedPackage = await this.resolveCmdPackage(cmdPackage);
|
|
68
|
-
|
|
69
|
-
return PackageLoader.getEntry(resolvedPackage.resolved);
|
|
70
|
-
}
|
|
13
|
+
private getCmdPackageName(cmd: string): string {
|
|
14
|
+
return [this.opts?.cliPackageName, 'cmd', cmd].join('.');
|
|
71
15
|
}
|
|
72
16
|
|
|
73
17
|
async handle(argv: string[]): Promise<void> {
|
|
@@ -79,11 +23,27 @@ export class Cli {
|
|
|
79
23
|
}
|
|
80
24
|
const cmd = rsdkCommand.split(':')[0];
|
|
81
25
|
|
|
82
|
-
const
|
|
83
|
-
|
|
84
|
-
|
|
26
|
+
const rsdkCliCommandName = this.getCmdPackageName(cmd);
|
|
27
|
+
let rsdkCliCommand;
|
|
28
|
+
|
|
29
|
+
try {
|
|
30
|
+
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
31
|
+
rsdkCliCommand = require(rsdkCliCommandName);
|
|
32
|
+
} catch (error) {
|
|
33
|
+
throw new Error(
|
|
34
|
+
'Error on require module, try install it `yarn add -D ' +
|
|
35
|
+
rsdkCliCommandName,
|
|
36
|
+
{
|
|
37
|
+
cause: error,
|
|
38
|
+
},
|
|
39
|
+
);
|
|
40
|
+
}
|
|
41
|
+
if (!('Cmd' in rsdkCliCommand)) {
|
|
42
|
+
throw new Error('Invalid cli cmd package', {
|
|
43
|
+
cause: { rsdkCliCommand, rsdkCliCommandName },
|
|
44
|
+
});
|
|
85
45
|
}
|
|
86
|
-
const cmds = rsdkCliCommand.getCommands();
|
|
46
|
+
const cmds = rsdkCliCommand.Cmd.getCommands();
|
|
87
47
|
|
|
88
48
|
for (const cmd of cmds) {
|
|
89
49
|
program.addCommand(cmd);
|
package/dist/exception.d.ts
DELETED
package/dist/exception.js
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.FailedToInstall = void 0;
|
|
4
|
-
class FailedToInstall extends Error {
|
|
5
|
-
constructor(packageName, cause) {
|
|
6
|
-
super('Failed to install ' + packageName, {
|
|
7
|
-
cause: {
|
|
8
|
-
packageName,
|
|
9
|
-
cause,
|
|
10
|
-
},
|
|
11
|
-
});
|
|
12
|
-
this.name = this.constructor.name;
|
|
13
|
-
}
|
|
14
|
-
static assertError(error, packageName) {
|
|
15
|
-
const isFailedToInstall = error.message.startsWith('Failed to install');
|
|
16
|
-
if (isFailedToInstall) {
|
|
17
|
-
throw new FailedToInstall(packageName, error);
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
exports.FailedToInstall = FailedToInstall;
|
|
22
|
-
//# sourceMappingURL=exception.js.map
|
package/dist/exception.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"exception.js","sourceRoot":"","sources":["../src/exception.ts"],"names":[],"mappings":";;;AAAA,MAAa,eAAgB,SAAQ,KAAK;IACxC,YAAY,WAAmB,EAAE,KAAW;QAC1C,KAAK,CAAC,oBAAoB,GAAG,WAAW,EAAE;YACxC,KAAK,EAAE;gBACL,WAAW;gBACX,KAAK;aACN;SACF,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;IACpC,CAAC;IAED,MAAM,CAAC,WAAW,CAAC,KAAY,EAAE,WAAmB;QAClD,MAAM,iBAAiB,GAAI,KAAK,CAAC,OAAkB,CAAC,UAAU,CAC5D,mBAAmB,CACpB,CAAC;QACF,IAAI,iBAAiB,EAAE,CAAC;YACtB,MAAM,IAAI,eAAe,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;CACF;AAnBD,0CAmBC"}
|
package/dist/package.loader.d.ts
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import type { PackageManager } from '@parcel/package-manager';
|
|
2
|
-
import type { RsdkCliCommand } from '@rsdk/cli.common';
|
|
3
|
-
export declare class PackageLoader {
|
|
4
|
-
static getEntry(cmdPackageName: string): RsdkCliCommand;
|
|
5
|
-
static installPackage(packageManager: PackageManager, cmdPackage: string): Promise<void>;
|
|
6
|
-
}
|
package/dist/package.loader.js
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.PackageLoader = void 0;
|
|
4
|
-
const node_path_1 = require("node:path");
|
|
5
|
-
class PackageLoader {
|
|
6
|
-
static getEntry(cmdPackageName) {
|
|
7
|
-
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
8
|
-
return require(cmdPackageName).Cmd;
|
|
9
|
-
}
|
|
10
|
-
static async installPackage(packageManager, cmdPackage) {
|
|
11
|
-
const cliPackageJsonPath = require.resolve('../package.json', {
|
|
12
|
-
paths: [__dirname],
|
|
13
|
-
});
|
|
14
|
-
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
15
|
-
const cliPackageJson = require(cliPackageJsonPath);
|
|
16
|
-
// @ts-expect-error not declared method
|
|
17
|
-
await packageManager.install([
|
|
18
|
-
{
|
|
19
|
-
name: cmdPackage,
|
|
20
|
-
semVer: cliPackageJson.version,
|
|
21
|
-
},
|
|
22
|
-
], (0, node_path_1.resolve)(''), {
|
|
23
|
-
saveDev: true,
|
|
24
|
-
});
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
exports.PackageLoader = PackageLoader;
|
|
28
|
-
//# sourceMappingURL=package.loader.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"package.loader.js","sourceRoot":"","sources":["../src/package.loader.ts"],"names":[],"mappings":";;;AAEA,yCAAoC;AAEpC,MAAa,aAAa;IACxB,MAAM,CAAC,QAAQ,CAAC,cAAsB;QACpC,8DAA8D;QAC9D,OAAO,OAAO,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC;IACrC,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,cAAc,CACzB,cAA8B,EAC9B,UAAkB;QAElB,MAAM,kBAAkB,GAAW,OAAO,CAAC,OAAO,CAAC,iBAAiB,EAAE;YACpE,KAAK,EAAE,CAAC,SAAS,CAAC;SACnB,CAAC,CAAC;QAEH,8DAA8D;QAC9D,MAAM,cAAc,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;QAEnD,uCAAuC;QACvC,MAAM,cAAc,CAAC,OAAO,CAC1B;YACE;gBACE,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE,cAAc,CAAC,OAAO;aAC/B;SACF,EACD,IAAA,mBAAO,EAAC,EAAE,CAAC,EACX;YACE,OAAO,EAAE,IAAI;SACd,CACF,CAAC;IACJ,CAAC;CACF;AA/BD,sCA+BC"}
|
package/src/exception.ts
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
export class FailedToInstall extends Error {
|
|
2
|
-
constructor(packageName: string, cause?: any) {
|
|
3
|
-
super('Failed to install ' + packageName, {
|
|
4
|
-
cause: {
|
|
5
|
-
packageName,
|
|
6
|
-
cause,
|
|
7
|
-
},
|
|
8
|
-
});
|
|
9
|
-
this.name = this.constructor.name;
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
static assertError(error: Error, packageName: string): void {
|
|
13
|
-
const isFailedToInstall = (error.message as string).startsWith(
|
|
14
|
-
'Failed to install',
|
|
15
|
-
);
|
|
16
|
-
if (isFailedToInstall) {
|
|
17
|
-
throw new FailedToInstall(packageName, error);
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
}
|
package/src/package.loader.ts
DELETED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import type { PackageManager } from '@parcel/package-manager';
|
|
2
|
-
import type { RsdkCliCommand } from '@rsdk/cli.common';
|
|
3
|
-
import { resolve } from 'node:path';
|
|
4
|
-
|
|
5
|
-
export class PackageLoader {
|
|
6
|
-
static getEntry(cmdPackageName: string): RsdkCliCommand {
|
|
7
|
-
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
8
|
-
return require(cmdPackageName).Cmd;
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
static async installPackage(
|
|
12
|
-
packageManager: PackageManager,
|
|
13
|
-
cmdPackage: string,
|
|
14
|
-
): Promise<void> {
|
|
15
|
-
const cliPackageJsonPath: string = require.resolve('../package.json', {
|
|
16
|
-
paths: [__dirname],
|
|
17
|
-
});
|
|
18
|
-
|
|
19
|
-
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
20
|
-
const cliPackageJson = require(cliPackageJsonPath);
|
|
21
|
-
|
|
22
|
-
// @ts-expect-error not declared method
|
|
23
|
-
await packageManager.install(
|
|
24
|
-
[
|
|
25
|
-
{
|
|
26
|
-
name: cmdPackage,
|
|
27
|
-
semVer: cliPackageJson.version,
|
|
28
|
-
},
|
|
29
|
-
],
|
|
30
|
-
resolve(''),
|
|
31
|
-
{
|
|
32
|
-
saveDev: true,
|
|
33
|
-
},
|
|
34
|
-
);
|
|
35
|
-
}
|
|
36
|
-
}
|