{"id":18773022,"url":"https://github.com/maincode-org/eslint-plugin-thunderhorse","last_synced_at":"2025-12-13T16:30:18.441Z","repository":{"id":161124684,"uuid":"480799641","full_name":"maincode-org/eslint-plugin-thunderhorse","owner":"maincode-org","description":null,"archived":false,"fork":false,"pushed_at":"2023-05-03T17:50:30.000Z","size":1024,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-01-17T04:51:32.027Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","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/maincode-org.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":"2022-04-12T12:25:03.000Z","updated_at":"2023-05-03T17:11:16.000Z","dependencies_parsed_at":null,"dependency_job_id":"f7e6c999-c549-4572-b697-5420e80e03c8","html_url":"https://github.com/maincode-org/eslint-plugin-thunderhorse","commit_stats":null,"previous_names":["maincode-org/eslint-plugin-itu-security"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maincode-org%2Feslint-plugin-thunderhorse","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maincode-org%2Feslint-plugin-thunderhorse/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maincode-org%2Feslint-plugin-thunderhorse/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maincode-org%2Feslint-plugin-thunderhorse/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/maincode-org","download_url":"https://codeload.github.com/maincode-org/eslint-plugin-thunderhorse/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239335479,"owners_count":19621934,"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":[],"created_at":"2024-11-07T19:32:22.665Z","updated_at":"2025-12-13T16:30:18.398Z","avatar_url":"https://github.com/maincode-org.png","language":"TypeScript","readme":"\u003ch1\u003eESLint Plugin Thunderhorse\u003c/h1\u003e\nThis configuration and extended set of ESLint rules aim to provide better security aid and develop experience than current ESLint security packages.\n\nIt is maintained by the Applied Security faculty of the IT University in Copenhagen.\n\nThe philosophy behind this package is to gather all well-performing rules in a single configuration, and at the same time replace rules which do not perform well with better quality alternatives.\n\nSee the **replaces** section at the end for insights on which packages this one aims to replace.\n\n## Getting started\n\n- Requires Node.js \u003e= 14\n- Requires ESLint \u003e= 8\n\n```bash\nnpm i -D eslint-plugin-thunderhorse\n```\n\n## Recommended setup\n\nFor the default setup, please add the following to your `.eslintrc.json`:\n\n\u003e Note that the extends are our recommendation for a secure default setup. Only `plugin:thunderhorse/recommended` is required to use our package.\n\n```json\n{\n  \"extends\": [\"eslint:recommended\", \"plugin:thunderhorse/recommended\", \"plugin:anti-trojan-source/recommended\"],\n  \"rules\": {\n    \"no-eval\": \"error\",\n    \"no-implied-eval\": \"error\",\n    \"no-caller\": \"error\",\n    \"no-new-func\": \"error\"\n  },\n  \"env\": {\n    \"node\": true,\n    \"browser\": true,\n    \"es6\": true\n  }\n}\n```\n\n## Typescript support\n\nFor typescript based projects, add the `overrides` property at the end of your `.eslintrc.json`:\n\n```json\n{\n  \"overrides\": [\n    {\n      \"files\": [\"*.ts\", \"*.tsx\"],\n      \"extends\": [\"plugin:@typescript-eslint/recommended\"],\n      \"parser\": \"@typescript-eslint/parser\",\n      \"parserOptions\": {\n        \"project\": [\"./tsconfig.json\"]\n      }\n    }\n  ]\n}\n```\n\n## Rules\n\n## Replaces\n\nThis package aims to replace the functionality found in the below packages:\n...\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaincode-org%2Feslint-plugin-thunderhorse","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmaincode-org%2Feslint-plugin-thunderhorse","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaincode-org%2Feslint-plugin-thunderhorse/lists"}