@neurodevs/meta-node 0.14.20 → 0.14.22
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/build/__tests__/impl/GitAutocloner.test.d.ts +8 -2
- package/build/__tests__/impl/GitAutocloner.test.js +22 -4
- package/build/__tests__/impl/GitAutocloner.test.js.map +1 -1
- package/build/impl/GitAutocloner.d.ts +1 -0
- package/build/impl/GitAutocloner.js +5 -0
- package/build/impl/GitAutocloner.js.map +1 -1
- package/package.json +1 -1
- package/src/__tests__/impl/GitAutocloner.test.ts +34 -5
- package/src/impl/GitAutocloner.ts +6 -0
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
import AbstractPackageTest from '../AbstractPackageTest.js';
|
|
2
2
|
export default class AutoclonerTest extends AbstractPackageTest {
|
|
3
3
|
private static instance;
|
|
4
|
+
private static packageNameA;
|
|
5
|
+
private static packageNameB;
|
|
6
|
+
private static urlA;
|
|
7
|
+
private static urlB;
|
|
8
|
+
private static generateUrl;
|
|
9
|
+
private static readonly urls;
|
|
4
10
|
protected static beforeEach(): Promise<void>;
|
|
5
11
|
protected static canCreateAutocloner(): Promise<void>;
|
|
6
12
|
protected static throwsIfDirPathDoesNotExist(): Promise<void>;
|
|
@@ -9,13 +15,13 @@ export default class AutoclonerTest extends AbstractPackageTest {
|
|
|
9
15
|
protected static doesNotCallGitCloneIfUrlExists(): Promise<void>;
|
|
10
16
|
protected static throwsIfGitCloneFails(): Promise<void>;
|
|
11
17
|
protected static worksWithPeriodInRepoName(): Promise<void>;
|
|
18
|
+
protected static callsYarnInstallAfterCloningFirstRepo(): Promise<void>;
|
|
19
|
+
protected static callsYarnInstallAfterCloningSecondRepo(): Promise<void>;
|
|
12
20
|
private static run;
|
|
13
21
|
private static setFakeChdir;
|
|
14
22
|
private static setFakeExec;
|
|
15
23
|
private static setFakePathExists;
|
|
16
|
-
private static generateUrl;
|
|
17
24
|
private static get gitCloneFailedMessage();
|
|
18
|
-
private static readonly urls;
|
|
19
25
|
private static readonly validDirPath;
|
|
20
26
|
private static readonly invalidDirPath;
|
|
21
27
|
private static readonly gitCloneFailedError;
|
|
@@ -13,6 +13,14 @@ import AbstractPackageTest from '../AbstractPackageTest.js';
|
|
|
13
13
|
const exec = promisify(execSync);
|
|
14
14
|
export default class AutoclonerTest extends AbstractPackageTest {
|
|
15
15
|
static instance;
|
|
16
|
+
static packageNameA = this.generateId();
|
|
17
|
+
static packageNameB = this.generateId();
|
|
18
|
+
static urlA = this.generateUrl(this.packageNameA);
|
|
19
|
+
static urlB = this.generateUrl(this.packageNameB);
|
|
20
|
+
static generateUrl(packageName) {
|
|
21
|
+
return `https://github.com/${packageName}.git`;
|
|
22
|
+
}
|
|
23
|
+
static urls = [this.urlA, this.urlB];
|
|
16
24
|
static async beforeEach() {
|
|
17
25
|
await super.beforeEach();
|
|
18
26
|
this.setFakeChdir();
|
|
@@ -57,6 +65,14 @@ export default class AutoclonerTest extends AbstractPackageTest {
|
|
|
57
65
|
const repoName = `/${this.generateId()}.${this.generateId()}.git`;
|
|
58
66
|
await this.run({ urls: [repoName] });
|
|
59
67
|
}
|
|
68
|
+
static async callsYarnInstallAfterCloningFirstRepo() {
|
|
69
|
+
await this.run();
|
|
70
|
+
assert.isEqualDeep(callsToExec[1], `yarn --cwd ./${this.packageNameA} install`, 'Should call yarn install after cloning first package!');
|
|
71
|
+
}
|
|
72
|
+
static async callsYarnInstallAfterCloningSecondRepo() {
|
|
73
|
+
await this.run();
|
|
74
|
+
assert.isEqualDeep(callsToExec[3], `yarn --cwd ./${this.packageNameB} install`, 'Should call yarn install after cloning second package!');
|
|
75
|
+
}
|
|
60
76
|
static run(options) {
|
|
61
77
|
return this.instance.run({
|
|
62
78
|
urls: this.urls,
|
|
@@ -81,13 +97,9 @@ export default class AutoclonerTest extends AbstractPackageTest {
|
|
|
81
97
|
setPathShouldExist(url.match(this.regexForRepoName)[1], false);
|
|
82
98
|
});
|
|
83
99
|
}
|
|
84
|
-
static generateUrl() {
|
|
85
|
-
return `https://github.com/${this.generateId()}.git`;
|
|
86
|
-
}
|
|
87
100
|
static get gitCloneFailedMessage() {
|
|
88
101
|
return `Git clone failed for repo: ${this.urls[0]}! Error: \n\n${this.gitCloneFailedError}\n\n`;
|
|
89
102
|
}
|
|
90
|
-
static urls = [this.generateUrl(), this.generateUrl()];
|
|
91
103
|
static validDirPath = this.generateId();
|
|
92
104
|
static invalidDirPath = this.generateId();
|
|
93
105
|
static gitCloneFailedError = 'Failed to clone repo!';
|
|
@@ -117,4 +129,10 @@ __decorate([
|
|
|
117
129
|
__decorate([
|
|
118
130
|
test()
|
|
119
131
|
], AutoclonerTest, "worksWithPeriodInRepoName", null);
|
|
132
|
+
__decorate([
|
|
133
|
+
test()
|
|
134
|
+
], AutoclonerTest, "callsYarnInstallAfterCloningFirstRepo", null);
|
|
135
|
+
__decorate([
|
|
136
|
+
test()
|
|
137
|
+
], AutoclonerTest, "callsYarnInstallAfterCloningSecondRepo", null);
|
|
120
138
|
//# sourceMappingURL=GitAutocloner.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GitAutocloner.test.js","sourceRoot":"","sources":["../../../src/__tests__/impl/GitAutocloner.test.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,IAAI,IAAI,QAAQ,EAAE,MAAM,eAAe,CAAA;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAA;AAChC,OAAO,EACH,YAAY,EACZ,WAAW,EACX,SAAS,EACT,QAAQ,EACR,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,GACrB,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAGlD,OAAO,aAGN,MAAM,6BAA6B,CAAA;AACpC,OAAO,mBAAmB,MAAM,2BAA2B,CAAA;AAE3D,MAAM,IAAI,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAA;AAEhC,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,mBAAmB;IACnD,MAAM,CAAC,QAAQ,CAAY;
|
|
1
|
+
{"version":3,"file":"GitAutocloner.test.js","sourceRoot":"","sources":["../../../src/__tests__/impl/GitAutocloner.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -48,7 +48,9 @@ export default class GitAutocloner {
|
|
|
48
48
|
async cloneCurrentUrl() {
|
|
49
49
|
const currentRepoExists = await this.checkIfCurrentRepoExists();
|
|
50
50
|
if (!currentRepoExists) {
|
|
51
|
+
this.log.info(`Cloning repo: ${this.currentUrl}...`);
|
|
51
52
|
await this.tryToCloneRepo();
|
|
53
|
+
await this.runYarnInstall();
|
|
52
54
|
}
|
|
53
55
|
else {
|
|
54
56
|
this.log.info(`Repo exists, skipping: ${this.currentRepoName}!`);
|
|
@@ -76,6 +78,9 @@ export default class GitAutocloner {
|
|
|
76
78
|
get gitCloneFailedMessage() {
|
|
77
79
|
return `Git clone failed for repo: ${this.currentUrl}!\n\n${this.currentError}\n\n`;
|
|
78
80
|
}
|
|
81
|
+
async runYarnInstall() {
|
|
82
|
+
await this.exec(`yarn --cwd ./${this.currentRepoName} install`);
|
|
83
|
+
}
|
|
79
84
|
get chdir() {
|
|
80
85
|
return GitAutocloner.chdir;
|
|
81
86
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GitAutocloner.js","sourceRoot":"","sources":["../../src/impl/GitAutocloner.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"GitAutocloner.js","sourceRoot":"","sources":["../../src/impl/GitAutocloner.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -24,6 +24,18 @@ const exec = promisify(execSync)
|
|
|
24
24
|
export default class AutoclonerTest extends AbstractPackageTest {
|
|
25
25
|
private static instance: Autocloner
|
|
26
26
|
|
|
27
|
+
private static packageNameA = this.generateId()
|
|
28
|
+
private static packageNameB = this.generateId()
|
|
29
|
+
|
|
30
|
+
private static urlA = this.generateUrl(this.packageNameA)
|
|
31
|
+
private static urlB = this.generateUrl(this.packageNameB)
|
|
32
|
+
|
|
33
|
+
private static generateUrl(packageName: string) {
|
|
34
|
+
return `https://github.com/${packageName}.git`
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
private static readonly urls = [this.urlA, this.urlB]
|
|
38
|
+
|
|
27
39
|
protected static async beforeEach() {
|
|
28
40
|
await super.beforeEach()
|
|
29
41
|
|
|
@@ -108,6 +120,28 @@ export default class AutoclonerTest extends AbstractPackageTest {
|
|
|
108
120
|
await this.run({ urls: [repoName] })
|
|
109
121
|
}
|
|
110
122
|
|
|
123
|
+
@test()
|
|
124
|
+
protected static async callsYarnInstallAfterCloningFirstRepo() {
|
|
125
|
+
await this.run()
|
|
126
|
+
|
|
127
|
+
assert.isEqualDeep(
|
|
128
|
+
callsToExec[1],
|
|
129
|
+
`yarn --cwd ./${this.packageNameA} install`,
|
|
130
|
+
'Should call yarn install after cloning first package!'
|
|
131
|
+
)
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
@test()
|
|
135
|
+
protected static async callsYarnInstallAfterCloningSecondRepo() {
|
|
136
|
+
await this.run()
|
|
137
|
+
|
|
138
|
+
assert.isEqualDeep(
|
|
139
|
+
callsToExec[3],
|
|
140
|
+
`yarn --cwd ./${this.packageNameB} install`,
|
|
141
|
+
'Should call yarn install after cloning second package!'
|
|
142
|
+
)
|
|
143
|
+
}
|
|
144
|
+
|
|
111
145
|
private static run(options?: Partial<AutoclonerOptions>) {
|
|
112
146
|
return this.instance.run({
|
|
113
147
|
urls: this.urls,
|
|
@@ -138,15 +172,10 @@ export default class AutoclonerTest extends AbstractPackageTest {
|
|
|
138
172
|
})
|
|
139
173
|
}
|
|
140
174
|
|
|
141
|
-
private static generateUrl() {
|
|
142
|
-
return `https://github.com/${this.generateId()}.git`
|
|
143
|
-
}
|
|
144
|
-
|
|
145
175
|
private static get gitCloneFailedMessage() {
|
|
146
176
|
return `Git clone failed for repo: ${this.urls[0]}! Error: \n\n${this.gitCloneFailedError}\n\n`
|
|
147
177
|
}
|
|
148
178
|
|
|
149
|
-
private static readonly urls = [this.generateUrl(), this.generateUrl()]
|
|
150
179
|
private static readonly validDirPath = this.generateId()
|
|
151
180
|
private static readonly invalidDirPath = this.generateId()
|
|
152
181
|
private static readonly gitCloneFailedError = 'Failed to clone repo!'
|
|
@@ -64,7 +64,9 @@ export default class GitAutocloner implements Autocloner {
|
|
|
64
64
|
const currentRepoExists = await this.checkIfCurrentRepoExists()
|
|
65
65
|
|
|
66
66
|
if (!currentRepoExists) {
|
|
67
|
+
this.log.info(`Cloning repo: ${this.currentUrl}...`)
|
|
67
68
|
await this.tryToCloneRepo()
|
|
69
|
+
await this.runYarnInstall()
|
|
68
70
|
} else {
|
|
69
71
|
this.log.info(`Repo exists, skipping: ${this.currentRepoName}!`)
|
|
70
72
|
}
|
|
@@ -97,6 +99,10 @@ export default class GitAutocloner implements Autocloner {
|
|
|
97
99
|
return `Git clone failed for repo: ${this.currentUrl}!\n\n${this.currentError}\n\n`
|
|
98
100
|
}
|
|
99
101
|
|
|
102
|
+
private async runYarnInstall() {
|
|
103
|
+
await this.exec(`yarn --cwd ./${this.currentRepoName} install`)
|
|
104
|
+
}
|
|
105
|
+
|
|
100
106
|
private get chdir() {
|
|
101
107
|
return GitAutocloner.chdir
|
|
102
108
|
}
|