changelog scripts single-quote --include-path, which cmd.exe keeps on Windows

未关闭 适合新手
#294 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 1 天内回复

还没有人认领这个 Issue。

评估

难度
2/5
预计耗时
1-3 小时
新手友好度
88/100
Issue 类型
缺陷
描述清晰度
描述清楚
活跃度
活跃
技术栈
git, node.js, typescript
领域
cli, release

调研方向

更新根目录 package.json 以及 libs/config/package.json、libs/registry/package.json 和 libs/schematics/package.json 中的 changelog 脚本。阅读现有脚本参数,然后检查双引号是否能在 sh 和 Windows cmd.exe 中保留每个包含路径;issue 给出了预期的引号用法。所有列出的脚本都在 --include-path 两侧使用双引号,并且 changelog 能在 Windows 上生成后,即告完成。

由索引模型根据 Issue 内容生成。

描述

bug
Which package is this bug report for?

@nanoforge-dev/cli

Which command is this bug report for?

other

Issue description

The changelog scripts quote --include-path with single quotes:

On Windows, pnpm runs scripts through cmd.exe, which doesn't strip single quotes, so git-cliff gets the quotes as part of the path. The same cause broke the schematics copy scripts on the Windows CI (Path "...\dist\libs\project\schema.json" does not exist, fixed in #274 with double quotes). The changelog scripts themselves were not run on Windows. Release CI runs on Linux, so this only affects a maintainer running pnpm run changelog on Windows.

Expected: double quotes (--include-path "libs/config/*"), which work in both sh and cmd.exe.

Code sample
// libs/config/package.json (main)
"changelog": "git cliff --prepend ./CHANGELOG.md -u -c ./cliff.toml -r ../../ --include-path 'libs/config/*'"
Versions
  • @nanoforge-dev/cli main (e95b881)
  • Windows, cmd.exe as pnpm's script shell (default)
Issue priority

Low (slightly annoying)

I have tested this issue on a development release

No response

主要语言
TypeScript
星标
2
派生
2
平均合并
2 天 18 小时
30 天内合并 PR
17

环境准备

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

NanoForge-dev/CLI 的其他 Issue

查看 NanoForge-dev/CLI 的全部 Issue

相似的 Issue

更多 TypeScript Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。