@teambit/doctor 0.0.170 → 0.0.172
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/core-diagnoses/broken-symlink-files.ts +2 -2
- package/core-diagnoses/orphan-symlink-objects.ts +2 -2
- package/core-diagnoses/validate-npm-exec.ts +1 -1
- package/core-diagnoses/validate-workspace-bit-json-syntax.ts +3 -3
- package/core-diagnoses/validate-yarn-exec.ts +1 -1
- package/diagnosis-list-template.ts +2 -1
- package/dist/core-diagnoses/broken-symlink-files.js +8 -8
- package/dist/core-diagnoses/broken-symlink-files.js.map +1 -1
- package/dist/core-diagnoses/orphan-symlink-objects.js +9 -9
- package/dist/core-diagnoses/orphan-symlink-objects.js.map +1 -1
- package/dist/core-diagnoses/validate-npm-exec.js +4 -4
- package/dist/core-diagnoses/validate-npm-exec.js.map +1 -1
- package/dist/core-diagnoses/validate-workspace-bit-json-syntax.js +8 -8
- package/dist/core-diagnoses/validate-workspace-bit-json-syntax.js.map +1 -1
- package/dist/core-diagnoses/validate-yarn-exec.js +4 -4
- package/dist/core-diagnoses/validate-yarn-exec.js.map +1 -1
- package/dist/diagnosis-list-template.js.map +1 -1
- package/dist/doctor-results-template.js.map +1 -1
- package/dist/doctor.main.runtime.js +18 -18
- package/dist/doctor.main.runtime.js.map +1 -1
- package/doctor-results-template.ts +2 -1
- package/doctor.main.runtime.ts +4 -4
- package/package.json +19 -13
- /package/dist/{preview-1733714450424.js → preview-1733851236714.js} +0 -0
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import fs from 'fs-extra';
|
|
2
2
|
import glob from 'glob';
|
|
3
3
|
import path from 'path';
|
|
4
|
-
import { loadConsumer } from '@teambit/legacy
|
|
5
|
-
import { Scope } from '@teambit/legacy
|
|
4
|
+
import { loadConsumer } from '@teambit/legacy.consumer';
|
|
5
|
+
import { Scope } from '@teambit/legacy.scope';
|
|
6
6
|
import Diagnosis, { ExamineBareResult } from '../diagnosis';
|
|
7
7
|
import { uniq } from 'lodash';
|
|
8
8
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ComponentIdList } from '@teambit/component-id';
|
|
2
|
-
import { loadConsumer } from '@teambit/legacy
|
|
3
|
-
import { ModelComponent, Symlink } from '@teambit/
|
|
2
|
+
import { loadConsumer } from '@teambit/legacy.consumer';
|
|
3
|
+
import { ModelComponent, Symlink } from '@teambit/scope.objects';
|
|
4
4
|
import Diagnosis, { ExamineBareResult } from '../diagnosis';
|
|
5
5
|
|
|
6
6
|
export const DIAGNOSIS_NAME = 'check orphan refs';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { loadConsumer } from '@teambit/legacy
|
|
2
|
-
import
|
|
1
|
+
import { loadConsumer } from '@teambit/legacy.consumer';
|
|
2
|
+
import { LegacyWorkspaceConfig } from '@teambit/legacy.consumer-config';
|
|
3
3
|
import Diagnosis, { ExamineBareResult } from '../diagnosis';
|
|
4
4
|
|
|
5
5
|
export default class ValidateWorkspaceBitJsonSyntax extends Diagnosis {
|
|
@@ -21,7 +21,7 @@ export default class ValidateWorkspaceBitJsonSyntax extends Diagnosis {
|
|
|
21
21
|
const consumer = await loadConsumer();
|
|
22
22
|
const consumerPath = consumer.getPath();
|
|
23
23
|
try {
|
|
24
|
-
await
|
|
24
|
+
await LegacyWorkspaceConfig.loadIfExist(consumerPath, consumer.scope.path);
|
|
25
25
|
return {
|
|
26
26
|
valid: true,
|
|
27
27
|
};
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import chalk from 'chalk';
|
|
2
2
|
import { table } from 'table';
|
|
3
|
+
import type { Alignment } from 'table';
|
|
3
4
|
|
|
4
5
|
import Diagnosis from './diagnosis';
|
|
5
6
|
|
|
@@ -8,7 +9,7 @@ import Diagnosis from './diagnosis';
|
|
|
8
9
|
|
|
9
10
|
const tableColumnConfig = {
|
|
10
11
|
columnDefault: {
|
|
11
|
-
alignment: 'left',
|
|
12
|
+
alignment: 'left' as Alignment,
|
|
12
13
|
},
|
|
13
14
|
};
|
|
14
15
|
|
|
@@ -25,16 +25,16 @@ function _path() {
|
|
|
25
25
|
};
|
|
26
26
|
return data;
|
|
27
27
|
}
|
|
28
|
-
function
|
|
29
|
-
const data = require("@teambit/legacy
|
|
30
|
-
|
|
28
|
+
function _legacy() {
|
|
29
|
+
const data = require("@teambit/legacy.consumer");
|
|
30
|
+
_legacy = function () {
|
|
31
31
|
return data;
|
|
32
32
|
};
|
|
33
33
|
return data;
|
|
34
34
|
}
|
|
35
|
-
function
|
|
36
|
-
const data = require("@teambit/legacy
|
|
37
|
-
|
|
35
|
+
function _legacy2() {
|
|
36
|
+
const data = require("@teambit/legacy.scope");
|
|
37
|
+
_legacy2 = function () {
|
|
38
38
|
return data;
|
|
39
39
|
};
|
|
40
40
|
return data;
|
|
@@ -77,8 +77,8 @@ class BrokenSymlinkFiles extends _diagnosis().default {
|
|
|
77
77
|
return `please delete the following paths:\n${toString}`;
|
|
78
78
|
}
|
|
79
79
|
async _runExamine() {
|
|
80
|
-
const consumer = await (0,
|
|
81
|
-
const envComponentsDir = _path().default.join(consumer.scope.getPath(),
|
|
80
|
+
const consumer = await (0, _legacy().loadConsumer)();
|
|
81
|
+
const envComponentsDir = _path().default.join(consumer.scope.getPath(), _legacy2().Scope.getComponentsRelativePath());
|
|
82
82
|
const potentialSymlinks = _glob().default.sync('**/node_modules/@bit/**', {
|
|
83
83
|
cwd: envComponentsDir
|
|
84
84
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_fsExtra","data","_interopRequireDefault","require","_glob","_path","
|
|
1
|
+
{"version":3,"names":["_fsExtra","data","_interopRequireDefault","require","_glob","_path","_legacy","_legacy2","_diagnosis","_lodash","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","DIAGNOSIS_NAME","exports","BrokenSymlinkFiles","Diagnosis","constructor","args","_formatSymptoms","bareResult","Error","toString","brokenSymlinks","map","brokenSymlink","symlinkPath","brokenPath","join","_formatManualTreat","uniq","b","pathToDelete","_runExamine","consumer","loadConsumer","envComponentsDir","path","scope","getPath","Scope","getComponentsRelativePath","potentialSymlinks","glob","sync","cwd","potentialSymlinksAbs","p","results","potentialSymlink","link","_getLinkIfExist","exists","fs","pathExists","_getPathToDelete","push","Promise","all","valid","length","readlink","err","envDirectory","split","slice"],"sources":["broken-symlink-files.ts"],"sourcesContent":["import fs from 'fs-extra';\nimport glob from 'glob';\nimport path from 'path';\nimport { loadConsumer } from '@teambit/legacy.consumer';\nimport { Scope } from '@teambit/legacy.scope';\nimport Diagnosis, { ExamineBareResult } from '../diagnosis';\nimport { uniq } from 'lodash';\n\ntype BrokenSymlink = { symlinkPath: string; brokenPath: string; pathToDelete: string };\nexport const DIAGNOSIS_NAME = 'check environment symlinks';\n\nexport default class BrokenSymlinkFiles extends Diagnosis {\n name = DIAGNOSIS_NAME;\n description = 'validate generated symlinks for workspace environments';\n category = 'local environments';\n\n _formatSymptoms(bareResult: ExamineBareResult): string {\n if (!bareResult.data) throw new Error('BrokenSymlinkFiles, bareResult.data is missing');\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n const toString = bareResult.data.brokenSymlinks\n .map(\n (brokenSymlink) => `symlink path: \"${brokenSymlink.symlinkPath}\", broken link: \"${brokenSymlink.brokenPath}\"`\n )\n .join('\\n');\n return `the following symlinks points to non-existing paths\\n${toString}`;\n }\n\n _formatManualTreat(bareResult: ExamineBareResult) {\n if (!bareResult.data) throw new Error('BrokenSymlinkFiles, bareResult.data is missing');\n const toString = uniq(bareResult.data.brokenSymlinks.map((b) => b.pathToDelete)).join('\\n');\n return `please delete the following paths:\\n${toString}`;\n }\n\n async _runExamine(): Promise<ExamineBareResult> {\n const consumer = await loadConsumer();\n const envComponentsDir = path.join(consumer.scope.getPath(), Scope.getComponentsRelativePath());\n const potentialSymlinks = glob.sync('**/node_modules/@bit/**', { cwd: envComponentsDir });\n const potentialSymlinksAbs = potentialSymlinks.map((p) => path.join(envComponentsDir, p));\n const brokenSymlinks: BrokenSymlink[] = [];\n const results = potentialSymlinksAbs.map(async (potentialSymlink) => {\n const link = await this._getLinkIfExist(potentialSymlink);\n if (!link) return;\n const exists = await fs.pathExists(link);\n if (exists) return;\n const brokenSymlink = {\n symlinkPath: potentialSymlink,\n brokenPath: link,\n pathToDelete: this._getPathToDelete(potentialSymlink),\n };\n brokenSymlinks.push(brokenSymlink);\n });\n await Promise.all(results);\n return {\n valid: brokenSymlinks.length === 0,\n data: {\n brokenSymlinks,\n },\n };\n }\n\n async _getLinkIfExist(symlinkPath: string): Promise<string | null | undefined> {\n try {\n const link = await fs.readlink(symlinkPath);\n return link;\n } catch (err: any) {\n // probably not a symlink\n return null;\n }\n }\n\n /**\n * deleting the environment directory causes Bit to reinstall it next time\n */\n _getPathToDelete(symlinkPath: string): string {\n const envDirectory = symlinkPath.split(path.join('node_modules', '@bit'))[0];\n return envDirectory.slice(0, -1); // remove the last slash\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -11,16 +11,16 @@ function _componentId() {
|
|
|
11
11
|
};
|
|
12
12
|
return data;
|
|
13
13
|
}
|
|
14
|
-
function
|
|
15
|
-
const data = require("@teambit/legacy
|
|
16
|
-
|
|
14
|
+
function _legacy() {
|
|
15
|
+
const data = require("@teambit/legacy.consumer");
|
|
16
|
+
_legacy = function () {
|
|
17
17
|
return data;
|
|
18
18
|
};
|
|
19
19
|
return data;
|
|
20
20
|
}
|
|
21
|
-
function
|
|
22
|
-
const data = require("@teambit/
|
|
23
|
-
|
|
21
|
+
function _scope() {
|
|
22
|
+
const data = require("@teambit/scope.objects");
|
|
23
|
+
_scope = function () {
|
|
24
24
|
return data;
|
|
25
25
|
};
|
|
26
26
|
return data;
|
|
@@ -55,14 +55,14 @@ class OrphanSymlinkObjects extends _diagnosis().default {
|
|
|
55
55
|
return `please delete the following paths:\n${bareResult.data.objectsToDelete.join('\n')}`;
|
|
56
56
|
}
|
|
57
57
|
async _runExamine() {
|
|
58
|
-
const consumer = await (0,
|
|
59
|
-
const symlinks = await consumer.scope.objects.list([
|
|
58
|
+
const consumer = await (0, _legacy().loadConsumer)();
|
|
59
|
+
const symlinks = await consumer.scope.objects.list([_scope().Symlink]);
|
|
60
60
|
const orphanSymlinks = new (_componentId().ComponentIdList)();
|
|
61
61
|
const objectsToDelete = [];
|
|
62
62
|
await Promise.all(symlinks.map(async symlink => {
|
|
63
63
|
// @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!
|
|
64
64
|
const realComponentId = symlink.getRealComponentId();
|
|
65
|
-
const realModelComponent =
|
|
65
|
+
const realModelComponent = _scope().ModelComponent.fromBitId(realComponentId);
|
|
66
66
|
const foundComponent = await consumer.scope.objects.load(realModelComponent.hash());
|
|
67
67
|
if (!foundComponent) {
|
|
68
68
|
orphanSymlinks.push(realComponentId);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_componentId","data","require","
|
|
1
|
+
{"version":3,"names":["_componentId","data","require","_legacy","_scope","_diagnosis","_interopRequireDefault","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","DIAGNOSIS_NAME","exports","OrphanSymlinkObjects","Diagnosis","constructor","args","_formatSymptoms","bareResult","Error","orphanSymlinks","toString","_formatManualTreat","objectsToDelete","join","_runExamine","consumer","loadConsumer","symlinks","scope","objects","list","Symlink","ComponentIdList","Promise","all","map","symlink","realComponentId","getRealComponentId","realModelComponent","ModelComponent","fromBitId","foundComponent","load","hash","push","objectPath","valid","length"],"sources":["orphan-symlink-objects.ts"],"sourcesContent":["import { ComponentIdList } from '@teambit/component-id';\nimport { loadConsumer } from '@teambit/legacy.consumer';\nimport { ModelComponent, Symlink } from '@teambit/scope.objects';\nimport Diagnosis, { ExamineBareResult } from '../diagnosis';\n\nexport const DIAGNOSIS_NAME = 'check orphan refs';\nexport default class OrphanSymlinkObjects extends Diagnosis {\n name = DIAGNOSIS_NAME;\n description = 'checks for empty internal refs in local workspace';\n category = 'internal store';\n\n _formatSymptoms(bareResult: ExamineBareResult): string {\n if (!bareResult.data) throw new Error('OrphanSymlinkObjects, bareResult.data is missing');\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n return `the following refs points to non-existing components \"${bareResult.data.orphanSymlinks.toString()}\"`;\n }\n\n _formatManualTreat(bareResult: ExamineBareResult) {\n if (!bareResult.data) throw new Error('OrphanSymlinkObjects, bareResult.data is missing');\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n return `please delete the following paths:\\n${bareResult.data.objectsToDelete.join('\\n')}`;\n }\n\n async _runExamine(): Promise<ExamineBareResult> {\n const consumer = await loadConsumer();\n const symlinks = await consumer.scope.objects.list([Symlink]);\n const orphanSymlinks = new ComponentIdList();\n const objectsToDelete = [];\n await Promise.all(\n symlinks.map(async (symlink) => {\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n const realComponentId: ComponentID = symlink.getRealComponentId();\n const realModelComponent = ModelComponent.fromBitId(realComponentId);\n const foundComponent = await consumer.scope.objects.load(realModelComponent.hash());\n if (!foundComponent) {\n orphanSymlinks.push(realComponentId);\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n objectsToDelete.push(consumer.scope.objects.objectPath(symlink.hash()));\n }\n })\n );\n\n return {\n valid: orphanSymlinks.length === 0,\n data: {\n orphanSymlinks,\n objectsToDelete,\n },\n };\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -12,9 +12,9 @@ function _execa() {
|
|
|
12
12
|
};
|
|
13
13
|
return data;
|
|
14
14
|
}
|
|
15
|
-
function
|
|
16
|
-
const data =
|
|
17
|
-
|
|
15
|
+
function _legacy() {
|
|
16
|
+
const data = require("@teambit/legacy.logger");
|
|
17
|
+
_legacy = function () {
|
|
18
18
|
return data;
|
|
19
19
|
};
|
|
20
20
|
return data;
|
|
@@ -65,7 +65,7 @@ async function getNpmVersion() {
|
|
|
65
65
|
} = await (0, _execa().default)('npm', ['--version']);
|
|
66
66
|
if (stdout && !stderr) return stdout;
|
|
67
67
|
} catch (err) {
|
|
68
|
-
|
|
68
|
+
_legacy().logger.debugAndAddBreadCrumb('npm-client', `got an error when executing "npm --version". ${err.message}`);
|
|
69
69
|
}
|
|
70
70
|
return null;
|
|
71
71
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_execa","data","_interopRequireDefault","require","
|
|
1
|
+
{"version":3,"names":["_execa","data","_interopRequireDefault","require","_legacy","_diagnosis","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","ValidateNpmExec","Diagnosis","constructor","args","_formatSymptoms","_formatManualTreat","_runExamine","npmVersion","getNpmVersion","valid","exports","stdout","stderr","execa","err","logger","debugAndAddBreadCrumb","message"],"sources":["validate-npm-exec.ts"],"sourcesContent":["import execa from 'execa';\nimport { logger } from '@teambit/legacy.logger';\nimport Diagnosis, { ExamineBareResult } from '../diagnosis';\n\nexport default class ValidateNpmExec extends Diagnosis {\n name = 'validate npm exec';\n description = 'validate that npm executable found';\n category = 'vendors';\n\n _formatSymptoms(): string {\n return 'npm executable not found';\n }\n\n _formatManualTreat() {\n return 'please ensure npm is installed';\n }\n\n async _runExamine(): Promise<ExamineBareResult> {\n const npmVersion = await getNpmVersion();\n if (npmVersion) {\n return {\n valid: true,\n };\n }\n return {\n valid: false,\n data: {},\n };\n }\n}\n\nexport async function getNpmVersion(): Promise<string | null | undefined> {\n try {\n const { stdout, stderr } = await execa('npm', ['--version']);\n if (stdout && !stderr) return stdout;\n } catch (err: any) {\n logger.debugAndAddBreadCrumb('npm-client', `got an error when executing \"npm --version\". ${err.message}`);\n }\n return null;\n}\n"],"mappings":";;;;;;;AAAA,SAAAA,OAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,MAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,QAAA;EAAA,MAAAH,IAAA,GAAAE,OAAA;EAAAC,OAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAI,WAAA;EAAA,MAAAJ,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAE,UAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA4D,SAAAC,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAG,gBAAAH,CAAA,EAAAI,CAAA,EAAAC,CAAA,YAAAD,CAAA,GAAAE,cAAA,CAAAF,CAAA,MAAAJ,CAAA,GAAAO,MAAA,CAAAC,cAAA,CAAAR,CAAA,EAAAI,CAAA,IAAAK,KAAA,EAAAJ,CAAA,EAAAK,UAAA,MAAAC,YAAA,MAAAC,QAAA,UAAAZ,CAAA,CAAAI,CAAA,IAAAC,CAAA,EAAAL,CAAA;AAAA,SAAAM,eAAAD,CAAA,QAAAQ,CAAA,GAAAC,YAAA,CAAAT,CAAA,uCAAAQ,CAAA,GAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAC,aAAAT,CAAA,EAAAD,CAAA,2BAAAC,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAL,CAAA,GAAAK,CAAA,CAAAU,MAAA,CAAAC,WAAA,kBAAAhB,CAAA,QAAAa,CAAA,GAAAb,CAAA,CAAAiB,IAAA,CAAAZ,CAAA,EAAAD,CAAA,uCAAAS,CAAA,SAAAA,CAAA,YAAAK,SAAA,yEAAAd,CAAA,GAAAe,MAAA,GAAAC,MAAA,EAAAf,CAAA;AAE7C,MAAMgB,eAAe,SAASC,oBAAS,CAAC;EAAAC,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAArB,eAAA,eAC9C,mBAAmB;IAAAA,eAAA,sBACZ,oCAAoC;IAAAA,eAAA,mBACvC,SAAS;EAAA;EAEpBsB,eAAeA,CAAA,EAAW;IACxB,OAAO,0BAA0B;EACnC;EAEAC,kBAAkBA,CAAA,EAAG;IACnB,OAAO,gCAAgC;EACzC;EAEA,MAAMC,WAAWA,CAAA,EAA+B;IAC9C,MAAMC,UAAU,GAAG,MAAMC,aAAa,CAAC,CAAC;IACxC,IAAID,UAAU,EAAE;MACd,OAAO;QACLE,KAAK,EAAE;MACT,CAAC;IACH;IACA,OAAO;MACLA,KAAK,EAAE,KAAK;MACZnC,IAAI,EAAE,CAAC;IACT,CAAC;EACH;AACF;AAACoC,OAAA,CAAA7B,OAAA,GAAAmB,eAAA;AAEM,eAAeQ,aAAaA,CAAA,EAAuC;EACxE,IAAI;IACF,MAAM;MAAEG,MAAM;MAAEC;IAAO,CAAC,GAAG,MAAM,IAAAC,gBAAK,EAAC,KAAK,EAAE,CAAC,WAAW,CAAC,CAAC;IAC5D,IAAIF,MAAM,IAAI,CAACC,MAAM,EAAE,OAAOD,MAAM;EACtC,CAAC,CAAC,OAAOG,GAAQ,EAAE;IACjBC,gBAAM,CAACC,qBAAqB,CAAC,YAAY,EAAE,gDAAgDF,GAAG,CAACG,OAAO,EAAE,CAAC;EAC3G;EACA,OAAO,IAAI;AACb","ignoreList":[]}
|
|
@@ -4,16 +4,16 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
function
|
|
8
|
-
const data = require("@teambit/legacy
|
|
9
|
-
|
|
7
|
+
function _legacy() {
|
|
8
|
+
const data = require("@teambit/legacy.consumer");
|
|
9
|
+
_legacy = function () {
|
|
10
10
|
return data;
|
|
11
11
|
};
|
|
12
12
|
return data;
|
|
13
13
|
}
|
|
14
|
-
function
|
|
15
|
-
const data =
|
|
16
|
-
|
|
14
|
+
function _legacy2() {
|
|
15
|
+
const data = require("@teambit/legacy.consumer-config");
|
|
16
|
+
_legacy2 = function () {
|
|
17
17
|
return data;
|
|
18
18
|
};
|
|
19
19
|
return data;
|
|
@@ -47,10 +47,10 @@ class ValidateWorkspaceBitJsonSyntax extends _diagnosis().default {
|
|
|
47
47
|
|
|
48
48
|
// TODO: support configuration from package.json
|
|
49
49
|
async _runExamine() {
|
|
50
|
-
const consumer = await (0,
|
|
50
|
+
const consumer = await (0, _legacy().loadConsumer)();
|
|
51
51
|
const consumerPath = consumer.getPath();
|
|
52
52
|
try {
|
|
53
|
-
await
|
|
53
|
+
await _legacy2().LegacyWorkspaceConfig.loadIfExist(consumerPath, consumer.scope.path);
|
|
54
54
|
return {
|
|
55
55
|
valid: true
|
|
56
56
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["_legacy","data","require","_legacy2","_diagnosis","_interopRequireDefault","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","ValidateWorkspaceBitJsonSyntax","Diagnosis","constructor","args","_formatSymptoms","bareResult","_bareResult$data","bitJsonPath","_formatManualTreat","_runExamine","consumer","loadConsumer","consumerPath","getPath","LegacyWorkspaceConfig","loadIfExist","scope","path","valid","exports"],"sources":["validate-workspace-bit-json-syntax.ts"],"sourcesContent":["import { loadConsumer } from '@teambit/legacy.consumer';\nimport { LegacyWorkspaceConfig } from '@teambit/legacy.consumer-config';\nimport Diagnosis, { ExamineBareResult } from '../diagnosis';\n\nexport default class ValidateWorkspaceBitJsonSyntax extends Diagnosis {\n name = \"validate workspace's bit config\";\n description = 'validate workspace configuration object';\n category = 'configuration';\n\n _formatSymptoms(bareResult: ExamineBareResult): string {\n const bitJsonPath = bareResult?.data?.bitJsonPath;\n return `invalid workspace.jsonc: ${bitJsonPath} is not a valid JSON file.`;\n }\n\n _formatManualTreat() {\n return 'manually fix the workspace.jsonc or consider running bit init --reset to recreate the file';\n }\n\n // TODO: support configuration from package.json\n async _runExamine(): Promise<ExamineBareResult> {\n const consumer = await loadConsumer();\n const consumerPath = consumer.getPath();\n try {\n await LegacyWorkspaceConfig.loadIfExist(consumerPath, consumer.scope.path);\n return {\n valid: true,\n };\n } catch (e: any) {\n return {\n valid: false,\n data: {},\n };\n }\n }\n}\n"],"mappings":";;;;;;AAAA,SAAAA,QAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,OAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,SAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,QAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,WAAA;EAAA,MAAAH,IAAA,GAAAI,sBAAA,CAAAH,OAAA;EAAAE,UAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA4D,SAAAI,uBAAAC,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAG,gBAAAH,CAAA,EAAAI,CAAA,EAAAC,CAAA,YAAAD,CAAA,GAAAE,cAAA,CAAAF,CAAA,MAAAJ,CAAA,GAAAO,MAAA,CAAAC,cAAA,CAAAR,CAAA,EAAAI,CAAA,IAAAK,KAAA,EAAAJ,CAAA,EAAAK,UAAA,MAAAC,YAAA,MAAAC,QAAA,UAAAZ,CAAA,CAAAI,CAAA,IAAAC,CAAA,EAAAL,CAAA;AAAA,SAAAM,eAAAD,CAAA,QAAAQ,CAAA,GAAAC,YAAA,CAAAT,CAAA,uCAAAQ,CAAA,GAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAC,aAAAT,CAAA,EAAAD,CAAA,2BAAAC,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAL,CAAA,GAAAK,CAAA,CAAAU,MAAA,CAAAC,WAAA,kBAAAhB,CAAA,QAAAa,CAAA,GAAAb,CAAA,CAAAiB,IAAA,CAAAZ,CAAA,EAAAD,CAAA,uCAAAS,CAAA,SAAAA,CAAA,YAAAK,SAAA,yEAAAd,CAAA,GAAAe,MAAA,GAAAC,MAAA,EAAAf,CAAA;AAE7C,MAAMgB,8BAA8B,SAASC,oBAAS,CAAC;EAAAC,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAArB,eAAA,eAC7D,iCAAiC;IAAAA,eAAA,sBAC1B,yCAAyC;IAAAA,eAAA,mBAC5C,eAAe;EAAA;EAE1BsB,eAAeA,CAACC,UAA6B,EAAU;IAAA,IAAAC,gBAAA;IACrD,MAAMC,WAAW,GAAGF,UAAU,aAAVA,UAAU,gBAAAC,gBAAA,GAAVD,UAAU,CAAE/B,IAAI,cAAAgC,gBAAA,uBAAhBA,gBAAA,CAAkBC,WAAW;IACjD,OAAO,4BAA4BA,WAAW,4BAA4B;EAC5E;EAEAC,kBAAkBA,CAAA,EAAG;IACnB,OAAO,4FAA4F;EACrG;;EAEA;EACA,MAAMC,WAAWA,CAAA,EAA+B;IAC9C,MAAMC,QAAQ,GAAG,MAAM,IAAAC,sBAAY,EAAC,CAAC;IACrC,MAAMC,YAAY,GAAGF,QAAQ,CAACG,OAAO,CAAC,CAAC;IACvC,IAAI;MACF,MAAMC,gCAAqB,CAACC,WAAW,CAACH,YAAY,EAAEF,QAAQ,CAACM,KAAK,CAACC,IAAI,CAAC;MAC1E,OAAO;QACLC,KAAK,EAAE;MACT,CAAC;IACH,CAAC,CAAC,OAAOvC,CAAM,EAAE;MACf,OAAO;QACLuC,KAAK,EAAE,KAAK;QACZ5C,IAAI,EAAE,CAAC;MACT,CAAC;IACH;EACF;AACF;AAAC6C,OAAA,CAAAtC,OAAA,GAAAmB,8BAAA","ignoreList":[]}
|
|
@@ -12,9 +12,9 @@ function _execa() {
|
|
|
12
12
|
};
|
|
13
13
|
return data;
|
|
14
14
|
}
|
|
15
|
-
function
|
|
16
|
-
const data =
|
|
17
|
-
|
|
15
|
+
function _legacy() {
|
|
16
|
+
const data = require("@teambit/legacy.logger");
|
|
17
|
+
_legacy = function () {
|
|
18
18
|
return data;
|
|
19
19
|
};
|
|
20
20
|
return data;
|
|
@@ -64,7 +64,7 @@ async function getYarnVersion() {
|
|
|
64
64
|
} = await (0, _execa().default)('yarn', ['-v']);
|
|
65
65
|
return stdout;
|
|
66
66
|
} catch (e) {
|
|
67
|
-
|
|
67
|
+
_legacy().logger.debugAndAddBreadCrumb('npm-client', `can't find yarn version by running yarn -v. ${e.message}`);
|
|
68
68
|
}
|
|
69
69
|
return null;
|
|
70
70
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_execa","data","_interopRequireDefault","require","
|
|
1
|
+
{"version":3,"names":["_execa","data","_interopRequireDefault","require","_legacy","_diagnosis","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","ValidateYarnExec","Diagnosis","constructor","args","_formatSymptoms","_formatManualTreat","_runExamine","yarnVersion","getYarnVersion","valid","exports","stdout","execa","logger","debugAndAddBreadCrumb","message"],"sources":["validate-yarn-exec.ts"],"sourcesContent":["import execa from 'execa';\nimport { logger } from '@teambit/legacy.logger';\nimport Diagnosis, { ExamineBareResult } from '../diagnosis';\n\nexport default class ValidateYarnExec extends Diagnosis {\n name = 'validate yarn exec';\n description = 'validate that yarn executable found';\n category = 'vendors';\n\n _formatSymptoms(): string {\n return 'yarn executable not found';\n }\n\n _formatManualTreat() {\n return 'please ensure yarn is installed';\n }\n\n async _runExamine(): Promise<ExamineBareResult> {\n const yarnVersion = await getYarnVersion();\n if (yarnVersion) {\n return {\n valid: true,\n };\n }\n return {\n valid: false,\n data: {},\n };\n }\n}\n\nexport async function getYarnVersion(): Promise<string | null | undefined> {\n try {\n const { stdout } = await execa('yarn', ['-v']);\n return stdout;\n } catch (e: any) {\n logger.debugAndAddBreadCrumb('npm-client', `can't find yarn version by running yarn -v. ${e.message}`);\n }\n return null;\n}\n"],"mappings":";;;;;;;AAAA,SAAAA,OAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,MAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,QAAA;EAAA,MAAAH,IAAA,GAAAE,OAAA;EAAAC,OAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAI,WAAA;EAAA,MAAAJ,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAE,UAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA4D,SAAAC,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAG,gBAAAH,CAAA,EAAAI,CAAA,EAAAC,CAAA,YAAAD,CAAA,GAAAE,cAAA,CAAAF,CAAA,MAAAJ,CAAA,GAAAO,MAAA,CAAAC,cAAA,CAAAR,CAAA,EAAAI,CAAA,IAAAK,KAAA,EAAAJ,CAAA,EAAAK,UAAA,MAAAC,YAAA,MAAAC,QAAA,UAAAZ,CAAA,CAAAI,CAAA,IAAAC,CAAA,EAAAL,CAAA;AAAA,SAAAM,eAAAD,CAAA,QAAAQ,CAAA,GAAAC,YAAA,CAAAT,CAAA,uCAAAQ,CAAA,GAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAC,aAAAT,CAAA,EAAAD,CAAA,2BAAAC,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAL,CAAA,GAAAK,CAAA,CAAAU,MAAA,CAAAC,WAAA,kBAAAhB,CAAA,QAAAa,CAAA,GAAAb,CAAA,CAAAiB,IAAA,CAAAZ,CAAA,EAAAD,CAAA,uCAAAS,CAAA,SAAAA,CAAA,YAAAK,SAAA,yEAAAd,CAAA,GAAAe,MAAA,GAAAC,MAAA,EAAAf,CAAA;AAE7C,MAAMgB,gBAAgB,SAASC,oBAAS,CAAC;EAAAC,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAArB,eAAA,eAC/C,oBAAoB;IAAAA,eAAA,sBACb,qCAAqC;IAAAA,eAAA,mBACxC,SAAS;EAAA;EAEpBsB,eAAeA,CAAA,EAAW;IACxB,OAAO,2BAA2B;EACpC;EAEAC,kBAAkBA,CAAA,EAAG;IACnB,OAAO,iCAAiC;EAC1C;EAEA,MAAMC,WAAWA,CAAA,EAA+B;IAC9C,MAAMC,WAAW,GAAG,MAAMC,cAAc,CAAC,CAAC;IAC1C,IAAID,WAAW,EAAE;MACf,OAAO;QACLE,KAAK,EAAE;MACT,CAAC;IACH;IACA,OAAO;MACLA,KAAK,EAAE,KAAK;MACZnC,IAAI,EAAE,CAAC;IACT,CAAC;EACH;AACF;AAACoC,OAAA,CAAA7B,OAAA,GAAAmB,gBAAA;AAEM,eAAeQ,cAAcA,CAAA,EAAuC;EACzE,IAAI;IACF,MAAM;MAAEG;IAAO,CAAC,GAAG,MAAM,IAAAC,gBAAK,EAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC;IAC9C,OAAOD,MAAM;EACf,CAAC,CAAC,OAAOhC,CAAM,EAAE;IACfkC,gBAAM,CAACC,qBAAqB,CAAC,YAAY,EAAE,+CAA+CnC,CAAC,CAACoC,OAAO,EAAE,CAAC;EACxG;EACA,OAAO,IAAI;AACb","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_chalk","data","_interopRequireDefault","require","_table","e","__esModule","default","tableColumnConfig","columnDefault","alignment","createRow","diagnosis","category","name","description","formatDiagnosesList","diagnosesList","header","chalk","bold","rows","map","unshift","output","table"],"sources":["diagnosis-list-template.ts"],"sourcesContent":["import chalk from 'chalk';\nimport { table } from 'table';\n\nimport Diagnosis from './diagnosis';\n\n// const NAME_COLUMN_WIDTH = 100;\n// const DESCRIPTION_COLUMN_WIDTH = 30;\n\nconst tableColumnConfig = {\n columnDefault: {\n alignment: 'left',\n },\n};\n\ntype DiagnosisRow = [string, string, string];\n\nfunction createRow(diagnosis: Diagnosis): DiagnosisRow {\n return [diagnosis.category, diagnosis.name, diagnosis.description];\n}\n\nexport default function formatDiagnosesList(diagnosesList: Diagnosis[]): string {\n const header = [chalk.bold('category'), chalk.bold('name'), chalk.bold('description')];\n const rows = diagnosesList.map(createRow);\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n rows.unshift(header);\n const output = table(rows, tableColumnConfig);\n return output;\n}\n"],"mappings":";;;;;;AAAA,SAAAA,OAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,MAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,OAAA;EAAA,MAAAH,IAAA,GAAAE,OAAA;EAAAC,MAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA8B,SAAAC,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;
|
|
1
|
+
{"version":3,"names":["_chalk","data","_interopRequireDefault","require","_table","e","__esModule","default","tableColumnConfig","columnDefault","alignment","createRow","diagnosis","category","name","description","formatDiagnosesList","diagnosesList","header","chalk","bold","rows","map","unshift","output","table"],"sources":["diagnosis-list-template.ts"],"sourcesContent":["import chalk from 'chalk';\nimport { table } from 'table';\nimport type { Alignment } from 'table';\n\nimport Diagnosis from './diagnosis';\n\n// const NAME_COLUMN_WIDTH = 100;\n// const DESCRIPTION_COLUMN_WIDTH = 30;\n\nconst tableColumnConfig = {\n columnDefault: {\n alignment: 'left' as Alignment,\n },\n};\n\ntype DiagnosisRow = [string, string, string];\n\nfunction createRow(diagnosis: Diagnosis): DiagnosisRow {\n return [diagnosis.category, diagnosis.name, diagnosis.description];\n}\n\nexport default function formatDiagnosesList(diagnosesList: Diagnosis[]): string {\n const header = [chalk.bold('category'), chalk.bold('name'), chalk.bold('description')];\n const rows = diagnosesList.map(createRow);\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n rows.unshift(header);\n const output = table(rows, tableColumnConfig);\n return output;\n}\n"],"mappings":";;;;;;AAAA,SAAAA,OAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,MAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,OAAA;EAAA,MAAAH,IAAA,GAAAE,OAAA;EAAAC,MAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA8B,SAAAC,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAK9B;AACA;;AAEA,MAAMG,iBAAiB,GAAG;EACxBC,aAAa,EAAE;IACbC,SAAS,EAAE;EACb;AACF,CAAC;AAID,SAASC,SAASA,CAACC,SAAoB,EAAgB;EACrD,OAAO,CAACA,SAAS,CAACC,QAAQ,EAAED,SAAS,CAACE,IAAI,EAAEF,SAAS,CAACG,WAAW,CAAC;AACpE;AAEe,SAASC,mBAAmBA,CAACC,aAA0B,EAAU;EAC9E,MAAMC,MAAM,GAAG,CAACC,gBAAK,CAACC,IAAI,CAAC,UAAU,CAAC,EAAED,gBAAK,CAACC,IAAI,CAAC,MAAM,CAAC,EAAED,gBAAK,CAACC,IAAI,CAAC,aAAa,CAAC,CAAC;EACtF,MAAMC,IAAI,GAAGJ,aAAa,CAACK,GAAG,CAACX,SAAS,CAAC;EACzC;EACAU,IAAI,CAACE,OAAO,CAACL,MAAM,CAAC;EACpB,MAAMM,MAAM,GAAG,IAAAC,cAAK,EAACJ,IAAI,EAAEb,iBAAiB,CAAC;EAC7C,OAAOgB,MAAM;AACf","ignoreList":[]}
|
|
@@ -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.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":";;;;;;AAAA,SAAAA,OAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,MAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,OAAA;EAAA,MAAAH,IAAA,GAAAE,OAAA;EAAAC,MAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA8B,SAAAC,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;
|
|
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 type { Alignment } 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' as Alignment,\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":[]}
|
|
@@ -53,23 +53,23 @@ function _bit() {
|
|
|
53
53
|
};
|
|
54
54
|
return data;
|
|
55
55
|
}
|
|
56
|
-
function
|
|
57
|
-
const data = require("@teambit/legacy
|
|
58
|
-
|
|
56
|
+
function _legacy() {
|
|
57
|
+
const data = require("@teambit/legacy.constants");
|
|
58
|
+
_legacy = function () {
|
|
59
59
|
return data;
|
|
60
60
|
};
|
|
61
61
|
return data;
|
|
62
62
|
}
|
|
63
|
-
function
|
|
63
|
+
function _legacy2() {
|
|
64
64
|
const data = require("@teambit/legacy.bit-map");
|
|
65
|
-
|
|
65
|
+
_legacy2 = function () {
|
|
66
66
|
return data;
|
|
67
67
|
};
|
|
68
68
|
return data;
|
|
69
69
|
}
|
|
70
|
-
function
|
|
71
|
-
const data =
|
|
72
|
-
|
|
70
|
+
function _legacy3() {
|
|
71
|
+
const data = require("@teambit/legacy.consumer-config");
|
|
72
|
+
_legacy3 = function () {
|
|
73
73
|
return data;
|
|
74
74
|
};
|
|
75
75
|
return data;
|
|
@@ -102,9 +102,9 @@ function _lodash() {
|
|
|
102
102
|
};
|
|
103
103
|
return data;
|
|
104
104
|
}
|
|
105
|
-
function
|
|
105
|
+
function _legacy4() {
|
|
106
106
|
const data = require("@teambit/legacy.utils");
|
|
107
|
-
|
|
107
|
+
_legacy4 = function () {
|
|
108
108
|
return data;
|
|
109
109
|
};
|
|
110
110
|
return data;
|
|
@@ -124,7 +124,7 @@ function _scopeModules() {
|
|
|
124
124
|
return data;
|
|
125
125
|
}
|
|
126
126
|
function globalConfig() {
|
|
127
|
-
const data = _interopRequireWildcard(require("@teambit/legacy
|
|
127
|
+
const data = _interopRequireWildcard(require("@teambit/legacy.global-config"));
|
|
128
128
|
globalConfig = function () {
|
|
129
129
|
return data;
|
|
130
130
|
};
|
|
@@ -334,7 +334,7 @@ class DoctorMain {
|
|
|
334
334
|
if (consumerInfo && consumerInfo.hasWorkspaceConfig) {
|
|
335
335
|
// TODO: support new config as well
|
|
336
336
|
const scopePath = (0, _scopeModules().findScopePath)(consumerInfo.path);
|
|
337
|
-
const config = scopePath ? await
|
|
337
|
+
const config = scopePath ? await _legacy3().LegacyWorkspaceConfig.loadIfExist(consumerInfo.path, scopePath) : undefined;
|
|
338
338
|
const legacyPlainConfig = config === null || config === void 0 ? void 0 : config._legacyPlainObject();
|
|
339
339
|
if (legacyPlainConfig) {
|
|
340
340
|
pack.entry({
|
|
@@ -382,15 +382,15 @@ class DoctorMain {
|
|
|
382
382
|
return env;
|
|
383
383
|
}
|
|
384
384
|
_getUserDetails() {
|
|
385
|
-
const name = globalConfig().getSync(
|
|
386
|
-
const email = globalConfig().getSync(
|
|
385
|
+
const name = globalConfig().getSync(_legacy().CFG_USER_NAME_KEY) || '';
|
|
386
|
+
const email = globalConfig().getSync(_legacy().CFG_USER_EMAIL_KEY) || '';
|
|
387
387
|
return `${name}<${email}>`;
|
|
388
388
|
}
|
|
389
389
|
async _getDebugLogAsBuffer() {
|
|
390
|
-
const exists = await _fsExtra().default.pathExists(
|
|
390
|
+
const exists = await _fsExtra().default.pathExists(_legacy().DEBUG_LOG);
|
|
391
391
|
if (!exists) return null;
|
|
392
|
-
const log = await _fsExtra().default.readFile(
|
|
393
|
-
const logWithoutChalk = (0,
|
|
392
|
+
const log = await _fsExtra().default.readFile(_legacy().DEBUG_LOG, 'utf-8');
|
|
393
|
+
const logWithoutChalk = (0, _legacy4().removeChalkCharacters)(log);
|
|
394
394
|
return Buffer.from(logWithoutChalk);
|
|
395
395
|
}
|
|
396
396
|
async _getWorkspaceInfo() {
|
|
@@ -398,7 +398,7 @@ class DoctorMain {
|
|
|
398
398
|
return consumerInfo;
|
|
399
399
|
}
|
|
400
400
|
_getBitMap(workspaceDir) {
|
|
401
|
-
return
|
|
401
|
+
return _legacy2().BitMap.loadRawSync(workspaceDir);
|
|
402
402
|
}
|
|
403
403
|
static async provider([cliMain, loggerMain]) {
|
|
404
404
|
const logger = loggerMain.createLogger(_doctor().DoctorAspect.id);
|
|
@@ -1 +1 @@
|
|
|
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":[]}
|
|
1
|
+
{"version":3,"names":["_cli","data","require","_path","_interopRequireDefault","_fsExtra","_os","_tarStream","_tarFs","_bit","_legacy","_legacy2","_legacy3","_workspaceModules","_doctorRegistrar","_doctorRegistrarBuilder","_lodash","_legacy4","_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","LegacyWorkspaceConfig","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.constants';\nimport { BitMap } from '@teambit/legacy.bit-map';\nimport { LegacyWorkspaceConfig } from '@teambit/legacy.consumer-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.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 LegacyWorkspaceConfig.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":[]}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import chalk from 'chalk';
|
|
2
2
|
import { table } from 'table';
|
|
3
|
+
import type { Alignment } from 'table';
|
|
3
4
|
import { DoctorMetaData, DoctorRunAllResults } from './doctor.main.runtime';
|
|
4
5
|
import { ExamineResult } from './diagnosis';
|
|
5
6
|
|
|
@@ -8,7 +9,7 @@ import { ExamineResult } from './diagnosis';
|
|
|
8
9
|
|
|
9
10
|
const summeryTableColumnConfig = {
|
|
10
11
|
columnDefault: {
|
|
11
|
-
alignment: 'left',
|
|
12
|
+
alignment: 'left' as Alignment,
|
|
12
13
|
},
|
|
13
14
|
};
|
|
14
15
|
|
package/doctor.main.runtime.ts
CHANGED
|
@@ -7,9 +7,9 @@ import Stream from 'stream';
|
|
|
7
7
|
import tar from 'tar-stream';
|
|
8
8
|
import tarFS from 'tar-fs';
|
|
9
9
|
import { getBitVersion } from '@teambit/bit.get-bit-version';
|
|
10
|
-
import { CFG_USER_EMAIL_KEY, CFG_USER_NAME_KEY, DEBUG_LOG } from '@teambit/legacy
|
|
10
|
+
import { CFG_USER_EMAIL_KEY, CFG_USER_NAME_KEY, DEBUG_LOG } from '@teambit/legacy.constants';
|
|
11
11
|
import { BitMap } from '@teambit/legacy.bit-map';
|
|
12
|
-
import
|
|
12
|
+
import { LegacyWorkspaceConfig } from '@teambit/legacy.consumer-config';
|
|
13
13
|
import { getWorkspaceInfo, WorkspaceInfo } from '@teambit/workspace.modules.workspace-locator';
|
|
14
14
|
import Diagnosis, { ExamineResult } from './diagnosis';
|
|
15
15
|
import DoctorRegistrar from './doctor-registrar';
|
|
@@ -18,7 +18,7 @@ import { compact } from 'lodash';
|
|
|
18
18
|
import { removeChalkCharacters } from '@teambit/legacy.utils';
|
|
19
19
|
import { getExt } from '@teambit/toolbox.fs.extension-getter';
|
|
20
20
|
import { findScopePath } from '@teambit/scope.modules.find-scope-path';
|
|
21
|
-
import * as globalConfig from '@teambit/legacy
|
|
21
|
+
import * as globalConfig from '@teambit/legacy.global-config';
|
|
22
22
|
import { getNpmVersion } from './core-diagnoses/validate-npm-exec';
|
|
23
23
|
import { getYarnVersion } from './core-diagnoses/validate-yarn-exec';
|
|
24
24
|
import { DiagnosisNotFound } from './exceptions/diagnosis-not-found';
|
|
@@ -195,7 +195,7 @@ export class DoctorMain {
|
|
|
195
195
|
if (consumerInfo && consumerInfo.hasWorkspaceConfig) {
|
|
196
196
|
// TODO: support new config as well
|
|
197
197
|
const scopePath = findScopePath(consumerInfo.path);
|
|
198
|
-
const config = scopePath ? await
|
|
198
|
+
const config = scopePath ? await LegacyWorkspaceConfig.loadIfExist(consumerInfo.path, scopePath) : undefined;
|
|
199
199
|
const legacyPlainConfig = config?._legacyPlainObject();
|
|
200
200
|
if (legacyPlainConfig) {
|
|
201
201
|
pack.entry({ name: 'config.json' }, JSON.stringify(legacyPlainConfig, null, 4));
|
package/package.json
CHANGED
|
@@ -1,38 +1,45 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@teambit/doctor",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.172",
|
|
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.172"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"chalk": "2.4.2",
|
|
13
|
-
"table": "
|
|
13
|
+
"table": "6.7.3",
|
|
14
14
|
"fs-extra": "10.0.0",
|
|
15
15
|
"lodash": "4.17.21",
|
|
16
16
|
"tar-fs": "2.1.1",
|
|
17
17
|
"tar-stream": "2.2.0",
|
|
18
18
|
"glob": "7.1.6",
|
|
19
|
-
"semver": "7.5.
|
|
19
|
+
"semver": "7.5.4",
|
|
20
20
|
"execa": "2.1.0",
|
|
21
21
|
"core-js": "^3.0.0",
|
|
22
22
|
"@babel/runtime": "7.20.0",
|
|
23
23
|
"@teambit/harmony": "0.4.6",
|
|
24
|
-
"@teambit/scope.modules.find-scope-path": "0.0.1",
|
|
25
24
|
"@teambit/component-id": "1.2.2",
|
|
26
25
|
"@teambit/bvm.list": "0.1.15",
|
|
27
26
|
"@teambit/bit-error": "0.0.404",
|
|
28
|
-
"@teambit/cli": "0.0.
|
|
27
|
+
"@teambit/cli": "0.0.1066",
|
|
29
28
|
"@teambit/bit.get-bit-version": "0.0.1",
|
|
30
|
-
"@teambit/legacy.bit-map": "0.0.
|
|
31
|
-
"@teambit/legacy.
|
|
32
|
-
"@teambit/
|
|
33
|
-
"@teambit/
|
|
34
|
-
"@teambit/
|
|
35
|
-
"@teambit/
|
|
29
|
+
"@teambit/legacy.bit-map": "0.0.59",
|
|
30
|
+
"@teambit/legacy.constants": "0.0.2",
|
|
31
|
+
"@teambit/legacy.consumer-config": "0.0.2",
|
|
32
|
+
"@teambit/legacy.global-config": "0.0.2",
|
|
33
|
+
"@teambit/legacy.utils": "0.0.9",
|
|
34
|
+
"@teambit/logger": "0.0.1159",
|
|
35
|
+
"@teambit/scope.modules.find-scope-path": "0.0.3",
|
|
36
|
+
"@teambit/toolbox.fs.extension-getter": "0.0.2",
|
|
37
|
+
"@teambit/workspace.modules.workspace-locator": "0.0.3",
|
|
38
|
+
"@teambit/legacy.consumer": "0.0.2",
|
|
39
|
+
"@teambit/legacy.scope": "0.0.2",
|
|
40
|
+
"@teambit/scope.objects": "0.0.2",
|
|
41
|
+
"@teambit/git.modules.git-executable": "0.0.3",
|
|
42
|
+
"@teambit/legacy.logger": "0.0.2"
|
|
36
43
|
},
|
|
37
44
|
"devDependencies": {
|
|
38
45
|
"@types/fs-extra": "9.0.7",
|
|
@@ -45,7 +52,6 @@
|
|
|
45
52
|
"@types/testing-library__jest-dom": "5.9.5"
|
|
46
53
|
},
|
|
47
54
|
"peerDependencies": {
|
|
48
|
-
"@teambit/legacy": "1.0.770",
|
|
49
55
|
"react": "^16.8.0 || ^17.0.0",
|
|
50
56
|
"react-dom": "^16.8.0 || ^17.0.0"
|
|
51
57
|
},
|
|
File without changes
|