@cyberskill/shared 1.50.0 → 1.52.0

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 (147) hide show
  1. package/dist/_tsup-dts-rollup.d.cts +100 -129
  2. package/dist/_tsup-dts-rollup.d.ts +100 -129
  3. package/dist/cli.cjs +1 -2146
  4. package/dist/cli.d.cts +1 -2
  5. package/dist/cli.d.ts +1 -2
  6. package/dist/cli.js +1 -2066
  7. package/dist/configs/commitlint/base.cjs +1 -64
  8. package/dist/configs/commitlint/base.js +1 -7
  9. package/dist/configs/eslint/base.cjs +1 -121
  10. package/dist/configs/eslint/base.js +1 -52
  11. package/dist/configs/eslint/nestjs.cjs +1 -155
  12. package/dist/configs/eslint/nestjs.js +1 -85
  13. package/dist/configs/eslint/nextjs.cjs +1 -155
  14. package/dist/configs/eslint/nextjs.js +1 -85
  15. package/dist/configs/eslint/nodejs.cjs +1 -156
  16. package/dist/configs/eslint/nodejs.js +1 -86
  17. package/dist/configs/eslint/vite-react.cjs +1 -159
  18. package/dist/configs/eslint/vite-react.js +1 -89
  19. package/dist/configs/graphql/graphql-codegen.cjs +1 -125
  20. package/dist/configs/graphql/graphql-codegen.js +1 -64
  21. package/dist/configs/graphql/index.cjs +1 -126
  22. package/dist/configs/graphql/index.js +1 -64
  23. package/dist/configs/i18n/react/i18next.cjs +1 -80
  24. package/dist/configs/i18n/react/i18next.js +1 -7
  25. package/dist/configs/i18n/react/index.cjs +1 -81
  26. package/dist/configs/i18n/react/index.js +1 -7
  27. package/dist/configs/index.cjs +1 -232
  28. package/dist/configs/index.js +1 -166
  29. package/dist/configs/lint-staged/base.cjs +1 -64
  30. package/dist/configs/lint-staged/base.js +1 -7
  31. package/dist/configs/vitest/react/e2e.cjs +1 -128
  32. package/dist/configs/vitest/react/e2e.js +1 -59
  33. package/dist/configs/vitest/react/unit.cjs +1 -305
  34. package/dist/configs/vitest/react/unit.js +1 -228
  35. package/dist/configs/vitest/react/unit.setup.cjs +1 -60
  36. package/dist/configs/vitest/react/unit.setup.js +1 -8
  37. package/dist/constants/index.cjs +1 -677
  38. package/dist/constants/index.d.cts +8 -3
  39. package/dist/constants/index.d.ts +8 -3
  40. package/dist/constants/index.js +1 -468
  41. package/dist/constants/path.cjs +1 -422
  42. package/dist/constants/path.d.cts +8 -3
  43. package/dist/constants/path.d.ts +8 -3
  44. package/dist/constants/path.js +1 -217
  45. package/dist/constants/response-status.cjs +1 -313
  46. package/dist/constants/response-status.js +1 -252
  47. package/dist/index.cjs +1 -4559
  48. package/dist/index.d.cts +13 -8
  49. package/dist/index.d.ts +13 -8
  50. package/dist/index.js +1 -4142
  51. package/dist/nodejs/index.cjs +1 -2138
  52. package/dist/nodejs/index.js +1 -2054
  53. package/dist/nodejs/mongo.cjs +1 -2137
  54. package/dist/nodejs/mongo.js +1 -2054
  55. package/dist/react/apollo-client.cjs +1 -177
  56. package/dist/react/apollo-client.js +1 -116
  57. package/dist/react/index.cjs +1 -990
  58. package/dist/react/index.js +1 -876
  59. package/dist/react/loading.cjs +1 -301
  60. package/dist/react/loading.js +1 -216
  61. package/dist/react/next-intl.cjs +1 -744
  62. package/dist/react/next-intl.js +1 -655
  63. package/dist/react/storage.cjs +1 -631
  64. package/dist/react/storage.js +1 -558
  65. package/dist/typescript/api-response.cjs +1 -48
  66. package/dist/typescript/apollo.cjs +1 -48
  67. package/dist/typescript/command.cjs +1 -68
  68. package/dist/typescript/command.d.cts +3 -0
  69. package/dist/typescript/command.d.ts +3 -0
  70. package/dist/typescript/command.js +1 -7
  71. package/dist/typescript/config.cjs +1 -48
  72. package/dist/typescript/fs.cjs +1 -48
  73. package/dist/typescript/graphql-codegen.cjs +1 -48
  74. package/dist/typescript/index.cjs +1 -175
  75. package/dist/typescript/index.d.cts +3 -0
  76. package/dist/typescript/index.d.ts +3 -0
  77. package/dist/typescript/index.js +1 -151
  78. package/dist/typescript/loading.cjs +1 -48
  79. package/dist/typescript/log.cjs +1 -48
  80. package/dist/typescript/mongo.cjs +1 -164
  81. package/dist/typescript/mongo.js +1 -145
  82. package/dist/typescript/next-intl.cjs +1 -48
  83. package/dist/typescript/react.cjs +1 -48
  84. package/dist/typescript/serializer.cjs +1 -48
  85. package/dist/typescript/string.cjs +1 -48
  86. package/dist/utils/command.cjs +1 -1387
  87. package/dist/utils/command.d.cts +2 -2
  88. package/dist/utils/command.d.ts +2 -2
  89. package/dist/utils/command.js +1 -1287
  90. package/dist/utils/common.cjs +1 -300
  91. package/dist/utils/common.js +1 -219
  92. package/dist/utils/config.cjs +1 -146
  93. package/dist/utils/config.js +1 -89
  94. package/dist/utils/fs.cjs +1 -132
  95. package/dist/utils/fs.js +1 -47
  96. package/dist/utils/index-nodejs.cjs +1 -1752
  97. package/dist/utils/index-nodejs.d.cts +2 -5
  98. package/dist/utils/index-nodejs.d.ts +2 -5
  99. package/dist/utils/index-nodejs.js +1 -1581
  100. package/dist/utils/index.cjs +1 -727
  101. package/dist/utils/index.js +1 -625
  102. package/dist/utils/log.cjs +1 -330
  103. package/dist/utils/log.js +1 -269
  104. package/dist/utils/package.cjs +1 -941
  105. package/dist/utils/package.js +1 -857
  106. package/dist/utils/path.cjs +1 -291
  107. package/dist/utils/path.d.cts +0 -3
  108. package/dist/utils/path.d.ts +0 -3
  109. package/dist/utils/path.js +1 -191
  110. package/dist/utils/serializer.cjs +1 -91
  111. package/dist/utils/serializer.js +1 -30
  112. package/dist/utils/storage-client.cjs +1 -349
  113. package/dist/utils/storage-client.js +1 -276
  114. package/dist/utils/storage-server.cjs +1 -636
  115. package/dist/utils/storage-server.js +1 -550
  116. package/dist/utils/string.cjs +1 -152
  117. package/dist/utils/string.js +1 -75
  118. package/dist/utils/validate.cjs +1 -90
  119. package/dist/utils/validate.js +1 -33
  120. package/package.json +15 -13
  121. /package/{src/public → public}/favicon/android-icon-144x144.png +0 -0
  122. /package/{src/public → public}/favicon/android-icon-192x192.png +0 -0
  123. /package/{src/public → public}/favicon/android-icon-36x36.png +0 -0
  124. /package/{src/public → public}/favicon/android-icon-48x48.png +0 -0
  125. /package/{src/public → public}/favicon/android-icon-72x72.png +0 -0
  126. /package/{src/public → public}/favicon/android-icon-96x96.png +0 -0
  127. /package/{src/public → public}/favicon/apple-icon-114x114.png +0 -0
  128. /package/{src/public → public}/favicon/apple-icon-120x120.png +0 -0
  129. /package/{src/public → public}/favicon/apple-icon-144x144.png +0 -0
  130. /package/{src/public → public}/favicon/apple-icon-152x152.png +0 -0
  131. /package/{src/public → public}/favicon/apple-icon-180x180.png +0 -0
  132. /package/{src/public → public}/favicon/apple-icon-57x57.png +0 -0
  133. /package/{src/public → public}/favicon/apple-icon-60x60.png +0 -0
  134. /package/{src/public → public}/favicon/apple-icon-72x72.png +0 -0
  135. /package/{src/public → public}/favicon/apple-icon-76x76.png +0 -0
  136. /package/{src/public → public}/favicon/apple-icon-precomposed.png +0 -0
  137. /package/{src/public → public}/favicon/apple-icon.png +0 -0
  138. /package/{src/public → public}/favicon/browserconfig.xml +0 -0
  139. /package/{src/public → public}/favicon/favicon-16x16.png +0 -0
  140. /package/{src/public → public}/favicon/favicon-32x32.png +0 -0
  141. /package/{src/public → public}/favicon/favicon-96x96.png +0 -0
  142. /package/{src/public → public}/favicon/favicon.ico +0 -0
  143. /package/{src/public → public}/favicon/manifest.json +0 -0
  144. /package/{src/public → public}/favicon/ms-icon-144x144.png +0 -0
  145. /package/{src/public → public}/favicon/ms-icon-150x150.png +0 -0
  146. /package/{src/public → public}/favicon/ms-icon-310x310.png +0 -0
  147. /package/{src/public → public}/favicon/ms-icon-70x70.png +0 -0
@@ -1,1752 +1 @@
1
- "use strict";
2
- function _array_like_to_array(arr, len) {
3
- if (len == null || len > arr.length) len = arr.length;
4
- for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
5
- return arr2;
6
- }
7
- function _array_with_holes(arr) {
8
- if (Array.isArray(arr)) return arr;
9
- }
10
- function _array_without_holes(arr) {
11
- if (Array.isArray(arr)) return _array_like_to_array(arr);
12
- }
13
- function asyncGeneratorStep(gen, resolve1, reject, _next, _throw, key, arg) {
14
- try {
15
- var info = gen[key](arg);
16
- var value = info.value;
17
- } catch (error) {
18
- reject(error);
19
- return;
20
- }
21
- if (info.done) {
22
- resolve1(value);
23
- } else {
24
- Promise.resolve(value).then(_next, _throw);
25
- }
26
- }
27
- function _async_to_generator(fn) {
28
- return function() {
29
- var self = this, args = arguments;
30
- return new Promise(function(resolve1, reject) {
31
- var gen = fn.apply(self, args);
32
- function _next(value) {
33
- asyncGeneratorStep(gen, resolve1, reject, _next, _throw, "next", value);
34
- }
35
- function _throw(err) {
36
- asyncGeneratorStep(gen, resolve1, reject, _next, _throw, "throw", err);
37
- }
38
- _next(undefined);
39
- });
40
- };
41
- }
42
- function _iterable_to_array(iter) {
43
- if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
44
- }
45
- function _iterable_to_array_limit(arr, i) {
46
- var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
47
- if (_i == null) return;
48
- var _arr = [];
49
- var _n = true;
50
- var _d = false;
51
- var _s, _e;
52
- try {
53
- for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){
54
- _arr.push(_s.value);
55
- if (i && _arr.length === i) break;
56
- }
57
- } catch (err) {
58
- _d = true;
59
- _e = err;
60
- } finally{
61
- try {
62
- if (!_n && _i["return"] != null) _i["return"]();
63
- } finally{
64
- if (_d) throw _e;
65
- }
66
- }
67
- return _arr;
68
- }
69
- function _non_iterable_rest() {
70
- throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
71
- }
72
- function _non_iterable_spread() {
73
- throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
74
- }
75
- function _sliced_to_array(arr, i) {
76
- return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();
77
- }
78
- function _to_consumable_array(arr) {
79
- return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();
80
- }
81
- function _type_of(obj) {
82
- "@swc/helpers - typeof";
83
- return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
84
- }
85
- function _unsupported_iterable_to_array(o, minLen) {
86
- if (!o) return;
87
- if (typeof o === "string") return _array_like_to_array(o, minLen);
88
- var n = Object.prototype.toString.call(o).slice(8, -1);
89
- if (n === "Object" && o.constructor) n = o.constructor.name;
90
- if (n === "Map" || n === "Set") return Array.from(n);
91
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
92
- }
93
- function _ts_generator(thisArg, body) {
94
- var f, y, t, g, _ = {
95
- label: 0,
96
- sent: function() {
97
- if (t[0] & 1) throw t[1];
98
- return t[1];
99
- },
100
- trys: [],
101
- ops: []
102
- };
103
- return g = {
104
- next: verb(0),
105
- "throw": verb(1),
106
- "return": verb(2)
107
- }, typeof Symbol === "function" && (g[Symbol.iterator] = function() {
108
- return this;
109
- }), g;
110
- function verb(n) {
111
- return function(v) {
112
- return step([
113
- n,
114
- v
115
- ]);
116
- };
117
- }
118
- function step(op) {
119
- if (f) throw new TypeError("Generator is already executing.");
120
- while(_)try {
121
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
122
- if (y = 0, t) op = [
123
- op[0] & 2,
124
- t.value
125
- ];
126
- switch(op[0]){
127
- case 0:
128
- case 1:
129
- t = op;
130
- break;
131
- case 4:
132
- _.label++;
133
- return {
134
- value: op[1],
135
- done: false
136
- };
137
- case 5:
138
- _.label++;
139
- y = op[1];
140
- op = [
141
- 0
142
- ];
143
- continue;
144
- case 7:
145
- op = _.ops.pop();
146
- _.trys.pop();
147
- continue;
148
- default:
149
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
150
- _ = 0;
151
- continue;
152
- }
153
- if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
154
- _.label = op[1];
155
- break;
156
- }
157
- if (op[0] === 6 && _.label < t[1]) {
158
- _.label = t[1];
159
- t = op;
160
- break;
161
- }
162
- if (t && _.label < t[2]) {
163
- _.label = t[2];
164
- _.ops.push(op);
165
- break;
166
- }
167
- if (t[2]) _.ops.pop();
168
- _.trys.pop();
169
- continue;
170
- }
171
- op = body.call(thisArg, _);
172
- } catch (e) {
173
- op = [
174
- 6,
175
- e
176
- ];
177
- y = 0;
178
- } finally{
179
- f = t = 0;
180
- }
181
- if (op[0] & 5) throw op[1];
182
- return {
183
- value: op[0] ? op[1] : void 0,
184
- done: true
185
- };
186
- }
187
- }
188
- var __create = Object.create;
189
- var __defProp = Object.defineProperty;
190
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
191
- var __getOwnPropNames = Object.getOwnPropertyNames;
192
- var __getProtoOf = Object.getPrototypeOf;
193
- var __hasOwnProp = Object.prototype.hasOwnProperty;
194
- var __export = function(target, all) {
195
- for(var name in all)__defProp(target, name, {
196
- get: all[name],
197
- enumerable: true
198
- });
199
- };
200
- var __copyProps = function(to, from, except, desc) {
201
- if (from && (typeof from === "undefined" ? "undefined" : _type_of(from)) === "object" || typeof from === "function") {
202
- var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
203
- try {
204
- var _loop = function() {
205
- var key = _step.value;
206
- if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
207
- get: function() {
208
- return from[key];
209
- },
210
- enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
211
- });
212
- };
213
- for(var _iterator = __getOwnPropNames(from)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true)_loop();
214
- } catch (err) {
215
- _didIteratorError = true;
216
- _iteratorError = err;
217
- } finally{
218
- try {
219
- if (!_iteratorNormalCompletion && _iterator.return != null) {
220
- _iterator.return();
221
- }
222
- } finally{
223
- if (_didIteratorError) {
224
- throw _iteratorError;
225
- }
226
- }
227
- }
228
- }
229
- return to;
230
- };
231
- var __toESM = function(mod, isNodeMode, target) {
232
- return target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(// If the importer is in node compatibility mode or this is not an ESM
233
- // file that has been converted to a CommonJS file using a Babel-
234
- // compatible transform (i.e. "__esModule" has not been set), then set
235
- // "default" to the CommonJS "module.exports" for node compatibility.
236
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
237
- value: mod,
238
- enumerable: true
239
- }) : target, mod);
240
- };
241
- var __toCommonJS = function(mod) {
242
- return __copyProps(__defProp({}, "__esModule", {
243
- value: true
244
- }), mod);
245
- };
246
- // src/utils/index-nodejs.ts
247
- var index_nodejs_exports = {};
248
- __export(index_nodejs_exports, {
249
- appendFileSync: function() {
250
- return appendFileSync2;
251
- },
252
- checkPackage: function() {
253
- return checkPackage;
254
- },
255
- clearAllErrorLists: function() {
256
- return clearAllErrorLists;
257
- },
258
- commandFormatter: function() {
259
- return commandFormatter;
260
- },
261
- commandLog: function() {
262
- return commandLog;
263
- },
264
- dirname: function() {
265
- return dirname2;
266
- },
267
- executeCommand: function() {
268
- return executeCommand;
269
- },
270
- existsSync: function() {
271
- return existsSync2;
272
- },
273
- getLatestPackageVersion: function() {
274
- return getLatestPackageVersion;
275
- },
276
- getPackageJson: function() {
277
- return getPackageJson;
278
- },
279
- getStorageDir: function() {
280
- return getStorageDir;
281
- },
282
- getStoredErrorLists: function() {
283
- return getStoredErrorLists;
284
- },
285
- initNodePersist: function() {
286
- return initNodePersist;
287
- },
288
- join: function() {
289
- return join2;
290
- },
291
- readFileSync: function() {
292
- return readFileSync2;
293
- },
294
- require: function() {
295
- return require2;
296
- },
297
- resolve: function() {
298
- return resolve2;
299
- },
300
- resolveCommands: function() {
301
- return resolveCommands;
302
- },
303
- resolveCyberSkillPath: function() {
304
- return resolveCyberSkillPath;
305
- },
306
- resolveWorkingPath: function() {
307
- return resolveWorkingPath;
308
- },
309
- rmSync: function() {
310
- return rmSync2;
311
- },
312
- saveErrorListToStorage: function() {
313
- return saveErrorListToStorage;
314
- },
315
- storageServer: function() {
316
- return storageServer;
317
- },
318
- throwResponse: function() {
319
- return throwResponse;
320
- },
321
- writeFileSync: function() {
322
- return writeFileSync2;
323
- }
324
- });
325
- module.exports = __toCommonJS(index_nodejs_exports);
326
- // node_modules/.pnpm/tsup@8.4.0_@microsoft+api-extractor@7.52.2_@types+node@22.13.17__@swc+core@1.11.16_@swc_95e38cac10676cdf66b55e0093c30cae/node_modules/tsup/assets/cjs_shims.js
327
- var getImportMetaUrl = function() {
328
- return typeof document === "undefined" ? new URL("file:".concat(__filename)).href : document.currentScript && document.currentScript.src || new URL("main.js", document.baseURI).href;
329
- };
330
- var importMetaUrl = /* @__PURE__ */ getImportMetaUrl();
331
- // src/utils/command.ts
332
- var import_boxen = __toESM(require("boxen"), 1);
333
- var import_chalk = __toESM(require("chalk"), 1);
334
- var import_node_child_process = require("child_process");
335
- var import_node_process3 = __toESM(require("process"), 1);
336
- var util = __toESM(require("util"), 1);
337
- // src/constants/path.ts
338
- var import_node_process = __toESM(require("process"), 1);
339
- var import_node_url = require("url");
340
- // src/utils/path.ts
341
- var import_node_module = require("module");
342
- var path = __toESM(require("path"), 1);
343
- function resolveCyberSkillPath() {
344
- for(var _len = arguments.length, urls = new Array(_len), _key = 0; _key < _len; _key++){
345
- urls[_key] = arguments[_key];
346
- }
347
- var _path;
348
- return (_path = path).resolve.apply(_path, [
349
- CYBERSKILL_DIRECTORY
350
- ].concat(_to_consumable_array(urls)));
351
- }
352
- function resolveWorkingPath() {
353
- for(var _len = arguments.length, urls = new Array(_len), _key = 0; _key < _len; _key++){
354
- urls[_key] = arguments[_key];
355
- }
356
- var _path;
357
- return (_path = path).resolve.apply(_path, [
358
- WORKING_DIRECTORY
359
- ].concat(_to_consumable_array(urls)));
360
- }
361
- function resolve2() {
362
- for(var _len = arguments.length, urls = new Array(_len), _key = 0; _key < _len; _key++){
363
- urls[_key] = arguments[_key];
364
- }
365
- var _path;
366
- return (_path = path).resolve.apply(_path, _to_consumable_array(urls));
367
- }
368
- function dirname2(url) {
369
- return path.dirname(url);
370
- }
371
- function require2() {
372
- return (0, import_node_module.createRequire)(CYBERSKILL_DIRECTORY);
373
- }
374
- function join2() {
375
- for(var _len = arguments.length, urls = new Array(_len), _key = 0; _key < _len; _key++){
376
- urls[_key] = arguments[_key];
377
- }
378
- var _path;
379
- return (_path = path).join.apply(_path, _to_consumable_array(urls));
380
- }
381
- // src/constants/path.ts
382
- var __filename2 = (0, import_node_url.fileURLToPath)(importMetaUrl);
383
- var __dirname = dirname2(__filename2);
384
- var CYBERSKILL_DIRECTORY = resolve2(__dirname, "../../");
385
- var WORKING_DIRECTORY = import_node_process.default.env.INIT_CWD || import_node_process.default.cwd();
386
- var CYBERSKILL_PACKAGE_NAME = "@cyberskill/shared";
387
- var CYBERSKILL_STORAGE = ".cyberskill-storage";
388
- var NODE_MODULES = "node_modules";
389
- var BUILD_DIRECTORY = "dist";
390
- var PACKAGE_JSON = "package.json";
391
- var PACKAGE_LOCK_JSON = "package-lock.json";
392
- var TSCONFIG_JSON = "tsconfig.json";
393
- var GIT_IGNORE = ".gitignore";
394
- var SIMPLE_GIT_HOOK_JSON = ".simple-git-hooks.json";
395
- var PNPM_LOCK_YAML = "pnpm-lock.yaml";
396
- var GIT_HOOK = ".git/hooks";
397
- var GIT_COMMIT_EDITMSG = ".git/COMMIT_EDITMSG";
398
- var CYBERSKILL_CLI = "cyberskill";
399
- var ESLINT_CLI = "eslint";
400
- var VITEST_CLI = "vitest";
401
- var COMMIT_LINT_CLI = "commitlint";
402
- var LINT_STAGED_CLI = "lint-staged";
403
- var RIMRAF_CLI = "rimraf";
404
- var TSC_CLI = "tsc";
405
- var TSX_CLI = "tsx";
406
- var GIT_CLI = "git";
407
- var PNPM_CLI = "pnpm";
408
- var PNPM_DLX_CLI = "pnpm dlx";
409
- var PNPM_EXEC_CLI = "pnpm exec";
410
- var SIMPLE_GIT_HOOK_CLI = "simple-git-hooks";
411
- var ESLINT_INSPECT_CLI = "@eslint/config-inspector";
412
- var NODE_MODULES_INSPECT_CLI = "node_modules-inspect";
413
- var PATH = {
414
- CYBERSKILL_DIRECTORY: CYBERSKILL_DIRECTORY,
415
- WORKING_DIRECTORY: WORKING_DIRECTORY,
416
- TS_CONFIG: resolveWorkingPath(TSCONFIG_JSON),
417
- GIT_IGNORE: resolveWorkingPath(GIT_IGNORE),
418
- GIT_HOOK: resolveWorkingPath(GIT_HOOK),
419
- GIT_COMMIT_MSG: resolveWorkingPath(GIT_COMMIT_EDITMSG),
420
- SIMPLE_GIT_HOOKS_JSON: resolveWorkingPath(SIMPLE_GIT_HOOK_JSON),
421
- PACKAGE_JSON: resolveWorkingPath(PACKAGE_JSON),
422
- PACKAGE_LOCK_JSON: resolveWorkingPath(PACKAGE_LOCK_JSON),
423
- PNPM_LOCK_YAML: resolveWorkingPath(PNPM_LOCK_YAML),
424
- NODE_MODULES: resolveWorkingPath(NODE_MODULES),
425
- CYBERSKILL: {
426
- LINT_STAGED_CONFIG: resolveCyberSkillPath("./configs/lint-staged/base.js"),
427
- COMMITLINT_CONFIG: resolveCyberSkillPath("./configs/commitlint/base.js"),
428
- UNIT_TEST_CONFIG: resolveCyberSkillPath("./configs/vitest/react/unit.js"),
429
- E2E_TEST_CONFIG: resolveCyberSkillPath("./configs/vitest/react/e2e.js")
430
- }
431
- };
432
- var COMMAND = {
433
- SIMPLE_GIT_HOOKS: commandFormatter.raw("".concat(PNPM_EXEC_CLI, " ").concat(SIMPLE_GIT_HOOK_CLI)),
434
- ESLINT_INSPECT: commandFormatter.raw("".concat(PNPM_EXEC_CLI, " ").concat(ESLINT_INSPECT_CLI)),
435
- NODE_MODULES_INSPECT: commandFormatter.raw("".concat(PNPM_EXEC_CLI, " ").concat(NODE_MODULES_INSPECT_CLI)),
436
- RESET: commandFormatter.raw("".concat(PNPM_EXEC_CLI, " ").concat(RIMRAF_CLI, " ").concat(NODE_MODULES, " ").concat(PNPM_LOCK_YAML)),
437
- ESLINT_CHECK: commandFormatter.raw("".concat(PNPM_EXEC_CLI, " ").concat(ESLINT_CLI, " ").concat(PATH.WORKING_DIRECTORY)),
438
- ESLINT_FIX: commandFormatter.raw("".concat(PNPM_EXEC_CLI, " ").concat(ESLINT_CLI, " ").concat(PATH.WORKING_DIRECTORY, " --fix")),
439
- TYPESCRIPT_CHECK: commandFormatter.raw("".concat(PNPM_EXEC_CLI, " ").concat(TSC_CLI, " -p ").concat(PATH.TS_CONFIG, " --noEmit")),
440
- CYBERSKILL: {
441
- TEST_UNIT: commandFormatter.raw("".concat(PNPM_EXEC_CLI, " ").concat(VITEST_CLI, " --config ").concat(PATH.CYBERSKILL.UNIT_TEST_CONFIG)),
442
- TEST_E2E: commandFormatter.raw("".concat(PNPM_EXEC_CLI, " ").concat(VITEST_CLI, " --config ").concat(PATH.CYBERSKILL.E2E_TEST_CONFIG)),
443
- COMMIT_LINT: commandFormatter.raw("".concat(PNPM_EXEC_CLI, " ").concat(COMMIT_LINT_CLI, " --edit ").concat(PATH.GIT_COMMIT_MSG, " --config ").concat(PATH.CYBERSKILL.COMMITLINT_CONFIG)),
444
- LINT_STAGED: commandFormatter.raw("".concat(PNPM_EXEC_CLI, " ").concat(LINT_STAGED_CLI, " --config ").concat(PATH.CYBERSKILL.LINT_STAGED_CONFIG))
445
- },
446
- CONFIGURE_GIT_HOOK: commandFormatter.raw("".concat(GIT_CLI, " config core.hooksPath ").concat(PATH.GIT_HOOK)),
447
- BUILD: commandFormatter.raw("".concat(PNPM_CLI, " run build")),
448
- STAGE_BUILD_DIRECTORY: commandFormatter.raw("".concat(GIT_CLI, " add ").concat(BUILD_DIRECTORY)),
449
- PNPM_INSTALL_STANDARD: commandFormatter.raw("".concat(PNPM_CLI, " install")),
450
- PNPM_INSTALL_LEGACY: commandFormatter.raw("".concat(PNPM_CLI, " install --legacy-peer-deps")),
451
- PNPM_INSTALL_FORCE: commandFormatter.raw("".concat(PNPM_CLI, " install --force"))
452
- };
453
- // src/utils/package.ts
454
- var import_node_fetch = __toESM(require("node-fetch"), 1);
455
- // src/utils/fs.ts
456
- var fs = __toESM(require("fs"), 1);
457
- var existsSync2 = function(filePath) {
458
- return fs.existsSync(filePath);
459
- };
460
- function readFileSync2(filePath, options) {
461
- var content = fs.readFileSync(filePath, "utf-8");
462
- if (options === null || options === void 0 ? void 0 : options.asJson) {
463
- try {
464
- var parsed = JSON.parse(content);
465
- if ((typeof parsed === "undefined" ? "undefined" : _type_of(parsed)) === "object" && parsed !== null) {
466
- return parsed;
467
- }
468
- throw new Error("Parsed JSON is not an object or array");
469
- } catch (e) {
470
- throw new Error("Failed to parse JSON from file: ".concat(filePath));
471
- }
472
- }
473
- return content;
474
- }
475
- function writeFileSync2(filePath, data) {
476
- var options = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
477
- var _options_isJson = options.isJson, isJson = _options_isJson === void 0 ? false : _options_isJson;
478
- var content = isJson && (typeof data === "undefined" ? "undefined" : _type_of(data)) === "object" ? JSON.stringify(data, null, 4) : String(data);
479
- fs.writeFileSync(filePath, content, "utf-8");
480
- }
481
- function appendFileSync2(filePath, data) {
482
- var options = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
483
- var _options_isJson = options.isJson, isJson = _options_isJson === void 0 ? false : _options_isJson;
484
- var content = isJson && (typeof data === "undefined" ? "undefined" : _type_of(data)) === "object" ? JSON.stringify(data, null, 4) : String(data);
485
- fs.appendFileSync(filePath, content, "utf-8");
486
- }
487
- function rmSync2(filePaths) {
488
- filePaths.forEach(function(filePath) {
489
- if (existsSync2(filePath)) {
490
- fs.rmSync(filePath, {
491
- recursive: true,
492
- force: true
493
- });
494
- }
495
- });
496
- }
497
- // src/utils/storage-server.ts
498
- var import_node_persist = __toESM(require("node-persist"), 1);
499
- var import_node_os = __toESM(require("os"), 1);
500
- var import_node_path = __toESM(require("path"), 1);
501
- var import_node_process2 = __toESM(require("process"), 1);
502
- function getStorageDir() {
503
- return import_node_process2.default.env.CYBERSKILL_STORAGE_DIR || import_node_path.default.join(import_node_os.default.homedir(), CYBERSKILL_STORAGE);
504
- }
505
- function initNodePersist() {
506
- return _initNodePersist.apply(this, arguments);
507
- }
508
- function _initNodePersist() {
509
- _initNodePersist = _async_to_generator(function() {
510
- return _ts_generator(this, function(_state) {
511
- switch(_state.label){
512
- case 0:
513
- if (!!import_node_persist.default.defaultInstance) return [
514
- 3,
515
- 2
516
- ];
517
- return [
518
- 4,
519
- import_node_persist.default.init({
520
- dir: getStorageDir(),
521
- stringify: JSON.stringify,
522
- parse: JSON.parse,
523
- encoding: "utf8",
524
- logging: false,
525
- forgiveParseErrors: true
526
- })
527
- ];
528
- case 1:
529
- _state.sent();
530
- _state.label = 2;
531
- case 2:
532
- return [
533
- 2
534
- ];
535
- }
536
- });
537
- });
538
- return _initNodePersist.apply(this, arguments);
539
- }
540
- var storageServer = {
541
- get: function get(key) {
542
- return _async_to_generator(function() {
543
- var result, error;
544
- return _ts_generator(this, function(_state) {
545
- switch(_state.label){
546
- case 0:
547
- _state.trys.push([
548
- 0,
549
- 3,
550
- ,
551
- 4
552
- ]);
553
- return [
554
- 4,
555
- initNodePersist()
556
- ];
557
- case 1:
558
- _state.sent();
559
- return [
560
- 4,
561
- import_node_persist.default.getItem(key)
562
- ];
563
- case 2:
564
- result = _state.sent();
565
- return [
566
- 2,
567
- result !== null && result !== void 0 ? result : null
568
- ];
569
- case 3:
570
- error = _state.sent();
571
- console.error('❌ [Storage:get] Error getting key "'.concat(key, '":'), error);
572
- return [
573
- 2,
574
- null
575
- ];
576
- case 4:
577
- return [
578
- 2
579
- ];
580
- }
581
- });
582
- })();
583
- },
584
- set: function set(key, value) {
585
- return _async_to_generator(function() {
586
- var error;
587
- return _ts_generator(this, function(_state) {
588
- switch(_state.label){
589
- case 0:
590
- _state.trys.push([
591
- 0,
592
- 3,
593
- ,
594
- 4
595
- ]);
596
- return [
597
- 4,
598
- initNodePersist()
599
- ];
600
- case 1:
601
- _state.sent();
602
- return [
603
- 4,
604
- import_node_persist.default.setItem(key, value)
605
- ];
606
- case 2:
607
- _state.sent();
608
- return [
609
- 3,
610
- 4
611
- ];
612
- case 3:
613
- error = _state.sent();
614
- console.error('❌ [Storage:set] Error setting key "'.concat(key, '":'), error);
615
- return [
616
- 3,
617
- 4
618
- ];
619
- case 4:
620
- return [
621
- 2
622
- ];
623
- }
624
- });
625
- })();
626
- },
627
- remove: function remove(key) {
628
- return _async_to_generator(function() {
629
- var error;
630
- return _ts_generator(this, function(_state) {
631
- switch(_state.label){
632
- case 0:
633
- _state.trys.push([
634
- 0,
635
- 3,
636
- ,
637
- 4
638
- ]);
639
- return [
640
- 4,
641
- initNodePersist()
642
- ];
643
- case 1:
644
- _state.sent();
645
- return [
646
- 4,
647
- import_node_persist.default.removeItem(key)
648
- ];
649
- case 2:
650
- _state.sent();
651
- return [
652
- 3,
653
- 4
654
- ];
655
- case 3:
656
- error = _state.sent();
657
- console.error('❌ [Storage:remove] Error removing key "'.concat(key, '":'), error);
658
- return [
659
- 3,
660
- 4
661
- ];
662
- case 4:
663
- return [
664
- 2
665
- ];
666
- }
667
- });
668
- })();
669
- },
670
- keys: function keys() {
671
- return _async_to_generator(function() {
672
- var keys, error;
673
- return _ts_generator(this, function(_state) {
674
- switch(_state.label){
675
- case 0:
676
- _state.trys.push([
677
- 0,
678
- 3,
679
- ,
680
- 4
681
- ]);
682
- return [
683
- 4,
684
- initNodePersist()
685
- ];
686
- case 1:
687
- _state.sent();
688
- return [
689
- 4,
690
- import_node_persist.default.keys()
691
- ];
692
- case 2:
693
- keys = _state.sent();
694
- if (!Array.isArray(keys)) {
695
- console.warn("⚠️ [Storage:keys] Invalid keys response:", keys);
696
- return [
697
- 2,
698
- []
699
- ];
700
- }
701
- return [
702
- 2,
703
- keys
704
- ];
705
- case 3:
706
- error = _state.sent();
707
- console.error("❌ [Storage:keys] Error getting keys:", error);
708
- return [
709
- 2,
710
- []
711
- ];
712
- case 4:
713
- return [
714
- 2
715
- ];
716
- }
717
- });
718
- })();
719
- },
720
- getLogLink: function getLogLink(key) {
721
- return _async_to_generator(function() {
722
- var storagePath;
723
- return _ts_generator(this, function(_state) {
724
- try {
725
- storagePath = getStorageDir();
726
- return [
727
- 2,
728
- "".concat(storagePath, " (key: ").concat(key, ")")
729
- ];
730
- } catch (error) {
731
- console.error("❌ [Storage:getLogLink] Error getting log link:", error);
732
- return [
733
- 2,
734
- null
735
- ];
736
- }
737
- return [
738
- 2
739
- ];
740
- });
741
- })();
742
- }
743
- };
744
- // src/utils/package.ts
745
- var CACHE_EXPIRATION_MS = 24 * 60 * 60 * 1e3;
746
- function getPackageJson(packageName) {
747
- var workingPackageJsonPath = join2(WORKING_DIRECTORY, PACKAGE_JSON);
748
- if (existsSync2(workingPackageJsonPath)) {
749
- try {
750
- var pkg = readFileSync2(workingPackageJsonPath, {
751
- asJson: true
752
- });
753
- if (pkg.name === packageName) {
754
- return {
755
- path: workingPackageJsonPath,
756
- file: pkg
757
- };
758
- }
759
- } catch (error) {
760
- commandLog.warning("Failed to read local package.json: ".concat(error.message));
761
- }
762
- }
763
- var externalPackageJsonPath = join2(WORKING_DIRECTORY, NODE_MODULES, packageName, PACKAGE_JSON);
764
- if (existsSync2(externalPackageJsonPath)) {
765
- try {
766
- var pkg1 = readFileSync2(externalPackageJsonPath, {
767
- asJson: true
768
- });
769
- if (pkg1.name === packageName) {
770
- return {
771
- path: externalPackageJsonPath,
772
- file: pkg1
773
- };
774
- }
775
- } catch (error) {
776
- commandLog.warning("Failed to read node_modules package.json for ".concat(packageName, ": ").concat(error.message));
777
- }
778
- }
779
- return false;
780
- }
781
- function getLatestPackageVersion(packageName) {
782
- return _getLatestPackageVersion.apply(this, arguments);
783
- }
784
- function _getLatestPackageVersion() {
785
- _getLatestPackageVersion = _async_to_generator(function(packageName) {
786
- var forceRefresh, versionCacheKey, metadataCacheKey, cached, metadata, isCacheValid, headers, response, data, latestVersion, error;
787
- var _arguments = arguments;
788
- return _ts_generator(this, function(_state) {
789
- switch(_state.label){
790
- case 0:
791
- forceRefresh = _arguments.length > 1 && _arguments[1] !== void 0 ? _arguments[1] : false;
792
- versionCacheKey = "npm_version:".concat(packageName);
793
- metadataCacheKey = "npm_metadata:".concat(packageName);
794
- return [
795
- 4,
796
- storageServer.get(versionCacheKey)
797
- ];
798
- case 1:
799
- cached = _state.sent();
800
- return [
801
- 4,
802
- storageServer.get(metadataCacheKey)
803
- ];
804
- case 2:
805
- metadata = _state.sent();
806
- isCacheValid = cached && Date.now() - cached.timestamp < CACHE_EXPIRATION_MS;
807
- if (!forceRefresh && isCacheValid) {
808
- return [
809
- 2,
810
- cached.version
811
- ];
812
- }
813
- headers = {};
814
- if (metadata === null || metadata === void 0 ? void 0 : metadata.etag) {
815
- headers["If-None-Match"] = metadata.etag;
816
- }
817
- if (metadata === null || metadata === void 0 ? void 0 : metadata.lastModified) {
818
- headers["If-Modified-Since"] = metadata.lastModified;
819
- }
820
- _state.label = 3;
821
- case 3:
822
- _state.trys.push([
823
- 3,
824
- 8,
825
- ,
826
- 9
827
- ]);
828
- return [
829
- 4,
830
- (0, import_node_fetch.default)("https://registry.npmjs.org/".concat(packageName, "/latest"), {
831
- headers: headers
832
- })
833
- ];
834
- case 4:
835
- response = _state.sent();
836
- if (response.status === 304 && cached) {
837
- return [
838
- 2,
839
- cached.version
840
- ];
841
- }
842
- if (!response.ok) {
843
- throw new Error("Failed to fetch latest version: ".concat(response.statusText));
844
- }
845
- return [
846
- 4,
847
- response.json()
848
- ];
849
- case 5:
850
- data = _state.sent();
851
- latestVersion = data.version;
852
- return [
853
- 4,
854
- storageServer.set(versionCacheKey, {
855
- version: latestVersion,
856
- timestamp: Date.now()
857
- })
858
- ];
859
- case 6:
860
- _state.sent();
861
- return [
862
- 4,
863
- storageServer.set(metadataCacheKey, {
864
- etag: response.headers.get("ETag") || void 0,
865
- lastModified: response.headers.get("Last-Modified") || void 0
866
- })
867
- ];
868
- case 7:
869
- _state.sent();
870
- return [
871
- 2,
872
- latestVersion
873
- ];
874
- case 8:
875
- error = _state.sent();
876
- commandLog.error("Error fetching latest version for ".concat(packageName, ": ").concat(error.message));
877
- if (cached) {
878
- commandLog.warning("Falling back to cached version for ".concat(packageName, ": ").concat(cached.version));
879
- return [
880
- 2,
881
- cached.version
882
- ];
883
- }
884
- throw error;
885
- case 9:
886
- return [
887
- 2
888
- ];
889
- }
890
- });
891
- });
892
- return _getLatestPackageVersion.apply(this, arguments);
893
- }
894
- function checkPackage(packageName) {
895
- return _checkPackage.apply(this, arguments);
896
- }
897
- function _checkPackage() {
898
- _checkPackage = _async_to_generator(function(packageName) {
899
- var result, packageFound, cyberskillPackageJsonPath, isCurrentProject, _tmp, error;
900
- return _ts_generator(this, function(_state) {
901
- switch(_state.label){
902
- case 0:
903
- result = {
904
- isInstalled: false,
905
- isCurrentProject: false,
906
- installedPath: "",
907
- installedVersion: "",
908
- latestVersion: "",
909
- file: {}
910
- };
911
- _state.label = 1;
912
- case 1:
913
- _state.trys.push([
914
- 1,
915
- 5,
916
- ,
917
- 6
918
- ]);
919
- packageFound = getPackageJson(packageName);
920
- if (!packageFound) {
921
- return [
922
- 2,
923
- result
924
- ];
925
- }
926
- cyberskillPackageJsonPath = resolveCyberSkillPath(PACKAGE_JSON);
927
- isCurrentProject = packageFound.path === cyberskillPackageJsonPath;
928
- result.file = packageFound.file;
929
- result.isInstalled = true;
930
- result.installedPath = packageFound.path;
931
- result.installedVersion = packageFound.file.version;
932
- result.isCurrentProject = isCurrentProject;
933
- if (!isCurrentProject) return [
934
- 3,
935
- 2
936
- ];
937
- _tmp = packageFound.file.version;
938
- return [
939
- 3,
940
- 4
941
- ];
942
- case 2:
943
- return [
944
- 4,
945
- getLatestPackageVersion(packageName, true)
946
- ];
947
- case 3:
948
- _tmp = _state.sent();
949
- _state.label = 4;
950
- case 4:
951
- result.latestVersion = _tmp;
952
- return [
953
- 2,
954
- result
955
- ];
956
- case 5:
957
- error = _state.sent();
958
- commandLog.error('Error checking package "'.concat(packageName, '": ').concat(error.message));
959
- return [
960
- 2,
961
- result
962
- ];
963
- case 6:
964
- return [
965
- 2
966
- ];
967
- }
968
- });
969
- });
970
- return _checkPackage.apply(this, arguments);
971
- }
972
- // src/utils/command.ts
973
- var DEBUG = import_node_process3.default.env.DEBUG === "true";
974
- var execPromise = util.promisify(import_node_child_process.exec);
975
- var _import_chalk_default = import_chalk.default, gray = _import_chalk_default.gray, blue = _import_chalk_default.blue;
976
- var getTimeStamp = function() {
977
- return gray("[".concat(/* @__PURE__ */ new Date().toLocaleTimeString(), "]"));
978
- };
979
- function chalkKeyword(color) {
980
- var chalkColor = import_chalk.default[color];
981
- return typeof chalkColor === "function" ? chalkColor : import_chalk.default.green;
982
- }
983
- function printLog(type, color, icon, message) {
984
- var chalkColor = chalkKeyword(color);
985
- console.log("".concat(getTimeStamp(), " ").concat(chalkColor("".concat(icon, " ").concat(type)), " ").concat(message));
986
- }
987
- function printBoxedLog(title, content) {
988
- var _ref = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}, _ref_color = _ref.color, color = _ref_color === void 0 ? "green" : _ref_color, _ref_padding = _ref.padding, padding = _ref_padding === void 0 ? 1 : _ref_padding, _ref_margin = _ref.margin, margin = _ref_margin === void 0 ? 1 : _ref_margin, _ref_borderStyle = _ref.borderStyle, borderStyle = _ref_borderStyle === void 0 ? "round" : _ref_borderStyle, _ref_titleColor = _ref.titleColor, titleColor = _ref_titleColor === void 0 ? "bold" : _ref_titleColor;
989
- var chalkColor = chalkKeyword(color);
990
- var chalkTitleColor = chalkKeyword(titleColor);
991
- if (typeof content === "string") {
992
- console.log((0, import_boxen.default)(chalkTitleColor(chalkColor("".concat(title, "\n").concat(content))), {
993
- padding: padding,
994
- margin: margin,
995
- borderStyle: borderStyle,
996
- borderColor: color
997
- }));
998
- return;
999
- }
1000
- if (Array.isArray(content) && content.length) {
1001
- content.forEach(function(param) {
1002
- var file = param.file, position = param.position, rule = param.rule, message = param.message;
1003
- console.log("".concat(getTimeStamp(), " ").concat(chalkColor("File:"), " ").concat(blue("".concat(file).concat(position ? ":".concat(position) : ""))));
1004
- if (rule) console.log(" ".concat(chalkColor("Rule:"), " ").concat(chalkColor(rule)));
1005
- console.log(" ".concat(chalkColor("Message:"), " ").concat(chalkColor(message)));
1006
- });
1007
- console.log((0, import_boxen.default)(chalkTitleColor(chalkColor("".concat(title, ": ").concat(content.length))), {
1008
- padding: padding,
1009
- margin: margin,
1010
- borderStyle: borderStyle,
1011
- borderColor: color
1012
- }));
1013
- console.log(gray("\u2500".repeat(40)));
1014
- }
1015
- }
1016
- var commandLog = {
1017
- success: function(message) {
1018
- return printLog("SUCCESS", "green", "\u2714", message);
1019
- },
1020
- error: function(message) {
1021
- return printLog("ERROR", "red", "\u2716", message);
1022
- },
1023
- warning: function(message) {
1024
- return printLog("WARNING", "yellow", "\u26A0", message);
1025
- },
1026
- info: function(message) {
1027
- return printLog("INFO", "blue", "\u2139", message);
1028
- },
1029
- printBoxedLog: printBoxedLog
1030
- };
1031
- var getErrorListKey = function(timestamp) {
1032
- return "error_list:".concat(timestamp);
1033
- };
1034
- function saveErrorListToStorage(errorList) {
1035
- return _saveErrorListToStorage.apply(this, arguments);
1036
- }
1037
- function _saveErrorListToStorage() {
1038
- _saveErrorListToStorage = _async_to_generator(function(errorList) {
1039
- var timestamp, key, error;
1040
- return _ts_generator(this, function(_state) {
1041
- switch(_state.label){
1042
- case 0:
1043
- if (errorList.length === 0) {
1044
- return [
1045
- 2
1046
- ];
1047
- }
1048
- timestamp = Date.now();
1049
- key = getErrorListKey(timestamp);
1050
- _state.label = 1;
1051
- case 1:
1052
- _state.trys.push([
1053
- 1,
1054
- 3,
1055
- ,
1056
- 4
1057
- ]);
1058
- return [
1059
- 4,
1060
- storageServer.set(key, {
1061
- errors: errorList,
1062
- timestamp: timestamp
1063
- })
1064
- ];
1065
- case 2:
1066
- _state.sent();
1067
- setTimeout(/*#__PURE__*/ _async_to_generator(function() {
1068
- var logPath;
1069
- return _ts_generator(this, function(_state) {
1070
- switch(_state.label){
1071
- case 0:
1072
- return [
1073
- 4,
1074
- storageServer.getLogLink(key)
1075
- ];
1076
- case 1:
1077
- logPath = _state.sent();
1078
- if (logPath) {
1079
- commandLog.info("\uD83D\uDCC2 Open the error list manually: ".concat(logPath));
1080
- }
1081
- return [
1082
- 2
1083
- ];
1084
- }
1085
- });
1086
- }), 10);
1087
- return [
1088
- 3,
1089
- 4
1090
- ];
1091
- case 3:
1092
- error = _state.sent();
1093
- commandLog.error("Failed to save errors: ".concat(error.message));
1094
- return [
1095
- 3,
1096
- 4
1097
- ];
1098
- case 4:
1099
- return [
1100
- 2
1101
- ];
1102
- }
1103
- });
1104
- });
1105
- return _saveErrorListToStorage.apply(this, arguments);
1106
- }
1107
- function getStoredErrorLists() {
1108
- return _getStoredErrorLists.apply(this, arguments);
1109
- }
1110
- function _getStoredErrorLists() {
1111
- _getStoredErrorLists = _async_to_generator(function() {
1112
- var keys, errorKeys, allErrors, error;
1113
- return _ts_generator(this, function(_state) {
1114
- switch(_state.label){
1115
- case 0:
1116
- _state.trys.push([
1117
- 0,
1118
- 3,
1119
- ,
1120
- 4
1121
- ]);
1122
- return [
1123
- 4,
1124
- storageServer.keys()
1125
- ];
1126
- case 1:
1127
- keys = _state.sent();
1128
- errorKeys = Array.isArray(keys) ? keys.filter(function(key) {
1129
- var _key_startsWith;
1130
- return key === null || key === void 0 ? void 0 : (_key_startsWith = key.startsWith) === null || _key_startsWith === void 0 ? void 0 : _key_startsWith.call(key, "error_list:");
1131
- }) : [];
1132
- return [
1133
- 4,
1134
- Promise.all(errorKeys.map(/*#__PURE__*/ function() {
1135
- var _ref = _async_to_generator(function(key) {
1136
- var entry;
1137
- return _ts_generator(this, function(_state) {
1138
- switch(_state.label){
1139
- case 0:
1140
- return [
1141
- 4,
1142
- storageServer.get(key)
1143
- ];
1144
- case 1:
1145
- entry = _state.sent();
1146
- return [
1147
- 2,
1148
- (entry === null || entry === void 0 ? void 0 : entry.errors) || []
1149
- ];
1150
- }
1151
- });
1152
- });
1153
- return function(key) {
1154
- return _ref.apply(this, arguments);
1155
- };
1156
- }()))
1157
- ];
1158
- case 2:
1159
- allErrors = _state.sent();
1160
- return [
1161
- 2,
1162
- allErrors.flat()
1163
- ];
1164
- case 3:
1165
- error = _state.sent();
1166
- commandLog.error("Failed to retrieve stored errors: ".concat(error.message));
1167
- return [
1168
- 2,
1169
- []
1170
- ];
1171
- case 4:
1172
- return [
1173
- 2
1174
- ];
1175
- }
1176
- });
1177
- });
1178
- return _getStoredErrorLists.apply(this, arguments);
1179
- }
1180
- function clearAllErrorLists() {
1181
- return _clearAllErrorLists.apply(this, arguments);
1182
- }
1183
- function _clearAllErrorLists() {
1184
- _clearAllErrorLists = _async_to_generator(function() {
1185
- var keys, errorKeys, error;
1186
- return _ts_generator(this, function(_state) {
1187
- switch(_state.label){
1188
- case 0:
1189
- _state.trys.push([
1190
- 0,
1191
- 3,
1192
- ,
1193
- 4
1194
- ]);
1195
- return [
1196
- 4,
1197
- storageServer.keys()
1198
- ];
1199
- case 1:
1200
- keys = _state.sent();
1201
- errorKeys = Array.isArray(keys) ? keys.filter(function(key) {
1202
- var _key_startsWith;
1203
- return key === null || key === void 0 ? void 0 : (_key_startsWith = key.startsWith) === null || _key_startsWith === void 0 ? void 0 : _key_startsWith.call(key, "error_list:");
1204
- }) : [];
1205
- return [
1206
- 4,
1207
- Promise.all(errorKeys.map(function(key) {
1208
- return storageServer.remove(key);
1209
- }))
1210
- ];
1211
- case 2:
1212
- _state.sent();
1213
- return [
1214
- 3,
1215
- 4
1216
- ];
1217
- case 3:
1218
- error = _state.sent();
1219
- commandLog.error("Failed to clear error lists: ".concat(error.message));
1220
- return [
1221
- 3,
1222
- 4
1223
- ];
1224
- case 4:
1225
- return [
1226
- 2
1227
- ];
1228
- }
1229
- });
1230
- });
1231
- return _clearAllErrorLists.apply(this, arguments);
1232
- }
1233
- function parseTextErrors(output) {
1234
- var errorList = [];
1235
- var unmatchedLines = [];
1236
- var lastFilePath = "";
1237
- var eslintErrorDetailsRegex = /^\s*(\d+):(\d+)\s+(error|warning)\s+(.+?)\s+(\S+)$/;
1238
- var tsRegex = /^(.+?)\((\d+),(\d+)\):\s+(error|warning)\s+TS\d+:\s+(\S.+)$/;
1239
- var commitlintRegex = /^✖\s+(.*?)\s+\[(.*?)\]$/;
1240
- output.split("\n").forEach(function(line) {
1241
- if (line.startsWith("/")) {
1242
- lastFilePath = line.trim();
1243
- } else {
1244
- var eslintMatch = eslintErrorDetailsRegex.exec(line) || [];
1245
- var tsMatch = tsRegex.exec(line) || [];
1246
- var commitlintMatch = commitlintRegex.exec(line) || [];
1247
- if (eslintMatch.length && lastFilePath) {
1248
- errorList.push({
1249
- file: lastFilePath,
1250
- position: "".concat(eslintMatch[1], ":").concat(eslintMatch[2]),
1251
- type: eslintMatch[3] === "error" /* Error */ ? "error" /* Error */ : "warning" /* Warning */ ,
1252
- message: eslintMatch[4].trim(),
1253
- rule: eslintMatch[5].trim()
1254
- });
1255
- } else if (tsMatch.length) {
1256
- errorList.push({
1257
- file: tsMatch[1],
1258
- position: "".concat(tsMatch[2], ":").concat(tsMatch[3]),
1259
- type: tsMatch[4] === "error" /* Error */ ? "error" /* Error */ : "warning" /* Warning */ ,
1260
- message: tsMatch[5].trim()
1261
- });
1262
- } else if (commitlintMatch.length) {
1263
- errorList.push({
1264
- file: "commitlint",
1265
- type: "error" /* Error */ ,
1266
- message: commitlintMatch[1].trim(),
1267
- rule: commitlintMatch[2].trim()
1268
- });
1269
- } else {
1270
- unmatchedLines.push(line.trim());
1271
- }
1272
- }
1273
- });
1274
- if (errorList.length) {
1275
- saveErrorListToStorage(errorList);
1276
- }
1277
- if (unmatchedLines.length && DEBUG) {
1278
- commandLog.warning("Unmatched lines:");
1279
- unmatchedLines.forEach(function(line) {
1280
- return console.log(" ".concat(line));
1281
- });
1282
- }
1283
- }
1284
- function parseCommandOutput(output) {
1285
- try {
1286
- var results = JSON.parse(output);
1287
- var errorList = [];
1288
- results.forEach(function(param) {
1289
- var filePath = param.filePath, messages = param.messages;
1290
- messages.forEach(function(param) {
1291
- var severity = param.severity, line = param.line, column = param.column, ruleId = param.ruleId, message = param.message;
1292
- errorList.push({
1293
- type: severity === 2 ? "error" /* Error */ : "warning" /* Warning */ ,
1294
- file: filePath,
1295
- position: "".concat(line, ":").concat(column),
1296
- rule: ruleId,
1297
- message: message
1298
- });
1299
- });
1300
- });
1301
- if (errorList.length) {
1302
- saveErrorListToStorage(errorList);
1303
- }
1304
- } catch (e) {
1305
- parseTextErrors(output);
1306
- }
1307
- }
1308
- function executeCommand(command) {
1309
- return _executeCommand.apply(this, arguments);
1310
- }
1311
- function _executeCommand() {
1312
- _executeCommand = _async_to_generator(function(command) {
1313
- var parser, controller, _ref, stdout, stderr, error, stdout1, stderr1, message;
1314
- var _arguments = arguments;
1315
- return _ts_generator(this, function(_state) {
1316
- switch(_state.label){
1317
- case 0:
1318
- parser = _arguments.length > 1 && _arguments[1] !== void 0 ? _arguments[1] : parseCommandOutput;
1319
- controller = new AbortController();
1320
- import_node_process3.default.on("SIGINT", function() {
1321
- commandLog.warning("Process interrupted. Terminating...");
1322
- controller.abort();
1323
- import_node_process3.default.exit();
1324
- });
1325
- _state.label = 1;
1326
- case 1:
1327
- _state.trys.push([
1328
- 1,
1329
- 3,
1330
- ,
1331
- 4
1332
- ]);
1333
- return [
1334
- 4,
1335
- execPromise(command, {
1336
- maxBuffer: 1024 * 1024 * 100,
1337
- signal: controller.signal
1338
- })
1339
- ];
1340
- case 2:
1341
- _ref = _state.sent(), stdout = _ref.stdout, stderr = _ref.stderr;
1342
- [
1343
- stdout,
1344
- stderr
1345
- ].forEach(function(output) {
1346
- return output && parser(output);
1347
- });
1348
- return [
1349
- 3,
1350
- 4
1351
- ];
1352
- case 3:
1353
- error = _state.sent();
1354
- stdout1 = error.stdout, stderr1 = error.stderr, message = error.message;
1355
- [
1356
- stdout1,
1357
- stderr1
1358
- ].forEach(function(output) {
1359
- return output && parser(output);
1360
- });
1361
- if (!stderr1 && !stdout1) {
1362
- commandLog.error("Command failed: ".concat(message));
1363
- }
1364
- return [
1365
- 3,
1366
- 4
1367
- ];
1368
- case 4:
1369
- return [
1370
- 2
1371
- ];
1372
- }
1373
- });
1374
- });
1375
- return _executeCommand.apply(this, arguments);
1376
- }
1377
- var commandFormatter = {
1378
- raw: function(cmd) {
1379
- return {
1380
- raw: true,
1381
- cmd: cmd
1382
- };
1383
- },
1384
- isRaw: function isRaw(cmd) {
1385
- return (typeof cmd === "undefined" ? "undefined" : _type_of(cmd)) === "object" && cmd !== null && cmd.raw === true;
1386
- },
1387
- format: function format(command, context) {
1388
- if (typeof command === "function") {
1389
- return commandFormatter.formatCLI(command(context), context);
1390
- }
1391
- if (commandFormatter.isRaw(command)) {
1392
- return command.cmd;
1393
- }
1394
- return commandFormatter.formatCLI(command, context);
1395
- },
1396
- formatCLI: function formatCLI(command, context) {
1397
- if (context === null || context === void 0 ? void 0 : context.isRemote) {
1398
- return "".concat(PNPM_DLX_CLI, " ").concat(CYBERSKILL_PACKAGE_NAME, " ").concat(command);
1399
- }
1400
- if (context === null || context === void 0 ? void 0 : context.isCurrentProject) {
1401
- return "".concat(PNPM_EXEC_CLI, " ").concat(TSX_CLI, " src/cli.ts ").concat(command);
1402
- }
1403
- return "".concat(PNPM_EXEC_CLI, " ").concat(CYBERSKILL_CLI, " ").concat(command);
1404
- }
1405
- };
1406
- function resolveCommands(input) {
1407
- return _resolveCommands.apply(this, arguments);
1408
- }
1409
- function _resolveCommands() {
1410
- _resolveCommands = _async_to_generator(function(input) {
1411
- var context, _context_isRemote, isRemote, isCurrentProject, _tmp, ctx, commands;
1412
- var _arguments = arguments;
1413
- return _ts_generator(this, function(_state) {
1414
- switch(_state.label){
1415
- case 0:
1416
- context = _arguments.length > 1 && _arguments[1] !== void 0 ? _arguments[1] : {};
1417
- isRemote = (_context_isRemote = context === null || context === void 0 ? void 0 : context.isRemote) !== null && _context_isRemote !== void 0 ? _context_isRemote : false;
1418
- if (!isRemote) return [
1419
- 3,
1420
- 1
1421
- ];
1422
- _tmp = false;
1423
- return [
1424
- 3,
1425
- 3
1426
- ];
1427
- case 1:
1428
- return [
1429
- 4,
1430
- checkPackage(CYBERSKILL_PACKAGE_NAME)
1431
- ];
1432
- case 2:
1433
- _tmp = _state.sent().isCurrentProject;
1434
- _state.label = 3;
1435
- case 3:
1436
- isCurrentProject = _tmp;
1437
- ctx = {
1438
- isRemote: isRemote,
1439
- isCurrentProject: isCurrentProject
1440
- };
1441
- commands = typeof input === "function" ? input(ctx) : input;
1442
- return [
1443
- 2,
1444
- Object.fromEntries(Object.entries(commands).map(function(param) {
1445
- var _param = _sliced_to_array(param, 2), key = _param[0], cmd = _param[1];
1446
- return [
1447
- key,
1448
- commandFormatter.format(cmd, ctx)
1449
- ];
1450
- }))
1451
- ];
1452
- }
1453
- });
1454
- });
1455
- return _resolveCommands.apply(this, arguments);
1456
- }
1457
- // src/utils/log.ts
1458
- var import_graphql = require("graphql");
1459
- // src/constants/response-status.ts
1460
- var RESPONSE_STATUS = {
1461
- GRAPHQL_PARSE_FAILED: {
1462
- CODE: "GRAPHQL_PARSE_FAILED",
1463
- MESSAGE: "The GraphQL operation string contains a syntax error."
1464
- },
1465
- GRAPHQL_VALIDATION_FAILED: {
1466
- CODE: "GRAPHQL_VALIDATION_FAILED",
1467
- MESSAGE: "The GraphQL operation is not valid against the server's schema."
1468
- },
1469
- BAD_USER_INPUT: {
1470
- CODE: "BAD_USER_INPUT",
1471
- MESSAGE: "The GraphQL operation includes an invalid value for a field argument."
1472
- },
1473
- PERSISTED_QUERY_NOT_FOUND: {
1474
- CODE: "PERSISTED_QUERY_NOT_FOUND",
1475
- MESSAGE: "A client sent the hash of a query string to execute via automatic persisted queries, but the query was not in the APQ cache."
1476
- },
1477
- PERSISTED_QUERY_NOT_SUPPORTED: {
1478
- CODE: "PERSISTED_QUERY_NOT_SUPPORTED",
1479
- MESSAGE: "A client sent the hash of a query string to execute via automatic persisted queries, but the server has disabled APQ."
1480
- },
1481
- OPERATION_RESOLUTION_FAILURE: {
1482
- CODE: "OPERATION_RESOLUTION_FAILURE",
1483
- MESSAGE: "The request was parsed successfully and is valid against the server's schema, but the server couldn't resolve which operation to run. This occurs when a request containing multiple named operations doesn't specify which operation to run (i.e.,operationName), or if the named operation isn't included in the request."
1484
- },
1485
- CONTINUE: {
1486
- CODE: 100,
1487
- MESSAGE: "Continue"
1488
- },
1489
- SWITCHING_PROTOCOLS: {
1490
- CODE: 101,
1491
- MESSAGE: "Switching Protocols"
1492
- },
1493
- PROCESSING: {
1494
- CODE: 102,
1495
- MESSAGE: "Processing"
1496
- },
1497
- OK: {
1498
- CODE: 200,
1499
- MESSAGE: "OK"
1500
- },
1501
- CREATED: {
1502
- CODE: 201,
1503
- MESSAGE: "Created"
1504
- },
1505
- ACCEPTED: {
1506
- CODE: 202,
1507
- MESSAGE: "Accepted"
1508
- },
1509
- NON_AUTHORITATIVE_INFORMATION: {
1510
- CODE: 203,
1511
- MESSAGE: "Non Authoritative Information"
1512
- },
1513
- NO_CONTENT: {
1514
- CODE: 204,
1515
- MESSAGE: "No Content"
1516
- },
1517
- RESET_CONTENT: {
1518
- CODE: 205,
1519
- MESSAGE: "Reset Content"
1520
- },
1521
- PARTIAL_CONTENT: {
1522
- CODE: 206,
1523
- MESSAGE: "Partial Content"
1524
- },
1525
- MULTI_STATUS: {
1526
- CODE: 207,
1527
- MESSAGE: "Multi-Status"
1528
- },
1529
- MULTIPLE_CHOICES: {
1530
- CODE: 300,
1531
- MESSAGE: "Multiple Choices"
1532
- },
1533
- MOVED_PERMANENTLY: {
1534
- CODE: 301,
1535
- MESSAGE: "Moved Permanently"
1536
- },
1537
- MOVED_TEMPORARILY: {
1538
- CODE: 302,
1539
- MESSAGE: "Moved Temporarily"
1540
- },
1541
- SEE_OTHER: {
1542
- CODE: 303,
1543
- MESSAGE: "See Other"
1544
- },
1545
- NOT_MODIFIED: {
1546
- CODE: 304,
1547
- MESSAGE: "Not Modified"
1548
- },
1549
- USE_PROXY: {
1550
- CODE: 305,
1551
- MESSAGE: "Use Proxy"
1552
- },
1553
- TEMPORARY_REDIRECT: {
1554
- CODE: 307,
1555
- MESSAGE: "Temporary Redirect"
1556
- },
1557
- PERMANENT_REDIRECT: {
1558
- CODE: 308,
1559
- MESSAGE: "Permanent Redirect"
1560
- },
1561
- BAD_REQUEST: {
1562
- CODE: 400,
1563
- MESSAGE: "Bad Request"
1564
- },
1565
- UNAUTHORIZED: {
1566
- CODE: 401,
1567
- MESSAGE: "Unauthorized"
1568
- },
1569
- PAYMENT_REQUIRED: {
1570
- CODE: 402,
1571
- MESSAGE: "Payment Required"
1572
- },
1573
- FORBIDDEN: {
1574
- CODE: 403,
1575
- MESSAGE: "Forbidden"
1576
- },
1577
- NOT_FOUND: {
1578
- CODE: 404,
1579
- MESSAGE: "Not Found"
1580
- },
1581
- METHOD_NOT_ALLOWED: {
1582
- CODE: 405,
1583
- MESSAGE: "Method Not Allowed"
1584
- },
1585
- NOT_ACCEPTABLE: {
1586
- CODE: 406,
1587
- MESSAGE: "Not Acceptable"
1588
- },
1589
- PROXY_AUTHENTICATION_REQUIRED: {
1590
- CODE: 407,
1591
- MESSAGE: "Proxy Authentication Required"
1592
- },
1593
- REQUEST_TIMEOUT: {
1594
- CODE: 408,
1595
- MESSAGE: "Request Timeout"
1596
- },
1597
- CONFLICT: {
1598
- CODE: 409,
1599
- MESSAGE: "Conflict"
1600
- },
1601
- GONE: {
1602
- CODE: 410,
1603
- MESSAGE: "Gone"
1604
- },
1605
- LENGTH_REQUIRED: {
1606
- CODE: 411,
1607
- MESSAGE: "Length Required"
1608
- },
1609
- PRECONDITION_FAILED: {
1610
- CODE: 412,
1611
- MESSAGE: "Precondition Failed"
1612
- },
1613
- REQUEST_TOO_LONG: {
1614
- CODE: 413,
1615
- MESSAGE: "Request Entity Too Large"
1616
- },
1617
- REQUEST_URI_TOO_LONG: {
1618
- CODE: 414,
1619
- MESSAGE: "Request-URI Too Long"
1620
- },
1621
- UNSUPPORTED_MEDIA_TYPE: {
1622
- CODE: 415,
1623
- MESSAGE: "Unsupported Media Type"
1624
- },
1625
- REQUESTED_RANGE_NOT_SATISFIABLE: {
1626
- CODE: 416,
1627
- MESSAGE: "Requested Range Not Satisfiable"
1628
- },
1629
- EXPECTATION_FAILED: {
1630
- CODE: 417,
1631
- MESSAGE: "Expectation Failed"
1632
- },
1633
- IM_A_TEAPOT: {
1634
- CODE: 418,
1635
- MESSAGE: "I'm a teapot"
1636
- },
1637
- INSUFFICIENT_SPACE_ON_RESOURCE: {
1638
- CODE: 419,
1639
- MESSAGE: "Insufficient Space on Resource"
1640
- },
1641
- METHOD_FAILURE: {
1642
- CODE: 420,
1643
- MESSAGE: "Method Failure"
1644
- },
1645
- MISDIRECTED_REQUEST: {
1646
- CODE: 421,
1647
- MESSAGE: "Misdirected Request"
1648
- },
1649
- UNPROCESSABLE_ENTITY: {
1650
- CODE: 422,
1651
- MESSAGE: "Unprocessable Entity"
1652
- },
1653
- LOCKED: {
1654
- CODE: 423,
1655
- MESSAGE: "Locked"
1656
- },
1657
- FAILED_DEPENDENCY: {
1658
- CODE: 424,
1659
- MESSAGE: "Failed Dependency"
1660
- },
1661
- PRECONDITION_REQUIRED: {
1662
- CODE: 428,
1663
- MESSAGE: "Precondition Required"
1664
- },
1665
- TOO_MANY_REQUESTS: {
1666
- CODE: 429,
1667
- MESSAGE: "Too Many Requests"
1668
- },
1669
- REQUEST_HEADER_FIELDS_TOO_LARGE: {
1670
- CODE: 431,
1671
- MESSAGE: "Request Header Fields Too Large"
1672
- },
1673
- UNAVAILABLE_FOR_LEGAL_REASONS: {
1674
- CODE: 451,
1675
- MESSAGE: "Unavailable For Legal Reasons"
1676
- },
1677
- INTERNAL_SERVER_ERROR: {
1678
- CODE: 500,
1679
- MESSAGE: "Internal Server Error"
1680
- },
1681
- NOT_IMPLEMENTED: {
1682
- CODE: 501,
1683
- MESSAGE: "Not Implemented"
1684
- },
1685
- BAD_GATEWAY: {
1686
- CODE: 502,
1687
- MESSAGE: "Bad Gateway"
1688
- },
1689
- SERVICE_UNAVAILABLE: {
1690
- CODE: 503,
1691
- MESSAGE: "Service Unavailable"
1692
- },
1693
- GATEWAY_TIMEOUT: {
1694
- CODE: 504,
1695
- MESSAGE: "Gateway Timeout"
1696
- },
1697
- HTTP_VERSION_NOT_SUPPORTED: {
1698
- CODE: 505,
1699
- MESSAGE: "HTTP Version Not Supported"
1700
- },
1701
- INSUFFICIENT_STORAGE: {
1702
- CODE: 507,
1703
- MESSAGE: "Insufficient Storage"
1704
- },
1705
- NETWORK_AUTHENTICATION_REQUIRED: {
1706
- CODE: 511,
1707
- MESSAGE: "Network Authentication Required"
1708
- }
1709
- };
1710
- // src/utils/log.ts
1711
- function throwResponse(param) {
1712
- var message = param.message, _param_status = param.status, status = _param_status === void 0 ? RESPONSE_STATUS.INTERNAL_SERVER_ERROR : _param_status, _param_type = param.type, type = _param_type === void 0 ? "graphql" : _param_type;
1713
- var _ref;
1714
- var responseMessage = (_ref = message !== null && message !== void 0 ? message : status.MESSAGE) !== null && _ref !== void 0 ? _ref : "Internal server error";
1715
- if (type === "graphql") {
1716
- throw new import_graphql.GraphQLError(responseMessage, {
1717
- extensions: {
1718
- code: status.CODE
1719
- }
1720
- });
1721
- } else {
1722
- throw new Error(responseMessage);
1723
- }
1724
- }
1725
- // Annotate the CommonJS export names for ESM import in node:
1726
- 0 && (module.exports = {
1727
- appendFileSync: appendFileSync,
1728
- checkPackage: checkPackage,
1729
- clearAllErrorLists: clearAllErrorLists,
1730
- commandFormatter: commandFormatter,
1731
- commandLog: commandLog,
1732
- dirname: dirname,
1733
- executeCommand: executeCommand,
1734
- existsSync: existsSync,
1735
- getLatestPackageVersion: getLatestPackageVersion,
1736
- getPackageJson: getPackageJson,
1737
- getStorageDir: getStorageDir,
1738
- getStoredErrorLists: getStoredErrorLists,
1739
- initNodePersist: initNodePersist,
1740
- join: join,
1741
- readFileSync: readFileSync,
1742
- require: require,
1743
- resolve: resolve,
1744
- resolveCommands: resolveCommands,
1745
- resolveCyberSkillPath: resolveCyberSkillPath,
1746
- resolveWorkingPath: resolveWorkingPath,
1747
- rmSync: rmSync,
1748
- saveErrorListToStorage: saveErrorListToStorage,
1749
- storageServer: storageServer,
1750
- throwResponse: throwResponse,
1751
- writeFileSync: writeFileSync
1752
- });
1
+ "use strict";function e(e,r){if(r==null||r>e.length)r=e.length;for(var t=0,n=new Array(r);t<r;t++)n[t]=e[t];return n}function r(e){if(Array.isArray(e))return e}function t(r){if(Array.isArray(r))return e(r)}function n(e,r,t,n,o,a,i){try{var c=e[a](i);var s=c.value}catch(e){t(e);return}if(c.done){r(s)}else{Promise.resolve(s).then(n,o)}}function o(e){return function(){var r=this,t=arguments;return new Promise(function(o,a){var i=e.apply(r,t);function c(e){n(i,o,a,c,s,"next",e)}function s(e){n(i,o,a,c,s,"throw",e)}c(undefined)})}}function a(e){if(typeof Symbol!=="undefined"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function i(e,r){var t=e==null?null:typeof Symbol!=="undefined"&&e[Symbol.iterator]||e["@@iterator"];if(t==null)return;var n=[];var o=true;var a=false;var i,c;try{for(t=t.call(e);!(o=(i=t.next()).done);o=true){n.push(i.value);if(r&&n.length===r)break}}catch(e){a=true;c=e}finally{try{if(!o&&t["return"]!=null)t["return"]()}finally{if(a)throw c}}return n}function c(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function s(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function u(e,t){return r(e)||i(e,t)||f(e,t)||c()}function l(e){return t(e)||a(e)||f(e)||s()}function E(e){"@swc/helpers - typeof";return e&&typeof Symbol!=="undefined"&&e.constructor===Symbol?"symbol":typeof e}function f(r,t){if(!r)return;if(typeof r==="string")return e(r,t);var n=Object.prototype.toString.call(r).slice(8,-1);if(n==="Object"&&r.constructor)n=r.constructor.name;if(n==="Map"||n==="Set")return Array.from(n);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return e(r,t)}function d(e,r){var t,n,o,a,i={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]};return a={next:c(0),"throw":c(1),"return":c(2)},typeof Symbol==="function"&&(a[Symbol.iterator]=function(){return this}),a;function c(e){return function(r){return s([e,r])}}function s(a){if(t)throw new TypeError("Generator is already executing.");while(i)try{if(t=1,n&&(o=a[0]&2?n["return"]:a[0]?n["throw"]||((o=n["return"])&&o.call(n),0):n.next)&&!(o=o.call(n,a[1])).done)return o;if(n=0,o)a=[a[0]&2,o.value];switch(a[0]){case 0:case 1:o=a;break;case 4:i.label++;return{value:a[1],done:false};case 5:i.label++;n=a[1];a=[0];continue;case 7:a=i.ops.pop();i.trys.pop();continue;default:if(!(o=i.trys,o=o.length>0&&o[o.length-1])&&(a[0]===6||a[0]===2)){i=0;continue}if(a[0]===3&&(!o||a[1]>o[0]&&a[1]<o[3])){i.label=a[1];break}if(a[0]===6&&i.label<o[1]){i.label=o[1];o=a;break}if(o&&i.label<o[2]){i.label=o[2];i.ops.push(a);break}if(o[2])i.ops.pop();i.trys.pop();continue}a=r.call(e,i)}catch(e){a=[6,e];n=0}finally{t=o=0}if(a[0]&5)throw a[1];return{value:a[0]?a[1]:void 0,done:true}}}var S=Object.create;var p=Object.defineProperty;var O=Object.getOwnPropertyDescriptor;var g=Object.getOwnPropertyNames;var h=Object.getPrototypeOf,v=Object.prototype.hasOwnProperty;var A=function(e,r){for(var t in r)p(e,t,{get:r[t],enumerable:!0})},T=function(e,r,t,n){var o=true,a=false,i=undefined;if(r&&(typeof r==="undefined"?"undefined":E(r))=="object"||typeof r=="function")try{var c=function(){var o=u.value;!v.call(e,o)&&o!==t&&p(e,o,{get:function(){return r[o]},enumerable:!(n=O(r,o))||n.enumerable})};for(var s=g(r)[Symbol.iterator](),u;!(o=(u=s.next()).done);o=true)c()}catch(e){a=true;i=e}finally{try{if(!o&&s.return!=null){s.return()}}finally{if(a){throw i}}}return e};var m=function(e,r,t){return t=e!=null?S(h(e)):{},T(r||!e||!e.__esModule?p(t,"default",{value:e,enumerable:!0}):t,e)},y=function(e){return T(p({},"__esModule",{value:!0}),e)};var _={};A(_,{appendFileSync:function(){return ey},checkPackage:function(){return eU},clearAllErrorLists:function(){return eZ},commandLog:function(){return eJ},executeCommand:function(){return e2},existsSync:function(){return eA},formatCommand:function(){return e8},getLatestPackageVersion:function(){return eb},getPackageJson:function(){return eP},getStorageDir:function(){return eN},getStoredErrorLists:function(){return e$},initNodePersist:function(){return eD},join:function(){return b},rawCommand:function(){return e5},readFileSync:function(){return eT},resolve:function(){return P},resolveCommands:function(){return e7},resolveWorkingPath:function(){return L},rmSync:function(){return e_},storageServer:function(){return eG},throwResponse:function(){return rt},writeFileSync:function(){return em}});module.exports=y(_);var I=m(require("boxen"),1),C=m(require("chalk"),1),R=require("child_process"),N=m(require("process"),1),D=m(require("util"),1);var M=m(require("process"),1);var G=m(require("path"),1);function L(){for(var e=arguments.length,r=new Array(e),t=0;t<e;t++){r[t]=arguments[t]}var n;return(n=G).resolve.apply(n,[w].concat(l(r)))}function P(){for(var e=arguments.length,r=new Array(e),t=0;t<e;t++){r[t]=arguments[t]}var n;return(n=G).resolve.apply(n,l(r))}function b(){for(var e=arguments.length,r=new Array(e),t=0;t<e;t++){r[t]=arguments[t]}var n;return(n=G).join.apply(n,l(r))}var w=M.default.env.INIT_CWD||M.default.cwd(),U="@cyberskill/shared",F=".cyberskill-storage",k="node_modules",x="dist",j="package.json",q="package-lock.json",Y="tsconfig.json",Q=".gitignore",K=".simple-git-hooks.json",B="pnpm-lock.yaml",H=".git/hooks/",J=".git/COMMIT_EDITMSG",V=b(w,k,U,x),W="cyberskill",X="eslint",$="vitest",z="vitest",Z="@commitlint/cli",ee="commitlint",er="lint-staged",et="lint-staged",en="tsc",eo="tsc",ea="tsx",ei="git",ec="pnpm",es="pnpm exec",eu="simple-git-hooks",el="simple-git-hooks",eE="@eslint/config-inspector",ef="eslint-config-inspector",ed="node-modules-inspector",eS="node-modules-inspector",ep={CYBERSKILL_DIRECTORY:V,WORKING_DIRECTORY:w,TS_CONFIG:L(Y),GIT_IGNORE:L(Q),GIT_HOOK:L(H),GIT_COMMIT_MSG:L(J),SIMPLE_GIT_HOOKS_JSON:L(K),PACKAGE_JSON:L(j),PACKAGE_LOCK_JSON:L(q),PNPM_LOCK_YAML:L(B),NODE_MODULES:L(k),CYBERSKILL:{LINT_STAGED_CONFIG:L("".concat(V,"/configs/lint-staged/base.js")),COMMITLINT_CONFIG:L("".concat(V,"/configs/commitlint/base.js")),UNIT_TEST_CONFIG:L("".concat(V,"/configs/vitest/react/unit.js")),E2E_TEST_CONFIG:L("".concat(V,"/configs/vitest/react/e2e.js"))}};function eO(e){for(var r=arguments.length,t=new Array(r>1?r-1:0),n=1;n<r;n++){t[n-1]=arguments[n]}var o=u(t,2),a=o[0],i=o[1];switch(e){case"pnpmAddAndExec":return e8(e5("".concat(ec," add -D ").concat(a," && ").concat(es," ").concat(i)));case"pnpmExec":return e8(e5("".concat(es," ").concat(a," ").concat(i||"").trim()));case"raw":return e8(e5(a))}}var eg={SIMPLE_GIT_HOOKS:eO("pnpmAddAndExec",eu,el),ESLINT_INSPECT:eO("pnpmAddAndExec",eE,ef),NODE_MODULES_INSPECT:eO("pnpmAddAndExec",ed,eS),ESLINT_CHECK:eO("pnpmExec",X,ep.WORKING_DIRECTORY),ESLINT_FIX:eO("pnpmExec",X,"".concat(ep.WORKING_DIRECTORY," --fix")),TYPESCRIPT_CHECK:eO("pnpmAddAndExec",en,"".concat(eo," -p ").concat(ep.TS_CONFIG," --noEmit")),CONFIGURE_GIT_HOOK:eO("raw","".concat(ei," config core.hooksPath ").concat(ep.GIT_HOOK)),BUILD:eO("raw","".concat(ec," run build")),STAGE_BUILD_DIRECTORY:eO("raw","".concat(ei," add ").concat(x)),PNPM_INSTALL_STANDARD:eO("raw","".concat(ec," install")),PNPM_INSTALL_LEGACY:eO("raw","".concat(ec," install --legacy-peer-deps")),PNPM_INSTALL_FORCE:eO("raw","".concat(ec," install --force")),CYBERSKILL:{TEST_UNIT:eO("pnpmAddAndExec",$,"".concat(z," --config ").concat(ep.CYBERSKILL.UNIT_TEST_CONFIG)),TEST_E2E:eO("pnpmAddAndExec",$,"".concat(z," --config ").concat(ep.CYBERSKILL.E2E_TEST_CONFIG)),COMMIT_LINT:eO("pnpmAddAndExec",Z,"".concat(ee," --edit ").concat(ep.GIT_COMMIT_MSG," --config ").concat(ep.CYBERSKILL.COMMITLINT_CONFIG)),LINT_STAGED:eO("pnpmAddAndExec",er,"".concat(et," --config ").concat(ep.CYBERSKILL.LINT_STAGED_CONFIG))}};var eh=m(require("node-fetch"),1);var ev=m(require("fs"),1),eA=function(e){return ev.existsSync(e)};function eT(e,r){var t=ev.readFileSync(e,"utf-8");if(r===null||r===void 0?void 0:r.asJson)try{var n=JSON.parse(t);if((typeof n==="undefined"?"undefined":E(n))=="object"&&n!==null)return n;throw new Error("Parsed JSON is not an object or array")}catch(r){throw new Error("Failed to parse JSON from file: ".concat(e))}return t}function em(e,r){var t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};var n=t.isJson,o=n===void 0?!1:n,a=o&&(typeof r==="undefined"?"undefined":E(r))=="object"?JSON.stringify(r,null,4):String(r);ev.writeFileSync(e,a,"utf-8")}function ey(e,r){var t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};var n=t.isJson,o=n===void 0?!1:n,a=o&&(typeof r==="undefined"?"undefined":E(r))=="object"?JSON.stringify(r,null,4):String(r);ev.appendFileSync(e,a,"utf-8")}function e_(e){e.forEach(function(e){eA(e)&&ev.rmSync(e,{recursive:!0,force:!0})})}var eI=m(require("node-persist"),1),eC=m(require("os"),1),eR=m(require("process"),1);function eN(){return eR.default.env.CYBERSKILL_STORAGE_DIR||b(eC.default.homedir(),F)}function eD(){return eM.apply(this,arguments)}function eM(){eM=o(function(){var e;return d(this,function(r){switch(r.label){case 0:e=eI.default.defaultInstance;if(e)return[3,2];return[4,eI.default.init({dir:eN(),stringify:JSON.stringify,parse:JSON.parse,encoding:"utf8",logging:!1,forgiveParseErrors:!0})];case 1:e=r.sent();r.label=2;case 2:e;return[2]}})});return eM.apply(this,arguments)}var eG={get:function e(e){return o(function(){var r,t;return d(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,eD()];case 1:n.sent();return[4,eI.default.getItem(e)];case 2:return[2,(r=n.sent())!==null&&r!==void 0?r:null];case 3:t=n.sent();return[2,(console.error('❌ [Storage:get] Error getting key "'.concat(e,'":'),t),null)];case 4:return[2]}})})()},set:function e(e,r){return o(function(){var t;return d(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,eD()];case 1:n.sent();return[4,eI.default.setItem(e,r)];case 2:n.sent();return[3,4];case 3:t=n.sent();console.error('❌ [Storage:set] Error setting key "'.concat(e,'":'),t);return[3,4];case 4:return[2]}})})()},remove:function e(e){return o(function(){var r;return d(this,function(t){switch(t.label){case 0:t.trys.push([0,3,,4]);return[4,eD()];case 1:t.sent();return[4,eI.default.removeItem(e)];case 2:t.sent();return[3,4];case 3:r=t.sent();console.error('❌ [Storage:remove] Error removing key "'.concat(e,'":'),r);return[3,4];case 4:return[2]}})})()},keys:function e(){return o(function(){var e,r;return d(this,function(t){switch(t.label){case 0:t.trys.push([0,3,,4]);return[4,eD()];case 1:t.sent();return[4,eI.default.keys()];case 2:e=t.sent();return[2,Array.isArray(e)?e:(console.warn("⚠️ [Storage:keys] Invalid keys response:",e),[])];case 3:r=t.sent();return[2,(console.error("❌ [Storage:keys] Error getting keys:",r),[])];case 4:return[2]}})})()},getLogLink:function e(e){return o(function(){return d(this,function(r){try{return[2,"".concat(eN()," (key: ").concat(e,")")]}catch(e){return[2,(console.error("❌ [Storage:getLogLink] Error getting log link:",e),null)]}return[2]})})()}};var eL=24*60*60*1e3;function eP(e){var r=b(w,j);if(eA(r))try{var t=eT(r,{asJson:!0});if(t.name===e)return{path:r,file:t,isCurrentProject:!0}}catch(e){eJ.warning("Failed to read local package.json: ".concat(e.message))}var n=b(w,k,e,j);if(eA(n))try{var o=eT(n,{asJson:!0});if(o.name===e)return{path:n,file:o,isCurrentProject:!1}}catch(r){eJ.warning("Failed to read node_modules package.json for ".concat(e,": ").concat(r.message))}return!1}function eb(e){return ew.apply(this,arguments)}function ew(){ew=o(function(e){var r,t,n,o,a,i,c,s,u,l;var E=arguments;return d(this,function(f){switch(f.label){case 0:r=E.length>1&&E[1]!==void 0?E[1]:!1;t="npm_version:".concat(e),n="npm_metadata:".concat(e);return[4,eG.get(t)];case 1:o=f.sent();return[4,eG.get(n)];case 2:a=f.sent(),i=o&&Date.now()-o.timestamp<eL;if(!r&&i)return[2,o.version];c={};(a===null||a===void 0?void 0:a.etag)&&(c["If-None-Match"]=a.etag),(a===null||a===void 0?void 0:a.lastModified)&&(c["If-Modified-Since"]=a.lastModified);f.label=3;case 3:f.trys.push([3,8,,9]);return[4,(0,eh.default)("https://registry.npmjs.org/".concat(e,"/latest"),{headers:c})];case 4:s=f.sent();if(s.status===304&&o)return[2,o.version];if(!s.ok)throw new Error("Failed to fetch latest version: ".concat(s.statusText));return[4,s.json()];case 5:u=f.sent().version;return[4,eG.set(t,{version:u,timestamp:Date.now()})];case 6:f.sent();return[4,eG.set(n,{etag:s.headers.get("ETag")||void 0,lastModified:s.headers.get("Last-Modified")||void 0})];case 7:return[2,(f.sent(),u)];case 8:l=f.sent();if(eJ.error("Error fetching latest version for ".concat(e,": ").concat(l.message)),o)return[2,(eJ.warning("Falling back to cached version for ".concat(e,": ").concat(o.version)),o.version)];throw l;case 9:return[2]}})});return ew.apply(this,arguments)}function eU(e){return eF.apply(this,arguments)}function eF(){eF=o(function(e){var r,t,n,o,a;return d(this,function(i){switch(i.label){case 0:r={isInstalled:!1,isCurrentProject:!1,installedPath:"",installedVersion:"",latestVersion:"",file:{}};i.label=1;case 1:i.trys.push([1,6,,7]);t=eP(e);n=t;if(!n)return[3,5];r.file=t.file,r.isInstalled=!0,r.installedPath=t.path,r.installedVersion=t.file.version,r.isCurrentProject=t.isCurrentProject;if(!t.isCurrentProject)return[3,2];o=t.file.version;return[3,4];case 2:return[4,eb(e,!0)];case 3:o=i.sent();i.label=4;case 4:n=r.latestVersion=o;i.label=5;case 5:return[2,(n,r)];case 6:a=i.sent();return[2,(eJ.error('Error checking package "'.concat(e,'": ').concat(a.message)),r)];case 7:return[2]}})});return eF.apply(this,arguments)}var ek=N.default.env.DEBUG==="true",ex=D.promisify(R.exec),ej=C.default,eq=ej.gray,eY=ej.blue;function eQ(){return eq("[".concat(new Date().toLocaleTimeString(),"]"))}function eK(e){var r=C.default[e];return typeof r=="function"?r:C.default.green}function eB(e,r,t,n){var o=eK(r);console.log("".concat(eQ()," ").concat(o("".concat(t," ").concat(e))," ").concat(n))}function eH(e,r){var t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},n=t.color,o=n===void 0?"green":n,a=t.padding,i=a===void 0?1:a,c=t.margin,s=c===void 0?1:c,u=t.borderStyle,l=u===void 0?"round":u,E=t.titleColor,f=E===void 0?"bold":E;var d=eK(o),S=eK(f);if(typeof r=="string"){console.log((0,I.default)(S(d("".concat(e,"\n").concat(r))),{padding:i,margin:s,borderStyle:l,borderColor:o}));return}Array.isArray(r)&&r.length&&(r.forEach(function(e){var r=e.file,t=e.position,n=e.rule,o=e.message;console.log("".concat(eQ()," ").concat(d("File:")," ").concat(eY("".concat(r).concat(t?":".concat(t):"")))),n&&console.log(" ".concat(d("Rule:")," ").concat(d(n))),console.log(" ".concat(d("Message:")," ").concat(d(o)))}),console.log((0,I.default)(S(d("".concat(e,": ").concat(r.length))),{padding:i,margin:s,borderStyle:l,borderColor:o})),console.log(eq("─".repeat(40))))}var eJ={success:function(e){return eB("SUCCESS","green","✔",e)},error:function(e){return eB("ERROR","red","✖",e)},warning:function(e){return eB("WARNING","yellow","⚠",e)},info:function(e){return eB("INFO","blue","ℹ",e)},printBoxedLog:eH};function eV(e){return"error_list:".concat(e)}function eW(e){return eX.apply(this,arguments)}function eX(){eX=o(function(e){var r,t,n;return d(this,function(a){switch(a.label){case 0:if(e.length===0)return[2];r=Date.now(),t=eV(r);a.label=1;case 1:a.trys.push([1,3,,4]);return[4,eG.set(t,{errors:e,timestamp:r})];case 2:a.sent(),setTimeout(/*#__PURE__*/o(function(){var e;return d(this,function(r){switch(r.label){case 0:return[4,eG.getLogLink(t)];case 1:e=r.sent();e&&eJ.info("\uD83D\uDCC2 Open the error list manually: ".concat(e));return[2]}})}),10);return[3,4];case 3:n=a.sent();eJ.error("Failed to save errors: ".concat(n.message));return[3,4];case 4:return[2]}})});return eX.apply(this,arguments)}function e$(){return ez.apply(this,arguments)}function ez(){ez=o(function(){var e,r,t;return d(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,eG.keys()];case 1:e=n.sent(),r=Array.isArray(e)?e.filter(function(e){var r;return e===null||e===void 0?void 0:(r=e.startsWith)===null||r===void 0?void 0:r.call(e,"error_list:")}):[];return[4,Promise.all(r.map(/*#__PURE__*/function(){var e=o(function(e){var r;return d(this,function(t){switch(t.label){case 0:return[4,eG.get(e)];case 1:return[2,((r=t.sent())===null||r===void 0?void 0:r.errors)||[]]}})});return function(r){return e.apply(this,arguments)}}()))];case 2:return[2,n.sent().flat()];case 3:t=n.sent();return[2,(eJ.error("Failed to retrieve stored errors: ".concat(t.message)),[])];case 4:return[2]}})});return ez.apply(this,arguments)}function eZ(){return e0.apply(this,arguments)}function e0(){e0=o(function(){var e,r,t;return d(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,eG.keys()];case 1:e=n.sent(),r=Array.isArray(e)?e.filter(function(e){var r;return e===null||e===void 0?void 0:(r=e.startsWith)===null||r===void 0?void 0:r.call(e,"error_list:")}):[];return[4,Promise.all(r.map(function(e){return eG.remove(e)}))];case 2:n.sent();return[3,4];case 3:t=n.sent();eJ.error("Failed to clear error lists: ".concat(t.message));return[3,4];case 4:return[2]}})});return e0.apply(this,arguments)}function e1(e){var r=[],t=[],n="",o=/^\s*(\d+):(\d+)\s+(error|warning)\s+(.+?)\s+(\S+)$/,a=/^(.+?)\((\d+),(\d+)\):\s+(error|warning)\s+TS\d+:\s+(\S.+)$/,i=/^✖\s+(.*?)\s+\[(.*?)\]$/;e.split("\n").forEach(function(e){if(e.startsWith("/"))n=e.trim();else{var c=o.exec(e)||[],s=a.exec(e)||[],u=i.exec(e)||[];c.length&&n?r.push({file:n,position:"".concat(c[1],":").concat(c[2]),type:c[3]==="error"?"error":"warning",message:c[4].trim(),rule:c[5].trim()}):s.length?r.push({file:s[1],position:"".concat(s[2],":").concat(s[3]),type:s[4]==="error"?"error":"warning",message:s[5].trim()}):u.length?r.push({file:"commitlint",type:"error",message:u[1].trim(),rule:u[2].trim()}):t.push(e.trim())}}),r.length&&eW(r),t.length&&ek&&(eJ.warning("Unmatched lines:"),t.forEach(function(e){return console.log(" ".concat(e))}))}function e4(e){try{var r=JSON.parse(e),t=[];r.forEach(function(e){var r=e.filePath,n=e.messages;n.forEach(function(e){var n=e.severity,o=e.line,a=e.column,i=e.ruleId,c=e.message;t.push({type:n===2?"error":"warning",file:r,position:"".concat(o,":").concat(a),rule:i,message:c})})}),t.length&&eW(t)}catch(r){e1(e)}}function e2(e){return e3.apply(this,arguments)}function e3(){e3=o(function(e){var r,t,n,o,a,i,c,s,u;var l=arguments;return d(this,function(E){switch(E.label){case 0:r=l.length>1&&l[1]!==void 0?l[1]:e4;t=new AbortController;N.default.on("SIGINT",function(){eJ.warning("Process interrupted. Terminating..."),t.abort(),N.default.exit()});E.label=1;case 1:E.trys.push([1,3,,4]);return[4,ex(e,{maxBuffer:0x6400000,signal:t.signal})];case 2:n=E.sent(),o=n.stdout,a=n.stderr;[o,a].forEach(function(e){return e&&r(e)});return[3,4];case 3:i=E.sent();c=i.stdout,s=i.stderr,u=i.message;[c,s].forEach(function(e){return e&&r(e)}),!s&&!c&&eJ.error("Command failed: ".concat(u));return[3,4];case 4:return[2]}})});return e3.apply(this,arguments)}function e5(e){return{raw:!0,cmd:e}}function e6(e,r){return(r===null||r===void 0?void 0:r.isRemote)?"".concat(es," ").concat(U," ").concat(e):(r===null||r===void 0?void 0:r.isCurrentProject)?"".concat(es," ").concat(ea," src/cli.ts ").concat(e):"".concat(es," ").concat(W," ").concat(e)}function e8(e,r){return typeof e=="function"?e6(e(r),r):(typeof e==="undefined"?"undefined":E(e))=="object"&&(e===null||e===void 0?void 0:e.raw)===!0?e.cmd:typeof e=="string"?e6(e,r):e}function e7(e){return e9.apply(this,arguments)}function e9(){e9=o(function(e){var r,t,n,o,a,i,c;var s=arguments;return d(this,function(l){switch(l.label){case 0:r=s.length>1&&s[1]!==void 0?s[1]:{};n=(t=r===null||r===void 0?void 0:r.isRemote)!==null&&t!==void 0?t:!1;if(!n)return[3,1];c=!1;return[3,3];case 1:return[4,eU(U)];case 2:c=l.sent().isCurrentProject;l.label=3;case 3:o=c,a={isRemote:n,isCurrentProject:o},i=typeof e=="function"?e(a):e;return[2,Object.fromEntries(Object.entries(i).map(function(e){var r=u(e,2),t=r[0],n=r[1];return[t,e8(n,a)]}))]}})});return e9.apply(this,arguments)}var re=require("graphql");var rr={GRAPHQL_PARSE_FAILED:{CODE:"GRAPHQL_PARSE_FAILED",MESSAGE:"The GraphQL operation string contains a syntax error."},GRAPHQL_VALIDATION_FAILED:{CODE:"GRAPHQL_VALIDATION_FAILED",MESSAGE:"The GraphQL operation is not valid against the server's schema."},BAD_USER_INPUT:{CODE:"BAD_USER_INPUT",MESSAGE:"The GraphQL operation includes an invalid value for a field argument."},PERSISTED_QUERY_NOT_FOUND:{CODE:"PERSISTED_QUERY_NOT_FOUND",MESSAGE:"A client sent the hash of a query string to execute via automatic persisted queries, but the query was not in the APQ cache."},PERSISTED_QUERY_NOT_SUPPORTED:{CODE:"PERSISTED_QUERY_NOT_SUPPORTED",MESSAGE:"A client sent the hash of a query string to execute via automatic persisted queries, but the server has disabled APQ."},OPERATION_RESOLUTION_FAILURE:{CODE:"OPERATION_RESOLUTION_FAILURE",MESSAGE:"The request was parsed successfully and is valid against the server's schema, but the server couldn't resolve which operation to run. This occurs when a request containing multiple named operations doesn't specify which operation to run (i.e.,operationName), or if the named operation isn't included in the request."},CONTINUE:{CODE:100,MESSAGE:"Continue"},SWITCHING_PROTOCOLS:{CODE:101,MESSAGE:"Switching Protocols"},PROCESSING:{CODE:102,MESSAGE:"Processing"},OK:{CODE:200,MESSAGE:"OK"},CREATED:{CODE:201,MESSAGE:"Created"},ACCEPTED:{CODE:202,MESSAGE:"Accepted"},NON_AUTHORITATIVE_INFORMATION:{CODE:203,MESSAGE:"Non Authoritative Information"},NO_CONTENT:{CODE:204,MESSAGE:"No Content"},RESET_CONTENT:{CODE:205,MESSAGE:"Reset Content"},PARTIAL_CONTENT:{CODE:206,MESSAGE:"Partial Content"},MULTI_STATUS:{CODE:207,MESSAGE:"Multi-Status"},MULTIPLE_CHOICES:{CODE:300,MESSAGE:"Multiple Choices"},MOVED_PERMANENTLY:{CODE:301,MESSAGE:"Moved Permanently"},MOVED_TEMPORARILY:{CODE:302,MESSAGE:"Moved Temporarily"},SEE_OTHER:{CODE:303,MESSAGE:"See Other"},NOT_MODIFIED:{CODE:304,MESSAGE:"Not Modified"},USE_PROXY:{CODE:305,MESSAGE:"Use Proxy"},TEMPORARY_REDIRECT:{CODE:307,MESSAGE:"Temporary Redirect"},PERMANENT_REDIRECT:{CODE:308,MESSAGE:"Permanent Redirect"},BAD_REQUEST:{CODE:400,MESSAGE:"Bad Request"},UNAUTHORIZED:{CODE:401,MESSAGE:"Unauthorized"},PAYMENT_REQUIRED:{CODE:402,MESSAGE:"Payment Required"},FORBIDDEN:{CODE:403,MESSAGE:"Forbidden"},NOT_FOUND:{CODE:404,MESSAGE:"Not Found"},METHOD_NOT_ALLOWED:{CODE:405,MESSAGE:"Method Not Allowed"},NOT_ACCEPTABLE:{CODE:406,MESSAGE:"Not Acceptable"},PROXY_AUTHENTICATION_REQUIRED:{CODE:407,MESSAGE:"Proxy Authentication Required"},REQUEST_TIMEOUT:{CODE:408,MESSAGE:"Request Timeout"},CONFLICT:{CODE:409,MESSAGE:"Conflict"},GONE:{CODE:410,MESSAGE:"Gone"},LENGTH_REQUIRED:{CODE:411,MESSAGE:"Length Required"},PRECONDITION_FAILED:{CODE:412,MESSAGE:"Precondition Failed"},REQUEST_TOO_LONG:{CODE:413,MESSAGE:"Request Entity Too Large"},REQUEST_URI_TOO_LONG:{CODE:414,MESSAGE:"Request-URI Too Long"},UNSUPPORTED_MEDIA_TYPE:{CODE:415,MESSAGE:"Unsupported Media Type"},REQUESTED_RANGE_NOT_SATISFIABLE:{CODE:416,MESSAGE:"Requested Range Not Satisfiable"},EXPECTATION_FAILED:{CODE:417,MESSAGE:"Expectation Failed"},IM_A_TEAPOT:{CODE:418,MESSAGE:"I'm a teapot"},INSUFFICIENT_SPACE_ON_RESOURCE:{CODE:419,MESSAGE:"Insufficient Space on Resource"},METHOD_FAILURE:{CODE:420,MESSAGE:"Method Failure"},MISDIRECTED_REQUEST:{CODE:421,MESSAGE:"Misdirected Request"},UNPROCESSABLE_ENTITY:{CODE:422,MESSAGE:"Unprocessable Entity"},LOCKED:{CODE:423,MESSAGE:"Locked"},FAILED_DEPENDENCY:{CODE:424,MESSAGE:"Failed Dependency"},PRECONDITION_REQUIRED:{CODE:428,MESSAGE:"Precondition Required"},TOO_MANY_REQUESTS:{CODE:429,MESSAGE:"Too Many Requests"},REQUEST_HEADER_FIELDS_TOO_LARGE:{CODE:431,MESSAGE:"Request Header Fields Too Large"},UNAVAILABLE_FOR_LEGAL_REASONS:{CODE:451,MESSAGE:"Unavailable For Legal Reasons"},INTERNAL_SERVER_ERROR:{CODE:500,MESSAGE:"Internal Server Error"},NOT_IMPLEMENTED:{CODE:501,MESSAGE:"Not Implemented"},BAD_GATEWAY:{CODE:502,MESSAGE:"Bad Gateway"},SERVICE_UNAVAILABLE:{CODE:503,MESSAGE:"Service Unavailable"},GATEWAY_TIMEOUT:{CODE:504,MESSAGE:"Gateway Timeout"},HTTP_VERSION_NOT_SUPPORTED:{CODE:505,MESSAGE:"HTTP Version Not Supported"},INSUFFICIENT_STORAGE:{CODE:507,MESSAGE:"Insufficient Storage"},NETWORK_AUTHENTICATION_REQUIRED:{CODE:511,MESSAGE:"Network Authentication Required"}};function rt(e){var r=e.message,t=e.status,n=t===void 0?rr.INTERNAL_SERVER_ERROR:t,o=e.type,a=o===void 0?"graphql":o;var i;var c=(i=r!==null&&r!==void 0?r:n.MESSAGE)!==null&&i!==void 0?i:"Internal server error";throw a==="graphql"?new re.GraphQLError(c,{extensions:{code:n.CODE}}):new Error(c)}0&&(module.exports={appendFileSync:appendFileSync,checkPackage:checkPackage,clearAllErrorLists:clearAllErrorLists,commandLog:commandLog,executeCommand:executeCommand,existsSync:existsSync,formatCommand:formatCommand,getLatestPackageVersion:getLatestPackageVersion,getPackageJson:getPackageJson,getStorageDir:getStorageDir,getStoredErrorLists:getStoredErrorLists,initNodePersist:initNodePersist,join:join,rawCommand:rawCommand,readFileSync:readFileSync,resolve:resolve,resolveCommands:resolveCommands,resolveWorkingPath:resolveWorkingPath,rmSync:rmSync,storageServer:storageServer,throwResponse:throwResponse,writeFileSync:writeFileSync});