refactor(cli): drop the redundant existence pre-check in resolveWindowsShellLayer

loadOverlayPatches already throws on a missing file (the caller named
it, so absence is a misconfiguration) — the existsSync guard was a
second fail-loud mechanism for the same miss with a prettier message.
The loader's throw keeps the fail-loud contract the Windows-default
note records.
This commit is contained in:
Huanqi Cao
2026-08-09 18:53:38 +08:00
parent 8af10a54b9
commit 63ad5d6d98
2 files changed
+6 -7

No files matched your search

+3 -6
View File
@@ -10,7 +10,6 @@
* @module @deepseek-ai/dsh/windows-shell
*/
import { existsSync } from 'node:fs'
import { join } from 'node:path'
import type { PatchOptions } from '@cordisjs/plugin-include'
import { loadOverlayPatches, type ProfileLayer } from '@deepseek-ai/dsh-app-boot'
@@ -36,8 +35,9 @@ export interface WindowsShellLayer {
* @param binName - the diagnostic prefix on thrown errors (`dsh`).
* @returns the pwsh layer on win32, else `undefined`. A custom profile that
* mounts no base bundle is skipped (it owns its shell stack); a base
* bundle that ships no Windows shell patch fails loud — the shipped
* package always carries it, so a miss is a broken installation.
* bundle whose Windows shell patch is missing fails loud in
* {@link loadOverlayPatches} — the shipped package always carries it, so
* a miss is a broken installation.
*/
export function resolveWindowsShellLayer(
platform: NodeJS.Platform,
@@ -48,8 +48,5 @@ export function resolveWindowsShellLayer(
const base = layers.find(layer => layer.packageName === BASE_BUNDLE)
if (base === undefined) return undefined
const label = join(base.packageDir, WINDOWS_SHELL_PATCH_FILENAME)
if (!existsSync(label)) {
throw new Error(`${binName}: ${BASE_BUNDLE} ships no ${WINDOWS_SHELL_PATCH_FILENAME}`)
}
return { label, patches: loadOverlayPatches(binName, label) }
}