@neurodevs/meta-node 0.16.0 → 0.16.2
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__/AbstractPackageTest.d.ts +11 -0
- package/build/__tests__/AbstractPackageTest.js +13 -0
- package/build/__tests__/AbstractPackageTest.js.map +1 -1
- package/build/__tests__/impl/NpmPropagationCoordinator.test.d.ts +2 -6
- package/build/__tests__/impl/NpmPropagationCoordinator.test.js +11 -10
- package/build/__tests__/impl/NpmPropagationCoordinator.test.js.map +1 -1
- package/build/__tests__/impl/NpmReleasePropagator.test.d.ts +0 -2
- package/build/__tests__/impl/NpmReleasePropagator.test.js +4 -6
- package/build/__tests__/impl/NpmReleasePropagator.test.js.map +1 -1
- package/build/impl/NpmPropagationCoordinator.d.ts +3 -0
- package/build/impl/NpmPropagationCoordinator.js +13 -6
- package/build/impl/NpmPropagationCoordinator.js.map +1 -1
- package/build/impl/NpmReleasePropagator.d.ts +4 -3
- package/build/impl/NpmReleasePropagator.js +1 -0
- package/build/impl/NpmReleasePropagator.js.map +1 -1
- package/package.json +1 -1
- package/src/__tests__/AbstractPackageTest.ts +16 -0
- package/src/__tests__/impl/NpmPropagationCoordinator.test.ts +11 -10
- package/src/__tests__/impl/NpmReleasePropagator.test.ts +14 -12
- package/src/impl/NpmPropagationCoordinator.ts +16 -6
- package/src/impl/NpmReleasePropagator.ts +5 -3
|
@@ -1,9 +1,20 @@
|
|
|
1
1
|
import AbstractModuleTest from '@neurodevs/node-tdd';
|
|
2
|
+
import { PackageJson } from '../impl/NpmReleasePropagator.js';
|
|
2
3
|
export default class AbstractPackageTest extends AbstractModuleTest {
|
|
4
|
+
protected static readonly packageScope: string;
|
|
5
|
+
protected static readonly packageName: string;
|
|
6
|
+
protected static readonly scopedName: string;
|
|
7
|
+
protected static readonly packageVersion = "7.8.9";
|
|
3
8
|
protected static readonly yarnGlobalDirCmd = "yarn global dir";
|
|
4
9
|
protected static readonly fakeGlobalRoot: string;
|
|
5
10
|
protected static readonly metaNodeVersion: string;
|
|
6
11
|
protected static beforeEach(): Promise<void>;
|
|
12
|
+
protected static generatePackageJson(options?: Partial<PackageJson>): {
|
|
13
|
+
name: string;
|
|
14
|
+
version: string;
|
|
15
|
+
dependencies: Record<string, string>;
|
|
16
|
+
devDependencies: Record<string, string>;
|
|
17
|
+
};
|
|
7
18
|
protected static normalize(input: string): string;
|
|
8
19
|
protected static readonly vscodeDir: string;
|
|
9
20
|
protected static get snippetsPath(): string;
|
|
@@ -3,12 +3,25 @@ import { setFakeExecResult, setFakeReadFileResult, } from '@neurodevs/fake-node-
|
|
|
3
3
|
import AbstractModuleTest from '@neurodevs/node-tdd';
|
|
4
4
|
import expandHomeDir from '../functions/expandHomeDir.js';
|
|
5
5
|
export default class AbstractPackageTest extends AbstractModuleTest {
|
|
6
|
+
static packageScope = this.generateId();
|
|
7
|
+
static packageName = this.generateId();
|
|
8
|
+
static scopedName = `${this.packageScope}/${this.packageName}`;
|
|
9
|
+
static packageVersion = '7.8.9';
|
|
6
10
|
static yarnGlobalDirCmd = 'yarn global dir';
|
|
7
11
|
static fakeGlobalRoot = this.generateId();
|
|
8
12
|
static metaNodeVersion = this.generateId();
|
|
9
13
|
static async beforeEach() {
|
|
10
14
|
await super.beforeEach();
|
|
11
15
|
}
|
|
16
|
+
static generatePackageJson(options) {
|
|
17
|
+
return {
|
|
18
|
+
name: this.scopedName,
|
|
19
|
+
version: this.packageVersion,
|
|
20
|
+
dependencies: {},
|
|
21
|
+
devDependencies: {},
|
|
22
|
+
...options,
|
|
23
|
+
};
|
|
24
|
+
}
|
|
12
25
|
static normalize(input) {
|
|
13
26
|
return input.replace(/\s+/g, ' ').trim();
|
|
14
27
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractPackageTest.js","sourceRoot":"","sources":["../../src/__tests__/AbstractPackageTest.ts"],"names":[],"mappings":"AACA,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,EACH,iBAAiB,EACjB,qBAAqB,GACxB,MAAM,2BAA2B,CAAA;AAClC,OAAO,kBAAkB,MAAM,qBAAqB,CAAA;AAEpD,OAAO,aAAa,MAAM,+BAA+B,CAAA;
|
|
1
|
+
{"version":3,"file":"AbstractPackageTest.js","sourceRoot":"","sources":["../../src/__tests__/AbstractPackageTest.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,6 @@
|
|
|
1
|
-
import
|
|
2
|
-
export default class NpmPropagationCoordinatorTest extends
|
|
1
|
+
import AbstractPackageTest from '../AbstractPackageTest.js';
|
|
2
|
+
export default class NpmPropagationCoordinatorTest extends AbstractPackageTest {
|
|
3
3
|
private static instance;
|
|
4
|
-
private static readonly packageScope;
|
|
5
|
-
private static readonly packageName;
|
|
6
|
-
private static readonly scopedName;
|
|
7
|
-
private static readonly packageVersion;
|
|
8
4
|
private static readonly repoPath;
|
|
9
5
|
private static readonly repoPaths;
|
|
10
6
|
private static readonly pkgJsons;
|
|
@@ -5,16 +5,13 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
5
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
6
|
};
|
|
7
7
|
import { fakeReadFile, resetCallsToReadFile, setFakeReadFileResult, } from '@neurodevs/fake-node-core';
|
|
8
|
-
import
|
|
8
|
+
import { test, assert } from '@neurodevs/node-tdd';
|
|
9
9
|
import NpmPropagationCoordinator from '../../impl/NpmPropagationCoordinator.js';
|
|
10
10
|
import NpmReleasePropagator from '../../impl/NpmReleasePropagator.js';
|
|
11
11
|
import FakeReleasePropagator from '../../testDoubles/ReleasePropagator/FakeReleasePropagator.js';
|
|
12
|
-
|
|
12
|
+
import AbstractPackageTest from '../AbstractPackageTest.js';
|
|
13
|
+
export default class NpmPropagationCoordinatorTest extends AbstractPackageTest {
|
|
13
14
|
static instance;
|
|
14
|
-
static packageScope = this.generateId();
|
|
15
|
-
static packageName = this.generateId();
|
|
16
|
-
static scopedName = `${this.packageScope}/${this.packageName}`;
|
|
17
|
-
static packageVersion = '7.8.9';
|
|
18
15
|
static repoPath = `${this.generateId()}/${this.packageName}`;
|
|
19
16
|
static repoPaths = [
|
|
20
17
|
this.generateId(),
|
|
@@ -23,10 +20,14 @@ export default class NpmPropagationCoordinatorTest extends AbstractModuleTest {
|
|
|
23
20
|
this.repoPath,
|
|
24
21
|
];
|
|
25
22
|
static pkgJsons = [
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
23
|
+
this.generatePackageJson({
|
|
24
|
+
dependencies: { [this.scopedName]: '^1.2.3' },
|
|
25
|
+
}),
|
|
26
|
+
this.generatePackageJson({
|
|
27
|
+
devDependencies: { [this.scopedName]: '^4.5.6' },
|
|
28
|
+
}),
|
|
29
|
+
this.generatePackageJson(),
|
|
30
|
+
this.generatePackageJson({ version: this.packageVersion }),
|
|
30
31
|
];
|
|
31
32
|
static async beforeEach() {
|
|
32
33
|
await super.beforeEach();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NpmPropagationCoordinator.test.js","sourceRoot":"","sources":["../../../src/__tests__/impl/NpmPropagationCoordinator.test.ts"],"names":[],"mappings":";;;;;;AAEA,OAAO,EACH,YAAY,EACZ,oBAAoB,EACpB,qBAAqB,GACxB,MAAM,2BAA2B,CAAA;AAClC,OAAO,
|
|
1
|
+
{"version":3,"file":"NpmPropagationCoordinator.test.js","sourceRoot":"","sources":["../../../src/__tests__/impl/NpmPropagationCoordinator.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import AbstractPackageTest from '../AbstractPackageTest.js';
|
|
2
2
|
export default class NpmReleasePropagatorTest extends AbstractPackageTest {
|
|
3
3
|
private static instance;
|
|
4
|
-
private static readonly packageName;
|
|
5
|
-
private static readonly packageVersion;
|
|
6
4
|
private static readonly repoPaths;
|
|
7
5
|
protected static beforeEach(): Promise<void>;
|
|
8
6
|
protected static createsInstance(): Promise<void>;
|
|
@@ -15,8 +15,6 @@ import AbstractPackageTest from '../AbstractPackageTest.js';
|
|
|
15
15
|
const exec = promisify(execSync);
|
|
16
16
|
export default class NpmReleasePropagatorTest extends AbstractPackageTest {
|
|
17
17
|
static instance;
|
|
18
|
-
static packageName = this.generateId();
|
|
19
|
-
static packageVersion = this.generateId();
|
|
20
18
|
static repoPaths = [this.generateId(), this.generateId()];
|
|
21
19
|
static async beforeEach() {
|
|
22
20
|
await super.beforeEach();
|
|
@@ -76,16 +74,16 @@ export default class NpmReleasePropagatorTest extends AbstractPackageTest {
|
|
|
76
74
|
NpmReleasePropagator.readFile =
|
|
77
75
|
fakeReadFile;
|
|
78
76
|
resetCallsToReadFile();
|
|
79
|
-
setFakeReadFileResult(`${this.repoPaths[0]}/package.json`, JSON.stringify({
|
|
77
|
+
setFakeReadFileResult(`${this.repoPaths[0]}/package.json`, JSON.stringify(this.generatePackageJson({
|
|
80
78
|
dependencies: {
|
|
81
79
|
[this.packageName]: this.generateId(),
|
|
82
80
|
},
|
|
83
|
-
}));
|
|
84
|
-
setFakeReadFileResult(`${this.repoPaths[1]}/package.json`, JSON.stringify({
|
|
81
|
+
})));
|
|
82
|
+
setFakeReadFileResult(`${this.repoPaths[1]}/package.json`, JSON.stringify(this.generatePackageJson({
|
|
85
83
|
devDependencies: {
|
|
86
84
|
[this.packageName]: this.generateId(),
|
|
87
85
|
},
|
|
88
|
-
}));
|
|
86
|
+
})));
|
|
89
87
|
}
|
|
90
88
|
static setFakeAutocommit() {
|
|
91
89
|
GitAutocommit.Class = FakeAutocommit;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NpmReleasePropagator.test.js","sourceRoot":"","sources":["../../../src/__tests__/impl/NpmReleasePropagator.test.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,IAAI,IAAI,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAErD,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AACrC,OAAO,EACH,WAAW,EACX,QAAQ,EACR,YAAY,EACZ,gBAAgB,EAChB,oBAAoB,EACpB,qBAAqB,GACxB,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAElD,OAAO,aAAa,MAAM,6BAA6B,CAAA;AACvD,OAAO,oBAGN,MAAM,oCAAoC,CAAA;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAC/C,OAAO,mBAAmB,MAAM,2BAA2B,CAAA;AAE3D,MAAM,IAAI,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAA;AAEhC,MAAM,CAAC,OAAO,OAAO,wBAAyB,SAAQ,mBAAmB;IAC7D,MAAM,CAAC,QAAQ,CAAmB;IAElC,MAAM,CAAU,
|
|
1
|
+
{"version":3,"file":"NpmReleasePropagator.test.js","sourceRoot":"","sources":["../../../src/__tests__/impl/NpmReleasePropagator.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,12 +4,15 @@ export default class NpmPropagationCoordinator implements PropagationCoordinator
|
|
|
4
4
|
static readFile: typeof readFile;
|
|
5
5
|
private repoPath;
|
|
6
6
|
private repoPaths;
|
|
7
|
+
private pkg;
|
|
7
8
|
private currentRepoPath;
|
|
8
9
|
private currentPkgJson;
|
|
9
10
|
protected constructor(repoPath: string, repoPaths: string[]);
|
|
10
11
|
static Create(repoPath: string, repoPaths: string[]): PropagationCoordinator;
|
|
11
12
|
run(): Promise<void>;
|
|
12
13
|
private loadPackageJson;
|
|
14
|
+
private get packageName();
|
|
15
|
+
private get packageVersion();
|
|
13
16
|
private determineWhereToPropagate;
|
|
14
17
|
private get isDependency();
|
|
15
18
|
private get isDevDependency();
|
|
@@ -5,6 +5,7 @@ export default class NpmPropagationCoordinator {
|
|
|
5
5
|
static readFile = readFile;
|
|
6
6
|
repoPath;
|
|
7
7
|
repoPaths;
|
|
8
|
+
pkg;
|
|
8
9
|
currentRepoPath;
|
|
9
10
|
currentPkgJson;
|
|
10
11
|
constructor(repoPath, repoPaths) {
|
|
@@ -15,18 +16,24 @@ export default class NpmPropagationCoordinator {
|
|
|
15
16
|
return new (this.Class ?? this)(repoPath, repoPaths);
|
|
16
17
|
}
|
|
17
18
|
async run() {
|
|
18
|
-
|
|
19
|
+
await this.loadPackageJson();
|
|
19
20
|
const repoPaths = await this.determineWhereToPropagate();
|
|
20
21
|
const propagator = this.NpmReleaseCoordinator({
|
|
21
|
-
packageName:
|
|
22
|
-
packageVersion:
|
|
22
|
+
packageName: this.packageName,
|
|
23
|
+
packageVersion: this.packageVersion,
|
|
23
24
|
repoPaths,
|
|
24
25
|
});
|
|
25
26
|
await propagator.run();
|
|
26
27
|
}
|
|
27
28
|
async loadPackageJson() {
|
|
28
29
|
const pkgJson = await this.readFile(`${this.repoPath}/package.json`, 'utf-8');
|
|
29
|
-
|
|
30
|
+
this.pkg = JSON.parse(pkgJson);
|
|
31
|
+
}
|
|
32
|
+
get packageName() {
|
|
33
|
+
return this.pkg.name;
|
|
34
|
+
}
|
|
35
|
+
get packageVersion() {
|
|
36
|
+
return this.pkg.version;
|
|
30
37
|
}
|
|
31
38
|
async determineWhereToPropagate() {
|
|
32
39
|
const repoPaths = [];
|
|
@@ -40,10 +47,10 @@ export default class NpmPropagationCoordinator {
|
|
|
40
47
|
return repoPaths;
|
|
41
48
|
}
|
|
42
49
|
get isDependency() {
|
|
43
|
-
return this.currentPkgJson?.dependencies?.[this.
|
|
50
|
+
return this.currentPkgJson?.dependencies?.[this.packageName];
|
|
44
51
|
}
|
|
45
52
|
get isDevDependency() {
|
|
46
|
-
return this.currentPkgJson?.devDependencies?.[this.
|
|
53
|
+
return this.currentPkgJson?.devDependencies?.[this.packageName];
|
|
47
54
|
}
|
|
48
55
|
async loadCurrentPkgJson() {
|
|
49
56
|
const pkgJson = await this.readFile(`${this.currentRepoPath}/package.json`, 'utf-8');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NpmPropagationCoordinator.js","sourceRoot":"","sources":["../../src/impl/NpmPropagationCoordinator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAE3C,OAAO,oBAGN,MAAM,2BAA2B,CAAA;AAElC,MAAM,CAAC,OAAO,OAAO,yBAAyB;IACnC,MAAM,CAAC,KAAK,CAAoC;IAChD,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAEzB,QAAQ,CAAQ;IAChB,SAAS,CAAU;IAEnB,eAAe,CAAS;IACxB,cAAc,CAAc;IAEpC,YAAsB,QAAgB,EAAE,SAAmB;QACvD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;IAC9B,CAAC;IAEM,MAAM,CAAC,MAAM,CAAC,QAAgB,EAAE,SAAmB;QACtD,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;IACxD,CAAC;IAEM,KAAK,CAAC,GAAG;QACZ,MAAM,
|
|
1
|
+
{"version":3,"file":"NpmPropagationCoordinator.js","sourceRoot":"","sources":["../../src/impl/NpmPropagationCoordinator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAE3C,OAAO,oBAGN,MAAM,2BAA2B,CAAA;AAElC,MAAM,CAAC,OAAO,OAAO,yBAAyB;IACnC,MAAM,CAAC,KAAK,CAAoC;IAChD,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAEzB,QAAQ,CAAQ;IAChB,SAAS,CAAU;IAEnB,GAAG,CAAc;IACjB,eAAe,CAAS;IACxB,cAAc,CAAc;IAEpC,YAAsB,QAAgB,EAAE,SAAmB;QACvD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;IAC9B,CAAC;IAEM,MAAM,CAAC,MAAM,CAAC,QAAgB,EAAE,SAAmB;QACtD,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;IACxD,CAAC;IAEM,KAAK,CAAC,GAAG;QACZ,MAAM,IAAI,CAAC,eAAe,EAAE,CAAA;QAE5B,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,yBAAyB,EAAE,CAAA;QAExD,MAAM,UAAU,GAAG,IAAI,CAAC,qBAAqB,CAAC;YAC1C,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,SAAS;SACZ,CAAC,CAAA;QAEF,MAAM,UAAU,CAAC,GAAG,EAAE,CAAA;IAC1B,CAAC;IAEO,KAAK,CAAC,eAAe;QACzB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAC/B,GAAG,IAAI,CAAC,QAAQ,eAAe,EAC/B,OAAO,CACV,CAAA;QACD,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IAClC,CAAC;IAED,IAAY,WAAW;QACnB,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAA;IACxB,CAAC;IAED,IAAY,cAAc;QACtB,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAA;IAC3B,CAAC;IAEO,KAAK,CAAC,yBAAyB;QACnC,MAAM,SAAS,GAAa,EAAE,CAAA;QAE9B,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACpC,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAA;YAC/B,IAAI,CAAC,cAAc,GAAG,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAA;YAErD,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;gBAC5C,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YAC5B,CAAC;QACL,CAAC;QACD,OAAO,SAAS,CAAA;IACpB,CAAC;IAED,IAAY,YAAY;QACpB,OAAO,IAAI,CAAC,cAAc,EAAE,YAAY,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IAChE,CAAC;IAED,IAAY,eAAe;QACvB,OAAO,IAAI,CAAC,cAAc,EAAE,eAAe,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IACnE,CAAC;IAEO,KAAK,CAAC,kBAAkB;QAC5B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAC/B,GAAG,IAAI,CAAC,eAAe,eAAe,EACtC,OAAO,CACV,CAAA;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IAC9B,CAAC;IAED,IAAY,QAAQ;QAChB,OAAO,yBAAyB,CAAC,QAAQ,CAAA;IAC7C,CAAC;IAEO,qBAAqB,CAAC,OAAiC;QAC3D,OAAO,oBAAoB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAC/C,CAAC"}
|
|
@@ -35,7 +35,8 @@ export interface ReleasePropagatorOptions {
|
|
|
35
35
|
repoPaths: string[];
|
|
36
36
|
}
|
|
37
37
|
export interface PackageJson {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
38
|
+
name: string;
|
|
39
|
+
version: string;
|
|
40
|
+
dependencies: Record<string, string>;
|
|
41
|
+
devDependencies: Record<string, string>;
|
|
41
42
|
}
|
|
@@ -24,6 +24,7 @@ export default class NpmReleasePropagator {
|
|
|
24
24
|
}
|
|
25
25
|
async run() {
|
|
26
26
|
for (const repoPath of this.repoPaths) {
|
|
27
|
+
console.log(`Propagating to ${repoPath}...`);
|
|
27
28
|
this.currentRepoPath = repoPath;
|
|
28
29
|
await this.throwIfPreviousReleaseNotFound();
|
|
29
30
|
await this.installReleaseForCurrentRepo();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NpmReleasePropagator.js","sourceRoot":"","sources":["../../src/impl/NpmReleasePropagator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"NpmReleasePropagator.js","sourceRoot":"","sources":["../../src/impl/NpmReleasePropagator.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -7,8 +7,14 @@ import {
|
|
|
7
7
|
import AbstractModuleTest from '@neurodevs/node-tdd'
|
|
8
8
|
|
|
9
9
|
import expandHomeDir from '../functions/expandHomeDir.js'
|
|
10
|
+
import { PackageJson } from '../impl/NpmReleasePropagator.js'
|
|
10
11
|
|
|
11
12
|
export default class AbstractPackageTest extends AbstractModuleTest {
|
|
13
|
+
protected static readonly packageScope = this.generateId()
|
|
14
|
+
protected static readonly packageName = this.generateId()
|
|
15
|
+
protected static readonly scopedName = `${this.packageScope}/${this.packageName}`
|
|
16
|
+
protected static readonly packageVersion = '7.8.9'
|
|
17
|
+
|
|
12
18
|
protected static readonly yarnGlobalDirCmd = 'yarn global dir'
|
|
13
19
|
protected static readonly fakeGlobalRoot = this.generateId()
|
|
14
20
|
protected static readonly metaNodeVersion = this.generateId()
|
|
@@ -17,6 +23,16 @@ export default class AbstractPackageTest extends AbstractModuleTest {
|
|
|
17
23
|
await super.beforeEach()
|
|
18
24
|
}
|
|
19
25
|
|
|
26
|
+
protected static generatePackageJson(options?: Partial<PackageJson>) {
|
|
27
|
+
return {
|
|
28
|
+
name: this.scopedName,
|
|
29
|
+
version: this.packageVersion,
|
|
30
|
+
dependencies: {},
|
|
31
|
+
devDependencies: {},
|
|
32
|
+
...options,
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
|
|
20
36
|
protected static normalize(input: string) {
|
|
21
37
|
return input.replace(/\s+/g, ' ').trim()
|
|
22
38
|
}
|
|
@@ -5,21 +5,18 @@ import {
|
|
|
5
5
|
resetCallsToReadFile,
|
|
6
6
|
setFakeReadFileResult,
|
|
7
7
|
} from '@neurodevs/fake-node-core'
|
|
8
|
-
import
|
|
8
|
+
import { test, assert } from '@neurodevs/node-tdd'
|
|
9
9
|
|
|
10
10
|
import NpmPropagationCoordinator, {
|
|
11
11
|
PropagationCoordinator,
|
|
12
12
|
} from '../../impl/NpmPropagationCoordinator.js'
|
|
13
13
|
import NpmReleasePropagator from '../../impl/NpmReleasePropagator.js'
|
|
14
14
|
import FakeReleasePropagator from '../../testDoubles/ReleasePropagator/FakeReleasePropagator.js'
|
|
15
|
+
import AbstractPackageTest from '../AbstractPackageTest.js'
|
|
15
16
|
|
|
16
|
-
export default class NpmPropagationCoordinatorTest extends
|
|
17
|
+
export default class NpmPropagationCoordinatorTest extends AbstractPackageTest {
|
|
17
18
|
private static instance: PropagationCoordinator
|
|
18
19
|
|
|
19
|
-
private static readonly packageScope = this.generateId()
|
|
20
|
-
private static readonly packageName = this.generateId()
|
|
21
|
-
private static readonly scopedName = `${this.packageScope}/${this.packageName}`
|
|
22
|
-
private static readonly packageVersion = '7.8.9'
|
|
23
20
|
private static readonly repoPath = `${this.generateId()}/${this.packageName}`
|
|
24
21
|
|
|
25
22
|
private static readonly repoPaths = [
|
|
@@ -30,10 +27,14 @@ export default class NpmPropagationCoordinatorTest extends AbstractModuleTest {
|
|
|
30
27
|
]
|
|
31
28
|
|
|
32
29
|
private static readonly pkgJsons = [
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
30
|
+
this.generatePackageJson({
|
|
31
|
+
dependencies: { [this.scopedName]: '^1.2.3' },
|
|
32
|
+
}),
|
|
33
|
+
this.generatePackageJson({
|
|
34
|
+
devDependencies: { [this.scopedName]: '^4.5.6' },
|
|
35
|
+
}),
|
|
36
|
+
this.generatePackageJson(),
|
|
37
|
+
this.generatePackageJson({ version: this.packageVersion }),
|
|
37
38
|
]
|
|
38
39
|
|
|
39
40
|
protected static async beforeEach() {
|
|
@@ -24,8 +24,6 @@ const exec = promisify(execSync)
|
|
|
24
24
|
export default class NpmReleasePropagatorTest extends AbstractPackageTest {
|
|
25
25
|
private static instance: ReleasePropagator
|
|
26
26
|
|
|
27
|
-
private static readonly packageName = this.generateId()
|
|
28
|
-
private static readonly packageVersion = this.generateId()
|
|
29
27
|
private static readonly repoPaths = [this.generateId(), this.generateId()]
|
|
30
28
|
|
|
31
29
|
protected static async beforeEach() {
|
|
@@ -116,20 +114,24 @@ export default class NpmReleasePropagatorTest extends AbstractPackageTest {
|
|
|
116
114
|
|
|
117
115
|
setFakeReadFileResult(
|
|
118
116
|
`${this.repoPaths[0]}/package.json`,
|
|
119
|
-
JSON.stringify(
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
117
|
+
JSON.stringify(
|
|
118
|
+
this.generatePackageJson({
|
|
119
|
+
dependencies: {
|
|
120
|
+
[this.packageName]: this.generateId(),
|
|
121
|
+
},
|
|
122
|
+
})
|
|
123
|
+
)
|
|
124
124
|
)
|
|
125
125
|
|
|
126
126
|
setFakeReadFileResult(
|
|
127
127
|
`${this.repoPaths[1]}/package.json`,
|
|
128
|
-
JSON.stringify(
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
128
|
+
JSON.stringify(
|
|
129
|
+
this.generatePackageJson({
|
|
130
|
+
devDependencies: {
|
|
131
|
+
[this.packageName]: this.generateId(),
|
|
132
|
+
},
|
|
133
|
+
})
|
|
134
|
+
)
|
|
133
135
|
)
|
|
134
136
|
}
|
|
135
137
|
|
|
@@ -12,6 +12,7 @@ export default class NpmPropagationCoordinator implements PropagationCoordinator
|
|
|
12
12
|
private repoPath: string
|
|
13
13
|
private repoPaths: string[]
|
|
14
14
|
|
|
15
|
+
private pkg!: PackageJson
|
|
15
16
|
private currentRepoPath!: string
|
|
16
17
|
private currentPkgJson!: PackageJson
|
|
17
18
|
|
|
@@ -25,12 +26,13 @@ export default class NpmPropagationCoordinator implements PropagationCoordinator
|
|
|
25
26
|
}
|
|
26
27
|
|
|
27
28
|
public async run() {
|
|
28
|
-
|
|
29
|
+
await this.loadPackageJson()
|
|
30
|
+
|
|
29
31
|
const repoPaths = await this.determineWhereToPropagate()
|
|
30
32
|
|
|
31
33
|
const propagator = this.NpmReleaseCoordinator({
|
|
32
|
-
packageName:
|
|
33
|
-
packageVersion:
|
|
34
|
+
packageName: this.packageName,
|
|
35
|
+
packageVersion: this.packageVersion,
|
|
34
36
|
repoPaths,
|
|
35
37
|
})
|
|
36
38
|
|
|
@@ -42,7 +44,15 @@ export default class NpmPropagationCoordinator implements PropagationCoordinator
|
|
|
42
44
|
`${this.repoPath}/package.json`,
|
|
43
45
|
'utf-8'
|
|
44
46
|
)
|
|
45
|
-
|
|
47
|
+
this.pkg = JSON.parse(pkgJson)
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
private get packageName() {
|
|
51
|
+
return this.pkg.name
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
private get packageVersion() {
|
|
55
|
+
return this.pkg.version
|
|
46
56
|
}
|
|
47
57
|
|
|
48
58
|
private async determineWhereToPropagate() {
|
|
@@ -60,11 +70,11 @@ export default class NpmPropagationCoordinator implements PropagationCoordinator
|
|
|
60
70
|
}
|
|
61
71
|
|
|
62
72
|
private get isDependency() {
|
|
63
|
-
return this.currentPkgJson?.dependencies?.[this.
|
|
73
|
+
return this.currentPkgJson?.dependencies?.[this.packageName]
|
|
64
74
|
}
|
|
65
75
|
|
|
66
76
|
private get isDevDependency() {
|
|
67
|
-
return this.currentPkgJson?.devDependencies?.[this.
|
|
77
|
+
return this.currentPkgJson?.devDependencies?.[this.packageName]
|
|
68
78
|
}
|
|
69
79
|
|
|
70
80
|
private async loadCurrentPkgJson() {
|
|
@@ -32,6 +32,7 @@ export default class NpmReleasePropagator implements ReleasePropagator {
|
|
|
32
32
|
|
|
33
33
|
public async run() {
|
|
34
34
|
for (const repoPath of this.repoPaths) {
|
|
35
|
+
console.log(`Propagating to ${repoPath}...`)
|
|
35
36
|
this.currentRepoPath = repoPath
|
|
36
37
|
|
|
37
38
|
await this.throwIfPreviousReleaseNotFound()
|
|
@@ -129,7 +130,8 @@ export interface ReleasePropagatorOptions {
|
|
|
129
130
|
}
|
|
130
131
|
|
|
131
132
|
export interface PackageJson {
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
133
|
+
name: string
|
|
134
|
+
version: string
|
|
135
|
+
dependencies: Record<string, string>
|
|
136
|
+
devDependencies: Record<string, string>
|
|
135
137
|
}
|