From ed60afd4450e769a975447178299446f4439d926 Mon Sep 17 00:00:00 2001 From: Ben Perlmutter <57849986+bpmutter@users.noreply.github.com> Date: Sat, 28 Jan 2023 06:57:47 -0500 Subject: [PATCH] docs: Update page titles, section landing pages, and side TOC (#16760) * allow crawling * trigger deploy * Remove todo * remove noindex * remove unused files * add files to delete * remove unwanted files * Revert changes nec for link checking * docs: update docs TOC and page names Resolves #16720 * draft extend eslint and contribute to eslint TOCs/titles * update maintainer guide pages names * update titles and links to them for use docs * rename links to additional page names * update landing pages * rename ignore code -> ignore files * small fixes * update site main page * page name updates * fix title case * fix top lvl order * Update docs/src/contribute/index.md Co-authored-by: Nicholas C. Zakas * move up get src code page * Update docs/src/contribute/index.md Co-authored-by: Milos Djermanovic * Apply suggestions from code review Co-authored-by: Milos Djermanovic * implement md feedback --------- Co-authored-by: Nicholas C. Zakas Co-authored-by: Milos Djermanovic --- CONTRIBUTING.md | 4 +- README.md | 6 +-- docs/package.json | 1 + docs/src/contribute/architecture/index.md | 4 +- .../src/contribute/development-environment.md | 11 ++--- docs/src/contribute/governance.md | 14 +++--- docs/src/contribute/index.md | 48 +++++++++++++------ docs/src/contribute/propose-new-rule.md | 10 ++-- docs/src/contribute/propose-rule-change.md | 8 +++- docs/src/contribute/pull-requests.md | 8 +++- docs/src/contribute/report-bugs.md | 8 +++- docs/src/contribute/request-change.md | 8 +++- docs/src/contribute/source-code.md | 11 ++--- docs/src/contribute/tests.md | 9 ++-- docs/src/contribute/work-on-issue.md | 12 +++-- docs/src/extend/custom-formatters.md | 12 ++--- docs/src/extend/custom-parsers.md | 10 ++-- docs/src/extend/custom-rules.md | 10 ++-- docs/src/extend/index.md | 44 +++++++---------- docs/src/extend/plugins.md | 12 ++--- docs/src/extend/shareable-configs.md | 10 ++-- docs/src/integrate/nodejs-api.md | 8 ++-- docs/src/maintain/index.md | 18 +++---- docs/src/maintain/manage-issues.md | 8 ++-- docs/src/maintain/manage-releases.md | 8 ++-- docs/src/maintain/review-pull-requests.md | 8 ++-- docs/src/maintain/working-groups.md | 6 ++- docs/src/pages/index.md | 10 ++-- docs/src/pages/rules.md | 6 +-- docs/src/rules/id-denylist.md | 2 +- docs/src/use/command-line-interface.md | 8 ++-- .../use/configure/configuration-files-new.md | 2 +- docs/src/use/configure/configuration-files.md | 4 +- docs/src/use/configure/ignore.md | 10 ++-- docs/src/use/configure/index.md | 22 ++++----- docs/src/use/configure/language-options.md | 10 ++-- docs/src/use/configure/plugins.md | 10 ++-- docs/src/use/configure/rules.md | 10 ++-- docs/src/use/core-concepts.md | 4 +- docs/src/use/formatters/index.md | 6 +-- docs/src/use/getting-started.md | 4 +- docs/src/use/index.md | 26 ++++++---- docs/src/use/integrations.md | 2 +- docs/src/use/migrate-to-8.0.0.md | 8 ++-- packages/eslint-config-eslint/README.md | 2 +- templates/formatter-examples.md.ejs | 6 +-- 46 files changed, 254 insertions(+), 214 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 07597a76ed6..c3c3a2a2e02 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -10,9 +10,9 @@ This project adheres to the [Open JS Foundation Code of Conduct](https://eslint. Before filing an issue, please be sure to read the guidelines for what you're reporting: -* [Bug Report](https://eslint.org/docs/latest/contribute/report-bugs) +* [Report Bugs](https://eslint.org/docs/latest/contribute/report-bugs) * [Propose a New Rule](https://eslint.org/docs/latest/contribute/propose-new-rule) -* [Proposing a Rule Change](https://eslint.org/docs/latest/contribute/propose-rule-change) +* [Propose a Rule Change](https://eslint.org/docs/latest/contribute/propose-rule-change) * [Request a Change](https://eslint.org/docs/latest/contribute/request-change) To report a security vulnerability in ESLint, please use our [HackerOne program](https://hackerone.com/eslint). diff --git a/README.md b/README.md index 3bc3ce0b555..ca0cb10024e 100644 --- a/README.md +++ b/README.md @@ -10,10 +10,10 @@ # ESLint [Website](https://eslint.org) | -[Configuring](https://eslint.org/docs/latest/use/configure) | +[Configure ESLint](https://eslint.org/docs/latest/use/configure) | [Rules](https://eslint.org/docs/rules/) | -[Contributing](https://eslint.org/docs/latest/contribute) | -[Reporting Bugs](https://eslint.org/docs/latest/contribute/report-bugs) | +[Contribute to ESLint](https://eslint.org/docs/latest/contribute) | +[Report Bugs](https://eslint.org/docs/latest/contribute/report-bugs) | [Code of Conduct](https://eslint.org/conduct) | [Twitter](https://twitter.com/geteslint) | [Mailing List](https://groups.google.com/group/eslint) | diff --git a/docs/package.json b/docs/package.json index c0fbd783eeb..3238b68465a 100644 --- a/docs/package.json +++ b/docs/package.json @@ -54,3 +54,4 @@ "node": ">=14.0.0" } } + diff --git a/docs/src/contribute/architecture/index.md b/docs/src/contribute/architecture/index.md index a1774781132..3370e6df448 100644 --- a/docs/src/contribute/architecture/index.md +++ b/docs/src/contribute/architecture/index.md @@ -2,9 +2,9 @@ title: Architecture eleventyNavigation: key: architecture - parent: developer guide + parent: contribute to eslint title: Architecture - order: 1 + order: 5 --- :::img-container diff --git a/docs/src/contribute/development-environment.md b/docs/src/contribute/development-environment.md index 6a0d2951fd3..f2d325381fe 100644 --- a/docs/src/contribute/development-environment.md +++ b/docs/src/contribute/development-environment.md @@ -1,11 +1,10 @@ --- -title: Development Environment +title: Set up a Development Environment eleventyNavigation: - key: set up a development environment - parent: developer guide - title: Set Up a Development Environment - order: 2 - + key: development environment + parent: contribute to eslint + title: Set up a Development Environment + order: 6 --- ESLint has a very lightweight development environment that makes updating code fast and easy. This is a step-by-step guide to setting up a local development environment that will let you contribute back to the project. diff --git a/docs/src/contribute/governance.md b/docs/src/contribute/governance.md index 7f59b210ff0..53e5cda97af 100644 --- a/docs/src/contribute/governance.md +++ b/docs/src/contribute/governance.md @@ -2,9 +2,9 @@ title: Governance eleventyNavigation: key: governance - parent: maintainer guide + parent: contribute to eslint title: Governance - order: 4 + order: 10 --- @@ -36,8 +36,8 @@ Website Team Members are community members who have shown that they are committe * Are expected to delete their public branches when they are no longer necessary. * Must submit pull requests for all changes. * Have their work reviewed by Reviewers and TSC members before acceptance into the repository. -* May label and close website-related issues (see [Managing Issues](../maintain/manage-issues)) -* May merge some pull requests (see [Managing Pull Requests](../maintain/review-pull-requests)) +* May label and close website-related issues (see [Manage Issues](../maintain/manage-issues)) +* May merge some pull requests (see [Review Pull Requests](../maintain/review-pull-requests)) To become a Website Team Member: @@ -59,8 +59,8 @@ Committers: * Are expected to delete their public branches when they are no longer necessary. * Must submit pull requests for all changes. * Have their work reviewed by TSC members before acceptance into the repository. -* May label and close issues (see [Managing Issues](../maintain/manage-issues)) -* May merge some pull requests (see [Managing Pull Requests](../maintain/review-pull-requests)) +* May label and close issues (see [Manage Issues](../maintain/manage-issues)) +* May merge some pull requests (see [Review Pull Requests](../maintain/review-pull-requests)) To become a Committer: @@ -143,7 +143,7 @@ A Reviewer is invited to become a TSC member by existing TSC members. A nominati 1. Add the GitHub user to the "ESLint TSC" GitHub team 1. Set the GitHub user to be have the "Owner" role for the ESLint organization -1. Send a welcome email with a link to the [maintainer guide](./) and instructions for npm 2FA. +1. Send a welcome email with a link to the [Maintain ESLint documentation](../maintain/) and instructions for npm 2FA. 1. Invite to the Discord TSC channel 1. Make the TSC member an admin on the ESLint team mailing list 1. Add the TSC member to the recurring TSC meeting event on Google Calendar diff --git a/docs/src/contribute/index.md b/docs/src/contribute/index.md index 8e5a76ce029..9a6c4078763 100644 --- a/docs/src/contribute/index.md +++ b/docs/src/contribute/index.md @@ -1,11 +1,9 @@ --- -title: Contributing +title: Contribute to ESLint eleventyNavigation: - key: contributing - parent: developer guide - title: Contributing - order: 10 - + key: contribute to eslint + title: Contribute to ESLint + order: 3 --- One of the great things about open source projects is that anyone can contribute in any number of meaningful ways. ESLint couldn't exist without the help of the many contributors it's had since the project began, and we want you to feel like you can contribute and make a difference as well. @@ -16,34 +14,54 @@ This guide is intended for anyone who wants to contribute to an ESLint project. ESLint welcomes contributions from everyone and adheres to the [OpenJS Foundation Code of Conduct](https://eslint.org/conduct). We kindly request that you read over our code of conduct before contributing. -## [Bug Reporting](report-bugs) +## [Report Bugs](report-bugs) Think you found a problem? We'd love to hear about it. This section explains how to submit a bug, the type of information we need to properly verify it, and the overall process. -## Proposing a [New Rule](propose-new-rule) +## [Propose a New Rule](propose-new-rule) We get a lot of proposals for new rules in ESLint. This section explains how we determine which rules are accepted and what information you should provide to help us evaluate your proposal. -## Proposing a [Rule Change](propose-rule-change) +## [Propose a Rule Change](propose-rule-change) Want to make a change to an existing rule? This section explains the process and how we evaluate such proposals. -## Requesting a [Change](request-change) +## [Request a Change](request-change) If you'd like to request a change other than a bug fix or new rule, this section explains that process. -## Reporting a security vulnerability +## [Architecture](architecture) + +Learn about the architecture of the ESLint project. + +## [Get the Source Code](source-code) + +Before you can get started developing ESLint, you'll need to get a copy of the ESLint source code. This section explains how to do that and a little about the source code structure. + +## [Set up a Development Environment](development-environment) + +Developing for ESLint is a bit different than running it on the command line. This section shows you how to set up a development environment and get you ready to write code. -To report a security vulnerability in ESLint, please use our [HackerOne program](https://hackerone.com/eslint). +## [Run the Tests](tests) -## [Working on Issues](work-on-issue) +There are a lot of unit tests included with ESLint to make sure that we're keeping on top of code quality. This section explains how to run the unit tests. + +## [Work on Issues](work-on-issue) Have some extra time and want to contribute? This section talks about the process of working on issues. -## Submitting a [Pull Request](pull-requests) +## [Submit a Pull Request](pull-requests) We're always looking for contributions from the community. This section explains the requirements for pull requests and the process of contributing code. -## Signing the CLA +## [Governance](governance) + +Describes the governance policy for ESLint, including the rights and privileges of individuals inside the project. + +## Report a Security Vulnerability + +To report a security vulnerability in ESLint, please use our [create an advisory](https://github.com/eslint/eslint/security/advisories/new). + +## Sign the CLA In order to submit code or documentation to an ESLint project, you will need to electronically sign our Contributor License Agreement. The CLA is the commonly used Apache-style template, and is you giving us permission to use your contribution. You only need to sign the CLA once for any OpenJS Foundation projects that use EasyCLA. You will be asked to sign the CLA in the first pull request you open. diff --git a/docs/src/contribute/propose-new-rule.md b/docs/src/contribute/propose-new-rule.md index f540f5b8117..7aa9d3a0e7c 100644 --- a/docs/src/contribute/propose-new-rule.md +++ b/docs/src/contribute/propose-new-rule.md @@ -1,6 +1,10 @@ --- -title: New Rules - +title: Propose a New Rule +eleventyNavigation: + key: propose rule + parent: contribute to eslint + title: Propose a New Rule + order: 2 --- ESLint is all about rules. For most of the project's lifetime, we've had over 200 rules, and that list continues to grow. However, we can't just accept any proposed rule because all rules need to work cohesively together. As such, we have some guidelines around which rules can be part of the ESLint core and which are better off as custom rules and plugins. @@ -42,4 +46,4 @@ The ESLint team doesn't implement new rules that are suggested by users because ## Alternative: Creating Your Own Rules -Remember that ESLint is completely pluggable, which means you can create your own rules and distribute them using plugins. We did this on purpose because we don't want to be the gatekeepers for all possible rules. Even if we don't accept a rule into the core, that doesn't mean you can't have the exact rule that you want. See the [working with rules](../extend/custom-rules) and [working with plugins](../extend/plugins) documentation for more information. +Remember that ESLint is completely pluggable, which means you can create your own rules and distribute them using plugins. We did this on purpose because we don't want to be the gatekeepers for all possible rules. Even if we don't accept a rule into the core, that doesn't mean you can't have the exact rule that you want. See the [Custom Rules](../extend/custom-rules) and [Create Plugins](../extend/plugins) documentation for more information. diff --git a/docs/src/contribute/propose-rule-change.md b/docs/src/contribute/propose-rule-change.md index ba2738eed8b..d2d198b19bd 100644 --- a/docs/src/contribute/propose-rule-change.md +++ b/docs/src/contribute/propose-rule-change.md @@ -1,6 +1,10 @@ --- -title: Rule Changes - +title: Propose a Rule Change +eleventyNavigation: + key: propose rule change + parent: contribute to eslint + title: Propose a Rule Change + order: 3 --- Occasionally, a core ESLint rule needs to be changed. This is not necessarily a bug, but rather, an enhancement that makes a rule more configurable. In those situations, we will consider making changes to rules. diff --git a/docs/src/contribute/pull-requests.md b/docs/src/contribute/pull-requests.md index ca478f521eb..8854ee2fbb2 100644 --- a/docs/src/contribute/pull-requests.md +++ b/docs/src/contribute/pull-requests.md @@ -1,6 +1,10 @@ --- -title: Pull Requests - +title: Submit a Pull Request +eleventyNavigation: + key: submit pull request + parent: contribute to eslint + title: Submit a Pull Request + order: 9 --- If you want to contribute to an ESLint repo, please use a GitHub pull request. This is the fastest way for us to evaluate your code and to merge it into the code base. Please don't file an issue with snippets of code. Doing so means that we need to manually merge the changes in and update any appropriate tests. That decreases the likelihood that your code is going to get included in a timely manner. Please use pull requests. diff --git a/docs/src/contribute/report-bugs.md b/docs/src/contribute/report-bugs.md index 09a60ccd83a..98e9ce34237 100644 --- a/docs/src/contribute/report-bugs.md +++ b/docs/src/contribute/report-bugs.md @@ -1,6 +1,10 @@ --- -title: Reporting Bugs - +title: Report Bugs +eleventyNavigation: + key: report bugs + parent: contribute to eslint + title: Report Bugs + order: 1 --- If you think you've found a bug in ESLint, please [create a new issue](https://github.com/eslint/eslint/issues/new/choose) or a [pull request](pull-requests) on GitHub. diff --git a/docs/src/contribute/request-change.md b/docs/src/contribute/request-change.md index 692715b3844..f8a05c33bb0 100644 --- a/docs/src/contribute/request-change.md +++ b/docs/src/contribute/request-change.md @@ -1,6 +1,10 @@ --- -title: Change Requests - +title: Request a Change +eleventyNavigation: + key: request change + parent: contribute to eslint + title: Request a Change + order: 4 --- If you'd like to request a change to ESLint, please [create a new issue](https://github.com/eslint/eslint/issues/new/choose) on GitHub. Be sure to include the following information: diff --git a/docs/src/contribute/source-code.md b/docs/src/contribute/source-code.md index 4ddc9a8ba94..4e807227061 100644 --- a/docs/src/contribute/source-code.md +++ b/docs/src/contribute/source-code.md @@ -1,11 +1,10 @@ --- -title: Source Code +title: Get the Source Code eleventyNavigation: - key: getting the source code - parent: developer guide - title: Getting the Source Code - order: 1 - + key: get the source code + parent: contribute to eslint + title: Get the Source Code + order: 5 --- ESLint is hosted at [GitHub](https://github.com/eslint/eslint) and uses [Git](https://git-scm.com/) for source control. In order to obtain the source code, you must first install Git on your system. Instructions for installing and setting up Git can be found at . diff --git a/docs/src/contribute/tests.md b/docs/src/contribute/tests.md index 730642f624b..9ad25500d82 100644 --- a/docs/src/contribute/tests.md +++ b/docs/src/contribute/tests.md @@ -1,11 +1,10 @@ --- -title: Unit Tests +title: Run the Tests eleventyNavigation: - key: run the tests - parent: developer guide + key: run tests + parent: contribute to eslint title: Run the Tests - order: 3 - + order: 7 --- Most parts of ESLint have unit tests associated with them. Unit tests are written using [Mocha](https://mochajs.org/) and are required when making contributions to ESLint. You'll find all of the unit tests in the `tests` directory. diff --git a/docs/src/contribute/work-on-issue.md b/docs/src/contribute/work-on-issue.md index 216224b0dd4..6205a37fd7e 100644 --- a/docs/src/contribute/work-on-issue.md +++ b/docs/src/contribute/work-on-issue.md @@ -1,16 +1,20 @@ --- -title: Working on Issues - +title: Work on Issues +eleventyNavigation: + key: work on issues + parent: contribute to eslint + title: Work on Issues + order: 8 --- Our public [issues tracker](https://github.com/eslint/eslint/issues) lists all of the things we plan on doing as well as suggestions from the community. Before starting to work on an issue, be sure you read through the rest of this page. ## Issue Labels -We use labels to indicate the status of issues. The most complete documentation on the labels is found in the [Maintainer Guide](../maintain/manage-issues#when-an-issue-is-opened), but most contributors should find the information on this page sufficient. The most important questions that labels can help you, as a contributor, answer are: +We use labels to indicate the status of issues. The most complete documentation on the labels is found in the [Maintain ESLint documentation](../maintain/manage-issues#when-an-issue-is-opened), but most contributors should find the information on this page sufficient. The most important questions that labels can help you, as a contributor, answer are: 1. Is this issue available for me to work on? If you have little or no experience contributing to ESLint, the [`good first issue`](https://github.com/eslint/eslint/labels/good%20first%20issue) label marks appropriate issues. Otherwise, the [`help wanted`](https://github.com/eslint/eslint/labels/help%20wanted) label is an invitation to work on the issue. If you have more experience, you can try working on other issues labeled [`accepted`](https://github.com/eslint/eslint/labels/accepted). Conversely, issues not yet ready to work on are labeled `triage`, `evaluating`, and/or `needs bikeshedding`, and issues that cannot currently be worked on because of something else, such as a bug in a dependency, are labeled `blocked`. -1. What is this issue about? Labels describing the nature of issues include `bug`, `enhancement`, `feature`, `question`, `rule`, `documentation`, `core`, `build`, `cli`, `infrastructure`, `breaking`, and `chore`. These are documented in the [Maintainer Guide](../maintain/manage-issues#types-of-issues). +1. What is this issue about? Labels describing the nature of issues include `bug`, `enhancement`, `feature`, `question`, `rule`, `documentation`, `core`, `build`, `cli`, `infrastructure`, `breaking`, and `chore`. These are documented in [Maintain ESLint](../maintain/manage-issues#types-of-issues). 1. What is the priority of this issue? Because we have a lot of issues, we prioritize certain issues above others. The following is the list of priorities, from highest to lowest: 1. **Bugs** - problems with the project are actively affecting users. We want to get these resolved as quickly as possible. diff --git a/docs/src/extend/custom-formatters.md b/docs/src/extend/custom-formatters.md index b34baaf250e..29376d2a850 100644 --- a/docs/src/extend/custom-formatters.md +++ b/docs/src/extend/custom-formatters.md @@ -1,10 +1,10 @@ --- -title: Working with Custom Formatters +title: Custom Formatters eleventyNavigation: - key: working with custom formatters - parent: developer guide - title: Working with Custom Formatters - order: 6 + key: custom formatters + parent: extend eslint + title: Custom Formatters + order: 3 --- @@ -132,7 +132,7 @@ The formatter function receives an object as the second argument. The object has * `cwd` ... The current working directory. This value comes from the `cwd` constructor option of the [ESLint](../integrate/nodejs-api#-new-eslintoptions) class. * `maxWarningsExceeded` (optional): If `--max-warnings` was set and the number of warnings exceeded the limit, this property's value will be an object containing two properties: `maxWarnings`, the value of the `--max-warnings` option, and `foundWarnings`, the number of lint warnings. -* `rulesMeta` ... The `meta` property values of rules. See the [Working with Rules](custom-rules) page for more information about rules. +* `rulesMeta` ... The `meta` property values of rules. See the [Custom Rules](custom-rules) page for more information about rules. For example, here's what the object would look like if one rule, `no-extra-semi`, had been run: diff --git a/docs/src/extend/custom-parsers.md b/docs/src/extend/custom-parsers.md index a2b47c53f03..e49c24c98a9 100644 --- a/docs/src/extend/custom-parsers.md +++ b/docs/src/extend/custom-parsers.md @@ -1,10 +1,10 @@ --- -title: Working with Custom Parsers +title: Custom Parsers eleventyNavigation: - key: working with custom parsers - parent: developer guide - title: Working with Custom Parsers - order: 7 + key: custom parsers + parent: extend eslint + title: Custom Parsers + order: 4 --- diff --git a/docs/src/extend/custom-rules.md b/docs/src/extend/custom-rules.md index 8e7632484ad..5da0b6722de 100644 --- a/docs/src/extend/custom-rules.md +++ b/docs/src/extend/custom-rules.md @@ -1,10 +1,10 @@ --- -title: Working with Rules +title: Custom Rules eleventyNavigation: - key: working with rules - parent: developer guide - title: Working with Rules - order: 4 + key: custom rules + parent: extend eslint + title: Custom Rules + order: 2 --- diff --git a/docs/src/extend/index.md b/docs/src/extend/index.md index 2c97b2fa204..0ca8c777529 100644 --- a/docs/src/extend/index.md +++ b/docs/src/extend/index.md @@ -1,54 +1,42 @@ --- -title: Developer Guide +title: Extend ESLint eleventyNavigation: - key: developer guide - title: Developer Guide + key: extend eslint + title: Extend ESLint order: 2 --- -This guide is intended for those who wish to: +This guide is intended for those who wish to extend the functionality of ESLint. -* Contribute code to ESLint -* Create their own rules for ESLint - -In order to work with ESLint as a developer, it's recommended that: +In order to extend ESLint, it's recommended that: * You know JavaScript, since ESLint is written in JavaScript. * You have some familiarity with Node.js, since ESLint runs on it. * You're comfortable with command-line programs. -* You understand unit tests and why they're important. If that sounds like you, then continue reading to get started. -## Section 1: Get the [Source Code](../contribute/source-code) - -Before you can get started, you'll need to get a copy of the ESLint source code. This section explains how to do that and a little about the source code structure. - -## Section 2: Set up a [Development Environment](../contribute/development-environment) +## [Create Plugins](plugins) -Developing for ESLint is a bit different than running it on the command line. This section shows you how to set up a development environment and get you ready to write code. +You've developed custom rules for ESLint and you want to share them with the community. You can publish an ESLint plugin on npm. -## Section 3: Run the [Unit Tests](../contribute/tests) +## [Custom Rules](custom-rules) -There are a lot of unit tests included with ESLint to make sure that we're keeping on top of code quality. This section explains how to run the unit tests. +This section explains how to create and modify rules to use with ESLint. -## Section 4: [Working with Rules](custom-rules) +## [Custom Formatters](custom-formatters) -You're finally ready to start working with rules. You may want to fix an existing rule or create a new one. This section explains how to do all of that. +This section explains how you can create a custom formatter to control what ESLint outputs. -## Section 5: [Working with Plugins](plugins) +## [Custom Parsers](custom-parsers) -You've developed library-specific rules for ESLint and you want to share them with the community. You can publish an ESLint plugin on npm. +If you don't want to use the default parser of ESLint, this section explains how to create custom parsers. -## Section 6: [Working with Custom Parsers](custom-parsers) +## [Share Configurations](shareable-configs) -If you aren't going to use the default parser of ESLint, this section explains about using custom parsers. +This section explains how you can bundle and share ESLint configuration in a JavaScript package. -## Section 7: [Node.js API](../integrate/nodejs-api) +## [Node.js API Reference](../integrate/nodejs-api) If you're interested in writing a tool that uses ESLint, then you can use the Node.js API to get programmatic access to functionality. - -## Section 8: [Contributing](../contribute/) - -Once you've made changes that you want to share with the community, the next step is to submit those changes back via a pull request. diff --git a/docs/src/extend/plugins.md b/docs/src/extend/plugins.md index 8de331714db..407b4039ba9 100644 --- a/docs/src/extend/plugins.md +++ b/docs/src/extend/plugins.md @@ -1,10 +1,10 @@ --- -title: Working with Plugins +title: Create Plugins eleventyNavigation: - key: working with plugings - parent: developer guide - title: Working with Plugins - order: 5 + key: create plugins + parent: extend eslint + title: Create Plugins + order: 1 --- @@ -205,7 +205,7 @@ If the example plugin above were called `eslint-plugin-myPlugin`, the `myConfig` ``` -**Note:** Please note that configuration will not enable any of the plugin's rules by default, and instead should be treated as a standalone config. This means that you must specify your plugin name in the `plugins` array as well as any rules you want to enable that are part of the plugin. Any plugin rules must be prefixed with the short or long plugin name. See [Configuring Plugins](../use/configure/plugins#configure-plugins) for more information. +**Note:** Please note that configuration will not enable any of the plugin's rules by default, and instead should be treated as a standalone config. This means that you must specify your plugin name in the `plugins` array as well as any rules you want to enable that are part of the plugin. Any plugin rules must be prefixed with the short or long plugin name. See [Configure Plugins](../use/configure/plugins#configure-plugins) for more information. ### Peer Dependency diff --git a/docs/src/extend/shareable-configs.md b/docs/src/extend/shareable-configs.md index ca42eafa69d..31f59b3ef12 100644 --- a/docs/src/extend/shareable-configs.md +++ b/docs/src/extend/shareable-configs.md @@ -1,10 +1,10 @@ --- -title: Shareable Configs +title: Share Configurations eleventyNavigation: - key: shareable configs - parent: developer guide - title: Shareable Configs - order: 8 + key: share configs + parent: extend eslint + title: Share Configurations + order: 5 --- diff --git a/docs/src/integrate/nodejs-api.md b/docs/src/integrate/nodejs-api.md index 28d93d7c46e..de035ca731c 100644 --- a/docs/src/integrate/nodejs-api.md +++ b/docs/src/integrate/nodejs-api.md @@ -1,10 +1,10 @@ --- -title: Node.js API +title: Node.js API Reference eleventyNavigation: key: node.js api - parent: developer guide - title: Node.js API - order: 9 + parent: extend eslint + title: Node.js API Reference + order: 6 --- While ESLint is designed to be run on the command line, it's possible to use ESLint programmatically through the Node.js API. The purpose of the Node.js API is to allow plugin and tool authors to use the ESLint functionality directly, without going through the command line interface. diff --git a/docs/src/maintain/index.md b/docs/src/maintain/index.md index ed7d04005bb..88d537aa053 100644 --- a/docs/src/maintain/index.md +++ b/docs/src/maintain/index.md @@ -1,30 +1,26 @@ --- -title: Maintainer Guide +title: Maintain ESLint eleventyNavigation: - key: maintainer guide - title: Maintainer Guide - order: 3 + key: maintain eslint + title: Maintain ESLint + order: 4 --- This guide is intended for those who work as part of the ESLint project team. -## [Managing Issues](manage-issues) +## [Manage Issues](manage-issues) Describes how to deal with issues when they're opened, when interacting with users, and how to close them effectively. -## [Reviewing Pull Requests](review-pull-requests) +## [Review Pull Requests](review-pull-requests) Describes how to review incoming pull requests. -## [Managing Releases](manage-releases) +## [Manage Releases](manage-releases) Describes how to do an ESLint project release. -## [Governance](../contribute/governance) - -Describes the governance policy for ESLint, including the rights and privileges of individuals inside the project. - ## [Working Groups](working-groups) Describes how working groups are created and how they function within the ESLint project. diff --git a/docs/src/maintain/manage-issues.md b/docs/src/maintain/manage-issues.md index 977fc3d891c..394019df066 100644 --- a/docs/src/maintain/manage-issues.md +++ b/docs/src/maintain/manage-issues.md @@ -1,9 +1,9 @@ --- -title: Managing Issues +title: Manage Issues eleventyNavigation: - key: managing issues - parent: maintainer guide - title: Managing Issues + key: manage issues + parent: maintain eslint + title: Manage Issues order: 1 --- diff --git a/docs/src/maintain/manage-releases.md b/docs/src/maintain/manage-releases.md index 9b58eb92e6f..10d681a4fd8 100644 --- a/docs/src/maintain/manage-releases.md +++ b/docs/src/maintain/manage-releases.md @@ -1,9 +1,9 @@ --- -title: Managing Releases +title: Manage Releases eleventyNavigation: - key: managing releases - parent: maintainer guide - title: Managing Releases + key: manage releases + parent: maintain eslint + title: Manage Releases order: 3 --- diff --git a/docs/src/maintain/review-pull-requests.md b/docs/src/maintain/review-pull-requests.md index 9c43ccad4ad..6705a81d603 100644 --- a/docs/src/maintain/review-pull-requests.md +++ b/docs/src/maintain/review-pull-requests.md @@ -1,9 +1,9 @@ --- -title: Reviewing Pull Requests +title: Review Pull Requests eleventyNavigation: - key: reviewing pull requests - parent: maintainer guide - title: Reviewing Pull Requests + key: review pull requests + parent: maintain eslint + title: Review Pull Requests order: 2 --- diff --git a/docs/src/maintain/working-groups.md b/docs/src/maintain/working-groups.md index 1293340d734..97d31dfd29f 100644 --- a/docs/src/maintain/working-groups.md +++ b/docs/src/maintain/working-groups.md @@ -1,6 +1,10 @@ --- title: Working Groups - +eleventyNavigation: + key: working groups + parent: maintain eslint + title: Working Groups + order: 4 --- The ESLint TSC may form working groups to focus on a specific area of the project. diff --git a/docs/src/pages/index.md b/docs/src/pages/index.md index a2e82b8cd1c..c8f5f62dcaa 100644 --- a/docs/src/pages/index.md +++ b/docs/src/pages/index.md @@ -5,15 +5,19 @@ permalink: /index.html Welcome to our documentation pages! What would you like to view? -## [User Guide](use/) +## [Use ESLint in Your Project](use/) Intended for end users of ESLint. Contains information about core rules, configuration, command line options, formatters, and integrations, as well as guides for migrating from earlier versions of ESLint. -## [Developer Guide](extend/) +## [Extend ESLint](extend/) Intended for people who wish to extend ESLint. Contains information about creating custom rules, configurations, plugins, and formatters; and information about our Node.js API. -## [Maintainer Guide](maintain/) +## [Contribute to ESLint](contribute/) + +Intended for people who wish to contribute to the ESLint project. Contains information about ways you can contribute, the project structure, and setting up the development environment. + +## [Maintain ESLint](maintain/) Intended for maintainers of ESLint. diff --git a/docs/src/pages/rules.md b/docs/src/pages/rules.md index fabc4241266..996860e2c86 100644 --- a/docs/src/pages/rules.md +++ b/docs/src/pages/rules.md @@ -1,10 +1,10 @@ --- -title: Rules +title: Rules Reference permalink: /rules/index.html eleventyNavigation: key: rules - parent: user guide - title: Rules + parent: use eslint + title: Rules Reference order: 5 --- diff --git a/docs/src/rules/id-denylist.md b/docs/src/rules/id-denylist.md index 8be84183274..850f5923e83 100644 --- a/docs/src/rules/id-denylist.md +++ b/docs/src/rules/id-denylist.md @@ -37,7 +37,7 @@ For example, to restrict the use of common generic identifiers: } ``` -**Note:** The first element of the array is for the rule severity (see [configuring rules](../use/configure/rules). The other elements in the array are the identifiers that you want to disallow. +**Note:** The first element of the array is for the rule severity (see [Configure Rules](../use/configure/rules). The other elements in the array are the identifiers that you want to disallow. Examples of **incorrect** code for this rule with sample `"data", "callback"` restricted identifiers: diff --git a/docs/src/use/command-line-interface.md b/docs/src/use/command-line-interface.md index 04eb6a0805b..9270e64fd33 100644 --- a/docs/src/use/command-line-interface.md +++ b/docs/src/use/command-line-interface.md @@ -1,9 +1,9 @@ --- -title: Command Line Interface +title: Command Line Interface Reference eleventyNavigation: key: command line interface - parent: user guide - title: Command Line Interface + parent: use eslint + title: Command Line Interface Reference order: 4 --- @@ -132,7 +132,7 @@ npx eslint --no-eslintrc file.js #### `-c`, `--config` -This option allows you to specify an additional configuration file for ESLint (see [Configuring ESLint](configure/) for more). +This option allows you to specify an additional configuration file for ESLint (see [Configure ESLint](configure/) for more). * **Argument Type**: String. Path to file. * **Multiple Arguments**: No diff --git a/docs/src/use/configure/configuration-files-new.md b/docs/src/use/configure/configuration-files-new.md index ce79525b7c5..e9bc207566f 100644 --- a/docs/src/use/configure/configuration-files-new.md +++ b/docs/src/use/configure/configuration-files-new.md @@ -2,7 +2,7 @@ title: Configuration Files (New) eleventyNavigation: key: configuration files - parent: configuring + parent: configure title: Configuration Files (New) order: 1 diff --git a/docs/src/use/configure/configuration-files.md b/docs/src/use/configure/configuration-files.md index 19220bb74b2..f9c7aa341f3 100644 --- a/docs/src/use/configure/configuration-files.md +++ b/docs/src/use/configure/configuration-files.md @@ -2,9 +2,9 @@ title: Configuration Files eleventyNavigation: key: configuration files - parent: configuring + parent: configure title: Configuration Files - order: 1 + order: 2 --- diff --git a/docs/src/use/configure/ignore.md b/docs/src/use/configure/ignore.md index 77d934a47ab..ac481547895 100644 --- a/docs/src/use/configure/ignore.md +++ b/docs/src/use/configure/ignore.md @@ -1,10 +1,10 @@ --- -title: Ignoring Code +title: Ignore Files eleventyNavigation: - key: ignoring code - parent: configuring - title: Ignoring Code - order: 5 + key: ignore files + parent: configure + title: Ignore Files + order: 6 --- diff --git a/docs/src/use/configure/index.md b/docs/src/use/configure/index.md index a00b927b54d..05850e9f1d5 100644 --- a/docs/src/use/configure/index.md +++ b/docs/src/use/configure/index.md @@ -1,9 +1,9 @@ --- -title: Configuring ESLint +title: Configure ESLint eleventyNavigation: - key: configuring - parent: user guide - title: Configuring + key: configure + parent: use eslint + title: Configure ESLint order: 3 --- @@ -34,24 +34,24 @@ All of these options give you fine-grained control over how ESLint treats your c * [Configuration Based on Glob Patterns](./configuration-files#configuration-based-on-glob-patterns) * [Personal Configuration Files](./configuration-files#personal-configuration-files-deprecated) -[**Language Options**](language-options) +[**Configure Language Options**](language-options) * [Specifying Environments](./language-options#specifying-environments) * [Specifying Globals](./language-options#specifying-globals) * [Specifying Parser Options](./language-options#specifying-parser-options) -[**Rules**](rules) +[**Configure Rules**](rules) * [Configuring Rules](./rules#configuring-rules) * [Disabling Rules](./rules#disabling-rules) -[**Plugins**](plugins) +[**Configure Plugins**](plugins) -* [Configuring Plugins](./plugins#configure-plugins) -* [Specifying Processors](./plugins#specify-a-processor) -* [Configuring Parsers](./plugins#configure-a-parser) +* [Configure Plugins](./plugins#configure-plugins) +* [Specify a Processor](./plugins#specify-a-processor) +* [Configure Parsers](./plugins#configure-a-parser) -[**Ignoring Code**](ignore) +[**Ignore Files**](ignore) * [`ignorePatterns` in Config Files](./ignore#ignorepatterns-in-config-files) * [The `.eslintignore` File](./ignore#the-eslintignore-file) diff --git a/docs/src/use/configure/language-options.md b/docs/src/use/configure/language-options.md index 0e0f34fbafe..ef21c35d57e 100644 --- a/docs/src/use/configure/language-options.md +++ b/docs/src/use/configure/language-options.md @@ -1,10 +1,10 @@ --- -title: Language Options +title: Configure Language Options eleventyNavigation: - key: configuring language options - parent: configuring - title: Configuring Language Options - order: 2 + key: configure language options + parent: configure + title: Configure Language Options + order: 3 --- diff --git a/docs/src/use/configure/plugins.md b/docs/src/use/configure/plugins.md index 5303625bdbd..2c4706ff476 100644 --- a/docs/src/use/configure/plugins.md +++ b/docs/src/use/configure/plugins.md @@ -1,10 +1,10 @@ --- -title: Plugins & Parsers +title: Configure Plugins & Parsers eleventyNavigation: - key: configuring plugins - parent: configuring - title: Configuring Plugins & Parsers - order: 4 + key: configure plugins + parent: configure + title: Configure Plugins & Parsers + order: 5 --- diff --git a/docs/src/use/configure/rules.md b/docs/src/use/configure/rules.md index 44e9076edf2..fd661063fbb 100644 --- a/docs/src/use/configure/rules.md +++ b/docs/src/use/configure/rules.md @@ -1,10 +1,10 @@ --- -title: Rules +title: Configure Rules eleventyNavigation: - key: configuring rules - parent: configuring - title: Configuring Rules - order: 3 + key: configure rules + parent: configure + title: Configure Rules + order: 4 --- diff --git a/docs/src/use/core-concepts.md b/docs/src/use/core-concepts.md index 93b0fb9fa82..b9dfbbbfa1c 100644 --- a/docs/src/use/core-concepts.md +++ b/docs/src/use/core-concepts.md @@ -3,7 +3,7 @@ title: Core Concepts eleventyNavigation: key: core concepts title: Core Concepts - parent: user guide + parent: use eslint order: 2 --- @@ -43,7 +43,7 @@ An ESLint plugin is an npm module that can contain a set of ESLint rules, config A popular use case for plugins is to enforce best practices for a framework. For example, [@angular-eslint/eslint-plugin](https://www.npmjs.com/package/@angular-eslint/eslint-plugin) contains best practices for using the Angular framework. -For more information, refer to [Configuring Plugins](./configure/plugins). +For more information, refer to [Configure Plugins](./configure/plugins). ## Parsers diff --git a/docs/src/use/formatters/index.md b/docs/src/use/formatters/index.md index fe8d68d08ef..b5bb8be723d 100644 --- a/docs/src/use/formatters/index.md +++ b/docs/src/use/formatters/index.md @@ -1,9 +1,9 @@ --- -title: Formatters +title: Formatters Reference eleventyNavigation: key: formatters - parent: user guide - title: Formatters + parent: use eslint + title: Formatters Reference order: 6 edit_link: https://github.com/eslint/eslint/edit/main/templates/formatter-examples.md.ejs --- diff --git a/docs/src/use/getting-started.md b/docs/src/use/getting-started.md index 50d331b1232..623011aaf48 100644 --- a/docs/src/use/getting-started.md +++ b/docs/src/use/getting-started.md @@ -2,7 +2,7 @@ title: Getting Started with ESLint eleventyNavigation: key: getting started - parent: user guide + parent: use eslint title: Getting Started order: 1 @@ -116,7 +116,7 @@ Before you begin, you must already have a `package.json` file. If you don't, mak touch .eslintrc.js ``` -1. Add configuration to the `.eslintrc` file. Refer to the [Configuring ESLint documentation](configure/) to learn how to add rules, environments, custom configurations, plugins, and more. +1. Add configuration to the `.eslintrc` file. Refer to the [Configure ESLint documentation](configure/) to learn how to add rules, environments, custom configurations, plugins, and more. ```js // .eslintrc.js example diff --git a/docs/src/use/index.md b/docs/src/use/index.md index 5358b7240cf..6e68a087f38 100644 --- a/docs/src/use/index.md +++ b/docs/src/use/index.md @@ -1,32 +1,40 @@ --- -title: User Guide +title: Use ESLint in Your Project eleventyNavigation: - key: user guide - title: User Guide + key: use eslint + title: Use ESLint in Your Project order: 1 --- -This guide is intended for those who wish to use ESLint as an end-user. If you're looking for how to extend ESLint or work with the ESLint source code, please see the [Developer Guide](../extend/). +This guide is intended for those who wish to use ESLint as an end-user. If you're looking for how to extend ESLint or work with the ESLint source code, please see the [Extend ESLint documentation](../extend/). ## [Getting Started](getting-started) Want to skip ahead and just start using ESLint? This section gives a high-level overview of installation, setup, and configuration options. -## [Rules](../rules/) +## [Core Concepts](core-concepts) -ESLint has a lot of rules that you can configure to fine-tune it to your project. This section is an exhaustive list of every rule and link to each rule's documentation. +Understand the main components of ESLint and how to use them in your project. -## [Configuring](configure/) +## [Configure ESLint](configure/) Once you've got ESLint running, you'll probably want to adjust the configuration to better suit your project. This section explains all the different ways you can configure ESLint. -## [Command Line Interface](command-line-interface) +## [Command Line Interface Reference](command-line-interface) There are a lot of command line flags for ESLint and this section explains what they do. +## [Rules Reference](../rules/) + +ESLint has a lot of rules that you can configure to fine-tune it to your project. This section is an exhaustive list of every rule and link to each rule's documentation. + +## [Formatters Reference](formatters) + +Control the appearance of the linting results with formatters. View all built-in formatters on this page. + ## [Integrations](integrations) -Wondering if ESLint will work with your favorite editor or build system? This section has a list of all known integrations (submitted by their authors). +Wondering if ESLint will work with your favorite editor or build system? This page has a list of integrations (submitted by their authors). ## [Rule Deprecation](rule-deprecation) diff --git a/docs/src/use/integrations.md b/docs/src/use/integrations.md index 7de6e11b641..892a5080e35 100644 --- a/docs/src/use/integrations.md +++ b/docs/src/use/integrations.md @@ -2,7 +2,7 @@ title: Integrations eleventyNavigation: key: integrations - parent: user guide + parent: use eslint title: Integrations order: 7 diff --git a/docs/src/use/migrate-to-8.0.0.md b/docs/src/use/migrate-to-8.0.0.md index fbc3b85c775..71d92c52087 100644 --- a/docs/src/use/migrate-to-8.0.0.md +++ b/docs/src/use/migrate-to-8.0.0.md @@ -1,9 +1,9 @@ --- -title: Migrating to v8.0.0 +title: Migrate to v8.0.0 eleventyNavigation: - key: migrating to v8 - parent: user guide - title: Migrating to v8.x + key: migrate to v8 + parent: use eslint + title: Migrate to v8.x order: 7 --- diff --git a/packages/eslint-config-eslint/README.md b/packages/eslint-config-eslint/README.md index d12b24a8fed..a44f991b77d 100644 --- a/packages/eslint-config-eslint/README.md +++ b/packages/eslint-config-eslint/README.md @@ -2,7 +2,7 @@ # ESLint Configuration -[Website](https://eslint.org) | [Configuring](https://eslint.org/docs/latest/use/configure) | [Rules](https://eslint.org/docs/rules/) | [Contributing](https://eslint.org/docs/latest/contribute) | [Twitter](https://twitter.com/geteslint) | [Mailing List](https://groups.google.com/group/eslint) | [Chatroom](https://eslint.org/chat) +[Website](https://eslint.org) | [Configure ESLint](https://eslint.org/docs/latest/use/configure) | [Rules](https://eslint.org/docs/rules/) | [Contributing](https://eslint.org/docs/latest/contribute) | [Twitter](https://twitter.com/geteslint) | [Mailing List](https://groups.google.com/group/eslint) | [Chatroom](https://eslint.org/chat) Contains the ESLint configuration used for projects maintained by the ESLint team. diff --git a/templates/formatter-examples.md.ejs b/templates/formatter-examples.md.ejs index 8bd8bfb2b64..20f46f2d5aa 100644 --- a/templates/formatter-examples.md.ejs +++ b/templates/formatter-examples.md.ejs @@ -1,9 +1,9 @@ --- -title: Formatters +title: Formatters Reference eleventyNavigation: key: formatters - parent: user guide - title: Formatters + parent: use eslint + title: Formatters Reference order: 6 edit_link: https://github.com/eslint/eslint/edit/main/templates/formatter-examples.md.ejs ---