1.0.2 • Published 5 years ago

mlz-lint v1.0.2

Weekly downloads
3
License
ISC
Repository
github
Last release
5 years ago

统一不同项目间的tslint规范,在此规范和react规范的基础上再出一份ts最佳实践的文档。

mlz-lint

一个包含eslint,stylelint, tsconfig的配置文件合集。方便不同项目间统一和共享ts规范。 下面是在当前项目中新添加的配置。

tsconfig

配置原因
targetes2015保留import语法,以便实现模块按需加载,配合@babel/preset-env
modulecommonjs使用commonjs的方式组织代码
lib"dom", "es2015", "es2016.array.include"把这些库文件包含进编译的过程中保证编译的正确快速执行
allowJstrue允许检查js文件,保证js文件的质量
checkJstrue允许ts检查js文件的错误,保证js文件的质量
jsxpreserve输出.jsx且dom编译后还是原dom方便后续babel等编译
sourceMaptrue输出.map文件,方便调试
outDirbuild指定输出目录为build
removeCommentstrue删除编译后的所有的注释(使代码安全简洁,减少代码量)
noImplicitAnytrue类型安全更加严格(强制类型检验)
strictNullCheckstruenull 和 undefined检查,避免错误(严格空校验)
noUnusedLocalstrue不需要不用的变量
noImplicitReturnstrue函数的所有路径都必须有返回值
moduleResolutionnode使用node的模块解析策略
baseUrl.把tsconfig所在的目录当成是解析非相对模块的基准目录
paths-模块名到基于 baseUrl 的路径映射的列表
allowSyntheticDefaultImportstrue允许从没有设置默认导出的模块中默认导入
experimentalDecoratorstrue启用装饰器

tslint

详情请见tslint.json

Usage

  • npm i -D mlz-lint

// tsconfig.json
{
  "extends": "./node_modules/mlz-lint/tsconfig.json",
  "compilerOptions": {
    // 自定义
  }
}

// tslint.json
{
  "extends": [
    "mlz-lint/tslint.json", 
  ],
  "rules": {
    // 自定义
  }
}

Prettier集成