From d898d7fc40e1e6ef6357cc260950ad7be156ba73 Mon Sep 17 00:00:00 2001
From: Rhys Arkins <rhys@arkins.net>
Date: Sat, 14 Dec 2024 09:53:48 +0100
Subject: [PATCH] fix(config/presets): ensure groups have packageRules (#33088)

---
 lib/config/presets/internal/group.spec.ts | 13 +++++++++++++
 lib/config/presets/internal/group.ts      | 21 +++++++++++++--------
 2 files changed, 26 insertions(+), 8 deletions(-)
 create mode 100644 lib/config/presets/internal/group.spec.ts

diff --git a/lib/config/presets/internal/group.spec.ts b/lib/config/presets/internal/group.spec.ts
new file mode 100644
index 0000000000..226ddcb37c
--- /dev/null
+++ b/lib/config/presets/internal/group.spec.ts
@@ -0,0 +1,13 @@
+import { presets } from './group';
+
+const exceptions = new Set(['monorepos', 'recommended']);
+
+describe('config/presets/internal/group', () => {
+  const presetNames = Object.keys(presets).filter(
+    (name) => !exceptions.has(name),
+  );
+
+  it.each(presetNames)('group:%s contains packageRules', (name: string) => {
+    expect(presets[name]).toHaveProperty('packageRules');
+  });
+});
diff --git a/lib/config/presets/internal/group.ts b/lib/config/presets/internal/group.ts
index 2957b595ef..d0735ef136 100644
--- a/lib/config/presets/internal/group.ts
+++ b/lib/config/presets/internal/group.ts
@@ -111,14 +111,19 @@ const staticGroups = {
   },
   fusionjs: {
     description: 'Group Fusion.js packages together.',
-    matchPackageNames: [
-      'fusion-cli',
-      'fusion-core',
-      'fusion-test-utils',
-      'fusion-tokens',
-      'fusion-plugin-**',
-      'fusion-react**',
-      'fusion-apollo**',
+    packageRules: [
+      {
+        groupName: 'Fusion.js packages',
+        matchPackageNames: [
+          'fusion-cli',
+          'fusion-core',
+          'fusion-test-utils',
+          'fusion-tokens',
+          'fusion-plugin-**',
+          'fusion-react**',
+          'fusion-apollo**',
+        ],
+      },
     ],
   },
   githubArtifactActions: {
-- 
GitLab