@neurodevs/meta-node 0.14.21 → 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.
@@ -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":"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"}
1
+ {"version":3,"file":"GitAutocloner.test.js","sourceRoot":"","sources":["../../../src/__tests__/impl/GitAutocloner.test.ts"],"names":[],"mappings":"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"}
@@ -25,6 +25,7 @@ export default class GitAutocloner implements Autocloner {
25
25
  private tryToCloneRepo;
26
26
  private throwGitCloneFailed;
27
27
  private get gitCloneFailedMessage();
28
+ private runYarnInstall;
28
29
  private get chdir();
29
30
  private get exec();
30
31
  private get pathExists();
@@ -50,6 +50,7 @@ export default class GitAutocloner {
50
50
  if (!currentRepoExists) {
51
51
  this.log.info(`Cloning repo: ${this.currentUrl}...`);
52
52
  await this.tryToCloneRepo();
53
+ await this.runYarnInstall();
53
54
  }
54
55
  else {
55
56
  this.log.info(`Repo exists, skipping: ${this.currentRepoName}!`);
@@ -77,6 +78,9 @@ export default class GitAutocloner {
77
78
  get gitCloneFailedMessage() {
78
79
  return `Git clone failed for repo: ${this.currentUrl}!\n\n${this.currentError}\n\n`;
79
80
  }
81
+ async runYarnInstall() {
82
+ await this.exec(`yarn --cwd ./${this.currentRepoName} install`);
83
+ }
80
84
  get chdir() {
81
85
  return GitAutocloner.chdir;
82
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@neurodevs/meta-node",
3
- "version": "0.14.21",
3
+ "version": "0.14.22",
4
4
  "description": "Meta-layer utilities for maintaining Node.js package ecosystems.",
5
5
  "type": "module",
6
6
  "keywords": [
@@ -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!'
@@ -66,6 +66,7 @@ export default class GitAutocloner implements Autocloner {
66
66
  if (!currentRepoExists) {
67
67
  this.log.info(`Cloning repo: ${this.currentUrl}...`)
68
68
  await this.tryToCloneRepo()
69
+ await this.runYarnInstall()
69
70
  } else {
70
71
  this.log.info(`Repo exists, skipping: ${this.currentRepoName}!`)
71
72
  }
@@ -98,6 +99,10 @@ export default class GitAutocloner implements Autocloner {
98
99
  return `Git clone failed for repo: ${this.currentUrl}!\n\n${this.currentError}\n\n`
99
100
  }
100
101
 
102
+ private async runYarnInstall() {
103
+ await this.exec(`yarn --cwd ./${this.currentRepoName} install`)
104
+ }
105
+
101
106
  private get chdir() {
102
107
  return GitAutocloner.chdir
103
108
  }