release-monorepo-semantically 1.6.2 → 1.7.1
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/README.md +18 -1
- package/dist/{MonorepoController.d.ts → Controller.d.ts} +3 -3
- package/dist/Controller.d.ts.map +1 -0
- package/dist/{MonorepoController.js → Controller.js} +5 -5
- package/dist/Controller.js.map +1 -0
- package/dist/Controller.spec.js +93 -31
- package/dist/Controller.spec.js.map +1 -1
- package/dist/index.d.ts +0 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -60
- package/dist/index.js.map +1 -1
- package/dist/index.spec.d.ts +2 -0
- package/dist/index.spec.d.ts.map +1 -0
- package/dist/{main.spec.js → index.spec.js} +11 -19
- package/dist/index.spec.js.map +1 -0
- package/dist/models/CliOptions.d.ts.map +1 -0
- package/dist/{CliOptions.js.map → models/CliOptions.js.map} +1 -1
- package/dist/models/NpmPackage.d.ts +1 -1
- package/dist/models/NpmPackage.d.ts.map +1 -1
- package/dist/plugins/GithubPlugin.d.ts +2 -0
- package/dist/plugins/GithubPlugin.d.ts.map +1 -1
- package/dist/plugins/GithubPlugin.js +20 -0
- package/dist/plugins/GithubPlugin.js.map +1 -1
- package/dist/plugins/GithubPlugin.spec.js +59 -0
- package/dist/plugins/GithubPlugin.spec.js.map +1 -1
- package/dist/services/CliOptionsService.d.ts +6 -0
- package/dist/services/CliOptionsService.d.ts.map +1 -0
- package/dist/services/CliOptionsService.js +50 -0
- package/dist/services/CliOptionsService.js.map +1 -0
- package/dist/services/CliOptionsService.spec.d.ts +2 -0
- package/dist/services/CliOptionsService.spec.d.ts.map +1 -0
- package/dist/services/CliOptionsService.spec.js +38 -0
- package/dist/services/CliOptionsService.spec.js.map +1 -0
- package/dist/services/NodeFileSystemService.js +1 -1
- package/dist/services/NodeFileSystemService.js.map +1 -1
- package/dist/services/ReleaseConfigService.d.ts +13 -0
- package/dist/services/ReleaseConfigService.d.ts.map +1 -0
- package/dist/services/ReleaseConfigService.js +52 -0
- package/dist/services/ReleaseConfigService.js.map +1 -0
- package/dist/services/ReleaseConfigService.spec.d.ts +2 -0
- package/dist/services/ReleaseConfigService.spec.d.ts.map +1 -0
- package/dist/services/ReleaseConfigService.spec.js +126 -0
- package/dist/services/ReleaseConfigService.spec.js.map +1 -0
- package/dist/utils/sortLessDependenciesFirst.d.ts.map +1 -0
- package/dist/utils/sortLessDependenciesFirst.js.map +1 -0
- package/dist/utils/sortLessDependenciesFirst.spec.d.ts +2 -0
- package/dist/utils/sortLessDependenciesFirst.spec.d.ts.map +1 -0
- package/dist/utils/sortLessDependenciesFirst.spec.js +41 -0
- package/dist/utils/sortLessDependenciesFirst.spec.js.map +1 -0
- package/dist/utils/utils.d.ts.map +1 -0
- package/dist/utils/utils.js.map +1 -0
- package/dist/{utils.spec.d.ts.map → utils/utils.spec.d.ts.map} +1 -1
- package/dist/utils/utils.spec.js.map +1 -0
- package/package.json +3 -2
- package/dist/CliOptions.d.ts.map +0 -1
- package/dist/MonorepoController.d.ts.map +0 -1
- package/dist/MonorepoController.js.map +0 -1
- package/dist/MonorepoController.spec.d.ts +0 -2
- package/dist/MonorepoController.spec.d.ts.map +0 -1
- package/dist/MonorepoController.spec.js +0 -103
- package/dist/MonorepoController.spec.js.map +0 -1
- package/dist/main.spec.d.ts +0 -2
- package/dist/main.spec.d.ts.map +0 -1
- package/dist/main.spec.js.map +0 -1
- package/dist/sortLessDependenciesFirst.d.ts.map +0 -1
- package/dist/sortLessDependenciesFirst.js.map +0 -1
- package/dist/utils.d.ts.map +0 -1
- package/dist/utils.js.map +0 -1
- package/dist/utils.spec.js.map +0 -1
- /package/dist/{CliOptions.d.ts → models/CliOptions.d.ts} +0 -0
- /package/dist/{CliOptions.js → models/CliOptions.js} +0 -0
- /package/dist/{sortLessDependenciesFirst.d.ts → utils/sortLessDependenciesFirst.d.ts} +0 -0
- /package/dist/{sortLessDependenciesFirst.js → utils/sortLessDependenciesFirst.js} +0 -0
- /package/dist/{utils.d.ts → utils/utils.d.ts} +0 -0
- /package/dist/{utils.js → utils/utils.js} +0 -0
- /package/dist/{utils.spec.d.ts → utils/utils.spec.d.ts} +0 -0
- /package/dist/{utils.spec.js → utils/utils.spec.js} +0 -0
package/README.md
CHANGED
|
@@ -65,7 +65,22 @@ Options:
|
|
|
65
65
|
|
|
66
66
|
## Template overrides
|
|
67
67
|
|
|
68
|
-
You can override templates via CLI options
|
|
68
|
+
You can override templates via CLI options, a root `package.json` section, or `.semantic-release.json`.
|
|
69
|
+
|
|
70
|
+
`package.json`:
|
|
71
|
+
|
|
72
|
+
```json
|
|
73
|
+
{
|
|
74
|
+
"release": {
|
|
75
|
+
"releaseTemplates": {
|
|
76
|
+
"changelogTemplate": "templates/changelog.hbs",
|
|
77
|
+
"releaseCommitTemplate": "templates/release-commit-msg.hbs"
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
`.semantic-release.json`:
|
|
69
84
|
|
|
70
85
|
```json
|
|
71
86
|
{
|
|
@@ -76,6 +91,8 @@ You can override templates via CLI options or root `package.json`:
|
|
|
76
91
|
}
|
|
77
92
|
```
|
|
78
93
|
|
|
94
|
+
Precedence (highest to lowest): CLI flags, `.semantic-release.json`, `package.json` config, built-in defaults.
|
|
95
|
+
|
|
79
96
|
Built-in templates:
|
|
80
97
|
|
|
81
98
|
- `templates/changelog.hbs`
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { NodeFileSystemService } from './services/NodeFileSystemService';
|
|
2
2
|
import { GitService } from './services/GitService';
|
|
3
3
|
import { ConsoleLogger } from './services/ConsoleLogger';
|
|
4
|
-
import { CliOptions } from './CliOptions';
|
|
4
|
+
import { CliOptions } from './models/CliOptions';
|
|
5
5
|
import { ReleasePlugin } from './plugins/ReleasePlugin';
|
|
6
6
|
type ReleaseOptions = Partial<Pick<CliOptions, 'dryRun' | 'noPush' | 'noPublish'>>;
|
|
7
|
-
export declare class
|
|
7
|
+
export declare class Controller {
|
|
8
8
|
private readonly plugins;
|
|
9
9
|
private fs;
|
|
10
10
|
private vsc;
|
|
@@ -17,4 +17,4 @@ export declare class MonorepoController {
|
|
|
17
17
|
private ensureWritableReleaseState;
|
|
18
18
|
}
|
|
19
19
|
export {};
|
|
20
|
-
//# sourceMappingURL=
|
|
20
|
+
//# sourceMappingURL=Controller.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Controller.d.ts","sourceRoot":"","sources":["../src/Controller.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAIxD,KAAK,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,GAAG,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC;AAEnF,qBAAa,UAAU;IAInB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,EAAE;IACV,OAAO,CAAC,GAAG;IACX,OAAO,CAAC,MAAM;IANhB,OAAO,CAAC,iBAAiB,CAAoB;gBAG1B,OAAO,EAAE,aAAa,EAAE,EACjC,EAAE,EAAE,qBAAqB,EACzB,GAAG,EAAE,UAAU,EACf,MAAM,EAAE,aAAa;IAG/B,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;IAQ5C,OAAO,CAAC,OAAO,GAAE,cAAmB,GAAG,IAAI;IAsD3C,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,0BAA0B;CASnC"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.Controller = void 0;
|
|
4
4
|
const NpmPackage_1 = require("./models/NpmPackage");
|
|
5
5
|
const SemVerBumpType_1 = require("./models/SemVerBumpType");
|
|
6
|
-
const sortLessDependenciesFirst_1 = require("./sortLessDependenciesFirst");
|
|
6
|
+
const sortLessDependenciesFirst_1 = require("./utils/sortLessDependenciesFirst");
|
|
7
7
|
const DomainException_1 = require("./exceptions/DomainException");
|
|
8
|
-
class
|
|
8
|
+
class Controller {
|
|
9
9
|
plugins;
|
|
10
10
|
fs;
|
|
11
11
|
vsc;
|
|
@@ -78,5 +78,5 @@ class MonorepoController {
|
|
|
78
78
|
}
|
|
79
79
|
}
|
|
80
80
|
}
|
|
81
|
-
exports.
|
|
82
|
-
//# sourceMappingURL=
|
|
81
|
+
exports.Controller = Controller;
|
|
82
|
+
//# sourceMappingURL=Controller.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Controller.js","sourceRoot":"","sources":["../src/Controller.ts"],"names":[],"mappings":"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"}
|
package/dist/Controller.spec.js
CHANGED
|
@@ -1,41 +1,103 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const vitest_1 = require("vitest");
|
|
4
|
+
const Controller_1 = require("./Controller");
|
|
4
5
|
const NpmPackage_1 = require("./models/NpmPackage");
|
|
5
|
-
const
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
6
|
+
const ConventionalCommit_1 = require("./models/ConventionalCommit");
|
|
7
|
+
const DomainException_1 = require("./exceptions/DomainException");
|
|
8
|
+
(0, vitest_1.describe)('MonorepoController.discoverPackages', () => {
|
|
9
|
+
(0, vitest_1.it)('given workspace package json files when packages are discovered then private packages are excluded', () => {
|
|
10
|
+
const fs = {
|
|
11
|
+
readPackageJsonOrFail: vitest_1.vi.fn().mockReturnValue({ workspaces: ['packages/*'] }),
|
|
12
|
+
findManyPackageJsonByGlob: vitest_1.vi.fn().mockReturnValue([
|
|
13
|
+
['/repo/packages/a/package.json', { name: 'pkg-a', version: '1.0.0' }],
|
|
14
|
+
['/repo/packages/private/package.json', { name: 'pkg-private', version: '1.0.0', private: true }],
|
|
15
|
+
]),
|
|
16
|
+
};
|
|
17
|
+
const controller = new Controller_1.Controller([], fs, {}, {});
|
|
18
|
+
controller.discoverPackages('/repo');
|
|
19
|
+
(0, vitest_1.expect)(fs.readPackageJsonOrFail).toHaveBeenCalledWith('/repo');
|
|
20
|
+
(0, vitest_1.expect)(fs.findManyPackageJsonByGlob).toHaveBeenCalledWith(['packages/*'], '/repo');
|
|
21
|
+
(0, vitest_1.expect)(controller.packageSortedList.map((pkg) => pkg.name)).toEqual(['pkg-a']);
|
|
16
22
|
});
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
const
|
|
21
|
-
|
|
22
|
-
|
|
23
|
+
});
|
|
24
|
+
(0, vitest_1.describe)('MonorepoController.release', () => {
|
|
25
|
+
(0, vitest_1.it)('given no release-triggering commits when release runs then it logs skip and calls only finalize hook', () => {
|
|
26
|
+
const plugin = {
|
|
27
|
+
onPackageReleased: vitest_1.vi.fn(),
|
|
28
|
+
onReleaseComplete: vitest_1.vi.fn(),
|
|
29
|
+
};
|
|
30
|
+
const vsc = {
|
|
31
|
+
findManyCommitsSinceTag: vitest_1.vi.fn().mockReturnValue([]),
|
|
32
|
+
isWorkingTreeClean: vitest_1.vi.fn().mockReturnValue(true),
|
|
33
|
+
};
|
|
34
|
+
const logger = {
|
|
35
|
+
info: vitest_1.vi.fn(),
|
|
36
|
+
};
|
|
37
|
+
const controller = new Controller_1.Controller([plugin], {}, vsc, logger);
|
|
38
|
+
controller.packageSortedList = [
|
|
39
|
+
NpmPackage_1.NpmPackage.createFromPackage({ name: 'pkg-a', version: '1.0.0' }, '/repo/packages/pkg-a/package.json'),
|
|
40
|
+
];
|
|
41
|
+
controller.release();
|
|
42
|
+
(0, vitest_1.expect)(plugin.onPackageReleased).not.toHaveBeenCalled();
|
|
43
|
+
(0, vitest_1.expect)(plugin.onReleaseComplete).toHaveBeenCalledWith({
|
|
44
|
+
dryRun: false,
|
|
45
|
+
noPush: false,
|
|
46
|
+
noPublish: false,
|
|
47
|
+
releasedVersions: new Map(),
|
|
48
|
+
releasedPackages: [],
|
|
49
|
+
releasedCommits: new Map(),
|
|
50
|
+
});
|
|
51
|
+
(0, vitest_1.expect)(logger.info).toHaveBeenCalledWith('SKIP pkg-a@1.0.0');
|
|
23
52
|
});
|
|
24
|
-
(0, vitest_1.it)('
|
|
25
|
-
const
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
53
|
+
(0, vitest_1.it)('given release-triggering commits when release runs then it calls package and finalize plugin hooks with released state', () => {
|
|
54
|
+
const plugin = {
|
|
55
|
+
onPackageReleased: vitest_1.vi.fn(),
|
|
56
|
+
onReleaseComplete: vitest_1.vi.fn(),
|
|
57
|
+
};
|
|
58
|
+
const vsc = {
|
|
59
|
+
findManyCommitsSinceTag: vitest_1.vi
|
|
60
|
+
.fn()
|
|
61
|
+
.mockImplementation((tag) => tag === 'pkg-a@1.0.0' ? [ConventionalCommit_1.ConventionalCommit.parse('feat(pkg-a): add feature')] : [ConventionalCommit_1.ConventionalCommit.parse('fix(pkg-b): resolve bug')]),
|
|
62
|
+
isWorkingTreeClean: vitest_1.vi.fn().mockReturnValue(true),
|
|
63
|
+
};
|
|
64
|
+
const logger = {
|
|
65
|
+
info: vitest_1.vi.fn(),
|
|
66
|
+
};
|
|
67
|
+
const controller = new Controller_1.Controller([plugin], {}, vsc, logger);
|
|
68
|
+
const pkgA = NpmPackage_1.NpmPackage.createFromPackage({ name: 'pkg-a', version: '1.0.0' }, '/repo/packages/pkg-a/package.json');
|
|
69
|
+
const pkgB = NpmPackage_1.NpmPackage.createFromPackage({ name: 'pkg-b', version: '2.0.0' }, '/repo/packages/pkg-b/package.json');
|
|
70
|
+
controller.packageSortedList = [pkgA, pkgB];
|
|
71
|
+
controller.release({ noPush: true, noPublish: true });
|
|
72
|
+
(0, vitest_1.expect)(plugin.onPackageReleased).toHaveBeenCalledTimes(2);
|
|
73
|
+
(0, vitest_1.expect)(plugin.onReleaseComplete).toHaveBeenCalledTimes(1);
|
|
74
|
+
const finalizeArg = plugin.onReleaseComplete.mock.calls[0][0];
|
|
75
|
+
(0, vitest_1.expect)(finalizeArg.noPush).toBe(true);
|
|
76
|
+
(0, vitest_1.expect)(finalizeArg.noPublish).toBe(true);
|
|
77
|
+
(0, vitest_1.expect)(finalizeArg.releasedPackages.map((pkg) => pkg.name)).toEqual(['pkg-a', 'pkg-b']);
|
|
78
|
+
(0, vitest_1.expect)(finalizeArg.releasedVersions.get('pkg-a')).toBe('1.1.0');
|
|
79
|
+
(0, vitest_1.expect)(finalizeArg.releasedVersions.get('pkg-b')).toBe('2.0.1');
|
|
80
|
+
(0, vitest_1.expect)(finalizeArg.releasedCommits.get('pkg-a')).toHaveLength(1);
|
|
81
|
+
(0, vitest_1.expect)(finalizeArg.releasedCommits.get('pkg-b')).toHaveLength(1);
|
|
31
82
|
});
|
|
32
|
-
(0, vitest_1.it)('
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
83
|
+
(0, vitest_1.it)('given dirty working tree when a non-dry-run release starts then it fails before plugin hooks mutate state', () => {
|
|
84
|
+
const plugin = {
|
|
85
|
+
onPackageReleased: vitest_1.vi.fn(),
|
|
86
|
+
onReleaseComplete: vitest_1.vi.fn(),
|
|
87
|
+
};
|
|
88
|
+
const vsc = {
|
|
89
|
+
findManyCommitsSinceTag: vitest_1.vi.fn().mockReturnValue([ConventionalCommit_1.ConventionalCommit.parse('fix(pkg-a): patch')]),
|
|
90
|
+
isWorkingTreeClean: vitest_1.vi.fn().mockReturnValue(false),
|
|
91
|
+
};
|
|
92
|
+
const logger = {
|
|
93
|
+
info: vitest_1.vi.fn(),
|
|
94
|
+
};
|
|
95
|
+
const controller = new Controller_1.Controller([plugin], {}, vsc, logger);
|
|
96
|
+
const pkg = NpmPackage_1.NpmPackage.createFromPackage({ name: 'pkg-a', version: '1.0.0' }, '/repo/packages/pkg-a/package.json');
|
|
97
|
+
controller.packageSortedList = [pkg];
|
|
98
|
+
(0, vitest_1.expect)(() => controller.release()).toThrow(DomainException_1.DirtyWorkingTreeException);
|
|
99
|
+
(0, vitest_1.expect)(plugin.onPackageReleased).not.toHaveBeenCalled();
|
|
100
|
+
(0, vitest_1.expect)(plugin.onReleaseComplete).not.toHaveBeenCalled();
|
|
39
101
|
});
|
|
40
102
|
});
|
|
41
103
|
//# sourceMappingURL=Controller.spec.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Controller.spec.js","sourceRoot":"","sources":["../src/Controller.spec.ts"],"names":[],"mappings":";;AAAA,
|
|
1
|
+
{"version":3,"file":"Controller.spec.js","sourceRoot":"","sources":["../src/Controller.spec.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAoBA,wBAAgB,MAAM,CAAC,GAAG,SAAgB,EAAE,OAAO,WAAwB,GAAG,MAAM,CA0CnF;AAED,eAAe,MAAM,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -3,9 +3,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.parseCliOptions = parseCliOptions;
|
|
7
6
|
exports.runCli = runCli;
|
|
8
|
-
const
|
|
7
|
+
const Controller_1 = require("./Controller");
|
|
9
8
|
const NodeFileSystemService_1 = require("./services/NodeFileSystemService");
|
|
10
9
|
const GitService_1 = require("./services/GitService");
|
|
11
10
|
const ChangelogView_1 = require("./services/ChangelogView");
|
|
@@ -14,7 +13,6 @@ const ReleaseCommitView_1 = require("./services/ReleaseCommitView");
|
|
|
14
13
|
const PackageManager_1 = require("./services/PackageManager");
|
|
15
14
|
const ConsoleLogger_1 = require("./services/ConsoleLogger");
|
|
16
15
|
const ExceptionHandler_1 = require("./services/ExceptionHandler");
|
|
17
|
-
const commander_1 = require("commander");
|
|
18
16
|
const node_path_1 = __importDefault(require("node:path"));
|
|
19
17
|
const ChangelogPlugin_1 = require("./plugins/ChangelogPlugin");
|
|
20
18
|
const GitPlugin_1 = require("./plugins/GitPlugin");
|
|
@@ -23,81 +21,32 @@ const PackageJsonPlugin_1 = require("./plugins/PackageJsonPlugin");
|
|
|
23
21
|
const GithubPlugin_1 = require("./plugins/GithubPlugin");
|
|
24
22
|
const GithubService_1 = require("./services/GithubService");
|
|
25
23
|
const GithubReleaseView_1 = require("./services/GithubReleaseView");
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
.name('monorepo-semantic-release')
|
|
29
|
-
.allowExcessArguments(false)
|
|
30
|
-
.helpOption('-h, --help', 'Show this help message')
|
|
31
|
-
.option('--dry-run', 'Preview release changes without mutating files, commits, or tags')
|
|
32
|
-
.option('--no-push', 'Skip pushing the release commit and tags to the Git remote')
|
|
33
|
-
.option('--no-publish', 'Skip publishing bumped packages')
|
|
34
|
-
.option('--changelog-template <path>', `Override changelog template (default: ${ChangelogView_1.DEFAULT_CHANGELOG_TEMPLATE})`)
|
|
35
|
-
.option('--release-commit-template <path>', `Override release commit template (default: ${ReleaseCommitView_1.DEFAULT_RELEASE_COMMIT_TEMPLATE})`);
|
|
36
|
-
}
|
|
37
|
-
function parseCliOptions(args) {
|
|
38
|
-
const program = createProgram();
|
|
39
|
-
try {
|
|
40
|
-
program.exitOverride();
|
|
41
|
-
program.parse(['node', 'monorepo-semantic-release', ...args], { from: 'node' });
|
|
42
|
-
}
|
|
43
|
-
catch (error) {
|
|
44
|
-
const commanderError = error;
|
|
45
|
-
if (commanderError.code === 'commander.helpDisplayed') {
|
|
46
|
-
return {
|
|
47
|
-
help: true,
|
|
48
|
-
dryRun: false,
|
|
49
|
-
noPush: false,
|
|
50
|
-
noPublish: false,
|
|
51
|
-
};
|
|
52
|
-
}
|
|
53
|
-
throw error;
|
|
54
|
-
}
|
|
55
|
-
const options = program.opts();
|
|
56
|
-
const commanderOptions = options;
|
|
57
|
-
return {
|
|
58
|
-
help: false,
|
|
59
|
-
dryRun: options.dryRun ?? false,
|
|
60
|
-
noPush: commanderOptions.push === false,
|
|
61
|
-
noPublish: commanderOptions.publish === false,
|
|
62
|
-
changelogTemplate: options.changelogTemplate,
|
|
63
|
-
releaseCommitTemplate: options.releaseCommitTemplate,
|
|
64
|
-
};
|
|
65
|
-
}
|
|
66
|
-
function resolveTemplateOverrides(cwd, fsService, cliOptions) {
|
|
67
|
-
const packageJson = fsService.readJson(node_path_1.default.resolve(cwd, 'package.json'));
|
|
68
|
-
const packageTemplates = packageJson.releaseTemplates ?? {};
|
|
69
|
-
return {
|
|
70
|
-
releaseCommitTemplate: cliOptions.releaseCommitTemplate ?? packageTemplates.releaseCommitTemplate ?? ReleaseCommitView_1.DEFAULT_RELEASE_COMMIT_TEMPLATE,
|
|
71
|
-
changelogTemplate: cliOptions.changelogTemplate ?? packageTemplates.changelogTemplate ?? ChangelogView_1.DEFAULT_CHANGELOG_TEMPLATE,
|
|
72
|
-
};
|
|
73
|
-
}
|
|
24
|
+
const ReleaseConfigService_1 = require("./services/ReleaseConfigService");
|
|
25
|
+
const CliOptionsService_1 = require("./services/CliOptionsService");
|
|
74
26
|
function runCli(cwd = process.cwd(), cliArgs = process.argv.slice(2)) {
|
|
75
|
-
const
|
|
27
|
+
const cliOptionsService = new CliOptionsService_1.CliOptionsService();
|
|
28
|
+
const cliOptions = cliOptionsService.parse(cliArgs);
|
|
76
29
|
const fsService = new NodeFileSystemService_1.NodeFileSystemService();
|
|
77
30
|
const vcsService = new GitService_1.GitService();
|
|
78
31
|
const exceptionHandler = new ExceptionHandler_1.ExceptionHandler();
|
|
32
|
+
const releaseConfigService = new ReleaseConfigService_1.ReleaseConfigService(fsService);
|
|
79
33
|
if (cliOptions.help) {
|
|
80
34
|
return 0;
|
|
81
35
|
}
|
|
82
36
|
try {
|
|
83
37
|
const logger = new ConsoleLogger_1.ConsoleLogger('Release');
|
|
84
|
-
const templateOverrides = resolveTemplateOverrides(cwd,
|
|
38
|
+
const templateOverrides = releaseConfigService.resolveTemplateOverrides(cwd, cliOptions);
|
|
85
39
|
const renderService = new HandlebarsRenderService_1.HandlebarsRenderService(cwd, node_path_1.default.resolve(__dirname, '..'));
|
|
86
40
|
const changelogView = new ChangelogView_1.ChangelogView(templateOverrides.changelogTemplate, renderService);
|
|
87
41
|
const releaseCommitView = new ReleaseCommitView_1.ReleaseCommitView(templateOverrides.releaseCommitTemplate, renderService);
|
|
88
42
|
const githubReleaseView = new GithubReleaseView_1.GithubReleaseView(undefined, renderService);
|
|
89
43
|
const packageManager = new PackageManager_1.PackageManager();
|
|
90
44
|
const githubService = new GithubService_1.GithubService();
|
|
91
|
-
const
|
|
92
|
-
isGithubActions: process.env.GITHUB_ACTIONS === 'true',
|
|
93
|
-
repository: process.env.GITHUB_REPOSITORY,
|
|
94
|
-
token: process.env.GITHUB_TOKEN,
|
|
95
|
-
};
|
|
96
|
-
const controller = new MonorepoController_1.MonorepoController([
|
|
45
|
+
const controller = new Controller_1.Controller([
|
|
97
46
|
new PackageJsonPlugin_1.PackageJsonPlugin(fsService, logger),
|
|
98
47
|
new ChangelogPlugin_1.ChangelogPlugin('CHANGELOG.md', changelogView, fsService, logger),
|
|
99
48
|
new GitPlugin_1.GitPlugin(vcsService, releaseCommitView, logger),
|
|
100
|
-
|
|
49
|
+
GithubPlugin_1.GithubPlugin.createFromEnv(githubService, logger, githubReleaseView),
|
|
101
50
|
new NpmPlugin_1.NpmPlugin(packageManager, logger),
|
|
102
51
|
], fsService, vcsService, logger);
|
|
103
52
|
controller.discoverPackages(cwd);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.spec.d.ts","sourceRoot":"","sources":["../src/index.spec.ts"],"names":[],"mappings":""}
|
|
@@ -2,9 +2,10 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const vitest_1 = require("vitest");
|
|
4
4
|
const index_1 = require("./index");
|
|
5
|
-
const
|
|
5
|
+
const Controller_1 = require("./Controller");
|
|
6
6
|
const NodeFileSystemService_1 = require("./services/NodeFileSystemService");
|
|
7
7
|
const ExceptionHandler_1 = require("./services/ExceptionHandler");
|
|
8
|
+
const CliOptionsService_1 = require("./services/CliOptionsService");
|
|
8
9
|
(0, vitest_1.describe)('runCli', () => {
|
|
9
10
|
(0, vitest_1.afterEach)(() => {
|
|
10
11
|
vitest_1.vi.restoreAllMocks();
|
|
@@ -18,33 +19,24 @@ const ExceptionHandler_1 = require("./services/ExceptionHandler");
|
|
|
18
19
|
(0, vitest_1.expect)(writeSpy).toHaveBeenCalledWith(vitest_1.expect.stringContaining('Usage: monorepo-semantic-release [options]'));
|
|
19
20
|
});
|
|
20
21
|
(0, vitest_1.it)('given --dry-run when the cli starts then release is executed in dry-run mode', () => {
|
|
21
|
-
const releaseSpy = vitest_1.vi.spyOn(
|
|
22
|
-
vitest_1.vi.spyOn(
|
|
22
|
+
const releaseSpy = vitest_1.vi.spyOn(Controller_1.Controller.prototype, 'release').mockImplementation(() => undefined);
|
|
23
|
+
vitest_1.vi.spyOn(Controller_1.Controller.prototype, 'discoverPackages').mockImplementation(() => undefined);
|
|
23
24
|
vitest_1.vi.spyOn(NodeFileSystemService_1.NodeFileSystemService.prototype, 'readJson').mockReturnValue({});
|
|
24
25
|
vitest_1.vi.spyOn(console, 'error').mockImplementation(() => undefined);
|
|
25
26
|
const exitCode = (0, index_1.runCli)('/repo', ['--dry-run']);
|
|
26
27
|
(0, vitest_1.expect)(exitCode).toBe(0);
|
|
27
28
|
(0, vitest_1.expect)(releaseSpy).toHaveBeenCalledWith({ dryRun: true, noPush: false, noPublish: false });
|
|
28
29
|
});
|
|
29
|
-
(0, vitest_1.it)('given
|
|
30
|
-
|
|
30
|
+
(0, vitest_1.it)('given cli starts when options are parsed then it delegates parsing to CliOptionsService', () => {
|
|
31
|
+
const parseSpy = vitest_1.vi.spyOn(CliOptionsService_1.CliOptionsService.prototype, 'parse').mockReturnValue({
|
|
32
|
+
help: true,
|
|
31
33
|
dryRun: false,
|
|
32
|
-
help: false,
|
|
33
|
-
noPush: true,
|
|
34
|
-
noPublish: true,
|
|
35
|
-
changelogTemplate: undefined,
|
|
36
|
-
releaseCommitTemplate: undefined,
|
|
37
|
-
});
|
|
38
|
-
});
|
|
39
|
-
(0, vitest_1.it)('given template override flags when cli options are parsed then values are read from named options', () => {
|
|
40
|
-
(0, vitest_1.expect)((0, index_1.parseCliOptions)(['--dry-run', '--changelog-template', 'templates/custom-changelog.hbs', '--release-commit-template=templates/custom-release.hbs'])).toEqual({
|
|
41
|
-
dryRun: true,
|
|
42
|
-
help: false,
|
|
43
34
|
noPush: false,
|
|
44
35
|
noPublish: false,
|
|
45
|
-
changelogTemplate: 'templates/custom-changelog.hbs',
|
|
46
|
-
releaseCommitTemplate: 'templates/custom-release.hbs',
|
|
47
36
|
});
|
|
37
|
+
const exitCode = (0, index_1.runCli)('/repo', ['--help']);
|
|
38
|
+
(0, vitest_1.expect)(exitCode).toBe(0);
|
|
39
|
+
(0, vitest_1.expect)(parseSpy).toHaveBeenCalledWith(['--help']);
|
|
48
40
|
});
|
|
49
41
|
(0, vitest_1.it)('given a runtime error when the cli fails then it delegates error reporting to ExceptionHandler', () => {
|
|
50
42
|
const expectedError = new Error('boom');
|
|
@@ -57,4 +49,4 @@ const ExceptionHandler_1 = require("./services/ExceptionHandler");
|
|
|
57
49
|
(0, vitest_1.expect)(handleSpy).toHaveBeenCalledWith(expectedError);
|
|
58
50
|
});
|
|
59
51
|
});
|
|
60
|
-
//# sourceMappingURL=
|
|
52
|
+
//# sourceMappingURL=index.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.spec.js","sourceRoot":"","sources":["../src/index.spec.ts"],"names":[],"mappings":";;AAAA,mCAA6D;AAC7D,mCAAiC;AACjC,6CAA0C;AAC1C,4EAAyE;AACzE,kEAA+D;AAC/D,oEAAiE;AAEjE,IAAA,iBAAQ,EAAC,QAAQ,EAAE,GAAG,EAAE;IACtB,IAAA,kBAAS,EAAC,GAAG,EAAE;QACb,WAAE,CAAC,eAAe,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,2FAA2F,EAAE,GAAG,EAAE;QACnG,MAAM,QAAQ,GAAG,WAAE,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QAClF,MAAM,QAAQ,GAAG,WAAE,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAEhF,MAAM,QAAQ,GAAG,IAAA,cAAM,EAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;QAE7C,IAAA,eAAM,EAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACzB,IAAA,eAAM,EAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACxC,IAAA,eAAM,EAAC,QAAQ,CAAC,CAAC,oBAAoB,CAAC,eAAM,CAAC,gBAAgB,CAAC,4CAA4C,CAAC,CAAC,CAAC;IAC/G,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,8EAA8E,EAAE,GAAG,EAAE;QACtF,MAAM,UAAU,GAAG,WAAE,CAAC,KAAK,CAAC,uBAAU,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QACjG,WAAE,CAAC,KAAK,CAAC,uBAAU,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QACvF,WAAE,CAAC,KAAK,CAAC,6CAAqB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;QAC1E,WAAE,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAE/D,MAAM,QAAQ,GAAG,IAAA,cAAM,EAAC,OAAO,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;QAEhD,IAAA,eAAM,EAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACzB,IAAA,eAAM,EAAC,UAAU,CAAC,CAAC,oBAAoB,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;IAC7F,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,yFAAyF,EAAE,GAAG,EAAE;QACjG,MAAM,QAAQ,GAAG,WAAE,CAAC,KAAK,CAAC,qCAAiB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,eAAe,CAAC;YAC9E,IAAI,EAAE,IAAI;YACV,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,KAAK;YACb,SAAS,EAAE,KAAK;SACjB,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,IAAA,cAAM,EAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;QAE7C,IAAA,eAAM,EAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACzB,IAAA,eAAM,EAAC,QAAQ,CAAC,CAAC,oBAAoB,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,gGAAgG,EAAE,GAAG,EAAE;QACxG,MAAM,aAAa,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC;QACxC,MAAM,SAAS,GAAG,WAAE,CAAC,KAAK,CAAC,mCAAgB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QACrG,WAAE,CAAC,KAAK,CAAC,6CAAqB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE;YAC5E,MAAM,aAAa,CAAC;QACtB,CAAC,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,IAAA,cAAM,EAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAErC,IAAA,eAAM,EAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACzB,IAAA,eAAM,EAAC,SAAS,CAAC,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CliOptions.d.ts","sourceRoot":"","sources":["../../src/models/CliOptions.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,iBAAiB;IAChC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,UAAW,SAAQ,iBAAiB;IACnD,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;CACpB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CliOptions.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"CliOptions.js","sourceRoot":"","sources":["../../src/models/CliOptions.ts"],"names":[],"mappings":""}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { PackageJSON } from './PackageJSON';
|
|
2
|
-
import { Sortable } from '../sortLessDependenciesFirst';
|
|
2
|
+
import { Sortable } from '../utils/sortLessDependenciesFirst';
|
|
3
3
|
import { DependencyVersionChange } from './ReleaseTypes';
|
|
4
4
|
import { SemVerBumpType } from './SemVerBumpType';
|
|
5
5
|
export declare class NpmPackage implements Sortable {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NpmPackage.d.ts","sourceRoot":"","sources":["../../src/models/NpmPackage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"NpmPackage.d.ts","sourceRoot":"","sources":["../../src/models/NpmPackage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGlD,qBAAa,UAAW,YAAW,QAAQ;IAMvC,QAAQ,CAAC,IAAI,EAAE,MAAM;IACrB,QAAQ,CAAC,OAAO,EAAE,MAAM;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM;IACxB,QAAQ,CAAC,SAAS,EAAE,OAAO;IAC3B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAC7C,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAVlD,MAAM,CAAC,iBAAiB,CAAC,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,GAAG,UAAU;gBAKnE,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,OAAO,EAClB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACpC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAGlD,kBAAkB,CAAC,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,MAAM,EAAE;IAIvD,aAAa,CAAC,UAAU,EAAE,MAAM;IAIhC,YAAY,IAAI,MAAM;IAItB,OAAO,CAAC,iCAAiC;IAQzC,OAAO,CAAC,qBAAqB;IAK7B,oBAAoB,CAAC,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,uBAAuB,EAAE;IAiBtF,oBAAoB,CAAC,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAI1D,aAAa,CAAC,QAAQ,EAAE,cAAc,GAAG,MAAM;CAahD"}
|
|
@@ -12,7 +12,9 @@ export declare class GithubPlugin implements ReleasePlugin {
|
|
|
12
12
|
private readonly logger;
|
|
13
13
|
private readonly config;
|
|
14
14
|
private readonly githubReleaseView;
|
|
15
|
+
static createFromEnv(githubService: GithubService, logger: ConsoleLogger, githubReleaseView: GithubReleaseView, env?: NodeJS.ProcessEnv): GithubPlugin;
|
|
15
16
|
constructor(githubService: GithubService, logger: ConsoleLogger, config: GithubPluginConfig, githubReleaseView: GithubReleaseView);
|
|
16
17
|
onReleaseComplete(context: ReleaseCompletePluginContext): void;
|
|
18
|
+
private static readConfigFromEnv;
|
|
17
19
|
}
|
|
18
20
|
//# sourceMappingURL=GithubPlugin.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GithubPlugin.d.ts","sourceRoot":"","sources":["../../src/plugins/GithubPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC9E,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"GithubPlugin.d.ts","sourceRoot":"","sources":["../../src/plugins/GithubPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC9E,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAIlE,MAAM,WAAW,kBAAkB;IACjC,eAAe,EAAE,OAAO,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AASD,qBAAa,YAAa,YAAW,aAAa;IAW9C,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAbpC,MAAM,CAAC,aAAa,CAClB,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,aAAa,EACrB,iBAAiB,EAAE,iBAAiB,EACpC,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,YAAY;gBAKI,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,kBAAkB,EAC1B,iBAAiB,EAAE,iBAAiB;IAGvD,iBAAiB,CAAC,OAAO,EAAE,4BAA4B,GAAG,IAAI;IAyC9D,OAAO,CAAC,MAAM,CAAC,iBAAiB;CAWjC"}
|
|
@@ -2,11 +2,21 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.GithubPlugin = void 0;
|
|
4
4
|
const DomainException_1 = require("../exceptions/DomainException");
|
|
5
|
+
const zod_1 = require("zod");
|
|
6
|
+
const githubActionsSchema = zod_1.z.string().trim().toLowerCase();
|
|
7
|
+
const githubRepositorySchema = zod_1.z
|
|
8
|
+
.string()
|
|
9
|
+
.trim()
|
|
10
|
+
.regex(/^[^/\s]+\/[^/\s]+$/);
|
|
11
|
+
const githubTokenSchema = zod_1.z.string().trim().min(1);
|
|
5
12
|
class GithubPlugin {
|
|
6
13
|
githubService;
|
|
7
14
|
logger;
|
|
8
15
|
config;
|
|
9
16
|
githubReleaseView;
|
|
17
|
+
static createFromEnv(githubService, logger, githubReleaseView, env = process.env) {
|
|
18
|
+
return new GithubPlugin(githubService, logger, GithubPlugin.readConfigFromEnv(env), githubReleaseView);
|
|
19
|
+
}
|
|
10
20
|
constructor(githubService, logger, config, githubReleaseView) {
|
|
11
21
|
this.githubService = githubService;
|
|
12
22
|
this.logger = logger;
|
|
@@ -48,6 +58,16 @@ class GithubPlugin {
|
|
|
48
58
|
this.logger.info(`RELEASE ${pkg.name}@${version}`);
|
|
49
59
|
}
|
|
50
60
|
}
|
|
61
|
+
static readConfigFromEnv(env) {
|
|
62
|
+
const githubActionsParse = githubActionsSchema.safeParse(env.GITHUB_ACTIONS);
|
|
63
|
+
const repositoryParse = githubRepositorySchema.safeParse(env.GITHUB_REPOSITORY);
|
|
64
|
+
const tokenParse = githubTokenSchema.safeParse(env.GITHUB_TOKEN);
|
|
65
|
+
return {
|
|
66
|
+
isGithubActions: githubActionsParse.success && githubActionsParse.data === 'true',
|
|
67
|
+
repository: repositoryParse.success ? repositoryParse.data : undefined,
|
|
68
|
+
token: tokenParse.success ? tokenParse.data : undefined,
|
|
69
|
+
};
|
|
70
|
+
}
|
|
51
71
|
}
|
|
52
72
|
exports.GithubPlugin = GithubPlugin;
|
|
53
73
|
//# sourceMappingURL=GithubPlugin.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GithubPlugin.js","sourceRoot":"","sources":["../../src/plugins/GithubPlugin.ts"],"names":[],"mappings":";;;AAIA,mEAA8E;
|
|
1
|
+
{"version":3,"file":"GithubPlugin.js","sourceRoot":"","sources":["../../src/plugins/GithubPlugin.ts"],"names":[],"mappings":"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"}
|