Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/svengreb/styleguide-javascript
An opinionated, yet universally applicable JavaScript code style guide
https://github.com/svengreb/styleguide-javascript
codestyle consistency ecmascript es6 eslint eslint-config guide javascipt javascript linting style style-guide styleguide svengreb
Last synced: 3 months ago
JSON representation
An opinionated, yet universally applicable JavaScript code style guide
- Host: GitHub
- URL: https://github.com/svengreb/styleguide-javascript
- Owner: svengreb
- License: mit
- Created: 2018-01-19T09:00:37.000Z (about 7 years ago)
- Default Branch: main
- Last Pushed: 2023-04-29T09:15:54.000Z (over 1 year ago)
- Last Synced: 2024-10-10T15:16:02.708Z (3 months ago)
- Topics: codestyle, consistency, ecmascript, es6, eslint, eslint-config, guide, javascipt, javascript, linting, style, style-guide, styleguide, svengreb
- Language: JavaScript
- Homepage:
- Size: 1.22 MB
- Stars: 23
- Watchers: 2
- Forks: 3
- Open Issues: 1
-
Metadata Files:
- Readme: readme.md
- Changelog: changelog.md
- License: license
- Codeowners: .github/codeowners
Awesome Lists containing this project
README
An opinionated, yet universally applicable JavaScript code style guide based on the Airbnb JavaScript Style Guide.
Every major open source project has its own style guide, a set of standards and conventions for the writing and design of code, documentations and assets. It is much easier to understand a large codebase when all the code in it is in a consistent style.
A style guide establishes and enforces styles to improve the intelligibility and communication within the project community. It ensures consistency and enforces best practice in usage and language composition.
## Getting Started
The [project documentation][7] contains chapters to learn about the [comprehensive base rule set][5] including [ECMAScript +6 (ES 2015+)][1] and [React][4] specific styles like e.g. [Higher-Order Components][6], the [component methods & properties ordering][2] and [props][3].
### ESLint Configurations
To follow these rules in a project use the official extensible code linter configurations [@svengreb/eslint-config-base][19] for [ESLint][8]. The advanced [@svengreb/eslint-config][20] package provides support for specific [React][24] and [JSX A11Y][22] rules as well as compatibility integrations for other projects like [Prettier][23].
To lint projects build with [TypeScript][25], the [@svengreb/eslint-config-typescript][21] package can be extended for full compatibility with the TypeScript compiler in combination with the powerful ESLint engine. It also allows to lint mixed projects consisting of both TypeScript and JavaScript sources.
## Contributing
Read the [contributing guide][9] to learn about the development process and how to propose [enhancement suggestions][11] and [report bugs][10], how to [submit pull requests][15] and the project‘s [style guides][16], [branch organization][17] and [versioning][18] model.
The guide also includes information about [minimal, complete, and verifiable examples][14] and other ways to contribute to the project like [improving existing issues][13] and [giving feedback on issues and pull requests][12].
Copyright © 2016-present Sven Greb[1]: https://github.com/svengreb/styleguide-javascript/blob/main/rules/ecmascript_6+_styles.md
[2]: https://github.com/svengreb/styleguide-javascript/blob/main/rules/react/ordering.md#component-methods-and-properties
[3]: https://github.com/svengreb/styleguide-javascript/blob/main/rules/react/props.md
[4]: https://github.com/svengreb/styleguide-javascript/blob/main/rules/react/index.md
[5]: https://github.com/svengreb/styleguide-javascript/blob/main/rules/index.md
[6]: https://github.com/svengreb/styleguide-javascript/blob/main/rules/react/higher_order_components.md
[7]: https://github.com/svengreb/styleguide-javascript/tree/main/rules
[8]: https://eslint.org
[9]: https://github.com/svengreb/.github/blob/main/contributing.md
[10]: https://github.com/svengreb/.github/blob/main/contributing.md#bug-reports
[11]: https://github.com/svengreb/.github/blob/main/contributing.md#enhancement-suggestions
[12]: https://github.com/svengreb/.github/blob/main/contributing.md#feedback
[13]: https://github.com/svengreb/.github/blob/main/contributing.md#improve-issues
[14]: https://github.com/svengreb/.github/blob/main/contributing.md#mcve
[15]: https://github.com/svengreb/.github/blob/main/contributing.md#pull-requests
[16]: https://github.com/svengreb/.github/blob/main/contributing.md#style-guides
[17]: https://github.com/svengreb/.github/blob/main/contributing.md#branch-organization
[18]: https://github.com/svengreb/.github/blob/main/contributing.md#versioning
[19]: https://github.com/svengreb/styleguide-javascript/tree/main/packages/@svengreb/eslint-config-base
[20]: https://github.com/svengreb/styleguide-javascript/tree/main/packages/@svengreb/eslint-config
[21]: https://github.com/svengreb/styleguide-javascript/tree/main/packages/@svengreb/eslint-config-typescript
[22]: https://www.npmjs.com/package/eslint-plugin-jsx-a11y
[23]: https://prettier.io
[24]: https://react.dev
[25]: https://www.typescriptlang.org