@layerzerolabs/vm-tooling 0.0.60 → 0.0.62
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/dist/2AQAGKCU.cjs +39 -0
- package/dist/2AQAGKCU.cjs.map +1 -0
- package/dist/{M6YAIP2X.cjs → 37UR3RSN.cjs} +10 -10
- package/dist/{M6YAIP2X.cjs.map → 37UR3RSN.cjs.map} +1 -1
- package/dist/{CL6CDQMJ.js → 45K4IRAA.js} +5 -5
- package/dist/{CL6CDQMJ.js.map → 45K4IRAA.js.map} +1 -1
- package/dist/{IQXSRATS.cjs → 4SZ6P77Q.cjs} +30 -30
- package/dist/{IQXSRATS.cjs.map → 4SZ6P77Q.cjs.map} +1 -1
- package/dist/{NUB3VR3D.js → 5JYEGDVK.js} +4 -4
- package/dist/{NUB3VR3D.js.map → 5JYEGDVK.js.map} +1 -1
- package/dist/{IZVZ5TRG.js → 5QGJ7CFM.js} +5 -5
- package/dist/{IZVZ5TRG.js.map → 5QGJ7CFM.js.map} +1 -1
- package/dist/{VVTDADG7.cjs → 7WVEMAKW.cjs} +5 -5
- package/dist/{VVTDADG7.cjs.map → 7WVEMAKW.cjs.map} +1 -1
- package/dist/{VGCATKI5.cjs → AHQNBZE4.cjs} +5 -5
- package/dist/{VGCATKI5.cjs.map → AHQNBZE4.cjs.map} +1 -1
- package/dist/{4RWETOR3.cjs → AMF2EES3.cjs} +23 -23
- package/dist/{4RWETOR3.cjs.map → AMF2EES3.cjs.map} +1 -1
- package/dist/{OGU6CONG.js → BOOCAPHW.js} +5 -5
- package/dist/{OGU6CONG.js.map → BOOCAPHW.js.map} +1 -1
- package/dist/{BPGURM6D.js → CJNBA2MN.js} +6 -4
- package/dist/CJNBA2MN.js.map +1 -0
- package/dist/{72W2AKIC.js → CMSYZVLH.js} +3 -3
- package/dist/{72W2AKIC.js.map → CMSYZVLH.js.map} +1 -1
- package/dist/CYUSPBTH.cjs +8 -0
- package/dist/{YI6EL3AH.cjs.map → CYUSPBTH.cjs.map} +1 -1
- package/dist/{NNE5MIRH.cjs → DEL75SYN.cjs} +284 -284
- package/dist/{NNE5MIRH.cjs.map → DEL75SYN.cjs.map} +1 -1
- package/dist/DPCW4JIV.cjs +53 -0
- package/dist/DPCW4JIV.cjs.map +1 -0
- package/dist/{DK5YZCTB.cjs → EPPFFBGP.cjs} +13 -13
- package/dist/{DK5YZCTB.cjs.map → EPPFFBGP.cjs.map} +1 -1
- package/dist/{W7QMZBXR.cjs → F7OAIAEX.cjs} +26 -26
- package/dist/{W7QMZBXR.cjs.map → F7OAIAEX.cjs.map} +1 -1
- package/dist/{ZGTCJSBO.js → FAOU2ZJO.js} +3 -3
- package/dist/{ZGTCJSBO.js.map → FAOU2ZJO.js.map} +1 -1
- package/dist/{PSSBUABA.cjs → FI3AZBYE.cjs} +7 -7
- package/dist/{PSSBUABA.cjs.map → FI3AZBYE.cjs.map} +1 -1
- package/dist/FKPK53TD.cjs +8 -0
- package/dist/FKPK53TD.cjs.map +1 -0
- package/dist/{F46O4OAT.js → GQAEO3WU.js} +9 -5
- package/dist/GQAEO3WU.js.map +1 -0
- package/dist/GSHFVQRI.cjs +8 -0
- package/dist/{OOTZHKMN.cjs.map → GSHFVQRI.cjs.map} +1 -1
- package/dist/{QO6IEDLG.cjs → HMP4FGDB.cjs} +61 -61
- package/dist/{QO6IEDLG.cjs.map → HMP4FGDB.cjs.map} +1 -1
- package/dist/{2RWEJQEO.cjs → HN3U775J.cjs} +10 -10
- package/dist/{2RWEJQEO.cjs.map → HN3U775J.cjs.map} +1 -1
- package/dist/{4EYI4PYN.cjs → HSC5AWAD.cjs} +211 -211
- package/dist/{4EYI4PYN.cjs.map → HSC5AWAD.cjs.map} +1 -1
- package/dist/{BI33BCZD.js → HVBHNWI7.js} +3 -3
- package/dist/{BI33BCZD.js.map → HVBHNWI7.js.map} +1 -1
- package/dist/{W3N4CNDW.js → JEOLJJ6F.js} +4 -4
- package/dist/{W3N4CNDW.js.map → JEOLJJ6F.js.map} +1 -1
- package/dist/{BXO3RC75.cjs → JGLHYXTW.cjs} +17 -17
- package/dist/{BXO3RC75.cjs.map → JGLHYXTW.cjs.map} +1 -1
- package/dist/{HI4NXK4T.cjs → JLKKDVCL.cjs} +10 -4
- package/dist/JLKKDVCL.cjs.map +1 -0
- package/dist/{LUO6HP3P.cjs → KFOKN2M2.cjs} +62 -62
- package/dist/{LUO6HP3P.cjs.map → KFOKN2M2.cjs.map} +1 -1
- package/dist/{OSR73KYW.cjs → KONCDJAL.cjs} +18 -18
- package/dist/{OSR73KYW.cjs.map → KONCDJAL.cjs.map} +1 -1
- package/dist/{6SVY3NVF.cjs → L6RZSSWB.cjs} +22 -22
- package/dist/{6SVY3NVF.cjs.map → L6RZSSWB.cjs.map} +1 -1
- package/dist/M4PGJV5D.js +6 -0
- package/dist/M4PGJV5D.js.map +1 -0
- package/dist/MMIV5S36.js +51 -0
- package/dist/MMIV5S36.js.map +1 -0
- package/dist/{JGA7AJCX.js → NX66I36H.js} +8 -2
- package/dist/NX66I36H.js.map +1 -0
- package/dist/{FUZCR6WN.cjs → OT5L7ME6.cjs} +273 -273
- package/dist/{FUZCR6WN.cjs.map → OT5L7ME6.cjs.map} +1 -1
- package/dist/{NEQ3DTUV.cjs → OWTMHDOF.cjs} +16 -16
- package/dist/{NEQ3DTUV.cjs.map → OWTMHDOF.cjs.map} +1 -1
- package/dist/{4UZKQNSD.cjs → OZNFYXME.cjs} +20 -20
- package/dist/{4UZKQNSD.cjs.map → OZNFYXME.cjs.map} +1 -1
- package/dist/{OAYLBSRH.cjs → P5BPMTGP.cjs} +40 -40
- package/dist/{OAYLBSRH.cjs.map → P5BPMTGP.cjs.map} +1 -1
- package/dist/{64SMUTQJ.cjs → QYB5VPZE.cjs} +5 -5
- package/dist/{64SMUTQJ.cjs.map → QYB5VPZE.cjs.map} +1 -1
- package/dist/{LJR3ILZB.cjs → S5DRZSZW.cjs} +28 -24
- package/dist/S5DRZSZW.cjs.map +1 -0
- package/dist/{L5ENV2DK.cjs → SPOUVTPR.cjs} +56 -56
- package/dist/{L5ENV2DK.cjs.map → SPOUVTPR.cjs.map} +1 -1
- package/dist/{M5C4OTHX.js → TBDZQONT.js} +6 -6
- package/dist/{M5C4OTHX.js.map → TBDZQONT.js.map} +1 -1
- package/dist/{ABGH4Z56.cjs → TQMUPD75.cjs} +8 -8
- package/dist/{ABGH4Z56.cjs.map → TQMUPD75.cjs.map} +1 -1
- package/dist/{2X4NOJJL.js → U4OLGGKH.js} +5 -5
- package/dist/{2X4NOJJL.js.map → U4OLGGKH.js.map} +1 -1
- package/dist/{VO65XOWD.cjs → U7VZULNU.cjs} +2 -5
- package/dist/U7VZULNU.cjs.map +1 -0
- package/dist/{ZV7VZVS6.js → UHPHZ6AE.js} +3 -3
- package/dist/{ZV7VZVS6.js.map → UHPHZ6AE.js.map} +1 -1
- package/dist/{KS44PBXU.cjs → UN57VWAW.cjs} +438 -438
- package/dist/{KS44PBXU.cjs.map → UN57VWAW.cjs.map} +1 -1
- package/dist/{BVLAV47O.cjs → VZOUGVXS.cjs} +9 -9
- package/dist/{BVLAV47O.cjs.map → VZOUGVXS.cjs.map} +1 -1
- package/dist/{DPDVRYLI.cjs → WDSPHVPJ.cjs} +65 -65
- package/dist/{DPDVRYLI.cjs.map → WDSPHVPJ.cjs.map} +1 -1
- package/dist/{F2ZPATQF.cjs → WH45T4LS.cjs} +10 -10
- package/dist/{F2ZPATQF.cjs.map → WH45T4LS.cjs.map} +1 -1
- package/dist/{XOQZ3G2K.cjs → WHAPJZ3U.cjs} +34 -32
- package/dist/WHAPJZ3U.cjs.map +1 -0
- package/dist/{JWQN2QGP.cjs → Y5ZXTD76.cjs} +147 -147
- package/dist/{JWQN2QGP.cjs.map → Y5ZXTD76.cjs.map} +1 -1
- package/dist/YNMZEV5X.cjs +11 -0
- package/dist/{TC7EHVC2.cjs.map → YNMZEV5X.cjs.map} +1 -1
- package/dist/commands/starknet/build-typescript-sdk.cjs +13 -0
- package/dist/commands/starknet/build-typescript-sdk.cjs.map +1 -0
- package/dist/commands/starknet/build-typescript-sdk.d.ts +2 -0
- package/dist/commands/starknet/build-typescript-sdk.d.ts.map +1 -0
- package/dist/commands/starknet/build-typescript-sdk.js +4 -0
- package/dist/commands/starknet/build-typescript-sdk.js.map +1 -0
- package/dist/commands/starknet/index.cjs +14 -0
- package/dist/commands/starknet/index.cjs.map +1 -0
- package/dist/commands/starknet/index.d.ts +2 -0
- package/dist/commands/starknet/index.d.ts.map +1 -0
- package/dist/commands/starknet/index.js +5 -0
- package/dist/commands/starknet/index.js.map +1 -0
- package/dist/config/index.cjs +9 -9
- package/dist/config/index.js +2 -2
- package/dist/config/tools.cjs +4 -4
- package/dist/config/tools.d.ts.map +1 -1
- package/dist/config/tools.js +2 -2
- package/dist/config/version-matrices.cjs +3 -3
- package/dist/config/version-matrices.d.ts.map +1 -1
- package/dist/config/version-matrices.js +1 -1
- package/dist/core/compatibility.cjs +3 -3
- package/dist/core/index.cjs +14 -14
- package/dist/core/index.js +4 -4
- package/dist/core/lock.cjs +5 -5
- package/dist/core/lock.test.cjs +996 -996
- package/dist/core/tool-executor.cjs +9 -9
- package/dist/core/tool-executor.d.ts +1 -0
- package/dist/core/tool-executor.d.ts.map +1 -1
- package/dist/core/tool-executor.js +4 -4
- package/dist/core/version-resolver.cjs +8 -8
- package/dist/core/version-resolver.js +3 -3
- package/dist/display/formatters.cjs +5 -5
- package/dist/display/formatters.js +3 -3
- package/dist/display/index.cjs +9 -9
- package/dist/display/index.js +4 -4
- package/dist/display/version-display.cjs +7 -7
- package/dist/display/version-display.js +4 -4
- package/dist/index.cjs +28 -24
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +11 -7
- package/dist/index.js.map +1 -1
- package/dist/scripts/generate-github-matrix.cjs +298 -299
- package/dist/scripts/generate-github-matrix.cjs.map +1 -1
- package/dist/scripts/generate-github-matrix.js +9 -10
- package/dist/scripts/generate-github-matrix.js.map +1 -1
- package/dist/types/docker.cjs +2 -2
- package/dist/types/index.cjs +2 -2
- package/dist/types/tool.cjs +2 -2
- package/dist/types/version.cjs +2 -2
- package/dist/types/version.cjs.map +1 -1
- package/dist/types/version.d.ts +1 -0
- package/dist/types/version.d.ts.map +1 -1
- package/dist/types/version.js.map +1 -1
- package/dist/utils/docker.cjs +5 -5
- package/dist/utils/docker.js +2 -2
- package/dist/utils/error.cjs +3 -3
- package/dist/utils/finder.cjs +12 -12
- package/dist/utils/finder.js +2 -2
- package/dist/utils/version.cjs +7 -7
- package/dist/utils/version.js +2 -2
- package/dist/utils.cjs +6 -6
- package/dist/utils.js +2 -2
- package/package.json +6 -5
- package/dist/AY3IP22W.cjs +0 -39
- package/dist/AY3IP22W.cjs.map +0 -1
- package/dist/BPGURM6D.js.map +0 -1
- package/dist/F46O4OAT.js.map +0 -1
- package/dist/HI4NXK4T.cjs.map +0 -1
- package/dist/JGA7AJCX.js.map +0 -1
- package/dist/LJR3ILZB.cjs.map +0 -1
- package/dist/OOTZHKMN.cjs +0 -8
- package/dist/TC7EHVC2.cjs +0 -11
- package/dist/VO65XOWD.cjs.map +0 -1
- package/dist/XOQZ3G2K.cjs.map +0 -1
- package/dist/YI6EL3AH.cjs +0 -8
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
require('../
|
|
5
|
-
require('../
|
|
6
|
-
require('../
|
|
7
|
-
require('../
|
|
8
|
-
require('../
|
|
9
|
-
require('../
|
|
10
|
-
require('../
|
|
3
|
+
var S5DRZSZW_cjs = require('../S5DRZSZW.cjs');
|
|
4
|
+
require('../YNMZEV5X.cjs');
|
|
5
|
+
require('../L6RZSSWB.cjs');
|
|
6
|
+
require('../WHAPJZ3U.cjs');
|
|
7
|
+
require('../JLKKDVCL.cjs');
|
|
8
|
+
require('../QYB5VPZE.cjs');
|
|
9
|
+
require('../TQMUPD75.cjs');
|
|
10
|
+
require('../U7VZULNU.cjs');
|
|
11
11
|
|
|
12
12
|
|
|
13
13
|
|
|
14
14
|
Object.defineProperty(exports, "executeToolCommand", {
|
|
15
15
|
enumerable: true,
|
|
16
|
-
get: function () { return
|
|
16
|
+
get: function () { return S5DRZSZW_cjs.executeToolCommand; }
|
|
17
17
|
});
|
|
18
18
|
//# sourceMappingURL=tool-executor.cjs.map
|
|
19
19
|
//# sourceMappingURL=tool-executor.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-executor.d.ts","sourceRoot":"","sources":["../../src/core/tool-executor.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,mBAAmB,EAAW,aAAa,EAAE,MAAM,UAAU,CAAC;AA4D5E;;GAEG;AACH,wBAAsB,kBAAkB,CACpC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,EAAE;IACL,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,aAAa,EAAE,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,GAAG,EAAE,mBAAmB,EAAE,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"tool-executor.d.ts","sourceRoot":"","sources":["../../src/core/tool-executor.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,mBAAmB,EAAW,aAAa,EAAE,MAAM,UAAU,CAAC;AA4D5E;;GAEG;AACH,wBAAsB,kBAAkB,CACpC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,EAAE;IACL,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,aAAa,EAAE,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,GAAG,EAAE,mBAAmB,EAAE,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB,GACF,OAAO,CAAC,IAAI,CAAC,CA2Jf"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
export { executeToolCommand } from '../
|
|
1
|
+
export { executeToolCommand } from '../GQAEO3WU.js';
|
|
2
2
|
import '../IWNVWC3I.js';
|
|
3
|
-
import '../
|
|
4
|
-
import '../
|
|
5
|
-
import '../
|
|
3
|
+
import '../5JYEGDVK.js';
|
|
4
|
+
import '../CJNBA2MN.js';
|
|
5
|
+
import '../NX66I36H.js';
|
|
6
6
|
import '../PWDCAN6N.js';
|
|
7
7
|
import '../3PEVFTZ5.js';
|
|
8
8
|
import '../4RNWLMHM.js';
|
|
@@ -1,24 +1,24 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
require('../
|
|
5
|
-
require('../
|
|
6
|
-
require('../
|
|
7
|
-
require('../
|
|
3
|
+
var L6RZSSWB_cjs = require('../L6RZSSWB.cjs');
|
|
4
|
+
require('../WHAPJZ3U.cjs');
|
|
5
|
+
require('../JLKKDVCL.cjs');
|
|
6
|
+
require('../QYB5VPZE.cjs');
|
|
7
|
+
require('../U7VZULNU.cjs');
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
Object.defineProperty(exports, "extractUserVersions", {
|
|
12
12
|
enumerable: true,
|
|
13
|
-
get: function () { return
|
|
13
|
+
get: function () { return L6RZSSWB_cjs.extractUserVersions; }
|
|
14
14
|
});
|
|
15
15
|
Object.defineProperty(exports, "resolveToolVersion", {
|
|
16
16
|
enumerable: true,
|
|
17
|
-
get: function () { return
|
|
17
|
+
get: function () { return L6RZSSWB_cjs.resolveToolVersion; }
|
|
18
18
|
});
|
|
19
19
|
Object.defineProperty(exports, "resolveTypeVersions", {
|
|
20
20
|
enumerable: true,
|
|
21
|
-
get: function () { return
|
|
21
|
+
get: function () { return L6RZSSWB_cjs.resolveTypeVersions; }
|
|
22
22
|
});
|
|
23
23
|
//# sourceMappingURL=version-resolver.cjs.map
|
|
24
24
|
//# sourceMappingURL=version-resolver.cjs.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export { extractUserVersions, resolveToolVersion, resolveTypeVersions } from '../
|
|
2
|
-
import '../
|
|
3
|
-
import '../
|
|
1
|
+
export { extractUserVersions, resolveToolVersion, resolveTypeVersions } from '../5JYEGDVK.js';
|
|
2
|
+
import '../CJNBA2MN.js';
|
|
3
|
+
import '../NX66I36H.js';
|
|
4
4
|
import '../PWDCAN6N.js';
|
|
5
5
|
import '../4RNWLMHM.js';
|
|
6
6
|
//# sourceMappingURL=version-resolver.js.map
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
require('../
|
|
5
|
-
require('../
|
|
6
|
-
require('../
|
|
3
|
+
var FI3AZBYE_cjs = require('../FI3AZBYE.cjs');
|
|
4
|
+
require('../WHAPJZ3U.cjs');
|
|
5
|
+
require('../JLKKDVCL.cjs');
|
|
6
|
+
require('../U7VZULNU.cjs');
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
Object.defineProperty(exports, "formatVersionCombination", {
|
|
11
11
|
enumerable: true,
|
|
12
|
-
get: function () { return
|
|
12
|
+
get: function () { return FI3AZBYE_cjs.formatVersionCombination; }
|
|
13
13
|
});
|
|
14
14
|
//# sourceMappingURL=formatters.cjs.map
|
|
15
15
|
//# sourceMappingURL=formatters.cjs.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export { formatVersionCombination } from '../
|
|
2
|
-
import '../
|
|
3
|
-
import '../
|
|
1
|
+
export { formatVersionCombination } from '../UHPHZ6AE.js';
|
|
2
|
+
import '../CJNBA2MN.js';
|
|
3
|
+
import '../NX66I36H.js';
|
|
4
4
|
import '../4RNWLMHM.js';
|
|
5
5
|
//# sourceMappingURL=formatters.js.map
|
|
6
6
|
//# sourceMappingURL=formatters.js.map
|
package/dist/display/index.cjs
CHANGED
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
require('../
|
|
4
|
-
var
|
|
5
|
-
var
|
|
6
|
-
require('../
|
|
7
|
-
require('../
|
|
8
|
-
require('../
|
|
3
|
+
require('../CYUSPBTH.cjs');
|
|
4
|
+
var KONCDJAL_cjs = require('../KONCDJAL.cjs');
|
|
5
|
+
var FI3AZBYE_cjs = require('../FI3AZBYE.cjs');
|
|
6
|
+
require('../WHAPJZ3U.cjs');
|
|
7
|
+
require('../JLKKDVCL.cjs');
|
|
8
|
+
require('../U7VZULNU.cjs');
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
Object.defineProperty(exports, "displayToolVersionInfo", {
|
|
13
13
|
enumerable: true,
|
|
14
|
-
get: function () { return
|
|
14
|
+
get: function () { return KONCDJAL_cjs.displayToolVersionInfo; }
|
|
15
15
|
});
|
|
16
16
|
Object.defineProperty(exports, "displayVersionCombinations", {
|
|
17
17
|
enumerable: true,
|
|
18
|
-
get: function () { return
|
|
18
|
+
get: function () { return KONCDJAL_cjs.displayVersionCombinations; }
|
|
19
19
|
});
|
|
20
20
|
Object.defineProperty(exports, "formatVersionCombination", {
|
|
21
21
|
enumerable: true,
|
|
22
|
-
get: function () { return
|
|
22
|
+
get: function () { return FI3AZBYE_cjs.formatVersionCombination; }
|
|
23
23
|
});
|
|
24
24
|
//# sourceMappingURL=index.cjs.map
|
|
25
25
|
//# sourceMappingURL=index.cjs.map
|
package/dist/display/index.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import '../7BFNUKIW.js';
|
|
2
|
-
export { displayToolVersionInfo, displayVersionCombinations } from '../
|
|
3
|
-
export { formatVersionCombination } from '../
|
|
4
|
-
import '../
|
|
5
|
-
import '../
|
|
2
|
+
export { displayToolVersionInfo, displayVersionCombinations } from '../45K4IRAA.js';
|
|
3
|
+
export { formatVersionCombination } from '../UHPHZ6AE.js';
|
|
4
|
+
import '../CJNBA2MN.js';
|
|
5
|
+
import '../NX66I36H.js';
|
|
6
6
|
import '../4RNWLMHM.js';
|
|
7
7
|
//# sourceMappingURL=index.js.map
|
|
8
8
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
require('../
|
|
5
|
-
require('../
|
|
6
|
-
require('../
|
|
7
|
-
require('../
|
|
3
|
+
var KONCDJAL_cjs = require('../KONCDJAL.cjs');
|
|
4
|
+
require('../FI3AZBYE.cjs');
|
|
5
|
+
require('../WHAPJZ3U.cjs');
|
|
6
|
+
require('../JLKKDVCL.cjs');
|
|
7
|
+
require('../U7VZULNU.cjs');
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
Object.defineProperty(exports, "displayToolVersionInfo", {
|
|
12
12
|
enumerable: true,
|
|
13
|
-
get: function () { return
|
|
13
|
+
get: function () { return KONCDJAL_cjs.displayToolVersionInfo; }
|
|
14
14
|
});
|
|
15
15
|
Object.defineProperty(exports, "displayVersionCombinations", {
|
|
16
16
|
enumerable: true,
|
|
17
|
-
get: function () { return
|
|
17
|
+
get: function () { return KONCDJAL_cjs.displayVersionCombinations; }
|
|
18
18
|
});
|
|
19
19
|
//# sourceMappingURL=version-display.cjs.map
|
|
20
20
|
//# sourceMappingURL=version-display.cjs.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export { displayToolVersionInfo, displayVersionCombinations } from '../
|
|
2
|
-
import '../
|
|
3
|
-
import '../
|
|
4
|
-
import '../
|
|
1
|
+
export { displayToolVersionInfo, displayVersionCombinations } from '../45K4IRAA.js';
|
|
2
|
+
import '../UHPHZ6AE.js';
|
|
3
|
+
import '../CJNBA2MN.js';
|
|
4
|
+
import '../NX66I36H.js';
|
|
5
5
|
import '../4RNWLMHM.js';
|
|
6
6
|
//# sourceMappingURL=version-display.js.map
|
|
7
7
|
//# sourceMappingURL=version-display.js.map
|
package/dist/index.cjs
CHANGED
|
@@ -1,17 +1,19 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
require('./
|
|
4
|
-
var
|
|
5
|
-
require('./
|
|
6
|
-
require('./
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
require('./
|
|
10
|
-
var
|
|
11
|
-
require('./
|
|
12
|
-
require('./
|
|
13
|
-
require('./
|
|
14
|
-
|
|
3
|
+
require('./FKPK53TD.cjs');
|
|
4
|
+
var DPCW4JIV_cjs = require('./DPCW4JIV.cjs');
|
|
5
|
+
require('./CYUSPBTH.cjs');
|
|
6
|
+
var KONCDJAL_cjs = require('./KONCDJAL.cjs');
|
|
7
|
+
require('./FI3AZBYE.cjs');
|
|
8
|
+
require('./GSHFVQRI.cjs');
|
|
9
|
+
var S5DRZSZW_cjs = require('./S5DRZSZW.cjs');
|
|
10
|
+
var YNMZEV5X_cjs = require('./YNMZEV5X.cjs');
|
|
11
|
+
require('./L6RZSSWB.cjs');
|
|
12
|
+
var WHAPJZ3U_cjs = require('./WHAPJZ3U.cjs');
|
|
13
|
+
require('./JLKKDVCL.cjs');
|
|
14
|
+
require('./QYB5VPZE.cjs');
|
|
15
|
+
require('./TQMUPD75.cjs');
|
|
16
|
+
var U7VZULNU_cjs = require('./U7VZULNU.cjs');
|
|
15
17
|
var commander = require('commander');
|
|
16
18
|
var fs = require('fs');
|
|
17
19
|
var path = require('path');
|
|
@@ -24,12 +26,12 @@ var path__default = /*#__PURE__*/_interopDefault(path);
|
|
|
24
26
|
var process__default = /*#__PURE__*/_interopDefault(process);
|
|
25
27
|
|
|
26
28
|
// src/index.ts
|
|
27
|
-
|
|
29
|
+
U7VZULNU_cjs.init_cjs_shims();
|
|
28
30
|
async function run() {
|
|
29
31
|
const program = new commander.Command();
|
|
30
32
|
program.name("lz-tool").description("\u{1F680} LayerZero VM tooling with intelligent version management\n\nUsage pattern:\n lz-tool [global-options] <tool> [tool-args...]\n\nExamples:\n lz-tool -e bash sui --help\n lz-tool --sui-version 1.38.0 sui client\n\nNote: All lz-tool options must appear BEFORE the tool name.").version("1.0.0").enablePositionalOptions();
|
|
31
33
|
if (process__default.default.argv.includes("--list-versions")) {
|
|
32
|
-
|
|
34
|
+
KONCDJAL_cjs.displayVersionCombinations();
|
|
33
35
|
return;
|
|
34
36
|
}
|
|
35
37
|
program.option("-c, --cwd <path>", "Current working directory", (input) => {
|
|
@@ -75,36 +77,38 @@ async function run() {
|
|
|
75
77
|
name
|
|
76
78
|
});
|
|
77
79
|
return previous;
|
|
78
|
-
}, []);
|
|
79
|
-
for (const tool of
|
|
80
|
+
}, []).option("-p, --publish <host_port:container_port>", "Publish a container's port(s) to the host");
|
|
81
|
+
for (const tool of WHAPJZ3U_cjs.tools) {
|
|
80
82
|
const optionFlag = `--${tool.name}-version <version>`;
|
|
81
|
-
const defaultVersion =
|
|
82
|
-
const supportedVersions =
|
|
83
|
+
const defaultVersion = WHAPJZ3U_cjs.getToolDefaultVersion(tool.name);
|
|
84
|
+
const supportedVersions = WHAPJZ3U_cjs.getToolSupportedVersions(tool.name);
|
|
83
85
|
const description = `Specify ${tool.name} version (default: ${defaultVersion}, supported: ${supportedVersions.join(", ")})`;
|
|
84
86
|
program.option(optionFlag, description);
|
|
85
87
|
}
|
|
86
88
|
program.option("--list-versions", "Display all supported version combinations and exit");
|
|
87
|
-
program.command("version-info <tool>").description("Display detailed version information for a specific tool").action((toolName) =>
|
|
88
|
-
for (const tool of
|
|
89
|
+
program.command("version-info <tool>").description("Display detailed version information for a specific tool").action((toolName) => KONCDJAL_cjs.displayToolVersionInfo(toolName));
|
|
90
|
+
for (const tool of WHAPJZ3U_cjs.tools) {
|
|
89
91
|
program.command(tool.name, {
|
|
90
92
|
isDefault: false
|
|
91
93
|
}).description(`Run ${tool.name} with version checking`).passThroughOptions(true).allowUnknownOption().helpOption(false).argument("[args...]", "Arguments to pass to the tool").action(async (args) => {
|
|
92
94
|
const globalOptions = program.opts();
|
|
93
|
-
await
|
|
95
|
+
await S5DRZSZW_cjs.executeToolCommand(tool.name, args, {
|
|
94
96
|
cwd: globalOptions.cwd ?? process__default.default.cwd(),
|
|
95
97
|
volumes: globalOptions.volume,
|
|
96
98
|
...globalOptions
|
|
97
99
|
});
|
|
98
100
|
});
|
|
99
101
|
}
|
|
102
|
+
const extra = program.command("extra").description("Extra commands for VM tooling");
|
|
103
|
+
extra.command("starknet").command("build-typescript-sdk").description(`Generate TypeScript SDK for Starknet`).argument("<package-name>", "Scarb package name").argument("<target-directory>", "Scarb target directory").argument("<src-directory>", "TypeScript source directory").action(DPCW4JIV_cjs.buildTypescriptSdk);
|
|
100
104
|
await program.parseAsync();
|
|
101
105
|
}
|
|
102
|
-
|
|
103
|
-
var main = /* @__PURE__ */
|
|
106
|
+
U7VZULNU_cjs.__name(run, "run");
|
|
107
|
+
var main = /* @__PURE__ */ U7VZULNU_cjs.__name(async () => {
|
|
104
108
|
try {
|
|
105
109
|
await run();
|
|
106
110
|
} catch (error) {
|
|
107
|
-
console.error("\u274C",
|
|
111
|
+
console.error("\u274C", YNMZEV5X_cjs.stringifyError(error));
|
|
108
112
|
process__default.default.exit(1);
|
|
109
113
|
}
|
|
110
114
|
}, "main");
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"names":["init_cjs_shims","run","program","Command","name","description","version","enablePositionalOptions","process","argv","includes","displayVersionCombinations","option","input","Error","path","isAbsolute","fs","existsSync","statSync","isDirectory","previous","valueParts","split","length","value","join","push","type","hostPath","containerPath","undefined","tool","tools","optionFlag","defaultVersion","getToolDefaultVersion","supportedVersions","getToolSupportedVersions","command","action","toolName","displayToolVersionInfo","isDefault","passThroughOptions","allowUnknownOption","helpOption","argument","args","globalOptions","opts","executeToolCommand","cwd","volumes","volume","parseAsync","main","__name","error","console","stringifyError","exit"],"mappings":"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","file":"index.cjs","sourcesContent":["import { Command } from 'commander';\nimport fs from 'node:fs';\nimport path from 'node:path';\nimport process from 'node:process';\n\nimport { tools } from './config';\nimport { executeToolCommand } from './core';\nimport { displayToolVersionInfo, displayVersionCombinations } from './display';\nimport type { EnvironmentVariable, VolumeMapping } from './types';\nimport { stringifyError } from './utils/error';\nimport { getToolDefaultVersion, getToolSupportedVersions } from './utils/finder';\n\ninterface GlobalOptions {\n cwd?: string;\n volume: VolumeMapping[];\n env: EnvironmentVariable[];\n script?: string;\n customEntrypoint?: string;\n}\n\nasync function run(): Promise<void> {\n const program = new Command();\n\n program\n .name('lz-tool')\n .description(\n '🚀 LayerZero VM tooling with intelligent version management\\n' +\n '\\n' +\n 'Usage pattern:\\n' +\n ' lz-tool [global-options] <tool> [tool-args...]\\n' +\n '\\n' +\n 'Examples:\\n' +\n ' lz-tool -e bash sui --help\\n' +\n ' lz-tool --sui-version 1.38.0 sui client\\n' +\n '\\n' +\n 'Note: All lz-tool options must appear BEFORE the tool name.',\n )\n .version('1.0.0')\n .enablePositionalOptions(); // Required for passThroughOptions to work\n\n // Check for --list-versions before parsing to avoid help display\n if (process.argv.includes('--list-versions')) {\n displayVersionCombinations();\n return;\n }\n\n // Add global options\n program\n .option('-c, --cwd <path>', 'Current working directory', (input: string) => {\n if (typeof input !== 'string') {\n throw new Error('cwd flag must be a string');\n }\n\n if (!path.isAbsolute(input)) {\n throw new Error('cwd must be an absolute path if provided');\n }\n\n if (!fs.existsSync(input)) {\n throw new Error('cwd does not exist');\n }\n\n if (!fs.statSync(input).isDirectory()) {\n throw new Error('cwd must be a directory');\n }\n\n return input;\n })\n .option(\n '-e, --custom-entrypoint <entrypoint>',\n 'Override the default Docker entrypoint for the tool',\n )\n .option(\n '--script <script>',\n 'Execute a custom script using bash -c in the Docker container (e.g., --script \"npm install && npm test\")',\n )\n .option(\n '--env <name=value>',\n 'Set environment variables for Docker container (e.g., --env NODE_ENV=production)',\n (input: string, previous: EnvironmentVariable[]) => {\n const [name, ...valueParts] = input.split('=');\n if (name === '' || valueParts.length === 0) {\n throw new Error(\n `Invalid environment variable format: ${input}. Use --env NAME=VALUE`,\n );\n }\n const value = valueParts.join('='); // Handle values that contain '='\n previous.push({ name, value } satisfies EnvironmentVariable);\n return previous;\n },\n [],\n )\n .option(\n '-v, --volume <type:hostPath:containerPath[:name]>',\n 'Volume mappings in the format type:hostPath:containerPath[:name] (e.g., host:/host/path:/container/path or isolate::/container/path:volumeName)',\n (input: string, previous: VolumeMapping[]) => {\n const [type, hostPath, containerPath, name] = input.split(':');\n if (type !== 'host' && type !== 'isolate') {\n throw new Error(`Invalid volume type: ${type}`);\n }\n\n if (type === 'host' && (hostPath === undefined || hostPath === '')) {\n throw new Error(`Host path is required for volume type 'host'`);\n }\n\n if (containerPath === undefined || containerPath === '') {\n throw new Error(`Container path is required`);\n }\n previous.push({ type, hostPath, containerPath, name } satisfies VolumeMapping);\n return previous;\n },\n [],\n );\n\n // Add version options for each tool dynamically\n for (const tool of tools) {\n const optionFlag = `--${tool.name}-version <version>`;\n const defaultVersion = getToolDefaultVersion(tool.name);\n const supportedVersions = getToolSupportedVersions(tool.name);\n const description = `Specify ${tool.name} version (default: ${defaultVersion}, supported: ${supportedVersions.join(', ')})`;\n\n program.option(optionFlag, description);\n }\n\n // Add utility options\n program.option('--list-versions', 'Display all supported version combinations and exit');\n\n // Add version info command\n program\n .command('version-info <tool>')\n .description('Display detailed version information for a specific tool')\n .action((toolName: string) => displayToolVersionInfo(toolName));\n\n // Dynamically add commands for each supported tool\n for (const tool of tools) {\n // Don't add any options to the subcommand level.\n // All lz-tool options must be specified before the subcommand.\n program\n .command(tool.name, { isDefault: false })\n .description(`Run ${tool.name} with version checking`)\n .passThroughOptions(true) // Pass through all options after the subcommand\n .allowUnknownOption()\n .helpOption(false) // Disable automatic help option to pass --help to the tool\n .argument('[args...]', 'Arguments to pass to the tool')\n .action(async (args: string[]) => {\n // Get global options (specified before the subcommand)\n const globalOptions = program.opts<GlobalOptions>();\n\n await executeToolCommand(tool.name, args, {\n cwd: globalOptions.cwd ?? process.cwd(),\n volumes: globalOptions.volume,\n ...globalOptions,\n });\n });\n }\n\n await program.parseAsync();\n}\n\nexport const main = async (): Promise<void> => {\n try {\n await run();\n } catch (error) {\n console.error('❌', stringifyError(error));\n process.exit(1);\n }\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"names":["init_cjs_shims","run","program","Command","name","description","version","enablePositionalOptions","process","argv","includes","displayVersionCombinations","option","input","Error","path","isAbsolute","fs","existsSync","statSync","isDirectory","previous","valueParts","split","length","value","join","push","type","hostPath","containerPath","undefined","tool","tools","optionFlag","defaultVersion","getToolDefaultVersion","supportedVersions","getToolSupportedVersions","command","action","toolName","displayToolVersionInfo","isDefault","passThroughOptions","allowUnknownOption","helpOption","argument","args","globalOptions","opts","executeToolCommand","cwd","volumes","volume","extra","buildTypescriptSdk","parseAsync","main","__name","error","console","stringifyError","exit"],"mappings":"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","file":"index.cjs","sourcesContent":["import { Command } from 'commander';\nimport fs from 'node:fs';\nimport path from 'node:path';\nimport process from 'node:process';\n\nimport * as starknet from './commands/starknet';\nimport { tools } from './config';\nimport { executeToolCommand } from './core';\nimport { displayToolVersionInfo, displayVersionCombinations } from './display';\nimport type { EnvironmentVariable, VolumeMapping } from './types';\nimport { stringifyError } from './utils/error';\nimport { getToolDefaultVersion, getToolSupportedVersions } from './utils/finder';\n\ninterface GlobalOptions {\n cwd?: string;\n volume: VolumeMapping[];\n env: EnvironmentVariable[];\n script?: string;\n customEntrypoint?: string;\n}\n\nasync function run(): Promise<void> {\n const program = new Command();\n\n program\n .name('lz-tool')\n .description(\n '🚀 LayerZero VM tooling with intelligent version management\\n' +\n '\\n' +\n 'Usage pattern:\\n' +\n ' lz-tool [global-options] <tool> [tool-args...]\\n' +\n '\\n' +\n 'Examples:\\n' +\n ' lz-tool -e bash sui --help\\n' +\n ' lz-tool --sui-version 1.38.0 sui client\\n' +\n '\\n' +\n 'Note: All lz-tool options must appear BEFORE the tool name.',\n )\n .version('1.0.0')\n .enablePositionalOptions(); // Required for passThroughOptions to work\n\n // Check for --list-versions before parsing to avoid help display\n if (process.argv.includes('--list-versions')) {\n displayVersionCombinations();\n return;\n }\n\n // Add global options\n program\n .option('-c, --cwd <path>', 'Current working directory', (input: string) => {\n if (typeof input !== 'string') {\n throw new Error('cwd flag must be a string');\n }\n\n if (!path.isAbsolute(input)) {\n throw new Error('cwd must be an absolute path if provided');\n }\n\n if (!fs.existsSync(input)) {\n throw new Error('cwd does not exist');\n }\n\n if (!fs.statSync(input).isDirectory()) {\n throw new Error('cwd must be a directory');\n }\n\n return input;\n })\n .option(\n '-e, --custom-entrypoint <entrypoint>',\n 'Override the default Docker entrypoint for the tool',\n )\n .option(\n '--script <script>',\n 'Execute a custom script using bash -c in the Docker container (e.g., --script \"npm install && npm test\")',\n )\n .option(\n '--env <name=value>',\n 'Set environment variables for Docker container (e.g., --env NODE_ENV=production)',\n (input: string, previous: EnvironmentVariable[]) => {\n const [name, ...valueParts] = input.split('=');\n if (name === '' || valueParts.length === 0) {\n throw new Error(\n `Invalid environment variable format: ${input}. Use --env NAME=VALUE`,\n );\n }\n const value = valueParts.join('='); // Handle values that contain '='\n previous.push({ name, value } satisfies EnvironmentVariable);\n return previous;\n },\n [],\n )\n .option(\n '-v, --volume <type:hostPath:containerPath[:name]>',\n 'Volume mappings in the format type:hostPath:containerPath[:name] (e.g., host:/host/path:/container/path or isolate::/container/path:volumeName)',\n (input: string, previous: VolumeMapping[]) => {\n const [type, hostPath, containerPath, name] = input.split(':');\n if (type !== 'host' && type !== 'isolate') {\n throw new Error(`Invalid volume type: ${type}`);\n }\n\n if (type === 'host' && (hostPath === undefined || hostPath === '')) {\n throw new Error(`Host path is required for volume type 'host'`);\n }\n\n if (containerPath === undefined || containerPath === '') {\n throw new Error(`Container path is required`);\n }\n previous.push({ type, hostPath, containerPath, name } satisfies VolumeMapping);\n return previous;\n },\n [],\n )\n .option(\n '-p, --publish <host_port:container_port>',\n \"Publish a container's port(s) to the host\",\n );\n\n // Add version options for each tool dynamically\n for (const tool of tools) {\n const optionFlag = `--${tool.name}-version <version>`;\n const defaultVersion = getToolDefaultVersion(tool.name);\n const supportedVersions = getToolSupportedVersions(tool.name);\n const description = `Specify ${tool.name} version (default: ${defaultVersion}, supported: ${supportedVersions.join(', ')})`;\n\n program.option(optionFlag, description);\n }\n\n // Add utility options\n program.option('--list-versions', 'Display all supported version combinations and exit');\n\n // Add version info command\n program\n .command('version-info <tool>')\n .description('Display detailed version information for a specific tool')\n .action((toolName: string) => displayToolVersionInfo(toolName));\n\n // Dynamically add commands for each supported tool\n for (const tool of tools) {\n // Don't add any options to the subcommand level.\n // All lz-tool options must be specified before the subcommand.\n program\n .command(tool.name, { isDefault: false })\n .description(`Run ${tool.name} with version checking`)\n .passThroughOptions(true) // Pass through all options after the subcommand\n .allowUnknownOption()\n .helpOption(false) // Disable automatic help option to pass --help to the tool\n .argument('[args...]', 'Arguments to pass to the tool')\n .action(async (args: string[]) => {\n // Get global options (specified before the subcommand)\n const globalOptions = program.opts<GlobalOptions>();\n\n await executeToolCommand(tool.name, args, {\n cwd: globalOptions.cwd ?? process.cwd(),\n volumes: globalOptions.volume,\n ...globalOptions,\n });\n });\n }\n\n const extra = program.command('extra').description('Extra commands for VM tooling');\n\n extra\n .command('starknet')\n .command('build-typescript-sdk')\n .description(`Generate TypeScript SDK for Starknet`)\n .argument('<package-name>', 'Scarb package name')\n .argument('<target-directory>', 'Scarb target directory')\n .argument('<src-directory>', 'TypeScript source directory')\n .action(starknet.buildTypescriptSdk);\n\n await program.parseAsync();\n}\n\nexport const main = async (): Promise<void> => {\n try {\n await run();\n } catch (error) {\n console.error('❌', stringifyError(error));\n process.exit(1);\n }\n};\n"]}
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AA8KA,eAAO,MAAM,IAAI,QAAa,OAAO,CAAC,IAAI,CAOzC,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
|
+
import './M4PGJV5D.js';
|
|
2
|
+
import { buildTypescriptSdk } from './MMIV5S36.js';
|
|
1
3
|
import './7BFNUKIW.js';
|
|
2
|
-
import { displayVersionCombinations, displayToolVersionInfo } from './
|
|
3
|
-
import './
|
|
4
|
+
import { displayVersionCombinations, displayToolVersionInfo } from './45K4IRAA.js';
|
|
5
|
+
import './UHPHZ6AE.js';
|
|
4
6
|
import './OAO7CCJW.js';
|
|
5
|
-
import { executeToolCommand } from './
|
|
7
|
+
import { executeToolCommand } from './GQAEO3WU.js';
|
|
6
8
|
import { stringifyError } from './IWNVWC3I.js';
|
|
7
|
-
import './
|
|
8
|
-
import { tools, getToolDefaultVersion, getToolSupportedVersions } from './
|
|
9
|
-
import './
|
|
9
|
+
import './5JYEGDVK.js';
|
|
10
|
+
import { tools, getToolDefaultVersion, getToolSupportedVersions } from './CJNBA2MN.js';
|
|
11
|
+
import './NX66I36H.js';
|
|
10
12
|
import './PWDCAN6N.js';
|
|
11
13
|
import './3PEVFTZ5.js';
|
|
12
14
|
import { init_esm_shims, __name } from './4RNWLMHM.js';
|
|
@@ -67,7 +69,7 @@ async function run() {
|
|
|
67
69
|
name
|
|
68
70
|
});
|
|
69
71
|
return previous;
|
|
70
|
-
}, []);
|
|
72
|
+
}, []).option("-p, --publish <host_port:container_port>", "Publish a container's port(s) to the host");
|
|
71
73
|
for (const tool of tools) {
|
|
72
74
|
const optionFlag = `--${tool.name}-version <version>`;
|
|
73
75
|
const defaultVersion = getToolDefaultVersion(tool.name);
|
|
@@ -89,6 +91,8 @@ async function run() {
|
|
|
89
91
|
});
|
|
90
92
|
});
|
|
91
93
|
}
|
|
94
|
+
const extra = program.command("extra").description("Extra commands for VM tooling");
|
|
95
|
+
extra.command("starknet").command("build-typescript-sdk").description(`Generate TypeScript SDK for Starknet`).argument("<package-name>", "Scarb package name").argument("<target-directory>", "Scarb target directory").argument("<src-directory>", "TypeScript source directory").action(buildTypescriptSdk);
|
|
92
96
|
await program.parseAsync();
|
|
93
97
|
}
|
|
94
98
|
__name(run, "run");
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"names":["run","program","Command","name","description","version","enablePositionalOptions","process","argv","includes","displayVersionCombinations","option","input","Error","path","isAbsolute","fs","existsSync","statSync","isDirectory","previous","valueParts","split","length","value","join","push","type","hostPath","containerPath","undefined","tool","tools","optionFlag","defaultVersion","getToolDefaultVersion","supportedVersions","getToolSupportedVersions","command","action","toolName","displayToolVersionInfo","isDefault","passThroughOptions","allowUnknownOption","helpOption","argument","args","globalOptions","opts","executeToolCommand","cwd","volumes","volume","parseAsync","main","error","console","stringifyError","exit"],"mappings":";;;;;;;;;;;;;;;;;;AAAA,cAAA,EAAA;AAoBA,eAAeA,GAAAA,GAAAA;AACX,EAAA,MAAMC,OAAAA,GAAU,IAAIC,OAAAA,EAAAA;AAEpBD,EAAAA,OAAAA,CACKE,IAAAA,CAAK,SAAA,CAAA,CACLC,WAAAA,CACG,6RASI,CAAA,CAEPC,OAAAA,CAAQ,OAAA,CAAA,CACRC,uBAAAA,EAAuB;AAG5B,EAAA,IAAIC,OAAAA,CAAQC,IAAAA,CAAKC,QAAAA,CAAS,iBAAA,CAAA,EAAoB;AAC1CC,IAAAA,0BAAAA,EAAAA;AACA,IAAA;AACJ,EAAA;AAGAT,EAAAA,OAAAA,CACKU,MAAAA,CAAO,kBAAA,EAAoB,2BAAA,EAA6B,CAACC,KAAAA,KAAAA;AACtD,IAAA,IAAI,OAAOA,UAAU,QAAA,EAAU;AAC3B,MAAA,MAAM,IAAIC,MAAM,2BAAA,CAAA;AACpB,IAAA;AAEA,IAAA,IAAI,CAACC,IAAAA,CAAKC,UAAAA,CAAWH,KAAAA,CAAAA,EAAQ;AACzB,MAAA,MAAM,IAAIC,MAAM,0CAAA,CAAA;AACpB,IAAA;AAEA,IAAA,IAAI,CAACG,EAAAA,CAAGC,UAAAA,CAAWL,KAAAA,CAAAA,EAAQ;AACvB,MAAA,MAAM,IAAIC,MAAM,oBAAA,CAAA;AACpB,IAAA;AAEA,IAAA,IAAI,CAACG,EAAAA,CAAGE,QAAAA,CAASN,KAAAA,CAAAA,CAAOO,aAAW,EAAI;AACnC,MAAA,MAAM,IAAIN,MAAM,yBAAA,CAAA;AACpB,IAAA;AAEA,IAAA,OAAOD,KAAAA;AACX,EAAA,CAAA,CAAA,CACCD,MAAAA,CACG,sCAAA,EACA,qDAAA,EAEHA,MAAAA,CACG,mBAAA,EACA,0GAAA,CAAA,CAEHA,MAAAA,CACG,oBAAA,EACA,kFAAA,EACA,CAACC,OAAeQ,QAAAA,KAAAA;AACZ,IAAA,MAAM,CAACjB,IAAAA,EAAM,GAAGkB,UAAAA,CAAAA,GAAcT,KAAAA,CAAMU,MAAM,GAAA,CAAA;AAC1C,IAAA,IAAInB,IAAAA,KAAS,EAAA,IAAMkB,UAAAA,CAAWE,MAAAA,KAAW,CAAA,EAAG;AACxC,MAAA,MAAM,IAAIV,KAAAA,CACN,CAAA,qCAAA,EAAwCD,KAAAA,CAAAA,sBAAAA,CAA6B,CAAA;AAE7E,IAAA;AACA,IAAA,MAAMY,KAAAA,GAAQH,UAAAA,CAAWI,IAAAA,CAAK,GAAA,CAAA;AAC9BL,IAAAA,QAAAA,CAASM,IAAAA,CAAK;AAAEvB,MAAAA,IAAAA;AAAMqB,MAAAA;KAAM,CAAA;AAC5B,IAAA,OAAOJ,QAAAA;EACX,CAAA,EACA,EAAE,CAAA,CAELT,MAAAA,CACG,qDACA,iJAAA,EACA,CAACC,OAAeQ,QAAAA,KAAAA;AACZ,IAAA,MAAM,CAACO,MAAMC,QAAAA,EAAUC,aAAAA,EAAe1B,IAAAA,CAAAA,GAAQS,KAAAA,CAAMU,MAAM,GAAA,CAAA;AAC1D,IAAA,IAAIK,IAAAA,KAAS,MAAA,IAAUA,IAAAA,KAAS,SAAA,EAAW;AACvC,MAAA,MAAM,IAAId,KAAAA,CAAM,CAAA,qBAAA,EAAwBc,IAAAA,CAAAA,CAAM,CAAA;AAClD,IAAA;AAEA,IAAA,IAAIA,IAAAA,KAAS,MAAA,KAAWC,QAAAA,KAAaE,MAAAA,IAAaF,aAAa,EAAA,CAAA,EAAK;AAChE,MAAA,MAAM,IAAIf,MAAM,CAAA,4CAAA,CAA8C,CAAA;AAClE,IAAA;AAEA,IAAA,IAAIgB,aAAAA,KAAkBC,MAAAA,IAAaD,aAAAA,KAAkB,EAAA,EAAI;AACrD,MAAA,MAAM,IAAIhB,MAAM,CAAA,0BAAA,CAA4B,CAAA;AAChD,IAAA;AACAO,IAAAA,QAAAA,CAASM,IAAAA,CAAK;AAAEC,MAAAA,IAAAA;AAAMC,MAAAA,QAAAA;AAAUC,MAAAA,aAAAA;AAAe1B,MAAAA;KAAK,CAAA;AACpD,IAAA,OAAOiB,QAAAA;AACX,EAAA,CAAA,EACA,EAAE,CAAA;AAIV,EAAA,KAAA,MAAWW,QAAQC,KAAAA,EAAO;AACtB,IAAA,MAAMC,UAAAA,GAAa,CAAA,EAAA,EAAKF,IAAAA,CAAK5B,IAAI,CAAA,kBAAA,CAAA;AACjC,IAAA,MAAM+B,cAAAA,GAAiBC,qBAAAA,CAAsBJ,IAAAA,CAAK5B,IAAI,CAAA;AACtD,IAAA,MAAMiC,iBAAAA,GAAoBC,wBAAAA,CAAyBN,IAAAA,CAAK5B,IAAI,CAAA;AAC5D,IAAA,MAAMC,WAAAA,GAAc,CAAA,QAAA,EAAW2B,IAAAA,CAAK5B,IAAI,CAAA,mBAAA,EAAsB+B,cAAAA,CAAAA,aAAAA,EAA8BE,iBAAAA,CAAkBX,IAAAA,CAAK,IAAA,CAAA,CAAA,CAAA,CAAA;AAEnHxB,IAAAA,OAAAA,CAAQU,MAAAA,CAAOsB,YAAY7B,WAAAA,CAAAA;AAC/B,EAAA;AAGAH,EAAAA,OAAAA,CAAQU,MAAAA,CAAO,mBAAmB,qDAAA,CAAA;AAGlCV,EAAAA,OAAAA,CACKqC,OAAAA,CAAQ,qBAAA,CAAA,CACRlC,WAAAA,CAAY,0DAAA,CAAA,CACZmC,MAAAA,CAAO,CAACC,QAAAA,KAAqBC,sBAAAA,CAAuBD,QAAAA,CAAAA,CAAAA;AAGzD,EAAA,KAAA,MAAWT,QAAQC,KAAAA,EAAO;AAGtB/B,IAAAA,OAAAA,CACKqC,OAAAA,CAAQP,KAAK5B,IAAAA,EAAM;MAAEuC,SAAAA,EAAW;KAAM,CAAA,CACtCtC,YAAY,CAAA,IAAA,EAAO2B,IAAAA,CAAK5B,IAAI,CAAA,sBAAA,CAAwB,CAAA,CACpDwC,mBAAmB,IAAA,CAAA,CACnBC,oBAAkB,CAClBC,UAAAA,CAAW,KAAA,CAAA,CACXC,QAAAA,CAAS,aAAa,+BAAA,CAAA,CACtBP,MAAAA,CAAO,OAAOQ,IAAAA,KAAAA;AAEX,MAAA,MAAMC,aAAAA,GAAgB/C,QAAQgD,IAAAA,EAAI;AAElC,MAAA,MAAMC,kBAAAA,CAAmBnB,IAAAA,CAAK5B,IAAAA,EAAM4C,IAAAA,EAAM;QACtCI,GAAAA,EAAKH,aAAAA,CAAcG,GAAAA,IAAO5C,OAAAA,CAAQ4C,GAAAA,EAAG;AACrCC,QAAAA,OAAAA,EAASJ,aAAAA,CAAcK,MAAAA;QACvB,GAAGL;OACP,CAAA;IACJ,CAAA,CAAA;AACR,EAAA;AAEA,EAAA,MAAM/C,QAAQqD,UAAAA,EAAU;AAC5B;AAxIetD,MAAAA,CAAAA,GAAAA,EAAAA,KAAAA,CAAAA;AA0IR,IAAMuD,uBAAO,MAAA,CAAA,YAAA;AAChB,EAAA,IAAI;AACA,IAAA,MAAMvD,GAAAA,EAAAA;AACV,EAAA,CAAA,CAAA,OAASwD,KAAAA,EAAO;AACZC,IAAAA,OAAAA,CAAQD,KAAAA,CAAM,QAAA,EAAKE,cAAAA,CAAeF,KAAAA,CAAAA,CAAAA;AAClCjD,IAAAA,OAAAA,CAAQoD,KAAK,CAAA,CAAA;AACjB,EAAA;AACJ,CAAA,EAPoB,MAAA","file":"index.js","sourcesContent":["import { Command } from 'commander';\nimport fs from 'node:fs';\nimport path from 'node:path';\nimport process from 'node:process';\n\nimport { tools } from './config';\nimport { executeToolCommand } from './core';\nimport { displayToolVersionInfo, displayVersionCombinations } from './display';\nimport type { EnvironmentVariable, VolumeMapping } from './types';\nimport { stringifyError } from './utils/error';\nimport { getToolDefaultVersion, getToolSupportedVersions } from './utils/finder';\n\ninterface GlobalOptions {\n cwd?: string;\n volume: VolumeMapping[];\n env: EnvironmentVariable[];\n script?: string;\n customEntrypoint?: string;\n}\n\nasync function run(): Promise<void> {\n const program = new Command();\n\n program\n .name('lz-tool')\n .description(\n '🚀 LayerZero VM tooling with intelligent version management\\n' +\n '\\n' +\n 'Usage pattern:\\n' +\n ' lz-tool [global-options] <tool> [tool-args...]\\n' +\n '\\n' +\n 'Examples:\\n' +\n ' lz-tool -e bash sui --help\\n' +\n ' lz-tool --sui-version 1.38.0 sui client\\n' +\n '\\n' +\n 'Note: All lz-tool options must appear BEFORE the tool name.',\n )\n .version('1.0.0')\n .enablePositionalOptions(); // Required for passThroughOptions to work\n\n // Check for --list-versions before parsing to avoid help display\n if (process.argv.includes('--list-versions')) {\n displayVersionCombinations();\n return;\n }\n\n // Add global options\n program\n .option('-c, --cwd <path>', 'Current working directory', (input: string) => {\n if (typeof input !== 'string') {\n throw new Error('cwd flag must be a string');\n }\n\n if (!path.isAbsolute(input)) {\n throw new Error('cwd must be an absolute path if provided');\n }\n\n if (!fs.existsSync(input)) {\n throw new Error('cwd does not exist');\n }\n\n if (!fs.statSync(input).isDirectory()) {\n throw new Error('cwd must be a directory');\n }\n\n return input;\n })\n .option(\n '-e, --custom-entrypoint <entrypoint>',\n 'Override the default Docker entrypoint for the tool',\n )\n .option(\n '--script <script>',\n 'Execute a custom script using bash -c in the Docker container (e.g., --script \"npm install && npm test\")',\n )\n .option(\n '--env <name=value>',\n 'Set environment variables for Docker container (e.g., --env NODE_ENV=production)',\n (input: string, previous: EnvironmentVariable[]) => {\n const [name, ...valueParts] = input.split('=');\n if (name === '' || valueParts.length === 0) {\n throw new Error(\n `Invalid environment variable format: ${input}. Use --env NAME=VALUE`,\n );\n }\n const value = valueParts.join('='); // Handle values that contain '='\n previous.push({ name, value } satisfies EnvironmentVariable);\n return previous;\n },\n [],\n )\n .option(\n '-v, --volume <type:hostPath:containerPath[:name]>',\n 'Volume mappings in the format type:hostPath:containerPath[:name] (e.g., host:/host/path:/container/path or isolate::/container/path:volumeName)',\n (input: string, previous: VolumeMapping[]) => {\n const [type, hostPath, containerPath, name] = input.split(':');\n if (type !== 'host' && type !== 'isolate') {\n throw new Error(`Invalid volume type: ${type}`);\n }\n\n if (type === 'host' && (hostPath === undefined || hostPath === '')) {\n throw new Error(`Host path is required for volume type 'host'`);\n }\n\n if (containerPath === undefined || containerPath === '') {\n throw new Error(`Container path is required`);\n }\n previous.push({ type, hostPath, containerPath, name } satisfies VolumeMapping);\n return previous;\n },\n [],\n );\n\n // Add version options for each tool dynamically\n for (const tool of tools) {\n const optionFlag = `--${tool.name}-version <version>`;\n const defaultVersion = getToolDefaultVersion(tool.name);\n const supportedVersions = getToolSupportedVersions(tool.name);\n const description = `Specify ${tool.name} version (default: ${defaultVersion}, supported: ${supportedVersions.join(', ')})`;\n\n program.option(optionFlag, description);\n }\n\n // Add utility options\n program.option('--list-versions', 'Display all supported version combinations and exit');\n\n // Add version info command\n program\n .command('version-info <tool>')\n .description('Display detailed version information for a specific tool')\n .action((toolName: string) => displayToolVersionInfo(toolName));\n\n // Dynamically add commands for each supported tool\n for (const tool of tools) {\n // Don't add any options to the subcommand level.\n // All lz-tool options must be specified before the subcommand.\n program\n .command(tool.name, { isDefault: false })\n .description(`Run ${tool.name} with version checking`)\n .passThroughOptions(true) // Pass through all options after the subcommand\n .allowUnknownOption()\n .helpOption(false) // Disable automatic help option to pass --help to the tool\n .argument('[args...]', 'Arguments to pass to the tool')\n .action(async (args: string[]) => {\n // Get global options (specified before the subcommand)\n const globalOptions = program.opts<GlobalOptions>();\n\n await executeToolCommand(tool.name, args, {\n cwd: globalOptions.cwd ?? process.cwd(),\n volumes: globalOptions.volume,\n ...globalOptions,\n });\n });\n }\n\n await program.parseAsync();\n}\n\nexport const main = async (): Promise<void> => {\n try {\n await run();\n } catch (error) {\n console.error('❌', stringifyError(error));\n process.exit(1);\n }\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"names":["run","program","Command","name","description","version","enablePositionalOptions","process","argv","includes","displayVersionCombinations","option","input","Error","path","isAbsolute","fs","existsSync","statSync","isDirectory","previous","valueParts","split","length","value","join","push","type","hostPath","containerPath","undefined","tool","tools","optionFlag","defaultVersion","getToolDefaultVersion","supportedVersions","getToolSupportedVersions","command","action","toolName","displayToolVersionInfo","isDefault","passThroughOptions","allowUnknownOption","helpOption","argument","args","globalOptions","opts","executeToolCommand","cwd","volumes","volume","extra","buildTypescriptSdk","parseAsync","main","error","console","stringifyError","exit"],"mappings":"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","file":"index.js","sourcesContent":["import { Command } from 'commander';\nimport fs from 'node:fs';\nimport path from 'node:path';\nimport process from 'node:process';\n\nimport * as starknet from './commands/starknet';\nimport { tools } from './config';\nimport { executeToolCommand } from './core';\nimport { displayToolVersionInfo, displayVersionCombinations } from './display';\nimport type { EnvironmentVariable, VolumeMapping } from './types';\nimport { stringifyError } from './utils/error';\nimport { getToolDefaultVersion, getToolSupportedVersions } from './utils/finder';\n\ninterface GlobalOptions {\n cwd?: string;\n volume: VolumeMapping[];\n env: EnvironmentVariable[];\n script?: string;\n customEntrypoint?: string;\n}\n\nasync function run(): Promise<void> {\n const program = new Command();\n\n program\n .name('lz-tool')\n .description(\n '🚀 LayerZero VM tooling with intelligent version management\\n' +\n '\\n' +\n 'Usage pattern:\\n' +\n ' lz-tool [global-options] <tool> [tool-args...]\\n' +\n '\\n' +\n 'Examples:\\n' +\n ' lz-tool -e bash sui --help\\n' +\n ' lz-tool --sui-version 1.38.0 sui client\\n' +\n '\\n' +\n 'Note: All lz-tool options must appear BEFORE the tool name.',\n )\n .version('1.0.0')\n .enablePositionalOptions(); // Required for passThroughOptions to work\n\n // Check for --list-versions before parsing to avoid help display\n if (process.argv.includes('--list-versions')) {\n displayVersionCombinations();\n return;\n }\n\n // Add global options\n program\n .option('-c, --cwd <path>', 'Current working directory', (input: string) => {\n if (typeof input !== 'string') {\n throw new Error('cwd flag must be a string');\n }\n\n if (!path.isAbsolute(input)) {\n throw new Error('cwd must be an absolute path if provided');\n }\n\n if (!fs.existsSync(input)) {\n throw new Error('cwd does not exist');\n }\n\n if (!fs.statSync(input).isDirectory()) {\n throw new Error('cwd must be a directory');\n }\n\n return input;\n })\n .option(\n '-e, --custom-entrypoint <entrypoint>',\n 'Override the default Docker entrypoint for the tool',\n )\n .option(\n '--script <script>',\n 'Execute a custom script using bash -c in the Docker container (e.g., --script \"npm install && npm test\")',\n )\n .option(\n '--env <name=value>',\n 'Set environment variables for Docker container (e.g., --env NODE_ENV=production)',\n (input: string, previous: EnvironmentVariable[]) => {\n const [name, ...valueParts] = input.split('=');\n if (name === '' || valueParts.length === 0) {\n throw new Error(\n `Invalid environment variable format: ${input}. Use --env NAME=VALUE`,\n );\n }\n const value = valueParts.join('='); // Handle values that contain '='\n previous.push({ name, value } satisfies EnvironmentVariable);\n return previous;\n },\n [],\n )\n .option(\n '-v, --volume <type:hostPath:containerPath[:name]>',\n 'Volume mappings in the format type:hostPath:containerPath[:name] (e.g., host:/host/path:/container/path or isolate::/container/path:volumeName)',\n (input: string, previous: VolumeMapping[]) => {\n const [type, hostPath, containerPath, name] = input.split(':');\n if (type !== 'host' && type !== 'isolate') {\n throw new Error(`Invalid volume type: ${type}`);\n }\n\n if (type === 'host' && (hostPath === undefined || hostPath === '')) {\n throw new Error(`Host path is required for volume type 'host'`);\n }\n\n if (containerPath === undefined || containerPath === '') {\n throw new Error(`Container path is required`);\n }\n previous.push({ type, hostPath, containerPath, name } satisfies VolumeMapping);\n return previous;\n },\n [],\n )\n .option(\n '-p, --publish <host_port:container_port>',\n \"Publish a container's port(s) to the host\",\n );\n\n // Add version options for each tool dynamically\n for (const tool of tools) {\n const optionFlag = `--${tool.name}-version <version>`;\n const defaultVersion = getToolDefaultVersion(tool.name);\n const supportedVersions = getToolSupportedVersions(tool.name);\n const description = `Specify ${tool.name} version (default: ${defaultVersion}, supported: ${supportedVersions.join(', ')})`;\n\n program.option(optionFlag, description);\n }\n\n // Add utility options\n program.option('--list-versions', 'Display all supported version combinations and exit');\n\n // Add version info command\n program\n .command('version-info <tool>')\n .description('Display detailed version information for a specific tool')\n .action((toolName: string) => displayToolVersionInfo(toolName));\n\n // Dynamically add commands for each supported tool\n for (const tool of tools) {\n // Don't add any options to the subcommand level.\n // All lz-tool options must be specified before the subcommand.\n program\n .command(tool.name, { isDefault: false })\n .description(`Run ${tool.name} with version checking`)\n .passThroughOptions(true) // Pass through all options after the subcommand\n .allowUnknownOption()\n .helpOption(false) // Disable automatic help option to pass --help to the tool\n .argument('[args...]', 'Arguments to pass to the tool')\n .action(async (args: string[]) => {\n // Get global options (specified before the subcommand)\n const globalOptions = program.opts<GlobalOptions>();\n\n await executeToolCommand(tool.name, args, {\n cwd: globalOptions.cwd ?? process.cwd(),\n volumes: globalOptions.volume,\n ...globalOptions,\n });\n });\n }\n\n const extra = program.command('extra').description('Extra commands for VM tooling');\n\n extra\n .command('starknet')\n .command('build-typescript-sdk')\n .description(`Generate TypeScript SDK for Starknet`)\n .argument('<package-name>', 'Scarb package name')\n .argument('<target-directory>', 'Scarb target directory')\n .argument('<src-directory>', 'TypeScript source directory')\n .action(starknet.buildTypescriptSdk);\n\n await program.parseAsync();\n}\n\nexport const main = async (): Promise<void> => {\n try {\n await run();\n } catch (error) {\n console.error('❌', stringifyError(error));\n process.exit(1);\n }\n};\n"]}
|