From 1cf6ee88bc5d2f69b11581e163b7d87a1cbaa3ac Mon Sep 17 00:00:00 2001 From: thesiti92 Date: Wed, 30 Sep 2026 16:31:55 -0400 Subject: [PATCH] Bump bundled diffr to 0.1.8 diffr 0.1.8 reads working-tree files through Git's clean filters, so a CRLF checkout under core.autocrlf no longer shows every line of a plain-text file (e.g. Markdown) as changed. 0.1.8 also drops diffr's --config flag; the summarizer test now points XDG_CONFIG_HOME at its temporary config instead. Fixes #805. Agent-Session: 459ae7ec-7302-42c5-b473-4e315a7e4e19 Agent-Session: 203ee435-a867-494c-bb56-ddde9edf962e Agent-Session: 78694b58-9718-40bf-a6b8-661e21afe339 Agent-Session: a9cd3da4-c06c-4d2b-b8e8-e71439cee705 Agent-Session: 0e24d827-3a5e-4ed7-aa02-bbda8d39a5e0 --- apps/review-desktop/package.json | 2 +- packages/review-protocol/package.json | 2 +- packages/review/package.json | 2 +- .../review/src/server/diffr-config.test.ts | 4 ++-- packages/review/src/server/diffr-config.ts | 15 +++++++++------ pnpm-lock.yaml | 18 +++++++++--------- pnpm-workspace.yaml | 2 +- 7 files changed, 24 insertions(+), 21 deletions(-) diff --git a/apps/review-desktop/package.json b/apps/review-desktop/package.json index 245285c7df..c2f87c98c1 100644 --- a/apps/review-desktop/package.json +++ b/apps/review-desktop/package.json @@ -29,7 +29,7 @@ "@dev.fast/review-protocol": "workspace:*" }, "devDependencies": { - "@dev.fast/diffr": "0.1.7", + "@dev.fast/diffr": "0.1.8", "@dev.fast/review-canvas": "workspace:*", "@types/node": "24.12.2", "jsdom": "29.1.1", diff --git a/packages/review-protocol/package.json b/packages/review-protocol/package.json index 794f6388e6..394a395731 100644 --- a/packages/review-protocol/package.json +++ b/packages/review-protocol/package.json @@ -20,7 +20,7 @@ "typecheck": "pnpm -w exec tsc -p packages/review-protocol/tsconfig.json --noEmit" }, "dependencies": { - "@dev.fast/diffr": "0.1.7", + "@dev.fast/diffr": "0.1.8", "@dev.fast/json": "workspace:*", "@dev.fast/trace-protocol": "workspace:*", "zod": "4.4.3" diff --git a/packages/review/package.json b/packages/review/package.json index 04edc9a57d..adc467e891 100644 --- a/packages/review/package.json +++ b/packages/review/package.json @@ -81,7 +81,7 @@ "zod": "4.4.3" }, "devDependencies": { - "@dev.fast/diffr": "0.1.7", + "@dev.fast/diffr": "0.1.8", "@dev.fast/json": "workspace:*", "@dev.fast/local-vcs": "^0.1.0", "@dev.fast/review-protocol": "workspace:*", diff --git a/packages/review/src/server/diffr-config.test.ts b/packages/review/src/server/diffr-config.test.ts index d0d461faa1..e7b4133ee1 100644 --- a/packages/review/src/server/diffr-config.test.ts +++ b/packages/review/src/server/diffr-config.test.ts @@ -71,11 +71,11 @@ if (args[0] === 'config' && args[1] === 'show') { let value = args[3]; try { value = JSON.parse(value); } catch {} object[keys.at(-1)] = value; fs.writeFileSync(state, JSON.stringify(config)); - } else if (!args.includes('--config')) { + } else if (!args.includes('--no-index')) { console.log(JSON.stringify({type:'start',version:4,lhs:{type:'revision',rev:'base'},rhs:{type:'revision',rev:'head'},files:[]})); console.log(JSON.stringify({type:'complete',succeeded:0,failed:0})); } else { - const temporary = args[args.indexOf('--config') + 1]; + const temporary = require('node:path').join(process.env.XDG_CONFIG_HOME, 'diffr', 'config.toml'); fs.writeFileSync(${JSON.stringify(path.join(root, "test-config"))}, fs.readFileSync(temporary)); fs.writeFileSync(${JSON.stringify(path.join(root, "test-path"))}, temporary); const mode = process.env.TEST_MODE; diff --git a/packages/review/src/server/diffr-config.ts b/packages/review/src/server/diffr-config.ts index c3a11472f9..1857421169 100644 --- a/packages/review/src/server/diffr-config.ts +++ b/packages/review/src/server/diffr-config.ts @@ -1,5 +1,5 @@ import { execFile } from "node:child_process"; -import { mkdtemp, rm, writeFile } from "node:fs/promises"; +import { mkdir, mkdtemp, rm, writeFile } from "node:fs/promises"; import { tmpdir } from "node:os"; import { join } from "node:path"; import { promisify } from "node:util"; @@ -257,9 +257,9 @@ export async function testDiffrSummarizer( }; delete options.api_key; - const configPath = join(directory, "config.toml"); + await mkdir(join(directory, "diffr")); await writeFile( - configPath, + join(directory, "diffr", "config.toml"), stringify({ version: 1, plugins: { @@ -278,8 +278,6 @@ export async function testDiffrSummarizer( const output = await diffr( [ - "--config", - configPath, "--no-index", "--format", "ndjson", @@ -290,7 +288,12 @@ export async function testDiffrSummarizer( ], directory, { - env: { ...process.env, GEMINI_API_KEY: apiKey, GOOGLE_API_KEY: "" }, + env: { + ...process.env, + XDG_CONFIG_HOME: directory, + GEMINI_API_KEY: apiKey, + GOOGLE_API_KEY: "", + }, signal: deadline, }, ); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a42d5eedae..6901cb7bd8 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -45,8 +45,8 @@ importers: version: link:../../packages/review-protocol devDependencies: '@dev.fast/diffr': - specifier: 0.1.7 - version: 0.1.7(zod@4.4.3) + specifier: 0.1.8 + version: 0.1.8(zod@4.4.3) '@dev.fast/review-canvas': specifier: workspace:* version: link:../../packages/review/app @@ -151,8 +151,8 @@ importers: version: 4.4.3 devDependencies: '@dev.fast/diffr': - specifier: 0.1.7 - version: 0.1.7(zod@4.4.3) + specifier: 0.1.8 + version: 0.1.8(zod@4.4.3) '@dev.fast/json': specifier: workspace:* version: link:../json @@ -205,8 +205,8 @@ importers: packages/review-protocol: dependencies: '@dev.fast/diffr': - specifier: 0.1.7 - version: 0.1.7(zod@4.4.3) + specifier: 0.1.8 + version: 0.1.8(zod@4.4.3) '@dev.fast/json': specifier: workspace:* version: link:../json @@ -515,8 +515,8 @@ packages: resolution: {integrity: sha512-QxULHAm7cNu72w97JUNCBFODFaXpbDg+dP8b/oWFAZ2MTRppA3U00Y2L1HqaS4J6yBqxwa/Y3nMBaxVKbB/NsA==} engines: {node: '>=20.19.0'} - '@dev.fast/diffr@0.1.7': - resolution: {integrity: sha512-ba0Kg4fOhOjhqaoxKK8kS7v3UK3fPepftdYi87dY07tkn61llzNXHe6+J1f0XIR9nnFsnaefzExrtKtgmyafxw==} + '@dev.fast/diffr@0.1.8': + resolution: {integrity: sha512-zY6AY9Nz0tGFfFr74rX2Y3+PZQA/h9pAV3e4xdsOVxYwXv4lzlbveks0N25T6NMRAqykqj25RWNz1aFgxmPlWQ==} engines: {node: '>=20'} hasBin: true peerDependencies: @@ -3519,7 +3519,7 @@ snapshots: '@csstools/css-tokenizer@4.0.0': {} - '@dev.fast/diffr@0.1.7(zod@4.4.3)': + '@dev.fast/diffr@0.1.8(zod@4.4.3)': dependencies: zod: 4.4.3 diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index dc95acdf92..2e3f6ba912 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -12,7 +12,7 @@ verifyDepsBeforeRun: false minimumReleaseAge: 10080 minimumReleaseAgeStrict: true minimumReleaseAgeExclude: - - "@dev.fast/diffr@0.1.7" + - "@dev.fast/diffr@0.1.8" overrides: # @dev.fast/review declares a registry range; this override is what makes