[go: up one dir, main page]

Skip to content

An opinionated, yet universally applicable JavaScript code style guide

License

Notifications You must be signed in to change notification settings

svengreb/styleguide-javascript

Repository files navigation

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 contains chapters to learn about the comprehensive base rule set including ECMAScript +6 (ES 2015+) and React specific styles like e.g. Higher-Order Components, the component methods & properties ordering and props.

ESLint Configurations

To follow these rules in a project use the official extensible code linter configurations @svengreb/eslint-config-base for ESLint. The advanced @svengreb/eslint-config package provides support for specific React and JSX A11Y rules as well as compatibility integrations for other projects like Prettier.

To lint projects build with TypeScript, the @svengreb/eslint-config-typescript 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 to learn about the development process and how to propose enhancement suggestions and report bugs, how to submit pull requests and the project‘s style guides, branch organization and versioning model.

The guide also includes information about minimal, complete, and verifiable examples and other ways to contribute to the project like improving existing issues and giving feedback on issues and pull requests.

Copyright © 2016-present Sven Greb