{"_id":"@abacatepay/eslint-plugin","_rev":"6-6ac2ae8c468053421e37369973c99e86","name":"@abacatepay/eslint-plugin","dist-tags":{"latest":"0.1.5"},"versions":{"0.1.0":{"name":"@abacatepay/eslint-plugin","version":"0.1.0","keywords":["eslint","eslint-plugin","security","secrets","abacatepay","lint"],"license":"MIT","_id":"@abacatepay/eslint-plugin@0.1.0","maintainers":[{"name":"albuquerquesz","email":"albq.victor@gmail.com"},{"name":"escoteiros","email":"accounts@eualmeida.com.br"}],"homepage":"https://github.com/almeidazs/abacatepay-eslint#readme","bugs":{"url":"https://github.com/almeidazs/abacatepay-eslint/issues"},"dist":{"shasum":"33aed1f8a4500f561a180e73e0e94ef7058a419a","tarball":"https://registry.npmjs.org/@abacatepay/eslint-plugin/-/eslint-plugin-0.1.0.tgz","fileCount":6,"integrity":"sha512-7y05ThN5YadE277j1u2rA6TjuNvEOMyR/aavjIESb2zkRCiWBmzgaGtLsXrQfBccNynMvCCdJIup1VlZ0LpAHg==","signatures":[{"sig":"MEUCICN0c8bTnLvSCiXRUImPvNavnWJPpAcnyvaa6z/vBKmvAiEAtl+FKuB5A/AfgDR5vN7lcfKQligAJyQwth2izqh77Rg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4828},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"62d0d828d3adf1bb8e6bcce123b9d1f11e903a17","scripts":{"build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"escoteiros","email":"accounts@eualmeida.com.br"},"repository":{"url":"git+https://github.com/almeidazs/abacatepay-eslint.git","type":"git"},"_npmVersion":"11.6.2","description":"Do not hardcode your AbacatePay secrets with this plugin","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","eslintConfig":{"env":{"node":true}},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":"^8.0.0 || ^9.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin_0.1.0_1768400743236_0.20874367809875838","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@abacatepay/eslint-plugin","version":"0.1.2","keywords":["eslint","eslint-plugin","security","secrets","abacatepay","lint"],"author":{"url":"https://abacatepay.com","name":"AbacatePay","email":"opensource@abacatepay.com"},"license":"MIT","_id":"@abacatepay/eslint-plugin@0.1.2","maintainers":[{"name":"albuquerquesz","email":"albq.victor@gmail.com"},{"name":"bolodissenouraa","email":"daniel@abacatepay.com"},{"name":"escoteiros","email":"accounts@eualmeida.com.br"}],"homepage":"https://github.com/AbacatePay/abacatepay-eslint#readme","bugs":{"url":"https://github.com/AbacatePay/abacatepay-eslint/issues"},"dist":{"shasum":"e36daa1a6f41b8a316dd1ee61f3e0eafd996cbf4","tarball":"https://registry.npmjs.org/@abacatepay/eslint-plugin/-/eslint-plugin-0.1.2.tgz","fileCount":6,"integrity":"sha512-XZ3ZdDxA+vZwi4/TwXZQqRJENCiXACTXU5PUgUWlvHpaD93G4SICcN3Y4U/s9uVzX+LpZE3H+NFSM1lJhAy5Kg==","signatures":[{"sig":"MEYCIQCem7NsakB16ygK06myws/oBt5kG4Y65MprAHRzAv5xwgIhAKRphqG+i400eF4tUnYUr6jCrwgLT4ddADfCKVJBFTwP","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6230},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"54f8a35f88b4d0d93a11a86a86d8f70bf2b80965","scripts":{"test":"bun test","build":"tsc","types":"rm -rf dist && bun run scripts/version.ts && bun build src/index.ts --outdir dist --target node && bun run types","prepublishOnly":"bun run build"},"_npmUser":{"name":"escoteiros","email":"accounts@eualmeida.com.br"},"repository":{"url":"git+https://github.com/AbacatePay/ecosystem.git","type":"git"},"_npmVersion":"11.6.2","description":"Do not hardcode your AbacatePay secrets with this plugin","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","eslintConfig":{"env":{"node":true}},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":"^9.39.2"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin_0.1.2_1769436853952_0.4836486119376848","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@abacatepay/eslint-plugin","version":"0.1.3","keywords":["eslint","eslint-plugin","security","secrets","abacatepay","lint"],"author":{"url":"https://abacatepay.com","name":"AbacatePay","email":"opensource@abacatepay.com"},"license":"MIT","_id":"@abacatepay/eslint-plugin@0.1.3","maintainers":[{"name":"albuquerquesz","email":"albq.victor@gmail.com"},{"name":"bolodissenouraa","email":"daniel@abacatepay.com"},{"name":"escoteiros","email":"ajuda@abacatepay.com"}],"homepage":"https://github.com/AbacatePay/abacatepay-eslint#readme","bugs":{"url":"https://github.com/AbacatePay/abacatepay-eslint/issues"},"dist":{"shasum":"daf33c5d5e7bb32e59909ba828d6d182289800b1","tarball":"https://registry.npmjs.org/@abacatepay/eslint-plugin/-/eslint-plugin-0.1.3.tgz","fileCount":6,"integrity":"sha512-jWEkJV6J8qtRw78L4LM+Dov4Gor/DeWVJLQpxR9TelBQjkhBBElBrJUx9Cq+Yxf6k88k0U9U/Z/GKyR4nPRosA==","signatures":[{"sig":"MEYCIQDVLwT2Xe+R3Bq3MoDwlQ+1BHDHFhEt0cjyLhSGdXqLBQIhAMbWYWVwqhSfl5CbwhnDjb0P5xzsjATWg/oocjTdFJ2E","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6124},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"ff4bbae0210c3eb16826c4f3f3f8d9c1953031ad","scripts":{"test":"bun test","build":"rm -rf dist && bun run scripts/version.ts && bun build src/index.ts --outdir dist --target node && bun run types","types":"bunx tsc --emitDeclarationOnly","prepublishOnly":"bun run build"},"_npmUser":{"name":"escoteiros","email":"ajuda@abacatepay.com"},"repository":{"url":"git+https://github.com/AbacatePay/ecosystem.git","type":"git"},"_npmVersion":"11.8.0","description":"Do not hardcode your AbacatePay secrets with this plugin","directories":{},"sideEffects":false,"_nodeVersion":"24.13.1","eslintConfig":{"env":{"node":true}},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":"^9.39.2"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin_0.1.3_1785173868624_0.45220733455191686","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@abacatepay/eslint-plugin","version":"0.1.4","keywords":["eslint","eslint-plugin","security","secrets","abacatepay","lint"],"author":{"url":"https://abacatepay.com","name":"AbacatePay","email":"opensource@abacatepay.com"},"license":"MIT","_id":"@abacatepay/eslint-plugin@0.1.4","maintainers":[{"name":"albuquerquesz","email":"albq.victor@gmail.com"},{"name":"bolodissenouraa","email":"daniel@abacatepay.com"},{"name":"escoteiros","email":"ajuda@abacatepay.com"}],"homepage":"https://github.com/AbacatePay/abacatepay-eslint#readme","bugs":{"url":"https://github.com/AbacatePay/abacatepay-eslint/issues"},"dist":{"shasum":"f5564e2f81c83b3e56f112af3182f9e6d499747d","tarball":"https://registry.npmjs.org/@abacatepay/eslint-plugin/-/eslint-plugin-0.1.4.tgz","fileCount":7,"integrity":"sha512-1YBUttZ10AouPSvVmVbrU7LCzPWdqCahutiboEG98AURwlwuuO8NiaGcQtKUQ82xs1P8/H0ThOYPkJBMoG3uEg==","signatures":[{"sig":"MEQCICNa6HNzk/go0jxELHu9MOrkyFKm3apolMq6mfVpICnvAiBYIwprKrtHnyECB7u5dtkqCrGQZoG7V/BqBPOsVd/bpg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6937},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"4f44b0102e118ca7fd4abd4da8c094cf8f22360c","scripts":{"test":"bun test","build":"rm -rf dist && bun run scripts/version.ts && bun build src/index.ts --outdir dist --target node && bun run types","types":"bunx tsc --emitDeclarationOnly","prepublishOnly":"bun run build"},"_npmUser":{"name":"escoteiros","email":"ajuda@abacatepay.com"},"repository":{"url":"git+https://github.com/AbacatePay/ecosystem.git","type":"git"},"_npmVersion":"11.8.0","description":"Do not hardcode your AbacatePay secrets with this plugin","directories":{},"sideEffects":false,"_nodeVersion":"24.13.1","eslintConfig":{"env":{"node":true}},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5","@types/eslint":"^9.6.1"},"peerDependencies":{"eslint":"^9.39.2"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin_0.1.4_1785181622545_0.8005694029018033","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@abacatepay/eslint-plugin","version":"0.1.5","type":"module","main":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"author":{"name":"AbacatePay","email":"opensource@abacatepay.com","url":"https://abacatepay.com"},"maintainers":[{"name":"albuquerquesz","email":"albq.victor@gmail.com"},{"name":"bolodissenouraa","email":"daniel@abacatepay.com"},{"name":"escoteiros","email":"ajuda@abacatepay.com"}],"types":"dist/index.d.ts","scripts":{"test":"bun test","build":"rm -rf dist && bun run scripts/version.ts && bun build src/index.ts --outdir dist --target node && bun run types","types":"bunx tsc --emitDeclarationOnly","prepublishOnly":"bun run build"},"peerDependencies":{"eslint":"^9.39.2"},"devDependencies":{"@types/eslint":"^9.6.1","typescript":"^5"},"description":"Do not hardcode your AbacatePay secrets with this plugin","license":"MIT","repository":{"type":"git","url":"git+https://github.com/AbacatePay/ecosystem.git"},"bugs":{"url":"https://github.com/AbacatePay/abacatepay-eslint/issues"},"homepage":"https://github.com/AbacatePay/abacatepay-eslint#readme","keywords":["eslint","eslint-plugin","security","secrets","abacatepay","lint"],"engines":{"node":">=18"},"sideEffects":false,"publishConfig":{"access":"public"},"eslintConfig":{"env":{"node":true}},"gitHead":"5c10083ce1c3dfce4b35af061f28b10bec33ff32","_id":"@abacatepay/eslint-plugin@0.1.5","_nodeVersion":"24.13.1","_npmVersion":"11.8.0","dist":{"integrity":"sha512-HsVk11itT/Eb1LSQmPPTa1Dmr0wjpr+YnDZ5kqzQb/GPGQFmeaz/zCvb06UvBzIipGtBbcn8kC/l08jeei+JZw==","shasum":"724d3b95f304c2256ab340664f49ebb36428a356","tarball":"https://registry.npmjs.org/@abacatepay/eslint-plugin/-/eslint-plugin-0.1.5.tgz","fileCount":7,"unpackedSize":7255,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCc573VvTwbhly8Uws/ff9ngR1bUT31oaStWUTLibbLQQIgegIizRGgM7m4vMGy/Y8O8CeTEyueQdFg8w4sDRuR9pU="}]},"_npmUser":{"name":"escoteiros","email":"ajuda@abacatepay.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/eslint-plugin_0.1.5_1785184786359_0.15934147690090406"},"_hasShrinkwrap":false}},"time":{"created":"2026-01-14T14:25:43.113Z","modified":"2026-07-27T20:39:46.731Z","0.1.0":"2026-01-14T14:25:43.382Z","0.1.2":"2026-01-26T14:14:14.105Z","0.1.3":"2026-07-27T17:37:48.789Z","0.1.4":"2026-07-27T19:47:02.705Z","0.1.5":"2026-07-27T20:39:46.513Z"},"bugs":{"url":"https://github.com/AbacatePay/abacatepay-eslint/issues"},"author":{"name":"AbacatePay","email":"opensource@abacatepay.com","url":"https://abacatepay.com"},"license":"MIT","homepage":"https://github.com/AbacatePay/abacatepay-eslint#readme","keywords":["eslint","eslint-plugin","security","secrets","abacatepay","lint"],"repository":{"type":"git","url":"git+https://github.com/AbacatePay/ecosystem.git"},"description":"Do not hardcode your AbacatePay secrets with this plugin","maintainers":[{"name":"albuquerquesz","email":"albq.victor@gmail.com"},{"name":"bolodissenouraa","email":"daniel@abacatepay.com"},{"name":"escoteiros","email":"ajuda@abacatepay.com"}],"readme":"<div align=\"center\">\n\n# AbacatePay ESLint Plugin 🥑\n\nEvite o vazamento de **API keys da AbacatePay** diretamente no seu código com uma regra ESLint simples, segura e focada em boas práticas.\n\nO [`@abacatepay/eslint-plugin`](https://www.npmjs.com/package/@abacatepay/eslint-plugin) detecta **chaves secretas hardcoded** e incentiva o uso correto de **variáveis de ambiente**, antes que o erro chegue ao repositório.\n\n<img src=\"https://res.cloudinary.com/dkok1obj5/image/upload/v1767631413/avo_clhmaf.png\" width=\"100%\" alt=\"AbacatePay Open Source\"/>\n\n</div>\n\n---\n\n<div align=\"center\">\n\n## Instalação\n\nUse com o seu *package manager* favorito\n\n</div>\n\n```bash\nbun add -d @abacatepay/eslint-plugin\n# ou\npnpm add -d @abacatepay/eslint-plugin\n# ou\nnpm install -d @abacatepay/eslint-plugin\n```\n\n<div align=\"center\">\n\n## Configuração (ESLint v9+ / Flat Config)\n\nO plugin é projetado **exclusivamente para ESLint v9+** usando flat config.\n\n</div>\n\n```ts\nimport abacatepay from '@abacatepay/eslint-plugin';\n\nexport default [\n    {\n        plugins: {\n            abacatepay,\n        },\n        rules: {\n            'abacatepay/no-secret-key': 'error',\n        },\n    },\n]\n```\n\n<div align=\"center\">\n\n## Regras\n\n</div>\n\n<div align=\"center\">\n\n`abacatepay/no-secret-key`\n\nImpede o uso de chaves secretas da AbacatePay diretamente no código, independentemente do contexto (strings, templates, JSX, headers etc).\n\n### Sugestões automáticas\n\nSempre que possível, a regra oferece sugestões seguras para substituir a chave hardcoded por uma variável de ambiente.\n\n</div>\n\n```bash\n- \"abc_prod_xxxxxxxxxxxxxxxxxxxxxxx\"\n+ process.env.ABACATEPAY_API_KEY\n```\n\n<div align=\"center\">\n\nA regra não aplica autofix destrutivo — apenas sugestões explícitas e seguras.\n\n### Uso incorreto\n</div>\n\n```ts\nimport { AbacatePay } from '@abacatepay/sdk';\n\nconst abacate = AbacatePay(\"abc_dev_xxxxxxxxxxxxxxxxxxxxxxx\");\n```\n\n```ts\nimport { REST } from '@abacatepay/rest';\n\nconst client = new REST({ secret: 'Bearer abc_prod_xxxxxxxxxxxxxxxxxxxxxxx' });\n\nawait client.get('/store/get');\n```\n\n```ts\n<Component apiKey=\"abc_dev_xxxxxxxxxxxxxxxxxxxxxxx\" />\n```\n\n<div align=\"center\">\n\n### Uso correto\n</div>\n\n```ts\nconst abacate = AbacatePay(process.env.ABACATEPAY_API_KEY);\n```\n\n```ts\nconst client = new REST({ secret: process.env.ABACATEPAY_API_KEY });\n```\n\n<p align=\"center\">Feito com 🥑 pela equipe AbacatePay</br>\nOpen source, de verdade.</p>\n","readmeFilename":"README.md"}