Skip to content

Commit

Permalink
fix: clean typography and translation (#87)
Browse files Browse the repository at this point in the history
  • Loading branch information
kecrily committed Dec 8, 2022
1 parent fe881a1 commit ae6be94
Show file tree
Hide file tree
Showing 72 changed files with 127 additions and 127 deletions.
2 changes: 1 addition & 1 deletion src/developer-guide/architecture/index.md
Expand Up @@ -23,7 +23,7 @@ eleventyNavigation:

## `cli` 对象

`cli` 对象是命令行界面的 API。从字面上看,`bin/eslint.js`文件只是向 `cli` 对象传递参数,然后将 `process.exitCode` 设置为返回的退出代码。
`cli` 对象是命令行界面的 API。从字面上看,`bin/eslint.js` 文件只是向 `cli` 对象传递参数,然后将 `process.exitCode` 设置为返回的退出代码。

主要方法是 `cli.execute()`,它接受一个代表命令行选项的字符串数组(就像 `process.argv` 被传递而没有前两个参数一样)。如果你想在另一个程序中运行 ESLint,并让它像 CLI 一样运行,那么`cli`就是要使用的对象。

Expand Down
2 changes: 1 addition & 1 deletion src/developer-guide/contributing/pull-requests.md
Expand Up @@ -152,7 +152,7 @@ git push -f origin issue1234

### 更新提交信息

如果你的提交信息的格式不正确,你会被要求更新它。你可以通过以下方式进行
如果你的提交信息的格式不正确,你会被要求更新它。你可以通过以下方式进行

```shell
git commit --amend
Expand Down
6 changes: 3 additions & 3 deletions src/developer-guide/nodejs-api.md
Expand Up @@ -160,7 +160,7 @@ const results = await eslint.lintText(code, options);

该方法对给定的源代码文本进行行测,然后返回结果。

默认情况下,该方法使用适用于当前工作目录下文件的配置(`cwd`构造函数选项)。如果你想使用不同的配置,传递 `options.filePath`,ESLint 将加载 [`eslint.lintFiles()`][eslint-lintfiles]`options.filePath` 处的文件使用的配置。
默认情况下,该方法使用适用于当前工作目录下文件的配置(`cwd` 构造函数选项)。如果你想使用不同的配置,传递 `options.filePath`,ESLint 将加载 [`eslint.lintFiles()`][eslint-lintfiles]`options.filePath` 处的文件使用的配置。

如果 `options.filePath` 值被配置为忽略,该方法返回一个空数组。如果 `options.warningIgnored` 选项和 `options.filePath` 选项一起被设置,该方法返回一个 [LintResult][lintresult] 对象。在这种情况下,该结果可能包含一个警告,表明该文件被忽略了。

Expand Down Expand Up @@ -491,7 +491,7 @@ const linter2 = new Linter();
* `filename` -(可选)与源代码相关的文件名。
* `preprocess` -(可选)[插件中的处理器](/docs/developer-guide/working-with-plugins#processors-in-plugins)文档描述的 `preprocess` 方法。
* `postprocess` -(可选)[插件中的处理器](/docs/developer-guide/working-with-plugins#processors-in-plugins)文档描述的 `postprocess` 方法的一个函数。
* `filterCodeBlock` -(可选)一个函数,决定 interlet 应该采用哪些代码块。该函数接收两个参数。第一个参数是一个代码块的虚拟文件名。第二个参数是代码块的文本。如果该函数返回 `true`,那么检查器就采用该代码块。如果该函数被省略,则 linter 只采用 `*.js` 的代码块。如果你提供了一个 `filterCodeBlock` 函数,它将覆盖这个默认行为,所以 linter 不会自动采用`*.js`代码块。
* `filterCodeBlock` -(可选)一个函数,决定 interlet 应该采用哪些代码块。该函数接收两个参数。第一个参数是一个代码块的虚拟文件名。第二个参数是代码块的文本。如果该函数返回 `true`,那么检查器就采用该代码块。如果该函数被省略,则检查器只采用 `*.js` 的代码块。如果你提供了一个 `filterCodeBlock` 函数,它将覆盖这个默认行为,所以检查器不会自动采用 `*.js` 代码块。
* `disableFixes` -(可选)当设置为 `true` 时,检查器不对检查结果的 `fix``suggestions` 属性进行处理。
* `allowInlineConfig` -(可选)设置为 `false`,禁止内联注释改变 ESLint 规则。
* `reportUnusedDisableDirectives` -(可选)当设置为 `true` 时,为未使用的 `eslint-disable` 指令添加报告错误,无论如何在禁用区不会有问题被报告。
Expand Down Expand Up @@ -782,7 +782,7 @@ const ruleTester = new RuleTester({ parserOptions: { ecmaVersion: 2015 } });
* `errors`(数字或数组,需要):断言该规则在此代码上运行时预期产生的错误的一些属性。如果这是一个数字,断言产生的错误的数量。否则,这应该是一个对象的列表,每个对象都包含关于一个报告错误的信息。以下属性可用于一个错误(所有都是可选的):
* `message` (字符串/正则):错误的信息
* `messageId`(字符串): 错误的 ID。参见[用 messageId 测试错误](#testing-errors-with-messageid) 了解详情。
* `data`(对象): 占位数据,可与`messageId`结合使用。
* `data`(对象): 占位数据,可与 `messageId` 结合使用。
* `type` (string): 报告的 AST 节点的类型
* `line`(数字): 报告位置的基于 1 的行号
* `column`(数字): 报告位置的基于 1 的列号
Expand Down
2 changes: 1 addition & 1 deletion src/developer-guide/working-with-custom-formatters.md
Expand Up @@ -54,7 +54,7 @@ eslint -f awesome src/
* 添加这些 `keywords` 以帮助用户找到你的格式化工具。
* `"eslint"`
* `"eslint-formatter"`.
[...]
[...]

查看所有[npm上的formatter](https://www.npmjs.com/search?q=eslint-formatter)

Expand Down
2 changes: 1 addition & 1 deletion src/developer-guide/working-with-custom-parsers.md
Expand Up @@ -14,7 +14,7 @@ eleventyNavigation:
* `ast` 应该包含 AST。
* `services` 可以包含任何依赖于解析器的服务(例如节点的类型检查器)。`services` 属性的值可以作为 `context.parserServices` 传递给规则。默认为空对象。
* `scopeManager` 可以是 [ScopeManager](./scope-manager-interface) 对象。自定义解析器可以为实验性/增强性语法提供自定义范围分析。默认使用 [eslint-scope](https://github.com/eslint/eslint-scope) 创建的 `ScopeManager` 对象。
* 在 ESLint v4.14.0 中加入了对 `scopeManager` 的支持。支持 `scopeManager` 的 ESLint 版本将在`parserOptions` 中提供 `eslintScopeManager: true` 属性,可用于特征检测。
* 在 ESLint v4.14.0 中加入了对 `scopeManager` 的支持。支持 `scopeManager` 的 ESLint 版本将在 `parserOptions` 中提供 `eslintScopeManager: true` 属性,可用于特征检测。
* `visitorKeys` 可以是自定义 AST 遍历的对象。该对象的键是 AST 节点的类型。每个值是一个应该被遍历的属性名称的数组。默认为 [`eslint-visitor-keys` 的键](https://github.com/eslint/eslint-visitor-keys#evkkeys)
* 在 ESLint v4.14.0 中加入了对 `visitorKeys` 的支持。支持 `visitorKeys` 的 ESLint 版本将在 `parserOptions` 中提供 `eslintVisitorKeys: true` 属性,它可以用作特征检测。

Expand Down
2 changes: 1 addition & 1 deletion src/developer-guide/working-with-rules-deprecated.md
Expand Up @@ -40,7 +40,7 @@ module.exports.schema = []; // 无选项

`schema`(数组)指定[选项](#options-schemas),这样 ESLint 可以防止无效的[规则配置](../user-guide/configuring/rules#configuring-rules)

`create`(函数)返回对象,该对象包含 ESLint 调用的方法,在遍历 JavaScript 代码的抽象语法树 (AST,由 [ESTree](https://github.com/estree/estree) 定义)时 "访问 "节点。
`create`(函数)返回对象,该对象包含 ESLint 调用的方法,在遍历 JavaScript 代码的抽象语法树 (AST,由 [ESTree](https://github.com/estree/estree) 定义)时 `"visit"` 节点。

* 如果键是节点类型,ESLint 在 **down tree** 时会调用该 **visitor** 函数
* 如果键是节点类型加 `:exit`,ESLint 在 **up tree** 时会调用该 **visitor** 函数。
Expand Down
16 changes: 8 additions & 8 deletions src/developer-guide/working-with-rules.md
Expand Up @@ -61,9 +61,9 @@ module.exports = {
`meta`(对象) 包含规则的元数据。

* `type`(字符串) 表示规则的类型,是 `"problem"``"suggestion"``"layout"` 之一。
* `"problem"`意味着该规则正在识别将导致错误或可能导致混乱行为的代码。开发人员应该把它作为一个高度优先事项来解决。
* `"suggestion"`意味着该规则确定了一些可以用更好的方式完成的事情,但如果不改变代码,就不会发生错误。
* `"layout"`意味着该规则主要关心的是空白、分号、逗号和括号,所有决定代码外观的部分,而不是代码的执行方式。这些规则对代码中没有在 AST 中指定的部分起作用。
* `"problem"` 意味着该规则正在识别将导致错误或可能导致混乱行为的代码。开发人员应该把它作为一个高度优先事项来解决。
* `"suggestion"` 意味着该规则确定了一些可以用更好的方式完成的事情,但如果不改变代码,就不会发生错误。
* `"layout"` 意味着该规则主要关心的是空白、分号、逗号和括号,所有决定代码外观的部分,而不是代码的执行方式。这些规则对代码中没有在 AST 中指定的部分起作用。

* `docs`(对象)是 ESLint 的核心规则所需要的。

Expand All @@ -79,15 +79,15 @@ module.exports = {

* `hasSuggestions` (boolean) 指定规则是否可以返回建议(如果省略,默认为 `false`)。

**重点**`hasSuggestions` 属性对于提供建议的规则来说是强制性的。如果这个属性没有设置为 `true`,ESLint 将在规则试图产生建议时抛出一个错误。如果规则不提供建议,省略`hasSuggestions`属性。
**重点**`hasSuggestions` 属性对于提供建议的规则来说是强制性的。如果这个属性没有设置为 `true`,ESLint 将在规则试图产生建议时抛出一个错误。如果规则不提供建议,省略 `hasSuggestions` 属性。

* `schema` (array) 指定了 [options](#options-schemas),所以 ESLint 可以防止无效的 [规则配置](../user-guide/configuring/rules#configuring-rules)

* `deprecated` (boolean) 表示该规则是否已经被废弃。如果规则没有被废除,你可以省略 `deprecated` 属性。

* `replacedBy`(array) 如果是被废弃的规则,指定替代规则。

`create`(function) 返回一个对象,该对象具有 ESLint 调用的方法,在遍历 JavaScript 代码的抽象语法树(由 [ESTree](https://github.com/estree/estree) 定义的 AST)时 "访问 "节点。
`create`(function) 返回一个对象,该对象具有 ESLint 调用的方法,在遍历 JavaScript 代码的抽象语法树(由 [ESTree](https://github.com/estree/estree) 定义的 AST)时 `visit"` 节点。

* 如果键是节点类型或[选择器](./selectors),ESLint 在**down tree** 时调用该 **visitor**函数
* 如果键是节点类型或[选择器](./selectors)`:exit`,ESLint 在***up tree** 时调用该 **visitor** 函数。
Expand Down Expand Up @@ -387,7 +387,7 @@ context.report({

在某些情况下,修正不适合自动应用,例如,如果一个修正可能会改变功能,或者根据实现意图,有多种有效的方法来修正一个规则(见上面列出的[应用修复](#应用修复) 的最佳实践)。在这些情况下,在 `context.report()` 上有一个替代的 `suggest` 选项,允许其他工具,如编辑器,为用户手动应用建议暴露出帮助器。

为了提供建议,在报告参数中使用 `suggest` 键和一个建议对象的数组。建议对象代表可以应用的单个建议,需要一个`desc`键字符串,描述应用建议的作用或`messageId`键(见[下文](#suggestion-messageids)),以及 `fix` 键,这是一个定义建议结果的函数。这个`fix` 函数遵循与常规 fix 相同的 API(在上面的[应用修复](#应用修复) 中描述)。
为了提供建议,在报告参数中使用 `suggest` 键和一个建议对象的数组。建议对象代表可以应用的单个建议,需要一个`desc` 键字符串,描述应用建议的作用或`messageId`键(见[下文](#suggestion-messageids)),以及 `fix` 键,这是一个定义建议结果的函数。这个`fix` 函数遵循与常规 fix 相同的 API(在上面的[应用修复](#应用修复) 中描述)。

```js
{% raw %}
Expand Down Expand Up @@ -422,7 +422,7 @@ context.report({
1. 不要试图做得太多,建议大型重构,因为这可能会引入很多破坏性的变化。
1. 如上所述,不要试图符合用户定义的风格。

建议的目的是为了提供修复。如果建议的 "fix "函数返回 "null "或空数组/序列,ESLint 将自动从 linting 输出中删除整个建议。
建议的目的是为了提供修复。如果建议的 `fix` 函数返回 `null` 或空数组/序列,ESLint 将自动从 linting 输出中删除整个建议。

#### Suggestion `messageId`s

Expand Down Expand Up @@ -695,7 +695,7 @@ ESLint 在遍历 AST 时分析了代码路径。

## 规则单元测试

ESLint core 的每个捆绑规则必须有一组单元测试与之一起提交才能被接受。测试文件的名称与源文件相同,但住在`tests/lib/`中。例如,如果规则的源文件是 `lib/rules/foo.js`,那么测试文件应该是 `tests/lib/rules/foo.js`
ESLint core 的每个捆绑规则必须有一组单元测试与之一起提交才能被接受。测试文件的名称与源文件相同,但在 `tests/lib/`,如果规则的源文件是 `lib/rules/foo.js`,那么测试文件应该是 `tests/lib/rules/foo.js`

ESLint 提供了 [`RuleTester`](/docs/developer-guide/nodejs-api#ruletester) 工具,以方便为规则编写测试。

Expand Down
2 changes: 1 addition & 1 deletion src/rules/arrow-body-style.md
Expand Up @@ -111,7 +111,7 @@ let foo = () => ({ bar: 0 });

#### requireReturnForObjectLiteral

> 该选项只在与 "按需 "选项一起使用时适用。
> 该选项只在与 `"as-needed"` 选项一起使用时适用。
使用此规则与 `{ "requireReturnForObjectLiteral": true }` 选项的**错误**示例:

Expand Down
4 changes: 2 additions & 2 deletions src/rules/capitalized-comments.md
Expand Up @@ -262,7 +262,7 @@ function foo(/* ignored */ a) {
}
```

具有不同行和块注释配置的**错误的**代码的例子
具有不同行和块注释配置的**错误**示例

:::incorrect

Expand All @@ -276,7 +276,7 @@ function foo(/* ignored */ a) {

:::

具有不同行和块注释配置的**正确的**代码的例子
具有不同行和块注释配置的**正确**示例

:::correct

Expand Down
4 changes: 2 additions & 2 deletions src/rules/class-methods-use-this.md
Expand Up @@ -120,7 +120,7 @@ class A {

`exceptMethods` 选项允许你传递一个数组的方法名称,你希望忽略这些方法的警告。例如,你可能有一个来自外部库的规范,要求你把一个方法作为普通函数(而不是静态方法)覆盖,并且在函数体中不使用 `this`。在这种情况下,你可以在警告中添加该方法来忽略。

在不使用 exceptMethods 的情况下,此规则的**不正确的**代码示例。
使用此规则不使用 `exceptMethods`**错误**示例:

::: incorrect

Expand All @@ -135,7 +135,7 @@ class A {

:::

当与 exceptMethods 一起使用时,此规则的**正确代码的例子
使用此规则与 `exceptMethods`**正确**示例

::: correct

Expand Down
4 changes: 2 additions & 2 deletions src/rules/consistent-this.md
Expand Up @@ -67,7 +67,7 @@ foo.bar = this;

:::

如果变量没有被初始化,该规则的**错误的**代码的例子,默认为 "that "选项。
如果变量没有被初始化,使用此规则与默认的 `"that"` 选项的**错误**示例:

::: incorrect

Expand All @@ -82,7 +82,7 @@ function f() {

:::

如果变量没有被初始化,该规则的**正确的**代码的例子,有默认的 "that "选项。
如果变量没有被初始化,使用此规则与默认的 `"that"` 选项的**正确**示例:

::: correct

Expand Down
2 changes: 1 addition & 1 deletion src/rules/default-case.md
Expand Up @@ -104,7 +104,7 @@ switch (a) {

这个规则接受一个选项参数:

*`commentPattern`选项设置为一个正则表达式字符串,以改变默认的 `/^no default$/i` 注释测试模式
*`commentPattern` 选项设置为一个正则表达式字符串,以改变默认的 `/^no default$/i` 注释测试模式

### commentPattern

Expand Down
2 changes: 1 addition & 1 deletion src/rules/eqeqeq.md
Expand Up @@ -138,7 +138,7 @@ foo == null

### allow-null

**废弃**:使用 `"always"` 代替这个选项,并传递一个 "null" 选项属性,值为 "ignore"。这将告诉 ESLint,除了与 `null` 字面量比较时,总是执行严格的相等判断。
**废弃**:使用 `"always"` 代替这个选项,并传递一个 `"null"` 选项属性,值为 `"ignore"`。这将告诉 ESLint,除了与 `null` 字面量比较时,总是执行严格的相等判断。

```js
["error", "always", {"null": "ignore"}]
Expand Down
2 changes: 1 addition & 1 deletion src/rules/func-name-matching.md
Expand Up @@ -145,7 +145,7 @@ module['exports'] = function foo(name) {};

## 选项

这个规则需要一个 "always""never" 的可选字符串(当省略时,默认为 "always"),以及一个带有两个属性 `considerPropertyDescriptor``includeCommonJSModuleExports` 的可选选项对象。
这个规则需要一个 `always``never` 的可选字符串(当省略时,默认为 `always`),以及一个带有两个属性 `considerPropertyDescriptor``includeCommonJSModuleExports` 的可选选项对象。

### considerPropertyDescriptor

Expand Down
6 changes: 3 additions & 3 deletions src/rules/func-style.md
Expand Up @@ -46,7 +46,7 @@ var doSomething = function() {

在这种情况下,`doSomething()` 在调用时是未定义的,所以会引起运行时错误。

由于这些不同的行为,通常会有指导原则,说明应该使用哪种风格的函数。这里真的没有正确或不正确的选择,这只是一种偏好。
由于这些不同的行为,通常会有指导原则,说明应该使用哪种风格的函数。这里的选择没有错误与否,这只是一种偏好。

## 规则细节

Expand All @@ -56,8 +56,8 @@ var doSomething = function() {

此规则选项为字符串:

* `"表达式"`(默认值)要求使用函数表达式而不是函数声明。
* `"声明"`要求使用函数声明而不是函数表达式。
* `"expression"`(默认值)要求使用函数表达式而不是函数声明。
* `"declaration"` 要求使用函数声明而不是函数表达式。

此规则有用于例外情况的对象选项:

Expand Down
8 changes: 4 additions & 4 deletions src/rules/generator-star-spacing.md
Expand Up @@ -98,8 +98,8 @@ function * generator() {
}]
```

在上面的配置示例中,顶层的 "before""after" 选项定义了规则的默认行为。规则,而 "anonymous""method" 选项则覆盖了默认行为。
覆盖可以是一个带有 "before""after"的对象,也可以是上述的速记字符串。
在上面的配置示例中,顶层的 `before``after` 选项定义了规则的默认行为。规则,而 `anonymous``method` 选项则覆盖了默认行为。
覆盖可以是一个带有 `before``after`的对象,也可以是上述的速记字符串。

## 示例

Expand Down Expand Up @@ -179,7 +179,7 @@ var shorthand = { *generator() {} };

:::

此规则的**错误**代码的例子,其中存在重写。
此规则与重写的**错误**示例:

::: incorrect

Expand All @@ -203,7 +203,7 @@ class Class { static* method() {} }

:::

该规则的**正确的**代码的例子,其中存在覆盖物。
使用此规则与覆盖的**正确**示例:

::: correct

Expand Down

0 comments on commit ae6be94

Please sign in to comment.