Skip to content

Commit 1ef8ab0

Browse files
committed
feat(create-medusa-app): Allow to create project with specific medusa version
1 parent b44a211 commit 1ef8ab0

2 files changed

Lines changed: 4 additions & 32 deletions

File tree

packages/cli/create-medusa-app/src/utils/nextjs-utils.ts

Lines changed: 2 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import execute from "./execute.js"
88
import { displayFactBox, FactBoxOptions } from "./facts.js"
99
import logMessage from "./log-message.js"
1010
import ProcessManager from "./process-manager.js"
11+
import { updatePackageVersion } from "./update-package-version.js"
1112

1213
const NEXTJS_REPO = "https://github.com/medusajs/nextjs-starter-medusa"
1314
const NEXTJS_BRANCH = "main"
@@ -75,24 +76,7 @@ export async function installNextjsStarter({
7576

7677
if (version) {
7778
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))
79+
updatePackageVersion(packageJsonPath, version, { applyChanges: true })
9680
}
9781

9882
const execOptions = {

packages/cli/create-medusa-app/src/utils/prepare-project.ts

Lines changed: 2 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import { displayFactBox, FactBoxOptions } from "./facts.js"
77
import ProcessManager from "./process-manager.js"
88
import type { Client } from "pg"
99
import PackageManager from "./package-manager.js"
10+
import { updatePackageVersion } from "./update-package-version.js"
1011

1112
const ADMIN_EMAIL = "admin@medusa-test.com"
1213
let STORE_CORS = "http://localhost:8000"
@@ -163,20 +164,7 @@ async function prepareProject({
163164

164165
// Update medusa dependencies versions
165166
if (version) {
166-
if (packageJson.dependencies) {
167-
for (const dependency of Object.keys(packageJson.dependencies)) {
168-
if (dependency.startsWith("@medusajs/")) {
169-
packageJson.dependencies[dependency] = version
170-
}
171-
}
172-
}
173-
if (packageJson.devDependencies) {
174-
for (const dependency of Object.keys(packageJson.devDependencies)) {
175-
if (dependency.startsWith("@medusajs/")) {
176-
packageJson.devDependencies[dependency] = version
177-
}
178-
}
179-
}
167+
updatePackageVersion(packageJson, version)
180168
}
181169

182170
fs.writeFileSync(packageJsonPath, JSON.stringify(packageJson, null, 2))

0 commit comments

Comments
 (0)