You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardexpand all lines: CONTRIBUTING.md
+23-25
Original file line number
Diff line number
Diff line change
@@ -21,7 +21,7 @@ Useful contributions include fixing bugs or inconsistencies, adding or proposing
21
21
22
22
### Opening a new Pull Request
23
23
24
-
-**Contributions orientation**: if you want to contribute but don't know where to start, consider checking the [good first issue](https://github.com/AndreaPontrandolfo/sheriff/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22) labeled issues. Alternatively, consider checking the [help wanted](https://github.com/AndreaPontrandolfo/sheriff/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22) labeled issues.
24
+
-**Contributions orientation**: if you want to contribute, but don't know where to start, consider checking for issues labels ["good first issue"](https://github.com/AndreaPontrandolfo/sheriff/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22). Alternatively, consider checking for issues labeled ["help wanted"](https://github.com/AndreaPontrandolfo/sheriff/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22).
25
25
-**Issues as pre-requirement policy**: Please ensure there is an open issue before creating a pull request. If an issue does not exist, you need to open one first. After this, the maintainers will discuss your proposed changes and provide feedback. If the issue is approved, you can proceed by creating a pull request. Approved issues will be marked with the green `approved` label. If an issue hasn't been approved yet (it still has the `triaging` label), and you create a pull request, it will be immediately declined.
26
26
-**Small and focused**: Keep your pull requests as small and as focused as possible. This will make it easier for maintainers to review and merge your changes.
27
27
-**Pass quality checks**: Pull requests will only be merged if they pass the quality checks performed by the `pnpm merge-checks` command.
@@ -32,55 +32,55 @@ Useful contributions include fixing bugs or inconsistencies, adding or proposing
32
32
33
33
### Requirements
34
34
35
-
-make sure Git is installed in your system
36
-
-make sure Nodejs 20.10.X is installed in your system
37
-
-make sure [Pnpm is installed](https://pnpm.io/installation) in your system. If you are not sure how to install it, use corepack:
35
+
-Ensure Git is installed in your system.
36
+
-Ensure Node.js 20.10.x is installed in your system.
37
+
-Ensure [pnpm is installed](https://pnpm.io/installation) in your system. If you are not sure how to install it, use Corepack:
38
38
39
-
```bash
39
+
```sh
40
40
corepack enable
41
41
```
42
42
43
43
### Step-by-Step Guide
44
44
45
45
1. Start by forking this repository to your own GitHub account.
|[`eslint-config-sheriff`](https://www.npmjs.com/package/eslint-config-sheriff)|[eslint-config-sheriff](https://github.com/AndreaPontrandolfo/sheriff/tree/master/packages/eslint-config-sheriff)| A comprehensive and opinionated TypeScript-first ESLint configuration |[](https://www.npmjs.com/package/eslint-config-sheriff)|
26
-
|[`@sherifforg/create-config`](https://www.npmjs.com/package/@sherifforg/create-config)|[sheriff-create-config](https://github.com/AndreaPontrandolfo/sheriff/tree/master/packages/sheriff-create-config)| Package used to create Sheriff-based ESLint configs |[](https://www.npmjs.com/package/@sherifforg/create-config)|
27
-
|[`@sherifforg/cli`](https://www.npmjs.com/package/@sherifforg/cli)|[sheriff-cli](https://github.com/AndreaPontrandolfo/sheriff/tree/master/packages/sheriff-cli)| The Sheriff CLI. Used to manage Sheriff-based ESLint configs|[](https://www.npmjs.com/package/@sherifforg/cli)|
|[`eslint-config-sheriff`](https://www.npmjs.com/package/eslint-config-sheriff)|[eslint-config-sheriff](https://github.com/AndreaPontrandolfo/sheriff/tree/master/packages/eslint-config-sheriff)| A comprehensive and opinionated TypeScript-first ESLint configuration |[](https://www.npmjs.com/package/eslint-config-sheriff)|
22
+
|[`@sherifforg/create-config`](https://www.npmjs.com/package/@sherifforg/create-config)|[sheriff-create-config](https://github.com/AndreaPontrandolfo/sheriff/tree/master/packages/sheriff-create-config)| Package used to create Sheriff-based ESLint configs |[](https://www.npmjs.com/package/@sherifforg/create-config)|
23
+
|[`@sherifforg/cli`](https://www.npmjs.com/package/@sherifforg/cli)|[sheriff-cli](https://github.com/AndreaPontrandolfo/sheriff/tree/master/packages/sheriff-cli)| The Sheriff CLI. Used to manage Sheriff-based ESLint configs|[](https://www.npmjs.com/package/@sherifforg/cli)|
28
24
29
25
## 🚀 Quickstart
30
26
@@ -44,7 +40,7 @@ You can follow the latest updates on the project in the [official blog](https://
44
40
45
41
For some of this configuration, [eslint-config-red](https://github.com/GrosSacASac/JavaScript-Set-Up/blob/master/js/red-javascript-style-guide/index.js) was partially used as a base. Additionally, inspiration was drawn from [eslint-config-airbnb](https://github.com/airbnb/javascript/tree/master/packages/eslint-config-airbnb) for some of the rules in `no-restricted-syntax`.
46
42
47
-
I don't take any attribution for the rules in the various eslint-plugins used here (except for the few that I personally created).
43
+
I don't take any attribution for the rules in the various eslint-plugins used here (except for the few that I personally created).
48
44
49
45
Please consider starring the respective projects for the awesome work their authors made. Sheriff wouldn't be possible without their efforts.
Copy file name to clipboardexpand all lines: apps/docs-website/blog/2023-08-16-sheriff-reboot.mdx
+8-8
Original file line number
Diff line number
Diff line change
@@ -27,41 +27,41 @@ Let's walkthrough the key changes of this release.
27
27
28
28
## Restructured Codebase in a monorepo
29
29
30
-
The codebase has been restructured into a monorepo setup with [Turborepo](https://turbo.build/repo) + [pnpm workspaces](https://pnpm.io/workspaces), as it allows for the management of multiple related packages under a single repository, streamlining the development process and enabling better coordination between different parts of the project.
30
+
The codebase has been restructured into a monorepo setup with [Turborepo](https://turbo.build/repo/docs) + [pnpm workspaces](https://pnpm.io/workspaces), as it allows for the management of multiple related packages under a single repository, streamlining the development process and enabling better coordination between different parts of the project.
31
31
32
32
As a side-effect, the project now relies on [changesets](https://github.com/changesets/changesets) to manage semantic versioning, in place of [semantic-release](https://github.com/semantic-release/semantic-release).
33
33
34
34
## Complete Rebranding
35
35
36
36
### New Docs
37
37
38
-
The documentation has been fully revamped, moving on from [Gitbook](https://www.gitbook.com/) to [Docusaurus](https://docusaurus.io/), a modern documentation framework.<br/>
39
-
Whether a newcomer or a seasoned user, the documentation is more accessible and easier to navigate, with a sidebar that allows for quick access to the different sections.<br/>
38
+
The documentation has been fully revamped, moving on from [GitBook](https://www.gitbook.com/) to [Docusaurus](https://docusaurus.io/), a modern documentation framework.<br/>
39
+
Whether a newcomer or a seasoned user, the documentation is more accessible and easier to navigate, with a sidebar that allows for quick access to the different sections.<br/>
40
40
Also, a special [Rules page](https://www.eslint-config-sheriff.dev/docs/rules) was carefully crafted to let users explore in detail all the rules that Sheriff enables.
41
41
42
42
Visit the new docs at this [link](https://www.eslint-config-sheriff.dev).
43
43
44
44
### New Logo
45
45
46
-
The beginning of a fresh era for Sheriff is marked by a new logo, that features the iconic ESLint logo and a shield.
46
+
The beginning of a fresh era for Sheriff is marked by a new logo that features the iconic ESLint logo and a shield.
47
47
48
48

49
49
50
50
### New Blog
51
51
52
-
A [brand-new blog](https://www.eslint-config-sheriff.dev/blog) is now available, where I'll keep sharing updates on the projects as it grows along.
52
+
A [brand-new blog](https://www.eslint-config-sheriff.dev/blog) is now available, where I'll keep sharing updates as it grows along.
53
53
54
54
## What's Next
55
55
56
56
The focus remains on continuously improving the tool, making it more adaptable, and responding to the evolving needs of the development community.<br />
57
57
Looking ahead, several exciting developments are in store:
58
58
59
-
-**Astro Support**: In the continuous effort to integrate more eslint-plugins into Sheriff, the next in line is [eslint-plugin-astro](https://github.com/ota-meshi/eslint-plugin-astro).
59
+
-**Astro Support**: In the continuous effort to integrate more ESLint plugins into Sheriff, the next in line is [eslint-plugin-astro](https://github.com/ota-meshi/eslint-plugin-astro).
60
60
-**Searchbar**: full-text search, powered by [Algolia](https://www.algolia.com/) in the new docs.
61
61
-**Ask AI**: along with the new searchbar will come an "Ask AI bot" feature. Details on this one are still being worked on.
62
62
63
63
## Conclusion
64
64
65
-
With this much-needed facelift, Sheriff is ready to keep growing. With a new documentation hub powered by Docusaurus, logo, and blog in place, Sheriff is set to provide an even more exceptional ESLint sharable config experience.<br/>
66
-
If you want to help feel free to propose new features, both for the config and the docs, or report any bug you might come across.<br/>
65
+
With this much-needed facelift, Sheriff is ready to keep growing. With a new documentation hub powered by Docusaurus, logo, and blog in place, Sheriff is set to provide an even more exceptional ESLint sharable config experience.<br/>
66
+
If you want to help feel free to propose new features, both for the config and the docs, or report any bug you might come across.<br/>
67
67
Stay tuned for updates and insights on the new blog!
Copy file name to clipboardexpand all lines: apps/docs-website/blog/2023-11-01-astro-support-landed.mdx
+11-5
Original file line number
Diff line number
Diff line change
@@ -21,19 +21,25 @@ import useBaseUrl from "@docusaurus/useBaseUrl";
21
21
22
22
## Sheriff release v16
23
23
24
-
Sheriff continues his quest to conquer the JS ecosystem.
24
+
Sheriff continues its quest to conquer the JS ecosystem.
25
25
26
26
## Sheriff extends support for Astro
27
27
28
-
This release introduces support for [Astro.js](https://astro.build/), thanks to [ota-meshi](https://github.com/ota-meshi) libraries, [eslint-plugin-astro](https://github.com/ota-meshi/eslint-plugin-astro) and [astro-eslint-parser](https://github.com/ota-meshi/astro-eslint-parser).
28
+
This release introduces support for [Astro](https://astro.build/), thanks to [ota-meshi](https://github.com/ota-meshi)’s libraries, [eslint-plugin-astro](https://github.com/ota-meshi/eslint-plugin-astro) and [astro-eslint-parser](https://github.com/ota-meshi/astro-eslint-parser).
29
29
30
30
The integration is provided out-of-the-box, meaning nothing has to be configured on the user side. Sheriff will automatically detect Astro projects and run the appropriate rules. All you have to do is upgrade Sheriff to this version.
31
31
32
+
:::important
33
+
34
+
As of Sheriff v19, Astro support has been moved behind an option.
35
+
36
+
:::
37
+
32
38
This integration presented significant challenges, as the pertinent ESLint plugins are still in experimental status and also because this integration provides JSX-relevant ESLint rules inside `.astro` files, meaning that we are now parsing `.astro` files (in a Typescript-aware way) and provide Astro and React relevant rules inside them. This has not been trivial.
33
39
34
40
## Sheriff meets Algolia
35
41
36
-
The Sheriff documentation website has now a full-text search powered by [Algolia Docsearch](https://docsearch.algolia.com/), generously provided for free by the open-source projects sponsorship by [Algolia](https://www.algolia.com/). The documentation is now easier than ever to navigate.
42
+
The Sheriff documentation website has now a full-text search powered by [Algolia Docsearch](https://docsearch.algolia.com/), generously provided for free by the open-source projects sponsorship by [Algolia](https://www.algolia.com/). The documentation is now easier than ever to navigate.
37
43
38
44
The "Ask AI" feature, instead, didn't make it in this release. There aren't yet solid solutions in this space, for now.
39
45
@@ -44,7 +50,7 @@ Finally, as the last treat, my newest `eslint-plugin`, [fsecond](https://github.
44
50
Fsecond adds 2 new rules:
45
51
46
52
-`fsecond/prefer-destructured-optionals`: enforce placing optional parameters to the end of the function signature as destructured objects
47
-
-`fsecond/valid-event-listener`: enforce using a `useEventListener` utility function instead of `addEventListener` methods, or, optionally, you can disable that behaviour and the rule will just warn against incorrect usage of addEventListener methods
53
+
-`fsecond/valid-event-listener`: enforce using a `useEventListener` utility function instead of `addEventListener` methods, or, optionally, you can disable that behavior and the rule will just warn against incorrect usage of addEventListener methods
48
54
49
55
## What's Next
50
56
@@ -58,6 +64,6 @@ The commitment to improving Sheriff remains strong. Here's a glimpse of what's o
58
64
59
65
## Conclusion
60
66
61
-
As always, if you feel like contributing, feel free to propose suggestions or pull-requests. And if you just want to show appreciation, leave a star on Github.
67
+
As always, if you feel like contributing, feel free to propose suggestions or pull-requests. And if you just want to show appreciation, leave a star on GitHub.
62
68
63
69
Sheriff is actively dedicated to becoming even more adaptable and feature-rich. Stay tuned for further updates and enhancements!
0 commit comments