@@ -22,9 +22,14 @@ const installPackages = packages => {
2222 try {
2323 const packagesArr = arrify ( packages ) ;
2424 core . debug ( `Installing additional packages: ${ packagesArr } ` ) ;
25- const result = spawnSync ( 'npm' , [ 'install' , '--no-save' , ...packagesArr ] ) ;
25+ const spawn = spawnSync ( 'npm' , [ 'install' , '--no-save' , ...packagesArr ] , {
26+ stdio : [ 'inherit' , 'inherit' , 'pipe' ] ,
27+ } ) ;
28+ if ( spawn . status !== 0 ) {
29+ throw new Error ( spawn . stderr ) ;
30+ }
2631 core . debug ( `Packages installed.` ) ;
27- return result ;
32+ return spawn ;
2833 } catch ( err ) {
2934 core . debug ( `Error installing additional packages: ${ packages } ` ) ;
3035 throw err ;
@@ -41,7 +46,8 @@ async function run() {
4146 const branch = parseInput ( core . getInput ( 'branch' , { required : false } ) ) ;
4247 const branches = parseInput ( core . getInput ( 'branches' , { required : false } ) ) ;
4348 const plugins = parseInput ( core . getInput ( 'plugins' , { required : false } ) ) ;
44- const additionalPackages = parseInput ( core . getInput ( 'additional_packages' , { required : false } ) ) ;
49+ const additionalPackages =
50+ parseInput ( core . getInput ( 'additional_packages' , { required : false } ) ) || [ ] ;
4551 const extendsInput = parseInput ( core . getInput ( 'extends' , { required : false } ) ) ;
4652 let dryRun = core . getInput ( 'dry_run' , { required : false } ) ;
4753 dryRun = dryRun !== '' ? dryRun === 'true' : '' ;
@@ -51,13 +57,17 @@ async function run() {
5157 core . debug ( `branch input: ${ branch } ` ) ;
5258 core . debug ( `branches input: ${ branches } ` ) ;
5359 core . debug ( `plugins input: ${ plugins } ` ) ;
60+ core . debug ( `additional_packages input: ${ additionalPackages } ` ) ;
5461 core . debug ( `extends input: ${ extendsInput } ` ) ;
5562 core . debug ( `dry_run input: ${ dryRun } ` ) ;
5663 core . debug ( `repository_url input: ${ repositoryUrl } ` ) ;
5764 core . debug ( `tag_format input: ${ tagFormat } ` ) ;
5865
59- // install additional packages
60- if ( additionalPackages ) {
66+ // install additional plugins & shareable configurations
67+ if ( extendsInput ) {
68+ additionalPackages . push ( ...arrify ( extendsInput ) ) ;
69+ }
70+ if ( additionalPackages . length ) {
6171 installPackages ( additionalPackages ) ;
6272 }
6373
0 commit comments