Content-Length: 3226 | pFad | https://github.com/NativeScript/nativescript-cli/raw/refs/heads/chore/changelog-fix/lib/sys-info.ts

th: 3214 import * as path from "path"; import { format } from "util"; import { sysInfo } from "@nativescript/doctor"; import { MacOSVersions, MacOSDeprecationStringFormat, XcodeDeprecationStringFormat, } from "./constants"; import { getNodeWarning } from "./common/verify-node-version"; import { exported } from "./common/decorators"; import * as semver from "semver"; import { ISysInfo, IFileSystem, IHostInfo, ISystemWarning, } from "./common/declarations"; import { injector } from "./common/yok"; export class SysInfo implements ISysInfo { private sysInfo: ISysInfoData = null; constructor(private $fs: IFileSystem, private $hostInfo: IHostInfo) {} public async getSysInfo( config?: NativeScriptDoctor.ISysInfoConfig ): Promise { if (!this.sysInfo) { const pathToNativeScriptCliPackageJson = (config && config.pathToNativeScriptCliPackageJson) || path.join(__dirname, "..", "package.json"); const androidToolsInfo = config && config.androidToolsInfo; this.sysInfo = await sysInfo.getSysInfo({ pathToNativeScriptCliPackageJson, androidToolsInfo, }); } return this.sysInfo; } public getXcodeVersion(): Promise { return sysInfo.getXcodeVersion(); } public getCocoaPodsVersion(): Promise { return sysInfo.getCocoaPodsVersion(); } public getJavaPath(): Promise { return sysInfo.getJavaPath(); } public getJavaCompilerVersion(): Promise { return sysInfo.getJavaCompilerVersion(); } public getJavaVersionFromPath(): Promise { return sysInfo.getJavaVersionFromPath(); } public getJavaVersionFromJavaHome(): Promise { return sysInfo.getJavaVersionFromJavaHome(); } @exported("sysInfo") public async getSystemWarnings(): Promise { const warnings: ISystemWarning[] = []; const macOSWarningMessage = await this.getMacOSWarningMessage(); if (macOSWarningMessage) { macOSWarningMessage.toString = function () { return this.message; }; warnings.push(macOSWarningMessage); } const nodeWarning = getNodeWarning(); if (nodeWarning) { nodeWarning.toString = function () { return this.message; }; warnings.push(nodeWarning); } return warnings; } @exported("sysInfo") public getSupportedNodeVersionRange(): string { const pathToCLIPackageJson = path.join(__dirname, "..", "package.json"); const jsonContent = this.$fs.readJson(pathToCLIPackageJson); return jsonContent && jsonContent.engines && jsonContent.engines.node; } public async getMacOSWarningMessage(): Promise { const macOSVersion = await this.$hostInfo.getMacOSVersion(); if (macOSVersion && macOSVersion < MacOSVersions.HighSierra) { return { message: format(MacOSDeprecationStringFormat, macOSVersion), severity: SystemWarningsSeverity.high, }; } return null; } public async getXcodeWarning(): Promise { const xcodeVersion = await this.getXcodeVersion(); if (xcodeVersion && semver.lt(semver.coerce(xcodeVersion), "11.0.0")) { const message = format(XcodeDeprecationStringFormat, xcodeVersion); return message; } return null; } } injector.register("sysInfo", SysInfo);








ApplySandwichStrip

pFad - (p)hone/(F)rame/(a)nonymizer/(d)eclutterfier!      Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

Fetched URL: https://github.com/NativeScript/nativescript-cli/raw/refs/heads/chore/changelog-fix/lib/sys-info.ts

Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy