每个开源项目都应该有的文件
这正是我喜欢的方式。因此,我愿意与大家分享。但如果你的做法不同,并且不同意我接下来要说的话,我尊重你的意见。
好吧好吧!我看到你正在读这篇文章。这意味着你很好奇,想知道你的开源项目应该包含哪些文件。在深入探讨之前,我想你可能也喜欢我之前的文章,如果你对 Tailwind 感兴趣,一定要读一读。
好了,话不多说,让我们来看看本文的重点。好吧,我不会占用你们太多时间。如果你们只是想了解一下文件,以下是它们的列表:
- .editorconfig
- .gitignore
- .prettierrc.json
- .npmrc
- 执照
- 行为守则
- 贡献
- 变更日志
- 自述文件
我看到你还在读。太棒了。这意味着你全神贯注地听着我的讲解(至少我希望如此)。趁着还有时间,让我来解释一下这些文件,以及为什么你的项目应该包含它们。
🎩 .editorconfig
我认为每个开源项目都应该有这个文件。为什么?很高兴你问了这个问题。你正在构建一个开源项目。你正在使用你的代码编辑器,并且该编辑器的配置是根据你的需求而定的。现在有人想为你的项目做贡献。当他们克隆你的代码库并在他们的代码编辑器中打开它时,他们的编辑器设置会有所不同。现在,如果他们提交 PR,你就会注意到代码中所有奇怪的样式变化。😐
这时,.editorconfig
文件就派上用场了。你添加到此文件的设置最终会被所有其他代码编辑器使用。所以,如果你的项目中有这个文件,然后有人克隆了你的项目,他们也会得到一个包含所有编辑器设置的文件的副本。如果他们将缩进样式设置为空格,而你将其设置为制表符,那么在这个项目中,缩进将使用制表符。
以下是该文件内容的示例:
root = true
[*]
indent_style = tab
end_of_line = lf
trim_trailing_whitespace = true
insert_final_newline = true
很方便。对吧?!
🏗 .gitignore
我不会对这个文件做太多解释,因为我知道你是一名开发者。如果你在这里,你一定听说过一个叫 GitHub 的奇怪地方,所有开发者都在这里展示他们的工作成果。你也一定用过 git 来控制软件的版本。
如果你的项目中有这个文件,那么 git 会忽略你添加到这个文件的所有文件或文件夹。因为你从未将 Node 模块提交到 GitHub,所以你只需在这个文件中添加 Node 模块即可。现在 Git 会直接忽略它,你git status
在终端中写入时不会看到它。🥂
以下是该文件内容的示例:
node_modules/
/node_modules/
**.DS_Store*
ehthumbs.db
✨ .prettierrc.json
你需要编写美观易读的代码。Prettier 正好可以满足你的需要。由于我的开源工作主要使用 JavaScript 和 Node.js,所以我总是安装 Prettier 作为我的开发依赖项,并在package.json
文件中添加一个额外的脚本:
{
"scripts": {
"format": "prettier --write \"./**/*.{js,json}\"",
},
}
这个脚本允许我使用 来格式化我的整个代码库npm run format
。如果你仔细查看脚本,你会发现它实际上包含一个正则表达式。你可以修改它,使其包含所有你想要格式化的不同文件类型。
好吧,我还需要设置一些 Prettier 需要遵循的基本规则。否则,不同的代码编辑器会设置不同的 Prettier 配置。所以,.prettierrc.json
你需要在这个文件中定义所有与 Prettier 相关的配置。这样,如果你npm run format
现在运行,Prettier 就会遵循这些配置。⚡️
以下是该文件内容的示例:
{
"trailingComma": "none",
"singleQuote": true,
"printWidth": 60,
"useTabs": true,
"tabWidth": 4,
"semi": true
}
💥 .npmrc
如果您想在项目中本地设置任何与 npm 相关的配置,可以使用此文件添加它们。对我来说,我只是使用此文件而不生成package-lock.json
文件。因为我在生产环境中不需要它。
以下是该文件内容的示例:
package-lock=false
🔑 许可证
每个(我的意思是每个)开源项目都应该获得许可。这是一个许可证文件,其内容决定了您要使用的许可证。由于我编写了 10 多个开源工具,因此我经常使用 MIT 许可证。
您可以通过在终端中运行单个命令轻松创建此文件:
npx license [license_name]
# for instance, npx license MIT
🧑🏻💼行为准则
这是开源项目的另一个必备文件。我觉得它的名字很容易理解。你可以使用一个命令在项目中添加行为准则。只需打开终端并运行以下命令:
npx conduct
🙋🏻 贡献
这是一个 Markdown 文件,其中包含您希望开源项目的潜在贡献者遵循的所有说明。每个人的说明都不同。您可以在这里找到我通常使用的说明
‼ 更新日志
每个开源软件都应该进行适当的版本控制。每次发布新版本,都会产生一个新版本。这是另一个 Markdown 文件。它包含你在项目多个版本中所做的更改。
例如,在 1.0.0 版本中,您发布了项目的 Beta 版本。在 1.1.0 版本中,您修复了一些错误。现在,您可能想将所做的更改添加到changelog.md
文件中。这样,如果有人正在使用您的工具,他们就可以阅读此文件并立即了解版本间的具体更改。💻
你可以按照自己喜欢的方式编写变更日志文件。以下是示例:
### v1.1.0
Fixed bug _____
Improve code of ____
Implemented feature ____
### v1.0.0
Implemented feature x that does ___
Implemented feature y that does ___
Implemented feature z that does ___
我不会深入讨论如何对软件进行版本控制。也许我会另写一篇文章来探讨这个问题。
📖 自述文件
我想这是项目中最神奇的文件了。这个文件中的内容会显示在你的项目仓库中。所以,它主要用来记录文档。如果你想让你的项目成功,就必须拥有优秀的文档。
好了,各位,这就是你们应该添加到开源项目中的所有文件。你们可以看看我的这个开源项目,我在其中用到了所有这些文件。如果你们喜欢,别忘了点赞哦。😛
您还可以在GitHub上关注我,就像许多其他魔术师一样,我的所有魔术都在这里。
下次再见,再见。🤞🏻
文章来源:https://dev.to/msaaddev/files-every-open-source-project-must-have-2mmm