@mtool/standardization
v1.1.3
Published
一款eslint和prettier的安装工具
Downloads
8
Maintainers
Readme
@mtool/standardization
介绍
一款通过配置化,在项目中添加 eslint、husky、lint staged、proxy(npmrc|yarnrc) 的库。
注意:
- 在使用此库时,如果你的项目中存在以下包: eslint、prettier、@typescript-eslint/eslint-plugin、@typescript-eslint/parser、eslint-config-prettier、eslint-plugin-prettier、typescript 默认会将库卸载后,重新安装指定的版本。
- 在需要使用到 husky 以及 lint-staged 时,会将 husky 以及 lint-staged 库默认卸载后在重装。
- 如果你的项目存在 lint-staged、.npmrc、.yarnrc 文件时,在开启了 needHuskyAndLintStaged以及needDependenciesProxy时,这些文件将会被覆盖。
- 如果你的项目存在 tsconfig.json、eslint、prettier 等文件配置时,请提前备份,或使用 config.coverIgnore.file 指定不需要覆盖的配置文件名称。否则,将会被覆盖。
- 此库默认会将项目根目录下的 src 作为入口点进行格式化约束。如需更改或调整,可通过手动调整以下路径:
- ./lint-staged.config.js // git hooks 提交
- ./.eslintrc // eslint
- .prettierignore // prettier
- tsconfig.json
- ./husky/pre-commit
安装
(npm|yarn|pnpm) install @mtool/standardization
使用说明
安装后,在项目根目录下新建 standardization.js 后,采用nodejs执行此文件即可,详见下方示例。
贡献
- Fork 本仓库
- 新建 feat/xxx 分支
- Push代码,并提交 Merge Request, 作者欢迎各位为此开源工具贡献一份力量~
示例
// 1. 在项目根目录下新建 standardization.js 文件
// 2. standardization.js
const Standardization = require('@mtool/standardization');
// 3. 由于此库采用的是单例模式导出,因此直接调用 start 方法即可
Standardization.start({
needHuskyAndLintStaged: true, // 是否需要husky以及lint staged
needDependenciesProxy: true // 是否需要镜像源文件(npmrc|yarnrc)
});
// 4. 此库继承了@mtool/move-module-dependencies,因此适用 @mtool/move-module-dependencies 的参数,同样适用这里。详情请参考:https://www.npmjs.com/package/@mtool/move-module-dependencies
Standardization.start({
needHuskyAndLintStaged: true, // 是否需要husky以及lint staged
needDependenciesProxy: true // 是否需要镜像源文件(npmrc|yarnrc)
config: { // 非必要建议不要传递
coverIgnore: {
file: ['xxx'], // 设置当移动的文件存在冲突时,哪些文件忽略跳过,默认会覆盖。
}
}
});