@apify/eslint-config-ts

中文文档
0.4.1发布于 2023/11/16ISCCommonJS近 30 天下载 9733

Typescript ESLint configuration shared across projects in Apify.

原始使用文档
文档目录6 节
  1. Install
  2. Usage with React
  3. Edit .eslintrc
  4. Create tsconfig.json
  5. Example minimal setup (used on Web)
  6. Edit lint npm script

Usage

Install

npm install --save-dev eslint typescript @apify/eslint-config-ts @typescript-eslint/eslint-plugin @typescript-eslint/parser 

Usage with React

To make use of React types such as state, children etc. install:

npm i --save-dev @types/react

Edit .eslintrc

Add (or replace @apify/eslint-config package)

{
  "extends": "@apify/eslint-config-ts"
}

NOTE (from https://eslint.org/docs/developer-guide/shareable-configs):

When using scoped modules it is not possible to omit the eslint-config- prefix. Doing so would result in package naming conflicts, and thus in resolution errors in most of cases. For example a package named @scope/eslint-config-myconfig vs @scope/my-config, since both are valid scoped package names, the configuration should be specified as:

{
    "extends": "@scope/eslint-config-myconfig"
}

Create tsconfig.json

Create tsconfig.json file in the root of the project and add:

{}

List of all options https://www.typescriptlang.org/tsconfig

Example minimal setup (used on Web)

{
    "compilerOptions": {
        "skipLibCheck": true,
        "esModuleInterop": true,
        "jsx": "preserve",
        "noUnusedLocals": true,
        "noUnusedParameters": true
    },
    "exclude": [
        "node_modules",
    ],
    "include": [
        "**/*.ts",
        "**/*.tsx"
    ]
}

skipLibCheck: Skips typechecking of 3rd party libraries declaration files (extension .d.ts) since they may have different tsconfig

esModuleInterop: Allows eg "import React from 'react'" instead of "import * as React from 'react'"

jsx: Allows use of JSX tags

noUnusedLocals: Error on unused variables

noUnusedParameters: Error on unused function params

Edit lint npm script

Edit lint npm script to include .ts, .tsx files and to run typescript validation

"eslint --ext .js,.jsx,.ts,.tsx ; tsc --noemit"

版本与发布记录

@apify/eslint-config-ts 共发布 12 个版本,首次发布于 2020/09/30;过去 12 个月发布了 0 个版本。

版本发布日期距今
0.4.1latest2023/11/162 年前
0.4.02023/10/253 年前
0.3.02023/05/253 年前
0.2.32021/11/154 年前
0.2.22021/11/154 年前
0.2.12021/11/154 年前

关于 @apify/eslint-config-ts 的常见问题

@apify/eslint-config-ts 是什么?

Typescript ESLint configuration shared across projects in Apify.

如何安装 @apify/eslint-config-ts?

在项目目录运行 npm install @apify/eslint-config-ts,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:eslint(*)、typescript(*)、@typescript-eslint/parser(*)、@typescript-eslint/eslint-plugin(*)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@apify/eslint-config-ts 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/apify__eslint-config-ts 是否存在。

@apify/eslint-config-ts 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@apify/eslint-config-ts 可以商用吗?

@apify/eslint-config-ts 使用 ISC 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@apify/eslint-config-ts 的下载量有多少?

根据 npm 官方下载统计,@apify/eslint-config-ts 在 2026/10/06 – 2026/11/04 这 30 天内被下载 9,733 次,日均约 324 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@apify/eslint-config-ts 还在维护吗?

最新版本 0.4.1 发布于 2023/11/16(2 年前);至今共发布 12 个版本,其中过去 12 个月发布了 0 个;首次发布于 2020/09/30。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。