{"_id":"@arabasta/eslint-plugin-api-documentation","_rev":"2-0a71693401300a8203b86404069d026b","name":"@arabasta/eslint-plugin-api-documentation","dist-tags":{"latest":"1.0.1"},"versions":{"1.0.0":{"name":"@arabasta/eslint-plugin-api-documentation","version":"1.0.0","keywords":["eslint","eslint-plugin","eslintplugin","api-documentation","api","documentation"],"author":{"name":"Stoyan Kolev"},"license":"MIT","_id":"@arabasta/eslint-plugin-api-documentation@1.0.0","maintainers":[{"name":"hristo-kolev","email":"hristo.a.kolev@gmail.com"},{"name":"stoyan.a.kolev","email":"stoyan.a.kolev@gmail.com"}],"homepage":"https://github.com/CloudNStoyan/arabasta#readme","bugs":{"url":"https://github.com/CloudNStoyan/arabasta/issues"},"dist":{"shasum":"ad194f4b3436bf98b185ba25328b022be4cf2028","tarball":"https://registry.npmjs.org/@arabasta/eslint-plugin-api-documentation/-/eslint-plugin-api-documentation-1.0.0.tgz","fileCount":16,"integrity":"sha512-IgaC99+P+y75YwMWApc9ma5QEFbxh8ZXUVrIhkjqe+iIHKC9BEMETZcUz7TH1zA+F1hGsqhubroM7obH37nvBg==","signatures":[{"sig":"MEYCIQCdYu/kzsEOuRWtL4YjoR0svfOwWZZ6Lj8HdrdZs2YppQIhALFEoxf72hHP/PCz96Cg6Naqtno+IOF/f6+SN+fgAgTg","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@arabasta%2feslint-plugin-api-documentation@1.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":62020},"main":"./dist/eslint-plugin-api-documentation.js","type":"commonjs","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./dist/eslint-plugin-api-documentation.js"},"./package.json":"./package.json"},"gitHead":"6bba3254f31fb50cc73db18faa00711debea72a5","scripts":{"test":"vitest run --dir ./src/rules && npm run lint:package","build":"tsc --p tsconfig.build.json","format":"prettier --cache --write .","prebuild":"rimraf dist","typecheck":"tsc --p tsconfig.json --noEmit","format-check":"prettier --cache --check .","lint:package":"npm run lint:eslint-docs && npm run format-check && publint && npm run arethetypeswrong","arethetypeswrong":"attw --pack .","lint:eslint-docs":"eslint-doc-generator --check","update:eslint-docs":"eslint-doc-generator"},"_npmUser":{"name":"stoyan.a.kolev","email":"stoyan.a.kolev@gmail.com"},"repository":{"url":"git+https://github.com/CloudNStoyan/arabasta.git","type":"git","directory":"eslint-plugin-api-documentation"},"_npmVersion":"10.8.2","description":"ESLint plugin that enforces api documentation","directories":{},"_nodeVersion":"20.17.0","dependencies":{"@es-joy/jsdoccomment":"^0.49.0","@typescript-eslint/utils":"^8.8.1"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^6.0.1","vitest":"^2.1.2","publint":"^0.2.11","prettier":"^3.3.3","typescript":"~5.3.3","@types/node":"^22.7.5","typescript-eslint":"^8.8.1","eslint-doc-generator":"^1.7.1","@arethetypeswrong/cli":"^0.16.4","json-schema-to-typescript":"^15.0.2","@typescript-eslint/rule-tester":"^8.8.1"},"peerDependencies":{"eslint":">=8.0.0","typescript":">= 5.0.0","@typescript-eslint/parser":">= 7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-api-documentation_1.0.0_1729152203122_0.9365308750858006","host":"s3://npm-registry-packages"},"deprecated":"Use @arabasta/eslint-plugin-tsoa module instead"},"1.0.1":{"name":"@arabasta/eslint-plugin-api-documentation","version":"1.0.1","keywords":["eslint","eslint-plugin","eslintplugin","api-documentation","api","documentation"],"author":{"name":"Stoyan Kolev"},"license":"MIT","_id":"@arabasta/eslint-plugin-api-documentation@1.0.1","maintainers":[{"name":"hristo-kolev","email":"hristo.a.kolev@gmail.com"},{"name":"stoyan.a.kolev","email":"stoyan.a.kolev@gmail.com"}],"homepage":"https://github.com/CloudNStoyan/arabasta#readme","bugs":{"url":"https://github.com/CloudNStoyan/arabasta/issues"},"dist":{"shasum":"7e8b8d393f42a78683da4212585d06926c9861df","tarball":"https://registry.npmjs.org/@arabasta/eslint-plugin-api-documentation/-/eslint-plugin-api-documentation-1.0.1.tgz","fileCount":16,"integrity":"sha512-s7mgJA/dLDRODnEQ+ONGVIe+9OoZugU3Sjxi+TpVzkDzR24/diSV3aOiboX2ttBpV+qsz9kmTBnUaBChfbU8hA==","signatures":[{"sig":"MEYCIQCHOf52wA7TzgqjZyZU8U3x3TUeJ388oE1XCnjge8bGQgIhAKUcfmyJPfLcJGuftCV8h6JDgwld721AKXIRML76unSd","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@arabasta%2feslint-plugin-api-documentation@1.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":62080},"main":"./dist/eslint-plugin-api-documentation.js","type":"commonjs","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./dist/eslint-plugin-api-documentation.js"},"./package.json":"./package.json"},"gitHead":"aec05290725bdb87452d07f1efefdeccadfb066d","scripts":{"test":"npm run test:only && npm run lint:package","build":"tsc --p tsconfig.build.json","format":"prettier --cache --write .","prebuild":"rimraf dist","test:only":"vitest run --dir ./src/rules","typecheck":"tsc --p tsconfig.json --noEmit","format-check":"prettier --cache --check .","lint:package":"npm run lint:eslint-docs && npm run format-check && publint && npm run arethetypeswrong","arethetypeswrong":"attw --pack .","lint:eslint-docs":"eslint-doc-generator --check","update:eslint-docs":"eslint-doc-generator"},"_npmUser":{"name":"stoyan.a.kolev","email":"stoyan.a.kolev@gmail.com"},"repository":{"url":"git+https://github.com/CloudNStoyan/arabasta.git","type":"git","directory":"eslint-plugin-api-documentation"},"_npmVersion":"10.8.2","description":"ESLint plugin that enforces api documentation","directories":{},"_nodeVersion":"20.17.0","dependencies":{"@es-joy/jsdoccomment":"^0.49.0","@typescript-eslint/utils":"^8.8.1"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^6.0.1","vitest":"^2.1.2","publint":"^0.2.11","prettier":"^3.3.3","typescript":"~5.3.3","@types/node":"^22.7.5","typescript-eslint":"^8.8.1","eslint-doc-generator":"^1.7.1","@arethetypeswrong/cli":"^0.16.4","json-schema-to-typescript":"^15.0.2","@typescript-eslint/rule-tester":"^8.8.1"},"peerDependencies":{"eslint":">=8.0.0","typescript":">= 5.0.0","@typescript-eslint/parser":">= 7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-api-documentation_1.0.1_1729153496699_0.9017585804124018","host":"s3://npm-registry-packages"},"deprecated":"Use @arabasta/eslint-plugin-tsoa module instead"}},"time":{"created":"2024-10-17T08:03:22.880Z","modified":"2024-11-06T10:08:24.374Z","1.0.0":"2024-10-17T08:03:23.434Z","1.0.1":"2024-10-17T08:24:56.944Z"},"bugs":{"url":"https://github.com/CloudNStoyan/arabasta/issues"},"author":{"name":"Stoyan Kolev"},"license":"MIT","homepage":"https://github.com/CloudNStoyan/arabasta#readme","keywords":["eslint","eslint-plugin","eslintplugin","api-documentation","api","documentation"],"repository":{"url":"git+https://github.com/CloudNStoyan/arabasta.git","type":"git","directory":"eslint-plugin-api-documentation"},"description":"ESLint plugin that enforces api documentation","maintainers":[{"name":"hristo-kolev","email":"hristo.a.kolev@gmail.com"},{"name":"stoyan.a.kolev","email":"stoyan.a.kolev@gmail.com"}],"readme":"# `@arabasta/eslint-plugin-api-documentation`\n\n[![NPM Version](https://img.shields.io/npm/v/%40arabasta%2Feslint-plugin-api-documentation)](https://www.npmjs.com/package/@arabasta/eslint-plugin-api-documentation)\n[![NPM License](https://img.shields.io/npm/l/%40arabasta%2Feslint-plugin-api-documentation)](https://github.com/CloudNStoyan/arabasta/blob/main/eslint-plugin-api-documentation/LICENSE)\n\nESLint plugin that enforces api documentation.\n\n## Installation\n\nAssuming you already have ESLint installed, run:\n\n```sh\n# npm\nnpm install --save-dev @arabasta/eslint-plugin-api-documentation\n\n# yarn\nyarn add --dev @arabasta/eslint-plugin-api-documentation\n\n# pnpm\npnpm add --save-dev @arabasta/eslint-plugin-api-documentation\n```\n\n## Usage\n\n[Flat config](https://eslint.org/docs/latest/use/configure/configuration-files)\n(**eslint.config.js**)\n\n```js\n// ...\nimport apiDocumentation from '@arabasta/eslint-plugin-api-documentation';\n\nexport default [\n  // ...\n  apiDocumentation.configs.recommended,\n];\n```\n\n[Legacy config](https://eslint.org/docs/latest/use/configure/configuration-files-deprecated)\n(**.eslintrc**)\n\n```json\n{\n  \"extends\": [\n    // ...\n    \"plugin:@arabasta/api-documentation/recommended-legacy\"\n  ]\n}\n```\n\n## Rules\n\n<!-- begin auto-generated rules list -->\n\n💼 Configurations enabled in.\\\n✅ Set in the `recommended` configuration.\\\n🔧 Automatically fixable by the [`--fix` CLI option](https://eslint.org/docs/user-guide/command-line-interface#--fix).\\\n💭 Requires [type information](https://typescript-eslint.io/linting/typed-linting).\n\n| Name                                                                                                                                                                        | Description                                                                                                               | 💼  | 🔧  | 💭  |\n| :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------ | :-- | :-- | :-- |\n| [require-example-decorator](https://github.com/CloudNStoyan/arabasta/blob/main/eslint-plugin-api-documentation/docs/rules/require-example-decorator.md)                     | require `@Example` decorator when the method returns an array                                                             | ✅  |     |     |\n| [require-jsdoc-example-for-enum-type](https://github.com/CloudNStoyan/arabasta/blob/main/eslint-plugin-api-documentation/docs/rules/require-jsdoc-example-for-enum-type.md) | require JSDoc's `@example` declaration for enum properties and ban other complex types from having `@example` declaration | ✅  |     | 💭  |\n| [require-jsdoc-returns](https://github.com/CloudNStoyan/arabasta/blob/main/eslint-plugin-api-documentation/docs/rules/require-jsdoc-returns.md)                             | require return statements to be documented                                                                                | ✅  |     | 💭  |\n| [require-security-metadata](https://github.com/CloudNStoyan/arabasta/blob/main/eslint-plugin-api-documentation/docs/rules/require-security-metadata.md)                     | require all security definitions in the `@Security` decorator to be present in the `TSOA` config                          | ✅  |     |     |\n| [require-tags-metadata](https://github.com/CloudNStoyan/arabasta/blob/main/eslint-plugin-api-documentation/docs/rules/require-tags-metadata.md)                             | require all tags in the `@Tags` decorator to be present in the `TSOA` config                                              | ✅  |     |     |\n| [valid-alternative-response](https://github.com/CloudNStoyan/arabasta/blob/main/eslint-plugin-api-documentation/docs/rules/valid-alternative-response.md)                   | require correct response decorators when using alternative responses                                                      | ✅  | 🔧  |     |\n| [valid-alternative-response-type](https://github.com/CloudNStoyan/arabasta/blob/main/eslint-plugin-api-documentation/docs/rules/valid-alternative-response-type.md)         | require alternative response's first type argument to be the same as its method's return type                             | ✅  | 🔧  | 💭  |\n| [valid-example-decorator-type](https://github.com/CloudNStoyan/arabasta/blob/main/eslint-plugin-api-documentation/docs/rules/valid-example-decorator-type.md)               | require `@Example` decorator's first type argument to be the same as its method's return type                             | ✅  |     | 💭  |\n| [valid-response-decorator-type](https://github.com/CloudNStoyan/arabasta/blob/main/eslint-plugin-api-documentation/docs/rules/valid-response-decorator-type.md)             | require `@Response` decorator's first type argument to exists and optionally to be one of the allowed types               | ✅  |     | 💭  |\n| [valid-security-decorator](https://github.com/CloudNStoyan/arabasta/blob/main/eslint-plugin-api-documentation/docs/rules/valid-security-decorator.md)                       | require `@Response(401)` decorator on methods or classes that are affected by the `@Security` decorator                   | ✅  |     |     |\n\n<!-- end auto-generated rules list -->\n","readmeFilename":"README.md"}