UNPKG

@kiwicom/orbit-tracking

Version:

Tracking for orbit design system

38 lines (35 loc) 1.27 kB
import { __spreadProps, __spreadValues } from "./chunk-EQVCDNQH.js"; // src/helpers/projects.ts import { path } from "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(__spreadValues({ id }, user)); else acc.maintainers.push(__spreadProps(__spreadValues({}, 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 ${path.join(folderName, `${name}-${projectId}`)}`, name, url, id: projectId, description, createdAt: new Date().toISOString(), lastCommit: repository.tree.lastCommit, members: mapMembers(projectMembers.nodes) }; }); export { mapProjects };