Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs: CLI documentation standardization #16563

Merged
merged 23 commits into from Dec 9, 2022

Conversation

bpmutter
Copy link
Contributor

@bpmutter bpmutter commented Nov 20, 2022

Prerequisites checklist

What is the purpose of this pull request? (put an "X" next to an item)

[x] Documentation update
[ ] Bug fix (template)
[ ] New rule (template)
[ ] Changes an existing rule (template)
[ ] Add autofix to a rule
[ ] Add a CLI option
[ ] Add something to the core
[ ] Other, please explain:

What changes did you make? (Give an overview)

Standardized the documentation for CLI commands.

Used the general format:

#### ``--my-option`

Short description of option 
* **Alias**: If applicable add short command alias (ex: `-mo`)
* **Argument Type**:  "No Argument." or argument data type and short description as necessary.
**Multiple Arguments**: "Yes"/"No". If argument type specified, add this saying whether it takes multiple arguments or not.
* **Default Value**: Add default value for command if applicable.

Additional guidance for usage.

##### `--my-option` example

Description of example, if necessary.

```shell
npx eslint ...example of command usage
```

Is there anything you'd like reviewers to focus on?

Resolves #16475

@eslint-github-bot eslint-github-bot bot added triage An ESLint team member will look at this issue soon documentation Relates to ESLint's documentation labels Nov 20, 2022
@netlify
Copy link

netlify bot commented Nov 20, 2022

Deploy Preview for docs-eslint ready!

Name Link
🔨 Latest commit b5f5c6e
🔍 Latest deploy log https://app.netlify.com/sites/docs-eslint/deploys/63929a09a712fe000800ef3f
😎 Deploy Preview https://deploy-preview-16563--docs-eslint.netlify.app/user-guide/command-line-interface
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site settings.

@bpmutter bpmutter marked this pull request as ready for review November 20, 2022 19:09
docs/src/user-guide/command-line-interface.md Outdated Show resolved Hide resolved
docs/src/user-guide/command-line-interface.md Outdated Show resolved Hide resolved
docs/src/user-guide/command-line-interface.md Outdated Show resolved Hide resolved

Examples:
These rules are merged with any rules specified with configuration files. If the rule is defined in a plugin, you have to prefix the rule ID with the plugin name and a `/`.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Perhaps we should keep the note about --no-eslintrc here?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i think i removed the line b/c i didn't understand what it was saying, and figured it wasn't too important b/c it's in parenthesis.

could you clarify what is meant by "You can use --no-eslintrc to change that behavior."? then i can add back in refactored, clearer form.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agree with @bpmutter, I think it’s safe to omit this.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This was added in #2776 per #2773.

It explains how to run only the rules specified on the command line. Without --no-eslintrc, rules specified with config files will be run too. With --no-eslintrc, rules specified with --rule are not "merged with any rules specified with configuration files", meaning that the final list of rules to run is the list of rules specified with --rule.

I'm fine with removing the note, but it also makes sense to keep it here as it addresses one of the common use cases for --rule.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think @bpmutter's point, and I agree, is that the current text isn't clear as to what --no-eslintrc does in this context. It's way to vague to be able to understand your point. We can either remove the parens and leave it, or we can update the text to more explicitly describe the situation you mention, but I don't think leaving as-is makes sense.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ok, thank you for the further clarification!

i added a sentence to explain and example in 0365e98

docs/src/user-guide/command-line-interface.md Outdated Show resolved Hide resolved
docs/src/user-guide/command-line-interface.md Outdated Show resolved Hide resolved
@bpmutter bpmutter requested a review from nzakas November 30, 2022 23:33
@bpmutter
Copy link
Contributor Author

implemented your feedback @nzakas and @mdjermanovic. ready for re-review

docs/src/user-guide/command-line-interface.md Outdated Show resolved Hide resolved
docs/src/user-guide/command-line-interface.md Outdated Show resolved Hide resolved
docs/src/user-guide/command-line-interface.md Outdated Show resolved Hide resolved
docs/src/user-guide/command-line-interface.md Outdated Show resolved Hide resolved
docs/src/user-guide/command-line-interface.md Outdated Show resolved Hide resolved

* **Argument Type**: String. The supported syntax is the same as for [`.eslintignore` files](configuring/ignoring-code#the-eslintignore-file), which use the same patterns as the [`.gitignore` specification](https://git-scm.com/docs/gitignore). You should quote your patterns in order to avoid shell interpretation of glob patterns.
* **Multiple Arguments**: Yes
* **Default Value**: whatever the default value is OR N/A
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is TODO?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
* **Default Value**: whatever the default value is OR N/A
* **Default Value**: None.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this line shouldn't have been included. sorry! removed

docs/src/user-guide/command-line-interface.md Outdated Show resolved Hide resolved
* **Argument Type**: String. One of the available environments.
* **Multiple Arguments**: Yes

Details about the global variables defined by each environment are available in the [Specifying Environments](configuring/language-options#specifying-environments) documentation. This option only enables environments. It does not disable environments set in other configuration files. To specify multiple environments, separate them using commas, or use the option multiple times.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just double checking -- specifying vs. specify in the link?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yep, this is currently the name of the section

docs/src/user-guide/command-line-interface.md Outdated Show resolved Hide resolved
docs/src/user-guide/command-line-interface.md Outdated Show resolved Hide resolved
docs/src/user-guide/command-line-interface.md Outdated Show resolved Hide resolved

* **Argument Type**: String. The supported syntax is the same as for [`.eslintignore` files](configuring/ignoring-code#the-eslintignore-file), which use the same patterns as the [`.gitignore` specification](https://git-scm.com/docs/gitignore). You should quote your patterns in order to avoid shell interpretation of glob patterns.
* **Multiple Arguments**: Yes
* **Default Value**: whatever the default value is OR N/A
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
* **Default Value**: whatever the default value is OR N/A
* **Default Value**: None.

docs/src/user-guide/command-line-interface.md Outdated Show resolved Hide resolved
docs/src/user-guide/command-line-interface.md Outdated Show resolved Hide resolved

```shell
npm install eslint-formatter-pretty

# THEN
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this makes it read like you should do the first two lines OR the third, which is incorrect.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i'll add some clarification comments to the code example

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

added in 801544d

docs/src/user-guide/command-line-interface.md Outdated Show resolved Hide resolved
Co-authored-by: Milos Djermanovic <milos.djermanovic@gmail.com>
Co-authored-by: Nicholas C. Zakas <nicholas@humanwhocodes.com>
@bpmutter bpmutter requested a review from a team as a code owner December 3, 2022 23:23
@bpmutter bpmutter requested review from nzakas and mdjermanovic and removed request for nzakas December 6, 2022 00:35
@bpmutter
Copy link
Contributor Author

bpmutter commented Dec 6, 2022

@mdjermanovic and @nzakas ready for re-review

lib/options.js Outdated
@@ -191,7 +191,7 @@ module.exports = function(usingFlatConfig) {
},
rulesDirFlag,
{
heading: "Fixing problems"
heading: "Fix problems"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we update these to Title Case as well?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't feel strongly either way.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i'll update. consistency!

Copy link
Member

@nzakas nzakas left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updates LGTM. Just noticed one inconsistency.

docs/src/user-guide/command-line-interface.md Outdated Show resolved Hide resolved
lib/options.js Outdated Show resolved Hide resolved
lib/options.js Outdated Show resolved Hide resolved
lib/options.js Outdated Show resolved Hide resolved
lib/options.js Outdated Show resolved Hide resolved
Co-authored-by: Nicholas C. Zakas <nicholas@humanwhocodes.com>
@bpmutter bpmutter requested review from nzakas and mdjermanovic and removed request for nzakas December 9, 2022 02:14
Copy link
Member

@mdjermanovic mdjermanovic left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks!

@nzakas nzakas merged commit ad44344 into eslint:main Dec 9, 2022
21 checks passed
crapStone pushed a commit to Calciumdibromid/CaBr2 that referenced this pull request Dec 24, 2022
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [eslint](https://eslint.org) ([source](https://github.com/eslint/eslint)) | devDependencies | minor | [`8.29.0` -> `8.30.0`](https://renovatebot.com/diffs/npm/eslint/8.29.0/8.30.0) |

---

### Release Notes

<details>
<summary>eslint/eslint</summary>

### [`v8.30.0`](https://github.com/eslint/eslint/releases/tag/v8.30.0)

[Compare Source](eslint/eslint@v8.29.0...v8.30.0)

#### Features

-   [`075ef2c`](eslint/eslint@075ef2c) feat: add suggestion for no-return-await ([#&#8203;16637](eslint/eslint#16637)) (Daniel Bartholomae)
-   [`7190d98`](eslint/eslint@7190d98) feat: update globals ([#&#8203;16654](eslint/eslint#16654)) (Sébastien Règne)

#### Bug Fixes

-   [`1a327aa`](eslint/eslint@1a327aa) fix: Ensure flat config unignores work consistently like eslintrc ([#&#8203;16579](eslint/eslint#16579)) (Nicholas C. Zakas)
-   [`9b8bb72`](eslint/eslint@9b8bb72) fix: autofix recursive functions in no-var ([#&#8203;16611](eslint/eslint#16611)) (Milos Djermanovic)

#### Documentation

-   [`6a8cd94`](eslint/eslint@6a8cd94) docs: Clarify Discord info in issue template config ([#&#8203;16663](eslint/eslint#16663)) (Nicholas C. Zakas)
-   [`ad44344`](eslint/eslint@ad44344) docs: CLI documentation standardization ([#&#8203;16563](eslint/eslint#16563)) (Ben Perlmutter)
-   [`293573e`](eslint/eslint@293573e) docs: fix broken line numbers ([#&#8203;16606](eslint/eslint#16606)) (Sam Chen)
-   [`fa2c64b`](eslint/eslint@fa2c64b) docs: use relative links for internal links ([#&#8203;16631](eslint/eslint#16631)) (Percy Ma)
-   [`75276c9`](eslint/eslint@75276c9) docs: reorder options in no-unused-vars ([#&#8203;16625](eslint/eslint#16625)) (Milos Djermanovic)
-   [`7276fe5`](eslint/eslint@7276fe5) docs: Fix anchor in URL ([#&#8203;16628](eslint/eslint#16628)) (Karl Horky)
-   [`6bef135`](eslint/eslint@6bef135) docs: don't apply layouts to html formatter example ([#&#8203;16591](eslint/eslint#16591)) (Tanuj Kanti)
-   [`dfc7ec1`](eslint/eslint@dfc7ec1) docs: Formatters page updates ([#&#8203;16566](eslint/eslint#16566)) (Ben Perlmutter)
-   [`8ba124c`](eslint/eslint@8ba124c) docs: update the `prefer-const` example ([#&#8203;16607](eslint/eslint#16607)) (Pavel)
-   [`e6cb05a`](eslint/eslint@e6cb05a) docs: fix css leaking ([#&#8203;16603](eslint/eslint#16603)) (Sam Chen)

#### Chores

-   [`f2c4737`](eslint/eslint@f2c4737) chore: upgrade [@&#8203;eslint/eslintrc](https://github.com/eslint/eslintrc)[@&#8203;1](https://github.com/1).4.0 ([#&#8203;16675](eslint/eslint#16675)) (Milos Djermanovic)
-   [`ba74253`](eslint/eslint@ba74253) chore: standardize npm script names per [#&#8203;14827](eslint/eslint#14827) ([#&#8203;16315](eslint/eslint#16315)) (Patrick McElhaney)
-   [`0d9af4c`](eslint/eslint@0d9af4c) ci: fix npm v9 problem with `file:` ([#&#8203;16664](eslint/eslint#16664)) (Milos Djermanovic)
-   [`90c9219`](eslint/eslint@90c9219) refactor: migrate off deprecated function-style rules in all tests ([#&#8203;16618](eslint/eslint#16618)) (Bryan Mishkin)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

 **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC43MC40IiwidXBkYXRlZEluVmVyIjoiMzQuNzAuNCJ9-->

Co-authored-by: cabr2-bot <cabr2.help@gmail.com>
Reviewed-on: https://codeberg.org/Calciumdibromid/CaBr2/pulls/1689
Reviewed-by: Epsilon_02 <epsilon_02@noreply.codeberg.org>
Co-authored-by: Calciumdibromid Bot <cabr2_bot@noreply.codeberg.org>
Co-committed-by: Calciumdibromid Bot <cabr2_bot@noreply.codeberg.org>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
accepted There is consensus among the team that this change meets the criteria for inclusion documentation Relates to ESLint's documentation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Standardize CLI documentation
5 participants