gitlab-radiator 3.4.0 → 3.4.2

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.
@@ -1,117 +1,312 @@
1
- import _ from 'lodash'
2
- import {gitlabRequest} from './client'
1
+ "use strict";
3
2
 
4
- export async function fetchLatestPipelines(projectId, gitlab) {
5
- const pipelines = await fetchLatestAndMasterPipeline(projectId, gitlab)
6
-
7
- return Promise.all(pipelines.map(async ({id, ref, status}) => {
8
- const {commit, stages} = await fetchJobs(projectId, id, gitlab)
9
- const downstreamStages = await fetchDownstreamJobs(projectId, id, gitlab)
10
- return {
11
- id,
12
- ref,
13
- status,
14
- commit,
15
- stages: stages.concat(downstreamStages)
16
- }
17
- }))
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.fetchLatestPipelines = fetchLatestPipelines;
8
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
10
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
12
+ var _lodash = _interopRequireDefault(require("lodash"));
13
+ var _client = require("./client");
14
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
15
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
16
+ function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
17
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
18
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
19
+ function fetchLatestPipelines(_x, _x2) {
20
+ return _fetchLatestPipelines.apply(this, arguments);
21
+ } // eslint-disable-next-line max-statements
22
+ function _fetchLatestPipelines() {
23
+ _fetchLatestPipelines = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(projectId, gitlab) {
24
+ var pipelines;
25
+ return _regenerator.default.wrap(function _callee2$(_context2) {
26
+ while (1) {
27
+ switch (_context2.prev = _context2.next) {
28
+ case 0:
29
+ _context2.next = 2;
30
+ return fetchLatestAndMasterPipeline(projectId, gitlab);
31
+ case 2:
32
+ pipelines = _context2.sent;
33
+ return _context2.abrupt("return", Promise.all(pipelines.map( /*#__PURE__*/function () {
34
+ var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(_ref) {
35
+ var id, ref, status, _yield$fetchJobs, commit, stages, downstreamStages;
36
+ return _regenerator.default.wrap(function _callee$(_context) {
37
+ while (1) {
38
+ switch (_context.prev = _context.next) {
39
+ case 0:
40
+ id = _ref.id, ref = _ref.ref, status = _ref.status;
41
+ _context.next = 3;
42
+ return fetchJobs(projectId, id, gitlab);
43
+ case 3:
44
+ _yield$fetchJobs = _context.sent;
45
+ commit = _yield$fetchJobs.commit;
46
+ stages = _yield$fetchJobs.stages;
47
+ _context.next = 8;
48
+ return fetchDownstreamJobs(projectId, id, gitlab);
49
+ case 8:
50
+ downstreamStages = _context.sent;
51
+ return _context.abrupt("return", {
52
+ id,
53
+ ref,
54
+ status,
55
+ commit,
56
+ stages: stages.concat(downstreamStages)
57
+ });
58
+ case 10:
59
+ case "end":
60
+ return _context.stop();
61
+ }
62
+ }
63
+ }, _callee);
64
+ }));
65
+ return function (_x14) {
66
+ return _ref2.apply(this, arguments);
67
+ };
68
+ }())));
69
+ case 4:
70
+ case "end":
71
+ return _context2.stop();
72
+ }
73
+ }
74
+ }, _callee2);
75
+ }));
76
+ return _fetchLatestPipelines.apply(this, arguments);
18
77
  }
19
-
20
- // eslint-disable-next-line max-statements
21
- async function fetchLatestAndMasterPipeline(projectId, config) {
22
- const pipelines = await fetchPipelines(projectId, config, {per_page: 100})
23
- if (pipelines.length === 0) {
24
- return []
25
- }
26
- const latestPipeline = _.take(pipelines, 1)
27
- if (latestPipeline[0].ref === 'master') {
28
- return latestPipeline
29
- }
30
- const latestMasterPipeline = _(pipelines).filter({ref: 'master'}).take(1).value()
31
- if (latestMasterPipeline.length > 0) {
32
- return latestPipeline.concat(latestMasterPipeline)
33
- }
34
- const masterPipelines = await fetchPipelines(projectId, config, {per_page: 50, ref: 'master'})
35
- return latestPipeline.concat(_.take(masterPipelines, 1))
78
+ function fetchLatestAndMasterPipeline(_x3, _x4) {
79
+ return _fetchLatestAndMasterPipeline.apply(this, arguments);
36
80
  }
37
-
38
- async function fetchPipelines(projectId, config, options) {
39
- const {data: pipelines} = await gitlabRequest(`/projects/${projectId}/pipelines`, options, config)
40
- return pipelines.filter(pipeline => pipeline.status !== 'skipped')
81
+ function _fetchLatestAndMasterPipeline() {
82
+ _fetchLatestAndMasterPipeline = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(projectId, config) {
83
+ var pipelines, latestPipeline, latestMasterPipeline, masterPipelines;
84
+ return _regenerator.default.wrap(function _callee3$(_context3) {
85
+ while (1) {
86
+ switch (_context3.prev = _context3.next) {
87
+ case 0:
88
+ _context3.next = 2;
89
+ return fetchPipelines(projectId, config, {
90
+ per_page: 100
91
+ });
92
+ case 2:
93
+ pipelines = _context3.sent;
94
+ if (!(pipelines.length === 0)) {
95
+ _context3.next = 5;
96
+ break;
97
+ }
98
+ return _context3.abrupt("return", []);
99
+ case 5:
100
+ latestPipeline = _lodash.default.take(pipelines, 1);
101
+ if (!(latestPipeline[0].ref === 'master')) {
102
+ _context3.next = 8;
103
+ break;
104
+ }
105
+ return _context3.abrupt("return", latestPipeline);
106
+ case 8:
107
+ latestMasterPipeline = (0, _lodash.default)(pipelines).filter({
108
+ ref: 'master'
109
+ }).take(1).value();
110
+ if (!(latestMasterPipeline.length > 0)) {
111
+ _context3.next = 11;
112
+ break;
113
+ }
114
+ return _context3.abrupt("return", latestPipeline.concat(latestMasterPipeline));
115
+ case 11:
116
+ _context3.next = 13;
117
+ return fetchPipelines(projectId, config, {
118
+ per_page: 50,
119
+ ref: 'master'
120
+ });
121
+ case 13:
122
+ masterPipelines = _context3.sent;
123
+ return _context3.abrupt("return", latestPipeline.concat(_lodash.default.take(masterPipelines, 1)));
124
+ case 15:
125
+ case "end":
126
+ return _context3.stop();
127
+ }
128
+ }
129
+ }, _callee3);
130
+ }));
131
+ return _fetchLatestAndMasterPipeline.apply(this, arguments);
41
132
  }
42
-
43
- async function fetchDownstreamJobs(projectId, pipelineId, config) {
44
- const {data: gitlabBridgeJobs} = await gitlabRequest(`/projects/${projectId}/pipelines/${pipelineId}/bridges`, {per_page: 100}, config)
45
- const childPipelines = gitlabBridgeJobs.filter(bridge => bridge.downstream_pipeline.status !== 'skipped')
46
-
47
- const downstreamStages = []
48
- for(const childPipeline of childPipelines) {
49
- const {stages} = await fetchJobs(projectId, childPipeline.downstream_pipeline.id, config)
50
- downstreamStages.push(stages.map(stage => ({
51
- ...stage,
52
- name: `${childPipeline.stage}:${stage.name}`
53
- })))
54
- }
55
- return downstreamStages.flat()
133
+ function fetchPipelines(_x5, _x6, _x7) {
134
+ return _fetchPipelines.apply(this, arguments);
56
135
  }
57
-
58
- async function fetchJobs(projectId, pipelineId, config) {
59
- const {data: gitlabJobs} = await gitlabRequest(`/projects/${projectId}/pipelines/${pipelineId}/jobs?include_retried=true`, {per_page: 100}, config)
60
- if (gitlabJobs.length === 0) {
61
- return {}
62
- }
63
-
64
- const commit = findCommit(gitlabJobs)
65
- const stages = _(gitlabJobs)
66
- .map(job => ({
67
- id: job.id,
68
- status: job.status,
69
- stage: job.stage,
70
- name: job.name,
71
- startedAt: job.started_at,
72
- finishedAt: job.finished_at,
73
- url: job.web_url
74
- }))
75
- .orderBy('id')
76
- .groupBy('stage')
77
- .mapValues(mergeRetriedJobs)
78
- .mapValues(cleanup)
79
- .toPairs()
80
- .map(([name, jobs]) => ({name, jobs: _.sortBy(jobs, 'name')}))
81
- .value()
82
-
83
- return {
84
- commit,
85
- stages
86
- }
136
+ function _fetchPipelines() {
137
+ _fetchPipelines = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4(projectId, config, options) {
138
+ var _yield$gitlabRequest, pipelines;
139
+ return _regenerator.default.wrap(function _callee4$(_context4) {
140
+ while (1) {
141
+ switch (_context4.prev = _context4.next) {
142
+ case 0:
143
+ _context4.next = 2;
144
+ return (0, _client.gitlabRequest)("/projects/".concat(projectId, "/pipelines"), options, config);
145
+ case 2:
146
+ _yield$gitlabRequest = _context4.sent;
147
+ pipelines = _yield$gitlabRequest.data;
148
+ return _context4.abrupt("return", pipelines.filter(pipeline => pipeline.status !== 'skipped'));
149
+ case 5:
150
+ case "end":
151
+ return _context4.stop();
152
+ }
153
+ }
154
+ }, _callee4);
155
+ }));
156
+ return _fetchPipelines.apply(this, arguments);
157
+ }
158
+ function fetchDownstreamJobs(_x8, _x9, _x10) {
159
+ return _fetchDownstreamJobs.apply(this, arguments);
160
+ }
161
+ function _fetchDownstreamJobs() {
162
+ _fetchDownstreamJobs = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee5(projectId, pipelineId, config) {
163
+ var _yield$gitlabRequest2, gitlabBridgeJobs, childPipelines, downstreamStages, _iterator, _step, _loop;
164
+ return _regenerator.default.wrap(function _callee5$(_context6) {
165
+ while (1) {
166
+ switch (_context6.prev = _context6.next) {
167
+ case 0:
168
+ _context6.next = 2;
169
+ return (0, _client.gitlabRequest)("/projects/".concat(projectId, "/pipelines/").concat(pipelineId, "/bridges"), {
170
+ per_page: 100
171
+ }, config);
172
+ case 2:
173
+ _yield$gitlabRequest2 = _context6.sent;
174
+ gitlabBridgeJobs = _yield$gitlabRequest2.data;
175
+ childPipelines = gitlabBridgeJobs.filter(bridge => bridge.downstream_pipeline.status !== 'skipped');
176
+ downstreamStages = [];
177
+ _iterator = _createForOfIteratorHelper(childPipelines);
178
+ _context6.prev = 7;
179
+ _loop = /*#__PURE__*/_regenerator.default.mark(function _loop() {
180
+ var childPipeline, _yield$fetchJobs2, stages;
181
+ return _regenerator.default.wrap(function _loop$(_context5) {
182
+ while (1) {
183
+ switch (_context5.prev = _context5.next) {
184
+ case 0:
185
+ childPipeline = _step.value;
186
+ _context5.next = 3;
187
+ return fetchJobs(projectId, childPipeline.downstream_pipeline.id, config);
188
+ case 3:
189
+ _yield$fetchJobs2 = _context5.sent;
190
+ stages = _yield$fetchJobs2.stages;
191
+ downstreamStages.push(stages.map(stage => _objectSpread(_objectSpread({}, stage), {}, {
192
+ name: "".concat(childPipeline.stage, ":").concat(stage.name)
193
+ })));
194
+ case 6:
195
+ case "end":
196
+ return _context5.stop();
197
+ }
198
+ }
199
+ }, _loop);
200
+ });
201
+ _iterator.s();
202
+ case 10:
203
+ if ((_step = _iterator.n()).done) {
204
+ _context6.next = 14;
205
+ break;
206
+ }
207
+ return _context6.delegateYield(_loop(), "t0", 12);
208
+ case 12:
209
+ _context6.next = 10;
210
+ break;
211
+ case 14:
212
+ _context6.next = 19;
213
+ break;
214
+ case 16:
215
+ _context6.prev = 16;
216
+ _context6.t1 = _context6["catch"](7);
217
+ _iterator.e(_context6.t1);
218
+ case 19:
219
+ _context6.prev = 19;
220
+ _iterator.f();
221
+ return _context6.finish(19);
222
+ case 22:
223
+ return _context6.abrupt("return", downstreamStages.flat());
224
+ case 23:
225
+ case "end":
226
+ return _context6.stop();
227
+ }
228
+ }
229
+ }, _callee5, null, [[7, 16, 19, 22]]);
230
+ }));
231
+ return _fetchDownstreamJobs.apply(this, arguments);
232
+ }
233
+ function fetchJobs(_x11, _x12, _x13) {
234
+ return _fetchJobs.apply(this, arguments);
235
+ }
236
+ function _fetchJobs() {
237
+ _fetchJobs = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee6(projectId, pipelineId, config) {
238
+ var _yield$gitlabRequest3, gitlabJobs, commit, stages;
239
+ return _regenerator.default.wrap(function _callee6$(_context7) {
240
+ while (1) {
241
+ switch (_context7.prev = _context7.next) {
242
+ case 0:
243
+ _context7.next = 2;
244
+ return (0, _client.gitlabRequest)("/projects/".concat(projectId, "/pipelines/").concat(pipelineId, "/jobs?include_retried=true"), {
245
+ per_page: 100
246
+ }, config);
247
+ case 2:
248
+ _yield$gitlabRequest3 = _context7.sent;
249
+ gitlabJobs = _yield$gitlabRequest3.data;
250
+ if (!(gitlabJobs.length === 0)) {
251
+ _context7.next = 6;
252
+ break;
253
+ }
254
+ return _context7.abrupt("return", {});
255
+ case 6:
256
+ commit = findCommit(gitlabJobs);
257
+ stages = (0, _lodash.default)(gitlabJobs).map(job => ({
258
+ id: job.id,
259
+ status: job.status,
260
+ stage: job.stage,
261
+ name: job.name,
262
+ startedAt: job.started_at,
263
+ finishedAt: job.finished_at,
264
+ url: job.web_url
265
+ })).orderBy('id').groupBy('stage').mapValues(mergeRetriedJobs).mapValues(cleanup).toPairs().map(_ref3 => {
266
+ var _ref4 = (0, _slicedToArray2.default)(_ref3, 2),
267
+ name = _ref4[0],
268
+ jobs = _ref4[1];
269
+ return {
270
+ name,
271
+ jobs: _lodash.default.sortBy(jobs, 'name')
272
+ };
273
+ }).value();
274
+ return _context7.abrupt("return", {
275
+ commit,
276
+ stages
277
+ });
278
+ case 9:
279
+ case "end":
280
+ return _context7.stop();
281
+ }
282
+ }
283
+ }, _callee6);
284
+ }));
285
+ return _fetchJobs.apply(this, arguments);
87
286
  }
88
-
89
287
  function findCommit(jobs) {
90
- const [job] = jobs.filter(j => j.commit)
288
+ var _jobs$filter = jobs.filter(j => j.commit),
289
+ _jobs$filter2 = (0, _slicedToArray2.default)(_jobs$filter, 1),
290
+ job = _jobs$filter2[0];
91
291
  if (!job) {
92
- return null
292
+ return null;
93
293
  }
94
294
  return {
95
295
  title: job.commit.title,
96
296
  author: job.commit.author_name
97
- }
297
+ };
98
298
  }
99
-
100
299
  function mergeRetriedJobs(jobs) {
101
300
  return jobs.reduce((mergedJobs, job) => {
102
- const index = mergedJobs.findIndex(mergedJob => mergedJob.name === job.name)
301
+ var index = mergedJobs.findIndex(mergedJob => mergedJob.name === job.name);
103
302
  if (index >= 0) {
104
- mergedJobs[index] = job
303
+ mergedJobs[index] = job;
105
304
  } else {
106
- mergedJobs.push(job)
305
+ mergedJobs.push(job);
107
306
  }
108
- return mergedJobs
109
- }, [])
307
+ return mergedJobs;
308
+ }, []);
110
309
  }
111
-
112
310
  function cleanup(jobs) {
113
- return _(jobs)
114
- .map(job => _.omitBy(job, _.isNull))
115
- .map(job => _.omit(job, 'stage'))
116
- .value()
117
- }
311
+ return (0, _lodash.default)(jobs).map(job => _lodash.default.omitBy(job, _lodash.default.isNull)).map(job => _lodash.default.omit(job, 'stage')).value();
312
+ }
@@ -1,30 +1,88 @@
1
- import {gitlabRequest} from './client'
1
+ "use strict";
2
2
 
3
- export async function fetchProjects(gitlab) {
4
- const projects = await fetchOwnProjects(gitlab)
5
- return projects
6
- // Ignore projects for which CI/CD is not enabled
7
- .filter(project => project.jobs_enabled)
8
- .map(projectMapper)
9
- .filter(includeRegexFilter(gitlab))
10
- .filter(excludeRegexFilter(gitlab))
11
- .filter(archivedFilter(gitlab))
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.fetchProjects = fetchProjects;
8
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
10
+ var _client = require("./client");
11
+ function fetchProjects(_x) {
12
+ return _fetchProjects.apply(this, arguments);
12
13
  }
13
-
14
- async function fetchOwnProjects(gitlab) {
15
- const projects = []
16
- const SAFETY_MAX_PAGE = 10
17
- for (let page = 1; page <= SAFETY_MAX_PAGE; page += 1) {
18
- // eslint-disable-next-line no-await-in-loop
19
- const {data, headers} = await gitlabRequest('/projects', {page, per_page: 100, membership: true}, gitlab)
20
- projects.push(data)
21
- if (data.length === 0 || !headers['x-next-page']) {
22
- break
23
- }
24
- }
25
- return projects.flat()
14
+ function _fetchProjects() {
15
+ _fetchProjects = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(gitlab) {
16
+ var projects;
17
+ return _regenerator.default.wrap(function _callee$(_context) {
18
+ while (1) {
19
+ switch (_context.prev = _context.next) {
20
+ case 0:
21
+ _context.next = 2;
22
+ return fetchOwnProjects(gitlab);
23
+ case 2:
24
+ projects = _context.sent;
25
+ return _context.abrupt("return", projects
26
+ // Ignore projects for which CI/CD is not enabled
27
+ .filter(project => project.jobs_enabled).map(projectMapper).filter(includeRegexFilter(gitlab)).filter(excludeRegexFilter(gitlab)).filter(archivedFilter(gitlab)));
28
+ case 4:
29
+ case "end":
30
+ return _context.stop();
31
+ }
32
+ }
33
+ }, _callee);
34
+ }));
35
+ return _fetchProjects.apply(this, arguments);
36
+ }
37
+ function fetchOwnProjects(_x2) {
38
+ return _fetchOwnProjects.apply(this, arguments);
39
+ }
40
+ function _fetchOwnProjects() {
41
+ _fetchOwnProjects = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(gitlab) {
42
+ var projects, SAFETY_MAX_PAGE, page, _yield$gitlabRequest, data, headers;
43
+ return _regenerator.default.wrap(function _callee2$(_context2) {
44
+ while (1) {
45
+ switch (_context2.prev = _context2.next) {
46
+ case 0:
47
+ projects = [];
48
+ SAFETY_MAX_PAGE = 10;
49
+ page = 1;
50
+ case 3:
51
+ if (!(page <= SAFETY_MAX_PAGE)) {
52
+ _context2.next = 15;
53
+ break;
54
+ }
55
+ _context2.next = 6;
56
+ return (0, _client.gitlabRequest)('/projects', {
57
+ page,
58
+ per_page: 100,
59
+ membership: true
60
+ }, gitlab);
61
+ case 6:
62
+ _yield$gitlabRequest = _context2.sent;
63
+ data = _yield$gitlabRequest.data;
64
+ headers = _yield$gitlabRequest.headers;
65
+ projects.push(data);
66
+ if (!(data.length === 0 || !headers['x-next-page'])) {
67
+ _context2.next = 12;
68
+ break;
69
+ }
70
+ return _context2.abrupt("break", 15);
71
+ case 12:
72
+ page += 1;
73
+ _context2.next = 3;
74
+ break;
75
+ case 15:
76
+ return _context2.abrupt("return", projects.flat());
77
+ case 16:
78
+ case "end":
79
+ return _context2.stop();
80
+ }
81
+ }
82
+ }, _callee2);
83
+ }));
84
+ return _fetchOwnProjects.apply(this, arguments);
26
85
  }
27
-
28
86
  function projectMapper(project) {
29
87
  return {
30
88
  id: project.id,
@@ -35,39 +93,35 @@ function projectMapper(project) {
35
93
  default_branch: project.default_branch || 'master',
36
94
  url: project.web_url,
37
95
  tags: (project.tag_list || []).map(t => t.toLowerCase())
38
- }
96
+ };
39
97
  }
40
-
41
98
  function getGroupName(project) {
42
- const pathWithNameSpace = project.path_with_namespace
43
- return pathWithNameSpace.split('/')[0]
99
+ var pathWithNameSpace = project.path_with_namespace;
100
+ return pathWithNameSpace.split('/')[0];
44
101
  }
45
-
46
102
  function includeRegexFilter(config) {
47
103
  return project => {
48
104
  if (config.projects && config.projects.include) {
49
- const includeRegex = new RegExp(config.projects.include, "i")
50
- return includeRegex.test(project.name)
105
+ var includeRegex = new RegExp(config.projects.include, "i");
106
+ return includeRegex.test(project.name);
51
107
  }
52
- return true
53
- }
108
+ return true;
109
+ };
54
110
  }
55
-
56
111
  function excludeRegexFilter(config) {
57
112
  return project => {
58
113
  if (config.projects && config.projects.exclude) {
59
- const excludeRegex = new RegExp(config.projects.exclude, "i")
60
- return !excludeRegex.test(project.name)
114
+ var excludeRegex = new RegExp(config.projects.exclude, "i");
115
+ return !excludeRegex.test(project.name);
61
116
  }
62
- return true
63
- }
117
+ return true;
118
+ };
64
119
  }
65
-
66
120
  function archivedFilter(config) {
67
121
  return project => {
68
122
  if (config.ignoreArchived) {
69
- return !project.archived
123
+ return !project.archived;
70
124
  }
71
- return true
72
- }
73
- }
125
+ return true;
126
+ };
127
+ }
@@ -1,18 +1,66 @@
1
- import {gitlabRequest} from './client'
1
+ "use strict";
2
2
 
3
- export async function fetchOfflineRunners(gitlab) {
4
- const runners = await fetchRunners(gitlab)
5
- const offline = runners.filter(r => r.status === 'offline')
6
- return {
7
- offline,
8
- totalCount: runners.length
9
- }
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.fetchOfflineRunners = fetchOfflineRunners;
8
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
10
+ var _client = require("./client");
11
+ function fetchOfflineRunners(_x) {
12
+ return _fetchOfflineRunners.apply(this, arguments);
10
13
  }
11
-
12
- async function fetchRunners(gitlab) {
13
- const {data: runners} = await gitlabRequest('/runners', {}, gitlab)
14
- return runners.map(r => ({
15
- name: r.description || r.id,
16
- status: r.status
17
- }))
14
+ function _fetchOfflineRunners() {
15
+ _fetchOfflineRunners = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(gitlab) {
16
+ var runners, offline;
17
+ return _regenerator.default.wrap(function _callee$(_context) {
18
+ while (1) {
19
+ switch (_context.prev = _context.next) {
20
+ case 0:
21
+ _context.next = 2;
22
+ return fetchRunners(gitlab);
23
+ case 2:
24
+ runners = _context.sent;
25
+ offline = runners.filter(r => r.status === 'offline');
26
+ return _context.abrupt("return", {
27
+ offline,
28
+ totalCount: runners.length
29
+ });
30
+ case 5:
31
+ case "end":
32
+ return _context.stop();
33
+ }
34
+ }
35
+ }, _callee);
36
+ }));
37
+ return _fetchOfflineRunners.apply(this, arguments);
38
+ }
39
+ function fetchRunners(_x2) {
40
+ return _fetchRunners.apply(this, arguments);
18
41
  }
42
+ function _fetchRunners() {
43
+ _fetchRunners = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(gitlab) {
44
+ var _yield$gitlabRequest, runners;
45
+ return _regenerator.default.wrap(function _callee2$(_context2) {
46
+ while (1) {
47
+ switch (_context2.prev = _context2.next) {
48
+ case 0:
49
+ _context2.next = 2;
50
+ return (0, _client.gitlabRequest)('/runners', {}, gitlab);
51
+ case 2:
52
+ _yield$gitlabRequest = _context2.sent;
53
+ runners = _yield$gitlabRequest.data;
54
+ return _context2.abrupt("return", runners.map(r => ({
55
+ name: r.description || r.id,
56
+ status: r.status
57
+ })));
58
+ case 5:
59
+ case "end":
60
+ return _context2.stop();
61
+ }
62
+ }
63
+ }, _callee2);
64
+ }));
65
+ return _fetchRunners.apply(this, arguments);
66
+ }
package/src/index.js CHANGED
@@ -1,3 +1,5 @@
1
+ "use strict";
2
+
1
3
  // eslint-disable-next-line no-global-assign,no-native-reassign
2
- require = require("esm")(module)
3
- module.exports = require("./app.js")
4
+ require = require("esm")(module);
5
+ module.exports = require("./app.js");