Skip to content

Commit 388e35b

Browse files
committed
fix(plugin): only update compat-matrix timestamp when content changes
- Rename 'generated' to 'updatedAt' - Only update timestamp and write to git-versioned file when actual changes detected - Always write to dist for CDN access
1 parent 58e2ac2 commit 388e35b

File tree

2 files changed

+31
-9
lines changed

2 files changed

+31
-9
lines changed

tools/compat-matrix.config.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"$schema": "https://angular-threejs.github.io/schemas/compat-matrix.schema.json",
3-
"generated": "2026-01-06T00:00:00.000Z",
3+
"updatedAt": "2026-01-06T00:00:00.000Z",
44
"description": "Compatibility matrix for angular-three ecosystem packages",
55
"combined": [
66
{

tools/scripts/generate-compat-matrix.mjs

Lines changed: 30 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -343,22 +343,44 @@ function main() {
343343
console.log('\nProcessing per-package matrix:');
344344
const packages = processPackagesMatrix(existingMatrix, distPackages);
345345

346-
// Build output
346+
// Build output (without updatedAt for comparison)
347+
const outputData = {
348+
combined,
349+
packages,
350+
};
351+
352+
// Check if there are actual changes (compare without metadata fields)
353+
const existingData = existingMatrix
354+
? { combined: existingMatrix.combined, packages: existingMatrix.packages }
355+
: null;
356+
357+
const hasChanges = JSON.stringify(outputData) !== JSON.stringify(existingData);
358+
359+
// Build final output with metadata
347360
const output = {
348361
$schema: 'https://angular-threejs.github.io/schemas/compat-matrix.schema.json',
349-
generated: new Date().toISOString(),
362+
updatedAt: hasChanges ? new Date().toISOString() : existingMatrix?.updatedAt || new Date().toISOString(),
350363
description: 'Compatibility matrix for angular-three ecosystem packages',
351364
combined,
352365
packages,
353366
};
354367

355-
// Write to both locations
356-
writeJson(CONFIG.matrixPath, output);
357-
writeJson(CONFIG.outputPath, output);
368+
if (hasChanges) {
369+
// Write to both locations
370+
writeJson(CONFIG.matrixPath, output);
371+
writeJson(CONFIG.outputPath, output);
372+
373+
console.log('\nChanges detected, updated files:');
374+
console.log(` - ${CONFIG.matrixPath} (git versioned)`);
375+
console.log(` - ${CONFIG.outputPath} (CDN access)`);
376+
} else {
377+
// Only write to dist (for CDN), don't touch git-versioned file
378+
writeJson(CONFIG.outputPath, output);
358379

359-
console.log('\nGenerated files:');
360-
console.log(` - ${CONFIG.matrixPath} (git versioned)`);
361-
console.log(` - ${CONFIG.outputPath} (CDN access)`);
380+
console.log('\nNo changes detected');
381+
console.log(` - ${CONFIG.matrixPath} (unchanged)`);
382+
console.log(` - ${CONFIG.outputPath} (copied for CDN)`);
383+
}
362384

363385
console.log('\nSummary:');
364386
console.log(` - ${combined.length} combined matrix entries`);

0 commit comments

Comments
 (0)