Skip to content

docs: move remaining docs files into website #5984

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

Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
61f994c
[WIP] chore: move remaining docs files into website
JoshuaKGoldberg Nov 13, 2022
daf8a3c
Updated code comments
JoshuaKGoldberg Nov 17, 2022
95de517
Merge branch 'main'
JoshuaKGoldberg Nov 18, 2022
ec156dd
Cleaned up README.mds
JoshuaKGoldberg Nov 18, 2022
788fc91
Added Architecture.md
JoshuaKGoldberg Nov 18, 2022
b65aaeb
Removed docs/ prefix from URLs
JoshuaKGoldberg Nov 18, 2022
8083184
Massaged internal links
JoshuaKGoldberg Nov 18, 2022
0711994
Moved ASTs page to blog post
JoshuaKGoldberg Nov 18, 2022
54b22a5
Corrected inter-links
JoshuaKGoldberg Nov 18, 2022
497fa4a
Added more redircts
JoshuaKGoldberg Nov 18, 2022
4568422
Split up Contributing
JoshuaKGoldberg Nov 18, 2022
43c06b5
Fixed Markdown linting
JoshuaKGoldberg Nov 18, 2022
724c2df
Correctly fixed linting
JoshuaKGoldberg Nov 18, 2022
1e89b1a
Went the other way fixing markdown linting
JoshuaKGoldberg Nov 18, 2022
216da45
Another cspell complaint
JoshuaKGoldberg Nov 18, 2022
da5e181
Merge branch 'main' into docs-onboard-remaining-files
JoshuaKGoldberg Nov 18, 2022
1bc9c50
Updated snapshot
JoshuaKGoldberg Nov 19, 2022
2524c52
A bit more standardization
JoshuaKGoldberg Nov 19, 2022
2caa764
Casing fixes
JoshuaKGoldberg Nov 19, 2022
537e98a
One more casing fix
JoshuaKGoldberg Nov 19, 2022
9a32a5e
Fixed up many /docs references
JoshuaKGoldberg Nov 19, 2022
78c1a6c
Merge branch 'blog-asts-and-typescript-eslint'
JoshuaKGoldberg Nov 19, 2022
4824f3a
a little more merging
JoshuaKGoldberg Nov 19, 2022
9dd67e6
Merge branch 'blog-asts-and-typescript-eslint'
JoshuaKGoldberg Nov 19, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/DISCUSSION_TEMPLATE/rfcs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ body:
options:
- label: I have [searched for related discussions](https://github.com/typescript-eslint/typescript-eslint/discussions) and [searched for related issues](https://github.com/typescript-eslint/typescript-eslint/issues) and found none that match my proposal.
required: true
- label: I have [read the FAQ](https://typescript-eslint.io/docs/linting/troubleshooting) and my problem is not listed.
- label: I have [read the FAQ](https://typescript-eslint.io/linting/troubleshooting) and my problem is not listed.
required: true
id: required-checks
type: checkboxes
Expand Down
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/01-bug-report-plugin.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ body:
required: true
- label: I have [searched for related issues](https://github.com/typescript-eslint/typescript-eslint/issues?q=is%3Aissue+label%3Abug+label%3A%22package%3A+eslint-plugin%22) and found none that matched my issue.
required: true
- label: I have [read the FAQ](https://typescript-eslint.io/docs/linting/troubleshooting) and my problem is not listed.
- label: I have [read the FAQ](https://typescript-eslint.io/linting/troubleshooting) and my problem is not listed.
required: true
- type: input
id: playground-link
Expand Down
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/02-enhancement-rule-option.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ body:
required: true
- label: I have searched the [current rule list](https://typescript-eslint.io/rules/#supported-rules) and found no rules that match my proposal.
required: true
- label: I have [read the FAQ](https://typescript-eslint.io/docs/linting/troubleshooting) and my problem is not listed.
- label: I have [read the FAQ](https://typescript-eslint.io/linting/troubleshooting) and my problem is not listed.
required: true
- type: checkboxes
id: rule-fits-the-brief
Expand Down
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/03-enhancement-new-rule.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ body:
required: true
- label: I have searched the [current rule list](https://typescript-eslint.io/rules/#supported-rules) and found no rules that match my proposal.
required: true
- label: I have [read the FAQ](https://typescript-eslint.io/docs/linting/troubleshooting) and my problem is not listed.
- label: I have [read the FAQ](https://typescript-eslint.io/linting/troubleshooting) and my problem is not listed.
required: true
- type: checkboxes
id: rule-fits-the-brief
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ body:
required: true
- label: I have searched the [current extension rule list](https://typescript-eslint.io/rules/#extension-rules) and found no rules that match my proposal.
required: true
- label: I have [read the FAQ](https://typescript-eslint.io/docs/linting/troubleshooting) and my problem is not listed.
- label: I have [read the FAQ](https://typescript-eslint.io/linting/troubleshooting) and my problem is not listed.
required: true
- type: checkboxes
id: rule-fits-the-brief
Expand Down
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/05-documentation-request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ body:
options:
- label: I have looked for existing [open or closed documentation requests](https://github.com/typescript-eslint/typescript-eslint/issues?q=is%3Aissue+label%3Adocumentation) that match my proposal.
required: true
- label: I have [read the FAQ](https://typescript-eslint.io/docs/linting/troubleshooting) and my problem is not listed.
- label: I have [read the FAQ](https://typescript-eslint.io/linting/troubleshooting) and my problem is not listed.
required: true
- type: markdown
attributes:
Expand Down
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/06-bug-report-other.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ body:
required: true
- label: I have [searched for related issues](https://github.com/typescript-eslint/typescript-eslint/issues?q=is%3Aissue+label%3Abug) and found none that matched my issue.
required: true
- label: I have [read the FAQ](https://typescript-eslint.io/docs/linting/troubleshooting) and my problem is not listed.
- label: I have [read the FAQ](https://typescript-eslint.io/linting/troubleshooting) and my problem is not listed.
required: true
- type: markdown
id: complexity-note
Expand Down
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/07-enhancement-other.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ body:
required: true
- label: I have searched the [current rule list](https://typescript-eslint.io/rules/#supported-rules) and found no rules that match my proposal.
required: true
- label: I have [read the FAQ](https://typescript-eslint.io/docs/linting/troubleshooting) and my problem is not listed.
- label: I have [read the FAQ](https://typescript-eslint.io/linting/troubleshooting) and my problem is not listed.
required: true
- type: dropdown
id: package
Expand Down
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/08-bug-report-complex.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ body:
required: true
- label: I have [searched for related issues](https://github.com/typescript-eslint/typescript-eslint/issues?q=is%3Aissue+label%3Abug) and found none that matched my issue.
required: true
- label: I have [read the FAQ](https://typescript-eslint.io/docs/linting/troubleshooting) and my problem is not listed.
- label: I have [read the FAQ](https://typescript-eslint.io/linting/troubleshooting) and my problem is not listed.
required: true
- type: textarea
id: description
Expand Down
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/09-config-change.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ body:
options:
- label: I have [searched for related issues](https://github.com/typescript-eslint/typescript-eslint/issues?q=is%3Aissue+label%3A%22preset+config+change%22+) and found none that match my proposal.
required: true
- label: I have [read the FAQ](https://typescript-eslint.io/docs/linting/troubleshooting) and my problem is not listed.
- label: I have [read the FAQ](https://typescript-eslint.io/linting/troubleshooting) and my problem is not listed.
required: true
- type: textarea
id: description
Expand Down
4 changes: 2 additions & 2 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ blank_issues_enabled: false
contact_links:
- name: FAQ
about: Please check out our FAQ before filing new issues
url: https://typescript-eslint.io/docs/linting/troubleshooting
url: https://typescript-eslint.io/linting/troubleshooting
- name: Getting Started Guide
about: If you're looking for help setting up check out our getting started guide
url: https://typescript-eslint.io/docs/
url: https://typescript-eslint.io
2 changes: 1 addition & 1 deletion .github/replies.yml
Original file line number Diff line number Diff line change
Expand Up @@ -73,5 +73,5 @@ replies:
The configurability also leads to huge fanout [making tests huge, and awful to maintain](https://github.com/typescript-eslint/typescript-eslint/blob/b814e635c1f34139c89e0176727480935dd45cac/packages/eslint-plugin/tests/rules/type-annotation-spacing.test.ts).
\
It's for these reasons that [eslint has frozen all stylistic lint rule options, and will not accept any new ones](https://eslint.org/blog/2020/05/changes-to-rules-policies).
See also our [What About Formatting?](https://typescript-eslint.io/docs/linting/troubleshooting/formatting) docs.
See also our [What About Formatting?](https://typescript-eslint.io/linting/troubleshooting/formatting) docs.
name: Use Prettier
110 changes: 2 additions & 108 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,110 +1,4 @@
# Contributing

Thank you for your interest in contributing to TypeScript ESLint! 💜

> Make sure you read our [Code of Conduct](./CODE_OF_CONDUCT.md) before contributing.

## Raising Issues

So you've got a bug report, documentation request, or feature suggestion?
Great!

Do:

- Make sure you're using the [latest version of our packages](https://github.com/typescript-eslint/typescript-eslint/releases)
- Search [all opened and closed issues](https://github.com/typescript-eslint/typescript-eslint/issues?q=is%3Aissue+) to make sure your issue wouldn't be a duplicate
- Fill out the [appropriate issue template](https://github.com/typescript-eslint/typescript-eslint/issues/new/choose) completely
- Provide as much information as you can

### Questions and Support Requests

We do not have the bandwidth to handle questions or support requests in the issue tracker.
You can instead:

- Ask a question on [StackOverflow](https://stackoverflow.com/questions/tagged/typescript-eslint 'StackOverflow questions tagged with typescript-eslint') using the `typescript-eslint` tag
- Publicly tweet [@tseslint on Twitter](https://twitter.com/tseslint)

> Note that requests to add documentation _are_ allowed, even encouraged! 📝

## Commenting

Please do comment on any open issue if you have more information that would be useful.

Don't:

- Leave useless comments such as _"+1"_ or _"when's this getting fixed?"_ that only act as spam
- If you have nothing to add but enthusiasm and joy, add a reaction such as 👍
- Bring up unrelated topics in existing issues: instead, file a new issue
- Comment on closed PRs: instead, [file a new issue](#raising-issues)
- Comment on commits directly, as those comments are not searchable: instead, file a new issue

## Pull Requests

> See [DEVELOPMENT.md](./DEVELOPMENT.md) for details on how to get started developing locally.

Do:

- Only send pull requests that resolve [open issues marked as `accepting prs`](https://github.com/typescript-eslint/typescript-eslint/issues?q=is%3Aissue+is%3Aopen+label%3A%22accepting+prs%22)
- One exception: extremely minor documentation typos
- Fill out the pull request template in full
- Validate your changes per [Development > Validating Changes](./DEVELOPMENT.md#validating-changes) before un-[drafting your PR](https://github.blog/2019-02-14-introducing-draft-pull-requests)

Don't:

- Force push after opening a PR
- Reasoning: GitHub is not able to track changes across force pushes, which makes it take longer for us to perform incremental reviews
- Comment asking for updates
- Reasoning: Your PR hasn't been forgotten! The volunteer maintainers have limited time to work on the project, and they will get to it as soon as they are able.

### Raising a PR

Once your changes are ready, you can raise a PR! 🙌
The title of your PR should match the following format:

```text
<type>(<package>): <short description>
```

You can find more samples of good past PR titles in [recent commits to `main`](https://github.com/typescript-eslint/typescript-eslint/commits/main).

```text
fix(scope-manager): correct handling for class static blocks
```

```text
docs: Fix links to getting started in README.md
```

Within the body of your PR, make sure you reference the issue that you have worked on, as well as pointing out anything of note you wish us to look at during our review.

> We do not care about the number, or style of commits in your history, because we squash merge every PR into `main`.
> Feel free to commit in whatever style you feel comfortable with.

#### type

Must be one of the following:

- `docs` - if you only change documentation, and not shipped code
- `feat` - for any new functionality additions
- `fix` - for any bug fixes that don't add new functionality
- `test` - if you only change tests, and not shipped code
- `chore` - anything else

#### package

The name of the package you have made changes within, (e.g. `eslint-plugin`, `parser`, `typescript-estree`).
If you make significant changes across multiple packages, you can omit this (e.g.
`feat: foo bar`).

#### short description

A succinct title for the PR.

### Addressing Feedback and Beyond

With your PR raised and the CI passing, your PR will [wait in the queue to be reviewed](https://github.com/typescript-eslint/typescript-eslint/pulls?q=is%3Apr+is%3Aopen+sort%3Acreated-asc+-label%3A%22breaking+change%22+-label%3A%22awaiting+response%22+-label%3A%221+approval%22+-label%3A%22DO+NOT+MERGE%22+status%3Asuccess).
We generally review PRs oldest to newest, unless we consider a newer PR higher priority (e.g. if it's a bug fix).

Once we have reviewed your PR, we will provide any feedback that needs addressing.
If you feel a requested change is wrong, don't be afraid to discuss with us in the comments.
Once the feedback is addressed, and the PR is reviewed, we'll ensure the branch is up to date with `main`, and merge it for you.
See **https://typescript-eslint.io/contributing** for our contributing guidelines.
Thanks! 💖
69 changes: 2 additions & 67 deletions DEVELOPMENT.md
Original file line number Diff line number Diff line change
@@ -1,69 +1,4 @@
# Development

Thank you for your interest in developing on TypeScript ESLint! ❤️‍🔥

> See [CONTRIBUTING.md](./CONTRIBUTING.md) for details on our general contribution flows.

## Setup

After [forking the repo from GitHub](https://help.github.com/articles/fork-a-repo):

```shell
git clone https://github.com/<your-name-here>/typescript-eslint
cd typescript-eslint
yarn
```

Postinstall scripts will then fully build your repository locally with (`yarn build`).
At this point, you're ready to develop! 🚀

## Builds

You can run `yarn build` in any package or in the root to build the package(s).

Keep in mind that packages generally depend on each other's built outputs, and you'll need to `yarn build` dependents for their consumers to receive any new local changes.
For example, if you make a change within `scope-manager` and want to use it in `eslint-plugin`, you'll need to `yarn build` either from the root or within `packages/scope-manager`.

## Validating Changes

The following checks are all run on pull requests automatically.
You can also perform them locally.

### Formatting

We use [Prettier](https://prettier.io) to auto-format code.
A Git pre-commit hook should apply it to all committed changes.
ALternately, you can run `yarn format` in any package or in the root.

### Linting

All code changes must pass ESLint.
You can run `yarn lint` in any package or in the root.

### Proofreading

Changes must pass two linters for documentation and naming, the commands for which may be run from the root:

- `yarn check-spelling`: [CSpell](https://cspell.org), for all code
- `yarn lint-markdown`: [Markdownlint](https://github.com/DavidAnson/markdownlint), for Markdown documentation

### Tests

All code changes should ideally be unit tested if possible.
You can run `yarn test` in any package to run its tests.

> [VS Code launch tasks](https://code.visualstudio.com/docs/editor/tasks) tasks are provided that allow [visual debugging](https://code.visualstudio.com/docs/editor/debugging) tests

#### Code Coverage

We aim for 100% code coverage in all PRs when possible, except in the `website/` package.
Coverage reports are be generated locally whenever `yarn test` is run.

The `codecov` bot should also comment on your PR with the percentage, as well as links to the line-by-line coverage of each file touched by your PR.

### Type Checking

All code should pass TypeScript type checking.
You can run `yarn typecheck` in any package or in the root to run `tsc`.

> Run `yarn typecheck -w` to start `tsc` in watch mode.
See **https://typescript-eslint.io/contributing/development** for our development instructions.
Thanks! 💖
85 changes: 5 additions & 80 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,88 +20,9 @@
👆
</p>

## Packages included in this project

See https://typescript-eslint.io/docs/development/architecture/packages for more details.

- [`@typescript-eslint/eslint-plugin`](./packages/eslint-plugin)
- [`@typescript-eslint/parser`](./packages/parser)
- [`@typescript-eslint/eslint-plugin-tslint`](./packages/eslint-plugin-tslint)
- [`@typescript-eslint/utils`](./packages/utils)
- [`@typescript-eslint/typescript-estree`](./packages/typescript-estree)
- [`@typescript-eslint/scope-manager`](./packages/scope-manager)

## Versioning

All of the packages are published with the same version number to make it easier to coordinate both releases and installations.

We publish a canary release on every successful merge to `main`, so **you never need to wait for a new stable version to make use of any updates**.

Additionally, we promote to the `latest` tag on NPM once per week, **on Mondays at 1 pm Eastern**.

The latest version under the `latest` tag is:

<a href="https://www.npmjs.com/package/@typescript-eslint/parser"><img src="https://img.shields.io/npm/v/@typescript-eslint/parser/latest.svg?style=flat-square" alt="NPM Version" /></a>

The latest version under the `canary` tag **(latest commit to `main`)** is:

<a href="https://www.npmjs.com/package/@typescript-eslint/parser"><img src="https://img.shields.io/npm/v/@typescript-eslint/parser/canary.svg?style=flat-square" alt="NPM Version" /></a>

(Note: The only exception to the automated publishes described above is when we are in the final phases of creating the next major version of the libraries - e.g. going from `1.x.x` to `2.x.x`. During these periods, we manually publish `canary` releases until we are happy with the release and promote it to `latest`.)

### Supported TypeScript Version

**The version range of TypeScript currently supported by this parser is `>=3.3.1 <5.0.0`.**

These versions are what we test against.

We will always endeavor to support the latest stable version of TypeScript.
Sometimes, but not always, changes in TypeScript will not require breaking changes in this project, and so we are able to support more than one version of TypeScript.
In some cases, we may even be able to support additional pre-releases (i.e. betas and release candidates) of TypeScript, but only if doing so does not require us to compromise on support for the latest stable version.

Note that our packages have an open `peerDependency` requirement in order to allow for experimentation on newer/beta versions of TypeScript.

If you use a non-supported version of TypeScript, the parser will log a warning to the console.
If you want to disable this warning, you can configure this in your `parserOptions`. See: [`@typescript-eslint/parser`](./packages/parser/) and [`@typescript-eslint/typescript-estree`](./packages/typescript-estree/).

**Please ensure that you are using a supported version before submitting any issues/bug reports.**

### Supported ESLint Version

See the value of `eslint` declared in `@typescript-eslint/eslint-plugin`'s [package.json](./packages/eslint-plugin/package.json).

### Supported Node Version

This project makes an effort to support Active LTS and Maintenance LTS release statuses of Node according to [Node's release document](https://nodejs.org/en/about/releases).
Support for specific Current status releases are considered periodically.

## License

TypeScript ESLint inherits from the original TypeScript ESLint Parser license, as the majority of the work began there. It is licensed under a permissive BSD 2-clause license.

## How can I help?

I'm so glad you asked!

Although typescript-eslint's packages are already downloaded millions of times per month and power high profile projects across our industry, this is a 100% community-driven project.
From the second you install one of the packages from this monorepo, you are a part of that community.

**See an issue?**
Report it in as much detail as possible, ideally with a clear and minimal reproduction.

If you have the time and the inclination, you can even take it a step further and submit a PR to improve the project.

There are also financial ways to contribute, please see [Financial Contributors](#Financial-Contributors) for more details.

All positive contributions are welcome here!

> **[See the contributing guide here](./CONTRIBUTING.md)**.

Please be respectful and mindful of how many hours of unpaid work go into typescript-eslint.

## Code Contributors

This project exists thanks to every one of the awesome people who contribute code and documentation:
This project exists thanks to the awesome people who contribute code and documentation:

<a href="https://github.com/typescript-eslint/typescript-eslint/graphs/contributors"><img alt="Gallery of all contributors' profile photos" src="https://opencollective.com/typescript-eslint/contributors.svg?width=890&button=false" /></a>

Expand All @@ -114,3 +35,7 @@ In addition to submitting code and documentation updates, you can help us sustai
<a href="https://www.netlify.com">
<img src="https://www.netlify.com/img/global/badges/netlify-light.svg" alt="Deploys by Netlify" />
</a>

## License

TypeScript ESLint inherits from the original TypeScript ESLint Parser license, as the majority of the work began there. It is licensed under a permissive BSD 2-clause license.
Loading