@teambit/doctor 0.0.33 → 0.0.35

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.
@@ -1,4 +1,5 @@
1
1
  import { Command, CommandOptions } from '@teambit/cli';
2
+ import { DoctorMain } from './doctor.main.runtime';
2
3
  type Flags = {
3
4
  list?: boolean;
4
5
  save?: string;
@@ -8,12 +9,14 @@ type Flags = {
8
9
  excludeLocalScope?: boolean;
9
10
  };
10
11
  export declare class DoctorCmd implements Command {
12
+ private doctor;
11
13
  name: string;
12
14
  description: string;
13
15
  group: string;
14
16
  alias: string;
15
17
  loadAspects: boolean;
16
18
  options: CommandOptions;
19
+ constructor(doctor: DoctorMain);
17
20
  report([diagnosisName]: string[], flags: Flags): Promise<string>;
18
21
  json([diagnosisName]: string[], flags: Flags): Promise<any>;
19
22
  private runDiag;
@@ -4,13 +4,6 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.DoctorCmd = void 0;
7
- function _doctor() {
8
- const data = _interopRequireWildcard(require("./doctor"));
9
- _doctor = function () {
10
- return data;
11
- };
12
- return data;
13
- }
14
7
  function _diagnosisListTemplate() {
15
8
  const data = _interopRequireDefault(require("./diagnosis-list-template"));
16
9
  _diagnosisListTemplate = function () {
@@ -26,13 +19,12 @@ function _doctorResultsTemplate() {
26
19
  return data;
27
20
  }
28
21
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
29
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
30
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
31
22
  function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
32
23
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
33
24
  function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
34
25
  class DoctorCmd {
35
- constructor() {
26
+ constructor(doctor) {
27
+ this.doctor = doctor;
36
28
  _defineProperty(this, "name", 'doctor [diagnosis-name]');
37
29
  _defineProperty(this, "description", 'diagnose a bit workspace');
38
30
  _defineProperty(this, "group", 'general');
@@ -95,7 +87,7 @@ class DoctorCmd {
95
87
  excludeLocalScope = false
96
88
  } = flags;
97
89
  if (list) {
98
- return (0, _doctor().listDiagnoses)();
90
+ return this.doctor.listDiagnoses();
99
91
  }
100
92
  if ((includeNodeModules || excludeLocalScope) && !archive) {
101
93
  throw new Error('to use --include-node-modules or --exclude-local-scope please specify --archive');
@@ -117,7 +109,7 @@ class DoctorCmd {
117
109
  includePublic,
118
110
  excludeLocalScope
119
111
  };
120
- return diagnosisName ? (0, _doctor().runOne)(doctorOptions) : (0, _doctor().default)(doctorOptions);
112
+ return diagnosisName ? this.doctor.runOne(doctorOptions) : this.doctor.runAll(doctorOptions);
121
113
  }
122
114
  }
123
115
  exports.DoctorCmd = DoctorCmd;
@@ -1 +1 @@
1
- {"version":3,"names":["_doctor","data","_interopRequireWildcard","require","_diagnosisListTemplate","_interopRequireDefault","_doctorResultsTemplate","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_defineProperty","_toPropertyKey","value","enumerable","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","DoctorCmd","constructor","report","diagnosisName","flags","res","runDiag","list","formatDiagnosesList","examineResult","savedFilePath","metaData","formatDiagnosesResult","examineResults","json","fullJson","save","archive","includeNodeModules","includePublic","excludeLocalScope","listDiagnoses","Error","filePath","doctorOptions","archiveWorkspace","Boolean","runOne","runAll","exports"],"sources":["doctor-cmd.ts"],"sourcesContent":["import runAll, { DoctorOptions, listDiagnoses, runOne } from './doctor';\nimport { Command, CommandOptions } from '@teambit/cli';\nimport formatDiagnosesList from './diagnosis-list-template';\nimport formatDiagnosesResult from './doctor-results-template';\n\ntype Flags = {\n list?: boolean;\n save?: string;\n archive?: string;\n includeNodeModules?: boolean;\n includePublic?: boolean;\n excludeLocalScope?: boolean;\n};\n\nexport class DoctorCmd implements Command {\n name = 'doctor [diagnosis-name]';\n description = 'diagnose a bit workspace';\n group = 'general';\n alias = '';\n loadAspects = false;\n options = [\n ['j', 'json', 'return diagnoses in json format'],\n ['', 'list', 'list all available diagnoses'],\n ['s', 'save [filePath]', 'save diagnoses to a file'],\n [\n 'a',\n 'archive [filePath]',\n 'archive the workspace including diagnosis info (by default exclude node-modules and include .bit)',\n ],\n ['n', 'include-node-modules', 'relevant for --archive. include node_modules in the archive file'],\n ['p', 'include-public', 'relevant for --archive. include public folder in the archive file'],\n ['e', 'exclude-local-scope', 'relevant for --archive. exclude .bit or .git/bit from the archive file'],\n ] as CommandOptions;\n\n async report([diagnosisName]: string[], flags: Flags) {\n const res = await this.runDiag(diagnosisName, flags);\n if (flags.list) {\n return formatDiagnosesList(res);\n }\n if (diagnosisName) {\n const { examineResult, savedFilePath, metaData } = res;\n return formatDiagnosesResult({ examineResults: [examineResult], savedFilePath, metaData });\n }\n const { examineResults, savedFilePath, metaData } = res;\n return formatDiagnosesResult({ examineResults, savedFilePath, metaData });\n }\n\n async json([diagnosisName]: string[], flags: Flags) {\n const res = await this.runDiag(diagnosisName, flags);\n if (flags.list) {\n return res;\n }\n const { examineResults, examineResult, savedFilePath } = res;\n const fullJson = {\n savedFilePath,\n examineResult,\n examineResults,\n };\n return fullJson;\n }\n\n private async runDiag(diagnosisName?: string, flags: Flags = {}): Promise<any> {\n const {\n list = false,\n save,\n archive,\n includeNodeModules = false,\n includePublic = false,\n excludeLocalScope = false,\n } = flags;\n\n if (list) {\n return listDiagnoses();\n }\n if ((includeNodeModules || excludeLocalScope) && !archive) {\n throw new Error('to use --include-node-modules or --exclude-local-scope please specify --archive');\n }\n let filePath = save;\n // Happen when used --save without specify the location\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n if (save === true || archive === true) {\n filePath = '.';\n }\n if (typeof archive === 'string') {\n filePath = archive;\n }\n const doctorOptions: DoctorOptions = {\n diagnosisName,\n filePath,\n archiveWorkspace: Boolean(archive),\n includeNodeModules,\n includePublic,\n excludeLocalScope,\n };\n return diagnosisName ? runOne(doctorOptions) : runAll(doctorOptions);\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_diagnosisListTemplate","data","_interopRequireDefault","require","_doctorResultsTemplate","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","DoctorCmd","constructor","doctor","report","diagnosisName","flags","res","runDiag","list","formatDiagnosesList","examineResult","savedFilePath","metaData","formatDiagnosesResult","examineResults","json","fullJson","save","archive","includeNodeModules","includePublic","excludeLocalScope","listDiagnoses","Error","filePath","doctorOptions","archiveWorkspace","Boolean","runOne","runAll","exports"],"sources":["doctor-cmd.ts"],"sourcesContent":["import { Command, CommandOptions } from '@teambit/cli';\nimport formatDiagnosesList from './diagnosis-list-template';\nimport formatDiagnosesResult from './doctor-results-template';\nimport { DoctorMain, DoctorOptions } from './doctor.main.runtime';\n\ntype Flags = {\n list?: boolean;\n save?: string;\n archive?: string;\n includeNodeModules?: boolean;\n includePublic?: boolean;\n excludeLocalScope?: boolean;\n};\n\nexport class DoctorCmd implements Command {\n name = 'doctor [diagnosis-name]';\n description = 'diagnose a bit workspace';\n group = 'general';\n alias = '';\n loadAspects = false;\n options = [\n ['j', 'json', 'return diagnoses in json format'],\n ['', 'list', 'list all available diagnoses'],\n ['s', 'save [filePath]', 'save diagnoses to a file'],\n [\n 'a',\n 'archive [filePath]',\n 'archive the workspace including diagnosis info (by default exclude node-modules and include .bit)',\n ],\n ['n', 'include-node-modules', 'relevant for --archive. include node_modules in the archive file'],\n ['p', 'include-public', 'relevant for --archive. include public folder in the archive file'],\n ['e', 'exclude-local-scope', 'relevant for --archive. exclude .bit or .git/bit from the archive file'],\n ] as CommandOptions;\n\n constructor(private doctor: DoctorMain) {}\n\n async report([diagnosisName]: string[], flags: Flags) {\n const res = await this.runDiag(diagnosisName, flags);\n if (flags.list) {\n return formatDiagnosesList(res);\n }\n if (diagnosisName) {\n const { examineResult, savedFilePath, metaData } = res;\n return formatDiagnosesResult({ examineResults: [examineResult], savedFilePath, metaData });\n }\n const { examineResults, savedFilePath, metaData } = res;\n return formatDiagnosesResult({ examineResults, savedFilePath, metaData });\n }\n\n async json([diagnosisName]: string[], flags: Flags) {\n const res = await this.runDiag(diagnosisName, flags);\n if (flags.list) {\n return res;\n }\n const { examineResults, examineResult, savedFilePath } = res;\n const fullJson = {\n savedFilePath,\n examineResult,\n examineResults,\n };\n return fullJson;\n }\n\n private async runDiag(diagnosisName?: string, flags: Flags = {}): Promise<any> {\n const {\n list = false,\n save,\n archive,\n includeNodeModules = false,\n includePublic = false,\n excludeLocalScope = false,\n } = flags;\n\n if (list) {\n return this.doctor.listDiagnoses();\n }\n if ((includeNodeModules || excludeLocalScope) && !archive) {\n throw new Error('to use --include-node-modules or --exclude-local-scope please specify --archive');\n }\n let filePath = save;\n // Happen when used --save without specify the location\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n if (save === true || archive === true) {\n filePath = '.';\n }\n if (typeof archive === 'string') {\n filePath = archive;\n }\n const doctorOptions: DoctorOptions = {\n diagnosisName,\n filePath,\n archiveWorkspace: Boolean(archive),\n includeNodeModules,\n includePublic,\n excludeLocalScope,\n };\n return diagnosisName ? this.doctor.runOne(doctorOptions) : this.doctor.runAll(doctorOptions);\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import { DoctorRunAllResults } from './doctor';
1
+ import { DoctorRunAllResults } from './doctor.main.runtime';
2
2
  export default function render({ examineResults, savedFilePath, metaData }: DoctorRunAllResults): string;
@@ -1 +1 @@
1
- {"version":3,"names":["_chalk","data","_interopRequireDefault","require","_table","e","__esModule","default","summeryTableColumnConfig","columnDefault","alignment","_formatStatusCell","status","chalk","green","red","_createSummeryRow","examineResult","meta","diagnosisMetaData","bareResult","valid","category","name","description","_createSummeryTable","header","bold","rows","map","unshift","output","table","_createSummerySection","title","underline","summeryTable","_createFullReportForDiagnosis","symptomsTitle","symptomsText","formattedSymptoms","cureTitle","cureText","formattedManualTreat","_createFullReportForDiagnoses","fullDiagnosesReport","join","_createFullReportSection","trim","_createWrittenFileSection","savedFilePath","_createMetaSection","metaData","bitVersion","nodeVersion","npmVersion","yarnVersion","platform","userDetails","render","examineResults","meatSection","summerySection","fullReportSection","writtenFileSection"],"sources":["doctor-results-template.ts"],"sourcesContent":["import chalk from 'chalk';\nimport { table } from 'table';\nimport { DoctorMetaData, DoctorRunAllResults } from './doctor';\nimport { ExamineResult } from './diagnosis';\n\n// const NAME_COLUMN_WIDTH = 100;\n// const DESCRIPTION_COLUMN_WIDTH = 30;\n\nconst summeryTableColumnConfig = {\n columnDefault: {\n alignment: 'left',\n },\n};\n\ntype SummeryRow = [string, string, string, string];\n\nfunction _formatStatusCell(status: boolean): string {\n if (status) {\n return chalk.green('passed');\n }\n return chalk.red('failed');\n}\n\nfunction _createSummeryRow(examineResult: ExamineResult): SummeryRow {\n const meta = examineResult.diagnosisMetaData;\n const status = _formatStatusCell(examineResult.bareResult.valid);\n return [meta.category, meta.name, meta.description, status];\n}\n\nfunction _createSummeryTable(examineResult: ExamineResult[]): string {\n const header = [chalk.bold('category'), chalk.bold('name'), chalk.bold('description'), chalk.bold('status')];\n const rows = examineResult.map(_createSummeryRow);\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n rows.unshift(header);\n const output = table(rows, summeryTableColumnConfig);\n return output;\n}\n\nfunction _createSummerySection(examineResult: ExamineResult[]): string {\n // A placeholder if we will decide we want a title\n const title = chalk.underline('');\n const summeryTable = _createSummeryTable(examineResult);\n return `${title}\\n${summeryTable}`;\n}\n\nfunction _createFullReportForDiagnosis(examineResult: ExamineResult): string {\n if (examineResult.bareResult.valid) {\n return '';\n }\n const title = chalk.underline(examineResult.diagnosisMetaData.name);\n const symptomsTitle = chalk.underline('symptoms');\n const symptomsText = examineResult.formattedSymptoms;\n const cureTitle = chalk.underline('cure');\n const cureText = examineResult.formattedManualTreat;\n return `${title}\n ${symptomsTitle}\n ${symptomsText}\n ${cureTitle}\n ${cureText}\\n`;\n}\n\nfunction _createFullReportForDiagnoses(examineResult: ExamineResult[]): string {\n const fullDiagnosesReport = examineResult.map(_createFullReportForDiagnosis).join('\\n');\n return fullDiagnosesReport;\n}\n\nfunction _createFullReportSection(examineResult: ExamineResult[]): string {\n const title = chalk.underline('Error report');\n const fullDiagnosesReport = _createFullReportForDiagnoses(examineResult);\n if (fullDiagnosesReport.trim() === '') {\n return '';\n }\n return `${title}\n${fullDiagnosesReport}`;\n}\n\nfunction _createWrittenFileSection(savedFilePath) {\n if (!savedFilePath) {\n return '';\n }\n return `File written to ${savedFilePath}`;\n}\n\nfunction _createMetaSection(metaData: DoctorMetaData) {\n return `\n bit version : ${metaData.bitVersion}\n node version : ${metaData.nodeVersion}\n npm version : ${metaData.npmVersion || 'NA'}\n yarn version : ${metaData.yarnVersion || 'NA'}\n platform : ${metaData.platform}\n user details : ${metaData.userDetails}\n`;\n}\n\nexport default function render({ examineResults, savedFilePath, metaData }: DoctorRunAllResults): string {\n const meatSection = _createMetaSection(metaData);\n const summerySection = _createSummerySection(examineResults);\n const fullReportSection = _createFullReportSection(examineResults);\n const writtenFileSection = _createWrittenFileSection(savedFilePath);\n const output = `${meatSection}\n${summerySection}\n${fullReportSection}\n${writtenFileSection}`;\n return output;\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_chalk","data","_interopRequireDefault","require","_table","e","__esModule","default","summeryTableColumnConfig","columnDefault","alignment","_formatStatusCell","status","chalk","green","red","_createSummeryRow","examineResult","meta","diagnosisMetaData","bareResult","valid","category","name","description","_createSummeryTable","header","bold","rows","map","unshift","output","table","_createSummerySection","title","underline","summeryTable","_createFullReportForDiagnosis","symptomsTitle","symptomsText","formattedSymptoms","cureTitle","cureText","formattedManualTreat","_createFullReportForDiagnoses","fullDiagnosesReport","join","_createFullReportSection","trim","_createWrittenFileSection","savedFilePath","_createMetaSection","metaData","bitVersion","nodeVersion","npmVersion","yarnVersion","platform","userDetails","render","examineResults","meatSection","summerySection","fullReportSection","writtenFileSection"],"sources":["doctor-results-template.ts"],"sourcesContent":["import chalk from 'chalk';\nimport { table } from 'table';\nimport { DoctorMetaData, DoctorRunAllResults } from './doctor.main.runtime';\nimport { ExamineResult } from './diagnosis';\n\n// const NAME_COLUMN_WIDTH = 100;\n// const DESCRIPTION_COLUMN_WIDTH = 30;\n\nconst summeryTableColumnConfig = {\n columnDefault: {\n alignment: 'left',\n },\n};\n\ntype SummeryRow = [string, string, string, string];\n\nfunction _formatStatusCell(status: boolean): string {\n if (status) {\n return chalk.green('passed');\n }\n return chalk.red('failed');\n}\n\nfunction _createSummeryRow(examineResult: ExamineResult): SummeryRow {\n const meta = examineResult.diagnosisMetaData;\n const status = _formatStatusCell(examineResult.bareResult.valid);\n return [meta.category, meta.name, meta.description, status];\n}\n\nfunction _createSummeryTable(examineResult: ExamineResult[]): string {\n const header = [chalk.bold('category'), chalk.bold('name'), chalk.bold('description'), chalk.bold('status')];\n const rows = examineResult.map(_createSummeryRow);\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n rows.unshift(header);\n const output = table(rows, summeryTableColumnConfig);\n return output;\n}\n\nfunction _createSummerySection(examineResult: ExamineResult[]): string {\n // A placeholder if we will decide we want a title\n const title = chalk.underline('');\n const summeryTable = _createSummeryTable(examineResult);\n return `${title}\\n${summeryTable}`;\n}\n\nfunction _createFullReportForDiagnosis(examineResult: ExamineResult): string {\n if (examineResult.bareResult.valid) {\n return '';\n }\n const title = chalk.underline(examineResult.diagnosisMetaData.name);\n const symptomsTitle = chalk.underline('symptoms');\n const symptomsText = examineResult.formattedSymptoms;\n const cureTitle = chalk.underline('cure');\n const cureText = examineResult.formattedManualTreat;\n return `${title}\n ${symptomsTitle}\n ${symptomsText}\n ${cureTitle}\n ${cureText}\\n`;\n}\n\nfunction _createFullReportForDiagnoses(examineResult: ExamineResult[]): string {\n const fullDiagnosesReport = examineResult.map(_createFullReportForDiagnosis).join('\\n');\n return fullDiagnosesReport;\n}\n\nfunction _createFullReportSection(examineResult: ExamineResult[]): string {\n const title = chalk.underline('Error report');\n const fullDiagnosesReport = _createFullReportForDiagnoses(examineResult);\n if (fullDiagnosesReport.trim() === '') {\n return '';\n }\n return `${title}\n${fullDiagnosesReport}`;\n}\n\nfunction _createWrittenFileSection(savedFilePath) {\n if (!savedFilePath) {\n return '';\n }\n return `File written to ${savedFilePath}`;\n}\n\nfunction _createMetaSection(metaData: DoctorMetaData) {\n return `\n bit version : ${metaData.bitVersion}\n node version : ${metaData.nodeVersion}\n npm version : ${metaData.npmVersion || 'NA'}\n yarn version : ${metaData.yarnVersion || 'NA'}\n platform : ${metaData.platform}\n user details : ${metaData.userDetails}\n`;\n}\n\nexport default function render({ examineResults, savedFilePath, metaData }: DoctorRunAllResults): string {\n const meatSection = _createMetaSection(metaData);\n const summerySection = _createSummerySection(examineResults);\n const fullReportSection = _createFullReportSection(examineResults);\n const writtenFileSection = _createWrittenFileSection(savedFilePath);\n const output = `${meatSection}\n${summerySection}\n${fullReportSection}\n${writtenFileSection}`;\n return output;\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,8 +1,53 @@
1
1
  import { CLIMain } from '@teambit/cli';
2
+ import Diagnosis, { ExamineResult } from './diagnosis';
3
+ import { Logger, LoggerMain } from '@teambit/logger';
4
+ export type DoctorMetaData = {
5
+ nodeVersion: string;
6
+ runningTimestamp: number;
7
+ platform: string;
8
+ bitVersion: string;
9
+ npmVersion: string;
10
+ yarnVersion: string;
11
+ userDetails: string;
12
+ };
13
+ export type DoctorRunAllResults = {
14
+ examineResults: ExamineResult[];
15
+ savedFilePath: string | null | undefined;
16
+ metaData: DoctorMetaData;
17
+ };
18
+ export type DoctorRunOneResult = {
19
+ examineResult: ExamineResult;
20
+ savedFilePath: string | null | undefined;
21
+ metaData: DoctorMetaData;
22
+ };
23
+ export type DoctorOptions = {
24
+ diagnosisName?: string;
25
+ filePath?: string;
26
+ archiveWorkspace?: boolean;
27
+ includeNodeModules?: boolean;
28
+ includePublic?: boolean;
29
+ excludeLocalScope?: boolean;
30
+ };
2
31
  export declare class DoctorMain {
32
+ private logger;
33
+ constructor(logger: Logger);
34
+ runAll(options: DoctorOptions): Promise<DoctorRunAllResults>;
35
+ runOne({ diagnosisName, ...options }: DoctorOptions): Promise<DoctorRunOneResult>;
36
+ listDiagnoses(): Promise<Diagnosis[]>;
37
+ private _saveExamineResultsToFile;
38
+ private getWithoutExt;
39
+ private _calculateFinalFileName;
40
+ private _getDefaultFileName;
41
+ private _getTimeStamp;
42
+ private _generateExamineResultsTarFile;
43
+ private _getEnvMeta;
44
+ private _getUserDetails;
45
+ private _getDebugLogAsBuffer;
46
+ private _getConsumerInfo;
47
+ private _getBitMap;
3
48
  static slots: never[];
4
49
  static dependencies: import("@teambit/harmony").Aspect[];
5
50
  static runtime: import("@teambit/harmony").RuntimeDefinition;
6
- static provider([cliMain]: [CLIMain]): Promise<DoctorMain>;
51
+ static provider([cliMain, loggerMain]: [CLIMain, LoggerMain]): Promise<DoctorMain>;
7
52
  }
8
53
  export default DoctorMain;
@@ -11,6 +11,153 @@ function _cli() {
11
11
  };
12
12
  return data;
13
13
  }
14
+ function _path() {
15
+ const data = _interopRequireDefault(require("path"));
16
+ _path = function () {
17
+ return data;
18
+ };
19
+ return data;
20
+ }
21
+ function _fsExtra() {
22
+ const data = _interopRequireDefault(require("fs-extra"));
23
+ _fsExtra = function () {
24
+ return data;
25
+ };
26
+ return data;
27
+ }
28
+ function _os() {
29
+ const data = _interopRequireDefault(require("os"));
30
+ _os = function () {
31
+ return data;
32
+ };
33
+ return data;
34
+ }
35
+ function _tarStream() {
36
+ const data = _interopRequireDefault(require("tar-stream"));
37
+ _tarStream = function () {
38
+ return data;
39
+ };
40
+ return data;
41
+ }
42
+ function _tarFs() {
43
+ const data = _interopRequireDefault(require("tar-fs"));
44
+ _tarFs = function () {
45
+ return data;
46
+ };
47
+ return data;
48
+ }
49
+ function _bit() {
50
+ const data = require("@teambit/bit.get-bit-version");
51
+ _bit = function () {
52
+ return data;
53
+ };
54
+ return data;
55
+ }
56
+ function _constants() {
57
+ const data = require("@teambit/legacy/dist/constants");
58
+ _constants = function () {
59
+ return data;
60
+ };
61
+ return data;
62
+ }
63
+ function _legacy() {
64
+ const data = require("@teambit/legacy.bit-map");
65
+ _legacy = function () {
66
+ return data;
67
+ };
68
+ return data;
69
+ }
70
+ function _workspaceConfig() {
71
+ const data = _interopRequireDefault(require("@teambit/legacy/dist/consumer/config/workspace-config"));
72
+ _workspaceConfig = function () {
73
+ return data;
74
+ };
75
+ return data;
76
+ }
77
+ function _consumerLocator() {
78
+ const data = require("@teambit/legacy/dist/consumer/consumer-locator");
79
+ _consumerLocator = function () {
80
+ return data;
81
+ };
82
+ return data;
83
+ }
84
+ function _doctorRegistrar() {
85
+ const data = _interopRequireDefault(require("./doctor-registrar"));
86
+ _doctorRegistrar = function () {
87
+ return data;
88
+ };
89
+ return data;
90
+ }
91
+ function _doctorRegistrarBuilder() {
92
+ const data = _interopRequireDefault(require("./doctor-registrar-builder"));
93
+ _doctorRegistrarBuilder = function () {
94
+ return data;
95
+ };
96
+ return data;
97
+ }
98
+ function _lodash() {
99
+ const data = require("lodash");
100
+ _lodash = function () {
101
+ return data;
102
+ };
103
+ return data;
104
+ }
105
+ function _legacy2() {
106
+ const data = require("@teambit/legacy.utils");
107
+ _legacy2 = function () {
108
+ return data;
109
+ };
110
+ return data;
111
+ }
112
+ function _toolboxFs() {
113
+ const data = require("@teambit/toolbox.fs.extension-getter");
114
+ _toolboxFs = function () {
115
+ return data;
116
+ };
117
+ return data;
118
+ }
119
+ function _scopeModules() {
120
+ const data = require("@teambit/scope.modules.find-scope-path");
121
+ _scopeModules = function () {
122
+ return data;
123
+ };
124
+ return data;
125
+ }
126
+ function globalConfig() {
127
+ const data = _interopRequireWildcard(require("@teambit/legacy/dist/api/consumer/lib/global-config"));
128
+ globalConfig = function () {
129
+ return data;
130
+ };
131
+ return data;
132
+ }
133
+ function _validateNpmExec() {
134
+ const data = require("./core-diagnoses/validate-npm-exec");
135
+ _validateNpmExec = function () {
136
+ return data;
137
+ };
138
+ return data;
139
+ }
140
+ function _validateYarnExec() {
141
+ const data = require("./core-diagnoses/validate-yarn-exec");
142
+ _validateYarnExec = function () {
143
+ return data;
144
+ };
145
+ return data;
146
+ }
147
+ function _diagnosisNotFound() {
148
+ const data = require("./exceptions/diagnosis-not-found");
149
+ _diagnosisNotFound = function () {
150
+ return data;
151
+ };
152
+ return data;
153
+ }
154
+ function _missingDiagnosisName() {
155
+ const data = require("./exceptions/missing-diagnosis-name");
156
+ _missingDiagnosisName = function () {
157
+ return data;
158
+ };
159
+ return data;
160
+ }
14
161
  function _doctor() {
15
162
  const data = require("./doctor.aspect");
16
163
  _doctor = function () {
@@ -25,18 +172,244 @@ function _doctorCmd() {
25
172
  };
26
173
  return data;
27
174
  }
175
+ function _logger() {
176
+ const data = require("@teambit/logger");
177
+ _logger = function () {
178
+ return data;
179
+ };
180
+ return data;
181
+ }
182
+ function _chalk() {
183
+ const data = _interopRequireDefault(require("chalk"));
184
+ _chalk = function () {
185
+ return data;
186
+ };
187
+ return data;
188
+ }
189
+ const _excluded = ["diagnosisName"];
190
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
191
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
192
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
193
+ function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], t.indexOf(o) >= 0 || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
194
+ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.indexOf(n) >= 0) continue; t[n] = r[n]; } return t; }
28
195
  function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
29
196
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
30
- function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
197
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!
198
+ // run specific check
199
+
200
+ let runningTimeStamp;
31
201
  class DoctorMain {
32
- static async provider([cliMain]) {
33
- cliMain.register(new (_doctorCmd().DoctorCmd)());
34
- return new DoctorMain();
202
+ constructor(logger) {
203
+ this.logger = logger;
204
+ }
205
+ async runAll(options) {
206
+ (0, _doctorRegistrarBuilder().default)();
207
+ runningTimeStamp = this._getTimeStamp();
208
+ const doctorRegistrar = _doctorRegistrar().default.getInstance();
209
+ const examineResultsWithNulls = await Promise.all(doctorRegistrar.diagnoses.map(async diagnosis => {
210
+ try {
211
+ return await diagnosis.examine();
212
+ } catch (err) {
213
+ this.logger.error(`doctor failed running diagnosis "${diagnosis.name}"`, err);
214
+ this.logger.consoleFailure(_chalk().default.red(`doctor failed running diagnosis "${diagnosis.name}".\nerror-message: ${err.message}`));
215
+ }
216
+ }));
217
+ const examineResults = (0, _lodash().compact)(examineResultsWithNulls);
218
+ const envMeta = await this._getEnvMeta();
219
+ const savedFilePath = await this._saveExamineResultsToFile(examineResults, envMeta, options);
220
+ return {
221
+ examineResults,
222
+ savedFilePath,
223
+ metaData: envMeta
224
+ };
225
+ }
226
+ async runOne(_ref) {
227
+ let {
228
+ diagnosisName
229
+ } = _ref,
230
+ options = _objectWithoutProperties(_ref, _excluded);
231
+ if (!diagnosisName) {
232
+ throw new (_missingDiagnosisName().MissingDiagnosisName)();
233
+ }
234
+ (0, _doctorRegistrarBuilder().default)();
235
+ runningTimeStamp = this._getTimeStamp();
236
+ const doctorRegistrar = _doctorRegistrar().default.getInstance();
237
+ const diagnosis = doctorRegistrar.getDiagnosisByName(diagnosisName);
238
+ if (!diagnosis) {
239
+ throw new (_diagnosisNotFound().DiagnosisNotFound)(diagnosisName);
240
+ }
241
+ const examineResult = await diagnosis.examine();
242
+ const envMeta = await this._getEnvMeta();
243
+ const savedFilePath = await this._saveExamineResultsToFile([examineResult], envMeta, options);
244
+ return {
245
+ examineResult,
246
+ savedFilePath,
247
+ metaData: envMeta
248
+ };
249
+ }
250
+ async listDiagnoses() {
251
+ (0, _doctorRegistrarBuilder().default)();
252
+ const doctorRegistrar = _doctorRegistrar().default.getInstance();
253
+ return Promise.resolve(doctorRegistrar.diagnoses);
254
+ }
255
+ async _saveExamineResultsToFile(examineResults, envMeta, options) {
256
+ if (!options.filePath) {
257
+ return Promise.resolve(undefined);
258
+ }
259
+ const finalFilePath = this._calculateFinalFileName(options.filePath);
260
+ const packStream = await this._generateExamineResultsTarFile(examineResults, envMeta, finalFilePath, options);
261
+ const yourTarball = _fsExtra().default.createWriteStream(finalFilePath);
262
+ packStream.pipe(yourTarball);
263
+ return new Promise(resolve => {
264
+ yourTarball.on('close', () => {
265
+ this.logger.info(`wrote a file by bit doctor, file path: ${finalFilePath}`);
266
+ resolve(finalFilePath);
267
+ // fs.stat(finalFilePath, private (err, stats) {
268
+ // if (err) throw err
269
+ // console.log(stats)
270
+ // console.log('Got file info successfully!')
271
+ // })
272
+ });
273
+ });
274
+ }
275
+ getWithoutExt(filename) {
276
+ const ext = (0, _toolboxFs().getExt)(filename);
277
+ // There is no extension just return the file name
278
+ if (ext === filename) {
279
+ return filename;
280
+ }
281
+ return filename.substring(0, filename.length - ext.length - 1); // -1 to remove the '.'
282
+ }
283
+ _calculateFinalFileName(fileName) {
284
+ if (fileName === '.') {
285
+ return this._getDefaultFileName();
286
+ }
287
+ let finalFileName = fileName;
288
+ if ((0, _toolboxFs().getExt)(fileName) !== 'tar' && (0, _toolboxFs().getExt)(fileName) !== 'tar.gz') {
289
+ finalFileName = `${this.getWithoutExt(finalFileName)}.tar`;
290
+ }
291
+ return finalFileName;
292
+ }
293
+ _getDefaultFileName() {
294
+ const timestamp = runningTimeStamp || this._getTimeStamp();
295
+ return `doctor-results-${timestamp}.tar`;
296
+ }
297
+
298
+ // TODO: move to utils
299
+ _getTimeStamp() {
300
+ const d = new Date();
301
+ const timestamp = d.getTime();
302
+ return timestamp;
303
+ }
304
+ async _generateExamineResultsTarFile(examineResults, envMeta, tarFilePath, options) {
305
+ const {
306
+ archiveWorkspace,
307
+ includeNodeModules,
308
+ includePublic,
309
+ excludeLocalScope
310
+ } = options;
311
+ const debugLog = await this._getDebugLogAsBuffer();
312
+ const consumerInfo = await this._getConsumerInfo();
313
+ let bitmap;
314
+ if (consumerInfo && consumerInfo.path) {
315
+ bitmap = this._getBitMap(consumerInfo.path);
316
+ }
317
+ const packExamineResults = async pack => {
318
+ pack.entry({
319
+ name: 'env-meta.json'
320
+ }, JSON.stringify(envMeta, null, 2));
321
+ pack.entry({
322
+ name: 'doc-results.json'
323
+ }, JSON.stringify(examineResults, null, 2));
324
+ if (debugLog) {
325
+ pack.entry({
326
+ name: 'debug.log'
327
+ }, debugLog);
328
+ }
329
+ if (!archiveWorkspace && bitmap) {
330
+ pack.entry({
331
+ name: '.bitmap'
332
+ }, bitmap);
333
+ }
334
+ if (consumerInfo && consumerInfo.hasConsumerConfig) {
335
+ // TODO: support new config as well
336
+ const scopePath = (0, _scopeModules().findScopePath)(consumerInfo.path);
337
+ const config = scopePath ? await _workspaceConfig().default.loadIfExist(consumerInfo.path, scopePath) : undefined;
338
+ const legacyPlainConfig = config === null || config === void 0 ? void 0 : config._legacyPlainObject();
339
+ if (legacyPlainConfig) {
340
+ pack.entry({
341
+ name: 'config.json'
342
+ }, JSON.stringify(legacyPlainConfig, null, 4));
343
+ }
344
+ }
345
+ pack.finalize();
346
+ return pack;
347
+ };
348
+ if (!archiveWorkspace) {
349
+ const pack = _tarStream().default.pack(); // pack is a streams2 stream
350
+ return packExamineResults(pack);
351
+ }
352
+ const ignore = fileName => {
353
+ if (fileName === tarFilePath) return true;
354
+ if (fileName === '.DS_Store') return true;
355
+ if (!includeNodeModules && (fileName.startsWith(`node_modules${_path().default.sep}`) || fileName.includes(`${_path().default.sep}node_modules${_path().default.sep}`))) return true;
356
+ if (!includePublic && (fileName.startsWith(`public${_path().default.sep}`) || fileName.includes(`${_path().default.sep}public${_path().default.sep}`))) return true;
357
+ const isGit = fileName.startsWith(`.git${_path().default.sep}`);
358
+ const isLocalScope = fileName.startsWith(`.bit${_path().default.sep}`) || fileName.startsWith(`.git${_path().default.sep}bit${_path().default.sep}`);
359
+ if (excludeLocalScope && isLocalScope) return true;
360
+ if (isGit && !isLocalScope) return true;
361
+ return false;
362
+ };
363
+ const myPack = _tarFs().default.pack('.', {
364
+ ignore,
365
+ finalize: false,
366
+ finish: packExamineResults
367
+ });
368
+ return myPack;
369
+ }
370
+ async _getEnvMeta() {
371
+ const env = {
372
+ nodeVersion: process.version,
373
+ runningTimestamp: runningTimeStamp || this._getTimeStamp(),
374
+ platform: _os().default.platform(),
375
+ bitVersion: (0, _bit().getBitVersion)(),
376
+ npmVersion: await (0, _validateNpmExec().getNpmVersion)(),
377
+ yarnVersion: await (0, _validateYarnExec().getYarnVersion)(),
378
+ userDetails: this._getUserDetails()
379
+ };
380
+
381
+ // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!
382
+ return env;
383
+ }
384
+ _getUserDetails() {
385
+ const name = globalConfig().getSync(_constants().CFG_USER_NAME_KEY) || '';
386
+ const email = globalConfig().getSync(_constants().CFG_USER_EMAIL_KEY) || '';
387
+ return `${name}<${email}>`;
388
+ }
389
+ async _getDebugLogAsBuffer() {
390
+ const exists = await _fsExtra().default.pathExists(_constants().DEBUG_LOG);
391
+ if (!exists) return null;
392
+ const log = await _fsExtra().default.readFile(_constants().DEBUG_LOG, 'utf-8');
393
+ const logWithoutChalk = (0, _legacy2().removeChalkCharacters)(log);
394
+ return Buffer.from(logWithoutChalk);
395
+ }
396
+ async _getConsumerInfo() {
397
+ const consumerInfo = await (0, _consumerLocator().getConsumerInfo)(process.cwd());
398
+ return consumerInfo;
399
+ }
400
+ _getBitMap(workspaceDir) {
401
+ return _legacy().BitMap.loadRawSync(workspaceDir);
402
+ }
403
+ static async provider([cliMain, loggerMain]) {
404
+ const logger = loggerMain.createLogger(_doctor().DoctorAspect.id);
405
+ const doctor = new DoctorMain(logger);
406
+ cliMain.register(new (_doctorCmd().DoctorCmd)(doctor));
407
+ return doctor;
35
408
  }
36
409
  }
37
410
  exports.DoctorMain = DoctorMain;
38
411
  _defineProperty(DoctorMain, "slots", []);
39
- _defineProperty(DoctorMain, "dependencies", [_cli().CLIAspect]);
412
+ _defineProperty(DoctorMain, "dependencies", [_cli().CLIAspect, _logger().LoggerAspect]);
40
413
  _defineProperty(DoctorMain, "runtime", _cli().MainRuntime);
41
414
  _doctor().DoctorAspect.addRuntime(DoctorMain);
42
415
  var _default = exports.default = DoctorMain;