@@ -31,6 +31,7 @@ type InstallOptions = {
3131 factBoxOptions : FactBoxOptions
3232 verbose ?: boolean
3333 processManager : ProcessManager
34+ version ?: string
3435}
3536
3637export async function installNextjsStarter ( {
@@ -39,6 +40,7 @@ export async function installNextjsStarter({
3940 factBoxOptions,
4041 verbose = false ,
4142 processManager,
43+ version,
4244} : InstallOptions ) : Promise < string > {
4345 factBoxOptions . interval = displayFactBox ( {
4446 ...factBoxOptions ,
@@ -70,6 +72,29 @@ export async function installNextjsStarter({
7072 ] ,
7173 { verbose }
7274 )
75+
76+ if ( version ) {
77+ const packageJsonPath = path . join ( nextjsDirectory , "package.json" )
78+ const packageJson = JSON . parse ( fs . readFileSync ( packageJsonPath , "utf-8" ) )
79+
80+ if ( packageJson . dependencies ) {
81+ for ( const dependency of Object . keys ( packageJson . dependencies ) ) {
82+ if ( dependency . startsWith ( "@medusajs/" ) ) {
83+ packageJson . dependencies [ dependency ] = version
84+ }
85+ }
86+ }
87+ if ( packageJson . devDependencies ) {
88+ for ( const dependency of Object . keys ( packageJson . devDependencies ) ) {
89+ if ( dependency . startsWith ( "@medusajs/" ) ) {
90+ packageJson . devDependencies [ dependency ] = version
91+ }
92+ }
93+ }
94+
95+ fs . writeFileSync ( packageJsonPath , JSON . stringify ( packageJson , null , 2 ) )
96+ }
97+
7398 const execOptions = {
7499 signal : abortController ?. signal ,
75100 cwd : nextjsDirectory ,
0 commit comments