azp-cli 1.0.0 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,20 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
4
4
 
5
+ ## [1.2.0](https://github.com/tapanmeena/azp-cli/compare/v1.1.0...v1.2.0) (2026-01-13)
6
+
7
+
8
+ ### Features
9
+
10
+ * enhance header display with improved formatting and styling ([7f88b3c](https://github.com/tapanmeena/azp-cli/commit/7f88b3c6dc49f141ab7925bb2d9b89aaf5f70bbf))
11
+
12
+ ## [1.1.0](https://github.com/tapanmeena/azp-cli/compare/v1.0.0...v1.1.0) (2026-01-13)
13
+
14
+
15
+ ### Features
16
+
17
+ * add update command to check for newer azp-cli versions ([be50502](https://github.com/tapanmeena/azp-cli/commit/be5050207b90335aace73927ccd9cc47e1c7f9ae))
18
+
5
19
  ## [1.0.0](https://github.com/tapanmeena/azp-cli/compare/v0.0.4...v1.0.0) (2026-01-13)
6
20
 
7
21
 
package/README.md CHANGED
@@ -76,9 +76,32 @@ node dist/index.js
76
76
  | ------------ | ----- | -------------------------------------- |
77
77
  | `activate` | `a` | Activate a role in Azure PIM (default) |
78
78
  | `deactivate` | `d` | Deactivate a role in Azure PIM |
79
+ | `update` | - | Check for a newer version |
79
80
  | `preset` | - | Manage reusable presets |
80
81
  | `help` | - | Display help information |
81
82
 
83
+ ### Updates
84
+
85
+ You can check if a newer version is available:
86
+
87
+ ```bash
88
+ azp update
89
+ # alias
90
+ azp upgrade
91
+ ```
92
+
93
+ Notes:
94
+
95
+ - `azp update` exits with code `0` when up-to-date, `2` when an update is available, and `1` on error.
96
+ - `--output json` returns a structured response suitable for scripts.
97
+ - By default, `azp activate` and `azp deactivate` will also show a short “update available” hint (text mode only) at most once per day.
98
+ - Disable update checks via `AZP_NO_UPDATE_NOTIFIER=1` (or `AZP_DISABLE_UPDATE_CHECK=1`).
99
+
100
+ The update-check cache is stored alongside presets in your config directory:
101
+
102
+ - macOS/Linux: `~/.config/azp-cli/update-check.json` (or `$XDG_CONFIG_HOME/azp-cli/update-check.json`)
103
+ - Windows: `%APPDATA%\azp-cli\update-check.json`
104
+
82
105
  ### One-command (non-interactive) activation
83
106
 
84
107
  Use flags to activate PIM roles directly without going through the main menu.
package/dist/index.js CHANGED
@@ -12,6 +12,26 @@ const cli_1 = require("./cli");
12
12
  const presets_cli_1 = require("./presets-cli");
13
13
  const presets_1 = require("./presets");
14
14
  const ui_1 = require("./ui");
15
+ const update_check_1 = require("./update-check");
16
+ const maybeNotifyUpdate = async (output, quiet) => {
17
+ if (quiet || output !== "text")
18
+ return;
19
+ if (!process.stdout.isTTY)
20
+ return;
21
+ if (process.env.CI)
22
+ return;
23
+ const result = await (0, update_check_1.checkForUpdate)({
24
+ packageName: package_json_1.name,
25
+ currentVersion: package_json_1.version,
26
+ mode: "auto",
27
+ });
28
+ if (!result.ok || !result.updateAvailable || !result.latestVersion)
29
+ return;
30
+ (0, ui_1.logWarning)(`Update available: ${result.currentVersion} → ${result.latestVersion}`);
31
+ (0, ui_1.logDim)(`Update: npm install -g ${package_json_1.name}@latest`);
32
+ (0, ui_1.logDim)(` pnpm add -g ${package_json_1.name}@latest`);
33
+ (0, ui_1.logBlank)();
34
+ };
15
35
  const getOptionValueSource = (command, optionName) => {
16
36
  const fn = command.getOptionValueSource;
17
37
  if (typeof fn === "function")
@@ -53,6 +73,7 @@ program
53
73
  const quiet = Boolean(cmd.quiet || output === "json");
54
74
  (0, ui_1.configureUi)({ quiet });
55
75
  (0, ui_1.showHeader)();
76
+ await maybeNotifyUpdate(output, quiet);
56
77
  const explicitPresetName = getOptionValueSource(command, "preset") === "cli" ? cmd.preset : undefined;
57
78
  const requestedRoleNames = cmd.roleName ?? [];
58
79
  const wantsOneShot = Boolean(cmd.noInteractive || cmd.subscriptionId || requestedRoleNames.length > 0 || cmd.dryRun || explicitPresetName);
@@ -149,6 +170,7 @@ program
149
170
  const quiet = Boolean(cmd.quiet || output === "json");
150
171
  (0, ui_1.configureUi)({ quiet });
151
172
  (0, ui_1.showHeader)();
173
+ await maybeNotifyUpdate(output, quiet);
152
174
  const explicitPresetName = getOptionValueSource(command, "preset") === "cli" ? cmd.preset : undefined;
153
175
  const requestedRoleNames = cmd.roleName ?? [];
154
176
  const wantsOneShot = Boolean(cmd.noInteractive || cmd.subscriptionId || requestedRoleNames.length > 0 || cmd.dryRun || explicitPresetName);
@@ -218,6 +240,71 @@ program
218
240
  process.exit(1);
219
241
  }
220
242
  });
243
+ program
244
+ .command("update")
245
+ .description("Check if a newer azp-cli version is available")
246
+ .alias("upgrade")
247
+ .option("--check-only", "Only check and print status (no upgrade instructions)")
248
+ .option("--output <text|json>", "Output format", "text")
249
+ .option("--quiet", "Suppress non-essential output (recommended with --output json)")
250
+ .action(async (cmd) => {
251
+ try {
252
+ const output = (cmd.output ?? "text");
253
+ const quiet = Boolean(cmd.quiet || output === "json");
254
+ (0, ui_1.configureUi)({ quiet });
255
+ (0, ui_1.showHeader)();
256
+ const result = await (0, update_check_1.checkForUpdate)({
257
+ packageName: package_json_1.name,
258
+ currentVersion: package_json_1.version,
259
+ mode: "force",
260
+ });
261
+ const upgradeCommands = {
262
+ npm: `npm install -g ${package_json_1.name}@latest`,
263
+ pnpm: `pnpm add -g ${package_json_1.name}@latest`,
264
+ };
265
+ if (output === "json") {
266
+ process.stdout.write(`${JSON.stringify({
267
+ ...result,
268
+ upgradeCommands: result.updateAvailable ? upgradeCommands : undefined,
269
+ }, null, 2)}\n`);
270
+ process.exit(result.ok ? (result.updateAvailable ? 2 : 0) : 1);
271
+ }
272
+ if (!result.ok) {
273
+ (0, ui_1.logWarning)("Could not check for updates.");
274
+ if (result.error)
275
+ (0, ui_1.logDim)(result.error);
276
+ if (!cmd.checkOnly) {
277
+ (0, ui_1.logBlank)();
278
+ (0, ui_1.logDim)(`Upgrade (when ready): ${upgradeCommands.npm}`);
279
+ (0, ui_1.logDim)(`Or: ${upgradeCommands.pnpm}`);
280
+ }
281
+ process.exit(1);
282
+ }
283
+ if (result.updateAvailable && result.latestVersion) {
284
+ (0, ui_1.logWarning)(`Update available: ${result.currentVersion} → ${result.latestVersion}`);
285
+ if (!cmd.checkOnly) {
286
+ (0, ui_1.logBlank)();
287
+ (0, ui_1.logDim)(`Upgrade: ${upgradeCommands.npm}`);
288
+ (0, ui_1.logDim)(`Or: ${upgradeCommands.pnpm}`);
289
+ }
290
+ process.exit(2);
291
+ }
292
+ (0, ui_1.logSuccess)(`You're up to date (${result.currentVersion}).`);
293
+ process.exit(0);
294
+ }
295
+ catch (error) {
296
+ const errorMessage = error instanceof Error ? error.message : String(error);
297
+ const output = (cmd.output ?? "text");
298
+ if (output === "json") {
299
+ process.stdout.write(`${JSON.stringify({ ok: false, error: errorMessage }, null, 2)}\n`);
300
+ process.exit(1);
301
+ }
302
+ (0, ui_1.logBlank)();
303
+ (0, ui_1.logError)(`An error occurred: ${errorMessage}`);
304
+ (0, ui_1.logBlank)();
305
+ process.exit(1);
306
+ }
307
+ });
221
308
  program
222
309
  .command("help")
223
310
  .description("Display help information about azp-cli commands")
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/ui.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../src/ui.ts"],"names":[],"mappings":"AACA,OAAY,EAAE,KAAK,GAAG,EAAE,MAAM,KAAK,CAAC;AAEpC,KAAK,SAAS,GAAG;IACf,KAAK,EAAE,OAAO,CAAC;CAChB,CAAC;AAMF,eAAO,MAAM,WAAW,GAAI,SAAS,OAAO,CAAC,SAAS,CAAC,KAAG,IAEzD,CAAC;AAEF,eAAO,MAAM,WAAW,QAAO,OAA0B,CAAC;AAY1D,eAAO,MAAM,YAAY,GAAI,MAAM,MAAM,KAAG,GAa3C,CAAC;AAKF,eAAO,MAAM,aAAa,GAAI,MAAM,MAAM,KAAG,IAK5C,CAAC;AAKF,eAAO,MAAM,cAAc,GAAI,OAAO,MAAM,KAAG,IAa9C,CAAC;AAKF,eAAO,MAAM,WAAW,GAAI,OAAO,MAAM,KAAG,IAa3C,CAAC;AAKF,eAAO,MAAM,WAAW,GAAI,OAAO,MAAM,KAAG,IAa3C,CAAC;AAKF,eAAO,MAAM,WAAW,GAAI,OAAO,MAAM,KAAG,IAa3C,CAAC;AAKF,eAAO,MAAM,WAAW,QAAO,IAS9B,CAAC;AASF,eAAO,MAAM,OAAO,GAAI,SAAS,MAAM,KAAG,IAGzC,CAAC;AAKF,eAAO,MAAM,UAAU,GAAI,SAAS,MAAM,KAAG,IAG5C,CAAC;AAKF,eAAO,MAAM,QAAQ,GAAI,SAAS,MAAM,KAAG,IAG1C,CAAC;AAKF,eAAO,MAAM,UAAU,GAAI,SAAS,MAAM,KAAG,IAG5C,CAAC;AAKF,eAAO,MAAM,MAAM,GAAI,SAAS,MAAM,KAAG,IAGxC,CAAC;AAKF,eAAO,MAAM,QAAQ,QAAO,IAG3B,CAAC;AASF,eAAO,MAAM,UAAU,QAAO,IAO7B,CAAC;AAKF,eAAO,MAAM,WAAW,QAAO,IAG9B,CAAC;AAKF,eAAO,MAAM,UAAU,GAAI,UAAU,MAAM,EAAE,kBAAkB,MAAM,KAAG,MAEvE,CAAC;AAKF,eAAO,MAAM,gBAAgB,GAAI,UAAU,MAAM,EAAE,kBAAkB,MAAM,EAAE,kBAAkB,MAAM,EAAE,eAAe,MAAM,KAAG,MAK9H,CAAC;AAKF,eAAO,MAAM,kBAAkB,GAAI,aAAa,MAAM,EAAE,gBAAgB,MAAM,KAAG,MAEhF,CAAC;AAKF,eAAO,MAAM,YAAY,GAAI,QAAQ,MAAM,KAAG,MAe7C,CAAC;AAKF,eAAO,MAAM,WAAW,GAAI,OAAO,MAAM,EAAE,OAAO;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAAE,KAAG,IAWtF,CAAC;AAUF,eAAO,MAAM,WAAW,GAAU,CAAC,EAAE,MAAM,MAAM,EAAE,WAAW,MAAM,OAAO,CAAC,CAAC,CAAC,EAAE,cAAc,MAAM,EAAE,WAAW,MAAM,KAAG,OAAO,CAAC,CAAC,CAkBlI,CAAC"}
1
+ {"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../src/ui.ts"],"names":[],"mappings":"AACA,OAAY,EAAE,KAAK,GAAG,EAAE,MAAM,KAAK,CAAC;AAEpC,KAAK,SAAS,GAAG;IACf,KAAK,EAAE,OAAO,CAAC;CAChB,CAAC;AAMF,eAAO,MAAM,WAAW,GAAI,SAAS,OAAO,CAAC,SAAS,CAAC,KAAG,IAEzD,CAAC;AAEF,eAAO,MAAM,WAAW,QAAO,OAA0B,CAAC;AAY1D,eAAO,MAAM,YAAY,GAAI,MAAM,MAAM,KAAG,GAa3C,CAAC;AAKF,eAAO,MAAM,aAAa,GAAI,MAAM,MAAM,KAAG,IAK5C,CAAC;AAKF,eAAO,MAAM,cAAc,GAAI,OAAO,MAAM,KAAG,IAa9C,CAAC;AAKF,eAAO,MAAM,WAAW,GAAI,OAAO,MAAM,KAAG,IAa3C,CAAC;AAKF,eAAO,MAAM,WAAW,GAAI,OAAO,MAAM,KAAG,IAa3C,CAAC;AAKF,eAAO,MAAM,WAAW,GAAI,OAAO,MAAM,KAAG,IAa3C,CAAC;AAKF,eAAO,MAAM,WAAW,QAAO,IAS9B,CAAC;AASF,eAAO,MAAM,OAAO,GAAI,SAAS,MAAM,KAAG,IAGzC,CAAC;AAKF,eAAO,MAAM,UAAU,GAAI,SAAS,MAAM,KAAG,IAG5C,CAAC;AAKF,eAAO,MAAM,QAAQ,GAAI,SAAS,MAAM,KAAG,IAG1C,CAAC;AAKF,eAAO,MAAM,UAAU,GAAI,SAAS,MAAM,KAAG,IAG5C,CAAC;AAKF,eAAO,MAAM,MAAM,GAAI,SAAS,MAAM,KAAG,IAGxC,CAAC;AAKF,eAAO,MAAM,QAAQ,QAAO,IAG3B,CAAC;AASF,eAAO,MAAM,UAAU,QAAO,IAkC7B,CAAC;AAKF,eAAO,MAAM,WAAW,QAAO,IAG9B,CAAC;AAKF,eAAO,MAAM,UAAU,GAAI,UAAU,MAAM,EAAE,kBAAkB,MAAM,KAAG,MAEvE,CAAC;AAKF,eAAO,MAAM,gBAAgB,GAAI,UAAU,MAAM,EAAE,kBAAkB,MAAM,EAAE,kBAAkB,MAAM,EAAE,eAAe,MAAM,KAAG,MAK9H,CAAC;AAKF,eAAO,MAAM,kBAAkB,GAAI,aAAa,MAAM,EAAE,gBAAgB,MAAM,KAAG,MAEhF,CAAC;AAKF,eAAO,MAAM,YAAY,GAAI,QAAQ,MAAM,KAAG,MAe7C,CAAC;AAKF,eAAO,MAAM,WAAW,GAAI,OAAO,MAAM,EAAE,OAAO;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAAE,KAAG,IAWtF,CAAC;AAUF,eAAO,MAAM,WAAW,GAAU,CAAC,EAAE,MAAM,MAAM,EAAE,WAAW,MAAM,OAAO,CAAC,CAAC,CAAC,EAAE,cAAc,MAAM,EAAE,WAAW,MAAM,KAAG,OAAO,CAAC,CAAC,CAkBlI,CAAC"}
package/dist/ui.js CHANGED
@@ -153,10 +153,33 @@ exports.logBlank = logBlank;
153
153
  const showHeader = () => {
154
154
  if ((0, exports.isQuietMode)())
155
155
  return;
156
+ const margin = " ";
157
+ const innerWidth = 53;
158
+ const stripAnsi = (value) => value.replace(/\x1B\[[0-?]*[ -/]*[@-~]/g, "");
159
+ const visibleWidth = (value) => Array.from(stripAnsi(value)).length;
160
+ const padCenter = (value) => {
161
+ const width = visibleWidth(value);
162
+ if (width >= innerWidth)
163
+ return value;
164
+ const left = Math.floor((innerWidth - width) / 2);
165
+ const right = innerWidth - width - left;
166
+ return " ".repeat(left) + value + " ".repeat(right);
167
+ };
168
+ const printLine = (content = "") => {
169
+ console.log(chalk_1.default.cyan(`${margin}│`) + padCenter(content) + chalk_1.default.cyan("│"));
170
+ };
156
171
  (0, exports.logBlank)();
157
- console.log(chalk_1.default.cyan.bold("╔════════════════════════════════════════════════════╗"));
158
- console.log(chalk_1.default.cyan.bold("║") + chalk_1.default.white.bold(" Azure PIM CLI - Role Activation Manager ") + chalk_1.default.cyan.bold("║"));
159
- console.log(chalk_1.default.cyan.bold("╚════════════════════════════════════════════════════╝"));
172
+ const top = `${margin}╭${"─".repeat(innerWidth)}╮`;
173
+ const bottom = `${margin}╰${"─".repeat(innerWidth)}╯`;
174
+ const title = chalk_1.default.blueBright("⚡ ") + chalk_1.default.bold.white("AZP-CLI") + chalk_1.default.dim(" • Azure PIM Manager") + chalk_1.default.blueBright(" ⚡");
175
+ const tagline = chalk_1.default.dim("Activate & manage your Azure roles");
176
+ console.log(chalk_1.default.cyan(top));
177
+ printLine();
178
+ printLine(title);
179
+ printLine();
180
+ printLine(tagline);
181
+ printLine();
182
+ console.log(chalk_1.default.cyan(bottom));
160
183
  (0, exports.logBlank)();
161
184
  };
162
185
  exports.showHeader = showHeader;
package/dist/ui.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"ui.js","sourceRoot":"","sources":["../src/ui.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ui.js","sourceRoot":"","sources":["../src/ui.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import "isomorphic-fetch";
2
+ export type UpdateCheckMode = "auto" | "force";
3
+ export type UpdateCheckResult = {
4
+ ok: boolean;
5
+ packageName: string;
6
+ currentVersion: string;
7
+ latestVersion?: string;
8
+ updateAvailable?: boolean;
9
+ checkedAt: string;
10
+ cached: boolean;
11
+ error?: string;
12
+ };
13
+ export declare const checkForUpdate: (options: {
14
+ packageName: string;
15
+ currentVersion: string;
16
+ mode?: UpdateCheckMode;
17
+ intervalMs?: number;
18
+ timeoutMs?: number;
19
+ }) => Promise<UpdateCheckResult>;
20
+ //# sourceMappingURL=update-check.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-check.d.ts","sourceRoot":"","sources":["../src/update-check.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAO1B,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,OAAO,CAAC;AAE/C,MAAM,MAAM,iBAAiB,GAAG;IAC9B,EAAE,EAAE,OAAO,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAkGF,eAAO,MAAM,cAAc,GAAU,SAAS;IAC5C,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,KAAG,OAAO,CAAC,iBAAiB,CAiE5B,CAAC"}
@@ -0,0 +1,161 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.checkForUpdate = void 0;
7
+ require("isomorphic-fetch");
8
+ const promises_1 = require("node:fs/promises");
9
+ const node_path_1 = __importDefault(require("node:path"));
10
+ const presets_1 = require("./presets");
11
+ const DEFAULT_INTERVAL_MS = 24 * 60 * 60 * 1000;
12
+ const DEFAULT_TIMEOUT_MS = 1500;
13
+ const getUpdateStateFilePath = () => {
14
+ const presetsPath = (0, presets_1.getDefaultPresetsFilePath)();
15
+ const configDir = node_path_1.default.dirname(presetsPath);
16
+ return node_path_1.default.join(configDir, "update-check.json");
17
+ };
18
+ const parseSemver = (value) => {
19
+ const match = /^(\d+)\.(\d+)\.(\d+)/.exec(value.trim());
20
+ if (!match)
21
+ return undefined;
22
+ return [Number(match[1]), Number(match[2]), Number(match[3])];
23
+ };
24
+ const isUpdateAvailable = (currentVersion, latestVersion) => {
25
+ const current = parseSemver(currentVersion);
26
+ const latest = parseSemver(latestVersion);
27
+ if (!current || !latest)
28
+ return undefined;
29
+ const [c0, c1, c2] = current;
30
+ const [l0, l1, l2] = latest;
31
+ if (c0 !== l0)
32
+ return c0 < l0;
33
+ if (c1 !== l1)
34
+ return c1 < l1;
35
+ if (c2 !== l2)
36
+ return c2 < l2;
37
+ return false;
38
+ };
39
+ const isDisabledByEnv = () => {
40
+ const keys = ["AZP_NO_UPDATE_NOTIFIER", "AZP_DISABLE_UPDATE_CHECK"];
41
+ for (const key of keys) {
42
+ const value = process.env[key];
43
+ if (!value)
44
+ continue;
45
+ const normalized = value.trim().toLowerCase();
46
+ if (normalized === "1" || normalized === "true" || normalized === "yes")
47
+ return true;
48
+ }
49
+ return false;
50
+ };
51
+ const readState = async (filePath) => {
52
+ try {
53
+ const raw = await (0, promises_1.readFile)(filePath, "utf8");
54
+ const json = JSON.parse(raw);
55
+ if (!json || typeof json !== "object")
56
+ return undefined;
57
+ const lastCheckedAt = json.lastCheckedAt;
58
+ const latestVersion = json.latestVersion;
59
+ if (typeof lastCheckedAt !== "string" || typeof latestVersion !== "string")
60
+ return undefined;
61
+ return { lastCheckedAt, latestVersion };
62
+ }
63
+ catch (error) {
64
+ if (error?.code === "ENOENT")
65
+ return undefined;
66
+ return undefined;
67
+ }
68
+ };
69
+ const writeState = async (filePath, state) => {
70
+ const dir = node_path_1.default.dirname(filePath);
71
+ await (0, promises_1.mkdir)(dir, { recursive: true });
72
+ await (0, promises_1.writeFile)(filePath, `${JSON.stringify(state, null, 2)}\n`, "utf8");
73
+ };
74
+ const fetchLatestVersion = async (packageName, timeoutMs) => {
75
+ const url = `https://registry.npmjs.org/${encodeURIComponent(packageName)}/latest`;
76
+ const controller = new AbortController();
77
+ const timeout = setTimeout(() => controller.abort(), timeoutMs);
78
+ try {
79
+ const res = await fetch(url, {
80
+ signal: controller.signal,
81
+ headers: {
82
+ accept: "application/json",
83
+ "user-agent": "azp-cli-update-check",
84
+ },
85
+ });
86
+ if (!res.ok) {
87
+ throw new Error(`npm registry request failed: ${res.status} ${res.statusText}`);
88
+ }
89
+ const json = (await res.json());
90
+ const version = typeof json?.version === "string" ? json.version : undefined;
91
+ if (!version)
92
+ throw new Error("npm registry response missing version");
93
+ return version;
94
+ }
95
+ finally {
96
+ clearTimeout(timeout);
97
+ }
98
+ };
99
+ const checkForUpdate = async (options) => {
100
+ const packageName = options.packageName;
101
+ const currentVersion = options.currentVersion;
102
+ const mode = options.mode ?? "auto";
103
+ const intervalMs = options.intervalMs ?? DEFAULT_INTERVAL_MS;
104
+ const timeoutMs = options.timeoutMs ?? DEFAULT_TIMEOUT_MS;
105
+ const stateFilePath = getUpdateStateFilePath();
106
+ const now = new Date();
107
+ if (mode === "auto" && isDisabledByEnv()) {
108
+ return {
109
+ ok: true,
110
+ packageName,
111
+ currentVersion,
112
+ checkedAt: now.toISOString(),
113
+ cached: true,
114
+ };
115
+ }
116
+ const state = await readState(stateFilePath);
117
+ if (mode === "auto" && state) {
118
+ const lastCheckedAtMs = Date.parse(state.lastCheckedAt);
119
+ if (Number.isFinite(lastCheckedAtMs) && now.getTime() - lastCheckedAtMs < intervalMs) {
120
+ const updateAvailable = isUpdateAvailable(currentVersion, state.latestVersion);
121
+ return {
122
+ ok: true,
123
+ packageName,
124
+ currentVersion,
125
+ latestVersion: state.latestVersion,
126
+ updateAvailable,
127
+ checkedAt: now.toISOString(),
128
+ cached: true,
129
+ };
130
+ }
131
+ }
132
+ try {
133
+ const latestVersion = await fetchLatestVersion(packageName, timeoutMs);
134
+ const updateAvailable = isUpdateAvailable(currentVersion, latestVersion);
135
+ await writeState(stateFilePath, {
136
+ lastCheckedAt: now.toISOString(),
137
+ latestVersion,
138
+ });
139
+ return {
140
+ ok: true,
141
+ packageName,
142
+ currentVersion,
143
+ latestVersion,
144
+ updateAvailable,
145
+ checkedAt: now.toISOString(),
146
+ cached: false,
147
+ };
148
+ }
149
+ catch (error) {
150
+ return {
151
+ ok: false,
152
+ packageName,
153
+ currentVersion,
154
+ checkedAt: now.toISOString(),
155
+ cached: false,
156
+ error: error instanceof Error ? error.message : String(error),
157
+ };
158
+ }
159
+ };
160
+ exports.checkForUpdate = checkForUpdate;
161
+ //# sourceMappingURL=update-check.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-check.js","sourceRoot":"","sources":["../src/update-check.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,11 +1,19 @@
1
1
  {
2
2
  "name": "azp-cli",
3
- "version": "1.0.0",
3
+ "version": "1.2.0",
4
4
  "description": "Terminal app to manage Azure PIM role activations",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
7
7
  "azp": "./dist/index.js"
8
8
  },
9
+ "scripts": {
10
+ "build": "tsc",
11
+ "start": "node dist/index.js",
12
+ "dev": "ts-node -r tsconfig-paths/register src/index.ts",
13
+ "lint": "tsc -p tsconfig.json --noEmit",
14
+ "release": "standard-version",
15
+ "release:dry": "standard-version --dry-run"
16
+ },
9
17
  "keywords": [
10
18
  "azure",
11
19
  "pim",
@@ -18,6 +26,7 @@
18
26
  "email": "tapanmeena1998@gmail.com"
19
27
  },
20
28
  "license": "ISC",
29
+ "packageManager": "pnpm@10.28.0",
21
30
  "dependencies": {
22
31
  "@azure/arm-authorization": "^9.0.0",
23
32
  "@azure/arm-resources-subscriptions": "^2.1.0",
@@ -38,13 +47,5 @@
38
47
  "ts-node": "^10.9.2",
39
48
  "tsconfig-paths": "^4.2.0",
40
49
  "typescript": "^5.9.3"
41
- },
42
- "scripts": {
43
- "build": "tsc",
44
- "start": "node dist/index.js",
45
- "dev": "ts-node -r tsconfig-paths/register src/index.ts",
46
- "lint": "tsc -p tsconfig.json --noEmit",
47
- "release": "standard-version",
48
- "release:dry": "standard-version --dry-run"
49
50
  }
50
- }
51
+ }
package/src/index.ts CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  import { Command } from "commander";
4
4
  import inquirer from "inquirer";
5
- import { version } from "../package.json";
5
+ import { name as npmPackageName, version } from "../package.json";
6
6
  import { authenticate } from "./auth";
7
7
  import { activateOnce, deactivateOnce, showMainMenu } from "./cli";
8
8
  import { runPresetAddWizard, runPresetEditWizard } from "./presets-cli";
@@ -20,6 +20,7 @@ import {
20
20
  upsertPreset,
21
21
  } from "./presets";
22
22
  import { configureUi, logBlank, logDim, logError, logInfo, logSuccess, logWarning, showHeader } from "./ui";
23
+ import { checkForUpdate } from "./update-check";
23
24
 
24
25
  type OutputFormat = "text" | "json";
25
26
 
@@ -57,6 +58,31 @@ type PresetCommandOptions = {
57
58
  yes?: boolean;
58
59
  };
59
60
 
61
+ type UpdateCommandOptions = {
62
+ output?: OutputFormat;
63
+ quiet?: boolean;
64
+ checkOnly?: boolean;
65
+ };
66
+
67
+ const maybeNotifyUpdate = async (output: OutputFormat, quiet: boolean): Promise<void> => {
68
+ if (quiet || output !== "text") return;
69
+ if (!process.stdout.isTTY) return;
70
+ if (process.env.CI) return;
71
+
72
+ const result = await checkForUpdate({
73
+ packageName: npmPackageName,
74
+ currentVersion: version,
75
+ mode: "auto",
76
+ });
77
+
78
+ if (!result.ok || !result.updateAvailable || !result.latestVersion) return;
79
+
80
+ logWarning(`Update available: ${result.currentVersion} → ${result.latestVersion}`);
81
+ logDim(`Update: npm install -g ${npmPackageName}@latest`);
82
+ logDim(` pnpm add -g ${npmPackageName}@latest`);
83
+ logBlank();
84
+ };
85
+
60
86
  const getOptionValueSource = (command: Command, optionName: string): string | undefined => {
61
87
  const fn = (command as any).getOptionValueSource;
62
88
  if (typeof fn === "function") return fn.call(command, optionName);
@@ -107,6 +133,8 @@ program
107
133
  // Show header (text mode only)
108
134
  showHeader();
109
135
 
136
+ await maybeNotifyUpdate(output, quiet);
137
+
110
138
  const explicitPresetName = getOptionValueSource(command, "preset") === "cli" ? cmd.preset : undefined;
111
139
 
112
140
  const requestedRoleNames = cmd.roleName ?? [];
@@ -231,6 +259,8 @@ program
231
259
  // Show header (text mode only)
232
260
  showHeader();
233
261
 
262
+ await maybeNotifyUpdate(output, quiet);
263
+
234
264
  const explicitPresetName = getOptionValueSource(command, "preset") === "cli" ? cmd.preset : undefined;
235
265
 
236
266
  const requestedRoleNames = cmd.roleName ?? [];
@@ -318,6 +348,83 @@ program
318
348
  }
319
349
  });
320
350
 
351
+ program
352
+ .command("update")
353
+ .description("Check if a newer azp-cli version is available")
354
+ .alias("upgrade")
355
+ .option("--check-only", "Only check and print status (no upgrade instructions)")
356
+ .option("--output <text|json>", "Output format", "text")
357
+ .option("--quiet", "Suppress non-essential output (recommended with --output json)")
358
+ .action(async (cmd: UpdateCommandOptions) => {
359
+ try {
360
+ const output = (cmd.output ?? "text") as OutputFormat;
361
+ const quiet = Boolean(cmd.quiet || output === "json");
362
+ configureUi({ quiet });
363
+
364
+ showHeader();
365
+
366
+ const result = await checkForUpdate({
367
+ packageName: npmPackageName,
368
+ currentVersion: version,
369
+ mode: "force",
370
+ });
371
+
372
+ const upgradeCommands = {
373
+ npm: `npm install -g ${npmPackageName}@latest`,
374
+ pnpm: `pnpm add -g ${npmPackageName}@latest`,
375
+ };
376
+
377
+ if (output === "json") {
378
+ process.stdout.write(
379
+ `${JSON.stringify(
380
+ {
381
+ ...result,
382
+ upgradeCommands: result.updateAvailable ? upgradeCommands : undefined,
383
+ },
384
+ null,
385
+ 2
386
+ )}\n`
387
+ );
388
+ process.exit(result.ok ? (result.updateAvailable ? 2 : 0) : 1);
389
+ }
390
+
391
+ if (!result.ok) {
392
+ logWarning("Could not check for updates.");
393
+ if (result.error) logDim(result.error);
394
+ if (!cmd.checkOnly) {
395
+ logBlank();
396
+ logDim(`Upgrade (when ready): ${upgradeCommands.npm}`);
397
+ logDim(`Or: ${upgradeCommands.pnpm}`);
398
+ }
399
+ process.exit(1);
400
+ }
401
+
402
+ if (result.updateAvailable && result.latestVersion) {
403
+ logWarning(`Update available: ${result.currentVersion} → ${result.latestVersion}`);
404
+ if (!cmd.checkOnly) {
405
+ logBlank();
406
+ logDim(`Upgrade: ${upgradeCommands.npm}`);
407
+ logDim(`Or: ${upgradeCommands.pnpm}`);
408
+ }
409
+ process.exit(2);
410
+ }
411
+
412
+ logSuccess(`You're up to date (${result.currentVersion}).`);
413
+ process.exit(0);
414
+ } catch (error: any) {
415
+ const errorMessage = error instanceof Error ? error.message : String(error);
416
+ const output = (cmd.output ?? "text") as OutputFormat;
417
+ if (output === "json") {
418
+ process.stdout.write(`${JSON.stringify({ ok: false, error: errorMessage }, null, 2)}\n`);
419
+ process.exit(1);
420
+ }
421
+ logBlank();
422
+ logError(`An error occurred: ${errorMessage}`);
423
+ logBlank();
424
+ process.exit(1);
425
+ }
426
+ });
427
+
321
428
  program
322
429
  .command("help")
323
430
  .description("Display help information about azp-cli commands")
package/src/ui.ts CHANGED
@@ -197,10 +197,37 @@ export const logBlank = (): void => {
197
197
  */
198
198
  export const showHeader = (): void => {
199
199
  if (isQuietMode()) return;
200
+
201
+ const margin = " ";
202
+ const innerWidth = 53;
203
+
204
+ const stripAnsi = (value: string): string => value.replace(/\x1B\[[0-?]*[ -/]*[@-~]/g, "");
205
+ const visibleWidth = (value: string): number => Array.from(stripAnsi(value)).length;
206
+ const padCenter = (value: string, numberOfSpecialChars: number): string => {
207
+ const width = visibleWidth(value);
208
+ if (width >= innerWidth) return value;
209
+ const left = Math.floor((innerWidth - width) / 2);
210
+ const right = innerWidth - width - left - numberOfSpecialChars;
211
+ return " ".repeat(left) + value + " ".repeat(right);
212
+ };
213
+ const printLine = (content = "", numberOfSpecialChars = 0): void => {
214
+ console.log(chalk.cyan(`${margin}│`) + padCenter(content, numberOfSpecialChars) + chalk.cyan("│"));
215
+ };
216
+
200
217
  logBlank();
201
- console.log(chalk.cyan.bold("╔════════════════════════════════════════════════════╗"));
202
- console.log(chalk.cyan.bold("║") + chalk.white.bold(" Azure PIM CLI - Role Activation Manager ") + chalk.cyan.bold("║"));
203
- console.log(chalk.cyan.bold("╚════════════════════════════════════════════════════╝"));
218
+
219
+ const top = `${margin}╭${"─".repeat(innerWidth)}╮`;
220
+ const bottom = `${margin}╰${"─".repeat(innerWidth)}╯`;
221
+ const title = chalk.blueBright("⚡ ") + chalk.bold.white("AZP-CLI") + chalk.dim(" • Azure PIM Manager") + chalk.blueBright(" ⚡");
222
+ const tagline = chalk.dim("Activate & manage your Azure roles");
223
+
224
+ console.log(chalk.cyan(top));
225
+ printLine();
226
+ printLine(title, 2);
227
+ printLine();
228
+ printLine(tagline);
229
+ printLine();
230
+ console.log(chalk.cyan(bottom));
204
231
  logBlank();
205
232
  };
206
233
 
@@ -0,0 +1,188 @@
1
+ import "isomorphic-fetch";
2
+
3
+ import { mkdir, readFile, writeFile } from "node:fs/promises";
4
+ import path from "node:path";
5
+
6
+ import { getDefaultPresetsFilePath } from "./presets";
7
+
8
+ export type UpdateCheckMode = "auto" | "force";
9
+
10
+ export type UpdateCheckResult = {
11
+ ok: boolean;
12
+ packageName: string;
13
+ currentVersion: string;
14
+ latestVersion?: string;
15
+ updateAvailable?: boolean;
16
+ checkedAt: string;
17
+ cached: boolean;
18
+ error?: string;
19
+ };
20
+
21
+ type UpdateCheckStateFile = {
22
+ lastCheckedAt: string;
23
+ latestVersion: string;
24
+ };
25
+
26
+ const DEFAULT_INTERVAL_MS = 24 * 60 * 60 * 1000;
27
+ const DEFAULT_TIMEOUT_MS = 1500;
28
+
29
+ const getUpdateStateFilePath = (): string => {
30
+ const presetsPath = getDefaultPresetsFilePath();
31
+ const configDir = path.dirname(presetsPath);
32
+ return path.join(configDir, "update-check.json");
33
+ };
34
+
35
+ const parseSemver = (value: string): [number, number, number] | undefined => {
36
+ const match = /^(\d+)\.(\d+)\.(\d+)/.exec(value.trim());
37
+ if (!match) return undefined;
38
+ return [Number(match[1]), Number(match[2]), Number(match[3])];
39
+ };
40
+
41
+ const isUpdateAvailable = (currentVersion: string, latestVersion: string): boolean | undefined => {
42
+ const current = parseSemver(currentVersion);
43
+ const latest = parseSemver(latestVersion);
44
+ if (!current || !latest) return undefined;
45
+
46
+ const [c0, c1, c2] = current;
47
+ const [l0, l1, l2] = latest;
48
+
49
+ if (c0 !== l0) return c0 < l0;
50
+ if (c1 !== l1) return c1 < l1;
51
+ if (c2 !== l2) return c2 < l2;
52
+ return false;
53
+ };
54
+
55
+ const isDisabledByEnv = (): boolean => {
56
+ const keys = ["AZP_NO_UPDATE_NOTIFIER", "AZP_DISABLE_UPDATE_CHECK"];
57
+ for (const key of keys) {
58
+ const value = process.env[key];
59
+ if (!value) continue;
60
+ const normalized = value.trim().toLowerCase();
61
+ if (normalized === "1" || normalized === "true" || normalized === "yes") return true;
62
+ }
63
+ return false;
64
+ };
65
+
66
+ const readState = async (filePath: string): Promise<UpdateCheckStateFile | undefined> => {
67
+ try {
68
+ const raw = await readFile(filePath, "utf8");
69
+ const json = JSON.parse(raw) as unknown;
70
+ if (!json || typeof json !== "object") return undefined;
71
+
72
+ const lastCheckedAt = (json as any).lastCheckedAt;
73
+ const latestVersion = (json as any).latestVersion;
74
+
75
+ if (typeof lastCheckedAt !== "string" || typeof latestVersion !== "string") return undefined;
76
+ return { lastCheckedAt, latestVersion };
77
+ } catch (error: any) {
78
+ if (error?.code === "ENOENT") return undefined;
79
+ return undefined;
80
+ }
81
+ };
82
+
83
+ const writeState = async (filePath: string, state: UpdateCheckStateFile): Promise<void> => {
84
+ const dir = path.dirname(filePath);
85
+ await mkdir(dir, { recursive: true });
86
+ await writeFile(filePath, `${JSON.stringify(state, null, 2)}\n`, "utf8");
87
+ };
88
+
89
+ const fetchLatestVersion = async (packageName: string, timeoutMs: number): Promise<string> => {
90
+ const url = `https://registry.npmjs.org/${encodeURIComponent(packageName)}/latest`;
91
+
92
+ const controller = new AbortController();
93
+ const timeout = setTimeout(() => controller.abort(), timeoutMs);
94
+
95
+ try {
96
+ const res = await fetch(url, {
97
+ signal: controller.signal,
98
+ headers: {
99
+ accept: "application/json",
100
+ "user-agent": "azp-cli-update-check",
101
+ },
102
+ });
103
+
104
+ if (!res.ok) {
105
+ throw new Error(`npm registry request failed: ${res.status} ${res.statusText}`);
106
+ }
107
+
108
+ const json = (await res.json()) as any;
109
+ const version = typeof json?.version === "string" ? json.version : undefined;
110
+ if (!version) throw new Error("npm registry response missing version");
111
+ return version;
112
+ } finally {
113
+ clearTimeout(timeout);
114
+ }
115
+ };
116
+
117
+ export const checkForUpdate = async (options: {
118
+ packageName: string;
119
+ currentVersion: string;
120
+ mode?: UpdateCheckMode;
121
+ intervalMs?: number;
122
+ timeoutMs?: number;
123
+ }): Promise<UpdateCheckResult> => {
124
+ const packageName = options.packageName;
125
+ const currentVersion = options.currentVersion;
126
+ const mode: UpdateCheckMode = options.mode ?? "auto";
127
+ const intervalMs = options.intervalMs ?? DEFAULT_INTERVAL_MS;
128
+ const timeoutMs = options.timeoutMs ?? DEFAULT_TIMEOUT_MS;
129
+
130
+ const stateFilePath = getUpdateStateFilePath();
131
+ const now = new Date();
132
+
133
+ if (mode === "auto" && isDisabledByEnv()) {
134
+ return {
135
+ ok: true,
136
+ packageName,
137
+ currentVersion,
138
+ checkedAt: now.toISOString(),
139
+ cached: true,
140
+ };
141
+ }
142
+
143
+ const state = await readState(stateFilePath);
144
+ if (mode === "auto" && state) {
145
+ const lastCheckedAtMs = Date.parse(state.lastCheckedAt);
146
+ if (Number.isFinite(lastCheckedAtMs) && now.getTime() - lastCheckedAtMs < intervalMs) {
147
+ const updateAvailable = isUpdateAvailable(currentVersion, state.latestVersion);
148
+ return {
149
+ ok: true,
150
+ packageName,
151
+ currentVersion,
152
+ latestVersion: state.latestVersion,
153
+ updateAvailable,
154
+ checkedAt: now.toISOString(),
155
+ cached: true,
156
+ };
157
+ }
158
+ }
159
+
160
+ try {
161
+ const latestVersion = await fetchLatestVersion(packageName, timeoutMs);
162
+ const updateAvailable = isUpdateAvailable(currentVersion, latestVersion);
163
+
164
+ await writeState(stateFilePath, {
165
+ lastCheckedAt: now.toISOString(),
166
+ latestVersion,
167
+ });
168
+
169
+ return {
170
+ ok: true,
171
+ packageName,
172
+ currentVersion,
173
+ latestVersion,
174
+ updateAvailable,
175
+ checkedAt: now.toISOString(),
176
+ cached: false,
177
+ };
178
+ } catch (error: any) {
179
+ return {
180
+ ok: false,
181
+ packageName,
182
+ currentVersion,
183
+ checkedAt: now.toISOString(),
184
+ cached: false,
185
+ error: error instanceof Error ? error.message : String(error),
186
+ };
187
+ }
188
+ };