55import { ManagementType , Result } from './types/deps'
66import { shell } from './shell'
77
8- export type PackageManager = 'npm' | 'yarn'
8+ export type PackageManager = 'npm' | 'yarn' | 'pnpm'
99
1010export async function install ( {
1111 appDir,
@@ -50,16 +50,18 @@ async function installNpmPackage(
5050 packageManager : PackageManager ,
5151 appDir : string
5252) : Promise < void > {
53- if ( packageNames . length === 0 ) return
54- console . log ( `Installing ${ packageNames . join ( ', ' ) } ...` )
55- if ( packageManager === 'yarn' ) {
56- await shell ( 'yarn' , [ 'add' , packageNames . join ( ' ' ) ] , {
57- cwd : appDir
58- } )
59- } else {
60- await shell ( 'npm' , [ 'install' , packageNames . join ( ' ' ) ] , {
61- cwd : appDir
62- } )
53+ const packages = packageNames . filter ( ( p ) => p !== '' )
54+ if ( packages . length !== 0 ) {
55+ console . log ( `- Installing ${ packages . join ( ', ' ) } ...` )
56+ if ( packageManager === 'npm' ) {
57+ await shell ( 'npm' , [ 'install' , packageNames . join ( ' ' ) ] , {
58+ cwd : appDir
59+ } )
60+ } else {
61+ await shell ( packageManager , [ 'add' , packageNames . join ( ' ' ) ] , {
62+ cwd : appDir
63+ } )
64+ }
6365 }
6466}
6567
@@ -68,23 +70,25 @@ async function installNpmDevPackage(
6870 packageManager : PackageManager ,
6971 appDir : string
7072) : Promise < void > {
71- if ( packageNames . length === 0 ) return
72- console . log ( `Installing ${ packageNames . join ( ', ' ) } ...` )
73- if ( packageManager === 'yarn' ) {
74- await shell (
75- 'yarn' ,
76- [ 'add' , '--dev' , '--ignore-scripts' , packageNames . join ( ' ' ) ] ,
77- {
78- cwd : appDir
79- }
80- )
81- } else {
82- await shell (
83- 'npm' ,
84- [ 'install' , '--save-dev' , '--ignore-scripts' , packageNames . join ( ' ' ) ] ,
85- {
86- cwd : appDir
87- }
88- )
73+ const packages = packageNames . filter ( ( p ) => p !== '' )
74+ if ( packages . length !== 0 ) {
75+ console . log ( `- Installing ${ packages . join ( ', ' ) } ...` )
76+ if ( packageManager === 'npm' ) {
77+ await shell (
78+ 'npm' ,
79+ [ 'install' , '--save-dev' , '--ignore-scripts' , packageNames . join ( ' ' ) ] ,
80+ {
81+ cwd : appDir
82+ }
83+ )
84+ } else {
85+ await shell (
86+ packageManager ,
87+ [ 'add' , '-D' , '--ignore-scripts' , packageNames . join ( ' ' ) ] ,
88+ {
89+ cwd : appDir
90+ }
91+ )
92+ }
8993 }
9094}
0 commit comments