Security News
Weekly Downloads Now Available in npm Package Search Results
Socket's package search now displays weekly downloads for npm packages, helping developers quickly assess popularity and make more informed decisions.
encode-gg-eslint-config
Advanced tools
JavaScript TypeScript Node 规范
提供了多套配置文件以支持 JavaScript
、TypeScript
、React
、Vue
、Node.js
等多种项目类型。
针对未使用 React
或 Vue
的原生 JavaScript
项目,使用 ESLint
原生规则和 eslint-plugin-import 规则,使用 @babel/eslint-parser 作为 parser
,是本包的默认配置。
npm i -D encode-gg-eslint-config @babel/core @babel/eslint-parser eslint-plugin-import
{
"extends": ["encode-gg-eslint-config"]
}
针对 JS React 项目,继承了默认配置,并启用了 eslint-plugin-react 和 eslint-plugin-react-hooks 的规则。
npm i -D encode-gg-eslint-config @babel/core @babel/eslint-parser eslint-plugin-import eslint-plugin-react eslint-plugin-react-hooks
{
"extends": ["encode-gg-eslint-config/react"]
}
如果需要无障碍能力:
npm i -D eslint-plugin-jsx-a11y
{
"extends": ["encode-gg-eslint-config/react", "encode-gg-eslint-config/jsx-a11y"]
}
针对 JS Vue
的项目,继承了默认配置,并启用了 eslint-plugin-vue 插件的规则,使用 vue-eslint-parser 作为 parser。
npm i -D encode-gg-eslint-config @babel/core @babel/eslint-parser eslint-plugin-import vue-eslint-parser eslint-plugin-vue
{
"extends": ["encode-gg-eslint-config/vue"]
}
针对 Node.js 项目,继承了默认配置和 eslint-config-egg 的规则,规则由 ESLint 原生规则和 eslint-plugin-node 提供。
npm i -D encode-gg-eslint-config @babel/core @babel/eslint-parser eslint-plugin-import eslint-config-egg
{
"extends": ["encode-gg-eslint-config/node"]
}
针对未使用 React
或 Vue
的 TypeScript
项目,继承了默认配置,并启用了 @typescript-eslint/eslint-plugin 插件的规则,使用 @typescript-eslint/parser 作为 parser。
npm i -D encode-gg-eslint-config @typescript-eslint/parser @typescript-eslint/eslint-plugin eslint-plugin-import eslint-import-resolver-typescript
{
"extends": ["encode-gg-eslint-config/typescript"]
}
需保证项目已安装 typescript
依赖,另外如果项目的 TS
配置文件不是 ./tsconfig.json
,则需要设置 .eslintrc
中的 parserOptions.project 字段 ,例如:
{
"extends": "encode-gg-eslint-config/typescript",
"parserOptions": {
"project": "./tsconfig.eslint.json"
}
}
针对 TS React
项目,继承了 JS React
的配置,并启用了 @typescript-eslint/eslint-plugin 插件的规则,使用 @typescript-eslint/parser 作为 parser。
npm i -D encode-gg-eslint-config @typescript-eslint/parser @typescript-eslint/eslint-plugin eslint-plugin-import eslint-import-resolver-typescript eslint-plugin-react eslint-plugin-react-hooks
{
"extends": ["encode-gg-eslint-config/typescript/react"]
}
如果需要无障碍能力:
npm i -D eslint-plugin-jsx-a11y
{
"extends": ["encode-gg-eslint-config/typescript/react", "encode-gg-eslint-config/jsx-a11y"]
}
针对 TS Vue
项目,继承了 JS Vue
的配置,并启用了 @typescript-eslint/eslint-plugin 插件的规则,使用 @typescript-eslint/parser 作为 parser
。
npm i -D encode-gg-eslint-config @typescript-eslint/parser @typescript-eslint/eslint-plugin eslint-plugin-import eslint-import-resolver-typescript vue-eslint-parser eslint-plugin-vue
{
"extends": ["encode-gg-eslint-config/typescript/vue"]
}
针对未使用 React
和 Vue
的 TypeScript(Node)
项目,继承了 JS Node.js
配置,并启用了 @typescript-eslint/eslint-plugin 插件的规则,使用 @typescript-eslint/parser 作为 parser。
npm i -D encode-gg-eslint-config @typescript-eslint/parser @typescript-eslint/eslint-plugin eslint-plugin-import eslint-import-resolver-typescript eslint-config-egg
{
"extends": ["encode-gg-eslint-config/typescript/node"]
}
如果你的项目使用 Prettier 进行代码格式化,本包的一些规则可能会跟 Prettier 格式化结果有冲突,例如这条规则。为了避免冲突,你需要手动安装 eslint-config-prettier 和 eslint-plugin-prettier:
npm install --save-dev eslint-config-prettier eslint-plugin-prettier
并修改 .eslintrc
的 extends
配置,增加 prettier
,如下(以 TS React 项目为例):
{
"extends": ["encode-gg-eslint-config/typescript/react", "prettier"]
}
了解更多请阅读 Prettier - Integrating with Linters。
为了保证一致的编码风格,本包中大量风格相关的规则被设为了 error
级别,以引起开发者的足够重视。如果你觉得风格问题不足以是 error
级别(有些用户根据 ESLint error 进行流程卡点),本包还提供了一套名为 'essential' 的配置文件,这套配置将所有风格问题降级为 warn
级别,仅将必要问题报告为 error
,引用方式为在相应配置的 encode-gg-eslint-config
后面加上 /essential
,如对 JS React
项目为 encode-gg-eslint-config/essential/react
、对 TS Vue
项目为 encode-gg-eslint-config/essential/typescript/vue
extends
: 继承一组规则集。"extends": "encode-gg-eslint-config",
表示继承本包定义的规则配置。rules
: 配置规则,这里定义的规则会覆盖 extends
的规则。如果觉得本包开启的某条规则过于严格,你可以暂时在这里将其关闭。parser
: 设置 ESLint 的解析器。ESLint 使用 espree 作为默认的解析器,可以通过这个参数指定其他的解析器。比如指定为 @babel/eslint-parser,以解析 Babel 支持但 ESLint 默认解析器不支持的语法(本包不同配置文件使用的解析器可在简介表格中的「依赖 parser」一列查看)。globals
: 指定代码中可能用到的全局变量,以免全局变量被 no-undef 规则报错。env
: 指定代码的运行环境,每个环境预定义了一组对应的全局变量,本包已开启的环境有 browser、node、jquery、es6 及几个测试框架的环境。--fix
、--ext
,可参考官网的 Command Line Interface。FAQs
JavaScript TypeScript Node 规范
The npm package encode-gg-eslint-config receives a total of 0 weekly downloads. As such, encode-gg-eslint-config popularity was classified as not popular.
We found that encode-gg-eslint-config demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Socket's package search now displays weekly downloads for npm packages, helping developers quickly assess popularity and make more informed decisions.
Security News
A Stanford study reveals 9.5% of engineers contribute almost nothing, costing tech $90B annually, with remote work fueling the rise of "ghost engineers."
Research
Security News
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.