@ms918/mrm-task-lint-staged

mrm task 创建lint-staged

Usage no npm install needed!

<script type="module">
  import ms918MrmTaskLintStaged from 'https://cdn.skypack.dev/@ms918/mrm-task-lint-staged';
</script>

README

@ms918/mrm-task-lint-staged

mrm task,用来配置lint-staged,可选 eslint 和 prettier(需要配合@ms918/mrm-task-eslint、@ms918/mrm-task-prettier)

创建的默认package.json字段如下

{
  "husky": {
    "hooks": {
      "pre-commit": "lint-staged"
    }
  },
  "devDependencies": {
    "husky": "^4.3.0"
  },
  "lint-staged": {
    "*.{tsx,ts,jsx,js}": ["eslint --fix", "prettier --write ."],
    "*.{md,mdx}": ["prettier --write ."]
  }
}

默认

默认选择 eslint 和 prettier,创建配置如上。

只选择 eslint,创建配置如下

{
  "husky": {
    "hooks": {
      "pre-commit": "lint-staged"
    }
  },
  "devDependencies": {
    "husky": "^4.3.0"
  },
  "lint-staged": {
    "*.{tsx,ts,jsx,js}": ["eslint --fix"]
  }
}

只选择 prettier,创建配置如下

{
  "husky": {
    "hooks": {
      "pre-commit": "lint-staged"
    }
  },
  "devDependencies": {
    "husky": "^4.3.0"
  },
  "lint-staged": {
    "*.{tsx,ts,jsx,js}": ["prettier --config .prettierrc.yml --write"],
    "*.{md,mdx}": ["prettier --config .prettierrc.yml --write"]
  }
}

用法

npm install -g @ms918/mrm-task-lint-staged
mrm @ms918/mrm-task-lint-staged

当执行的时候,会走下面步骤:

  1. 执行@ms918/mrm-task-husky步骤
  2. 判断husky.pre-commit是否有脚本
    1. 有,则设置husky.pre-commit之前脚本 && lint-staged
    2. 无,则设置husky.pre-commitlint-staged
  3. yarnornpm安装lint-staged
  4. 设置package.jsonlint-staged字段为上述所示