Codely's ESLint and Prettier Config
npm install eslint-config-codely
Opinionated linting configuration considering modern TypeScript best practices and providing consistency to your import statements. Valid for your JavaScript or TypeScript projects π€
Take a look, play and have fun with this.
Stars are welcome π
1. Install the dependency.
``bash`
npm install --save-dev eslint-config-codely
2. Add it to your eslint.config.js:
`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.
`js`
import eslintConfigCodely from "eslint-config-codely";
export default [
...eslintConfigCodely.full,
{
// Your config here
}
]
We have a course setting.full
This is the same as the config, but with a narrower width due to the zoom used during
video recordings:
`js`
import eslintConfigCodely from "eslint-config-codely";
export default [
...eslintConfigCodely.course,
{
// Your config here
}
]
> [!NOTE]
> Some rules enabled by default require strict: true to be set in your tsconfig.json.
- 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.
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.
- π¦ 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:
- β¨π± JavaScript Basic Skeleton
- π·π± TypeScript Basic Skeleton
- π·πΈοΈ TypeScript Web Skeleton
- π·π TypeScript API Skeleton
- π·β¨ TypeScript DDD Skeleton