@charlie-labs/ 配置
标准化的TypeScript,ESLint,以及Charlie Lab的TypeScript项目的Pretier配置.
这为什么存在?
- 整个Charlie Labs项目的一致和熟悉的配置
- 每个项目减少配置锅炉板
- 缩短持续更新和同步配置的时间
使用量
1. 附加依赖
安装 @charlie-labs/config 是一个非常依赖.
2. 配置Pretier
将以下行添加到您的 package.json数字 :
"prettier": "@charlie-labs/config/prettier",
3. 配置ESLint
创建一个 eslint.config.js 在工程根中的文件 :
import { config } from '@charlie-labs/config/eslint';
/** @type {import("eslint").Linter.Config[]} */
export default [...config];
4. 配置类型脚本
创建一个 tsconfig.json 扩展的根中的文件 @charlie-labs/config/tsconfig-node 或者说 @charlie-labs/config/tsconfig-react。您仍然需要指定 includes 和任何 compilerOptions 您想要添加或覆盖.
{
"extends": "@charlie-labs/config/tsconfig-node",
"include": ["src"],
"exclude": ["**/node_modules", "**/.*/"],
"compilerOptions": {
// Add or override compiler options here
},
}
5. 添加类型脚本重置
这只是一个方便的导出 @total-typescript/ts-reset。 。 。 .
发行和出版
此 repo 设置在合并到默认分支时自动 plash to npm (当前) master通过 GitHub 动作。 你只需要撞出版本 并合并一个公关.
-
创建分支并按下版本
package.json不创建 git 标签 :# pick one: patch | minor | major | or an explicit version npm version patch --no-git-tag-version # or: npm version 0.0.13 --no-git-tag-version -
提交更改并打开 PR 。 将PR限制在版本的凸起和描述中想要的任何发布注释.
-
当 PR 合并到默认分支时,工作流程 :
.github/workflows/release.yml将:- 运行类型检查和 ESLint
- 如果版本是新版本, 则发布到 npm( 需要)
NPM_TOKEN(中文(简体) ) - 创建带有生成注释的 GitHub 释放
注释:
- 不要手动推动 git 标记; 工作流程在 GitHub 发布步骤中创建标记 .
- 如果没有新的版本(即:,
package.json没有改变, 发布步骤被跳过, 没有创建发布 . - 发布步骤跳过 npm 生命周期脚本; 输入检查和 lint 在工作流程中明确运行 .
gitHub 工作流程 npm 认证
要从 GitHub 动作中发布到 npm, 请添加 npm 访问令牌, 作为一个命名为 的秘密 NPM_TOKEN数字 :
- 在 npm 账户设置中创建 npm 访问令牌, 并至少有“ publish” 权限 .
- 在此寄存器的设置中 ~ 秘密和变量 ~ 动作, 添加一个新的寄存器密钥, 命名为
NPM_TOKEN与该标志值。 一个组织的秘密也起作用了. - 不需要其他的 - 我们的发布工作流程已经:
- 请求
id-token: writenpm出处支持,以及 - 用途
actions/setup-node@v4在发布时提供 npm 版本.
- 请求
如果您在 npm 上强制使用“ 要求出处” , 则已存在的 provenance: true 在发布步骤上输入可以满足.