-
Notifications
You must be signed in to change notification settings - Fork 13
Expand file tree
/
Copy pathproject.js
More file actions
30 lines (28 loc) · 889 Bytes
/
project.js
File metadata and controls
30 lines (28 loc) · 889 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
'use strict'
module.exports.Project = class Project {
constructor (proj) {
let repo
let repoOwner
let repoName
if (typeof proj === 'string') {
[repoOwner, repoName] = proj.split('/')
repo = proj
} else if (proj.repo && (!proj.repoOwner || !proj.repoName)) {
[repoOwner, repoName] = proj.repo.split('/')
repo = proj.repo
repoOwner = proj.repoOwner || repoOwner
repoName = proj.repoName || repoName
} else if (!proj.repo && proj.repoOwner && proj.repoName) {
repo = `${proj.repoOwner}/${proj.repoName}`
repoOwner = proj.repoOwner
repoName = proj.repoName
}
this.name = proj.name || repo
this.repo = repo
this.repoOwner = repoOwner
this.repoName = repoName
this.repoBranch = proj.repoBranch || 'HEAD'
this.repoDirectory = proj.repoDirectory || '/'
this.packageName = null
}
}