# mv-standardization **Repository Path**: memory_s/mv-standardization ## Basic Information - **Project Name**: mv-standardization - **Description**: No description available - **Primary Language**: JavaScript - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2024-07-19 - **Last Updated**: 2024-12-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # @mtool/standardization #### 介绍 一款通过配置化,在项目中添加 eslint、husky、lint staged、proxy(npmrc|yarnrc) 的库。 #### 注意: 1. 在使用此库时,如果你的项目中存在以下包: eslint、prettier、@typescript-eslint/eslint-plugin、@typescript-eslint/parser、eslint-config-prettier、eslint-plugin-prettier、typescript 默认会将库卸载后,重新安装指定的版本。 2. 在需要使用到 husky 以及 lint-staged 时,会将 husky 以及 lint-staged 库默认卸载后在重装。 3. 如果你的项目存在 lint-staged、.npmrc、.yarnrc 文件时,在开启了 needHuskyAndLintStaged以及needDependenciesProxy时,这些文件将会被覆盖。 4. 如果你的项目存在 tsconfig.json、eslint、prettier 等文件配置时,请提前备份,或使用 config.coverIgnore.file 指定不需要覆盖的配置文件名称。否则,将会被覆盖。 5. 此库默认会将项目根目录下的 src 作为入口点进行格式化约束。如需更改或调整,可通过手动调整以下路径: 1. ./lint-staged.config.js // git hooks 提交 2. ./.eslintrc // eslint 3. .prettierignore // prettier 4. tsconfig.json 5. ./husky/pre-commit #### 安装 ```sh (npm|yarn|pnpm) install @mtool/standardization ``` #### 使用说明 安装后,在项目根目录下新建 standardization.js 后,采用nodejs执行此文件即可,详见下方示例。 #### 贡献 1. Fork 本仓库 2. 新建 feat/xxx 分支 3. Push代码,并提交 Merge Request, 作者欢迎各位为此开源工具贡献一份力量~ #### 示例 ```js // 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'], // 设置当移动的文件存在冲突时,哪些文件忽略跳过,默认会覆盖。 } } }); ```