fix(cli): quote paths in git commands for windows users

This commit is contained in:
saberzero1 2026-03-16 22:41:36 +01:00
parent 49caf725dd
commit 7e28a970e7
No known key found for this signature in database

View File

@ -256,7 +256,10 @@ export async function handlePluginInstall() {
if (!lockfile) { if (!lockfile) {
console.log( console.log(
styleText("yellow", "⚠ No quartz.lock.json found. Run 'npx quartz plugin add <repo>' first."), styleText(
"yellow",
"⚠ No quartz.lock.json found. Run 'npx quartz plugin add <repo>' first.",
),
) )
return return
} }
@ -330,7 +333,7 @@ export async function handlePluginInstall() {
try { try {
console.log(styleText("cyan", `${name}: cloning...`)) console.log(styleText("cyan", `${name}: cloning...`))
const branchArg = entry.ref ? ` --branch ${entry.ref}` : "" const branchArg = entry.ref ? ` --branch ${entry.ref}` : ""
execSync(`git clone --depth 1${branchArg} ${entry.resolved} ${pluginDir}`, { execSync(`git clone --depth 1${branchArg} "${entry.resolved}" "${pluginDir}"`, {
stdio: "ignore", stdio: "ignore",
}) })
if (entry.commit !== "unknown") { if (entry.commit !== "unknown") {
@ -421,9 +424,11 @@ export async function handlePluginAdd(sources) {
console.log(styleText("cyan", `→ Adding ${name} from ${url}...`)) console.log(styleText("cyan", `→ Adding ${name} from ${url}...`))
if (ref) { if (ref) {
execSync(`git clone --depth 1 --branch ${ref} ${url} ${pluginDir}`, { stdio: "ignore" }) execSync(`git clone --depth 1 --branch ${ref} "${url}" "${pluginDir}"`, {
stdio: "ignore",
})
} else { } else {
execSync(`git clone --depth 1 ${url} ${pluginDir}`, { stdio: "ignore" }) execSync(`git clone --depth 1 "${url}" "${pluginDir}"`, { stdio: "ignore" })
} }
const commit = getGitCommit(pluginDir) const commit = getGitCommit(pluginDir)
@ -659,7 +664,7 @@ export async function handlePluginCheck() {
try { try {
const lsRemoteRef = entry.ref ? `refs/heads/${entry.ref}` : "HEAD" const lsRemoteRef = entry.ref ? `refs/heads/${entry.ref}` : "HEAD"
const latestCommit = execSync(`git ls-remote ${entry.resolved} ${lsRemoteRef}`, { const latestCommit = execSync(`git ls-remote "${entry.resolved}" ${lsRemoteRef}`, {
encoding: "utf-8", encoding: "utf-8",
}) })
.split("\t")[0] .split("\t")[0]
@ -880,7 +885,7 @@ export async function handlePluginRestore() {
styleText("cyan", `${name}: cloning ${entry.resolved}@${entry.commit.slice(0, 7)}...`), styleText("cyan", `${name}: cloning ${entry.resolved}@${entry.commit.slice(0, 7)}...`),
) )
const branchArg = entry.ref ? ` --branch ${entry.ref}` : "" const branchArg = entry.ref ? ` --branch ${entry.ref}` : ""
execSync(`git clone --depth 1${branchArg} ${entry.resolved} ${pluginDir}`, { execSync(`git clone --depth 1${branchArg} "${entry.resolved}" "${pluginDir}"`, {
stdio: "ignore", stdio: "ignore",
}) })
execSync(`git checkout ${entry.commit}`, { cwd: pluginDir, stdio: "ignore" }) execSync(`git checkout ${entry.commit}`, { cwd: pluginDir, stdio: "ignore" })
@ -1080,9 +1085,11 @@ export async function handlePluginResolve({ dryRun = false } = {}) {
console.log(styleText("cyan", `→ Cloning ${name} from ${url}...`)) console.log(styleText("cyan", `→ Cloning ${name} from ${url}...`))
if (ref) { if (ref) {
execSync(`git clone --depth 1 --branch ${ref} ${url} ${pluginDir}`, { stdio: "ignore" }) execSync(`git clone --depth 1 --branch ${ref} "${url}" "${pluginDir}"`, {
stdio: "ignore",
})
} else { } else {
execSync(`git clone --depth 1 ${url} ${pluginDir}`, { stdio: "ignore" }) execSync(`git clone --depth 1 "${url}" "${pluginDir}"`, { stdio: "ignore" })
} }
const commit = getGitCommit(pluginDir) const commit = getGitCommit(pluginDir)