@teambit/cli 0.0.899 → 0.0.901
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/artifacts/__bit_junit.xml +1 -1
- package/artifacts/preview/teambit_harmony_cli-preview.js +1 -1
- package/artifacts/schema.json +190 -14
- package/dist/cli.cmd.js +5 -5
- package/dist/cli.cmd.js.map +1 -1
- package/dist/command-runner.js +1 -1
- package/dist/command-runner.js.map +1 -1
- package/dist/handle-errors.d.ts +2 -0
- package/dist/handle-errors.js +63 -0
- package/dist/handle-errors.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +22 -1
- package/dist/index.js.map +1 -1
- package/dist/{preview-1719890668338.js → preview-1720063334094.js} +2 -2
- package/dist/version.cmd.d.ts +2 -2
- package/dist/version.cmd.js +4 -4
- package/dist/version.cmd.js.map +1 -1
- package/package.json +6 -5
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
2
|
<testsuites tests="0" failures="0" errors="0" skipped="0">
|
|
3
|
-
<testsuite name="teambit.harmony/cli@0.0.
|
|
3
|
+
<testsuite name="teambit.harmony/cli@0.0.901" tests="0" failures="0" errors="0" skipped="0"/>
|
|
4
4
|
</testsuites>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["teambit.harmony/cli-preview"]=t():e["teambit.harmony/cli-preview"]=t()}(self,(()=>(()=>{"use strict";var e={
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["teambit.harmony/cli-preview"]=t():e["teambit.harmony/cli-preview"]=t()}(self,(()=>(()=>{"use strict";var e={61113:(e,t,o)=>{var n={id:"teambit.harmony/cli@0.0.901",homepage:"https://bit.cloud/teambit/harmony/cli",exported:!0};function r(){const e=a(o(41594));return r=function(){return e},e}function a(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0}),t.Logo=void 0,r.__bit_component=n,a.__bit_component=n;const i=()=>r().default.createElement("div",{style:{height:"100%",display:"flex",justifyContent:"center"}},r().default.createElement("img",{style:{width:70},src:"https://static.bit.dev/extensions-icons/cli.svg"}));i.__bit_component=n,t.Logo=i},41594:e=>{e.exports=React}},t={};function o(n){var r=t[n];if(void 0!==r)return r.exports;var a=t[n]={exports:{}};return e[n](a,a.exports,o),a.exports}o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var n={};o.r(n),o.d(n,{compositions:()=>u,compositions_metadata:()=>y,overview:()=>f});var r={};o.r(r),o.d(r,{default:()=>p});var a=o(61113);o(41594);const i=MdxJsReact,s=TeambitMdxUiMdxScopeContext;var c=["components"];function d(){return d=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var o=arguments[t];for(var n in o)({}).hasOwnProperty.call(o,n)&&(e[n]=o[n])}return e},d.apply(null,arguments)}var l={},m="wrapper";function p(e){var t=e.components,o=function(e,t){if(null==e)return{};var o,n,r=function(e,t){if(null==e)return{};var o={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;o[n]=e[n]}return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n<a.length;n++)o=a[n],t.indexOf(o)>=0||{}.propertyIsEnumerable.call(e,o)&&(r[o]=e[o])}return r}(e,c);return(0,i.mdx)(m,d({},l,o,{components:t,mdxType:"MDXLayout"}),(0,i.mdx)(s.MDXScopeProvider,{components:{},mdxType:"MDXScopeProvider"},(0,i.mdx)("p",null,"CLI Aspect manages the commands in the CLI. New commands are registered to this aspect with the necessary data such as, command-name, description and flags. Parsing the args from the CLI is done by Commander package."),(0,i.mdx)("h2",null,"Features"),(0,i.mdx)("ul",null,(0,i.mdx)("li",{parentName:"ul"},"Allow to register new commands"),(0,i.mdx)("li",{parentName:"ul"},"Use commander commands."),(0,i.mdx)("li",{parentName:"ul"},"Render to stdout as string or as a React component by Ink."))))}p.isMDXComponent=!0;const u=[a],f=[r],y={compositions:[{displayName:"Logo",identifier:"Logo"}]};return n})()));
|
package/artifacts/schema.json
CHANGED
|
@@ -986,6 +986,182 @@
|
|
|
986
986
|
"location": {
|
|
987
987
|
"filePath": "index.ts",
|
|
988
988
|
"line": 4,
|
|
989
|
+
"character": 10
|
|
990
|
+
},
|
|
991
|
+
"name": "handleUnhandledRejection",
|
|
992
|
+
"exportNode": {
|
|
993
|
+
"__schema": "FunctionLikeSchema",
|
|
994
|
+
"location": {
|
|
995
|
+
"filePath": "handle-errors.ts",
|
|
996
|
+
"line": 20,
|
|
997
|
+
"character": 1
|
|
998
|
+
},
|
|
999
|
+
"signature": "function handleUnhandledRejection(err: Error | null | undefined | {}): Promise<void>",
|
|
1000
|
+
"name": "handleUnhandledRejection",
|
|
1001
|
+
"params": [
|
|
1002
|
+
{
|
|
1003
|
+
"__schema": "ParameterSchema",
|
|
1004
|
+
"location": {
|
|
1005
|
+
"filePath": "handle-errors.ts",
|
|
1006
|
+
"line": 20,
|
|
1007
|
+
"character": 48
|
|
1008
|
+
},
|
|
1009
|
+
"name": "err",
|
|
1010
|
+
"type": {
|
|
1011
|
+
"__schema": "TypeUnionSchema",
|
|
1012
|
+
"location": {
|
|
1013
|
+
"filePath": "handle-errors.ts",
|
|
1014
|
+
"line": 20,
|
|
1015
|
+
"character": 53
|
|
1016
|
+
},
|
|
1017
|
+
"types": [
|
|
1018
|
+
{
|
|
1019
|
+
"__schema": "TypeRefSchema",
|
|
1020
|
+
"location": {
|
|
1021
|
+
"filePath": "handle-errors.ts",
|
|
1022
|
+
"line": 20,
|
|
1023
|
+
"character": 53
|
|
1024
|
+
},
|
|
1025
|
+
"name": "Error"
|
|
1026
|
+
},
|
|
1027
|
+
{
|
|
1028
|
+
"__schema": "LiteralTypeSchema",
|
|
1029
|
+
"location": {
|
|
1030
|
+
"filePath": "handle-errors.ts",
|
|
1031
|
+
"line": 20,
|
|
1032
|
+
"character": 61
|
|
1033
|
+
},
|
|
1034
|
+
"name": "null"
|
|
1035
|
+
},
|
|
1036
|
+
{
|
|
1037
|
+
"__schema": "KeywordTypeSchema",
|
|
1038
|
+
"location": {
|
|
1039
|
+
"filePath": "handle-errors.ts",
|
|
1040
|
+
"line": 20,
|
|
1041
|
+
"character": 68
|
|
1042
|
+
},
|
|
1043
|
+
"name": "undefined"
|
|
1044
|
+
},
|
|
1045
|
+
{
|
|
1046
|
+
"__schema": "TypeLiteralSchema",
|
|
1047
|
+
"location": {
|
|
1048
|
+
"filePath": "handle-errors.ts",
|
|
1049
|
+
"line": 20,
|
|
1050
|
+
"character": 80
|
|
1051
|
+
},
|
|
1052
|
+
"members": []
|
|
1053
|
+
}
|
|
1054
|
+
]
|
|
1055
|
+
},
|
|
1056
|
+
"isOptional": false,
|
|
1057
|
+
"isSpread": false
|
|
1058
|
+
}
|
|
1059
|
+
],
|
|
1060
|
+
"returnType": {
|
|
1061
|
+
"__schema": "InferenceTypeSchema",
|
|
1062
|
+
"location": {
|
|
1063
|
+
"filePath": "handle-errors.ts",
|
|
1064
|
+
"line": 20,
|
|
1065
|
+
"character": 1
|
|
1066
|
+
},
|
|
1067
|
+
"type": "Promise<void>"
|
|
1068
|
+
},
|
|
1069
|
+
"modifiers": [
|
|
1070
|
+
"export",
|
|
1071
|
+
"async"
|
|
1072
|
+
]
|
|
1073
|
+
}
|
|
1074
|
+
},
|
|
1075
|
+
{
|
|
1076
|
+
"__schema": "ExportSchema",
|
|
1077
|
+
"location": {
|
|
1078
|
+
"filePath": "index.ts",
|
|
1079
|
+
"line": 4,
|
|
1080
|
+
"character": 36
|
|
1081
|
+
},
|
|
1082
|
+
"name": "handleErrorAndExit",
|
|
1083
|
+
"exportNode": {
|
|
1084
|
+
"__schema": "FunctionLikeSchema",
|
|
1085
|
+
"location": {
|
|
1086
|
+
"filePath": "handle-errors.ts",
|
|
1087
|
+
"line": 5,
|
|
1088
|
+
"character": 1
|
|
1089
|
+
},
|
|
1090
|
+
"signature": "function handleErrorAndExit(err: Error, commandName: string): Promise<void>",
|
|
1091
|
+
"name": "handleErrorAndExit",
|
|
1092
|
+
"params": [
|
|
1093
|
+
{
|
|
1094
|
+
"__schema": "ParameterSchema",
|
|
1095
|
+
"location": {
|
|
1096
|
+
"filePath": "handle-errors.ts",
|
|
1097
|
+
"line": 5,
|
|
1098
|
+
"character": 42
|
|
1099
|
+
},
|
|
1100
|
+
"name": "err",
|
|
1101
|
+
"type": {
|
|
1102
|
+
"__schema": "TypeRefSchema",
|
|
1103
|
+
"location": {
|
|
1104
|
+
"filePath": "handle-errors.ts",
|
|
1105
|
+
"line": 5,
|
|
1106
|
+
"character": 47
|
|
1107
|
+
},
|
|
1108
|
+
"name": "Error"
|
|
1109
|
+
},
|
|
1110
|
+
"isOptional": false,
|
|
1111
|
+
"isSpread": false
|
|
1112
|
+
},
|
|
1113
|
+
{
|
|
1114
|
+
"__schema": "ParameterSchema",
|
|
1115
|
+
"location": {
|
|
1116
|
+
"filePath": "handle-errors.ts",
|
|
1117
|
+
"line": 5,
|
|
1118
|
+
"character": 54
|
|
1119
|
+
},
|
|
1120
|
+
"name": "commandName",
|
|
1121
|
+
"type": {
|
|
1122
|
+
"__schema": "KeywordTypeSchema",
|
|
1123
|
+
"location": {
|
|
1124
|
+
"filePath": "handle-errors.ts",
|
|
1125
|
+
"line": 5,
|
|
1126
|
+
"character": 67
|
|
1127
|
+
},
|
|
1128
|
+
"name": "string"
|
|
1129
|
+
},
|
|
1130
|
+
"isOptional": false,
|
|
1131
|
+
"isSpread": false
|
|
1132
|
+
}
|
|
1133
|
+
],
|
|
1134
|
+
"returnType": {
|
|
1135
|
+
"__schema": "TypeRefSchema",
|
|
1136
|
+
"location": {
|
|
1137
|
+
"filePath": "handle-errors.ts",
|
|
1138
|
+
"line": 5,
|
|
1139
|
+
"character": 76
|
|
1140
|
+
},
|
|
1141
|
+
"name": "Promise",
|
|
1142
|
+
"typeArgs": [
|
|
1143
|
+
{
|
|
1144
|
+
"__schema": "KeywordTypeSchema",
|
|
1145
|
+
"location": {
|
|
1146
|
+
"filePath": "handle-errors.ts",
|
|
1147
|
+
"line": 5,
|
|
1148
|
+
"character": 84
|
|
1149
|
+
},
|
|
1150
|
+
"name": "void"
|
|
1151
|
+
}
|
|
1152
|
+
]
|
|
1153
|
+
},
|
|
1154
|
+
"modifiers": [
|
|
1155
|
+
"export",
|
|
1156
|
+
"async"
|
|
1157
|
+
]
|
|
1158
|
+
}
|
|
1159
|
+
},
|
|
1160
|
+
{
|
|
1161
|
+
"__schema": "ExportSchema",
|
|
1162
|
+
"location": {
|
|
1163
|
+
"filePath": "index.ts",
|
|
1164
|
+
"line": 5,
|
|
989
1165
|
"character": 15
|
|
990
1166
|
},
|
|
991
1167
|
"name": "Command",
|
|
@@ -993,7 +1169,7 @@
|
|
|
993
1169
|
"__schema": "TypeRefSchema",
|
|
994
1170
|
"location": {
|
|
995
1171
|
"filePath": "index.ts",
|
|
996
|
-
"line":
|
|
1172
|
+
"line": 5,
|
|
997
1173
|
"character": 15
|
|
998
1174
|
},
|
|
999
1175
|
"name": "Command",
|
|
@@ -1004,7 +1180,7 @@
|
|
|
1004
1180
|
"__schema": "ExportSchema",
|
|
1005
1181
|
"location": {
|
|
1006
1182
|
"filePath": "index.ts",
|
|
1007
|
-
"line":
|
|
1183
|
+
"line": 5,
|
|
1008
1184
|
"character": 24
|
|
1009
1185
|
},
|
|
1010
1186
|
"name": "CLIArgs",
|
|
@@ -1012,7 +1188,7 @@
|
|
|
1012
1188
|
"__schema": "TypeRefSchema",
|
|
1013
1189
|
"location": {
|
|
1014
1190
|
"filePath": "index.ts",
|
|
1015
|
-
"line":
|
|
1191
|
+
"line": 5,
|
|
1016
1192
|
"character": 24
|
|
1017
1193
|
},
|
|
1018
1194
|
"name": "CLIArgs",
|
|
@@ -1023,7 +1199,7 @@
|
|
|
1023
1199
|
"__schema": "ExportSchema",
|
|
1024
1200
|
"location": {
|
|
1025
1201
|
"filePath": "index.ts",
|
|
1026
|
-
"line":
|
|
1202
|
+
"line": 5,
|
|
1027
1203
|
"character": 33
|
|
1028
1204
|
},
|
|
1029
1205
|
"name": "Flags",
|
|
@@ -1031,7 +1207,7 @@
|
|
|
1031
1207
|
"__schema": "TypeRefSchema",
|
|
1032
1208
|
"location": {
|
|
1033
1209
|
"filePath": "index.ts",
|
|
1034
|
-
"line":
|
|
1210
|
+
"line": 5,
|
|
1035
1211
|
"character": 33
|
|
1036
1212
|
},
|
|
1037
1213
|
"name": "Flags",
|
|
@@ -1042,7 +1218,7 @@
|
|
|
1042
1218
|
"__schema": "ExportSchema",
|
|
1043
1219
|
"location": {
|
|
1044
1220
|
"filePath": "index.ts",
|
|
1045
|
-
"line":
|
|
1221
|
+
"line": 5,
|
|
1046
1222
|
"character": 40
|
|
1047
1223
|
},
|
|
1048
1224
|
"name": "GenericObject",
|
|
@@ -1050,7 +1226,7 @@
|
|
|
1050
1226
|
"__schema": "TypeRefSchema",
|
|
1051
1227
|
"location": {
|
|
1052
1228
|
"filePath": "index.ts",
|
|
1053
|
-
"line":
|
|
1229
|
+
"line": 5,
|
|
1054
1230
|
"character": 40
|
|
1055
1231
|
},
|
|
1056
1232
|
"name": "GenericObject",
|
|
@@ -1061,7 +1237,7 @@
|
|
|
1061
1237
|
"__schema": "ExportSchema",
|
|
1062
1238
|
"location": {
|
|
1063
1239
|
"filePath": "index.ts",
|
|
1064
|
-
"line":
|
|
1240
|
+
"line": 5,
|
|
1065
1241
|
"character": 55
|
|
1066
1242
|
},
|
|
1067
1243
|
"name": "CommandOptions",
|
|
@@ -1069,7 +1245,7 @@
|
|
|
1069
1245
|
"__schema": "TypeRefSchema",
|
|
1070
1246
|
"location": {
|
|
1071
1247
|
"filePath": "index.ts",
|
|
1072
|
-
"line":
|
|
1248
|
+
"line": 5,
|
|
1073
1249
|
"character": 55
|
|
1074
1250
|
},
|
|
1075
1251
|
"name": "CommandOptions",
|
|
@@ -1179,7 +1355,7 @@
|
|
|
1179
1355
|
"_legacy": {
|
|
1180
1356
|
"scope": "teambit.harmony",
|
|
1181
1357
|
"name": "cli",
|
|
1182
|
-
"version": "0.0.
|
|
1358
|
+
"version": "0.0.901"
|
|
1183
1359
|
},
|
|
1184
1360
|
"_scope": "teambit.harmony"
|
|
1185
1361
|
}
|
|
@@ -1193,7 +1369,7 @@
|
|
|
1193
1369
|
"__schema": "ExportSchema",
|
|
1194
1370
|
"location": {
|
|
1195
1371
|
"filePath": "index.ts",
|
|
1196
|
-
"line":
|
|
1372
|
+
"line": 8,
|
|
1197
1373
|
"character": 23
|
|
1198
1374
|
},
|
|
1199
1375
|
"name": "CLIAspect",
|
|
@@ -1229,7 +1405,7 @@
|
|
|
1229
1405
|
"__schema": "ExportSchema",
|
|
1230
1406
|
"location": {
|
|
1231
1407
|
"filePath": "index.ts",
|
|
1232
|
-
"line":
|
|
1408
|
+
"line": 8,
|
|
1233
1409
|
"character": 32
|
|
1234
1410
|
},
|
|
1235
1411
|
"name": "MainRuntime",
|
|
@@ -1264,7 +1440,7 @@
|
|
|
1264
1440
|
"__schema": "ExportSchema",
|
|
1265
1441
|
"location": {
|
|
1266
1442
|
"filePath": "index.ts",
|
|
1267
|
-
"line":
|
|
1443
|
+
"line": 8,
|
|
1268
1444
|
"character": 45
|
|
1269
1445
|
},
|
|
1270
1446
|
"name": "CLIAspect",
|
|
@@ -2775,7 +2951,7 @@
|
|
|
2775
2951
|
"componentId": {
|
|
2776
2952
|
"scope": "teambit.harmony",
|
|
2777
2953
|
"name": "cli",
|
|
2778
|
-
"version": "0.0.
|
|
2954
|
+
"version": "0.0.901"
|
|
2779
2955
|
},
|
|
2780
2956
|
"taggedModuleExports": []
|
|
2781
2957
|
}
|
package/dist/cli.cmd.js
CHANGED
|
@@ -12,7 +12,7 @@ function _logger() {
|
|
|
12
12
|
return data;
|
|
13
13
|
}
|
|
14
14
|
function _handleErrors() {
|
|
15
|
-
const data = require("
|
|
15
|
+
const data = require("./handle-errors");
|
|
16
16
|
_handleErrors = function () {
|
|
17
17
|
return data;
|
|
18
18
|
};
|
|
@@ -25,9 +25,9 @@ function _consumer() {
|
|
|
25
25
|
};
|
|
26
26
|
return data;
|
|
27
27
|
}
|
|
28
|
-
function
|
|
29
|
-
const data = require("@teambit/
|
|
30
|
-
|
|
28
|
+
function _bit() {
|
|
29
|
+
const data = require("@teambit/bit.get-bit-version");
|
|
30
|
+
_bit = function () {
|
|
31
31
|
return data;
|
|
32
32
|
};
|
|
33
33
|
return data;
|
|
@@ -73,7 +73,7 @@ class CliGenerateCmd {
|
|
|
73
73
|
}) {
|
|
74
74
|
if (docs) {
|
|
75
75
|
return `---
|
|
76
|
-
description: 'Bit command synopses. Bit version: ${(0,
|
|
76
|
+
description: 'Bit command synopses. Bit version: ${(0, _bit().getBitVersion)()}'
|
|
77
77
|
labels: ['cli', 'mdx', 'docs']
|
|
78
78
|
---
|
|
79
79
|
`;
|
package/dist/cli.cmd.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_logger","data","_interopRequireDefault","require","_handleErrors","_consumer","
|
|
1
|
+
{"version":3,"names":["_logger","data","_interopRequireDefault","require","_handleErrors","_consumer","_bit","_readline","_cliParser","_generateDocMd","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","CliGenerateCmd","constructor","cliMain","report","args","metadata","docs","getBitVersion","GenerateCommandsDoc","commands","generate","json","generateJson","exports","CliCmd","legacyLogger","isDaemon","rl","readline","createInterface","input","process","stdin","output","stdout","prompt","completer","line","cb","cliParser","CLIParser","groups","onCommandStartSlot","Promise","resolve","on","cmd","trim","split","parse","err","handleErrorAndExit","lineSplit","values","length","completeCommand","loadConsumerIfExist","then","consumer","comps","bitmapIdsFromCurrentLane","map","id","toStringWithoutVersion","filter","c","includes","catch","name","startsWith"],"sources":["cli.cmd.ts"],"sourcesContent":["// eslint-disable-next-line max-classes-per-file\nimport type { Command, CommandOptions } from '@teambit/legacy/dist/cli/command';\nimport legacyLogger from '@teambit/legacy/dist/logger/logger';\nimport { handleErrorAndExit } from './handle-errors';\nimport { loadConsumerIfExist } from '@teambit/legacy/dist/consumer';\nimport { getBitVersion } from '@teambit/bit.get-bit-version';\nimport readline from 'readline';\nimport { CLIParser } from './cli-parser';\nimport { CLIMain } from './cli.main.runtime';\nimport { GenerateCommandsDoc, GenerateOpts } from './generate-doc-md';\n\nexport class CliGenerateCmd implements Command {\n name = 'generate';\n description = 'generate an .md file with all commands details';\n alias = '';\n loader = false;\n group = 'general';\n options = [\n [\n '',\n 'metadata',\n 'metadata/front-matter to place at the top of the .md file, enter as an object e.g. --metadata.id=cli --metadata.title=commands',\n ],\n ['', 'docs', 'generate the cli-reference.docs.mdx file'],\n ['j', 'json', 'output the commands info as JSON'],\n ] as CommandOptions;\n\n constructor(private cliMain: CLIMain) {}\n\n async report(args, { metadata, docs }: GenerateOpts & { docs?: boolean }): Promise<string> {\n if (docs) {\n return `---\ndescription: 'Bit command synopses. Bit version: ${getBitVersion()}'\nlabels: ['cli', 'mdx', 'docs']\n---\n `;\n }\n return new GenerateCommandsDoc(this.cliMain.commands, { metadata }).generate();\n }\n\n async json() {\n return new GenerateCommandsDoc(this.cliMain.commands, {}).generateJson();\n }\n}\n\nexport class CliCmd implements Command {\n name = 'cli';\n description = 'EXPERIMENTAL. enters bit cli program and generates commands list';\n alias = '';\n commands: Command[] = [];\n loader = false;\n group = 'general';\n options = [] as CommandOptions;\n\n constructor(private cliMain: CLIMain) {}\n\n async report(): Promise<string> {\n legacyLogger.isDaemon = true;\n const rl = readline.createInterface({\n input: process.stdin,\n output: process.stdout,\n prompt: 'bit > ',\n completer: (line, cb) => completer(line, cb, this.cliMain),\n });\n\n const cliParser = new CLIParser(this.cliMain.commands, this.cliMain.groups, this.cliMain.onCommandStartSlot);\n\n rl.prompt();\n\n return new Promise((resolve) => {\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n rl.on('line', async (line) => {\n const cmd = line.trim().split(' ');\n try {\n await cliParser.parse(cmd);\n } catch (err: any) {\n await handleErrorAndExit(err, cmd[0]);\n }\n rl.prompt();\n }).on('close', () => {\n resolve('Have a great day!');\n });\n });\n }\n}\n\nfunction completer(line: string, cb: Function, cliMain: CLIMain) {\n const lineSplit = line.split(' ');\n let values: string[] = [];\n if (lineSplit.length <= 1) {\n values = completeCommand(line, cliMain);\n cb(null, [values, line]);\n }\n loadConsumerIfExist()\n .then((consumer) => {\n const comps = consumer?.bitmapIdsFromCurrentLane.map((id) => id.toStringWithoutVersion()) || [];\n values = comps.filter((c) => c.includes(lineSplit[1]));\n // eslint-disable-next-line promise/no-callback-in-promise\n cb(null, [values, line]);\n })\n .catch((err) => {\n // eslint-disable-next-line promise/no-callback-in-promise\n cb(err, [[], line]);\n });\n}\n\nfunction completeCommand(line: string, cliMain: CLIMain): string[] {\n const commands = cliMain.commands.filter((cmd) => cmd.name.startsWith(line));\n return commands.map((c) => c.name).map((name) => name.split(' ')[0]);\n}\n"],"mappings":"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","ignoreList":[]}
|
package/dist/command-runner.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_logger","data","_interopRequireWildcard","require","_loader","_interopRequireDefault","_handleErrors","_constants","_globalFlags","_legacy","_pMapSeries","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_defineProperty","_toPropertyKey","value","enumerable","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","CommandRunner","constructor","command","args","flags","onCommandStartSlot","commandName","parseCommandName","name","runCommand","bootstrapCommand","invokeOnCommandStart","determineConsoleWritingDuringCommand","json","runJsonHandler","report","runReportHandler","wait","runWaitHandler","err","handleErrorAndExit","Error","Analytics","init","logger","info","token","TOKEN_FLAG_NAME","globalFlags","toString","funcs","values","pMapSeries","onCommandStart","result","code","writeAndExit","JSON","stringify","loader","off","exitCode","shouldDisableLoader","on","start","shouldWriteToConsole","process","stdout","write","exitAfterFlush","exports","split"],"sources":["command-runner.ts"],"sourcesContent":["import logger, { shouldDisableLoader } from '@teambit/legacy/dist/logger/logger';\nimport { CLIArgs, Command, Flags } from '@teambit/legacy/dist/cli/command';\nimport loader from '@teambit/legacy/dist/cli/loader';\nimport { handleErrorAndExit } from '@teambit/legacy/dist/cli/handle-errors';\nimport { TOKEN_FLAG_NAME } from '@teambit/legacy/dist/constants';\nimport globalFlags from '@teambit/legacy/dist/cli/global-flags';\nimport { Analytics } from '@teambit/legacy.analytics';\nimport { OnCommandStartSlot } from './cli.main.runtime';\nimport pMapSeries from 'p-map-series';\n\nexport class CommandRunner {\n private commandName: string;\n constructor(\n private command: Command,\n private args: CLIArgs,\n private flags: Flags,\n private onCommandStartSlot: OnCommandStartSlot\n ) {\n this.commandName = parseCommandName(this.command.name);\n }\n\n /**\n * run command using one of the handler, \"json\"/\"report\"/\"render\". once done, exit the process.\n */\n async runCommand() {\n try {\n this.bootstrapCommand();\n await this.invokeOnCommandStart();\n this.determineConsoleWritingDuringCommand();\n if (this.flags.json) {\n return await this.runJsonHandler();\n }\n if (this.command.report) {\n return await this.runReportHandler();\n }\n if (this.command.wait) {\n return await this.runWaitHandler();\n }\n } catch (err: any) {\n return handleErrorAndExit(err, this.commandName);\n }\n\n throw new Error(`command \"${this.commandName}\" doesn't implement \"render\" nor \"report\" nor \"wait\" methods`);\n }\n\n private bootstrapCommand() {\n Analytics.init(this.commandName, this.flags, this.args);\n logger.info(`[*] started a new command: \"${this.commandName}\" with the following data:`, {\n args: this.args,\n flags: this.flags,\n });\n const token = this.flags[TOKEN_FLAG_NAME];\n if (token) {\n globalFlags.token = token.toString();\n }\n }\n\n private async invokeOnCommandStart() {\n const funcs = this.onCommandStartSlot.values();\n await pMapSeries(funcs, (onCommandStart) => onCommandStart(this.commandName, this.args, this.flags));\n }\n\n /**\n * this works for both, Harmony commands and Legacy commands (the legacy-command-adapter\n * implements json() method)\n */\n private async runJsonHandler() {\n if (!this.flags.json) return null;\n if (!this.command.json) throw new Error(`command \"${this.commandName}\" doesn't implement \"json\" method`);\n const result = await this.command.json(this.args, this.flags);\n const code = result.code || 0;\n const data = result.data || result;\n return this.writeAndExit(JSON.stringify(data, null, 2), code);\n }\n\n private async runReportHandler() {\n if (!this.command.report) throw new Error('runReportHandler expects command.report to be implemented');\n const result = await this.command.report(this.args, this.flags);\n loader.off();\n const data = typeof result === 'string' ? result : result.data;\n const exitCode = typeof result === 'string' ? 0 : result.code;\n return this.writeAndExit(`${data}\\n`, exitCode);\n }\n\n private async runWaitHandler() {\n if (!this.command.wait) throw new Error('runReportHandler expects command.wait to be implemented');\n await this.command.wait(this.args, this.flags);\n }\n\n /**\n * the loader and logger.console write output to the console during the command execution.\n * for internals commands, such as, _put, _fetch, the command.loader = false.\n */\n private determineConsoleWritingDuringCommand() {\n if (this.command.loader && !this.flags.json && !this.flags['get-yargs-completions'] && !shouldDisableLoader) {\n loader.on();\n loader.start(`running command \"${this.commandName}\"...`);\n logger.shouldWriteToConsole = true;\n } else {\n loader.off();\n logger.shouldWriteToConsole = false;\n }\n }\n\n private async writeAndExit(data: string, exitCode: number) {\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n return process.stdout.write(data, async () => logger.exitAfterFlush(exitCode, this.commandName, data));\n }\n}\n\nexport function parseCommandName(commandName: string): string {\n if (!commandName) return '';\n return commandName.split(' ')[0];\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_logger","data","_interopRequireWildcard","require","_loader","_interopRequireDefault","_handleErrors","_constants","_globalFlags","_legacy","_pMapSeries","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_defineProperty","_toPropertyKey","value","enumerable","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","CommandRunner","constructor","command","args","flags","onCommandStartSlot","commandName","parseCommandName","name","runCommand","bootstrapCommand","invokeOnCommandStart","determineConsoleWritingDuringCommand","json","runJsonHandler","report","runReportHandler","wait","runWaitHandler","err","handleErrorAndExit","Error","Analytics","init","logger","info","token","TOKEN_FLAG_NAME","globalFlags","toString","funcs","values","pMapSeries","onCommandStart","result","code","writeAndExit","JSON","stringify","loader","off","exitCode","shouldDisableLoader","on","start","shouldWriteToConsole","process","stdout","write","exitAfterFlush","exports","split"],"sources":["command-runner.ts"],"sourcesContent":["import logger, { shouldDisableLoader } from '@teambit/legacy/dist/logger/logger';\nimport { CLIArgs, Command, Flags } from '@teambit/legacy/dist/cli/command';\nimport loader from '@teambit/legacy/dist/cli/loader';\nimport { handleErrorAndExit } from './handle-errors';\nimport { TOKEN_FLAG_NAME } from '@teambit/legacy/dist/constants';\nimport globalFlags from '@teambit/legacy/dist/cli/global-flags';\nimport { Analytics } from '@teambit/legacy.analytics';\nimport { OnCommandStartSlot } from './cli.main.runtime';\nimport pMapSeries from 'p-map-series';\n\nexport class CommandRunner {\n private commandName: string;\n constructor(\n private command: Command,\n private args: CLIArgs,\n private flags: Flags,\n private onCommandStartSlot: OnCommandStartSlot\n ) {\n this.commandName = parseCommandName(this.command.name);\n }\n\n /**\n * run command using one of the handler, \"json\"/\"report\"/\"render\". once done, exit the process.\n */\n async runCommand() {\n try {\n this.bootstrapCommand();\n await this.invokeOnCommandStart();\n this.determineConsoleWritingDuringCommand();\n if (this.flags.json) {\n return await this.runJsonHandler();\n }\n if (this.command.report) {\n return await this.runReportHandler();\n }\n if (this.command.wait) {\n return await this.runWaitHandler();\n }\n } catch (err: any) {\n return handleErrorAndExit(err, this.commandName);\n }\n\n throw new Error(`command \"${this.commandName}\" doesn't implement \"render\" nor \"report\" nor \"wait\" methods`);\n }\n\n private bootstrapCommand() {\n Analytics.init(this.commandName, this.flags, this.args);\n logger.info(`[*] started a new command: \"${this.commandName}\" with the following data:`, {\n args: this.args,\n flags: this.flags,\n });\n const token = this.flags[TOKEN_FLAG_NAME];\n if (token) {\n globalFlags.token = token.toString();\n }\n }\n\n private async invokeOnCommandStart() {\n const funcs = this.onCommandStartSlot.values();\n await pMapSeries(funcs, (onCommandStart) => onCommandStart(this.commandName, this.args, this.flags));\n }\n\n /**\n * this works for both, Harmony commands and Legacy commands (the legacy-command-adapter\n * implements json() method)\n */\n private async runJsonHandler() {\n if (!this.flags.json) return null;\n if (!this.command.json) throw new Error(`command \"${this.commandName}\" doesn't implement \"json\" method`);\n const result = await this.command.json(this.args, this.flags);\n const code = result.code || 0;\n const data = result.data || result;\n return this.writeAndExit(JSON.stringify(data, null, 2), code);\n }\n\n private async runReportHandler() {\n if (!this.command.report) throw new Error('runReportHandler expects command.report to be implemented');\n const result = await this.command.report(this.args, this.flags);\n loader.off();\n const data = typeof result === 'string' ? result : result.data;\n const exitCode = typeof result === 'string' ? 0 : result.code;\n return this.writeAndExit(`${data}\\n`, exitCode);\n }\n\n private async runWaitHandler() {\n if (!this.command.wait) throw new Error('runReportHandler expects command.wait to be implemented');\n await this.command.wait(this.args, this.flags);\n }\n\n /**\n * the loader and logger.console write output to the console during the command execution.\n * for internals commands, such as, _put, _fetch, the command.loader = false.\n */\n private determineConsoleWritingDuringCommand() {\n if (this.command.loader && !this.flags.json && !this.flags['get-yargs-completions'] && !shouldDisableLoader) {\n loader.on();\n loader.start(`running command \"${this.commandName}\"...`);\n logger.shouldWriteToConsole = true;\n } else {\n loader.off();\n logger.shouldWriteToConsole = false;\n }\n }\n\n private async writeAndExit(data: string, exitCode: number) {\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n return process.stdout.write(data, async () => logger.exitAfterFlush(exitCode, this.commandName, data));\n }\n}\n\nexport function parseCommandName(commandName: string): string {\n if (!commandName) return '';\n return commandName.split(' ')[0];\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.handleErrorAndExit = handleErrorAndExit;
|
|
7
|
+
exports.handleUnhandledRejection = handleUnhandledRejection;
|
|
8
|
+
function _logger() {
|
|
9
|
+
const data = _interopRequireDefault(require("@teambit/legacy/dist/logger/logger"));
|
|
10
|
+
_logger = function () {
|
|
11
|
+
return data;
|
|
12
|
+
};
|
|
13
|
+
return data;
|
|
14
|
+
}
|
|
15
|
+
function _defaultErrorHandler() {
|
|
16
|
+
const data = _interopRequireDefault(require("@teambit/legacy/dist/cli/default-error-handler"));
|
|
17
|
+
_defaultErrorHandler = function () {
|
|
18
|
+
return data;
|
|
19
|
+
};
|
|
20
|
+
return data;
|
|
21
|
+
}
|
|
22
|
+
function _loader() {
|
|
23
|
+
const data = _interopRequireDefault(require("@teambit/legacy/dist/cli/loader"));
|
|
24
|
+
_loader = function () {
|
|
25
|
+
return data;
|
|
26
|
+
};
|
|
27
|
+
return data;
|
|
28
|
+
}
|
|
29
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
30
|
+
async function handleErrorAndExit(err, commandName) {
|
|
31
|
+
try {
|
|
32
|
+
_loader().default.off();
|
|
33
|
+
_logger().default.error(`got an error from command ${commandName}: ${err}`, err);
|
|
34
|
+
const {
|
|
35
|
+
message
|
|
36
|
+
} = (0, _defaultErrorHandler().default)(err);
|
|
37
|
+
await logErrAndExit(message, commandName, err);
|
|
38
|
+
} catch (e) {
|
|
39
|
+
// eslint-disable-next-line no-console
|
|
40
|
+
console.error('failed to log the error properly, failure error', e);
|
|
41
|
+
// eslint-disable-next-line no-console
|
|
42
|
+
console.error('failed to log the error properly, original error', err);
|
|
43
|
+
process.exit(1);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
async function handleUnhandledRejection(err) {
|
|
47
|
+
// eslint-disable-next-line no-console
|
|
48
|
+
console.error('** unhandled rejection found, please make sure the promise is resolved/rejected correctly! **');
|
|
49
|
+
if (err instanceof Error) {
|
|
50
|
+
return handleErrorAndExit(err, process.argv[2]);
|
|
51
|
+
}
|
|
52
|
+
console.error(err); // eslint-disable-line
|
|
53
|
+
return handleErrorAndExit(new Error(`unhandledRejections found. err ${err}`), process.argv[2]);
|
|
54
|
+
}
|
|
55
|
+
async function logErrAndExit(errMsg, commandName, errObj) {
|
|
56
|
+
if (!errMsg) throw new Error(`logErrAndExit expects to get either an Error or a string, got nothing`);
|
|
57
|
+
console.error(errMsg); // eslint-disable-line
|
|
58
|
+
// for CI, print the entire error with the stacktrace
|
|
59
|
+
if (process.env.CI) console.error(errObj); // eslint-disable-line
|
|
60
|
+
await _logger().default.exitAfterFlush(1, commandName, errMsg.toString());
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
//# sourceMappingURL=handle-errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_logger","data","_interopRequireDefault","require","_defaultErrorHandler","_loader","e","__esModule","default","handleErrorAndExit","err","commandName","loader","off","logger","error","message","defaultHandleError","logErrAndExit","console","process","exit","handleUnhandledRejection","Error","argv","errMsg","errObj","env","CI","exitAfterFlush","toString"],"sources":["handle-errors.ts"],"sourcesContent":["import logger from '@teambit/legacy/dist/logger/logger';\nimport defaultHandleError from '@teambit/legacy/dist/cli/default-error-handler';\nimport loader from '@teambit/legacy/dist/cli/loader';\n\nexport async function handleErrorAndExit(err: Error, commandName: string): Promise<void> {\n try {\n loader.off();\n logger.error(`got an error from command ${commandName}: ${err}`, err);\n const { message } = defaultHandleError(err);\n await logErrAndExit(message, commandName, err);\n } catch (e: any) {\n // eslint-disable-next-line no-console\n console.error('failed to log the error properly, failure error', e);\n // eslint-disable-next-line no-console\n console.error('failed to log the error properly, original error', err);\n process.exit(1);\n }\n}\n\nexport async function handleUnhandledRejection(err: Error | null | undefined | {}) {\n // eslint-disable-next-line no-console\n console.error('** unhandled rejection found, please make sure the promise is resolved/rejected correctly! **');\n if (err instanceof Error) {\n return handleErrorAndExit(err, process.argv[2]);\n }\n console.error(err); // eslint-disable-line\n return handleErrorAndExit(new Error(`unhandledRejections found. err ${err}`), process.argv[2]);\n}\n\nasync function logErrAndExit(errMsg: Error | string, commandName: string, errObj: Error) {\n if (!errMsg) throw new Error(`logErrAndExit expects to get either an Error or a string, got nothing`);\n console.error(errMsg); // eslint-disable-line\n // for CI, print the entire error with the stacktrace\n if (process.env.CI) console.error(errObj); // eslint-disable-line\n await logger.exitAfterFlush(1, commandName, errMsg.toString());\n}\n"],"mappings":";;;;;;;AAAA,SAAAA,QAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,OAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,qBAAA;EAAA,MAAAH,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAC,oBAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAI,QAAA;EAAA,MAAAJ,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAE,OAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAqD,SAAAC,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE9C,eAAeG,kBAAkBA,CAACC,GAAU,EAAEC,WAAmB,EAAiB;EACvF,IAAI;IACFC,iBAAM,CAACC,GAAG,CAAC,CAAC;IACZC,iBAAM,CAACC,KAAK,CAAC,6BAA6BJ,WAAW,KAAKD,GAAG,EAAE,EAAEA,GAAG,CAAC;IACrE,MAAM;MAAEM;IAAQ,CAAC,GAAG,IAAAC,8BAAkB,EAACP,GAAG,CAAC;IAC3C,MAAMQ,aAAa,CAACF,OAAO,EAAEL,WAAW,EAAED,GAAG,CAAC;EAChD,CAAC,CAAC,OAAOJ,CAAM,EAAE;IACf;IACAa,OAAO,CAACJ,KAAK,CAAC,iDAAiD,EAAET,CAAC,CAAC;IACnE;IACAa,OAAO,CAACJ,KAAK,CAAC,kDAAkD,EAAEL,GAAG,CAAC;IACtEU,OAAO,CAACC,IAAI,CAAC,CAAC,CAAC;EACjB;AACF;AAEO,eAAeC,wBAAwBA,CAACZ,GAAkC,EAAE;EACjF;EACAS,OAAO,CAACJ,KAAK,CAAC,+FAA+F,CAAC;EAC9G,IAAIL,GAAG,YAAYa,KAAK,EAAE;IACxB,OAAOd,kBAAkB,CAACC,GAAG,EAAEU,OAAO,CAACI,IAAI,CAAC,CAAC,CAAC,CAAC;EACjD;EACAL,OAAO,CAACJ,KAAK,CAACL,GAAG,CAAC,CAAC,CAAC;EACpB,OAAOD,kBAAkB,CAAC,IAAIc,KAAK,CAAC,kCAAkCb,GAAG,EAAE,CAAC,EAAEU,OAAO,CAACI,IAAI,CAAC,CAAC,CAAC,CAAC;AAChG;AAEA,eAAeN,aAAaA,CAACO,MAAsB,EAAEd,WAAmB,EAAEe,MAAa,EAAE;EACvF,IAAI,CAACD,MAAM,EAAE,MAAM,IAAIF,KAAK,CAAC,uEAAuE,CAAC;EACrGJ,OAAO,CAACJ,KAAK,CAACU,MAAM,CAAC,CAAC,CAAC;EACvB;EACA,IAAIL,OAAO,CAACO,GAAG,CAACC,EAAE,EAAET,OAAO,CAACJ,KAAK,CAACW,MAAM,CAAC,CAAC,CAAC;EAC3C,MAAMZ,iBAAM,CAACe,cAAc,CAAC,CAAC,EAAElB,WAAW,EAAEc,MAAM,CAACK,QAAQ,CAAC,CAAC,CAAC;AAChE","ignoreList":[]}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { CLIAspect, MainRuntime } from './cli.aspect';
|
|
2
2
|
export type { CLIMain, CommandList, CommandsSlot } from './cli.main.runtime';
|
|
3
|
+
export { handleUnhandledRejection, handleErrorAndExit } from './handle-errors';
|
|
3
4
|
export type { Command, CLIArgs, Flags, GenericObject, CommandOptions } from '@teambit/legacy/dist/cli/command';
|
|
4
5
|
export * from './exceptions';
|
|
5
6
|
export { CLIAspect as default, MainRuntime, CLIAspect };
|
package/dist/index.js
CHANGED
|
@@ -5,7 +5,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
var _exportNames = {
|
|
7
7
|
CLIAspect: true,
|
|
8
|
-
MainRuntime: true
|
|
8
|
+
MainRuntime: true,
|
|
9
|
+
handleUnhandledRejection: true,
|
|
10
|
+
handleErrorAndExit: true
|
|
9
11
|
};
|
|
10
12
|
Object.defineProperty(exports, "CLIAspect", {
|
|
11
13
|
enumerable: true,
|
|
@@ -25,6 +27,18 @@ Object.defineProperty(exports, "default", {
|
|
|
25
27
|
return _cli().CLIAspect;
|
|
26
28
|
}
|
|
27
29
|
});
|
|
30
|
+
Object.defineProperty(exports, "handleErrorAndExit", {
|
|
31
|
+
enumerable: true,
|
|
32
|
+
get: function () {
|
|
33
|
+
return _handleErrors().handleErrorAndExit;
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
Object.defineProperty(exports, "handleUnhandledRejection", {
|
|
37
|
+
enumerable: true,
|
|
38
|
+
get: function () {
|
|
39
|
+
return _handleErrors().handleUnhandledRejection;
|
|
40
|
+
}
|
|
41
|
+
});
|
|
28
42
|
function _cli() {
|
|
29
43
|
const data = require("./cli.aspect");
|
|
30
44
|
_cli = function () {
|
|
@@ -32,6 +46,13 @@ function _cli() {
|
|
|
32
46
|
};
|
|
33
47
|
return data;
|
|
34
48
|
}
|
|
49
|
+
function _handleErrors() {
|
|
50
|
+
const data = require("./handle-errors");
|
|
51
|
+
_handleErrors = function () {
|
|
52
|
+
return data;
|
|
53
|
+
};
|
|
54
|
+
return data;
|
|
55
|
+
}
|
|
35
56
|
var _exceptions = require("./exceptions");
|
|
36
57
|
Object.keys(_exceptions).forEach(function (key) {
|
|
37
58
|
if (key === "default" || key === "__esModule") return;
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_cli","data","require","_exceptions","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get"],"sources":["index.ts"],"sourcesContent":["import { CLIAspect, MainRuntime } from './cli.aspect';\n\nexport type { CLIMain, CommandList, CommandsSlot } from './cli.main.runtime';\nexport type { Command, CLIArgs, Flags, GenericObject, CommandOptions } from '@teambit/legacy/dist/cli/command';\nexport * from './exceptions';\n\nexport { CLIAspect as default, MainRuntime, CLIAspect };\n"],"mappings":"
|
|
1
|
+
{"version":3,"names":["_cli","data","require","_handleErrors","_exceptions","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get"],"sources":["index.ts"],"sourcesContent":["import { CLIAspect, MainRuntime } from './cli.aspect';\n\nexport type { CLIMain, CommandList, CommandsSlot } from './cli.main.runtime';\nexport { handleUnhandledRejection, handleErrorAndExit } from './handle-errors';\nexport type { Command, CLIArgs, Flags, GenericObject, CommandOptions } from '@teambit/legacy/dist/cli/command';\nexport * from './exceptions';\n\nexport { CLIAspect as default, MainRuntime, CLIAspect };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAAA,KAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,IAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAGA,SAAAE,cAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,aAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,IAAAG,WAAA,GAAAF,OAAA;AAAAG,MAAA,CAAAC,IAAA,CAAAF,WAAA,EAAAG,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAJ,WAAA,CAAAI,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAZ,WAAA,CAAAI,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.harmony_cli@0.0.
|
|
2
|
-
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.harmony_cli@0.0.
|
|
1
|
+
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.harmony_cli@0.0.901/dist/cli.composition.js';
|
|
2
|
+
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.harmony_cli@0.0.901/dist/cli.docs.mdx';
|
|
3
3
|
|
|
4
4
|
export const compositions = [compositions_0];
|
|
5
5
|
export const overview = [overview_0];
|
package/dist/version.cmd.d.ts
CHANGED
package/dist/version.cmd.js
CHANGED
|
@@ -4,9 +4,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.VersionCmd = void 0;
|
|
7
|
-
function
|
|
8
|
-
const data = require("@teambit/
|
|
9
|
-
|
|
7
|
+
function _bit() {
|
|
8
|
+
const data = require("@teambit/bit.get-bit-version");
|
|
9
|
+
_bit = function () {
|
|
10
10
|
return data;
|
|
11
11
|
};
|
|
12
12
|
return data;
|
|
@@ -28,7 +28,7 @@ class VersionCmd {
|
|
|
28
28
|
return results.bit;
|
|
29
29
|
}
|
|
30
30
|
async json() {
|
|
31
|
-
const bit = (0,
|
|
31
|
+
const bit = (0, _bit().getBitVersion)();
|
|
32
32
|
return {
|
|
33
33
|
bit
|
|
34
34
|
};
|
package/dist/version.cmd.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["_bit","data","require","_defineProperty","e","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","VersionCmd","constructor","report","results","json","bit","getBitVersion","exports"],"sources":["version.cmd.ts"],"sourcesContent":["import type { CommandOptions, Command } from '@teambit/legacy/dist/cli/command';\nimport { getBitVersion } from '@teambit/bit.get-bit-version';\n\nexport class VersionCmd implements Command {\n name = 'version';\n description = 'shows bit version';\n alias = '';\n loader = false;\n group = 'general';\n options = [['j', 'json', 'return the version in json format']] as CommandOptions;\n\n async report() {\n const results = await this.json();\n return results.bit;\n }\n\n async json() {\n const bit = getBitVersion();\n return { bit };\n }\n}\n"],"mappings":";;;;;;AACA,SAAAA,KAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,IAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA6D,SAAAE,gBAAAC,CAAA,EAAAC,CAAA,EAAAC,CAAA,YAAAD,CAAA,GAAAE,cAAA,CAAAF,CAAA,MAAAD,CAAA,GAAAI,MAAA,CAAAC,cAAA,CAAAL,CAAA,EAAAC,CAAA,IAAAK,KAAA,EAAAJ,CAAA,EAAAK,UAAA,MAAAC,YAAA,MAAAC,QAAA,UAAAT,CAAA,CAAAC,CAAA,IAAAC,CAAA,EAAAF,CAAA;AAAA,SAAAG,eAAAD,CAAA,QAAAQ,CAAA,GAAAC,YAAA,CAAAT,CAAA,uCAAAQ,CAAA,GAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAC,aAAAT,CAAA,EAAAD,CAAA,2BAAAC,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAF,CAAA,GAAAE,CAAA,CAAAU,MAAA,CAAAC,WAAA,kBAAAb,CAAA,QAAAU,CAAA,GAAAV,CAAA,CAAAc,IAAA,CAAAZ,CAAA,EAAAD,CAAA,uCAAAS,CAAA,SAAAA,CAAA,YAAAK,SAAA,yEAAAd,CAAA,GAAAe,MAAA,GAAAC,MAAA,EAAAf,CAAA;AAEtD,MAAMgB,UAAU,CAAoB;EAAAC,YAAA;IAAApB,eAAA,eAClC,SAAS;IAAAA,eAAA,sBACF,mBAAmB;IAAAA,eAAA,gBACzB,EAAE;IAAAA,eAAA,iBACD,KAAK;IAAAA,eAAA,gBACN,SAAS;IAAAA,eAAA,kBACP,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,mCAAmC,CAAC,CAAC;EAAA;EAE9D,MAAMqB,MAAMA,CAAA,EAAG;IACb,MAAMC,OAAO,GAAG,MAAM,IAAI,CAACC,IAAI,CAAC,CAAC;IACjC,OAAOD,OAAO,CAACE,GAAG;EACpB;EAEA,MAAMD,IAAIA,CAAA,EAAG;IACX,MAAMC,GAAG,GAAG,IAAAC,oBAAa,EAAC,CAAC;IAC3B,OAAO;MAAED;IAAI,CAAC;EAChB;AACF;AAACE,OAAA,CAAAP,UAAA,GAAAA,UAAA","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@teambit/cli",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.901",
|
|
4
4
|
"homepage": "https://bit.cloud/teambit/harmony/cli",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"componentId": {
|
|
7
7
|
"scope": "teambit.harmony",
|
|
8
8
|
"name": "cli",
|
|
9
|
-
"version": "0.0.
|
|
9
|
+
"version": "0.0.901"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"chalk": "2.4.2",
|
|
@@ -17,9 +17,10 @@
|
|
|
17
17
|
"pad-right": "0.2.2",
|
|
18
18
|
"@teambit/harmony": "0.4.6",
|
|
19
19
|
"@teambit/bit-error": "0.0.404",
|
|
20
|
-
"@teambit/
|
|
21
|
-
"@teambit/
|
|
22
|
-
"@teambit/
|
|
20
|
+
"@teambit/bit.get-bit-version": "0.0.1",
|
|
21
|
+
"@teambit/host-initializer": "0.0.37",
|
|
22
|
+
"@teambit/logger": "0.0.994",
|
|
23
|
+
"@teambit/legacy.analytics": "0.0.6"
|
|
23
24
|
},
|
|
24
25
|
"devDependencies": {
|
|
25
26
|
"@types/didyoumean": "1.2.0",
|