{"id":44547305,"url":"https://github.com/digitalfortress-dev/js-rules","last_synced_at":"2026-02-13T19:19:28.398Z","repository":{"id":254273482,"uuid":"845465056","full_name":"digitalfortress-dev/js-rules","owner":"digitalfortress-dev","description":null,"archived":false,"fork":false,"pushed_at":"2024-09-06T03:35:23.000Z","size":109,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-09-06T10:23:22.862Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/digitalfortress-dev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2024-08-21T10:00:53.000Z","updated_at":"2024-09-06T03:35:27.000Z","dependencies_parsed_at":"2024-08-22T13:17:16.158Z","dependency_job_id":"3182125e-d15d-472c-ac4d-50ebaef16f51","html_url":"https://github.com/digitalfortress-dev/js-rules","commit_stats":null,"previous_names":["digitalfortress-dev/js-rules"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/digitalfortress-dev/js-rules","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/digitalfortress-dev%2Fjs-rules","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/digitalfortress-dev%2Fjs-rules/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/digitalfortress-dev%2Fjs-rules/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/digitalfortress-dev%2Fjs-rules/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/digitalfortress-dev","download_url":"https://codeload.github.com/digitalfortress-dev/js-rules/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/digitalfortress-dev%2Fjs-rules/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29414925,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-13T06:24:03.484Z","status":"ssl_error","status_checked_at":"2026-02-13T06:23:12.830Z","response_time":78,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":[],"created_at":"2026-02-13T19:19:28.219Z","updated_at":"2026-02-13T19:19:28.383Z","avatar_url":"https://github.com/digitalfortress-dev.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://www.digitalfortress.dev/\"\u003e\n    \u003cpicture\u003e\n      \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://digitalfortress-s3-bucket-vpcxuhhdwecuj.s3.amazonaws.com/Group+1410083530.svg\"\u003e\n      \u003cimg alt=\"Digital Fortress logo\" src=\"https://digitalfortress-s3-bucket-vpcxuhhdwecuj.s3.amazonaws.com/Group+1410083530.svg\"\u003e\n    \u003c/picture\u003e    \n  \u003c/a\u003e\n\u003c/p\u003e\n\n---\n\n# ESLint, Prettier, TailwindCSS, ReactJS, NextJS TypeScript Configuration\n\n## Overview\n\nThis library provides a fully configured setup for ESLint, Prettier, TailwindCSS, React, React Hooks, NextJS, TypeScript, and import sorting. It ensures code quality, best practices, and consistency across your TypeScript and ReactJS/NextJS projects with TailwindCSS.\n\n### Key Features:\n\n- **ESLint**: Linting rules for TypeScript, React, React Hooks, and import sorting.\n- **Prettier**: Automated code formatting with Prettier and integrated TailwindCSS class sorting.\n- **TailwindCSS**: Linting for TailwindCSS class names.\n- **React and React Hooks**: Ensures best practices for React and React Hooks.\n- **NextJS**: Linting for NextJS code.\n- **TypeScript**: Linting for TypeScript code.\n- **Import Sorting**: Enforces a consistent import order.\n\n## Installation:\n\n```sh\nnpm install --save-dev git@github.com:digitalfortress-dev/js-rules.git\n```\n\n### ESLint Configuration\n\n### .eslintrc.js\n\nIn the root directory of your project, you need to create a file named `.eslintrc.js` with the following content:\n\n```javascript\nconst config = require(\"js-rules\").eslint;\n\n// You can update the ESLint config by modifying the properties\n// If you want to extend ESLint with another configuration\nconfig.extends.push(\"plugin:react/recommended\");\n// If you want to add a plugin\nconfig.plugins.push(\"react\");\n// If you want to modify or add a specific rule\nconfig.rules[\"react/prop-types\"] = \"off\";\n\nmodule.exports = config;\n```\n\n## Prettier Configuration\n\n### .prettierrc.js\n\nIn the root directory of your project, you need to create a file named `.prettierrc.js` with the following content:\n\n```javascript\nconst config = require(\"js-rules\").prettier;\n\n// You can update the Prettier config by modifying the properties\n// If you don't want to add a semicolon at the end of lines\nconfig.semi = false;\n\nmodule.exports = config;\n```\n\n## Visual Studio Code Configuration\n\nTo ensure the best development experience, you can create a `.vscode` folder in the root of your project and add a `settings.json` file with the following configuration:\n\n### Creating the `.vscode` Folder\n\n1. Create a folder named `.vscode` in the root directory of your project.\n2. Inside the `.vscode` folder, create a file named `settings.json`.\n3. Add the following content to `settings.json`:\n\n```json\n{\n  \"editor.formatOnSave\": true,\n  \"prettier.requireConfig\": true,\n  \"[javascript]\": {\n    \"editor.defaultFormatter\": \"esbenp.prettier-vscode\",\n    \"editor.formatOnSave\": true\n  },\n  \"[javascriptreact]\": {\n    \"editor.defaultFormatter\": \"esbenp.prettier-vscode\",\n    \"editor.formatOnSave\": true\n  },\n  \"[typescript]\": {\n    \"editor.defaultFormatter\": \"esbenp.prettier-vscode\",\n    \"editor.formatOnSave\": true\n  },\n  \"[typescriptreact]\": {\n    \"editor.defaultFormatter\": \"esbenp.prettier-vscode\",\n    \"editor.formatOnSave\": true\n  }\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdigitalfortress-dev%2Fjs-rules","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdigitalfortress-dev%2Fjs-rules","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdigitalfortress-dev%2Fjs-rules/lists"}