@teambit/doctor 0.0.0-00997c6fe4e832b4e5a012dc136eed546275ebcb

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.
Files changed (82) hide show
  1. package/core-diagnoses/broken-symlink-files.ts +78 -0
  2. package/core-diagnoses/orphan-symlink-objects.ts +50 -0
  3. package/core-diagnoses/validate-bit-version.ts +55 -0
  4. package/core-diagnoses/validate-git-exec.ts +39 -0
  5. package/core-diagnoses/validate-npm-exec.ts +41 -0
  6. package/core-diagnoses/validate-scope-objects.ts +83 -0
  7. package/core-diagnoses/validate-workspace-bit-json-syntax.ts +36 -0
  8. package/core-diagnoses/validate-yarn-exec.ts +41 -0
  9. package/dist/core-diagnoses/broken-symlink-files.d.ts +16 -0
  10. package/dist/core-diagnoses/broken-symlink-files.js +126 -0
  11. package/dist/core-diagnoses/broken-symlink-files.js.map +1 -0
  12. package/dist/core-diagnoses/orphan-symlink-objects.d.ts +11 -0
  13. package/dist/core-diagnoses/orphan-symlink-objects.js +82 -0
  14. package/dist/core-diagnoses/orphan-symlink-objects.js.map +1 -0
  15. package/dist/core-diagnoses/validate-bit-version.d.ts +10 -0
  16. package/dist/core-diagnoses/validate-bit-version.js +92 -0
  17. package/dist/core-diagnoses/validate-bit-version.js.map +1 -0
  18. package/dist/core-diagnoses/validate-git-exec.d.ts +11 -0
  19. package/dist/core-diagnoses/validate-git-exec.js +68 -0
  20. package/dist/core-diagnoses/validate-git-exec.js.map +1 -0
  21. package/dist/core-diagnoses/validate-npm-exec.d.ts +11 -0
  22. package/dist/core-diagnoses/validate-npm-exec.js +73 -0
  23. package/dist/core-diagnoses/validate-npm-exec.js.map +1 -0
  24. package/dist/core-diagnoses/validate-scope-objects.d.ts +11 -0
  25. package/dist/core-diagnoses/validate-scope-objects.js +113 -0
  26. package/dist/core-diagnoses/validate-scope-objects.js.map +1 -0
  27. package/dist/core-diagnoses/validate-workspace-bit-json-syntax.d.ts +10 -0
  28. package/dist/core-diagnoses/validate-workspace-bit-json-syntax.js +66 -0
  29. package/dist/core-diagnoses/validate-workspace-bit-json-syntax.js.map +1 -0
  30. package/dist/core-diagnoses/validate-yarn-exec.d.ts +11 -0
  31. package/dist/core-diagnoses/validate-yarn-exec.js +72 -0
  32. package/dist/core-diagnoses/validate-yarn-exec.js.map +1 -0
  33. package/dist/diagnosis-list-template.d.ts +2 -0
  34. package/dist/diagnosis-list-template.js +42 -0
  35. package/dist/diagnosis-list-template.js.map +1 -0
  36. package/dist/diagnosis.d.ts +41 -0
  37. package/dist/diagnosis.js +70 -0
  38. package/dist/diagnosis.js.map +1 -0
  39. package/dist/doctor-cmd.d.ts +26 -0
  40. package/dist/doctor-cmd.js +122 -0
  41. package/dist/doctor-cmd.js.map +1 -0
  42. package/dist/doctor-context.d.ts +49 -0
  43. package/dist/doctor-context.js +69 -0
  44. package/dist/doctor-context.js.map +1 -0
  45. package/dist/doctor-registrar-builder.d.ts +2 -0
  46. package/dist/doctor-registrar-builder.js +76 -0
  47. package/dist/doctor-registrar-builder.js.map +1 -0
  48. package/dist/doctor-registrar.d.ts +21 -0
  49. package/dist/doctor-registrar.js +62 -0
  50. package/dist/doctor-registrar.js.map +1 -0
  51. package/dist/doctor-results-template.d.ts +2 -0
  52. package/dist/doctor-results-template.js +115 -0
  53. package/dist/doctor-results-template.js.map +1 -0
  54. package/dist/doctor.aspect.d.ts +2 -0
  55. package/dist/doctor.aspect.js +18 -0
  56. package/dist/doctor.aspect.js.map +1 -0
  57. package/dist/doctor.graphql.d.ts +3 -0
  58. package/dist/doctor.graphql.js +74 -0
  59. package/dist/doctor.graphql.js.map +1 -0
  60. package/dist/doctor.main.runtime.d.ts +63 -0
  61. package/dist/doctor.main.runtime.js +524 -0
  62. package/dist/doctor.main.runtime.js.map +1 -0
  63. package/dist/esm.mjs +8 -0
  64. package/dist/exceptions/diagnosis-not-found.d.ts +5 -0
  65. package/dist/exceptions/diagnosis-not-found.js +30 -0
  66. package/dist/exceptions/diagnosis-not-found.js.map +1 -0
  67. package/dist/exceptions/missing-diagnosis-name.d.ts +4 -0
  68. package/dist/exceptions/missing-diagnosis-name.js +21 -0
  69. package/dist/exceptions/missing-diagnosis-name.js.map +1 -0
  70. package/dist/index.d.ts +8 -0
  71. package/dist/index.js +61 -0
  72. package/dist/index.js.map +1 -0
  73. package/dist/preview-1764777197370.js +7 -0
  74. package/dist/run-doctor-on-scope.d.ts +3 -0
  75. package/dist/run-doctor-on-scope.js +140 -0
  76. package/dist/run-doctor-on-scope.js.map +1 -0
  77. package/esm.mjs +8 -0
  78. package/exceptions/diagnosis-not-found.ts +8 -0
  79. package/exceptions/missing-diagnosis-name.ts +7 -0
  80. package/package.json +85 -0
  81. package/types/asset.d.ts +41 -0
  82. package/types/style.d.ts +42 -0
@@ -0,0 +1,21 @@
1
+ import type Diagnosis from './diagnosis';
2
+ export default class DoctorRegistrar {
3
+ diagnoses: Diagnosis[];
4
+ constructor();
5
+ /**
6
+ * Initialize the default diagnoses
7
+ */
8
+ static init(diagnoses?: Diagnosis[]): void;
9
+ /**
10
+ * Get the instance of the DoctorRegistrar
11
+ * @return {DoctorRegistrar} instance of the DoctorRegistrar
12
+ *
13
+ */
14
+ static getInstance(): DoctorRegistrar;
15
+ /**
16
+ * Register a new diagnosis
17
+ * @param {Diagnosis} diagnosis
18
+ */
19
+ registerDiagnosis(diagnosis: Diagnosis): void;
20
+ getDiagnosisByName(name: string): Diagnosis | undefined;
21
+ }
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ 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; }
8
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
9
+ 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); }
10
+ /*
11
+ * Setting up block level variable to store class state
12
+ * set's to null by default.
13
+ */
14
+ let instance = null;
15
+ const _checkName = name => diagnosis => {
16
+ return diagnosis.name === name;
17
+ };
18
+ class DoctorRegistrar {
19
+ constructor() {
20
+ _defineProperty(this, "diagnoses", void 0);
21
+ if (!instance) {
22
+ // eslint-disable-next-line @typescript-eslint/no-this-alias
23
+ instance = this;
24
+ }
25
+ return instance;
26
+ }
27
+
28
+ /**
29
+ * Initialize the default diagnoses
30
+ */
31
+ static init(diagnoses = []) {
32
+ const self = new DoctorRegistrar();
33
+ self.diagnoses = diagnoses;
34
+ // diagnoses.forEach(diagnosis => self.diagnoses.push(diagnosis));
35
+ }
36
+
37
+ /**
38
+ * Get the instance of the DoctorRegistrar
39
+ * @return {DoctorRegistrar} instance of the DoctorRegistrar
40
+ *
41
+ */
42
+ static getInstance() {
43
+ if (!instance) {
44
+ DoctorRegistrar.init();
45
+ }
46
+ return instance;
47
+ }
48
+
49
+ /**
50
+ * Register a new diagnosis
51
+ * @param {Diagnosis} diagnosis
52
+ */
53
+ registerDiagnosis(diagnosis) {
54
+ this.diagnoses.push(diagnosis);
55
+ }
56
+ getDiagnosisByName(name) {
57
+ return this.diagnoses.find(_checkName(name));
58
+ }
59
+ }
60
+ exports.default = DoctorRegistrar;
61
+
62
+ //# sourceMappingURL=doctor-registrar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["instance","_checkName","name","diagnosis","DoctorRegistrar","constructor","_defineProperty","init","diagnoses","self","getInstance","registerDiagnosis","push","getDiagnosisByName","find","exports","default"],"sources":["doctor-registrar.ts"],"sourcesContent":["import type Diagnosis from './diagnosis';\n\n/*\n * Setting up block level variable to store class state\n * set's to null by default.\n */\nlet instance: DoctorRegistrar | null = null;\n\nconst _checkName = (name) => (diagnosis: Diagnosis) => {\n return diagnosis.name === name;\n};\n\nexport default class DoctorRegistrar {\n diagnoses: Diagnosis[];\n\n constructor() {\n if (!instance) {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n instance = this;\n }\n\n return instance;\n }\n\n /**\n * Initialize the default diagnoses\n */\n static init(diagnoses: Diagnosis[] = []) {\n const self = new DoctorRegistrar();\n self.diagnoses = diagnoses;\n // diagnoses.forEach(diagnosis => self.diagnoses.push(diagnosis));\n }\n\n /**\n * Get the instance of the DoctorRegistrar\n * @return {DoctorRegistrar} instance of the DoctorRegistrar\n *\n */\n static getInstance(): DoctorRegistrar {\n if (!instance) {\n DoctorRegistrar.init();\n }\n return instance as DoctorRegistrar;\n }\n\n /**\n * Register a new diagnosis\n * @param {Diagnosis} diagnosis\n */\n registerDiagnosis(diagnosis: Diagnosis) {\n this.diagnoses.push(diagnosis);\n }\n\n getDiagnosisByName(name: string) {\n return this.diagnoses.find(_checkName(name));\n }\n}\n"],"mappings":";;;;;;;;;AAEA;AACA;AACA;AACA;AACA,IAAIA,QAAgC,GAAG,IAAI;AAE3C,MAAMC,UAAU,GAAIC,IAAI,IAAMC,SAAoB,IAAK;EACrD,OAAOA,SAAS,CAACD,IAAI,KAAKA,IAAI;AAChC,CAAC;AAEc,MAAME,eAAe,CAAC;EAGnCC,WAAWA,CAAA,EAAG;IAAAC,eAAA;IACZ,IAAI,CAACN,QAAQ,EAAE;MACb;MACAA,QAAQ,GAAG,IAAI;IACjB;IAEA,OAAOA,QAAQ;EACjB;;EAEA;AACF;AACA;EACE,OAAOO,IAAIA,CAACC,SAAsB,GAAG,EAAE,EAAE;IACvC,MAAMC,IAAI,GAAG,IAAIL,eAAe,CAAC,CAAC;IAClCK,IAAI,CAACD,SAAS,GAAGA,SAAS;IAC1B;EACF;;EAEA;AACF;AACA;AACA;AACA;EACE,OAAOE,WAAWA,CAAA,EAAoB;IACpC,IAAI,CAACV,QAAQ,EAAE;MACbI,eAAe,CAACG,IAAI,CAAC,CAAC;IACxB;IACA,OAAOP,QAAQ;EACjB;;EAEA;AACF;AACA;AACA;EACEW,iBAAiBA,CAACR,SAAoB,EAAE;IACtC,IAAI,CAACK,SAAS,CAACI,IAAI,CAACT,SAAS,CAAC;EAChC;EAEAU,kBAAkBA,CAACX,IAAY,EAAE;IAC/B,OAAO,IAAI,CAACM,SAAS,CAACM,IAAI,CAACb,UAAU,CAACC,IAAI,CAAC,CAAC;EAC9C;AACF;AAACa,OAAA,CAAAC,OAAA,GAAAZ,eAAA","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import type { DoctorRunAllResults } from './doctor.main.runtime';
2
+ export default function render({ examineResults, savedFilePath, metaData }: DoctorRunAllResults): string;
@@ -0,0 +1,115 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = render;
7
+ function _chalk() {
8
+ const data = _interopRequireDefault(require("chalk"));
9
+ _chalk = function () {
10
+ return data;
11
+ };
12
+ return data;
13
+ }
14
+ function _table() {
15
+ const data = require("table");
16
+ _table = function () {
17
+ return data;
18
+ };
19
+ return data;
20
+ }
21
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
22
+ // const NAME_COLUMN_WIDTH = 100;
23
+ // const DESCRIPTION_COLUMN_WIDTH = 30;
24
+
25
+ const summeryTableColumnConfig = {
26
+ columnDefault: {
27
+ alignment: 'left'
28
+ }
29
+ };
30
+ function _formatStatusCell(status) {
31
+ if (status) {
32
+ return _chalk().default.green('passed');
33
+ }
34
+ return _chalk().default.red('failed');
35
+ }
36
+ function _createSummeryRow(examineResult) {
37
+ const meta = examineResult.diagnosisMetaData;
38
+ const status = _formatStatusCell(examineResult.bareResult.valid);
39
+ return [meta.category, meta.name, meta.description, status];
40
+ }
41
+ function _createSummeryTable(examineResult) {
42
+ const header = [_chalk().default.bold('category'), _chalk().default.bold('name'), _chalk().default.bold('description'), _chalk().default.bold('status')];
43
+ const rows = examineResult.map(_createSummeryRow);
44
+ // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!
45
+ rows.unshift(header);
46
+ const output = (0, _table().table)(rows, summeryTableColumnConfig);
47
+ return output;
48
+ }
49
+ function _createSummerySection(examineResult) {
50
+ // A placeholder if we will decide we want a title
51
+ const title = _chalk().default.underline('');
52
+ const summeryTable = _createSummeryTable(examineResult);
53
+ return `${title}\n${summeryTable}`;
54
+ }
55
+ function _createFullReportForDiagnosis(examineResult) {
56
+ if (examineResult.bareResult.valid) {
57
+ return '';
58
+ }
59
+ const title = _chalk().default.underline(examineResult.diagnosisMetaData.name);
60
+ const symptomsTitle = _chalk().default.underline('symptoms');
61
+ const symptomsText = examineResult.formattedSymptoms;
62
+ const cureTitle = _chalk().default.underline('cure');
63
+ const cureText = examineResult.formattedManualTreat;
64
+ return `${title}
65
+ ${symptomsTitle}
66
+ ${symptomsText}
67
+ ${cureTitle}
68
+ ${cureText}\n`;
69
+ }
70
+ function _createFullReportForDiagnoses(examineResult) {
71
+ const fullDiagnosesReport = examineResult.map(_createFullReportForDiagnosis).join('\n');
72
+ return fullDiagnosesReport;
73
+ }
74
+ function _createFullReportSection(examineResult) {
75
+ const title = _chalk().default.underline('Error report');
76
+ const fullDiagnosesReport = _createFullReportForDiagnoses(examineResult);
77
+ if (fullDiagnosesReport.trim() === '') {
78
+ return '';
79
+ }
80
+ return `${title}
81
+ ${fullDiagnosesReport}`;
82
+ }
83
+ function _createWrittenFileSection(savedFilePath) {
84
+ if (!savedFilePath) {
85
+ return '';
86
+ }
87
+ return `File written to ${savedFilePath}`;
88
+ }
89
+ function _createMetaSection(metaData) {
90
+ return `
91
+ bit version : ${metaData.bitVersion}
92
+ node version : ${metaData.nodeVersion}
93
+ npm version : ${metaData.npmVersion || 'NA'}
94
+ yarn version : ${metaData.yarnVersion || 'NA'}
95
+ platform : ${metaData.platform}
96
+ user details : ${metaData.userDetails}
97
+ `;
98
+ }
99
+ function render({
100
+ examineResults,
101
+ savedFilePath,
102
+ metaData
103
+ }) {
104
+ const meatSection = _createMetaSection(metaData);
105
+ const summerySection = _createSummerySection(examineResults);
106
+ const fullReportSection = _createFullReportSection(examineResults);
107
+ const writtenFileSection = _createWrittenFileSection(savedFilePath);
108
+ const output = `${meatSection}
109
+ ${summerySection}
110
+ ${fullReportSection}
111
+ ${writtenFileSection}`;
112
+ return output;
113
+ }
114
+
115
+ //# sourceMappingURL=doctor-results-template.js.map
@@ -0,0 +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 type { Alignment } from 'table';\nimport type { DoctorMetaData, DoctorRunAllResults } from './doctor.main.runtime';\nimport type { 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":[]}
@@ -0,0 +1,2 @@
1
+ import { Aspect } from '@teambit/harmony';
2
+ export declare const DoctorAspect: Aspect;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.DoctorAspect = void 0;
7
+ function _harmony() {
8
+ const data = require("@teambit/harmony");
9
+ _harmony = function () {
10
+ return data;
11
+ };
12
+ return data;
13
+ }
14
+ const DoctorAspect = exports.DoctorAspect = _harmony().Aspect.create({
15
+ id: 'teambit.harmony/doctor'
16
+ });
17
+
18
+ //# sourceMappingURL=doctor.aspect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_harmony","data","require","DoctorAspect","exports","Aspect","create","id"],"sources":["doctor.aspect.ts"],"sourcesContent":["import { Aspect } from '@teambit/harmony';\n\nexport const DoctorAspect = Aspect.create({\n id: 'teambit.harmony/doctor',\n});\n"],"mappings":";;;;;;AAAA,SAAAA,SAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,QAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEO,MAAME,YAAY,GAAAC,OAAA,CAAAD,YAAA,GAAGE,iBAAM,CAACC,MAAM,CAAC;EACxCC,EAAE,EAAE;AACN,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,3 @@
1
+ import type { Schema } from '@teambit/graphql';
2
+ import type { ScopeMain } from '@teambit/scope';
3
+ export declare function doctorSchema(scopeMain: ScopeMain): Schema;
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.doctorSchema = doctorSchema;
7
+ function _graphqlTag() {
8
+ const data = require("graphql-tag");
9
+ _graphqlTag = function () {
10
+ return data;
11
+ };
12
+ return data;
13
+ }
14
+ function _runDoctorOnScope() {
15
+ const data = require("./run-doctor-on-scope");
16
+ _runDoctorOnScope = function () {
17
+ return data;
18
+ };
19
+ return data;
20
+ }
21
+ function doctorSchema(scopeMain) {
22
+ return {
23
+ typeDefs: (0, _graphqlTag().gql)`
24
+ type DiagnosisMetaData {
25
+ name: String!
26
+ description: String!
27
+ category: String!
28
+ }
29
+
30
+ type ExamineBareResult {
31
+ valid: Boolean!
32
+ data: JSONObject
33
+ }
34
+
35
+ type ExamineResult {
36
+ diagnosisMetaData: DiagnosisMetaData!
37
+ bareResult: ExamineBareResult!
38
+ formattedSymptoms: String!
39
+ formattedManualTreat: String!
40
+ }
41
+
42
+ type DoctorMetaData {
43
+ nodeVersion: String!
44
+ runningTimestamp: Float!
45
+ platform: String!
46
+ bitVersion: String!
47
+ npmVersion: String
48
+ yarnVersion: String
49
+ userDetails: String!
50
+ }
51
+
52
+ type DoctorResponse {
53
+ examineResults: [ExamineResult]!
54
+ metaData: DoctorMetaData!
55
+ }
56
+
57
+ extend type Scope {
58
+ # run doctor diagnostics on the scope
59
+ doctor(diagnosisName: String): DoctorResponse!
60
+ }
61
+ `,
62
+ resolvers: {
63
+ Scope: {
64
+ doctor: async (_, {
65
+ diagnosisName
66
+ }) => {
67
+ return (0, _runDoctorOnScope().runDoctorOnScope)(scopeMain.legacyScope, diagnosisName);
68
+ }
69
+ }
70
+ }
71
+ };
72
+ }
73
+
74
+ //# sourceMappingURL=doctor.graphql.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_graphqlTag","data","require","_runDoctorOnScope","doctorSchema","scopeMain","typeDefs","gql","resolvers","Scope","doctor","_","diagnosisName","runDoctorOnScope","legacyScope"],"sources":["doctor.graphql.ts"],"sourcesContent":["import type { Schema } from '@teambit/graphql';\nimport { gql } from 'graphql-tag';\nimport type { ScopeMain } from '@teambit/scope';\nimport { runDoctorOnScope } from './run-doctor-on-scope';\n\nexport function doctorSchema(scopeMain: ScopeMain): Schema {\n return {\n typeDefs: gql`\n type DiagnosisMetaData {\n name: String!\n description: String!\n category: String!\n }\n\n type ExamineBareResult {\n valid: Boolean!\n data: JSONObject\n }\n\n type ExamineResult {\n diagnosisMetaData: DiagnosisMetaData!\n bareResult: ExamineBareResult!\n formattedSymptoms: String!\n formattedManualTreat: String!\n }\n\n type DoctorMetaData {\n nodeVersion: String!\n runningTimestamp: Float!\n platform: String!\n bitVersion: String!\n npmVersion: String\n yarnVersion: String\n userDetails: String!\n }\n\n type DoctorResponse {\n examineResults: [ExamineResult]!\n metaData: DoctorMetaData!\n }\n\n extend type Scope {\n # run doctor diagnostics on the scope\n doctor(diagnosisName: String): DoctorResponse!\n }\n `,\n resolvers: {\n Scope: {\n doctor: async (_: ScopeMain, { diagnosisName }: { diagnosisName?: string }) => {\n return runDoctorOnScope(scopeMain.legacyScope, diagnosisName);\n },\n },\n },\n };\n}\n"],"mappings":";;;;;;AACA,SAAAA,YAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,WAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAE,kBAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,iBAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEO,SAASG,YAAYA,CAACC,SAAoB,EAAU;EACzD,OAAO;IACLC,QAAQ,EAAE,IAAAC,iBAAG;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;IACDC,SAAS,EAAE;MACTC,KAAK,EAAE;QACLC,MAAM,EAAE,MAAAA,CAAOC,CAAY,EAAE;UAAEC;QAA0C,CAAC,KAAK;UAC7E,OAAO,IAAAC,oCAAgB,EAACR,SAAS,CAACS,WAAW,EAAEF,aAAa,CAAC;QAC/D;MACF;IACF;EACF,CAAC;AACH","ignoreList":[]}
@@ -0,0 +1,63 @@
1
+ import type { CLIMain } from '@teambit/cli';
2
+ import type { ExamineResult } from './diagnosis';
3
+ import type Diagnosis from './diagnosis';
4
+ import type { Logger, LoggerMain } from '@teambit/logger';
5
+ import type { GraphqlMain } from '@teambit/graphql';
6
+ import type { ScopeMain } from '@teambit/scope';
7
+ export type DoctorMetaData = {
8
+ nodeVersion: string;
9
+ runningTimestamp: number;
10
+ platform: string;
11
+ bitVersion: string;
12
+ npmVersion: string | null | undefined;
13
+ yarnVersion: string | null | undefined;
14
+ userDetails: string;
15
+ };
16
+ export type DoctorRunAllResults = {
17
+ examineResults: ExamineResult[];
18
+ savedFilePath: string | null | undefined;
19
+ metaData: DoctorMetaData;
20
+ };
21
+ export type DoctorRunOneResult = {
22
+ examineResult: ExamineResult;
23
+ savedFilePath: string | null | undefined;
24
+ metaData: DoctorMetaData;
25
+ };
26
+ export type DoctorResponse = {
27
+ examineResults: ExamineResult[];
28
+ metaData: DoctorMetaData;
29
+ };
30
+ export type DoctorOptions = {
31
+ diagnosisName?: string;
32
+ filePath?: string;
33
+ archiveWorkspace?: boolean;
34
+ includeNodeModules?: boolean;
35
+ includePublic?: boolean;
36
+ excludeLocalScope?: boolean;
37
+ remote?: string;
38
+ };
39
+ export declare class DoctorMain {
40
+ private logger;
41
+ constructor(logger: Logger);
42
+ runAll(options: DoctorOptions): Promise<DoctorRunAllResults>;
43
+ runOne({ diagnosisName, ...options }: DoctorOptions): Promise<DoctorRunOneResult>;
44
+ private _connectToRemote;
45
+ private _validateOptions;
46
+ listDiagnoses(): Promise<Diagnosis[]>;
47
+ private _saveExamineResultsToFile;
48
+ private getWithoutExt;
49
+ private _calculateFinalFileName;
50
+ private _getDefaultFileName;
51
+ private _getTimeStamp;
52
+ private _generateExamineResultsTarFile;
53
+ private _getEnvMeta;
54
+ private _getUserDetails;
55
+ private _getDebugLogAsBuffer;
56
+ private _getWorkspaceInfo;
57
+ private _getBitMap;
58
+ static slots: never[];
59
+ static dependencies: import("@teambit/harmony").Aspect[];
60
+ static runtime: import("@teambit/harmony").RuntimeDefinition;
61
+ static provider([cliMain, loggerMain, graphql, scope]: [CLIMain, LoggerMain, GraphqlMain, ScopeMain]): Promise<DoctorMain>;
62
+ }
63
+ export default DoctorMain;