|
1 | 1 | /* eslint require-atomic-updates: off */
|
2 | 2 |
|
3 |
| -import {defaultTo, castArray} from 'lodash-es'; |
| 3 | +import { defaultTo, castArray } from "lodash-es"; |
4 | 4 |
|
5 |
| -import verifyGitHub from './lib/verify.js'; |
6 |
| -import addChannelGitHub from './lib/add-channel.js'; |
7 |
| -import publishGitHub from './lib/publish.js'; |
8 |
| -import successGitHub from './lib/success.js'; |
9 |
| -import failGitHub from './lib/fail.js'; |
| 5 | +import verifyGitHub from "./lib/verify.js"; |
| 6 | +import addChannelGitHub from "./lib/add-channel.js"; |
| 7 | +import publishGitHub from "./lib/publish.js"; |
| 8 | +import successGitHub from "./lib/success.js"; |
| 9 | +import failGitHub from "./lib/fail.js"; |
| 10 | +import { SemanticReleaseOctokit } from "./lib/octokit.js"; |
10 | 11 |
|
11 | 12 | let verified;
|
12 | 13 |
|
13 |
| -export async function verifyConditions(pluginConfig, context) { |
14 |
| - const {options} = context; |
| 14 | +export async function verifyConditions( |
| 15 | + pluginConfig, |
| 16 | + context, |
| 17 | + { Octokit = SemanticReleaseOctokit } = {} |
| 18 | +) { |
| 19 | + const { options } = context; |
15 | 20 | // If the GitHub publish plugin is used and has `assets`, `successComment`, `failComment`, `failTitle`, `labels` or `assignees` configured, validate it now in order to prevent any release if the configuration is wrong
|
16 | 21 | if (options.publish) {
|
17 | 22 | const publishPlugin =
|
18 |
| - castArray(options.publish).find((config) => config.path && config.path === '@semantic-release/github') || {}; |
| 23 | + castArray(options.publish).find( |
| 24 | + (config) => config.path && config.path === "@semantic-release/github" |
| 25 | + ) || {}; |
19 | 26 |
|
20 | 27 | pluginConfig.assets = defaultTo(pluginConfig.assets, publishPlugin.assets);
|
21 |
| - pluginConfig.successComment = defaultTo(pluginConfig.successComment, publishPlugin.successComment); |
22 |
| - pluginConfig.failComment = defaultTo(pluginConfig.failComment, publishPlugin.failComment); |
23 |
| - pluginConfig.failTitle = defaultTo(pluginConfig.failTitle, publishPlugin.failTitle); |
| 28 | + pluginConfig.successComment = defaultTo( |
| 29 | + pluginConfig.successComment, |
| 30 | + publishPlugin.successComment |
| 31 | + ); |
| 32 | + pluginConfig.failComment = defaultTo( |
| 33 | + pluginConfig.failComment, |
| 34 | + publishPlugin.failComment |
| 35 | + ); |
| 36 | + pluginConfig.failTitle = defaultTo( |
| 37 | + pluginConfig.failTitle, |
| 38 | + publishPlugin.failTitle |
| 39 | + ); |
24 | 40 | pluginConfig.labels = defaultTo(pluginConfig.labels, publishPlugin.labels);
|
25 |
| - pluginConfig.assignees = defaultTo(pluginConfig.assignees, publishPlugin.assignees); |
| 41 | + pluginConfig.assignees = defaultTo( |
| 42 | + pluginConfig.assignees, |
| 43 | + publishPlugin.assignees |
| 44 | + ); |
26 | 45 | }
|
27 | 46 |
|
28 |
| - await verifyGitHub(pluginConfig, context); |
| 47 | + await verifyGitHub(pluginConfig, context, { Octokit }); |
29 | 48 | verified = true;
|
30 | 49 | }
|
31 | 50 |
|
32 |
| -export async function publish(pluginConfig, context) { |
| 51 | +export async function publish( |
| 52 | + pluginConfig, |
| 53 | + context, |
| 54 | + { Octokit = SemanticReleaseOctokit } = {} |
| 55 | +) { |
33 | 56 | if (!verified) {
|
34 |
| - await verifyGitHub(pluginConfig, context); |
| 57 | + await verifyGitHub(pluginConfig, context, { Octokit }); |
35 | 58 | verified = true;
|
36 | 59 | }
|
37 | 60 |
|
38 |
| - return publishGitHub(pluginConfig, context); |
| 61 | + return publishGitHub(pluginConfig, context, { Octokit }); |
39 | 62 | }
|
40 | 63 |
|
41 |
| -export async function addChannel(pluginConfig, context) { |
| 64 | +export async function addChannel( |
| 65 | + pluginConfig, |
| 66 | + context, |
| 67 | + { Octokit = SemanticReleaseOctokit } = {} |
| 68 | +) { |
42 | 69 | if (!verified) {
|
43 |
| - await verifyGitHub(pluginConfig, context); |
| 70 | + await verifyGitHub(pluginConfig, context, { Octokit }); |
44 | 71 | verified = true;
|
45 | 72 | }
|
46 | 73 |
|
47 |
| - return addChannelGitHub(pluginConfig, context); |
| 74 | + return addChannelGitHub(pluginConfig, context, { Octokit }); |
48 | 75 | }
|
49 | 76 |
|
50 |
| -export async function success(pluginConfig, context) { |
| 77 | +export async function success( |
| 78 | + pluginConfig, |
| 79 | + context, |
| 80 | + { Octokit = SemanticReleaseOctokit } = {} |
| 81 | +) { |
51 | 82 | if (!verified) {
|
52 |
| - await verifyGitHub(pluginConfig, context); |
| 83 | + await verifyGitHub(pluginConfig, context, { Octokit }); |
53 | 84 | verified = true;
|
54 | 85 | }
|
55 | 86 |
|
56 |
| - await successGitHub(pluginConfig, context); |
| 87 | + await successGitHub(pluginConfig, context, { Octokit }); |
57 | 88 | }
|
58 | 89 |
|
59 |
| -export async function fail(pluginConfig, context) { |
| 90 | +export async function fail( |
| 91 | + pluginConfig, |
| 92 | + context, |
| 93 | + { Octokit = SemanticReleaseOctokit } = {} |
| 94 | +) { |
60 | 95 | if (!verified) {
|
61 |
| - await verifyGitHub(pluginConfig, context); |
| 96 | + await verifyGitHub(pluginConfig, context, { Octokit }); |
62 | 97 | verified = true;
|
63 | 98 | }
|
64 | 99 |
|
65 |
| - await failGitHub(pluginConfig, context); |
| 100 | + await failGitHub(pluginConfig, context, { Octokit }); |
66 | 101 | }
|
0 commit comments