@doist/cli-core 0.20.0 → 0.21.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
@@ -1,3 +1,15 @@
1
+ ## [0.21.0](https://github.com/Doist/cli-core/compare/v0.20.1...v0.21.0) (2026-05-22)
2
+
3
+ ### Features
4
+
5
+ * **update:** detect Homebrew installs and upgrade via brew ([#44](https://github.com/Doist/cli-core/issues/44)) ([a532a41](https://github.com/Doist/cli-core/commit/a532a41af79bfb2e7cf1f2d2b9c387d8592dea79))
6
+
7
+ ## [0.20.1](https://github.com/Doist/cli-core/compare/v0.20.0...v0.20.1) (2026-05-21)
8
+
9
+ ### Bug Fixes
10
+
11
+ * **auth:** send DCR HTTP Basic credentials raw, not form-url-encoded ([#43](https://github.com/Doist/cli-core/issues/43)) ([97a626a](https://github.com/Doist/cli-core/commit/97a626a69a52761117e70fccc7049d24ad001937))
12
+
1
13
  ## [0.20.0](https://github.com/Doist/cli-core/compare/v0.19.0...v0.20.0) (2026-05-21)
2
14
 
3
15
  ### Features
package/README.md CHANGED
@@ -114,11 +114,12 @@ registerUpdateCommand(program, {
114
114
  currentVersion: packageJson.version,
115
115
  configPath: getConfigPath('todoist-cli'),
116
116
  changelogCommandName: 'td changelog',
117
+ brewFormula: 'doist/tap/todoist-cli',
117
118
  withSpinner,
118
119
  })
119
120
  ```
120
121
 
121
- `update` checks the configured channel's npm dist-tag (`stable` → `latest`, `pre-release` → `next`), compares against `currentVersion`, and shells out to `npm i -g` (or `pnpm add -g` if `npm_execpath` indicates pnpm). `update switch --stable | --pre-release` flips the persisted `update_channel` field via `updateConfig`, preserving any sibling keys. Both subcommands accept `--json` / `--ndjson`. Errors are `CliError` (`INVALID_FLAGS`, `UPDATE_CHECK_FAILED`, `UPDATE_INSTALL_FAILED`, or the canonical `CONFIG_*` codes if the config file is broken).
122
+ `update` checks the configured channel's npm dist-tag (`stable` → `latest`, `pre-release` → `next`), compares against `currentVersion`, and shells out to `npm i -g` (or `pnpm add -g` if `npm_execpath` indicates pnpm). When the CLI was installed via Homebrew (its binary resolves into a brew `Cellar`), it runs `brew upgrade <brewFormula>` instead — set `brewFormula` on brew-distributed CLIs (the brew formula may lag the npm publish, so an upgrade can be a no-op until the formula is bumped). `update switch --stable | --pre-release` flips the persisted `update_channel` field via `updateConfig`, preserving any sibling keys. Both subcommands accept `--json` / `--ndjson`. Errors are `CliError` (`INVALID_FLAGS`, `UPDATE_CHECK_FAILED`, `UPDATE_INSTALL_FAILED`, or the canonical `CONFIG_*` codes if the config file is broken).
122
123
 
123
124
  The semver helpers (`parseVersion`, `compareVersions`, `isNewer`, `getInstallTag`, `fetchLatestVersion`, `getConfiguredUpdateChannel`) are also exported for ad-hoc use outside the registered command.
124
125
 
@@ -193,7 +194,7 @@ const provider = createDcrProvider<Account>({
193
194
  })
194
195
  ```
195
196
 
196
- The DCR-issued `client_id` (and `client_secret`, if returned) are stashed in the handshake and threaded through the rest of the flow. The server-returned `token_endpoint_auth_method` is authoritative (RFC 7591 §3.2.1) and overrides the configured one. By default the token exchange uses `Authorization: Basic` with form-url-encoded credentials (RFC 6749 §2.3.1); pass `tokenEndpointAuthMethod: 'client_secret_post'` to send credentials in the body instead, or `'none'` for a public-client registration. When the registration response carries no `client_secret`, the exchange falls back to a public-client POST regardless of the requested method. Any extra registration metadata (e.g. `software_statement`) goes in `clientMetadata.extra`. cli-core does **not** cache the registered client — each login mints a fresh one.
197
+ The DCR-issued `client_id` (and `client_secret`, if returned) are stashed in the handshake and threaded through the rest of the flow. The server-returned `token_endpoint_auth_method` is authoritative (RFC 7591 §3.2.1) and overrides the configured one. By default the token exchange uses `Authorization: Basic` with each credential component percent-encoded via `encodeURIComponent` (RFC 3986) rather than oauth4webapi's stricter RFC 6749 §2.3.1 form-url-encoding. Both escape genuinely reserved chars (`:` / `%` / `+` / `/`) so a conformant server reconstructs them, but §2.3.1 _also_ escapes the unreserved `-` `_` `.` `~` — which breaks servers that don't url-decode the Basic credential (a DCR-issued `twd_…` would arrive as `twd%5F…` and miss the lookup). Pass `tokenEndpointAuthMethod: 'client_secret_post'` to send credentials in the body instead, or `'none'` for a public-client registration. When the registration response carries no `client_secret`, the exchange falls back to a public-client POST regardless of the requested method. Any extra registration metadata (e.g. `software_statement`) goes in `clientMetadata.extra`. cli-core does **not** cache the registered client — each login mints a fresh one.
197
198
 
198
199
  Both `createPkceProvider` and `createDcrProvider` accept an optional `errorHints: string[]` that is prepended to every `CliError` they throw. Use it for CLI-specific remediation that should accompany every auth failure (e.g. `['Try again: tw auth login', 'Or set TWIST_API_TOKEN environment variable']`). Server-returned response bodies (for non-2xx replies) are appended after the user hints so the actionable hint stays at the top.
199
200
 
@@ -63,8 +63,9 @@ export type DcrProviderOptions<TAccount extends AuthAccount = AuthAccount> = {
63
63
  * - `authorize`: standard PKCE S256 with `client_id` read from the handshake.
64
64
  * - `exchangeCode`: `authorizationCodeGrantRequest` authenticated per the
65
65
  * handshake's server-returned auth method (falling back to the configured
66
- * one) — `ClientSecretBasic` / `ClientSecretPost` / `None` (the last also
67
- * when the registration response carried no `client_secret`).
66
+ * one) — HTTP Basic (RFC 3986-encoded, see `clientSecretBasicRfc3986`),
67
+ * client-secret POST, or public-client `None` (the last also when the
68
+ * registration response carried no `client_secret`).
68
69
  * - `validateToken`: caller-supplied.
69
70
  */
70
71
  export declare function createDcrProvider<TAccount extends AuthAccount>(options: DcrProviderOptions<TAccount>): AuthProvider<TAccount>;
@@ -1 +1 @@
1
- {"version":3,"file":"dcr.d.ts","sourceRoot":"","sources":["../../../src/auth/providers/dcr.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACR,WAAW,EACX,YAAY,EAOZ,aAAa,EAChB,MAAM,aAAa,CAAA;AAQpB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AAEhD,MAAM,MAAM,0BAA0B,GAAG,qBAAqB,GAAG,oBAAoB,GAAG,MAAM,CAAA;AAE9F;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC5B,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,eAAe,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAA;IAClC;;;;;OAKG;IACH,uBAAuB,CAAC,EAAE,0BAA0B,CAAA;IACpD,4CAA4C;IAC5C,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;IACrB,8BAA8B;IAC9B,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;IACxB,uDAAuD;IACvD,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAClC,CAAA;AAED,MAAM,MAAM,kBAAkB,CAAC,QAAQ,SAAS,WAAW,GAAG,WAAW,IAAI;IACzE,iFAAiF;IACjF,eAAe,EAAE,eAAe,CAAA;IAChC,oCAAoC;IACpC,YAAY,EAAE,eAAe,CAAA;IAC7B,gCAAgC;IAChC,QAAQ,EAAE,eAAe,CAAA;IACzB,cAAc,EAAE,iBAAiB,CAAA;IACjC,yEAAyE;IACzE,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,kBAAkB;IAClB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,0FAA0F;IAC1F,QAAQ,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAA;IACrD;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;IACrB,gEAAgE;IAChE,SAAS,CAAC,EAAE,OAAO,KAAK,CAAA;CAC3B,CAAA;AAUD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,SAAS,WAAW,EAC1D,OAAO,EAAE,kBAAkB,CAAC,QAAQ,CAAC,GACtC,YAAY,CAAC,QAAQ,CAAC,CAkLxB"}
1
+ {"version":3,"file":"dcr.d.ts","sourceRoot":"","sources":["../../../src/auth/providers/dcr.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACR,WAAW,EACX,YAAY,EAOZ,aAAa,EAChB,MAAM,aAAa,CAAA;AAQpB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AAEhD,MAAM,MAAM,0BAA0B,GAAG,qBAAqB,GAAG,oBAAoB,GAAG,MAAM,CAAA;AAE9F;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC5B,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,eAAe,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAA;IAClC;;;;;OAKG;IACH,uBAAuB,CAAC,EAAE,0BAA0B,CAAA;IACpD,4CAA4C;IAC5C,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;IACrB,8BAA8B;IAC9B,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;IACxB,uDAAuD;IACvD,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAClC,CAAA;AAED,MAAM,MAAM,kBAAkB,CAAC,QAAQ,SAAS,WAAW,GAAG,WAAW,IAAI;IACzE,iFAAiF;IACjF,eAAe,EAAE,eAAe,CAAA;IAChC,oCAAoC;IACpC,YAAY,EAAE,eAAe,CAAA;IAC7B,gCAAgC;IAChC,QAAQ,EAAE,eAAe,CAAA;IACzB,cAAc,EAAE,iBAAiB,CAAA;IACjC,yEAAyE;IACzE,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,kBAAkB;IAClB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,0FAA0F;IAC1F,QAAQ,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAA;IACrD;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;IACrB,gEAAgE;IAChE,SAAS,CAAC,EAAE,OAAO,KAAK,CAAA;CAC3B,CAAA;AAUD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,SAAS,WAAW,EAC1D,OAAO,EAAE,kBAAkB,CAAC,QAAQ,CAAC,GACtC,YAAY,CAAC,QAAQ,CAAC,CAkLxB"}
@@ -19,8 +19,9 @@ const VALID_AUTH_METHODS = new Set([
19
19
  * - `authorize`: standard PKCE S256 with `client_id` read from the handshake.
20
20
  * - `exchangeCode`: `authorizationCodeGrantRequest` authenticated per the
21
21
  * handshake's server-returned auth method (falling back to the configured
22
- * one) — `ClientSecretBasic` / `ClientSecretPost` / `None` (the last also
23
- * when the registration response carried no `client_secret`).
22
+ * one) — HTTP Basic (RFC 3986-encoded, see `clientSecretBasicRfc3986`),
23
+ * client-secret POST, or public-client `None` (the last also when the
24
+ * registration response carried no `client_secret`).
24
25
  * - `validateToken`: caller-supplied.
25
26
  */
26
27
  export function createDcrProvider(options) {
@@ -127,7 +128,7 @@ export function createDcrProvider(options) {
127
128
  clientAuth = oauth.ClientSecretPost(clientSecret);
128
129
  }
129
130
  else {
130
- clientAuth = oauth.ClientSecretBasic(clientSecret);
131
+ clientAuth = clientSecretBasicRfc3986(clientSecret);
131
132
  }
132
133
  try {
133
134
  // The flow runtime owns CSRF state validation; skip oauth4webapi's
@@ -148,6 +149,22 @@ export function createDcrProvider(options) {
148
149
  validateToken: options.validate,
149
150
  };
150
151
  }
152
+ /**
153
+ * HTTP Basic client auth that percent-encodes each credential component with
154
+ * `encodeURIComponent` (RFC 3986) rather than oauth4webapi's stricter RFC 6749
155
+ * §2.3.1 `application/x-www-form-urlencoded` form. Both escape the genuinely
156
+ * reserved chars (`:` `%` `+` `/` …) so a conformant server reconstructs them —
157
+ * but §2.3.1 *also* escapes the unreserved `-` `_` `.` `~`, which breaks servers
158
+ * that don't url-decode the Basic credential (a DCR-issued `twd_…` would arrive
159
+ * as `twd%5F…` and miss the lookup). Leaving those unreserved chars intact keeps
160
+ * such servers working while still transmitting reserved chars safely.
161
+ */
162
+ function clientSecretBasicRfc3986(clientSecret) {
163
+ return (_as, client, _body, headers) => {
164
+ const credentials = Buffer.from(`${encodeURIComponent(client.client_id)}:${encodeURIComponent(clientSecret)}`, 'utf8').toString('base64');
165
+ headers.set('authorization', `Basic ${credentials}`);
166
+ };
167
+ }
151
168
  /** Thread an injected `fetchImpl` into oauth4webapi via its `customFetch` symbol. */
152
169
  function customFetchOptions(oauth, fetchImpl) {
153
170
  return fetchImpl ? { [oauth.customFetch]: fetchImpl } : undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"dcr.js","sourceRoot":"","sources":["../../../src/auth/providers/dcr.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dcr.js","sourceRoot":"","sources":["../../../src/auth/providers/dcr.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,12 @@ export type UpdateCommandOptions = {
9
9
  currentVersion: string;
10
10
  /** Absolute path to the CLI's config file (use `getConfigPath(appName)`). */
11
11
  configPath: string;
12
+ /**
13
+ * Homebrew formula to `brew upgrade` when the CLI was installed via
14
+ * Homebrew, e.g. `'todoist-cli'` or a tapped `'doist/tap/todoist-cli'`. Set
15
+ * this on CLIs distributed through brew; omit for npm-only CLIs.
16
+ */
17
+ brewFormula?: string;
12
18
  /** Override the npm registry base URL. Default `'https://registry.npmjs.org'`. */
13
19
  registryUrl?: string;
14
20
  /**
@@ -56,8 +62,12 @@ export declare function getConfiguredUpdateChannel(configPath: string): Promise<
56
62
  * Commander program. The `update` action checks the npm registry for the
57
63
  * configured channel's dist-tag, compares against `currentVersion`, and shells
58
64
  * out to `npm i -g` (or `pnpm add -g` if pnpm is detected on the running
59
- * script's path). `update switch` flips the persisted `update_channel` field
60
- * between `'stable'` and `'pre-release'`.
65
+ * script's path). When the CLI was installed via Homebrew (the running script
66
+ * resolves into a brew Cellar) it instead runs `brew upgrade <brewFormula>` —
67
+ * note the brew formula can lag the npm publish, so the registry may report an
68
+ * update while `brew upgrade` is a no-op until the formula is bumped.
69
+ * `update switch` flips the persisted `update_channel` field between `'stable'`
70
+ * and `'pre-release'`.
61
71
  *
62
72
  * Errors as `CliError` (`INVALID_FLAGS`, `INVALID_UPDATE_CHANNEL`,
63
73
  * `UPDATE_CHECK_FAILED`, `UPDATE_INSTALL_FAILED`, or the canonical `CONFIG_*`
@@ -79,6 +89,7 @@ export declare function getConfiguredUpdateChannel(configPath: string): Promise<
79
89
  * currentVersion: packageJson.version,
80
90
  * configPath: getConfigPath('todoist-cli'),
81
91
  * changelogCommandName: 'td changelog',
92
+ * brewFormula: 'doist/tap/todoist-cli',
82
93
  * withSpinner,
83
94
  * })
84
95
  * ```
@@ -1 +1 @@
1
- {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACxC,OAAO,EAGH,KAAK,aAAa,EAErB,MAAM,cAAc,CAAA;AAGrB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAInD,KAAK,WAAW,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAA;AAEnF,MAAM,MAAM,oBAAoB,GAAG;IAC/B,+EAA+E;IAC/E,WAAW,EAAE,MAAM,CAAA;IACnB,0EAA0E;IAC1E,cAAc,EAAE,MAAM,CAAA;IACtB,6EAA6E;IAC7E,UAAU,EAAE,MAAM,CAAA;IAClB,kFAAkF;IAClF,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB;;;OAGG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B;;;OAGG;IACH,WAAW,CAAC,EAAE,WAAW,CAAA;CAC5B,CAAA;AAED,KAAK,aAAa,GAAG;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,MAAM,GAAG,SAAS,CAAA;CACjC,CAAA;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,CAS3D;AAED,gGAAgG;AAChG,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAY5D;AAED,iFAAiF;AACjF,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAEnE;AAED,kDAAkD;AAClD,wBAAgB,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,MAAM,CAE5D;AAED,wBAAsB,kBAAkB,CAAC,IAAI,EAAE;IAC3C,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,aAAa,CAAA;IACtB,WAAW,CAAC,EAAE,MAAM,CAAA;CACvB,GAAG,OAAO,CAAC,MAAM,CAAC,CAclB;AAMD;;;;GAIG;AACH,wBAAsB,0BAA0B,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAW3F;AAmND;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,oBAAoB,GAAG,IAAI,CAyB3F"}
1
+ {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACxC,OAAO,EAGH,KAAK,aAAa,EAErB,MAAM,cAAc,CAAA;AAGrB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAInD,KAAK,WAAW,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAA;AAEnF,MAAM,MAAM,oBAAoB,GAAG;IAC/B,+EAA+E;IAC/E,WAAW,EAAE,MAAM,CAAA;IACnB,0EAA0E;IAC1E,cAAc,EAAE,MAAM,CAAA;IACtB,6EAA6E;IAC7E,UAAU,EAAE,MAAM,CAAA;IAClB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,kFAAkF;IAClF,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB;;;OAGG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B;;;OAGG;IACH,WAAW,CAAC,EAAE,WAAW,CAAA;CAC5B,CAAA;AAED,KAAK,aAAa,GAAG;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,MAAM,GAAG,SAAS,CAAA;CACjC,CAAA;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,CAS3D;AAED,gGAAgG;AAChG,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAY5D;AAED,iFAAiF;AACjF,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAEnE;AAED,kDAAkD;AAClD,wBAAgB,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,MAAM,CAE5D;AAED,wBAAsB,kBAAkB,CAAC,IAAI,EAAE;IAC3C,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,aAAa,CAAA;IACtB,WAAW,CAAC,EAAE,MAAM,CAAA;CACvB,GAAG,OAAO,CAAC,MAAM,CAAC,CAclB;AAMD;;;;GAIG;AACH,wBAAsB,0BAA0B,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAW3F;AAyTD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,oBAAoB,GAAG,IAAI,CAyB3F"}
@@ -1,4 +1,5 @@
1
1
  import { spawn } from 'node:child_process';
2
+ import { realpathSync } from 'node:fs';
2
3
  import chalk from 'chalk';
3
4
  import { readConfigOrThrow, updateConfigOrThrow, } from '../config.js';
4
5
  import { CliError, getErrorMessage } from '../errors.js';
@@ -77,6 +78,26 @@ export async function getConfiguredUpdateChannel(configPath) {
77
78
  }
78
79
  return channel;
79
80
  }
81
+ function isBrewInstall() {
82
+ // Homebrew bin shims symlink into the Cellar on every platform (Apple
83
+ // Silicon `/opt/homebrew`, Intel `/usr/local`, Linuxbrew
84
+ // `/home/linuxbrew/.linuxbrew`), so the resolved real path is the reliable
85
+ // signal — a bare prefix check would false-positive an npm-global install
86
+ // under `/usr/local`. Brew never runs on Windows.
87
+ if (process.platform === 'win32')
88
+ return false;
89
+ const script = process.argv[1];
90
+ if (!script)
91
+ return false;
92
+ let resolved = script;
93
+ try {
94
+ resolved = realpathSync(script);
95
+ }
96
+ catch {
97
+ // Unresolvable path: fall back to the literal argv entry.
98
+ }
99
+ return resolved.includes('/Cellar/');
100
+ }
80
101
  function detectPackageManager() {
81
102
  // `npm_execpath` is only set when the CLI is invoked via a package manager
82
103
  // (e.g. `npm run`). Globally-installed CLIs run directly from the shell, so
@@ -87,20 +108,9 @@ function detectPackageManager() {
87
108
  .join(' ');
88
109
  return haystack.includes('pnpm') ? 'pnpm' : 'npm';
89
110
  }
90
- function runInstall(pm, packageName, tag) {
91
- const command = pm === 'pnpm' ? 'add' : 'install';
111
+ function spawnCapture(command, args, options) {
92
112
  return new Promise((resolve, reject) => {
93
- const child = spawn(pm, [command, '-g', `${packageName}@${tag}`], {
94
- // Ignore stdout so a chatty install can't deadlock by filling an
95
- // unread pipe buffer; keep stderr piped so we can surface the tail
96
- // in the CliError hint on a non-zero exit.
97
- stdio: ['ignore', 'ignore', 'pipe'],
98
- // npm/pnpm on Windows are `.cmd` shims that spawn() can't resolve
99
- // without the shell. Safe to enable here because every argv element
100
- // is library-controlled (literal command, fixed flags, validated
101
- // package name + tag).
102
- shell: process.platform === 'win32',
103
- });
113
+ const child = spawn(command, args, options);
104
114
  let stderr = '';
105
115
  child.stderr?.on('data', (data) => {
106
116
  stderr += data.toString();
@@ -109,6 +119,46 @@ function runInstall(pm, packageName, tag) {
109
119
  child.on('close', (code) => resolve({ exitCode: code ?? 1, stderr }));
110
120
  });
111
121
  }
122
+ function runInstall(pm, packageName, tag) {
123
+ const command = pm === 'pnpm' ? 'add' : 'install';
124
+ return spawnCapture(pm, [command, '-g', `${packageName}@${tag}`], {
125
+ // Ignore stdout so a chatty install can't deadlock by filling an unread
126
+ // pipe buffer; keep stderr piped so we can surface the tail in the
127
+ // CliError hint on a non-zero exit.
128
+ stdio: ['ignore', 'ignore', 'pipe'],
129
+ // npm/pnpm on Windows are `.cmd` shims that spawn() can't resolve
130
+ // without the shell. Safe to enable here because every argv element is
131
+ // library-controlled (literal command, fixed flags, validated package
132
+ // name + tag).
133
+ shell: process.platform === 'win32',
134
+ });
135
+ }
136
+ function runBrewUpgrade(formula, quiet) {
137
+ return spawnCapture('brew', ['upgrade', formula], {
138
+ // Inherit so brew's own download/upgrade progress reaches the user
139
+ // (these can run for a while). Under machine-readable output, fall back
140
+ // to the npm-style pipe so brew's chatter can't corrupt the JSON/NDJSON
141
+ // stream on stdout.
142
+ stdio: quiet ? ['ignore', 'ignore', 'pipe'] : 'inherit',
143
+ });
144
+ }
145
+ function brewInstalledVersion(formula) {
146
+ // `brew list --versions <name>` prints e.g. `todoist-cli 1.1.0`; the version
147
+ // is the last whitespace token. Tap-qualified formulae list under their leaf
148
+ // name, so strip the tap prefix. Best-effort — any failure yields undefined.
149
+ const leaf = formula.split('/').pop() ?? formula;
150
+ return new Promise((resolve) => {
151
+ let stdout = '';
152
+ const child = spawn('brew', ['list', '--versions', leaf], {
153
+ stdio: ['ignore', 'pipe', 'ignore'],
154
+ });
155
+ child.stdout?.on('data', (data) => {
156
+ stdout += data.toString();
157
+ });
158
+ child.on('error', () => resolve(undefined));
159
+ child.on('close', () => resolve(stdout.trim().split(/\s+/).pop() || undefined));
160
+ });
161
+ }
112
162
  function formatChannel(channel) {
113
163
  return channel === 'pre-release' ? chalk.magenta('pre-release') : chalk.green('stable');
114
164
  }
@@ -130,6 +180,12 @@ async function runUpdate(options, cmd) {
130
180
  }
131
181
  const tag = getInstallTag(channel);
132
182
  const label = channelLabel(channel);
183
+ // Fail fast on a guaranteed-broken install path before spending a registry
184
+ // round-trip. `--check` never installs, so a missing formula is fine there.
185
+ const brew = isBrewInstall();
186
+ if (!cmd.check && brew && !options.brewFormula) {
187
+ throw new CliError('UPDATE_INSTALL_FAILED', 'Installed via Homebrew but no brew formula is configured.', { hints: ['Update manually: brew upgrade <formula>'] });
188
+ }
133
189
  let latestVersion;
134
190
  try {
135
191
  latestVersion = await runWithSpinner(options.withSpinner, `Checking for updates${label}...`, () => fetchLatestVersion({
@@ -170,12 +226,22 @@ async function runUpdate(options, cmd) {
170
226
  console.log(headline);
171
227
  }
172
228
  const pm = detectPackageManager();
229
+ const quiet = Boolean(view.json || view.ndjson);
230
+ const task = () => brew
231
+ ? runBrewUpgrade(options.brewFormula, quiet)
232
+ : runInstall(pm, options.packageName, tag);
233
+ // brew prints its own progress, so skip the spinner for it unless we've
234
+ // silenced its output for machine-readable mode.
235
+ const useSpinner = !brew || quiet;
173
236
  let result;
174
237
  try {
175
- result = await runWithSpinner(options.withSpinner, `Updating to v${latestVersion}${label}...`, () => runInstall(pm, options.packageName, tag));
238
+ result = useSpinner
239
+ ? await runWithSpinner(options.withSpinner, `Updating to v${latestVersion}${label}...`, task)
240
+ : await task();
176
241
  }
177
242
  catch (error) {
178
- if (error instanceof Error &&
243
+ if (!brew &&
244
+ error instanceof Error &&
179
245
  'code' in error &&
180
246
  error.code === 'EACCES') {
181
247
  throw new CliError('UPDATE_INSTALL_FAILED', 'Permission denied.', {
@@ -188,11 +254,34 @@ async function runUpdate(options, cmd) {
188
254
  throw new CliError('UPDATE_INSTALL_FAILED', `Install failed: ${message}`);
189
255
  }
190
256
  if (result.exitCode !== 0) {
191
- throw new CliError('UPDATE_INSTALL_FAILED', `${pm} exited with code ${result.exitCode}`, result.stderr ? { hints: [result.stderr.trim()] } : {});
257
+ throw new CliError('UPDATE_INSTALL_FAILED', `${brew ? 'brew' : pm} exited with code ${result.exitCode}`, result.stderr ? { hints: [result.stderr.trim()] } : {});
192
258
  }
193
- emitView(view, { currentVersion, latestVersion, channel, installed: true }, () => {
194
- const lines = [`${chalk.green('✓')} Updated to v${latestVersion}${label}`];
195
- if (channel === 'stable' && options.changelogCommandName) {
259
+ // For npm/pnpm we install the exact dist-tag, so the applied version is
260
+ // `latestVersion`. brew owns its own versioning and may be a no-op when the
261
+ // formula lags npm, so read the version brew actually has on disk and derive
262
+ // `installed` from it; if it can't be read, assume the upgrade applied.
263
+ const installedVersion = brew
264
+ ? await brewInstalledVersion(options.brewFormula)
265
+ : latestVersion;
266
+ const installed = brew
267
+ ? installedVersion === undefined || installedVersion !== currentVersion
268
+ : true;
269
+ // Stable schema across installers: always carry the registry target
270
+ // (`latestVersion`) plus a `via` discriminator; brew adds the applied
271
+ // `installedVersion` when known.
272
+ const summary = {
273
+ currentVersion,
274
+ latestVersion,
275
+ channel,
276
+ installed,
277
+ via: brew ? 'brew' : pm,
278
+ ...(brew && installedVersion ? { installedVersion } : {}),
279
+ };
280
+ emitView(view, summary, () => {
281
+ const lines = [
282
+ `${chalk.green('✓')} ${brew ? 'brew upgrade complete' : `Updated to v${latestVersion}`}${label}`,
283
+ ];
284
+ if (installed && channel === 'stable' && options.changelogCommandName) {
196
285
  lines.push(`${chalk.dim(' Run')} ${chalk.cyan(options.changelogCommandName)} ${chalk.dim('to see what changed')}`);
197
286
  }
198
287
  return lines;
@@ -228,8 +317,12 @@ async function runSwitch(options, cmd, program) {
228
317
  * Commander program. The `update` action checks the npm registry for the
229
318
  * configured channel's dist-tag, compares against `currentVersion`, and shells
230
319
  * out to `npm i -g` (or `pnpm add -g` if pnpm is detected on the running
231
- * script's path). `update switch` flips the persisted `update_channel` field
232
- * between `'stable'` and `'pre-release'`.
320
+ * script's path). When the CLI was installed via Homebrew (the running script
321
+ * resolves into a brew Cellar) it instead runs `brew upgrade <brewFormula>` —
322
+ * note the brew formula can lag the npm publish, so the registry may report an
323
+ * update while `brew upgrade` is a no-op until the formula is bumped.
324
+ * `update switch` flips the persisted `update_channel` field between `'stable'`
325
+ * and `'pre-release'`.
233
326
  *
234
327
  * Errors as `CliError` (`INVALID_FLAGS`, `INVALID_UPDATE_CHANNEL`,
235
328
  * `UPDATE_CHECK_FAILED`, `UPDATE_INSTALL_FAILED`, or the canonical `CONFIG_*`
@@ -251,6 +344,7 @@ async function runSwitch(options, cmd, program) {
251
344
  * currentVersion: packageJson.version,
252
345
  * configPath: getConfigPath('todoist-cli'),
253
346
  * changelogCommandName: 'td changelog',
347
+ * brewFormula: 'doist/tap/todoist-cli',
254
348
  * withSpinner,
255
349
  * })
256
350
  * ```
@@ -1 +1 @@
1
- {"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@doist/cli-core",
3
- "version": "0.20.0",
3
+ "version": "0.21.0",
4
4
  "description": "Shared core utilities for Doist CLI projects",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",