simplemdg-dev-cli 2.0.4 → 2.4.5
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/README.md +62 -354
- package/USER_GUIDE.md +55 -376
- package/dist/commands/cds.command.js +69 -60
- package/dist/commands/cds.command.js.map +1 -1
- package/dist/commands/cf-db.command.d.ts +2 -0
- package/dist/commands/cf-db.command.js +606 -0
- package/dist/commands/cf-db.command.js.map +1 -0
- package/dist/commands/cf.command.js +291 -280
- package/dist/commands/cf.command.js.map +1 -1
- package/dist/commands/gitlab.command.d.ts +2 -0
- package/dist/commands/gitlab.command.js +351 -0
- package/dist/commands/gitlab.command.js.map +1 -0
- package/dist/commands/npmrc.command.js +50 -44
- package/dist/commands/npmrc.command.js.map +1 -1
- package/dist/core/cache.d.ts +1 -1
- package/dist/core/cache.js +58 -31
- package/dist/core/cache.js.map +1 -1
- package/dist/core/cds.js +32 -22
- package/dist/core/cds.js.map +1 -1
- package/dist/core/cf-env-parser.d.ts +1 -1
- package/dist/core/cf-env-parser.js +4 -1
- package/dist/core/cf-env-parser.js.map +1 -1
- package/dist/core/cf.d.ts +1 -1
- package/dist/core/cf.js +46 -31
- package/dist/core/cf.js.map +1 -1
- package/dist/core/db/db-btp.d.ts +48 -0
- package/dist/core/db/db-btp.js +162 -0
- package/dist/core/db/db-btp.js.map +1 -0
- package/dist/core/db/db-cache.d.ts +40 -0
- package/dist/core/db/db-cache.js +188 -0
- package/dist/core/db/db-cache.js.map +1 -0
- package/dist/core/db/db-connection.d.ts +22 -0
- package/dist/core/db/db-connection.js +73 -0
- package/dist/core/db/db-connection.js.map +1 -0
- package/dist/core/db/db-crypto.d.ts +3 -0
- package/dist/core/db/db-crypto.js +54 -0
- package/dist/core/db/db-crypto.js.map +1 -0
- package/dist/core/db/db-hana-adapter.d.ts +36 -0
- package/dist/core/db/db-hana-adapter.js +251 -0
- package/dist/core/db/db-hana-adapter.js.map +1 -0
- package/dist/core/db/db-metadata.d.ts +25 -0
- package/dist/core/db/db-metadata.js +150 -0
- package/dist/core/db/db-metadata.js.map +1 -0
- package/dist/core/db/db-postgres-adapter.d.ts +34 -0
- package/dist/core/db/db-postgres-adapter.js +259 -0
- package/dist/core/db/db-postgres-adapter.js.map +1 -0
- package/dist/core/db/db-query-files.d.ts +20 -0
- package/dist/core/db/db-query-files.js +106 -0
- package/dist/core/db/db-query-files.js.map +1 -0
- package/dist/core/db/db-query-history.d.ts +5 -0
- package/dist/core/db/db-query-history.js +49 -0
- package/dist/core/db/db-query-history.js.map +1 -0
- package/dist/core/db/db-row.d.ts +28 -0
- package/dist/core/db/db-row.js +123 -0
- package/dist/core/db/db-row.js.map +1 -0
- package/dist/core/db/db-studio-client.d.ts +1 -0
- package/dist/core/db/db-studio-client.js +401 -0
- package/dist/core/db/db-studio-client.js.map +1 -0
- package/dist/core/db/db-studio-html.d.ts +4 -0
- package/dist/core/db/db-studio-html.js +83 -0
- package/dist/core/db/db-studio-html.js.map +1 -0
- package/dist/core/db/db-studio-server.d.ts +11 -0
- package/dist/core/db/db-studio-server.js +528 -0
- package/dist/core/db/db-studio-server.js.map +1 -0
- package/dist/core/db/db-studio-styles.d.ts +1 -0
- package/dist/core/db/db-studio-styles.js +225 -0
- package/dist/core/db/db-studio-styles.js.map +1 -0
- package/dist/core/db/db-types.d.ts +214 -0
- package/dist/core/db/db-types.js +3 -0
- package/dist/core/db/db-types.js.map +1 -0
- package/dist/core/db/db-vcap-parser.d.ts +7 -0
- package/dist/core/db/db-vcap-parser.js +137 -0
- package/dist/core/db/db-vcap-parser.js.map +1 -0
- package/dist/core/doctor.d.ts +1 -1
- package/dist/core/doctor.js +14 -8
- package/dist/core/doctor.js.map +1 -1
- package/dist/core/guide.js +31 -26
- package/dist/core/guide.js.map +1 -1
- package/dist/core/install.d.ts +1 -1
- package/dist/core/install.js +17 -11
- package/dist/core/install.js.map +1 -1
- package/dist/core/navigator.d.ts +17 -0
- package/dist/core/navigator.js +140 -0
- package/dist/core/navigator.js.map +1 -0
- package/dist/core/npmrc.js +29 -16
- package/dist/core/npmrc.js.map +1 -1
- package/dist/core/process.js +11 -6
- package/dist/core/process.js.map +1 -1
- package/dist/core/prompts.js +16 -8
- package/dist/core/prompts.js.map +1 -1
- package/dist/core/repository.d.ts +1 -1
- package/dist/core/repository.js +16 -9
- package/dist/core/repository.js.map +1 -1
- package/dist/core/scanner.d.ts +1 -1
- package/dist/core/scanner.js +13 -7
- package/dist/core/scanner.js.map +1 -1
- package/dist/core/tooling.d.ts +28 -0
- package/dist/core/tooling.js +168 -0
- package/dist/core/tooling.js.map +1 -0
- package/dist/core/types.js +2 -1
- package/dist/core/version-conflict.d.ts +2 -2
- package/dist/core/version-conflict.js +11 -6
- package/dist/core/version-conflict.js.map +1 -1
- package/dist/index.js +65 -48
- package/dist/index.js.map +1 -1
- package/dist/types-local.js +2 -1
- package/package.json +12 -6
- package/src/commands/cds.command.ts +529 -0
- package/src/commands/cf-db.command.ts +636 -0
- package/src/commands/cf.command.ts +3345 -0
- package/src/commands/gitlab.command.ts +373 -0
- package/src/commands/npmrc.command.ts +581 -0
- package/src/core/cache.ts +332 -0
- package/src/core/cds.ts +278 -0
- package/src/core/cf-env-parser.ts +131 -0
- package/src/core/cf.ts +271 -0
- package/src/core/db/db-btp.ts +207 -0
- package/src/core/db/db-cache.ts +242 -0
- package/src/core/db/db-connection.ts +79 -0
- package/src/core/db/db-crypto.ts +53 -0
- package/src/core/db/db-hana-adapter.ts +306 -0
- package/src/core/db/db-metadata.ts +174 -0
- package/src/core/db/db-postgres-adapter.ts +293 -0
- package/src/core/db/db-query-files.ts +130 -0
- package/src/core/db/db-query-history.ts +53 -0
- package/src/core/db/db-row.ts +157 -0
- package/src/core/db/db-studio-client.ts +397 -0
- package/src/core/db/db-studio-html.ts +85 -0
- package/src/core/db/db-studio-server.ts +626 -0
- package/src/core/db/db-studio-styles.ts +221 -0
- package/src/core/db/db-types.ts +243 -0
- package/src/core/db/db-vcap-parser.ts +182 -0
- package/src/core/doctor.ts +70 -0
- package/src/core/guide.ts +261 -0
- package/src/core/install.ts +91 -0
- package/src/core/navigator.ts +164 -0
- package/src/core/npmrc.ts +171 -0
- package/src/core/process.ts +75 -0
- package/src/core/prompts.ts +225 -0
- package/src/core/repository.ts +36 -0
- package/src/core/scanner.ts +41 -0
- package/src/core/tooling.ts +207 -0
- package/src/core/types.ts +152 -0
- package/src/core/version-conflict.ts +46 -0
- package/src/index.ts +460 -0
- package/src/types/external.d.ts +3 -0
- package/src/types-local.ts +11 -0
- package/tsconfig.json +17 -0
package/dist/core/prompts.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/core/prompts.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/core/prompts.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import type { TRepositoryInfo } from "./types
|
|
1
|
+
import type { TRepositoryInfo } from "./types";
|
|
2
2
|
export declare function findNearestRepository(startPath: string): Promise<TRepositoryInfo | undefined>;
|
|
3
3
|
export declare function resolveRepositoryPath(cwd: string): Promise<string>;
|
package/dist/core/repository.js
CHANGED
|
@@ -1,25 +1,32 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.findNearestRepository = findNearestRepository;
|
|
7
|
+
exports.resolveRepositoryPath = resolveRepositoryPath;
|
|
8
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
9
|
+
const fs_extra_1 = __importDefault(require("fs-extra"));
|
|
10
|
+
async function findNearestRepository(startPath) {
|
|
11
|
+
let currentPath = node_path_1.default.resolve(startPath);
|
|
5
12
|
while (true) {
|
|
6
|
-
if (await
|
|
13
|
+
if (await fs_extra_1.default.pathExists(node_path_1.default.join(currentPath, "package.json"))) {
|
|
7
14
|
return { repositoryPath: currentPath };
|
|
8
15
|
}
|
|
9
|
-
const parentPath =
|
|
16
|
+
const parentPath = node_path_1.default.dirname(currentPath);
|
|
10
17
|
if (parentPath === currentPath) {
|
|
11
18
|
return undefined;
|
|
12
19
|
}
|
|
13
20
|
currentPath = parentPath;
|
|
14
21
|
}
|
|
15
22
|
}
|
|
16
|
-
|
|
17
|
-
const absoluteCwd =
|
|
23
|
+
async function resolveRepositoryPath(cwd) {
|
|
24
|
+
const absoluteCwd = node_path_1.default.resolve(cwd);
|
|
18
25
|
const repository = await findNearestRepository(absoluteCwd);
|
|
19
26
|
if (repository?.repositoryPath) {
|
|
20
27
|
return repository.repositoryPath;
|
|
21
28
|
}
|
|
22
|
-
if (await
|
|
29
|
+
if (await fs_extra_1.default.pathExists(node_path_1.default.join(absoluteCwd, "package.json"))) {
|
|
23
30
|
return absoluteCwd;
|
|
24
31
|
}
|
|
25
32
|
throw new Error(`Cannot find repository from ${absoluteCwd}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repository.js","sourceRoot":"","sources":["../../src/core/repository.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"repository.js","sourceRoot":"","sources":["../../src/core/repository.ts"],"names":[],"mappings":";;;;;AAIA,sDAgBC;AAED,sDAaC;AAnCD,0DAA6B;AAC7B,wDAA0B;AAGnB,KAAK,UAAU,qBAAqB,CAAC,SAAiB;IAC3D,IAAI,WAAW,GAAG,mBAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAE1C,OAAO,IAAI,EAAE,CAAC;QACZ,IAAI,MAAM,kBAAE,CAAC,UAAU,CAAC,mBAAI,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC;YAChE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC;QACzC,CAAC;QAED,MAAM,UAAU,GAAG,mBAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAE7C,IAAI,UAAU,KAAK,WAAW,EAAE,CAAC;YAC/B,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,WAAW,GAAG,UAAU,CAAC;IAC3B,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,qBAAqB,CAAC,GAAW;IACrD,MAAM,WAAW,GAAG,mBAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACtC,MAAM,UAAU,GAAG,MAAM,qBAAqB,CAAC,WAAW,CAAC,CAAC;IAE5D,IAAI,UAAU,EAAE,cAAc,EAAE,CAAC;QAC/B,OAAO,UAAU,CAAC,cAAc,CAAC;IACnC,CAAC;IAED,IAAI,MAAM,kBAAE,CAAC,UAAU,CAAC,mBAAI,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC;QAChE,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,+BAA+B,WAAW,EAAE,CAAC,CAAC;AAChE,CAAC"}
|
package/dist/core/scanner.d.ts
CHANGED
package/dist/core/scanner.js
CHANGED
|
@@ -1,9 +1,15 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.scanRepositoryVariables = scanRepositoryVariables;
|
|
7
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
8
|
+
const fs_extra_1 = __importDefault(require("fs-extra"));
|
|
9
|
+
const fast_glob_1 = __importDefault(require("fast-glob"));
|
|
4
10
|
const VARIABLE_PATTERN = /\$\{([A-Za-z_][A-Za-z0-9_]*)\}/g;
|
|
5
|
-
|
|
6
|
-
const filePaths = await
|
|
11
|
+
async function scanRepositoryVariables(options) {
|
|
12
|
+
const filePaths = await (0, fast_glob_1.default)(options.filePatterns, {
|
|
7
13
|
cwd: options.repositoryPath,
|
|
8
14
|
absolute: true,
|
|
9
15
|
onlyFiles: true,
|
|
@@ -11,7 +17,7 @@ export async function scanRepositoryVariables(options) {
|
|
|
11
17
|
});
|
|
12
18
|
const result = [];
|
|
13
19
|
for (const filePath of filePaths) {
|
|
14
|
-
const content = await
|
|
20
|
+
const content = await fs_extra_1.default.readFile(filePath, "utf8");
|
|
15
21
|
const occurrencesByVariable = new Map();
|
|
16
22
|
let match;
|
|
17
23
|
while ((match = VARIABLE_PATTERN.exec(content)) !== null) {
|
|
@@ -22,7 +28,7 @@ export async function scanRepositoryVariables(options) {
|
|
|
22
28
|
result.push({
|
|
23
29
|
variableName,
|
|
24
30
|
occurrences,
|
|
25
|
-
filePath:
|
|
31
|
+
filePath: node_path_1.default.relative(options.repositoryPath, filePath),
|
|
26
32
|
});
|
|
27
33
|
}
|
|
28
34
|
}
|
package/dist/core/scanner.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scanner.js","sourceRoot":"","sources":["../../src/core/scanner.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"scanner.js","sourceRoot":"","sources":["../../src/core/scanner.ts"],"names":[],"mappings":";;;;;AAOA,0DAiCC;AAxCD,0DAA6B;AAC7B,wDAA0B;AAC1B,0DAAiC;AAGjC,MAAM,gBAAgB,GAAG,iCAAiC,CAAC;AAEpD,KAAK,UAAU,uBAAuB,CAAC,OAG7C;IACC,MAAM,SAAS,GAAG,MAAM,IAAA,mBAAQ,EAAC,OAAO,CAAC,YAAY,EAAE;QACrD,GAAG,EAAE,OAAO,CAAC,cAAc;QAC3B,QAAQ,EAAE,IAAI;QACd,SAAS,EAAE,IAAI;QACf,MAAM,EAAE,CAAC,iBAAiB,EAAE,SAAS,EAAE,SAAS,CAAC;KAClD,CAAC,CAAC;IAEH,MAAM,MAAM,GAAuB,EAAE,CAAC;IAEtC,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,MAAM,OAAO,GAAG,MAAM,kBAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACpD,MAAM,qBAAqB,GAAG,IAAI,GAAG,EAAkB,CAAC;QACxD,IAAI,KAA6B,CAAC;QAElC,OAAO,CAAC,KAAK,GAAG,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YACzD,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAC9B,qBAAqB,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,qBAAqB,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9F,CAAC;QAED,KAAK,MAAM,CAAC,YAAY,EAAE,WAAW,CAAC,IAAI,qBAAqB,CAAC,OAAO,EAAE,EAAE,CAAC;YAC1E,MAAM,CAAC,IAAI,CAAC;gBACV,YAAY;gBACZ,WAAW;gBACX,QAAQ,EAAE,mBAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,cAAc,EAAE,QAAQ,CAAC;aAC1D,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;AAC3F,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
export type TPackageManager = "winget" | "choco" | "scoop" | "brew" | "apt-get";
|
|
2
|
+
type TExternalTool = {
|
|
3
|
+
command: string;
|
|
4
|
+
versionArgs: string[];
|
|
5
|
+
displayName: string;
|
|
6
|
+
docsUrl: string;
|
|
7
|
+
/** Best-effort install recipes per package manager (Windows/macOS/Linux). */
|
|
8
|
+
packageManagerArgs: Partial<Record<TPackageManager, string[]>>;
|
|
9
|
+
/** Set when the tool ships as a global npm package. */
|
|
10
|
+
npmGlobalPackage?: string;
|
|
11
|
+
manualHint: string;
|
|
12
|
+
};
|
|
13
|
+
declare const EXTERNAL_TOOLS: Record<string, TExternalTool>;
|
|
14
|
+
/**
|
|
15
|
+
* Check whether a command is resolvable on PATH. Uses the platform resolver
|
|
16
|
+
* (`where` on Windows, `which` elsewhere) so it also finds `.cmd`/`.ps1` shims
|
|
17
|
+
* (e.g. scoop, npm) without actually executing the tool.
|
|
18
|
+
*/
|
|
19
|
+
export declare function isCommandAvailable(command: string): Promise<boolean>;
|
|
20
|
+
/**
|
|
21
|
+
* Ensure an external CLI tool is installed before a command relies on it.
|
|
22
|
+
*
|
|
23
|
+
* When the tool is missing, offer to install it via a detected package manager
|
|
24
|
+
* (or npm for npm-backed tools). This fails fast and avoids the situation where
|
|
25
|
+
* a long interactive flow only discovers a missing prerequisite at the end.
|
|
26
|
+
*/
|
|
27
|
+
export declare function ensureExternalTool(toolId: keyof typeof EXTERNAL_TOOLS | string): Promise<void>;
|
|
28
|
+
export {};
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.isCommandAvailable = isCommandAvailable;
|
|
7
|
+
exports.ensureExternalTool = ensureExternalTool;
|
|
8
|
+
const execa_1 = require("execa");
|
|
9
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
10
|
+
const prompts_1 = require("./prompts");
|
|
11
|
+
const EXTERNAL_TOOLS = {
|
|
12
|
+
cf: {
|
|
13
|
+
command: "cf",
|
|
14
|
+
versionArgs: ["version"],
|
|
15
|
+
displayName: "Cloud Foundry CLI",
|
|
16
|
+
docsUrl: "https://docs.cloudfoundry.org/cf-cli/install-go-cli.html",
|
|
17
|
+
packageManagerArgs: {
|
|
18
|
+
choco: ["install", "cloudfoundry-cli", "-y"],
|
|
19
|
+
brew: ["install", "cloudfoundry/tap/cf-cli@8"],
|
|
20
|
+
},
|
|
21
|
+
manualHint: "Windows installer: https://github.com/cloudfoundry/cli/releases",
|
|
22
|
+
},
|
|
23
|
+
cds: {
|
|
24
|
+
command: "cds",
|
|
25
|
+
versionArgs: ["--version"],
|
|
26
|
+
displayName: "SAP CAP CLI (@sap/cds-dk)",
|
|
27
|
+
docsUrl: "https://cap.cloud.sap/docs/tools/cds-cli",
|
|
28
|
+
packageManagerArgs: {},
|
|
29
|
+
npmGlobalPackage: "@sap/cds-dk",
|
|
30
|
+
manualHint: "Install globally with: npm install -g @sap/cds-dk",
|
|
31
|
+
},
|
|
32
|
+
git: {
|
|
33
|
+
command: "git",
|
|
34
|
+
versionArgs: ["--version"],
|
|
35
|
+
displayName: "Git",
|
|
36
|
+
docsUrl: "https://git-scm.com/downloads",
|
|
37
|
+
packageManagerArgs: {
|
|
38
|
+
winget: ["install", "-e", "--id", "Git.Git"],
|
|
39
|
+
choco: ["install", "git", "-y"],
|
|
40
|
+
scoop: ["install", "git"],
|
|
41
|
+
brew: ["install", "git"],
|
|
42
|
+
"apt-get": ["install", "-y", "git"],
|
|
43
|
+
},
|
|
44
|
+
manualHint: "Download Git from https://git-scm.com/downloads",
|
|
45
|
+
},
|
|
46
|
+
};
|
|
47
|
+
/**
|
|
48
|
+
* Check whether a command is resolvable on PATH. Uses the platform resolver
|
|
49
|
+
* (`where` on Windows, `which` elsewhere) so it also finds `.cmd`/`.ps1` shims
|
|
50
|
+
* (e.g. scoop, npm) without actually executing the tool.
|
|
51
|
+
*/
|
|
52
|
+
async function isCommandAvailable(command) {
|
|
53
|
+
const finder = process.platform === "win32" ? "where" : "which";
|
|
54
|
+
try {
|
|
55
|
+
const result = await (0, execa_1.execa)(finder, [command], { reject: false, shell: false, timeout: 15000 });
|
|
56
|
+
return !result.failed && (result.exitCode ?? 1) === 0 && result.stdout.trim().length > 0;
|
|
57
|
+
}
|
|
58
|
+
catch {
|
|
59
|
+
return false;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
async function detectAvailablePackageManagers() {
|
|
63
|
+
const candidates = process.platform === "win32"
|
|
64
|
+
? ["winget", "choco", "scoop"]
|
|
65
|
+
: process.platform === "darwin"
|
|
66
|
+
? ["brew"]
|
|
67
|
+
: ["apt-get"];
|
|
68
|
+
const available = [];
|
|
69
|
+
for (const manager of candidates) {
|
|
70
|
+
if (await isCommandAvailable(manager)) {
|
|
71
|
+
available.push(manager);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
return available;
|
|
75
|
+
}
|
|
76
|
+
async function resolveInstallStrategies(tool) {
|
|
77
|
+
const strategies = [];
|
|
78
|
+
const managers = await detectAvailablePackageManagers();
|
|
79
|
+
for (const manager of managers) {
|
|
80
|
+
const args = tool.packageManagerArgs[manager];
|
|
81
|
+
if (args) {
|
|
82
|
+
strategies.push({ kind: "package-manager", manager, args });
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
if (tool.npmGlobalPackage && (await isCommandAvailable("npm"))) {
|
|
86
|
+
strategies.push({ kind: "npm-global", packageName: tool.npmGlobalPackage });
|
|
87
|
+
}
|
|
88
|
+
return strategies;
|
|
89
|
+
}
|
|
90
|
+
function describeStrategy(strategy) {
|
|
91
|
+
if (strategy.kind === "npm-global") {
|
|
92
|
+
return `npm install -g ${strategy.packageName}`;
|
|
93
|
+
}
|
|
94
|
+
return `${strategy.manager} ${strategy.args.join(" ")}`;
|
|
95
|
+
}
|
|
96
|
+
async function runInstallStrategy(strategy) {
|
|
97
|
+
const [command, args] = strategy.kind === "npm-global"
|
|
98
|
+
? ["npm", ["install", "-g", strategy.packageName]]
|
|
99
|
+
: [strategy.manager, strategy.args];
|
|
100
|
+
console.log(chalk_1.default.gray(`Running: ${command} ${args.join(" ")}`));
|
|
101
|
+
const result = await (0, execa_1.execa)(command, args, { stdio: "inherit", reject: false, shell: false });
|
|
102
|
+
return result.exitCode ?? 1;
|
|
103
|
+
}
|
|
104
|
+
function printManualInstructions(tool, strategies) {
|
|
105
|
+
console.log(chalk_1.default.yellow(`${tool.displayName} ('${tool.command}') is required but was not found on PATH.`));
|
|
106
|
+
if (strategies.length > 0) {
|
|
107
|
+
console.log("Install it with one of:");
|
|
108
|
+
for (const strategy of strategies) {
|
|
109
|
+
console.log(` ${chalk_1.default.cyan(describeStrategy(strategy))}`);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
console.log(chalk_1.default.gray(tool.manualHint));
|
|
113
|
+
console.log(chalk_1.default.gray(`Docs: ${tool.docsUrl}`));
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Ensure an external CLI tool is installed before a command relies on it.
|
|
117
|
+
*
|
|
118
|
+
* When the tool is missing, offer to install it via a detected package manager
|
|
119
|
+
* (or npm for npm-backed tools). This fails fast and avoids the situation where
|
|
120
|
+
* a long interactive flow only discovers a missing prerequisite at the end.
|
|
121
|
+
*/
|
|
122
|
+
async function ensureExternalTool(toolId) {
|
|
123
|
+
const tool = EXTERNAL_TOOLS[toolId];
|
|
124
|
+
if (!tool) {
|
|
125
|
+
return;
|
|
126
|
+
}
|
|
127
|
+
if (await isCommandAvailable(tool.command)) {
|
|
128
|
+
return;
|
|
129
|
+
}
|
|
130
|
+
const strategies = await resolveInstallStrategies(tool);
|
|
131
|
+
const interactive = Boolean(process.stdin.isTTY);
|
|
132
|
+
if (strategies.length === 0 || !interactive) {
|
|
133
|
+
printManualInstructions(tool, strategies);
|
|
134
|
+
throw new Error(`${tool.displayName} is required. Install it, then re-run this command.`);
|
|
135
|
+
}
|
|
136
|
+
console.log(chalk_1.default.yellow(`${tool.displayName} ('${tool.command}') is not installed.`));
|
|
137
|
+
const choice = await (0, prompts_1.searchableSelectChoice)({
|
|
138
|
+
message: `Install ${tool.displayName} now?`,
|
|
139
|
+
choices: [
|
|
140
|
+
...strategies.map((strategy, index) => ({
|
|
141
|
+
title: `Install with ${describeStrategy(strategy)}`,
|
|
142
|
+
value: String(index),
|
|
143
|
+
})),
|
|
144
|
+
{ title: "Skip and show manual instructions", value: "__SKIP__" },
|
|
145
|
+
],
|
|
146
|
+
allowCustomValue: false,
|
|
147
|
+
});
|
|
148
|
+
if (choice === "__SKIP__") {
|
|
149
|
+
printManualInstructions(tool, strategies);
|
|
150
|
+
throw new Error(`${tool.displayName} is required. Install it, then re-run this command.`);
|
|
151
|
+
}
|
|
152
|
+
const strategy = strategies[Number(choice)];
|
|
153
|
+
const exitCode = await runInstallStrategy(strategy);
|
|
154
|
+
if (exitCode !== 0) {
|
|
155
|
+
console.log(chalk_1.default.red(`Install command failed (exit code ${exitCode}).`));
|
|
156
|
+
printManualInstructions(tool, strategies);
|
|
157
|
+
throw new Error(`Could not install ${tool.displayName} automatically.`);
|
|
158
|
+
}
|
|
159
|
+
if (await isCommandAvailable(tool.command)) {
|
|
160
|
+
console.log(chalk_1.default.green(`${tool.displayName} is now installed.`));
|
|
161
|
+
return;
|
|
162
|
+
}
|
|
163
|
+
// Many installers update PATH only for new shells.
|
|
164
|
+
console.log(chalk_1.default.yellow(`${tool.displayName} was installed, but it is not on PATH in this session yet.`));
|
|
165
|
+
console.log(chalk_1.default.gray("Open a new terminal so PATH refreshes, then re-run this command."));
|
|
166
|
+
throw new Error(`${tool.displayName} install completed; restart your terminal to use it.`);
|
|
167
|
+
}
|
|
168
|
+
//# sourceMappingURL=tooling.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tooling.js","sourceRoot":"","sources":["../../src/core/tooling.ts"],"names":[],"mappings":"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"}
|
package/dist/core/types.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { rememberResolvedOverrideVersions } from "./cache
|
|
2
|
-
import type { TLoadedLocationConflict, TPackageConflictInspection } from "./types
|
|
1
|
+
import { rememberResolvedOverrideVersions } from "./cache";
|
|
2
|
+
import type { TLoadedLocationConflict, TPackageConflictInspection } from "./types";
|
|
3
3
|
export { rememberResolvedOverrideVersions };
|
|
4
4
|
export declare function parseLoadedLocationConflicts(output: string): TLoadedLocationConflict[];
|
|
5
5
|
export declare function inspectPackageConflicts(options: {
|
|
@@ -1,7 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.rememberResolvedOverrideVersions = void 0;
|
|
4
|
+
exports.parseLoadedLocationConflicts = parseLoadedLocationConflicts;
|
|
5
|
+
exports.inspectPackageConflicts = inspectPackageConflicts;
|
|
6
|
+
const doctor_1 = require("./doctor");
|
|
7
|
+
const cache_1 = require("./cache");
|
|
8
|
+
Object.defineProperty(exports, "rememberResolvedOverrideVersions", { enumerable: true, get: function () { return cache_1.rememberResolvedOverrideVersions; } });
|
|
9
|
+
function parseLoadedLocationConflicts(output) {
|
|
5
10
|
const result = [];
|
|
6
11
|
const lines = output.split(/\r?\n/);
|
|
7
12
|
for (const line of lines) {
|
|
@@ -16,10 +21,10 @@ export function parseLoadedLocationConflicts(output) {
|
|
|
16
21
|
}
|
|
17
22
|
return result;
|
|
18
23
|
}
|
|
19
|
-
|
|
24
|
+
async function inspectPackageConflicts(options) {
|
|
20
25
|
const result = [];
|
|
21
26
|
for (const packageName of options.packageNames) {
|
|
22
|
-
const doctorResult = await doctorPackage({ repositoryPath: options.repositoryPath, packageName });
|
|
27
|
+
const doctorResult = await (0, doctor_1.doctorPackage)({ repositoryPath: options.repositoryPath, packageName });
|
|
23
28
|
if (doctorResult.hasMultipleVersions || doctorResult.occurrences.length > 1) {
|
|
24
29
|
result.push({
|
|
25
30
|
packageName,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version-conflict.js","sourceRoot":"","sources":["../../src/core/version-conflict.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"version-conflict.js","sourceRoot":"","sources":["../../src/core/version-conflict.ts"],"names":[],"mappings":";;;AAMA,oEAkBC;AAED,0DAmBC;AA7CD,qCAAyC;AACzC,mCAA2D;AAGlD,iHAHA,wCAAgC,OAGA;AAEzC,SAAgB,4BAA4B,CAAC,MAAc;IACzD,MAAM,MAAM,GAA8B,EAAE,CAAC;IAC7C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAEpC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,kCAAkC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACnD,SAAS;QACX,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;QAEnF,MAAM,CAAC,IAAI,CAAC;YACV,WAAW,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,IAAI,UAAU;YAC5C,UAAU,EAAE,IAAI,CAAC,IAAI,EAAE;SACxB,CAAC,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAEM,KAAK,UAAU,uBAAuB,CAAC,OAG7C;IACC,MAAM,MAAM,GAAiC,EAAE,CAAC;IAEhD,KAAK,MAAM,WAAW,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;QAC/C,MAAM,YAAY,GAAG,MAAM,IAAA,sBAAa,EAAC,EAAE,cAAc,EAAE,OAAO,CAAC,cAAc,EAAE,WAAW,EAAE,CAAC,CAAC;QAElG,IAAI,YAAY,CAAC,mBAAmB,IAAI,YAAY,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5E,MAAM,CAAC,IAAI,CAAC;gBACV,WAAW;gBACX,YAAY;gBACZ,iBAAiB,EAAE,YAAY,CAAC,QAAQ;aACzC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
|