{"_id":"vue-bind-once","_rev":"4-4d6e3c18830277fb04f85ac97885002f","name":"vue-bind-once","dist-tags":{"latest":"0.2.1"},"versions":{"0.1.0":{"name":"vue-bind-once","version":"0.1.0","description":"A tiny, SSR-safe directive for binding random data to an element.","keywords":["vue","directive","ssr"],"repository":{"type":"git","url":"git+https://github.com/danielroe/vue-bind-once.git"},"license":"MIT","author":{"name":"Daniel Roe","email":"daniel@roe.dev","url":"https://github.com/danielroe"},"sideEffects":false,"main":"dist/index.cjs","module":"dist/index.mjs","types":"dist/index.d.ts","scripts":{"build":"unbuild","lint":"yarn lint:all:eslint && yarn lint:all:prettier","lint:all:eslint":"yarn lint:eslint --ext .js,.ts .","lint:all:prettier":"yarn lint:prettier \"**/*.{js,json,ts}\"","lint:eslint":"eslint --fix","lint:prettier":"prettier --write --loglevel warn","prepare":"husky install && yarn build","prepublishOnly":"yarn lint && yarn test && pinst --disable","release":"release-it","test":"vitest","_postinstall":"husky install","postpublish":"pinst --enable"},"dependencies":{"scule":"^0.2.1"},"devDependencies":{"@release-it/conventional-changelog":"^4.1.0","@typescript-eslint/eslint-plugin":"^5.12.1","@typescript-eslint/parser":"^5.12.1","@vue/test-utils":"^2.0.0-rc.17","c8":"^7.11.0","codecov":"^3.8.3","conventional-changelog-conventionalcommits":"^4.6.3","esbuild":"0.14.23","eslint":"^8.9.0","eslint-config-prettier":"^8.4.0","eslint-plugin-prettier":"^4.0.0","expect-type":"^0.13.0","happy-dom":"^2.39.1","husky":"^7.0.4","lint-staged":"^12.3.4","pinst":"^3.0.0","prettier":"^2.5.1","release-it":"^14.12.5","semver":"^7.3.5","typescript":"^4.5.5","unbuild":"^0.6.9","vite":"^2.8.4","vitest":"^0.5.1","vue":"^3.2.31"},"peerDependencies":{"vue":"^3"},"build":{"externals":["vue"]},"gitHead":"a303f8a5cff7e8120faf72682f6eeb28c53f05eb","bugs":{"url":"https://github.com/danielroe/vue-bind-once/issues"},"homepage":"https://github.com/danielroe/vue-bind-once#readme","_id":"vue-bind-once@0.1.0","_nodeVersion":"14.18.3","_npmVersion":"8.3.2","dist":{"integrity":"sha512-FTxlwoj7p3eEbpKH+SLlb2fTKn9PfB5Yo5/EbBRK0zDx74SSgM3jxf1UD/tujBoCZJF5xDxmRlXN5W+es8mY/A==","shasum":"4efea108bf02b4b9a17b7de43158627982ef4af9","tarball":"https://registry.npmjs.org/vue-bind-once/-/vue-bind-once-0.1.0.tgz","fileCount":6,"unpackedSize":6879,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiFM9YACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpBjw/9HpjBDG/knpj8zOTOQln3Q7t+sWno3lCPQcLJHtlAwSf50DFE\r\nFxInGB3OOdhN+JBXhiSaatTRTJqXLgDTih67m+N/7zAr/+qt/SBu+TI1a+n3\r\nOyELoh7Zi+86P2nxMWnlMv9LWik65a7XkKUzKjalOdy/To5wAEwESUk7ELHG\r\nNXJaXRfYC/w+uVSye54A3p47HhRTsS5vSrbmLpghFGPkJHp7v7wiCU6S+aPp\r\n8IANTSL4HUK3iaMeZ88hX8pkhyhij6mX9iKZGwgFekE99UdxgUNLkRzW8jT1\r\nsMURfzct76ShDad293bUpJqDvb8UGcW43Q2DKLOj75opyp8Y1B2Y7NhPwrQ0\r\nbrU03SK98O64rYVmKxfuj6wORGSQ6woDgBh1/kEQz0dXDbSZtucMwUhZyrvQ\r\nerq8s1J8h3EhA0YdECluLVTwu33nr5ApupYwTyUQSWoRYRQGpYWOwpX+/qYV\r\nlCKKR+dh9ZbxdcHRNt6wStCCps1/NONXsizSD3vFgEFno+jcZ/P9YTVyEJam\r\njcrPEa9OZUfA4QEIa9aHzifeFDVWuRGicCf8pjHMPk29njQulEJlqc34B0Sc\r\nbUMWa7JbyknuNEmYUx42RMoBX0rJDNjVD+vyORbkU4+ug39+OtrjsVKgumLg\r\n/RjT3IoOSWl3Ve7PoG6h9SO4oC8g8OhVSmQ=\r\n=VwQa\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHfqSQ/ud+JPXya2CJNmZ+4yXCyV5yxxiZ/3E/JfM8FmAiAjQA+Pl8psqcMioGEJesv2zVwmFKc1Mtp/hLYLaZeLWA=="}]},"_npmUser":{"name":"danielroe","email":"daniel@roe.dev"},"directories":{},"maintainers":[{"name":"danielroe","email":"daniel@roe.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-bind-once_0.1.0_1645530968551_0.2031493374772444"},"_hasShrinkwrap":false},"0.1.1":{"name":"vue-bind-once","version":"0.1.1","description":"A tiny, SSR-safe directive for binding random data to an element.","keywords":["vue","directive","ssr"],"repository":{"type":"git","url":"git+https://github.com/danielroe/vue-bind-once.git"},"license":"MIT","author":{"name":"Daniel Roe","email":"daniel@roe.dev","url":"https://github.com/danielroe"},"sideEffects":false,"main":"dist/index.cjs","module":"dist/index.mjs","types":"dist/index.d.ts","scripts":{"build":"unbuild","lint":"yarn lint:all:eslint && yarn lint:all:prettier","lint:all:eslint":"yarn lint:eslint --ext .js,.ts .","lint:all:prettier":"yarn lint:prettier \"**/*.{js,json,ts}\"","lint:eslint":"eslint --fix","lint:prettier":"prettier --write --loglevel warn","prepare":"husky install && yarn build","prepublishOnly":"yarn test && pinst --disable","release":"release-it","test":"vitest run","_postinstall":"husky install","postpublish":"pinst --enable"},"dependencies":{"scule":"^0.2.1"},"devDependencies":{"@release-it/conventional-changelog":"^4.1.0","@typescript-eslint/eslint-plugin":"^5.12.1","@typescript-eslint/parser":"^5.12.1","@vue/test-utils":"^2.0.0-rc.17","c8":"^7.11.0","codecov":"^3.8.3","conventional-changelog-conventionalcommits":"^4.6.3","esbuild":"0.14.23","eslint":"^8.9.0","eslint-config-prettier":"^8.4.0","eslint-plugin-prettier":"^4.0.0","expect-type":"^0.13.0","happy-dom":"^2.40.2","husky":"^7.0.4","lint-staged":"^12.3.4","pinst":"^3.0.0","prettier":"^2.5.1","release-it":"^14.12.5","semver":"^7.3.5","typescript":"^4.5.5","unbuild":"^0.6.9","vite":"^2.8.4","vitest":"^0.5.3","vue":"^3.2.31"},"peerDependencies":{"vue":"^3"},"build":{"externals":["vue"]},"gitHead":"f246c505e6fd18a675f012c9dd22f4bf9b209871","bugs":{"url":"https://github.com/danielroe/vue-bind-once/issues"},"homepage":"https://github.com/danielroe/vue-bind-once#readme","_id":"vue-bind-once@0.1.1","_nodeVersion":"14.18.3","_npmVersion":"8.3.2","dist":{"integrity":"sha512-4kUdc1tZGzpkoJyDLO0UUW5ka+INXVQleY5xNauc3/sRw2SZ2Ok4INDrCJgkiCrhpJISwao6SP539mWzyjB7tw==","shasum":"ed0b50c4aff0316f99674a120c05c95c34756cf7","tarball":"https://registry.npmjs.org/vue-bind-once/-/vue-bind-once-0.1.1.tgz","fileCount":6,"unpackedSize":7159,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiFX/5ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr9vhAAo4wDQ6h0ysssE63VgpoJUCTBhpsTO+yFkUN6bLo1d1uGbpbw\r\nn6XryV46yjcNfWwQlwIgsi2ceuW87VzlIaRO0pjWX8Tznu7WmbgI6I0gRDQW\r\nr2ZY1x0c+izbpjqloqqa6e5Ip5lWWNfEp3TBtbPyu/yLtrSVtiqN+tAlZVIA\r\nbBdzwipcv4/+3u94P0f6UP+tIFbQAKk9MTuDkB/EgpcA836YvbDaFRZDWN4V\r\nswmelOvdu2E/8ePZtGFCeHq8OsoVXlUWEwzXUU/M7J049OuhVuCv+L4eHvIc\r\nrTLj24HPX2Awqewa85iS1AwX6L10UfiMNjvnXGU1mtNmDEa13BPPwawOvZ2d\r\neOh/rEb6GDalLyA1jVR4k9oeB8tQNUaIXbcJUEsIBf6auqdZYI6IQrIfMRji\r\nprX5NvaHwitV2yK2gsnNPlqBlF5Bp9YLCZXhKr5fHpwuoZN2sp6MzE9wu/nt\r\nqeeCaNA4oubIPzjuYo7YBew4e7QU1uqGb+OHqVXlNCnODJZQBP7dJhRrUAjK\r\nu9sZskISUfF9fUpDElhWxZU1gCTGXaRAGTMovNp+KIIrdTn84N7T5RCGWg7Z\r\njREoBAJRaQ1mt0BNCQFFFkoTQ7ukpGKZjIuQjR+HdgPiW09eSFmYuTdf2aky\r\nhLu3yN0QmVndk6APihbopBMDCDEIWfZuC1U=\r\n=PFba\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD2WQH+Ycy8a5e3d/aiwXPR29wIUWy5vHx9wWOVLQnOGQIhAJ8uAN9Q2ChNjVFBL2QnzKcO993c9rMgSdRKndiFHEEC"}]},"_npmUser":{"name":"danielroe","email":"daniel@roe.dev"},"directories":{},"maintainers":[{"name":"danielroe","email":"daniel@roe.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-bind-once_0.1.1_1645576185844_0.5282433435415241"},"_hasShrinkwrap":false},"0.2.0":{"name":"vue-bind-once","version":"0.2.0","description":"A tiny, SSR-safe directive for binding random data to an element.","keywords":["vue","directive","ssr"],"repository":{"type":"git","url":"git+https://github.com/danielroe/vue-bind-once.git"},"license":"MIT","author":{"name":"Daniel Roe","email":"daniel@roe.dev","url":"https://github.com/danielroe"},"sideEffects":false,"main":"dist/index.cjs","module":"dist/index.mjs","types":"dist/index.d.ts","scripts":{"build":"unbuild","lint":"npm run lint:all:eslint && npm run lint:all:prettier","lint:all:eslint":"npm run lint:eslint -- --ext .js,.ts .","lint:all:prettier":"npm run lint:prettier -- \"{src,test}/**/*.{js,json,ts}\"","lint:eslint":"eslint --fix","lint:prettier":"prettier --write --loglevel warn","prepare":"husky install && npm run build","prepublishOnly":"npm run lint && npm run test","release":"bumpp && npm publish","test":"vitest run","postinstall":"husky install"},"dependencies":{"scule":"^1.0.0"},"devDependencies":{"@typescript-eslint/eslint-plugin":"5.59.2","@typescript-eslint/parser":"5.59.2","@vitest/coverage-c8":"0.31.0","@vue/test-utils":"2.3.2","bumpp":"^9.1.0","conventional-changelog-conventionalcommits":"5.0.0","esbuild":"0.17.18","eslint":"8.40.0","eslint-config-prettier":"8.8.0","eslint-plugin-prettier":"4.2.1","expect-type":"0.15.0","happy-dom":"9.10.9","husky":"8.0.3","lint-staged":"13.2.2","prettier":"2.8.8","typescript":"5.0.4","unbuild":"1.2.1","vite":"4.3.5","vitest":"0.31.0","vue":"3.2.47"},"peerDependencies":{"vue":"^3"},"build":{"externals":["vue"]},"packageManager":"pnpm@8.4.0","gitHead":"0beeb46564605dbf4687fd4adf4450cde396038b","bugs":{"url":"https://github.com/danielroe/vue-bind-once/issues"},"homepage":"https://github.com/danielroe/vue-bind-once#readme","_id":"vue-bind-once@0.2.0","_nodeVersion":"20.0.0","_npmVersion":"9.6.4","dist":{"integrity":"sha512-LQ64nCT0SzASgDqltLdxXUo2KCAkSOhXHJe8ANwbG00CE0W32H/C5d9IeOMgMOntUMYbV4wLkuxqjwvLefVn6g==","shasum":"8edb5872d179a0f13ff410ee64c27015bcdcf912","tarball":"https://registry.npmjs.org/vue-bind-once/-/vue-bind-once-0.2.0.tgz","fileCount":6,"unpackedSize":7090,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDDdxcKN7SPulv/wsq5AIPfAhSMb1PhR3yrpSAEs0k5yAIgDB4EYKPGjwbsKhZINqM6oH17qE/J5qamCBN/QZ+dfPk="}]},"_npmUser":{"name":"danielroe","email":"daniel@roe.dev"},"directories":{},"maintainers":[{"name":"danielroe","email":"daniel@roe.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-bind-once_0.2.0_1683472771999_0.829489740937986"},"_hasShrinkwrap":false},"0.2.1":{"name":"vue-bind-once","version":"0.2.1","description":"A tiny, SSR-safe directive for binding random data to an element.","keywords":["vue","directive","ssr"],"repository":{"type":"git","url":"git+https://github.com/danielroe/vue-bind-once.git"},"license":"MIT","author":{"name":"Daniel Roe","email":"daniel@roe.dev","url":"https://github.com/danielroe"},"sideEffects":false,"main":"dist/index.cjs","module":"dist/index.mjs","types":"dist/index.d.ts","scripts":{"build":"unbuild","lint":"npm run lint:all:eslint && npm run lint:all:prettier","lint:all:eslint":"npm run lint:eslint -- --ext .js,.ts .","lint:all:prettier":"npm run lint:prettier -- \"{src,test}/**/*.{js,json,ts}\"","lint:eslint":"eslint --fix","lint:prettier":"prettier --write --loglevel warn","prepare":"husky install && npm run build","prepublishOnly":"npm run lint && npm run test","release":"bumpp && npm publish","test":"vitest run"},"dependencies":{"scule":"^1.0.0"},"devDependencies":{"@typescript-eslint/eslint-plugin":"5.59.2","@typescript-eslint/parser":"5.59.2","@vitest/coverage-c8":"0.31.0","@vue/test-utils":"2.3.2","bumpp":"9.1.0","conventional-changelog-conventionalcommits":"5.0.0","esbuild":"0.17.18","eslint":"8.40.0","eslint-config-prettier":"8.8.0","eslint-plugin-prettier":"4.2.1","expect-type":"0.15.0","happy-dom":"9.10.9","husky":"8.0.3","lint-staged":"13.2.2","prettier":"2.8.8","typescript":"5.0.4","unbuild":"1.2.1","vite":"4.3.5","vitest":"0.31.0","vue":"3.2.47"},"peerDependencies":{"vue":"^3"},"build":{"externals":["vue"]},"packageManager":"pnpm@8.4.0","gitHead":"edaaa3e4dff3e82df9884989de69ebe01ef34928","bugs":{"url":"https://github.com/danielroe/vue-bind-once/issues"},"homepage":"https://github.com/danielroe/vue-bind-once#readme","_id":"vue-bind-once@0.2.1","_nodeVersion":"20.0.0","_npmVersion":"9.6.4","dist":{"integrity":"sha512-17toDsxK7hc8folglp6TYtybi/Q0FVJal6plFeMeofWd2nOl4axHg9ckR/5ORNCj+GyjMAWh/OD10MvT6AXbHA==","shasum":"c006d85987b6eee9a11a9a057c4656c9e7f0d9b5","tarball":"https://registry.npmjs.org/vue-bind-once/-/vue-bind-once-0.2.1.tgz","fileCount":6,"unpackedSize":7053,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDyTh6LKFcHaikwNVbMXukGxl56AYgmj5XpsQgYTwc0MgIhANNbB/CtBzRbfZdb5yRjbDd2+aNVtpc7Jpx7cbskRrD7"}]},"_npmUser":{"name":"danielroe","email":"daniel@roe.dev"},"directories":{},"maintainers":[{"name":"danielroe","email":"daniel@roe.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-bind-once_0.2.1_1683621637688_0.10533450077566497"},"_hasShrinkwrap":false}},"time":{"created":"2022-02-22T11:56:08.416Z","0.1.0":"2022-02-22T11:56:08.689Z","modified":"2023-05-09T08:40:37.988Z","0.1.1":"2022-02-23T00:29:45.998Z","0.2.0":"2023-05-07T15:19:32.177Z","0.2.1":"2023-05-09T08:40:37.893Z"},"maintainers":[{"name":"danielroe","email":"daniel@roe.dev"}],"description":"A tiny, SSR-safe directive for binding random data to an element.","homepage":"https://github.com/danielroe/vue-bind-once#readme","keywords":["vue","directive","ssr"],"repository":{"type":"git","url":"git+https://github.com/danielroe/vue-bind-once.git"},"author":{"name":"Daniel Roe","email":"daniel@roe.dev","url":"https://github.com/danielroe"},"bugs":{"url":"https://github.com/danielroe/vue-bind-once/issues"},"license":"MIT","readme":"<h1 align=\"center\">1️⃣ vue-bind-once</h1>\n<p align=\"center\">A tiny, SSR-safe directive for binding random data to an element.</p>\n\n<p align=\"center\">\n<a href=\"https://npmjs.com/package/vue-bind-once\">\n    <img alt=\"\" src=\"https://img.shields.io/npm/v/vue-bind-once/latest.svg?style=flat-square\">\n</a>\n<a href=\"https://bundlephobia.com/result?p=vue-bind-once\">\n    <img alt=\"\" src=\"https://img.shields.io/bundlephobia/minzip/vue-bind-once?style=flat-square\">\n</a>\n<a href=\"https://npmjs.com/package/vue-bind-once\">\n    <img alt=\"\" src=\"https://img.shields.io/npm/dt/vue-bind-once.svg?style=flat-square\">\n</a>\n<a href=\"https://lgtm.com/projects/g/danielroe/vue-bind-once\">\n    <img alt=\"\" src=\"https://img.shields.io/lgtm/alerts/github/danielroe/vue-bind-once?style=flat-square\">\n</a>\n<a href=\"https://lgtm.com/projects/g/danielroe/vue-bind-once\">\n    <img alt=\"\" src=\"https://img.shields.io/lgtm/grade/javascript/github/danielroe/vue-bind-once?style=flat-square\">\n</a>\n<a href=\"https://codecov.io/gh/danielroe/vue-bind-once\">\n    <img alt=\"\" src=\"https://img.shields.io/codecov/c/github/danielroe/vue-bind-once.svg?style=flat-square\">\n</a>\n</p>\n\n> A tiny, SSR-safe directive for binding random data to an element.\n\n## Quick Start\n\nFirst install `vue-bind-once`:\n\n```bash\nyarn add vue-bind-once\n\n# or npm\n\nnpm install vue-bind-once --save\n```\n\n### Register directive\n\n```ts\nimport { createApp } from 'vue'\nimport App from './App.vue'\nimport { BindOnceDirective, BindOncePlugin } from 'vue-bind-once'\n\nconst app = createApp(App)\napp.use(BindOncePlugin)\n// or app.directive('bind-once', BindOnceDirective)\n```\n\nIn most cases you'll be using this directive with an SSR-rendering framework like `nuxt`, which may have a different way for you to register this directive. For example, in a Nuxt plugin:\n\n```js\nimport { BindOncePlugin } from 'vue-bind-once'\n\nexport default defineNuxtPlugin(nuxtApp => {\n  nuxtApp.vueApp.use(BindOncePlugin)\n})\n```\n\n### Usage\n\nYou can now use the directive on any element where you need a binding to a value that needs to match between client/server but won't change dynamically afterwards.\n\n```html\n<script setup>\n  import { nanoid } from 'nanoid'\n  const id = nanoid()\n</script>\n<template>\n  <input type=\"text\" v-bind-once=\"{ id, name: id }\" />\n  <label v-bind-once=\"{ for: id }\" />\n</template>\n```\n\nThis will work on both server and on client re-hydration.\n\n## Contributors\n\nThis has been developed to suit my needs but additional use cases and contributions are very welcome.\n\n## License\n\n[MIT License](./LICENSE) - Copyright &copy; Daniel Roe\n","readmeFilename":"README.md"}