Skip to content

Configs

tsconfig

@tachikomas/tsconfig: 可以扩展的自定义 tsconfig 设置

  • base.json 基础配置文件,供其他配置文件继承

使用

sh
pnpm install @tachikomas/tsconfig --dev

比如在项目的 tsconfig.base.json 中继承使用 @tachikomas/tsconfig

json
// tsconfig.base.json
{
  "extends": "@tachikomas/tsconfig/base.json",
  "compilerOptions": {
    // other options
  },
}

如果对最终 tsconfig 实际应用的编译选项或者作用的文件产生疑惑,可以使用命令验证:

npx tsc -p tsconfig.comp.json --showConfig

eslint

@tachikomas/eslint-config: 可以扩展的自定义 eslint 设置

注意:

  • 目前只提供了 CommonJS 规范的配置导出

使用

sh
pnpm install @tachikomas/eslint-config -D

比如在项目的 .eslintrc.js 中继承使用 @tachikomas/eslint-config

js
// .eslintrc.js
module.exports = {
  extends: ['@tachikomas/'],
  // extends: ['@tachikomas/eslint-config'],
  //   extends: ['@tachikomas/eslint-config/vue'],
  rules: {
    // other rules
  },
}

可以通过 npx eslint --print-config .eslintrc.js 输出解析后的完整的ESLint配置

踩坑

在对 eslint-config 配置文件进行打包时,打包后的文件在项目中引入后一直报这个错误

shell
ESLint configuration in .eslintrc.js » @tachikomas/eslint-config is invalid:
        - Unexpected top-level property "default".

后面发现是 esm 与 cjs 互操作的问题: https://zhuanlan.zhihu.com/p/610878001

解决方案 1,手动处理,参考:

解决方案 2,使用 tsup 的 --cjsIntero 选项,参考:

所以最终打包命令用的是 "build": "tsup src/*.ts --splitting --cjsInterop"

prettier-config

@tachikomas/prettier-config: prettier 共享配置

注意:

  • 目前只提供了 CommonJS 规范的配置导出
  • 如果 vscode 中配置的 prettier:configPath.prettierrc 文件,为了避免冲突,或许需要在 .vscode/settings.json 中设置 "prettier.configPath": ".prettierrc.cjs"

使用

sh
pnpm install @tachikomas/prettier-config --dev

比如在项目的 .prettierrc.cjs 中继承使用 @tachikomas/prettier-config

js
module.exports = {
  ...require('@tachikomas/prettier-config'),
}

最近更新时间: