1- const { castArray, isPlainObject} = require ( 'lodash' ) ;
21const parseJson = require ( 'parse-json' ) ;
32const debug = require ( 'debug' ) ( 'semantic-release:exec' ) ;
43const SemanticReleaseError = require ( '@semantic-release/error' ) ;
54const execScript = require ( './lib/exec-script' ) ;
65const verifyConfig = require ( './lib/verify-config' ) ;
76
8- const PLUGIN_TYPES = [ 'analyzeCommits' , 'verifyRelease' , 'generateNotes' , 'publish' , 'success' , 'fail' ] ;
9-
107async function verifyConditions ( pluginConfig , context ) {
11- for ( const [ option , value ] of Object . entries ( context . options || { } ) ) {
12- if ( PLUGIN_TYPES . includes ( option ) ) {
13- for ( const plugin of castArray ( value ) ) {
14- if (
15- plugin === '@semantic-release/exec' ||
16- ( isPlainObject ( plugin ) && plugin . path === '@semantic-release/exec' )
17- ) {
18- verifyConfig ( plugin ) ;
19- }
20- }
21- }
22- }
23-
248 verifyConfig ( pluginConfig ) ;
259
2610 try {
@@ -31,11 +15,15 @@ async function verifyConditions(pluginConfig, context) {
3115}
3216
3317async function analyzeCommits ( pluginConfig , context ) {
18+ verifyConfig ( pluginConfig ) ;
19+
3420 const stdout = await execScript ( pluginConfig , context ) ;
3521 return stdout . trim ( ) ? stdout : undefined ;
3622}
3723
3824async function verifyRelease ( pluginConfig , context ) {
25+ verifyConfig ( pluginConfig ) ;
26+
3927 try {
4028 await execScript ( pluginConfig , context ) ;
4129 } catch ( err ) {
@@ -44,15 +32,22 @@ async function verifyRelease(pluginConfig, context) {
4432}
4533
4634async function generateNotes ( pluginConfig , context ) {
35+ verifyConfig ( pluginConfig ) ;
36+
4737 return execScript ( pluginConfig , context ) ;
4838}
4939
5040async function prepare ( pluginConfig , context ) {
41+ verifyConfig ( pluginConfig ) ;
42+
5143 await execScript ( pluginConfig , context ) ;
5244}
5345
5446async function publish ( pluginConfig , context ) {
47+ verifyConfig ( pluginConfig ) ;
48+
5549 const stdout = await execScript ( pluginConfig , context ) ;
50+
5651 try {
5752 return stdout . trim ( ) ? parseJson ( stdout ) : undefined ;
5853 } catch ( err ) {
@@ -65,10 +60,14 @@ async function publish(pluginConfig, context) {
6560}
6661
6762async function success ( pluginConfig , context ) {
63+ verifyConfig ( pluginConfig ) ;
64+
6865 await execScript ( pluginConfig , context ) ;
6966}
7067
7168async function fail ( pluginConfig , context ) {
69+ verifyConfig ( pluginConfig ) ;
70+
7271 await execScript ( pluginConfig , context ) ;
7372}
7473
0 commit comments