Files
pnpm/cspell.json
T
Zoltan Kochan 253a95eea9 fix(cmd-shim): run a .cmd bin when MSYS argument conversion is off (#17491)
The sh shim for a `.cmd`/`.bat` target doubled cmd's switch to `//C` under
MSYS, relying on argument conversion to turn it back into `/C`. With
conversion off (`MSYS_NO_PATHCONV=1` in Git for Windows, or
`MSYS2_ARG_CONV_EXCL='*'`), and under Cygwin, cmd.exe received `//C`, read
no switch, and started an interactive prompt.

The shim now passes `/C` as is and, under MSYS/Cygwin, exports
`MSYS2_ARG_CONV_EXCL` with the switch prepended to the caller's own
exclusions. The switch reaches cmd.exe intact in every mode, and the
target arguments keep the caller's conversion setting. Since the arguments
no longer differ between branches, the duplicated MSYS exec block is gone.
The first standalone `/c` or `/k` is upper-cased first, because an exclusion
entry matches as a case-sensitive prefix and `/c` would also exclude drive
paths such as `/c/Users`. Arguments after it are the command cmd.exe runs
and keep their spelling.

A warm reinstall keeps a shim whose target marker matches, so the reuse
check now also rejects a shim that still hands `cmd` a doubled switch.

Closes pnpm/pnpm#17480
2026-10-29 23:14:30 +01:00

589 lines
9.0 KiB
JSON

{
"ignorePaths": [
"**/nodeReleaseKeys.ts",
"**/nodeReleaseKeys.d.ts",
"**/node_release_keys.rs",
"bench-work-env/**",
"target/**",
"vendor/**"
],
"words": [
"abrt",
"adduser",
"adipiscing",
"agentkeepalive",
"agentkeepalive's",
"aliasless",
"amet",
"andreineculau",
"APFS",
"appdata",
"applyq",
"archy",
"argumentless",
"armv",
"AUTHTOKEN",
"autocheckpoint",
"autocompleting",
"autofix",
"autofixed",
"autoinstalled",
"autozoom",
"babek",
"Backblaze",
"badheaders",
"baires",
"basedirs",
"bdist",
"behaviour",
"blabla",
"Bluesky",
"brasileiro",
"bryntum",
"bsdtar",
"btrfs",
"buildx",
"Bunzip",
"cafile",
"cafs",
"camelcase",
"canonicalizer",
"cantopen",
"canva",
"CDPATH",
"cerbos",
"certfile",
"cgroup",
"cgroups",
"chcp",
"chmods",
"clonedeep",
"clonefile",
"cmds",
"Codeberg",
"codegen",
"codeload",
"codenames",
"codesign",
"colorterm",
"compdef",
"COMPREPLY",
"comver",
"confbox",
"CONV",
"cooldown",
"copyfiles",
"corejs",
"corepack",
"corge",
"cowsay",
"cpuacct",
"creatordate",
"Creds",
"cryptiles",
"cves",
"CWORD",
"cwsay",
"cyclonedx",
"cygdrive",
"dashrc",
"deburr",
"dedup",
"denoland",
"denolib",
"dependson",
"deptype",
"desugared",
"desugars",
"devextreme",
"devowl",
"dgimuvys",
"didyoumean",
"dirents",
"dirtyforms",
"diskusage",
"dislink",
"dpkg",
"drivelist",
"duplexify",
"dylint",
"eacces",
"eagain",
"ebadplatform",
"ebusy",
"eexist",
"ehrkoext",
"eintegrity",
"eisdir",
"elifecycle",
"elit",
"embedder",
"embedders",
"emfile",
"enametoolong",
"endgroup",
"endregion",
"eneedauth",
"enoent",
"enotdir",
"enotempty",
"enten",
"eotp",
"eperm",
"epipe",
"erofs",
"errcode",
"errorlevel",
"esac",
"esep",
"etamponi",
"exdev",
"execa",
"execpath",
"exploitability",
"fakehash",
"fastlist",
"fellback",
"fetchings",
"filenamify",
"filesystem",
"filesystems",
"fnpm",
"fnumber",
"foobarqar",
"foofoo",
"footgun",
"forgejo",
"forwardable",
"fsevents",
"fslib",
"fstype",
"gabor",
"garply",
"gcttmf",
"getaddrinfo",
"getattr",
"ghes",
"ghsa",
"ghsas",
"gitdir",
"gitea",
"globalconfig",
"globstar",
"gnueabihf",
"gpgsign",
"grault",
"gruntfile",
"gwhitney",
"gypfile",
"haptics",
"hardlink",
"hardlinked",
"hardlinking",
"hardlinks",
"hashbang",
"hashless",
"highmaps",
"hikljmi",
"hoistable",
"homepath",
"hosters",
"hostnames",
"hotspots",
"htpasswd",
"hyperdrive",
"idempotency",
"imagetools",
"imurmurhash",
"inodes",
"invalidformat",
"ionicons",
"isexe",
"istvan",
"italiano",
"jega",
"jhcg",
"jnbpamcxayl",
"journaled",
"junyi",
"kebabcase",
"kevva",
"keyfile",
"keyid",
"keytype",
"killcb",
"kloc",
"kochan",
"koorchik",
"kshrc",
"kubepods",
"LASTEXITCODE",
"ldid",
"ldni",
"ledgered",
"leniolabs",
"libc",
"libnpmpublish",
"libnpx",
"libpnpm",
"libsql",
"libzip",
"licence",
"licences",
"lifecycles",
"lightningcss",
"linearization",
"linuxstatic",
"localappdata",
"lockfiles",
"loglevel",
"logstream",
"longlink",
"longpaths",
"loong",
"lowlink",
"ltrim",
"luca",
"malloc",
"manylinux",
"martensson",
"maxsockets",
"maxtimeout",
"mdast",
"metacharacter",
"metafile",
"millis",
"mimalloc",
"minioadmin",
"mintimeout",
"mkfifo",
"mksh",
"mmap",
"monorepolint",
"montudor",
"moonrepo",
"mountinfo",
"mountpoint",
"msgpack",
"msgpackr",
"msvc",
"msys",
"MSYSTEM",
"mtimes",
"musleabihf",
"mycomp",
"mycompany",
"myorg",
"mypackage",
"mytoken",
"napi",
"ndjson",
"nerfed",
"newteam",
"newversion",
"nistp",
"NOASSERTION",
"nodepath",
"nodetouch",
"noent",
"nonexec",
"noninjected",
"nonvulnerable",
"noopener",
"nopadding",
"noprofile",
"noproxy",
"norc",
"noreferrer",
"nosystem",
"nothrow",
"npath",
"npmcli",
"npmignore",
"npmjs",
"npmmirror",
"npmrcs",
"npmx",
"ntfs",
"nushell",
"ofjergrg",
"oldteam",
"onclickoutside",
"onstat",
"oomol",
"openharmony",
"openpgp",
"openpyxl",
"ossl",
"outfile",
"overrider",
"packlist",
"packr",
"packument",
"packuments",
"pacquet",
"paralleljs",
"parallelly",
"parseable",
"partialmatch",
"PATHCONV",
"pathext",
"pathsep",
"peeker",
"pegjs",
"pgid",
"pids",
"pidtree",
"pify",
"pinnable",
"pkgid",
"pkgname",
"pkgs",
"plotly",
"plugh",
"pnpmfile",
"pnpmfiles",
"pnpmjs",
"pnpmrc",
"pnpmtest",
"pnpr",
"polyfilling",
"português",
"posix",
"postbuild",
"postconditions",
"postfoo",
"postpack",
"postprepare",
"postpublish",
"postrestart",
"postshrinkwrap",
"poststart",
"poststop",
"posttest",
"postuninstall",
"postversion",
"preact",
"prebuild",
"prefoo",
"prefs",
"preinstall",
"premajor",
"preminor",
"preopens",
"prepatch",
"prepublish",
"prereleases",
"prerestart",
"preshrinkwrap",
"prestart",
"prestop",
"preuninstall",
"preversion",
"prioritizer",
"promisified",
"propfind",
"proxied",
"publickey",
"pwsh",
"pylock",
"pypi",
"pyproject",
"pythonhosted",
"qrcode",
"quux",
"rcompare",
"redownload",
"refclone",
"refetched",
"refetches",
"reflattened",
"reflink",
"reflinked",
"reflinks",
"rehoist",
"rehosted",
"reimagining",
"reka",
"Rekor",
"relinks",
"renderable",
"reparses",
"replit",
"repoint",
"repointing",
"reqheaders",
"rescans",
"rescopable",
"rescope",
"rescoped",
"rescopes",
"rescoping",
"resolv",
"revisioned",
"rimrafed",
"riscv",
"rmgr",
"rpmdevtools",
"rpmlint",
"rsort",
"rstacruz",
"rushstack",
"rustc",
"rustup",
"safecrlf",
"sccache",
"scim",
"scopeless",
"scriptless",
"sdiff",
"searchexclude",
"searchlimit",
"searchopts",
"searchstaleness",
"secp",
"sels",
"semistrict",
"serde",
"serp",
"serverjs",
"setgid",
"SETLOCAL",
"setx",
"shasums",
"sheetjs",
"Sherov",
"shlex",
"shrc",
"SIGPIPE",
"sigstore",
"sindresorhus",
"sirv",
"skopeo",
"SLSA",
"soporan",
"sopts",
"spdxdocs",
"SPDXID",
"sqld",
"srcset",
"ssri",
"stackblitz",
"stacktracey",
"statter",
"stdtype",
"streamsearch",
"stringifying",
"strongconnect",
"subcmd",
"subdep",
"subdependencies",
"subdependency",
"subdeps",
"subdir",
"subdirs",
"subkey",
"subkeys",
"subpkg",
"subresource",
"supercede",
"superopts",
"Swatinem",
"syml",
"symref",
"syncer",
"syscall",
"syscalls",
"sysfs",
"systemroot",
"szia",
"tabtab",
"taffydb",
"taiki",
"tarballtemplate",
"Tarjan",
"taskkill",
"tcsh",
"teambit",
"tempy",
"testcase",
"thesys",
"tlog",
"TLSV",
"toctou",
"todomvc",
"toplevel",
"TOTP",
"triaging",
"tsgo",
"tsparticles",
"turso",
"typecheck",
"typeflag",
"TYPELESS",
"unallowed",
"Unawaited",
"uncacheable",
"unconfigured",
"undeprecate",
"underperformance",
"undispatched",
"undollar",
"unextractable",
"Unincluded",
"uninstallation",
"unmigrated",
"unnest",
"unparseable",
"unproxied",
"unreleasable",
"unreviewed",
"Unseparated",
"unskip",
"unstar",
"untracks",
"unvalidated",
"usecase",
"userconfig",
"userprofile",
"ustar",
"uuidv",
"valign",
"venv",
"versionless",
"virtiofs",
"vuln",
"wabt",
"wafpickle",
"waitpid",
"wakeup",
"wasi",
"wasip",
"wbem",
"webauth",
"webcontainer",
"webdav",
"WIFEXITED",
"windir",
"windowspowershell",
"winst",
"wordbreaks",
"workleap",
"worktree",
"worktrees",
"wrappy",
"wscript",
"wslpath",
"WTERMSIG",
"xattr",
"xattrs",
"xmarw",
"yazl",
"zdotdir",
"zkochan",
"zoli",
"zoltan",
"zstd"
]
}