npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@darcytech/eslint-config-darcytech

v5.3.0

Published

eslint Typescript + React 通用配置

Downloads

11

Readme

@darcytech/eslint-config-darcytech

简介

整理 eslint 的通用配置, 支持 Typescript 、React

注意

ESLint8 要求 node 版本 ^12.22.0, ^14.17.0, or >=16.0.0

安装

npm install --save-dev @darcytech/eslint-config-darcytech eslint prettier jest

用法

module.exports = {
  root: true,
  extends: ['@darytech/darcytech'],
  parserOptions: {
    project: "./tsconfig.json"
  }
};

常见问题

请看这个链接

how to silence warnings about ignored files in eslint

type-aware linting

Error: Error while loading rule '@typescript-eslint/dot-notation': You have used a rule which requires parserServices to be generated. You must therefore provide a value for the "parserOptions.project" property for @typescript-eslint/parser.

原因是:依赖库 eslint-config-airbnb-typescript 中开启了一些被称之为 type-aware 的 typescript eslint 规则。这类规则需要额外的配置,以获取项目代码的 ts 类型,进行规则的校验。

虽然 @darcytech/eslint-config-darcytech 已经帮忙禁用了一些 type-aware 的 typescript eslint 规则,但难免会因为依赖的更新而出现新的 type-aware 规则没有禁用。

另外,type-aware linting 会影响开发过程中的 eslint 性能,因为它需要获取整个项目的 ts 类型,相当于使用时需要利用 tsc 构建一次项目。

使用中,若仍然出现以上类似问题,请禁用该 typescript-eslint 规则,同时开启对应的 eslint 规则(如果有的话)。

例如:

module.exports = {
    root: true,
    extends: [
      "@darcytech/eslint-config-darcytech"
    ],
    rules: {
      "dot-notation": 2,
      "@typescript-eslint/dot-notation": 0
    }
}

如果你一定要使用 type-aware linting, 可以这么配置:

module.exports = {
    root: true,
    extends: [
      "@darcytech/eslint-config-darcytech"
    ],
    parserOptions: {
      tsconfigRootDir: __dirname,
       project: ['./tsconfig.json'],
    }
}