{"_id":"@aklinker1/zero-serialize-error","_rev":"3-4ff6f9afc72107dcc8f8f447d477ff08","name":"@aklinker1/zero-serialize-error","dist-tags":{"latest":"1.0.2"},"versions":{"1.0.0":{"name":"@aklinker1/zero-serialize-error","version":"1.0.0","_id":"@aklinker1/zero-serialize-error@1.0.0","maintainers":[{"name":"_aklinker1","email":"aaronklinker1@gmail.com"}],"dist":{"shasum":"df83c6614cd65ab486edce9a9775a3b69c7b68cf","tarball":"https://registry.npmjs.org/@aklinker1/zero-serialize-error/-/zero-serialize-error-1.0.0.tgz","fileCount":14,"integrity":"sha512-MYdWTDBEtwblWfzU76oI2ZC8BDoxYhP+OdSg6UZHsosuTUVdt974qs1s3pbTWCOXXy72g2MnwI9qwmnD2mpD0Q==","signatures":[{"sig":"MEUCIDLufvD0cx4UlkGtVNsJoc90y962U36R07lYpy2Cqgu2AiEAly63wS+Ahu6bdGE7A5v3FlaLHzybMMD/IQzO6E+RCYM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18884},"type":"module","shasum":"df83c6614cd65ab486edce9a9775a3b69c7b68cf","scripts":{"test":"bun test","build":"tsdown --dts.tsgo --minify","check":"bun run build && check"},"_npmUser":{"name":"_aklinker1","email":"aaronklinker1@gmail.com"},"_integrity":"sha512-MYdWTDBEtwblWfzU76oI2ZC8BDoxYhP+OdSg6UZHsosuTUVdt974qs1s3pbTWCOXXy72g2MnwI9qwmnD2mpD0Q==","_npmVersion":"10.8.3","description":"Serialize and deserialize errors with zero dependencies","directories":{},"_nodeVersion":"24.3.0","_hasShrinkwrap":false,"packageManager":"bun@1.3.13","devDependencies":{"oxfmt":"^0.49.0","cspell":"^10.0.0","oxlint":"^1.64.0","tsdown":"^0.22.0","publint":"^0.3.21","@types/bun":"latest","typescript":"^6","@aklinker1/check":"^2.4.0","@typescript/native-preview":"^7.0.0-dev.20260513.1"},"_npmOperationalInternal":{"tmp":"tmp/zero-serialize-error_1.0.0_1778726545377_0.9699803021814655","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@aklinker1/zero-serialize-error","version":"1.0.1","keywords":["deserialize","error","serialize"],"license":"MIT","_id":"@aklinker1/zero-serialize-error@1.0.1","maintainers":[{"name":"_aklinker1","email":"aaronklinker1@gmail.com"}],"homepage":"https://github.com/aklinker1/zero-serialize-error#readme","bugs":{"url":"https://github.com/aklinker1/zero-serialize-error/issues"},"dist":{"shasum":"5eea9fc74edef9a9d20dfea16d1f005e1a9c3da3","tarball":"https://registry.npmjs.org/@aklinker1/zero-serialize-error/-/zero-serialize-error-1.0.1.tgz","fileCount":3,"integrity":"sha512-s94IA9IyLT9UCm9a328ynyIS9CrOGLDU8/OdgjRiWrvrfphOSPLK3NpzuBfvZO3buokZJ4lvvwaoD2+O0KUQqw==","signatures":[{"sig":"MEUCIQCvRT+DCy5ZlqlsiZ8umvdThSuiODWP5CWqjYj8mr/3FgIgeO5riTBFT+JT0e/DOnmx/WfvYkiQdbXa8e6JLp4cqEg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aklinker1%2fzero-serialize-error@1.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4084},"type":"module","exports":{".":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"}},"gitHead":"9580fba702483235e3a66cc4f603550e1242d62d","scripts":{"test":"bun test","build":"tsdown --dts.tsgo --minify","check":"bun run build && check"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dbe82b7e-4c28-47e3-8e5d-2d56e0c1c957"}},"repository":{"url":"git+https://github.com/aklinker1/zero-serialize-error.git"},"_npmVersion":"11.14.1","description":"Serialize and deserialize errors with zero dependencies","directories":{},"_nodeVersion":"20.20.2","_hasShrinkwrap":false,"packageManager":"bun@1.3.13","devDependencies":{"oxfmt":"^0.49.0","cspell":"^10.0.0","oxlint":"^1.64.0","tsdown":"^0.22.0","publint":"^0.3.21","@types/bun":"latest","@aklinker1/check":"^2.4.0","@typescript/native-preview":"^7.0.0-dev.20260513.1"},"_npmOperationalInternal":{"tmp":"tmp/zero-serialize-error_1.0.1_1778727073572_0.7122873645281818","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@aklinker1/zero-serialize-error","version":"1.0.2","description":"Serialize and deserialize errors with zero dependencies","keywords":["deserialize","error","serialize"],"license":"MIT","repository":{"url":"git+https://github.com/aklinker1/zero-serialize-error.git"},"type":"module","exports":{".":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"}},"scripts":{"check":"bun run build && check","build":"tsdown --dts.tsgo --minify","test":"bun test","prepack":"bun run build"},"devDependencies":{"@aklinker1/check":"^2.4.0","@types/bun":"latest","@typescript/native-preview":"^7.0.0-dev.20260513.1","cspell":"^10.0.0","oxfmt":"^0.49.0","oxlint":"^1.64.0","publint":"^0.3.21","tsdown":"^0.22.0"},"packageManager":"bun@1.3.13","gitHead":"e3142c8330d3ba887ff134c7fc509a5558fa0a6d","_id":"@aklinker1/zero-serialize-error@1.0.2","bugs":{"url":"https://github.com/aklinker1/zero-serialize-error/issues"},"homepage":"https://github.com/aklinker1/zero-serialize-error#readme","_nodeVersion":"20.20.2","_npmVersion":"11.14.1","dist":{"integrity":"sha512-hGVkgFqb8Zs80JJ7MOSCGQXH2SyWfwnJwOl8Qpp1lUdkp5T7GTf8QrAMib42Hnzx6HtnNYdmNaSSg4MQy+MDRQ==","shasum":"4da5ee6a5f81ef3af3c1b6a51d104b471f7e5ed0","tarball":"https://registry.npmjs.org/@aklinker1/zero-serialize-error/-/zero-serialize-error-1.0.2.tgz","fileCount":5,"unpackedSize":6081,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aklinker1%2fzero-serialize-error@1.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIAseIvdh+UE7zFn+rzTCvwltA7GNeQLyYEZ9NBqaBzWqAiEAlYtOfC7RdXLcYCErJjWoLtLSUO7STNA5KobCZPIskkM="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dbe82b7e-4c28-47e3-8e5d-2d56e0c1c957"}},"directories":{},"maintainers":[{"name":"_aklinker1","email":"aaronklinker1@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/zero-serialize-error_1.0.2_1778734405584_0.5069051567830916"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-14T02:42:25.261Z","modified":"2026-05-14T04:53:26.013Z","1.0.0":"2026-05-14T02:42:25.519Z","1.0.1":"2026-05-14T02:51:13.717Z","1.0.2":"2026-05-14T04:53:25.718Z"},"bugs":{"url":"https://github.com/aklinker1/zero-serialize-error/issues"},"license":"MIT","homepage":"https://github.com/aklinker1/zero-serialize-error#readme","keywords":["deserialize","error","serialize"],"repository":{"url":"git+https://github.com/aklinker1/zero-serialize-error.git"},"description":"Serialize and deserialize errors with zero dependencies","maintainers":[{"name":"_aklinker1","email":"aaronklinker1@gmail.com"}],"readme":"<div align=\"center\">\n\n# `@aklinker1/zero-serialize-error`\n\n[![JSR](https://jsr.io/badges/@aklinker1/zero-serialize-error)](https://jsr.io/@aklinker1/zero-serialize-error) [![NPM Version](https://img.shields.io/npm/v/%40aklinker1%2Fzero-serialize-error?logo=npm&labelColor=red&color=white)](https://www.npmjs.com/package/@aklinker1/zero-serialize-error) [![API Reference](https://img.shields.io/badge/API%20Reference-blue?logo=readme&logoColor=white)](https://jsr.io/@aklinker1/zero-serialize-error/doc) [![License](https://img.shields.io/npm/l/%40aklinker1%2Fzero-serialize-error)](https://github.com/aklinker1/zero-serialize-error/blob/main/LICENSE)\n\nSerialize and deserialize errors with zero dependencies.\n\n</div>\n\n```sh\nbun add @aklinker1/zero-serialize-error\n```\n\n## Features\n\n- 🔄 Convert errors to and from JS objects\n- 🌳 Serializes entire `cause` tree\n- ✨ Supports custom properties added to errors\n- 🔧 Accepts custom serialization functions for converting other data types to and from objects\n- 📦 Tiny package with zero dependencies\n\n## Usage\n\n```ts\nconst error = Error(\"🐛\");\n\nconst serialized = serializeError(error);\nconsole.log(serialized); // { name: \"Error\", message: \"🐛\", stack: \"...\" }\n\nconst deserialized = deserializeError(serialized);\nconsole.log(deserialized); // Error: 🐛\n```\n\n### Other Data Types\n\nNo other classes other than `Error`s are supported by default when serializing/deserializing:\n\n```ts\nconst error = new Error(\"With a date\");\nerror.time = new Date();\n\nconst serialized = serializeError(error);\nconsole.log(serialized); // { ..., time: \"[object Date]\" }\n\nconst deserialized = deserializeError(serialized);\nconsole.log(deserialized.time); // \"[object Date]\"\n```\n\n---\n\nInspired by `serialize-error`. Goal was to trim it down, drop any dependencies, and make it as small as possible.\n\n| Package                           |  Size  | `node_modules` Size |\n| --------------------------------- | :----: | :-----------------: |\n| `serialize-error`                 | 20 kB  |      586.8 kB       |\n| `@aklinker1/zero-serialize-error` | 6.1 kB |       6.1 kB        |\n","readmeFilename":"README.md"}