UNPKG

@kiwicom/orbit-tracking

Version:

Tracking for orbit design system

38 lines (31 loc) 1.43 kB
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); var _chunkPHZK36Z6cjs = require('./chunk-PHZK36Z6.cjs'); // src/helpers/projects.ts var _zx = require('zx'); var mapMembers = (members) => members.reduce((acc, cur) => { const { accessLevel, user, id } = cur; const { bot, state } = user; const avatar = user.avatarUrl.match(/uploads\/-\/system/) ? "" : user.avatarUrl; if (bot || state === "blocked" || state === "deactivated") return acc; if (accessLevel.stringValue === "OWNER") acc.owners.push(_chunkPHZK36Z6cjs.__spreadValues.call(void 0, { id }, user)); else acc.maintainers.push(_chunkPHZK36Z6cjs.__spreadProps.call(void 0, _chunkPHZK36Z6cjs.__spreadValues.call(void 0, {}, user), { id, avatarUrl: avatar })); return acc; }, { owners: [], maintainers: [] }); var mapProjects = (data, folderName) => data.map(({ id, sshUrlToRepo: ssh, httpUrlToRepo: url, projectMembers, description, repository }) => { const projectId = id.replace(/^\D+/g, ""); const name = url.split("/").slice(-1)[0].replace(".git", ""); return { cmd: `git clone -b master ${ssh} --depth=1 --single-branch ${_zx.path.join(folderName, `${name}-${projectId}`)}`, name, url, id: projectId, description, createdAt: new Date().toISOString(), lastCommit: repository.tree.lastCommit, members: mapMembers(projectMembers.nodes) }; }); exports.mapProjects = mapProjects;