@blumintinc/eslint-plugin-blumint 1.19.23 → 1.19.24

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/lib/index.js CHANGED
@@ -222,7 +222,7 @@ function noFrontendImportsFromFunctionsPatterns(pattern) {
222
222
  module.exports = {
223
223
  meta: {
224
224
  name: '@blumintinc/eslint-plugin-blumint',
225
- version: '1.19.23',
225
+ version: '1.19.24',
226
226
  },
227
227
  parseOptions: {
228
228
  ecmaVersion: 2020,
@@ -171,7 +171,12 @@ const IN_EXCEPTIONS = [
171
171
  'infusion',
172
172
  'ingenious',
173
173
  'ingenuity',
174
+ 'ingest',
174
175
  'ingested',
176
+ 'ingestible',
177
+ 'ingesting',
178
+ 'ingestion',
179
+ 'ingests',
175
180
  'ingot',
176
181
  'ingrained',
177
182
  'ingredient',
@@ -605,9 +605,18 @@ exports.verticallyGroupRelatedFunctions = (0, createRule_1.createRule)({
605
605
  if (misplacedIndex === -1) {
606
606
  return;
607
607
  }
608
- const misplacedInfo = functions[misplacedIndex];
609
- const targetIndex = expectedNames.indexOf(misplacedInfo.name);
610
- const anchorName = targetIndex > 0 ? expectedNames[targetIndex - 1] : null;
608
+ // Report the function that BELONGS in the first mismatched slot
609
+ // (expected[i]), not the wrong occupant currently sitting there
610
+ // (actual[i]). Telling the reader to move expected[i] up to right after
611
+ // expected[i-1] fills the hole and extends the already-correct prefix
612
+ // by one, so obeying each emitted instruction verbatim strictly
613
+ // converges on the fixed point. Naming the displaced occupant instead
614
+ // sends it off to its own final home without filling this slot — the
615
+ // prefix stays mismatched and the next pass emits a different
616
+ // instruction anchored on a different sibling, the non-converging
617
+ // "anchor chase" on diamond/shared-leaf graphs (#1330).
618
+ const misplacedInfo = expectedOrderInfos[misplacedIndex];
619
+ const anchorName = misplacedIndex > 0 ? expectedNames[misplacedIndex - 1] : null;
611
620
  const dependencyReason = misplacedInfo.dependencies.length > 0
612
621
  ? normalizedOptions.dependencyDirection === 'callees-first'
613
622
  ? `it calls ${misplacedInfo.dependencies.join(', ')} and helpers should precede the callers that depend on them when dependencyDirection is "callees-first"`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blumintinc/eslint-plugin-blumint",
3
- "version": "1.19.23",
3
+ "version": "1.19.24",
4
4
  "description": "Custom eslint rules for use within BluMint",
5
5
  "author": {
6
6
  "name": "Brodie McGuire",
@@ -1,4 +1,26 @@
1
1
  [
2
+ {
3
+ "version": "1.19.24",
4
+ "date": "2026-07-22T21:30:58.024Z",
5
+ "rules": [
6
+ {
7
+ "name": "enforce-positive-naming",
8
+ "changeType": "fix",
9
+ "issues": [
10
+ 1331
11
+ ],
12
+ "summary": "exempt ingest word family from in- prefix heuristic (closes #1331)"
13
+ },
14
+ {
15
+ "name": "vertically-group-related-functions",
16
+ "changeType": "fix",
17
+ "issues": [
18
+ 1330
19
+ ],
20
+ "summary": "fill the mismatched slot instead of evicting its occupant (closes #1330)"
21
+ }
22
+ ]
23
+ },
2
24
  {
3
25
  "version": "1.19.23",
4
26
  "date": "2026-07-22T15:32:41.825Z",