{"_id":"@aligent/eslint-plugin-no-shared-talons","_rev":"9-46fbc3882ab8644076b8bdb9e12c207e","name":"@aligent/eslint-plugin-no-shared-talons","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"name":"@aligent/eslint-plugin-no-shared-talons","version":"1.0.0","author":{"name":"Aligent"},"license":"MIT","_id":"@aligent/eslint-plugin-no-shared-talons@1.0.0","maintainers":[{"name":"aligent-bot","email":"daniel.vanderploeg+bot@aligent.com.au"},{"name":"aligent-danielvanderploeg","email":"daniel.vanderploeg@aligent.com.au"},{"name":"luke-denton-aligent","email":"luke.denton@aligent.com.au"},{"name":"jarrod.swift","email":"jarrod.swift@aligent.com.au"},{"name":"john.smith.aligent","email":"john.smith@aligent.com.au"}],"homepage":"https://bitbucket.org/aligent/eslint-plugin-no-shared-talons#readme","bugs":{"url":"https://bitbucket.org/aligent/eslint-plugin-no-shared-talons/issues"},"dist":{"shasum":"fdb5fe980a46920185906fc86065b3ab1b4e28ab","tarball":"https://registry.npmjs.org/@aligent/eslint-plugin-no-shared-talons/-/eslint-plugin-no-shared-talons-1.0.0.tgz","fileCount":5,"integrity":"sha512-ZcTub7t4rtGnhivqgwSHGdG/AtF6G/Q7mztyuLgJzSBNzs27NI3MIrXgywFJ3I+etf13cbO8ehvoBf1eLm3ofA==","signatures":[{"sig":"MEYCIQDi0nUiZnUPaLMjSFgD3YQh//Ks9xaBu8A/cUU06GFoKwIhAKEFYnVegbzBaN4EW7M8LyIvhqhGfUcZGsQXxT98wiPw","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4995,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjT5cGACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmrz7RAAkoURbSuj3EghTKLjfNohE1W2M100TgM44CmYgFvozLhBe7nz\r\nSWV1nl3acMOnBlnBSmrkDHpwhRdTH2jH2km9dLszbVdl3M80wqYJ33DYsj8g\r\n56Gh0ixs7rBlNIF3P1XU99Lf0sU0ayOF8HIcEQrCpXmuwHLXoeFL76r2aeDn\r\ngWLt86eMHWU80HlTnQYfZQUZQcEDKD0jWmtCoIrc6dnZURAZnb0/FB2vnwSZ\r\noe0+hih/hBfEpARvRkDBEHppTby7eqCTYBdxViauSq94aGHWMhTlNHZOYfBA\r\nClK0r7HVCbz99dqlKYAI2Jv1MDcAWtUWKZMmyco9OF4N8I5NYoZCNgnd9LLB\r\n1OKzufdDK1Vh98ygpm6ddzvaE0QC+7QOX3IxeaA2dOsi23OU4BY5BGxmh6jc\r\nAjZ1MA1Z4v1TJD5VjUfOi9zSBZy05Z6w0eNz9etkoNhxLLqXh7YxJBivB0Zd\r\nP/MxUyzFByeTqUOpBZ9XIrC72uL7JFaZzq+ORPEjo7z94nF85m6ShYisLhDx\r\nJtulPDqPNRxJK3eu9HwVK93xe3EJ7nFwKr+GsEO8+iqEikwkpPN7JqI5MwTd\r\nZa5WJ5G97rWblIC7AC2WXTgcUi/jwurgTUlhwyWckHapm2X23/1oGS9x3/ay\r\nYBu9zFJc7wABrG35Ibqbed3o8GYPTui7rCw=\r\n=ncJH\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"00ea779b02e18f1a34e0f27e58ebc82c508e3602","scripts":{"test":"jest"},"_npmUser":{"name":"luke-denton-aligent","email":"luke.denton@aligent.com.au"},"repository":{"url":"git+https://bitbucket.org/aligent/eslint-plugin-no-shared-talons.git","type":"git"},"_npmVersion":"8.5.1","description":"Linting rule for use of talons in PWA projects","directories":{},"_nodeVersion":"14.17.6","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.2.1","eslint":"^8.25.0"},"peerDelendencies":{"eslint":"^7.28.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-no-shared-talons_1.0.0_1666160389904_0.40424059286311986","host":"s3://npm-registry-packages"}}},"time":{"created":"2022-10-19T06:19:49.834Z","modified":"2026-05-22T06:21:17.780Z","1.0.0":"2022-10-19T06:19:50.059Z"},"bugs":{"url":"https://bitbucket.org/aligent/eslint-plugin-no-shared-talons/issues"},"author":{"name":"Aligent"},"license":"MIT","homepage":"https://bitbucket.org/aligent/eslint-plugin-no-shared-talons#readme","repository":{"url":"git+https://bitbucket.org/aligent/eslint-plugin-no-shared-talons.git","type":"git"},"description":"Linting rule for use of talons in PWA projects","maintainers":[{"email":"jarrod.swift@aligent.com.au","name":"jarrod.swift"},{"email":"devops+npm@aligent.com.au","name":"aligent-bot"},{"email":"tom.thorogood@aligent.com.au","name":"tom.thorogood"}],"readme":"# No Shared Talons eslint plugin\n\nAn eslint rule that restricts talons so that they can only be used by components with the same name.\nThis is designed to be used with Adobe's PWA Studio. Their description of a talon is:\n> Peregrine Talons are the logic component counterparts for Venia UI components. A Talon is a PWA Studio term for a\n> custom React hook that provides data or performs side effects for a specific UI component. Since they are closely\n> coupled to a specific UI component, these hooks are not re-usable.\n\n[More on talons here.](https://developer.adobe.com/commerce/pwa-studio/guides/general-concepts/talons/)\n\n## Installation\n\n```shell\nnpm install --save-dev @aligent/eslint-plugin-no-shared-talons\n# or\nyarn add --dev @aligent/eslint-plugin-no-shared-talons\n```\n\n## Usage\n\nAdd `no-shared-talons` to the plugins section of your `.eslintrc` configuration file.\nYou can omit the `eslint-plugin` prefix:\n```json\n{\n  \"plugins\": [\"@aligent/no-shared-talons\"]\n}\n```\n\nThen configure the rule within the rules section of your `.eslintrc`:\n```json\n{\n  \"rules\": {\n    \"@aligent/no-shared-talons/no-shared-talons\": \"error\"\n  }\n}\n```\n","readmeFilename":"README.md"}