{"id":14978306,"url":"https://github.com/codelytv/eslint-config-codely","last_synced_at":"2025-04-04T06:10:15.395Z","repository":{"id":64879328,"uuid":"518013407","full_name":"CodelyTV/eslint-config-codely","owner":"CodelyTV","description":"Opinionated linting configuration considering modern TypeScript best practices and providing consistency to your import statements. Valid for your JavaScript or TypeScript projects 🤟","archived":false,"fork":false,"pushed_at":"2025-02-12T11:43:47.000Z","size":331,"stargazers_count":89,"open_issues_count":1,"forks_count":3,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-03-28T05:13:12.424Z","etag":null,"topics":["eslint","eslint-config","javascript","linting","prettier","prettier-config","prettier-eslint","typescript"],"latest_commit_sha":null,"homepage":"https://www.npmjs.com/package/eslint-config-codely","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CodelyTV.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-07-26T10:23:21.000Z","updated_at":"2025-02-17T21:03:48.000Z","dependencies_parsed_at":"2024-09-24T00:02:43.959Z","dependency_job_id":"7d02ef8f-43b4-4ca6-acde-409e29ebb6ed","html_url":"https://github.com/CodelyTV/eslint-config-codely","commit_stats":{"total_commits":38,"total_committers":6,"mean_commits":6.333333333333333,"dds":0.5789473684210527,"last_synced_commit":"adc20fcc323e46554f24b4872213f9233eb9d6fd"},"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CodelyTV%2Feslint-config-codely","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CodelyTV%2Feslint-config-codely/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CodelyTV%2Feslint-config-codely/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CodelyTV%2Feslint-config-codely/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CodelyTV","download_url":"https://codeload.github.com/CodelyTV/eslint-config-codely/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247128753,"owners_count":20888235,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["eslint","eslint-config","javascript","linting","prettier","prettier-config","prettier-eslint","typescript"],"created_at":"2024-09-24T13:57:20.371Z","updated_at":"2025-04-04T06:10:15.377Z","avatar_url":"https://github.com/CodelyTV.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://codely.com\"\u003e\n\t\u003cpicture\u003e\n\t  \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://codely.com/logo/codely_logo-dark.svg\"\u003e\n\t  \u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://codely.com/logo/codely_logo-light.svg\"\u003e\n\t  \u003cimg alt=\"Codely logo\" src=\"https://codely.com/logo/codely_logo.svg\"\u003e\n\t\u003c/picture\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003ch1 align=\"center\"\u003e\n  🤏 Codely's ESLint + Prettier configuration\n\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n\t\u003ca href=\"https://github.com/CodelyTV\"\u003e\u003cimg src=\"https://img.shields.io/badge/CodelyTV-OS-green.svg?style=flat-square\" alt=\"Codely Open Source\"/\u003e\u003c/a\u003e\n\t\u003ca href=\"https://pro.codely.com\"\u003e\u003cimg src=\"https://img.shields.io/badge/CodelyTV-PRO-black.svg?style=flat-square\" alt=\"CodelyTV Courses\"/\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  Opinionated linting configuration considering modern TypeScript best practices and providing consistency to your \u003ccode\u003eimport\u003c/code\u003e statements. Valid for your JavaScript or TypeScript projects 🤟\n  \u003cbr /\u003e\n  \u003cbr /\u003e\n  Take a look, play and have fun with this.\n  \u003ca href=\"https://github.com/CodelyTV/eslint-config-codely/stargazers\"\u003eStars are welcome 😊\u003c/a\u003e\n\u003c/p\u003e\n\n## 👀 How to use\n\n1. Install the dependency.\n\n   ```bash\n   npm install --save-dev eslint-config-codely\n   ```\n\n2. Add it to your `eslint.config.js`:\n\n   ```js\n   import eslintConfigCodely from \"eslint-config-codely\";\n   \n   export default [\n       // If you're using js\n       ...eslintConfigCodely.js,\n       // Or if you're using ts. The ts config includes the js one, so you don't need to include it manually.\n       ...eslintConfigCodely.ts,\n       {\n           // Your config here\n       }\n   ]\n   ```\n\n   Also, you can use the `full` config, which includes the `js`, `ts` and very opinionated Codely configs.\n\n   ```js\n   import eslintConfigCodely from \"eslint-config-codely\";\n   \n   export default [\n       ...eslintConfigCodely.full,\n       {\n           // Your config here\n       }\n   ]\n   ```\n\n   We have a `course` setting.\n   This is the same as the `full` config, but with a narrower width due to the zoom used during\nvideo recordings:\n\n   ```js\n   import eslintConfigCodely from \"eslint-config-codely\";\n   \n   export default [\n       ...eslintConfigCodely.course,\n       {\n           // Your config here\n       }\n   ]\n   ```\n\n\u003e [!NOTE]  \n\u003e Some rules enabled by default require `strict: true` to be set in your `tsconfig.json`.\n\n## 🤔 What it does\n\n- Lints JavaScript using [\n  `eslint:recommended`](https://eslint.org/docs/latest/user-guide/configuring/configuration-files#using-eslintrecommended)\n  and [Prettier](https://prettier.io/).\n- Additionally, lints TypeScript using [`@typescript-eslint/recommended` and\n  `@typescript-eslint/recommended-requiring-type-checking`](https://typescript-eslint.io/docs/linting/configs).\n- Uses the following plugins:\n    - [`import`](https://github.com/import-js/eslint-plugin-import/): helps validate proper imports.\n    - [`simple-import-sort`](https://github.com/lydell/eslint-plugin-simple-import-sort/): sorts imports.\n    - [`unused-imports`](https://github.com/sweepline/eslint-plugin-unused-imports): finds and removes unused ES6 module\n      imports.\n- Uses rules inside the [configs](configs) folder.\n\n## 👌 Codely Code Quality Standards\n\nPublishing this package we are committing ourselves to the following code quality standards:\n\n- 🤝 Respect **Semantic Versioning**: No breaking changes in patch or minor versions.\n- 🤏 No surprises in transitive dependencies: Use the **bare minimum dependencies** needed to meet the purpose.\n- 🎯 **One specific purpose** to meet without having to carry a bunch of unnecessary other utilities.\n- ✅ **Tests** as documentation and usage examples.\n- 📖 **Well documented ReadMe** showing how to install and use.\n- ⚖️ **License favoring Open Source** and collaboration.\n\n## 🔀 Related resources\n\n- [🔦 Linting en JavaScript y TypeScript](https://pro.codely.com/library/linting-en-javascript-y-typescript-188432/446893/about/):\n  Used as a template to bootstrap this plugin.\n- [🎯 Codely's ESLint Hexagonal Architecture plugin](https://github.com/CodelyTV/eslint-plugin-hexagonal-architecture): A\n  plugin that helps you to enforce hexagonal architecture best practises. Valid for your JavaScript or TypeScript\n  projects.\n\nOpinionated skeletons ready for different purposes:\n\n- [✨🌱 JavaScript Basic Skeleton](https://github.com/CodelyTV/javascript-basic-skeleton)\n- [🔷🌱 TypeScript Basic Skeleton](https://github.com/CodelyTV/typescript-basic-skeleton)\n- [🔷🕸️ TypeScript Web Skeleton](https://github.com/CodelyTV/typescript-web-skeleton)\n- [🔷🌍 TypeScript API Skeleton](https://github.com/CodelyTV/typescript-api-skeleton)\n- [🔷✨ TypeScript DDD Skeleton](https://github.com/CodelyTV/typescript-ddd-skeleton)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodelytv%2Feslint-config-codely","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcodelytv%2Feslint-config-codely","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodelytv%2Feslint-config-codely/lists"}