Awesome
<p align="center"> <a href="https://codely.com"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://codely.com/logo/codely_logo-dark.svg"> <source media="(prefers-color-scheme: light)" srcset="https://codely.com/logo/codely_logo-light.svg"> <img alt="Codely logo" src="https://codely.com/logo/codely_logo.svg"> </picture> </a> </p> <h1 align="center"> π€ Codely's ESLint + Prettier configuration </h1> <p align="center"> <a href="https://github.com/CodelyTV"><img src="https://img.shields.io/badge/CodelyTV-OS-green.svg?style=flat-square" alt="Codely Open Source"/></a> <a href="https://pro.codely.com"><img src="https://img.shields.io/badge/CodelyTV-PRO-black.svg?style=flat-square" alt="CodelyTV Courses"/></a> </p> <p align="center"> Opinionated linting configuration considering modern TypeScript best practices and providing consistency to your <code>import</code> statements. Valid for your JavaScript or TypeScript projects π€ <br /> <br /> Take a look, play and have fun with this. <a href="https://github.com/CodelyTV/eslint-config-codely/stargazers">Stars are welcome π</a> </p>π How to use
- Install the dependency.
npm install --save-dev eslint-config-codely
- Add it to your
eslint.config.js
:
import eslintConfigCodely from "eslint-config-codely";
export default [
// If you're using js
...eslintConfigCodely.js,
// Or if you're using ts. The ts config includes the js one, so you don't need to include it manually.
...eslintConfigCodely.ts,
{
// Your config here
}
]
Also, you can use the full
config, which includes the js
, ts
and very opinionated Codely configs.
import eslintConfigCodely from "eslint-config-codely";
export default [
...eslintConfigCodely.full,
{
// Your config here
}
]
We have a course
setting. This is the same as the full
config, but with a narrower width due to the zoom used in
videos:
import eslintConfigCodely from "eslint-config-codely";
export default [
...eslintConfigCodely.course,
{
// Your config here
}
]
βΉοΈ Please note that some of the rules enabled by default require that you have strict: true
in your tsconfig.json
.
π€ What it does
- Lints JavaScript using
eslint:recommended
and Prettier. - Additionally, lints TypeScript using
@typescript-eslint/recommended
and@typescript-eslint/recommended-requiring-type-checking
. - Uses the following plugins:
import
: helps validate proper imports.simple-import-sort
: sorts imports.unused-imports
: finds and removes unused ES6 module imports.
- Uses rules inside the configs folder.
πΒ Codely Code Quality Standards
Publishing this package we are committing ourselves to the following code quality standards:
- π€ Respect Semantic Versioning: No breaking changes in patch or minor versions.
- π€ No surprises in transitive dependencies: Use the bare minimum dependencies needed to meet the purpose.
- π― One specific purpose to meet without having to carry a bunch of unnecessary other utilities.
- β Tests as documentation and usage examples.
- π Well documented ReadMe showing how to install and use.
- βοΈ License favoring Open Source and collaboration.
π Related resources
- π¦ Linting en JavaScript y TypeScript: Used as a template to bootstrap this plugin.
- π― Codely's ESLint Hexagonal Architecture plugin: A plugin that helps you to enforce hexagonal architecture best practises. Valid for your JavaScript or TypeScript projects.
Opinionated skeletons ready for different purposes: