@aptos-labs/aptos-cli
Advanced tools
@@ -8,4 +8,4 @@ import { execSync } from "child_process"; | ||
| import { getOS } from "../utils/getUserOs.js"; | ||
| import { getLatestVersion } from "../utils/getAptosCliLatestVersion.js"; | ||
| import { getLocalBinPath } from "../utils/getLocalBinPath.js"; | ||
| import { getLatestVersionGh } from "../utils/ghOperations.js"; | ||
@@ -20,3 +20,3 @@ // Install the CLI. | ||
| // Look up the latest version. | ||
| const latestCLIVersion = await getLatestVersion(); | ||
| const latestCLIVersion = await getLatestVersionGh(); | ||
| console.log(`Downloading aptos CLI version ${latestCLIVersion}`); | ||
@@ -23,0 +23,0 @@ const os = getOS(); |
+25
-17
| import { existsSync } from "fs"; | ||
| import { getLocalBinPath } from "../utils/getLocalBinPath.js"; | ||
| import { execSync } from "child_process"; | ||
| import { getOS } from "../utils/getUserOs.js"; | ||
| import { getLatestVersionGh } from "../utils/ghOperations.js"; | ||
| import { execSyncShell } from "../utils/execSyncShell.js"; | ||
| import { getLatestVersion } from "../utils/getAptosCliLatestVersion.js"; | ||
| import { installCli } from "./install.js"; | ||
| import { getLocalBinPath } from "../utils/getLocalBinPath.js"; | ||
| export const updateCli = async () => { | ||
| const path = getLocalBinPath(); | ||
| if (!existsSync(path)) { | ||
@@ -16,19 +19,24 @@ console.log( | ||
| } | ||
| // Look up the latest version. | ||
| const latestVersion = await getLatestVersion(); | ||
| // Get the current version of the CLI. | ||
| const currentVersion = execSyncShell(`${path} --version`, { | ||
| encoding: "utf8", | ||
| }) | ||
| .trim() | ||
| .split(" ")[1]; | ||
| // Check if the installed version is the latest version. | ||
| if (currentVersion !== latestVersion) { | ||
| console.log( | ||
| `A newer version of the CLI is available: ${latestVersion}, installing...` | ||
| ); | ||
| installCli(); | ||
| if (getOS() === "MacOS") { | ||
| // Upgrade aptos via brew. | ||
| return execSync("brew upgrade aptos"); | ||
| } else { | ||
| console.log(`CLI is up to date`); | ||
| const latestVersion = await getLatestVersionGh(); | ||
| // Get the current version of the CLI. | ||
| const currentVersion = execSyncShell(`${path} --version`, { | ||
| encoding: "utf8", | ||
| }) | ||
| .trim() | ||
| .split(" ")[1]; | ||
| // Check if the installed version is the latest version. | ||
| if (currentVersion !== latestVersion) { | ||
| console.log( | ||
| `A newer version of the CLI is available: ${latestVersion}, installing...` | ||
| ); | ||
| installCli(); | ||
| } else { | ||
| console.log(`CLI is up to date`); | ||
| } | ||
| } | ||
| }; |
@@ -13,12 +13,1 @@ import { execSyncShell } from "./execSyncShell.js"; | ||
| }; | ||
| /** | ||
| * Use brew to find the latest version of the CLI. Make sure to confirm that brew | ||
| * is installed before calling this function. | ||
| */ | ||
| export const getLatestVersionBrew = () => { | ||
| const out = JSON.parse( | ||
| execSyncShell("brew info --json aptos", { encoding: "utf8" }) | ||
| ); | ||
| return out[0].versions.stable; | ||
| }; |
@@ -7,4 +7,4 @@ import { execSync } from "child_process"; | ||
| import { getOS } from "../utils/getUserOs.js"; | ||
| import { getLatestVersion } from "../utils/getAptosCliLatestVersion.js"; | ||
| import { getLocalBinPath } from "../utils/getLocalBinPath.js"; | ||
| import { getLatestVersionGh } from "../utils/ghOperations.js"; | ||
| export const installCli = async () => { | ||
@@ -16,3 +16,3 @@ const path = getLocalBinPath(); | ||
| } | ||
| const latestCLIVersion = await getLatestVersion(); | ||
| const latestCLIVersion = await getLatestVersionGh(); | ||
| console.log(`Downloading aptos CLI version ${latestCLIVersion}`); | ||
@@ -19,0 +19,0 @@ const os = getOS(); |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"install.js","sourceRoot":"","sources":["../../bin/tasks/install.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAEhC,OAAO,EAAE,mBAAmB,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAG9D,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,IAAI,EAAE;IACnC,MAAM,IAAI,GAAG,eAAe,EAAE,CAAC;IAC/B,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACrB,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;QAC9C,OAAO;IACT,CAAC;IAED,MAAM,gBAAgB,GAAG,MAAM,gBAAgB,EAAE,CAAC;IAClD,OAAO,CAAC,GAAG,CAAC,iCAAiC,gBAAgB,EAAE,CAAC,CAAC;IACjE,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;IAEnB,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;QACrB,MAAM,GAAG,GAAG,GAAG,mBAAmB,IAAI,KAAK,KAAK,gBAAgB,IAAI,KAAK,IAAI,gBAAgB,IAAI,EAAE,aAAa,CAAC;QAEjH,QAAQ,CACN,oIAAoI,GAAG,4JAA4J,IAAI,KAAK,CAC7S,CAAC;IACJ,CAAC;SAAM,IAAI,EAAE,KAAK,OAAO,EAAE,CAAC;QAE1B,aAAa,CAAC,oBAAoB,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IAC5D,CAAC;SAAM,CAAC;QAGN,IAAI,SAAS,GAAG,QAAQ,CAAC;QACzB,IAAI,eAAe,GAAG,OAAO,CAAC;QAC9B,IAAI,CAAC;YACH,eAAe,GAAG,wBAAwB,EAAE,CAAC;QAC/C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,GAAG,CACT,qEAAqE,CACtE,CAAC;QACJ,CAAC;QAED,IAAI,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACrC,SAAS,GAAG,cAAc,CAAC;QAC7B,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,0BAA0B,EAAE,IAAI,SAAS,EAAE,CAAC,CAAC;QACzD,MAAM,GAAG,GAAG,GAAG,mBAAmB,IAAI,KAAK,KAAK,gBAAgB,IAAI,KAAK,IAAI,gBAAgB,IAAI,EAAE,IAAI,SAAS,MAAM,CAAC;QAEvH,QAAQ,CACN,6BAA6B,GAAG,uDAAuD,IAAI,GAAG,CAC/F,CAAC;IACJ,CAAC;AACH,CAAC,CAAC"} | ||
| {"version":3,"file":"install.js","sourceRoot":"","sources":["../../bin/tasks/install.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAEhC,OAAO,EAAE,mBAAmB,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAG9D,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,IAAI,EAAE;IACnC,MAAM,IAAI,GAAG,eAAe,EAAE,CAAC;IAC/B,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACrB,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;QAC9C,OAAO;IACT,CAAC;IAED,MAAM,gBAAgB,GAAG,MAAM,kBAAkB,EAAE,CAAC;IACpD,OAAO,CAAC,GAAG,CAAC,iCAAiC,gBAAgB,EAAE,CAAC,CAAC;IACjE,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;IAEnB,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;QACrB,MAAM,GAAG,GAAG,GAAG,mBAAmB,IAAI,KAAK,KAAK,gBAAgB,IAAI,KAAK,IAAI,gBAAgB,IAAI,EAAE,aAAa,CAAC;QAEjH,QAAQ,CACN,oIAAoI,GAAG,4JAA4J,IAAI,KAAK,CAC7S,CAAC;IACJ,CAAC;SAAM,IAAI,EAAE,KAAK,OAAO,EAAE,CAAC;QAE1B,aAAa,CAAC,oBAAoB,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IAC5D,CAAC;SAAM,CAAC;QAGN,IAAI,SAAS,GAAG,QAAQ,CAAC;QACzB,IAAI,eAAe,GAAG,OAAO,CAAC;QAC9B,IAAI,CAAC;YACH,eAAe,GAAG,wBAAwB,EAAE,CAAC;QAC/C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,GAAG,CACT,qEAAqE,CACtE,CAAC;QACJ,CAAC;QAED,IAAI,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACrC,SAAS,GAAG,cAAc,CAAC;QAC7B,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,0BAA0B,EAAE,IAAI,SAAS,EAAE,CAAC,CAAC;QACzD,MAAM,GAAG,GAAG,GAAG,mBAAmB,IAAI,KAAK,KAAK,gBAAgB,IAAI,KAAK,IAAI,gBAAgB,IAAI,EAAE,IAAI,SAAS,MAAM,CAAC;QAEvH,QAAQ,CACN,6BAA6B,GAAG,uDAAuD,IAAI,GAAG,CAC/F,CAAC;IACJ,CAAC;AACH,CAAC,CAAC"} |
@@ -1,1 +0,1 @@ | ||
| export declare const updateCli: () => Promise<void>; | ||
| export declare const updateCli: () => Promise<Buffer | undefined>; |
+19
-12
| import { existsSync } from "fs"; | ||
| import { getLocalBinPath } from "../utils/getLocalBinPath.js"; | ||
| import { execSync } from "child_process"; | ||
| import { getOS } from "../utils/getUserOs.js"; | ||
| import { getLatestVersionGh } from "../utils/ghOperations.js"; | ||
| import { execSyncShell } from "../utils/execSyncShell.js"; | ||
| import { getLatestVersion } from "../utils/getAptosCliLatestVersion.js"; | ||
| import { installCli } from "./install.js"; | ||
| import { getLocalBinPath } from "../utils/getLocalBinPath.js"; | ||
| export const updateCli = async () => { | ||
@@ -12,16 +14,21 @@ const path = getLocalBinPath(); | ||
| } | ||
| const latestVersion = await getLatestVersion(); | ||
| const currentVersion = execSyncShell(`${path} --version`, { | ||
| encoding: "utf8", | ||
| }) | ||
| .trim() | ||
| .split(" ")[1]; | ||
| if (currentVersion !== latestVersion) { | ||
| console.log(`A newer version of the CLI is available: ${latestVersion}, installing...`); | ||
| installCli(); | ||
| if (getOS() === "MacOS") { | ||
| return execSync("brew upgrade aptos"); | ||
| } | ||
| else { | ||
| console.log(`CLI is up to date`); | ||
| const latestVersion = await getLatestVersionGh(); | ||
| const currentVersion = execSyncShell(`${path} --version`, { | ||
| encoding: "utf8", | ||
| }) | ||
| .trim() | ||
| .split(" ")[1]; | ||
| if (currentVersion !== latestVersion) { | ||
| console.log(`A newer version of the CLI is available: ${latestVersion}, installing...`); | ||
| installCli(); | ||
| } | ||
| else { | ||
| console.log(`CLI is up to date`); | ||
| } | ||
| } | ||
| }; | ||
| //# sourceMappingURL=update.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"update.js","sourceRoot":"","sources":["../../bin/tasks/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAEhC,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAE9D,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,IAAI,EAAE;IAClC,MAAM,IAAI,GAAG,eAAe,EAAE,CAAC;IAC/B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,OAAO,CAAC,GAAG,CACT,+DAA+D,CAChE,CAAC;QACF,OAAO;IACT,CAAC;IAED,MAAM,aAAa,GAAG,MAAM,gBAAgB,EAAE,CAAC;IAE/C,MAAM,cAAc,GAAG,aAAa,CAAC,GAAG,IAAI,YAAY,EAAE;QACxD,QAAQ,EAAE,MAAM;KACjB,CAAC;SACC,IAAI,EAAE;SACN,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAEjB,IAAI,cAAc,KAAK,aAAa,EAAE,CAAC;QACrC,OAAO,CAAC,GAAG,CACT,4CAA4C,aAAa,iBAAiB,CAC3E,CAAC;QACF,UAAU,EAAE,CAAC;IACf,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;IACnC,CAAC;AACH,CAAC,CAAC"} | ||
| {"version":3,"file":"update.js","sourceRoot":"","sources":["../../bin/tasks/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAEhC,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,IAAI,EAAE;IAClC,MAAM,IAAI,GAAG,eAAe,EAAE,CAAC;IAE/B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,OAAO,CAAC,GAAG,CACT,+DAA+D,CAChE,CAAC;QACF,OAAO;IACT,CAAC;IAED,IAAI,KAAK,EAAE,KAAK,OAAO,EAAE,CAAC;QAExB,OAAO,QAAQ,CAAC,oBAAoB,CAAC,CAAC;IACxC,CAAC;SAAM,CAAC;QACN,MAAM,aAAa,GAAG,MAAM,kBAAkB,EAAE,CAAC;QAEjD,MAAM,cAAc,GAAG,aAAa,CAAC,GAAG,IAAI,YAAY,EAAE;YACxD,QAAQ,EAAE,MAAM;SACjB,CAAC;aACC,IAAI,EAAE;aACN,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAEjB,IAAI,cAAc,KAAK,aAAa,EAAE,CAAC;YACrC,OAAO,CAAC,GAAG,CACT,4CAA4C,aAAa,iBAAiB,CAC3E,CAAC;YACF,UAAU,EAAE,CAAC;QACf,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;AACH,CAAC,CAAC"} |
| export declare const getCliPathBrew: () => string; | ||
| export declare const getLatestVersionBrew: () => any; |
@@ -8,6 +8,2 @@ import { execSyncShell } from "./execSyncShell.js"; | ||
| }; | ||
| export const getLatestVersionBrew = () => { | ||
| const out = JSON.parse(execSyncShell("brew info --json aptos", { encoding: "utf8" })); | ||
| return out[0].versions.stable; | ||
| }; | ||
| //# sourceMappingURL=brewOperations.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"brewOperations.js","sourceRoot":"","sources":["../../bin/utils/brewOperations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAMnD,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,EAAE;IACjC,MAAM,SAAS,GAAG,aAAa,CAAC,qBAAqB,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;SACzE,QAAQ,EAAE;SACV,IAAI,EAAE,CAAC;IACV,OAAO,GAAG,SAAS,YAAY,CAAC;AAClC,CAAC,CAAC;AAMF,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,EAAE;IACvC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CACpB,aAAa,CAAC,wBAAwB,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAC9D,CAAC;IACF,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;AAChC,CAAC,CAAC"} | ||
| {"version":3,"file":"brewOperations.js","sourceRoot":"","sources":["../../bin/utils/brewOperations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAMnD,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,EAAE;IACjC,MAAM,SAAS,GAAG,aAAa,CAAC,qBAAqB,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;SACzE,QAAQ,EAAE;SACV,IAAI,EAAE,CAAC;IACV,OAAO,GAAG,SAAS,YAAY,CAAC;AAClC,CAAC,CAAC"} |
+1
-1
| { | ||
| "name": "@aptos-labs/aptos-cli", | ||
| "version": "1.0.1", | ||
| "version": "1.0.2", | ||
| "description": "Aptos CLI available from npmjs", | ||
@@ -5,0 +5,0 @@ "bin": { |
| import { getLatestVersionBrew } from "./brewOperations.js"; | ||
| import { getOS } from "./getUserOs.js"; | ||
| import { getLatestVersionGh } from "./ghOperations.js"; | ||
| /** | ||
| * Determine the latest version of the CLI. | ||
| */ | ||
| export const getLatestVersion = async () => { | ||
| if (getOS() === "MacOS") { | ||
| return getLatestVersionBrew(); | ||
| } else { | ||
| return getLatestVersionGh(); | ||
| } | ||
| }; |
| export declare const getLatestVersion: () => Promise<any>; |
| import { getLatestVersionBrew } from "./brewOperations.js"; | ||
| import { getOS } from "./getUserOs.js"; | ||
| import { getLatestVersionGh } from "./ghOperations.js"; | ||
| export const getLatestVersion = async () => { | ||
| if (getOS() === "MacOS") { | ||
| return getLatestVersionBrew(); | ||
| } | ||
| else { | ||
| return getLatestVersionGh(); | ||
| } | ||
| }; | ||
| //# sourceMappingURL=getAptosCliLatestVersion.js.map |
| {"version":3,"file":"getAptosCliLatestVersion.js","sourceRoot":"","sources":["../../bin/utils/getAptosCliLatestVersion.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAKvD,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,IAAI,EAAE;IACzC,IAAI,KAAK,EAAE,KAAK,OAAO,EAAE,CAAC;QACxB,OAAO,oBAAoB,EAAE,CAAC;IAChC,CAAC;SAAM,CAAC;QACN,OAAO,kBAAkB,EAAE,CAAC;IAC9B,CAAC;AACH,CAAC,CAAC"} |
Shell access
Supply chain riskThis module accesses the system shell. Accessing the system shell increases the risk of executing arbitrary code.
42586
-3.23%60
-6.25%557
-4.62%12
20%