android-wrapper/@capacitor/cli/dist/tasks/doctor.js

69 lines
3.4 KiB
JavaScript
Raw Permalink Normal View History

2025-06-18 18:50:46 +02:00
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.doctor = exports.doctorCore = exports.doctorCommand = void 0;
const tslib_1 = require("tslib");
2025-07-06 20:20:48 +02:00
const fs_extra_1 = require("fs-extra");
2025-06-18 18:50:46 +02:00
const doctor_1 = require("../android/doctor");
const colors_1 = tslib_1.__importDefault(require("../colors"));
const common_1 = require("../common");
const doctor_2 = require("../ios/doctor");
const log_1 = require("../log");
const emoji_1 = require("../util/emoji");
const node_1 = require("../util/node");
const subprocess_1 = require("../util/subprocess");
async function doctorCommand(config, selectedPlatformName) {
log_1.output.write(`${(0, emoji_1.emoji)('💊', '')} ${colors_1.default.strong('Capacitor Doctor')} ${(0, emoji_1.emoji)('💊', '')} \n\n`);
await doctorCore(config);
const platforms = await (0, common_1.selectPlatforms)(config, selectedPlatformName);
2025-07-06 20:20:48 +02:00
await Promise.all(platforms.map((platformName) => {
2025-06-18 18:50:46 +02:00
return doctor(config, platformName);
}));
}
exports.doctorCommand = doctorCommand;
async function doctorCore(config) {
const [cliVersion, coreVersion, androidVersion, iosVersion] = await Promise.all([
(0, subprocess_1.getCommandOutput)('npm', ['info', '@capacitor/cli', 'version']),
(0, subprocess_1.getCommandOutput)('npm', ['info', '@capacitor/core', 'version']),
(0, subprocess_1.getCommandOutput)('npm', ['info', '@capacitor/android', 'version']),
(0, subprocess_1.getCommandOutput)('npm', ['info', '@capacitor/ios', 'version']),
]);
log_1.output.write(`${colors_1.default.strong('Latest Dependencies:')}\n\n` +
` @capacitor/cli: ${colors_1.default.weak(cliVersion !== null && cliVersion !== void 0 ? cliVersion : 'unknown')}\n` +
` @capacitor/core: ${colors_1.default.weak(coreVersion !== null && coreVersion !== void 0 ? coreVersion : 'unknown')}\n` +
` @capacitor/android: ${colors_1.default.weak(androidVersion !== null && androidVersion !== void 0 ? androidVersion : 'unknown')}\n` +
` @capacitor/ios: ${colors_1.default.weak(iosVersion !== null && iosVersion !== void 0 ? iosVersion : 'unknown')}\n\n` +
`${colors_1.default.strong('Installed Dependencies:')}\n\n`);
await printInstalledPackages(config);
log_1.output.write('\n');
}
exports.doctorCore = doctorCore;
async function printInstalledPackages(config) {
2025-07-06 20:20:48 +02:00
const packageNames = ['@capacitor/cli', '@capacitor/core', '@capacitor/android', '@capacitor/ios'];
2025-06-18 18:50:46 +02:00
await Promise.all(packageNames.map(async (packageName) => {
const packagePath = (0, node_1.resolveNode)(config.app.rootDir, packageName, 'package.json');
await printPackageVersion(packageName, packagePath);
}));
}
async function printPackageVersion(packageName, packagePath) {
let version;
if (packagePath) {
2025-07-06 20:20:48 +02:00
version = (await (0, fs_extra_1.readJSON)(packagePath)).version;
2025-06-18 18:50:46 +02:00
}
log_1.output.write(` ${packageName}: ${colors_1.default.weak(version || 'not installed')}\n`);
}
async function doctor(config, platformName) {
if (platformName === config.ios.name) {
await (0, doctor_2.doctorIOS)(config);
}
else if (platformName === config.android.name) {
await (0, doctor_1.doctorAndroid)(config);
}
else if (platformName === config.web.name) {
return Promise.resolve();
}
else {
throw `Platform ${platformName} is not valid.`;
}
}
exports.doctor = doctor;