@rjgfny/config
v0.1.0
Published
rjgfNY 工程规范包:ESLint、TypeScript、Prettier、Commitlint、构建约定
Maintainers
Readme
@rjgfny/config
rjgfNY 工程规范包:统一 ESLint、TypeScript、Prettier、Commitlint 与构建约定。
安装
pnpm add -D @rjgfny/config eslint提交规范(可选):
pnpm add -D husky @commitlint/cli
pnpm exec husky init快速接入(Vue 子项目)
ESLint
.eslintrc.cjs:
module.exports = require('@rjgfny/config/eslint/vue')TypeScript
tsconfig.json:
{
"extends": "@rjgfny/config/typescript/vue-app"
}tsconfig.node.json:
{
"extends": "@rjgfny/config/typescript/base",
"compilerOptions": {
"composite": true,
"moduleResolution": "bundler",
"allowSyntheticDefaultImports": true,
"noEmit": true
},
"include": ["vite.config.ts"]
}Prettier
prettier.config.cjs:
module.exports = require('@rjgfny/config/prettier')Commitlint
commitlint.config.cjs:
module.exports = require('@rjgfny/config/commitlint').husky/commit-msg:
npx --no -- commitlint --edit "$1"可直接复制 templates/ 目录下的示例文件到业务项目根目录。
导出清单
| 路径 | 用途 |
|------|------|
| @rjgfny/config/eslint | Vue3 + TS 默认 ESLint |
| @rjgfny/config/eslint/base | 基础 Node/TS 规则 |
| @rjgfny/config/eslint/vue | Vue3 业务项目 |
| @rjgfny/config/typescript/base | TS 基础 |
| @rjgfny/config/typescript/vue-app | Vite + Vue 应用 |
| @rjgfny/config/typescript/node-lib | Node/工具库 |
| @rjgfny/config/prettier | Prettier 统一格式 |
| @rjgfny/config/commitlint | Conventional Commits |
构建与脚本约定(团队统一)
业务子项目 package.json 建议包含:
{
"scripts": {
"dev": "vite",
"build": "vue-tsc -b && vite build",
"preview": "vite preview",
"typecheck": "vue-tsc -b --pretty false",
"lint": "eslint . --ext .ts,.tsx,.vue",
"lint:fix": "eslint . --ext .ts,.tsx,.vue --fix",
"format": "prettier --write ."
}
}约定说明
| 项 | 约定 |
|----|------|
| 包管理器 | 优先 pnpm |
| 分支 | main 保护,feat/* fix/* 开发 |
| 提交格式 | type(scope): subject,如 feat(table): 支持后端分页 |
| 发布前 | typecheck + lint + build 全通过 |
| 环境变量 | .env.development / .env.production,敏感信息不入库 |
Commit type
feat新功能fix修复docs文档style格式(不影响逻辑)refactor重构perf性能test测试build构建/依赖ciCI 配置chore杂项revert回滚
发布
cd D:\rjgfCode\rjgfNYConfig
npm pack --dry-run
npm publish --access publicfiles 白名单发布,不包含 node_modules。
