@teambit/doctor 0.0.152 → 0.0.154
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.
|
@@ -43,7 +43,7 @@ export declare class DoctorMain {
|
|
|
43
43
|
private _getEnvMeta;
|
|
44
44
|
private _getUserDetails;
|
|
45
45
|
private _getDebugLogAsBuffer;
|
|
46
|
-
private
|
|
46
|
+
private _getWorkspaceInfo;
|
|
47
47
|
private _getBitMap;
|
|
48
48
|
static slots: never[];
|
|
49
49
|
static dependencies: import("@teambit/harmony").Aspect[];
|
|
@@ -74,9 +74,9 @@ function _workspaceConfig() {
|
|
|
74
74
|
};
|
|
75
75
|
return data;
|
|
76
76
|
}
|
|
77
|
-
function
|
|
78
|
-
const data = require("@teambit/
|
|
79
|
-
|
|
77
|
+
function _workspaceModules() {
|
|
78
|
+
const data = require("@teambit/workspace.modules.workspace-locator");
|
|
79
|
+
_workspaceModules = function () {
|
|
80
80
|
return data;
|
|
81
81
|
};
|
|
82
82
|
return data;
|
|
@@ -309,7 +309,7 @@ class DoctorMain {
|
|
|
309
309
|
excludeLocalScope
|
|
310
310
|
} = options;
|
|
311
311
|
const debugLog = await this._getDebugLogAsBuffer();
|
|
312
|
-
const consumerInfo = await this.
|
|
312
|
+
const consumerInfo = await this._getWorkspaceInfo();
|
|
313
313
|
let bitmap;
|
|
314
314
|
if (consumerInfo && consumerInfo.path) {
|
|
315
315
|
bitmap = this._getBitMap(consumerInfo.path);
|
|
@@ -331,7 +331,7 @@ class DoctorMain {
|
|
|
331
331
|
name: '.bitmap'
|
|
332
332
|
}, bitmap);
|
|
333
333
|
}
|
|
334
|
-
if (consumerInfo && consumerInfo.
|
|
334
|
+
if (consumerInfo && consumerInfo.hasWorkspaceConfig) {
|
|
335
335
|
// TODO: support new config as well
|
|
336
336
|
const scopePath = (0, _scopeModules().findScopePath)(consumerInfo.path);
|
|
337
337
|
const config = scopePath ? await _workspaceConfig().default.loadIfExist(consumerInfo.path, scopePath) : undefined;
|
|
@@ -393,8 +393,8 @@ class DoctorMain {
|
|
|
393
393
|
const logWithoutChalk = (0, _legacy2().removeChalkCharacters)(log);
|
|
394
394
|
return Buffer.from(logWithoutChalk);
|
|
395
395
|
}
|
|
396
|
-
async
|
|
397
|
-
const consumerInfo = await (0,
|
|
396
|
+
async _getWorkspaceInfo() {
|
|
397
|
+
const consumerInfo = await (0, _workspaceModules().getWorkspaceInfo)(process.cwd());
|
|
398
398
|
return consumerInfo;
|
|
399
399
|
}
|
|
400
400
|
_getBitMap(workspaceDir) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_cli","data","require","_path","_interopRequireDefault","_fsExtra","_os","_tarStream","_tarFs","_bit","_constants","_legacy","_workspaceConfig","_consumerLocator","_doctorRegistrar","_doctorRegistrarBuilder","_lodash","_legacy2","_toolboxFs","_scopeModules","globalConfig","_interopRequireWildcard","_validateNpmExec","_validateYarnExec","_diagnosisNotFound","_missingDiagnosisName","_doctor","_doctorCmd","_logger","_chalk","_excluded","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_objectWithoutProperties","o","_objectWithoutPropertiesLoose","getOwnPropertySymbols","s","length","includes","propertyIsEnumerable","_defineProperty","_toPropertyKey","value","enumerable","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","runningTimeStamp","DoctorMain","constructor","logger","runAll","options","registerCoreAndExtensionsDiagnoses","_getTimeStamp","doctorRegistrar","DoctorRegistrar","getInstance","examineResultsWithNulls","Promise","all","diagnoses","map","diagnosis","examine","err","error","name","consoleFailure","chalk","red","message","examineResults","compact","envMeta","_getEnvMeta","savedFilePath","_saveExamineResultsToFile","metaData","runOne","_ref","diagnosisName","MissingDiagnosisName","getDiagnosisByName","DiagnosisNotFound","examineResult","listDiagnoses","resolve","filePath","undefined","finalFilePath","_calculateFinalFileName","packStream","_generateExamineResultsTarFile","yourTarball","fs","createWriteStream","pipe","on","info","getWithoutExt","filename","ext","getExt","substring","fileName","_getDefaultFileName","finalFileName","timestamp","d","Date","getTime","tarFilePath","archiveWorkspace","includeNodeModules","includePublic","excludeLocalScope","debugLog","_getDebugLogAsBuffer","consumerInfo","_getConsumerInfo","bitmap","path","_getBitMap","packExamineResults","pack","entry","JSON","stringify","hasConsumerConfig","scopePath","findScopePath","config","WorkspaceConfig","loadIfExist","legacyPlainConfig","_legacyPlainObject","finalize","tar","ignore","startsWith","sep","isGit","isLocalScope","myPack","tarFS","finish","env","nodeVersion","process","version","runningTimestamp","platform","os","bitVersion","getBitVersion","npmVersion","getNpmVersion","yarnVersion","getYarnVersion","userDetails","_getUserDetails","getSync","CFG_USER_NAME_KEY","email","CFG_USER_EMAIL_KEY","exists","pathExists","DEBUG_LOG","log","readFile","logWithoutChalk","removeChalkCharacters","Buffer","from","getConsumerInfo","cwd","workspaceDir","BitMap","loadRawSync","provider","cliMain","loggerMain","createLogger","DoctorAspect","id","doctor","register","DoctorCmd","exports","CLIAspect","LoggerAspect","MainRuntime","addRuntime","_default"],"sources":["doctor.main.runtime.ts"],"sourcesContent":["import { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport path from 'path';\nimport fs from 'fs-extra';\nimport os from 'os';\n// @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\nimport Stream from 'stream';\nimport tar from 'tar-stream';\nimport tarFS from 'tar-fs';\nimport { getBitVersion } from '@teambit/bit.get-bit-version';\nimport { CFG_USER_EMAIL_KEY, CFG_USER_NAME_KEY, DEBUG_LOG } from '@teambit/legacy/dist/constants';\nimport { BitMap } from '@teambit/legacy.bit-map';\nimport WorkspaceConfig from '@teambit/legacy/dist/consumer/config/workspace-config';\nimport { ConsumerInfo, getConsumerInfo } from '@teambit/legacy/dist/consumer/consumer-locator';\nimport Diagnosis, { ExamineResult } from './diagnosis';\nimport DoctorRegistrar from './doctor-registrar';\nimport registerCoreAndExtensionsDiagnoses from './doctor-registrar-builder';\nimport { compact } from 'lodash';\nimport { removeChalkCharacters } from '@teambit/legacy.utils';\nimport { getExt } from '@teambit/toolbox.fs.extension-getter';\nimport { findScopePath } from '@teambit/scope.modules.find-scope-path';\nimport * as globalConfig from '@teambit/legacy/dist/api/consumer/lib/global-config';\nimport { getNpmVersion } from './core-diagnoses/validate-npm-exec';\nimport { getYarnVersion } from './core-diagnoses/validate-yarn-exec';\nimport { DiagnosisNotFound } from './exceptions/diagnosis-not-found';\nimport { MissingDiagnosisName } from './exceptions/missing-diagnosis-name';\n\nimport { DoctorAspect } from './doctor.aspect';\nimport { DoctorCmd } from './doctor-cmd';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport chalk from 'chalk';\n\n// run specific check\nexport type DoctorMetaData = {\n nodeVersion: string;\n runningTimestamp: number;\n platform: string;\n bitVersion: string;\n npmVersion: string;\n yarnVersion: string;\n userDetails: string;\n};\nexport type DoctorRunAllResults = {\n examineResults: ExamineResult[];\n savedFilePath: string | null | undefined;\n metaData: DoctorMetaData;\n};\nexport type DoctorRunOneResult = {\n examineResult: ExamineResult;\n savedFilePath: string | null | undefined;\n metaData: DoctorMetaData;\n};\n\nlet runningTimeStamp;\n\nexport type DoctorOptions = {\n diagnosisName?: string;\n filePath?: string;\n archiveWorkspace?: boolean;\n includeNodeModules?: boolean;\n includePublic?: boolean;\n excludeLocalScope?: boolean;\n};\n\nexport class DoctorMain {\n constructor(private logger: Logger) {}\n\n async runAll(options: DoctorOptions): Promise<DoctorRunAllResults> {\n registerCoreAndExtensionsDiagnoses();\n runningTimeStamp = this._getTimeStamp();\n const doctorRegistrar = DoctorRegistrar.getInstance();\n const examineResultsWithNulls = await Promise.all(\n doctorRegistrar.diagnoses.map(async (diagnosis) => {\n try {\n return await diagnosis.examine();\n } catch (err: any) {\n this.logger.error(`doctor failed running diagnosis \"${diagnosis.name}\"`, err);\n this.logger.consoleFailure(\n chalk.red(`doctor failed running diagnosis \"${diagnosis.name}\".\\nerror-message: ${err.message}`)\n );\n }\n })\n );\n const examineResults = compact(examineResultsWithNulls);\n const envMeta = await this._getEnvMeta();\n const savedFilePath = await this._saveExamineResultsToFile(examineResults, envMeta, options);\n return { examineResults, savedFilePath, metaData: envMeta };\n }\n\n async runOne({ diagnosisName, ...options }: DoctorOptions): Promise<DoctorRunOneResult> {\n if (!diagnosisName) {\n throw new MissingDiagnosisName();\n }\n registerCoreAndExtensionsDiagnoses();\n runningTimeStamp = this._getTimeStamp();\n const doctorRegistrar = DoctorRegistrar.getInstance();\n const diagnosis = doctorRegistrar.getDiagnosisByName(diagnosisName);\n if (!diagnosis) {\n throw new DiagnosisNotFound(diagnosisName);\n }\n const examineResult = await diagnosis.examine();\n const envMeta = await this._getEnvMeta();\n const savedFilePath = await this._saveExamineResultsToFile([examineResult], envMeta, options);\n return { examineResult, savedFilePath, metaData: envMeta };\n }\n\n async listDiagnoses(): Promise<Diagnosis[]> {\n registerCoreAndExtensionsDiagnoses();\n const doctorRegistrar = DoctorRegistrar.getInstance();\n return Promise.resolve(doctorRegistrar.diagnoses);\n }\n\n private async _saveExamineResultsToFile(\n examineResults: ExamineResult[],\n envMeta: DoctorMetaData,\n options: DoctorOptions\n ): Promise<string | null | undefined> {\n if (!options.filePath) {\n return Promise.resolve(undefined);\n }\n const finalFilePath = this._calculateFinalFileName(options.filePath);\n const packStream = await this._generateExamineResultsTarFile(examineResults, envMeta, finalFilePath, options);\n\n const yourTarball = fs.createWriteStream(finalFilePath);\n\n packStream.pipe(yourTarball);\n\n return new Promise((resolve) => {\n yourTarball.on('close', () => {\n this.logger.info(`wrote a file by bit doctor, file path: ${finalFilePath}`);\n resolve(finalFilePath);\n // fs.stat(finalFilePath, private (err, stats) {\n // if (err) throw err\n // console.log(stats)\n // console.log('Got file info successfully!')\n // })\n });\n });\n }\n\n private getWithoutExt(filename: string): string {\n const ext = getExt(filename);\n // There is no extension just return the file name\n if (ext === filename) {\n return filename;\n }\n return filename.substring(0, filename.length - ext.length - 1); // -1 to remove the '.'\n }\n\n private _calculateFinalFileName(fileName: string): string {\n if (fileName === '.') {\n return this._getDefaultFileName();\n }\n let finalFileName = fileName;\n if (getExt(fileName) !== 'tar' && getExt(fileName) !== 'tar.gz') {\n finalFileName = `${this.getWithoutExt(finalFileName)}.tar`;\n }\n return finalFileName;\n }\n\n private _getDefaultFileName() {\n const timestamp = runningTimeStamp || this._getTimeStamp();\n return `doctor-results-${timestamp}.tar`;\n }\n\n // TODO: move to utils\n private _getTimeStamp() {\n const d = new Date();\n const timestamp = d.getTime();\n return timestamp;\n }\n\n private async _generateExamineResultsTarFile(\n examineResults: ExamineResult[],\n envMeta: DoctorMetaData,\n tarFilePath: string,\n options: DoctorOptions\n ): Promise<Stream.Readable> {\n const { archiveWorkspace, includeNodeModules, includePublic, excludeLocalScope } = options;\n const debugLog = await this._getDebugLogAsBuffer();\n const consumerInfo = await this._getConsumerInfo();\n let bitmap;\n if (consumerInfo && consumerInfo.path) {\n bitmap = this._getBitMap(consumerInfo.path);\n }\n\n const packExamineResults = async (pack) => {\n pack.entry({ name: 'env-meta.json' }, JSON.stringify(envMeta, null, 2));\n pack.entry({ name: 'doc-results.json' }, JSON.stringify(examineResults, null, 2));\n if (debugLog) {\n pack.entry({ name: 'debug.log' }, debugLog);\n }\n if (!archiveWorkspace && bitmap) {\n pack.entry({ name: '.bitmap' }, bitmap);\n }\n if (consumerInfo && consumerInfo.hasConsumerConfig) {\n // TODO: support new config as well\n const scopePath = findScopePath(consumerInfo.path);\n const config = scopePath ? await WorkspaceConfig.loadIfExist(consumerInfo.path, scopePath) : undefined;\n const legacyPlainConfig = config?._legacyPlainObject();\n if (legacyPlainConfig) {\n pack.entry({ name: 'config.json' }, JSON.stringify(legacyPlainConfig, null, 4));\n }\n }\n\n pack.finalize();\n\n return pack;\n };\n\n if (!archiveWorkspace) {\n const pack = tar.pack(); // pack is a streams2 stream\n return packExamineResults(pack);\n }\n\n const ignore = (fileName: string) => {\n if (fileName === tarFilePath) return true;\n if (fileName === '.DS_Store') return true;\n if (\n !includeNodeModules &&\n (fileName.startsWith(`node_modules${path.sep}`) || fileName.includes(`${path.sep}node_modules${path.sep}`))\n )\n return true;\n if (\n !includePublic &&\n (fileName.startsWith(`public${path.sep}`) || fileName.includes(`${path.sep}public${path.sep}`))\n )\n return true;\n const isGit = fileName.startsWith(`.git${path.sep}`);\n const isLocalScope =\n fileName.startsWith(`.bit${path.sep}`) || fileName.startsWith(`.git${path.sep}bit${path.sep}`);\n if (excludeLocalScope && isLocalScope) return true;\n if (isGit && !isLocalScope) return true;\n return false;\n };\n\n const myPack = tarFS.pack('.', {\n ignore,\n finalize: false,\n finish: packExamineResults,\n });\n\n return myPack;\n }\n\n private async _getEnvMeta(): Promise<DoctorMetaData> {\n const env = {\n nodeVersion: process.version,\n runningTimestamp: runningTimeStamp || this._getTimeStamp(),\n platform: os.platform(),\n bitVersion: getBitVersion(),\n npmVersion: await getNpmVersion(),\n yarnVersion: await getYarnVersion(),\n userDetails: this._getUserDetails(),\n };\n\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n return env;\n }\n\n private _getUserDetails(): string {\n const name = globalConfig.getSync(CFG_USER_NAME_KEY) || '';\n const email = globalConfig.getSync(CFG_USER_EMAIL_KEY) || '';\n return `${name}<${email}>`;\n }\n\n private async _getDebugLogAsBuffer(): Promise<Buffer | null | undefined> {\n const exists = await fs.pathExists(DEBUG_LOG);\n if (!exists) return null;\n const log = await fs.readFile(DEBUG_LOG, 'utf-8');\n const logWithoutChalk = removeChalkCharacters(log) as string;\n return Buffer.from(logWithoutChalk);\n }\n\n private async _getConsumerInfo(): Promise<ConsumerInfo | null | undefined> {\n const consumerInfo = await getConsumerInfo(process.cwd());\n return consumerInfo;\n }\n\n private _getBitMap(workspaceDir): Buffer | null | undefined {\n return BitMap.loadRawSync(workspaceDir);\n }\n\n static slots = [];\n static dependencies = [CLIAspect, LoggerAspect];\n static runtime = MainRuntime;\n static async provider([cliMain, loggerMain]: [CLIMain, LoggerMain]) {\n const logger = loggerMain.createLogger(DoctorAspect.id);\n const doctor = new DoctorMain(logger);\n cliMain.register(new DoctorCmd(doctor));\n return doctor;\n }\n}\n\nDoctorAspect.addRuntime(DoctorMain);\n\nexport default DoctorMain;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_cli","data","require","_path","_interopRequireDefault","_fsExtra","_os","_tarStream","_tarFs","_bit","_constants","_legacy","_workspaceConfig","_workspaceModules","_doctorRegistrar","_doctorRegistrarBuilder","_lodash","_legacy2","_toolboxFs","_scopeModules","globalConfig","_interopRequireWildcard","_validateNpmExec","_validateYarnExec","_diagnosisNotFound","_missingDiagnosisName","_doctor","_doctorCmd","_logger","_chalk","_excluded","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_objectWithoutProperties","o","_objectWithoutPropertiesLoose","getOwnPropertySymbols","s","length","includes","propertyIsEnumerable","_defineProperty","_toPropertyKey","value","enumerable","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","runningTimeStamp","DoctorMain","constructor","logger","runAll","options","registerCoreAndExtensionsDiagnoses","_getTimeStamp","doctorRegistrar","DoctorRegistrar","getInstance","examineResultsWithNulls","Promise","all","diagnoses","map","diagnosis","examine","err","error","name","consoleFailure","chalk","red","message","examineResults","compact","envMeta","_getEnvMeta","savedFilePath","_saveExamineResultsToFile","metaData","runOne","_ref","diagnosisName","MissingDiagnosisName","getDiagnosisByName","DiagnosisNotFound","examineResult","listDiagnoses","resolve","filePath","undefined","finalFilePath","_calculateFinalFileName","packStream","_generateExamineResultsTarFile","yourTarball","fs","createWriteStream","pipe","on","info","getWithoutExt","filename","ext","getExt","substring","fileName","_getDefaultFileName","finalFileName","timestamp","d","Date","getTime","tarFilePath","archiveWorkspace","includeNodeModules","includePublic","excludeLocalScope","debugLog","_getDebugLogAsBuffer","consumerInfo","_getWorkspaceInfo","bitmap","path","_getBitMap","packExamineResults","pack","entry","JSON","stringify","hasWorkspaceConfig","scopePath","findScopePath","config","WorkspaceConfig","loadIfExist","legacyPlainConfig","_legacyPlainObject","finalize","tar","ignore","startsWith","sep","isGit","isLocalScope","myPack","tarFS","finish","env","nodeVersion","process","version","runningTimestamp","platform","os","bitVersion","getBitVersion","npmVersion","getNpmVersion","yarnVersion","getYarnVersion","userDetails","_getUserDetails","getSync","CFG_USER_NAME_KEY","email","CFG_USER_EMAIL_KEY","exists","pathExists","DEBUG_LOG","log","readFile","logWithoutChalk","removeChalkCharacters","Buffer","from","getWorkspaceInfo","cwd","workspaceDir","BitMap","loadRawSync","provider","cliMain","loggerMain","createLogger","DoctorAspect","id","doctor","register","DoctorCmd","exports","CLIAspect","LoggerAspect","MainRuntime","addRuntime","_default"],"sources":["doctor.main.runtime.ts"],"sourcesContent":["import { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport path from 'path';\nimport fs from 'fs-extra';\nimport os from 'os';\n// @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\nimport Stream from 'stream';\nimport tar from 'tar-stream';\nimport tarFS from 'tar-fs';\nimport { getBitVersion } from '@teambit/bit.get-bit-version';\nimport { CFG_USER_EMAIL_KEY, CFG_USER_NAME_KEY, DEBUG_LOG } from '@teambit/legacy/dist/constants';\nimport { BitMap } from '@teambit/legacy.bit-map';\nimport WorkspaceConfig from '@teambit/legacy/dist/consumer/config/workspace-config';\nimport { getWorkspaceInfo, WorkspaceInfo } from '@teambit/workspace.modules.workspace-locator';\nimport Diagnosis, { ExamineResult } from './diagnosis';\nimport DoctorRegistrar from './doctor-registrar';\nimport registerCoreAndExtensionsDiagnoses from './doctor-registrar-builder';\nimport { compact } from 'lodash';\nimport { removeChalkCharacters } from '@teambit/legacy.utils';\nimport { getExt } from '@teambit/toolbox.fs.extension-getter';\nimport { findScopePath } from '@teambit/scope.modules.find-scope-path';\nimport * as globalConfig from '@teambit/legacy/dist/api/consumer/lib/global-config';\nimport { getNpmVersion } from './core-diagnoses/validate-npm-exec';\nimport { getYarnVersion } from './core-diagnoses/validate-yarn-exec';\nimport { DiagnosisNotFound } from './exceptions/diagnosis-not-found';\nimport { MissingDiagnosisName } from './exceptions/missing-diagnosis-name';\n\nimport { DoctorAspect } from './doctor.aspect';\nimport { DoctorCmd } from './doctor-cmd';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport chalk from 'chalk';\n\n// run specific check\nexport type DoctorMetaData = {\n nodeVersion: string;\n runningTimestamp: number;\n platform: string;\n bitVersion: string;\n npmVersion: string;\n yarnVersion: string;\n userDetails: string;\n};\nexport type DoctorRunAllResults = {\n examineResults: ExamineResult[];\n savedFilePath: string | null | undefined;\n metaData: DoctorMetaData;\n};\nexport type DoctorRunOneResult = {\n examineResult: ExamineResult;\n savedFilePath: string | null | undefined;\n metaData: DoctorMetaData;\n};\n\nlet runningTimeStamp;\n\nexport type DoctorOptions = {\n diagnosisName?: string;\n filePath?: string;\n archiveWorkspace?: boolean;\n includeNodeModules?: boolean;\n includePublic?: boolean;\n excludeLocalScope?: boolean;\n};\n\nexport class DoctorMain {\n constructor(private logger: Logger) {}\n\n async runAll(options: DoctorOptions): Promise<DoctorRunAllResults> {\n registerCoreAndExtensionsDiagnoses();\n runningTimeStamp = this._getTimeStamp();\n const doctorRegistrar = DoctorRegistrar.getInstance();\n const examineResultsWithNulls = await Promise.all(\n doctorRegistrar.diagnoses.map(async (diagnosis) => {\n try {\n return await diagnosis.examine();\n } catch (err: any) {\n this.logger.error(`doctor failed running diagnosis \"${diagnosis.name}\"`, err);\n this.logger.consoleFailure(\n chalk.red(`doctor failed running diagnosis \"${diagnosis.name}\".\\nerror-message: ${err.message}`)\n );\n }\n })\n );\n const examineResults = compact(examineResultsWithNulls);\n const envMeta = await this._getEnvMeta();\n const savedFilePath = await this._saveExamineResultsToFile(examineResults, envMeta, options);\n return { examineResults, savedFilePath, metaData: envMeta };\n }\n\n async runOne({ diagnosisName, ...options }: DoctorOptions): Promise<DoctorRunOneResult> {\n if (!diagnosisName) {\n throw new MissingDiagnosisName();\n }\n registerCoreAndExtensionsDiagnoses();\n runningTimeStamp = this._getTimeStamp();\n const doctorRegistrar = DoctorRegistrar.getInstance();\n const diagnosis = doctorRegistrar.getDiagnosisByName(diagnosisName);\n if (!diagnosis) {\n throw new DiagnosisNotFound(diagnosisName);\n }\n const examineResult = await diagnosis.examine();\n const envMeta = await this._getEnvMeta();\n const savedFilePath = await this._saveExamineResultsToFile([examineResult], envMeta, options);\n return { examineResult, savedFilePath, metaData: envMeta };\n }\n\n async listDiagnoses(): Promise<Diagnosis[]> {\n registerCoreAndExtensionsDiagnoses();\n const doctorRegistrar = DoctorRegistrar.getInstance();\n return Promise.resolve(doctorRegistrar.diagnoses);\n }\n\n private async _saveExamineResultsToFile(\n examineResults: ExamineResult[],\n envMeta: DoctorMetaData,\n options: DoctorOptions\n ): Promise<string | null | undefined> {\n if (!options.filePath) {\n return Promise.resolve(undefined);\n }\n const finalFilePath = this._calculateFinalFileName(options.filePath);\n const packStream = await this._generateExamineResultsTarFile(examineResults, envMeta, finalFilePath, options);\n\n const yourTarball = fs.createWriteStream(finalFilePath);\n\n packStream.pipe(yourTarball);\n\n return new Promise((resolve) => {\n yourTarball.on('close', () => {\n this.logger.info(`wrote a file by bit doctor, file path: ${finalFilePath}`);\n resolve(finalFilePath);\n // fs.stat(finalFilePath, private (err, stats) {\n // if (err) throw err\n // console.log(stats)\n // console.log('Got file info successfully!')\n // })\n });\n });\n }\n\n private getWithoutExt(filename: string): string {\n const ext = getExt(filename);\n // There is no extension just return the file name\n if (ext === filename) {\n return filename;\n }\n return filename.substring(0, filename.length - ext.length - 1); // -1 to remove the '.'\n }\n\n private _calculateFinalFileName(fileName: string): string {\n if (fileName === '.') {\n return this._getDefaultFileName();\n }\n let finalFileName = fileName;\n if (getExt(fileName) !== 'tar' && getExt(fileName) !== 'tar.gz') {\n finalFileName = `${this.getWithoutExt(finalFileName)}.tar`;\n }\n return finalFileName;\n }\n\n private _getDefaultFileName() {\n const timestamp = runningTimeStamp || this._getTimeStamp();\n return `doctor-results-${timestamp}.tar`;\n }\n\n // TODO: move to utils\n private _getTimeStamp() {\n const d = new Date();\n const timestamp = d.getTime();\n return timestamp;\n }\n\n private async _generateExamineResultsTarFile(\n examineResults: ExamineResult[],\n envMeta: DoctorMetaData,\n tarFilePath: string,\n options: DoctorOptions\n ): Promise<Stream.Readable> {\n const { archiveWorkspace, includeNodeModules, includePublic, excludeLocalScope } = options;\n const debugLog = await this._getDebugLogAsBuffer();\n const consumerInfo = await this._getWorkspaceInfo();\n let bitmap;\n if (consumerInfo && consumerInfo.path) {\n bitmap = this._getBitMap(consumerInfo.path);\n }\n\n const packExamineResults = async (pack) => {\n pack.entry({ name: 'env-meta.json' }, JSON.stringify(envMeta, null, 2));\n pack.entry({ name: 'doc-results.json' }, JSON.stringify(examineResults, null, 2));\n if (debugLog) {\n pack.entry({ name: 'debug.log' }, debugLog);\n }\n if (!archiveWorkspace && bitmap) {\n pack.entry({ name: '.bitmap' }, bitmap);\n }\n if (consumerInfo && consumerInfo.hasWorkspaceConfig) {\n // TODO: support new config as well\n const scopePath = findScopePath(consumerInfo.path);\n const config = scopePath ? await WorkspaceConfig.loadIfExist(consumerInfo.path, scopePath) : undefined;\n const legacyPlainConfig = config?._legacyPlainObject();\n if (legacyPlainConfig) {\n pack.entry({ name: 'config.json' }, JSON.stringify(legacyPlainConfig, null, 4));\n }\n }\n\n pack.finalize();\n\n return pack;\n };\n\n if (!archiveWorkspace) {\n const pack = tar.pack(); // pack is a streams2 stream\n return packExamineResults(pack);\n }\n\n const ignore = (fileName: string) => {\n if (fileName === tarFilePath) return true;\n if (fileName === '.DS_Store') return true;\n if (\n !includeNodeModules &&\n (fileName.startsWith(`node_modules${path.sep}`) || fileName.includes(`${path.sep}node_modules${path.sep}`))\n )\n return true;\n if (\n !includePublic &&\n (fileName.startsWith(`public${path.sep}`) || fileName.includes(`${path.sep}public${path.sep}`))\n )\n return true;\n const isGit = fileName.startsWith(`.git${path.sep}`);\n const isLocalScope =\n fileName.startsWith(`.bit${path.sep}`) || fileName.startsWith(`.git${path.sep}bit${path.sep}`);\n if (excludeLocalScope && isLocalScope) return true;\n if (isGit && !isLocalScope) return true;\n return false;\n };\n\n const myPack = tarFS.pack('.', {\n ignore,\n finalize: false,\n finish: packExamineResults,\n });\n\n return myPack;\n }\n\n private async _getEnvMeta(): Promise<DoctorMetaData> {\n const env = {\n nodeVersion: process.version,\n runningTimestamp: runningTimeStamp || this._getTimeStamp(),\n platform: os.platform(),\n bitVersion: getBitVersion(),\n npmVersion: await getNpmVersion(),\n yarnVersion: await getYarnVersion(),\n userDetails: this._getUserDetails(),\n };\n\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n return env;\n }\n\n private _getUserDetails(): string {\n const name = globalConfig.getSync(CFG_USER_NAME_KEY) || '';\n const email = globalConfig.getSync(CFG_USER_EMAIL_KEY) || '';\n return `${name}<${email}>`;\n }\n\n private async _getDebugLogAsBuffer(): Promise<Buffer | null | undefined> {\n const exists = await fs.pathExists(DEBUG_LOG);\n if (!exists) return null;\n const log = await fs.readFile(DEBUG_LOG, 'utf-8');\n const logWithoutChalk = removeChalkCharacters(log) as string;\n return Buffer.from(logWithoutChalk);\n }\n\n private async _getWorkspaceInfo(): Promise<WorkspaceInfo | null | undefined> {\n const consumerInfo = await getWorkspaceInfo(process.cwd());\n return consumerInfo;\n }\n\n private _getBitMap(workspaceDir): Buffer | null | undefined {\n return BitMap.loadRawSync(workspaceDir);\n }\n\n static slots = [];\n static dependencies = [CLIAspect, LoggerAspect];\n static runtime = MainRuntime;\n static async provider([cliMain, loggerMain]: [CLIMain, LoggerMain]) {\n const logger = loggerMain.createLogger(DoctorAspect.id);\n const doctor = new DoctorMain(logger);\n cliMain.register(new DoctorCmd(doctor));\n return doctor;\n }\n}\n\nDoctorAspect.addRuntime(DoctorMain);\n\nexport default DoctorMain;\n"],"mappings":"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","ignoreList":[]}
|
package/doctor.main.runtime.ts
CHANGED
|
@@ -10,7 +10,7 @@ import { getBitVersion } from '@teambit/bit.get-bit-version';
|
|
|
10
10
|
import { CFG_USER_EMAIL_KEY, CFG_USER_NAME_KEY, DEBUG_LOG } from '@teambit/legacy/dist/constants';
|
|
11
11
|
import { BitMap } from '@teambit/legacy.bit-map';
|
|
12
12
|
import WorkspaceConfig from '@teambit/legacy/dist/consumer/config/workspace-config';
|
|
13
|
-
import {
|
|
13
|
+
import { getWorkspaceInfo, WorkspaceInfo } from '@teambit/workspace.modules.workspace-locator';
|
|
14
14
|
import Diagnosis, { ExamineResult } from './diagnosis';
|
|
15
15
|
import DoctorRegistrar from './doctor-registrar';
|
|
16
16
|
import registerCoreAndExtensionsDiagnoses from './doctor-registrar-builder';
|
|
@@ -177,7 +177,7 @@ export class DoctorMain {
|
|
|
177
177
|
): Promise<Stream.Readable> {
|
|
178
178
|
const { archiveWorkspace, includeNodeModules, includePublic, excludeLocalScope } = options;
|
|
179
179
|
const debugLog = await this._getDebugLogAsBuffer();
|
|
180
|
-
const consumerInfo = await this.
|
|
180
|
+
const consumerInfo = await this._getWorkspaceInfo();
|
|
181
181
|
let bitmap;
|
|
182
182
|
if (consumerInfo && consumerInfo.path) {
|
|
183
183
|
bitmap = this._getBitMap(consumerInfo.path);
|
|
@@ -192,7 +192,7 @@ export class DoctorMain {
|
|
|
192
192
|
if (!archiveWorkspace && bitmap) {
|
|
193
193
|
pack.entry({ name: '.bitmap' }, bitmap);
|
|
194
194
|
}
|
|
195
|
-
if (consumerInfo && consumerInfo.
|
|
195
|
+
if (consumerInfo && consumerInfo.hasWorkspaceConfig) {
|
|
196
196
|
// TODO: support new config as well
|
|
197
197
|
const scopePath = findScopePath(consumerInfo.path);
|
|
198
198
|
const config = scopePath ? await WorkspaceConfig.loadIfExist(consumerInfo.path, scopePath) : undefined;
|
|
@@ -271,8 +271,8 @@ export class DoctorMain {
|
|
|
271
271
|
return Buffer.from(logWithoutChalk);
|
|
272
272
|
}
|
|
273
273
|
|
|
274
|
-
private async
|
|
275
|
-
const consumerInfo = await
|
|
274
|
+
private async _getWorkspaceInfo(): Promise<WorkspaceInfo | null | undefined> {
|
|
275
|
+
const consumerInfo = await getWorkspaceInfo(process.cwd());
|
|
276
276
|
return consumerInfo;
|
|
277
277
|
}
|
|
278
278
|
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@teambit/doctor",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.154",
|
|
4
4
|
"homepage": "https://bit.cloud/teambit/harmony/doctor",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"componentId": {
|
|
7
7
|
"scope": "teambit.harmony",
|
|
8
8
|
"name": "doctor",
|
|
9
|
-
"version": "0.0.
|
|
9
|
+
"version": "0.0.154"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"chalk": "2.4.2",
|
|
@@ -25,12 +25,13 @@
|
|
|
25
25
|
"@teambit/component-id": "1.2.2",
|
|
26
26
|
"@teambit/bvm.list": "0.1.15",
|
|
27
27
|
"@teambit/bit-error": "0.0.404",
|
|
28
|
-
"@teambit/cli": "0.0.
|
|
28
|
+
"@teambit/cli": "0.0.1048",
|
|
29
29
|
"@teambit/bit.get-bit-version": "0.0.1",
|
|
30
|
-
"@teambit/legacy.bit-map": "0.0.
|
|
30
|
+
"@teambit/legacy.bit-map": "0.0.52",
|
|
31
31
|
"@teambit/legacy.utils": "0.0.6",
|
|
32
|
-
"@teambit/logger": "0.0.
|
|
32
|
+
"@teambit/logger": "0.0.1141",
|
|
33
33
|
"@teambit/toolbox.fs.extension-getter": "0.0.1",
|
|
34
|
+
"@teambit/workspace.modules.workspace-locator": "0.0.1",
|
|
34
35
|
"@teambit/git.modules.git-executable": "0.0.1"
|
|
35
36
|
},
|
|
36
37
|
"devDependencies": {
|
|
@@ -44,7 +45,7 @@
|
|
|
44
45
|
"@types/testing-library__jest-dom": "5.9.5"
|
|
45
46
|
},
|
|
46
47
|
"peerDependencies": {
|
|
47
|
-
"@teambit/legacy": "1.0.
|
|
48
|
+
"@teambit/legacy": "1.0.764",
|
|
48
49
|
"react": "^16.8.0 || ^17.0.0",
|
|
49
50
|
"react-dom": "^16.8.0 || ^17.0.0"
|
|
50
51
|
},
|
|
File without changes
|