@@ -51,6 +51,36 @@ async function copyTemplate() {
5151 }
5252}
5353
54+ function removePkgDependencies ( pkg , { dependencies = [ ] , devDependencies = [ ] } = { } ) {
55+ dependencies ?. forEach ( ( name ) => delete pkg . dependencies [ name ] )
56+ devDependencies ?. forEach ( ( name ) => delete pkg . devDependencies [ name ] )
57+ }
58+
59+ function removePkgScripts ( pkg , scripts ) {
60+ if ( ! scripts || ! scripts . length ) {
61+ return
62+ }
63+ scripts . forEach ( ( name ) => delete pkg . scripts [ name ] )
64+ }
65+
66+ async function removeFiles ( files ) {
67+ if ( ! files || ! files . length ) {
68+ return
69+ }
70+ for ( const file of files ) {
71+ const filePath = path . resolve ( templateDistPath , file )
72+ if ( await fs . pathExists ( filePath ) ) {
73+ await fs . remove ( filePath )
74+ }
75+ }
76+ }
77+
78+ async function removeVitest ( pkg ) {
79+ removePkgDependencies ( pkg , { devDependencies : [ 'vitest' , 'vite-plugin-vitest' ] } )
80+ removePkgScripts ( pkg , [ 'test' , 'test:watch' ] )
81+ await removeFiles ( [ 'vitest.config.js' , 'tests' ] )
82+ }
83+
5484async function updatePkgJson ( ) {
5585 const { version } = pkg
5686 const pkgJsonPath = path . resolve ( templateDistPath , 'package.json' )
@@ -76,12 +106,13 @@ async function updatePkgJson() {
76106 Object . keys ( deps )
77107 . filter ( ( name ) => name . includes ( '@opentiny/tiny-engine' ) )
78108 . forEach ( ( name ) => {
79- deps [ name ] = version
109+ deps [ name ] = `^ ${ version } `
80110 } )
81111 }
82112 updateDependencyVersions ( pkgData . dependencies )
83113 updateDependencyVersions ( pkgData . devDependencies )
84114
115+ await removeVitest ( pkgData )
85116 await fs . writeJSON ( pkgJsonPath , pkgData , { spaces : 2 } )
86117}
87118
0 commit comments