wuffle 0.56.0 → 0.57.0

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/columns.js CHANGED
@@ -67,6 +67,12 @@ class Columns {
67
67
  return column && column.sorting;
68
68
  }
69
69
 
70
+ isFifo(columnName) {
71
+ const column = this.getByName(columnName);
72
+
73
+ return column && column.fifo;
74
+ }
75
+
70
76
  isColumnLabel(label) {
71
77
  return label in this.columnsByLabel;
72
78
  }
package/lib/store.js CHANGED
@@ -102,6 +102,7 @@ class Store {
102
102
  } = event;
103
103
 
104
104
  let firstIssue = this.issues[0];
105
+ let lastIssue = this.issues[this.issues.length - 1];
105
106
 
106
107
  for (const update of context.getUpdates()) {
107
108
 
@@ -125,11 +126,15 @@ class Store {
125
126
  ...inverseLinks
126
127
  };
127
128
 
128
- issue.order = this.getSemanticIssueOrder(issue, links, firstIssue);
129
+ issue.order = this.getSemanticIssueOrder(issue, links, firstIssue, lastIssue);
129
130
 
130
131
  if (!firstIssue || firstIssue.order > issue.order) {
131
132
  firstIssue = issue;
132
133
  }
134
+
135
+ if (!lastIssue || lastIssue.order < issue.order) {
136
+ lastIssue = issue;
137
+ }
133
138
  }
134
139
  }, 1250);
135
140
 
@@ -396,7 +401,7 @@ class Store {
396
401
  return updatedIssue;
397
402
  }
398
403
 
399
- getSemanticIssueOrder(issue, links, firstIssue) {
404
+ getSemanticIssueOrder(issue, links, firstIssue, lastIssue) {
400
405
 
401
406
  const {
402
407
  id,
@@ -450,11 +455,18 @@ class Store {
450
455
  return currentOrder;
451
456
  }
452
457
 
453
- // insert before other issues
454
- before = firstIssue;
458
+ if (this.columns.isFifo(column)) {
459
+
460
+ // insert after other issues
461
+ after = lastIssue;
462
+ } else {
463
+
464
+ // insert before other issues
465
+ before = firstIssue;
466
+ }
455
467
  }
456
468
 
457
- return this._computeOrder(before && before.order, after && after.order, currentOrder);
469
+ return this._computeOrder(before?.order, after?.order, currentOrder);
458
470
  }
459
471
 
460
472
  createLinks(context, issue) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wuffle",
3
- "version": "0.56.0",
3
+ "version": "0.57.0",
4
4
  "description": "A multi-repository task board for GitHub issues",
5
5
  "author": {
6
6
  "name": "Nico Rehwaldt",
@@ -48,22 +48,22 @@
48
48
  "p-defer": "^3.0.0",
49
49
  "prexit": "0.0.5",
50
50
  "probot": "^12.2.4",
51
- "smee-client": "^1.2.3"
51
+ "smee-client": "^1.2.5"
52
52
  },
53
53
  "devDependencies": {
54
54
  "@graphql-eslint/eslint-plugin": "^3.20.1",
55
55
  "@octokit/graphql-schema": "^12.10.0",
56
56
  "@types/compression": "^1.7.2",
57
57
  "@types/express-session": "^1.17.4",
58
- "chai": "^4.3.10",
58
+ "chai": "^4.4.0",
59
59
  "graphql": "^16.6.0",
60
60
  "mocha": "^10.2.0",
61
- "nock": "^13.3.8",
62
- "nodemon": "^3.0.1",
61
+ "nock": "^13.4.0",
62
+ "nodemon": "^3.0.2",
63
63
  "npm-run-all": "^4.1.5",
64
64
  "sinon": "^17.0.1",
65
65
  "sinon-chai": "^3.7.0",
66
- "typescript": "^5.2.2"
66
+ "typescript": "^5.3.3"
67
67
  },
68
68
  "engines": {
69
69
  "node": ">= 16"
@@ -91,5 +91,5 @@
91
91
  "index.js",
92
92
  "wuffle.config.example.js"
93
93
  ],
94
- "gitHead": "bb06d78e3c5b95a56ba3a797a0232dacc0f82276"
94
+ "gitHead": "a0da3b97298f95e04c09f87a99dfb4bcf45cba76"
95
95
  }