Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

Re-implement and enhance `check-formatting.yml` Github Actions workflow as a Node script

未关闭
#226 0 条评论 0 个 reaction 已指派 1 人 在 GitHub 查看

@miorel 已经在做这个了。

开始于 2024年8月17日。

评估

这个 Issue 还没有评估数据。

描述

enhancement

The workflow introduced in #225 is currently powered by a shell command, namely yarn format && git status --porcelain piped through some not very easy to maintain inline Perl.

Let's rewrite this as a Node script that's more maintainable. This is also an opportunity to address the other TODO in the workflow file, and have it output a summary as described at https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary

The general behavior of the workflow should be:

  1. Run yarn format to rewrite any files that are not correctly formatted. This part can still happen outside Node, so for example the command we run becomes something like yarn format && node some-script.js.
  2. The script basically replaces the git status --porcelain part and the subsequent Perl expression it's piped into. The script should therefore still run git status --porcelain from within Node and capture the output.
  3. For each line in the output of git status --porcelain, the script should remove the first 3 characters (see explanation of the format at https://git-scm.com/docs/git-status#_porcelain_format_version_1 to understand why) to get only the filename. It should then output an error message (using the format described at https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions#setting-an-error-message) to indicate that the file in question doesn't respect the repository's formatting rules.
  4. For bonus points (this part can be done as a separate PR) output a markdown summary at the end.
  5. If there were any files that were improperly formatted, the script should exit with a non-zero exit code so that the check fails and draws the attention of the author and reviewers.
主要语言
TypeScript
星标
20
派生
12
PR 合并指标
30 天内没有已合并 PR

贡献指南

打开贡献指南

从这里开始

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

code-chronicles-code/leetcode-curriculum 的其他 Issue

查看 code-chronicles-code/leetcode-curriculum 的全部 Issue

相似的 Issue

更多 TypeScript Issue

把新 issue 发到你的邮箱

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