@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.
- package/core-diagnoses/broken-symlink-files.ts +78 -0
- package/core-diagnoses/orphan-symlink-objects.ts +50 -0
- package/core-diagnoses/validate-bit-version.ts +55 -0
- package/core-diagnoses/validate-git-exec.ts +39 -0
- package/core-diagnoses/validate-npm-exec.ts +41 -0
- package/core-diagnoses/validate-scope-objects.ts +83 -0
- package/core-diagnoses/validate-workspace-bit-json-syntax.ts +36 -0
- package/core-diagnoses/validate-yarn-exec.ts +41 -0
- package/dist/core-diagnoses/broken-symlink-files.d.ts +16 -0
- package/dist/core-diagnoses/broken-symlink-files.js +126 -0
- package/dist/core-diagnoses/broken-symlink-files.js.map +1 -0
- package/dist/core-diagnoses/orphan-symlink-objects.d.ts +11 -0
- package/dist/core-diagnoses/orphan-symlink-objects.js +82 -0
- package/dist/core-diagnoses/orphan-symlink-objects.js.map +1 -0
- package/dist/core-diagnoses/validate-bit-version.d.ts +10 -0
- package/dist/core-diagnoses/validate-bit-version.js +92 -0
- package/dist/core-diagnoses/validate-bit-version.js.map +1 -0
- package/dist/core-diagnoses/validate-git-exec.d.ts +11 -0
- package/dist/core-diagnoses/validate-git-exec.js +68 -0
- package/dist/core-diagnoses/validate-git-exec.js.map +1 -0
- package/dist/core-diagnoses/validate-npm-exec.d.ts +11 -0
- package/dist/core-diagnoses/validate-npm-exec.js +73 -0
- package/dist/core-diagnoses/validate-npm-exec.js.map +1 -0
- package/dist/core-diagnoses/validate-scope-objects.d.ts +11 -0
- package/dist/core-diagnoses/validate-scope-objects.js +113 -0
- package/dist/core-diagnoses/validate-scope-objects.js.map +1 -0
- package/dist/core-diagnoses/validate-workspace-bit-json-syntax.d.ts +10 -0
- package/dist/core-diagnoses/validate-workspace-bit-json-syntax.js +66 -0
- package/dist/core-diagnoses/validate-workspace-bit-json-syntax.js.map +1 -0
- package/dist/core-diagnoses/validate-yarn-exec.d.ts +11 -0
- package/dist/core-diagnoses/validate-yarn-exec.js +72 -0
- package/dist/core-diagnoses/validate-yarn-exec.js.map +1 -0
- package/dist/diagnosis-list-template.d.ts +2 -0
- package/dist/diagnosis-list-template.js +42 -0
- package/dist/diagnosis-list-template.js.map +1 -0
- package/dist/diagnosis.d.ts +41 -0
- package/dist/diagnosis.js +70 -0
- package/dist/diagnosis.js.map +1 -0
- package/dist/doctor-cmd.d.ts +26 -0
- package/dist/doctor-cmd.js +122 -0
- package/dist/doctor-cmd.js.map +1 -0
- package/dist/doctor-context.d.ts +49 -0
- package/dist/doctor-context.js +69 -0
- package/dist/doctor-context.js.map +1 -0
- package/dist/doctor-registrar-builder.d.ts +2 -0
- package/dist/doctor-registrar-builder.js +76 -0
- package/dist/doctor-registrar-builder.js.map +1 -0
- package/dist/doctor-registrar.d.ts +21 -0
- package/dist/doctor-registrar.js +62 -0
- package/dist/doctor-registrar.js.map +1 -0
- package/dist/doctor-results-template.d.ts +2 -0
- package/dist/doctor-results-template.js +115 -0
- package/dist/doctor-results-template.js.map +1 -0
- package/dist/doctor.aspect.d.ts +2 -0
- package/dist/doctor.aspect.js +18 -0
- package/dist/doctor.aspect.js.map +1 -0
- package/dist/doctor.graphql.d.ts +3 -0
- package/dist/doctor.graphql.js +74 -0
- package/dist/doctor.graphql.js.map +1 -0
- package/dist/doctor.main.runtime.d.ts +63 -0
- package/dist/doctor.main.runtime.js +524 -0
- package/dist/doctor.main.runtime.js.map +1 -0
- package/dist/esm.mjs +8 -0
- package/dist/exceptions/diagnosis-not-found.d.ts +5 -0
- package/dist/exceptions/diagnosis-not-found.js +30 -0
- package/dist/exceptions/diagnosis-not-found.js.map +1 -0
- package/dist/exceptions/missing-diagnosis-name.d.ts +4 -0
- package/dist/exceptions/missing-diagnosis-name.js +21 -0
- package/dist/exceptions/missing-diagnosis-name.js.map +1 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.js +61 -0
- package/dist/index.js.map +1 -0
- package/dist/preview-1764777197370.js +7 -0
- package/dist/run-doctor-on-scope.d.ts +3 -0
- package/dist/run-doctor-on-scope.js +140 -0
- package/dist/run-doctor-on-scope.js.map +1 -0
- package/esm.mjs +8 -0
- package/exceptions/diagnosis-not-found.ts +8 -0
- package/exceptions/missing-diagnosis-name.ts +7 -0
- package/package.json +85 -0
- package/types/asset.d.ts +41 -0
- package/types/style.d.ts +42 -0
|
@@ -0,0 +1,524 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = exports.DoctorMain = void 0;
|
|
7
|
+
function _cli() {
|
|
8
|
+
const data = require("@teambit/cli");
|
|
9
|
+
_cli = function () {
|
|
10
|
+
return data;
|
|
11
|
+
};
|
|
12
|
+
return data;
|
|
13
|
+
}
|
|
14
|
+
function _path() {
|
|
15
|
+
const data = _interopRequireDefault(require("path"));
|
|
16
|
+
_path = function () {
|
|
17
|
+
return data;
|
|
18
|
+
};
|
|
19
|
+
return data;
|
|
20
|
+
}
|
|
21
|
+
function _fsExtra() {
|
|
22
|
+
const data = _interopRequireDefault(require("fs-extra"));
|
|
23
|
+
_fsExtra = function () {
|
|
24
|
+
return data;
|
|
25
|
+
};
|
|
26
|
+
return data;
|
|
27
|
+
}
|
|
28
|
+
function _os() {
|
|
29
|
+
const data = _interopRequireDefault(require("os"));
|
|
30
|
+
_os = function () {
|
|
31
|
+
return data;
|
|
32
|
+
};
|
|
33
|
+
return data;
|
|
34
|
+
}
|
|
35
|
+
function _tarStream() {
|
|
36
|
+
const data = _interopRequireDefault(require("tar-stream"));
|
|
37
|
+
_tarStream = function () {
|
|
38
|
+
return data;
|
|
39
|
+
};
|
|
40
|
+
return data;
|
|
41
|
+
}
|
|
42
|
+
function _tarFs() {
|
|
43
|
+
const data = _interopRequireDefault(require("tar-fs"));
|
|
44
|
+
_tarFs = function () {
|
|
45
|
+
return data;
|
|
46
|
+
};
|
|
47
|
+
return data;
|
|
48
|
+
}
|
|
49
|
+
function _bit() {
|
|
50
|
+
const data = require("@teambit/bit.get-bit-version");
|
|
51
|
+
_bit = function () {
|
|
52
|
+
return data;
|
|
53
|
+
};
|
|
54
|
+
return data;
|
|
55
|
+
}
|
|
56
|
+
function _legacy() {
|
|
57
|
+
const data = require("@teambit/legacy.constants");
|
|
58
|
+
_legacy = function () {
|
|
59
|
+
return data;
|
|
60
|
+
};
|
|
61
|
+
return data;
|
|
62
|
+
}
|
|
63
|
+
function _legacy2() {
|
|
64
|
+
const data = require("@teambit/legacy.bit-map");
|
|
65
|
+
_legacy2 = function () {
|
|
66
|
+
return data;
|
|
67
|
+
};
|
|
68
|
+
return data;
|
|
69
|
+
}
|
|
70
|
+
function _legacy3() {
|
|
71
|
+
const data = require("@teambit/legacy.consumer-config");
|
|
72
|
+
_legacy3 = function () {
|
|
73
|
+
return data;
|
|
74
|
+
};
|
|
75
|
+
return data;
|
|
76
|
+
}
|
|
77
|
+
function _workspaceModules() {
|
|
78
|
+
const data = require("@teambit/workspace.modules.workspace-locator");
|
|
79
|
+
_workspaceModules = function () {
|
|
80
|
+
return data;
|
|
81
|
+
};
|
|
82
|
+
return data;
|
|
83
|
+
}
|
|
84
|
+
function _doctorRegistrar() {
|
|
85
|
+
const data = _interopRequireDefault(require("./doctor-registrar"));
|
|
86
|
+
_doctorRegistrar = function () {
|
|
87
|
+
return data;
|
|
88
|
+
};
|
|
89
|
+
return data;
|
|
90
|
+
}
|
|
91
|
+
function _doctorRegistrarBuilder() {
|
|
92
|
+
const data = _interopRequireDefault(require("./doctor-registrar-builder"));
|
|
93
|
+
_doctorRegistrarBuilder = function () {
|
|
94
|
+
return data;
|
|
95
|
+
};
|
|
96
|
+
return data;
|
|
97
|
+
}
|
|
98
|
+
function _lodash() {
|
|
99
|
+
const data = require("lodash");
|
|
100
|
+
_lodash = function () {
|
|
101
|
+
return data;
|
|
102
|
+
};
|
|
103
|
+
return data;
|
|
104
|
+
}
|
|
105
|
+
function _legacy4() {
|
|
106
|
+
const data = require("@teambit/legacy.utils");
|
|
107
|
+
_legacy4 = function () {
|
|
108
|
+
return data;
|
|
109
|
+
};
|
|
110
|
+
return data;
|
|
111
|
+
}
|
|
112
|
+
function _toolboxFs() {
|
|
113
|
+
const data = require("@teambit/toolbox.fs.extension-getter");
|
|
114
|
+
_toolboxFs = function () {
|
|
115
|
+
return data;
|
|
116
|
+
};
|
|
117
|
+
return data;
|
|
118
|
+
}
|
|
119
|
+
function _scopeModules() {
|
|
120
|
+
const data = require("@teambit/scope.modules.find-scope-path");
|
|
121
|
+
_scopeModules = function () {
|
|
122
|
+
return data;
|
|
123
|
+
};
|
|
124
|
+
return data;
|
|
125
|
+
}
|
|
126
|
+
function _configStore() {
|
|
127
|
+
const data = require("@teambit/config-store");
|
|
128
|
+
_configStore = function () {
|
|
129
|
+
return data;
|
|
130
|
+
};
|
|
131
|
+
return data;
|
|
132
|
+
}
|
|
133
|
+
function _validateNpmExec() {
|
|
134
|
+
const data = require("./core-diagnoses/validate-npm-exec");
|
|
135
|
+
_validateNpmExec = function () {
|
|
136
|
+
return data;
|
|
137
|
+
};
|
|
138
|
+
return data;
|
|
139
|
+
}
|
|
140
|
+
function _validateYarnExec() {
|
|
141
|
+
const data = require("./core-diagnoses/validate-yarn-exec");
|
|
142
|
+
_validateYarnExec = function () {
|
|
143
|
+
return data;
|
|
144
|
+
};
|
|
145
|
+
return data;
|
|
146
|
+
}
|
|
147
|
+
function _diagnosisNotFound() {
|
|
148
|
+
const data = require("./exceptions/diagnosis-not-found");
|
|
149
|
+
_diagnosisNotFound = function () {
|
|
150
|
+
return data;
|
|
151
|
+
};
|
|
152
|
+
return data;
|
|
153
|
+
}
|
|
154
|
+
function _missingDiagnosisName() {
|
|
155
|
+
const data = require("./exceptions/missing-diagnosis-name");
|
|
156
|
+
_missingDiagnosisName = function () {
|
|
157
|
+
return data;
|
|
158
|
+
};
|
|
159
|
+
return data;
|
|
160
|
+
}
|
|
161
|
+
function _scope() {
|
|
162
|
+
const data = require("@teambit/scope.remotes");
|
|
163
|
+
_scope = function () {
|
|
164
|
+
return data;
|
|
165
|
+
};
|
|
166
|
+
return data;
|
|
167
|
+
}
|
|
168
|
+
function _legacy5() {
|
|
169
|
+
const data = require("@teambit/legacy.consumer");
|
|
170
|
+
_legacy5 = function () {
|
|
171
|
+
return data;
|
|
172
|
+
};
|
|
173
|
+
return data;
|
|
174
|
+
}
|
|
175
|
+
function _doctor() {
|
|
176
|
+
const data = require("./doctor.aspect");
|
|
177
|
+
_doctor = function () {
|
|
178
|
+
return data;
|
|
179
|
+
};
|
|
180
|
+
return data;
|
|
181
|
+
}
|
|
182
|
+
function _doctorCmd() {
|
|
183
|
+
const data = require("./doctor-cmd");
|
|
184
|
+
_doctorCmd = function () {
|
|
185
|
+
return data;
|
|
186
|
+
};
|
|
187
|
+
return data;
|
|
188
|
+
}
|
|
189
|
+
function _logger() {
|
|
190
|
+
const data = require("@teambit/logger");
|
|
191
|
+
_logger = function () {
|
|
192
|
+
return data;
|
|
193
|
+
};
|
|
194
|
+
return data;
|
|
195
|
+
}
|
|
196
|
+
function _graphql() {
|
|
197
|
+
const data = require("@teambit/graphql");
|
|
198
|
+
_graphql = function () {
|
|
199
|
+
return data;
|
|
200
|
+
};
|
|
201
|
+
return data;
|
|
202
|
+
}
|
|
203
|
+
function _scope2() {
|
|
204
|
+
const data = require("@teambit/scope");
|
|
205
|
+
_scope2 = function () {
|
|
206
|
+
return data;
|
|
207
|
+
};
|
|
208
|
+
return data;
|
|
209
|
+
}
|
|
210
|
+
function _chalk() {
|
|
211
|
+
const data = _interopRequireDefault(require("chalk"));
|
|
212
|
+
_chalk = function () {
|
|
213
|
+
return data;
|
|
214
|
+
};
|
|
215
|
+
return data;
|
|
216
|
+
}
|
|
217
|
+
function _doctor2() {
|
|
218
|
+
const data = require("./doctor.graphql");
|
|
219
|
+
_doctor2 = function () {
|
|
220
|
+
return data;
|
|
221
|
+
};
|
|
222
|
+
return data;
|
|
223
|
+
}
|
|
224
|
+
const _excluded = ["diagnosisName"];
|
|
225
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
226
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
227
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
228
|
+
function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
|
|
229
|
+
function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
|
|
230
|
+
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; }
|
|
231
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
232
|
+
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); }
|
|
233
|
+
// run specific check
|
|
234
|
+
|
|
235
|
+
let runningTimeStamp;
|
|
236
|
+
class DoctorMain {
|
|
237
|
+
constructor(logger) {
|
|
238
|
+
this.logger = logger;
|
|
239
|
+
}
|
|
240
|
+
async runAll(options) {
|
|
241
|
+
(0, _doctorRegistrarBuilder().default)();
|
|
242
|
+
runningTimeStamp = this._getTimeStamp();
|
|
243
|
+
this._validateOptions(options);
|
|
244
|
+
let examineResults;
|
|
245
|
+
let envMeta;
|
|
246
|
+
|
|
247
|
+
// Handle remote scope if specified
|
|
248
|
+
if (options.remote) {
|
|
249
|
+
try {
|
|
250
|
+
const network = await this._connectToRemote(options.remote);
|
|
251
|
+
const response = await network.doctor();
|
|
252
|
+
examineResults = response.examineResults;
|
|
253
|
+
envMeta = response.metaData;
|
|
254
|
+
} catch (err) {
|
|
255
|
+
this.logger.error(`Failed to run doctor on remote scope "${options.remote}"`, err);
|
|
256
|
+
throw err;
|
|
257
|
+
}
|
|
258
|
+
} else {
|
|
259
|
+
// Run locally
|
|
260
|
+
const doctorRegistrar = _doctorRegistrar().default.getInstance();
|
|
261
|
+
const examineResultsWithNulls = await Promise.all(doctorRegistrar.diagnoses.map(async diagnosis => {
|
|
262
|
+
try {
|
|
263
|
+
return await diagnosis.examine();
|
|
264
|
+
} catch (err) {
|
|
265
|
+
this.logger.error(`doctor failed running diagnosis "${diagnosis.name}"`, err);
|
|
266
|
+
this.logger.consoleFailure(_chalk().default.red(`doctor failed running diagnosis "${diagnosis.name}".\nerror-message: ${err.message}`));
|
|
267
|
+
}
|
|
268
|
+
}));
|
|
269
|
+
examineResults = (0, _lodash().compact)(examineResultsWithNulls);
|
|
270
|
+
envMeta = await this._getEnvMeta();
|
|
271
|
+
}
|
|
272
|
+
const savedFilePath = await this._saveExamineResultsToFile(examineResults, envMeta, options);
|
|
273
|
+
return {
|
|
274
|
+
examineResults,
|
|
275
|
+
savedFilePath,
|
|
276
|
+
metaData: envMeta
|
|
277
|
+
};
|
|
278
|
+
}
|
|
279
|
+
async runOne(_ref) {
|
|
280
|
+
let {
|
|
281
|
+
diagnosisName
|
|
282
|
+
} = _ref,
|
|
283
|
+
options = _objectWithoutProperties(_ref, _excluded);
|
|
284
|
+
if (!diagnosisName) {
|
|
285
|
+
throw new (_missingDiagnosisName().MissingDiagnosisName)();
|
|
286
|
+
}
|
|
287
|
+
(0, _doctorRegistrarBuilder().default)();
|
|
288
|
+
runningTimeStamp = this._getTimeStamp();
|
|
289
|
+
this._validateOptions(_objectSpread({
|
|
290
|
+
diagnosisName
|
|
291
|
+
}, options));
|
|
292
|
+
let examineResult;
|
|
293
|
+
let envMeta;
|
|
294
|
+
|
|
295
|
+
// Handle remote scope if specified
|
|
296
|
+
if (options.remote) {
|
|
297
|
+
try {
|
|
298
|
+
const network = await this._connectToRemote(options.remote);
|
|
299
|
+
const response = await network.doctor(diagnosisName);
|
|
300
|
+
if (response.examineResults.length === 0) {
|
|
301
|
+
throw new (_diagnosisNotFound().DiagnosisNotFound)(diagnosisName);
|
|
302
|
+
}
|
|
303
|
+
examineResult = response.examineResults[0];
|
|
304
|
+
envMeta = response.metaData;
|
|
305
|
+
} catch (err) {
|
|
306
|
+
this.logger.error(`Failed to run doctor on remote scope "${options.remote}"`, err);
|
|
307
|
+
throw err;
|
|
308
|
+
}
|
|
309
|
+
} else {
|
|
310
|
+
// Run locally
|
|
311
|
+
const doctorRegistrar = _doctorRegistrar().default.getInstance();
|
|
312
|
+
const diagnosis = doctorRegistrar.getDiagnosisByName(diagnosisName);
|
|
313
|
+
if (!diagnosis) {
|
|
314
|
+
throw new (_diagnosisNotFound().DiagnosisNotFound)(diagnosisName);
|
|
315
|
+
}
|
|
316
|
+
examineResult = await diagnosis.examine();
|
|
317
|
+
envMeta = await this._getEnvMeta();
|
|
318
|
+
}
|
|
319
|
+
const savedFilePath = await this._saveExamineResultsToFile([examineResult], envMeta, options);
|
|
320
|
+
return {
|
|
321
|
+
examineResult,
|
|
322
|
+
savedFilePath,
|
|
323
|
+
metaData: envMeta
|
|
324
|
+
};
|
|
325
|
+
}
|
|
326
|
+
async _connectToRemote(remoteName) {
|
|
327
|
+
const consumer = await (0, _legacy5().loadConsumerIfExist)();
|
|
328
|
+
const remote = await (0, _scope().getRemoteByName)(remoteName, consumer);
|
|
329
|
+
return remote.connect();
|
|
330
|
+
}
|
|
331
|
+
_validateOptions(options) {
|
|
332
|
+
if (!options.remote) return;
|
|
333
|
+
|
|
334
|
+
// Archive-related flags are incompatible with --remote
|
|
335
|
+
const incompatibleFlags = [];
|
|
336
|
+
if (options.archiveWorkspace) {
|
|
337
|
+
incompatibleFlags.push('--archive');
|
|
338
|
+
}
|
|
339
|
+
if (options.includeNodeModules) {
|
|
340
|
+
incompatibleFlags.push('--include-node-modules');
|
|
341
|
+
}
|
|
342
|
+
if (options.includePublic) {
|
|
343
|
+
incompatibleFlags.push('--include-public');
|
|
344
|
+
}
|
|
345
|
+
if (options.excludeLocalScope) {
|
|
346
|
+
incompatibleFlags.push('--exclude-local-scope');
|
|
347
|
+
}
|
|
348
|
+
if (incompatibleFlags.length > 0) {
|
|
349
|
+
throw new Error(`The following flags cannot be used with --remote: ${incompatibleFlags.join(', ')}. Archive-related options are only applicable when running doctor locally.`);
|
|
350
|
+
}
|
|
351
|
+
}
|
|
352
|
+
async listDiagnoses() {
|
|
353
|
+
(0, _doctorRegistrarBuilder().default)();
|
|
354
|
+
const doctorRegistrar = _doctorRegistrar().default.getInstance();
|
|
355
|
+
return Promise.resolve(doctorRegistrar.diagnoses);
|
|
356
|
+
}
|
|
357
|
+
async _saveExamineResultsToFile(examineResults, envMeta, options) {
|
|
358
|
+
if (!options.filePath) {
|
|
359
|
+
return Promise.resolve(undefined);
|
|
360
|
+
}
|
|
361
|
+
const finalFilePath = this._calculateFinalFileName(options.filePath);
|
|
362
|
+
const packStream = await this._generateExamineResultsTarFile(examineResults, envMeta, finalFilePath, options);
|
|
363
|
+
const yourTarball = _fsExtra().default.createWriteStream(finalFilePath);
|
|
364
|
+
packStream.pipe(yourTarball);
|
|
365
|
+
return new Promise(resolve => {
|
|
366
|
+
yourTarball.on('close', () => {
|
|
367
|
+
this.logger.info(`wrote a file by bit doctor, file path: ${finalFilePath}`);
|
|
368
|
+
resolve(finalFilePath);
|
|
369
|
+
// fs.stat(finalFilePath, private (err, stats) {
|
|
370
|
+
// if (err) throw err
|
|
371
|
+
// console.log(stats)
|
|
372
|
+
// console.log('Got file info successfully!')
|
|
373
|
+
// })
|
|
374
|
+
});
|
|
375
|
+
});
|
|
376
|
+
}
|
|
377
|
+
getWithoutExt(filename) {
|
|
378
|
+
const ext = (0, _toolboxFs().getExt)(filename);
|
|
379
|
+
// There is no extension just return the file name
|
|
380
|
+
if (ext === filename) {
|
|
381
|
+
return filename;
|
|
382
|
+
}
|
|
383
|
+
return filename.substring(0, filename.length - ext.length - 1); // -1 to remove the '.'
|
|
384
|
+
}
|
|
385
|
+
_calculateFinalFileName(fileName) {
|
|
386
|
+
if (fileName === '.') {
|
|
387
|
+
return this._getDefaultFileName();
|
|
388
|
+
}
|
|
389
|
+
let finalFileName = fileName;
|
|
390
|
+
if ((0, _toolboxFs().getExt)(fileName) !== 'tar' && (0, _toolboxFs().getExt)(fileName) !== 'tar.gz') {
|
|
391
|
+
finalFileName = `${this.getWithoutExt(finalFileName)}.tar`;
|
|
392
|
+
}
|
|
393
|
+
return finalFileName;
|
|
394
|
+
}
|
|
395
|
+
_getDefaultFileName() {
|
|
396
|
+
const timestamp = runningTimeStamp || this._getTimeStamp();
|
|
397
|
+
return `doctor-results-${timestamp}.tar`;
|
|
398
|
+
}
|
|
399
|
+
|
|
400
|
+
// TODO: move to utils
|
|
401
|
+
_getTimeStamp() {
|
|
402
|
+
const d = new Date();
|
|
403
|
+
const timestamp = d.getTime();
|
|
404
|
+
return timestamp;
|
|
405
|
+
}
|
|
406
|
+
async _generateExamineResultsTarFile(examineResults, envMeta, tarFilePath, options) {
|
|
407
|
+
const {
|
|
408
|
+
archiveWorkspace,
|
|
409
|
+
includeNodeModules,
|
|
410
|
+
includePublic,
|
|
411
|
+
excludeLocalScope
|
|
412
|
+
} = options;
|
|
413
|
+
const debugLog = await this._getDebugLogAsBuffer();
|
|
414
|
+
const consumerInfo = await this._getWorkspaceInfo();
|
|
415
|
+
let bitmap;
|
|
416
|
+
if (consumerInfo && consumerInfo.path) {
|
|
417
|
+
bitmap = this._getBitMap(consumerInfo.path);
|
|
418
|
+
}
|
|
419
|
+
const packExamineResults = async pack => {
|
|
420
|
+
pack.entry({
|
|
421
|
+
name: 'env-meta.json'
|
|
422
|
+
}, JSON.stringify(envMeta, null, 2));
|
|
423
|
+
pack.entry({
|
|
424
|
+
name: 'doc-results.json'
|
|
425
|
+
}, JSON.stringify(examineResults, null, 2));
|
|
426
|
+
if (debugLog) {
|
|
427
|
+
pack.entry({
|
|
428
|
+
name: 'debug.log'
|
|
429
|
+
}, debugLog);
|
|
430
|
+
}
|
|
431
|
+
if (!archiveWorkspace && bitmap) {
|
|
432
|
+
pack.entry({
|
|
433
|
+
name: '.bitmap'
|
|
434
|
+
}, bitmap);
|
|
435
|
+
}
|
|
436
|
+
if (consumerInfo && consumerInfo.hasWorkspaceConfig) {
|
|
437
|
+
// TODO: support new config as well
|
|
438
|
+
const scopePath = (0, _scopeModules().findScopePath)(consumerInfo.path);
|
|
439
|
+
const config = scopePath ? await _legacy3().LegacyWorkspaceConfig.loadIfExist(consumerInfo.path, scopePath) : undefined;
|
|
440
|
+
const legacyPlainConfig = config?._legacyPlainObject();
|
|
441
|
+
if (legacyPlainConfig) {
|
|
442
|
+
pack.entry({
|
|
443
|
+
name: 'config.json'
|
|
444
|
+
}, JSON.stringify(legacyPlainConfig, null, 4));
|
|
445
|
+
}
|
|
446
|
+
}
|
|
447
|
+
pack.finalize();
|
|
448
|
+
return pack;
|
|
449
|
+
};
|
|
450
|
+
if (!archiveWorkspace) {
|
|
451
|
+
const pack = _tarStream().default.pack(); // pack is a streams2 stream
|
|
452
|
+
return packExamineResults(pack);
|
|
453
|
+
}
|
|
454
|
+
const ignore = fileName => {
|
|
455
|
+
if (fileName === tarFilePath) return true;
|
|
456
|
+
if (fileName === '.DS_Store') return true;
|
|
457
|
+
if (!includeNodeModules && (fileName.startsWith(`node_modules${_path().default.sep}`) || fileName.includes(`${_path().default.sep}node_modules${_path().default.sep}`))) return true;
|
|
458
|
+
if (!includePublic && (fileName.startsWith(`public${_path().default.sep}`) || fileName.includes(`${_path().default.sep}public${_path().default.sep}`))) return true;
|
|
459
|
+
const isGit = fileName.startsWith(`.git${_path().default.sep}`);
|
|
460
|
+
const isLocalScope = fileName.startsWith(`.bit${_path().default.sep}`) || fileName.startsWith(`.git${_path().default.sep}bit${_path().default.sep}`);
|
|
461
|
+
if (excludeLocalScope && isLocalScope) {
|
|
462
|
+
const scopeDirsToExclude = ['objects', 'cache', 'tmp'];
|
|
463
|
+
if (scopeDirsToExclude.some(dir => fileName.includes(`${_path().default.sep}${dir}${_path().default.sep}`))) return true;
|
|
464
|
+
}
|
|
465
|
+
if (isGit && !isLocalScope) return true;
|
|
466
|
+
return false;
|
|
467
|
+
};
|
|
468
|
+
const workspaceRoot = consumerInfo?.path || '.';
|
|
469
|
+
const myPack = _tarFs().default.pack(workspaceRoot, {
|
|
470
|
+
ignore,
|
|
471
|
+
finalize: false,
|
|
472
|
+
finish: packExamineResults
|
|
473
|
+
});
|
|
474
|
+
return myPack;
|
|
475
|
+
}
|
|
476
|
+
async _getEnvMeta() {
|
|
477
|
+
const env = {
|
|
478
|
+
nodeVersion: process.version,
|
|
479
|
+
runningTimestamp: runningTimeStamp || this._getTimeStamp(),
|
|
480
|
+
platform: _os().default.platform(),
|
|
481
|
+
bitVersion: (0, _bit().getBitVersion)(),
|
|
482
|
+
npmVersion: await (0, _validateNpmExec().getNpmVersion)(),
|
|
483
|
+
yarnVersion: await (0, _validateYarnExec().getYarnVersion)(),
|
|
484
|
+
userDetails: this._getUserDetails()
|
|
485
|
+
};
|
|
486
|
+
|
|
487
|
+
// @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!
|
|
488
|
+
return env;
|
|
489
|
+
}
|
|
490
|
+
_getUserDetails() {
|
|
491
|
+
const name = (0, _configStore().getConfig)(_legacy().CFG_USER_NAME_KEY) || '';
|
|
492
|
+
const email = (0, _configStore().getConfig)(_legacy().CFG_USER_EMAIL_KEY) || '';
|
|
493
|
+
return `${name}<${email}>`;
|
|
494
|
+
}
|
|
495
|
+
async _getDebugLogAsBuffer() {
|
|
496
|
+
const exists = await _fsExtra().default.pathExists(_legacy().DEBUG_LOG);
|
|
497
|
+
if (!exists) return null;
|
|
498
|
+
const log = await _fsExtra().default.readFile(_legacy().DEBUG_LOG, 'utf-8');
|
|
499
|
+
const logWithoutChalk = (0, _legacy4().removeChalkCharacters)(log);
|
|
500
|
+
return Buffer.from(logWithoutChalk);
|
|
501
|
+
}
|
|
502
|
+
async _getWorkspaceInfo() {
|
|
503
|
+
const consumerInfo = await (0, _workspaceModules().getWorkspaceInfo)(process.cwd());
|
|
504
|
+
return consumerInfo;
|
|
505
|
+
}
|
|
506
|
+
_getBitMap(workspaceDir) {
|
|
507
|
+
return _legacy2().BitMap.loadRawSync(workspaceDir);
|
|
508
|
+
}
|
|
509
|
+
static async provider([cliMain, loggerMain, graphql, scope]) {
|
|
510
|
+
const logger = loggerMain.createLogger(_doctor().DoctorAspect.id);
|
|
511
|
+
const doctor = new DoctorMain(logger);
|
|
512
|
+
cliMain.register(new (_doctorCmd().DoctorCmd)(doctor));
|
|
513
|
+
graphql.register(() => (0, _doctor2().doctorSchema)(scope));
|
|
514
|
+
return doctor;
|
|
515
|
+
}
|
|
516
|
+
}
|
|
517
|
+
exports.DoctorMain = DoctorMain;
|
|
518
|
+
_defineProperty(DoctorMain, "slots", []);
|
|
519
|
+
_defineProperty(DoctorMain, "dependencies", [_cli().CLIAspect, _logger().LoggerAspect, _graphql().GraphqlAspect, _scope2().ScopeAspect]);
|
|
520
|
+
_defineProperty(DoctorMain, "runtime", _cli().MainRuntime);
|
|
521
|
+
_doctor().DoctorAspect.addRuntime(DoctorMain);
|
|
522
|
+
var _default = exports.default = DoctorMain;
|
|
523
|
+
|
|
524
|
+
//# sourceMappingURL=doctor.main.runtime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_cli","data","require","_path","_interopRequireDefault","_fsExtra","_os","_tarStream","_tarFs","_bit","_legacy","_legacy2","_legacy3","_workspaceModules","_doctorRegistrar","_doctorRegistrarBuilder","_lodash","_legacy4","_toolboxFs","_scopeModules","_configStore","_validateNpmExec","_validateYarnExec","_diagnosisNotFound","_missingDiagnosisName","_scope","_legacy5","_doctor","_doctorCmd","_logger","_graphql","_scope2","_chalk","_doctor2","_excluded","e","__esModule","default","ownKeys","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_objectWithoutProperties","i","_objectWithoutPropertiesLoose","n","indexOf","propertyIsEnumerable","call","hasOwnProperty","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","runningTimeStamp","DoctorMain","constructor","logger","runAll","options","registerCoreAndExtensionsDiagnoses","_getTimeStamp","_validateOptions","examineResults","envMeta","remote","network","_connectToRemote","response","doctor","metaData","err","error","doctorRegistrar","DoctorRegistrar","getInstance","examineResultsWithNulls","Promise","all","diagnoses","map","diagnosis","examine","name","consoleFailure","chalk","red","message","compact","_getEnvMeta","savedFilePath","_saveExamineResultsToFile","runOne","_ref","diagnosisName","MissingDiagnosisName","examineResult","DiagnosisNotFound","getDiagnosisByName","remoteName","consumer","loadConsumerIfExist","getRemoteByName","connect","incompatibleFlags","archiveWorkspace","includeNodeModules","includePublic","excludeLocalScope","Error","join","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","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","includes","isGit","isLocalScope","scopeDirsToExclude","some","dir","workspaceRoot","myPack","tarFS","finish","env","nodeVersion","process","version","runningTimestamp","platform","os","bitVersion","getBitVersion","npmVersion","getNpmVersion","yarnVersion","getYarnVersion","userDetails","_getUserDetails","getConfig","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","graphql","scope","createLogger","DoctorAspect","id","register","DoctorCmd","doctorSchema","exports","CLIAspect","LoggerAspect","GraphqlAspect","ScopeAspect","MainRuntime","addRuntime","_default"],"sources":["doctor.main.runtime.ts"],"sourcesContent":["import type { CLIMain } from '@teambit/cli';\nimport { CLIAspect, MainRuntime } from '@teambit/cli';\nimport path from 'path';\nimport fs from 'fs-extra';\nimport os from 'os';\nimport type 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 type { WorkspaceInfo } from '@teambit/workspace.modules.workspace-locator';\nimport { getWorkspaceInfo } from '@teambit/workspace.modules.workspace-locator';\nimport type { ExamineResult } from './diagnosis';\nimport type Diagnosis 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 { getConfig } from '@teambit/config-store';\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';\nimport { getRemoteByName } from '@teambit/scope.remotes';\nimport { loadConsumerIfExist } from '@teambit/legacy.consumer';\nimport type { Network } from '@teambit/scope.network';\n\nimport { DoctorAspect } from './doctor.aspect';\nimport { DoctorCmd } from './doctor-cmd';\nimport type { Logger, LoggerMain } from '@teambit/logger';\nimport { LoggerAspect } from '@teambit/logger';\nimport type { GraphqlMain } from '@teambit/graphql';\nimport { GraphqlAspect } from '@teambit/graphql';\nimport type { ScopeMain } from '@teambit/scope';\nimport { ScopeAspect } from '@teambit/scope';\nimport chalk from 'chalk';\nimport { doctorSchema } from './doctor.graphql';\n\n// run specific check\nexport type DoctorMetaData = {\n nodeVersion: string;\n runningTimestamp: number;\n platform: string;\n bitVersion: string;\n npmVersion: string | null | undefined;\n yarnVersion: string | null | undefined;\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};\nexport type DoctorResponse = {\n examineResults: ExamineResult[];\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 remote?: string;\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\n this._validateOptions(options);\n\n let examineResults: ExamineResult[];\n let envMeta: DoctorMetaData;\n\n // Handle remote scope if specified\n if (options.remote) {\n try {\n const network = await this._connectToRemote(options.remote);\n const response = await network.doctor();\n examineResults = response.examineResults;\n envMeta = response.metaData;\n } catch (err: any) {\n this.logger.error(`Failed to run doctor on remote scope \"${options.remote}\"`, err);\n throw err;\n }\n } else {\n // Run locally\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 examineResults = compact(examineResultsWithNulls);\n envMeta = await this._getEnvMeta();\n }\n\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\n this._validateOptions({ diagnosisName, ...options });\n\n let examineResult: ExamineResult;\n let envMeta: DoctorMetaData;\n\n // Handle remote scope if specified\n if (options.remote) {\n try {\n const network = await this._connectToRemote(options.remote);\n const response = await network.doctor(diagnosisName);\n if (response.examineResults.length === 0) {\n throw new DiagnosisNotFound(diagnosisName);\n }\n examineResult = response.examineResults[0];\n envMeta = response.metaData;\n } catch (err: any) {\n this.logger.error(`Failed to run doctor on remote scope \"${options.remote}\"`, err);\n throw err;\n }\n } else {\n // Run locally\n const doctorRegistrar = DoctorRegistrar.getInstance();\n const diagnosis = doctorRegistrar.getDiagnosisByName(diagnosisName);\n if (!diagnosis) {\n throw new DiagnosisNotFound(diagnosisName);\n }\n examineResult = await diagnosis.examine();\n envMeta = await this._getEnvMeta();\n }\n\n const savedFilePath = await this._saveExamineResultsToFile([examineResult], envMeta, options);\n return { examineResult, savedFilePath, metaData: envMeta };\n }\n\n private async _connectToRemote(remoteName: string): Promise<Network> {\n const consumer = await loadConsumerIfExist();\n const remote = await getRemoteByName(remoteName, consumer);\n return remote.connect();\n }\n\n private _validateOptions(options: DoctorOptions): void {\n if (!options.remote) return;\n\n // Archive-related flags are incompatible with --remote\n const incompatibleFlags: string[] = [];\n\n if (options.archiveWorkspace) {\n incompatibleFlags.push('--archive');\n }\n if (options.includeNodeModules) {\n incompatibleFlags.push('--include-node-modules');\n }\n if (options.includePublic) {\n incompatibleFlags.push('--include-public');\n }\n if (options.excludeLocalScope) {\n incompatibleFlags.push('--exclude-local-scope');\n }\n\n if (incompatibleFlags.length > 0) {\n throw new Error(\n `The following flags cannot be used with --remote: ${incompatibleFlags.join(', ')}. Archive-related options are only applicable when running doctor locally.`\n );\n }\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) {\n const scopeDirsToExclude = ['objects', 'cache', 'tmp'];\n if (scopeDirsToExclude.some((dir) => fileName.includes(`${path.sep}${dir}${path.sep}`))) return true;\n }\n if (isGit && !isLocalScope) return true;\n return false;\n };\n\n const workspaceRoot = consumerInfo?.path || '.';\n const myPack = tarFS.pack(workspaceRoot, {\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 = getConfig(CFG_USER_NAME_KEY) || '';\n const email = getConfig(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, GraphqlAspect, ScopeAspect];\n static runtime = MainRuntime;\n static async provider([cliMain, loggerMain, graphql, scope]: [CLIMain, LoggerMain, GraphqlMain, ScopeMain]) {\n const logger = loggerMain.createLogger(DoctorAspect.id);\n const doctor = new DoctorMain(logger);\n cliMain.register(new DoctorCmd(doctor));\n graphql.register(() => doctorSchema(scope));\n return doctor;\n }\n}\n\nDoctorAspect.addRuntime(DoctorMain);\n\nexport default DoctorMain;\n"],"mappings":"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","ignoreList":[]}
|
package/dist/esm.mjs
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
// eslint-disable-next-line import/no-unresolved
|
|
2
|
+
import cjsModule from './index.js';
|
|
3
|
+
|
|
4
|
+
export const DoctorAspect = cjsModule.DoctorAspect;
|
|
5
|
+
export const DiagnosisNotFound = cjsModule.DiagnosisNotFound;
|
|
6
|
+
export const DIAGNOSIS_NAME_VALIDATE_GIT_EXEC = cjsModule.DIAGNOSIS_NAME_VALIDATE_GIT_EXEC;
|
|
7
|
+
|
|
8
|
+
export default cjsModule;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.DiagnosisNotFound = void 0;
|
|
7
|
+
function _bitError() {
|
|
8
|
+
const data = require("@teambit/bit-error");
|
|
9
|
+
_bitError = function () {
|
|
10
|
+
return data;
|
|
11
|
+
};
|
|
12
|
+
return data;
|
|
13
|
+
}
|
|
14
|
+
function _chalk() {
|
|
15
|
+
const data = _interopRequireDefault(require("chalk"));
|
|
16
|
+
_chalk = function () {
|
|
17
|
+
return data;
|
|
18
|
+
};
|
|
19
|
+
return data;
|
|
20
|
+
}
|
|
21
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
22
|
+
class DiagnosisNotFound extends _bitError().BitError {
|
|
23
|
+
constructor(diagnosisName) {
|
|
24
|
+
super(`error: diagnosis ${_chalk().default.bold(diagnosisName)} not found`);
|
|
25
|
+
this.diagnosisName = diagnosisName;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
exports.DiagnosisNotFound = DiagnosisNotFound;
|
|
29
|
+
|
|
30
|
+
//# sourceMappingURL=diagnosis-not-found.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_bitError","data","require","_chalk","_interopRequireDefault","e","__esModule","default","DiagnosisNotFound","BitError","constructor","diagnosisName","chalk","bold","exports"],"sources":["diagnosis-not-found.ts"],"sourcesContent":["import { BitError } from '@teambit/bit-error';\nimport chalk from 'chalk';\n\nexport class DiagnosisNotFound extends BitError {\n constructor(public diagnosisName: string) {\n super(`error: diagnosis ${chalk.bold(diagnosisName)} not found`);\n }\n}\n"],"mappings":";;;;;;AAAA,SAAAA,UAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,SAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,OAAA;EAAA,MAAAF,IAAA,GAAAG,sBAAA,CAAAF,OAAA;EAAAC,MAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA0B,SAAAG,uBAAAC,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAEnB,MAAMG,iBAAiB,SAASC,oBAAQ,CAAC;EAC9CC,WAAWA,CAAQC,aAAqB,EAAE;IACxC,KAAK,CAAC,oBAAoBC,gBAAK,CAACC,IAAI,CAACF,aAAa,CAAC,YAAY,CAAC;IAAC,KADhDA,aAAqB,GAArBA,aAAqB;EAExC;AACF;AAACG,OAAA,CAAAN,iBAAA,GAAAA,iBAAA","ignoreList":[]}
|