linear-sdk-cli 0.2.1 → 0.2.4

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
@@ -4,6 +4,24 @@ All notable changes to this project are documented here. The format is based on
4
4
  [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to
5
5
  [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6
6
 
7
+ ## [0.2.4](https://github.com/zhendalf/linear-sdk-cli/compare/v0.2.3...v0.2.4) (2026-08-24)
8
+
9
+ ### Bug Fixes
10
+
11
+ - **build:** replace Prettier with Oxfmt ([#23](https://github.com/zhendalf/linear-sdk-cli/issues/23)) ([5490bdc](https://github.com/zhendalf/linear-sdk-cli/commit/5490bdcf352e731fcacc0be4c0e91266863dcfa4))
12
+
13
+ ## [0.2.3](https://github.com/zhendalf/linear-sdk-cli/compare/v0.2.2...v0.2.3) (2026-08-24)
14
+
15
+ ### Bug Fixes
16
+
17
+ - **ci:** guard absent release PR output ([#21](https://github.com/zhendalf/linear-sdk-cli/issues/21)) ([ed082bf](https://github.com/zhendalf/linear-sdk-cli/commit/ed082bfc6673736a9705198f8e2a17c9d7b4698d))
18
+
19
+ ## [0.2.2](https://github.com/zhendalf/linear-sdk-cli/compare/v0.2.1...v0.2.2) (2026-08-24)
20
+
21
+ ### Bug Fixes
22
+
23
+ - **ci:** format and verify release PR heads ([#19](https://github.com/zhendalf/linear-sdk-cli/issues/19)) ([a16244d](https://github.com/zhendalf/linear-sdk-cli/commit/a16244d3355a86d3bdaf290d9ee077b06598125e))
24
+
7
25
  ## [0.2.1](https://github.com/zhendalf/linear-sdk-cli/compare/v0.2.0...v0.2.1) (2026-08-24)
8
26
 
9
27
  ### Bug Fixes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "linear-sdk-cli",
3
- "version": "0.2.1",
3
+ "version": "0.2.4",
4
4
  "description": "Ergonomic command-line interface for Linear, built on @linear/sdk",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -54,8 +54,8 @@
54
54
  "lin": "bun run src/bin/linear.ts",
55
55
  "typecheck": "tsc --noEmit",
56
56
  "lint": "oxlint .",
57
- "format": "prettier --write .",
58
- "format:check": "prettier --check .",
57
+ "format": "oxfmt .",
58
+ "format:check": "oxfmt --check .",
59
59
  "test": "bun test test/unit test/contract",
60
60
  "test:unit": "bun test test/unit",
61
61
  "test:contract": "bun test test/contract",
@@ -78,8 +78,8 @@
78
78
  "devDependencies": {
79
79
  "@types/bun": "^1.4.0",
80
80
  "@types/node": "^26.2.0",
81
+ "oxfmt": "^0.65.0",
81
82
  "oxlint": "^1.80.0",
82
- "prettier": "^3.9.6",
83
83
  "typescript": "^7.0.2"
84
84
  }
85
85
  }
@@ -295,7 +295,7 @@ async function updateSkillMd(commands: CliCommand[], groups: string[]): Promise<
295
295
 
296
296
  const before = current.slice(0, begin + BEGIN_MARKER.length);
297
297
  const after = current.slice(end);
298
- // Format chosen to match Prettier: no blank line after the opening marker,
298
+ // Format chosen to match Oxfmt: no blank line after the opening marker,
299
299
  // one blank line before the closing marker, so re-running stays a no-op.
300
300
  const block = ["", "```text", buildCommandList(commands), "```", "", ""].join("\n");
301
301
  const next = `${before}${block}${after}`;
@@ -311,18 +311,17 @@ async function updateSkillMd(commands: CliCommand[], groups: string[]): Promise<
311
311
  }
312
312
 
313
313
  /**
314
- * Run Prettier over the generated markdown so the output matches the repo's
314
+ * Run Oxfmt over the generated markdown so the output matches the repo's
315
315
  * formatting (table alignment, list spacing) and re-running stays a clean no-op.
316
- * Best-effort: if Prettier isn't available the docs are still valid markdown.
316
+ * Best-effort: if Oxfmt isn't available the docs are still valid markdown.
317
317
  */
318
318
  function formatGenerated(): void {
319
- const result = spawnSync(
320
- "bunx",
321
- ["prettier", "--write", "--log-level", "warn", `${SKILL_DIR}/**/*.md`],
322
- { stdio: "inherit", cwd: REPO_ROOT },
323
- );
319
+ const result = spawnSync("bunx", ["oxfmt", "."], {
320
+ stdio: "inherit",
321
+ cwd: SKILL_DIR,
322
+ });
324
323
  if (result.status !== 0) {
325
- console.warn("Warning: prettier formatting step skipped (non-zero exit).");
324
+ console.warn("Warning: Oxfmt formatting step skipped (non-zero exit).");
326
325
  }
327
326
  }
328
327
 
@@ -77,6 +77,10 @@ In scheduled autonomous mode, merge it only when all of the following are true:
77
77
  trigger them, while the exact release commit has already passed `main` CI);
78
78
  - it is cleanly mergeable with no conflicts, review blockers, or unresolved comments.
79
79
 
80
+ Release Please may rewrite its PR whenever `main` changes. Record the `headRefOid` used by CI
81
+ and review, then fetch the PR again immediately before merging. If its head changed, discard the
82
+ earlier evidence and repeat diff review, verification, and review-comment checks on the new head.
83
+
80
84
  After an approved merge, confirm the release workflow completed, then verify the GitHub Release,
81
85
  the npm package version, and the `latest` dist-tag. npm publishing must retain OIDC provenance.
82
86
  Never retry a failed publish by adding an npm token or disabling provenance; report the failure.
@@ -127,7 +127,9 @@ export async function collectRawQuery<T>(
127
127
  client.client.rawRequest(query, { ...variables, first: pageLimit, after }),
128
128
  );
129
129
  const conn = connectionPath.split(".").reduce((acc: any, key) => acc?.[key], data.data) as
130
- RawConnection | null | undefined;
130
+ | RawConnection
131
+ | null
132
+ | undefined;
131
133
  // A nested path (`issue.comments`) can land on null when the parent entity
132
134
  // is gone; that is an empty list, not a crash.
133
135
  if (!conn) break;