Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

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

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