{"_id":"babel-plugin-transform-hook-names","_rev":"11-c1d56ec438b14320c06a50ecf21fe3d8","name":"babel-plugin-transform-hook-names","dist-tags":{"latest":"1.0.2"},"versions":{"1.0.0":{"name":"babel-plugin-transform-hook-names","version":"1.0.0","keywords":["babel","hook","preact","devtools"],"author":{"url":"https://preactjs.com","name":"The Preact Authors"},"license":"MIT","_id":"babel-plugin-transform-hook-names@1.0.0","maintainers":[{"name":"marvinhagemeister","email":"marvin@marvinhagemeister.de"}],"dist":{"shasum":"1aa8305d6253ea9e1a6eb58fd86ab47cadb178f5","tarball":"https://registry.npmjs.org/babel-plugin-transform-hook-names/-/babel-plugin-transform-hook-names-1.0.0.tgz","fileCount":7,"integrity":"sha512-gwe4y0mv7ilok39TE6XAwKUwGPtVnKtR4v+u089lJTu0WifuLatvKRKC2Icup7S44R35WScS4bOporJwAHTBwA==","signatures":[{"sig":"MEUCIBnQPNTyYSmg7ceZzjphVKHG30xtYWL15jVjhyrj9WfFAiEApCAQQF8tK0AFHpQw8ngUtIOXqnwYe1ixltZxlu6DPP0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":48051,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgDKNUCRA9TVsSAnZWagAAISoP/3dGqPYj7XGJD0i1k+K9\n7ryJ/t2db7qtNfJP2xYBnuHWglkeVAChinT/MwUHEDWRwXlfSY5BXKxo47wm\n8VTdaV24+0pvRMdOkHbZSX3zNNNS62XiGDujiiBPk8k6gOWHHXYj4Khmnlly\nMHaJ1KIIFC7FJ+eYrRcd0ubpcUQfB5IhrXYUWKL/Un4OLdfimUYm1W4ZMgU4\n/QFAyMV7e8K28JcP43QSVjpKjBWmJVKgjhF8i+6oMk/rfSdwwt/xyWov6Edz\nVVZHL4NCl6YlEOKqX5D2POEW5n5w7AFdJhtxd+W7nT8UokGJ0cohDBlrS6li\nlB6RxRfcpaj3ArHjk+0Vp7l7iasj6s44vVMd9SI9dtMlD/U0MHS8hh91Jq9c\n98H5NxpyTxMIAB5tJtx/UP0KZ7jjT+ZMcmPnZ2tn3Ih1MBtVwkoSWPC0rIQd\nECpUGnx+NOUmiqFFVibkUQRDK5xG9q7taaRNDholYfQol19h7FpaQqTfabes\nrbDVkUmrT7XYCL2VPcTmt0q2V8a47QIkgtlqNF2qff2xCRvOlOulofCKuQY4\nnUKbxwwhPSSCQDAALLt69nJShd5OjqLnaZMIcFOFK9LptHS3ZeMn5NgC1Z8f\nv+3GkIedBb8kR/Qi5cCy7sKnwGa0BxLd+Fgd0VvzzTT/ao2HJNMESkyU4Nwc\nb7Ly\r\n=hb7i\r\n-----END PGP SIGNATURE-----\r\n"},"main":"src/index.js","husky":{"hooks":{"pre-commit":"lint-staged"}},"gitHead":"2c13056bdc1228dc1fd8b6fc27c106c355e0669a","scripts":{"test":"mocha -r ts-node/register --extension js,ts,tsx test/*.test.ts","prepublishOnly":"npm test"},"_npmUser":{"name":"marvinhagemeister","email":"marvin@marvinhagemeister.de"},"prettier":{"useTabs":true,"arrowParens":"avoid","trailingComma":"all"},"_npmVersion":"6.14.8","description":"Babel plugin to add hook names for Preact devtools","directories":{},"lint-staged":{"**/*.{js,jsx,ts,tsx,json}":["prettier --write"]},"_nodeVersion":"14.15.1","_hasShrinkwrap":false,"devDependencies":{"chai":"^4.2.0","husky":"^4.3.8","mocha":"^8.2.1","ts-node":"^9.1.1","prettier":"^2.2.1","typescript":"^4.1.3","@babel/core":"^7.12.10","@types/chai":"^4.2.14","@types/node":"^14.14.22","lint-staged":"^10.5.3","@types/mocha":"^8.2.0","@types/babel__core":"^7.1.12"},"peerDependencies":{"@babel/core":"^7.12.10"},"_npmOperationalInternal":{"tmp":"tmp/babel-plugin-transform-hook-names_1.0.0_1611440979721_0.5061674098273805","host":"s3://npm-registry-packages"}},"1.0.1":{"name":"babel-plugin-transform-hook-names","version":"1.0.1","keywords":["babel","hook","preact","devtools"],"author":{"url":"https://preactjs.com","name":"The Preact Authors"},"license":"MIT","_id":"babel-plugin-transform-hook-names@1.0.1","maintainers":[{"name":"reznord","email":"allamsetty.anup@gmail.com"},{"name":"preactjs","email":"hello@preactjs.com"},{"name":"developit","email":"jason@developit.ca"},{"name":"lukeed","email":"luke@lukeed.com"},{"name":"prateekbh","email":"prateek89born@gmail.com"},{"name":"harmony","email":"npm.leah@hrmny.sh"},{"name":"marvinhagemeister","email":"marvin@marvinhagemeister.de"},{"name":"solarliner","email":"solarliner@gmail.com"},{"name":"jdecroock","email":"decroockjovi@gmail.com"}],"homepage":"https://github.com/preactjs/babel-plugin-transform-hook-names#readme","bugs":{"url":"https://github.com/preactjs/babel-plugin-transform-hook-names/issues"},"dist":{"shasum":"4f311ed2289266563b865892e6d4f0b9d9f0a9ac","tarball":"https://registry.npmjs.org/babel-plugin-transform-hook-names/-/babel-plugin-transform-hook-names-1.0.1.tgz","fileCount":7,"integrity":"sha512-xoPQWofPNfxlSqc8JXQxmj4yKIqZgAyudXGq7GgVf/zETxoVembboCKqdNzjzcwGoHyhEc2Qr9P4o72qgy/gqQ==","signatures":[{"sig":"MEUCIF3Jgwkzu/rN5qGl85BoKnA48Goo3eaPGq46GmkWMDISAiEA2mhWgTLF/r6HY2t7WAtgE5pYW6YaIQt9obcth9qtRgg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":48169,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgGTruCRA9TVsSAnZWagAA3cUQAIRUP6fTWuRCbKA/dNLg\nY9cnbzGcEqQ7eIkEFbMMqpcWHVe+jitmGL7N48fzgSQMc5Y9Aql4IlFJqjmk\n/l7Bftn4cHdYqovtufzgYl/mkD1+QVGyWsqC9Q+U/Hh8Y8p+5Kwar5SVEUIM\n+Ghn56Djw6i60iDMJhRLkfML0QsF1ZMMFnQ3C7hTxBZSsIgI/v3TIWAlsLmZ\nKUk8JUR1lK1CJhX4rv7G9eXs2MuJ/3Fd7ZmUJGJ8zCySN9hwQ1482QlS93jc\nP7kgyHDBrBg7npfLu9MFlq2PtwNaOSuELE07aZJShFvJFy3n7CTBAMc4W3fw\nKmiovfTjj4ybOPDMLqps8bhIlP1hNMOc41ug7vgNtJxp2b1wI4dJvV9a+ffP\ncpDKxfE0Hnr07MD7w0jWJ3F/LDujiZQjrFhgvHg4LgNPuxItykA4PkBxsFIN\nIuR06BjZ8wDnnC6XLynmlOEFRJkyvJYB15mV6WUBXmMUgp/gfFm9DVmv06B+\n5ypTv7dcMQwWRD2FdxoKhpRw0+AwgqD9IlyWOkcXCP12Q4TeG342lEgcLCy3\nrrhZOFhBLexawrjoYalifwQF6taRQu/t382esKYI3jSPQLZAOi9uZP5VQaWZ\nYYtVC6rRjNhyiOcmAi2Dc83Dp/LRiurR2j7hXSIIfaO2ulDwKE/X9lw7oBDX\n+vYR\r\n=PKQ3\r\n-----END PGP SIGNATURE-----\r\n"},"main":"src/index.js","husky":{"hooks":{"pre-commit":"lint-staged"}},"gitHead":"87df700ba43b4bb7ed5f99443624860b6809dc2f","scripts":{"test":"mocha -r ts-node/register --extension js,ts,tsx test/*.test.ts","prepublishOnly":"npm test"},"_npmUser":{"name":"marvinhagemeister","email":"marvin@marvinhagemeister.de"},"prettier":{"useTabs":true,"arrowParens":"avoid","trailingComma":"all"},"repository":{"url":"git+https://github.com/preactjs/babel-plugin-transform-hook-names.git","type":"git"},"_npmVersion":"6.14.8","description":"Babel plugin to add hook names for Preact devtools","directories":{},"lint-staged":{"**/*.{js,jsx,ts,tsx,json}":["prettier --write"]},"_nodeVersion":"14.13.0","_hasShrinkwrap":false,"devDependencies":{"chai":"^4.2.0","husky":"^4.3.8","mocha":"^8.2.1","ts-node":"^9.1.1","prettier":"^2.2.1","typescript":"^4.1.3","@babel/core":"^7.12.10","@types/chai":"^4.2.14","@types/node":"^14.14.22","lint-staged":"^10.5.3","@types/mocha":"^8.2.0","@types/babel__core":"^7.1.12"},"peerDependencies":{"@babel/core":"^7.12.10"},"_npmOperationalInternal":{"tmp":"tmp/babel-plugin-transform-hook-names_1.0.1_1612266221754_0.5235016494304889","host":"s3://npm-registry-packages"}},"1.0.2":{"name":"babel-plugin-transform-hook-names","version":"1.0.2","keywords":["babel","hook","preact","devtools"],"author":{"url":"https://preactjs.com","name":"The Preact Authors"},"license":"MIT","_id":"babel-plugin-transform-hook-names@1.0.2","maintainers":[{"name":"reznord","email":"allamsetty.anup@gmail.com"},{"name":"preactjs","email":"hello@preactjs.com"},{"name":"developit","email":"jason@developit.ca"},{"name":"lukeed","email":"luke@lukeed.com"},{"name":"prateekbh","email":"prateek89born@gmail.com"},{"name":"harmony","email":"npm.leah@hrmny.sh"},{"name":"marvinhagemeister","email":"hello@marvinh.dev"},{"name":"solarliner","email":"solarliner@gmail.com"},{"name":"jdecroock","email":"decroockjovi@gmail.com"}],"homepage":"https://github.com/preactjs/babel-plugin-transform-hook-names#readme","bugs":{"url":"https://github.com/preactjs/babel-plugin-transform-hook-names/issues"},"dist":{"shasum":"0d75c2d78e8bbcdb258241131562b9cf07f010f3","tarball":"https://registry.npmjs.org/babel-plugin-transform-hook-names/-/babel-plugin-transform-hook-names-1.0.2.tgz","fileCount":8,"integrity":"sha512-5gafyjyyBTTdX/tQQ0hRgu4AhNHG/hqWi0ZZmg2xvs2FgRkJXzDNKBZCyoYqgFkovfDrgM8OoKg8karoUvWeCw==","signatures":[{"sig":"MEYCIQD5pML0SGQ2UAxLj4VukOcZ1Ws54jo2/DEAJrkUdH58WwIhAOWR9FJAIOBXsP9ikHIsp9mZbNFhjMDpm0tXXHwIftBu","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":50714,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgWPtGCRA9TVsSAnZWagAAFxgP+wR65fxI2oS8p5agEQ7m\nFi9+9gXjtNnd9+MYJC14tiustJ7jZQCuXTwZS+tNieQJUiM31DZJgD1bCTma\nnJYdjCCOC0vaEuUcxtj0wIjhzSEEps9EJRsZ8qpkunPy1afwY+ZedFDppvOy\nIuPZkiQiBDcm4gCDJNolz37zYobFxhrQYt9dafWFqLguInCsdI3htpTurBhR\n+M5C7QKp01jWoKFDRqoJoPfD7AbX6nM7U0JtUTpLto0DoEGO0BbLTShs1CEH\nGnRrdmhZIORoHGDwJE6khLA8YhJIdq64w4MXAeQfq8/I6w8y4mVNmKkrcp6c\nrRtYDYGanlexhO2/d8dC9n81Ht0tV+Dm9za8G9pnPw1MZOVOHm9jIY3+lage\nKst/9rBbNlcPmzzDMuv9g1UVZ+jdfQXreTvCWKisEmMtDqVf7knIW9/Jf+gH\nEHsPXqL/vFFqWWf94ibp/qvNSv2Xx6MhqWLBCzqZLArkL7M7dCe8u/ImgL6f\nPQJtCAuslNmS3eiKJpXV5e2NU956F7zv5Zme32Anlr4BaBeWe8AvMJZII3NE\noMPu6Q7Niae5W7+rWqHQrsZEviOnndTL1gxn3qIB6wj6T1LYT+lpGAif3gwn\nco3xICAquEm0S2+UOZzrRjfLXf5Ll+VFtjwWyLUCpqn8FxQ9TA3ri2kPzNkY\nIi2y\r\n=vSwJ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"src/index.js","husky":{"hooks":{"pre-commit":"lint-staged"}},"gitHead":"9a78e1949dd5e82f0bb0026d3ea33073adf390f0","scripts":{"test":"mocha -r ts-node/register --extension js,ts,tsx test/*.test.ts","prepublishOnly":"npm test"},"_npmUser":{"name":"marvinhagemeister","email":"hello@marvinh.dev"},"prettier":{"useTabs":true,"arrowParens":"avoid","trailingComma":"all"},"repository":{"url":"git+https://github.com/preactjs/babel-plugin-transform-hook-names.git","type":"git"},"_npmVersion":"7.6.3","description":"Babel plugin to add hook names for Preact devtools","directories":{},"lint-staged":{"**/*.{js,jsx,ts,tsx,json}":["prettier --write"]},"_nodeVersion":"15.12.0","_hasShrinkwrap":false,"devDependencies":{"chai":"^4.2.0","husky":"^4.3.8","mocha":"^8.2.1","ts-node":"^9.1.1","prettier":"^2.2.1","typescript":"^4.1.3","@babel/core":"^7.12.10","@types/chai":"^4.2.14","@types/node":"^14.14.22","lint-staged":"^10.5.3","@types/mocha":"^8.2.0","@types/babel__core":"^7.1.12","@babel/preset-typescript":"^7.13.0"},"peerDependencies":{"@babel/core":"^7.12.10"},"_npmOperationalInternal":{"tmp":"tmp/babel-plugin-transform-hook-names_1.0.2_1616444229619_0.8767580695814348","host":"s3://npm-registry-packages"}}},"time":{"created":"2021-01-23T22:29:39.721Z","modified":"2024-12-18T13:09:31.768Z","1.0.0":"2021-01-23T22:29:39.850Z","1.0.1":"2021-02-02T11:43:41.955Z","1.0.2":"2021-03-22T20:17:09.835Z"},"bugs":{"url":"https://github.com/preactjs/babel-plugin-transform-hook-names/issues"},"author":{"url":"https://preactjs.com","name":"The Preact Authors"},"license":"MIT","homepage":"https://github.com/preactjs/babel-plugin-transform-hook-names#readme","keywords":["babel","hook","preact","devtools"],"repository":{"url":"git+https://github.com/preactjs/babel-plugin-transform-hook-names.git","type":"git"},"description":"Babel plugin to add hook names for Preact devtools","maintainers":[{"email":"hello@preactjs.com","name":"preactjs"},{"email":"jason@developit.ca","name":"developit"},{"email":"hello@marvinh.dev","name":"marvinhagemeister"},{"email":"drewigg@gmail.com","name":"drewigg"},{"email":"decroockjovi@gmail.com","name":"jdecroock"},{"email":"rchristian@ryanchristian.dev","name":"rschristian"}],"readme":"# babel-plugin-transform-hook-names\n\nA babel plugin to automatically infer hook names from your code and show them in the [Preact Devtools](https://preactjs.github.io/preact-devtools/) extension.\n\nBefore:\n\n![Screenshot of Preact devtools without this plugin](./screenshot-before.png)\n\nAfter:\n\n![Screenshot of Preact devtools with this plugin](./screenshot-after.png)\n\nRequires: Babel >= 7.12\n\n## Usage\n\nInstall `babel-plugin-transform-hook-names` in your project:\n\n```bash\nnpm install --save-dev babel-plugin-transform-hook-names\n# or via yarn\nyarn add -D babel-plugin-transform-hook-names\n```\n\nThen add it to your babel configuration:\n\n```json\n{\n\t\"plugins\": [\"babel-plugin-transform-hook-names\"]\n}\n```\n\n## How does it work?\n\nThe way it works is that each hook is wrapped with a function that is passed the same name as the variable:\n\nInput:\n\n```js\n// Works for \"preact/compat\" or \"react\" too\nimport { useState, useReducer, useRef } from \"preact/hooks\";\n\nfunction Foo() {\n\tconst [text, setText] = useState(\"hello\");\n\tconst [counter, increment] = useReducer(c => c + 1, 0);\n\tconst rootElement = useRef();\n\tconst memo = useMemo(() => text.toUpperCase(), [\"text\"]);\n}\n```\n\nOutput:\n\n```js\nimport { addHookName } from \"preact/devtools\";\nimport { useState, useReducer, useRef } from \"preact/hooks\";\n\nfunction Foo() {\n\tconst [text, setText] = addHookName(useState(\"hello\"), \"text\");\n\tconst [counter, increment] = addHookName(\n\t\tuseReducer(c => c + 1, 0),\n\t\t\"counter\",\n\t);\n\tconst rootElement = addHookName(useRef(), \"rootElement\");\n\tconst memo = addHookName(\n\t\tuseMemo(() => text.toUpperCase(), [\"text\"]),\n\t\t\"memo\",\n\t);\n}\n```\n\n## License\n\nMIT, see the [LICENSE file](./LICENSE)\n","readmeFilename":"README.md"}