@@ -51,6 +51,42 @@ async function copyTemplate() {
5151 }
5252}
5353
54+ function removePkgDependencies ( pkg , { dependencies = [ ] , devDependencies = [ ] } = { } ) {
55+ if ( ! dependencies || ! dependencies . length ) {
56+ return
57+ }
58+ dependencies . forEach ( ( name ) => delete pkg . dependencies [ name ] )
59+ if ( ! devDependencies || ! devDependencies . length ) {
60+ return
61+ }
62+ devDependencies . forEach ( ( name ) => delete pkg . devDependencies [ name ] )
63+ }
64+
65+ function removePkgScripts ( pkg , scripts ) {
66+ if ( ! scripts || ! scripts . length ) {
67+ return
68+ }
69+ scripts . forEach ( ( name ) => delete pkg . scripts [ name ] )
70+ }
71+
72+ async function removeFiles ( files ) {
73+ if ( ! files || ! files . length ) {
74+ return
75+ }
76+ for ( const file of files ) {
77+ const filePath = path . resolve ( templateDistPath , file )
78+ if ( await fs . pathExists ( filePath ) ) {
79+ await fs . remove ( filePath )
80+ }
81+ }
82+ }
83+
84+ async function removeVitest ( pkg ) {
85+ removePkgDependencies ( pkg , { devDependencies : [ 'vitest' , 'vite-plugin-vitest' ] } )
86+ removePkgScripts ( pkg , [ 'test' , 'test:watch' ] )
87+ await removeFiles ( [ 'vitest.config.js' , 'tests' ] )
88+ }
89+
5490async function updatePkgJson ( ) {
5591 const { version } = pkg
5692 const pkgJsonPath = path . resolve ( templateDistPath , 'package.json' )
@@ -82,6 +118,7 @@ async function updatePkgJson() {
82118 updateDependencyVersions ( pkgData . dependencies )
83119 updateDependencyVersions ( pkgData . devDependencies )
84120
121+ await removeVitest ( pkgData )
85122 await fs . writeJSON ( pkgJsonPath , pkgData , { spaces : 2 } )
86123}
87124
0 commit comments